@trudb/tru-common-lib 0.0.854 → 0.0.856

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.
@@ -0,0 +1,131 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { Observable } from "rxjs";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./tru-util";
5
+ import * as i2 from "./tru-user";
6
+ export class TruCloudFileManager {
7
+ util;
8
+ user;
9
+ reader;
10
+ file;
11
+ sliceSize = 10000 * 1024;
12
+ constructor(util, user) {
13
+ this.util = util;
14
+ this.user = user;
15
+ }
16
+ getFileLength = (blobId, temp) => {
17
+ return Observable.create((observer) => {
18
+ let xhr = new XMLHttpRequest();
19
+ xhr.onreadystatechange = function () {
20
+ if (xhr.readyState == XMLHttpRequest.DONE) {
21
+ if (xhr.status == 200) {
22
+ observer.next(xhr.response);
23
+ }
24
+ else {
25
+ console.log('Download Failed. Unable to acquire file size.');
26
+ }
27
+ }
28
+ };
29
+ xhr.open('POST', '../breeze/TruDB/CloudBlobLength');
30
+ xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
31
+ xhr.send(this.util.formatAsUrlParameters({
32
+ blobId: blobId,
33
+ temp: temp ? true : false
34
+ }));
35
+ });
36
+ };
37
+ uploadFile = (start, tableName, propertyName, filename, blobMetaData, temp, updateProgress, done) => {
38
+ let nextSlice = start + this.sliceSize + 1;
39
+ let blob = this.file?.slice(start, nextSlice);
40
+ this.reader.onloadend = (event) => {
41
+ if (event.target?.readyState !== FileReader.DONE) {
42
+ return;
43
+ }
44
+ let xhr = new XMLHttpRequest();
45
+ xhr.onreadystatechange = () => {
46
+ if (xhr.readyState == XMLHttpRequest.DONE) {
47
+ if (xhr.status == 200) {
48
+ var sizeDone = start + this.sliceSize;
49
+ var percentDone = Math.floor((sizeDone / this.file.size) * 100);
50
+ var blobMetaData = JSON.parse(xhr.response);
51
+ if (nextSlice < this.file?.size) {
52
+ updateProgress(percentDone);
53
+ console.log('Uploading File - ' + percentDone + '%');
54
+ this.uploadFile(nextSlice, tableName, propertyName, filename, blobMetaData, temp, updateProgress, done);
55
+ }
56
+ else {
57
+ done(blobMetaData.truDbCloudFileRef);
58
+ }
59
+ }
60
+ else {
61
+ console.log(xhr.responseType);
62
+ }
63
+ }
64
+ };
65
+ xhr.open('POST', '../breeze/TruDB/CloudFileUpload');
66
+ xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
67
+ xhr.send(this.util.formatAsUrlParameters({
68
+ tableName: tableName,
69
+ propertyName: propertyName,
70
+ fileData: event.target.result.split(',')[1],
71
+ filename: filename,
72
+ blobId: blobMetaData.blobId,
73
+ blobBlockIdStr: blobMetaData.blobBlockIdStr,
74
+ createdRef: this.user.activeUserRef,
75
+ public: false,
76
+ temp: temp ? true : false,
77
+ commit: nextSlice < this.file.size ? false : true
78
+ }));
79
+ };
80
+ this.reader.readAsDataURL(blob);
81
+ };
82
+ upload = (tableName, propertyName, fileData, temp, updateProgress, done) => {
83
+ this.reader = new FileReader();
84
+ this.file = fileData;
85
+ this.uploadFile(0, tableName, propertyName, this.file.name, { blobId: null, blobBlockIdStr: null }, temp, updateProgress, done);
86
+ };
87
+ download = (blobId, temp, filename, updateProgress, done) => {
88
+ this.getFileLength(blobId, temp).subscribe((fileLength) => {
89
+ var xhr = new XMLHttpRequest();
90
+ xhr.onprogress = function (e) {
91
+ updateProgress(Math.round(e.loaded / e.total * 100));
92
+ };
93
+ xhr.onload = function () {
94
+ //var fileName = xhr.getResponseHeader('Content-Disposition').split("filename=")[1];
95
+ var blob = new Blob([xhr.response], { type: 'application/octet-stream' });
96
+ var a = document.createElement('a');
97
+ a.href = URL.createObjectURL(blob);
98
+ a.download = filename;
99
+ document.body.appendChild(a);
100
+ a.dispatchEvent(new MouseEvent('click'));
101
+ done();
102
+ };
103
+ xhr.onerror = function (e) {
104
+ done();
105
+ console.log(e);
106
+ };
107
+ xhr.ontimeout = function (e) {
108
+ done();
109
+ console.log(e);
110
+ };
111
+ xhr.open('POST', '../breeze/TruDB/CloudFileDownload');
112
+ xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
113
+ xhr.responseType = 'arraybuffer';
114
+ xhr.send(this.util.formatAsUrlParameters({
115
+ blobId: blobId,
116
+ filename: filename,
117
+ fileLength: parseInt(fileLength),
118
+ temp: temp ? true : false
119
+ }));
120
+ });
121
+ };
122
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruCloudFileManager, deps: [{ token: i1.TruUtil }, { token: i2.TruUser }], target: i0.ɵɵFactoryTarget.Injectable });
123
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruCloudFileManager, providedIn: 'root' });
124
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruCloudFileManager, decorators: [{
126
+ type: Injectable,
127
+ args: [{
128
+ providedIn: 'root',
129
+ }]
130
+ }], ctorParameters: () => [{ type: i1.TruUtil }, { type: i2.TruUser }] });
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWNsb3VkLWZpbGUtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvdHJ1LWNsb3VkLWZpbGUtbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxNQUFNLENBQUM7Ozs7QUFPNUMsTUFBTSxPQUFPLG1CQUFtQjtJQU9wQjtJQUNBO0lBTkYsTUFBTSxDQUFjO0lBQ3BCLElBQUksQ0FBUTtJQUNaLFNBQVMsR0FBVyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBRXpDLFlBQ1UsSUFBYSxFQUNiLElBQWE7UUFEYixTQUFJLEdBQUosSUFBSSxDQUFTO1FBQ2IsU0FBSSxHQUFKLElBQUksQ0FBUztJQUFJLENBQUM7SUFFcEIsYUFBYSxHQUFHLENBQUMsTUFBYyxFQUFFLElBQVMsRUFBbUIsRUFBRTtRQUNyRSxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUF1QixFQUFFLEVBQUU7WUFDbkQsSUFBSSxHQUFHLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUMvQixHQUFHLENBQUMsa0JBQWtCLEdBQUc7Z0JBQ3ZCLElBQUksR0FBRyxDQUFDLFVBQVUsSUFBSSxjQUFjLENBQUMsSUFBSSxFQUFFO29CQUN6QyxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksR0FBRyxFQUFFO3dCQUNyQixRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztxQkFDN0I7eUJBQ0k7d0JBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO3FCQUM5RDtpQkFDRjtZQUNILENBQUMsQ0FBQztZQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGlDQUFpQyxDQUFDLENBQUM7WUFDcEQsR0FBRyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxrREFBa0QsQ0FBQyxDQUFDO1lBQ3pGLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztnQkFDdkMsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO2FBQzFCLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUE7SUFFTyxVQUFVLEdBQUcsQ0FDbkIsS0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFlBQW9CLEVBQ3BCLFFBQWdCLEVBQ2hCLFlBQWlCLEVBQ2pCLElBQVMsRUFDVCxjQUF3QyxFQUN4QyxJQUF1QyxFQUFFLEVBQUU7UUFFM0MsSUFBSSxTQUFTLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUU5QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQWdDLEVBQUUsRUFBRTtZQUMzRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsVUFBVSxLQUFLLFVBQVUsQ0FBQyxJQUFJLEVBQUU7Z0JBQ2hELE9BQU87YUFDUjtZQUVELElBQUksR0FBRyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7WUFDL0IsR0FBRyxDQUFDLGtCQUFrQixHQUFHLEdBQUcsRUFBRTtnQkFDNUIsSUFBSSxHQUFHLENBQUMsVUFBVSxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUU7b0JBQ3pDLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUU7d0JBQ3JCLElBQUksUUFBUSxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO3dCQUN0QyxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7d0JBRWhFLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUU1QyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTs0QkFDL0IsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDOzRCQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixHQUFHLFdBQVcsR0FBRyxHQUFHLENBQUMsQ0FBQzs0QkFDckQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7eUJBQ3pHOzZCQUFNOzRCQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQzt5QkFDdEM7cUJBQ0Y7eUJBQ0k7d0JBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7cUJBQy9CO2lCQUNGO1lBQ0gsQ0FBQyxDQUFDO1lBRUYsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztZQUNwRCxHQUFHLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLGtEQUFrRCxDQUFDLENBQUM7WUFFekYsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDO2dCQUN2QyxTQUFTLEVBQUUsU0FBUztnQkFDcEIsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLFFBQVEsRUFBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNwRCxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNO2dCQUMzQixjQUFjLEVBQUUsWUFBWSxDQUFDLGNBQWM7Z0JBQzNDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWE7Z0JBQ25DLE1BQU0sRUFBRSxLQUFLO2dCQUNiLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztnQkFDekIsTUFBTSxFQUFFLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO2FBQ2xELENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQyxDQUFDO0lBRUYsTUFBTSxHQUFHLENBQUMsU0FBaUIsRUFBRSxZQUFvQixFQUFFLFFBQWMsRUFBRSxJQUFTLEVBQUUsY0FBd0MsRUFBRSxJQUF1QyxFQUFFLEVBQUU7UUFDakssSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBRXJCLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2xJLENBQUMsQ0FBQTtJQUVELFFBQVEsR0FBRyxDQUNULE1BQWMsRUFDZCxJQUFTLEVBQ1QsUUFBZ0IsRUFDaEIsY0FBd0MsRUFDeEMsSUFBYyxFQUFFLEVBQUU7UUFFbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBa0IsRUFBRSxFQUFFO1lBQ2hFLElBQUksR0FBRyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7WUFFL0IsR0FBRyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7Z0JBQzFCLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQ3RELENBQUMsQ0FBQTtZQUVELEdBQUcsQ0FBQyxNQUFNLEdBQUc7Z0JBQ1gsb0ZBQW9GO2dCQUNwRixJQUFJLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSwwQkFBMEIsRUFBRSxDQUFDLENBQUM7Z0JBRTFFLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3BDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbkMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7Z0JBRXRCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUU3QixDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ3pDLElBQUksRUFBRSxDQUFDO1lBQ1QsQ0FBQyxDQUFBO1lBRUQsR0FBRyxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7Z0JBQ3ZCLElBQUksRUFBRSxDQUFDO2dCQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakIsQ0FBQyxDQUFDO1lBRUYsR0FBRyxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7Z0JBQ3pCLElBQUksRUFBRSxDQUFDO2dCQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakIsQ0FBQyxDQUFDO1lBRUYsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsbUNBQW1DLENBQUMsQ0FBQztZQUN0RCxHQUFHLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLGtEQUFrRCxDQUFDLENBQUM7WUFDekYsR0FBRyxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUM7WUFDakMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDO2dCQUN2QyxNQUFNLEVBQUUsTUFBTTtnQkFDZCxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUM7Z0JBQ2hDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSzthQUMxQixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFBO3VHQXJKVSxtQkFBbUI7MkdBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIE9ic2VydmVyIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgVHJ1VXNlciB9IGZyb20gXCIuL3RydS11c2VyXCI7XHJcbmltcG9ydCB7IFRydVV0aWwgfSBmcm9tIFwiLi90cnUtdXRpbFwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRydUNsb3VkRmlsZU1hbmFnZXIge1xyXG5cclxuICBwcml2YXRlIHJlYWRlciE6IEZpbGVSZWFkZXI7XHJcbiAgcHJpdmF0ZSBmaWxlITogRmlsZTtcclxuICBwcml2YXRlIHNsaWNlU2l6ZTogbnVtYmVyID0gMTAwMDAgKiAxMDI0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdXRpbDogVHJ1VXRpbCxcclxuICAgIHByaXZhdGUgdXNlcjogVHJ1VXNlcikgeyB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RmlsZUxlbmd0aCA9IChibG9iSWQ6IHN0cmluZywgdGVtcDogYW55KTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgob2JzZXJ2ZXI6IE9ic2VydmVyPGFueT4pID0+IHtcclxuICAgICAgbGV0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xyXG4gICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSBYTUxIdHRwUmVxdWVzdC5ET05FKSB7XHJcbiAgICAgICAgICBpZiAoeGhyLnN0YXR1cyA9PSAyMDApIHtcclxuICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh4aHIucmVzcG9uc2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdEb3dubG9hZCBGYWlsZWQuIFVuYWJsZSB0byBhY3F1aXJlIGZpbGUgc2l6ZS4nKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcblxyXG4gICAgICB4aHIub3BlbignUE9TVCcsICcuLi9icmVlemUvVHJ1REIvQ2xvdWRCbG9iTGVuZ3RoJyk7XHJcbiAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04Jyk7XHJcbiAgICAgIHhoci5zZW5kKHRoaXMudXRpbC5mb3JtYXRBc1VybFBhcmFtZXRlcnMoe1xyXG4gICAgICAgIGJsb2JJZDogYmxvYklkLFxyXG4gICAgICAgIHRlbXA6IHRlbXAgPyB0cnVlIDogZmFsc2VcclxuICAgICAgfSkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwbG9hZEZpbGUgPSAoXHJcbiAgICBzdGFydDogbnVtYmVyLFxyXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXHJcbiAgICBwcm9wZXJ0eU5hbWU6IHN0cmluZyxcclxuICAgIGZpbGVuYW1lOiBzdHJpbmcsXHJcbiAgICBibG9iTWV0YURhdGE6IGFueSxcclxuICAgIHRlbXA6IGFueSxcclxuICAgIHVwZGF0ZVByb2dyZXNzOiAocHJvZ3Jlc3M6IG51bWJlcikgPT4ge30sXHJcbiAgICBkb25lOiAocmVzcG9uc2U6IGFueSB8IHVuZGVmaW5lZCkgPT4ge30pID0+IHtcclxuXHJcbiAgICBsZXQgbmV4dFNsaWNlID0gc3RhcnQgKyB0aGlzLnNsaWNlU2l6ZSArIDE7XHJcbiAgICBsZXQgYmxvYiA9IHRoaXMuZmlsZT8uc2xpY2Uoc3RhcnQsIG5leHRTbGljZSk7XHJcblxyXG4gICAgdGhpcy5yZWFkZXIub25sb2FkZW5kID0gKGV2ZW50OiBQcm9ncmVzc0V2ZW50PEZpbGVSZWFkZXI+KSA9PiB7XHJcbiAgICAgIGlmIChldmVudC50YXJnZXQ/LnJlYWR5U3RhdGUgIT09IEZpbGVSZWFkZXIuRE9ORSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgbGV0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xyXG4gICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSBYTUxIdHRwUmVxdWVzdC5ET05FKSB7XHJcbiAgICAgICAgICBpZiAoeGhyLnN0YXR1cyA9PSAyMDApIHtcclxuICAgICAgICAgICAgdmFyIHNpemVEb25lID0gc3RhcnQgKyB0aGlzLnNsaWNlU2l6ZTtcclxuICAgICAgICAgICAgdmFyIHBlcmNlbnREb25lID0gTWF0aC5mbG9vcigoc2l6ZURvbmUgLyB0aGlzLmZpbGUuc2l6ZSkgKiAxMDApO1xyXG5cclxuICAgICAgICAgICAgdmFyIGJsb2JNZXRhRGF0YSA9IEpTT04ucGFyc2UoeGhyLnJlc3BvbnNlKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChuZXh0U2xpY2UgPCB0aGlzLmZpbGU/LnNpemUpIHtcclxuICAgICAgICAgICAgICB1cGRhdGVQcm9ncmVzcyhwZXJjZW50RG9uZSk7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1VwbG9hZGluZyBGaWxlIC0gJyArIHBlcmNlbnREb25lICsgJyUnKTtcclxuICAgICAgICAgICAgICB0aGlzLnVwbG9hZEZpbGUobmV4dFNsaWNlLCB0YWJsZU5hbWUsIHByb3BlcnR5TmFtZSwgZmlsZW5hbWUsIGJsb2JNZXRhRGF0YSwgdGVtcCwgdXBkYXRlUHJvZ3Jlc3MsIGRvbmUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGRvbmUoYmxvYk1ldGFEYXRhLnRydURiQ2xvdWRGaWxlUmVmKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHhoci5yZXNwb25zZVR5cGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuXHJcbiAgICAgIHhoci5vcGVuKCdQT1NUJywgJy4uL2JyZWV6ZS9UcnVEQi9DbG91ZEZpbGVVcGxvYWQnKTtcclxuICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgnKTtcclxuXHJcbiAgICAgIHhoci5zZW5kKHRoaXMudXRpbC5mb3JtYXRBc1VybFBhcmFtZXRlcnMoe1xyXG4gICAgICAgIHRhYmxlTmFtZTogdGFibGVOYW1lLFxyXG4gICAgICAgIHByb3BlcnR5TmFtZTogcHJvcGVydHlOYW1lLFxyXG4gICAgICAgIGZpbGVEYXRhOiAoZXZlbnQudGFyZ2V0LnJlc3VsdCBhcyBhbnkpLnNwbGl0KCcsJylbMV0sXHJcbiAgICAgICAgZmlsZW5hbWU6IGZpbGVuYW1lLFxyXG4gICAgICAgIGJsb2JJZDogYmxvYk1ldGFEYXRhLmJsb2JJZCxcclxuICAgICAgICBibG9iQmxvY2tJZFN0cjogYmxvYk1ldGFEYXRhLmJsb2JCbG9ja0lkU3RyLFxyXG4gICAgICAgIGNyZWF0ZWRSZWY6IHRoaXMudXNlci5hY3RpdmVVc2VyUmVmLFxyXG4gICAgICAgIHB1YmxpYzogZmFsc2UsXHJcbiAgICAgICAgdGVtcDogdGVtcCA/IHRydWUgOiBmYWxzZSxcclxuICAgICAgICBjb21taXQ6IG5leHRTbGljZSA8IHRoaXMuZmlsZS5zaXplID8gZmFsc2UgOiB0cnVlXHJcbiAgICAgIH0pKTtcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5yZWFkZXIucmVhZEFzRGF0YVVSTChibG9iKTtcclxuICB9O1xyXG5cclxuICB1cGxvYWQgPSAodGFibGVOYW1lOiBzdHJpbmcsIHByb3BlcnR5TmFtZTogc3RyaW5nLCBmaWxlRGF0YTogRmlsZSwgdGVtcDogYW55LCB1cGRhdGVQcm9ncmVzczogKHByb2dyZXNzOiBudW1iZXIpID0+IHt9LCBkb25lOiAocmVzcG9uc2U6IGFueSB8IHVuZGVmaW5lZCkgPT4ge30pID0+IHtcclxuICAgIHRoaXMucmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgIHRoaXMuZmlsZSA9IGZpbGVEYXRhO1xyXG5cclxuICAgIHRoaXMudXBsb2FkRmlsZSgwLCB0YWJsZU5hbWUsIHByb3BlcnR5TmFtZSwgdGhpcy5maWxlLm5hbWUsIHsgYmxvYklkOiBudWxsLCBibG9iQmxvY2tJZFN0cjogbnVsbCB9LCB0ZW1wLCB1cGRhdGVQcm9ncmVzcywgZG9uZSk7XHJcbiAgfVxyXG5cclxuICBkb3dubG9hZCA9IChcclxuICAgIGJsb2JJZDogc3RyaW5nLFxyXG4gICAgdGVtcDogYW55LFxyXG4gICAgZmlsZW5hbWU6IHN0cmluZyxcclxuICAgIHVwZGF0ZVByb2dyZXNzOiAocHJvZ3Jlc3M6IG51bWJlcikgPT4ge30sXHJcbiAgICBkb25lOiAoKSA9PiB7fSkgPT4ge1xyXG5cclxuICAgIHRoaXMuZ2V0RmlsZUxlbmd0aChibG9iSWQsIHRlbXApLnN1YnNjcmliZSgoZmlsZUxlbmd0aDogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcclxuXHJcbiAgICAgIHhoci5vbnByb2dyZXNzID0gZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICB1cGRhdGVQcm9ncmVzcyhNYXRoLnJvdW5kKGUubG9hZGVkIC8gZS50b3RhbCAqIDEwMCkpXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHhoci5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgLy92YXIgZmlsZU5hbWUgPSB4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoJ0NvbnRlbnQtRGlzcG9zaXRpb24nKS5zcGxpdChcImZpbGVuYW1lPVwiKVsxXTtcclxuICAgICAgICB2YXIgYmxvYiA9IG5ldyBCbG9iKFt4aHIucmVzcG9uc2VdLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nIH0pO1xyXG5cclxuICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICBhLmhyZWYgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gICAgICAgIGEuZG93bmxvYWQgPSBmaWxlbmFtZTtcclxuXHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtcclxuXHJcbiAgICAgICAgYS5kaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50KCdjbGljaycpKTtcclxuICAgICAgICBkb25lKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHhoci5vbmVycm9yID0gZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICBkb25lKCk7XHJcbiAgICAgICAgY29uc29sZS5sb2coZSk7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICB4aHIub250aW1lb3V0ID0gZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICBkb25lKCk7XHJcbiAgICAgICAgY29uc29sZS5sb2coZSk7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICB4aHIub3BlbignUE9TVCcsICcuLi9icmVlemUvVHJ1REIvQ2xvdWRGaWxlRG93bmxvYWQnKTtcclxuICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgnKTtcclxuICAgICAgeGhyLnJlc3BvbnNlVHlwZSA9ICdhcnJheWJ1ZmZlcic7XHJcbiAgICAgIHhoci5zZW5kKHRoaXMudXRpbC5mb3JtYXRBc1VybFBhcmFtZXRlcnMoe1xyXG4gICAgICAgIGJsb2JJZDogYmxvYklkLFxyXG4gICAgICAgIGZpbGVuYW1lOiBmaWxlbmFtZSxcclxuICAgICAgICBmaWxlTGVuZ3RoOiBwYXJzZUludChmaWxlTGVuZ3RoKSxcclxuICAgICAgICB0ZW1wOiB0ZW1wID8gdHJ1ZSA6IGZhbHNlXHJcbiAgICAgIH0pKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
25
25
  providedIn: 'root',
26
26
  }]
27
27
  }], ctorParameters: () => [] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWNvbnRleHQtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvdHJ1LWNvbnRleHQtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8zQyxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLE9BQU8sR0FBNEIsRUFBRSxDQUFDO0lBRXRDLFFBQVEsR0FBRyxDQUFDLFNBQWlCLEVBQVUsRUFBRTtRQUN2QyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxFQUFFLGNBQWMsQ0FBQztRQUMxRixJQUFJLENBQUMsTUFBTTtZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztRQUNwRixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQyxDQUFBO0lBRUQsS0FBSyxHQUFHLEdBQVcsRUFBRTtRQUNuQixJQUFJLEtBQUssR0FBVyxFQUFFLENBQUM7UUFDdkIsaUZBQWlGO1FBQ2pGLHNEQUFzRDtRQUN0RCxLQUFLO1FBQ0wsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUE7SUFFRCxnQkFBZ0IsQ0FBQzt1R0FsQk4saUJBQWlCOzJHQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBUcnVDb250ZXh0RmlsdGVyIH0gZnJvbSBcIi4uL2NsYXNzZXMvdHJ1LWNvbnRleHQtZmlsdGVyXCI7XHJcbmltcG9ydCB7IFRydUNvbnRleHRGaWx0ZXJDaG9pY2UgfSBmcm9tIFwiLi4vY2xhc3Nlcy90cnUtY29udGV4dC1maWx0ZXItY2hvaWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1Q29udGV4dEZpbHRlcnMge1xyXG4gIGZpbHRlcnM6IEFycmF5PFRydUNvbnRleHRGaWx0ZXI+ID0gW107XHJcblxyXG4gIHZhbHVlRm9yID0gKHRhYmxlTmFtZTogc3RyaW5nKTogbnVtYmVyID0+IHtcclxuICAgIGxldCBjaG9pY2UgPSB0aGlzLmZpbHRlcnMuZmluZChmID0+IGYuc2VsZWN0ZWRDaG9pY2UudGFibGUgPT09IHRhYmxlTmFtZSk/LnNlbGVjdGVkQ2hvaWNlO1xyXG4gICAgaWYgKCFjaG9pY2UpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29udGV4dEZpbHRlckNob2ljZSBub3QgZm91bmQuIFBvc3NpYmxlIGludmFsaWQgY29uZmlndXJhdGlvbi4nKTtcclxuICAgIHJldHVybiBjaG9pY2UucmVmO1xyXG4gIH1cclxuXHJcbiAgbGFiZWwgPSAoKTogc3RyaW5nID0+IHtcclxuICAgIGxldCBsYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgICAvL3RoaXMuc2VsZWN0ZWRDb250ZXh0RmlsdGVyQ2hvaWNlcy5mb3JFYWNoKChmaWx0ZXI6IFRydUNvbnRleHRGaWx0ZXJDaG9pY2UpID0+IHtcclxuICAgIC8vICBsYWJlbCArPSBmaWx0ZXIudGFibGUgKyAnOiAnICsgZmlsdGVyLmxhYmVsICsgJyAnO1xyXG4gICAgLy99KTtcclxuICAgIHJldHVybiBsYWJlbDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn1cclxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWNvbnRleHQtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvdHJ1LWNvbnRleHQtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8zQyxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLE9BQU8sR0FBNEIsRUFBRSxDQUFDO0lBRXRDLFFBQVEsR0FBRyxDQUFDLFNBQWlCLEVBQVUsRUFBRTtRQUN2QyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxFQUFFLGNBQWMsQ0FBQztRQUMxRixJQUFJLENBQUMsTUFBTTtZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztRQUNwRixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQyxDQUFBO0lBRUQsS0FBSyxHQUFHLEdBQVcsRUFBRTtRQUNuQixJQUFJLEtBQUssR0FBVyxFQUFFLENBQUM7UUFDdkIsaUZBQWlGO1FBQ2pGLHNEQUFzRDtRQUN0RCxLQUFLO1FBQ0wsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUE7SUFFRCxnQkFBZ0IsQ0FBQzt1R0FsQk4saUJBQWlCOzJHQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVHJ1Q29udGV4dEZpbHRlciB9IGZyb20gXCIuLi9jbGFzc2VzL3RydS1jb250ZXh0LWZpbHRlclwiO1xyXG5pbXBvcnQgeyBUcnVDb250ZXh0RmlsdGVyQ2hvaWNlIH0gZnJvbSBcIi4uL2NsYXNzZXMvdHJ1LWNvbnRleHQtZmlsdGVyLWNob2ljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRydUNvbnRleHRGaWx0ZXJzIHtcclxuICBmaWx0ZXJzOiBBcnJheTxUcnVDb250ZXh0RmlsdGVyPiA9IFtdO1xyXG5cclxuICB2YWx1ZUZvciA9ICh0YWJsZU5hbWU6IHN0cmluZyk6IG51bWJlciA9PiB7XHJcbiAgICBsZXQgY2hvaWNlID0gdGhpcy5maWx0ZXJzLmZpbmQoZiA9PiBmLnNlbGVjdGVkQ2hvaWNlLnRhYmxlID09PSB0YWJsZU5hbWUpPy5zZWxlY3RlZENob2ljZTtcclxuICAgIGlmICghY2hvaWNlKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbnRleHRGaWx0ZXJDaG9pY2Ugbm90IGZvdW5kLiBQb3NzaWJsZSBpbnZhbGlkIGNvbmZpZ3VyYXRpb24uJyk7XHJcbiAgICByZXR1cm4gY2hvaWNlLnJlZjtcclxuICB9XHJcblxyXG4gIGxhYmVsID0gKCk6IHN0cmluZyA9PiB7XHJcbiAgICBsZXQgbGFiZWw6IHN0cmluZyA9ICcnO1xyXG4gICAgLy90aGlzLnNlbGVjdGVkQ29udGV4dEZpbHRlckNob2ljZXMuZm9yRWFjaCgoZmlsdGVyOiBUcnVDb250ZXh0RmlsdGVyQ2hvaWNlKSA9PiB7XHJcbiAgICAvLyAgbGFiZWwgKz0gZmlsdGVyLnRhYmxlICsgJzogJyArIGZpbHRlci5sYWJlbCArICcgJztcclxuICAgIC8vfSk7XHJcbiAgICByZXR1cm4gbGFiZWw7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG59XHJcbiJdfQ==
@@ -64,6 +64,28 @@ export class TruUtil {
64
64
  }
65
65
  return defaultStyles;
66
66
  };
67
+ /**
68
+ * Serializes an object as URL parameters. The object should be a base type or have
69
+ * properties that are each base types. Does not support a property with structure.
70
+ * @param {Object} data
71
+ * @returns {String}
72
+ */
73
+ formatAsUrlParameters = (data) => {
74
+ if (typeof data !== 'object' || data === null)
75
+ return (data == null ? '' : data.toString());
76
+ var buffer = [];
77
+ for (var name in data) {
78
+ if (!data.hasOwnProperty(name)) {
79
+ continue;
80
+ }
81
+ var value = data[name];
82
+ buffer.push(encodeURIComponent(name) +
83
+ '=' + encodeURIComponent(value == null ? '' : value));
84
+ }
85
+ var source = buffer.join('&')
86
+ .replace(/%20/g, '+');
87
+ return (source);
88
+ };
67
89
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruUtil, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
68
90
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruUtil, providedIn: 'root' });
69
91
  }
@@ -73,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
73
95
  providedIn: 'root',
74
96
  }]
75
97
  }], ctorParameters: () => [] });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL3RydS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXZELE1BQU0sT0FBTyxPQUFPO0lBRWxCLGdCQUFnQixDQUFDO0lBRWpCLFdBQVcsR0FBRyxDQUFDLEdBQVEsRUFBRSxZQUFpQixFQUFFLEVBQUU7UUFDNUMsSUFBSSxRQUFRLEdBQUcsWUFBWSxDQUFDO1FBQzVCLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUNoQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNmLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQzFCO2FBQ0Y7U0FDRjtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FBQztJQUVGLFlBQVksQ0FBQyxLQUFVLEVBQUUsWUFBaUI7UUFDeEMsT0FBTyxDQUFDLEtBQUssSUFBSSxNQUFNLElBQUksS0FBSyxJQUFJLE9BQU8sSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLFlBQVksQ0FBQztJQUN6SCxDQUFDO0lBRUQsMEJBQTBCLEdBQUcsQ0FBQyxPQUFZLEVBQUUsV0FBbUIsRUFBRSxFQUFFO1FBQ2pFLElBQUksU0FBUyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsT0FBTyxPQUFPLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDNUMsSUFBSSxTQUFTLEtBQUssR0FBRyxFQUFFO2dCQUNyQixJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUMxRSxPQUFPLE9BQU8sQ0FBQztpQkFDaEI7YUFDRjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7SUFFRixTQUFTLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRTtRQUNyQixPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDLENBQUE7SUFFRCxpQ0FBaUMsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFO1FBQ3BELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFBO0lBRUQsTUFBTSxHQUFHLENBQUMsSUFBVSxFQUFFLEVBQUU7UUFDdEIsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssZUFBZSxFQUFFO1lBQzVELElBQUksS0FBSyxDQUFFLElBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFO2dCQUNuQyxPQUFPLEtBQUssQ0FBQzthQUNkO2lCQUNJO2dCQUNILE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjthQUNJO1lBQ0gsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUMsQ0FBQztJQUVGLFdBQVcsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFO1FBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUMsQ0FBQTtJQUVELFNBQVMsR0FBRyxDQUFDLE1BQXFCLEVBQVUsRUFBRTtRQUM1QyxJQUFJLGFBQWEsR0FBRztZQUNsQixpQkFBaUIsRUFBRSxTQUFTO1lBQzVCLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLFlBQVksRUFBRSxRQUFRO1lBQ3RCLGlCQUFpQixFQUFFLE9BQU87U0FDM0IsQ0FBQTtRQUNELElBQUksTUFBTSxLQUFLLElBQUk7WUFDakIsT0FBTyxhQUFhLENBQUM7UUFDdkIsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDckMsT0FBTyxhQUFhLENBQUM7U0FDdEI7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDLENBQUE7dUdBeEVVLE9BQU87MkdBQVAsT0FBTyxjQUZOLE1BQU07OzJGQUVQLE9BQU87a0JBSG5CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1VXRpbCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIHRyeVBhcnNlSW50ID0gKHN0cjogYW55LCBkZWZhdWx0VmFsdWU6IGFueSkgPT4ge1xyXG4gICAgdmFyIHJldFZhbHVlID0gZGVmYXVsdFZhbHVlO1xyXG4gICAgaWYgKHN0ciAhPT0gbnVsbCkge1xyXG4gICAgICBpZiAoc3RyLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBpZiAoIWlzTmFOKHN0cikpIHtcclxuICAgICAgICAgIHJldFZhbHVlID0gcGFyc2VJbnQoc3RyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXRWYWx1ZTtcclxuICB9O1xyXG5cclxuICB0cnlQYXJzZUJvb2wodmFsdWU6IGFueSwgZGVmYXVsdFZhbHVlOiBhbnkpIHtcclxuICAgIHJldHVybiAodmFsdWUgPT0gJ3RydWUnIHx8IHZhbHVlID09ICdmYWxzZScgfHwgdmFsdWUgPT09IHRydWUgfHwgdmFsdWUgPT09IGZhbHNlKSAmJiBKU09OLnBhcnNlKHZhbHVlKSB8fCBkZWZhdWx0VmFsdWU7XHJcbiAgfVxyXG5cclxuICBmaW5kQ2xvc2VzdEFuY2VzdG9yQnlDbGFzcyA9IChlbGVtZW50OiBhbnksIGNzc1NlbGVjdG9yOiBzdHJpbmcpID0+IHtcclxuICAgIGxldCBmaXJzdENoYXIgPSBjc3NTZWxlY3Rvci5jaGFyQXQoMCk7XHJcbiAgICBmb3IgKDsgZWxlbWVudDsgZWxlbWVudCA9IGVsZW1lbnQucGFyZW50Tm9kZSkge1xyXG4gICAgICBpZiAoZmlyc3RDaGFyID09PSAnLicpIHtcclxuICAgICAgICBpZiAoZWxlbWVudC5jbGFzc0xpc3QgJiYgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoY3NzU2VsZWN0b3Iuc3Vic3RyKDEpKSkge1xyXG4gICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9O1xyXG5cclxuICBpc051bWVyaWMgPSAobjogYW55KSA9PiB7XHJcbiAgICByZXR1cm4gIWlzTmFOKHBhcnNlRmxvYXQobikpICYmIGlzRmluaXRlKG4pO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlTm9uTnVtZXJpY0NoYXJhY3RlcnNGcm9tU3RyID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcclxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9bXjAtOV0vZywgJycpO1xyXG4gIH1cclxuXHJcbiAgaXNEYXRlID0gKGRhdGU6IERhdGUpID0+IHtcclxuICAgIGlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZGF0ZSkgPT09ICdbb2JqZWN0IERhdGVdJykge1xyXG4gICAgICBpZiAoaXNOYU4oKGRhdGUgYXMgRGF0ZSkuZ2V0VGltZSgpKSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBpc1ZhbGlkRGF0ZSA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7XHJcbiAgICByZXR1cm4gIWlzTmFOKERhdGUucGFyc2UodmFsdWUpKTtcclxuICB9XHJcblxyXG4gIHJ1bGVzRXZhbCA9IChzdHlsZXM6IG9iamVjdCB8IG51bGwpOiBvYmplY3QgPT4ge1xyXG4gICAgbGV0IGRlZmF1bHRTdHlsZXMgPSB7XHJcbiAgICAgICdiYWNrZ3JvdW5kQ29sb3InOiAnI2ZmZmZmZicsXHJcbiAgICAgICdjb2xvcic6ICcjMDAwMDAwJyxcclxuICAgICAgJ2ZvbnQtc3R5bGUnOiAnbm9ybWFsJyxcclxuICAgICAgJ3RleHQtZGVjb3JhdGlvbic6ICd1bnNldCdcclxuICAgIH1cclxuICAgIGlmIChzdHlsZXMgPT09IG51bGwpXHJcbiAgICAgIHJldHVybiBkZWZhdWx0U3R5bGVzO1xyXG4gICAgaWYgKE9iamVjdC5lbnRyaWVzKHN0eWxlcykubGVuZ3RoICE9PSAwKSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24oZGVmYXVsdFN0eWxlcywgc3R5bGVzKTtcclxuICAgICAgcmV0dXJuIGRlZmF1bHRTdHlsZXM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGVmYXVsdFN0eWxlcztcclxuICB9XHJcbn1cclxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL3RydS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXZELE1BQU0sT0FBTyxPQUFPO0lBRWxCLGdCQUFnQixDQUFDO0lBRWpCLFdBQVcsR0FBRyxDQUFDLEdBQVEsRUFBRSxZQUFpQixFQUFFLEVBQUU7UUFDNUMsSUFBSSxRQUFRLEdBQUcsWUFBWSxDQUFDO1FBQzVCLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUNoQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNmLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQzFCO2FBQ0Y7U0FDRjtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FBQztJQUVGLFlBQVksQ0FBQyxLQUFVLEVBQUUsWUFBaUI7UUFDeEMsT0FBTyxDQUFDLEtBQUssSUFBSSxNQUFNLElBQUksS0FBSyxJQUFJLE9BQU8sSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLFlBQVksQ0FBQztJQUN6SCxDQUFDO0lBRUQsMEJBQTBCLEdBQUcsQ0FBQyxPQUFZLEVBQUUsV0FBbUIsRUFBRSxFQUFFO1FBQ2pFLElBQUksU0FBUyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsT0FBTyxPQUFPLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDNUMsSUFBSSxTQUFTLEtBQUssR0FBRyxFQUFFO2dCQUNy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QUFDO1FBQ3hCLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQUE7dUdBaEdVLE9BQU87MkdBQVAsT0FBTyxjQUZOLE1BQU07OzJGQUVQLE9BQU87a0JBSG5CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1VXRpbCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIHRyeVBhcnNlSW50ID0gKHN0cjogYW55LCBkZWZhdWx0VmFsdWU6IGFueSkgPT4ge1xyXG4gICAgdmFyIHJldFZhbHVlID0gZGVmYXVsdFZhbHVlO1xyXG4gICAgaWYgKHN0ciAhPT0gbnVsbCkge1xyXG4gICAgICBpZiAoc3RyLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBpZiAoIWlzTmFOKHN0cikpIHtcclxuICAgICAgICAgIHJldFZhbHVlID0gcGFyc2VJbnQoc3RyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXRWYWx1ZTtcclxuICB9O1xyXG5cclxuICB0cnlQYXJzZUJvb2wodmFsdWU6IGFueSwgZGVmYXVsdFZhbHVlOiBhbnkpIHtcclxuICAgIHJldHVybiAodmFsdWUgPT0gJ3RydWUnIHx8IHZhbHVlID09ICdmYWxzZScgfHwgdmFsdWUgPT09IHRydWUgfHwgdmFsdWUgPT09IGZhbHNlKSAmJiBKU09OLnBhcnNlKHZhbHVlKSB8fCBkZWZhdWx0VmFsdWU7XHJcbiAgfVxyXG5cclxuICBmaW5kQ2xvc2VzdEFuY2VzdG9yQnlDbGFzcyA9IChlbGVtZW50OiBhbnksIGNzc1NlbGVjdG9yOiBzdHJpbmcpID0+IHtcclxuICAgIGxldCBmaXJzdENoYXIgPSBjc3NTZWxlY3Rvci5jaGFyQXQoMCk7XHJcbiAgICBmb3IgKDsgZWxlbWVudDsgZWxlbWVudCA9IGVsZW1lbnQucGFyZW50Tm9kZSkge1xyXG4gICAgICBpZiAoZmlyc3RDaGFyID09PSAnLicpIHtcclxuICAgICAgICBpZiAoZWxlbWVudC5jbGFzc0xpc3QgJiYgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoY3NzU2VsZWN0b3Iuc3Vic3RyKDEpKSkge1xyXG4gICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9O1xyXG5cclxuICBpc051bWVyaWMgPSAobjogYW55KSA9PiB7XHJcbiAgICByZXR1cm4gIWlzTmFOKHBhcnNlRmxvYXQobikpICYmIGlzRmluaXRlKG4pO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlTm9uTnVtZXJpY0NoYXJhY3RlcnNGcm9tU3RyID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcclxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9bXjAtOV0vZywgJycpO1xyXG4gIH1cclxuXHJcbiAgaXNEYXRlID0gKGRhdGU6IERhdGUpID0+IHtcclxuICAgIGlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZGF0ZSkgPT09ICdbb2JqZWN0IERhdGVdJykge1xyXG4gICAgICBpZiAoaXNOYU4oKGRhdGUgYXMgRGF0ZSkuZ2V0VGltZSgpKSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBpc1ZhbGlkRGF0ZSA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7XHJcbiAgICByZXR1cm4gIWlzTmFOKERhdGUucGFyc2UodmFsdWUpKTtcclxuICB9XHJcblxyXG4gIHJ1bGVzRXZhbCA9IChzdHlsZXM6IG9iamVjdCB8IG51bGwpOiBvYmplY3QgPT4ge1xyXG4gICAgbGV0IGRlZmF1bHRTdHlsZXMgPSB7XHJcbiAgICAgICdiYWNrZ3JvdW5kQ29sb3InOiAnI2ZmZmZmZicsXHJcbiAgICAgICdjb2xvcic6ICcjMDAwMDAwJyxcclxuICAgICAgJ2ZvbnQtc3R5bGUnOiAnbm9ybWFsJyxcclxuICAgICAgJ3RleHQtZGVjb3JhdGlvbic6ICd1bnNldCdcclxuICAgIH1cclxuICAgIGlmIChzdHlsZXMgPT09IG51bGwpXHJcbiAgICAgIHJldHVybiBkZWZhdWx0U3R5bGVzO1xyXG4gICAgaWYgKE9iamVjdC5lbnRyaWVzKHN0eWxlcykubGVuZ3RoICE9PSAwKSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24oZGVmYXVsdFN0eWxlcywgc3R5bGVzKTtcclxuICAgICAgcmV0dXJuIGRlZmF1bHRTdHlsZXM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGVmYXVsdFN0eWxlcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAgKiBTZXJpYWxpemVzIGFuIG9iamVjdCBhcyBVUkwgcGFyYW1ldGVycy4gIFRoZSBvYmplY3Qgc2hvdWxkIGJlIGEgYmFzZSB0eXBlIG9yIGhhdmUgXHJcbiAgICAqIHByb3BlcnRpZXMgdGhhdCBhcmUgZWFjaCBiYXNlIHR5cGVzLiAgRG9lcyBub3Qgc3VwcG9ydCBhIHByb3BlcnR5IHdpdGggc3RydWN0dXJlLlxyXG4gICAgKiBAcGFyYW0ge09iamVjdH0gZGF0YSBcclxuICAgICogQHJldHVybnMge1N0cmluZ30gXHJcbiAgICAqL1xyXG4gIGZvcm1hdEFzVXJsUGFyYW1ldGVycyA9IChkYXRhOiBhbnkpOnN0cmluZyA9PiB7XHJcbiAgICBpZiAodHlwZW9mIGRhdGEgIT09ICdvYmplY3QnIHx8IGRhdGEgPT09IG51bGwpXHJcbiAgICAgIHJldHVybiAoZGF0YSA9PSBudWxsID8gJycgOiBkYXRhLnRvU3RyaW5nKCkpO1xyXG4gICAgdmFyIGJ1ZmZlciA9IFtdO1xyXG4gICAgZm9yICh2YXIgbmFtZSBpbiBkYXRhKSB7XHJcbiAgICAgIGlmICghZGF0YS5oYXNPd25Qcm9wZXJ0eShuYW1lKSkge1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIHZhciB2YWx1ZSA9IGRhdGFbbmFtZV07XHJcbiAgICAgIGJ1ZmZlci5wdXNoKFxyXG4gICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChuYW1lKSArXHJcbiAgICAgICAgJz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlID09IG51bGwgPyAnJyA6IHZhbHVlKSk7XHJcbiAgICB9XHJcbiAgICB2YXIgc291cmNlID0gYnVmZmVyLmpvaW4oJyYnKVxyXG4gICAgICAucmVwbGFjZSgvJTIwL2csICcrJyk7XHJcbiAgICByZXR1cm4gKHNvdXJjZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -130,6 +130,7 @@ export * from './lib/interfaces/tru-value';
130
130
  export * from './lib/services/tru-app-environment';
131
131
  export * from './lib/services/tru-breeze-context-factory';
132
132
  export * from './lib/services/tru-breeze-metadata-provider';
133
+ export * from './lib/services/tru-cloud-file-manager';
133
134
  export * from './lib/services/tru-component-lookup';
134
135
  export * from './lib/services/tru-connection-hub';
135
136
  export * from './lib/services/tru-context-filters';
@@ -150,4 +151,4 @@ export * from './lib/services/tru-util';
150
151
  export * from './lib/assets/tru-icon-module';
151
152
  export * from './lib/assets/tru-search-icon-module';
152
153
  export * from './lib/tru-common-module';
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUg7O0dBRUc7QUFDSCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMENBQTBDLENBQUM7QUFFekQ7O0dBRUc7QUFDSCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMscURBQXFELENBQUM7QUFFcEUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsd0VBQXdFLENBQUM7QUFDdkYsY0FBYyxnRUFBZ0UsQ0FBQztBQUUvRSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsbUVBQW1FLENBQUM7QUFFbEY7O0dBRUc7QUFDSCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2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Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUM7QUFFeEM7O0dBRUc7QUFDSCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgdHJ1LWNvbW1vbi1saWJcbiAqL1xuXG4vKlxuICogQmFzZSBDbGFzc2VzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2UtY2xhc3Nlcy90cnUtY29tcG9uZW50LWNvbmZpZy1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2UtY2xhc3Nlcy90cnUtY29udHJvbC1jb21wb25lbnQtY29uZmlnLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS1jbGFzc2VzL3RydS1lZGl0LWNvbnRyb2wtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlLWNsYXNzZXMvdHJ1LWVkaXQtY29udHJvbC1jb25maWctYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlLWNsYXNzZXMvdHJ1LWVkaXQtcGFyZW50LWNvbnRyb2wtY29uZmlnLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS1jbGFzc2VzL3RydS1lZGl0LXBrZXktY29udHJvbC1jb25maWctYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlLWNsYXNzZXMvdHJ1LWVudGl0eS1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2UtY2xhc3Nlcy90cnUtbGlzdC1jb250cm9sLWNvbmZpZy1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2UtY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS1jbGFzc2VzL3RydS1zZWFyY2gtY29udHJvbC1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2UtY2xhc3Nlcy90cnUtc2VhcmNoLWNvbnRyb2wtY29uZmlnLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS1jbGFzc2VzL3RydS1zZWFyY2gtY29udHJvbC1yYW5nZS1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2UtY2xhc3Nlcy90cnUtc2VhcmNoLWNvbmZpZy1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2UtY2xhc3Nlcy90cnUtdGFibGUtY29uZmlnLWJhc2UnO1xuXG4vKlxuICogQmFzZSBWaWV3XG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2Utdmlld3MvZGV0YWlsL3RydS1kZXRhaWwtdmlldy1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2Utdmlld3MvZGV0YWlsL3RydS1kZXRhaWwtdmlldy1iYXNlLW1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2Utdmlld3Mvc2VhcmNoL3RydS1zZWFyY2gtdmlldy1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2Utdmlld3Mvc2VhcmNoL3RydS1zZWFyY2gtdmlldy1iYXNlLW1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlLXZpZXdzL3NlYXJjaC9zZXJ2aWNlcy90cnUtc2VhcmNoLXZpZXctY29udHJvbC1ldmVudC1oYW5kbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2Utdmlld3Mvc2VhcmNoL3NlcnZpY2VzL3RydS1zZWFyY2gtdmlldy1ldmVudC1oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS12aWV3cy9zZWFyY2gtcmVzdWx0L3RydS1zZWFyY2gtcmVzdWx0LXZpZXctYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlLXZpZXdzL3NlYXJjaC1yZXN1bHQvdHJ1LXNlYXJjaC1yZXN1bHQtdmlldy1iYXNlLW1vZHVsZSc7XG5cbi8qXG4gKiBDbGFzc2VzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdHJ1LWNob2ljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3RydS1jb250ZXh0LWZpbHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3RydS1jb250ZXh0LWZpbHRlci1jaG9pY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtZGF0YS1jaGFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtZm9ybXVsYS1ldmFsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdHJ1LW5hbWUtdmFsdWUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtcHJlZGljYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy1jbG91ZC1maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy1kYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy1kZWNpbWFsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy1maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy1mb3JlaWduLWtleSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctaW50ZWdlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctcGFzc3dvcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLXBlcmNlbnRhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLXNjaWVudGlmaWMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLXRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLXRleHQtY2hvaWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctdXNhLWFkZHJlc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLXppcC1jb2RlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdHJ1LXF1ZXJ5LXByZWRpY2F0ZS1tYW5hZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdHJ1LXZhbGlkYXRvci1mYWN0b3J5JztcblxuLypcbiAqIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy90cnUtY29uZmlybS1kaWFsb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy90cnUtY29uZmlybS1kaWFsb2ctbW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRhLWdyaWQvY2xhc3Nlcy90cnUtZGF0YS1ncmlkLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGEtZ3JpZC9lbnVtcy90cnUtZGF0YS1ncmlkLXR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0YS1ncmlkL3NlcnZpY2VzL3RydS1kYXRhLWdyaWQtdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGEtZ3JpZC90cnUtZGF0YS1ncmlkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0YS1ncmlkL3RydS1kYXRhLWdyaWQtbW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kZXNrdG9wL3RydS1kZXNrdG9wJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGVza3RvcC90cnUtZGVza3RvcC1tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Rlc2t0b3AvY2xhc3Nlcy90cnUtZGVza3RvcC12aWV3LWNvbmZpZyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGVza3RvcC9zZXJ2aWNlcy90cnUtZGVza3RvcC1tYW5hZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGVza3RvcC9zZXJ2aWNlcy90cnUtd2luZG93LWFjdGlvbi1ldmVudC1oYW5kbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGVza3RvcC9zZXJ2aWNlcy90cnUtd2luZG93LWV2ZW50LWFyZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kZXNrdG9wL3NlcnZpY2VzL3RydS13aW5kb3ctZXZlbnQtaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZXhwb3J0LWRpYWxvZy90cnUtZXhwb3J0LWRpYWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2V4cG9ydC1kaWFsb2cvdHJ1LWV4cG9ydC1kaWFsb2ctbW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmlkLXZhbGlkYXRpb24tZGlhbG9nL3RydS1ncmlkLXZhbGlkYXRpb24tZGlhbG9nJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3JpZC12YWxpZGF0aW9uLWRpYWxvZy90cnUtZ3JpZC12YWxpZGF0aW9uLWRpYWxvZy1tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xheW91dC9jb2x1bW4vdHJ1LWNvbHVtbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xheW91dC9jb2x1bW4vdHJ1LWNvbHVtbi1tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXlvdXQvZm9ybS90cnUtZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xheW91dC9mb3JtL3RydS1mb3JtLW1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xheW91dC9ncm91cC1ib3gvdHJ1LWdyb3VwLWJveCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xheW91dC9ncm91cC1ib3gvdHJ1LWdyb3VwLWJveC1tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXlvdXQvcm93L3RydS1yb3cnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXlvdXQvcm93L3RydS1yb3ctbW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9wYXNzd29yZC1kaWFsb2cvdHJ1LXBhc3N3b3JkLWRpYWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Bhc3N3b3JkLWRpYWxvZy90cnUtcGFzc3dvcmQtZGlhbG9nLW1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbGJhci90cnUtdG9vbGJhcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvdHJ1LXRvb2xiYXItbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbGJhci9tZW51L3RydS10b29sYmFyLW1lbnUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b29sYmFyL21lbnUvdHJ1LXRvb2xiYXItbWVudS1tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b29sYmFyL2J1dHRvbi90cnUtdG9vbGJhci1idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b29sYmFyL2J1dHRvbi90cnUtdG9vbGJhci1idXR0b24tbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbGJhci9kcm9wZG93bi90cnUtdG9vbGJhci1kcm9wZG93bic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvZHJvcGRvd24vdHJ1LXRvb2xiYXItZHJvcGRvd24tbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbGJhci9zZXBhcmF0b3IvdHJ1LXRvb2xiYXItc2VwYXJhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbGJhci9zZXBhcmF0b3IvdHJ1LXRvb2xiYXItc2VwYXJhdG9yLW1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvY29udGV4dC1maWx0ZXIvdHJ1LXRvb2xiYXItY29udGV4dC1maWx0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b29sYmFyL2NvbnRleHQtZmlsdGVyL3RydS10b29sYmFyLWNvbnRleHQtZmlsdGVyLW1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvdGV4dC90cnUtdG9vbGJhci10ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbGJhci90ZXh0L3RydS10b29sYmFyLXRleHQtbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbGJhci91c2VyLXByb2ZpbGUvdHJ1LXRvb2xiYXItdXNlci1wcm9maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbGJhci91c2VyLXByb2ZpbGUvdHJ1LXRvb2xiYXItdXNlci1wcm9maWxlLW1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbG9naW4vdHJ1LWxvZ2luJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbG9naW4vdHJ1LWxvZ2luLW1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xvZ2luL3NlcnZpY2VzL3RydS1hdXRoJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbG9naW4vc2VydmljZXMvdHJ1LWF1dGgtaW50ZXJjZXB0b3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3ZhbGlkYXRpb24tZGlhbG9nL3RydS12YWxpZGF0aW9uLWRpYWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3ZhbGlkYXRpb24tZGlhbG9nL3RydS12YWxpZGF0aW9uLWRpYWxvZy1tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyaWQtdmFsaWRhdGlvbi1kaWFsb2cvdHJ1LWdyaWQtdmFsaWRhdGlvbi1kaWFsb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmlkLXZhbGlkYXRpb24tZGlhbG9nL3RydS1ncmlkLXZhbGlkYXRpb24tZGlhbG9nLW1vZHVsZSc7XG5cbi8qXG4gKiBEaXJlY3RpdmVzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvYnJlZXplLWdyaWQtdmFsaWRhdG9yL3RydS1icmVlemUtZ3JpZC12YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9icmVlemUtZ3JpZC12YWxpZGF0b3IvdHJ1LWJyZWV6ZS1ncmlkLXZhbGlkYXRvci1tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2JyZWV6ZS12YWxpZGF0b3IvdHJ1LWJyZWV6ZS12YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9icmVlemUtdmFsaWRhdG9yL3RydS1icmVlemUtdmFsaWRhdG9yLW1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvc2VhcmNoLXBhbmVsLXBvc2l0aW9uLW1hbmFnZXIvdHJ1LXNlYXJjaC1wYW5lbC1wb3NpdGlvbi1tYW5hZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvc2VhcmNoLXBhbmVsLXBvc2l0aW9uLW1hbmFnZXIvdHJ1LXNlYXJjaC1wYW5lbC1wb3NpdGlvbi1tYW5hZ2VyLW1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvc2VsZWN0LXBhbmVsL3RydS1tYXQtc2VsZWN0LXBhbmVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvc2VsZWN0LXBhbmVsL3RydS1tYXQtc2VsZWN0LXBhbmVsLW1vZHVsZSc7XG5cbi8qXG4gKiBJbnRlcmZhY2VzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvdHJ1LXZhbHVlJztcblxuLypcbiAqIFNlcnZpY2VzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS1hcHAtZW52aXJvbm1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LWJyZWV6ZS1jb250ZXh0LWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LWJyZWV6ZS1tZXRhZGF0YS1wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtY29tcG9uZW50LWxvb2t1cCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtY29ubmVjdGlvbi1odWInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LWNvbnRleHQtZmlsdGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtZGF0YS1jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS1lbnRpdHktYWNjZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LW1vZGVsLXByb3BlcnR5LWxvb2t1cCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtcHJlZGljYXRlLW1hcCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtc2VhcmNoLXJlc3VsdC12aWV3LW1hbmFnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LXNvcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LXRhYmxlLXJlZ2lzdHJ5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS10ZXh0LW1hbmFnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LXVpLW5vdGlmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtdXNlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtdXRpbCc7XG5cbi8qXG4gKiBNb2R1bGVzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fzc2V0cy90cnUtaWNvbi1tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXNzZXRzL3RydS1zZWFyY2gtaWNvbi1tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJ1LWNvbW1vbi1tb2R1bGUnO1xuIl19
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUg7O0dBRUc7QUFDSCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMENBQTBDLENBQUM7QUFFekQ7O0dBRUc7QUFDSCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMscURBQXFELENBQUM7QUFFcEUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsd0VBQXdFLENBQUM7QUFDdkYsY0FBYyxnRUFBZ0UsQ0FBQztBQUUvRSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsbUVBQW1FLENBQUM7QUFFbEY7O0dBRUc7QUFDSCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2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Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUV4Qzs7R0FFRztBQUNILGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0cnUtY29tbW9uLWxpYlxuICovXG5cbi8qXG4gKiBCYXNlIENsYXNzZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS1jbGFzc2VzL3RydS1jb21wb25lbnQtY29uZmlnLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS1jbGFzc2VzL3RydS1jb250cm9sLWNvbXBvbmVudC1jb25maWctYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlLWNsYXNzZXMvdHJ1LWVkaXQtY29udHJvbC1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2UtY2xhc3Nlcy90cnUtZWRpdC1jb250cm9sLWNvbmZpZy1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2UtY2xhc3Nlcy90cnUtZWRpdC1wYXJlbnQtY29udHJvbC1jb25maWctYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlLWNsYXNzZXMvdHJ1LWVkaXQtcGtleS1jb250cm9sLWNvbmZpZy1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2UtY2xhc3Nlcy90cnUtZW50aXR5LWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS1jbGFzc2VzL3RydS1saXN0LWNvbnRyb2wtY29uZmlnLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS1jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlLWNsYXNzZXMvdHJ1LXNlYXJjaC1jb250cm9sLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS1jbGFzc2VzL3RydS1zZWFyY2gtY29udHJvbC1jb25maWctYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlLWNsYXNzZXMvdHJ1LXNlYXJjaC1jb250cm9sLXJhbmdlLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS1jbGFzc2VzL3RydS1zZWFyY2gtY29uZmlnLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS1jbGFzc2VzL3RydS10YWJsZS1jb25maWctYmFzZSc7XG5cbi8qXG4gKiBCYXNlIFZpZXdcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS12aWV3cy9kZXRhaWwvdHJ1LWRldGFpbC12aWV3LWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS12aWV3cy9kZXRhaWwvdHJ1LWRldGFpbC12aWV3LWJhc2UtbW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS12aWV3cy9zZWFyY2gvdHJ1LXNlYXJjaC12aWV3LWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS12aWV3cy9zZWFyY2gvdHJ1LXNlYXJjaC12aWV3LWJhc2UtbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2Utdmlld3Mvc2VhcmNoL3NlcnZpY2VzL3RydS1zZWFyY2gtdmlldy1jb250cm9sLWV2ZW50LWhhbmRsZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS12aWV3cy9zZWFyY2gvc2VydmljZXMvdHJ1LXNlYXJjaC12aWV3LWV2ZW50LWhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlLXZpZXdzL3NlYXJjaC1yZXN1bHQvdHJ1LXNlYXJjaC1yZXN1bHQtdmlldy1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2Utdmlld3Mvc2VhcmNoLXJlc3VsdC90cnUtc2VhcmNoLXJlc3VsdC12aWV3LWJhc2UtbW9kdWxlJztcblxuLypcbiAqIENsYXNzZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtY2hvaWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdHJ1LWNvbnRleHQtZmlsdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdHJ1LWNvbnRleHQtZmlsdGVyLWNob2ljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3RydS1kYXRhLWNoYW5nZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3RydS1mb3JtdWxhLWV2YWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtbmFtZS12YWx1ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3RydS1wcmVkaWNhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLWNsb3VkLWZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLWRhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLWRlY2ltYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLWZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLWZvcmVpZ24ta2V5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy1pbnRlZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy1wYXNzd29yZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctcGVyY2VudGFnZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctc2NpZW50aWZpYyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctdGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctdGV4dC1jaG9pY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy11c2EtYWRkcmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctemlwLWNvZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtcXVlcnktcHJlZGljYXRlLW1hbmFnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtdmFsaWRhdG9yLWZhY3RvcnknO1xuXG4vKlxuICogQ29tcG9uZW50c1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL3RydS1jb25maXJtLWRpYWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL3RydS1jb25maXJtLWRpYWxvZy1tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGEtZ3JpZC9jbGFzc2VzL3RydS1kYXRhLWdyaWQtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0YS1ncmlkL2VudW1zL3RydS1kYXRhLWdyaWQtdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRhLWdyaWQvc2VydmljZXMvdHJ1LWRhdGEtZ3JpZC11dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0YS1ncmlkL3RydS1kYXRhLWdyaWQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRhLWdyaWQvdHJ1LWRhdGEtZ3JpZC1tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Rlc2t0b3AvdHJ1LWRlc2t0b3AnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kZXNrdG9wL3RydS1kZXNrdG9wLW1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGVza3RvcC9jbGFzc2VzL3RydS1kZXNrdG9wLXZpZXctY29uZmlnJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kZXNrdG9wL3NlcnZpY2VzL3RydS1kZXNrdG9wLW1hbmFnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kZXNrdG9wL3NlcnZpY2VzL3RydS13aW5kb3ctYWN0aW9uLWV2ZW50LWhhbmRsZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kZXNrdG9wL3NlcnZpY2VzL3RydS13aW5kb3ctZXZlbnQtYXJncyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Rlc2t0b3Avc2VydmljZXMvdHJ1LXdpbmRvdy1ldmVudC1oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9leHBvcnQtZGlhbG9nL3RydS1leHBvcnQtZGlhbG9nJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZXhwb3J0LWRpYWxvZy90cnUtZXhwb3J0LWRpYWxvZy1tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyaWQtdmFsaWRhdGlvbi1kaWFsb2cvdHJ1LWdyaWQtdmFsaWRhdGlvbi1kaWFsb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmlkLXZhbGlkYXRpb24tZGlhbG9nL3RydS1ncmlkLXZhbGlkYXRpb24tZGlhbG9nLW1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5b3V0L2NvbHVtbi90cnUtY29sdW1uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5b3V0L2NvbHVtbi90cnUtY29sdW1uLW1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xheW91dC9mb3JtL3RydS1mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5b3V0L2Zvcm0vdHJ1LWZvcm0tbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5b3V0L2dyb3VwLWJveC90cnUtZ3JvdXAtYm94JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5b3V0L2dyb3VwLWJveC90cnUtZ3JvdXAtYm94LW1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xheW91dC9yb3cvdHJ1LXJvdyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xheW91dC9yb3cvdHJ1LXJvdy1tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Bhc3N3b3JkLWRpYWxvZy90cnUtcGFzc3dvcmQtZGlhbG9nJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGFzc3dvcmQtZGlhbG9nL3RydS1wYXNzd29yZC1kaWFsb2ctbW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b29sYmFyL3RydS10b29sYmFyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbGJhci90cnUtdG9vbGJhci1tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b29sYmFyL21lbnUvdHJ1LXRvb2xiYXItbWVudSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvbWVudS90cnUtdG9vbGJhci1tZW51LW1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvYnV0dG9uL3RydS10b29sYmFyLWJ1dHRvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvYnV0dG9uL3RydS10b29sYmFyLWJ1dHRvbi1tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b29sYmFyL2Ryb3Bkb3duL3RydS10b29sYmFyLWRyb3Bkb3duJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbGJhci9kcm9wZG93bi90cnUtdG9vbGJhci1kcm9wZG93bi1tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b29sYmFyL3NlcGFyYXRvci90cnUtdG9vbGJhci1zZXBhcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b29sYmFyL3NlcGFyYXRvci90cnUtdG9vbGJhci1zZXBhcmF0b3ItbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbGJhci9jb250ZXh0LWZpbHRlci90cnUtdG9vbGJhci1jb250ZXh0LWZpbHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvY29udGV4dC1maWx0ZXIvdHJ1LXRvb2xiYXItY29udGV4dC1maWx0ZXItbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbGJhci90ZXh0L3RydS10b29sYmFyLXRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b29sYmFyL3RleHQvdHJ1LXRvb2xiYXItdGV4dC1tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b29sYmFyL3VzZXItcHJvZmlsZS90cnUtdG9vbGJhci11c2VyLXByb2ZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b29sYmFyL3VzZXItcHJvZmlsZS90cnUtdG9vbGJhci11c2VyLXByb2ZpbGUtbW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sb2dpbi90cnUtbG9naW4nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sb2dpbi90cnUtbG9naW4tbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbG9naW4vc2VydmljZXMvdHJ1LWF1dGgnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sb2dpbi9zZXJ2aWNlcy90cnUtYXV0aC1pbnRlcmNlcHRvcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdmFsaWRhdGlvbi1kaWFsb2cvdHJ1LXZhbGlkYXRpb24tZGlhbG9nJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdmFsaWRhdGlvbi1kaWFsb2cvdHJ1LXZhbGlkYXRpb24tZGlhbG9nLW1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3JpZC12YWxpZGF0aW9uLWRpYWxvZy90cnUtZ3JpZC12YWxpZGF0aW9uLWRpYWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyaWQtdmFsaWRhdGlvbi1kaWFsb2cvdHJ1LWdyaWQtdmFsaWRhdGlvbi1kaWFsb2ctbW9kdWxlJztcblxuLypcbiAqIERpcmVjdGl2ZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9icmVlemUtZ3JpZC12YWxpZGF0b3IvdHJ1LWJyZWV6ZS1ncmlkLXZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2JyZWV6ZS1ncmlkLXZhbGlkYXRvci90cnUtYnJlZXplLWdyaWQtdmFsaWRhdG9yLW1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvYnJlZXplLXZhbGlkYXRvci90cnUtYnJlZXplLXZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2JyZWV6ZS12YWxpZGF0b3IvdHJ1LWJyZWV6ZS12YWxpZGF0b3ItbW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zZWFyY2gtcGFuZWwtcG9zaXRpb24tbWFuYWdlci90cnUtc2VhcmNoLXBhbmVsLXBvc2l0aW9uLW1hbmFnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zZWFyY2gtcGFuZWwtcG9zaXRpb24tbWFuYWdlci90cnUtc2VhcmNoLXBhbmVsLXBvc2l0aW9uLW1hbmFnZXItbW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zZWxlY3QtcGFuZWwvdHJ1LW1hdC1zZWxlY3QtcGFuZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zZWxlY3QtcGFuZWwvdHJ1LW1hdC1zZWxlY3QtcGFuZWwtbW9kdWxlJztcblxuLypcbiAqIEludGVyZmFjZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy90cnUtdmFsdWUnO1xuXG4vKlxuICogU2VydmljZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LWFwcC1lbnZpcm9ubWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtYnJlZXplLWNvbnRleHQtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtYnJlZXplLW1ldGFkYXRhLXByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS1jbG91ZC1maWxlLW1hbmFnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LWNvbXBvbmVudC1sb29rdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LWNvbm5lY3Rpb24taHViJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS1jb250ZXh0LWZpbHRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LWRhdGEtY29udGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtZW50aXR5LWFjY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS1tb2RlbC1wcm9wZXJ0eS1sb29rdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LXByZWRpY2F0ZS1tYXAnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LXNlYXJjaC1yZXN1bHQtdmlldy1tYW5hZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS1zb3J0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS10YWJsZS1yZWdpc3RyeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtdGV4dC1tYW5hZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS11aS1ub3RpZmljYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LXVzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LXV0aWwnO1xuXG4vKlxuICogTW9kdWxlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hc3NldHMvdHJ1LWljb24tbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fzc2V0cy90cnUtc2VhcmNoLWljb24tbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RydS1jb21tb24tbW9kdWxlJztcbiJdfQ==
@@ -3247,6 +3247,28 @@ class TruUtil {
3247
3247
  }
3248
3248
  return defaultStyles;
3249
3249
  };
3250
+ /**
3251
+ * Serializes an object as URL parameters. The object should be a base type or have
3252
+ * properties that are each base types. Does not support a property with structure.
3253
+ * @param {Object} data
3254
+ * @returns {String}
3255
+ */
3256
+ formatAsUrlParameters = (data) => {
3257
+ if (typeof data !== 'object' || data === null)
3258
+ return (data == null ? '' : data.toString());
3259
+ var buffer = [];
3260
+ for (var name in data) {
3261
+ if (!data.hasOwnProperty(name)) {
3262
+ continue;
3263
+ }
3264
+ var value = data[name];
3265
+ buffer.push(encodeURIComponent(name) +
3266
+ '=' + encodeURIComponent(value == null ? '' : value));
3267
+ }
3268
+ var source = buffer.join('&')
3269
+ .replace(/%20/g, '+');
3270
+ return (source);
3271
+ };
3250
3272
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruUtil, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3251
3273
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruUtil, providedIn: 'root' });
3252
3274
  }
@@ -7236,6 +7258,132 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
7236
7258
  }]
7237
7259
  }] });
7238
7260
 
7261
+ class TruCloudFileManager {
7262
+ util;
7263
+ user;
7264
+ reader;
7265
+ file;
7266
+ sliceSize = 10000 * 1024;
7267
+ constructor(util, user) {
7268
+ this.util = util;
7269
+ this.user = user;
7270
+ }
7271
+ getFileLength = (blobId, temp) => {
7272
+ return Observable.create((observer) => {
7273
+ let xhr = new XMLHttpRequest();
7274
+ xhr.onreadystatechange = function () {
7275
+ if (xhr.readyState == XMLHttpRequest.DONE) {
7276
+ if (xhr.status == 200) {
7277
+ observer.next(xhr.response);
7278
+ }
7279
+ else {
7280
+ console.log('Download Failed. Unable to acquire file size.');
7281
+ }
7282
+ }
7283
+ };
7284
+ xhr.open('POST', '../breeze/TruDB/CloudBlobLength');
7285
+ xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
7286
+ xhr.send(this.util.formatAsUrlParameters({
7287
+ blobId: blobId,
7288
+ temp: temp ? true : false
7289
+ }));
7290
+ });
7291
+ };
7292
+ uploadFile = (start, tableName, propertyName, filename, blobMetaData, temp, updateProgress, done) => {
7293
+ let nextSlice = start + this.sliceSize + 1;
7294
+ let blob = this.file?.slice(start, nextSlice);
7295
+ this.reader.onloadend = (event) => {
7296
+ if (event.target?.readyState !== FileReader.DONE) {
7297
+ return;
7298
+ }
7299
+ let xhr = new XMLHttpRequest();
7300
+ xhr.onreadystatechange = () => {
7301
+ if (xhr.readyState == XMLHttpRequest.DONE) {
7302
+ if (xhr.status == 200) {
7303
+ var sizeDone = start + this.sliceSize;
7304
+ var percentDone = Math.floor((sizeDone / this.file.size) * 100);
7305
+ var blobMetaData = JSON.parse(xhr.response);
7306
+ if (nextSlice < this.file?.size) {
7307
+ updateProgress(percentDone);
7308
+ console.log('Uploading File - ' + percentDone + '%');
7309
+ this.uploadFile(nextSlice, tableName, propertyName, filename, blobMetaData, temp, updateProgress, done);
7310
+ }
7311
+ else {
7312
+ done(blobMetaData.truDbCloudFileRef);
7313
+ }
7314
+ }
7315
+ else {
7316
+ console.log(xhr.responseType);
7317
+ }
7318
+ }
7319
+ };
7320
+ xhr.open('POST', '../breeze/TruDB/CloudFileUpload');
7321
+ xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
7322
+ xhr.send(this.util.formatAsUrlParameters({
7323
+ tableName: tableName,
7324
+ propertyName: propertyName,
7325
+ fileData: event.target.result.split(',')[1],
7326
+ filename: filename,
7327
+ blobId: blobMetaData.blobId,
7328
+ blobBlockIdStr: blobMetaData.blobBlockIdStr,
7329
+ createdRef: this.user.activeUserRef,
7330
+ public: false,
7331
+ temp: temp ? true : false,
7332
+ commit: nextSlice < this.file.size ? false : true
7333
+ }));
7334
+ };
7335
+ this.reader.readAsDataURL(blob);
7336
+ };
7337
+ upload = (tableName, propertyName, fileData, temp, updateProgress, done) => {
7338
+ this.reader = new FileReader();
7339
+ this.file = fileData;
7340
+ this.uploadFile(0, tableName, propertyName, this.file.name, { blobId: null, blobBlockIdStr: null }, temp, updateProgress, done);
7341
+ };
7342
+ download = (blobId, temp, filename, updateProgress, done) => {
7343
+ this.getFileLength(blobId, temp).subscribe((fileLength) => {
7344
+ var xhr = new XMLHttpRequest();
7345
+ xhr.onprogress = function (e) {
7346
+ updateProgress(Math.round(e.loaded / e.total * 100));
7347
+ };
7348
+ xhr.onload = function () {
7349
+ //var fileName = xhr.getResponseHeader('Content-Disposition').split("filename=")[1];
7350
+ var blob = new Blob([xhr.response], { type: 'application/octet-stream' });
7351
+ var a = document.createElement('a');
7352
+ a.href = URL.createObjectURL(blob);
7353
+ a.download = filename;
7354
+ document.body.appendChild(a);
7355
+ a.dispatchEvent(new MouseEvent('click'));
7356
+ done();
7357
+ };
7358
+ xhr.onerror = function (e) {
7359
+ done();
7360
+ console.log(e);
7361
+ };
7362
+ xhr.ontimeout = function (e) {
7363
+ done();
7364
+ console.log(e);
7365
+ };
7366
+ xhr.open('POST', '../breeze/TruDB/CloudFileDownload');
7367
+ xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
7368
+ xhr.responseType = 'arraybuffer';
7369
+ xhr.send(this.util.formatAsUrlParameters({
7370
+ blobId: blobId,
7371
+ filename: filename,
7372
+ fileLength: parseInt(fileLength),
7373
+ temp: temp ? true : false
7374
+ }));
7375
+ });
7376
+ };
7377
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruCloudFileManager, deps: [{ token: TruUtil }, { token: TruUser }], target: i0.ɵɵFactoryTarget.Injectable });
7378
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruCloudFileManager, providedIn: 'root' });
7379
+ }
7380
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruCloudFileManager, decorators: [{
7381
+ type: Injectable,
7382
+ args: [{
7383
+ providedIn: 'root',
7384
+ }]
7385
+ }], ctorParameters: () => [{ type: TruUtil }, { type: TruUser }] });
7386
+
7239
7387
  class TruPredicateMap {
7240
7388
  constructor() { }
7241
7389
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruPredicateMap, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -7486,5 +7634,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
7486
7634
  * Generated bundle index. Do not edit.
7487
7635
  */
7488
7636
 
7489
- export { DetailViewModule, TruAppEnvironment, TruAuth, TruAuthInterceptor, TruBreezeContext, TruBreezeContextFactory, TruBreezeGridValidator, TruBreezeGridValidatorModule, TruBreezeMetadataProvider, TruBreezeValidator, TruBreezeValidatorModule, TruChoice, TruColumn, TruColumnModule, TruCommonModule, TruComponentConfigBase, TruComponentLookup, TruConfirmDialog, TruConfirmDialogConfig, TruConfirmDialogModule, TruConnectionHub, TruContextFilter, TruContextFilterChoice, TruContextFilters, TruControlComponentConfigBase, TruDataChange, TruDataContext, TruDataGrid, TruDataGridModule, TruDataGridTypes, TruDataGridUtil, TruDesktop, TruDesktopManager, TruDesktopModule, TruDesktopViewConfig, TruDetailViewBase, TruEditControlBase, TruEditControlConfigBase, TruEditParentControlConfigBase, TruEditPkeyControlConfigBase, TruEntityAccessor, TruEntityBase, TruExportDialog, TruExportDialogConfig, TruExportDialogModule, TruForm, TruFormModule, TruFormulaEval, TruGridValidationDialog, TruGridValidationDialogModule, TruGroupBox, TruGroupBoxModule, TruIconModule, TruListControlConfigBase, TruLogin, TruLoginModule, TruMatSelectPanel, TruMatSelectPanelModule, TruModelPropertyLookup, TruNameValue, TruPasswordDialog, TruPasswordDialogModule, TruPredicate, TruPredicateMap, TruPropertyConfigBase, TruPropertyConfigCloudFile, TruPropertyConfigDate, TruPropertyConfigDecimal, TruPropertyConfigFile, TruPropertyConfigForeignKey, TruPropertyConfigInteger, TruPropertyConfigPassword, TruPropertyConfigPercentage, TruPropertyConfigScientific, TruPropertyConfigText, TruPropertyConfigTextChoices, TruPropertyConfigUsaAddress, TruPropertyConfigZipCode, TruQueryPredicateManager, TruRow, TruRowModule, TruSearchConfigBase, TruSearchControlBase, TruSearchControlConfigBase, TruSearchControlRangeBase, TruSearchIconModule, TruSearchPanelPositionManager, TruSearchPanelPositionManagerModule, TruSearchResultViewBase, TruSearchResultViewBaseModule, TruSearchResultViewManager, TruSearchViewBase, TruSearchViewBaseModule, TruSearchViewControlEventHandler, TruSearchViewEventHandler, TruSort, TruTableConfigBase, TruTableRegistry, TruTextManager, TruToolbar, TruToolbarButton, TruToolbarButtonModule, TruToolbarContextFilter, TruToolbarContextFilterModule, TruToolbarDropdown, TruToolbarDropdownModule, TruToolbarMenu, TruToolbarMenuModule, TruToolbarModule, TruToolbarSeparator, TruToolbarSeparatorModule, TruToolbarText, TruToolbarTextModule, TruToolbarUserProfile, TruToolbarUserProfileModule, TruUiNotification, TruUser, TruUtil, TruValidationDialog, TruValidationDialogModule, TruValidatorFactory, TruWindowActionEventHandler, TruWindowEventArgs, TruWindowEventHandler };
7637
+ export { DetailViewModule, TruAppEnvironment, TruAuth, TruAuthInterceptor, TruBreezeContext, TruBreezeContextFactory, TruBreezeGridValidator, TruBreezeGridValidatorModule, TruBreezeMetadataProvider, TruBreezeValidator, TruBreezeValidatorModule, TruChoice, TruCloudFileManager, TruColumn, TruColumnModule, TruCommonModule, TruComponentConfigBase, TruComponentLookup, TruConfirmDialog, TruConfirmDialogConfig, TruConfirmDialogModule, TruConnectionHub, TruContextFilter, TruContextFilterChoice, TruContextFilters, TruControlComponentConfigBase, TruDataChange, TruDataContext, TruDataGrid, TruDataGridModule, TruDataGridTypes, TruDataGridUtil, TruDesktop, TruDesktopManager, TruDesktopModule, TruDesktopViewConfig, TruDetailViewBase, TruEditControlBase, TruEditControlConfigBase, TruEditParentControlConfigBase, TruEditPkeyControlConfigBase, TruEntityAccessor, TruEntityBase, TruExportDialog, TruExportDialogConfig, TruExportDialogModule, TruForm, TruFormModule, TruFormulaEval, TruGridValidationDialog, TruGridValidationDialogModule, TruGroupBox, TruGroupBoxModule, TruIconModule, TruListControlConfigBase, TruLogin, TruLoginModule, TruMatSelectPanel, TruMatSelectPanelModule, TruModelPropertyLookup, TruNameValue, TruPasswordDialog, TruPasswordDialogModule, TruPredicate, TruPredicateMap, TruPropertyConfigBase, TruPropertyConfigCloudFile, TruPropertyConfigDate, TruPropertyConfigDecimal, TruPropertyConfigFile, TruPropertyConfigForeignKey, TruPropertyConfigInteger, TruPropertyConfigPassword, TruPropertyConfigPercentage, TruPropertyConfigScientific, TruPropertyConfigText, TruPropertyConfigTextChoices, TruPropertyConfigUsaAddress, TruPropertyConfigZipCode, TruQueryPredicateManager, TruRow, TruRowModule, TruSearchConfigBase, TruSearchControlBase, TruSearchControlConfigBase, TruSearchControlRangeBase, TruSearchIconModule, TruSearchPanelPositionManager, TruSearchPanelPositionManagerModule, TruSearchResultViewBase, TruSearchResultViewBaseModule, TruSearchResultViewManager, TruSearchViewBase, TruSearchViewBaseModule, TruSearchViewControlEventHandler, TruSearchViewEventHandler, TruSort, TruTableConfigBase, TruTableRegistry, TruTextManager, TruToolbar, TruToolbarButton, TruToolbarButtonModule, TruToolbarContextFilter, TruToolbarContextFilterModule, TruToolbarDropdown, TruToolbarDropdownModule, TruToolbarMenu, TruToolbarMenuModule, TruToolbarModule, TruToolbarSeparator, TruToolbarSeparatorModule, TruToolbarText, TruToolbarTextModule, TruToolbarUserProfile, TruToolbarUserProfileModule, TruUiNotification, TruUser, TruUtil, TruValidationDialog, TruValidationDialogModule, TruValidatorFactory, TruWindowActionEventHandler, TruWindowEventArgs, TruWindowEventHandler };
7490
7638
  //# sourceMappingURL=trudb-tru-common-lib.mjs.map