tin-spa 2.3.12 → 2.4.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/esm2020/lib/classes/Classes.mjs +1 -179
- package/esm2020/lib/classes/LibClasses.mjs +179 -0
- package/esm2020/lib/classes/TinCore.mjs +10 -1
- package/esm2020/lib/components/date/date.component.mjs +3 -3
- package/esm2020/lib/components/datetime/datetime.component.mjs +6 -3
- package/esm2020/lib/components/email/email.component.mjs +131 -0
- package/esm2020/lib/components/form/form.component.mjs +27 -10
- package/esm2020/lib/components/money/money.component.mjs +3 -3
- package/esm2020/lib/components/nav-menu/nav-menu.component.mjs +2 -2
- package/esm2020/lib/components/number/number.component.mjs +3 -3
- package/esm2020/lib/components/option/option.component.mjs +6 -3
- package/esm2020/lib/components/search/search.component.mjs +3 -3
- package/esm2020/lib/components/select/select.component.mjs +3 -3
- package/esm2020/lib/components/table/detailsDialog.component.mjs +14 -4
- package/esm2020/lib/components/table/table.component.mjs +3 -3
- package/esm2020/lib/components/table-header/table-header.component.mjs +67 -12
- package/esm2020/lib/components/table-internal/detailsDialog-internal.component.mjs +16 -2
- package/esm2020/lib/components/table-internal/table-internal.component.mjs +3 -3
- package/esm2020/lib/components/table-row/table-row.component.mjs +21 -5
- package/esm2020/lib/components/text/text.component.mjs +3 -3
- package/esm2020/lib/modules/admin/admin-routing.module.mjs +22 -22
- package/esm2020/lib/modules/index/index-routing.module.mjs +4 -4
- package/esm2020/lib/modules/spa-admin.module.mjs +7 -7
- package/esm2020/lib/modules/spa-index.module.mjs +4 -4
- package/esm2020/lib/modules/spa-user.module.mjs +3 -3
- package/esm2020/lib/modules/user/user-routing.module.mjs +3 -3
- package/esm2020/lib/{components → pages}/accounts/accountDialog.component.mjs +3 -3
- package/esm2020/lib/pages/accounts/accounts.component.mjs +70 -0
- package/esm2020/lib/{components → pages}/bug/bug.component.mjs +1 -1
- package/esm2020/lib/pages/change-password/change-password.component.mjs +92 -0
- package/esm2020/lib/pages/create-account/create-account.component.mjs +110 -0
- package/esm2020/lib/pages/customers/customers.component.mjs +60 -0
- package/esm2020/lib/{components → pages}/departments/departments.component.mjs +2 -2
- package/esm2020/lib/{components → pages}/employees/employees.component.mjs +2 -2
- package/esm2020/lib/{components → pages}/grades/grades.component.mjs +1 -1
- package/esm2020/lib/pages/inventory/inventory.component.mjs +99 -0
- package/esm2020/lib/{components → pages}/inventory/quantityDialog.component.mjs +3 -3
- package/esm2020/lib/{components → pages}/invitations/invitations.component.mjs +1 -1
- package/esm2020/lib/pages/invitations-table/invitations-table.component.mjs +70 -0
- package/esm2020/lib/{components → pages}/login/login.component.mjs +5 -4
- package/esm2020/lib/{components → pages}/logs/logs.component.mjs +2 -2
- package/esm2020/lib/pages/membership/membership.component.mjs +48 -0
- package/esm2020/lib/{components → pages}/notifications/notifications.component.mjs +1 -1
- package/esm2020/lib/pages/plans/plans.component.mjs +47 -0
- package/esm2020/lib/{components → pages}/positions/positions.component.mjs +2 -2
- package/esm2020/lib/pages/profile/profile.component.mjs +93 -0
- package/esm2020/lib/pages/recover-account/recover-account.component.mjs +46 -0
- package/esm2020/lib/{components → pages}/roles/addRoleDialog.component.mjs +2 -2
- package/esm2020/lib/{components → pages}/roles/roles.component.mjs +1 -1
- package/esm2020/lib/{components → pages}/settings/settings.component.mjs +1 -1
- package/esm2020/lib/pages/signup/signup.component.mjs +50 -0
- package/esm2020/lib/pages/suppliers/suppliers.component.mjs +50 -0
- package/esm2020/lib/pages/tasks/tasks.component.mjs +86 -0
- package/esm2020/lib/{components → pages}/tenant-settings/inviteDialog.component.mjs +3 -3
- package/esm2020/lib/pages/tenant-settings/tenant-settings.component.mjs +155 -0
- package/esm2020/lib/pages/tenants/tenants.component.mjs +47 -0
- package/esm2020/lib/{components → pages}/transactions/transactDialog.component.mjs +5 -5
- package/esm2020/lib/pages/transactions/transactions.component.mjs +101 -0
- package/esm2020/lib/pages/users/users.component.mjs +118 -0
- package/esm2020/lib/pages/welcome/welcome.component.mjs +86 -0
- package/esm2020/lib/services/auth.service.mjs +3 -2
- package/esm2020/lib/services/csv.service.mjs +49 -0
- package/esm2020/lib/services/datalib.service.mjs +1 -1
- package/esm2020/lib/services/log.service.mjs +2 -2
- package/esm2020/lib/tin-spa.module.mjs +33 -28
- package/esm2020/public-api.mjs +26 -25
- package/fesm2015/tin-spa.mjs +434 -146
- package/fesm2015/tin-spa.mjs.map +1 -1
- package/fesm2020/tin-spa.mjs +433 -146
- package/fesm2020/tin-spa.mjs.map +1 -1
- package/lib/classes/Classes.d.ts +17 -173
- package/lib/classes/LibClasses.d.ts +172 -0
- package/lib/classes/TinCore.d.ts +3 -1
- package/lib/components/datetime/datetime.component.d.ts +2 -1
- package/lib/components/email/email.component.d.ts +39 -0
- package/lib/components/form/form.component.d.ts +2 -0
- package/lib/components/option/option.component.d.ts +2 -1
- package/lib/components/table-header/table-header.component.d.ts +14 -3
- package/lib/components/table-row/table-row.component.d.ts +1 -1
- package/lib/modules/spa-admin.module.d.ts +6 -6
- package/lib/modules/spa-index.module.d.ts +3 -3
- package/lib/modules/spa-user.module.d.ts +2 -2
- package/lib/{components → pages}/change-password/change-password.component.d.ts +1 -1
- package/lib/{components → pages}/create-account/create-account.component.d.ts +2 -1
- package/lib/{components → pages}/login/login.component.d.ts +3 -2
- package/lib/{components → pages}/profile/profile.component.d.ts +2 -1
- package/lib/{components → pages}/roles/addRoleDialog.component.d.ts +1 -1
- package/lib/{components → pages}/roles/roles.component.d.ts +1 -1
- package/lib/{components → pages}/signup/signup.component.d.ts +1 -1
- package/lib/{components → pages}/users/users.component.d.ts +1 -1
- package/lib/services/auth.service.d.ts +1 -1
- package/lib/services/csv.service.d.ts +10 -0
- package/lib/services/datalib.service.d.ts +2 -1
- package/lib/services/log.service.d.ts +1 -1
- package/lib/tin-spa.module.d.ts +29 -28
- package/package.json +1 -1
- package/public-api.d.ts +24 -23
- package/esm2020/lib/components/accounts/accounts.component.mjs +0 -70
- package/esm2020/lib/components/change-password/change-password.component.mjs +0 -92
- package/esm2020/lib/components/create-account/create-account.component.mjs +0 -109
- package/esm2020/lib/components/customers/customers.component.mjs +0 -60
- package/esm2020/lib/components/inventory/inventory.component.mjs +0 -99
- package/esm2020/lib/components/invitations-table/invitations-table.component.mjs +0 -70
- package/esm2020/lib/components/membership/membership.component.mjs +0 -48
- package/esm2020/lib/components/plans/plans.component.mjs +0 -47
- package/esm2020/lib/components/profile/profile.component.mjs +0 -92
- package/esm2020/lib/components/recover-account/recover-account.component.mjs +0 -46
- package/esm2020/lib/components/signup/signup.component.mjs +0 -50
- package/esm2020/lib/components/suppliers/suppliers.component.mjs +0 -50
- package/esm2020/lib/components/tasks/tasks.component.mjs +0 -86
- package/esm2020/lib/components/tenant-settings/tenant-settings.component.mjs +0 -155
- package/esm2020/lib/components/tenants/tenants.component.mjs +0 -47
- package/esm2020/lib/components/transactions/transactions.component.mjs +0 -101
- package/esm2020/lib/components/users/users.component.mjs +0 -118
- package/esm2020/lib/components/welcome/welcome.component.mjs +0 -86
- /package/lib/{components → pages}/accounts/accountDialog.component.d.ts +0 -0
- /package/lib/{components → pages}/accounts/accounts.component.d.ts +0 -0
- /package/lib/{components → pages}/bug/bug.component.d.ts +0 -0
- /package/lib/{components → pages}/customers/customers.component.d.ts +0 -0
- /package/lib/{components → pages}/departments/departments.component.d.ts +0 -0
- /package/lib/{components → pages}/employees/employees.component.d.ts +0 -0
- /package/lib/{components → pages}/grades/grades.component.d.ts +0 -0
- /package/lib/{components → pages}/inventory/inventory.component.d.ts +0 -0
- /package/lib/{components → pages}/inventory/quantityDialog.component.d.ts +0 -0
- /package/lib/{components → pages}/invitations/invitations.component.d.ts +0 -0
- /package/lib/{components → pages}/invitations-table/invitations-table.component.d.ts +0 -0
- /package/lib/{components → pages}/logs/logs.component.d.ts +0 -0
- /package/lib/{components → pages}/membership/membership.component.d.ts +0 -0
- /package/lib/{components → pages}/notifications/notifications.component.d.ts +0 -0
- /package/lib/{components → pages}/plans/plans.component.d.ts +0 -0
- /package/lib/{components → pages}/positions/positions.component.d.ts +0 -0
- /package/lib/{components → pages}/recover-account/recover-account.component.d.ts +0 -0
- /package/lib/{components → pages}/settings/settings.component.d.ts +0 -0
- /package/lib/{components → pages}/suppliers/suppliers.component.d.ts +0 -0
- /package/lib/{components → pages}/tasks/tasks.component.d.ts +0 -0
- /package/lib/{components → pages}/tenant-settings/inviteDialog.component.d.ts +0 -0
- /package/lib/{components → pages}/tenant-settings/tenant-settings.component.d.ts +0 -0
- /package/lib/{components → pages}/tenants/tenants.component.d.ts +0 -0
- /package/lib/{components → pages}/transactions/transactDialog.component.d.ts +0 -0
- /package/lib/{components → pages}/transactions/transactions.component.d.ts +0 -0
- /package/lib/{components → pages}/welcome/welcome.component.d.ts +0 -0
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../services/datalib.service";
|
|
4
|
-
import * as i2 from "../../services/auth.service";
|
|
5
|
-
import * as i3 from "@angular/common";
|
|
6
|
-
import * as i4 from "@angular/material/button";
|
|
7
|
-
import * as i5 from "@angular/material/icon";
|
|
8
|
-
import * as i6 from "../text/text.component";
|
|
9
|
-
import * as i7 from "../check/check.component";
|
|
10
|
-
import * as i8 from "../invitations-table/invitations-table.component";
|
|
11
|
-
export class WelcomeComponent {
|
|
12
|
-
constructor(dataService, authService) {
|
|
13
|
-
this.dataService = dataService;
|
|
14
|
-
this.authService = authService;
|
|
15
|
-
this.step = "terms";
|
|
16
|
-
this.agree = false;
|
|
17
|
-
this.own = true;
|
|
18
|
-
this.invitations = false;
|
|
19
|
-
this.invTableConfig = {
|
|
20
|
-
greyOut: (value) => value.accepted == false,
|
|
21
|
-
elevation: 'low',
|
|
22
|
-
minColumns: ['tenantName'],
|
|
23
|
-
minButtons: ['accept', 'decline'],
|
|
24
|
-
columns: [
|
|
25
|
-
{ name: 'tenantName', alias: 'Organisation', type: 'text' },
|
|
26
|
-
{ name: 'owner', type: 'text', },
|
|
27
|
-
],
|
|
28
|
-
buttons: [
|
|
29
|
-
{ name: 'accept', icon: { 'name': 'done', }, color: 'green', action: { url: 'tenant/members?action=accept', method: 'post', }, confirm: { message: 'Accept ?' }, disabled: (x) => x.accepted },
|
|
30
|
-
{ name: 'decline', icon: { 'name': 'close', }, color: 'red', action: { url: 'tenant/members?action=remove', method: 'post', }, confirm: { message: 'Decline ?' }, disabled: (x) => x.accepted },
|
|
31
|
-
],
|
|
32
|
-
loadAction: { url: 'tenant/invitations/x' },
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
ngOnInit() {
|
|
36
|
-
this.loadMeta();
|
|
37
|
-
this.authService.loggedUserFullName.subscribe(x => this.username = x);
|
|
38
|
-
}
|
|
39
|
-
loadMeta() {
|
|
40
|
-
this.dataService.CallApi({ url: 'tenant/welcome_meta/x' }).subscribe((api) => {
|
|
41
|
-
this.invitations = api.data.invitations;
|
|
42
|
-
this.own = api.data.own;
|
|
43
|
-
this.myTenant = api.data.tenant;
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
renameTenant() {
|
|
47
|
-
this.dataService.CallApi({ url: 'tenant/tenants?action=rename', method: 'post' }, this.myTenant).subscribe((apiResponse) => {
|
|
48
|
-
if (apiResponse.success) {
|
|
49
|
-
this.authService.updateTenantName(this.myTenant.name);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
next() {
|
|
54
|
-
if (this.step == 'terms' && this.own) {
|
|
55
|
-
this.step = "name";
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
else if (this.step == "terms" && !this.own) {
|
|
59
|
-
this.step = "hi";
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
else if (this.step == "name" && this.own) {
|
|
63
|
-
this.renameTenant();
|
|
64
|
-
if (this.invitations == true) {
|
|
65
|
-
this.step = "invitations";
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
this.setWelcome();
|
|
70
|
-
}
|
|
71
|
-
setWelcome() {
|
|
72
|
-
this.dataService.CallApi({ url: 'tenant/set_welcome/x' }).subscribe((api) => {
|
|
73
|
-
this.home();
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
home() {
|
|
77
|
-
this.dataService.Navigate('home');
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
WelcomeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WelcomeComponent, deps: [{ token: i1.DataServiceLib }, { token: i2.AuthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
-
WelcomeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: WelcomeComponent, selector: "spa-welcome", ngImport: i0, template: "<label class=\"title\">Welcome, {{username}}</label>\n\n\n\n<!-- terms -->\n<div class=\"mt-3\" *ngIf=\"step=='terms'\">\n\n <label class=\"subtitle text-muted mb-2\" >We care about our users and are dedicated to protecting your data and privacy -\n thats why we want to be clear about what data we collect and how we use it to improve your experience.</label>\n\n <br>\n <spa-check display=\"I agree to the Terms and Privacy Policy\" [(value)]=\"agree\"></spa-check>\n</div>\n\n<!-- owner -->\n<div class=\"mt-3\" *ngIf=\"step=='name' && own\">\n\n <label class=\"subtitle text-muted\" style=\" margin-bottom: 20px;\">The follow steps will guide you to customise your application.</label>\n\n <div style=\"max-width: 400px;\">\n <spa-text display=\"Organisation Name\" [(value)]=\"myTenant.name\" ></spa-text>\n </div>\n\n <label class=\"text-muted\" style=\" font-size: 12px;\">You can change the Organisation's name to your team or company name.</label><br>\n <label class=\"text-muted\" style=\" font-size: 12px;margin-top: 10px;\">The name can be changed later.</label>\n\n</div>\n\n<!-- guest -->\n<div *ngIf=\"step=='hi' && !own\">\n <label class=\"subtitle text-muted\">You are now signed in to {{myTenant.name}}.</label>\n</div>\n\n\n<!-- invitations -->\n<div class=\"mt-3\" *ngIf=\"step=='invitations' && own\">\n\n <label class=\"subtitle text-muted\">You have been requested to join the following organisations. If you accept, you have the option to switch to that org now or stay in you org.</label><br>\n <label class=\"text-muted\" style=\" font-size: 12px;margin-top: 10px;\">You will be able to switch later.</label>\n <spa-invitations-table></spa-invitations-table>\n\n</div>\n\n\n<!-- Actions -->\n<div class=\"mt-3\">\n <button mat-stroked-button color=\"primary\" [disabled]=\"!agree\" (click)=\"next()\">Next <mat-icon>arrow_right_alt</mat-icon></button>\n</div>\n", styles: [".title{margin-top:1em;font-size:28px;font-weight:300}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.TextComponent, selector: "spa-text", inputs: ["readonly", "hint", "display", "placeholder", "value", "format", "type", "rows", "width", "options", "optionValue", "required", "min", "max", "regex", "suffix", "infoMessage"], outputs: ["valueChange", "leave", "enterPress", "infoClick"] }, { kind: "component", type: i7.CheckComponent, selector: "spa-check", inputs: ["readonly", "display", "value", "infoMessage"], outputs: ["valueChange", "click", "check", "uncheck", "infoClick"] }, { kind: "component", type: i8.InvitationsTableComponent, selector: "spa-invitations-table" }] });
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WelcomeComponent, decorators: [{
|
|
83
|
-
type: Component,
|
|
84
|
-
args: [{ selector: 'spa-welcome', template: "<label class=\"title\">Welcome, {{username}}</label>\n\n\n\n<!-- terms -->\n<div class=\"mt-3\" *ngIf=\"step=='terms'\">\n\n <label class=\"subtitle text-muted mb-2\" >We care about our users and are dedicated to protecting your data and privacy -\n thats why we want to be clear about what data we collect and how we use it to improve your experience.</label>\n\n <br>\n <spa-check display=\"I agree to the Terms and Privacy Policy\" [(value)]=\"agree\"></spa-check>\n</div>\n\n<!-- owner -->\n<div class=\"mt-3\" *ngIf=\"step=='name' && own\">\n\n <label class=\"subtitle text-muted\" style=\" margin-bottom: 20px;\">The follow steps will guide you to customise your application.</label>\n\n <div style=\"max-width: 400px;\">\n <spa-text display=\"Organisation Name\" [(value)]=\"myTenant.name\" ></spa-text>\n </div>\n\n <label class=\"text-muted\" style=\" font-size: 12px;\">You can change the Organisation's name to your team or company name.</label><br>\n <label class=\"text-muted\" style=\" font-size: 12px;margin-top: 10px;\">The name can be changed later.</label>\n\n</div>\n\n<!-- guest -->\n<div *ngIf=\"step=='hi' && !own\">\n <label class=\"subtitle text-muted\">You are now signed in to {{myTenant.name}}.</label>\n</div>\n\n\n<!-- invitations -->\n<div class=\"mt-3\" *ngIf=\"step=='invitations' && own\">\n\n <label class=\"subtitle text-muted\">You have been requested to join the following organisations. If you accept, you have the option to switch to that org now or stay in you org.</label><br>\n <label class=\"text-muted\" style=\" font-size: 12px;margin-top: 10px;\">You will be able to switch later.</label>\n <spa-invitations-table></spa-invitations-table>\n\n</div>\n\n\n<!-- Actions -->\n<div class=\"mt-3\">\n <button mat-stroked-button color=\"primary\" [disabled]=\"!agree\" (click)=\"next()\">Next <mat-icon>arrow_right_alt</mat-icon></button>\n</div>\n", styles: [".title{margin-top:1em;font-size:28px;font-weight:300}\n"] }]
|
|
85
|
-
}], ctorParameters: function () { return [{ type: i1.DataServiceLib }, { type: i2.AuthService }]; } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2VsY29tZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvY29tcG9uZW50cy93ZWxjb21lL3dlbGNvbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvd2VsY29tZS93ZWxjb21lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFVbEQsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixZQUFtQixXQUE0QixFQUFTLFdBQXdCO1FBQTdELGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBVWhGLFNBQUksR0FBRyxPQUFPLENBQUE7UUFDZCxVQUFLLEdBQUcsS0FBSyxDQUFBO1FBQ2IsUUFBRyxHQUFHLElBQUksQ0FBQztRQUNYLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBMERwQixtQkFBYyxHQUFnQjtZQUU1QixPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSztZQUMzQyxTQUFTLEVBQUUsS0FBSztZQUNoQixVQUFVLEVBQUUsQ0FBQyxZQUFZLENBQUM7WUFDMUIsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQztZQUVqQyxPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDM0QsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUc7YUFDakM7WUFFRCxPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFB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Q0FBQyxFQUFFLEdBQUcsRUFBRSxzQkFBc0IsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDMUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7OzZHQXRFVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQixtRENWN0IscTNEQWdEQTsyRkR0Q2EsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUYWJsZUNvbmZpZywgQXBpUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9jbGFzc2VzL0NsYXNzZXMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YWxpYi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLXdlbGNvbWUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi93ZWxjb21lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi93ZWxjb21lLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgV2VsY29tZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRhU2VydmljZSA6IERhdGFTZXJ2aWNlTGliLCBwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRNZXRhKCk7XHJcblxyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2dnZWRVc2VyRnVsbE5hbWUuc3Vic2NyaWJlKHggPT4gdGhpcy51c2VybmFtZSA9IHgpXHJcbiAgfVxyXG5cclxuICB1c2VybmFtZTtcclxuXHJcbiAgc3RlcCA9IFwidGVybXNcIlxyXG4gIGFncmVlID0gZmFsc2VcclxuICBvd24gPSB0cnVlO1xyXG4gIGludml0YXRpb25zID0gZmFsc2U7XHJcblxyXG4gIG15VGVuYW50XHJcblxyXG4gIGxvYWRNZXRhKCl7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkNhbGxBcGkoeyB1cmw6J3RlbmFudC93ZWxjb21lX21ldGEveCd9KS5zdWJzY3JpYmUoKGFwaSkgPT4ge1xyXG4gICAgICB0aGlzLmludml0YXRpb25zID0gYXBpLmRhdGEuaW52aXRhdGlvbnM7XHJcbiAgICAgIHRoaXMub3duID0gYXBpLmRhdGEub3duO1xyXG4gICAgICB0aGlzLm15VGVuYW50ID0gYXBpLmRhdGEudGVuYW50O1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHJlbmFtZVRlbmFudCgpIHtcclxuXHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkNhbGxBcGkoeyB1cmw6ICd0ZW5hbnQvdGVuYW50cz9hY3Rpb249cmVuYW1lJywgbWV0aG9kOiAncG9zdCcgfSwgdGhpcy5teVRlbmFudCkuc3Vic2NyaWJlKChhcGlSZXNwb25zZTogQXBpUmVzcG9uc2UpID0+IHtcclxuXHJcbiAgICAgIGlmIChhcGlSZXNwb25zZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS51cGRhdGVUZW5hbnROYW1lKHRoaXMubXlUZW5hbnQubmFtZSlcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZXh0KCl7XHJcblxyXG4gICAgaWYgKHRoaXMuc3RlcCA9PSAndGVybXMnICYmIHRoaXMub3duKXtcclxuICAgICAgdGhpcy5zdGVwID0gXCJuYW1lXCJcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5zdGVwID09IFwidGVybXNcIiAmJiAhdGhpcy5vd24pIHtcclxuICAgICAgdGhpcy5zdGVwID0gXCJoaVwiXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuc3RlcCA9PSBcIm5hbWVcIiAmJiB0aGlzLm93bil7XHJcblxyXG4gICAgICB0aGlzLnJlbmFtZVRlbmFudCgpO1xyXG4gICAgICBpZiAodGhpcy5pbnZpdGF0aW9ucyA9PSB0cnVlKXtcclxuICAgICAgICB0aGlzLnN0ZXAgPSBcImludml0YXRpb25zXCJcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcblxyXG4gICAgfVxyXG5cclxuXHJcbiAgICB0aGlzLnNldFdlbGNvbWUoKTtcclxuICB9XHJcblxyXG4gIHNldFdlbGNvbWUoKSB7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkNhbGxBcGkoeyB1cmw6ICd0ZW5hbnQvc2V0X3dlbGNvbWUveCcgfSkuc3Vic2NyaWJlKChhcGkpID0+IHtcclxuICAgICAgdGhpcy5ob21lKCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgaG9tZSgpe1xyXG4gICAgdGhpcy5kYXRhU2VydmljZS5OYXZpZ2F0ZSgnaG9tZScpO1xyXG4gIH1cclxuXHJcblxyXG4gIGludlRhYmxlQ29uZmlnOiBUYWJsZUNvbmZpZyA9IHtcclxuXHJcbiAgICBncmV5T3V0OiAodmFsdWUpID0+IHZhbHVlLmFjY2VwdGVkID09IGZhbHNlLFxyXG4gICAgZWxldmF0aW9uOiAnbG93JyxcclxuICAgIG1pbkNvbHVtbnM6IFsndGVuYW50TmFtZSddLFxyXG4gICAgbWluQnV0dG9uczogWydhY2NlcHQnLCAnZGVjbGluZSddLFxyXG5cclxuICAgIGNvbHVtbnM6IFtcclxuICAgICAgeyBuYW1lOiAndGVuYW50TmFtZScsIGFsaWFzOiAnT3JnYW5pc2F0aW9uJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgIHsgbmFtZTogJ293bmVyJywgdHlwZTogJ3RleHQnLCB9LFxyXG4gICAgXSxcclxuXHJcbiAgICBidXR0b25zOiBbXHJcbiAgICAgIHsgbmFtZTogJ2FjY2VwdCcsIGljb246IHsgJ25hbWUnOiAnZG9uZScsIH0sIGNvbG9yOiAnZ3JlZW4nLCBhY3Rpb246IHsgdXJsOiAndGVuYW50L21lbWJlcnM/YWN0aW9uPWFjY2VwdCcsIG1ldGhvZDogJ3Bvc3QnLCB9LCBjb25maXJtOiB7IG1lc3NhZ2U6ICdBY2NlcHQgPycgfSwgZGlzYWJsZWQ6ICh4KSA9PiB4LmFjY2VwdGVkIH0sXHJcbiAgICAgIHsgbmFtZTogJ2RlY2xpbmUnLCBpY29uOiB7ICduYW1lJzogJ2Nsb3NlJywgfSwgY29sb3I6ICdyZWQnLCBhY3Rpb246IHsgdXJsOiAndGVuYW50L21lbWJlcnM/YWN0aW9uPXJlbW92ZScsIG1ldGhvZDogJ3Bvc3QnLCB9LCBjb25maXJtOiB7IG1lc3NhZ2U6ICdEZWNsaW5lID8nIH0sIGRpc2FibGVkOiAoeCkgPT4geC5hY2NlcHRlZCB9LFxyXG4gICAgXSxcclxuXHJcbiAgICBsb2FkQWN0aW9uOiB7IHVybDogJ3RlbmFudC9pbnZpdGF0aW9ucy94JyB9LFxyXG5cclxuICB9XHJcblxyXG59XHJcbiIsIjxsYWJlbCBjbGFzcz1cInRpdGxlXCI+V2VsY29tZSwgIHt7dXNlcm5hbWV9fTwvbGFiZWw+XG5cblxuXG48IS0tIHRlcm1zIC0tPlxuPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj1cInN0ZXA9PSd0ZXJtcydcIj5cblxuICA8bGFiZWwgY2xhc3M9XCJzdWJ0aXRsZSB0ZXh0LW11dGVkIG1iLTJcIiA+V2UgY2FyZSBhYm91dCBvdXIgdXNlcnMgYW5kIGFyZSBkZWRpY2F0ZWQgdG8gcHJvdGVjdGluZyB5b3VyIGRhdGEgYW5kIHByaXZhY3kgLVxuICAgIHRoYXRzIHdoeSB3ZSB3YW50IHRvIGJlIGNsZWFyIGFib3V0IHdoYXQgZGF0YSB3ZSBjb2xsZWN0IGFuZCBob3cgd2UgdXNlIGl0IHRvIGltcHJvdmUgeW91ciBleHBlcmllbmNlLjwvbGFiZWw+XG5cbiAgPGJyPlxuICA8c3BhLWNoZWNrIGRpc3BsYXk9XCJJIGFncmVlIHRvIHRoZSBUZXJtcyBhbmQgUHJpdmFjeSBQb2xpY3lcIiBbKHZhbHVlKV09XCJhZ3JlZVwiPjwvc3BhLWNoZWNrPlxuPC9kaXY+XG5cbjwhLS0gb3duZXIgLS0+XG48ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPVwic3RlcD09J25hbWUnICYmIG93blwiPlxuXG4gIDxsYWJlbCBjbGFzcz1cInN1YnRpdGxlIHRleHQtbXV0ZWRcIiBzdHlsZT1cIiBtYXJnaW4tYm90dG9tOiAyMHB4O1wiPlRoZSBmb2xsb3cgc3RlcHMgd2lsbCBndWlkZSB5b3UgdG8gY3VzdG9taXNlIHlvdXIgYXBwbGljYXRpb24uPC9sYWJlbD5cblxuICA8ZGl2IHN0eWxlPVwibWF4LXdpZHRoOiA0MDBweDtcIj5cbiAgIDxzcGEtdGV4dCBkaXNwbGF5PVwiT3JnYW5pc2F0aW9uIE5hbWVcIiBbKHZhbHVlKV09XCJteVRlbmFudC5uYW1lXCIgPjwvc3BhLXRleHQ+XG4gIDwvZGl2PlxuXG4gIDxsYWJlbCBjbGFzcz1cInRleHQtbXV0ZWRcIiBzdHlsZT1cIiBmb250LXNpemU6IDEycHg7XCI+WW91IGNhbiBjaGFuZ2UgdGhlIE9yZ2FuaXNhdGlvbidzIG5hbWUgdG8geW91ciB0ZWFtIG9yIGNvbXBhbnkgbmFtZS48L2xhYmVsPjxicj5cbiAgPGxhYmVsIGNsYXNzPVwidGV4dC1tdXRlZFwiIHN0eWxlPVwiIGZvbnQtc2l6ZTogMTJweDttYXJnaW4tdG9wOiAxMHB4O1wiPlRoZSBuYW1lIGNhbiBiZSBjaGFuZ2VkIGxhdGVyLjwvbGFiZWw+XG5cbjwvZGl2PlxuXG48IS0tIGd1ZXN0IC0tPlxuPGRpdiAqbmdJZj1cInN0ZXA9PSdoaScgJiYgIW93blwiPlxuICA8bGFiZWwgY2xhc3M9XCJzdWJ0aXRsZSB0ZXh0LW11dGVkXCI+WW91IGFyZSBub3cgc2lnbmVkIGluIHRvIHt7bXlUZW5hbnQubmFtZX19LjwvbGFiZWw+XG48L2Rpdj5cblxuXG48IS0tIGludml0YXRpb25zIC0tPlxuPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj1cInN0ZXA9PSdpbnZpdGF0aW9ucycgJiYgb3duXCI+XG5cbiAgPGxhYmVsIGNsYXNzPVwic3VidGl0bGUgdGV4dC1tdXRlZFwiPllvdSBoYXZlIGJlZW4gcmVxdWVzdGVkIHRvIGpvaW4gdGhlIGZvbGxvd2luZyBvcmdhbmlzYXRpb25zLiBJZiB5b3UgYWNjZXB0LCB5b3UgaGF2ZSB0aGUgb3B0aW9uIHRvIHN3aXRjaCB0byB0aGF0IG9yZyBub3cgb3Igc3RheSBpbiB5b3Ugb3JnLjwvbGFiZWw+PGJyPlxuICA8bGFiZWwgY2xhc3M9XCJ0ZXh0LW11dGVkXCIgc3R5bGU9XCIgZm9udC1zaXplOiAxMnB4O21hcmdpbi10b3A6IDEwcHg7XCI+WW91IHdpbGwgYmUgYWJsZSB0byBzd2l0Y2ggbGF0ZXIuPC9sYWJlbD5cbiAgPHNwYS1pbnZpdGF0aW9ucy10YWJsZT48L3NwYS1pbnZpdGF0aW9ucy10YWJsZT5cblxuPC9kaXY+XG5cblxuPCEtLSBBY3Rpb25zIC0tPlxuPGRpdiBjbGFzcz1cIm10LTNcIj5cbiAgPGJ1dHRvbiAgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhYWdyZWVcIiAoY2xpY2spPVwibmV4dCgpXCI+TmV4dCA8bWF0LWljb24+YXJyb3dfcmlnaHRfYWx0PC9tYXQtaWNvbj48L2J1dHRvbj5cbjwvZGl2PlxuIl19
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|