@coralogix/rum-cli 1.1.21 → 1.1.22
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 +8 -4
- package/api/rum-api.ts +1 -1
- package/cli/commands/delete-source-maps-command.ts +1 -1
- package/cli/commands/index.ts +5 -4
- package/cli/commands/update-source-maps-command.ts +1 -1
- package/cli/commands/upload-react-native-source-maps-command.ts +39 -0
- package/cli/commands/upload-source-maps-command.ts +1 -1
- package/cli/rum-cli.ts +8 -7
- package/dist/api/rum-api.js +2 -2
- package/dist/cli/commands/delete-source-maps-command.d.ts +1 -1
- package/dist/cli/commands/delete-source-maps-command.js +4 -4
- package/dist/cli/commands/index.d.ts +4 -3
- package/dist/cli/commands/index.js +3 -2
- package/dist/cli/commands/update-source-maps-command.d.ts +1 -1
- package/dist/cli/commands/update-source-maps-command.js +4 -4
- package/dist/cli/commands/upload-react-native-source-maps-command.d.ts +2 -0
- package/dist/cli/commands/upload-react-native-source-maps-command.js +47 -0
- package/dist/cli/commands/upload-source-maps-command.d.ts +1 -1
- package/dist/cli/commands/upload-source-maps-command.js +4 -4
- package/dist/cli/rum-cli.js +9 -7
- 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/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 +526 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.js +1560 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_service.d.ts +98 -3
- package/dist/proto-models/com/coralogix/rum/v2/rum_service.js +475 -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_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 +1 -1
- package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.js +65 -41
- 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/react-native-source-maps.service.d.ts +3 -0
- package/dist/services/react-native-source-maps.service.js +42 -0
- package/dist/services/source-maps.service.js +3 -3
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +4 -4
- package/package.json +1 -1
- 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/rum_react_native_source_map_service.ts +223 -0
- package/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.ts +1837 -0
- package/proto-models/com/coralogix/rum/v2/rum_service.ts +533 -146
- package/proto-models/com/coralogix/rum/v2/rum_session_recording_service.ts +1 -208
- 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 +65 -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 +2 -2
- package/protofetch.toml +1 -1
- 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 +128 -0
- package/protos/com/coralogix/rum/v2/rum_service.proto +26 -0
- package/protos/com/coralogix/rum/v2/rum_session_recording_service.proto +1 -12
- package/protos/com/coralogix/rum/v2/rum_snooze_errors_service.proto +64 -0
- package/protos/com/coralogix/rum/v2/rum_source_map_service.proto +1 -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/react-native-source-maps.service.ts +40 -0
- package/services/source-maps.service.ts +2 -2
- package/utils/index.ts +3 -3
|
@@ -0,0 +1,267 @@
|
|
|
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.SavedFilter = exports.SavedFilterBasicProperties = exports.savedFilterPermissionToJSON = exports.savedFilterPermissionFromJSON = exports.SavedFilterPermission = exports.pageToJSON = exports.pageFromJSON = exports.Page = exports.protobufPackage = void 0;
|
|
7
|
+
/* eslint-disable */
|
|
8
|
+
const minimal_1 = __importDefault(require("protobufjs/minimal"));
|
|
9
|
+
exports.protobufPackage = "com.coralogix.rum.v2";
|
|
10
|
+
var Page;
|
|
11
|
+
(function (Page) {
|
|
12
|
+
Page[Page["PAGE_UNSPECIFIED"] = 0] = "PAGE_UNSPECIFIED";
|
|
13
|
+
Page[Page["PAGE_ERROR_TRACKING"] = 1] = "PAGE_ERROR_TRACKING";
|
|
14
|
+
Page[Page["PAGE_USER_SESSION"] = 2] = "PAGE_USER_SESSION";
|
|
15
|
+
Page[Page["PAGE_WEB_VITALS"] = 3] = "PAGE_WEB_VITALS";
|
|
16
|
+
})(Page = exports.Page || (exports.Page = {}));
|
|
17
|
+
function pageFromJSON(object) {
|
|
18
|
+
switch (object) {
|
|
19
|
+
case 0:
|
|
20
|
+
case "PAGE_UNSPECIFIED":
|
|
21
|
+
return Page.PAGE_UNSPECIFIED;
|
|
22
|
+
case 1:
|
|
23
|
+
case "PAGE_ERROR_TRACKING":
|
|
24
|
+
return Page.PAGE_ERROR_TRACKING;
|
|
25
|
+
case 2:
|
|
26
|
+
case "PAGE_USER_SESSION":
|
|
27
|
+
return Page.PAGE_USER_SESSION;
|
|
28
|
+
case 3:
|
|
29
|
+
case "PAGE_WEB_VITALS":
|
|
30
|
+
return Page.PAGE_WEB_VITALS;
|
|
31
|
+
default:
|
|
32
|
+
throw new globalThis.Error("Unrecognized enum value " + object + " for enum Page");
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.pageFromJSON = pageFromJSON;
|
|
36
|
+
function pageToJSON(object) {
|
|
37
|
+
switch (object) {
|
|
38
|
+
case Page.PAGE_UNSPECIFIED:
|
|
39
|
+
return "PAGE_UNSPECIFIED";
|
|
40
|
+
case Page.PAGE_ERROR_TRACKING:
|
|
41
|
+
return "PAGE_ERROR_TRACKING";
|
|
42
|
+
case Page.PAGE_USER_SESSION:
|
|
43
|
+
return "PAGE_USER_SESSION";
|
|
44
|
+
case Page.PAGE_WEB_VITALS:
|
|
45
|
+
return "PAGE_WEB_VITALS";
|
|
46
|
+
default:
|
|
47
|
+
throw new globalThis.Error("Unrecognized enum value " + object + " for enum Page");
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.pageToJSON = pageToJSON;
|
|
51
|
+
var SavedFilterPermission;
|
|
52
|
+
(function (SavedFilterPermission) {
|
|
53
|
+
SavedFilterPermission[SavedFilterPermission["SAVED_FILTER_PERMISSION_UNSPECIFIED"] = 0] = "SAVED_FILTER_PERMISSION_UNSPECIFIED";
|
|
54
|
+
SavedFilterPermission[SavedFilterPermission["SAVED_FILTER_PERMISSION_PRIVATE"] = 1] = "SAVED_FILTER_PERMISSION_PRIVATE";
|
|
55
|
+
SavedFilterPermission[SavedFilterPermission["SAVED_FILTER_PERMISSION_PUBLIC"] = 2] = "SAVED_FILTER_PERMISSION_PUBLIC";
|
|
56
|
+
})(SavedFilterPermission = exports.SavedFilterPermission || (exports.SavedFilterPermission = {}));
|
|
57
|
+
function savedFilterPermissionFromJSON(object) {
|
|
58
|
+
switch (object) {
|
|
59
|
+
case 0:
|
|
60
|
+
case "SAVED_FILTER_PERMISSION_UNSPECIFIED":
|
|
61
|
+
return SavedFilterPermission.SAVED_FILTER_PERMISSION_UNSPECIFIED;
|
|
62
|
+
case 1:
|
|
63
|
+
case "SAVED_FILTER_PERMISSION_PRIVATE":
|
|
64
|
+
return SavedFilterPermission.SAVED_FILTER_PERMISSION_PRIVATE;
|
|
65
|
+
case 2:
|
|
66
|
+
case "SAVED_FILTER_PERMISSION_PUBLIC":
|
|
67
|
+
return SavedFilterPermission.SAVED_FILTER_PERMISSION_PUBLIC;
|
|
68
|
+
default:
|
|
69
|
+
throw new globalThis.Error("Unrecognized enum value " + object + " for enum SavedFilterPermission");
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.savedFilterPermissionFromJSON = savedFilterPermissionFromJSON;
|
|
73
|
+
function savedFilterPermissionToJSON(object) {
|
|
74
|
+
switch (object) {
|
|
75
|
+
case SavedFilterPermission.SAVED_FILTER_PERMISSION_UNSPECIFIED:
|
|
76
|
+
return "SAVED_FILTER_PERMISSION_UNSPECIFIED";
|
|
77
|
+
case SavedFilterPermission.SAVED_FILTER_PERMISSION_PRIVATE:
|
|
78
|
+
return "SAVED_FILTER_PERMISSION_PRIVATE";
|
|
79
|
+
case SavedFilterPermission.SAVED_FILTER_PERMISSION_PUBLIC:
|
|
80
|
+
return "SAVED_FILTER_PERMISSION_PUBLIC";
|
|
81
|
+
default:
|
|
82
|
+
throw new globalThis.Error("Unrecognized enum value " + object + " for enum SavedFilterPermission");
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.savedFilterPermissionToJSON = savedFilterPermissionToJSON;
|
|
86
|
+
function createBaseSavedFilterBasicProperties() {
|
|
87
|
+
return { name: "", id: "", page: 0 };
|
|
88
|
+
}
|
|
89
|
+
exports.SavedFilterBasicProperties = {
|
|
90
|
+
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
91
|
+
if (message.name !== "") {
|
|
92
|
+
writer.uint32(10).string(message.name);
|
|
93
|
+
}
|
|
94
|
+
if (message.id !== "") {
|
|
95
|
+
writer.uint32(18).string(message.id);
|
|
96
|
+
}
|
|
97
|
+
if (message.page !== 0) {
|
|
98
|
+
writer.uint32(24).int32(message.page);
|
|
99
|
+
}
|
|
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 = createBaseSavedFilterBasicProperties();
|
|
106
|
+
while (reader.pos < end) {
|
|
107
|
+
const tag = reader.uint32();
|
|
108
|
+
switch (tag >>> 3) {
|
|
109
|
+
case 1:
|
|
110
|
+
if (tag !== 10) {
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
message.name = reader.string();
|
|
114
|
+
continue;
|
|
115
|
+
case 2:
|
|
116
|
+
if (tag !== 18) {
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
message.id = reader.string();
|
|
120
|
+
continue;
|
|
121
|
+
case 3:
|
|
122
|
+
if (tag !== 24) {
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
message.page = reader.int32();
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
reader.skipType(tag & 7);
|
|
132
|
+
}
|
|
133
|
+
return message;
|
|
134
|
+
},
|
|
135
|
+
fromJSON(object) {
|
|
136
|
+
return {
|
|
137
|
+
name: isSet(object.name) ? globalThis.String(object.name) : "",
|
|
138
|
+
id: isSet(object.id) ? globalThis.String(object.id) : "",
|
|
139
|
+
page: isSet(object.page) ? pageFromJSON(object.page) : 0,
|
|
140
|
+
};
|
|
141
|
+
},
|
|
142
|
+
toJSON(message) {
|
|
143
|
+
const obj = {};
|
|
144
|
+
if (message.name !== "") {
|
|
145
|
+
obj.name = message.name;
|
|
146
|
+
}
|
|
147
|
+
if (message.id !== "") {
|
|
148
|
+
obj.id = message.id;
|
|
149
|
+
}
|
|
150
|
+
if (message.page !== 0) {
|
|
151
|
+
obj.page = pageToJSON(message.page);
|
|
152
|
+
}
|
|
153
|
+
return obj;
|
|
154
|
+
},
|
|
155
|
+
create(base) {
|
|
156
|
+
return exports.SavedFilterBasicProperties.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
157
|
+
},
|
|
158
|
+
fromPartial(object) {
|
|
159
|
+
var _a, _b, _c;
|
|
160
|
+
const message = createBaseSavedFilterBasicProperties();
|
|
161
|
+
message.name = (_a = object.name) !== null && _a !== void 0 ? _a : "";
|
|
162
|
+
message.id = (_b = object.id) !== null && _b !== void 0 ? _b : "";
|
|
163
|
+
message.page = (_c = object.page) !== null && _c !== void 0 ? _c : 0;
|
|
164
|
+
return message;
|
|
165
|
+
},
|
|
166
|
+
};
|
|
167
|
+
function createBaseSavedFilter() {
|
|
168
|
+
return { savedFilter: undefined, isFavorite: false, favoriteId: undefined, permission: 0 };
|
|
169
|
+
}
|
|
170
|
+
exports.SavedFilter = {
|
|
171
|
+
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
172
|
+
if (message.savedFilter !== undefined) {
|
|
173
|
+
exports.SavedFilterBasicProperties.encode(message.savedFilter, writer.uint32(10).fork()).ldelim();
|
|
174
|
+
}
|
|
175
|
+
if (message.isFavorite === true) {
|
|
176
|
+
writer.uint32(16).bool(message.isFavorite);
|
|
177
|
+
}
|
|
178
|
+
if (message.favoriteId !== undefined) {
|
|
179
|
+
writer.uint32(26).string(message.favoriteId);
|
|
180
|
+
}
|
|
181
|
+
if (message.permission !== 0) {
|
|
182
|
+
writer.uint32(32).int32(message.permission);
|
|
183
|
+
}
|
|
184
|
+
return writer;
|
|
185
|
+
},
|
|
186
|
+
decode(input, length) {
|
|
187
|
+
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
188
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
189
|
+
const message = createBaseSavedFilter();
|
|
190
|
+
while (reader.pos < end) {
|
|
191
|
+
const tag = reader.uint32();
|
|
192
|
+
switch (tag >>> 3) {
|
|
193
|
+
case 1:
|
|
194
|
+
if (tag !== 10) {
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
message.savedFilter = exports.SavedFilterBasicProperties.decode(reader, reader.uint32());
|
|
198
|
+
continue;
|
|
199
|
+
case 2:
|
|
200
|
+
if (tag !== 16) {
|
|
201
|
+
break;
|
|
202
|
+
}
|
|
203
|
+
message.isFavorite = reader.bool();
|
|
204
|
+
continue;
|
|
205
|
+
case 3:
|
|
206
|
+
if (tag !== 26) {
|
|
207
|
+
break;
|
|
208
|
+
}
|
|
209
|
+
message.favoriteId = reader.string();
|
|
210
|
+
continue;
|
|
211
|
+
case 4:
|
|
212
|
+
if (tag !== 32) {
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
215
|
+
message.permission = reader.int32();
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
221
|
+
reader.skipType(tag & 7);
|
|
222
|
+
}
|
|
223
|
+
return message;
|
|
224
|
+
},
|
|
225
|
+
fromJSON(object) {
|
|
226
|
+
return {
|
|
227
|
+
savedFilter: isSet(object.savedFilter) ? exports.SavedFilterBasicProperties.fromJSON(object.savedFilter) : undefined,
|
|
228
|
+
isFavorite: isSet(object.isFavorite) ? globalThis.Boolean(object.isFavorite) : false,
|
|
229
|
+
favoriteId: isSet(object.favoriteId) ? globalThis.String(object.favoriteId) : undefined,
|
|
230
|
+
permission: isSet(object.permission) ? savedFilterPermissionFromJSON(object.permission) : 0,
|
|
231
|
+
};
|
|
232
|
+
},
|
|
233
|
+
toJSON(message) {
|
|
234
|
+
const obj = {};
|
|
235
|
+
if (message.savedFilter !== undefined) {
|
|
236
|
+
obj.savedFilter = exports.SavedFilterBasicProperties.toJSON(message.savedFilter);
|
|
237
|
+
}
|
|
238
|
+
if (message.isFavorite === true) {
|
|
239
|
+
obj.isFavorite = message.isFavorite;
|
|
240
|
+
}
|
|
241
|
+
if (message.favoriteId !== undefined) {
|
|
242
|
+
obj.favoriteId = message.favoriteId;
|
|
243
|
+
}
|
|
244
|
+
if (message.permission !== 0) {
|
|
245
|
+
obj.permission = savedFilterPermissionToJSON(message.permission);
|
|
246
|
+
}
|
|
247
|
+
return obj;
|
|
248
|
+
},
|
|
249
|
+
create(base) {
|
|
250
|
+
return exports.SavedFilter.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
251
|
+
},
|
|
252
|
+
fromPartial(object) {
|
|
253
|
+
var _a, _b, _c;
|
|
254
|
+
const message = createBaseSavedFilter();
|
|
255
|
+
message.savedFilter = (object.savedFilter !== undefined && object.savedFilter !== null)
|
|
256
|
+
? exports.SavedFilterBasicProperties.fromPartial(object.savedFilter)
|
|
257
|
+
: undefined;
|
|
258
|
+
message.isFavorite = (_a = object.isFavorite) !== null && _a !== void 0 ? _a : false;
|
|
259
|
+
message.favoriteId = (_b = object.favoriteId) !== null && _b !== void 0 ? _b : undefined;
|
|
260
|
+
message.permission = (_c = object.permission) !== null && _c !== void 0 ? _c : 0;
|
|
261
|
+
return message;
|
|
262
|
+
},
|
|
263
|
+
};
|
|
264
|
+
function isSet(value) {
|
|
265
|
+
return value !== null && value !== undefined;
|
|
266
|
+
}
|
|
267
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWRfZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvcnVtL3YyL3NhdmVkX2ZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvQkFBb0I7QUFDcEIsaUVBQXFDO0FBRXhCLFFBQUEsZUFBZSxHQUFHLHNCQUFzQixDQUFDO0FBRXRELElBQVksSUFLWDtBQUxELFdBQVksSUFBSTtJQUNkLHVEQUFvQixDQUFBO0lBQ3BCLDZEQUF1QixDQUFBO0lBQ3ZCLHlEQUFxQixDQUFBO0lBQ3JCLHFEQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxJQUFJLEdBQUosWUFBSSxLQUFKLFlBQUksUUFLZjtBQUVELFNBQWdCLFlBQVksQ0FBQyxNQUFXO0lBQ3RDLFFBQVEsTUFBTSxFQUFFO1FBQ2QsS0FBSyxDQUFDLENBQUM7UUFDUCxLQUFLLGtCQUFrQjtZQUNyQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUMvQixLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUsscUJBQXFCO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ2xDLEtBQUssQ0FBQyxDQUFDO1FBQ1AsS0FBSyxtQkFBbUI7WUFDdEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDaEMsS0FBSyxDQUFDLENBQUM7UUFDUCxLQUFLLGlCQUFpQjtZQUNwQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDOUI7WUFDRSxNQUFNLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsR0FBRyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztLQUN0RjtBQUNILENBQUM7QUFqQkQsb0NBaUJDO0FBRUQsU0FBZ0IsVUFBVSxDQUFDLE1BQVk7SUFDckMsUUFBUSxNQUFNLEVBQUU7UUFDZCxLQUFLLElBQUksQ0FBQyxnQkFBZ0I7WUFDeEIsT0FBTyxrQkFBa0Is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Q0FBQztRQUNoRCxPQUFPLENBQUMsVUFBVSxHQUFHLE1BQUEsTUFBTSxDQUFDLFVBQVUsbUNBQUksU0FBUyxDQUFDO1FBQ3BELE9BQU8sQ0FBQyxVQUFVLEdBQUcsTUFBQSxNQUFNLENBQUMsVUFBVSxtQ0FBSSxDQUFDLENBQUM7UUFDNUMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGLENBQUM7QUFXRixTQUFTLEtBQUssQ0FBQyxLQUFVO0lBQ3ZCLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSAqL1xuaW1wb3J0IF9tMCBmcm9tIFwicHJvdG9idWZqcy9taW5pbWFsXCI7XG5cbmV4cG9ydCBjb25zdCBwcm90b2J1ZlBhY2thZ2UgPSBcImNvbS5jb3JhbG9naXgucnVtLnYyXCI7XG5cbmV4cG9ydCBlbnVtIFBhZ2Uge1xuICBQQUdFX1VOU1BFQ0lGSUVEID0gMCxcbiAgUEFHRV9FUlJPUl9UUkFDS0lORyA9IDEsXG4gIFBBR0VfVVNFUl9TRVNTSU9OID0gMixcbiAgUEFHRV9XRUJfVklUQUxTID0gMyxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhZ2VGcm9tSlNPTihvYmplY3Q6IGFueSk6IFBhZ2Uge1xuICBzd2l0Y2ggKG9iamVjdCkge1xuICAgIGNhc2UgMDpcbiAgICBjYXNlIFwiUEFHRV9VTlNQRUNJRklFRFwiOlxuICAgICAgcmV0dXJuIFBhZ2UuUEFHRV9VTlNQRUNJRklFRDtcbiAgICBjYXNlIDE6XG4gICAgY2FzZSBcIlBBR0VfRVJST1JfVFJBQ0tJTkdcIjpcbiAgICAgIHJldHVybiBQYWdlLlBBR0VfRVJST1JfVFJBQ0tJTkc7XG4gICAgY2FzZSAyOlxuICAgIGNhc2UgXCJQQUdFX1VTRVJfU0VTU0lPTlwiOlxuICAgICAgcmV0dXJuIFBhZ2UuUEFHRV9VU0VSX1NFU1NJT047XG4gICAgY2FzZSAzOlxuICAgIGNhc2UgXCJQQUdFX1dFQl9WSVRBTFNcIjpcbiAgICAgIHJldHVybiBQYWdlLlBBR0VfV0VCX1ZJVEFMUztcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IGdsb2JhbFRoaXMuRXJyb3IoXCJVbnJlY29nbml6ZWQgZW51bSB2YWx1ZSBcIiArIG9iamVjdCArIFwiIGZvciBlbnVtIFBhZ2VcIik7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhZ2VUb0pTT04ob2JqZWN0OiBQYWdlKTogc3RyaW5nIHtcbiAgc3dpdGNoIChvYmplY3QpIHtcbiAgICBjYXNlIFBhZ2UuUEFHRV9VTlNQRUNJRklFRDpcbiAgICAgIHJldHVybiBcIlBBR0VfVU5TUEVDSUZJRURcIjtcbiAgICBjYXNlIFBhZ2UuUEFHRV9FUlJPUl9UUkFDS0lORzpcbiAgICAgIHJldHVybiBcIlBBR0VfRVJST1JfVFJBQ0tJTkdcIjtcbiAgICBjYXNlIFBhZ2UuUEFHRV9VU0VSX1NFU1NJT046XG4gICAgICByZXR1cm4gXCJQQUdFX1VTRVJfU0VTU0lPTlwiO1xuICAgIGNhc2UgUGFnZS5QQUdFX1dFQl9WSVRBTFM6XG4gICAgICByZXR1cm4gXCJQQUdFX1dFQl9WSVRBTFNcIjtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IGdsb2JhbFRoaXMuRXJyb3IoXCJVbnJlY29nbml6ZWQgZW51bSB2YWx1ZSBcIiArIG9iamVjdCArIFwiIGZvciBlbnVtIFBhZ2VcIik7XG4gIH1cbn1cblxuZXhwb3J0IGVudW0gU2F2ZWRGaWx0ZXJQZXJtaXNzaW9uIHtcbiAgU0FWRURfRklMVEVSX1BFUk1JU1NJT05fVU5TUEVDSUZJRUQgPSAwLFxuICBTQVZFRF9GSUxURVJfUEVSTUlTU0lPTl9QUklWQVRFID0gMSxcbiAgU0FWRURfRklMVEVSX1BFUk1JU1NJT05fUFVCTElDID0gMixcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNhdmVkRmlsdGVyUGVybWlzc2lvbkZyb21KU09OKG9iamVjdDogYW55KTogU2F2ZWRGaWx0ZXJQZXJtaXNzaW9uIHtcbiAgc3dpdGNoIChvYmplY3QpIHtcbiAgICBjYXNlIDA6XG4gICAgY2FzZSBcIlNBVkVEX0ZJTFRFUl9QRVJNSVNTSU9OX1VOU1BFQ0lGSUVEXCI6XG4gICAgICByZXR1cm4gU2F2ZWRGaWx0ZXJQZXJtaXNzaW9uLlNBVkVEX0ZJTFRFUl9QRVJNSVNTSU9OX1VOU1BFQ0lGSUVEO1xuICAgIGNhc2UgMTpcbiAgICBjYXNlIFwiU0FWRURfRklMVEVSX1BFUk1JU1NJT05fUFJJVkFURVwiOlxuICAgICAgcmV0dXJuIFNhdmVkRmlsdGVyUGVybWlzc2lvbi5TQVZFRF9GSUxURVJfUEVSTUlTU0lPTl9QUklWQVRFO1xuICAgIGNhc2UgMjpcbiAgICBjYXNlIFwiU0FWRURfRklMVEVSX1BFUk1JU1NJT05fUFVCTElDXCI6XG4gICAgICByZXR1cm4gU2F2ZWRGaWx0ZXJQZXJtaXNzaW9uLlNBVkVEX0ZJTFRFUl9QRVJNSVNTSU9OX1BVQkxJQztcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IGdsb2JhbFRoaXMuRXJyb3IoXCJVbnJlY29nbml6ZWQgZW51bSB2YWx1ZSBcIiArIG9iamVjdCArIFwiIGZvciBlbnVtIFNhdmVkRmlsdGVyUGVybWlzc2lvblwiKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2F2ZWRGaWx0ZXJQZXJtaXNzaW9uVG9KU09OKG9iamVjdDogU2F2ZWRGaWx0ZXJQZXJtaXNzaW9uKTogc3RyaW5nIHtcbiAgc3dpdGNoIChvYmplY3QpIHtcbiAgICBjYXNlIFNhdmVkRmlsdGVyUGVybWlzc2lvbi5TQVZFRF9GSUxURVJfUEVSTUlTU0lPTl9VTlNQRUNJRklFRDpcbiAgICAgIHJldHVybiBcIlNBVkVEX0ZJTFRFUl9QRVJNSVNTSU9OX1VOU1BFQ0lGSUVEXCI7XG4gICAgY2FzZSBTYXZlZEZpbHRlclBlcm1pc3Npb24uU0FWRURfRklMVEVSX1BFUk1JU1NJT05fUFJJVkFURTpcbiAgICAgIHJldHVybiBcIlNBVkVEX0ZJTFRFUl9QRVJNSVNTSU9OX1BSSVZBVEVcIjtcbiAgICBjYXNlIFNhdmVkRmlsdGVyUGVybWlzc2lvbi5TQVZFRF9GSUxURVJfUEVSTUlTU0lPTl9QVUJMSUM6XG4gICAgICByZXR1cm4gXCJTQVZFRF9GSUxURVJfUEVSTUlTU0lPTl9QVUJMSUNcIjtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IGdsb2JhbFRoaXMuRXJyb3IoXCJVbnJlY29nbml6ZWQgZW51bSB2YWx1ZSBcIiArIG9iamVjdCArIFwiIGZvciBlbnVtIFNhdmVkRmlsdGVyUGVybWlzc2lvblwiKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNhdmVkRmlsdGVyQmFzaWNQcm9wZXJ0aWVzIHtcbiAgbmFtZTogc3RyaW5nO1xuICBpZDogc3RyaW5nO1xuICBwYWdlOiBQYWdlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNhdmVkRmlsdGVyIHtcbiAgc2F2ZWRGaWx0ZXI6IFNhdmVkRmlsdGVyQmFzaWNQcm9wZXJ0aWVzIHwgdW5kZWZpbmVkO1xuICBpc0Zhdm9yaXRlOiBib29sZWFuO1xuICBmYXZvcml0ZUlkPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBwZXJtaXNzaW9uOiBTYXZlZEZpbHRlclBlcm1pc3Npb247XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUJhc2VTYXZlZEZpbHRlckJhc2ljUHJvcGVydGllcygpOiBTYXZlZEZpbHRlckJhc2ljUHJvcGVydGllcyB7XG4gIHJldHVybiB7IG5hbWU6IFwiXCIsIGlkOiBcIlwiLCBwYWdlOiAwIH07XG59XG5cbmV4cG9ydCBjb25zdCBTYXZlZEZpbHRlckJhc2ljUHJvcGVydGllcyA9IHtcbiAgZW5jb2RlKG1lc3NhZ2U6IFNhdmVkRmlsdGVyQmFzaWNQcm9wZXJ0aWVzLCB3cml0ZXI6IF9tMC5Xcml0ZXIgPSBfbTAuV3JpdGVyLmNyZWF0ZSgpKTogX20wLldyaXRlciB7XG4gICAgaWYgKG1lc3NhZ2UubmFtZSAhPT0gXCJcIikge1xuICAgICAgd3JpdGVyLnVpbnQzMigxMCkuc3RyaW5nKG1lc3NhZ2UubmFtZSk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlLmlkICE9PSBcIlwiKSB7XG4gICAgICB3cml0ZXIudWludDMyKDE4KS5zdHJpbmcobWVzc2FnZS5pZCk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlLnBhZ2UgIT09IDApIHtcbiAgICAgIHdyaXRlci51aW50MzIoMjQpLmludDMyKG1lc3NhZ2UucGFnZSk7XG4gICAgfVxuICAgIHJldHVybiB3cml0ZXI7XG4gIH0sXG5cbiAgZGVjb2RlKGlucHV0OiBfbTAuUmVhZGVyIHwgVWludDhBcnJheSwgbGVuZ3RoPzogbnVtYmVyKTogU2F2ZWRGaWx0ZXJCYXNpY1Byb3BlcnRpZXMge1xuICAgIGNvbnN0IHJlYWRlciA9IGlucHV0IGluc3RhbmNlb2YgX20wLlJlYWRlciA/IGlucHV0IDogX20wLlJlYWRlci5jcmVhdGUoaW5wdXQpO1xuICAgIGxldCBlbmQgPSBsZW5ndGggPT09IHVuZGVmaW5lZCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlU2F2ZWRGaWx0ZXJCYXNpY1Byb3BlcnRpZXMoKTtcbiAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIGlmICh0YWcgIT09IDEwKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLm5hbWUgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBpZiAodGFnICE9PSAxOCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5pZCA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIGlmICh0YWcgIT09IDI0KSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLnBhZ2UgPSByZWFkZXIuaW50MzIoKSBhcyBhbnk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoKHRhZyAmIDcpID09PSA0IHx8IHRhZyA9PT0gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgZnJvbUpTT04ob2JqZWN0OiBhbnkpOiBTYXZlZEZpbHRlckJhc2ljUHJvcGVydGllcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IGlzU2V0KG9iamVjdC5uYW1lKSA/IGdsb2JhbFRoaXMuU3RyaW5nKG9iamVjdC5uYW1lKSA6IFwiXCIsXG4gICAgICBpZDogaXNTZXQob2JqZWN0LmlkKSA/IGdsb2JhbFRoaXMuU3RyaW5nKG9iamVjdC5pZCkgOiBcIlwiLFxuICAgICAgcGFnZTogaXNTZXQob2JqZWN0LnBhZ2UpID8gcGFnZUZyb21KU09OKG9iamVjdC5wYWdlKSA6IDAsXG4gICAgfTtcbiAgfSxcblxuICB0b0pTT04obWVzc2FnZTogU2F2ZWRGaWx0ZXJCYXNpY1Byb3BlcnRpZXMpOiB1bmtub3duIHtcbiAgICBjb25zdCBvYmo6IGFueSA9IHt9O1xuICAgIGlmIChtZXNzYWdlLm5hbWUgIT09IFwiXCIpIHtcbiAgICAgIG9iai5uYW1lID0gbWVzc2FnZS5uYW1lO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5pZCAhPT0gXCJcIikge1xuICAgICAgb2JqLmlkID0gbWVzc2FnZS5pZDtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2UucGFnZSAhPT0gMCkge1xuICAgICAgb2JqLnBhZ2UgPSBwYWdlVG9KU09OKG1lc3NhZ2UucGFnZSk7XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG4gIH0sXG5cbiAgY3JlYXRlKGJhc2U/OiBEZWVwUGFydGlhbDxTYXZlZEZpbHRlckJhc2ljUHJvcGVydGllcz4pOiBTYXZlZEZpbHRlckJhc2ljUHJvcGVydGllcyB7XG4gICAgcmV0dXJuIFNhdmVkRmlsdGVyQmFzaWNQcm9wZXJ0aWVzLmZyb21QYXJ0aWFsKGJhc2UgPz8ge30pO1xuICB9LFxuICBmcm9tUGFydGlhbChvYmplY3Q6IERlZXBQYXJ0aWFsPFNhdmVkRmlsdGVyQmFzaWNQcm9wZXJ0aWVzPik6IFNhdmVkRmlsdGVyQmFzaWNQcm9wZXJ0aWVzIHtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZVNhdmVkRmlsdGVyQmFzaWNQcm9wZXJ0aWVzKCk7XG4gICAgbWVzc2FnZS5uYW1lID0gb2JqZWN0Lm5hbWUgPz8gXCJcIjtcbiAgICBtZXNzYWdlLmlkID0gb2JqZWN0LmlkID8/IFwiXCI7XG4gICAgbWVzc2FnZS5wYWdlID0gb2JqZWN0LnBhZ2UgPz8gMDtcbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfSxcbn07XG5cbmZ1bmN0aW9uIGNyZWF0ZUJhc2VTYXZlZEZpbHRlcigpOiBTYXZlZEZpbHRlciB7XG4gIHJldHVybiB7IHNhdmVkRmlsdGVyOiB1bmRlZmluZWQsIGlzRmF2b3JpdGU6IGZhbHNlLCBmYXZvcml0ZUlkOiB1bmRlZmluZWQsIHBlcm1pc3Npb246IDAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IFNhdmVkRmlsdGVyID0ge1xuICBlbmNvZGUobWVzc2FnZTogU2F2ZWRGaWx0ZXIsIHdyaXRlcjogX20wLldyaXRlciA9IF9tMC5Xcml0ZXIuY3JlYXRlKCkpOiBfbTAuV3JpdGVyIHtcbiAgICBpZiAobWVzc2FnZS5zYXZlZEZpbHRlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBTYXZlZEZpbHRlckJhc2ljUHJvcGVydGllcy5lbmNvZGUobWVzc2FnZS5zYXZlZEZpbHRlciwgd3JpdGVyLnVpbnQzMigxMCkuZm9yaygpKS5sZGVsaW0oKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2UuaXNGYXZvcml0ZSA9PT0gdHJ1ZSkge1xuICAgICAgd3JpdGVyLnVpbnQzMigxNikuYm9vbChtZXNzYWdlLmlzRmF2b3JpdGUpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5mYXZvcml0ZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHdyaXRlci51aW50MzIoMjYpLnN0cmluZyhtZXNzYWdlLmZhdm9yaXRlSWQpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5wZXJtaXNzaW9uICE9PSAwKSB7XG4gICAgICB3cml0ZXIudWludDMyKDMyKS5pbnQzMihtZXNzYWdlLnBlcm1pc3Npb24pO1xuICAgIH1cbiAgICByZXR1cm4gd3JpdGVyO1xuICB9LFxuXG4gIGRlY29kZShpbnB1dDogX20wLlJlYWRlciB8IFVpbnQ4QXJyYXksIGxlbmd0aD86IG51bWJlcik6IFNhdmVkRmlsdGVyIHtcbiAgICBjb25zdCByZWFkZXIgPSBpbnB1dCBpbnN0YW5jZW9mIF9tMC5SZWFkZXIgPyBpbnB1dCA6IF9tMC5SZWFkZXIuY3JlYXRlKGlucHV0KTtcbiAgICBsZXQgZW5kID0gbGVuZ3RoID09PSB1bmRlZmluZWQgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZVNhdmVkRmlsdGVyKCk7XG4gICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICBpZiAodGFnICE9PSAxMCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5zYXZlZEZpbHRlciA9IFNhdmVkRmlsdGVyQmFzaWNQcm9wZXJ0aWVzLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBpZiAodGFnICE9PSAxNikge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5pc0Zhdm9yaXRlID0gcmVhZGVyLmJvb2woKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIGlmICh0YWcgIT09IDI2KSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLmZhdm9yaXRlSWQgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgICBpZiAodGFnICE9PSAzMikge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5wZXJtaXNzaW9uID0gcmVhZGVyLmludDMyKCkgYXMgYW55O1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKCh0YWcgJiA3KSA9PT0gNCB8fCB0YWcgPT09IDApIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgfVxuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxuXG4gIGZyb21KU09OKG9iamVjdDogYW55KTogU2F2ZWRGaWx0ZXIge1xuICAgIHJldHVybiB7XG4gICAgICBzYXZlZEZpbHRlcjogaXNTZXQob2JqZWN0LnNhdmVkRmlsdGVyKSA/IFNhdmVkRmlsdGVyQmFzaWNQcm9wZXJ0aWVzLmZyb21KU09OKG9iamVjdC5zYXZlZEZpbHRlcikgOiB1bmRlZmluZWQsXG4gICAgICBpc0Zhdm9yaXRlOiBpc1NldChvYmplY3QuaXNGYXZvcml0ZSkgPyBnbG9iYWxUaGlzLkJvb2xlYW4ob2JqZWN0LmlzRmF2b3JpdGUpIDogZmFsc2UsXG4gICAgICBmYXZvcml0ZUlkOiBpc1NldChvYmplY3QuZmF2b3JpdGVJZCkgPyBnbG9iYWxUaGlzLlN0cmluZyhvYmplY3QuZmF2b3JpdGVJZCkgOiB1bmRlZmluZWQsXG4gICAgICBwZXJtaXNzaW9uOiBpc1NldChvYmplY3QucGVybWlzc2lvbikgPyBzYXZlZEZpbHRlclBlcm1pc3Npb25Gcm9tSlNPTihvYmplY3QucGVybWlzc2lvbikgOiAwLFxuICAgIH07XG4gIH0sXG5cbiAgdG9KU09OKG1lc3NhZ2U6IFNhdmVkRmlsdGVyKTogdW5rbm93biB7XG4gICAgY29uc3Qgb2JqOiBhbnkgPSB7fTtcbiAgICBpZiAobWVzc2FnZS5zYXZlZEZpbHRlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBvYmouc2F2ZWRGaWx0ZXIgPSBTYXZlZEZpbHRlckJhc2ljUHJvcGVydGllcy50b0pTT04obWVzc2FnZS5zYXZlZEZpbHRlcik7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlLmlzRmF2b3JpdGUgPT09IHRydWUpIHtcbiAgICAgIG9iai5pc0Zhdm9yaXRlID0gbWVzc2FnZS5pc0Zhdm9yaXRlO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5mYXZvcml0ZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9iai5mYXZvcml0ZUlkID0gbWVzc2FnZS5mYXZvcml0ZUlkO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5wZXJtaXNzaW9uICE9PSAwKSB7XG4gICAgICBvYmoucGVybWlzc2lvbiA9IHNhdmVkRmlsdGVyUGVybWlzc2lvblRvSlNPTihtZXNzYWdlLnBlcm1pc3Npb24pO1xuICAgIH1cbiAgICByZXR1cm4gb2JqO1xuICB9LFxuXG4gIGNyZWF0ZShiYXNlPzogRGVlcFBhcnRpYWw8U2F2ZWRGaWx0ZXI+KTogU2F2ZWRGaWx0ZXIge1xuICAgIHJldHVybiBTYXZlZEZpbHRlci5mcm9tUGFydGlhbChiYXNlID8/IHt9KTtcbiAgfSxcbiAgZnJvbVBhcnRpYWwob2JqZWN0OiBEZWVwUGFydGlhbDxTYXZlZEZpbHRlcj4pOiBTYXZlZEZpbHRlciB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGNyZWF0ZUJhc2VTYXZlZEZpbHRlcigpO1xuICAgIG1lc3NhZ2Uuc2F2ZWRGaWx0ZXIgPSAob2JqZWN0LnNhdmVkRmlsdGVyICE9PSB1bmRlZmluZWQgJiYgb2JqZWN0LnNhdmVkRmlsdGVyICE9PSBudWxsKVxuICAgICAgPyBTYXZlZEZpbHRlckJhc2ljUHJvcGVydGllcy5mcm9tUGFydGlhbChvYmplY3Quc2F2ZWRGaWx0ZXIpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICBtZXNzYWdlLmlzRmF2b3JpdGUgPSBvYmplY3QuaXNGYXZvcml0ZSA/PyBmYWxzZTtcbiAgICBtZXNzYWdlLmZhdm9yaXRlSWQgPSBvYmplY3QuZmF2b3JpdGVJZCA/PyB1bmRlZmluZWQ7XG4gICAgbWVzc2FnZS5wZXJtaXNzaW9uID0gb2JqZWN0LnBlcm1pc3Npb24gPz8gMDtcbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfSxcbn07XG5cbnR5cGUgQnVpbHRpbiA9IERhdGUgfCBGdW5jdGlvbiB8IFVpbnQ4QXJyYXkgfCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgdHlwZSBEZWVwUGFydGlhbDxUPiA9IFQgZXh0ZW5kcyBCdWlsdGluID8gVFxuICA6IFQgZXh0ZW5kcyBnbG9iYWxUaGlzLkFycmF5PGluZmVyIFU+ID8gZ2xvYmFsVGhpcy5BcnJheTxEZWVwUGFydGlhbDxVPj5cbiAgOiBUIGV4dGVuZHMgUmVhZG9ubHlBcnJheTxpbmZlciBVPiA/IFJlYWRvbmx5QXJyYXk8RGVlcFBhcnRpYWw8VT4+XG4gIDogVCBleHRlbmRzIHsgJGNhc2U6IHN0cmluZyB9ID8geyBbSyBpbiBrZXlvZiBPbWl0PFQsIFwiJGNhc2VcIj5dPzogRGVlcFBhcnRpYWw8VFtLXT4gfSAmIHsgJGNhc2U6IFRbXCIkY2FzZVwiXSB9XG4gIDogVCBleHRlbmRzIHt9ID8geyBbSyBpbiBrZXlvZiBUXT86IERlZXBQYXJ0aWFsPFRbS10+IH1cbiAgOiBQYXJ0aWFsPFQ+O1xuXG5mdW5jdGlvbiBpc1NldCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkO1xufVxuIl19
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import _m0 from "protobufjs/minimal";
|
|
2
|
+
export declare const protobufPackage = "com.coralogix.rum.v2";
|
|
3
|
+
export declare enum SnoozeType {
|
|
4
|
+
SNOOZE_TYPE_UNSPECIFIED = 0,
|
|
5
|
+
SNOOZE_TYPE_TEMPLATE_ID = 1,
|
|
6
|
+
SNOOZE_TYPE_CATEGORY = 2
|
|
7
|
+
}
|
|
8
|
+
export declare function snoozeTypeFromJSON(object: any): SnoozeType;
|
|
9
|
+
export declare function snoozeTypeToJSON(object: SnoozeType): string;
|
|
10
|
+
export declare enum SnoozeCondition {
|
|
11
|
+
SNOOZE_CONDITION_UNSPECIFIED = 0,
|
|
12
|
+
SNOOZE_CONDITION_TIME = 1
|
|
13
|
+
}
|
|
14
|
+
export declare function snoozeConditionFromJSON(object: any): SnoozeCondition;
|
|
15
|
+
export declare function snoozeConditionToJSON(object: SnoozeCondition): string;
|
|
16
|
+
export declare enum SnoozeStatus {
|
|
17
|
+
SNOOZE_STATUS_UNSPECIFIED = 0,
|
|
18
|
+
SNOOZE_STATUS_ACTIVE = 1,
|
|
19
|
+
SNOOZE_STATUS_EXPIRING_SOON = 2,
|
|
20
|
+
SNOOZE_STATUS_UPDATED = 3
|
|
21
|
+
}
|
|
22
|
+
export declare function snoozeStatusFromJSON(object: any): SnoozeStatus;
|
|
23
|
+
export declare function snoozeStatusToJSON(object: SnoozeStatus): string;
|
|
24
|
+
export interface Category {
|
|
25
|
+
key: string;
|
|
26
|
+
values: string[];
|
|
27
|
+
}
|
|
28
|
+
export interface Categories {
|
|
29
|
+
categories: Category[];
|
|
30
|
+
}
|
|
31
|
+
export interface TimeCondition {
|
|
32
|
+
endTime: number;
|
|
33
|
+
}
|
|
34
|
+
export interface TimeBasedSnooze {
|
|
35
|
+
snoozeDetails?: {
|
|
36
|
+
$case: "categories";
|
|
37
|
+
categories: Categories;
|
|
38
|
+
} | {
|
|
39
|
+
$case: "template";
|
|
40
|
+
template: string;
|
|
41
|
+
} | undefined;
|
|
42
|
+
endTime: number;
|
|
43
|
+
}
|
|
44
|
+
export interface Management {
|
|
45
|
+
snoozeType: SnoozeType;
|
|
46
|
+
snoozeCondition: SnoozeCondition;
|
|
47
|
+
snoozeStatus: SnoozeStatus;
|
|
48
|
+
initialTime: number;
|
|
49
|
+
expiresTime: number;
|
|
50
|
+
snoozeDetails?: {
|
|
51
|
+
$case: "template";
|
|
52
|
+
template: string;
|
|
53
|
+
} | {
|
|
54
|
+
$case: "categories";
|
|
55
|
+
categories: Categories;
|
|
56
|
+
} | undefined;
|
|
57
|
+
id: string;
|
|
58
|
+
}
|
|
59
|
+
export declare const Category: {
|
|
60
|
+
encode(message: Category, writer?: _m0.Writer): _m0.Writer;
|
|
61
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): Category;
|
|
62
|
+
fromJSON(object: any): Category;
|
|
63
|
+
toJSON(message: Category): unknown;
|
|
64
|
+
create(base?: DeepPartial<Category>): Category;
|
|
65
|
+
fromPartial(object: DeepPartial<Category>): Category;
|
|
66
|
+
};
|
|
67
|
+
export declare const Categories: {
|
|
68
|
+
encode(message: Categories, writer?: _m0.Writer): _m0.Writer;
|
|
69
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): Categories;
|
|
70
|
+
fromJSON(object: any): Categories;
|
|
71
|
+
toJSON(message: Categories): unknown;
|
|
72
|
+
create(base?: DeepPartial<Categories>): Categories;
|
|
73
|
+
fromPartial(object: DeepPartial<Categories>): Categories;
|
|
74
|
+
};
|
|
75
|
+
export declare const TimeCondition: {
|
|
76
|
+
encode(message: TimeCondition, writer?: _m0.Writer): _m0.Writer;
|
|
77
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): TimeCondition;
|
|
78
|
+
fromJSON(object: any): TimeCondition;
|
|
79
|
+
toJSON(message: TimeCondition): unknown;
|
|
80
|
+
create(base?: DeepPartial<TimeCondition>): TimeCondition;
|
|
81
|
+
fromPartial(object: DeepPartial<TimeCondition>): TimeCondition;
|
|
82
|
+
};
|
|
83
|
+
export declare const TimeBasedSnooze: {
|
|
84
|
+
encode(message: TimeBasedSnooze, writer?: _m0.Writer): _m0.Writer;
|
|
85
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): TimeBasedSnooze;
|
|
86
|
+
fromJSON(object: any): TimeBasedSnooze;
|
|
87
|
+
toJSON(message: TimeBasedSnooze): unknown;
|
|
88
|
+
create(base?: DeepPartial<TimeBasedSnooze>): TimeBasedSnooze;
|
|
89
|
+
fromPartial(object: DeepPartial<TimeBasedSnooze>): TimeBasedSnooze;
|
|
90
|
+
};
|
|
91
|
+
export declare const Management: {
|
|
92
|
+
encode(message: Management, writer?: _m0.Writer): _m0.Writer;
|
|
93
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): Management;
|
|
94
|
+
fromJSON(object: any): Management;
|
|
95
|
+
toJSON(message: Management): unknown;
|
|
96
|
+
create(base?: DeepPartial<Management>): Management;
|
|
97
|
+
fromPartial(object: DeepPartial<Management>): Management;
|
|
98
|
+
};
|
|
99
|
+
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
|
100
|
+
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 {
|
|
101
|
+
$case: string;
|
|
102
|
+
} ? {
|
|
103
|
+
[K in keyof Omit<T, "$case">]?: DeepPartial<T[K]>;
|
|
104
|
+
} & {
|
|
105
|
+
$case: T["$case"];
|
|
106
|
+
} : T extends {} ? {
|
|
107
|
+
[K in keyof T]?: DeepPartial<T[K]>;
|
|
108
|
+
} : Partial<T>;
|
|
109
|
+
export {};
|