@coralogix/rum-cli 1.1.21 → 1.1.24
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/README.md +32 -9
- package/api/client/client-factory.ts +26 -0
- package/api/client/request-builder.ts +122 -0
- package/api/dsym.api.ts +61 -0
- package/api/react-native.api.ts +67 -0
- package/api/{rum-api.ts → source-maps.api.ts} +15 -23
- package/cli/commands/dsym/index.ts +5 -0
- package/cli/commands/dsym/upload-dsym-command.ts +36 -0
- package/cli/commands/react-native/index.ts +5 -0
- package/cli/commands/react-native/upload-react-native-source-maps-command.ts +42 -0
- package/cli/commands/{delete-source-maps-command.ts → source-maps/delete-source-maps-command.ts} +8 -10
- package/cli/commands/source-maps/index.ts +7 -0
- package/cli/commands/{update-source-maps-command.ts → source-maps/update-source-maps-command.ts} +8 -10
- package/cli/commands/{upload-source-maps-command.ts → source-maps/upload-source-maps-command.ts} +8 -10
- package/cli/rum-cli.ts +17 -7
- package/config/config.ts +10 -4
- package/consts/consts.ts +2 -0
- package/dist/api/client/client-factory.d.ts +355 -0
- package/dist/api/client/client-factory.js +31 -0
- package/dist/api/client/request-builder.d.ts +33 -0
- package/dist/api/client/request-builder.js +58 -0
- package/dist/api/dsym.api.d.ts +4 -0
- package/dist/api/dsym.api.js +50 -0
- package/dist/api/react-native.api.d.ts +4 -0
- package/dist/api/react-native.api.js +50 -0
- package/dist/api/{rum-api.d.ts → source-maps.api.d.ts} +2 -2
- package/dist/api/source-maps.api.js +97 -0
- package/dist/cli/commands/dsym/index.d.ts +4 -0
- package/dist/cli/commands/dsym/index.js +6 -0
- package/dist/cli/commands/dsym/upload-dsym-command.d.ts +2 -0
- package/dist/cli/commands/dsym/upload-dsym-command.js +45 -0
- package/dist/cli/commands/react-native/index.d.ts +4 -0
- package/dist/cli/commands/react-native/index.js +6 -0
- package/dist/cli/commands/react-native/upload-react-native-source-maps-command.d.ts +2 -0
- package/dist/cli/commands/react-native/upload-react-native-source-maps-command.js +51 -0
- package/dist/cli/commands/source-maps/delete-source-maps-command.d.ts +2 -0
- package/dist/cli/commands/source-maps/delete-source-maps-command.js +41 -0
- package/dist/cli/commands/source-maps/index.d.ts +6 -0
- package/dist/cli/commands/source-maps/index.js +8 -0
- package/dist/cli/commands/source-maps/update-source-maps-command.d.ts +2 -0
- package/dist/cli/commands/source-maps/update-source-maps-command.js +46 -0
- package/dist/cli/commands/source-maps/upload-source-maps-command.d.ts +2 -0
- package/dist/cli/commands/source-maps/upload-source-maps-command.js +45 -0
- package/dist/cli/rum-cli.js +14 -8
- package/dist/config/config.d.ts +5 -2
- package/dist/config/config.js +6 -3
- package/dist/consts/consts.d.ts +1 -0
- package/dist/consts/consts.js +3 -2
- package/dist/models/dsym-commands.model.d.ts +11 -0
- package/dist/models/dsym-commands.model.js +3 -0
- package/dist/models/react-native-commands.model.d.ts +11 -0
- package/dist/models/react-native-commands.model.js +3 -0
- package/dist/models/{commands.model.d.ts → source-maps-commands.model.d.ts} +3 -3
- package/dist/models/source-maps-commands.model.js +3 -0
- package/dist/proto-models/com/coralogix/blobset/v2/audit_log.d.ts +24 -0
- package/dist/proto-models/com/coralogix/blobset/v2/audit_log.js +64 -0
- package/dist/proto-models/com/coralogix/blobset/v2/blobset_query_service.d.ts +111 -0
- package/dist/proto-models/com/coralogix/blobset/v2/blobset_query_service.js +31 -0
- package/dist/proto-models/com/coralogix/blobset/v2/blobset_service.d.ts +67 -0
- package/dist/proto-models/com/coralogix/blobset/v2/blobset_service.js +174 -0
- package/dist/proto-models/com/coralogix/blobset/v2/dsym.d.ts +58 -0
- package/dist/proto-models/com/coralogix/blobset/v2/dsym.js +331 -0
- package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.d.ts +78 -0
- package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.js +459 -0
- package/dist/proto-models/com/coralogix/blobset/v2/entity_type.d.ts +9 -0
- package/dist/proto-models/com/coralogix/blobset/v2/entity_type.js +47 -0
- package/dist/proto-models/com/coralogix/blobset/v2/react_native.d.ts +54 -0
- package/dist/proto-models/com/coralogix/blobset/v2/react_native.js +313 -0
- package/dist/proto-models/com/coralogix/blobset/v2/s3_metadata.d.ts +30 -0
- package/dist/proto-models/com/coralogix/blobset/v2/s3_metadata.js +126 -0
- package/dist/proto-models/com/coralogix/rum/v2/analytics.d.ts +1 -1
- package/dist/proto-models/com/coralogix/rum/v2/analytics.js +115 -102
- package/dist/proto-models/com/coralogix/rum/v2/audit_log.d.ts +1 -1
- package/dist/proto-models/com/coralogix/rum/v2/audit_log.js +5 -3
- package/dist/proto-models/com/coralogix/rum/v2/chunk.d.ts +1 -1
- package/dist/proto-models/com/coralogix/rum/v2/chunk.js +54 -49
- package/dist/proto-models/com/coralogix/rum/v2/file.d.ts +1 -1
- package/dist/proto-models/com/coralogix/rum/v2/file.js +24 -34
- package/dist/proto-models/com/coralogix/rum/v2/hide_errors.d.ts +44 -0
- package/dist/proto-models/com/coralogix/rum/v2/hide_errors.js +195 -0
- package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.d.ts +78 -0
- package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.js +459 -0
- package/dist/proto-models/com/coralogix/rum/v2/release_entity_type.d.ts +9 -0
- package/dist/proto-models/com/coralogix/rum/v2/release_entity_type.js +47 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_hide_errors_service.d.ts +198 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_hide_errors_service.js +517 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_react_native_source_map_service.d.ts +69 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_react_native_source_map_service.js +189 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.d.ts +480 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.js +1420 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_sdk_versions.d.ts +41 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_sdk_versions.js +217 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_service.d.ts +143 -3
- package/dist/proto-models/com/coralogix/rum/v2/rum_service.js +595 -127
- package/dist/proto-models/com/coralogix/rum/v2/rum_session_recording_service.d.ts +1 -59
- package/dist/proto-models/com/coralogix/rum/v2/rum_session_recording_service.js +4 -175
- package/dist/proto-models/com/coralogix/rum/v2/rum_settings.d.ts +45 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_settings.js +193 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_settings_service.d.ts +107 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_settings_service.js +214 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_snooze_errors_service.d.ts +261 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_snooze_errors_service.js +698 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.d.ts +93 -1
- package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.js +325 -42
- package/dist/proto-models/com/coralogix/rum/v2/saved_filter.d.ts +55 -0
- package/dist/proto-models/com/coralogix/rum/v2/saved_filter.js +267 -0
- package/dist/proto-models/com/coralogix/rum/v2/snooze_errors.d.ts +109 -0
- package/dist/proto-models/com/coralogix/rum/v2/snooze_errors.js +580 -0
- package/dist/proto-models/com/coralogix/rum/v2/source_code_file_mapping.d.ts +1 -1
- package/dist/proto-models/com/coralogix/rum/v2/source_code_file_mapping.js +47 -24
- package/dist/proto-models/com/coralogix/rum/v2/source_map_release.d.ts +1 -1
- package/dist/proto-models/com/coralogix/rum/v2/source_map_release.js +43 -38
- package/dist/proto-models/com/coralogix/rum/v2/template.d.ts +14 -1
- package/dist/proto-models/com/coralogix/rum/v2/template.js +148 -54
- package/dist/proto-models/google/protobuf/descriptor.d.ts +1 -1
- package/dist/proto-models/google/protobuf/descriptor.js +537 -427
- package/dist/services/dsym.service.d.ts +3 -0
- package/dist/services/dsym.service.js +36 -0
- package/dist/services/react-native.service.d.ts +3 -0
- package/dist/services/react-native.service.js +37 -0
- package/dist/services/source-maps.service.js +12 -14
- package/dist/utils/file-processor.utils.d.ts +12 -0
- package/dist/utils/file-processor.utils.js +196 -0
- package/dist/utils/shared.utils.d.ts +9 -0
- package/dist/utils/shared.utils.js +62 -0
- package/models/dsym-commands.model.ts +11 -0
- package/models/react-native-commands.model.ts +11 -0
- package/models/{commands.model.ts → source-maps-commands.model.ts} +3 -3
- package/package.json +4 -3
- package/proto-models/com/coralogix/blobset/v2/audit_log.ts +78 -0
- package/proto-models/com/coralogix/blobset/v2/blobset_query_service.ts +30 -0
- package/proto-models/com/coralogix/blobset/v2/blobset_service.ts +203 -0
- package/proto-models/com/coralogix/blobset/v2/dsym.ts +394 -0
- package/proto-models/com/coralogix/blobset/v2/entity_metadata.ts +537 -0
- package/proto-models/com/coralogix/blobset/v2/entity_type.ts +44 -0
- package/proto-models/com/coralogix/blobset/v2/react_native.ts +361 -0
- package/proto-models/com/coralogix/blobset/v2/s3_metadata.ts +148 -0
- package/proto-models/com/coralogix/rum/v2/analytics.ts +113 -108
- package/proto-models/com/coralogix/rum/v2/audit_log.ts +6 -4
- package/proto-models/com/coralogix/rum/v2/chunk.ts +55 -56
- package/proto-models/com/coralogix/rum/v2/file.ts +25 -39
- package/proto-models/com/coralogix/rum/v2/hide_errors.ts +225 -0
- package/proto-models/com/coralogix/rum/v2/release_entity_metadata.ts +537 -0
- package/proto-models/com/coralogix/rum/v2/release_entity_type.ts +44 -0
- package/proto-models/com/coralogix/rum/v2/rum_hide_errors_service.ts +599 -0
- package/proto-models/com/coralogix/rum/v2/rum_react_native_source_map_service.ts +223 -0
- package/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.ts +1673 -0
- package/proto-models/com/coralogix/rum/v2/rum_sdk_versions.ts +254 -0
- package/proto-models/com/coralogix/rum/v2/rum_service.ts +672 -146
- package/proto-models/com/coralogix/rum/v2/rum_session_recording_service.ts +1 -208
- package/proto-models/com/coralogix/rum/v2/rum_settings.ts +209 -0
- package/proto-models/com/coralogix/rum/v2/rum_settings_service.ts +260 -0
- package/proto-models/com/coralogix/rum/v2/rum_snooze_errors_service.ts +818 -0
- package/proto-models/com/coralogix/rum/v2/rum_source_map_service.ts +369 -46
- package/proto-models/com/coralogix/rum/v2/saved_filter.ts +301 -0
- package/proto-models/com/coralogix/rum/v2/snooze_errors.ts +656 -0
- package/proto-models/com/coralogix/rum/v2/source_code_file_mapping.ts +48 -27
- package/proto-models/com/coralogix/rum/v2/source_map_release.ts +44 -44
- package/proto-models/com/coralogix/rum/v2/template.ts +161 -59
- package/proto-models/google/protobuf/descriptor.ts +551 -464
- package/protofetch.lock +21 -2
- package/protofetch.toml +6 -1
- package/protos/com/coralogix/blobset/v2/audit_log.proto +13 -0
- package/protos/com/coralogix/blobset/v2/blobset_query_service.proto +12 -0
- package/protos/com/coralogix/blobset/v2/blobset_service.proto +18 -0
- package/protos/com/coralogix/blobset/v2/dsym.proto +19 -0
- package/protos/com/coralogix/blobset/v2/entity_metadata.proto +36 -0
- package/protos/com/coralogix/blobset/v2/entity_type.proto +10 -0
- package/protos/com/coralogix/blobset/v2/react_native.proto +23 -0
- package/protos/com/coralogix/blobset/v2/s3_metadata.proto +14 -0
- package/protos/com/coralogix/rum/v2/hide_errors.proto +19 -0
- package/protos/com/coralogix/rum/v2/release_entity_metadata.proto +35 -0
- package/protos/com/coralogix/rum/v2/release_entity_type.proto +10 -0
- package/protos/com/coralogix/rum/v2/rum_hide_errors_service.proto +42 -0
- package/protos/com/coralogix/rum/v2/rum_react_native_source_map_service.proto +19 -0
- package/protos/com/coralogix/rum/v2/rum_saved_filters_service.proto +117 -0
- package/protos/com/coralogix/rum/v2/rum_sdk_versions.proto +16 -0
- package/protos/com/coralogix/rum/v2/rum_service.proto +36 -0
- package/protos/com/coralogix/rum/v2/rum_session_recording_service.proto +1 -12
- package/protos/com/coralogix/rum/v2/rum_settings.proto +26 -0
- package/protos/com/coralogix/rum/v2/rum_settings_service.proto +21 -0
- package/protos/com/coralogix/rum/v2/rum_snooze_errors_service.proto +64 -0
- package/protos/com/coralogix/rum/v2/rum_source_map_service.proto +20 -1
- package/protos/com/coralogix/rum/v2/saved_filter.proto +28 -0
- package/protos/com/coralogix/rum/v2/snooze_errors.proto +55 -0
- package/protos/com/coralogix/rum/v2/template.proto +6 -0
- package/protoset.bin +0 -0
- package/services/dsym.service.ts +33 -0
- package/services/react-native.service.ts +34 -0
- package/services/source-maps.service.ts +12 -14
- package/utils/file-processor.utils.ts +176 -0
- package/utils/shared.utils.ts +52 -0
- package/cli/commands/index.ts +0 -7
- package/dist/api/rum-api.js +0 -104
- package/dist/cli/commands/delete-source-maps-command.d.ts +0 -2
- package/dist/cli/commands/delete-source-maps-command.js +0 -43
- package/dist/cli/commands/index.d.ts +0 -6
- package/dist/cli/commands/index.js +0 -8
- package/dist/cli/commands/update-source-maps-command.d.ts +0 -2
- package/dist/cli/commands/update-source-maps-command.js +0 -48
- package/dist/cli/commands/upload-source-maps-command.d.ts +0 -2
- package/dist/cli/commands/upload-source-maps-command.js +0 -47
- package/dist/models/commands.model.js +0 -3
- package/dist/utils/index.d.ts +0 -6
- package/dist/utils/index.js +0 -115
- package/utils/index.ts +0 -93
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.BlobSetServiceDefinition = exports.UploadBlobResponse = exports.UploadBlobRequest = exports.protobufPackage = void 0;
|
|
7
|
+
/* eslint-disable */
|
|
8
|
+
const minimal_1 = __importDefault(require("protobufjs/minimal"));
|
|
9
|
+
const entity_metadata_1 = require("./entity_metadata");
|
|
10
|
+
const entity_type_1 = require("./entity_type");
|
|
11
|
+
exports.protobufPackage = "com.coralogix.blobset.v2";
|
|
12
|
+
function createBaseUploadBlobRequest() {
|
|
13
|
+
return { data: new Uint8Array(0), entityType: 0, entityMetadata: undefined };
|
|
14
|
+
}
|
|
15
|
+
exports.UploadBlobRequest = {
|
|
16
|
+
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
17
|
+
if (message.data.length !== 0) {
|
|
18
|
+
writer.uint32(10).bytes(message.data);
|
|
19
|
+
}
|
|
20
|
+
if (message.entityType !== 0) {
|
|
21
|
+
writer.uint32(16).int32(message.entityType);
|
|
22
|
+
}
|
|
23
|
+
if (message.entityMetadata !== undefined) {
|
|
24
|
+
entity_metadata_1.EntityMetadata.encode(message.entityMetadata, writer.uint32(26).fork()).ldelim();
|
|
25
|
+
}
|
|
26
|
+
return writer;
|
|
27
|
+
},
|
|
28
|
+
decode(input, length) {
|
|
29
|
+
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
30
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
31
|
+
const message = createBaseUploadBlobRequest();
|
|
32
|
+
while (reader.pos < end) {
|
|
33
|
+
const tag = reader.uint32();
|
|
34
|
+
switch (tag >>> 3) {
|
|
35
|
+
case 1:
|
|
36
|
+
if (tag !== 10) {
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
message.data = reader.bytes();
|
|
40
|
+
continue;
|
|
41
|
+
case 2:
|
|
42
|
+
if (tag !== 16) {
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
message.entityType = reader.int32();
|
|
46
|
+
continue;
|
|
47
|
+
case 3:
|
|
48
|
+
if (tag !== 26) {
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
message.entityMetadata = entity_metadata_1.EntityMetadata.decode(reader, reader.uint32());
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
reader.skipType(tag & 7);
|
|
58
|
+
}
|
|
59
|
+
return message;
|
|
60
|
+
},
|
|
61
|
+
fromJSON(object) {
|
|
62
|
+
return {
|
|
63
|
+
data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0),
|
|
64
|
+
entityType: isSet(object.entityType) ? (0, entity_type_1.entityTypeFromJSON)(object.entityType) : 0,
|
|
65
|
+
entityMetadata: isSet(object.entityMetadata) ? entity_metadata_1.EntityMetadata.fromJSON(object.entityMetadata) : undefined,
|
|
66
|
+
};
|
|
67
|
+
},
|
|
68
|
+
toJSON(message) {
|
|
69
|
+
const obj = {};
|
|
70
|
+
if (message.data.length !== 0) {
|
|
71
|
+
obj.data = base64FromBytes(message.data);
|
|
72
|
+
}
|
|
73
|
+
if (message.entityType !== 0) {
|
|
74
|
+
obj.entityType = (0, entity_type_1.entityTypeToJSON)(message.entityType);
|
|
75
|
+
}
|
|
76
|
+
if (message.entityMetadata !== undefined) {
|
|
77
|
+
obj.entityMetadata = entity_metadata_1.EntityMetadata.toJSON(message.entityMetadata);
|
|
78
|
+
}
|
|
79
|
+
return obj;
|
|
80
|
+
},
|
|
81
|
+
create(base) {
|
|
82
|
+
return exports.UploadBlobRequest.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
83
|
+
},
|
|
84
|
+
fromPartial(object) {
|
|
85
|
+
var _a, _b;
|
|
86
|
+
const message = createBaseUploadBlobRequest();
|
|
87
|
+
message.data = (_a = object.data) !== null && _a !== void 0 ? _a : new Uint8Array(0);
|
|
88
|
+
message.entityType = (_b = object.entityType) !== null && _b !== void 0 ? _b : 0;
|
|
89
|
+
message.entityMetadata = (object.entityMetadata !== undefined && object.entityMetadata !== null)
|
|
90
|
+
? entity_metadata_1.EntityMetadata.fromPartial(object.entityMetadata)
|
|
91
|
+
: undefined;
|
|
92
|
+
return message;
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
function createBaseUploadBlobResponse() {
|
|
96
|
+
return {};
|
|
97
|
+
}
|
|
98
|
+
exports.UploadBlobResponse = {
|
|
99
|
+
encode(_, writer = minimal_1.default.Writer.create()) {
|
|
100
|
+
return writer;
|
|
101
|
+
},
|
|
102
|
+
decode(input, length) {
|
|
103
|
+
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
104
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
105
|
+
const message = createBaseUploadBlobResponse();
|
|
106
|
+
while (reader.pos < end) {
|
|
107
|
+
const tag = reader.uint32();
|
|
108
|
+
switch (tag >>> 3) {
|
|
109
|
+
}
|
|
110
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
reader.skipType(tag & 7);
|
|
114
|
+
}
|
|
115
|
+
return message;
|
|
116
|
+
},
|
|
117
|
+
fromJSON(_) {
|
|
118
|
+
return {};
|
|
119
|
+
},
|
|
120
|
+
toJSON(_) {
|
|
121
|
+
const obj = {};
|
|
122
|
+
return obj;
|
|
123
|
+
},
|
|
124
|
+
create(base) {
|
|
125
|
+
return exports.UploadBlobResponse.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
126
|
+
},
|
|
127
|
+
fromPartial(_) {
|
|
128
|
+
const message = createBaseUploadBlobResponse();
|
|
129
|
+
return message;
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
exports.BlobSetServiceDefinition = {
|
|
133
|
+
name: "BlobSetService",
|
|
134
|
+
fullName: "com.coralogix.blobset.v2.BlobSetService",
|
|
135
|
+
methods: {
|
|
136
|
+
uploadBlob: {
|
|
137
|
+
name: "UploadBlob",
|
|
138
|
+
requestType: exports.UploadBlobRequest,
|
|
139
|
+
requestStream: true,
|
|
140
|
+
responseType: exports.UploadBlobResponse,
|
|
141
|
+
responseStream: false,
|
|
142
|
+
options: {},
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
};
|
|
146
|
+
function bytesFromBase64(b64) {
|
|
147
|
+
if (globalThis.Buffer) {
|
|
148
|
+
return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
const bin = globalThis.atob(b64);
|
|
152
|
+
const arr = new Uint8Array(bin.length);
|
|
153
|
+
for (let i = 0; i < bin.length; ++i) {
|
|
154
|
+
arr[i] = bin.charCodeAt(i);
|
|
155
|
+
}
|
|
156
|
+
return arr;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
function base64FromBytes(arr) {
|
|
160
|
+
if (globalThis.Buffer) {
|
|
161
|
+
return globalThis.Buffer.from(arr).toString("base64");
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
const bin = [];
|
|
165
|
+
arr.forEach((byte) => {
|
|
166
|
+
bin.push(globalThis.String.fromCharCode(byte));
|
|
167
|
+
});
|
|
168
|
+
return globalThis.btoa(bin.join(""));
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
function isSet(value) {
|
|
172
|
+
return value !== null && value !== undefined;
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvYnNldF9zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvYmxvYnNldC92Mi9ibG9ic2V0X3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLGlFQUFxQztBQUNyQyx1REFBbUQ7QUFDbkQsK0NBQWlGO0FBRXBFLFFBQUEsZUFBZSxHQUFHLDBCQUEwQixDQUFDO0FBVzFELFNBQVMsMkJBQTJCO0lBQ2xDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDL0UsQ0FBQztBQUVZLFFBQUEsaUJBQWlCLEdBQUc7SUFDL0IsTUFBTSxDQUFDLE9BQTBCLEVBQUUsU0FBcUIsaUJBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ3pFLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QztRQUNELElBQUksT0FBTyxDQUFDLFVBQVUsS0FBSyxDQUFDLEVBQUU7WUFDNUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxPQUFPLENBQUMsY0FBYyxLQUFLLFNBQVMsRUFBRTtZQUN4QyxnQ0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNsRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBOEIsRUFBRSxNQUFlO1FBQ3BELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxpQkFBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxpQkFBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUUsSUFBSSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDbEUsTUFBTSxPQUFPLEdBQUcsMkJBQTJCLEVBQUUsQ0FBQztRQUM5QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLEtBQUssQ0FBQztvQkFDSixJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUU7d0JBQ2QsTUFBTTtxQkFDUDtvQkFFRCxPQUFPLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDOUIsU0FBUztnQkFDWCxLQUFLLENBQUM7b0JBQ0osSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFO3dCQUNkLE1BQU07cUJBQ1A7b0JBRUQsT0FBTyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFTLENBQUM7b0JBQzNDLFNBQVM7Z0JBQ1gsS0FBSyxDQUFDO29CQUNKLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRTt3QkFDZCxNQUFNO3FCQUNQO29CQUVELE9BQU8sQ0FBQyxjQUFjLEdBQUcsZ0NBQWMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUN4RSxTQUFTO2FBQ1o7WUFDRCxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNoQyxNQUFNO2FBQ1A7WUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMxQjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPO1lBQ0wsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQztZQUMzRSxVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxnQ0FBa0IsRUFBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEYsY0FBYyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdDQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUMxRyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUEwQjtRQUMvQixNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDN0IsR0FBRyxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsVUFBVSxLQUFLLENBQUMsRUFBRTtZQUM1QixHQUFHLENBQUMsVUFBVSxHQUFHLElBQUEsOEJBQWdCLEVBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsSUFBSSxPQUFPLENBQUMsY0FBYyxLQUFLLFNBQVMsRUFBRTtZQUN4QyxHQUFHLENBQUMsY0FBYyxHQUFHLGdDQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUNwRTtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFxQztRQUMxQyxPQUFPLHlCQUFpQixDQUFDLFdBQVcsQ0FBQyxJQUFJLGFBQUosSUFBSSxjQUFKLElBQUksR0FBSSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsV0FBVyxDQUFDLE1BQXNDOztRQUNoRCxNQUFNLE9BQU8sR0FBRywyQkFBMkIsRUFBRSxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsTUFBQSxNQUFNLENBQUMsSUFBSSxtQ0FBSSxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRCxPQUFPLENBQUMsVUFBVSxHQUFHLE1BQUEsTUFBTSxDQUFDLFVBQVUsbUNBQUksQ0FBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxjQUFjLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsY0FBYyxLQUFLLElBQUksQ0FBQztZQUM5RixDQUFDLENBQUMsZ0NBQWMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztZQUNuRCxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGLENBQUM7QUFFRixTQUFTLDRCQUE0QjtJQUNuQyxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFWSxRQUFBLGtCQUFrQixHQUFHO0lBQ2hDLE1BQU0sQ0FBQyxDQUFxQixFQUFFLFNBQXFCLGlCQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNwRSxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQThCLEVBQUUsTUFBZTtRQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksaUJBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsaUJBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlFLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLDRCQUE0QixFQUFFLENBQUM7UUFDL0MsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFO2FBQ2xCO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRTtnQkFDaEMsTUFBTTthQUNQO1lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDMUI7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLENBQU07UUFDYixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLENBQUMsQ0FBcUI7UUFDMUIsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFzQztRQUMzQyxPQUFPLDBCQUFrQixDQUFDLFdBQVcsQ0FBQyxJQUFJLGFBQUosSUFBSSxjQUFKLElBQUksR0FBSSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsV0FBVyxDQUFDLENBQWtDO1FBQzVDLE1BQU0sT0FBTyxHQUFHLDRCQUE0QixFQUFFLENBQUM7UUFDL0MsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGLENBQUM7QUFHVyxRQUFBLHdCQUF3QixHQUFHO0lBQ3RDLElBQUksRUFBRSxnQkFBZ0I7SUFDdEIsUUFBUSxFQUFFLHlDQUF5QztJQUNuRCxPQUFPLEVBQUU7UUFDUCxVQUFVLEVBQUU7WUFDVixJQUFJLEVBQUUsWUFBWTtZQUNsQixXQUFXLEVBQUUseUJBQWlCO1lBQzlCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLFlBQVksRUFBRSwwQkFBa0I7WUFDaEMsY0FBYyxFQUFFLEtBQUs7WUFDckIsT0FBTyxFQUFFLEVBQUU7U0FDWjtLQUNGO0NBQ08sQ0FBQztBQUVYLFNBQVMsZUFBZSxDQUFDLEdBQVc7SUFDbEMsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFO1FBQ3JCLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztLQUMvRDtTQUFNO1FBQ0wsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxNQUFNLEdBQUcsR0FBRyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDbkMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDNUI7UUFDRCxPQUFPLEdBQUcsQ0FBQztLQUNaO0FBQ0gsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLEdBQWU7SUFDdEMsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFO1FBQ3JCLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ3ZEO1NBQU07UUFDTCxNQUFNLEdBQUcsR0FBYSxFQUFFLENBQUM7UUFDekIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ25CLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7S0FDdEM7QUFDSCxDQUFDO0FBV0QsU0FBUyxLQUFLLENBQUMsS0FBVTtJQUN2QixPQUFPLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsQ0FBQztBQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgKi9cbmltcG9ydCBfbTAgZnJvbSBcInByb3RvYnVmanMvbWluaW1hbFwiO1xuaW1wb3J0IHsgRW50aXR5TWV0YWRhdGEgfSBmcm9tIFwiLi9lbnRpdHlfbWV0YWRhdGFcIjtcbmltcG9ydCB7IEVudGl0eVR5cGUsIGVudGl0eVR5cGVGcm9tSlNPTiwgZW50aXR5VHlwZVRvSlNPTiB9IGZyb20gXCIuL2VudGl0eV90eXBlXCI7XG5cbmV4cG9ydCBjb25zdCBwcm90b2J1ZlBhY2thZ2UgPSBcImNvbS5jb3JhbG9naXguYmxvYnNldC52MlwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVwbG9hZEJsb2JSZXF1ZXN0IHtcbiAgZGF0YTogVWludDhBcnJheTtcbiAgZW50aXR5VHlwZTogRW50aXR5VHlwZTtcbiAgZW50aXR5TWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwbG9hZEJsb2JSZXNwb25zZSB7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUJhc2VVcGxvYWRCbG9iUmVxdWVzdCgpOiBVcGxvYWRCbG9iUmVxdWVzdCB7XG4gIHJldHVybiB7IGRhdGE6IG5ldyBVaW50OEFycmF5KDApLCBlbnRpdHlUeXBlOiAwLCBlbnRpdHlNZXRhZGF0YTogdW5kZWZpbmVkIH07XG59XG5cbmV4cG9ydCBjb25zdCBVcGxvYWRCbG9iUmVxdWVzdCA9IHtcbiAgZW5jb2RlKG1lc3NhZ2U6IFVwbG9hZEJsb2JSZXF1ZXN0LCB3cml0ZXI6IF9tMC5Xcml0ZXIgPSBfbTAuV3JpdGVyLmNyZWF0ZSgpKTogX20wLldyaXRlciB7XG4gICAgaWYgKG1lc3NhZ2UuZGF0YS5sZW5ndGggIT09IDApIHtcbiAgICAgIHdyaXRlci51aW50MzIoMTApLmJ5dGVzKG1lc3NhZ2UuZGF0YSk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlLmVudGl0eVR5cGUgIT09IDApIHtcbiAgICAgIHdyaXRlci51aW50MzIoMTYpLmludDMyKG1lc3NhZ2UuZW50aXR5VHlwZSk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlLmVudGl0eU1ldGFkYXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIEVudGl0eU1ldGFkYXRhLmVuY29kZShtZXNzYWdlLmVudGl0eU1ldGFkYXRhLCB3cml0ZXIudWludDMyKDI2KS5mb3JrKCkpLmxkZWxpbSgpO1xuICAgIH1cbiAgICByZXR1cm4gd3JpdGVyO1xuICB9LFxuXG4gIGRlY29kZShpbnB1dDogX20wLlJlYWRlciB8IFVpbnQ4QXJyYXksIGxlbmd0aD86IG51bWJlcik6IFVwbG9hZEJsb2JSZXF1ZXN0IHtcbiAgICBjb25zdCByZWFkZXIgPSBpbnB1dCBpbnN0YW5jZW9mIF9tMC5SZWFkZXIgPyBpbnB1dCA6IF9tMC5SZWFkZXIuY3JlYXRlKGlucHV0KTtcbiAgICBsZXQgZW5kID0gbGVuZ3RoID09PSB1bmRlZmluZWQgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZVVwbG9hZEJsb2JSZXF1ZXN0KCk7XG4gICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICBpZiAodGFnICE9PSAxMCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5kYXRhID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBpZiAodGFnICE9PSAxNikge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5lbnRpdHlUeXBlID0gcmVhZGVyLmludDMyKCkgYXMgYW55O1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgaWYgKHRhZyAhPT0gMjYpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1lc3NhZ2UuZW50aXR5TWV0YWRhdGEgPSBFbnRpdHlNZXRhZGF0YS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCkpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKCh0YWcgJiA3KSA9PT0gNCB8fCB0YWcgPT09IDApIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgfVxuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxuXG4gIGZyb21KU09OKG9iamVjdDogYW55KTogVXBsb2FkQmxvYlJlcXVlc3Qge1xuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiBpc1NldChvYmplY3QuZGF0YSkgPyBieXRlc0Zyb21CYXNlNjQob2JqZWN0LmRhdGEpIDogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICBlbnRpdHlUeXBlOiBpc1NldChvYmplY3QuZW50aXR5VHlwZSkgPyBlbnRpdHlUeXBlRnJvbUpTT04ob2JqZWN0LmVudGl0eVR5cGUpIDogMCxcbiAgICAgIGVudGl0eU1ldGFkYXRhOiBpc1NldChvYmplY3QuZW50aXR5TWV0YWRhdGEpID8gRW50aXR5TWV0YWRhdGEuZnJvbUpTT04ob2JqZWN0LmVudGl0eU1ldGFkYXRhKSA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9LFxuXG4gIHRvSlNPTihtZXNzYWdlOiBVcGxvYWRCbG9iUmVxdWVzdCk6IHVua25vd24ge1xuICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgaWYgKG1lc3NhZ2UuZGF0YS5sZW5ndGggIT09IDApIHtcbiAgICAgIG9iai5kYXRhID0gYmFzZTY0RnJvbUJ5dGVzKG1lc3NhZ2UuZGF0YSk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlLmVudGl0eVR5cGUgIT09IDApIHtcbiAgICAgIG9iai5lbnRpdHlUeXBlID0gZW50aXR5VHlwZVRvSlNPTihtZXNzYWdlLmVudGl0eVR5cGUpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5lbnRpdHlNZXRhZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBvYmouZW50aXR5TWV0YWRhdGEgPSBFbnRpdHlNZXRhZGF0YS50b0pTT04obWVzc2FnZS5lbnRpdHlNZXRhZGF0YSk7XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG4gIH0sXG5cbiAgY3JlYXRlKGJhc2U/OiBEZWVwUGFydGlhbDxVcGxvYWRCbG9iUmVxdWVzdD4pOiBVcGxvYWRCbG9iUmVxdWVzdCB7XG4gICAgcmV0dXJuIFVwbG9hZEJsb2JSZXF1ZXN0LmZyb21QYXJ0aWFsKGJhc2UgPz8ge30pO1xuICB9LFxuICBmcm9tUGFydGlhbChvYmplY3Q6IERlZXBQYXJ0aWFsPFVwbG9hZEJsb2JSZXF1ZXN0Pik6IFVwbG9hZEJsb2JSZXF1ZXN0IHtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZVVwbG9hZEJsb2JSZXF1ZXN0KCk7XG4gICAgbWVzc2FnZS5kYXRhID0gb2JqZWN0LmRhdGEgPz8gbmV3IFVpbnQ4QXJyYXkoMCk7XG4gICAgbWVzc2FnZS5lbnRpdHlUeXBlID0gb2JqZWN0LmVudGl0eVR5cGUgPz8gMDtcbiAgICBtZXNzYWdlLmVudGl0eU1ldGFkYXRhID0gKG9iamVjdC5lbnRpdHlNZXRhZGF0YSAhPT0gdW5kZWZpbmVkICYmIG9iamVjdC5lbnRpdHlNZXRhZGF0YSAhPT0gbnVsbClcbiAgICAgID8gRW50aXR5TWV0YWRhdGEuZnJvbVBhcnRpYWwob2JqZWN0LmVudGl0eU1ldGFkYXRhKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG59O1xuXG5mdW5jdGlvbiBjcmVhdGVCYXNlVXBsb2FkQmxvYlJlc3BvbnNlKCk6IFVwbG9hZEJsb2JSZXNwb25zZSB7XG4gIHJldHVybiB7fTtcbn1cblxuZXhwb3J0IGNvbnN0IFVwbG9hZEJsb2JSZXNwb25zZSA9IHtcbiAgZW5jb2RlKF86IFVwbG9hZEJsb2JSZXNwb25zZSwgd3JpdGVyOiBfbTAuV3JpdGVyID0gX20wLldyaXRlci5jcmVhdGUoKSk6IF9tMC5Xcml0ZXIge1xuICAgIHJldHVybiB3cml0ZXI7XG4gIH0sXG5cbiAgZGVjb2RlKGlucHV0OiBfbTAuUmVhZGVyIHwgVWludDhBcnJheSwgbGVuZ3RoPzogbnVtYmVyKTogVXBsb2FkQmxvYlJlc3BvbnNlIHtcbiAgICBjb25zdCByZWFkZXIgPSBpbnB1dCBpbnN0YW5jZW9mIF9tMC5SZWFkZXIgPyBpbnB1dCA6IF9tMC5SZWFkZXIuY3JlYXRlKGlucHV0KTtcbiAgICBsZXQgZW5kID0gbGVuZ3RoID09PSB1bmRlZmluZWQgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZVVwbG9hZEJsb2JSZXNwb25zZSgpO1xuICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgfVxuICAgICAgaWYgKCh0YWcgJiA3KSA9PT0gNCB8fCB0YWcgPT09IDApIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgfVxuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxuXG4gIGZyb21KU09OKF86IGFueSk6IFVwbG9hZEJsb2JSZXNwb25zZSB7XG4gICAgcmV0dXJuIHt9O1xuICB9LFxuXG4gIHRvSlNPTihfOiBVcGxvYWRCbG9iUmVzcG9uc2UpOiB1bmtub3duIHtcbiAgICBjb25zdCBvYmo6IGFueSA9IHt9O1xuICAgIHJldHVybiBvYmo7XG4gIH0sXG5cbiAgY3JlYXRlKGJhc2U/OiBEZWVwUGFydGlhbDxVcGxvYWRCbG9iUmVzcG9uc2U+KTogVXBsb2FkQmxvYlJlc3BvbnNlIHtcbiAgICByZXR1cm4gVXBsb2FkQmxvYlJlc3BvbnNlLmZyb21QYXJ0aWFsKGJhc2UgPz8ge30pO1xuICB9LFxuICBmcm9tUGFydGlhbChfOiBEZWVwUGFydGlhbDxVcGxvYWRCbG9iUmVzcG9uc2U+KTogVXBsb2FkQmxvYlJlc3BvbnNlIHtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZVVwbG9hZEJsb2JSZXNwb25zZSgpO1xuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxufTtcblxuZXhwb3J0IHR5cGUgQmxvYlNldFNlcnZpY2VEZWZpbml0aW9uID0gdHlwZW9mIEJsb2JTZXRTZXJ2aWNlRGVmaW5pdGlvbjtcbmV4cG9ydCBjb25zdCBCbG9iU2V0U2VydmljZURlZmluaXRpb24gPSB7XG4gIG5hbWU6IFwiQmxvYlNldFNlcnZpY2VcIixcbiAgZnVsbE5hbWU6IFwiY29tLmNvcmFsb2dpeC5ibG9ic2V0LnYyLkJsb2JTZXRTZXJ2aWNlXCIsXG4gIG1ldGhvZHM6IHtcbiAgICB1cGxvYWRCbG9iOiB7XG4gICAgICBuYW1lOiBcIlVwbG9hZEJsb2JcIixcbiAgICAgIHJlcXVlc3RUeXBlOiBVcGxvYWRCbG9iUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RTdHJlYW06IHRydWUsXG4gICAgICByZXNwb25zZVR5cGU6IFVwbG9hZEJsb2JSZXNwb25zZSxcbiAgICAgIHJlc3BvbnNlU3RyZWFtOiBmYWxzZSxcbiAgICAgIG9wdGlvbnM6IHt9LFxuICAgIH0sXG4gIH0sXG59IGFzIGNvbnN0O1xuXG5mdW5jdGlvbiBieXRlc0Zyb21CYXNlNjQoYjY0OiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgaWYgKGdsb2JhbFRoaXMuQnVmZmVyKSB7XG4gICAgcmV0dXJuIFVpbnQ4QXJyYXkuZnJvbShnbG9iYWxUaGlzLkJ1ZmZlci5mcm9tKGI2NCwgXCJiYXNlNjRcIikpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGJpbiA9IGdsb2JhbFRoaXMuYXRvYihiNjQpO1xuICAgIGNvbnN0IGFyciA9IG5ldyBVaW50OEFycmF5KGJpbi5sZW5ndGgpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYmluLmxlbmd0aDsgKytpKSB7XG4gICAgICBhcnJbaV0gPSBiaW4uY2hhckNvZGVBdChpKTtcbiAgICB9XG4gICAgcmV0dXJuIGFycjtcbiAgfVxufVxuXG5mdW5jdGlvbiBiYXNlNjRGcm9tQnl0ZXMoYXJyOiBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgaWYgKGdsb2JhbFRoaXMuQnVmZmVyKSB7XG4gICAgcmV0dXJuIGdsb2JhbFRoaXMuQnVmZmVyLmZyb20oYXJyKS50b1N0cmluZyhcImJhc2U2NFwiKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBiaW46IHN0cmluZ1tdID0gW107XG4gICAgYXJyLmZvckVhY2goKGJ5dGUpID0+IHtcbiAgICAgIGJpbi5wdXNoKGdsb2JhbFRoaXMuU3RyaW5nLmZyb21DaGFyQ29kZShieXRlKSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGdsb2JhbFRoaXMuYnRvYShiaW4uam9pbihcIlwiKSk7XG4gIH1cbn1cblxudHlwZSBCdWlsdGluID0gRGF0ZSB8IEZ1bmN0aW9uIHwgVWludDhBcnJheSB8IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIERlZXBQYXJ0aWFsPFQ+ID0gVCBleHRlbmRzIEJ1aWx0aW4gPyBUXG4gIDogVCBleHRlbmRzIGdsb2JhbFRoaXMuQXJyYXk8aW5mZXIgVT4gPyBnbG9iYWxUaGlzLkFycmF5PERlZXBQYXJ0aWFsPFU+PlxuICA6IFQgZXh0ZW5kcyBSZWFkb25seUFycmF5PGluZmVyIFU+ID8gUmVhZG9ubHlBcnJheTxEZWVwUGFydGlhbDxVPj5cbiAgOiBUIGV4dGVuZHMgeyAkY2FzZTogc3RyaW5nIH0gPyB7IFtLIGluIGtleW9mIE9taXQ8VCwgXCIkY2FzZVwiPl0/OiBEZWVwUGFydGlhbDxUW0tdPiB9ICYgeyAkY2FzZTogVFtcIiRjYXNlXCJdIH1cbiAgOiBUIGV4dGVuZHMge30gPyB7IFtLIGluIGtleW9mIFRdPzogRGVlcFBhcnRpYWw8VFtLXT4gfVxuICA6IFBhcnRpYWw8VD47XG5cbmZ1bmN0aW9uIGlzU2V0KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import _m0 from "protobufjs/minimal";
|
|
2
|
+
export declare const protobufPackage = "com.coralogix.blobset.v2";
|
|
3
|
+
export interface GetMappedIosStackTraceRequest {
|
|
4
|
+
application: string;
|
|
5
|
+
releaseId: string;
|
|
6
|
+
baseAddress: string;
|
|
7
|
+
addresses: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface GetMappedIosStackTraceResponse {
|
|
10
|
+
application: string;
|
|
11
|
+
releaseId: string;
|
|
12
|
+
/** function_address_called -> mapped_address */
|
|
13
|
+
mappedAddresses: {
|
|
14
|
+
[key: string]: string;
|
|
15
|
+
};
|
|
16
|
+
commitHash?: string | undefined;
|
|
17
|
+
repoName?: string | undefined;
|
|
18
|
+
user?: string | undefined;
|
|
19
|
+
}
|
|
20
|
+
export interface GetMappedIosStackTraceResponse_MappedAddressesEntry {
|
|
21
|
+
key: string;
|
|
22
|
+
value: string;
|
|
23
|
+
}
|
|
24
|
+
export declare const GetMappedIosStackTraceRequest: {
|
|
25
|
+
encode(message: GetMappedIosStackTraceRequest, writer?: _m0.Writer): _m0.Writer;
|
|
26
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): GetMappedIosStackTraceRequest;
|
|
27
|
+
fromJSON(object: any): GetMappedIosStackTraceRequest;
|
|
28
|
+
toJSON(message: GetMappedIosStackTraceRequest): unknown;
|
|
29
|
+
create(base?: DeepPartial<GetMappedIosStackTraceRequest>): GetMappedIosStackTraceRequest;
|
|
30
|
+
fromPartial(object: DeepPartial<GetMappedIosStackTraceRequest>): GetMappedIosStackTraceRequest;
|
|
31
|
+
};
|
|
32
|
+
export declare const GetMappedIosStackTraceResponse: {
|
|
33
|
+
encode(message: GetMappedIosStackTraceResponse, writer?: _m0.Writer): _m0.Writer;
|
|
34
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): GetMappedIosStackTraceResponse;
|
|
35
|
+
fromJSON(object: any): GetMappedIosStackTraceResponse;
|
|
36
|
+
toJSON(message: GetMappedIosStackTraceResponse): unknown;
|
|
37
|
+
create(base?: DeepPartial<GetMappedIosStackTraceResponse>): GetMappedIosStackTraceResponse;
|
|
38
|
+
fromPartial(object: DeepPartial<GetMappedIosStackTraceResponse>): GetMappedIosStackTraceResponse;
|
|
39
|
+
};
|
|
40
|
+
export declare const GetMappedIosStackTraceResponse_MappedAddressesEntry: {
|
|
41
|
+
encode(message: GetMappedIosStackTraceResponse_MappedAddressesEntry, writer?: _m0.Writer): _m0.Writer;
|
|
42
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): GetMappedIosStackTraceResponse_MappedAddressesEntry;
|
|
43
|
+
fromJSON(object: any): GetMappedIosStackTraceResponse_MappedAddressesEntry;
|
|
44
|
+
toJSON(message: GetMappedIosStackTraceResponse_MappedAddressesEntry): unknown;
|
|
45
|
+
create(base?: DeepPartial<GetMappedIosStackTraceResponse_MappedAddressesEntry>): GetMappedIosStackTraceResponse_MappedAddressesEntry;
|
|
46
|
+
fromPartial(object: DeepPartial<GetMappedIosStackTraceResponse_MappedAddressesEntry>): GetMappedIosStackTraceResponse_MappedAddressesEntry;
|
|
47
|
+
};
|
|
48
|
+
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
|
49
|
+
export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {
|
|
50
|
+
$case: string;
|
|
51
|
+
} ? {
|
|
52
|
+
[K in keyof Omit<T, "$case">]?: DeepPartial<T[K]>;
|
|
53
|
+
} & {
|
|
54
|
+
$case: T["$case"];
|
|
55
|
+
} : T extends {} ? {
|
|
56
|
+
[K in keyof T]?: DeepPartial<T[K]>;
|
|
57
|
+
} : Partial<T>;
|
|
58
|
+
export {};
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.GetMappedIosStackTraceResponse_MappedAddressesEntry = exports.GetMappedIosStackTraceResponse = exports.GetMappedIosStackTraceRequest = exports.protobufPackage = void 0;
|
|
7
|
+
/* eslint-disable */
|
|
8
|
+
const minimal_1 = __importDefault(require("protobufjs/minimal"));
|
|
9
|
+
exports.protobufPackage = "com.coralogix.blobset.v2";
|
|
10
|
+
function createBaseGetMappedIosStackTraceRequest() {
|
|
11
|
+
return { application: "", releaseId: "", baseAddress: "", addresses: [] };
|
|
12
|
+
}
|
|
13
|
+
exports.GetMappedIosStackTraceRequest = {
|
|
14
|
+
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
15
|
+
if (message.application !== "") {
|
|
16
|
+
writer.uint32(10).string(message.application);
|
|
17
|
+
}
|
|
18
|
+
if (message.releaseId !== "") {
|
|
19
|
+
writer.uint32(18).string(message.releaseId);
|
|
20
|
+
}
|
|
21
|
+
if (message.baseAddress !== "") {
|
|
22
|
+
writer.uint32(26).string(message.baseAddress);
|
|
23
|
+
}
|
|
24
|
+
for (const v of message.addresses) {
|
|
25
|
+
writer.uint32(34).string(v);
|
|
26
|
+
}
|
|
27
|
+
return writer;
|
|
28
|
+
},
|
|
29
|
+
decode(input, length) {
|
|
30
|
+
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
31
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
32
|
+
const message = createBaseGetMappedIosStackTraceRequest();
|
|
33
|
+
while (reader.pos < end) {
|
|
34
|
+
const tag = reader.uint32();
|
|
35
|
+
switch (tag >>> 3) {
|
|
36
|
+
case 1:
|
|
37
|
+
if (tag !== 10) {
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
message.application = reader.string();
|
|
41
|
+
continue;
|
|
42
|
+
case 2:
|
|
43
|
+
if (tag !== 18) {
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
message.releaseId = reader.string();
|
|
47
|
+
continue;
|
|
48
|
+
case 3:
|
|
49
|
+
if (tag !== 26) {
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
message.baseAddress = reader.string();
|
|
53
|
+
continue;
|
|
54
|
+
case 4:
|
|
55
|
+
if (tag !== 34) {
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
message.addresses.push(reader.string());
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
reader.skipType(tag & 7);
|
|
65
|
+
}
|
|
66
|
+
return message;
|
|
67
|
+
},
|
|
68
|
+
fromJSON(object) {
|
|
69
|
+
return {
|
|
70
|
+
application: isSet(object.application) ? globalThis.String(object.application) : "",
|
|
71
|
+
releaseId: isSet(object.releaseId) ? globalThis.String(object.releaseId) : "",
|
|
72
|
+
baseAddress: isSet(object.baseAddress) ? globalThis.String(object.baseAddress) : "",
|
|
73
|
+
addresses: globalThis.Array.isArray(object === null || object === void 0 ? void 0 : object.addresses)
|
|
74
|
+
? object.addresses.map((e) => globalThis.String(e))
|
|
75
|
+
: [],
|
|
76
|
+
};
|
|
77
|
+
},
|
|
78
|
+
toJSON(message) {
|
|
79
|
+
var _a;
|
|
80
|
+
const obj = {};
|
|
81
|
+
if (message.application !== "") {
|
|
82
|
+
obj.application = message.application;
|
|
83
|
+
}
|
|
84
|
+
if (message.releaseId !== "") {
|
|
85
|
+
obj.releaseId = message.releaseId;
|
|
86
|
+
}
|
|
87
|
+
if (message.baseAddress !== "") {
|
|
88
|
+
obj.baseAddress = message.baseAddress;
|
|
89
|
+
}
|
|
90
|
+
if ((_a = message.addresses) === null || _a === void 0 ? void 0 : _a.length) {
|
|
91
|
+
obj.addresses = message.addresses;
|
|
92
|
+
}
|
|
93
|
+
return obj;
|
|
94
|
+
},
|
|
95
|
+
create(base) {
|
|
96
|
+
return exports.GetMappedIosStackTraceRequest.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
97
|
+
},
|
|
98
|
+
fromPartial(object) {
|
|
99
|
+
var _a, _b, _c, _d;
|
|
100
|
+
const message = createBaseGetMappedIosStackTraceRequest();
|
|
101
|
+
message.application = (_a = object.application) !== null && _a !== void 0 ? _a : "";
|
|
102
|
+
message.releaseId = (_b = object.releaseId) !== null && _b !== void 0 ? _b : "";
|
|
103
|
+
message.baseAddress = (_c = object.baseAddress) !== null && _c !== void 0 ? _c : "";
|
|
104
|
+
message.addresses = ((_d = object.addresses) === null || _d === void 0 ? void 0 : _d.map((e) => e)) || [];
|
|
105
|
+
return message;
|
|
106
|
+
},
|
|
107
|
+
};
|
|
108
|
+
function createBaseGetMappedIosStackTraceResponse() {
|
|
109
|
+
return {
|
|
110
|
+
application: "",
|
|
111
|
+
releaseId: "",
|
|
112
|
+
mappedAddresses: {},
|
|
113
|
+
commitHash: undefined,
|
|
114
|
+
repoName: undefined,
|
|
115
|
+
user: undefined,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
exports.GetMappedIosStackTraceResponse = {
|
|
119
|
+
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
120
|
+
if (message.application !== "") {
|
|
121
|
+
writer.uint32(10).string(message.application);
|
|
122
|
+
}
|
|
123
|
+
if (message.releaseId !== "") {
|
|
124
|
+
writer.uint32(18).string(message.releaseId);
|
|
125
|
+
}
|
|
126
|
+
Object.entries(message.mappedAddresses).forEach(([key, value]) => {
|
|
127
|
+
exports.GetMappedIosStackTraceResponse_MappedAddressesEntry.encode({ key: key, value }, writer.uint32(26).fork())
|
|
128
|
+
.ldelim();
|
|
129
|
+
});
|
|
130
|
+
if (message.commitHash !== undefined) {
|
|
131
|
+
writer.uint32(34).string(message.commitHash);
|
|
132
|
+
}
|
|
133
|
+
if (message.repoName !== undefined) {
|
|
134
|
+
writer.uint32(42).string(message.repoName);
|
|
135
|
+
}
|
|
136
|
+
if (message.user !== undefined) {
|
|
137
|
+
writer.uint32(50).string(message.user);
|
|
138
|
+
}
|
|
139
|
+
return writer;
|
|
140
|
+
},
|
|
141
|
+
decode(input, length) {
|
|
142
|
+
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
143
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
144
|
+
const message = createBaseGetMappedIosStackTraceResponse();
|
|
145
|
+
while (reader.pos < end) {
|
|
146
|
+
const tag = reader.uint32();
|
|
147
|
+
switch (tag >>> 3) {
|
|
148
|
+
case 1:
|
|
149
|
+
if (tag !== 10) {
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
message.application = reader.string();
|
|
153
|
+
continue;
|
|
154
|
+
case 2:
|
|
155
|
+
if (tag !== 18) {
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
message.releaseId = reader.string();
|
|
159
|
+
continue;
|
|
160
|
+
case 3:
|
|
161
|
+
if (tag !== 26) {
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
const entry3 = exports.GetMappedIosStackTraceResponse_MappedAddressesEntry.decode(reader, reader.uint32());
|
|
165
|
+
if (entry3.value !== undefined) {
|
|
166
|
+
message.mappedAddresses[entry3.key] = entry3.value;
|
|
167
|
+
}
|
|
168
|
+
continue;
|
|
169
|
+
case 4:
|
|
170
|
+
if (tag !== 34) {
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
173
|
+
message.commitHash = reader.string();
|
|
174
|
+
continue;
|
|
175
|
+
case 5:
|
|
176
|
+
if (tag !== 42) {
|
|
177
|
+
break;
|
|
178
|
+
}
|
|
179
|
+
message.repoName = reader.string();
|
|
180
|
+
continue;
|
|
181
|
+
case 6:
|
|
182
|
+
if (tag !== 50) {
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
185
|
+
message.user = reader.string();
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
189
|
+
break;
|
|
190
|
+
}
|
|
191
|
+
reader.skipType(tag & 7);
|
|
192
|
+
}
|
|
193
|
+
return message;
|
|
194
|
+
},
|
|
195
|
+
fromJSON(object) {
|
|
196
|
+
return {
|
|
197
|
+
application: isSet(object.application) ? globalThis.String(object.application) : "",
|
|
198
|
+
releaseId: isSet(object.releaseId) ? globalThis.String(object.releaseId) : "",
|
|
199
|
+
mappedAddresses: isObject(object.mappedAddresses)
|
|
200
|
+
? Object.entries(object.mappedAddresses).reduce((acc, [key, value]) => {
|
|
201
|
+
acc[key] = String(value);
|
|
202
|
+
return acc;
|
|
203
|
+
}, {})
|
|
204
|
+
: {},
|
|
205
|
+
commitHash: isSet(object.commitHash) ? globalThis.String(object.commitHash) : undefined,
|
|
206
|
+
repoName: isSet(object.repoName) ? globalThis.String(object.repoName) : undefined,
|
|
207
|
+
user: isSet(object.user) ? globalThis.String(object.user) : undefined,
|
|
208
|
+
};
|
|
209
|
+
},
|
|
210
|
+
toJSON(message) {
|
|
211
|
+
const obj = {};
|
|
212
|
+
if (message.application !== "") {
|
|
213
|
+
obj.application = message.application;
|
|
214
|
+
}
|
|
215
|
+
if (message.releaseId !== "") {
|
|
216
|
+
obj.releaseId = message.releaseId;
|
|
217
|
+
}
|
|
218
|
+
if (message.mappedAddresses) {
|
|
219
|
+
const entries = Object.entries(message.mappedAddresses);
|
|
220
|
+
if (entries.length > 0) {
|
|
221
|
+
obj.mappedAddresses = {};
|
|
222
|
+
entries.forEach(([k, v]) => {
|
|
223
|
+
obj.mappedAddresses[k] = v;
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
if (message.commitHash !== undefined) {
|
|
228
|
+
obj.commitHash = message.commitHash;
|
|
229
|
+
}
|
|
230
|
+
if (message.repoName !== undefined) {
|
|
231
|
+
obj.repoName = message.repoName;
|
|
232
|
+
}
|
|
233
|
+
if (message.user !== undefined) {
|
|
234
|
+
obj.user = message.user;
|
|
235
|
+
}
|
|
236
|
+
return obj;
|
|
237
|
+
},
|
|
238
|
+
create(base) {
|
|
239
|
+
return exports.GetMappedIosStackTraceResponse.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
240
|
+
},
|
|
241
|
+
fromPartial(object) {
|
|
242
|
+
var _a, _b, _c, _d, _e, _f;
|
|
243
|
+
const message = createBaseGetMappedIosStackTraceResponse();
|
|
244
|
+
message.application = (_a = object.application) !== null && _a !== void 0 ? _a : "";
|
|
245
|
+
message.releaseId = (_b = object.releaseId) !== null && _b !== void 0 ? _b : "";
|
|
246
|
+
message.mappedAddresses = Object.entries((_c = object.mappedAddresses) !== null && _c !== void 0 ? _c : {}).reduce((acc, [key, value]) => {
|
|
247
|
+
if (value !== undefined) {
|
|
248
|
+
acc[key] = globalThis.String(value);
|
|
249
|
+
}
|
|
250
|
+
return acc;
|
|
251
|
+
}, {});
|
|
252
|
+
message.commitHash = (_d = object.commitHash) !== null && _d !== void 0 ? _d : undefined;
|
|
253
|
+
message.repoName = (_e = object.repoName) !== null && _e !== void 0 ? _e : undefined;
|
|
254
|
+
message.user = (_f = object.user) !== null && _f !== void 0 ? _f : undefined;
|
|
255
|
+
return message;
|
|
256
|
+
},
|
|
257
|
+
};
|
|
258
|
+
function createBaseGetMappedIosStackTraceResponse_MappedAddressesEntry() {
|
|
259
|
+
return { key: "", value: "" };
|
|
260
|
+
}
|
|
261
|
+
exports.GetMappedIosStackTraceResponse_MappedAddressesEntry = {
|
|
262
|
+
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
263
|
+
if (message.key !== "") {
|
|
264
|
+
writer.uint32(10).string(message.key);
|
|
265
|
+
}
|
|
266
|
+
if (message.value !== "") {
|
|
267
|
+
writer.uint32(18).string(message.value);
|
|
268
|
+
}
|
|
269
|
+
return writer;
|
|
270
|
+
},
|
|
271
|
+
decode(input, length) {
|
|
272
|
+
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
273
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
274
|
+
const message = createBaseGetMappedIosStackTraceResponse_MappedAddressesEntry();
|
|
275
|
+
while (reader.pos < end) {
|
|
276
|
+
const tag = reader.uint32();
|
|
277
|
+
switch (tag >>> 3) {
|
|
278
|
+
case 1:
|
|
279
|
+
if (tag !== 10) {
|
|
280
|
+
break;
|
|
281
|
+
}
|
|
282
|
+
message.key = reader.string();
|
|
283
|
+
continue;
|
|
284
|
+
case 2:
|
|
285
|
+
if (tag !== 18) {
|
|
286
|
+
break;
|
|
287
|
+
}
|
|
288
|
+
message.value = reader.string();
|
|
289
|
+
continue;
|
|
290
|
+
}
|
|
291
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
292
|
+
break;
|
|
293
|
+
}
|
|
294
|
+
reader.skipType(tag & 7);
|
|
295
|
+
}
|
|
296
|
+
return message;
|
|
297
|
+
},
|
|
298
|
+
fromJSON(object) {
|
|
299
|
+
return {
|
|
300
|
+
key: isSet(object.key) ? globalThis.String(object.key) : "",
|
|
301
|
+
value: isSet(object.value) ? globalThis.String(object.value) : "",
|
|
302
|
+
};
|
|
303
|
+
},
|
|
304
|
+
toJSON(message) {
|
|
305
|
+
const obj = {};
|
|
306
|
+
if (message.key !== "") {
|
|
307
|
+
obj.key = message.key;
|
|
308
|
+
}
|
|
309
|
+
if (message.value !== "") {
|
|
310
|
+
obj.value = message.value;
|
|
311
|
+
}
|
|
312
|
+
return obj;
|
|
313
|
+
},
|
|
314
|
+
create(base) {
|
|
315
|
+
return exports.GetMappedIosStackTraceResponse_MappedAddressesEntry.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
316
|
+
},
|
|
317
|
+
fromPartial(object) {
|
|
318
|
+
var _a, _b;
|
|
319
|
+
const message = createBaseGetMappedIosStackTraceResponse_MappedAddressesEntry();
|
|
320
|
+
message.key = (_a = object.key) !== null && _a !== void 0 ? _a : "";
|
|
321
|
+
message.value = (_b = object.value) !== null && _b !== void 0 ? _b : "";
|
|
322
|
+
return message;
|
|
323
|
+
},
|
|
324
|
+
};
|
|
325
|
+
function isObject(value) {
|
|
326
|
+
return typeof value === "object" && value !== null;
|
|
327
|
+
}
|
|
328
|
+
function isSet(value) {
|
|
329
|
+
return value !== null && value !== undefined;
|
|
330
|
+
}
|
|
331
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHN5bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb3RvLW1vZGVscy9jb20vY29yYWxvZ2l4L2Jsb2JzZXQvdjIvZHN5bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvQkFBb0I7QUFDcEIsaUVBQXFDO0FBRXhCLFFBQUEsZUFBZSxHQUFHLDBCQUEwQixDQUFDO0FBd0IxRCxTQUFTLHVDQUF1QztJQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBQzVFLENBQUM7QUFFWSxRQUFBLDZCQUE2QixHQUFHO0lBQzNDLE1BQU0sQ0FBQyxPQUFzQyxFQUFFLFNBQXFCLGlCQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNyRixJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssRUFBRSxFQUFFO1lBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUMvQztRQUNELElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUU7WUFDNUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxPQUFPLENBQUMsV0FBVyxLQUFLLEVBQUUsRUFBRTtZQUM5QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDL0M7UUFDRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDakMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBRSxDQUFD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LEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUNKLElBQXVFO1FBRXZFLE9BQU8sMkRBQW1ELENBQUMsV0FBVyxDQUFDLElBQUksYUFBSixJQUFJLGNBQUosSUFBSSxHQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFDRCxXQUFXLENBQ1QsTUFBd0U7O1FBRXhFLE1BQU0sT0FBTyxHQUFHLDZEQUE2RCxFQUFFLENBQUM7UUFDaEYsT0FBTyxDQUFDLEdBQUcsR0FBRyxNQUFBLE1BQU0sQ0FBQyxHQUFHLG1DQUFJLEVBQUUsQ0FBQztRQUMvQixPQUFPLENBQUMsS0FBSyxHQUFHLE1BQUEsTUFBTSxDQUFDLEtBQUssbUNBQUksRUFBRSxDQUFDO1FBQ25DLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRixDQUFDO0FBV0YsU0FBUyxRQUFRLENBQUMsS0FBVTtJQUMxQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDO0FBQ3JELENBQUM7QUFFRCxTQUFTLEtBQUssQ0FBQyxLQUFVO0lBQ3ZCLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSAqL1xuaW1wb3J0IF9tMCBmcm9tIFwicHJvdG9idWZqcy9taW5pbWFsXCI7XG5cbmV4cG9ydCBjb25zdCBwcm90b2J1ZlBhY2thZ2UgPSBcImNvbS5jb3JhbG9naXguYmxvYnNldC52MlwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdldE1hcHBlZElvc1N0YWNrVHJhY2VSZXF1ZXN0IHtcbiAgYXBwbGljYXRpb246IHN0cmluZztcbiAgcmVsZWFzZUlkOiBzdHJpbmc7XG4gIGJhc2VBZGRyZXNzOiBzdHJpbmc7XG4gIGFkZHJlc3Nlczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TWFwcGVkSW9zU3RhY2tUcmFjZVJlc3BvbnNlIHtcbiAgYXBwbGljYXRpb246IHN0cmluZztcbiAgcmVsZWFzZUlkOiBzdHJpbmc7XG4gIC8qKiBmdW5jdGlvbl9hZGRyZXNzX2NhbGxlZCAtPiBtYXBwZWRfYWRkcmVzcyAqL1xuICBtYXBwZWRBZGRyZXNzZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIGNvbW1pdEhhc2g/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHJlcG9OYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB1c2VyPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE1hcHBlZElvc1N0YWNrVHJhY2VSZXNwb25zZV9NYXBwZWRBZGRyZXNzZXNFbnRyeSB7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVCYXNlR2V0TWFwcGVkSW9zU3RhY2tUcmFjZVJlcXVlc3QoKTogR2V0TWFwcGVkSW9zU3RhY2tUcmFjZVJlcXVlc3Qge1xuICByZXR1cm4geyBhcHBsaWNhdGlvbjogXCJcIiwgcmVsZWFzZUlkOiBcIlwiLCBiYXNlQWRkcmVzczogXCJcIiwgYWRkcmVzc2VzOiBbXSB9O1xufVxuXG5leHBvcnQgY29uc3QgR2V0TWFwcGVkSW9zU3RhY2tUcmFjZVJlcXVlc3QgPSB7XG4gIGVuY29kZShtZXNzYWdlOiBHZXRNYXBwZWRJb3NTdGFja1RyYWNlUmVxdWVzdCwgd3JpdGVyOiBfbTAuV3JpdGVyID0gX20wLldyaXRlci5jcmVhdGUoKSk6IF9tMC5Xcml0ZXIge1xuICAgIGlmIChtZXNzYWdlLmFwcGxpY2F0aW9uICE9PSBcIlwiKSB7XG4gICAgICB3cml0ZXIudWludDMyKDEwKS5zdHJpbmcobWVzc2FnZS5hcHBsaWNhdGlvbik7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlLnJlbGVhc2VJZCAhPT0gXCJcIikge1xuICAgICAgd3JpdGVyLnVpbnQzMigxOCkuc3RyaW5nKG1lc3NhZ2UucmVsZWFzZUlkKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2UuYmFzZUFkZHJlc3MgIT09IFwiXCIpIHtcbiAgICAgIHdyaXRlci51aW50MzIoMjYpLnN0cmluZyhtZXNzYWdlLmJhc2VBZGRyZXNzKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCB2IG9mIG1lc3NhZ2UuYWRkcmVzc2VzKSB7XG4gICAgICB3cml0ZXIudWludDMyKDM0KS5zdHJpbmcodiEpO1xuICAgIH1cbiAgICByZXR1cm4gd3JpdGVyO1xuICB9LFxuXG4gIGRlY29kZShpbnB1dDogX20wLlJlYWRlciB8IFVpbnQ4QXJyYXksIGxlbmd0aD86IG51bWJlcik6IEdldE1hcHBlZElvc1N0YWNrVHJhY2VSZXF1ZXN0IHtcbiAgICBjb25zdCByZWFkZXIgPSBpbnB1dCBpbnN0YW5jZW9mIF9tMC5SZWFkZXIgPyBpbnB1dCA6IF9tMC5SZWFkZXIuY3JlYXRlKGlucHV0KTtcbiAgICBsZXQgZW5kID0gbGVuZ3RoID09PSB1bmRlZmluZWQgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZUdldE1hcHBlZElvc1N0YWNrVHJhY2VSZXF1ZXN0KCk7XG4gICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICBpZiAodGFnICE9PSAxMCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5hcHBsaWNhdGlvbiA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgIGlmICh0YWcgIT09IDE4KSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLnJlbGVhc2VJZCA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIGlmICh0YWcgIT09IDI2KSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLmJhc2VBZGRyZXNzID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgaWYgKHRhZyAhPT0gMzQpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1lc3NhZ2UuYWRkcmVzc2VzLnB1c2gocmVhZGVyLnN0cmluZygpKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmICgodGFnICYgNykgPT09IDQgfHwgdGFnID09PSAwKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfSxcblxuICBmcm9tSlNPTihvYmplY3Q6IGFueSk6IEdldE1hcHBlZElvc1N0YWNrVHJhY2VSZXF1ZXN0IHtcbiAgICByZXR1cm4ge1xuICAgICAgYXBwbGljYXRpb246IGlzU2V0KG9iamVjdC5hcHBsaWNhdGlvbikgPyBnbG9iYWxUaGlzLlN0cmluZyhvYmplY3QuYXBwbGljYXRpb24pIDogXCJcIixcbiAgICAgIHJlbGVhc2VJZDogaXNTZXQob2JqZWN0LnJlbGVhc2VJZCkgPyBnbG9iYWxUaGlzLlN0cmluZyhvYmplY3QucmVsZWFzZUlkKSA6IFwiXCIsXG4gICAgICBiYXNlQWRkcmVzczogaXNTZXQob2JqZWN0LmJhc2VBZGRyZXNzKSA/IGdsb2JhbFRoaXMuU3RyaW5nKG9iamVjdC5iYXNlQWRkcmVzcykgOiBcIlwiLFxuICAgICAgYWRkcmVzc2VzOiBnbG9iYWxUaGlzLkFycmF5LmlzQXJyYXkob2JqZWN0Py5hZGRyZXNzZXMpXG4gICAgICAgID8gb2JqZWN0LmFkZHJlc3Nlcy5tYXAoKGU6IGFueSkgPT4gZ2xvYmFsVGhpcy5TdHJpbmcoZSkpXG4gICAgICAgIDogW10sXG4gICAgfTtcbiAgfSxcblxuICB0b0pTT04obWVzc2FnZTogR2V0TWFwcGVkSW9zU3RhY2tUcmFjZVJlcXVlc3QpOiB1bmtub3duIHtcbiAgICBjb25zdCBvYmo6IGFueSA9IHt9O1xuICAgIGlmIChtZXNzYWdlLmFwcGxpY2F0aW9uICE9PSBcIlwiKSB7XG4gICAgICBvYmouYXBwbGljYXRpb24gPSBtZXNzYWdlLmFwcGxpY2F0aW9uO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5yZWxlYXNlSWQgIT09IFwiXCIpIHtcbiAgICAgIG9iai5yZWxlYXNlSWQgPSBtZXNzYWdlLnJlbGVhc2VJZDtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2UuYmFzZUFkZHJlc3MgIT09IFwiXCIpIHtcbiAgICAgIG9iai5iYXNlQWRkcmVzcyA9IG1lc3NhZ2UuYmFzZUFkZHJlc3M7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlLmFkZHJlc3Nlcz8ubGVuZ3RoKSB7XG4gICAgICBvYmouYWRkcmVzc2VzID0gbWVzc2FnZS5hZGRyZXNzZXM7XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG4gIH0sXG5cbiAgY3JlYXRlKGJhc2U/OiBEZWVwUGFydGlhbDxHZXRNYXBwZWRJb3NTdGFja1RyYWNlUmVxdWVzdD4pOiBHZXRNYXBwZWRJb3NTdGFja1RyYWNlUmVxdWVzdCB7XG4gICAgcmV0dXJuIEdldE1hcHBlZElvc1N0YWNrVHJhY2VSZXF1ZXN0LmZyb21QYXJ0aWFsKGJhc2UgPz8ge30pO1xuICB9LFxuICBmcm9tUGFydGlhbChvYmplY3Q6IERlZXBQYXJ0aWFsPEdldE1hcHBlZElvc1N0YWNrVHJhY2VSZXF1ZXN0Pik6IEdldE1hcHBlZElvc1N0YWNrVHJhY2VSZXF1ZXN0IHtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZUdldE1hcHBlZElvc1N0YWNrVHJhY2VSZXF1ZXN0KCk7XG4gICAgbWVzc2FnZS5hcHBsaWNhdGlvbiA9IG9iamVjdC5hcHBsaWNhdGlvbiA/PyBcIlwiO1xuICAgIG1lc3NhZ2UucmVsZWFzZUlkID0gb2JqZWN0LnJlbGVhc2VJZCA/PyBcIlwiO1xuICAgIG1lc3NhZ2UuYmFzZUFkZHJlc3MgPSBvYmplY3QuYmFzZUFkZHJlc3MgPz8gXCJcIjtcbiAgICBtZXNzYWdlLmFkZHJlc3NlcyA9IG9iamVjdC5hZGRyZXNzZXM/Lm1hcCgoZSkgPT4gZSkgfHwgW107XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG59O1xuXG5mdW5jdGlvbiBjcmVhdGVCYXNlR2V0TWFwcGVkSW9zU3RhY2tUcmFjZVJlc3BvbnNlKCk6IEdldE1hcHBlZElvc1N0YWNrVHJhY2VSZXNwb25zZSB7XG4gIHJldHVybiB7XG4gICAgYXBwbGljYXRpb246IFwiXCIsXG4gICAgcmVsZWFzZUlkOiBcIlwiLFxuICAgIG1hcHBlZEFkZHJlc3Nlczoge30sXG4gICAgY29tbWl0SGFzaDogdW5kZWZpbmVkLFxuICAgIHJlcG9OYW1lOiB1bmRlZmluZWQsXG4gICAgdXNlcjogdW5kZWZpbmVkLFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgR2V0TWFwcGVkSW9zU3RhY2tUcmFjZVJlc3BvbnNlID0ge1xuICBlbmNvZGUobWVzc2FnZTogR2V0TWFwcGVkSW9zU3RhY2tUcmFjZVJlc3BvbnNlLCB3cml0ZXI6IF9tMC5Xcml0ZXIgPSBfbTAuV3JpdGVyLmNyZWF0ZSgpKTogX20wLldyaXRlciB7XG4gICAgaWYgKG1lc3NhZ2UuYXBwbGljYXRpb24gIT09IFwiXCIpIHtcbiAgICAgIHdyaXRlci51aW50MzIoMTApLnN0cmluZyhtZXNzYWdlLmFwcGxpY2F0aW9uKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2UucmVsZWFzZUlkICE9PSBcIlwiKSB7XG4gICAgICB3cml0ZXIudWludDMyKDE4KS5zdHJpbmcobWVzc2FnZS5yZWxlYXNlSWQpO1xuICAgIH1cbiAgICBPYmplY3QuZW50cmllcyhtZXNzYWdlLm1hcHBlZEFkZHJlc3NlcykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBHZXRNYXBwZWRJb3NTdGFja1RyYWNlUmVzcG9uc2VfTWFwcGVkQWRkcmVzc2VzRW50cnkuZW5jb2RlKHsga2V5OiBrZXkgYXMgYW55LCB2YWx1ZSB9LCB3cml0ZXIudWludDMyKDI2KS5mb3JrKCkpXG4gICAgICAgIC5sZGVsaW0oKTtcbiAgICB9KTtcbiAgICBpZiAobWVzc2FnZS5jb21taXRIYXNoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHdyaXRlci51aW50MzIoMzQpLnN0cmluZyhtZXNzYWdlLmNvbW1pdEhhc2gpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5yZXBvTmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB3cml0ZXIudWludDMyKDQyKS5zdHJpbmcobWVzc2FnZS5yZXBvTmFtZSk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlLnVzZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgd3JpdGVyLnVpbnQzMig1MCkuc3RyaW5nKG1lc3NhZ2UudXNlcik7XG4gICAgfVxuICAgIHJldHVybiB3cml0ZXI7XG4gIH0sXG5cbiAgZGVjb2RlKGlucHV0OiBfbTAuUmVhZGVyIHwgVWludDhBcnJheSwgbGVuZ3RoPzogbnVtYmVyKTogR2V0TWFwcGVkSW9zU3RhY2tUcmFjZVJlc3BvbnNlIHtcbiAgICBjb25zdCByZWFkZXIgPSBpbnB1dCBpbnN0YW5jZW9mIF9tMC5SZWFkZXIgPyBpbnB1dCA6IF9tMC5SZWFkZXIuY3JlYXRlKGlucHV0KTtcbiAgICBsZXQgZW5kID0gbGVuZ3RoID09PSB1bmRlZmluZWQgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZUdldE1hcHBlZElvc1N0YWNrVHJhY2VSZXNwb25zZSgpO1xuICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgaWYgKHRhZyAhPT0gMTApIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1lc3NhZ2UuYXBwbGljYXRpb24gPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBpZiAodGFnICE9PSAxOCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5yZWxlYXNlSWQgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgMzpcbiAgICAgICAgICBpZiAodGFnICE9PSAyNikge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgZW50cnkzID0gR2V0TWFwcGVkSW9zU3RhY2tUcmFjZVJlc3BvbnNlX01hcHBlZEFkZHJlc3Nlc0VudHJ5LmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSk7XG4gICAgICAgICAgaWYgKGVudHJ5My52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBtZXNzYWdlLm1hcHBlZEFkZHJlc3Nlc1tlbnRyeTMua2V5XSA9IGVudHJ5My52YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgICBpZiAodGFnICE9PSAzNCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5jb21taXRIYXNoID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgaWYgKHRhZyAhPT0gNDIpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1lc3NhZ2UucmVwb05hbWUgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgNjpcbiAgICAgICAgICBpZiAodGFnICE9PSA1MCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS51c2VyID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKCh0YWcgJiA3KSA9PT0gNCB8fCB0YWcgPT09IDApIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgfVxuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxuXG4gIGZyb21KU09OKG9iamVjdDogYW55KTogR2V0TWFwcGVkSW9zU3RhY2tUcmFjZVJlc3BvbnNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgYXBwbGljYXRpb246IGlzU2V0KG9iamVjdC5hcHBsaWNhdGlvbikgPyBnbG9iYWxUaGlzLlN0cmluZyhvYmplY3QuYXBwbGljYXRpb24pIDogXCJcIixcbiAgICAgIHJlbGVhc2VJZDogaXNTZXQob2JqZWN0LnJlbGVhc2VJZCkgPyBnbG9iYWxUaGlzLlN0cmluZyhvYmplY3QucmVsZWFzZUlkKSA6IFwiXCIsXG4gICAgICBtYXBwZWRBZGRyZXNzZXM6IGlzT2JqZWN0KG9iamVjdC5tYXBwZWRBZGRyZXNzZXMpXG4gICAgICAgID8gT2JqZWN0LmVudHJpZXMob2JqZWN0Lm1hcHBlZEFkZHJlc3NlcykucmVkdWNlPHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0+KChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgIGFjY1trZXldID0gU3RyaW5nKHZhbHVlKTtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9LCB7fSlcbiAgICAgICAgOiB7fSxcbiAgICAgIGNvbW1pdEhhc2g6IGlzU2V0KG9iamVjdC5jb21taXRIYXNoKSA/IGdsb2JhbFRoaXMuU3RyaW5nKG9iamVjdC5jb21taXRIYXNoKSA6IHVuZGVmaW5lZCxcbiAgICAgIHJlcG9OYW1lOiBpc1NldChvYmplY3QucmVwb05hbWUpID8gZ2xvYmFsVGhpcy5TdHJpbmcob2JqZWN0LnJlcG9OYW1lKSA6IHVuZGVmaW5lZCxcbiAgICAgIHVzZXI6IGlzU2V0KG9iamVjdC51c2VyKSA/IGdsb2JhbFRoaXMuU3RyaW5nKG9iamVjdC51c2VyKSA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9LFxuXG4gIHRvSlNPTihtZXNzYWdlOiBHZXRNYXBwZWRJb3NTdGFja1RyYWNlUmVzcG9uc2UpOiB1bmtub3duIHtcbiAgICBjb25zdCBvYmo6IGFueSA9IHt9O1xuICAgIGlmIChtZXNzYWdlLmFwcGxpY2F0aW9uICE9PSBcIlwiKSB7XG4gICAgICBvYmouYXBwbGljYXRpb24gPSBtZXNzYWdlLmFwcGxpY2F0aW9uO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5yZWxlYXNlSWQgIT09IFwiXCIpIHtcbiAgICAgIG9iai5yZWxlYXNlSWQgPSBtZXNzYWdlLnJlbGVhc2VJZDtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2UubWFwcGVkQWRkcmVzc2VzKSB7XG4gICAgICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMobWVzc2FnZS5tYXBwZWRBZGRyZXNzZXMpO1xuICAgICAgaWYgKGVudHJpZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBvYmoubWFwcGVkQWRkcmVzc2VzID0ge307XG4gICAgICAgIGVudHJpZXMuZm9yRWFjaCgoW2ssIHZdKSA9PiB7XG4gICAgICAgICAgb2JqLm1hcHBlZEFkZHJlc3Nlc1trXSA9IHY7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAobWVzc2FnZS5jb21taXRIYXNoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9iai5jb21taXRIYXNoID0gbWVzc2FnZS5jb21taXRIYXNoO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5yZXBvTmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBvYmoucmVwb05hbWUgPSBtZXNzYWdlLnJlcG9OYW1lO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS51c2VyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9iai51c2VyID0gbWVzc2FnZS51c2VyO1xuICAgIH1cbiAgICByZXR1cm4gb2JqO1xuICB9LFxuXG4gIGNyZWF0ZShiYXNlPzogRGVlcFBhcnRpYWw8R2V0TWFwcGVkSW9zU3RhY2tUcmFjZVJlc3BvbnNlPik6IEdldE1hcHBlZElvc1N0YWNrVHJhY2VSZXNwb25zZSB7XG4gICAgcmV0dXJuIEdldE1hcHBlZElvc1N0YWNrVHJhY2VSZXNwb25zZS5mcm9tUGFydGlhbChiYXNlID8/IHt9KTtcbiAgfSxcbiAgZnJvbVBhcnRpYWwob2JqZWN0OiBEZWVwUGFydGlhbDxHZXRNYXBwZWRJb3NTdGFja1RyYWNlUmVzcG9uc2U+KTogR2V0TWFwcGVkSW9zU3RhY2tUcmFjZVJlc3BvbnNlIHtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZUdldE1hcHBlZElvc1N0YWNrVHJhY2VSZXNwb25zZSgpO1xuICAgIG1lc3NhZ2UuYXBwbGljYXRpb24gPSBvYmplY3QuYXBwbGljYXRpb24gPz8gXCJcIjtcbiAgICBtZXNzYWdlLnJlbGVhc2VJZCA9IG9iamVjdC5yZWxlYXNlSWQgPz8gXCJcIjtcbiAgICBtZXNzYWdlLm1hcHBlZEFkZHJlc3NlcyA9IE9iamVjdC5lbnRyaWVzKG9iamVjdC5tYXBwZWRBZGRyZXNzZXMgPz8ge30pLnJlZHVjZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9PihcbiAgICAgIChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGFjY1trZXldID0gZ2xvYmFsVGhpcy5TdHJpbmcodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LFxuICAgICAge30sXG4gICAgKTtcbiAgICBtZXNzYWdlLmNvbW1pdEhhc2ggPSBvYmplY3QuY29tbWl0SGFzaCA/PyB1bmRlZmluZWQ7XG4gICAgbWVzc2FnZS5yZXBvTmFtZSA9IG9iamVjdC5yZXBvTmFtZSA/PyB1bmRlZmluZWQ7XG4gICAgbWVzc2FnZS51c2VyID0gb2JqZWN0LnVzZXIgPz8gdW5kZWZpbmVkO1xuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxufTtcblxuZnVuY3Rpb24gY3JlYXRlQmFzZUdldE1hcHBlZElvc1N0YWNrVHJhY2VSZXNwb25zZV9NYXBwZWRBZGRyZXNzZXNFbnRyeSgpOiBHZXRNYXBwZWRJb3NTdGFja1RyYWNlUmVzcG9uc2VfTWFwcGVkQWRkcmVzc2VzRW50cnkge1xuICByZXR1cm4geyBrZXk6IFwiXCIsIHZhbHVlOiBcIlwiIH07XG59XG5cbmV4cG9ydCBjb25zdCBHZXRNYXBwZWRJb3NTdGFja1RyYWNlUmVzcG9uc2VfTWFwcGVkQWRkcmVzc2VzRW50cnkgPSB7XG4gIGVuY29kZShcbiAgICBtZXNzYWdlOiBHZXRNYXBwZWRJb3NTdGFja1RyYWNlUmVzcG9uc2VfTWFwcGVkQWRkcmVzc2VzRW50cnksXG4gICAgd3JpdGVyOiBfbTAuV3JpdGVyID0gX20wLldyaXRlci5jcmVhdGUoKSxcbiAgKTogX20wLldyaXRlciB7XG4gICAgaWYgKG1lc3NhZ2Uua2V5ICE9PSBcIlwiKSB7XG4gICAgICB3cml0ZXIudWludDMyKDEwKS5zdHJpbmcobWVzc2FnZS5rZXkpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS52YWx1ZSAhPT0gXCJcIikge1xuICAgICAgd3JpdGVyLnVpbnQzMigxOCkuc3RyaW5nKG1lc3NhZ2UudmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gd3JpdGVyO1xuICB9LFxuXG4gIGRlY29kZShpbnB1dDogX20wLlJlYWRlciB8IFVpbnQ4QXJyYXksIGxlbmd0aD86IG51bWJlcik6IEdldE1hcHBlZElvc1N0YWNrVHJhY2VSZXNwb25zZV9NYXBwZWRBZGRyZXNzZXNFbnRyeSB7XG4gICAgY29uc3QgcmVhZGVyID0gaW5wdXQgaW5zdGFuY2VvZiBfbTAuUmVhZGVyID8gaW5wdXQgOiBfbTAuUmVhZGVyLmNyZWF0ZShpbnB1dCk7XG4gICAgbGV0IGVuZCA9IGxlbmd0aCA9PT0gdW5kZWZpbmVkID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgY29uc3QgbWVzc2FnZSA9IGNyZWF0ZUJhc2VHZXRNYXBwZWRJb3NTdGFja1RyYWNlUmVzcG9uc2VfTWFwcGVkQWRkcmVzc2VzRW50cnkoKTtcbiAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIGlmICh0YWcgIT09IDEwKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLmtleSA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgIGlmICh0YWcgIT09IDE4KSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLnZhbHVlID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKCh0YWcgJiA3KSA9PT0gNCB8fCB0YWcgPT09IDApIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgfVxuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxuXG4gIGZyb21KU09OKG9iamVjdDogYW55KTogR2V0TWFwcGVkSW9zU3RhY2tUcmFjZVJlc3BvbnNlX01hcHBlZEFkZHJlc3Nlc0VudHJ5IHtcbiAgICByZXR1cm4ge1xuICAgICAga2V5OiBpc1NldChvYmplY3Qua2V5KSA/IGdsb2JhbFRoaXMuU3RyaW5nKG9iamVjdC5rZXkpIDogXCJcIixcbiAgICAgIHZhbHVlOiBpc1NldChvYmplY3QudmFsdWUpID8gZ2xvYmFsVGhpcy5TdHJpbmcob2JqZWN0LnZhbHVlKSA6IFwiXCIsXG4gICAgfTtcbiAgfSxcblxuICB0b0pTT04obWVzc2FnZTogR2V0TWFwcGVkSW9zU3RhY2tUcmFjZVJlc3BvbnNlX01hcHBlZEFkZHJlc3Nlc0VudHJ5KTogdW5rbm93biB7XG4gICAgY29uc3Qgb2JqOiBhbnkgPSB7fTtcbiAgICBpZiAobWVzc2FnZS5rZXkgIT09IFwiXCIpIHtcbiAgICAgIG9iai5rZXkgPSBtZXNzYWdlLmtleTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2UudmFsdWUgIT09IFwiXCIpIHtcbiAgICAgIG9iai52YWx1ZSA9IG1lc3NhZ2UudmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG4gIH0sXG5cbiAgY3JlYXRlKFxuICAgIGJhc2U/OiBEZWVwUGFydGlhbDxHZXRNYXBwZWRJb3NTdGFja1RyYWNlUmVzcG9uc2VfTWFwcGVkQWRkcmVzc2VzRW50cnk+LFxuICApOiBHZXRNYXBwZWRJb3NTdGFja1RyYWNlUmVzcG9uc2VfTWFwcGVkQWRkcmVzc2VzRW50cnkge1xuICAgIHJldHVybiBHZXRNYXBwZWRJb3NTdGFja1RyYWNlUmVzcG9uc2VfTWFwcGVkQWRkcmVzc2VzRW50cnkuZnJvbVBhcnRpYWwoYmFzZSA/PyB7fSk7XG4gIH0sXG4gIGZyb21QYXJ0aWFsKFxuICAgIG9iamVjdDogRGVlcFBhcnRpYWw8R2V0TWFwcGVkSW9zU3RhY2tUcmFjZVJlc3BvbnNlX01hcHBlZEFkZHJlc3Nlc0VudHJ5PixcbiAgKTogR2V0TWFwcGVkSW9zU3RhY2tUcmFjZVJlc3BvbnNlX01hcHBlZEFkZHJlc3Nlc0VudHJ5IHtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZUdldE1hcHBlZElvc1N0YWNrVHJhY2VSZXNwb25zZV9NYXBwZWRBZGRyZXNzZXNFbnRyeSgpO1xuICAgIG1lc3NhZ2Uua2V5ID0gb2JqZWN0LmtleSA/PyBcIlwiO1xuICAgIG1lc3NhZ2UudmFsdWUgPSBvYmplY3QudmFsdWUgPz8gXCJcIjtcbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfSxcbn07XG5cbnR5cGUgQnVpbHRpbiA9IERhdGUgfCBGdW5jdGlvbiB8IFVpbnQ4QXJyYXkgfCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgdHlwZSBEZWVwUGFydGlhbDxUPiA9IFQgZXh0ZW5kcyBCdWlsdGluID8gVFxuICA6IFQgZXh0ZW5kcyBnbG9iYWxUaGlzLkFycmF5PGluZmVyIFU+ID8gZ2xvYmFsVGhpcy5BcnJheTxEZWVwUGFydGlhbDxVPj5cbiAgOiBUIGV4dGVuZHMgUmVhZG9ubHlBcnJheTxpbmZlciBVPiA/IFJlYWRvbmx5QXJyYXk8RGVlcFBhcnRpYWw8VT4+XG4gIDogVCBleHRlbmRzIHsgJGNhc2U6IHN0cmluZyB9ID8geyBbSyBpbiBrZXlvZiBPbWl0PFQsIFwiJGNhc2VcIj5dPzogRGVlcFBhcnRpYWw8VFtLXT4gfSAmIHsgJGNhc2U6IFRbXCIkY2FzZVwiXSB9XG4gIDogVCBleHRlbmRzIHt9ID8geyBbSyBpbiBrZXlvZiBUXT86IERlZXBQYXJ0aWFsPFRbS10+IH1cbiAgOiBQYXJ0aWFsPFQ+O1xuXG5mdW5jdGlvbiBpc09iamVjdCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiYgdmFsdWUgIT09IG51bGw7XG59XG5cbmZ1bmN0aW9uIGlzU2V0KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQ7XG59XG4iXX0=
|