simpo-component-library 3.6.507 → 3.6.512
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/ecommerce/sections/featured-category/featured-category.component.mjs +3 -3
- package/esm2022/lib/ecommerce/sections/featured-category/featured-collection.component.mjs +3 -3
- package/esm2022/lib/ecommerce/sections/new-collection/new-collection.component.mjs +3 -3
- package/esm2022/lib/ecommerce/sections/product-desc/product-desc.component.mjs +8 -3
- package/esm2022/lib/ecommerce/sections/product-list/product-list.component.mjs +3 -3
- package/esm2022/lib/ecommerce/sections/returns-calculator/returns-calculator.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/small-product-listing/small-product-listing.component.mjs +3 -3
- package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.component.mjs +1 -47
- package/esm2022/lib/sections/appointment-form/appointment-form.component.mjs +28 -27
- package/esm2022/lib/sections/header-section/header-section.component.mjs +3 -3
- package/esm2022/lib/sections/recent-blog-post-section/recent-blog-post-section.component.mjs +3 -3
- package/esm2022/lib/services/rest.service.mjs +1 -4
- package/esm2022/public-api.mjs +1 -2
- package/fesm2022/simpo-component-library.mjs +50 -575
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/ecommerce/sections/product-desc/product-desc.component.d.ts +3 -2
- package/lib/ecommerce/sections/schemes/schemes.component.d.ts +1 -1
- package/lib/ecommerce/sections/verify-payment/verify-payment.component.d.ts +0 -2
- package/lib/sections/appointment-form/appointment-form.component.d.ts +1 -3
- package/lib/sections/pricing-section/pricing-section.component.d.ts +1 -1
- package/lib/services/rest.service.d.ts +0 -1
- package/package.json +1 -1
- package/public-api.d.ts +0 -1
- package/simpo-component-library-3.6.512.tgz +0 -0
- package/src/lib/styles/global-styles.css +2 -2
- package/esm2022/lib/directive/letters-only.directive.mjs +0 -28
- package/esm2022/lib/directive/numbers-only.directive.mjs +0 -28
- package/esm2022/lib/sections/appointment-form/appointment-booking/appointment-booking/appointment-booking.component.mjs +0 -453
- package/lib/directive/letters-only.directive.d.ts +0 -9
- package/lib/directive/numbers-only.directive.d.ts +0 -9
- package/lib/sections/appointment-form/appointment-booking/appointment-booking/appointment-booking.component.d.ts +0 -82
- package/simpo-component-library-3.6.507.tgz +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
import { ElementRef, Renderer2, TemplateRef } from '@angular/core';
|
2
2
|
import { ProductDescModal, ProductDescStylesModal } from './product-desc.modal';
|
3
3
|
import { ItemImage, ItemVariant, Product } from '../../styles/product.modal';
|
4
|
-
import { BackgroundModel, ButtonModel } from '../../../styles/style.model';
|
4
|
+
import { BackgroundModel, ButtonModel, LayOutModel } from '../../../styles/style.model';
|
5
5
|
import BaseSection from '../../../sections/BaseSection';
|
6
6
|
import { EventsService } from '.././../../services/events.service';
|
7
7
|
import { ActivatedRoute, Router } from '@angular/router';
|
@@ -114,7 +114,7 @@ export declare class ProductDescComponent extends BaseSection {
|
|
114
114
|
getTextColor(color: any): "#000000" | "#ffffff";
|
115
115
|
languages: string[];
|
116
116
|
selectedLang: string;
|
117
|
-
getClass(map: any): "col-
|
117
|
+
getClass(map: any): "col-6" | "col-4" | "col-3" | "width-max";
|
118
118
|
onFindInStore(id: string): void;
|
119
119
|
onBookAppointment(): void;
|
120
120
|
isDetails: boolean;
|
@@ -150,6 +150,7 @@ export declare class ProductDescComponent extends BaseSection {
|
|
150
150
|
getPercentage(rating: number): string;
|
151
151
|
getRGBA(bgColor: any, opacity: number): any;
|
152
152
|
showDetailReview(review: any): void;
|
153
|
+
get stylesLayout(): LayOutModel;
|
153
154
|
static ɵfac: i0.ɵɵFactoryDeclaration<ProductDescComponent, never>;
|
154
155
|
static ɵcmp: i0.ɵɵComponentDeclaration<ProductDescComponent, "simpo-product-desc", never, { "data": { "alias": "data"; "required": false; }; "responseData": { "alias": "responseData"; "required": false; }; "index": { "alias": "index"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "delete": { "alias": "delete"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "nextComponentColor": { "alias": "nextComponentColor"; "required": false; }; }, {}, never, never, true, never>;
|
155
156
|
}
|
@@ -21,7 +21,7 @@ export declare class SchemesComponent extends BaseSection {
|
|
21
21
|
get stylesLayout(): LayOutModel;
|
22
22
|
get spacingLayout(): SpacingModel;
|
23
23
|
getParentClass(): "" | "overflow-scroll flex-nowrap";
|
24
|
-
getClass(index: number): "col-
|
24
|
+
getClass(index: number): "col-6" | "col-12" | "col-6 mb-2" | "col-12 mb-2";
|
25
25
|
showSchemeDetails(scheme: any): void;
|
26
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<SchemesComponent, never>;
|
27
27
|
static ɵcmp: i0.ɵɵComponentDeclaration<SchemesComponent, "simpo-schemes", never, { "data": { "alias": "data"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "delete": { "alias": "delete"; "required": false; }; "index": { "alias": "index"; "required": false; }; }, {}, never, never, true, never>;
|
@@ -28,14 +28,12 @@ export declare class VerifyComponent extends BaseSection implements OnInit {
|
|
28
28
|
private API_COUNT;
|
29
29
|
private MAX_API_COUNT;
|
30
30
|
private PASSBOOK_API_COUNT;
|
31
|
-
private APPOINTMENT_API_COUNT;
|
32
31
|
private MAX_PASSBOOK_API_COUNT;
|
33
32
|
ngOnInit(): void;
|
34
33
|
get getImageUrl(): string | undefined;
|
35
34
|
get isMobile(): boolean;
|
36
35
|
checkPaymentStatus(): void;
|
37
36
|
checkPassbookPaymentStatus(): void;
|
38
|
-
checkAppointmentPaymentStatus(): void;
|
39
37
|
editSection(): void;
|
40
38
|
static ɵfac: i0.ɵɵFactoryDeclaration<VerifyComponent, never>;
|
41
39
|
static ɵcmp: i0.ɵɵComponentDeclaration<VerifyComponent, "simpo-verify-payment", never, { "data": { "alias": "data"; "required": false; }; "responseData": { "alias": "responseData"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "index": { "alias": "index"; "required": false; }; "delete": { "alias": "delete"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; }, {}, never, never, true, never>;
|
@@ -8,7 +8,6 @@ import { MatDialog } from '@angular/material/dialog';
|
|
8
8
|
import { RestService } from '../../services/rest.service';
|
9
9
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
10
10
|
import { StorageLike } from '../../services/storage-like';
|
11
|
-
import { Router } from '@angular/router';
|
12
11
|
import * as i0 from "@angular/core";
|
13
12
|
export declare class AppointmentFormComponent extends BaseSection implements OnInit {
|
14
13
|
private _eventService;
|
@@ -16,7 +15,6 @@ export declare class AppointmentFormComponent extends BaseSection implements OnI
|
|
16
15
|
private appointmentService;
|
17
16
|
private snackbar;
|
18
17
|
private datePipe;
|
19
|
-
private readonly router;
|
20
18
|
private storage;
|
21
19
|
data?: BannerSectionModel;
|
22
20
|
index?: number;
|
@@ -26,7 +24,7 @@ export declare class AppointmentFormComponent extends BaseSection implements OnI
|
|
26
24
|
customClass?: string;
|
27
25
|
nextComponentColor?: BackgroundModel;
|
28
26
|
styles?: BannerStylesModel;
|
29
|
-
constructor(_eventService: EventsService, matDialog: MatDialog, appointmentService: RestService, snackbar: MatSnackBar, datePipe: DatePipe,
|
27
|
+
constructor(_eventService: EventsService, matDialog: MatDialog, appointmentService: RestService, snackbar: MatSnackBar, datePipe: DatePipe, storage: StorageLike);
|
30
28
|
screenWidth: number;
|
31
29
|
getScreenSize(): void;
|
32
30
|
businessId: any;
|
@@ -23,7 +23,7 @@ export declare class PricingSectionComponent extends BaseSection {
|
|
23
23
|
getButtonId(): string;
|
24
24
|
editSection(): void;
|
25
25
|
redirectTo(): void;
|
26
|
-
getClass(): "col-
|
26
|
+
getClass(): "col-6" | "col-4" | "col-3" | "col-12";
|
27
27
|
getAlignment(): "justify-content-start" | "justify-content-center" | "justify-content-end";
|
28
28
|
static ɵfac: i0.ɵɵFactoryDeclaration<PricingSectionComponent, never>;
|
29
29
|
static ɵcmp: i0.ɵɵComponentDeclaration<PricingSectionComponent, "simpo-pricing-section", never, { "data": { "alias": "data"; "required": false; }; "index": { "alias": "index"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "delete": { "alias": "delete"; "required": false; }; "nextComponentColor": { "alias": "nextComponentColor"; "required": false; }; }, {}, never, never, true, never>;
|
@@ -130,7 +130,6 @@ export declare class RestService implements OnDestroy {
|
|
130
130
|
getSchemeDetails(schemeId: any): Observable<Object>;
|
131
131
|
getMetalPrice(storeId: any): Observable<Object>;
|
132
132
|
createLead(payload: any): Observable<Object>;
|
133
|
-
getAppointmentPaymentStatus(orderId: any): Observable<Object>;
|
134
133
|
static ɵfac: i0.ɵɵFactoryDeclaration<RestService, never>;
|
135
134
|
static ɵprov: i0.ɵɵInjectableDeclaration<RestService>;
|
136
135
|
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
@@ -66,7 +66,6 @@ export * from './lib/ecommerce/sections/store-page/store-page.component';
|
|
66
66
|
export * from './lib/ecommerce/sections/enrollment-form/enrollment-form.component';
|
67
67
|
export * from './lib/ecommerce/sections/returns-calculator/returns-calculator.component';
|
68
68
|
export * from './lib/ecommerce/sections/book-appointment/book-appointment.component';
|
69
|
-
export * from './lib/sections/appointment-form/appointment-booking/appointment-booking/appointment-booking.component';
|
70
69
|
export * from './lib/services/events.service';
|
71
70
|
export * from './lib/services/endUser.service';
|
72
71
|
export * from './lib/services/sanitizeHtml';
|
Binary file
|
@@ -1,28 +0,0 @@
|
|
1
|
-
import { Directive, HostListener } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
export class LettersOnlyDirective {
|
4
|
-
constructor(el) {
|
5
|
-
this.el = el;
|
6
|
-
}
|
7
|
-
onInputChange(event) {
|
8
|
-
const initalValue = this.el.nativeElement.value;
|
9
|
-
// Use a regular expression to remove any characters that are not letters or spaces
|
10
|
-
this.el.nativeElement.value = initalValue.replace(/[^a-zA-Z ]*/g, '');
|
11
|
-
if (initalValue !== this.el.nativeElement.value) {
|
12
|
-
event.stopPropagation();
|
13
|
-
}
|
14
|
-
}
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LettersOnlyDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
16
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: LettersOnlyDirective, isStandalone: true, selector: "[simpoLettersOnly]", host: { listeners: { "input": "onInputChange($event)" } }, ngImport: i0 }); }
|
17
|
-
}
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LettersOnlyDirective, decorators: [{
|
19
|
-
type: Directive,
|
20
|
-
args: [{
|
21
|
-
selector: '[simpoLettersOnly]',
|
22
|
-
standalone: true
|
23
|
-
}]
|
24
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { onInputChange: [{
|
25
|
-
type: HostListener,
|
26
|
-
args: ['input', ['$event']]
|
27
|
-
}] } });
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV0dGVycy1vbmx5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZGlyZWN0aXZlL2xldHRlcnMtb25seS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXBFLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFBb0IsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7SUFBSSxDQUFDO0lBRUosYUFBYSxDQUFDLEtBQVk7UUFDM0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBRWhELG1GQUFtRjtRQUNuRixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFdEUsSUFBSSxXQUFXLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEQsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDOytHQWJVLG9CQUFvQjttR0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjsrRUFLb0MsYUFBYTtzQkFBL0MsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbc2ltcG9MZXR0ZXJzT25seV0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIExldHRlcnNPbmx5RGlyZWN0aXZlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikgeyB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQnXSkgb25JbnB1dENoYW5nZShldmVudDogRXZlbnQpIHtcclxuICAgIGNvbnN0IGluaXRhbFZhbHVlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlO1xyXG5cclxuICAgIC8vIFVzZSBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byByZW1vdmUgYW55IGNoYXJhY3RlcnMgdGhhdCBhcmUgbm90IGxldHRlcnMgb3Igc3BhY2VzXHJcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBpbml0YWxWYWx1ZS5yZXBsYWNlKC9bXmEtekEtWiBdKi9nLCAnJyk7XHJcblxyXG4gICAgaWYgKGluaXRhbFZhbHVlICE9PSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
@@ -1,28 +0,0 @@
|
|
1
|
-
import { Directive, HostListener } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
export class NumbersOnlyDirective {
|
4
|
-
constructor(el) {
|
5
|
-
this.el = el;
|
6
|
-
}
|
7
|
-
onInputChange(event) {
|
8
|
-
const initalValue = this.el.nativeElement.value;
|
9
|
-
// Use a regular expression to remove any non-numeric characters
|
10
|
-
this.el.nativeElement.value = initalValue.replace(/[^0-9]*/g, '');
|
11
|
-
if (initalValue !== this.el.nativeElement.value) {
|
12
|
-
event.stopPropagation();
|
13
|
-
}
|
14
|
-
}
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumbersOnlyDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
16
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: NumbersOnlyDirective, isStandalone: true, selector: "[simpoNumbersOnly]", host: { listeners: { "input": "onInputChange($event)" } }, ngImport: i0 }); }
|
17
|
-
}
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumbersOnlyDirective, decorators: [{
|
19
|
-
type: Directive,
|
20
|
-
args: [{
|
21
|
-
selector: '[simpoNumbersOnly]',
|
22
|
-
standalone: true
|
23
|
-
}]
|
24
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { onInputChange: [{
|
25
|
-
type: HostListener,
|
26
|
-
args: ['input', ['$event']]
|
27
|
-
}] } });
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVycy1vbmx5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZGlyZWN0aXZlL251bWJlcnMtb25seS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXBFLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFBb0IsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7SUFBSSxDQUFDO0lBRUosYUFBYSxDQUFDLEtBQVk7UUFDM0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBRWhELGdFQUFnRTtRQUNoRSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFbEUsSUFBSSxXQUFXLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEQsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDOytHQWJVLG9CQUFvQjttR0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjsrRUFLb0MsYUFBYTtzQkFBL0MsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbc2ltcG9OdW1iZXJzT25seV0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIE51bWJlcnNPbmx5RGlyZWN0aXZlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikgeyB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQnXSkgb25JbnB1dENoYW5nZShldmVudDogRXZlbnQpIHtcclxuICAgIGNvbnN0IGluaXRhbFZhbHVlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlO1xyXG5cclxuICAgIC8vIFVzZSBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byByZW1vdmUgYW55IG5vbi1udW1lcmljIGNoYXJhY3RlcnNcclxuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IGluaXRhbFZhbHVlLnJlcGxhY2UoL1teMC05XSovZywgJycpO1xyXG5cclxuICAgIGlmIChpbml0YWxWYWx1ZSAhPT0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlKSB7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
|