rm-image-slider 18.2.10 → 20.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/fesm2022/rm-image-slider.mjs +17 -17
- package/fesm2022/rm-image-slider.mjs.map +1 -1
- package/index.d.ts +114 -5
- package/package.json +4 -6
- package/esm2022/lib/interface.mjs +0 -2
- package/esm2022/lib/rm-image-slider.component.mjs +0 -541
- package/esm2022/lib/rm-image-slider.service.mjs +0 -69
- package/esm2022/lib/slider-custom-image/slider-custom-image.component.mjs +0 -125
- package/esm2022/lib/slider-lightbox/slider-lightbox.component.mjs +0 -246
- package/esm2022/public-api.mjs +0 -7
- package/esm2022/rm-image-slider.mjs +0 -5
- package/lib/interface.d.ts +0 -10
- package/lib/rm-image-slider.component.d.ts +0 -92
- package/lib/rm-image-slider.service.d.ts +0 -9
- package/lib/slider-custom-image/slider-custom-image.component.d.ts +0 -34
- package/lib/slider-lightbox/slider-lightbox.component.d.ts +0 -56
- package/public-api.d.ts +0 -3
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
const DESC = 'DESC', ASC = 'ASC';
|
|
4
|
-
export class RmImageSliderService {
|
|
5
|
-
constructor() { }
|
|
6
|
-
isBase64(str) {
|
|
7
|
-
var base64regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;
|
|
8
|
-
return base64regex.test(str);
|
|
9
|
-
}
|
|
10
|
-
base64FileExtension(str) {
|
|
11
|
-
return str.substring('data:image/'.length, str.indexOf(';base64'));
|
|
12
|
-
}
|
|
13
|
-
// orderArray(arr = [], orderType = ASC) {
|
|
14
|
-
// if (arr?.length && orderType) {
|
|
15
|
-
// return arr.sort((ob1: any, ob2: any) => {
|
|
16
|
-
// if (ob1['order'] === null || !ob1['order']) {
|
|
17
|
-
// return 1;
|
|
18
|
-
// } else if (ob2['order'] === null || !ob2['order']) {
|
|
19
|
-
// return -1;
|
|
20
|
-
// } else if (ob1['order'] > ob2['order']) {
|
|
21
|
-
// if (orderType === DESC) {
|
|
22
|
-
// return -1;
|
|
23
|
-
// } else {
|
|
24
|
-
// return 1;
|
|
25
|
-
// }
|
|
26
|
-
// } else if (ob1['order'] < ob2['order']) {
|
|
27
|
-
// if (orderType === DESC) {
|
|
28
|
-
// return 1;
|
|
29
|
-
// } else {
|
|
30
|
-
// return -1;
|
|
31
|
-
// }
|
|
32
|
-
// }
|
|
33
|
-
// });
|
|
34
|
-
// }
|
|
35
|
-
// return arr;
|
|
36
|
-
// }
|
|
37
|
-
orderArray(arr = [], orderType = ASC) {
|
|
38
|
-
if (arr?.length && orderType) {
|
|
39
|
-
return arr.sort((ob1, ob2) => {
|
|
40
|
-
// Handle potential undefined 'order' properties
|
|
41
|
-
const order1 = ob1['order'];
|
|
42
|
-
const order2 = ob2['order'];
|
|
43
|
-
// Ensure consistent sorting for undefined/null 'order' values
|
|
44
|
-
if (order1 === null || order1 === undefined) {
|
|
45
|
-
return 1; // Place elements with undefined or null 'order' at the end
|
|
46
|
-
}
|
|
47
|
-
else if (order2 === null || order2 === undefined) {
|
|
48
|
-
return -1; // Place elements with undefined or null 'order' at the beginning
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
// Apply ascending or descending order based on 'orderType'
|
|
52
|
-
return orderType === DESC
|
|
53
|
-
? order2 - order1 // Reverse for descending order
|
|
54
|
-
: order1 - order2; // Maintain for ascending order
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
return arr; // Return the original array if conditions are not met
|
|
59
|
-
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RmImageSliderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
61
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RmImageSliderService, providedIn: 'root' }); }
|
|
62
|
-
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RmImageSliderService, decorators: [{
|
|
64
|
-
type: Injectable,
|
|
65
|
-
args: [{
|
|
66
|
-
providedIn: 'root',
|
|
67
|
-
}]
|
|
68
|
-
}], ctorParameters: () => [] });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm0taW1hZ2Utc2xpZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ybS1pbWFnZS1zbGlkZXIvc3JjL2xpYi9ybS1pbWFnZS1zbGlkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUzQyxNQUFNLElBQUksR0FBRyxNQUFNLEVBQ2pCLEdBQUcsR0FBRyxLQUFLLENBQUM7QUFLZCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLGdCQUFlLENBQUM7SUFFaEIsUUFBUSxDQUFDLEdBQVc7UUFDbEIsSUFBSSxXQUFXLEdBQ2Isa0VBQWtFLENBQUM7UUFDckUsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxHQUFXO1FBQzdCLE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsMENBQTBDO0lBQzFDLG9DQUFvQztJQUNwQyxnREFBZ0Q7SUFDaEQsc0RBQXNEO0lBQ3RELG9CQUFvQjtJQUNwQiw2REFBNkQ7SUFDN0QscUJBQXFCO0lBQ3JCLGtEQUFrRDtJQUNsRCxvQ0FBb0M7SUFDcEMsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixzQkFBc0I7SUFDdEIsWUFBWTtJQUNaLGtEQUFrRDtJQUNsRCxvQ0FBb0M7SUFDcEMsc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsWUFBWTtJQUNaLFVBQVU7SUFDVixVQUFVO0lBQ1YsTUFBTTtJQUNOLGdCQUFnQjtJQUNoQixJQUFJO0lBRUosVUFBVSxDQUFDLEdBQUcsR0FBRyxFQUFFLEVBQUUsU0FBUyxHQUFHLEdBQUc7UUFDbEMsSUFBSSxHQUFHLEVBQUUsTUFBTSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQzdCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQVEsRUFBRSxHQUFRLEVBQUUsRUFBRTtnQkFDckMsZ0RBQWdEO2dCQUNoRCxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzVCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFNUIsOERBQThEO2dCQUM5RCxJQUFJLE1BQU0sS0FBSyxJQUFJLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUM1QyxPQUFPLENBQUMsQ0FBQyxDQUFDLDJEQUEyRDtnQkFDdkUsQ0FBQztxQkFBTSxJQUFJLE1BQU0sS0FBSyxJQUFJLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUNuRCxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsaUVBQWlFO2dCQUM5RSxDQUFDO3FCQUFNLENBQUM7b0JBQ04sMkRBQTJEO29CQUMzRCxPQUFPLFNBQVMsS0FBSyxJQUFJO3dCQUN2QixDQUFDLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQywrQkFBK0I7d0JBQ2pELENBQUMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsK0JBQStCO2dCQUN0RCxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUMsQ0FBQyxzREFBc0Q7SUFDcEUsQ0FBQzsrR0E1RFUsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmNvbnN0IERFU0MgPSAnREVTQycsXHJcbiAgQVNDID0gJ0FTQyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUm1JbWFnZVNsaWRlclNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgaXNCYXNlNjQoc3RyOiBzdHJpbmcpIHtcclxuICAgIHZhciBiYXNlNjRyZWdleCA9XHJcbiAgICAgIC9eKFswLTlhLXpBLVorL117NH0pKigoWzAtOWEtekEtWisvXXsyfT09KXwoWzAtOWEtekEtWisvXXszfT0pKT8kLztcclxuICAgIHJldHVybiBiYXNlNjRyZWdleC50ZXN0KHN0cik7XHJcbiAgfVxyXG5cclxuICBiYXNlNjRGaWxlRXh0ZW5zaW9uKHN0cjogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gc3RyLnN1YnN0cmluZygnZGF0YTppbWFnZS8nLmxlbmd0aCwgc3RyLmluZGV4T2YoJztiYXNlNjQnKSk7XHJcbiAgfVxyXG5cclxuICAvLyBvcmRlckFycmF5KGFyciA9IFtdLCBvcmRlclR5cGUgPSBBU0MpIHtcclxuICAvLyAgIGlmIChhcnI/Lmxlbmd0aCAmJiBvcmRlclR5cGUpIHtcclxuICAvLyAgICAgcmV0dXJuIGFyci5zb3J0KChvYjE6IGFueSwgb2IyOiBhbnkpID0+IHtcclxuICAvLyAgICAgICBpZiAob2IxWydvcmRlciddID09PSBudWxsIHx8ICFvYjFbJ29yZGVyJ10pIHtcclxuICAvLyAgICAgICAgIHJldHVybiAxO1xyXG4gIC8vICAgICAgIH0gZWxzZSBpZiAob2IyWydvcmRlciddID09PSBudWxsIHx8ICFvYjJbJ29yZGVyJ10pIHtcclxuICAvLyAgICAgICAgIHJldHVybiAtMTtcclxuICAvLyAgICAgICB9IGVsc2UgaWYgKG9iMVsnb3JkZXInXSA+IG9iMlsnb3JkZXInXSkge1xyXG4gIC8vICAgICAgICAgaWYgKG9yZGVyVHlwZSA9PT0gREVTQykge1xyXG4gIC8vICAgICAgICAgICByZXR1cm4gLTE7XHJcbiAgLy8gICAgICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgICByZXR1cm4gMTtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICB9IGVsc2UgaWYgKG9iMVsnb3JkZXInXSA8IG9iMlsnb3JkZXInXSkge1xyXG4gIC8vICAgICAgICAgaWYgKG9yZGVyVHlwZSA9PT0gREVTQykge1xyXG4gIC8vICAgICAgICAgICByZXR1cm4gMTtcclxuICAvLyAgICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICAgIHJldHVybiAtMTtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0pO1xyXG4gIC8vICAgfVxyXG4gIC8vICAgcmV0dXJuIGFycjtcclxuICAvLyB9XHJcblxyXG4gIG9yZGVyQXJyYXkoYXJyID0gW10sIG9yZGVyVHlwZSA9IEFTQykge1xyXG4gICAgaWYgKGFycj8ubGVuZ3RoICYmIG9yZGVyVHlwZSkge1xyXG4gICAgICByZXR1cm4gYXJyLnNvcnQoKG9iMTogYW55LCBvYjI6IGFueSkgPT4ge1xyXG4gICAgICAgIC8vIEhhbmRsZSBwb3RlbnRpYWwgdW5kZWZpbmVkICdvcmRlcicgcHJvcGVydGllc1xyXG4gICAgICAgIGNvbnN0IG9yZGVyMSA9IG9iMVsnb3JkZXInXTtcclxuICAgICAgICBjb25zdCBvcmRlcjIgPSBvYjJbJ29yZGVyJ107XHJcblxyXG4gICAgICAgIC8vIEVuc3VyZSBjb25zaXN0ZW50IHNvcnRpbmcgZm9yIHVuZGVmaW5lZC9udWxsICdvcmRlcicgdmFsdWVzXHJcbiAgICAgICAgaWYgKG9yZGVyMSA9PT0gbnVsbCB8fCBvcmRlcjEgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgcmV0dXJuIDE7IC8vIFBsYWNlIGVsZW1lbnRzIHdpdGggdW5kZWZpbmVkIG9yIG51bGwgJ29yZGVyJyBhdCB0aGUgZW5kXHJcbiAgICAgICAgfSBlbHNlIGlmIChvcmRlcjIgPT09IG51bGwgfHwgb3JkZXIyID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHJldHVybiAtMTsgLy8gUGxhY2UgZWxlbWVudHMgd2l0aCB1bmRlZmluZWQgb3IgbnVsbCAnb3JkZXInIGF0IHRoZSBiZWdpbm5pbmdcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gQXBwbHkgYXNjZW5kaW5nIG9yIGRlc2NlbmRpbmcgb3JkZXIgYmFzZWQgb24gJ29yZGVyVHlwZSdcclxuICAgICAgICAgIHJldHVybiBvcmRlclR5cGUgPT09IERFU0NcclxuICAgICAgICAgICAgPyBvcmRlcjIgLSBvcmRlcjEgLy8gUmV2ZXJzZSBmb3IgZGVzY2VuZGluZyBvcmRlclxyXG4gICAgICAgICAgICA6IG9yZGVyMSAtIG9yZGVyMjsgLy8gTWFpbnRhaW4gZm9yIGFzY2VuZGluZyBvcmRlclxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGFycjsgLy8gUmV0dXJuIHRoZSBvcmlnaW5hbCBhcnJheSBpZiBjb25kaXRpb25zIGFyZSBub3QgbWV0XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Inject, } from '@angular/core';
|
|
2
|
-
import { CommonModule, DOCUMENT } from '@angular/common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./../rm-image-slider.service";
|
|
5
|
-
import * as i2 from "@angular/platform-browser";
|
|
6
|
-
import * as i3 from "@angular/common";
|
|
7
|
-
const youtubeRegExp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=|\?v=)([^#\&\?]*).*/, validFileExtensions = ['jpeg', 'jpg', 'gif', 'png'], validVideoExtensions = ['mp4'];
|
|
8
|
-
export class SliderCustomImageComponent {
|
|
9
|
-
constructor(imageSliderService, sanitizer, document) {
|
|
10
|
-
this.imageSliderService = imageSliderService;
|
|
11
|
-
this.sanitizer = sanitizer;
|
|
12
|
-
this.YOUTUBE = 'youtube';
|
|
13
|
-
this.IMAGE = 'image';
|
|
14
|
-
this.VIDEO = 'video';
|
|
15
|
-
this.fileUrl = '';
|
|
16
|
-
this.fileExtension = '';
|
|
17
|
-
this.type = this.IMAGE;
|
|
18
|
-
this.imageLoading = true;
|
|
19
|
-
// @inputs
|
|
20
|
-
this.showVideo = false;
|
|
21
|
-
this.videoAutoPlay = false;
|
|
22
|
-
this.showVideoControls = 1;
|
|
23
|
-
this.speed = 1;
|
|
24
|
-
this.isVideo = false;
|
|
25
|
-
this.alt = '';
|
|
26
|
-
this.title = '';
|
|
27
|
-
this.direction = 'ltr';
|
|
28
|
-
this.ratio = false;
|
|
29
|
-
this.lazy = false;
|
|
30
|
-
}
|
|
31
|
-
ngOnChanges(changes) {
|
|
32
|
-
if (this['imageUrl'] &&
|
|
33
|
-
typeof this['imageUrl'] === 'string' &&
|
|
34
|
-
((changes['imageUrl'] && changes['imageUrl'].firstChange) ||
|
|
35
|
-
this.videoAutoPlay)) {
|
|
36
|
-
this.setUrl();
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
setUrl() {
|
|
40
|
-
const url = this.imageUrl;
|
|
41
|
-
this.imageLoading = true;
|
|
42
|
-
this.fileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(url);
|
|
43
|
-
this.fileExtension = url.split('.').pop().split(/\#|\?/)[0];
|
|
44
|
-
if (this.imageSliderService.base64FileExtension(url) &&
|
|
45
|
-
(validFileExtensions.indexOf(this.imageSliderService.base64FileExtension(url).toLowerCase()) > -1 ||
|
|
46
|
-
validVideoExtensions.indexOf(this.imageSliderService.base64FileExtension(url).toLowerCase()) > -1)) {
|
|
47
|
-
this.fileExtension = this.imageSliderService.base64FileExtension(url);
|
|
48
|
-
}
|
|
49
|
-
// verify for youtube url
|
|
50
|
-
const match = url.match(youtubeRegExp);
|
|
51
|
-
if (match && match[2].length === 11) {
|
|
52
|
-
if (this.showVideo) {
|
|
53
|
-
this.type = this.YOUTUBE;
|
|
54
|
-
this.fileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(`${'https://www.youtube.com/embed/'}${match[2]}${this.videoAutoPlay
|
|
55
|
-
? '?autoplay=1&enablejsapi=1'
|
|
56
|
-
: '?autoplay=0&enablejsapi=1'}${'&controls='}${this.showVideoControls}`);
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
this.type = this.IMAGE;
|
|
60
|
-
this.fileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(`https://img.youtube.com/vi/${match[2]}/0.jpg`);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
else if (this.fileExtension &&
|
|
64
|
-
validFileExtensions.indexOf(this.fileExtension.toLowerCase()) > -1) {
|
|
65
|
-
this.type = this.IMAGE;
|
|
66
|
-
}
|
|
67
|
-
else if (this.fileExtension &&
|
|
68
|
-
validVideoExtensions.indexOf(this.fileExtension.toLowerCase()) > -1) {
|
|
69
|
-
this.type = this.VIDEO;
|
|
70
|
-
if (this.videoAutoPlay &&
|
|
71
|
-
document.getElementById(`video_${this.imageIndex}`)) {
|
|
72
|
-
const videoObj = document.getElementById(`video_${this.imageIndex}`);
|
|
73
|
-
setTimeout(() => {
|
|
74
|
-
videoObj.play();
|
|
75
|
-
}, this.speed * 1000);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
videoClickHandler(event) {
|
|
80
|
-
if (event && event.srcElement && !this.showVideoControls) {
|
|
81
|
-
if (event.srcElement.paused) {
|
|
82
|
-
event.srcElement.play();
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
event.srcElement.pause();
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: SliderCustomImageComponent, deps: [{ token: i1.RmImageSliderService }, { token: i2.DomSanitizer }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
90
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.10", type: SliderCustomImageComponent, isStandalone: true, selector: "custom-img", inputs: { showVideo: "showVideo", videoAutoPlay: "videoAutoPlay", showVideoControls: "showVideoControls", currentImageIndex: "currentImageIndex", imageIndex: "imageIndex", speed: "speed", imageUrl: "imageUrl", isVideo: "isVideo", alt: "alt", title: "title", direction: "direction", ratio: "ratio", lazy: "lazy" }, usesOnChanges: true, ngImport: i0, template: "@if (fileUrl) {\r\n <div class=\"custom-image-main\" [ngClass]=\"{'ng-fullimage-loading': imageLoading}\">\r\n @if (type === IMAGE && fileUrl) {\r\n <img class=\"image\" (load)=\"imageLoading = false\" [ngClass]=\"{'ratio': ratio}\"\r\n [src]=\"fileUrl\" [alt]=\"alt\" [title]=\"title\" [attr.loading]=\"lazy == true ? 'lazy' : null\">\r\n }\r\n @if (type === YOUTUBE && fileUrl) {\r\n <iframe class=\"youtube\" [src]=\"fileUrl\"\r\n [attr.loading]=\"lazy == true ? 'lazy' : null\" frameborder=\"0\" allow=\"autoplay\" allowfullscreen></iframe>\r\n }\r\n @if (type === VIDEO) {\r\n <video class=\"video\" [id]=\"'video_' + imageIndex\" [ngClass]=\"{'ratio': ratio}\" (click)=\"videoClickHandler($event)\"\r\n [autoplay]=\"videoAutoPlay\" type=\"video/mp4\"\r\n [attr.controls]=\"showVideoControls ? showVideoControls : null\" controlsList=\"nodownload\">\r\n <source [src]=\"fileUrl\" type=\"video/mp4\">\r\n Your browser does not support the video tag.\r\n </video>\r\n }\r\n @if (!fileUrl) {\r\n <div [dir]=\"direction\" class=\"invalid-msg\">Invalid file format</div>\r\n }\r\n @if (type === YOUTUBE || type === VIDEO || isVideo) {\r\n <span class=\"youtube-icon\"></span>\r\n }\r\n </div>\r\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
91
|
-
}
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: SliderCustomImageComponent, decorators: [{
|
|
93
|
-
type: Component,
|
|
94
|
-
args: [{ selector: 'custom-img', standalone: true, imports: [CommonModule], template: "@if (fileUrl) {\r\n <div class=\"custom-image-main\" [ngClass]=\"{'ng-fullimage-loading': imageLoading}\">\r\n @if (type === IMAGE && fileUrl) {\r\n <img class=\"image\" (load)=\"imageLoading = false\" [ngClass]=\"{'ratio': ratio}\"\r\n [src]=\"fileUrl\" [alt]=\"alt\" [title]=\"title\" [attr.loading]=\"lazy == true ? 'lazy' : null\">\r\n }\r\n @if (type === YOUTUBE && fileUrl) {\r\n <iframe class=\"youtube\" [src]=\"fileUrl\"\r\n [attr.loading]=\"lazy == true ? 'lazy' : null\" frameborder=\"0\" allow=\"autoplay\" allowfullscreen></iframe>\r\n }\r\n @if (type === VIDEO) {\r\n <video class=\"video\" [id]=\"'video_' + imageIndex\" [ngClass]=\"{'ratio': ratio}\" (click)=\"videoClickHandler($event)\"\r\n [autoplay]=\"videoAutoPlay\" type=\"video/mp4\"\r\n [attr.controls]=\"showVideoControls ? showVideoControls : null\" controlsList=\"nodownload\">\r\n <source [src]=\"fileUrl\" type=\"video/mp4\">\r\n Your browser does not support the video tag.\r\n </video>\r\n }\r\n @if (!fileUrl) {\r\n <div [dir]=\"direction\" class=\"invalid-msg\">Invalid file format</div>\r\n }\r\n @if (type === YOUTUBE || type === VIDEO || isVideo) {\r\n <span class=\"youtube-icon\"></span>\r\n }\r\n </div>\r\n}" }]
|
|
95
|
-
}], ctorParameters: () => [{ type: i1.RmImageSliderService }, { type: i2.DomSanitizer }, { type: Document, decorators: [{
|
|
96
|
-
type: Inject,
|
|
97
|
-
args: [DOCUMENT]
|
|
98
|
-
}] }], propDecorators: { showVideo: [{
|
|
99
|
-
type: Input
|
|
100
|
-
}], videoAutoPlay: [{
|
|
101
|
-
type: Input
|
|
102
|
-
}], showVideoControls: [{
|
|
103
|
-
type: Input
|
|
104
|
-
}], currentImageIndex: [{
|
|
105
|
-
type: Input
|
|
106
|
-
}], imageIndex: [{
|
|
107
|
-
type: Input
|
|
108
|
-
}], speed: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}], imageUrl: [{
|
|
111
|
-
type: Input
|
|
112
|
-
}], isVideo: [{
|
|
113
|
-
type: Input
|
|
114
|
-
}], alt: [{
|
|
115
|
-
type: Input
|
|
116
|
-
}], title: [{
|
|
117
|
-
type: Input
|
|
118
|
-
}], direction: [{
|
|
119
|
-
type: Input
|
|
120
|
-
}], ratio: [{
|
|
121
|
-
type: Input
|
|
122
|
-
}], lazy: [{
|
|
123
|
-
type: Input
|
|
124
|
-
}] } });
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWN1c3RvbS1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ybS1pbWFnZS1zbGlkZXIvc3JjL2xpYi9zbGlkZXItY3VzdG9tLWltYWdlL3NsaWRlci1jdXN0b20taW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm0taW1hZ2Utc2xpZGVyL3NyYy9saWIvc2xpZGVyLWN1c3RvbS1pbWFnZS9zbGlkZXItY3VzdG9tLWltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUdMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUl6RCxNQUFNLGFBQWEsR0FDZixzRUFBc0UsRUFDeEUsbUJBQW1CLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsRUFDbkQsb0JBQW9CLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQVNqQyxNQUFNLE9BQU8sMEJBQTBCO0lBd0JyQyxZQUNTLGtCQUF3QyxFQUN2QyxTQUF1QixFQUNiLFFBQWtCO1FBRjdCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBc0I7UUFDdkMsY0FBUyxHQUFULFNBQVMsQ0FBYztRQXpCakMsWUFBTyxHQUFHLFNBQVMsQ0FBQztRQUNwQixVQUFLLEdBQUcsT0FBTyxDQUFDO1FBQ2hCLFVBQUssR0FBRyxPQUFPLENBQUM7UUFDaEIsWUFBTyxHQUFvQixFQUFFLENBQUM7UUFDOUIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsU0FBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDbEIsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFFN0IsVUFBVTtRQUNELGNBQVMs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SCxDQUFDO0lBQ0gsQ0FBQzsrR0EzR1UsMEJBQTBCLGtGQTJCM0IsUUFBUTttR0EzQlAsMEJBQTBCLHFaQ3ZCdkMscXhDQXlCQyx5REROVyxZQUFZOzs0RkFJWCwwQkFBMEI7a0JBUHRDLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzs7MEJBK0JwQixNQUFNOzJCQUFDLFFBQVE7eUNBakJULFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgSW5qZWN0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgUm1JbWFnZVNsaWRlclNlcnZpY2UgfSBmcm9tICcuLy4uL3JtLWltYWdlLXNsaWRlci5zZXJ2aWNlJztcclxuXHJcbmNvbnN0IHlvdXR1YmVSZWdFeHAgPVxyXG4gICAgL14uKih5b3V0dS5iZVxcL3x2XFwvfHVcXC9cXHdcXC98ZW1iZWRcXC98d2F0Y2hcXD92PXxcXCZ2PXxcXD92PSkoW14jXFwmXFw/XSopLiovLFxyXG4gIHZhbGlkRmlsZUV4dGVuc2lvbnMgPSBbJ2pwZWcnLCAnanBnJywgJ2dpZicsICdwbmcnXSxcclxuICB2YWxpZFZpZGVvRXh0ZW5zaW9ucyA9IFsnbXA0J107XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2N1c3RvbS1pbWcnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NsaWRlci1jdXN0b20taW1hZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zbGlkZXItY3VzdG9tLWltYWdlLmNvbXBvbmVudC5jc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2xpZGVyQ3VzdG9tSW1hZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIFlPVVRVQkUgPSAneW91dHViZSc7XHJcbiAgSU1BR0UgPSAnaW1hZ2UnO1xyXG4gIFZJREVPID0gJ3ZpZGVvJztcclxuICBmaWxlVXJsOiBTYWZlUmVzb3VyY2VVcmwgPSAnJztcclxuICBmaWxlRXh0ZW5zaW9uID0gJyc7XHJcbiAgdHlwZSA9IHRoaXMuSU1BR0U7XHJcbiAgaW1hZ2VMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLy8gQGlucHV0c1xyXG4gIEBJbnB1dCgpIHNob3dWaWRlbzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHZpZGVvQXV0b1BsYXk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93VmlkZW9Db250cm9sczogbnVtYmVyID0gMTtcclxuICBASW5wdXQoKSBjdXJyZW50SW1hZ2VJbmRleCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBpbWFnZUluZGV4ITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHNwZWVkOiBudW1iZXIgPSAxO1xyXG4gIEBJbnB1dCgpIGltYWdlVXJsOiBhbnk7XHJcbiAgQElucHV0KCkgaXNWaWRlbyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGFsdDogU3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgdGl0bGU6IFN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIGRpcmVjdGlvbjogc3RyaW5nID0gJ2x0cic7XHJcbiAgQElucHV0KCkgcmF0aW86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBsYXp5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGltYWdlU2xpZGVyU2VydmljZTogUm1JbWFnZVNsaWRlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IERvY3VtZW50XHJcbiAgKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXNbJ2ltYWdlVXJsJ10gJiZcclxuICAgICAgdHlwZW9mIHRoaXNbJ2ltYWdlVXJsJ10gPT09ICdzdHJpbmcnICYmXHJcbiAgICAgICgoY2hhbmdlc1snaW1hZ2VVcmwnXSAmJiBjaGFuZ2VzWydpbWFnZVVybCddLmZpcnN0Q2hhbmdlKSB8fFxyXG4gICAgICAgIHRoaXMudmlkZW9BdXRvUGxheSlcclxuICAgICkge1xyXG4gICAgICB0aGlzLnNldFVybCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0VXJsKCkge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5pbWFnZVVybDtcclxuICAgIHRoaXMuaW1hZ2VMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuZmlsZVVybCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh1cmwpO1xyXG4gICAgdGhpcy5maWxlRXh0ZW5zaW9uID0gdXJsLnNwbGl0KCcuJykucG9wKCkuc3BsaXQoL1xcI3xcXD8vKVswXTtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5pbWFnZVNsaWRlclNlcnZpY2UuYmFzZTY0RmlsZUV4dGVuc2lvbih1cmwpICYmXHJcbiAgICAgICh2YWxpZEZpbGVFeHRlbnNpb25zLmluZGV4T2YoXHJcbiAgICAgICAgdGhpcy5pbWFnZVNsaWRlclNlcnZpY2UuYmFzZTY0RmlsZUV4dGVuc2lvbih1cmwpLnRvTG93ZXJDYXNlKClcclxuICAgICAgKSA+IC0xIHx8XHJcbiAgICAgICAgdmFsaWRWaWRlb0V4dGVuc2lvbnMuaW5kZXhPZihcclxuICAgICAgICAgIHRoaXMuaW1hZ2VTbGlkZXJTZXJ2aWNlLmJhc2U2NEZpbGVFeHRlbnNpb24odXJsKS50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgKSA+IC0xKVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuZmlsZUV4dGVuc2lvbiA9IHRoaXMuaW1hZ2VTbGlkZXJTZXJ2aWNlLmJhc2U2NEZpbGVFeHRlbnNpb24odXJsKTtcclxuICAgIH1cclxuICAgIC8vIHZlcmlmeSBmb3IgeW91dHViZSB1cmxcclxuICAgIGNvbnN0IG1hdGNoID0gdXJsLm1hdGNoKHlvdXR1YmVSZWdFeHApO1xyXG4gICAgaWYgKG1hdGNoICYmIG1hdGNoWzJdLmxlbmd0aCA9PT0gMTEpIHtcclxuICAgICAgaWYgKHRoaXMuc2hvd1ZpZGVvKSB7XHJcbiAgICAgICAgdGhpcy50eXBlID0gdGhpcy5ZT1VUVUJFO1xyXG4gICAgICAgIHRoaXMuZmlsZVVybCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChcclxuICAgICAgICAgIGAkeydodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8nfSR7bWF0Y2hbMl19JHtcclxuICAgICAgICAgICAgdGhpcy52aWRlb0F1dG9QbGF5XHJcbiAgICAgICAgICAgICAgPyAnP2F1dG9wbGF5PTEmZW5hYmxlanNhcGk9MSdcclxuICAgICAgICAgICAgICA6ICc/YXV0b3BsYXk9MCZlbmFibGVqc2FwaT0xJ1xyXG4gICAgICAgICAgfSR7JyZjb250cm9scz0nfSR7dGhpcy5zaG93VmlkZW9Db250cm9sc31gXHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnR5cGUgPSB0aGlzLklNQUdFO1xyXG4gICAgICAgIHRoaXMuZmlsZVVybCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChcclxuICAgICAgICAgIGBodHRwczovL2ltZy55b3V0dWJlLmNvbS92aS8ke21hdGNoWzJdfS8wLmpwZ2BcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKFxyXG4gICAgICB0aGlzLmZpbGVFeHRlbnNpb24gJiZcclxuICAgICAgdmFsaWRGaWxlRXh0ZW5zaW9ucy5pbmRleE9mKHRoaXMuZmlsZUV4dGVuc2lvbi50b0xvd2VyQ2FzZSgpKSA+IC0xXHJcbiAgICApIHtcclxuICAgICAgdGhpcy50eXBlID0gdGhpcy5JTUFHRTtcclxuICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgIHRoaXMuZmlsZUV4dGVuc2lvbiAmJlxyXG4gICAgICB2YWxpZFZpZGVvRXh0ZW5zaW9ucy5pbmRleE9mKHRoaXMuZmlsZUV4dGVuc2lvbi50b0xvd2VyQ2FzZSgpKSA+IC0xXHJcbiAgICApIHtcclxuICAgICAgdGhpcy50eXBlID0gdGhpcy5WSURFTztcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMudmlkZW9BdXRvUGxheSAmJlxyXG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGB2aWRlb18ke3RoaXMuaW1hZ2VJbmRleH1gKVxyXG4gICAgICApIHtcclxuICAgICAgICBjb25zdCB2aWRlb09iajogYW55ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXHJcbiAgICAgICAgICBgdmlkZW9fJHt0aGlzLmltYWdlSW5kZXh9YFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB2aWRlb09iai5wbGF5KCk7XHJcbiAgICAgICAgfSwgdGhpcy5zcGVlZCAqIDEwMDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2aWRlb0NsaWNrSGFuZGxlcihldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQuc3JjRWxlbWVudCAmJiAhdGhpcy5zaG93VmlkZW9Db250cm9scykge1xyXG4gICAgICBpZiAoZXZlbnQuc3JjRWxlbWVudC5wYXVzZWQpIHtcclxuICAgICAgICBldmVudC5zcmNFbGVtZW50LnBsYXkoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBldmVudC5zcmNFbGVtZW50LnBhdXNlKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQGlmIChmaWxlVXJsKSB7XHJcbiAgPGRpdiBjbGFzcz1cImN1c3RvbS1pbWFnZS1tYWluXCIgW25nQ2xhc3NdPVwieyduZy1mdWxsaW1hZ2UtbG9hZGluZyc6IGltYWdlTG9hZGluZ31cIj5cclxuICAgIEBpZiAodHlwZSA9PT0gSU1BR0UgJiYgZmlsZVVybCkge1xyXG4gICAgICA8aW1nIGNsYXNzPVwiaW1hZ2VcIiAobG9hZCk9XCJpbWFnZUxvYWRpbmcgPSBmYWxzZVwiIFtuZ0NsYXNzXT1cInsncmF0aW8nOiByYXRpb31cIlxyXG4gICAgICAgIFtzcmNdPVwiZmlsZVVybFwiIFthbHRdPVwiYWx0XCIgW3RpdGxlXT1cInRpdGxlXCIgW2F0dHIubG9hZGluZ109XCJsYXp5ID09IHRydWUgPyAnbGF6eScgOiBudWxsXCI+XHJcbiAgICB9XHJcbiAgICBAaWYgKHR5cGUgPT09IFlPVVRVQkUgJiYgZmlsZVVybCkge1xyXG4gICAgICA8aWZyYW1lIGNsYXNzPVwieW91dHViZVwiIFtzcmNdPVwiZmlsZVVybFwiXHJcbiAgICAgIFthdHRyLmxvYWRpbmddPVwibGF6eSA9PSB0cnVlID8gJ2xhenknIDogbnVsbFwiIGZyYW1lYm9yZGVyPVwiMFwiIGFsbG93PVwiYXV0b3BsYXlcIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+XHJcbiAgICB9XHJcbiAgICBAaWYgKHR5cGUgPT09IFZJREVPKSB7XHJcbiAgICAgIDx2aWRlbyBjbGFzcz1cInZpZGVvXCIgW2lkXT1cIid2aWRlb18nICsgaW1hZ2VJbmRleFwiIFtuZ0NsYXNzXT1cInsncmF0aW8nOiByYXRpb31cIiAoY2xpY2spPVwidmlkZW9DbGlja0hhbmRsZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgW2F1dG9wbGF5XT1cInZpZGVvQXV0b1BsYXlcIiB0eXBlPVwidmlkZW8vbXA0XCJcclxuICAgICAgICBbYXR0ci5jb250cm9sc109XCJzaG93VmlkZW9Db250cm9scyA/IHNob3dWaWRlb0NvbnRyb2xzIDogbnVsbFwiIGNvbnRyb2xzTGlzdD1cIm5vZG93bmxvYWRcIj5cclxuICAgICAgICA8c291cmNlIFtzcmNdPVwiZmlsZVVybFwiIHR5cGU9XCJ2aWRlby9tcDRcIj5cclxuICAgICAgICBZb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGUgdmlkZW8gdGFnLlxyXG4gICAgICA8L3ZpZGVvPlxyXG4gICAgfVxyXG4gICAgQGlmICghZmlsZVVybCkge1xyXG4gICAgICA8ZGl2IFtkaXJdPVwiZGlyZWN0aW9uXCIgY2xhc3M9XCJpbnZhbGlkLW1zZ1wiPkludmFsaWQgZmlsZSBmb3JtYXQ8L2Rpdj5cclxuICAgIH1cclxuICAgIEBpZiAodHlwZSA9PT0gWU9VVFVCRSB8fCB0eXBlID09PSBWSURFTyB8fCBpc1ZpZGVvKSB7XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwieW91dHViZS1pY29uXCI+PC9zcGFuPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG59Il19
|