@dereekb/dbx-web 12.5.10 → 12.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/extension/download/blob/download.blob.button.component.mjs +86 -0
- package/esm2022/lib/extension/download/blob/index.mjs +2 -0
- package/esm2022/lib/extension/download/index.mjs +2 -1
- package/esm2022/lib/extension/download/text/download.text.component.mjs +20 -18
- package/esm2022/lib/extension/index.mjs +3 -1
- package/esm2022/lib/extension/model/model.tracker.mjs +1 -1
- package/esm2022/lib/extension/model/model.tracker.view.storage.mjs +3 -3
- package/esm2022/lib/extension/preview/index.mjs +4 -0
- package/esm2022/lib/extension/preview/webfilepreview.mjs +2 -0
- package/esm2022/lib/extension/preview/webfilepreview.service.mjs +60 -0
- package/esm2022/lib/extension/preview/webfilepreview.service.preset.mjs +31 -0
- package/esm2022/lib/extension/widget/widget.service.mjs +1 -1
- package/esm2022/lib/extension/zip/index.mjs +5 -0
- package/esm2022/lib/extension/zip/zip.blob.mjs +16 -0
- package/esm2022/lib/extension/zip/zip.blob.preview.component.mjs +156 -0
- package/esm2022/lib/extension/zip/zip.blob.preview.list.component.mjs +121 -0
- package/esm2022/lib/extension/zip/zip.preview.component.mjs +71 -0
- package/esm2022/lib/extension/zip/zip.preview.dialog.component.mjs +44 -0
- package/esm2022/lib/interaction/iframe/embed.component.mjs +40 -7
- package/esm2022/lib/interaction/iframe/embed.dialog.component.mjs +3 -2
- package/esm2022/lib/interaction/iframe/iframe.dialog.component.mjs +2 -1
- package/fesm2022/dereekb-dbx-web.mjs +4402 -3841
- package/fesm2022/dereekb-dbx-web.mjs.map +1 -1
- package/lib/extension/_extension.scss +19 -0
- package/lib/extension/download/blob/download.blob.button.component.d.ts +55 -0
- package/lib/extension/download/blob/index.d.ts +1 -0
- package/lib/extension/download/index.d.ts +1 -0
- package/lib/extension/download/text/download.text.component.d.ts +7 -7
- package/lib/extension/index.d.ts +2 -0
- package/lib/extension/model/model.tracker.d.ts +3 -3
- package/lib/extension/preview/index.d.ts +3 -0
- package/lib/extension/preview/webfilepreview.d.ts +13 -0
- package/lib/extension/preview/webfilepreview.service.d.ts +31 -0
- package/lib/extension/preview/webfilepreview.service.preset.d.ts +13 -0
- package/lib/extension/widget/widget.service.d.ts +1 -1
- package/lib/extension/zip/_zip.scss +35 -0
- package/lib/extension/zip/index.d.ts +4 -0
- package/lib/extension/zip/zip.blob.d.ts +9 -0
- package/lib/extension/zip/zip.blob.preview.component.d.ts +54 -0
- package/lib/extension/zip/zip.blob.preview.list.component.d.ts +25 -0
- package/lib/extension/zip/zip.preview.component.d.ts +31 -0
- package/lib/extension/zip/zip.preview.dialog.component.d.ts +17 -0
- package/lib/interaction/iframe/_iframe.scss +8 -0
- package/lib/interaction/iframe/embed.component.d.ts +15 -3
- package/lib/interaction/iframe/embed.dialog.component.d.ts +2 -2
- package/lib/interaction/iframe/iframe.dialog.component.d.ts +2 -2
- package/lib/layout/style/_style.scss +2 -1
- package/lib/style/_config.scss +7 -1
- package/package.json +3 -2
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ElementRef, computed, inject, input, viewChild } from '@angular/core';
|
|
2
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
3
|
+
import { AbstractSubscriptionDirective, DbxActionButtonDirective } from '@dereekb/dbx-core';
|
|
4
|
+
import { DbxButtonComponent } from '../../../button/button.component';
|
|
5
|
+
import { DbxActionModule } from '../../../action/action.module';
|
|
6
|
+
import { DbxButtonSpacerDirective } from '../../../button/button.spacer.directive';
|
|
7
|
+
import { browserObjectUrlRef } from '@dereekb/browser';
|
|
8
|
+
import { asPromise, safeCompareEquality } from '@dereekb/util';
|
|
9
|
+
import { toObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
10
|
+
import { distinctUntilChanged, from, of, shareReplay, switchMap } from 'rxjs';
|
|
11
|
+
import { NgClass } from '@angular/common';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
/**
|
|
14
|
+
* Button used for downloading an arbitrary blob based on the input configuration.
|
|
15
|
+
*/
|
|
16
|
+
export class DbxDownloadBlobButtonComponent extends AbstractSubscriptionDirective {
|
|
17
|
+
_sanitizer = inject(DomSanitizer);
|
|
18
|
+
_browserObjectUrl = browserObjectUrlRef();
|
|
19
|
+
config = input(undefined);
|
|
20
|
+
downloadButton = viewChild('downloadButton', { read: ElementRef });
|
|
21
|
+
config$ = toObservable(this.config);
|
|
22
|
+
blob$ = this.config$.pipe(distinctUntilChanged((x, y) => safeCompareEquality(x, y, (a, b) => a?.blob === b?.blob && a?.loadBlob === b?.loadBlob)), switchMap((x) => {
|
|
23
|
+
let obs;
|
|
24
|
+
if (x?.loadBlob) {
|
|
25
|
+
obs = from(asPromise(x.loadBlob()));
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
obs = of(x?.blob);
|
|
29
|
+
}
|
|
30
|
+
return obs;
|
|
31
|
+
}), shareReplay(1));
|
|
32
|
+
blobSignal = toSignal(this.blob$);
|
|
33
|
+
fileUrlSignal = computed(() => {
|
|
34
|
+
const blob = this.blobSignal();
|
|
35
|
+
let fileUrl = undefined;
|
|
36
|
+
if (blob) {
|
|
37
|
+
const objectUrl = this._browserObjectUrl.createBrowserUrl(blob);
|
|
38
|
+
fileUrl = this._sanitizer.bypassSecurityTrustResourceUrl(objectUrl);
|
|
39
|
+
}
|
|
40
|
+
return fileUrl;
|
|
41
|
+
});
|
|
42
|
+
fileNameSignal = computed(() => this.config()?.fileName ?? 'File');
|
|
43
|
+
downloadReadySignal = computed(() => {
|
|
44
|
+
const downloadButton = this.downloadButton();
|
|
45
|
+
const fileName = this.fileNameSignal();
|
|
46
|
+
const fileUrl = this.fileUrlSignal();
|
|
47
|
+
return Boolean(downloadButton && fileName && fileUrl);
|
|
48
|
+
});
|
|
49
|
+
buttonDisplaySignal = computed(() => {
|
|
50
|
+
const config = this.config();
|
|
51
|
+
const buttonDisplay = config?.buttonDisplay;
|
|
52
|
+
const display = buttonDisplay ?? {
|
|
53
|
+
icon: 'download',
|
|
54
|
+
text: 'Download'
|
|
55
|
+
};
|
|
56
|
+
return display;
|
|
57
|
+
});
|
|
58
|
+
buttonStyleSignal = computed(() => {
|
|
59
|
+
const buttonStyle = this.config()?.buttonStyle;
|
|
60
|
+
const style = buttonStyle ?? {
|
|
61
|
+
type: 'raised'
|
|
62
|
+
};
|
|
63
|
+
return style;
|
|
64
|
+
});
|
|
65
|
+
ngOnDestroy() {
|
|
66
|
+
super.ngOnDestroy();
|
|
67
|
+
this._browserObjectUrl.destroy();
|
|
68
|
+
}
|
|
69
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDownloadBlobButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: DbxDownloadBlobButtonComponent, isStandalone: true, selector: "dbx-download-blob-button", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "downloadButton", first: true, predicate: ["downloadButton"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
|
|
71
|
+
<a #downloadButton [ngClass]="{ 'pointer-disabled': !downloadReadySignal() }" e [href]="fileUrlSignal()" [attr.download]="fileNameSignal()"><dbx-button [buttonDisplay]="buttonDisplaySignal()" [buttonStyle]="buttonStyleSignal()" [working]="!downloadReadySignal()" [disabled]="!downloadReadySignal()"></dbx-button></a>
|
|
72
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: DbxActionModule }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "raised", "stroked", "flat", "iconOnly", "fab", "mode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
73
|
+
}
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDownloadBlobButtonComponent, decorators: [{
|
|
75
|
+
type: Component,
|
|
76
|
+
args: [{
|
|
77
|
+
selector: 'dbx-download-blob-button',
|
|
78
|
+
template: `
|
|
79
|
+
<a #downloadButton [ngClass]="{ 'pointer-disabled': !downloadReadySignal() }" e [href]="fileUrlSignal()" [attr.download]="fileNameSignal()"><dbx-button [buttonDisplay]="buttonDisplaySignal()" [buttonStyle]="buttonStyleSignal()" [working]="!downloadReadySignal()" [disabled]="!downloadReadySignal()"></dbx-button></a>
|
|
80
|
+
`,
|
|
81
|
+
standalone: true,
|
|
82
|
+
imports: [NgClass, DbxActionModule, DbxActionButtonDirective, DbxButtonComponent, DbxButtonSpacerDirective],
|
|
83
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
84
|
+
}]
|
|
85
|
+
}] });
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuYmxvYi5idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2V4dGVuc2lvbi9kb3dubG9hZC9ibG9iL2Rvd25sb2FkLmJsb2IuYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBYSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUgsT0FBTyxFQUFFLFlBQVksRUFBbUIsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsd0JBQXdCLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFDOUcsT0FBTyxFQUFFLGtCQUFrQixFQUF1QixNQUFNLGtDQUFrQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFpQyxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQStCMUM7O0dBRUc7QUFVSCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsNkJBQTZCO0lBQzlELFVBQVUsR0FBRyxNQUFN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LFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsV0FBVyxDQUFDO1FBRS9DLE1BQU0sS0FBSyxHQUFtQixXQUFXLElBQUk7WUFDM0MsSUFBSSxFQUFFLFFBQVE7U0FDZixDQUFDO1FBRUYsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUMsQ0FBQztJQUVNLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQyxDQUFDO3dHQTVFVSw4QkFBOEI7NEZBQTlCLDhCQUE4Qix3VEFPZ0QsVUFBVSxvRUFkekY7O0dBRVQsNERBRVMsT0FBTyxtRkFBRSxlQUFlLCtCQUE0QixrQkFBa0I7OzRGQUdyRSw4QkFBOEI7a0JBVDFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsUUFBUSxFQUFFOztHQUVUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFFLHdCQUF3QixDQUFDO29CQUMzRyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSwgRGJ4QWN0aW9uQnV0dG9uRGlyZWN0aXZlLCBEYnhCdXR0b25EaXNwbGF5IH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgRGJ4QnV0dG9uQ29tcG9uZW50LCB0eXBlIERieEJ1dHRvblN0eWxlIH0gZnJvbSAnLi4vLi4vLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vYWN0aW9uL2FjdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgRGJ4QnV0dG9uU3BhY2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vYnV0dG9uL2J1dHRvbi5zcGFjZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IGJyb3dzZXJPYmplY3RVcmxSZWYgfSBmcm9tICdAZGVyZWVrYi9icm93c2VyJztcbmltcG9ydCB7IGFzUHJvbWlzZSwgR2V0dGVyLCBNYXliZSwgUHJvbWlzZU9yVmFsdWUsIHNhZmVDb21wYXJlRXF1YWxpdHkgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZnJvbSwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieERvd25sb2FkQmxvYkJ1dHRvbkNvbmZpZyB7XG4gIC8qKlxuICAgKiBCdXR0b24gZGlzcGxheSBjdXN0b21pemF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYnV0dG9uRGlzcGxheT86IE1heWJlPERieEJ1dHRvbkRpc3BsYXk+O1xuICAvKipcbiAgICogQ3VzdG9tIGJ1dHRvbiBzdHlsZSB0byB1c2UuXG4gICAqL1xuICByZWFkb25seSBidXR0b25TdHlsZT86IE1heWJlPERieEJ1dHRvblN0eWxlPjtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGZpbGUgdG8gc2F2ZSB3aGVuIGRvd25sb2FkZWQuXG4gICAqL1xuICByZWFkb25seSBmaWxlTmFtZT86IE1heWJlPHN0cmluZz47XG4gIC8qKlxuICAgKiBCbG9iIHRvIGRvd25sb2FkLlxuICAgKi9cbiAgcmVhZG9ubHkgYmxvYj86IE1heWJlPEJsb2I+O1xuICAvKipcbiAgICogR2V0dGVyIGZvciB0aGUgYmxvYiB0byBkb3dubG9hZC5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRCbG9iPzogTWF5YmU8R2V0dGVyPFByb21pc2VPclZhbHVlPE1heWJlPEJsb2I+Pj4+O1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gcHJlbG9hZCB0aGUgYmxvYiBmcm9tIHRoZSBibG9iR2V0dGVyIGluc3RlYWQgb2Ygd2FpdGluZyBmb3IgdGhlIGJ1dHRvbiB0byBiZSBtb3VzZWQgb3Zlci5cbiAgICpcbiAgICogSWdub3JlZCBpZiBibG9iR2V0dGVyIGlzIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHByZWxvYWRCbG9iPzogTWF5YmU8Ym9vbGVhbj47XG59XG5cbi8qKlxuICogQnV0dG9uIHVzZWQgZm9yIGRvd25sb2FkaW5nIGFuIGFyYml0cmFyeSBibG9iIGJhc2VkIG9uIHRoZSBpbnB1dCBjb25maWd1cmF0aW9uLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtZG93bmxvYWQtYmxvYi1idXR0b24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxhICNkb3dubG9hZEJ1dHRvbiBbbmdDbGFzc109XCJ7ICdwb2ludGVyLWRpc2FibGVkJzogIWRvd25sb2FkUmVhZHlTaWduYWwoKSB9XCIgZSBbaHJlZl09XCJmaWxlVXJsU2lnbmFsKClcIiBbYXR0ci5kb3dubG9hZF09XCJmaWxlTmFtZVNpZ25hbCgpXCI+PGRieC1idXR0b24gW2J1dHRvbkRpc3BsYXldPVwiYnV0dG9uRGlzcGxheVNpZ25hbCgpXCIgW2J1dHRvblN0eWxlXT1cImJ1dHRvblN0eWxlU2lnbmFsKClcIiBbd29ya2luZ109XCIhZG93bmxvYWRSZWFkeVNpZ25hbCgpXCIgW2Rpc2FibGVkXT1cIiFkb3dubG9hZFJlYWR5U2lnbmFsKClcIj48L2RieC1idXR0b24+PC9hPlxuICBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdDbGFzcywgRGJ4QWN0aW9uTW9kdWxlLCBEYnhBY3Rpb25CdXR0b25EaXJlY3RpdmUsIERieEJ1dHRvbkNvbXBvbmVudCwgRGJ4QnV0dG9uU3BhY2VyRGlyZWN0aXZlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RG93bmxvYWRCbG9iQnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9icm93c2VyT2JqZWN0VXJsID0gYnJvd3Nlck9iamVjdFVybFJlZigpO1xuXG4gIHJlYWRvbmx5IGNvbmZpZyA9IGlucHV0PE1heWJlPERieERvd25sb2FkQmxvYkJ1dHRvbkNvbmZpZz4+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgZG93bmxvYWRCdXR0b24gPSB2aWV3Q2hpbGQ8c3RyaW5nLCBNYXliZTxFbGVtZW50UmVmPj4oJ2Rvd25sb2FkQnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuXG4gIHJlYWRvbmx5IGNvbmZpZyQgPSB0b09ic2VydmFibGUodGhpcy5jb25maWcpO1xuXG4gIHJlYWRvbmx5IGJsb2IkOiBPYnNlcnZhYmxlPE1heWJlPEJsb2I+PiA9IHRoaXMuY29uZmlnJC5waXBlKFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCh4LCB5KSA9PiBzYWZlQ29tcGFyZUVxdWFsaXR5KHgsIHksIChhLCBiKSA9PiBhPy5ibG9iID09PSBiPy5ibG9iICYmIGE/LmxvYWRCbG9iID09PSBiPy5sb2FkQmxvYikpLFxuICAgIHN3aXRjaE1hcCgoeCkgPT4ge1xuICAgICAgbGV0IG9iczogT2JzZXJ2YWJsZTxNYXliZTxCbG9iPj47XG5cbiAgICAgIGlmICh4Py5sb2FkQmxvYikge1xuICAgICAgICBvYnMgPSBmcm9tKGFzUHJvbWlzZSh4LmxvYWRCbG9iKCkpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9icyA9IG9mKHg/LmJsb2IpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2JzO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgYmxvYlNpZ25hbCA9IHRvU2lnbmFsKHRoaXMuYmxvYiQpO1xuXG4gIHJlYWRvbmx5IGZpbGVVcmxTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgYmxvYiA9IHRoaXMuYmxvYlNpZ25hbCgpO1xuXG4gICAgbGV0IGZpbGVVcmw6IE1heWJlPFNhZmVSZXNvdXJjZVVybD4gPSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoYmxvYikge1xuICAgICAgY29uc3Qgb2JqZWN0VXJsID0gdGhpcy5fYnJvd3Nlck9iamVjdFVybC5jcmVhdGVCcm93c2VyVXJsKGJsb2IpO1xuICAgICAgZmlsZVVybCA9IHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwob2JqZWN0VXJsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmlsZVVybDtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgZmlsZU5hbWVTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpPy5maWxlTmFtZSA/PyAnRmlsZScpO1xuXG4gIHJlYWRvbmx5IGRvd25sb2FkUmVhZHlTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgZG93bmxvYWRCdXR0b24gPSB0aGlzLmRvd25sb2FkQnV0dG9uKCk7XG4gICAgY29uc3QgZmlsZU5hbWUgPSB0aGlzLmZpbGVOYW1lU2lnbmFsKCk7XG4gICAgY29uc3QgZmlsZVVybCA9IHRoaXMuZmlsZVVybFNpZ25hbCgpO1xuICAgIHJldHVybiBCb29sZWFuKGRvd25sb2FkQnV0dG9uICYmIGZpbGVOYW1lICYmIGZpbGVVcmwpO1xuICB9KTtcblxuICByZWFkb25seSBidXR0b25EaXNwbGF5U2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnKCk7XG4gICAgY29uc3QgYnV0dG9uRGlzcGxheSA9IGNvbmZpZz8uYnV0dG9uRGlzcGxheTtcblxuICAgIGNvbnN0IGRpc3BsYXk6IERieEJ1dHRvbkRpc3BsYXkgPSBidXR0b25EaXNwbGF5ID8/IHtcbiAgICAgIGljb246ICdkb3dubG9hZCcsXG4gICAgICB0ZXh0OiAnRG93bmxvYWQnXG4gICAgfTtcblxuICAgIHJldHVybiBkaXNwbGF5O1xuICB9KTtcblxuICByZWFkb25seSBidXR0b25TdHlsZVNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBidXR0b25TdHlsZSA9IHRoaXMuY29uZmlnKCk/LmJ1dHRvblN0eWxlO1xuXG4gICAgY29uc3Qgc3R5bGU6IERieEJ1dHRvblN0eWxlID0gYnV0dG9uU3R5bGUgPz8ge1xuICAgICAgdHlwZTogJ3JhaXNlZCdcbiAgICB9O1xuXG4gICAgcmV0dXJuIHN0eWxlO1xuICB9KTtcblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuX2Jyb3dzZXJPYmplY3RVcmwuZGVzdHJveSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './download.blob.button.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2Rvd25sb2FkL2Jsb2IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZG93bmxvYWQuYmxvYi5idXR0b24uY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
export * from './blob';
|
|
1
2
|
export * from './text';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2Rvd25sb2FkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ibG9iJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dCc7XG4iXX0=
|
|
@@ -4,7 +4,6 @@ import { loadingStateContext, successResult, valueFromFinishedLoadingState, mayb
|
|
|
4
4
|
import { MS_IN_SECOND } from '@dereekb/util';
|
|
5
5
|
import { first, of, shareReplay, switchMap, tap } from 'rxjs';
|
|
6
6
|
import { Clipboard } from '@angular/cdk/clipboard';
|
|
7
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
8
7
|
import { AbstractSubscriptionDirective, DbxActionButtonDirective } from '@dereekb/dbx-core';
|
|
9
8
|
import { toObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
10
9
|
import { DbxLoadingComponent } from '../../../loading/loading.component';
|
|
@@ -12,15 +11,17 @@ import { NgTemplateOutlet } from '@angular/common';
|
|
|
12
11
|
import { DbxButtonComponent } from '../../../button/button.component';
|
|
13
12
|
import { DbxActionModule } from '../../../action/action.module';
|
|
14
13
|
import { DbxButtonSpacerDirective } from '../../../button/button.spacer.directive';
|
|
14
|
+
import { browserObjectUrlRef } from '@dereekb/browser';
|
|
15
|
+
import { DbxDownloadBlobButtonComponent } from '../blob/download.blob.button.component';
|
|
15
16
|
import * as i0 from "@angular/core";
|
|
16
17
|
import * as i1 from "@dereekb/dbx-core";
|
|
17
18
|
/**
|
|
18
|
-
*
|
|
19
|
+
* View for previewing and downloading arbitrary text content.
|
|
19
20
|
*/
|
|
20
21
|
export class DbxDownloadTextViewComponent extends AbstractSubscriptionDirective {
|
|
21
22
|
_clipboard = inject(Clipboard);
|
|
22
23
|
_matSnackbar = inject(MatSnackBar);
|
|
23
|
-
|
|
24
|
+
_browserObjectUrl = browserObjectUrlRef();
|
|
24
25
|
downloadButton = viewChild('downloadButton', { read: ElementRef });
|
|
25
26
|
loadingText = input(undefined);
|
|
26
27
|
linear = input(undefined);
|
|
@@ -53,21 +54,18 @@ export class DbxDownloadTextViewComponent extends AbstractSubscriptionDirective
|
|
|
53
54
|
}));
|
|
54
55
|
contentSignal = toSignal(this.content$);
|
|
55
56
|
contentDataSignal = computed(() => this.contentSignal()?.content);
|
|
56
|
-
|
|
57
|
+
fileNameSignal = computed(() => this.contentSignal()?.name ?? 'download.txt');
|
|
58
|
+
downloadConfigSignal = computed(() => {
|
|
57
59
|
const content = this.contentSignal();
|
|
58
|
-
|
|
60
|
+
const fileName = this.fileNameSignal();
|
|
61
|
+
let result = undefined;
|
|
59
62
|
if (content) {
|
|
60
|
-
|
|
61
|
-
|
|
63
|
+
result = {
|
|
64
|
+
blob: new Blob([content.content], { type: content.mimeType ?? 'application/octet-stream' }),
|
|
65
|
+
fileName
|
|
66
|
+
};
|
|
62
67
|
}
|
|
63
|
-
return
|
|
64
|
-
});
|
|
65
|
-
fileNameSignal = computed(() => this.contentSignal()?.name ?? 'File');
|
|
66
|
-
downloadReadySignal = computed(() => {
|
|
67
|
-
const downloadButton = this.downloadButton();
|
|
68
|
-
const fileName = this.fileNameSignal();
|
|
69
|
-
const fileUrl = this.fileUrlSignal();
|
|
70
|
-
return Boolean(downloadButton && fileName && fileUrl);
|
|
68
|
+
return result;
|
|
71
69
|
});
|
|
72
70
|
context = loadingStateContext({ obs: this.contentLoadingState$ });
|
|
73
71
|
handleCopyToClipboard = () => {
|
|
@@ -107,11 +105,15 @@ export class DbxDownloadTextViewComponent extends AbstractSubscriptionDirective
|
|
|
107
105
|
}
|
|
108
106
|
}));
|
|
109
107
|
};
|
|
108
|
+
ngOnDestroy() {
|
|
109
|
+
super.ngOnDestroy();
|
|
110
|
+
this._browserObjectUrl.destroy();
|
|
111
|
+
}
|
|
110
112
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDownloadTextViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
111
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxDownloadTextViewComponent, isStandalone: true, selector: "dbx-download-text-view", inputs: { loadingText: { classPropertyName: "loadingText", publicName: "loadingText", isSignal: true, isRequired: false, transformFunction: null }, linear: { classPropertyName: "linear", publicName: "linear", isSignal: true, isRequired: false, transformFunction: null }, showTitle: { classPropertyName: "showTitle", publicName: "showTitle", isSignal: true, isRequired: false, transformFunction: null }, showPreview: { classPropertyName: "showPreview", publicName: "showPreview", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, contentState: { classPropertyName: "contentState", publicName: "contentState", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "downloadButton", first: true, predicate: ["downloadButton"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-download-text-view\">\n <dbx-loading [context]=\"context\" [linear]=\"linear()\" [text]=\"loadingText()\">\n <ng-container *ngTemplateOutlet=\"contentView\"></ng-container>\n </dbx-loading>\n</div>\n\n<!-- Template -->\n<ng-template #contentView>\n <div class=\"dbx-download-text-view-content\">\n @if (showTitle()) {\n <div class=\"dbx-download-text-view-content-title dbx-mb2 mat-subtitle-2\">{{ fileNameSignal() }}</div>\n }\n @if (showPreview()) {\n <div class=\"dbx-download-text-preview dbx-json dbx-content-pit dbx-content-pit-scrollable dbx-mb3\">{{ contentDataSignal() }}</div>\n }\n <div class=\"dbx-download-text-view-actions\">\n <dbx-button dbxAction dbxActionValue [raised]=\"true\" [dbxActionHandler]=\"handleCopyToClipboard\" icon=\"content_copy\" dbxActionButton text=\"Copy To Clipboard\"></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <
|
|
113
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxDownloadTextViewComponent, isStandalone: true, selector: "dbx-download-text-view", inputs: { loadingText: { classPropertyName: "loadingText", publicName: "loadingText", isSignal: true, isRequired: false, transformFunction: null }, linear: { classPropertyName: "linear", publicName: "linear", isSignal: true, isRequired: false, transformFunction: null }, showTitle: { classPropertyName: "showTitle", publicName: "showTitle", isSignal: true, isRequired: false, transformFunction: null }, showPreview: { classPropertyName: "showPreview", publicName: "showPreview", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, contentState: { classPropertyName: "contentState", publicName: "contentState", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "downloadButton", first: true, predicate: ["downloadButton"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-download-text-view\">\n <dbx-loading [context]=\"context\" [linear]=\"linear()\" [text]=\"loadingText()\">\n <ng-container *ngTemplateOutlet=\"contentView\"></ng-container>\n </dbx-loading>\n</div>\n\n<!-- Template -->\n<ng-template #contentView>\n <div class=\"dbx-download-text-view-content\">\n @if (showTitle()) {\n <div class=\"dbx-download-text-view-content-title dbx-mb2 mat-subtitle-2\">{{ fileNameSignal() }}</div>\n }\n @if (showPreview()) {\n <div class=\"dbx-download-text-preview dbx-json dbx-content-pit dbx-content-pit-scrollable dbx-mb3\">{{ contentDataSignal() }}</div>\n }\n <div class=\"dbx-download-text-view-actions\">\n <dbx-button dbxAction dbxActionValue [raised]=\"true\" [dbxActionHandler]=\"handleCopyToClipboard\" icon=\"content_copy\" dbxActionButton text=\"Copy To Clipboard\"></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <dbx-download-blob-button [config]=\"downloadConfigSignal()\"></dbx-download-blob-button>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i1.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i1.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i1.DbxActionValueDirective, selector: "dbxActionValue,[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i1.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "raised", "stroked", "flat", "iconOnly", "fab", "mode"] }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: DbxDownloadBlobButtonComponent, selector: "dbx-download-blob-button", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
112
114
|
}
|
|
113
115
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDownloadTextViewComponent, decorators: [{
|
|
114
116
|
type: Component,
|
|
115
|
-
args: [{ selector: 'dbx-download-text-view', standalone: true, imports: [NgTemplateOutlet, DbxLoadingComponent, DbxActionModule, DbxActionButtonDirective, DbxButtonComponent, DbxButtonSpacerDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dbx-download-text-view\">\n <dbx-loading [context]=\"context\" [linear]=\"linear()\" [text]=\"loadingText()\">\n <ng-container *ngTemplateOutlet=\"contentView\"></ng-container>\n </dbx-loading>\n</div>\n\n<!-- Template -->\n<ng-template #contentView>\n <div class=\"dbx-download-text-view-content\">\n @if (showTitle()) {\n <div class=\"dbx-download-text-view-content-title dbx-mb2 mat-subtitle-2\">{{ fileNameSignal() }}</div>\n }\n @if (showPreview()) {\n <div class=\"dbx-download-text-preview dbx-json dbx-content-pit dbx-content-pit-scrollable dbx-mb3\">{{ contentDataSignal() }}</div>\n }\n <div class=\"dbx-download-text-view-actions\">\n <dbx-button dbxAction dbxActionValue [raised]=\"true\" [dbxActionHandler]=\"handleCopyToClipboard\" icon=\"content_copy\" dbxActionButton text=\"Copy To Clipboard\"></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <
|
|
117
|
+
args: [{ selector: 'dbx-download-text-view', standalone: true, imports: [NgTemplateOutlet, DbxLoadingComponent, DbxActionModule, DbxActionButtonDirective, DbxButtonComponent, DbxButtonSpacerDirective, DbxDownloadBlobButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dbx-download-text-view\">\n <dbx-loading [context]=\"context\" [linear]=\"linear()\" [text]=\"loadingText()\">\n <ng-container *ngTemplateOutlet=\"contentView\"></ng-container>\n </dbx-loading>\n</div>\n\n<!-- Template -->\n<ng-template #contentView>\n <div class=\"dbx-download-text-view-content\">\n @if (showTitle()) {\n <div class=\"dbx-download-text-view-content-title dbx-mb2 mat-subtitle-2\">{{ fileNameSignal() }}</div>\n }\n @if (showPreview()) {\n <div class=\"dbx-download-text-preview dbx-json dbx-content-pit dbx-content-pit-scrollable dbx-mb3\">{{ contentDataSignal() }}</div>\n }\n <div class=\"dbx-download-text-view-actions\">\n <dbx-button dbxAction dbxActionValue [raised]=\"true\" [dbxActionHandler]=\"handleCopyToClipboard\" icon=\"content_copy\" dbxActionButton text=\"Copy To Clipboard\"></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <dbx-download-blob-button [config]=\"downloadConfigSignal()\"></dbx-download-blob-button>\n </div>\n </div>\n</ng-template>\n" }]
|
|
116
118
|
}] });
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQudGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2Rvd25sb2FkL3RleHQvZG93bmxvYWQudGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2Rvd25sb2FkL3RleHQvZG93bmxvYWQudGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBcUMsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLDZCQUE2QixFQUEwQiwrQkFBK0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5TCxPQUFPLEVBQUUsWUFBWSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBYyxLQUFLLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsWUFBWSxFQUFtQixNQUFNLDJCQUEyQixDQUFDO0FBQzFFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7QUFFbkY7O0dBRUc7QUFRSCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsNkJBQTZCO0lBQzVELFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsWUFBWSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRTFDLGNBQWMsR0FBRyxTQUFTLENBQTRCLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFFOUYsV0FBVyxHQUFHLEtBQUssQ0FBZ0IsU0FBUyxDQUFDLENBQUM7SUFDOUMsTUFBTSxHQUFHLEtBQUssQ0FBaUIsU0FBUyxDQUFDLENBQUM7SUFDMUMsU0FBUyxHQUFHLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FBQztJQUNqQyxXQUFXLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO0lBRW5DLE9BQU8sR0FBRyxLQUFLLENBQTZCLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZELFlBQVksR0FBRyxLQUFLLENBQTRELFNBQVMsQ0FBQyxDQUFDO0lBRTNGLGFBQWEsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXhHLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFbEQseUJBQXlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFL0MsSUFBSSxNQUFnRCxDQUFDO1FBRXJELElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsTUFBTSxHQUFHLFlBQVksQ0FBQztRQUN4QixDQUFDO2FBQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNuQixNQUFNLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUMsQ0FBQztJQUVNLG9CQUFvQixHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUNwRSxRQUFRLEdBQTJDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQ3hGLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ2QsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNOLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUVPLGFBQWEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXhDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFbEUsYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJDLElBQUksT0FBTyxHQUEyQixTQUFTLENBQUM7UUFFaEQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxRQUFRLElBQUksMEJBQTBCLEVBQUUsQ0FBQyxDQUFDO1lBQ25HLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDhCQUE4QixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDN0YsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBRU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxJQUFJLE1BQU0sQ0FBQyxDQUFDO0lBRXRFLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDM0MsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzdDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckMsT0FBTyxPQUFPLENBQUMsY0FBYyxJQUFJLFFBQVEsSUFBSSxPQUFPLENBQUMsQ0FBQztJQUN4RCxDQUFDLENBQUMsQ0FBQztJQUVNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBRWxFLHFCQUFxQixHQUF3QixHQUFHLEVBQUU7UUFDekQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDdkIsS0FBSyxFQUFFLEVBQ1AsU0FBUyxDQUFDLENBQUMsbUJBQStDLEVBQUUsRUFBRTtZQUM1RCxJQUFJLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3hCLE9BQU8sSUFBSSxPQUFPLENBQVUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7b0JBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUV2RSxJQUFJLHVCQUF1QixHQUFHLEVBQUUsQ0FBQyxDQUFDLHVDQUF1QztvQkFFekUsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFO3dCQUNuQixNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBRXRDLElBQUksQ0FBQyxjQUFjLElBQUksRUFBRSx1QkFBdUIsRUFBRSxDQUFDOzRCQUNqRCxVQUFVLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO3dCQUNwQyxDQUFDOzZCQUFNLENBQUM7NEJBQ04sd0NBQXdDOzRCQUN4QyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7NEJBRWxCLElBQUksY0FBYyxFQUFFLENBQUM7Z0NBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzs0QkFDaEIsQ0FBQztpQ0FBTSxDQUFDO2dDQUNOLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzs0QkFDaEIsQ0FBQzt3QkFDSCxDQUFDO29CQUNILENBQUMsQ0FBQztvQkFFRixPQUFPLEVBQUUsQ0FBQztnQkFDWixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDZCxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLEdBQUcsWUFBWSxFQUFFLENBQUMsQ0FBQztZQUMzRixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsR0FBRyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1lBQ2pHLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQyxDQUFDO3dHQWxIUyw0QkFBNEI7NEZBQTVCLDRCQUE0Qix5OUJBS2tELFVBQVUsb0VDL0JyRywyckNBc0JBLDRDRENZLGdCQUFnQixvSkFBRSxtQkFBbUIsa0tBQUUsZUFBZSxvaEJBQTRCLGtCQUFrQix1UEFBRSx3QkFBd0I7OzRGQUc3SCw0QkFBNEI7a0JBUHhDLFNBQVM7K0JBRUUsd0JBQXdCLGNBQ3RCLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxrQkFBa0IsRUFBRSx3QkFBd0IsQ0FBQyxtQkFDeEgsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IFdvcmtVc2luZ09ic2VydmFibGUsIExvYWRpbmdTdGF0ZSwgbG9hZGluZ1N0YXRlQ29udGV4dCwgc3VjY2Vzc1Jlc3VsdCwgdmFsdWVGcm9tRmluaXNoZWRMb2FkaW5nU3RhdGUsIE1heWJlT2JzZXJ2YWJsZU9yVmFsdWUsIG1heWJlVmFsdWVGcm9tT2JzZXJ2YWJsZU9yVmFsdWUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IE1TX0lOX1NFQ09ORCwgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlyc3QsIG9mLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENsaXBib2FyZCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgRG93bmxvYWRUZXh0Q29udGVudCB9IGZyb20gJy4vZG93bmxvYWQudGV4dCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVSZXNvdXJjZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUsIERieEFjdGlvbkJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBEYnhMb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERieEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IERieEFjdGlvbk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbi9hY3Rpb24ubW9kdWxlJztcbmltcG9ydCB7IERieEJ1dHRvblNwYWNlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2J1dHRvbi9idXR0b24uc3BhY2VyLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogRGJ4U3RydWN0dXJlRGlyZWN0aXZlIHVzZWQgc3BlY2lmaWNhbGx5IG9uIHRoZSBib2R5IG9mIHRoZSBhcHAuXG4gKi9cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZG93bmxvYWQudGV4dC5jb21wb25lbnQuaHRtbCcsXG4gIHNlbGVjdG9yOiAnZGJ4LWRvd25sb2FkLXRleHQtdmlldycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0LCBEYnhMb2FkaW5nQ29tcG9uZW50LCBEYnhBY3Rpb25Nb2R1bGUsIERieEFjdGlvbkJ1dHRvbkRpcmVjdGl2ZSwgRGJ4QnV0dG9uQ29tcG9uZW50LCBEYnhCdXR0b25TcGFjZXJEaXJlY3RpdmVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYnhEb3dubG9hZFRleHRWaWV3Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUge1xuICBwcml2YXRlIHJlYWRvbmx5IF9jbGlwYm9hcmQgPSBpbmplY3QoQ2xpcGJvYXJkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWF0U25hY2tiYXIgPSBpbmplY3QoTWF0U25hY2tCYXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcblxuICByZWFkb25seSBkb3dubG9hZEJ1dHRvbiA9IHZpZXdDaGlsZDxzdHJpbmcsIE1heWJlPEVsZW1lbnRSZWY+PignZG93bmxvYWRCdXR0b24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG5cbiAgcmVhZG9ubHkgbG9hZGluZ1RleHQgPSBpbnB1dDxNYXliZTxzdHJpbmc+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBsaW5lYXIgPSBpbnB1dDxNYXliZTxib29sZWFuPj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgc2hvd1RpdGxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIHJlYWRvbmx5IHNob3dQcmV2aWV3ID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgcmVhZG9ubHkgY29udGVudCA9IGlucHV0PE1heWJlPERvd25sb2FkVGV4dENvbnRlbnQ+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBjb250ZW50U3RhdGUgPSBpbnB1dDxNYXliZU9ic2VydmFibGVPclZhbHVlPExvYWRpbmdTdGF0ZTxEb3dubG9hZFRleHRDb250ZW50Pj4+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgY29udGVudFN0YXRlJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmNvbnRlbnRTdGF0ZSkucGlwZShtYXliZVZhbHVlRnJvbU9ic2VydmFibGVPclZhbHVlKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSBjb250ZW50U3RhdGVTaWduYWwgPSB0b1NpZ25hbCh0aGlzLmNvbnRlbnRTdGF0ZSQpO1xuXG4gIHJlYWRvbmx5IGNvbnRlbnRMb2FkaW5nU3RhdGVTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuY29udGVudCgpO1xuICAgIGNvbnN0IGNvbnRlbnRTdGF0ZSA9IHRoaXMuY29udGVudFN0YXRlU2lnbmFsKCk7XG5cbiAgICBsZXQgcmVzdWx0OiBNYXliZTxMb2FkaW5nU3RhdGU8RG93bmxvYWRUZXh0Q29udGVudD4+O1xuXG4gICAgaWYgKGNvbnRlbnRTdGF0ZSkge1xuICAgICAgcmVzdWx0ID0gY29udGVudFN0YXRlO1xuICAgIH0gZWxzZSBpZiAoY29udGVudCkge1xuICAgICAgcmVzdWx0ID0gc3VjY2Vzc1Jlc3VsdChjb250ZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9KTtcblxuICByZWFkb25seSBjb250ZW50TG9hZGluZ1N0YXRlJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmNvbnRlbnRMb2FkaW5nU3RhdGVTaWduYWwpO1xuICByZWFkb25seSBjb250ZW50JDogT2JzZXJ2YWJsZTxNYXliZTxEb3dubG9hZFRleHRDb250ZW50Pj4gPSB0aGlzLmNvbnRlbnRMb2FkaW5nU3RhdGUkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCh4KSA9PiB7XG4gICAgICBpZiAoeCkge1xuICAgICAgICByZXR1cm4gb2YoeCkucGlwZSh2YWx1ZUZyb21GaW5pc2hlZExvYWRpbmdTdGF0ZSgpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgICAgfVxuICAgIH0pXG4gICk7XG5cbiAgcmVhZG9ubHkgY29udGVudFNpZ25hbCA9IHRvU2lnbmFsKHRoaXMuY29udGVudCQpO1xuXG4gIHJlYWRvbmx5IGNvbnRlbnREYXRhU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb250ZW50U2lnbmFsKCk/LmNvbnRlbnQpO1xuXG4gIHJlYWRvbmx5IGZpbGVVcmxTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuY29udGVudFNpZ25hbCgpO1xuXG4gICAgbGV0IGZpbGVVcmw6IE1heWJlPFNhZmVSZXNvdXJjZVVybD4gPSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoY29udGVudCkge1xuICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtjb250ZW50LmNvbnRlbnRdLCB7IHR5cGU6IGNvbnRlbnQubWltZVR5cGUgPz8gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScgfSk7XG4gICAgICBmaWxlVXJsID0gdGhpcy5fc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpbGVVcmw7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGZpbGVOYW1lU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb250ZW50U2lnbmFsKCk/Lm5hbWUgPz8gJ0ZpbGUnKTtcblxuICByZWFkb25seSBkb3dubG9hZFJlYWR5U2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGRvd25sb2FkQnV0dG9uID0gdGhpcy5kb3dubG9hZEJ1dHRvbigpO1xuICAgIGNvbnN0IGZpbGVOYW1lID0gdGhpcy5maWxlTmFtZVNpZ25hbCgpO1xuICAgIGNvbnN0IGZpbGVVcmwgPSB0aGlzLmZpbGVVcmxTaWduYWwoKTtcbiAgICByZXR1cm4gQm9vbGVhbihkb3dubG9hZEJ1dHRvbiAmJiBmaWxlTmFtZSAmJiBmaWxlVXJsKTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgY29udGV4dCA9IGxvYWRpbmdTdGF0ZUNvbnRleHQoeyBvYnM6IHRoaXMuY29udGVudExvYWRpbmdTdGF0ZSQgfSk7XG5cbiAgcmVhZG9ubHkgaGFuZGxlQ29weVRvQ2xpcGJvYXJkOiBXb3JrVXNpbmdPYnNlcnZhYmxlID0gKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnQkLnBpcGUoXG4gICAgICBmaXJzdCgpLFxuICAgICAgc3dpdGNoTWFwKChkb3dubG9hZFRleHRDb250ZW50OiBNYXliZTxEb3dubG9hZFRleHRDb250ZW50PikgPT4ge1xuICAgICAgICBpZiAoZG93bmxvYWRUZXh0Q29udGVudCkge1xuICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxib29sZWFuPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwZW5kaW5nID0gdGhpcy5fY2xpcGJvYXJkLmJlZ2luQ29weShkb3dubG9hZFRleHRDb250ZW50LmNvbnRlbnQpO1xuXG4gICAgICAgICAgICBsZXQgc2Vjb25kc1JlbWFpbmluZ0ZvckNvcHkgPSAyMDsgLy8gYXR0ZW1wdCB0byBjb3B5IGZvciB1cCB0byAyMCBzZWNvbmRzXG5cbiAgICAgICAgICAgIGNvbnN0IGF0dGVtcHQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGNvcHlJc0ZpbmlzaGVkID0gcGVuZGluZy5jb3B5KCk7XG5cbiAgICAgICAgICAgICAgaWYgKCFjb3B5SXNGaW5pc2hlZCAmJiAtLXNlY29uZHNSZW1haW5pbmdGb3JDb3B5KSB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChhdHRlbXB0LCBNU19JTl9TRUNPTkQpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIFJlbWVtYmVyIHRvIGRlc3Ryb3kgd2hlbiB5b3UncmUgZG9uZSFcbiAgICAgICAgICAgICAgICBwZW5kaW5nLmRlc3Ryb3koKTtcblxuICAgICAgICAgICAgICAgIGlmIChjb3B5SXNGaW5pc2hlZCkge1xuICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgcmVqZWN0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGF0dGVtcHQoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHRhcCgoc3VjY2VzcykgPT4ge1xuICAgICAgICBpZiAoc3VjY2Vzcykge1xuICAgICAgICAgIHRoaXMuX21hdFNuYWNrYmFyLm9wZW4oJ0NvcGllZCB0byBjbGlwYm9hcmQnLCB1bmRlZmluZWQsIHsgZHVyYXRpb246IDMgKiBNU19JTl9TRUNPTkQgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fbWF0U25hY2tiYXIub3BlbignQ29udGVudCBmYWlsZWQgdG8gY29weS4uLicsIHVuZGVmaW5lZCwgeyBkdXJhdGlvbjogMyAqIE1TX0lOX1NFQ09ORCB9KTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9O1xufVxuIiwiPGRpdiBjbGFzcz1cImRieC1kb3dubG9hZC10ZXh0LXZpZXdcIj5cbiAgPGRieC1sb2FkaW5nIFtjb250ZXh0XT1cImNvbnRleHRcIiBbbGluZWFyXT1cImxpbmVhcigpXCIgW3RleHRdPVwibG9hZGluZ1RleHQoKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50Vmlld1wiPjwvbmctY29udGFpbmVyPlxuICA8L2RieC1sb2FkaW5nPlxuPC9kaXY+XG5cbjwhLS0gVGVtcGxhdGUgLS0+XG48bmctdGVtcGxhdGUgI2NvbnRlbnRWaWV3PlxuICA8ZGl2IGNsYXNzPVwiZGJ4LWRvd25sb2FkLXRleHQtdmlldy1jb250ZW50XCI+XG4gICAgQGlmIChzaG93VGl0bGUoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cImRieC1kb3dubG9hZC10ZXh0LXZpZXctY29udGVudC10aXRsZSBkYngtbWIyIG1hdC1zdWJ0aXRsZS0yXCI+e3sgZmlsZU5hbWVTaWduYWwoKSB9fTwvZGl2PlxuICAgIH1cbiAgICBAaWYgKHNob3dQcmV2aWV3KCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJkYngtZG93bmxvYWQtdGV4dC1wcmV2aWV3IGRieC1qc29uIGRieC1jb250ZW50LXBpdCBkYngtY29udGVudC1waXQtc2Nyb2xsYWJsZSBkYngtbWIzXCI+e3sgY29udGVudERhdGFTaWduYWwoKSB9fTwvZGl2PlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwiZGJ4LWRvd25sb2FkLXRleHQtdmlldy1hY3Rpb25zXCI+XG4gICAgICA8ZGJ4LWJ1dHRvbiBkYnhBY3Rpb24gZGJ4QWN0aW9uVmFsdWUgW3JhaXNlZF09XCJ0cnVlXCIgW2RieEFjdGlvbkhhbmRsZXJdPVwiaGFuZGxlQ29weVRvQ2xpcGJvYXJkXCIgaWNvbj1cImNvbnRlbnRfY29weVwiIGRieEFjdGlvbkJ1dHRvbiB0ZXh0PVwiQ29weSBUbyBDbGlwYm9hcmRcIj48L2RieC1idXR0b24+XG4gICAgICA8ZGJ4LWJ1dHRvbi1zcGFjZXI+PC9kYngtYnV0dG9uLXNwYWNlcj5cbiAgICAgIDxhICNkb3dubG9hZEJ1dHRvbiBbaHJlZl09XCJmaWxlVXJsU2lnbmFsKClcIiBbYXR0ci5kb3dubG9hZF09XCJmaWxlTmFtZVNpZ25hbCgpXCI+PGRieC1idXR0b24gaWNvbj1cImRvd25sb2FkXCIgdGV4dD1cIkRvd25sb2FkXCIgW3JhaXNlZF09XCJ0cnVlXCIgW3dvcmtpbmddPVwiIWRvd25sb2FkUmVhZHlTaWduYWwoKVwiIFtkaXNhYmxlZF09XCIhZG93bmxvYWRSZWFkeVNpZ25hbCgpXCI+PC9kYngtYnV0dG9uPjwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQudGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2Rvd25sb2FkL3RleHQvZG93bmxvYWQudGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2Rvd25sb2FkL3RleHQvZG93bmxvYWQudGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBYSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBcUMsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLDZCQUE2QixFQUEwQiwrQkFBK0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5TCxPQUFPLEVBQUUsWUFBWSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBYyxLQUFLLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RixPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25E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LHdCQUF3QixnRkFBRSw4QkFBOEI7OzRGQUc3Siw0QkFBNEI7a0JBUHhDLFNBQVM7K0JBRUUsd0JBQXdCLGNBQ3RCLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxrQkFBa0IsRUFBRSx3QkFBd0IsRUFBRSw4QkFBOEIsQ0FBQyxtQkFDeEosdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgV29ya1VzaW5nT2JzZXJ2YWJsZSwgTG9hZGluZ1N0YXRlLCBsb2FkaW5nU3RhdGVDb250ZXh0LCBzdWNjZXNzUmVzdWx0LCB2YWx1ZUZyb21GaW5pc2hlZExvYWRpbmdTdGF0ZSwgTWF5YmVPYnNlcnZhYmxlT3JWYWx1ZSwgbWF5YmVWYWx1ZUZyb21PYnNlcnZhYmxlT3JWYWx1ZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgTVNfSU5fU0VDT05ELCB0eXBlIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaXJzdCwgb2YsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBEb3dubG9hZFRleHRDb250ZW50IH0gZnJvbSAnLi9kb3dubG9hZC50ZXh0JztcbmltcG9ydCB7IEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlLCBEYnhBY3Rpb25CdXR0b25EaXJlY3RpdmUgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUsIHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRGJ4TG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEYnhCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhBY3Rpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb24vYWN0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBEYnhCdXR0b25TcGFjZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9idXR0b24vYnV0dG9uLnNwYWNlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgYnJvd3Nlck9iamVjdFVybFJlZiB9IGZyb20gJ0BkZXJlZWtiL2Jyb3dzZXInO1xuaW1wb3J0IHsgRGJ4RG93bmxvYWRCbG9iQnV0dG9uQ29tcG9uZW50LCBEYnhEb3dubG9hZEJsb2JCdXR0b25Db25maWcgfSBmcm9tICcuLi9ibG9iL2Rvd25sb2FkLmJsb2IuYnV0dG9uLmNvbXBvbmVudCc7XG5cbi8qKlxuICogVmlldyBmb3IgcHJldmlld2luZyBhbmQgZG93bmxvYWRpbmcgYXJiaXRyYXJ5IHRleHQgY29udGVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9kb3dubG9hZC50ZXh0LmNvbXBvbmVudC5odG1sJyxcbiAgc2VsZWN0b3I6ICdkYngtZG93bmxvYWQtdGV4dC12aWV3JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXQsIERieExvYWRpbmdDb21wb25lbnQsIERieEFjdGlvbk1vZHVsZSwgRGJ4QWN0aW9uQnV0dG9uRGlyZWN0aXZlLCBEYnhCdXR0b25Db21wb25lbnQsIERieEJ1dHRvblNwYWNlckRpcmVjdGl2ZSwgRGJ4RG93bmxvYWRCbG9iQnV0dG9uQ29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RG93bmxvYWRUZXh0Vmlld0NvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2xpcGJvYXJkID0gaW5qZWN0KENsaXBib2FyZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21hdFNuYWNrYmFyID0gaW5qZWN0KE1hdFNuYWNrQmFyKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9icm93c2VyT2JqZWN0VXJsID0gYnJvd3Nlck9iamVjdFVybFJlZigpO1xuXG4gIHJlYWRvbmx5IGRvd25sb2FkQnV0dG9uID0gdmlld0NoaWxkPHN0cmluZywgTWF5YmU8RWxlbWVudFJlZj4+KCdkb3dubG9hZEJ1dHRvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KTtcblxuICByZWFkb25seSBsb2FkaW5nVGV4dCA9IGlucHV0PE1heWJlPHN0cmluZz4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGxpbmVhciA9IGlucHV0PE1heWJlPGJvb2xlYW4+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBzaG93VGl0bGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbiAgcmVhZG9ubHkgc2hvd1ByZXZpZXcgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcblxuICByZWFkb25seSBjb250ZW50ID0gaW5wdXQ8TWF5YmU8RG93bmxvYWRUZXh0Q29udGVudD4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGNvbnRlbnRTdGF0ZSA9IGlucHV0PE1heWJlT2JzZXJ2YWJsZU9yVmFsdWU8TG9hZGluZ1N0YXRlPERvd25sb2FkVGV4dENvbnRlbnQ+Pj4odW5kZWZpbmVkKTtcblxuICByZWFkb25seSBjb250ZW50U3RhdGUkID0gdG9PYnNlcnZhYmxlKHRoaXMuY29udGVudFN0YXRlKS5waXBlKG1heWJlVmFsdWVGcm9tT2JzZXJ2YWJsZU9yVmFsdWUoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IGNvbnRlbnRTdGF0ZVNpZ25hbCA9IHRvU2lnbmFsKHRoaXMuY29udGVudFN0YXRlJCk7XG5cbiAgcmVhZG9ubHkgY29udGVudExvYWRpbmdTdGF0ZVNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5jb250ZW50KCk7XG4gICAgY29uc3QgY29udGVudFN0YXRlID0gdGhpcy5jb250ZW50U3RhdGVTaWduYWwoKTtcblxuICAgIGxldCByZXN1bHQ6IE1heWJlPExvYWRpbmdTdGF0ZTxEb3dubG9hZFRleHRDb250ZW50Pj47XG5cbiAgICBpZiAoY29udGVudFN0YXRlKSB7XG4gICAgICByZXN1bHQgPSBjb250ZW50U3RhdGU7XG4gICAgfSBlbHNlIGlmIChjb250ZW50KSB7XG4gICAgICByZXN1bHQgPSBzdWNjZXNzUmVzdWx0KGNvbnRlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGNvbnRlbnRMb2FkaW5nU3RhdGUkID0gdG9PYnNlcnZhYmxlKHRoaXMuY29udGVudExvYWRpbmdTdGF0ZVNpZ25hbCk7XG4gIHJlYWRvbmx5IGNvbnRlbnQkOiBPYnNlcnZhYmxlPE1heWJlPERvd25sb2FkVGV4dENvbnRlbnQ+PiA9IHRoaXMuY29udGVudExvYWRpbmdTdGF0ZSQucGlwZShcbiAgICBzd2l0Y2hNYXAoKHgpID0+IHtcbiAgICAgIGlmICh4KSB7XG4gICAgICAgIHJldHVybiBvZih4KS5waXBlKHZhbHVlRnJvbUZpbmlzaGVkTG9hZGluZ1N0YXRlKCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgfSlcbiAgKTtcblxuICByZWFkb25seSBjb250ZW50U2lnbmFsID0gdG9TaWduYWwodGhpcy5jb250ZW50JCk7XG4gIHJlYWRvbmx5IGNvbnRlbnREYXRhU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb250ZW50U2lnbmFsKCk/LmNvbnRlbnQpO1xuICByZWFkb25seSBmaWxlTmFtZVNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29udGVudFNpZ25hbCgpPy5uYW1lID8/ICdkb3dubG9hZC50eHQnKTtcblxuICByZWFkb25seSBkb3dubG9hZENvbmZpZ1NpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5jb250ZW50U2lnbmFsKCk7XG4gICAgY29uc3QgZmlsZU5hbWUgPSB0aGlzLmZpbGVOYW1lU2lnbmFsKCk7XG4gICAgbGV0IHJlc3VsdDogTWF5YmU8RGJ4RG93bmxvYWRCbG9iQnV0dG9uQ29uZmlnPiA9IHVuZGVmaW5lZDtcblxuICAgIGlmIChjb250ZW50KSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIGJsb2I6IG5ldyBCbG9iKFtjb250ZW50LmNvbnRlbnRdLCB7IHR5cGU6IGNvbnRlbnQubWltZVR5cGUgPz8gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScgfSksXG4gICAgICAgIGZpbGVOYW1lXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGNvbnRleHQgPSBsb2FkaW5nU3RhdGVDb250ZXh0KHsgb2JzOiB0aGlzLmNvbnRlbnRMb2FkaW5nU3RhdGUkIH0pO1xuXG4gIHJlYWRvbmx5IGhhbmRsZUNvcHlUb0NsaXBib2FyZDogV29ya1VzaW5nT2JzZXJ2YWJsZSA9ICgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50JC5waXBlKFxuICAgICAgZmlyc3QoKSxcbiAgICAgIHN3aXRjaE1hcCgoZG93bmxvYWRUZXh0Q29udGVudDogTWF5YmU8RG93bmxvYWRUZXh0Q29udGVudD4pID0+IHtcbiAgICAgICAgaWYgKGRvd25sb2FkVGV4dENvbnRlbnQpIHtcbiAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8Ym9vbGVhbj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGVuZGluZyA9IHRoaXMuX2NsaXBib2FyZC5iZWdpbkNvcHkoZG93bmxvYWRUZXh0Q29udGVudC5jb250ZW50KTtcblxuICAgICAgICAgICAgbGV0IHNlY29uZHNSZW1haW5pbmdGb3JDb3B5ID0gMjA7IC8vIGF0dGVtcHQgdG8gY29weSBmb3IgdXAgdG8gMjAgc2Vjb25kc1xuXG4gICAgICAgICAgICBjb25zdCBhdHRlbXB0ID0gKCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBjb3B5SXNGaW5pc2hlZCA9IHBlbmRpbmcuY29weSgpO1xuXG4gICAgICAgICAgICAgIGlmICghY29weUlzRmluaXNoZWQgJiYgLS1zZWNvbmRzUmVtYWluaW5nRm9yQ29weSkge1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoYXR0ZW1wdCwgTVNfSU5fU0VDT05EKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBSZW1lbWJlciB0byBkZXN0cm95IHdoZW4geW91J3JlIGRvbmUhXG4gICAgICAgICAgICAgICAgcGVuZGluZy5kZXN0cm95KCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoY29weUlzRmluaXNoZWQpIHtcbiAgICAgICAgICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHJlamVjdChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBhdHRlbXB0KCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICB0YXAoKHN1Y2Nlc3MpID0+IHtcbiAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICB0aGlzLl9tYXRTbmFja2Jhci5vcGVuKCdDb3BpZWQgdG8gY2xpcGJvYXJkJywgdW5kZWZpbmVkLCB7IGR1cmF0aW9uOiAzICogTVNfSU5fU0VDT05EIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX21hdFNuYWNrYmFyLm9wZW4oJ0NvbnRlbnQgZmFpbGVkIHRvIGNvcHkuLi4nLCB1bmRlZmluZWQsIHsgZHVyYXRpb246IDMgKiBNU19JTl9TRUNPTkQgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfTtcblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuX2Jyb3dzZXJPYmplY3RVcmwuZGVzdHJveSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGJ4LWRvd25sb2FkLXRleHQtdmlld1wiPlxuICA8ZGJ4LWxvYWRpbmcgW2NvbnRleHRdPVwiY29udGV4dFwiIFtsaW5lYXJdPVwibGluZWFyKClcIiBbdGV4dF09XCJsb2FkaW5nVGV4dCgpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRWaWV3XCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGJ4LWxvYWRpbmc+XG48L2Rpdj5cblxuPCEtLSBUZW1wbGF0ZSAtLT5cbjxuZy10ZW1wbGF0ZSAjY29udGVudFZpZXc+XG4gIDxkaXYgY2xhc3M9XCJkYngtZG93bmxvYWQtdGV4dC12aWV3LWNvbnRlbnRcIj5cbiAgICBAaWYgKHNob3dUaXRsZSgpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiZGJ4LWRvd25sb2FkLXRleHQtdmlldy1jb250ZW50LXRpdGxlIGRieC1tYjIgbWF0LXN1YnRpdGxlLTJcIj57eyBmaWxlTmFtZVNpZ25hbCgpIH19PC9kaXY+XG4gICAgfVxuICAgIEBpZiAoc2hvd1ByZXZpZXcoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cImRieC1kb3dubG9hZC10ZXh0LXByZXZpZXcgZGJ4LWpzb24gZGJ4LWNvbnRlbnQtcGl0IGRieC1jb250ZW50LXBpdC1zY3JvbGxhYmxlIGRieC1tYjNcIj57eyBjb250ZW50RGF0YVNpZ25hbCgpIH19PC9kaXY+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJkYngtZG93bmxvYWQtdGV4dC12aWV3LWFjdGlvbnNcIj5cbiAgICAgIDxkYngtYnV0dG9uIGRieEFjdGlvbiBkYnhBY3Rpb25WYWx1ZSBbcmFpc2VkXT1cInRydWVcIiBbZGJ4QWN0aW9uSGFuZGxlcl09XCJoYW5kbGVDb3B5VG9DbGlwYm9hcmRcIiBpY29uPVwiY29udGVudF9jb3B5XCIgZGJ4QWN0aW9uQnV0dG9uIHRleHQ9XCJDb3B5IFRvIENsaXBib2FyZFwiPjwvZGJ4LWJ1dHRvbj5cbiAgICAgIDxkYngtYnV0dG9uLXNwYWNlcj48L2RieC1idXR0b24tc3BhY2VyPlxuICAgICAgPGRieC1kb3dubG9hZC1ibG9iLWJ1dHRvbiBbY29uZmlnXT1cImRvd25sb2FkQ29uZmlnU2lnbmFsKClcIj48L2RieC1kb3dubG9hZC1ibG9iLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// export * from './calendar'; // nothing to export
|
|
2
2
|
export * from './model';
|
|
3
3
|
export * from './download';
|
|
4
|
+
export * from './preview';
|
|
4
5
|
export * from './structure';
|
|
5
6
|
// export * from './table'; // nothing to export
|
|
6
7
|
export * from './widget';
|
|
7
|
-
|
|
8
|
+
export * from './zip';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1EQUFtRDtBQUNuRCxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGFBQWEsQ0FBQztBQUM1QixnREFBZ0Q7QUFDaEQsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBleHBvcnQgKiBmcm9tICcuL2NhbGVuZGFyJzsgLy8gbm90aGluZyB0byBleHBvcnRcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9kb3dubG9hZCc7XG5leHBvcnQgKiBmcm9tICcuL3ByZXZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi9zdHJ1Y3R1cmUnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi90YWJsZSc7IC8vIG5vdGhpbmcgdG8gZXhwb3J0XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldCc7XG5leHBvcnQgKiBmcm9tICcuL3ppcCc7XG4iXX0=
|
|
@@ -4,4 +4,4 @@ export function allDbxModelViewTrackerEventSetModelKeys(eventSet) {
|
|
|
4
4
|
export function allDbxModelViewTrackerEventModelKeys(events) {
|
|
5
5
|
return events.map((y) => y.m.key);
|
|
6
6
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwudHJhY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9leHRlbnNpb24vbW9kZWwvbW9kZWwudHJhY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQ0EsTUFBTSxVQUFVLHVDQUF1QyxDQUFDLFFBQXFDO0lBQzNGLE9BQU8sb0NBQW9DLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFFRCxNQUFNLFVBQVUsb0NBQW9DLENBQUMsTUFBa0M7SUFDckYsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIE1heWJlLCB0eXBlIE1vZGVsS2V5LCB0eXBlIE1vZGVsS2V5VHlwZU5hbWVQYWlyLCB0eXBlIFVuaXhEYXRlVGltZVNlY29uZHNOdW1iZXIgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuLyoqXG4gKiBTdHJpbmcgY29udGV4dCBpbiB3aGljaCBhIG1vZGVsIHdhcyB2aWV3ZWQuXG4gKi9cbmV4cG9ydCB0eXBlIE1vZGVsVmlld0NvbnRleHQgPSBzdHJpbmc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4TW9kZWxWaWV3VHJhY2tlckV2ZW50IHtcbiAgLyoqXG4gICAqIEV2ZW50IHRpbWVcbiAgICovXG4gIHJlYWRvbmx5IGQ/OiBVbml4RGF0ZVRpbWVTZWNvbmRzTnVtYmVyO1xuICAvKipcbiAgICogQ29udGV4dFxuICAgKi9cbiAgcmVhZG9ubHkgYz86IE1heWJlPE1vZGVsVmlld0NvbnRleHQ+O1xuICAvKipcbiAgICogTW9kZWwgaW5mb1xuICAgKi9cbiAgcmVhZG9ubHkgbTogTW9kZWxLZXlUeXBlTmFtZVBhaXI7XG4gIHJlYWRvbmx5IGZvbGRlcj86IE1heWJlPHN0cmluZz47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4TW9kZWxWaWV3VHJhY2tlckV2ZW50U2V0IHtcbiAgLyoqXG4gICAqIFRoZSBsYXRlc3QgZGF0ZS90aW1lIG51bWJlci5cbiAgICovXG4gIHJlYWRvbmx5IGw6IFVuaXhEYXRlVGltZVNlY29uZHNOdW1iZXI7XG4gIC8qKlxuICAgKiBMaXN0IG9mIGV2ZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IGU6IERieE1vZGVsVmlld1RyYWNrZXJFdmVudFtdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWxsRGJ4TW9kZWxWaWV3VHJhY2tlckV2ZW50U2V0TW9kZWxLZXlzKGV2ZW50U2V0OiBEYnhNb2RlbFZpZXdUcmFja2VyRXZlbnRTZXQpOiBNb2RlbEtleVtdIHtcbiAgcmV0dXJuIGFsbERieE1vZGVsVmlld1RyYWNrZXJFdmVudE1vZGVsS2V5cyhldmVudFNldC5lKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFsbERieE1vZGVsVmlld1RyYWNrZXJFdmVudE1vZGVsS2V5cyhldmVudHM6IERieE1vZGVsVmlld1RyYWNrZXJFdmVudFtdKTogTW9kZWxLZXlbXSB7XG4gIHJldHVybiBldmVudHMubWFwKCh5KSA9PiB5Lm0ua2V5KTtcbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injectable, InjectionToken, inject } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { unixDateTimeSecondsNumberForNow, encodeModelKeyTypePair, ModelRelationUtility } from '@dereekb/util';
|
|
3
3
|
import { map, mergeMap, catchError, of, Subject, tap } from 'rxjs';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
/**
|
|
@@ -28,7 +28,7 @@ export class DbxModelViewTrackerStorage {
|
|
|
28
28
|
const storageKey = this.getStorageKeyForFolder(event.folder);
|
|
29
29
|
return this._getEventSetForStorageKey(storageKey).pipe(mergeMap((set) => {
|
|
30
30
|
const nextEvent = {
|
|
31
|
-
d: event.d ??
|
|
31
|
+
d: event.d ?? unixDateTimeSecondsNumberForNow(),
|
|
32
32
|
c: event.c,
|
|
33
33
|
m: event.m
|
|
34
34
|
};
|
|
@@ -65,4 +65,4 @@ export class DbxModelViewTrackerStorage {
|
|
|
65
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxModelViewTrackerStorage, decorators: [{
|
|
66
66
|
type: Injectable
|
|
67
67
|
}] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwudHJhY2tlci52aWV3LnN0b3JhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL21vZGVsL21vZGVsLnRyYWNrZXIudmlldy5zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFFMUgsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUcvRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZDQUE2QyxHQUFHLElBQUksY0FBYyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7QUFFdEg7O0dBRUc7QUFFSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLE1BQU0sQ0FBVSxvQ0FBb0MsR0FBRywyQkFBMkIsQ0FBQztJQUNuRixNQUFNLENBQVUsa0JBQWtCLEdBQUcsR0FBRyxDQUFDO0lBRWhDLGVBQWUsR0FBRyxNQUFNLENBQStDLDZDQUE2QyxDQUFDLENBQUM7SUFFOUcsU0FBUyxHQUFHLElBQUksT0FBTyxFQUE0QixDQUFDO0lBRTVELFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRW5ELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFjLFVBQVU7UUFDdEIsT0FBTywwQkFBMEIsQ0FBQyxvQ0FBb0MsQ0FBQztJQUN6RSxDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQTBCLENBQUMsa0JB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MEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9uRGVzdHJveSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB1bml4RGF0ZVRpbWVTZWNvbmRzTnVtYmVyRm9yTm93LCBlbmNvZGVNb2RlbEtleVR5cGVQYWlyLCBNb2RlbFJlbGF0aW9uVXRpbGl0eSwgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgU3RvcmFnZUFjY2Vzc29yIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCwgY2F0Y2hFcnJvciwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4TW9kZWxWaWV3VHJhY2tlckV2ZW50U2V0LCBEYnhNb2RlbFZpZXdUcmFja2VyRXZlbnQgfSBmcm9tICcuL21vZGVsLnRyYWNrZXInO1xuXG4vKipcbiAqIFRva2VuIHRoYXQgY29ycmVzcG9uZHMgdG8gYSBTdG9yYWdlQWNjZXNzb3I8RGJ4TW9kZWxWaWV3VHJhY2tlckV2ZW50U2V0PiB0aGF0IGlzIHVzZWQgYnkgRGJ4TW9kZWxWaWV3VHJhY2tlclN0b3JhZ2UuXG4gKi9cbmV4cG9ydCBjb25zdCBEQlhfTU9ERUxfVklFV19UUkFDS0VSX1NUT1JBR0VfQUNDRVNTT1JfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0RieE1vZGVsVmlld1RyYWNrZXJTdG9yYWdlQWNjZXNzb3InKTtcblxuLyoqXG4gKiBVc2VkIGZvciBtYW5hZ2luZyBEYnhNb2RlbFZpZXdUcmFja2VyRXZlbnQgc3RvcmFnZS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERieE1vZGVsVmlld1RyYWNrZXJTdG9yYWdlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgc3RhdGljIHJlYWRvbmx5IE9CSkVDVF9WSUVXX1RSQUNLRVJfU1RPUkFHRV9MSVNUX0tFWSA9ICdkYnhNb2RlbFZpZXdUcmFja2VyRXZlbnRzJztcbiAgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfTUFYX0VWRU5UUyA9IDEwMDtcblxuICByZWFkb25seSBzdG9yYWdlQWNjZXNzb3IgPSBpbmplY3Q8U3RvcmFnZUFjY2Vzc29yPERieE1vZGVsVmlld1RyYWNrZXJFdmVudFNldD4+KERCWF9NT0RFTF9WSUVXX1RSQUNLRVJfU1RPUkFHRV9BQ0NFU1NPUl9UT0tFTik7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbmV3RXZlbnQgPSBuZXcgU3ViamVjdDxEYnhNb2RlbFZpZXdUcmFja2VyRXZlbnQ+KCk7XG5cbiAgcmVhZG9ubHkgbmV3RXZlbnQkID0gdGhpcy5fbmV3RXZlbnQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbmV3RXZlbnQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgc3RvcmFnZUtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBEYnhNb2RlbFZpZXdUcmFja2VyU3RvcmFnZS5PQkpFQ1RfVklFV19UUkFDS0VSX1NUT1JBR0VfTElTVF9LRVk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IG1heEV2ZW50c1RvS2VlcCgpOiBudW1iZXIge1xuICAgIHJldHVybiBEYnhNb2RlbFZpZXdUcmFja2VyU3RvcmFnZS5ERUZBVUxUX01BWF9FVkVOVFM7XG4gIH1cblxuICBhZGRUcmFja2VyRXZlbnQoZXZlbnQ6IERieE1vZGVsVmlld1RyYWNrZXJFdmVudCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IHN0b3JhZ2VLZXkgPSB0aGlzLmdldFN0b3JhZ2VLZXlGb3JGb2xkZXIoZXZlbnQuZm9sZGVyKTtcbiAgICByZXR1cm4gdGhpcy5fZ2V0RXZlbnRTZXRGb3JTdG9yYWdlS2V5KHN0b3JhZ2VLZXkpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgoc2V0KSA9PiB7XG4gICAgICAgIGNvbnN0IG5leHRFdmVudDogRGJ4TW9kZWxWaWV3VHJhY2tlckV2ZW50ID0ge1xuICAgICAgICAgIGQ6IGV2ZW50LmQgPz8gdW5peERhdGVUaW1lU2Vjb25kc051bWJlckZvck5vdygpLFxuICAgICAgICAgIGM6IGV2ZW50LmMsXG4gICAgICAgICAgbTogZXZlbnQubVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGUgPSBNb2RlbFJlbGF0aW9uVXRpbGl0eS5yZW1vdmVEdXBsaWNhdGVzKHNldC5lLCAoeCkgPT4gZW5jb2RlTW9kZWxLZXlUeXBlUGFpcih4Lm0pLCBbZW5jb2RlTW9kZWxLZXlUeXBlUGFpcihuZXh0RXZlbnQubSldKTtcbiAgICAgICAgZS5wdXNoKG5leHRFdmVudCk7XG4gICAgICAgIGUuc29ydCgoYSwgYikgPT4gKGIuZCA/PyAwKSAtIChhLmQgPz8gMCkpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2VBY2Nlc3NvclxuICAgICAgICAgIC5zZXQoc3RvcmFnZUtleSwge1xuICAgICAgICAgICAgbDogTWF0aC5tYXgoc2V0LmwgPz8gMCwgbmV4dEV2ZW50LmQgYXMgbnVtYmVyKSxcbiAgICAgICAgICAgIGU6IGUuc2xpY2UoMCwgdGhpcy5tYXhFdmVudHNUb0tlZXApXG4gICAgICAgICAgfSlcbiAgICAgICAgICAucGlwZSh0YXAoKCkgPT4gdGhpcy5fbmV3RXZlbnQubmV4dChuZXh0RXZlbnQpKSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXRBbGxFdmVudHMoZm9sZGVyPzogTWF5YmU8c3RyaW5nPik6IE9ic2VydmFibGU8RGJ4TW9kZWxWaWV3VHJhY2tlckV2ZW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRFdmVudFNldChmb2xkZXIpLnBpcGUobWFwKCh4KSA9PiB4LmUpKTtcbiAgfVxuXG4gIGdldEV2ZW50U2V0KGZvbGRlcj86IE1heWJlPHN0cmluZz4pOiBPYnNlcnZhYmxlPERieE1vZGVsVmlld1RyYWNrZXJFdmVudFNldD4ge1xuICAgIGNvbnN0IHN0b3JhZ2VLZXkgPSB0aGlzLmdldFN0b3JhZ2VLZXlGb3JGb2xkZXIoZm9sZGVyKTtcbiAgICByZXR1cm4gdGhpcy5fZ2V0RXZlbnRTZXRGb3JTdG9yYWdlS2V5KHN0b3JhZ2VLZXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RXZlbnRTZXRGb3JTdG9yYWdlS2V5KHN0b3JhZ2VLZXk6IHN0cmluZyk6IE9ic2VydmFibGU8RGJ4TW9kZWxWaWV3VHJhY2tlckV2ZW50U2V0PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZUFjY2Vzc29yLmdldChzdG9yYWdlS2V5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xuICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgIH0pLFxuICAgICAgbWFwKChyZXN1bHQpID0+IHJlc3VsdCA/PyB7IGU6IFtdLCBsOiAwIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldFN0b3JhZ2VLZXlGb3JGb2xkZXIoZm9sZGVyPzogTWF5YmU8c3RyaW5nPik6IHN0cmluZyB7XG4gICAgY29uc3Qgc3RvcmFnZUtleSA9IGAke3RoaXMuc3RvcmFnZUtleX1fJHtmb2xkZXIgPz8gJ2RlZmF1bHQnfWA7XG4gICAgcmV0dXJuIHN0b3JhZ2VLZXk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './webfilepreview';
|
|
2
|
+
export * from './webfilepreview.service';
|
|
3
|
+
export * from './webfilepreview.service.preset';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL3ByZXZpZXcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3dlYmZpbGVwcmV2aWV3JztcbmV4cG9ydCAqIGZyb20gJy4vd2ViZmlsZXByZXZpZXcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3dlYmZpbGVwcmV2aWV3LnNlcnZpY2UucHJlc2V0JztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViZmlsZXByZXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL3ByZXZpZXcvd2ViZmlsZXByZXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgTWF0RGlhbG9nLCB0eXBlIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyB0eXBlIFdlYnNpdGVVcmxXaXRoUHJlZml4LCB0eXBlIE1heWJlLCB0eXBlIENvbnRlbnRUeXBlTWltZVR5cGUsIHR5cGUgQXJyYXlPclZhbHVlLCB0eXBlIE1pbWVUeXBlV2l0aG91dFBhcmFtZXRlcnMgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuLyoqXG4gKiBVc2VkIGZvciBwcmV2aWV3aW5nIGEgc3JjIHVybCBhbmQgZW1iZWRNaW1lVHlwZS5cbiAqL1xuZXhwb3J0IHR5cGUgRGJ4V2ViRmlsZVByZXZpZXdTZXJ2aWNlUHJldmlld0Z1bmN0aW9uID0gKG1hdERpYWxvZzogTWF0RGlhbG9nLCBzcmNVcmw6IFdlYnNpdGVVcmxXaXRoUHJlZml4LCBlbWJlZE1pbWVUeXBlPzogTWF5YmU8Q29udGVudFR5cGVNaW1lVHlwZSB8IHN0cmluZz4pID0+IE1hdERpYWxvZ1JlZjxhbnksIGFueT47XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4V2ViRmlsZVByZXZpZXdTZXJ2aWNlRW50cnkge1xuICAvKipcbiAgICogVGhlIE1pbWVUeXBlKHMpIHRvIGFzc29jaWF0ZSB0aGUgcHJldmlldyBmdW5jdGlvbiB3aXRoLlxuICAgKi9cbiAgcmVhZG9ubHkgbWltZVR5cGU6IEFycmF5T3JWYWx1ZTxNaW1lVHlwZVdpdGhvdXRQYXJhbWV0ZXJzIHwgc3RyaW5nPjtcbiAgcmVhZG9ubHkgcHJldmlld0Z1bmN0aW9uOiBEYnhXZWJGaWxlUHJldmlld1NlcnZpY2VQcmV2aWV3RnVuY3Rpb247XG59XG4iXX0=
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Inject, inject, Injectable, InjectionToken, Optional } from '@angular/core';
|
|
2
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
+
import { setKeysOnMap, asArray } from '@dereekb/util';
|
|
4
|
+
import { DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_PRESET } from './webfilepreview.service.preset';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Default entries to inject.
|
|
8
|
+
*/
|
|
9
|
+
export const DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN = new InjectionToken('DefaultDbxWebFilePreviewServiceEntries');
|
|
10
|
+
export function provideDbxWebFilePreviewServiceEntries(entries) {
|
|
11
|
+
return {
|
|
12
|
+
provide: DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN,
|
|
13
|
+
useValue: entries
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Service used for previewing files with given mime types.
|
|
18
|
+
*/
|
|
19
|
+
export class DbxWebFilePreviewService {
|
|
20
|
+
matDialog = inject(MatDialog);
|
|
21
|
+
_entries = new Map();
|
|
22
|
+
constructor(entries) {
|
|
23
|
+
if (entries) {
|
|
24
|
+
entries.forEach((x) => this.registerPreviewFunctions(x.mimeType, x.previewFunction));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
_defaultPreviewFunction = DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_PRESET;
|
|
28
|
+
// Configuration
|
|
29
|
+
registerPreviewEntries(entries) {
|
|
30
|
+
asArray(entries).forEach((entry) => this.registerPreviewFunctions(entry.mimeType, entry.previewFunction));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Registers a preview function for the given mime type(s).
|
|
34
|
+
*/
|
|
35
|
+
registerPreviewFunctions(mimeType, previewFunction) {
|
|
36
|
+
setKeysOnMap(this._entries, mimeType, previewFunction);
|
|
37
|
+
}
|
|
38
|
+
setDefaultPreviewFunction(previewFunction) {
|
|
39
|
+
this._defaultPreviewFunction = previewFunction;
|
|
40
|
+
}
|
|
41
|
+
// Service
|
|
42
|
+
openPreviewDialog(srcUrl, embedMimeType) {
|
|
43
|
+
const previewFunction = (embedMimeType ? this._entries.get(embedMimeType) : undefined) ?? this._defaultPreviewFunction;
|
|
44
|
+
return previewFunction(this.matDialog, srcUrl, embedMimeType);
|
|
45
|
+
}
|
|
46
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxWebFilePreviewService, deps: [{ token: DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
47
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxWebFilePreviewService, providedIn: 'root' });
|
|
48
|
+
}
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxWebFilePreviewService, decorators: [{
|
|
50
|
+
type: Injectable,
|
|
51
|
+
args: [{
|
|
52
|
+
providedIn: 'root'
|
|
53
|
+
}]
|
|
54
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
55
|
+
type: Optional
|
|
56
|
+
}, {
|
|
57
|
+
type: Inject,
|
|
58
|
+
args: [DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN]
|
|
59
|
+
}] }] });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViZmlsZXByZXZpZXcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9leHRlbnNpb24vcHJldmlldy93ZWJmaWxlcHJldmlldy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUE2RixZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpKLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUU5Rjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBDQUEwQyxHQUFHLElBQUksY0FBYyxDQUFrQyx3Q0FBd0MsQ0FBQyxDQUFDO0FBRXhKLE1BQU0sVUFBVSxzQ0FBc0MsQ0FBQyxPQUF3QztJQUM3RixPQUFPO1FBQ0wsT0FBTyxFQUFFLDBDQUEwQztRQUNuRCxRQUFRLEVBQUUsT0FBTztLQUNsQixDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBSUgsTUFBTSxPQUFPLHdCQUF3QjtJQUMxQixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXRCLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBK0UsQ0FBQztJQUVuSCxZQUE0RSxPQUF3QztRQUNsSCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDdkYsQ0FBQztJQUNILENBQUM7SUFFTyx1QkFBdUIsR0FBNEMsMkNBQTJDLENBQUM7SUFFdkgsZ0JBQWdCO0lBQ2hCLHNCQUFzQixDQUFDLE9BQW9EO1FBQ3pFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFFRDs7T0FFRztJQUNILHdCQUF3QixDQUFDLFFBQTBELEVBQUUsZUFBd0Q7UUFDM0ksWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxlQUF3RDtRQUNoRixJQUFJLENBQUMsdUJBQXVCLEdBQUcsZUFBZSxDQUFDO0lBQ2pELENBQUM7SUFFRCxVQUFVO0lBQ1YsaUJBQWlCLENBQUMsTUFBNEIsRUFBRSxhQUFtRDtRQUNqRyxNQUFNLGVBQWUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztRQUN2SCxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNoRSxDQUFDO3dHQWpDVSx3QkFBd0Isa0JBS0gsMENBQTBDOzRHQUwvRCx3QkFBd0IsY0FGdkIsTUFBTTs7NEZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTWMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQywwQ0FBMEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBXZWJzaXRlVXJsV2l0aFByZWZpeCwgTWF5YmUsIENvbnRlbnRUeXBlTWltZVR5cGUsIE1pbWVUeXBlV2l0aG91dFBhcmFtZXRlcnMsIEFycmF5T3JWYWx1ZSwgc2V0S2V5c09uTWFwLCBhc0FycmF5IH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBEYnhXZWJGaWxlUHJldmlld1NlcnZpY2VFbnRyeSwgRGJ4V2ViRmlsZVByZXZpZXdTZXJ2aWNlUHJldmlld0Z1bmN0aW9uIH0gZnJvbSAnLi93ZWJmaWxlcHJldmlldyc7XG5pbXBvcnQgeyBEQlhfV0VCX0ZJTEVfUFJFVklFV19TRVJWSUNFX0RFRkFVTFRfUFJFU0VUIH0gZnJvbSAnLi93ZWJmaWxlcHJldmlldy5zZXJ2aWNlLnByZXNldCc7XG5cbi8qKlxuICogRGVmYXVsdCBlbnRyaWVzIHRvIGluamVjdC5cbiAqL1xuZXhwb3J0IGNvbnN0IERCWF9XRUJfRklMRV9QUkVWSUVXX1NFUlZJQ0VfRU5UUklFU19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxEYnhXZWJGaWxlUHJldmlld1NlcnZpY2VFbnRyeVtdPignRGVmYXVsdERieFdlYkZpbGVQcmV2aWV3U2VydmljZUVudHJpZXMnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVEYnhXZWJGaWxlUHJldmlld1NlcnZpY2VFbnRyaWVzKGVudHJpZXM6IERieFdlYkZpbGVQcmV2aWV3U2VydmljZUVudHJ5W10pIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBEQlhfV0VCX0ZJTEVfUFJFVklFV19TRVJWSUNFX0VOVFJJRVNfVE9LRU4sXG4gICAgdXNlVmFsdWU6IGVudHJpZXNcbiAgfTtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIHVzZWQgZm9yIHByZXZpZXdpbmcgZmlsZXMgd2l0aCBnaXZlbiBtaW1lIHR5cGVzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEYnhXZWJGaWxlUHJldmlld1NlcnZpY2Uge1xuICByZWFkb25seSBtYXREaWFsb2cgPSBpbmplY3QoTWF0RGlhbG9nKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9lbnRyaWVzID0gbmV3IE1hcDxNaW1lVHlwZVdpdGhvdXRQYXJhbWV0ZXJzIHwgc3RyaW5nLCBEYnhXZWJGaWxlUHJldmlld1NlcnZpY2VQcmV2aWV3RnVuY3Rpb24+KCk7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChEQlhfV0VCX0ZJTEVfUFJFVklFV19TRVJWSUNFX0VOVFJJRVNfVE9LRU4pIGVudHJpZXM6IERieFdlYkZpbGVQcmV2aWV3U2VydmljZUVudHJ5W10pIHtcbiAgICBpZiAoZW50cmllcykge1xuICAgICAgZW50cmllcy5mb3JFYWNoKCh4KSA9PiB0aGlzLnJlZ2lzdGVyUHJldmlld0Z1bmN0aW9ucyh4Lm1pbWVUeXBlLCB4LnByZXZpZXdGdW5jdGlvbikpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RlZmF1bHRQcmV2aWV3RnVuY3Rpb246IERieFdlYkZpbGVQcmV2aWV3U2VydmljZVByZXZpZXdGdW5jdGlvbiA9IERCWF9XRUJfRklMRV9QUkVWSUVXX1NFUlZJQ0VfREVGQVVMVF9QUkVTRVQ7XG5cbiAgLy8gQ29uZmlndXJhdGlvblxuICByZWdpc3RlclByZXZpZXdFbnRyaWVzKGVudHJpZXM6IEFycmF5T3JWYWx1ZTxEYnhXZWJGaWxlUHJldmlld1NlcnZpY2VFbnRyeT4pIHtcbiAgICBhc0FycmF5KGVudHJpZXMpLmZvckVhY2goKGVudHJ5KSA9PiB0aGlzLnJlZ2lzdGVyUHJldmlld0Z1bmN0aW9ucyhlbnRyeS5taW1lVHlwZSwgZW50cnkucHJldmlld0Z1bmN0aW9uKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgcHJldmlldyBmdW5jdGlvbiBmb3IgdGhlIGdpdmVuIG1pbWUgdHlwZShzKS5cbiAgICovXG4gIHJlZ2lzdGVyUHJldmlld0Z1bmN0aW9ucyhtaW1lVHlwZTogQXJyYXlPclZhbHVlPE1pbWVUeXBlV2l0aG91dFBhcmFtZXRlcnMgfCBzdHJpbmc+LCBwcmV2aWV3RnVuY3Rpb246IERieFdlYkZpbGVQcmV2aWV3U2VydmljZVByZXZpZXdGdW5jdGlvbikge1xuICAgIHNldEtleXNPbk1hcCh0aGlzLl9lbnRyaWVzLCBtaW1lVHlwZSwgcHJldmlld0Z1bmN0aW9uKTtcbiAgfVxuXG4gIHNldERlZmF1bHRQcmV2aWV3RnVuY3Rpb24ocHJldmlld0Z1bmN0aW9uOiBEYnhXZWJGaWxlUHJldmlld1NlcnZpY2VQcmV2aWV3RnVuY3Rpb24pIHtcbiAgICB0aGlzLl9kZWZhdWx0UHJldmlld0Z1bmN0aW9uID0gcHJldmlld0Z1bmN0aW9uO1xuICB9XG5cbiAgLy8gU2VydmljZVxuICBvcGVuUHJldmlld0RpYWxvZyhzcmNVcmw6IFdlYnNpdGVVcmxXaXRoUHJlZml4LCBlbWJlZE1pbWVUeXBlPzogTWF5YmU8Q29udGVudFR5cGVNaW1lVHlwZSB8IHN0cmluZz4pOiBNYXREaWFsb2dSZWY8YW55LCBhbnk+IHtcbiAgICBjb25zdCBwcmV2aWV3RnVuY3Rpb24gPSAoZW1iZWRNaW1lVHlwZSA/IHRoaXMuX2VudHJpZXMuZ2V0KGVtYmVkTWltZVR5cGUpIDogdW5kZWZpbmVkKSA/PyB0aGlzLl9kZWZhdWx0UHJldmlld0Z1bmN0aW9uO1xuICAgIHJldHVybiBwcmV2aWV3RnVuY3Rpb24odGhpcy5tYXREaWFsb2csIHNyY1VybCwgZW1iZWRNaW1lVHlwZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ZIP_FILE_MIME_TYPE } from '@dereekb/util';
|
|
2
|
+
import { DbxEmbedDialogComponent } from '../../interaction/iframe/embed.dialog.component';
|
|
3
|
+
import { DbxZipPreviewDialogComponent } from '../zip';
|
|
4
|
+
// MARK: Default
|
|
5
|
+
/**
|
|
6
|
+
* Default preset for previewing a file using a DbxEmbedDialogComponent.
|
|
7
|
+
*/
|
|
8
|
+
export const DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_PRESET = (matDialog, srcUrl, embedMimeType) => {
|
|
9
|
+
return DbxEmbedDialogComponent.openDialog(matDialog, {
|
|
10
|
+
srcUrl,
|
|
11
|
+
embedMimeType,
|
|
12
|
+
sanitizeUrl: true
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
// MARK: Zip
|
|
16
|
+
/**
|
|
17
|
+
* Preset for previewing a zip file using a DbxZipPreviewDialogComponent.
|
|
18
|
+
*/
|
|
19
|
+
export const DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_PRESET = (matDialog, srcUrl) => {
|
|
20
|
+
return DbxZipPreviewDialogComponent.openDialog(matDialog, {
|
|
21
|
+
srcUrl
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* DbxWebFilePreviewServiceEntry for previewing a zip file using a DbxZipPreviewDialogComponent.
|
|
26
|
+
*/
|
|
27
|
+
export const DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_PRESET_ENTRY = {
|
|
28
|
+
mimeType: ZIP_FILE_MIME_TYPE,
|
|
29
|
+
previewFunction: DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_PRESET
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViZmlsZXByZXZpZXcuc2VydmljZS5wcmVzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL3ByZXZpZXcvd2ViZmlsZXByZXZpZXcuc2VydmljZS5wcmVzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUd0RCxnQkFBZ0I7QUFDaEI7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSwyQ0FBMkMsR0FBNEMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxFQUFFO0lBQ3ZJLE9BQU8sdUJBQXVCLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRTtRQUNuRCxNQUFNO1FBQ04sYUFBYTtRQUNiLFdBQVcsRUFBRSxJQUFJO0tBQ2xCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLFlBQVk7QUFDWjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUE0QyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFBRTtJQUNwSCxPQUFPLDRCQUE0QixDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUU7UUFDeEQsTUFBTTtLQUNQLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNkNBQTZDLEdBQWtDO0lBQzFGLFFBQVEsRUFBRSxrQkFBa0I7SUFDNUIsZUFBZSxFQUFFLHVDQUF1QztDQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWklQX0ZJTEVfTUlNRV9UWVBFIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBEYnhFbWJlZERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uL2lmcmFtZS9lbWJlZC5kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IERieFppcFByZXZpZXdEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi96aXAnO1xuaW1wb3J0IHsgdHlwZSBEYnhXZWJGaWxlUHJldmlld1NlcnZpY2VFbnRyeSwgdHlwZSBEYnhXZWJGaWxlUHJldmlld1NlcnZpY2VQcmV2aWV3RnVuY3Rpb24gfSBmcm9tICcuL3dlYmZpbGVwcmV2aWV3JztcblxuLy8gTUFSSzogRGVmYXVsdFxuLyoqXG4gKiBEZWZhdWx0IHByZXNldCBmb3IgcHJldmlld2luZyBhIGZpbGUgdXNpbmcgYSBEYnhFbWJlZERpYWxvZ0NvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IERCWF9XRUJfRklMRV9QUkVWSUVXX1NFUlZJQ0VfREVGQVVMVF9QUkVTRVQ6IERieFdlYkZpbGVQcmV2aWV3U2VydmljZVByZXZpZXdGdW5jdGlvbiA9IChtYXREaWFsb2csIHNyY1VybCwgZW1iZWRNaW1lVHlwZSkgPT4ge1xuICByZXR1cm4gRGJ4RW1iZWREaWFsb2dDb21wb25lbnQub3BlbkRpYWxvZyhtYXREaWFsb2csIHtcbiAgICBzcmNVcmwsXG4gICAgZW1iZWRNaW1lVHlwZSxcbiAgICBzYW5pdGl6ZVVybDogdHJ1ZVxuICB9KTtcbn07XG5cbi8vIE1BUks6IFppcFxuLyoqXG4gKiBQcmVzZXQgZm9yIHByZXZpZXdpbmcgYSB6aXAgZmlsZSB1c2luZyBhIERieFppcFByZXZpZXdEaWFsb2dDb21wb25lbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBEQlhfV0VCX0ZJTEVfUFJFVklFV19TRVJWSUNFX1pJUF9QUkVTRVQ6IERieFdlYkZpbGVQcmV2aWV3U2VydmljZVByZXZpZXdGdW5jdGlvbiA9IChtYXREaWFsb2csIHNyY1VybCkgPT4ge1xuICByZXR1cm4gRGJ4WmlwUHJldmlld0RpYWxvZ0NvbXBvbmVudC5vcGVuRGlhbG9nKG1hdERpYWxvZywge1xuICAgIHNyY1VybFxuICB9KTtcbn07XG5cbi8qKlxuICogRGJ4V2ViRmlsZVByZXZpZXdTZXJ2aWNlRW50cnkgZm9yIHByZXZpZXdpbmcgYSB6aXAgZmlsZSB1c2luZyBhIERieFppcFByZXZpZXdEaWFsb2dDb21wb25lbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBEQlhfV0VCX0ZJTEVfUFJFVklFV19TRVJWSUNFX1pJUF9QUkVTRVRfRU5UUlk6IERieFdlYkZpbGVQcmV2aWV3U2VydmljZUVudHJ5ID0ge1xuICBtaW1lVHlwZTogWklQX0ZJTEVfTUlNRV9UWVBFLFxuICBwcmV2aWV3RnVuY3Rpb246IERCWF9XRUJfRklMRV9QUkVWSUVXX1NFUlZJQ0VfWklQX1BSRVNFVFxufTtcbiJdfQ==
|
|
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
40
40
|
providedIn: 'root'
|
|
41
41
|
}]
|
|
42
42
|
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL3dpZGdldC93aWRnZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBUyxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBYzNFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdCQUFnQjtJQUNWLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBaUMsQ0FBQztJQUVyRTs7Ozs7T0FLRztJQUNILFFBQVEsQ0FBQyxLQUFxQixFQUFFLFdBQW9CLElBQUk7UUFDdEQsSUFBSSxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWTtJQUNaLG9CQUFvQjtRQUNsQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBbUI7UUFDaEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBOEI7UUFDN0MsT0FBTyxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7d0dBN0JVLGdCQUFnQjs0R0FBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1heWJlLCBmaWx0ZXJNYXliZUFycmF5VmFsdWVzLCBtYXBJdGVyYWJsZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4V2lkZ2V0VHlwZSB9IGZyb20gJy4vd2lkZ2V0JztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhXaWRnZXRFbnRyeSB7XG4gIC8qKlxuICAgKiBXaWRnZXQgdHlwZSB0byByZXNwb25kIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZTogRGJ4V2lkZ2V0VHlwZTtcbiAgLyoqXG4gICAqIFdpZGdldCBjb21wb25lbnQgY2xhc3MgdG8gdXNlLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tcG9uZW50Q2xhc3M6IFR5cGU8dW5rbm93bj47XG59XG5cbi8qKlxuICogU2VydmljZSB1c2VkIHRvIHJlZ2lzdGVyIHdpZGdldHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERieFdpZGdldFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbnRyaWVzID0gbmV3IE1hcDxEYnhXaWRnZXRUeXBlLCBEYnhXaWRnZXRFbnRyeT4oKTtcblxuICAvKipcbiAgICogVXNlZCB0byByZWdpc3RlciBhbiBlbnRyeS4gSWYgYW4gZW50cnkgd2l0aCB0aGUgc2FtZSB0eXBlIGlzIGFscmVhZHkgcmVnaXN0ZXJlZCwgdGhpcyB3aWxsIG92ZXJyaWRlIGl0IGJ5IGRlZmF1bHQuXG4gICAqXG4gICAqIEBwYXJhbSBlbnRyeVxuICAgKiBAcGFyYW0gb3ZlcnJpZGVcbiAgICovXG4gIHJlZ2lzdGVyKGVudHJ5OiBEYnhXaWRnZXRFbnRyeSwgb3ZlcnJpZGU6IGJvb2xlYW4gPSB0cnVlKTogYm9vbGVhbiB7XG4gICAgaWYgKG92ZXJyaWRlIHx8ICF0aGlzLl9lbnRyaWVzLmhhcyhlbnRyeS50eXBlKSkge1xuICAgICAgdGhpcy5fZW50cmllcy5zZXQoZW50cnkudHlwZSwgZW50cnkpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvLyBNQVJLOiBHZXRcbiAgZ2V0V2lkZ2V0SWRlbnRpZmllcnMoKTogRGJ4V2lkZ2V0VHlwZVtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9lbnRyaWVzLmtleXMoKSk7XG4gIH1cblxuICBnZXRXaWRnZXRFbnRyeSh0eXBlOiBEYnhXaWRnZXRUeXBlKTogTWF5YmU8RGJ4V2lkZ2V0RW50cnk+IHtcbiAgICByZXR1cm4gdGhpcy5fZW50cmllcy5nZXQodHlwZSk7XG4gIH1cblxuICBnZXRXaWRnZXRFbnRyaWVzKHR5cGVzOiBJdGVyYWJsZTxEYnhXaWRnZXRUeXBlPik6IERieFdpZGdldEVudHJ5W10ge1xuICAgIHJldHVybiBmaWx0ZXJNYXliZUFycmF5VmFsdWVzKG1hcEl0ZXJhYmxlKHR5cGVzID8/IFtdLCAoeCkgPT4gdGhpcy5fZW50cmllcy5nZXQoeCkpKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './zip.blob.preview.component';
|
|
2
|
+
export * from './zip.blob';
|
|
3
|
+
export * from './zip.preview.component';
|
|
4
|
+
export * from './zip.preview.dialog.component';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL3ppcC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vemlwLmJsb2IucHJldmlldy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi96aXAuYmxvYic7XG5leHBvcnQgKiBmcm9tICcuL3ppcC5wcmV2aWV3LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3ppcC5wcmV2aWV3LmRpYWxvZy5jb21wb25lbnQnO1xuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { mimeTypeForFileExtension, slashPathDetails, slashPathDirectoryTree } from '@dereekb/util';
|
|
2
|
+
import { BlobWriter } from '@zip.js/zip.js';
|
|
3
|
+
export function dbxZipBlobPreviewEntryTreeFromEntries(entries) {
|
|
4
|
+
const nodeValues = (entries ?? []).map((value) => {
|
|
5
|
+
const nodeSlashPathDetails = slashPathDetails(value.filename);
|
|
6
|
+
const mimeType = mimeTypeForFileExtension(nodeSlashPathDetails.typedFileExtension);
|
|
7
|
+
return {
|
|
8
|
+
value,
|
|
9
|
+
mimeType,
|
|
10
|
+
slashPathDetails: nodeSlashPathDetails,
|
|
11
|
+
getBlob: value.getData ? () => value.getData(new BlobWriter(mimeType ?? undefined)) : undefined
|
|
12
|
+
};
|
|
13
|
+
});
|
|
14
|
+
return slashPathDirectoryTree(nodeValues);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemlwLmJsb2IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL3ppcC96aXAuYmxvYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQWtDLGdCQUFnQixFQUFFLHNCQUFzQixFQUFtSSxNQUFNLGVBQWUsQ0FBQztBQUNwUSxPQUFPLEVBQUUsVUFBVSxFQUE4QixNQUFNLGdCQUFnQixDQUFDO0FBVXhFLE1BQU0sVUFBVSxxQ0FBcUMsQ0FBQyxPQUF1QjtJQUMzRSxNQUFNLFVBQVUsR0FBc0MsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDbEYsTUFBTSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUQsTUFBTSxRQUFRLEdBQUcsd0JBQXdCLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVuRixPQUFPO1lBQ0wsS0FBSztZQUNMLFFBQVE7WUFDUixnQkFBZ0IsRUFBRSxvQkFBb0I7WUFDdEMsT0FBTyxFQUFHLEtBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBRSxLQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUM5SCxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtaW1lVHlwZUZvckZpbGVFeHRlbnNpb24sIHR5cGUgTWltZVR5cGVXaXRob3V0UGFyYW1ldGVycywgc2xhc2hQYXRoRGV0YWlscywgc2xhc2hQYXRoRGlyZWN0b3J5VHJlZSwgdHlwZSBTbGFzaFBhdGhEaXJlY3RvcnlUcmVlTm9kZSwgdHlwZSBTbGFzaFBhdGhEaXJlY3RvcnlUcmVlTm9kZVZhbHVlLCB0eXBlIFNsYXNoUGF0aERpcmVjdG9yeVRyZWVSb290LCB0eXBlIE1heWJlLCB0eXBlIEdldHRlciB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgQmxvYldyaXRlciwgdHlwZSBFbnRyeSwgdHlwZSBGaWxlRW50cnkgfSBmcm9tICdAemlwLmpzL3ppcC5qcyc7XG5cbmV4cG9ydCB0eXBlIERieFppcEJsb2JQcmV2aWV3RW50cnlOb2RlVmFsdWU8VCBleHRlbmRzIEVudHJ5ID0gRW50cnk+ID0gU2xhc2hQYXRoRGlyZWN0b3J5VHJlZU5vZGVWYWx1ZTxUPiAmIHtcbiAgcmVhZG9ubHkgbWltZVR5cGU6IE1heWJlPE1pbWVUeXBlV2l0aG91dFBhcmFtZXRlcnM+O1xuICByZWFkb25seSBnZXRCbG9iPzogR2V0dGVyPFByb21pc2U8QmxvYj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRGJ4WmlwQmxvYlByZXZpZXdFbnRyeVRyZWVOb2RlPFQgZXh0ZW5kcyBFbnRyeSA9IEVudHJ5PiA9IFNsYXNoUGF0aERpcmVjdG9yeVRyZWVOb2RlPFQsIERieFppcEJsb2JQcmV2aWV3RW50cnlOb2RlVmFsdWU8VD4+O1xuZXhwb3J0IHR5cGUgRGJ4WmlwQmxvYlByZXZpZXdFbnRyeVRyZWVSb290ID0gU2xhc2hQYXRoRGlyZWN0b3J5VHJlZVJvb3Q8RW50cnksIERieFppcEJsb2JQcmV2aWV3RW50cnlOb2RlVmFsdWU8RW50cnk+PjtcblxuZXhwb3J0IGZ1bmN0aW9uIGRieFppcEJsb2JQcmV2aWV3RW50cnlUcmVlRnJvbUVudHJpZXMoZW50cmllczogTWF5YmU8RW50cnlbXT4pOiBEYnhaaXBCbG9iUHJldmlld0VudHJ5VHJlZVJvb3Qge1xuICBjb25zdCBub2RlVmFsdWVzOiBEYnhaaXBCbG9iUHJldmlld0VudHJ5Tm9kZVZhbHVlW10gPSAoZW50cmllcyA/PyBbXSkubWFwKCh2YWx1ZSkgPT4ge1xuICAgIGNvbnN0IG5vZGVTbGFzaFBhdGhEZXRhaWxzID0gc2xhc2hQYXRoRGV0YWlscyh2YWx1ZS5maWxlbmFtZSk7XG4gICAgY29uc3QgbWltZVR5cGUgPSBtaW1lVHlwZUZvckZpbGVFeHRlbnNpb24obm9kZVNsYXNoUGF0aERldGFpbHMudHlwZWRGaWxlRXh0ZW5zaW9uKTtcblxuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZSxcbiAgICAgIG1pbWVUeXBlLFxuICAgICAgc2xhc2hQYXRoRGV0YWlsczogbm9kZVNsYXNoUGF0aERldGFpbHMsXG4gICAgICBnZXRCbG9iOiAodmFsdWUgYXMgRmlsZUVudHJ5KS5nZXREYXRhID8gKCkgPT4gKHZhbHVlIGFzIEZpbGVFbnRyeSkuZ2V0RGF0YShuZXcgQmxvYldyaXRlcihtaW1lVHlwZSA/PyB1bmRlZmluZWQpKSA6IHVuZGVmaW5lZFxuICAgIH07XG4gIH0pO1xuXG4gIHJldHVybiBzbGFzaFBhdGhEaXJlY3RvcnlUcmVlKG5vZGVWYWx1ZXMpO1xufVxuIl19
|