@ondewo/csi-client-angular 2.3.1
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/LICENSE +191 -0
- package/README.md +27 -0
- package/api/google/api/annotations.pb.d.ts +1 -0
- package/api/google/api/http.pb.d.ts +275 -0
- package/api/google/rpc/status.pb.d.ts +82 -0
- package/api/google/type/latlng.pb.d.ts +76 -0
- package/api/ondewo/csi/conversation.pb.d.ts +1312 -0
- package/api/ondewo/csi/conversation.pbconf.d.ts +6 -0
- package/api/ondewo/csi/conversation.pbsc.d.ts +167 -0
- package/api/ondewo/nlu/agent.pb.d.ts +3536 -0
- package/api/ondewo/nlu/agent.pbconf.d.ts +6 -0
- package/api/ondewo/nlu/agent.pbsc.d.ts +472 -0
- package/api/ondewo/nlu/aiservices.pb.d.ts +2472 -0
- package/api/ondewo/nlu/aiservices.pbconf.d.ts +6 -0
- package/api/ondewo/nlu/aiservices.pbsc.d.ts +150 -0
- package/api/ondewo/nlu/common.pb.d.ts +75 -0
- package/api/ondewo/nlu/context.pb.d.ts +756 -0
- package/api/ondewo/nlu/context.pbconf.d.ts +6 -0
- package/api/ondewo/nlu/context.pbsc.d.ts +119 -0
- package/api/ondewo/nlu/entity-type.pb.d.ts +2014 -0
- package/api/ondewo/nlu/entity-type.pbconf.d.ts +6 -0
- package/api/ondewo/nlu/entity-type.pbsc.d.ts +216 -0
- package/api/ondewo/nlu/intent.pb.d.ts +6236 -0
- package/api/ondewo/nlu/intent.pbconf.d.ts +6 -0
- package/api/ondewo/nlu/intent.pbsc.d.ts +456 -0
- package/api/ondewo/nlu/operation-metadata.pb.d.ts +166 -0
- package/api/ondewo/nlu/operations.pb.d.ts +578 -0
- package/api/ondewo/nlu/operations.pbconf.d.ts +6 -0
- package/api/ondewo/nlu/operations.pbsc.d.ts +87 -0
- package/api/ondewo/nlu/project-role.pb.d.ts +576 -0
- package/api/ondewo/nlu/project-role.pbconf.d.ts +6 -0
- package/api/ondewo/nlu/project-role.pbsc.d.ts +103 -0
- package/api/ondewo/nlu/project-statistics.pb.d.ts +295 -0
- package/api/ondewo/nlu/project-statistics.pbconf.d.ts +6 -0
- package/api/ondewo/nlu/project-statistics.pbsc.d.ts +151 -0
- package/api/ondewo/nlu/server-statistics.pb.d.ts +71 -0
- package/api/ondewo/nlu/server-statistics.pbconf.d.ts +6 -0
- package/api/ondewo/nlu/server-statistics.pbsc.d.ts +72 -0
- package/api/ondewo/nlu/session.pb.d.ts +2892 -0
- package/api/ondewo/nlu/session.pbconf.d.ts +6 -0
- package/api/ondewo/nlu/session.pbsc.d.ts +247 -0
- package/api/ondewo/nlu/user.pb.d.ts +1577 -0
- package/api/ondewo/nlu/user.pbconf.d.ts +6 -0
- package/api/ondewo/nlu/user.pbsc.d.ts +263 -0
- package/api/ondewo/nlu/utility.pb.d.ts +1814 -0
- package/api/ondewo/nlu/utility.pbconf.d.ts +6 -0
- package/api/ondewo/nlu/utility.pbsc.d.ts +150 -0
- package/api/ondewo/nlu/webhook.pb.d.ts +401 -0
- package/api/ondewo/nlu/webhook.pbconf.d.ts +6 -0
- package/api/ondewo/nlu/webhook.pbsc.d.ts +70 -0
- package/api/ondewo/s2t/speech-to-text.pb.d.ts +3710 -0
- package/api/ondewo/s2t/speech-to-text.pbconf.d.ts +6 -0
- package/api/ondewo/s2t/speech-to-text.pbsc.d.ts +263 -0
- package/api/ondewo/t2s/text-to-speech.pb.d.ts +3302 -0
- package/api/ondewo/t2s/text-to-speech.pbconf.d.ts +11 -0
- package/api/ondewo/t2s/text-to-speech.pbsc.d.ts +296 -0
- package/esm2020/api/google/api/annotations.pb.mjs +2 -0
- package/esm2020/api/google/api/http.pb.mjs +524 -0
- package/esm2020/api/google/rpc/status.pb.mjs +138 -0
- package/esm2020/api/google/type/latlng.pb.mjs +119 -0
- package/esm2020/api/ondewo/csi/conversation.pb.mjs +2232 -0
- package/esm2020/api/ondewo/csi/conversation.pbconf.mjs +13 -0
- package/esm2020/api/ondewo/csi/conversation.pbsc.mjs +315 -0
- package/esm2020/api/ondewo/nlu/agent.pb.mjs +6077 -0
- package/esm2020/api/ondewo/nlu/agent.pbconf.mjs +13 -0
- package/esm2020/api/ondewo/nlu/agent.pbsc.mjs +886 -0
- package/esm2020/api/ondewo/nlu/aiservices.pb.mjs +4371 -0
- package/esm2020/api/ondewo/nlu/aiservices.pbconf.mjs +13 -0
- package/esm2020/api/ondewo/nlu/aiservices.pbsc.mjs +284 -0
- package/esm2020/api/ondewo/nlu/common.pb.mjs +108 -0
- package/esm2020/api/ondewo/nlu/context.pb.mjs +1233 -0
- package/esm2020/api/ondewo/nlu/context.pbconf.mjs +13 -0
- package/esm2020/api/ondewo/nlu/context.pbsc.mjs +225 -0
- package/esm2020/api/ondewo/nlu/entity-type.pb.mjs +3466 -0
- package/esm2020/api/ondewo/nlu/entity-type.pbconf.mjs +13 -0
- package/esm2020/api/ondewo/nlu/entity-type.pbsc.mjs +406 -0
- package/esm2020/api/ondewo/nlu/intent.pb.mjs +10809 -0
- package/esm2020/api/ondewo/nlu/intent.pbconf.mjs +13 -0
- package/esm2020/api/ondewo/nlu/intent.pbsc.mjs +856 -0
- package/esm2020/api/ondewo/nlu/operation-metadata.pb.mjs +382 -0
- package/esm2020/api/ondewo/nlu/operations.pb.mjs +1003 -0
- package/esm2020/api/ondewo/nlu/operations.pbconf.mjs +13 -0
- package/esm2020/api/ondewo/nlu/operations.pbsc.mjs +165 -0
- package/esm2020/api/ondewo/nlu/project-role.pb.mjs +988 -0
- package/esm2020/api/ondewo/nlu/project-role.pbconf.mjs +13 -0
- package/esm2020/api/ondewo/nlu/project-role.pbsc.mjs +195 -0
- package/esm2020/api/ondewo/nlu/project-statistics.pb.mjs +460 -0
- package/esm2020/api/ondewo/nlu/project-statistics.pbconf.mjs +13 -0
- package/esm2020/api/ondewo/nlu/project-statistics.pbsc.mjs +285 -0
- package/esm2020/api/ondewo/nlu/server-statistics.pb.mjs +103 -0
- package/esm2020/api/ondewo/nlu/server-statistics.pbconf.mjs +13 -0
- package/esm2020/api/ondewo/nlu/server-statistics.pbsc.mjs +136 -0
- package/esm2020/api/ondewo/nlu/session.pb.mjs +5351 -0
- package/esm2020/api/ondewo/nlu/session.pbconf.mjs +13 -0
- package/esm2020/api/ondewo/nlu/session.pbsc.mjs +465 -0
- package/esm2020/api/ondewo/nlu/user.pb.mjs +2536 -0
- package/esm2020/api/ondewo/nlu/user.pbconf.mjs +13 -0
- package/esm2020/api/ondewo/nlu/user.pbsc.mjs +495 -0
- package/esm2020/api/ondewo/nlu/utility.pb.mjs +3302 -0
- package/esm2020/api/ondewo/nlu/utility.pbconf.mjs +13 -0
- package/esm2020/api/ondewo/nlu/utility.pbsc.mjs +284 -0
- package/esm2020/api/ondewo/nlu/webhook.pb.mjs +705 -0
- package/esm2020/api/ondewo/nlu/webhook.pbconf.mjs +13 -0
- package/esm2020/api/ondewo/nlu/webhook.pbsc.mjs +134 -0
- package/esm2020/api/ondewo/s2t/speech-to-text.pb.mjs +6452 -0
- package/esm2020/api/ondewo/s2t/speech-to-text.pbconf.mjs +13 -0
- package/esm2020/api/ondewo/s2t/speech-to-text.pbsc.mjs +495 -0
- package/esm2020/api/ondewo/t2s/text-to-speech.pb.mjs +5779 -0
- package/esm2020/api/ondewo/t2s/text-to-speech.pbconf.mjs +18 -0
- package/esm2020/api/ondewo/t2s/text-to-speech.pbsc.mjs +555 -0
- package/esm2020/ondewo-csi-client-angular.mjs +5 -0
- package/esm2020/public-api.mjs +55 -0
- package/fesm2015/ondewo-csi-client-angular.mjs +62142 -0
- package/fesm2015/ondewo-csi-client-angular.mjs.map +1 -0
- package/fesm2020/ondewo-csi-client-angular.mjs +62135 -0
- package/fesm2020/ondewo-csi-client-angular.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/ondewo-csi-api/README.md +91 -0
- package/ondewo-csi-api/google/ads/googleads/README.md +21 -0
- package/ondewo-csi-api/google/api/README.md +5 -0
- package/ondewo-csi-api/google/api/servicecontrol/README.md +126 -0
- package/ondewo-csi-api/google/api/servicemanagement/README.md +102 -0
- package/ondewo-csi-api/google/appengine/README.md +12 -0
- package/ondewo-csi-api/google/assistant/embedded/README.md +3 -0
- package/ondewo-csi-api/google/cloud/functions/README.md +2 -0
- package/ondewo-csi-api/google/cloud/language/README.md +0 -0
- package/ondewo-csi-api/google/cloud/runtimeconfig/README.md +39 -0
- package/ondewo-csi-api/google/cloud/speech/README.md +3 -0
- package/ondewo-csi-api/google/container/README.md +0 -0
- package/ondewo-csi-api/google/datastore/README.md +0 -0
- package/ondewo-csi-api/google/devtools/cloudbuild/README.md +1 -0
- package/ondewo-csi-api/google/devtools/clouderrorreporting/README.md +1 -0
- package/ondewo-csi-api/google/example/library/README.md +4 -0
- package/ondewo-csi-api/google/firestore/README.md +0 -0
- package/ondewo-csi-api/google/genomics/README.md +14 -0
- package/ondewo-csi-api/google/iam/README.md +14 -0
- package/ondewo-csi-api/google/logging/README.md +3 -0
- package/ondewo-csi-api/google/longrunning/README.md +5 -0
- package/ondewo-csi-api/google/privacy/dlp/README.md +7 -0
- package/ondewo-csi-api/google/pubsub/v1beta2/README.md +136 -0
- package/ondewo-csi-api/google/rpc/README.md +5 -0
- package/ondewo-csi-api/google/streetview/publish/README.md +1 -0
- package/ondewo-csi-api/google/type/README.md +16 -0
- package/ondewo-csi-api/googleapis/README.md +87 -0
- package/ondewo-csi-api/googleapis/google/ads/googleads/README.md +21 -0
- package/ondewo-csi-api/googleapis/google/api/README.md +5 -0
- package/ondewo-csi-api/googleapis/google/api/servicecontrol/README.md +126 -0
- package/ondewo-csi-api/googleapis/google/api/servicemanagement/README.md +102 -0
- package/ondewo-csi-api/googleapis/google/appengine/README.md +12 -0
- package/ondewo-csi-api/googleapis/google/assistant/embedded/README.md +3 -0
- package/ondewo-csi-api/googleapis/google/cloud/functions/README.md +2 -0
- package/ondewo-csi-api/googleapis/google/cloud/language/README.md +0 -0
- package/ondewo-csi-api/googleapis/google/cloud/runtimeconfig/README.md +39 -0
- package/ondewo-csi-api/googleapis/google/cloud/speech/README.md +3 -0
- package/ondewo-csi-api/googleapis/google/container/README.md +0 -0
- package/ondewo-csi-api/googleapis/google/datastore/README.md +0 -0
- package/ondewo-csi-api/googleapis/google/devtools/cloudbuild/README.md +1 -0
- package/ondewo-csi-api/googleapis/google/devtools/clouderrorreporting/README.md +1 -0
- package/ondewo-csi-api/googleapis/google/example/library/README.md +4 -0
- package/ondewo-csi-api/googleapis/google/firestore/README.md +0 -0
- package/ondewo-csi-api/googleapis/google/genomics/README.md +14 -0
- package/ondewo-csi-api/googleapis/google/iam/README.md +14 -0
- package/ondewo-csi-api/googleapis/google/logging/README.md +3 -0
- package/ondewo-csi-api/googleapis/google/longrunning/README.md +5 -0
- package/ondewo-csi-api/googleapis/google/privacy/dlp/README.md +7 -0
- package/ondewo-csi-api/googleapis/google/pubsub/v1beta2/README.md +136 -0
- package/ondewo-csi-api/googleapis/google/rpc/README.md +5 -0
- package/ondewo-csi-api/googleapis/google/streetview/publish/README.md +1 -0
- package/ondewo-csi-api/googleapis/google/type/README.md +16 -0
- package/ondewo-csi-api/ondewo-nlu-api/README.md +117 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/README.md +87 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/ads/googleads/README.md +21 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/api/README.md +5 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/api/servicecontrol/README.md +126 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/api/servicemanagement/README.md +102 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/appengine/README.md +12 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/assistant/embedded/README.md +3 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/cloud/functions/README.md +2 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/cloud/language/README.md +0 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/cloud/runtimeconfig/README.md +39 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/cloud/speech/README.md +3 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/container/README.md +0 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/datastore/README.md +0 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/devtools/cloudbuild/README.md +1 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/devtools/clouderrorreporting/README.md +1 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/example/library/README.md +4 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/firestore/README.md +0 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/genomics/README.md +14 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/iam/README.md +14 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/logging/README.md +3 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/longrunning/README.md +5 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/privacy/dlp/README.md +7 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/pubsub/v1beta2/README.md +136 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/rpc/README.md +5 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/streetview/publish/README.md +1 -0
- package/ondewo-csi-api/ondewo-nlu-api/googleapis/google/type/README.md +16 -0
- package/ondewo-csi-api/ondewo-s2t-api/README.md +89 -0
- package/ondewo-csi-api/ondewo-t2s-api/README.md +89 -0
- package/package.json +49 -0
- package/public-api.d.ts +54 -0
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
import { BinaryReader, BinaryWriter } from 'google-protobuf';
|
|
2
|
+
import * as googleProtobuf000 from '@ngx-grpc/well-known-types';
|
|
3
|
+
/**
|
|
4
|
+
* Message implementation for ondewo.nlu.OperationMetadata
|
|
5
|
+
*/
|
|
6
|
+
export class OperationMetadata {
|
|
7
|
+
/**
|
|
8
|
+
* Message constructor. Initializes the properties and applies default Protobuf values if necessary
|
|
9
|
+
* @param _value initial values object or instance of OperationMetadata to deeply clone from
|
|
10
|
+
*/
|
|
11
|
+
constructor(_value) {
|
|
12
|
+
_value = _value || {};
|
|
13
|
+
this.status = _value.status;
|
|
14
|
+
this.parentOperationName = _value.parentOperationName;
|
|
15
|
+
this.subOperationNames = (_value.subOperationNames || []).slice();
|
|
16
|
+
this.createTime = _value.createTime
|
|
17
|
+
? new googleProtobuf000.Timestamp(_value.createTime)
|
|
18
|
+
: undefined;
|
|
19
|
+
this.startTime = _value.startTime
|
|
20
|
+
? new googleProtobuf000.Timestamp(_value.startTime)
|
|
21
|
+
: undefined;
|
|
22
|
+
this.endTime = _value.endTime
|
|
23
|
+
? new googleProtobuf000.Timestamp(_value.endTime)
|
|
24
|
+
: undefined;
|
|
25
|
+
this.isCancellationRequested = _value.isCancellationRequested;
|
|
26
|
+
this.cancelCommand = _value.cancelCommand;
|
|
27
|
+
this.userIdCreated = _value.userIdCreated;
|
|
28
|
+
this.userIdCancelled = _value.userIdCancelled;
|
|
29
|
+
this.projectParent = _value.projectParent;
|
|
30
|
+
this.operationType = _value.operationType;
|
|
31
|
+
this.hostName = _value.hostName;
|
|
32
|
+
this.numReruns = _value.numReruns;
|
|
33
|
+
this.maxNumReruns = _value.maxNumReruns;
|
|
34
|
+
this.description = _value.description;
|
|
35
|
+
OperationMetadata.refineValues(this);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Deserialize binary data to message
|
|
39
|
+
* @param instance message instance
|
|
40
|
+
*/
|
|
41
|
+
static deserializeBinary(bytes) {
|
|
42
|
+
const instance = new OperationMetadata();
|
|
43
|
+
OperationMetadata.deserializeBinaryFromReader(instance, new BinaryReader(bytes));
|
|
44
|
+
return instance;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Check all the properties and set default protobuf values if necessary
|
|
48
|
+
* @param _instance message instance
|
|
49
|
+
*/
|
|
50
|
+
static refineValues(_instance) {
|
|
51
|
+
_instance.status = _instance.status || 0;
|
|
52
|
+
_instance.parentOperationName = _instance.parentOperationName || '';
|
|
53
|
+
_instance.subOperationNames = _instance.subOperationNames || [];
|
|
54
|
+
_instance.createTime = _instance.createTime || undefined;
|
|
55
|
+
_instance.startTime = _instance.startTime || undefined;
|
|
56
|
+
_instance.endTime = _instance.endTime || undefined;
|
|
57
|
+
_instance.isCancellationRequested =
|
|
58
|
+
_instance.isCancellationRequested || false;
|
|
59
|
+
_instance.cancelCommand = _instance.cancelCommand || '';
|
|
60
|
+
_instance.userIdCreated = _instance.userIdCreated || '';
|
|
61
|
+
_instance.userIdCancelled = _instance.userIdCancelled || '';
|
|
62
|
+
_instance.projectParent = _instance.projectParent || '';
|
|
63
|
+
_instance.operationType = _instance.operationType || 0;
|
|
64
|
+
_instance.hostName = _instance.hostName || '';
|
|
65
|
+
_instance.numReruns = _instance.numReruns || 0;
|
|
66
|
+
_instance.maxNumReruns = _instance.maxNumReruns || 0;
|
|
67
|
+
_instance.description = _instance.description || '';
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Deserializes / reads binary message into message instance using provided binary reader
|
|
71
|
+
* @param _instance message instance
|
|
72
|
+
* @param _reader binary reader instance
|
|
73
|
+
*/
|
|
74
|
+
static deserializeBinaryFromReader(_instance, _reader) {
|
|
75
|
+
while (_reader.nextField()) {
|
|
76
|
+
if (_reader.isEndGroup())
|
|
77
|
+
break;
|
|
78
|
+
switch (_reader.getFieldNumber()) {
|
|
79
|
+
case 1:
|
|
80
|
+
_instance.status = _reader.readEnum();
|
|
81
|
+
break;
|
|
82
|
+
case 2:
|
|
83
|
+
_instance.parentOperationName = _reader.readString();
|
|
84
|
+
break;
|
|
85
|
+
case 3:
|
|
86
|
+
(_instance.subOperationNames =
|
|
87
|
+
_instance.subOperationNames || []).push(_reader.readString());
|
|
88
|
+
break;
|
|
89
|
+
case 4:
|
|
90
|
+
_instance.createTime = new googleProtobuf000.Timestamp();
|
|
91
|
+
_reader.readMessage(_instance.createTime, googleProtobuf000.Timestamp.deserializeBinaryFromReader);
|
|
92
|
+
break;
|
|
93
|
+
case 5:
|
|
94
|
+
_instance.startTime = new googleProtobuf000.Timestamp();
|
|
95
|
+
_reader.readMessage(_instance.startTime, googleProtobuf000.Timestamp.deserializeBinaryFromReader);
|
|
96
|
+
break;
|
|
97
|
+
case 6:
|
|
98
|
+
_instance.endTime = new googleProtobuf000.Timestamp();
|
|
99
|
+
_reader.readMessage(_instance.endTime, googleProtobuf000.Timestamp.deserializeBinaryFromReader);
|
|
100
|
+
break;
|
|
101
|
+
case 7:
|
|
102
|
+
_instance.isCancellationRequested = _reader.readBool();
|
|
103
|
+
break;
|
|
104
|
+
case 8:
|
|
105
|
+
_instance.cancelCommand = _reader.readString();
|
|
106
|
+
break;
|
|
107
|
+
case 9:
|
|
108
|
+
_instance.userIdCreated = _reader.readString();
|
|
109
|
+
break;
|
|
110
|
+
case 10:
|
|
111
|
+
_instance.userIdCancelled = _reader.readString();
|
|
112
|
+
break;
|
|
113
|
+
case 11:
|
|
114
|
+
_instance.projectParent = _reader.readString();
|
|
115
|
+
break;
|
|
116
|
+
case 12:
|
|
117
|
+
_instance.operationType = _reader.readEnum();
|
|
118
|
+
break;
|
|
119
|
+
case 13:
|
|
120
|
+
_instance.hostName = _reader.readString();
|
|
121
|
+
break;
|
|
122
|
+
case 14:
|
|
123
|
+
_instance.numReruns = _reader.readInt32();
|
|
124
|
+
break;
|
|
125
|
+
case 15:
|
|
126
|
+
_instance.maxNumReruns = _reader.readInt32();
|
|
127
|
+
break;
|
|
128
|
+
case 16:
|
|
129
|
+
_instance.description = _reader.readString();
|
|
130
|
+
break;
|
|
131
|
+
default:
|
|
132
|
+
_reader.skipField();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
OperationMetadata.refineValues(_instance);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Serializes a message to binary format using provided binary reader
|
|
139
|
+
* @param _instance message instance
|
|
140
|
+
* @param _writer binary writer instance
|
|
141
|
+
*/
|
|
142
|
+
static serializeBinaryToWriter(_instance, _writer) {
|
|
143
|
+
if (_instance.status) {
|
|
144
|
+
_writer.writeEnum(1, _instance.status);
|
|
145
|
+
}
|
|
146
|
+
if (_instance.parentOperationName) {
|
|
147
|
+
_writer.writeString(2, _instance.parentOperationName);
|
|
148
|
+
}
|
|
149
|
+
if (_instance.subOperationNames && _instance.subOperationNames.length) {
|
|
150
|
+
_writer.writeRepeatedString(3, _instance.subOperationNames);
|
|
151
|
+
}
|
|
152
|
+
if (_instance.createTime) {
|
|
153
|
+
_writer.writeMessage(4, _instance.createTime, googleProtobuf000.Timestamp.serializeBinaryToWriter);
|
|
154
|
+
}
|
|
155
|
+
if (_instance.startTime) {
|
|
156
|
+
_writer.writeMessage(5, _instance.startTime, googleProtobuf000.Timestamp.serializeBinaryToWriter);
|
|
157
|
+
}
|
|
158
|
+
if (_instance.endTime) {
|
|
159
|
+
_writer.writeMessage(6, _instance.endTime, googleProtobuf000.Timestamp.serializeBinaryToWriter);
|
|
160
|
+
}
|
|
161
|
+
if (_instance.isCancellationRequested) {
|
|
162
|
+
_writer.writeBool(7, _instance.isCancellationRequested);
|
|
163
|
+
}
|
|
164
|
+
if (_instance.cancelCommand) {
|
|
165
|
+
_writer.writeString(8, _instance.cancelCommand);
|
|
166
|
+
}
|
|
167
|
+
if (_instance.userIdCreated) {
|
|
168
|
+
_writer.writeString(9, _instance.userIdCreated);
|
|
169
|
+
}
|
|
170
|
+
if (_instance.userIdCancelled) {
|
|
171
|
+
_writer.writeString(10, _instance.userIdCancelled);
|
|
172
|
+
}
|
|
173
|
+
if (_instance.projectParent) {
|
|
174
|
+
_writer.writeString(11, _instance.projectParent);
|
|
175
|
+
}
|
|
176
|
+
if (_instance.operationType) {
|
|
177
|
+
_writer.writeEnum(12, _instance.operationType);
|
|
178
|
+
}
|
|
179
|
+
if (_instance.hostName) {
|
|
180
|
+
_writer.writeString(13, _instance.hostName);
|
|
181
|
+
}
|
|
182
|
+
if (_instance.numReruns) {
|
|
183
|
+
_writer.writeInt32(14, _instance.numReruns);
|
|
184
|
+
}
|
|
185
|
+
if (_instance.maxNumReruns) {
|
|
186
|
+
_writer.writeInt32(15, _instance.maxNumReruns);
|
|
187
|
+
}
|
|
188
|
+
if (_instance.description) {
|
|
189
|
+
_writer.writeString(16, _instance.description);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
get status() {
|
|
193
|
+
return this._status;
|
|
194
|
+
}
|
|
195
|
+
set status(value) {
|
|
196
|
+
this._status = value;
|
|
197
|
+
}
|
|
198
|
+
get parentOperationName() {
|
|
199
|
+
return this._parentOperationName;
|
|
200
|
+
}
|
|
201
|
+
set parentOperationName(value) {
|
|
202
|
+
this._parentOperationName = value;
|
|
203
|
+
}
|
|
204
|
+
get subOperationNames() {
|
|
205
|
+
return this._subOperationNames;
|
|
206
|
+
}
|
|
207
|
+
set subOperationNames(value) {
|
|
208
|
+
this._subOperationNames = value;
|
|
209
|
+
}
|
|
210
|
+
get createTime() {
|
|
211
|
+
return this._createTime;
|
|
212
|
+
}
|
|
213
|
+
set createTime(value) {
|
|
214
|
+
this._createTime = value;
|
|
215
|
+
}
|
|
216
|
+
get startTime() {
|
|
217
|
+
return this._startTime;
|
|
218
|
+
}
|
|
219
|
+
set startTime(value) {
|
|
220
|
+
this._startTime = value;
|
|
221
|
+
}
|
|
222
|
+
get endTime() {
|
|
223
|
+
return this._endTime;
|
|
224
|
+
}
|
|
225
|
+
set endTime(value) {
|
|
226
|
+
this._endTime = value;
|
|
227
|
+
}
|
|
228
|
+
get isCancellationRequested() {
|
|
229
|
+
return this._isCancellationRequested;
|
|
230
|
+
}
|
|
231
|
+
set isCancellationRequested(value) {
|
|
232
|
+
this._isCancellationRequested = value;
|
|
233
|
+
}
|
|
234
|
+
get cancelCommand() {
|
|
235
|
+
return this._cancelCommand;
|
|
236
|
+
}
|
|
237
|
+
set cancelCommand(value) {
|
|
238
|
+
this._cancelCommand = value;
|
|
239
|
+
}
|
|
240
|
+
get userIdCreated() {
|
|
241
|
+
return this._userIdCreated;
|
|
242
|
+
}
|
|
243
|
+
set userIdCreated(value) {
|
|
244
|
+
this._userIdCreated = value;
|
|
245
|
+
}
|
|
246
|
+
get userIdCancelled() {
|
|
247
|
+
return this._userIdCancelled;
|
|
248
|
+
}
|
|
249
|
+
set userIdCancelled(value) {
|
|
250
|
+
this._userIdCancelled = value;
|
|
251
|
+
}
|
|
252
|
+
get projectParent() {
|
|
253
|
+
return this._projectParent;
|
|
254
|
+
}
|
|
255
|
+
set projectParent(value) {
|
|
256
|
+
this._projectParent = value;
|
|
257
|
+
}
|
|
258
|
+
get operationType() {
|
|
259
|
+
return this._operationType;
|
|
260
|
+
}
|
|
261
|
+
set operationType(value) {
|
|
262
|
+
this._operationType = value;
|
|
263
|
+
}
|
|
264
|
+
get hostName() {
|
|
265
|
+
return this._hostName;
|
|
266
|
+
}
|
|
267
|
+
set hostName(value) {
|
|
268
|
+
this._hostName = value;
|
|
269
|
+
}
|
|
270
|
+
get numReruns() {
|
|
271
|
+
return this._numReruns;
|
|
272
|
+
}
|
|
273
|
+
set numReruns(value) {
|
|
274
|
+
this._numReruns = value;
|
|
275
|
+
}
|
|
276
|
+
get maxNumReruns() {
|
|
277
|
+
return this._maxNumReruns;
|
|
278
|
+
}
|
|
279
|
+
set maxNumReruns(value) {
|
|
280
|
+
this._maxNumReruns = value;
|
|
281
|
+
}
|
|
282
|
+
get description() {
|
|
283
|
+
return this._description;
|
|
284
|
+
}
|
|
285
|
+
set description(value) {
|
|
286
|
+
this._description = value;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Serialize message to binary data
|
|
290
|
+
* @param instance message instance
|
|
291
|
+
*/
|
|
292
|
+
serializeBinary() {
|
|
293
|
+
const writer = new BinaryWriter();
|
|
294
|
+
OperationMetadata.serializeBinaryToWriter(this, writer);
|
|
295
|
+
return writer.getResultBuffer();
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Cast message to standard JavaScript object (all non-primitive values are deeply cloned)
|
|
299
|
+
*/
|
|
300
|
+
toObject() {
|
|
301
|
+
return {
|
|
302
|
+
status: this.status,
|
|
303
|
+
parentOperationName: this.parentOperationName,
|
|
304
|
+
subOperationNames: (this.subOperationNames || []).slice(),
|
|
305
|
+
createTime: this.createTime ? this.createTime.toObject() : undefined,
|
|
306
|
+
startTime: this.startTime ? this.startTime.toObject() : undefined,
|
|
307
|
+
endTime: this.endTime ? this.endTime.toObject() : undefined,
|
|
308
|
+
isCancellationRequested: this.isCancellationRequested,
|
|
309
|
+
cancelCommand: this.cancelCommand,
|
|
310
|
+
userIdCreated: this.userIdCreated,
|
|
311
|
+
userIdCancelled: this.userIdCancelled,
|
|
312
|
+
projectParent: this.projectParent,
|
|
313
|
+
operationType: this.operationType,
|
|
314
|
+
hostName: this.hostName,
|
|
315
|
+
numReruns: this.numReruns,
|
|
316
|
+
maxNumReruns: this.maxNumReruns,
|
|
317
|
+
description: this.description
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Convenience method to support JSON.stringify(message), replicates the structure of toObject()
|
|
322
|
+
*/
|
|
323
|
+
toJSON() {
|
|
324
|
+
return this.toObject();
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json
|
|
328
|
+
* Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.
|
|
329
|
+
* 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
|
|
330
|
+
*/
|
|
331
|
+
toProtobufJSON(
|
|
332
|
+
// @ts-ignore
|
|
333
|
+
options) {
|
|
334
|
+
return {
|
|
335
|
+
status: OperationMetadata.Status[this.status === null || this.status === undefined ? 0 : this.status],
|
|
336
|
+
parentOperationName: this.parentOperationName,
|
|
337
|
+
subOperationNames: (this.subOperationNames || []).slice(),
|
|
338
|
+
createTime: this.createTime
|
|
339
|
+
? this.createTime.toProtobufJSON(options)
|
|
340
|
+
: null,
|
|
341
|
+
startTime: this.startTime ? this.startTime.toProtobufJSON(options) : null,
|
|
342
|
+
endTime: this.endTime ? this.endTime.toProtobufJSON(options) : null,
|
|
343
|
+
isCancellationRequested: this.isCancellationRequested,
|
|
344
|
+
cancelCommand: this.cancelCommand,
|
|
345
|
+
userIdCreated: this.userIdCreated,
|
|
346
|
+
userIdCancelled: this.userIdCancelled,
|
|
347
|
+
projectParent: this.projectParent,
|
|
348
|
+
operationType: OperationMetadata.OperationType[this.operationType === null || this.operationType === undefined
|
|
349
|
+
? 0
|
|
350
|
+
: this.operationType],
|
|
351
|
+
hostName: this.hostName,
|
|
352
|
+
numReruns: this.numReruns,
|
|
353
|
+
maxNumReruns: this.maxNumReruns,
|
|
354
|
+
description: this.description
|
|
355
|
+
};
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
OperationMetadata.id = 'ondewo.nlu.OperationMetadata';
|
|
359
|
+
(function (OperationMetadata) {
|
|
360
|
+
let Status;
|
|
361
|
+
(function (Status) {
|
|
362
|
+
Status[Status["STATUS_UNSPECIFIED"] = 0] = "STATUS_UNSPECIFIED";
|
|
363
|
+
Status[Status["NOT_STARTED"] = 1] = "NOT_STARTED";
|
|
364
|
+
Status[Status["IN_PROGRESS"] = 2] = "IN_PROGRESS";
|
|
365
|
+
Status[Status["DONE"] = 3] = "DONE";
|
|
366
|
+
Status[Status["CANCELLED"] = 4] = "CANCELLED";
|
|
367
|
+
Status[Status["FAILED"] = 5] = "FAILED";
|
|
368
|
+
})(Status = OperationMetadata.Status || (OperationMetadata.Status = {}));
|
|
369
|
+
let OperationType;
|
|
370
|
+
(function (OperationType) {
|
|
371
|
+
OperationType[OperationType["OPERATION_TYPE_UNSPECIFIED"] = 0] = "OPERATION_TYPE_UNSPECIFIED";
|
|
372
|
+
OperationType[OperationType["CREATE_AGENT"] = 1] = "CREATE_AGENT";
|
|
373
|
+
OperationType[OperationType["IMPORT_AGENT"] = 2] = "IMPORT_AGENT";
|
|
374
|
+
OperationType[OperationType["EXPORT_AGENT"] = 3] = "EXPORT_AGENT";
|
|
375
|
+
OperationType[OperationType["DELETE_AGENT"] = 4] = "DELETE_AGENT";
|
|
376
|
+
OperationType[OperationType["RESTORE_AGENT"] = 5] = "RESTORE_AGENT";
|
|
377
|
+
OperationType[OperationType["BUILD_AGENT_CACHE"] = 6] = "BUILD_AGENT_CACHE";
|
|
378
|
+
OperationType[OperationType["TRAIN_AGENT"] = 7] = "TRAIN_AGENT";
|
|
379
|
+
OperationType[OperationType["EXPORT_BENCHMARK_AGENT"] = 8] = "EXPORT_BENCHMARK_AGENT";
|
|
380
|
+
})(OperationType = OperationMetadata.OperationType || (OperationMetadata.OperationType = {}));
|
|
381
|
+
})(OperationMetadata || (OperationMetadata = {}));
|
|
382
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0aW9uLW1ldGFkYXRhLnBiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYXBpL29uZGV3by9ubHUvb3BlcmF0aW9uLW1ldGFkYXRhLnBiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFjLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxLQUFLLGlCQUFpQixNQUFNLDRCQUE0QixDQUFDO0FBQ2hFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQWtONUI7OztPQUdHO0lBQ0gsWUFBWSxNQUFxRDtRQUMvRCxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDNUIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQztRQUN0RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVTtZQUNqQyxDQUFDLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUNwRCxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUztZQUMvQixDQUFDLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNuRCxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTztZQUMzQixDQUFDLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNqRCxDQUFD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QUFnQixDQUFBO1FBQ2hCLG1FQUFpQixDQUFBO1FBQ2pCLDJFQUFxQixDQUFBO1FBQ3JCLCtEQUFlLENBQUE7UUFDZixxRkFBMEIsQ0FBQTtJQUM1QixDQUFDLEVBVlcsYUFBYSxHQUFiLCtCQUFhLEtBQWIsK0JBQWEsUUFVeEI7QUFDSCxDQUFDLEVBL0RhLGlCQUFpQixLQUFqQixpQkFBaUIsUUErRDlCIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbi8qIGVzbGludC1kaXNhYmxlICovXG4vLyBAdHMtbm9jaGVja1xuLy9cbi8vIFRISVMgSVMgQSBHRU5FUkFURUQgRklMRVxuLy8gRE8gTk9UIE1PRElGWSBJVCEgWU9VUiBDSEFOR0VTIFdJTEwgQkUgTE9TVFxuaW1wb3J0IHtcbiAgR3JwY01lc3NhZ2UsXG4gIFJlY3Vyc2l2ZVBhcnRpYWwsXG4gIFRvUHJvdG9idWZKU09OT3B0aW9uc1xufSBmcm9tICdAbmd4LWdycGMvY29tbW9uJztcbmltcG9ydCB7IEJpbmFyeVJlYWRlciwgQmluYXJ5V3JpdGVyLCBCeXRlU291cmNlIH0gZnJvbSAnZ29vZ2xlLXByb3RvYnVmJztcbmltcG9ydCAqIGFzIGdvb2dsZVByb3RvYnVmMDAwIGZyb20gJ0BuZ3gtZ3JwYy93ZWxsLWtub3duLXR5cGVzJztcbi8qKlxuICogTWVzc2FnZSBpbXBsZW1lbnRhdGlvbiBmb3Igb25kZXdvLm5sdS5PcGVyYXRpb25NZXRhZGF0YVxuICovXG5leHBvcnQgY2xhc3MgT3BlcmF0aW9uTWV0YWRhdGEgaW1wbGVtZW50cyBHcnBjTWVzc2FnZSB7XG4gIHN0YXRpYyBpZCA9ICdvbmRld28ubmx1Lk9wZXJhdGlvbk1ldGFkYXRhJztcblxuICAvKipcbiAgICogRGVzZXJpYWxpemUgYmluYXJ5IGRhdGEgdG8gbWVzc2FnZVxuICAgKiBAcGFyYW0gaW5zdGFuY2UgbWVzc2FnZSBpbnN0YW5jZVxuICAgKi9cbiAgc3RhdGljIGRlc2VyaWFsaXplQmluYXJ5KGJ5dGVzOiBCeXRlU291cmNlKSB7XG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgT3BlcmF0aW9uTWV0YWRhdGEoKTtcbiAgICBPcGVyYXRpb25NZXRhZGF0YS5kZXNlcmlhbGl6ZUJpbmFyeUZyb21SZWFkZXIoXG4gICAgICBpbnN0YW5jZSxcbiAgICAgIG5ldyBCaW5hcnlSZWFkZXIoYnl0ZXMpXG4gICAgKTtcbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgYWxsIHRoZSBwcm9wZXJ0aWVzIGFuZCBzZXQgZGVmYXVsdCBwcm90b2J1ZiB2YWx1ZXMgaWYgbmVjZXNzYXJ5XG4gICAqIEBwYXJhbSBfaW5zdGFuY2UgbWVzc2FnZSBpbnN0YW5jZVxuICAgKi9cbiAgc3RhdGljIHJlZmluZVZhbHVlcyhfaW5zdGFuY2U6IE9wZXJhdGlvbk1ldGFkYXRhKSB7XG4gICAgX2luc3RhbmNlLnN0YXR1cyA9IF9pbnN0YW5jZS5zdGF0dXMgfHwgMDtcbiAgICBfaW5zdGFuY2UucGFyZW50T3BlcmF0aW9uTmFtZSA9IF9pbnN0YW5jZS5wYXJlbnRPcGVyYXRpb25OYW1lIHx8ICcnO1xuICAgIF9pbnN0YW5jZS5zdWJPcGVyYXRpb25OYW1lcyA9IF9pbnN0YW5jZS5zdWJPcGVyYXRpb25OYW1lcyB8fCBbXTtcbiAgICBfaW5zdGFuY2UuY3JlYXRlVGltZSA9IF9pbnN0YW5jZS5jcmVhdGVUaW1lIHx8IHVuZGVmaW5lZDtcbiAgICBfaW5zdGFuY2Uuc3RhcnRUaW1lID0gX2luc3RhbmNlLnN0YXJ0VGltZSB8fCB1bmRlZmluZWQ7XG4gICAgX2luc3RhbmNlLmVuZFRpbWUgPSBfaW5zdGFuY2UuZW5kVGltZSB8fCB1bmRlZmluZWQ7XG4gICAgX2luc3RhbmNlLmlzQ2FuY2VsbGF0aW9uUmVxdWVzdGVkID1cbiAgICAgIF9pbnN0YW5jZS5pc0NhbmNlbGxhdGlvblJlcXVlc3RlZCB8fCBmYWxzZTtcbiAgICBfaW5zdGFuY2UuY2FuY2VsQ29tbWFuZCA9IF9pbnN0YW5jZS5jYW5jZWxDb21tYW5kIHx8ICcnO1xuICAgIF9pbnN0YW5jZS51c2VySWRDcmVhdGVkID0gX2luc3RhbmNlLnVzZXJJZENyZWF0ZWQgfHwgJyc7XG4gICAgX2luc3RhbmNlLnVzZXJJZENhbmNlbGxlZCA9IF9pbnN0YW5jZS51c2VySWRDYW5jZWxsZWQgfHwgJyc7XG4gICAgX2luc3RhbmNlLnByb2plY3RQYXJlbnQgPSBfaW5zdGFuY2UucHJvamVjdFBhcmVudCB8fCAnJztcbiAgICBfaW5zdGFuY2Uub3BlcmF0aW9uVHlwZSA9IF9pbnN0YW5jZS5vcGVyYXRpb25UeXBlIHx8IDA7XG4gICAgX2luc3RhbmNlLmhvc3ROYW1lID0gX2luc3RhbmNlLmhvc3ROYW1lIHx8ICcnO1xuICAgIF9pbnN0YW5jZS5udW1SZXJ1bnMgPSBfaW5zdGFuY2UubnVtUmVydW5zIHx8IDA7XG4gICAgX2luc3RhbmNlLm1heE51bVJlcnVucyA9IF9pbnN0YW5jZS5tYXhOdW1SZXJ1bnMgfHwgMDtcbiAgICBfaW5zdGFuY2UuZGVzY3JpcHRpb24gPSBfaW5zdGFuY2UuZGVzY3JpcHRpb24gfHwgJyc7XG4gIH1cblxuICAvKipcbiAgICogRGVzZXJpYWxpemVzIC8gcmVhZHMgYmluYXJ5IG1lc3NhZ2UgaW50byBtZXNzYWdlIGluc3RhbmNlIHVzaW5nIHByb3ZpZGVkIGJpbmFyeSByZWFkZXJcbiAgICogQHBhcmFtIF9pbnN0YW5jZSBtZXNzYWdlIGluc3RhbmNlXG4gICAqIEBwYXJhbSBfcmVhZGVyIGJpbmFyeSByZWFkZXIgaW5zdGFuY2VcbiAgICovXG4gIHN0YXRpYyBkZXNlcmlhbGl6ZUJpbmFyeUZyb21SZWFkZXIoXG4gICAgX2luc3RhbmNlOiBPcGVyYXRpb25NZXRhZGF0YSxcbiAgICBfcmVhZGVyOiBCaW5hcnlSZWFkZXJcbiAgKSB7XG4gICAgd2hpbGUgKF9yZWFkZXIubmV4dEZpZWxkKCkpIHtcbiAgICAgIGlmIChfcmVhZGVyLmlzRW5kR3JvdXAoKSkgYnJlYWs7XG5cbiAgICAgIHN3aXRjaCAoX3JlYWRlci5nZXRGaWVsZE51bWJlcigpKSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICBfaW5zdGFuY2Uuc3RhdHVzID0gX3JlYWRlci5yZWFkRW51bSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgX2luc3RhbmNlLnBhcmVudE9wZXJhdGlvbk5hbWUgPSBfcmVhZGVyLnJlYWRTdHJpbmcoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIChfaW5zdGFuY2Uuc3ViT3BlcmF0aW9uTmFtZXMgPVxuICAgICAgICAgICAgX2luc3RhbmNlLnN1Yk9wZXJhdGlvbk5hbWVzIHx8IFtdKS5wdXNoKF9yZWFkZXIucmVhZFN0cmluZygpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA0OlxuICAgICAgICAgIF9pbnN0YW5jZS5jcmVhdGVUaW1lID0gbmV3IGdvb2dsZVByb3RvYnVmMDAwLlRpbWVzdGFtcCgpO1xuICAgICAgICAgIF9yZWFkZXIucmVhZE1lc3NhZ2UoXG4gICAgICAgICAgICBfaW5zdGFuY2UuY3JlYXRlVGltZSxcbiAgICAgICAgICAgIGdvb2dsZVByb3RvYnVmMDAwLlRpbWVzdGFtcC5kZXNlcmlhbGl6ZUJpbmFyeUZyb21SZWFkZXJcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgX2luc3RhbmNlLnN0YXJ0VGltZSA9IG5ldyBnb29nbGVQcm90b2J1ZjAwMC5UaW1lc3RhbXAoKTtcbiAgICAgICAgICBfcmVhZGVyLnJlYWRNZXNzYWdlKFxuICAgICAgICAgICAgX2luc3RhbmNlLnN0YXJ0VGltZSxcbiAgICAgICAgICAgIGdvb2dsZVByb3RvYnVmMDAwLlRpbWVzdGFtcC5kZXNlcmlhbGl6ZUJpbmFyeUZyb21SZWFkZXJcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDY6XG4gICAgICAgICAgX2luc3RhbmNlLmVuZFRpbWUgPSBuZXcgZ29vZ2xlUHJvdG9idWYwMDAuVGltZXN0YW1wKCk7XG4gICAgICAgICAgX3JlYWRlci5yZWFkTWVzc2FnZShcbiAgICAgICAgICAgIF9pbnN0YW5jZS5lbmRUaW1lLFxuICAgICAgICAgICAgZ29vZ2xlUHJvdG9idWYwMDAuVGltZXN0YW1wLmRlc2VyaWFsaXplQmluYXJ5RnJvbVJlYWRlclxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgNzpcbiAgICAgICAgICBfaW5zdGFuY2UuaXNDYW5jZWxsYXRpb25SZXF1ZXN0ZWQgPSBfcmVhZGVyLnJlYWRCb29sKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgODpcbiAgICAgICAgICBfaW5zdGFuY2UuY2FuY2VsQ29tbWFuZCA9IF9yZWFkZXIucmVhZFN0cmluZygpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDk6XG4gICAgICAgICAgX2luc3RhbmNlLnVzZXJJZENyZWF0ZWQgPSBfcmVhZGVyLnJlYWRTdHJpbmcoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAxMDpcbiAgICAgICAgICBfaW5zdGFuY2UudXNlcklkQ2FuY2VsbGVkID0gX3JlYWRlci5yZWFkU3RyaW5nKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMTE6XG4gICAgICAgICAgX2luc3RhbmNlLnByb2plY3RQYXJlbnQgPSBfcmVhZGVyLnJlYWRTdHJpbmcoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAxMjpcbiAgICAgICAgICBfaW5zdGFuY2Uub3BlcmF0aW9uVHlwZSA9IF9yZWFkZXIucmVhZEVudW0oKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAxMzpcbiAgICAgICAgICBfaW5zdGFuY2UuaG9zdE5hbWUgPSBfcmVhZGVyLnJlYWRTdHJpbmcoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAxNDpcbiAgICAgICAgICBfaW5zdGFuY2UubnVtUmVydW5zID0gX3JlYWRlci5yZWFkSW50MzIoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAxNTpcbiAgICAgICAgICBfaW5zdGFuY2UubWF4TnVtUmVydW5zID0gX3JlYWRlci5yZWFkSW50MzIoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAxNjpcbiAgICAgICAgICBfaW5zdGFuY2UuZGVzY3JpcHRpb24gPSBfcmVhZGVyLnJlYWRTdHJpbmcoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBfcmVhZGVyLnNraXBGaWVsZCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIE9wZXJhdGlvbk1ldGFkYXRhLnJlZmluZVZhbHVlcyhfaW5zdGFuY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcmlhbGl6ZXMgYSBtZXNzYWdlIHRvIGJpbmFyeSBmb3JtYXQgdXNpbmcgcHJvdmlkZWQgYmluYXJ5IHJlYWRlclxuICAgKiBAcGFyYW0gX2luc3RhbmNlIG1lc3NhZ2UgaW5zdGFuY2VcbiAgICogQHBhcmFtIF93cml0ZXIgYmluYXJ5IHdyaXRlciBpbnN0YW5jZVxuICAgKi9cbiAgc3RhdGljIHNlcmlhbGl6ZUJpbmFyeVRvV3JpdGVyKFxuICAgIF9pbnN0YW5jZTogT3BlcmF0aW9uTWV0YWRhdGEsXG4gICAgX3dyaXRlcjogQmluYXJ5V3JpdGVyXG4gICkge1xuICAgIGlmIChfaW5zdGFuY2Uuc3RhdHVzKSB7XG4gICAgICBfd3JpdGVyLndyaXRlRW51bSgxLCBfaW5zdGFuY2Uuc3RhdHVzKTtcbiAgICB9XG4gICAgaWYgKF9pbnN0YW5jZS5wYXJlbnRPcGVyYXRpb25OYW1lKSB7XG4gICAgICBfd3JpdGVyLndyaXRlU3RyaW5nKDIsIF9pbnN0YW5jZS5wYXJlbnRPcGVyYXRpb25OYW1lKTtcbiAgICB9XG4gICAgaWYgKF9pbnN0YW5jZS5zdWJPcGVyYXRpb25OYW1lcyAmJiBfaW5zdGFuY2Uuc3ViT3BlcmF0aW9uTmFtZXMubGVuZ3RoKSB7XG4gICAgICBfd3JpdGVyLndyaXRlUmVwZWF0ZWRTdHJpbmcoMywgX2luc3RhbmNlLnN1Yk9wZXJhdGlvbk5hbWVzKTtcbiAgICB9XG4gICAgaWYgKF9pbnN0YW5jZS5jcmVhdGVUaW1lKSB7XG4gICAgICBfd3JpdGVyLndyaXRlTWVzc2FnZShcbiAgICAgICAgNCxcbiAgICAgICAgX2luc3RhbmNlLmNyZWF0ZVRpbWUgYXMgYW55LFxuICAgICAgICBnb29nbGVQcm90b2J1ZjAwMC5UaW1lc3RhbXAuc2VyaWFsaXplQmluYXJ5VG9Xcml0ZXJcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChfaW5zdGFuY2Uuc3RhcnRUaW1lKSB7XG4gICAgICBfd3JpdGVyLndyaXRlTWVzc2FnZShcbiAgICAgICAgNSxcbiAgICAgICAgX2luc3RhbmNlLnN0YXJ0VGltZSBhcyBhbnksXG4gICAgICAgIGdvb2dsZVByb3RvYnVmMDAwLlRpbWVzdGFtcC5zZXJpYWxpemVCaW5hcnlUb1dyaXRlclxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKF9pbnN0YW5jZS5lbmRUaW1lKSB7XG4gICAgICBfd3JpdGVyLndyaXRlTWVzc2FnZShcbiAgICAgICAgNixcbiAgICAgICAgX2luc3RhbmNlLmVuZFRpbWUgYXMgYW55LFxuICAgICAgICBnb29nbGVQcm90b2J1ZjAwMC5UaW1lc3RhbXAuc2VyaWFsaXplQmluYXJ5VG9Xcml0ZXJcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChfaW5zdGFuY2UuaXNDYW5jZWxsYXRpb25SZXF1ZXN0ZWQpIHtcbiAgICAgIF93cml0ZXIud3JpdGVCb29sKDcsIF9pbnN0YW5jZS5pc0NhbmNlbGxhdGlvblJlcXVlc3RlZCk7XG4gICAgfVxuICAgIGlmIChfaW5zdGFuY2UuY2FuY2VsQ29tbWFuZCkge1xuICAgICAgX3dyaXRlci53cml0ZVN0cmluZyg4LCBfaW5zdGFuY2UuY2FuY2VsQ29tbWFuZCk7XG4gICAgfVxuICAgIGlmIChfaW5zdGFuY2UudXNlcklkQ3JlYXRlZCkge1xuICAgICAgX3dyaXRlci53cml0ZVN0cmluZyg5LCBfaW5zdGFuY2UudXNlcklkQ3JlYXRlZCk7XG4gICAgfVxuICAgIGlmIChfaW5zdGFuY2UudXNlcklkQ2FuY2VsbGVkKSB7XG4gICAgICBfd3JpdGVyLndyaXRlU3RyaW5nKDEwLCBfaW5zdGFuY2UudXNlcklkQ2FuY2VsbGVkKTtcbiAgICB9XG4gICAgaWYgKF9pbnN0YW5jZS5wcm9qZWN0UGFyZW50KSB7XG4gICAgICBfd3JpdGVyLndyaXRlU3RyaW5nKDExLCBfaW5zdGFuY2UucHJvamVjdFBhcmVudCk7XG4gICAgfVxuICAgIGlmIChfaW5zdGFuY2Uub3BlcmF0aW9uVHlwZSkge1xuICAgICAgX3dyaXRlci53cml0ZUVudW0oMTIsIF9pbnN0YW5jZS5vcGVyYXRpb25UeXBlKTtcbiAgICB9XG4gICAgaWYgKF9pbnN0YW5jZS5ob3N0TmFtZSkge1xuICAgICAgX3dyaXRlci53cml0ZVN0cmluZygxMywgX2luc3RhbmNlLmhvc3ROYW1lKTtcbiAgICB9XG4gICAgaWYgKF9pbnN0YW5jZS5udW1SZXJ1bnMpIHtcbiAgICAgIF93cml0ZXIud3JpdGVJbnQzMigxNCwgX2luc3RhbmNlLm51bVJlcnVucyk7XG4gICAgfVxuICAgIGlmIChfaW5zdGFuY2UubWF4TnVtUmVydW5zKSB7XG4gICAgICBfd3JpdGVyLndyaXRlSW50MzIoMTUsIF9pbnN0YW5jZS5tYXhOdW1SZXJ1bnMpO1xuICAgIH1cbiAgICBpZiAoX2luc3RhbmNlLmRlc2NyaXB0aW9uKSB7XG4gICAgICBfd3JpdGVyLndyaXRlU3RyaW5nKDE2LCBfaW5zdGFuY2UuZGVzY3JpcHRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3N0YXR1cz86IE9wZXJhdGlvbk1ldGFkYXRhLlN0YXR1cztcbiAgcHJpdmF0ZSBfcGFyZW50T3BlcmF0aW9uTmFtZT86IHN0cmluZztcbiAgcHJpdmF0ZSBfc3ViT3BlcmF0aW9uTmFtZXM/OiBzdHJpbmdbXTtcbiAgcHJpdmF0ZSBfY3JlYXRlVGltZT86IGdvb2dsZVByb3RvYnVmMDAwLlRpbWVzdGFtcDtcbiAgcHJpdmF0ZSBfc3RhcnRUaW1lPzogZ29vZ2xlUHJvdG9idWYwMDAuVGltZXN0YW1wO1xuICBwcml2YXRlIF9lbmRUaW1lPzogZ29vZ2xlUHJvdG9idWYwMDAuVGltZXN0YW1wO1xuICBwcml2YXRlIF9pc0NhbmNlbGxhdGlvblJlcXVlc3RlZD86IGJvb2xlYW47XG4gIHByaXZhdGUgX2NhbmNlbENvbW1hbmQ/OiBzdHJpbmc7XG4gIHByaXZhdGUgX3VzZXJJZENyZWF0ZWQ/OiBzdHJpbmc7XG4gIHByaXZhdGUgX3VzZXJJZENhbmNlbGxlZD86IHN0cmluZztcbiAgcHJpdmF0ZSBfcHJvamVjdFBhcmVudD86IHN0cmluZztcbiAgcHJpdmF0ZSBfb3BlcmF0aW9uVHlwZT86IE9wZXJhdGlvbk1ldGFkYXRhLk9wZXJhdGlvblR5cGU7XG4gIHByaXZhdGUgX2hvc3ROYW1lPzogc3RyaW5nO1xuICBwcml2YXRlIF9udW1SZXJ1bnM/OiBudW1iZXI7XG4gIHByaXZhdGUgX21heE51bVJlcnVucz86IG51bWJlcjtcbiAgcHJpdmF0ZSBfZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1lc3NhZ2UgY29uc3RydWN0b3IuIEluaXRpYWxpemVzIHRoZSBwcm9wZXJ0aWVzIGFuZCBhcHBsaWVzIGRlZmF1bHQgUHJvdG9idWYgdmFsdWVzIGlmIG5lY2Vzc2FyeVxuICAgKiBAcGFyYW0gX3ZhbHVlIGluaXRpYWwgdmFsdWVzIG9iamVjdCBvciBpbnN0YW5jZSBvZiBPcGVyYXRpb25NZXRhZGF0YSB0byBkZWVwbHkgY2xvbmUgZnJvbVxuICAgKi9cbiAgY29uc3RydWN0b3IoX3ZhbHVlPzogUmVjdXJzaXZlUGFydGlhbDxPcGVyYXRpb25NZXRhZGF0YS5Bc09iamVjdD4pIHtcbiAgICBfdmFsdWUgPSBfdmFsdWUgfHwge307XG4gICAgdGhpcy5zdGF0dXMgPSBfdmFsdWUuc3RhdHVzO1xuICAgIHRoaXMucGFyZW50T3BlcmF0aW9uTmFtZSA9IF92YWx1ZS5wYXJlbnRPcGVyYXRpb25OYW1lO1xuICAgIHRoaXMuc3ViT3BlcmF0aW9uTmFtZXMgPSAoX3ZhbHVlLnN1Yk9wZXJhdGlvbk5hbWVzIHx8IFtdKS5zbGljZSgpO1xuICAgIHRoaXMuY3JlYXRlVGltZSA9IF92YWx1ZS5jcmVhdGVUaW1lXG4gICAgICA/IG5ldyBnb29nbGVQcm90b2J1ZjAwMC5UaW1lc3RhbXAoX3ZhbHVlLmNyZWF0ZVRpbWUpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLnN0YXJ0VGltZSA9IF92YWx1ZS5zdGFydFRpbWVcbiAgICAgID8gbmV3IGdvb2dsZVByb3RvYnVmMDAwLlRpbWVzdGFtcChfdmFsdWUuc3RhcnRUaW1lKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gICAgdGhpcy5lbmRUaW1lID0gX3ZhbHVlLmVuZFRpbWVcbiAgICAgID8gbmV3IGdvb2dsZVByb3RvYnVmMDAwLlRpbWVzdGFtcChfdmFsdWUuZW5kVGltZSlcbiAgICAgIDogdW5kZWZpbmVkO1xuICAgIHRoaXMuaXNDYW5jZWxsYXRpb25SZXF1ZXN0ZWQgPSBfdmFsdWUuaXNDYW5jZWxsYXRpb25SZXF1ZXN0ZWQ7XG4gICAgdGhpcy5jYW5jZWxDb21tYW5kID0gX3ZhbHVlLmNhbmNlbENvbW1hbmQ7XG4gICAgdGhpcy51c2VySWRDcmVhdGVkID0gX3ZhbHVlLnVzZXJJZENyZWF0ZWQ7XG4gICAgdGhpcy51c2VySWRDYW5jZWxsZWQgPSBfdmFsdWUudXNlcklkQ2FuY2VsbGVkO1xuICAgIHRoaXMucHJvamVjdFBhcmVudCA9IF92YWx1ZS5wcm9qZWN0UGFyZW50O1xuICAgIHRoaXMub3BlcmF0aW9uVHlwZSA9IF92YWx1ZS5vcGVyYXRpb25UeXBlO1xuICAgIHRoaXMuaG9zdE5hbWUgPSBfdmFsdWUuaG9zdE5hbWU7XG4gICAgdGhpcy5udW1SZXJ1bnMgPSBfdmFsdWUubnVtUmVydW5zO1xuICAgIHRoaXMubWF4TnVtUmVydW5zID0gX3ZhbHVlLm1heE51bVJlcnVucztcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gX3ZhbHVlLmRlc2NyaXB0aW9uO1xuICAgIE9wZXJhdGlvbk1ldGFkYXRhLnJlZmluZVZhbHVlcyh0aGlzKTtcbiAgfVxuICBnZXQgc3RhdHVzKCk6IE9wZXJhdGlvbk1ldGFkYXRhLlN0YXR1cyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXR1cztcbiAgfVxuICBzZXQgc3RhdHVzKHZhbHVlOiBPcGVyYXRpb25NZXRhZGF0YS5TdGF0dXMgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9zdGF0dXMgPSB2YWx1ZTtcbiAgfVxuICBnZXQgcGFyZW50T3BlcmF0aW9uTmFtZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9wYXJlbnRPcGVyYXRpb25OYW1lO1xuICB9XG4gIHNldCBwYXJlbnRPcGVyYXRpb25OYW1lKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9wYXJlbnRPcGVyYXRpb25OYW1lID0gdmFsdWU7XG4gIH1cbiAgZ2V0IHN1Yk9wZXJhdGlvbk5hbWVzKCk6IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fc3ViT3BlcmF0aW9uTmFtZXM7XG4gIH1cbiAgc2V0IHN1Yk9wZXJhdGlvbk5hbWVzKHZhbHVlOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX3N1Yk9wZXJhdGlvbk5hbWVzID0gdmFsdWU7XG4gIH1cbiAgZ2V0IGNyZWF0ZVRpbWUoKTogZ29vZ2xlUHJvdG9idWYwMDAuVGltZXN0YW1wIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlVGltZTtcbiAgfVxuICBzZXQgY3JlYXRlVGltZSh2YWx1ZTogZ29vZ2xlUHJvdG9idWYwMDAuVGltZXN0YW1wIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fY3JlYXRlVGltZSA9IHZhbHVlO1xuICB9XG4gIGdldCBzdGFydFRpbWUoKTogZ29vZ2xlUHJvdG9idWYwMDAuVGltZXN0YW1wIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRUaW1lO1xuICB9XG4gIHNldCBzdGFydFRpbWUodmFsdWU6IGdvb2dsZVByb3RvYnVmMDAwLlRpbWVzdGFtcCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX3N0YXJ0VGltZSA9IHZhbHVlO1xuICB9XG4gIGdldCBlbmRUaW1lKCk6IGdvb2dsZVByb3RvYnVmMDAwLlRpbWVzdGFtcCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2VuZFRpbWU7XG4gIH1cbiAgc2V0IGVuZFRpbWUodmFsdWU6IGdvb2dsZVByb3RvYnVmMDAwLlRpbWVzdGFtcCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX2VuZFRpbWUgPSB2YWx1ZTtcbiAgfVxuICBnZXQgaXNDYW5jZWxsYXRpb25SZXF1ZXN0ZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2lzQ2FuY2VsbGF0aW9uUmVxdWVzdGVkO1xuICB9XG4gIHNldCBpc0NhbmNlbGxhdGlvblJlcXVlc3RlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX2lzQ2FuY2VsbGF0aW9uUmVxdWVzdGVkID0gdmFsdWU7XG4gIH1cbiAgZ2V0IGNhbmNlbENvbW1hbmQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fY2FuY2VsQ29tbWFuZDtcbiAgfVxuICBzZXQgY2FuY2VsQ29tbWFuZCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fY2FuY2VsQ29tbWFuZCA9IHZhbHVlO1xuICB9XG4gIGdldCB1c2VySWRDcmVhdGVkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3VzZXJJZENyZWF0ZWQ7XG4gIH1cbiAgc2V0IHVzZXJJZENyZWF0ZWQodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX3VzZXJJZENyZWF0ZWQgPSB2YWx1ZTtcbiAgfVxuICBnZXQgdXNlcklkQ2FuY2VsbGVkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3VzZXJJZENhbmNlbGxlZDtcbiAgfVxuICBzZXQgdXNlcklkQ2FuY2VsbGVkKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl91c2VySWRDYW5jZWxsZWQgPSB2YWx1ZTtcbiAgfVxuICBnZXQgcHJvamVjdFBhcmVudCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9wcm9qZWN0UGFyZW50O1xuICB9XG4gIHNldCBwcm9qZWN0UGFyZW50KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9wcm9qZWN0UGFyZW50ID0gdmFsdWU7XG4gIH1cbiAgZ2V0IG9wZXJhdGlvblR5cGUoKTogT3BlcmF0aW9uTWV0YWRhdGEuT3BlcmF0aW9uVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX29wZXJhdGlvblR5cGU7XG4gIH1cbiAgc2V0IG9wZXJhdGlvblR5cGUodmFsdWU6IE9wZXJhdGlvbk1ldGFkYXRhLk9wZXJhdGlvblR5cGUgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9vcGVyYXRpb25UeXBlID0gdmFsdWU7XG4gIH1cbiAgZ2V0IGhvc3ROYW1lKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2hvc3ROYW1lO1xuICB9XG4gIHNldCBob3N0TmFtZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5faG9zdE5hbWUgPSB2YWx1ZTtcbiAgfVxuICBnZXQgbnVtUmVydW5zKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX251bVJlcnVucztcbiAgfVxuICBzZXQgbnVtUmVydW5zKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9udW1SZXJ1bnMgPSB2YWx1ZTtcbiAgfVxuICBnZXQgbWF4TnVtUmVydW5zKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX21heE51bVJlcnVucztcbiAgfVxuICBzZXQgbWF4TnVtUmVydW5zKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9tYXhOdW1SZXJ1bnMgPSB2YWx1ZTtcbiAgfVxuICBnZXQgZGVzY3JpcHRpb24oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZGVzY3JpcHRpb247XG4gIH1cbiAgc2V0IGRlc2NyaXB0aW9uKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9kZXNjcmlwdGlvbiA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcmlhbGl6ZSBtZXNzYWdlIHRvIGJpbmFyeSBkYXRhXG4gICAqIEBwYXJhbSBpbnN0YW5jZSBtZXNzYWdlIGluc3RhbmNlXG4gICAqL1xuICBzZXJpYWxpemVCaW5hcnkoKSB7XG4gICAgY29uc3Qgd3JpdGVyID0gbmV3IEJpbmFyeVdyaXRlcigpO1xuICAgIE9wZXJhdGlvbk1ldGFkYXRhLnNlcmlhbGl6ZUJpbmFyeVRvV3JpdGVyKHRoaXMsIHdyaXRlcik7XG4gICAgcmV0dXJuIHdyaXRlci5nZXRSZXN1bHRCdWZmZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYXN0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgSmF2YVNjcmlwdCBvYmplY3QgKGFsbCBub24tcHJpbWl0aXZlIHZhbHVlcyBhcmUgZGVlcGx5IGNsb25lZClcbiAgICovXG4gIHRvT2JqZWN0KCk6IE9wZXJhdGlvbk1ldGFkYXRhLkFzT2JqZWN0IHtcbiAgICByZXR1cm4ge1xuICAgICAgc3RhdHVzOiB0aGlzLnN0YXR1cyxcbiAgICAgIHBhcmVudE9wZXJhdGlvbk5hbWU6IHRoaXMucGFyZW50T3BlcmF0aW9uTmFtZSxcbiAgICAgIHN1Yk9wZXJhdGlvbk5hbWVzOiAodGhpcy5zdWJPcGVyYXRpb25OYW1lcyB8fCBbXSkuc2xpY2UoKSxcbiAgICAgIGNyZWF0ZVRpbWU6IHRoaXMuY3JlYXRlVGltZSA/IHRoaXMuY3JlYXRlVGltZS50b09iamVjdCgpIDogdW5kZWZpbmVkLFxuICAgICAgc3RhcnRUaW1lOiB0aGlzLnN0YXJ0VGltZSA/IHRoaXMuc3RhcnRUaW1lLnRvT2JqZWN0KCkgOiB1bmRlZmluZWQsXG4gICAgICBlbmRUaW1lOiB0aGlzLmVuZFRpbWUgPyB0aGlzLmVuZFRpbWUudG9PYmplY3QoKSA6IHVuZGVmaW5lZCxcbiAgICAgIGlzQ2FuY2VsbGF0aW9uUmVxdWVzdGVkOiB0aGlzLmlzQ2FuY2VsbGF0aW9uUmVxdWVzdGVkLFxuICAgICAgY2FuY2VsQ29tbWFuZDogdGhpcy5jYW5jZWxDb21tYW5kLFxuICAgICAgdXNlcklkQ3JlYXRlZDogdGhpcy51c2VySWRDcmVhdGVkLFxuICAgICAgdXNlcklkQ2FuY2VsbGVkOiB0aGlzLnVzZXJJZENhbmNlbGxlZCxcbiAgICAgIHByb2plY3RQYXJlbnQ6IHRoaXMucHJvamVjdFBhcmVudCxcbiAgICAgIG9wZXJhdGlvblR5cGU6IHRoaXMub3BlcmF0aW9uVHlwZSxcbiAgICAgIGhvc3ROYW1lOiB0aGlzLmhvc3ROYW1lLFxuICAgICAgbnVtUmVydW5zOiB0aGlzLm51bVJlcnVucyxcbiAgICAgIG1heE51bVJlcnVuczogdGhpcy5tYXhOdW1SZXJ1bnMsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvblxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ29udmVuaWVuY2UgbWV0aG9kIHRvIHN1cHBvcnQgSlNPTi5zdHJpbmdpZnkobWVzc2FnZSksIHJlcGxpY2F0ZXMgdGhlIHN0cnVjdHVyZSBvZiB0b09iamVjdCgpXG4gICAqL1xuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHRoaXMudG9PYmplY3QoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYXN0IG1lc3NhZ2UgdG8gSlNPTiB1c2luZyBwcm90b2J1ZiBKU09OIG5vdGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzL2RvY3MvcHJvdG8zI2pzb25cbiAgICogQXR0ZW50aW9uOiBvdXRwdXQgZGlmZmVycyBmcm9tIHRvT2JqZWN0KCkgZS5nLiBlbnVtcyBhcmUgcmVwcmVzZW50ZWQgYXMgbmFtZXMgYW5kIG5vdCBhcyBudW1iZXJzLCBUaW1lc3RhbXAgaXMgYW4gSVNPIERhdGUgc3RyaW5nIGZvcm1hdCBldGMuXG4gICAqIElmIHRoZSBtZXNzYWdlIGl0c2VsZiBvciBzb21lIG9mIGRlc2NlbmRhbnQgbWVzc2FnZXMgaXMgZ29vZ2xlLnByb3RvYnVmLkFueSwgeW91IE1VU1QgcHJvdmlkZSBhIG1lc3NhZ2UgcG9vbCBhcyBvcHRpb25zLiBJZiBub3QsIHRoZSBtZXNzYWdlUG9vbCBpcyBub3QgcmVxdWlyZWRcbiAgICovXG4gIHRvUHJvdG9idWZKU09OKFxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBvcHRpb25zPzogVG9Qcm90b2J1ZkpTT05PcHRpb25zXG4gICk6IE9wZXJhdGlvbk1ldGFkYXRhLkFzUHJvdG9idWZKU09OIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3RhdHVzOlxuICAgICAgICBPcGVyYXRpb25NZXRhZGF0YS5TdGF0dXNbXG4gICAgICAgICAgdGhpcy5zdGF0dXMgPT09IG51bGwgfHwgdGhpcy5zdGF0dXMgPT09IHVuZGVmaW5lZCA/IDAgOiB0aGlzLnN0YXR1c1xuICAgICAgICBdLFxuICAgICAgcGFyZW50T3BlcmF0aW9uTmFtZTogdGhpcy5wYXJlbnRPcGVyYXRpb25OYW1lLFxuICAgICAgc3ViT3BlcmF0aW9uTmFtZXM6ICh0aGlzLnN1Yk9wZXJhdGlvbk5hbWVzIHx8IFtdKS5zbGljZSgpLFxuICAgICAgY3JlYXRlVGltZTogdGhpcy5jcmVhdGVUaW1lXG4gICAgICAgID8gdGhpcy5jcmVhdGVUaW1lLnRvUHJvdG9idWZKU09OKG9wdGlvbnMpXG4gICAgICAgIDogbnVsbCxcbiAgICAgIHN0YXJ0VGltZTogdGhpcy5zdGFydFRpbWUgPyB0aGlzLnN0YXJ0VGltZS50b1Byb3RvYnVmSlNPTihvcHRpb25zKSA6IG51bGwsXG4gICAgICBlbmRUaW1lOiB0aGlzLmVuZFRpbWUgPyB0aGlzLmVuZFRpbWUudG9Qcm90b2J1ZkpTT04ob3B0aW9ucykgOiBudWxsLFxuICAgICAgaXNDYW5jZWxsYXRpb25SZXF1ZXN0ZWQ6IHRoaXMuaXNDYW5jZWxsYXRpb25SZXF1ZXN0ZWQsXG4gICAgICBjYW5jZWxDb21tYW5kOiB0aGlzLmNhbmNlbENvbW1hbmQsXG4gICAgICB1c2VySWRDcmVhdGVkOiB0aGlzLnVzZXJJZENyZWF0ZWQsXG4gICAgICB1c2VySWRDYW5jZWxsZWQ6IHRoaXMudXNlcklkQ2FuY2VsbGVkLFxuICAgICAgcHJvamVjdFBhcmVudDogdGhpcy5wcm9qZWN0UGFyZW50LFxuICAgICAgb3BlcmF0aW9uVHlwZTpcbiAgICAgICAgT3BlcmF0aW9uTWV0YWRhdGEuT3BlcmF0aW9uVHlwZVtcbiAgICAgICAgICB0aGlzLm9wZXJhdGlvblR5cGUgPT09IG51bGwgfHwgdGhpcy5vcGVyYXRpb25UeXBlID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgOiB0aGlzLm9wZXJhdGlvblR5cGVcbiAgICAgICAgXSxcbiAgICAgIGhvc3ROYW1lOiB0aGlzLmhvc3ROYW1lLFxuICAgICAgbnVtUmVydW5zOiB0aGlzLm51bVJlcnVucyxcbiAgICAgIG1heE51bVJlcnVuczogdGhpcy5tYXhOdW1SZXJ1bnMsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvblxuICAgIH07XG4gIH1cbn1cbmV4cG9ydCBtb2R1bGUgT3BlcmF0aW9uTWV0YWRhdGEge1xuICAvKipcbiAgICogU3RhbmRhcmQgSmF2YVNjcmlwdCBvYmplY3QgcmVwcmVzZW50YXRpb24gZm9yIE9wZXJhdGlvbk1ldGFkYXRhXG4gICAqL1xuICBleHBvcnQgaW50ZXJmYWNlIEFzT2JqZWN0IHtcbiAgICBzdGF0dXM/OiBPcGVyYXRpb25NZXRhZGF0YS5TdGF0dXM7XG4gICAgcGFyZW50T3BlcmF0aW9uTmFtZT86IHN0cmluZztcbiAgICBzdWJPcGVyYXRpb25OYW1lcz86IHN0cmluZ1tdO1xuICAgIGNyZWF0ZVRpbWU/OiBnb29nbGVQcm90b2J1ZjAwMC5UaW1lc3RhbXAuQXNPYmplY3Q7XG4gICAgc3RhcnRUaW1lPzogZ29vZ2xlUHJvdG9idWYwMDAuVGltZXN0YW1wLkFzT2JqZWN0O1xuICAgIGVuZFRpbWU/OiBnb29nbGVQcm90b2J1ZjAwMC5UaW1lc3RhbXAuQXNPYmplY3Q7XG4gICAgaXNDYW5jZWxsYXRpb25SZXF1ZXN0ZWQ/OiBib29sZWFuO1xuICAgIGNhbmNlbENvbW1hbmQ/OiBzdHJpbmc7XG4gICAgdXNlcklkQ3JlYXRlZD86IHN0cmluZztcbiAgICB1c2VySWRDYW5jZWxsZWQ/OiBzdHJpbmc7XG4gICAgcHJvamVjdFBhcmVudD86IHN0cmluZztcbiAgICBvcGVyYXRpb25UeXBlPzogT3BlcmF0aW9uTWV0YWRhdGEuT3BlcmF0aW9uVHlwZTtcbiAgICBob3N0TmFtZT86IHN0cmluZztcbiAgICBudW1SZXJ1bnM/OiBudW1iZXI7XG4gICAgbWF4TnVtUmVydW5zPzogbnVtYmVyO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3RvYnVmIEpTT04gcmVwcmVzZW50YXRpb24gZm9yIE9wZXJhdGlvbk1ldGFkYXRhXG4gICAqL1xuICBleHBvcnQgaW50ZXJmYWNlIEFzUHJvdG9idWZKU09OIHtcbiAgICBzdGF0dXM/OiBzdHJpbmc7XG4gICAgcGFyZW50T3BlcmF0aW9uTmFtZT86IHN0cmluZztcbiAgICBzdWJPcGVyYXRpb25OYW1lcz86IHN0cmluZ1tdO1xuICAgIGNyZWF0ZVRpbWU/OiBnb29nbGVQcm90b2J1ZjAwMC5UaW1lc3RhbXAuQXNQcm90b2J1ZkpTT04gfCBudWxsO1xuICAgIHN0YXJ0VGltZT86IGdvb2dsZVByb3RvYnVmMDAwLlRpbWVzdGFtcC5Bc1Byb3RvYnVmSlNPTiB8IG51bGw7XG4gICAgZW5kVGltZT86IGdvb2dsZVByb3RvYnVmMDAwLlRpbWVzdGFtcC5Bc1Byb3RvYnVmSlNPTiB8IG51bGw7XG4gICAgaXNDYW5jZWxsYXRpb25SZXF1ZXN0ZWQ/OiBib29sZWFuO1xuICAgIGNhbmNlbENvbW1hbmQ/OiBzdHJpbmc7XG4gICAgdXNlcklkQ3JlYXRlZD86IHN0cmluZztcbiAgICB1c2VySWRDYW5jZWxsZWQ/OiBzdHJpbmc7XG4gICAgcHJvamVjdFBhcmVudD86IHN0cmluZztcbiAgICBvcGVyYXRpb25UeXBlPzogc3RyaW5nO1xuICAgIGhvc3ROYW1lPzogc3RyaW5nO1xuICAgIG51bVJlcnVucz86IG51bWJlcjtcbiAgICBtYXhOdW1SZXJ1bnM/OiBudW1iZXI7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIH1cbiAgZXhwb3J0IGVudW0gU3RhdHVzIHtcbiAgICBTVEFUVVNfVU5TUEVDSUZJRUQgPSAwLFxuICAgIE5PVF9TVEFSVEVEID0gMSxcbiAgICBJTl9QUk9HUkVTUyA9IDIsXG4gICAgRE9ORSA9IDMsXG4gICAgQ0FOQ0VMTEVEID0gNCxcbiAgICBGQUlMRUQgPSA1XG4gIH1cbiAgZXhwb3J0IGVudW0gT3BlcmF0aW9uVHlwZSB7XG4gICAgT1BFUkFUSU9OX1RZUEVfVU5TUEVDSUZJRUQgPSAwLFxuICAgIENSRUFURV9BR0VOVCA9IDEsXG4gICAgSU1QT1JUX0FHRU5UID0gMixcbiAgICBFWFBPUlRfQUdFTlQgPSAzLFxuICAgIERFTEVURV9BR0VOVCA9IDQsXG4gICAgUkVTVE9SRV9BR0VOVCA9IDUsXG4gICAgQlVJTERfQUdFTlRfQ0FDSEUgPSA2LFxuICAgIFRSQUlOX0FHRU5UID0gNyxcbiAgICBFWFBPUlRfQkVOQ0hNQVJLX0FHRU5UID0gOFxuICB9XG59XG4iXX0=
|