@coralogix/rum-cli 1.1.2 → 1.1.4
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 +24 -7
- package/api/rum-api.ts +3 -3
- package/dist/api/rum-api.d.ts +1 -1
- package/dist/api/rum-api.js +2 -2
- package/dist/proto-models/com/coralogix/rum/v2/audit_log.js +62 -0
- package/dist/proto-models/com/coralogix/rum/v2/chunk.js +330 -0
- package/dist/proto-models/com/coralogix/rum/v2/file.js +140 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_service.js +233 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.js +181 -0
- package/dist/proto-models/com/coralogix/rum/v2/source_code_file_mapping.js +277 -0
- package/dist/proto-models/google/protobuf/descriptor.js +3612 -0
- package/dist/services/source-maps/source-maps.service.js +2 -2
- package/dist/services/source-maps/utils/traverse-folder.util.d.ts +1 -1
- package/dist/services/source-maps/utils/traverse-folder.util.js +1 -1
- package/generate-protos.sh +3 -3
- package/package.json +2 -2
- package/protoset.bin +0 -0
- package/services/source-maps/source-maps.service.ts +1 -1
- package/services/source-maps/utils/traverse-folder.util.ts +2 -2
- package/dist/src/app/proto-models/com/coralogix/rum/v2/audit_log.js +0 -62
- package/dist/src/app/proto-models/com/coralogix/rum/v2/chunk.js +0 -330
- package/dist/src/app/proto-models/com/coralogix/rum/v2/file.js +0 -140
- package/dist/src/app/proto-models/com/coralogix/rum/v2/rum_service.js +0 -233
- package/dist/src/app/proto-models/com/coralogix/rum/v2/rum_source_map_service.js +0 -181
- package/dist/src/app/proto-models/com/coralogix/rum/v2/source_code_file_mapping.js +0 -277
- package/dist/src/app/proto-models/google/protobuf/descriptor.js +0 -3612
- /package/dist/{src/app/proto-models → proto-models}/com/coralogix/rum/v2/audit_log.d.ts +0 -0
- /package/dist/{src/app/proto-models → proto-models}/com/coralogix/rum/v2/chunk.d.ts +0 -0
- /package/dist/{src/app/proto-models → proto-models}/com/coralogix/rum/v2/file.d.ts +0 -0
- /package/dist/{src/app/proto-models → proto-models}/com/coralogix/rum/v2/rum_service.d.ts +0 -0
- /package/dist/{src/app/proto-models → proto-models}/com/coralogix/rum/v2/rum_source_map_service.d.ts +0 -0
- /package/dist/{src/app/proto-models → proto-models}/com/coralogix/rum/v2/source_code_file_mapping.d.ts +0 -0
- /package/dist/{src/app/proto-models → proto-models}/google/protobuf/descriptor.d.ts +0 -0
- /package/{src/app/proto-models → proto-models}/com/coralogix/rum/v2/audit_log.ts +0 -0
- /package/{src/app/proto-models → proto-models}/com/coralogix/rum/v2/chunk.ts +0 -0
- /package/{src/app/proto-models → proto-models}/com/coralogix/rum/v2/file.ts +0 -0
- /package/{src/app/proto-models → proto-models}/com/coralogix/rum/v2/rum_service.ts +0 -0
- /package/{src/app/proto-models → proto-models}/com/coralogix/rum/v2/rum_source_map_service.ts +0 -0
- /package/{src/app/proto-models → proto-models}/com/coralogix/rum/v2/source_code_file_mapping.ts +0 -0
- /package/{src/app/proto-models → proto-models}/google/protobuf/descriptor.ts +0 -0
|
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.SourceMapsService = void 0;
|
|
13
|
-
const rum_source_map_service_1 = require("../../
|
|
13
|
+
const rum_source_map_service_1 = require("../../proto-models/com/coralogix/rum/v2/rum_source_map_service");
|
|
14
14
|
const traverse_folder_util_1 = require("./utils/traverse-folder.util");
|
|
15
15
|
const rum_api_1 = require("../../api/rum-api");
|
|
16
16
|
const theme_1 = require("../../cli/theme");
|
|
@@ -39,4 +39,4 @@ class SourceMapsService {
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
exports.SourceMapsService = SourceMapsService;
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLW1hcHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NlcnZpY2VzL3NvdXJjZS1tYXBzL3NvdXJjZS1tYXBzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsMkdBQXVHO0FBQ3ZHLHVFQUE0RDtBQUM1RCwrQ0FBeUM7QUFDekMsMkNBQW1FO0FBRW5FLE1BQWEsaUJBQWlCO0lBQzFCLE1BQU0sQ0FBTyxNQUFNLENBQUMsV0FBbUIsRUFBRSxTQUFpQixFQUFFLFFBQWdCLEVBQUUsVUFBa0IsRUFBRSxPQUFlLEVBQUUsVUFBa0IsRUFBRSxHQUFXLEVBQUUsVUFBa0I7O1lBQ2xLLE1BQU0sT0FBTyxHQUFHLGdEQUF1QixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRWpELE9BQU8sQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1lBQ2xDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1lBQzlCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1lBQ2hDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO1lBRXZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQVUsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1lBRXZELElBQUk7Z0JBQ0EsTUFBTSxJQUFBLHFDQUFjLEVBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUUxQyxNQUFNLGdCQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFFeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBVyxFQUFFLHNDQUFzQyxDQUFDLENBQUM7Z0JBQ2pFLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQVcsRUFBRSxrQ0FBa0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRixPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFXLEVBQUUsd0JBQXdCLENBQUMsQ0FBQzthQUN0RDtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQVMsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO2dCQUM5QyxPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDbkM7UUFDTCxDQUFDO0tBQUE7Q0FDSjtBQXpCRCw4Q0F5QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1VwbG9hZFNvdXJjZU1hcHNSZXF1ZXN0fSBmcm9tIFwiLi4vLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvcnVtL3YyL3J1bV9zb3VyY2VfbWFwX3NlcnZpY2VcIjtcbmltcG9ydCB7dHJhdmVyc2VGb2xkZXJ9IGZyb20gXCIuL3V0aWxzL3RyYXZlcnNlLWZvbGRlci51dGlsXCI7XG5pbXBvcnQge1J1bUFwaX0gZnJvbSBcIi4uLy4uL2FwaS9ydW0tYXBpXCI7XG5pbXBvcnQge0dSQVlfQ09MT1IsIEdSRUVOX0NPTE9SLCBSRURfQ09MT1J9IGZyb20gXCIuLi8uLi9jbGkvdGhlbWVcIjtcblxuZXhwb3J0IGNsYXNzIFNvdXJjZU1hcHNTZXJ2aWNlIHtcbiAgICBzdGF0aWMgYXN5bmMgdXBsb2FkKGFwcGxpY2F0aW9uOiBzdHJpbmcsIHJlbGVhc2VJZDogc3RyaW5nLCByZXBvTmFtZTogc3RyaW5nLCBjb21taXRIYXNoOiBzdHJpbmcsIG9yZ05hbWU6IHN0cmluZywgZm9sZGVyUGF0aDogc3RyaW5nLCBlbnY6IHN0cmluZywgcHJpdmF0ZUtleTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBVcGxvYWRTb3VyY2VNYXBzUmVxdWVzdC5jcmVhdGUoKTtcblxuICAgICAgICByZXF1ZXN0LmFwcGxpY2F0aW9uID0gYXBwbGljYXRpb247XG4gICAgICAgIHJlcXVlc3QucmVsZWFzZUlkID0gcmVsZWFzZUlkO1xuICAgICAgICByZXF1ZXN0LnJlcG9OYW1lID0gcmVwb05hbWU7XG4gICAgICAgIHJlcXVlc3QuY29tbWl0SGFzaCA9IGNvbW1pdEhhc2g7XG4gICAgICAgIHJlcXVlc3QudXNlciA9IG9yZ05hbWU7XG5cbiAgICAgICAgY29uc29sZS5sb2coR1JBWV9DT0xPUiwgJ/CfmoAgVXBsb2FkaW5nIHNvdXJjZSBtYXBzLi4uJyk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IHRyYXZlcnNlRm9sZGVyKGZvbGRlclBhdGgsIHJlcXVlc3QpO1xuXG4gICAgICAgICAgICBhd2FpdCBSdW1BcGkudXBsb2FkU291cmNlTWFwcyhyZXF1ZXN0LCBlbnYsIHByaXZhdGVLZXkpO1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhHUkVFTl9DT0xPUiwgJ+KchSBTb3VyY2UgbWFwcyB1cGxvYWRlZCBzdWNjZXNzZnVsbHkhJyk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhHUkVFTl9DT0xPUiwgYOKchSBUb3RhbCBjaHVuayBmaWxlcyBwcm9jZXNzZWQ6ICR7cmVxdWVzdC5maWxlcy5sZW5ndGh9YCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhHUkVFTl9DT0xPUiwgJ+KchSBQcm9jZXNzaW5nIGNvbXBsZXRlLicpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5sb2coUkVEX0NPTE9SLCAn4p2MIEFuIGVycm9yIG9jY3VycmVkJyk7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFJFRF9DT0xPUiwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxufSJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { UploadSourceMapsRequest } from "../../../
|
|
1
|
+
import { UploadSourceMapsRequest } from "../../../proto-models/com/coralogix/rum/v2/rum_source_map_service";
|
|
2
2
|
export declare const traverseFolder: (folderPath: string, request: UploadSourceMapsRequest) => Promise<void>;
|
|
@@ -39,4 +39,4 @@ const getFileMetadata = (filePath) => __awaiter(void 0, void 0, void 0, function
|
|
|
39
39
|
const content = yield readFile(filePath);
|
|
40
40
|
return { chunkName: name, size, content };
|
|
41
41
|
});
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhdmVyc2UtZm9sZGVyLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zZXJ2aWNlcy9zb3VyY2UtbWFwcy91dGlscy90cmF2ZXJzZS1mb2xkZXIudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQkFBa0Q7QUFDbEQsZ0RBQXdCO0FBSXhCLE1BQU0sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBQyxHQUFHLGFBQVUsQ0FBQztBQUV0QyxNQUFNLGNBQWMsR0FBRyxDQUFPLFVBQWtCLEVBQUUsT0FBZ0MsRUFBaUIsRUFBRTtJQUN4RyxNQUFNLEtBQUssR0FBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXJDLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBRTtRQUNqQixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDaEMsTUFBTSxPQUFPLEdBQWEsTUFBTSxPQUFPLENBQUMsV0FBWSxFQUFFLEVBQUMsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFFN0UsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBTyxJQUFZLEVBQUUsRUFBRTtZQUNqRCxNQUFNLEVBQUMsSUFBSSxFQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLE1BQU0sU0FBUyxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsV0FBcUIsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN6RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUUvRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFFekMsSUFBSSxZQUFZO2dCQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDaEYsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDO0tBQ1A7QUFDTCxDQUFDLENBQUEsQ0FBQTtBQWpCWSxRQUFBLGNBQWMsa0JBaUIxQjtBQUVELE1BQU0sZUFBZSxHQUFHLENBQU8sUUFBZ0IsRUFBeUIsRUFBRTtJQUN0RSxNQUFNLEVBQUMsSUFBSSxFQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEMsTUFBTSxFQUFDLElBQUksRUFBQyxHQUFHLGNBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFekMsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlbnQsIHByb21pc2VzIGFzIGZzUHJvbWlzZXN9IGZyb20gXCJmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7VXBsb2FkU291cmNlTWFwc1JlcXVlc3R9IGZyb20gXCIuLi8uLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ydW0vdjIvcnVtX3NvdXJjZV9tYXBfc2VydmljZVwiO1xuaW1wb3J0IHtGaWxlTWV0YWRhdGF9IGZyb20gXCIuLi8uLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ydW0vdjIvZmlsZVwiO1xuXG5jb25zdCB7cmVhZGRpciwgc3RhdCwgcmVhZEZpbGV9ID0gZnNQcm9taXNlcztcblxuZXhwb3J0IGNvbnN0IHRyYXZlcnNlRm9sZGVyID0gYXN5bmMgKGZvbGRlclBhdGg6IHN0cmluZywgcmVxdWVzdDogVXBsb2FkU291cmNlTWFwc1JlcXVlc3QpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBjb25zdCBzdGFjazogc3RyaW5nW10gPSBbZm9sZGVyUGF0aF07XG5cbiAgICB3aGlsZSAoc3RhY2subGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRQYXRoID0gc3RhY2sucG9wKCk7XG4gICAgICAgIGNvbnN0IGVudHJpZXM6IERpcmVudFtdID0gYXdhaXQgcmVhZGRpcihjdXJyZW50UGF0aCEsIHt3aXRoRmlsZVR5cGVzOiB0cnVlfSk7XG5cbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoZW50cmllcy5tYXAoYXN5bmMgKGZpbGU6IERpcmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qge25hbWV9ID0gZmlsZTtcbiAgICAgICAgICAgIGNvbnN0IGVudHJ5UGF0aCA9IHBhdGguam9pbihjdXJyZW50UGF0aCBhcyBzdHJpbmcsIG5hbWUpO1xuICAgICAgICAgICAgY29uc3QgaXNEb3RNYXBGaWxlID0gZmlsZS5pc0ZpbGUoKSAmJiBuYW1lLmVuZHNXaXRoKCcuanMubWFwJyk7XG5cbiAgICAgICAgICAgIGlmIChmaWxlLmlzRGlyZWN0b3J5KCkpIHN0YWNrLnB1c2goZW50cnlQYXRoKTtcblxuICAgICAgICAgICAgZWxzZSBpZiAoaXNEb3RNYXBGaWxlKSByZXF1ZXN0LmZpbGVzLnB1c2goYXdhaXQgZ2V0RmlsZU1ldGFkYXRhKGVudHJ5UGF0aCkpO1xuICAgICAgICB9KSk7XG4gICAgfVxufVxuXG5jb25zdCBnZXRGaWxlTWV0YWRhdGEgPSBhc3luYyAoZmlsZVBhdGg6IHN0cmluZyk6IFByb21pc2U8RmlsZU1ldGFkYXRhPiA9PiB7XG4gICAgY29uc3Qge3NpemV9ID0gYXdhaXQgc3RhdChmaWxlUGF0aCk7XG4gICAgY29uc3Qge25hbWV9ID0gcGF0aC5wYXJzZShmaWxlUGF0aCk7XG4gICAgY29uc3QgY29udGVudCA9IGF3YWl0IHJlYWRGaWxlKGZpbGVQYXRoKTtcblxuICAgIHJldHVybiB7Y2h1bmtOYW1lOiBuYW1lLCBzaXplLCBjb250ZW50fTtcbn1cbiJdfQ==
|
package/generate-protos.sh
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
if [ -d "./
|
|
2
|
-
mkdir -p ./
|
|
1
|
+
if [ -d "./proto-models" ]; then rm -Rf ./proto-models; fi
|
|
2
|
+
mkdir -p ./proto-models
|
|
3
3
|
|
|
4
4
|
protofetch fetch -f
|
|
5
5
|
|
|
6
6
|
./node_modules/.bin/grpc_tools_node_protoc \
|
|
7
7
|
--plugin=protoc-gen-ts_proto=./node_modules/.bin/protoc-gen-ts_proto \
|
|
8
|
-
--ts_proto_out=./
|
|
8
|
+
--ts_proto_out=./proto-models \
|
|
9
9
|
--descriptor_set_out=./protoset.bin --include_imports \
|
|
10
10
|
--ts_proto_opt=oneof=unions \
|
|
11
11
|
--ts_proto_opt=unrecognizedEnum=false \
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coralogix/rum-cli",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"description": "corlogix rum cli",
|
|
5
5
|
"bin": {
|
|
6
6
|
"coralogix-rum-cli": "dist/cli/rum-cli.js"
|
|
@@ -42,5 +42,5 @@
|
|
|
42
42
|
},
|
|
43
43
|
"keywords": [],
|
|
44
44
|
"author": "",
|
|
45
|
-
"license": "
|
|
45
|
+
"license": "MIT"
|
|
46
46
|
}
|
package/protoset.bin
CHANGED
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {UploadSourceMapsRequest} from "../../
|
|
1
|
+
import {UploadSourceMapsRequest} from "../../proto-models/com/coralogix/rum/v2/rum_source_map_service";
|
|
2
2
|
import {traverseFolder} from "./utils/traverse-folder.util";
|
|
3
3
|
import {RumApi} from "../../api/rum-api";
|
|
4
4
|
import {GRAY_COLOR, GREEN_COLOR, RED_COLOR} from "../../cli/theme";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {Dirent, promises as fsPromises} from "fs";
|
|
2
2
|
import path from "path";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import {UploadSourceMapsRequest} from "../../../proto-models/com/coralogix/rum/v2/rum_source_map_service";
|
|
4
|
+
import {FileMetadata} from "../../../proto-models/com/coralogix/rum/v2/file";
|
|
5
5
|
|
|
6
6
|
const {readdir, stat, readFile} = fsPromises;
|
|
7
7
|
|
|
@@ -1,62 +0,0 @@
|
|
|
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.AuditLogDescription = exports.protobufPackage = void 0;
|
|
7
|
-
/* eslint-disable */
|
|
8
|
-
const minimal_1 = __importDefault(require("protobufjs/minimal"));
|
|
9
|
-
exports.protobufPackage = "com.coralogix.rum.v2";
|
|
10
|
-
function createBaseAuditLogDescription() {
|
|
11
|
-
return { description: undefined };
|
|
12
|
-
}
|
|
13
|
-
exports.AuditLogDescription = {
|
|
14
|
-
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
15
|
-
if (message.description !== undefined) {
|
|
16
|
-
writer.uint32(10).string(message.description);
|
|
17
|
-
}
|
|
18
|
-
return writer;
|
|
19
|
-
},
|
|
20
|
-
decode(input, length) {
|
|
21
|
-
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
22
|
-
let end = length === undefined ? reader.len : reader.pos + length;
|
|
23
|
-
const message = createBaseAuditLogDescription();
|
|
24
|
-
while (reader.pos < end) {
|
|
25
|
-
const tag = reader.uint32();
|
|
26
|
-
switch (tag >>> 3) {
|
|
27
|
-
case 1:
|
|
28
|
-
if (tag !== 10) {
|
|
29
|
-
break;
|
|
30
|
-
}
|
|
31
|
-
message.description = reader.string();
|
|
32
|
-
continue;
|
|
33
|
-
}
|
|
34
|
-
if ((tag & 7) === 4 || tag === 0) {
|
|
35
|
-
break;
|
|
36
|
-
}
|
|
37
|
-
reader.skipType(tag & 7);
|
|
38
|
-
}
|
|
39
|
-
return message;
|
|
40
|
-
},
|
|
41
|
-
fromJSON(object) {
|
|
42
|
-
return { description: isSet(object.description) ? String(object.description) : undefined };
|
|
43
|
-
},
|
|
44
|
-
toJSON(message) {
|
|
45
|
-
const obj = {};
|
|
46
|
-
message.description !== undefined && (obj.description = message.description);
|
|
47
|
-
return obj;
|
|
48
|
-
},
|
|
49
|
-
create(base) {
|
|
50
|
-
return exports.AuditLogDescription.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
51
|
-
},
|
|
52
|
-
fromPartial(object) {
|
|
53
|
-
var _a;
|
|
54
|
-
const message = createBaseAuditLogDescription();
|
|
55
|
-
message.description = (_a = object.description) !== null && _a !== void 0 ? _a : undefined;
|
|
56
|
-
return message;
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
function isSet(value) {
|
|
60
|
-
return value !== null && value !== undefined;
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXRfbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ydW0vdjIvYXVkaXRfbG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9CQUFvQjtBQUNwQixpRUFBcUM7QUFFeEIsUUFBQSxlQUFlLEdBQUcsc0JBQXNCLENBQUM7QUFNdEQsU0FBUyw2QkFBNkI7SUFDcEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsQ0FBQztBQUNwQyxDQUFDO0FBRVksUUFBQSxtQkFBbUIsR0FBRztJQUNqQyxNQUFNLENBQUMsT0FBNEIsRUFBRSxTQUFxQixpQkFBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDM0UsSUFBSSxPQUFPLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRTtZQUNyQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDL0M7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQThCLEVBQUUsTUFBZTtRQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksaUJBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsaUJBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlFLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLDZCQUE2QixFQUFFLENBQUM7UUFDaEQsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixLQUFLLENBQUM7b0JBQ0osSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFO3dCQUNkLE1BQU07cUJBQ1A7b0JBRUQsT0FBTyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3RDLFNBQVM7YUFDWjtZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQ2hDLE1BQU07YUFDUDtZQUNELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDN0YsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUE0QjtRQUNqQyxNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLFdBQVcsS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3RSxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBdUM7UUFDNUMsT0FBTywyQkFBbUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxhQUFKLElBQUksY0FBSixJQUFJLEdBQUksRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUF3Qzs7UUFDbEQsTUFBTSxPQUFPLEdBQUcsNkJBQTZCLEVBQUUsQ0FBQztRQUNoRCxPQUFPLENBQUMsV0FBVyxHQUFHLE1BQUEsTUFBTSxDQUFDLFdBQVcsbUNBQUksU0FBUyxDQUFDO1FBQ3RELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRixDQUFDO0FBVUYsU0FBUyxLQUFLLENBQUMsS0FBVTtJQUN2QixPQUFPLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsQ0FBQztBQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgKi9cbmltcG9ydCBfbTAgZnJvbSBcInByb3RvYnVmanMvbWluaW1hbFwiO1xuXG5leHBvcnQgY29uc3QgcHJvdG9idWZQYWNrYWdlID0gXCJjb20uY29yYWxvZ2l4LnJ1bS52MlwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1ZGl0TG9nRGVzY3JpcHRpb24ge1xuICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQmFzZUF1ZGl0TG9nRGVzY3JpcHRpb24oKTogQXVkaXRMb2dEZXNjcmlwdGlvbiB7XG4gIHJldHVybiB7IGRlc2NyaXB0aW9uOiB1bmRlZmluZWQgfTtcbn1cblxuZXhwb3J0IGNvbnN0IEF1ZGl0TG9nRGVzY3JpcHRpb24gPSB7XG4gIGVuY29kZShtZXNzYWdlOiBBdWRpdExvZ0Rlc2NyaXB0aW9uLCB3cml0ZXI6IF9tMC5Xcml0ZXIgPSBfbTAuV3JpdGVyLmNyZWF0ZSgpKTogX20wLldyaXRlciB7XG4gICAgaWYgKG1lc3NhZ2UuZGVzY3JpcHRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgd3JpdGVyLnVpbnQzMigxMCkuc3RyaW5nKG1lc3NhZ2UuZGVzY3JpcHRpb24pO1xuICAgIH1cbiAgICByZXR1cm4gd3JpdGVyO1xuICB9LFxuXG4gIGRlY29kZShpbnB1dDogX20wLlJlYWRlciB8IFVpbnQ4QXJyYXksIGxlbmd0aD86IG51bWJlcik6IEF1ZGl0TG9nRGVzY3JpcHRpb24ge1xuICAgIGNvbnN0IHJlYWRlciA9IGlucHV0IGluc3RhbmNlb2YgX20wLlJlYWRlciA/IGlucHV0IDogX20wLlJlYWRlci5jcmVhdGUoaW5wdXQpO1xuICAgIGxldCBlbmQgPSBsZW5ndGggPT09IHVuZGVmaW5lZCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlQXVkaXRMb2dEZXNjcmlwdGlvbigpO1xuICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgaWYgKHRhZyAhPT0gMTApIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1lc3NhZ2UuZGVzY3JpcHRpb24gPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoKHRhZyAmIDcpID09PSA0IHx8IHRhZyA9PT0gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgZnJvbUpTT04ob2JqZWN0OiBhbnkpOiBBdWRpdExvZ0Rlc2NyaXB0aW9uIHtcbiAgICByZXR1cm4geyBkZXNjcmlwdGlvbjogaXNTZXQob2JqZWN0LmRlc2NyaXB0aW9uKSA/IFN0cmluZyhvYmplY3QuZGVzY3JpcHRpb24pIDogdW5kZWZpbmVkIH07XG4gIH0sXG5cbiAgdG9KU09OKG1lc3NhZ2U6IEF1ZGl0TG9nRGVzY3JpcHRpb24pOiB1bmtub3duIHtcbiAgICBjb25zdCBvYmo6IGFueSA9IHt9O1xuICAgIG1lc3NhZ2UuZGVzY3JpcHRpb24gIT09IHVuZGVmaW5lZCAmJiAob2JqLmRlc2NyaXB0aW9uID0gbWVzc2FnZS5kZXNjcmlwdGlvbik7XG4gICAgcmV0dXJuIG9iajtcbiAgfSxcblxuICBjcmVhdGUoYmFzZT86IERlZXBQYXJ0aWFsPEF1ZGl0TG9nRGVzY3JpcHRpb24+KTogQXVkaXRMb2dEZXNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIEF1ZGl0TG9nRGVzY3JpcHRpb24uZnJvbVBhcnRpYWwoYmFzZSA/PyB7fSk7XG4gIH0sXG5cbiAgZnJvbVBhcnRpYWwob2JqZWN0OiBEZWVwUGFydGlhbDxBdWRpdExvZ0Rlc2NyaXB0aW9uPik6IEF1ZGl0TG9nRGVzY3JpcHRpb24ge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlQXVkaXRMb2dEZXNjcmlwdGlvbigpO1xuICAgIG1lc3NhZ2UuZGVzY3JpcHRpb24gPSBvYmplY3QuZGVzY3JpcHRpb24gPz8gdW5kZWZpbmVkO1xuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxufTtcblxudHlwZSBCdWlsdGluID0gRGF0ZSB8IEZ1bmN0aW9uIHwgVWludDhBcnJheSB8IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIERlZXBQYXJ0aWFsPFQ+ID0gVCBleHRlbmRzIEJ1aWx0aW4gPyBUXG4gIDogVCBleHRlbmRzIEFycmF5PGluZmVyIFU+ID8gQXJyYXk8RGVlcFBhcnRpYWw8VT4+IDogVCBleHRlbmRzIFJlYWRvbmx5QXJyYXk8aW5mZXIgVT4gPyBSZWFkb25seUFycmF5PERlZXBQYXJ0aWFsPFU+PlxuICA6IFQgZXh0ZW5kcyB7ICRjYXNlOiBzdHJpbmcgfSA/IHsgW0sgaW4ga2V5b2YgT21pdDxULCBcIiRjYXNlXCI+XT86IERlZXBQYXJ0aWFsPFRbS10+IH0gJiB7ICRjYXNlOiBUW1wiJGNhc2VcIl0gfVxuICA6IFQgZXh0ZW5kcyB7fSA/IHsgW0sgaW4ga2V5b2YgVF0/OiBEZWVwUGFydGlhbDxUW0tdPiB9XG4gIDogUGFydGlhbDxUPjtcblxuZnVuY3Rpb24gaXNTZXQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZDtcbn1cbiJdfQ==
|
|
@@ -1,330 +0,0 @@
|
|
|
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.MappedChunk = exports.CodeLine = exports.Chunk = exports.protobufPackage = void 0;
|
|
7
|
-
/* eslint-disable */
|
|
8
|
-
const long_1 = __importDefault(require("long"));
|
|
9
|
-
const minimal_1 = __importDefault(require("protobufjs/minimal"));
|
|
10
|
-
exports.protobufPackage = "com.coralogix.rum.v2";
|
|
11
|
-
function createBaseChunk() {
|
|
12
|
-
return { chunkName: "", generatedLineNumber: 0, generatedColumnNumber: 0 };
|
|
13
|
-
}
|
|
14
|
-
exports.Chunk = {
|
|
15
|
-
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
16
|
-
if (message.chunkName !== "") {
|
|
17
|
-
writer.uint32(10).string(message.chunkName);
|
|
18
|
-
}
|
|
19
|
-
if (message.generatedLineNumber !== 0) {
|
|
20
|
-
writer.uint32(16).int64(message.generatedLineNumber);
|
|
21
|
-
}
|
|
22
|
-
if (message.generatedColumnNumber !== 0) {
|
|
23
|
-
writer.uint32(24).int64(message.generatedColumnNumber);
|
|
24
|
-
}
|
|
25
|
-
return writer;
|
|
26
|
-
},
|
|
27
|
-
decode(input, length) {
|
|
28
|
-
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
29
|
-
let end = length === undefined ? reader.len : reader.pos + length;
|
|
30
|
-
const message = createBaseChunk();
|
|
31
|
-
while (reader.pos < end) {
|
|
32
|
-
const tag = reader.uint32();
|
|
33
|
-
switch (tag >>> 3) {
|
|
34
|
-
case 1:
|
|
35
|
-
if (tag !== 10) {
|
|
36
|
-
break;
|
|
37
|
-
}
|
|
38
|
-
message.chunkName = reader.string();
|
|
39
|
-
continue;
|
|
40
|
-
case 2:
|
|
41
|
-
if (tag !== 16) {
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
message.generatedLineNumber = longToNumber(reader.int64());
|
|
45
|
-
continue;
|
|
46
|
-
case 3:
|
|
47
|
-
if (tag !== 24) {
|
|
48
|
-
break;
|
|
49
|
-
}
|
|
50
|
-
message.generatedColumnNumber = longToNumber(reader.int64());
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
if ((tag & 7) === 4 || tag === 0) {
|
|
54
|
-
break;
|
|
55
|
-
}
|
|
56
|
-
reader.skipType(tag & 7);
|
|
57
|
-
}
|
|
58
|
-
return message;
|
|
59
|
-
},
|
|
60
|
-
fromJSON(object) {
|
|
61
|
-
return {
|
|
62
|
-
chunkName: isSet(object.chunkName) ? String(object.chunkName) : "",
|
|
63
|
-
generatedLineNumber: isSet(object.generatedLineNumber) ? Number(object.generatedLineNumber) : 0,
|
|
64
|
-
generatedColumnNumber: isSet(object.generatedColumnNumber) ? Number(object.generatedColumnNumber) : 0,
|
|
65
|
-
};
|
|
66
|
-
},
|
|
67
|
-
toJSON(message) {
|
|
68
|
-
const obj = {};
|
|
69
|
-
message.chunkName !== undefined && (obj.chunkName = message.chunkName);
|
|
70
|
-
message.generatedLineNumber !== undefined && (obj.generatedLineNumber = Math.round(message.generatedLineNumber));
|
|
71
|
-
message.generatedColumnNumber !== undefined &&
|
|
72
|
-
(obj.generatedColumnNumber = Math.round(message.generatedColumnNumber));
|
|
73
|
-
return obj;
|
|
74
|
-
},
|
|
75
|
-
create(base) {
|
|
76
|
-
return exports.Chunk.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
77
|
-
},
|
|
78
|
-
fromPartial(object) {
|
|
79
|
-
var _a, _b, _c;
|
|
80
|
-
const message = createBaseChunk();
|
|
81
|
-
message.chunkName = (_a = object.chunkName) !== null && _a !== void 0 ? _a : "";
|
|
82
|
-
message.generatedLineNumber = (_b = object.generatedLineNumber) !== null && _b !== void 0 ? _b : 0;
|
|
83
|
-
message.generatedColumnNumber = (_c = object.generatedColumnNumber) !== null && _c !== void 0 ? _c : 0;
|
|
84
|
-
return message;
|
|
85
|
-
},
|
|
86
|
-
};
|
|
87
|
-
function createBaseCodeLine() {
|
|
88
|
-
return { lineIndex: 0, lineCode: "" };
|
|
89
|
-
}
|
|
90
|
-
exports.CodeLine = {
|
|
91
|
-
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
92
|
-
if (message.lineIndex !== 0) {
|
|
93
|
-
writer.uint32(16).int64(message.lineIndex);
|
|
94
|
-
}
|
|
95
|
-
if (message.lineCode !== "") {
|
|
96
|
-
writer.uint32(10).string(message.lineCode);
|
|
97
|
-
}
|
|
98
|
-
return writer;
|
|
99
|
-
},
|
|
100
|
-
decode(input, length) {
|
|
101
|
-
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
102
|
-
let end = length === undefined ? reader.len : reader.pos + length;
|
|
103
|
-
const message = createBaseCodeLine();
|
|
104
|
-
while (reader.pos < end) {
|
|
105
|
-
const tag = reader.uint32();
|
|
106
|
-
switch (tag >>> 3) {
|
|
107
|
-
case 2:
|
|
108
|
-
if (tag !== 16) {
|
|
109
|
-
break;
|
|
110
|
-
}
|
|
111
|
-
message.lineIndex = longToNumber(reader.int64());
|
|
112
|
-
continue;
|
|
113
|
-
case 1:
|
|
114
|
-
if (tag !== 10) {
|
|
115
|
-
break;
|
|
116
|
-
}
|
|
117
|
-
message.lineCode = reader.string();
|
|
118
|
-
continue;
|
|
119
|
-
}
|
|
120
|
-
if ((tag & 7) === 4 || tag === 0) {
|
|
121
|
-
break;
|
|
122
|
-
}
|
|
123
|
-
reader.skipType(tag & 7);
|
|
124
|
-
}
|
|
125
|
-
return message;
|
|
126
|
-
},
|
|
127
|
-
fromJSON(object) {
|
|
128
|
-
return {
|
|
129
|
-
lineIndex: isSet(object.lineIndex) ? Number(object.lineIndex) : 0,
|
|
130
|
-
lineCode: isSet(object.lineCode) ? String(object.lineCode) : "",
|
|
131
|
-
};
|
|
132
|
-
},
|
|
133
|
-
toJSON(message) {
|
|
134
|
-
const obj = {};
|
|
135
|
-
message.lineIndex !== undefined && (obj.lineIndex = Math.round(message.lineIndex));
|
|
136
|
-
message.lineCode !== undefined && (obj.lineCode = message.lineCode);
|
|
137
|
-
return obj;
|
|
138
|
-
},
|
|
139
|
-
create(base) {
|
|
140
|
-
return exports.CodeLine.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
141
|
-
},
|
|
142
|
-
fromPartial(object) {
|
|
143
|
-
var _a, _b;
|
|
144
|
-
const message = createBaseCodeLine();
|
|
145
|
-
message.lineIndex = (_a = object.lineIndex) !== null && _a !== void 0 ? _a : 0;
|
|
146
|
-
message.lineCode = (_b = object.lineCode) !== null && _b !== void 0 ? _b : "";
|
|
147
|
-
return message;
|
|
148
|
-
},
|
|
149
|
-
};
|
|
150
|
-
function createBaseMappedChunk() {
|
|
151
|
-
return {
|
|
152
|
-
chunkName: "",
|
|
153
|
-
originalLineNumber: 0,
|
|
154
|
-
originalColumnNumber: 0,
|
|
155
|
-
sourceFileName: "",
|
|
156
|
-
sourceCodeLines: [],
|
|
157
|
-
generatedLineNumber: 0,
|
|
158
|
-
generatedColumnNumber: 0,
|
|
159
|
-
sourceFunctionName: "",
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
exports.MappedChunk = {
|
|
163
|
-
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
164
|
-
if (message.chunkName !== "") {
|
|
165
|
-
writer.uint32(10).string(message.chunkName);
|
|
166
|
-
}
|
|
167
|
-
if (message.originalLineNumber !== 0) {
|
|
168
|
-
writer.uint32(16).int64(message.originalLineNumber);
|
|
169
|
-
}
|
|
170
|
-
if (message.originalColumnNumber !== 0) {
|
|
171
|
-
writer.uint32(24).int64(message.originalColumnNumber);
|
|
172
|
-
}
|
|
173
|
-
if (message.sourceFileName !== "") {
|
|
174
|
-
writer.uint32(34).string(message.sourceFileName);
|
|
175
|
-
}
|
|
176
|
-
for (const v of message.sourceCodeLines) {
|
|
177
|
-
exports.CodeLine.encode(v, writer.uint32(42).fork()).ldelim();
|
|
178
|
-
}
|
|
179
|
-
if (message.generatedLineNumber !== 0) {
|
|
180
|
-
writer.uint32(48).int64(message.generatedLineNumber);
|
|
181
|
-
}
|
|
182
|
-
if (message.generatedColumnNumber !== 0) {
|
|
183
|
-
writer.uint32(56).int64(message.generatedColumnNumber);
|
|
184
|
-
}
|
|
185
|
-
if (message.sourceFunctionName !== "") {
|
|
186
|
-
writer.uint32(66).string(message.sourceFunctionName);
|
|
187
|
-
}
|
|
188
|
-
return writer;
|
|
189
|
-
},
|
|
190
|
-
decode(input, length) {
|
|
191
|
-
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
192
|
-
let end = length === undefined ? reader.len : reader.pos + length;
|
|
193
|
-
const message = createBaseMappedChunk();
|
|
194
|
-
while (reader.pos < end) {
|
|
195
|
-
const tag = reader.uint32();
|
|
196
|
-
switch (tag >>> 3) {
|
|
197
|
-
case 1:
|
|
198
|
-
if (tag !== 10) {
|
|
199
|
-
break;
|
|
200
|
-
}
|
|
201
|
-
message.chunkName = reader.string();
|
|
202
|
-
continue;
|
|
203
|
-
case 2:
|
|
204
|
-
if (tag !== 16) {
|
|
205
|
-
break;
|
|
206
|
-
}
|
|
207
|
-
message.originalLineNumber = longToNumber(reader.int64());
|
|
208
|
-
continue;
|
|
209
|
-
case 3:
|
|
210
|
-
if (tag !== 24) {
|
|
211
|
-
break;
|
|
212
|
-
}
|
|
213
|
-
message.originalColumnNumber = longToNumber(reader.int64());
|
|
214
|
-
continue;
|
|
215
|
-
case 4:
|
|
216
|
-
if (tag !== 34) {
|
|
217
|
-
break;
|
|
218
|
-
}
|
|
219
|
-
message.sourceFileName = reader.string();
|
|
220
|
-
continue;
|
|
221
|
-
case 5:
|
|
222
|
-
if (tag !== 42) {
|
|
223
|
-
break;
|
|
224
|
-
}
|
|
225
|
-
message.sourceCodeLines.push(exports.CodeLine.decode(reader, reader.uint32()));
|
|
226
|
-
continue;
|
|
227
|
-
case 6:
|
|
228
|
-
if (tag !== 48) {
|
|
229
|
-
break;
|
|
230
|
-
}
|
|
231
|
-
message.generatedLineNumber = longToNumber(reader.int64());
|
|
232
|
-
continue;
|
|
233
|
-
case 7:
|
|
234
|
-
if (tag !== 56) {
|
|
235
|
-
break;
|
|
236
|
-
}
|
|
237
|
-
message.generatedColumnNumber = longToNumber(reader.int64());
|
|
238
|
-
continue;
|
|
239
|
-
case 8:
|
|
240
|
-
if (tag !== 66) {
|
|
241
|
-
break;
|
|
242
|
-
}
|
|
243
|
-
message.sourceFunctionName = reader.string();
|
|
244
|
-
continue;
|
|
245
|
-
}
|
|
246
|
-
if ((tag & 7) === 4 || tag === 0) {
|
|
247
|
-
break;
|
|
248
|
-
}
|
|
249
|
-
reader.skipType(tag & 7);
|
|
250
|
-
}
|
|
251
|
-
return message;
|
|
252
|
-
},
|
|
253
|
-
fromJSON(object) {
|
|
254
|
-
return {
|
|
255
|
-
chunkName: isSet(object.chunkName) ? String(object.chunkName) : "",
|
|
256
|
-
originalLineNumber: isSet(object.originalLineNumber) ? Number(object.originalLineNumber) : 0,
|
|
257
|
-
originalColumnNumber: isSet(object.originalColumnNumber) ? Number(object.originalColumnNumber) : 0,
|
|
258
|
-
sourceFileName: isSet(object.sourceFileName) ? String(object.sourceFileName) : "",
|
|
259
|
-
sourceCodeLines: Array.isArray(object === null || object === void 0 ? void 0 : object.sourceCodeLines)
|
|
260
|
-
? object.sourceCodeLines.map((e) => exports.CodeLine.fromJSON(e))
|
|
261
|
-
: [],
|
|
262
|
-
generatedLineNumber: isSet(object.generatedLineNumber) ? Number(object.generatedLineNumber) : 0,
|
|
263
|
-
generatedColumnNumber: isSet(object.generatedColumnNumber) ? Number(object.generatedColumnNumber) : 0,
|
|
264
|
-
sourceFunctionName: isSet(object.sourceFunctionName) ? String(object.sourceFunctionName) : "",
|
|
265
|
-
};
|
|
266
|
-
},
|
|
267
|
-
toJSON(message) {
|
|
268
|
-
const obj = {};
|
|
269
|
-
message.chunkName !== undefined && (obj.chunkName = message.chunkName);
|
|
270
|
-
message.originalLineNumber !== undefined && (obj.originalLineNumber = Math.round(message.originalLineNumber));
|
|
271
|
-
message.originalColumnNumber !== undefined && (obj.originalColumnNumber = Math.round(message.originalColumnNumber));
|
|
272
|
-
message.sourceFileName !== undefined && (obj.sourceFileName = message.sourceFileName);
|
|
273
|
-
if (message.sourceCodeLines) {
|
|
274
|
-
obj.sourceCodeLines = message.sourceCodeLines.map((e) => e ? exports.CodeLine.toJSON(e) : undefined);
|
|
275
|
-
}
|
|
276
|
-
else {
|
|
277
|
-
obj.sourceCodeLines = [];
|
|
278
|
-
}
|
|
279
|
-
message.generatedLineNumber !== undefined && (obj.generatedLineNumber = Math.round(message.generatedLineNumber));
|
|
280
|
-
message.generatedColumnNumber !== undefined &&
|
|
281
|
-
(obj.generatedColumnNumber = Math.round(message.generatedColumnNumber));
|
|
282
|
-
message.sourceFunctionName !== undefined && (obj.sourceFunctionName = message.sourceFunctionName);
|
|
283
|
-
return obj;
|
|
284
|
-
},
|
|
285
|
-
create(base) {
|
|
286
|
-
return exports.MappedChunk.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
287
|
-
},
|
|
288
|
-
fromPartial(object) {
|
|
289
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
290
|
-
const message = createBaseMappedChunk();
|
|
291
|
-
message.chunkName = (_a = object.chunkName) !== null && _a !== void 0 ? _a : "";
|
|
292
|
-
message.originalLineNumber = (_b = object.originalLineNumber) !== null && _b !== void 0 ? _b : 0;
|
|
293
|
-
message.originalColumnNumber = (_c = object.originalColumnNumber) !== null && _c !== void 0 ? _c : 0;
|
|
294
|
-
message.sourceFileName = (_d = object.sourceFileName) !== null && _d !== void 0 ? _d : "";
|
|
295
|
-
message.sourceCodeLines = ((_e = object.sourceCodeLines) === null || _e === void 0 ? void 0 : _e.map((e) => exports.CodeLine.fromPartial(e))) || [];
|
|
296
|
-
message.generatedLineNumber = (_f = object.generatedLineNumber) !== null && _f !== void 0 ? _f : 0;
|
|
297
|
-
message.generatedColumnNumber = (_g = object.generatedColumnNumber) !== null && _g !== void 0 ? _g : 0;
|
|
298
|
-
message.sourceFunctionName = (_h = object.sourceFunctionName) !== null && _h !== void 0 ? _h : "";
|
|
299
|
-
return message;
|
|
300
|
-
},
|
|
301
|
-
};
|
|
302
|
-
var tsProtoGlobalThis = (() => {
|
|
303
|
-
if (typeof globalThis !== "undefined") {
|
|
304
|
-
return globalThis;
|
|
305
|
-
}
|
|
306
|
-
if (typeof self !== "undefined") {
|
|
307
|
-
return self;
|
|
308
|
-
}
|
|
309
|
-
if (typeof window !== "undefined") {
|
|
310
|
-
return window;
|
|
311
|
-
}
|
|
312
|
-
if (typeof global !== "undefined") {
|
|
313
|
-
return global;
|
|
314
|
-
}
|
|
315
|
-
throw "Unable to locate global object";
|
|
316
|
-
})();
|
|
317
|
-
function longToNumber(long) {
|
|
318
|
-
if (long.gt(Number.MAX_SAFE_INTEGER)) {
|
|
319
|
-
throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
|
|
320
|
-
}
|
|
321
|
-
return long.toNumber();
|
|
322
|
-
}
|
|
323
|
-
if (minimal_1.default.util.Long !== long_1.default) {
|
|
324
|
-
minimal_1.default.util.Long = long_1.default;
|
|
325
|
-
minimal_1.default.configure();
|
|
326
|
-
}
|
|
327
|
-
function isSet(value) {
|
|
328
|
-
return value !== null && value !== undefined;
|
|
329
|
-
}
|
|
330
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2h1bmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3Byb3RvLW1vZGVscy9jb20vY29yYWxvZ2l4L3J1bS92Mi9jaHVuay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvQkFBb0I7QUFDcEIsZ0RBQXdCO0FBQ3hCLGlFQUFxQztBQUV4QixRQUFBLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQztBQXdCdEQsU0FBUyxlQUFlO0lBQ3RCLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLG1CQUFtQixFQUFFLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUM3RSxDQUFDO0FBRVksUUFBQSxLQUFLLEdBQUc7SUFDbkIsTUFBTSxDQUFDLE9BQWMsRUFBRSxTQUFxQixpQkFBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDN0QsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLEVBQUUsRUFBRTtZQUM1QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDN0M7UUFDRCxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsS0FBSyxDQUFDLEVBQUU7WUFDckMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDdEQ7UUFDRCxJQUFJLE9BQU8sQ0FBQyxxQkFBcUIsS0FBSyxDQUFDLEVBQUU7WUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7U0FDeEQ7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQThCLEVBQUUsTUFBZTtRQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksaUJBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsaUJBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlFLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUU7WUFDdkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRTtnQkFDakIsS0FBSyxDQUFDO29CQUNKLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRTt3QkFDZCxNQUFNO3FCQUNQO29CQUVELE9BQU8sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNwQyxTQUFTO2dCQUNYLEtBQUssQ0FBQztvQkFDSixJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUU7d0JBQ2QsTUFBTTtxQkFDUDtvQkFFRCxPQUFPLENBQUMsbUJBQW1CLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQVUsQ0FBQyxDQUFDO29CQUNuRSxTQUFTO2dCQUNYLEtBQUssQ0FBQztvQkFDSixJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUU7d0JBQ2QsTUFBTTtxQkFDUDtvQkFFRCxPQUFPLENBQUMscUJBQXFCLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQVUsQ0FBQyxDQUFDO29CQUNyRSxTQUFTO2FBQ1o7WUFDRCxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNoQyxNQUFNO2FBQ1A7WUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMxQjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPO1lBQ0wsU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEUsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0YscUJBQXFCLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEcsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBYztRQUNuQixNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLFNBQVMsS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2RSxPQUFPLENBQUMsbUJBQW1CLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztRQUNqSCxPQUFPLENBQUMscUJBQXFCLEtBQUssU0FBUztZQUN6QyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7UUFDMUUsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQXlCO1FBQzlCLE9BQU8sYUFBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLGFBQUosSUFBSSxjQUFKLElBQUksR0FBSSxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQTBCOztRQUNwQyxNQUFNLE9BQU8sR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUNsQyxPQUFPLENBQUMsU0FBUyxHQUFHLE1BQUEsTUFBTSxDQUFDLFNBQVMsbUNBQUksRUFBRSxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxtQkFBbUIsR0FBRyxNQUFBLE1BQU0sQ0FBQyxtQkFBbUIsbUNBQUksQ0FBQyxDQUFDO1FBQzlELE9BQU8sQ0FBQyxxQkFBcUIsR0FBRyxNQUFBLE1BQU0sQ0FBQyxxQkFBcUIsbUNBQUksQ0FBQyxDQUFDO1FBQ2xFLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRixDQUFDO0FBRUYsU0FBUyxrQkFBa0I7SUFDekIsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBQ3hDLENBQUM7QUFFWSxRQUFBLFFBQVEsR0FBRztJQUN0QixNQUFNLENBQUMsT0FBaUIsRUFBRSxTQUFxQixpQkFBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDaEUsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLENBQUMsRUFBRTtZQUMzQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDNUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssRUFBRSxFQUFFO1lBQzNCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM1QztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBOEIsRUFBRSxNQUFlO1FBQ3BELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxpQkFBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxpQkFBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUUsSUFBSSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDbEUsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLEVBQUUsQ0FBQztRQUNyQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLEtBQUssQ0FBQztvQkFDSixJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUU7d0JBQ2QsTUFBTTtxQkFDUDtvQkFFRCxPQUFPLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFVLENBQUMsQ0FBQztvQkFDekQsU0FBUztnQkFDWCxLQUFLLENBQUM7b0JBQ0osSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFO3dCQUNkLE1BQU07cUJBQ1A7b0JBRUQsT0FBTyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ25DLFNBQVM7YUFDWjtZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQ2hDLE1BQU07YUFDUDtZQUNELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU87WUFDTCxTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRSxRQUFRLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUNoRSxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFpQjtRQUN0QixNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLFNBQVMsS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDbkYsT0FBTyxDQUFDLFFBQVEsS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRSxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBNEI7UUFDakMsT0FBTyxnQkFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLGFBQUosSUFBSSxjQUFKLElBQUksR0FBSSxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQTZCOztRQUN2QyxNQUFNLE9BQU8sR0FBRyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsTUFBQSxNQUFNLENBQUMsU0FBUyxtQ0FBSSxDQUFDLENBQUM7UUFDMUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxNQUFBLE1BQU0sQ0FBQyxRQUFRLG1DQUFJLEVBQUUsQ0FBQztRQUN6QyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMscUJBQXFCO0lBQzVCLE9BQU87UUFDTCxTQUFTLEVBQUUsRUFBRTtRQUNiLGtCQUFrQixFQUFFLENBQUM7UUFDckIsb0JBQW9CLEVBQUUsQ0FBQztRQUN2QixjQUFjLEVBQUUsRUFBRTtRQUNsQixlQUFlLEVBQUUsRUFBRTtRQUNuQixtQkFBbUIsRUFBRSxDQUFDO1FBQ3RCLHFCQUFxQixFQUFFLENBQUM7UUFDeEIsa0JBQWtCLEVBQUUsRUFBRTtLQUN2QixDQUFDO0FBQ0osQ0FBQztBQUVZLFFBQUEsV0FBVyxHQUFHO0lBQ3pCLE1BQU0sQ0FBQyxPQUFvQixFQUFFLFNBQXFCLGlCQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNuRSxJQUFJLE9BQU8sQ0FBQyxTQUFTLEtBQUssRUFBRSxFQUFFO1lBQzVCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM3QztRQUNELElBQUksT0FBTyxDQUFDLGtCQUFrQixLQUFLLENBQUMsRUFBRTtZQUNwQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNyRDtRQUNELElBQUksT0FBTyxDQUFDLG9CQUFvQixLQUFLLENBQUMsRUFBRTtZQUN0QyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUN2RDtRQUNELElBQUksT0FBTyxDQUFDLGNBQWMsS0FBSyxFQUFFLEVBQUU7WUFDakMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ2xEO1FBQ0QsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsZUFBZSxFQUFFO1lBQ3ZDLGdCQUFRLENBQUMsTUFBTSxDQUFDLENBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDeEQ7UUFDRCxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsS0FBSyxDQUFDLEVBQUU7WUFDckMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDdEQ7UUFDRCxJQUFJLE9BQU8sQ0FBQyxxQkFBcUIsS0FBSyxDQUFDLEVBQUU7WUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7U0FDeEQ7UUFDRCxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsS0FBSyxFQUFFLEVBQUU7WUFDckMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDdEQ7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQThCLEVBQUUsTUFBZTtRQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksaUJBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsaUJBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlFLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLHFCQUFxQixFQUFFLENBQUM7UUFDeEMsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixLQUFLLENBQUM7b0JBQ0osSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFO3dCQUNkLE1BQU07cUJBQ1A7b0JBRUQsT0FBTyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3BDLFNBQVM7Z0JBQ1gsS0FBSyxDQUFDO29CQUNKLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRTt3QkFDZCxNQUFNO3FCQUNQO29CQUVELE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBVSxDQUFDLENBQUM7b0JBQ2xFLFNBQVM7Z0JBQ1gsS0FBSyxDQUFDO29CQUNKLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRTt3QkFDZCxNQUFNO3FCQUNQO29CQUVELE9BQU8sQ0FBQyxvQkFBb0IsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBVSxDQUFDLENBQUM7b0JBQ3BFLFNBQVM7Z0JBQ1gsS0FBSyxDQUFDO29CQUNKLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRTt3QkFDZCxNQUFNO3FCQUNQO29CQUVELE9BQU8sQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUN6QyxTQUFTO2dCQUNYLEtBQUssQ0FBQztvQkFDSixJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUU7d0JBQ2QsTUFBTTtxQkFDUDtvQkFFRCxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxnQkFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDdkUsU0FBUztnQkFDWCxLQUFLLENBQUM7b0JBQ0osSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFO3dCQUNkLE1BQU07cUJBQ1A7b0JBRUQsT0FBTyxDQUFDLG1CQUFtQixHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFVLENBQUMsQ0FBQztvQkFDbkUsU0FBUztnQkFDWCxLQUFLLENBQUM7b0JBQ0osSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFO3dCQUNkLE1BQU07cUJBQ1A7b0JBRUQsT0FBTyxDQUFDLHFCQUFxQixHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFVLENBQUMsQ0FBQztvQkFDckUsU0FBUztnQkFDWCxLQUFLLENBQUM7b0JBQ0osSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFO3dCQUNkLE1BQU07cUJBQ1A7b0JBRUQsT0FBTyxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDN0MsU0FBUzthQUNaO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRTtnQkFDaEMsTUFBTTthQUNQO1lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDMUI7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQVc7UUFDbEIsT0FBTztZQUNMLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2xFLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVGLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xHLGNBQWMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pGLGVBQWUsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxlQUFlLENBQUM7Z0JBQ3JELENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsZ0JBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlELENBQUMsQ0FBQyxFQUFFO1lBQ04sbUJBQW1CLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0YscUJBQXFCLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckcsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDOUYsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBb0I7UUFDekIsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxTQUFTLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkUsT0FBTyxDQUFDLGtCQUFrQixLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDOUcsT0FBTyxDQUFDLG9CQUFvQixLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFDcEgsT0FBTyxDQUFDLGNBQWMsS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0RixJQUFJLE9BQU8sQ0FBQyxlQUFlLEVBQUU7WUFDM0IsR0FBRyxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDOUY7YUFBTTtZQUNMLEdBQUcsQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxDQUFDLG1CQUFtQixLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7UUFDakgsT0FBTyxDQUFDLHFCQUFxQixLQUFLLFNBQVM7WUFDekMsQ0FBQyxHQUFHLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sQ0FBQyxrQkFBa0IsS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDbEcsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQStCO1FBQ3BDLE9BQU8sbUJBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxhQUFKLElBQUksY0FBSixJQUFJLEdBQUksRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFnQzs7UUFDMUMsTUFBTSxPQUFPLEdBQUcscUJBQXFCLEVBQUUsQ0FBQztRQUN4QyxPQUFPLENBQUMsU0FBUyxHQUFHLE1BQUEsTUFBTSxDQUFDLFNBQVMsbUNBQUksRUFBRSxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxNQUFBLE1BQU0sQ0FBQyxrQkFBa0IsbUNBQUksQ0FBQyxDQUFDO1FBQzVELE9BQU8sQ0FBQyxvQkFBb0IsR0FBRyxNQUFBLE1BQU0sQ0FBQyxvQkFBb0IsbUNBQUksQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sQ0FBQyxjQUFjLEdBQUcsTUFBQSxNQUFNLENBQUMsY0FBYyxtQ0FBSSxFQUFFLENBQUM7UUFDckQsT0FBTyxDQUFDLGVBQWUsR0FBRyxDQUFBLE1BQUEsTUFBTSxDQUFDLGVBQWUsMENBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxnQkFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLEVBQUUsQ0FBQztRQUM1RixPQUFPLENBQUMsbUJBQW1CLEdBQUcsTUFBQSxNQUFNLENBQUMsbUJBQW1CLG1DQUFJLENBQUMsQ0FBQztRQUM5RCxPQUFPLENBQUMscUJBQXFCLEdBQUcsTUFBQSxNQUFNLENBQUMscUJBQXFCLG1DQUFJLENBQUMsQ0FBQztRQUNsRSxPQUFPLENBQUMsa0JBQWtCLEdBQUcsTUFBQSxNQUFNLENBQUMsa0JBQWtCLG1DQUFJLEVBQUUsQ0FBQztRQUM3RCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUtGLElBQUksaUJBQWlCLEdBQVEsQ0FBQyxHQUFHLEVBQUU7SUFDakMsSUFBSSxPQUFPLFVBQVUsS0FBSyxXQUFXLEVBQUU7UUFDckMsT0FBTyxVQUFVLENBQUM7S0FDbkI7SUFDRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFdBQVcsRUFBRTtRQUMvQixPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7UUFDakMsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUNELElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO1FBQ2pDLE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFDRCxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFVTCxTQUFTLFlBQVksQ0FBQyxJQUFVO0lBQzlCLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtRQUNwQyxNQUFNLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7S0FDbkY7SUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUN6QixDQUFDO0FBRUQsSUFBSSxpQkFBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBSSxFQUFFO0lBQzFCLGlCQUFHLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFXLENBQUM7SUFDNUIsaUJBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztDQUNqQjtBQUVELFNBQVMsS0FBSyxDQUFDLEtBQVU7SUFDdkIsT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLENBQUM7QUFDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG5pbXBvcnQgTG9uZyBmcm9tIFwibG9uZ1wiO1xuaW1wb3J0IF9tMCBmcm9tIFwicHJvdG9idWZqcy9taW5pbWFsXCI7XG5cbmV4cG9ydCBjb25zdCBwcm90b2J1ZlBhY2thZ2UgPSBcImNvbS5jb3JhbG9naXgucnVtLnYyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2h1bmsge1xuICBjaHVua05hbWU6IHN0cmluZztcbiAgZ2VuZXJhdGVkTGluZU51bWJlcjogbnVtYmVyO1xuICBnZW5lcmF0ZWRDb2x1bW5OdW1iZXI6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2RlTGluZSB7XG4gIGxpbmVJbmRleDogbnVtYmVyO1xuICBsaW5lQ29kZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcHBlZENodW5rIHtcbiAgY2h1bmtOYW1lOiBzdHJpbmc7XG4gIG9yaWdpbmFsTGluZU51bWJlcjogbnVtYmVyO1xuICBvcmlnaW5hbENvbHVtbk51bWJlcjogbnVtYmVyO1xuICBzb3VyY2VGaWxlTmFtZTogc3RyaW5nO1xuICBzb3VyY2VDb2RlTGluZXM6IENvZGVMaW5lW107XG4gIGdlbmVyYXRlZExpbmVOdW1iZXI6IG51bWJlcjtcbiAgZ2VuZXJhdGVkQ29sdW1uTnVtYmVyOiBudW1iZXI7XG4gIHNvdXJjZUZ1bmN0aW9uTmFtZTogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVCYXNlQ2h1bmsoKTogQ2h1bmsge1xuICByZXR1cm4geyBjaHVua05hbWU6IFwiXCIsIGdlbmVyYXRlZExpbmVOdW1iZXI6IDAsIGdlbmVyYXRlZENvbHVtbk51bWJlcjogMCB9O1xufVxuXG5leHBvcnQgY29uc3QgQ2h1bmsgPSB7XG4gIGVuY29kZShtZXNzYWdlOiBDaHVuaywgd3JpdGVyOiBfbTAuV3JpdGVyID0gX20wLldyaXRlci5jcmVhdGUoKSk6IF9tMC5Xcml0ZXIge1xuICAgIGlmIChtZXNzYWdlLmNodW5rTmFtZSAhPT0gXCJcIikge1xuICAgICAgd3JpdGVyLnVpbnQzMigxMCkuc3RyaW5nKG1lc3NhZ2UuY2h1bmtOYW1lKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2UuZ2VuZXJhdGVkTGluZU51bWJlciAhPT0gMCkge1xuICAgICAgd3JpdGVyLnVpbnQzMigxNikuaW50NjQobWVzc2FnZS5nZW5lcmF0ZWRMaW5lTnVtYmVyKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2UuZ2VuZXJhdGVkQ29sdW1uTnVtYmVyICE9PSAwKSB7XG4gICAgICB3cml0ZXIudWludDMyKDI0KS5pbnQ2NChtZXNzYWdlLmdlbmVyYXRlZENvbHVtbk51bWJlcik7XG4gICAgfVxuICAgIHJldHVybiB3cml0ZXI7XG4gIH0sXG5cbiAgZGVjb2RlKGlucHV0OiBfbTAuUmVhZGVyIHwgVWludDhBcnJheSwgbGVuZ3RoPzogbnVtYmVyKTogQ2h1bmsge1xuICAgIGNvbnN0IHJlYWRlciA9IGlucHV0IGluc3RhbmNlb2YgX20wLlJlYWRlciA/IGlucHV0IDogX20wLlJlYWRlci5jcmVhdGUoaW5wdXQpO1xuICAgIGxldCBlbmQgPSBsZW5ndGggPT09IHVuZGVmaW5lZCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlQ2h1bmsoKTtcbiAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIGlmICh0YWcgIT09IDEwKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLmNodW5rTmFtZSA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgIGlmICh0YWcgIT09IDE2KSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLmdlbmVyYXRlZExpbmVOdW1iZXIgPSBsb25nVG9OdW1iZXIocmVhZGVyLmludDY0KCkgYXMgTG9uZyk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgMzpcbiAgICAgICAgICBpZiAodGFnICE9PSAyNCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5nZW5lcmF0ZWRDb2x1bW5OdW1iZXIgPSBsb25nVG9OdW1iZXIocmVhZGVyLmludDY0KCkgYXMgTG9uZyk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoKHRhZyAmIDcpID09PSA0IHx8IHRhZyA9PT0gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgZnJvbUpTT04ob2JqZWN0OiBhbnkpOiBDaHVuayB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNodW5rTmFtZTogaXNTZXQob2JqZWN0LmNodW5rTmFtZSkgPyBTdHJpbmcob2JqZWN0LmNodW5rTmFtZSkgOiBcIlwiLFxuICAgICAgZ2VuZXJhdGVkTGluZU51bWJlcjogaXNTZXQob2JqZWN0LmdlbmVyYXRlZExpbmVOdW1iZXIpID8gTnVtYmVyKG9iamVjdC5nZW5lcmF0ZWRMaW5lTnVtYmVyKSA6IDAsXG4gICAgICBnZW5lcmF0ZWRDb2x1bW5OdW1iZXI6IGlzU2V0KG9iamVjdC5nZW5lcmF0ZWRDb2x1bW5OdW1iZXIpID8gTnVtYmVyKG9iamVjdC5nZW5lcmF0ZWRDb2x1bW5OdW1iZXIpIDogMCxcbiAgICB9O1xuICB9LFxuXG4gIHRvSlNPTihtZXNzYWdlOiBDaHVuayk6IHVua25vd24ge1xuICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgbWVzc2FnZS5jaHVua05hbWUgIT09IHVuZGVmaW5lZCAmJiAob2JqLmNodW5rTmFtZSA9IG1lc3NhZ2UuY2h1bmtOYW1lKTtcbiAgICBtZXNzYWdlLmdlbmVyYXRlZExpbmVOdW1iZXIgIT09IHVuZGVmaW5lZCAmJiAob2JqLmdlbmVyYXRlZExpbmVOdW1iZXIgPSBNYXRoLnJvdW5kKG1lc3NhZ2UuZ2VuZXJhdGVkTGluZU51bWJlcikpO1xuICAgIG1lc3NhZ2UuZ2VuZXJhdGVkQ29sdW1uTnVtYmVyICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIChvYmouZ2VuZXJhdGVkQ29sdW1uTnVtYmVyID0gTWF0aC5yb3VuZChtZXNzYWdlLmdlbmVyYXRlZENvbHVtbk51bWJlcikpO1xuICAgIHJldHVybiBvYmo7XG4gIH0sXG5cbiAgY3JlYXRlKGJhc2U/OiBEZWVwUGFydGlhbDxDaHVuaz4pOiBDaHVuayB7XG4gICAgcmV0dXJuIENodW5rLmZyb21QYXJ0aWFsKGJhc2UgPz8ge30pO1xuICB9LFxuXG4gIGZyb21QYXJ0aWFsKG9iamVjdDogRGVlcFBhcnRpYWw8Q2h1bms+KTogQ2h1bmsge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlQ2h1bmsoKTtcbiAgICBtZXNzYWdlLmNodW5rTmFtZSA9IG9iamVjdC5jaHVua05hbWUgPz8gXCJcIjtcbiAgICBtZXNzYWdlLmdlbmVyYXRlZExpbmVOdW1iZXIgPSBvYmplY3QuZ2VuZXJhdGVkTGluZU51bWJlciA/PyAwO1xuICAgIG1lc3NhZ2UuZ2VuZXJhdGVkQ29sdW1uTnVtYmVyID0gb2JqZWN0LmdlbmVyYXRlZENvbHVtbk51bWJlciA/PyAwO1xuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxufTtcblxuZnVuY3Rpb24gY3JlYXRlQmFzZUNvZGVMaW5lKCk6IENvZGVMaW5lIHtcbiAgcmV0dXJuIHsgbGluZUluZGV4OiAwLCBsaW5lQ29kZTogXCJcIiB9O1xufVxuXG5leHBvcnQgY29uc3QgQ29kZUxpbmUgPSB7XG4gIGVuY29kZShtZXNzYWdlOiBDb2RlTGluZSwgd3JpdGVyOiBfbTAuV3JpdGVyID0gX20wLldyaXRlci5jcmVhdGUoKSk6IF9tMC5Xcml0ZXIge1xuICAgIGlmIChtZXNzYWdlLmxpbmVJbmRleCAhPT0gMCkge1xuICAgICAgd3JpdGVyLnVpbnQzMigxNikuaW50NjQobWVzc2FnZS5saW5lSW5kZXgpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5saW5lQ29kZSAhPT0gXCJcIikge1xuICAgICAgd3JpdGVyLnVpbnQzMigxMCkuc3RyaW5nKG1lc3NhZ2UubGluZUNvZGUpO1xuICAgIH1cbiAgICByZXR1cm4gd3JpdGVyO1xuICB9LFxuXG4gIGRlY29kZShpbnB1dDogX20wLlJlYWRlciB8IFVpbnQ4QXJyYXksIGxlbmd0aD86IG51bWJlcik6IENvZGVMaW5lIHtcbiAgICBjb25zdCByZWFkZXIgPSBpbnB1dCBpbnN0YW5jZW9mIF9tMC5SZWFkZXIgPyBpbnB1dCA6IF9tMC5SZWFkZXIuY3JlYXRlKGlucHV0KTtcbiAgICBsZXQgZW5kID0gbGVuZ3RoID09PSB1bmRlZmluZWQgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZUNvZGVMaW5lKCk7XG4gICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBpZiAodGFnICE9PSAxNikge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5saW5lSW5kZXggPSBsb25nVG9OdW1iZXIocmVhZGVyLmludDY0KCkgYXMgTG9uZyk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICBpZiAodGFnICE9PSAxMCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5saW5lQ29kZSA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmICgodGFnICYgNykgPT09IDQgfHwgdGFnID09PSAwKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfSxcblxuICBmcm9tSlNPTihvYmplY3Q6IGFueSk6IENvZGVMaW5lIHtcbiAgICByZXR1cm4ge1xuICAgICAgbGluZUluZGV4OiBpc1NldChvYmplY3QubGluZUluZGV4KSA/IE51bWJlcihvYmplY3QubGluZUluZGV4KSA6IDAsXG4gICAgICBsaW5lQ29kZTogaXNTZXQob2JqZWN0LmxpbmVDb2RlKSA/IFN0cmluZyhvYmplY3QubGluZUNvZGUpIDogXCJcIixcbiAgICB9O1xuICB9LFxuXG4gIHRvSlNPTihtZXNzYWdlOiBDb2RlTGluZSk6IHVua25vd24ge1xuICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgbWVzc2FnZS5saW5lSW5kZXggIT09IHVuZGVmaW5lZCAmJiAob2JqLmxpbmVJbmRleCA9IE1hdGgucm91bmQobWVzc2FnZS5saW5lSW5kZXgpKTtcbiAgICBtZXNzYWdlLmxpbmVDb2RlICE9PSB1bmRlZmluZWQgJiYgKG9iai5saW5lQ29kZSA9IG1lc3NhZ2UubGluZUNvZGUpO1xuICAgIHJldHVybiBvYmo7XG4gIH0sXG5cbiAgY3JlYXRlKGJhc2U/OiBEZWVwUGFydGlhbDxDb2RlTGluZT4pOiBDb2RlTGluZSB7XG4gICAgcmV0dXJuIENvZGVMaW5lLmZyb21QYXJ0aWFsKGJhc2UgPz8ge30pO1xuICB9LFxuXG4gIGZyb21QYXJ0aWFsKG9iamVjdDogRGVlcFBhcnRpYWw8Q29kZUxpbmU+KTogQ29kZUxpbmUge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlQ29kZUxpbmUoKTtcbiAgICBtZXNzYWdlLmxpbmVJbmRleCA9IG9iamVjdC5saW5lSW5kZXggPz8gMDtcbiAgICBtZXNzYWdlLmxpbmVDb2RlID0gb2JqZWN0LmxpbmVDb2RlID8/IFwiXCI7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG59O1xuXG5mdW5jdGlvbiBjcmVhdGVCYXNlTWFwcGVkQ2h1bmsoKTogTWFwcGVkQ2h1bmsge1xuICByZXR1cm4ge1xuICAgIGNodW5rTmFtZTogXCJcIixcbiAgICBvcmlnaW5hbExpbmVOdW1iZXI6IDAsXG4gICAgb3JpZ2luYWxDb2x1bW5OdW1iZXI6IDAsXG4gICAgc291cmNlRmlsZU5hbWU6IFwiXCIsXG4gICAgc291cmNlQ29kZUxpbmVzOiBbXSxcbiAgICBnZW5lcmF0ZWRMaW5lTnVtYmVyOiAwLFxuICAgIGdlbmVyYXRlZENvbHVtbk51bWJlcjogMCxcbiAgICBzb3VyY2VGdW5jdGlvbk5hbWU6IFwiXCIsXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBNYXBwZWRDaHVuayA9IHtcbiAgZW5jb2RlKG1lc3NhZ2U6IE1hcHBlZENodW5rLCB3cml0ZXI6IF9tMC5Xcml0ZXIgPSBfbTAuV3JpdGVyLmNyZWF0ZSgpKTogX20wLldyaXRlciB7XG4gICAgaWYgKG1lc3NhZ2UuY2h1bmtOYW1lICE9PSBcIlwiKSB7XG4gICAgICB3cml0ZXIudWludDMyKDEwKS5zdHJpbmcobWVzc2FnZS5jaHVua05hbWUpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5vcmlnaW5hbExpbmVOdW1iZXIgIT09IDApIHtcbiAgICAgIHdyaXRlci51aW50MzIoMTYpLmludDY0KG1lc3NhZ2Uub3JpZ2luYWxMaW5lTnVtYmVyKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2Uub3JpZ2luYWxDb2x1bW5OdW1iZXIgIT09IDApIHtcbiAgICAgIHdyaXRlci51aW50MzIoMjQpLmludDY0KG1lc3NhZ2Uub3JpZ2luYWxDb2x1bW5OdW1iZXIpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5zb3VyY2VGaWxlTmFtZSAhPT0gXCJcIikge1xuICAgICAgd3JpdGVyLnVpbnQzMigzNCkuc3RyaW5nKG1lc3NhZ2Uuc291cmNlRmlsZU5hbWUpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IHYgb2YgbWVzc2FnZS5zb3VyY2VDb2RlTGluZXMpIHtcbiAgICAgIENvZGVMaW5lLmVuY29kZSh2ISwgd3JpdGVyLnVpbnQzMig0MikuZm9yaygpKS5sZGVsaW0oKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2UuZ2VuZXJhdGVkTGluZU51bWJlciAhPT0gMCkge1xuICAgICAgd3JpdGVyLnVpbnQzMig0OCkuaW50NjQobWVzc2FnZS5nZW5lcmF0ZWRMaW5lTnVtYmVyKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2UuZ2VuZXJhdGVkQ29sdW1uTnVtYmVyICE9PSAwKSB7XG4gICAgICB3cml0ZXIudWludDMyKDU2KS5pbnQ2NChtZXNzYWdlLmdlbmVyYXRlZENvbHVtbk51bWJlcik7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlLnNvdXJjZUZ1bmN0aW9uTmFtZSAhPT0gXCJcIikge1xuICAgICAgd3JpdGVyLnVpbnQzMig2Nikuc3RyaW5nKG1lc3NhZ2Uuc291cmNlRnVuY3Rpb25OYW1lKTtcbiAgICB9XG4gICAgcmV0dXJuIHdyaXRlcjtcbiAgfSxcblxuICBkZWNvZGUoaW5wdXQ6IF9tMC5SZWFkZXIgfCBVaW50OEFycmF5LCBsZW5ndGg/OiBudW1iZXIpOiBNYXBwZWRDaHVuayB7XG4gICAgY29uc3QgcmVhZGVyID0gaW5wdXQgaW5zdGFuY2VvZiBfbTAuUmVhZGVyID8gaW5wdXQgOiBfbTAuUmVhZGVyLmNyZWF0ZShpbnB1dCk7XG4gICAgbGV0IGVuZCA9IGxlbmd0aCA9PT0gdW5kZWZpbmVkID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgY29uc3QgbWVzc2FnZSA9IGNyZWF0ZUJhc2VNYXBwZWRDaHVuaygpO1xuICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgaWYgKHRhZyAhPT0gMTApIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1lc3NhZ2UuY2h1bmtOYW1lID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgaWYgKHRhZyAhPT0gMTYpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1lc3NhZ2Uub3JpZ2luYWxMaW5lTnVtYmVyID0gbG9uZ1RvTnVtYmVyKHJlYWRlci5pbnQ2NCgpIGFzIExvbmcpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgaWYgKHRhZyAhPT0gMjQpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1lc3NhZ2Uub3JpZ2luYWxDb2x1bW5OdW1iZXIgPSBsb25nVG9OdW1iZXIocmVhZGVyLmludDY0KCkgYXMgTG9uZyk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgICBpZiAodGFnICE9PSAzNCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5zb3VyY2VGaWxlTmFtZSA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY2FzZSA1OlxuICAgICAgICAgIGlmICh0YWcgIT09IDQyKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLnNvdXJjZUNvZGVMaW5lcy5wdXNoKENvZGVMaW5lLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSkpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBjYXNlIDY6XG4gICAgICAgICAgaWYgKHRhZyAhPT0gNDgpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1lc3NhZ2UuZ2VuZXJhdGVkTGluZU51bWJlciA9IGxvbmdUb051bWJlcihyZWFkZXIuaW50NjQoKSBhcyBMb25nKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY2FzZSA3OlxuICAgICAgICAgIGlmICh0YWcgIT09IDU2KSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLmdlbmVyYXRlZENvbHVtbk51bWJlciA9IGxvbmdUb051bWJlcihyZWFkZXIuaW50NjQoKSBhcyBMb25nKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY2FzZSA4OlxuICAgICAgICAgIGlmICh0YWcgIT09IDY2KSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLnNvdXJjZUZ1bmN0aW9uTmFtZSA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmICgodGFnICYgNykgPT09IDQgfHwgdGFnID09PSAwKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfSxcblxuICBmcm9tSlNPTihvYmplY3Q6IGFueSk6IE1hcHBlZENodW5rIHtcbiAgICByZXR1cm4ge1xuICAgICAgY2h1bmtOYW1lOiBpc1NldChvYmplY3QuY2h1bmtOYW1lKSA/IFN0cmluZyhvYmplY3QuY2h1bmtOYW1lKSA6IFwiXCIsXG4gICAgICBvcmlnaW5hbExpbmVOdW1iZXI6IGlzU2V0KG9iamVjdC5vcmlnaW5hbExpbmVOdW1iZXIpID8gTnVtYmVyKG9iamVjdC5vcmlnaW5hbExpbmVOdW1iZXIpIDogMCxcbiAgICAgIG9yaWdpbmFsQ29sdW1uTnVtYmVyOiBpc1NldChvYmplY3Qub3JpZ2luYWxDb2x1bW5OdW1iZXIpID8gTnVtYmVyKG9iamVjdC5vcmlnaW5hbENvbHVtbk51bWJlcikgOiAwLFxuICAgICAgc291cmNlRmlsZU5hbWU6IGlzU2V0KG9iamVjdC5zb3VyY2VGaWxlTmFtZSkgPyBTdHJpbmcob2JqZWN0LnNvdXJjZUZpbGVOYW1lKSA6IFwiXCIsXG4gICAgICBzb3VyY2VDb2RlTGluZXM6IEFycmF5LmlzQXJyYXkob2JqZWN0Py5zb3VyY2VDb2RlTGluZXMpXG4gICAgICAgID8gb2JqZWN0LnNvdXJjZUNvZGVMaW5lcy5tYXAoKGU6IGFueSkgPT4gQ29kZUxpbmUuZnJvbUpTT04oZSkpXG4gICAgICAgIDogW10sXG4gICAgICBnZW5lcmF0ZWRMaW5lTnVtYmVyOiBpc1NldChvYmplY3QuZ2VuZXJhdGVkTGluZU51bWJlcikgPyBOdW1iZXIob2JqZWN0LmdlbmVyYXRlZExpbmVOdW1iZXIpIDogMCxcbiAgICAgIGdlbmVyYXRlZENvbHVtbk51bWJlcjogaXNTZXQob2JqZWN0LmdlbmVyYXRlZENvbHVtbk51bWJlcikgPyBOdW1iZXIob2JqZWN0LmdlbmVyYXRlZENvbHVtbk51bWJlcikgOiAwLFxuICAgICAgc291cmNlRnVuY3Rpb25OYW1lOiBpc1NldChvYmplY3Quc291cmNlRnVuY3Rpb25OYW1lKSA/IFN0cmluZyhvYmplY3Quc291cmNlRnVuY3Rpb25OYW1lKSA6IFwiXCIsXG4gICAgfTtcbiAgfSxcblxuICB0b0pTT04obWVzc2FnZTogTWFwcGVkQ2h1bmspOiB1bmtub3duIHtcbiAgICBjb25zdCBvYmo6IGFueSA9IHt9O1xuICAgIG1lc3NhZ2UuY2h1bmtOYW1lICE9PSB1bmRlZmluZWQgJiYgKG9iai5jaHVua05hbWUgPSBtZXNzYWdlLmNodW5rTmFtZSk7XG4gICAgbWVzc2FnZS5vcmlnaW5hbExpbmVOdW1iZXIgIT09IHVuZGVmaW5lZCAmJiAob2JqLm9yaWdpbmFsTGluZU51bWJlciA9IE1hdGgucm91bmQobWVzc2FnZS5vcmlnaW5hbExpbmVOdW1iZXIpKTtcbiAgICBtZXNzYWdlLm9yaWdpbmFsQ29sdW1uTnVtYmVyICE9PSB1bmRlZmluZWQgJiYgKG9iai5vcmlnaW5hbENvbHVtbk51bWJlciA9IE1hdGgucm91bmQobWVzc2FnZS5vcmlnaW5hbENvbHVtbk51bWJlcikpO1xuICAgIG1lc3NhZ2Uuc291cmNlRmlsZU5hbWUgIT09IHVuZGVmaW5lZCAmJiAob2JqLnNvdXJjZUZpbGVOYW1lID0gbWVzc2FnZS5zb3VyY2VGaWxlTmFtZSk7XG4gICAgaWYgKG1lc3NhZ2Uuc291cmNlQ29kZUxpbmVzKSB7XG4gICAgICBvYmouc291cmNlQ29kZUxpbmVzID0gbWVzc2FnZS5zb3VyY2VDb2RlTGluZXMubWFwKChlKSA9PiBlID8gQ29kZUxpbmUudG9KU09OKGUpIDogdW5kZWZpbmVkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb2JqLnNvdXJjZUNvZGVMaW5lcyA9IFtdO1xuICAgIH1cbiAgICBtZXNzYWdlLmdlbmVyYXRlZExpbmVOdW1iZXIgIT09IHVuZGVmaW5lZCAmJiAob2JqLmdlbmVyYXRlZExpbmVOdW1iZXIgPSBNYXRoLnJvdW5kKG1lc3NhZ2UuZ2VuZXJhdGVkTGluZU51bWJlcikpO1xuICAgIG1lc3NhZ2UuZ2VuZXJhdGVkQ29sdW1uTnVtYmVyICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIChvYmouZ2VuZXJhdGVkQ29sdW1uTnVtYmVyID0gTWF0aC5yb3VuZChtZXNzYWdlLmdlbmVyYXRlZENvbHVtbk51bWJlcikpO1xuICAgIG1lc3NhZ2Uuc291cmNlRnVuY3Rpb25OYW1lICE9PSB1bmRlZmluZWQgJiYgKG9iai5zb3VyY2VGdW5jdGlvbk5hbWUgPSBtZXNzYWdlLnNvdXJjZUZ1bmN0aW9uTmFtZSk7XG4gICAgcmV0dXJuIG9iajtcbiAgfSxcblxuICBjcmVhdGUoYmFzZT86IERlZXBQYXJ0aWFsPE1hcHBlZENodW5rPik6IE1hcHBlZENodW5rIHtcbiAgICByZXR1cm4gTWFwcGVkQ2h1bmsuZnJvbVBhcnRpYWwoYmFzZSA/PyB7fSk7XG4gIH0sXG5cbiAgZnJvbVBhcnRpYWwob2JqZWN0OiBEZWVwUGFydGlhbDxNYXBwZWRDaHVuaz4pOiBNYXBwZWRDaHVuayB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGNyZWF0ZUJhc2VNYXBwZWRDaHVuaygpO1xuICAgIG1lc3NhZ2UuY2h1bmtOYW1lID0gb2JqZWN0LmNodW5rTmFtZSA/PyBcIlwiO1xuICAgIG1lc3NhZ2Uub3JpZ2luYWxMaW5lTnVtYmVyID0gb2JqZWN0Lm9yaWdpbmFsTGluZU51bWJlciA/PyAwO1xuICAgIG1lc3NhZ2Uub3JpZ2luYWxDb2x1bW5OdW1iZXIgPSBvYmplY3Qub3JpZ2luYWxDb2x1bW5OdW1iZXIgPz8gMDtcbiAgICBtZXNzYWdlLnNvdXJjZUZpbGVOYW1lID0gb2JqZWN0LnNvdXJjZUZpbGVOYW1lID8/IFwiXCI7XG4gICAgbWVzc2FnZS5zb3VyY2VDb2RlTGluZXMgPSBvYmplY3Quc291cmNlQ29kZUxpbmVzPy5tYXAoKGUpID0+IENvZGVMaW5lLmZyb21QYXJ0aWFsKGUpKSB8fCBbXTtcbiAgICBtZXNzYWdlLmdlbmVyYXRlZExpbmVOdW1iZXIgPSBvYmplY3QuZ2VuZXJhdGVkTGluZU51bWJlciA/PyAwO1xuICAgIG1lc3NhZ2UuZ2VuZXJhdGVkQ29sdW1uTnVtYmVyID0gb2JqZWN0LmdlbmVyYXRlZENvbHVtbk51bWJlciA/PyAwO1xuICAgIG1lc3NhZ2Uuc291cmNlRnVuY3Rpb25OYW1lID0gb2JqZWN0LnNvdXJjZUZ1bmN0aW9uTmFtZSA/PyBcIlwiO1xuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxufTtcblxuZGVjbGFyZSB2YXIgc2VsZjogYW55IHwgdW5kZWZpbmVkO1xuZGVjbGFyZSB2YXIgd2luZG93OiBhbnkgfCB1bmRlZmluZWQ7XG5kZWNsYXJlIHZhciBnbG9iYWw6IGFueSB8IHVuZGVmaW5lZDtcbnZhciB0c1Byb3RvR2xvYmFsVGhpczogYW55ID0gKCgpID0+IHtcbiAgaWYgKHR5cGVvZiBnbG9iYWxUaGlzICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgcmV0dXJuIGdsb2JhbFRoaXM7XG4gIH1cbiAgaWYgKHR5cGVvZiBzZWxmICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgcmV0dXJuIHNlbGY7XG4gIH1cbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICByZXR1cm4gd2luZG93O1xuICB9XG4gIGlmICh0eXBlb2YgZ2xvYmFsICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgcmV0dXJuIGdsb2JhbDtcbiAgfVxuICB0aHJvdyBcIlVuYWJsZSB0byBsb2NhdGUgZ2xvYmFsIG9iamVjdFwiO1xufSkoKTtcblxudHlwZSBCdWlsdGluID0gRGF0ZSB8IEZ1bmN0aW9uIHwgVWludDhBcnJheSB8IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIERlZXBQYXJ0aWFsPFQ+ID0gVCBleHRlbmRzIEJ1aWx0aW4gPyBUXG4gIDogVCBleHRlbmRzIEFycmF5PGluZmVyIFU+ID8gQXJyYXk8RGVlcFBhcnRpYWw8VT4+IDogVCBleHRlbmRzIFJlYWRvbmx5QXJyYXk8aW5mZXIgVT4gPyBSZWFkb25seUFycmF5PERlZXBQYXJ0aWFsPFU+PlxuICA6IFQgZXh0ZW5kcyB7ICRjYXNlOiBzdHJpbmcgfSA/IHsgW0sgaW4ga2V5b2YgT21pdDxULCBcIiRjYXNlXCI+XT86IERlZXBQYXJ0aWFsPFRbS10+IH0gJiB7ICRjYXNlOiBUW1wiJGNhc2VcIl0gfVxuICA6IFQgZXh0ZW5kcyB7fSA/IHsgW0sgaW4ga2V5b2YgVF0/OiBEZWVwUGFydGlhbDxUW0tdPiB9XG4gIDogUGFydGlhbDxUPjtcblxuZnVuY3Rpb24gbG9uZ1RvTnVtYmVyKGxvbmc6IExvbmcpOiBudW1iZXIge1xuICBpZiAobG9uZy5ndChOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikpIHtcbiAgICB0aHJvdyBuZXcgdHNQcm90b0dsb2JhbFRoaXMuRXJyb3IoXCJWYWx1ZSBpcyBsYXJnZXIgdGhhbiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlwiKTtcbiAgfVxuICByZXR1cm4gbG9uZy50b051bWJlcigpO1xufVxuXG5pZiAoX20wLnV0aWwuTG9uZyAhPT0gTG9uZykge1xuICBfbTAudXRpbC5Mb25nID0gTG9uZyBhcyBhbnk7XG4gIF9tMC5jb25maWd1cmUoKTtcbn1cblxuZnVuY3Rpb24gaXNTZXQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZDtcbn1cbiJdfQ==
|