@lowcodeunit/applications-flow-common 1.33.155-lets-get-social-ish → 1.33.158-lets-get-social-ish
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/lcu.api.mjs +76 -0
- package/esm2020/lib/applications-flow.module.mjs +328 -0
- package/esm2020/lib/controls/build-pipeline-form/build-pipeline-form.component.mjs +242 -0
- package/esm2020/lib/controls/devops-source-control-form/devops-source-control-form.component.mjs +446 -0
- package/esm2020/lib/controls/edit-application-form/edit-application-form.component.mjs +67 -0
- package/esm2020/lib/controls/processor-details-form/processor-details-form.component.mjs +318 -0
- package/esm2020/lib/controls/security-toggle/security-toggle.component.mjs +58 -0
- package/esm2020/lib/controls/source-control-form/source-control-form.component.mjs +69 -0
- package/esm2020/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.mjs +29 -0
- package/esm2020/lib/dialogs/custom-domain-dialog/custom-domain-dialog.component.mjs +35 -0
- package/esm2020/lib/dialogs/edit-application-dialog/edit-application-dialog.component.mjs +33 -0
- package/esm2020/lib/dialogs/source-control-dialog/source-control-dialog.component.mjs +29 -0
- package/esm2020/lib/elements/analytics-card/analytics-card.component.mjs +28 -0
- package/esm2020/lib/elements/base-form/base-form.component.mjs +57 -0
- package/esm2020/lib/elements/breadcrumb/breadcrumb.component.mjs +115 -0
- package/esm2020/lib/elements/card-carousel/card-carousel.component.mjs +70 -0
- package/esm2020/lib/elements/dynamic-tabs/dynamic-tabs.component.mjs +74 -0
- package/esm2020/lib/elements/feed-card-sm/feed-card-sm.component.mjs +40 -0
- package/esm2020/lib/elements/flow-tool/flow-tool.component.mjs +75 -0
- package/esm2020/lib/elements/form-card/form-card.component.mjs +33 -0
- package/esm2020/lib/elements/gh-control/gh-control.component.mjs +78 -0
- package/esm2020/lib/elements/main-feed-card/main-feed-card.component.mjs +34 -0
- package/esm2020/lib/elements/project-info-card/project-info-card.component.mjs +60 -0
- package/esm2020/lib/elements/projects/controls/builds/builds.component.mjs +32 -0
- package/esm2020/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.mjs +145 -0
- package/esm2020/lib/elements/projects/controls/forms/source-control/source-control.component.mjs +285 -0
- package/esm2020/lib/elements/projects/controls/git-auth/git-auth.component.mjs +26 -0
- package/esm2020/lib/elements/projects/controls/header/header.component.mjs +83 -0
- package/esm2020/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.mjs +118 -0
- package/esm2020/lib/elements/projects/controls/project-items/project-items.component.mjs +54 -0
- package/esm2020/lib/elements/projects/controls/project-tabs/project-tabs.component.mjs +103 -0
- package/esm2020/lib/elements/projects/controls/recent-activities/recent-activities.component.mjs +14 -0
- package/esm2020/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.mjs +561 -0
- package/esm2020/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.mjs +72 -0
- package/esm2020/lib/elements/projects/controls/tabs/devops/devops.component.mjs +242 -0
- package/esm2020/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.mjs +179 -0
- package/esm2020/lib/elements/projects/controls/tabs/domains/domains.component.mjs +140 -0
- package/esm2020/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.mjs +90 -0
- package/esm2020/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.mjs +142 -0
- package/esm2020/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.mjs +124 -0
- package/esm2020/lib/elements/projects/controls/tabs/general/general.component.mjs +40 -0
- package/esm2020/lib/elements/projects/projects.component.mjs +92 -0
- package/esm2020/lib/elements/slotted-card/slotted-card.component.mjs +49 -0
- package/esm2020/lib/elements/three-column/three-column.component.mjs +30 -0
- package/esm2020/lib/elements/two-column-header/two-column-header.component.mjs +15 -0
- package/esm2020/lib/models/actions.model.mjs +3 -0
- package/esm2020/lib/models/base-form-config.model.mjs +6 -0
- package/esm2020/lib/models/card-form-config.model.mjs +6 -0
- package/esm2020/lib/models/dev-settings-preset.model.mjs +3 -0
- package/esm2020/lib/models/domain.model.mjs +3 -0
- package/esm2020/lib/models/dynamic-tabs.model.mjs +6 -0
- package/esm2020/lib/models/form-actions.model.mjs +3 -0
- package/esm2020/lib/models/form.model.mjs +6 -0
- package/esm2020/lib/models/form.values.model.mjs +11 -0
- package/esm2020/lib/models/project-actions.model.mjs +6 -0
- package/esm2020/lib/models/user-feed.model.mjs +12 -0
- package/{esm2015/lib/services/applications-flow.service.js → esm2020/lib/services/applications-flow.service.mjs} +9 -13
- package/esm2020/lib/services/eac.service.mjs +176 -0
- package/esm2020/lib/services/forms.service.mjs +132 -0
- package/esm2020/lib/services/npm.service.mjs +77 -0
- package/esm2020/lib/services/project.service.mjs +323 -0
- package/esm2020/lib/state/applications-flow-state.context.mjs +36 -0
- package/esm2020/lib/state/applications-flow.state.mjs +72 -0
- package/esm2020/lowcodeunit-applications-flow-common.mjs +5 -0
- package/fesm2015/lowcodeunit-applications-flow-common.mjs +5596 -0
- package/fesm2015/lowcodeunit-applications-flow-common.mjs.map +1 -0
- package/fesm2020/lowcodeunit-applications-flow-common.mjs +5472 -0
- package/fesm2020/lowcodeunit-applications-flow-common.mjs.map +1 -0
- package/lcu.api.d.ts +39 -2
- package/lib/applications-flow.module.d.ts +53 -1
- package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts +3 -1
- package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts +3 -1
- package/lib/controls/edit-application-form/edit-application-form.component.d.ts +3 -1
- package/lib/controls/processor-details-form/processor-details-form.component.d.ts +3 -1
- package/lib/controls/security-toggle/security-toggle.component.d.ts +3 -1
- package/lib/controls/source-control-form/source-control-form.component.d.ts +3 -1
- package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts +3 -1
- package/lib/dialogs/custom-domain-dialog/custom-domain-dialog.component.d.ts +3 -1
- package/lib/dialogs/edit-application-dialog/edit-application-dialog.component.d.ts +3 -1
- package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts +3 -1
- package/lib/elements/analytics-card/analytics-card.component.d.ts +3 -1
- package/lib/elements/base-form/base-form.component.d.ts +3 -1
- package/lib/elements/breadcrumb/breadcrumb.component.d.ts +3 -1
- package/lib/elements/card-carousel/card-carousel.component.d.ts +3 -1
- package/lib/elements/dynamic-tabs/dynamic-tabs.component.d.ts +3 -1
- package/lib/elements/feed-card-sm/feed-card-sm.component.d.ts +3 -1
- package/lib/elements/flow-tool/flow-tool.component.d.ts +28 -0
- package/lib/elements/form-card/form-card.component.d.ts +3 -1
- package/lib/elements/gh-control/gh-control.component.d.ts +3 -1
- package/lib/elements/main-feed-card/main-feed-card.component.d.ts +3 -1
- package/lib/elements/project-info-card/project-info-card.component.d.ts +3 -1
- package/lib/elements/projects/controls/builds/builds.component.d.ts +3 -1
- package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts +3 -1
- package/lib/elements/projects/controls/forms/source-control/source-control.component.d.ts +3 -1
- package/lib/elements/projects/controls/git-auth/git-auth.component.d.ts +3 -1
- package/lib/elements/projects/controls/header/header.component.d.ts +3 -1
- package/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts +3 -1
- package/lib/elements/projects/controls/project-items/project-items.component.d.ts +3 -1
- package/lib/elements/projects/controls/project-tabs/project-tabs.component.d.ts +3 -1
- package/lib/elements/projects/controls/recent-activities/recent-activities.component.d.ts +3 -1
- package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts +3 -1
- package/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.d.ts +3 -1
- package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts +3 -1
- package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts +3 -1
- package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts +3 -1
- package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts +3 -1
- package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts +3 -1
- package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts +3 -1
- package/lib/elements/projects/controls/tabs/general/general.component.d.ts +3 -1
- package/lib/elements/projects/projects.component.d.ts +3 -1
- package/lib/elements/slotted-card/slotted-card.component.d.ts +3 -1
- package/lib/elements/three-column/three-column.component.d.ts +3 -1
- package/lib/elements/two-column-header/two-column-header.component.d.ts +3 -1
- package/lib/models/actions.model.d.ts +0 -1
- package/lib/models/base-form-config.model.d.ts +0 -1
- package/lib/models/card-form-config.model.d.ts +0 -1
- package/lib/models/dev-settings-preset.model.d.ts +0 -1
- package/lib/models/domain.model.d.ts +0 -1
- package/lib/models/dynamic-tabs.model.d.ts +0 -1
- package/lib/models/form-actions.model.d.ts +0 -1
- package/lib/models/form.model.d.ts +0 -1
- package/lib/models/form.values.model.d.ts +0 -1
- package/lib/models/project-actions.model.d.ts +0 -1
- package/lib/models/user-feed.model.d.ts +0 -1
- package/lib/services/applications-flow.service.d.ts +3 -1
- package/lib/services/eac.service.d.ts +3 -1
- package/lib/services/forms.service.d.ts +3 -1
- package/lib/services/npm.service.d.ts +3 -1
- package/lib/services/project.service.d.ts +3 -1
- package/lib/state/applications-flow-state.context.d.ts +3 -1
- package/lib/state/applications-flow.state.d.ts +0 -1
- package/lowcodeunit-applications-flow-common.d.ts +1 -25
- package/package.json +20 -12
- package/bundles/lowcodeunit-applications-flow-common.umd.js +0 -6968
- package/bundles/lowcodeunit-applications-flow-common.umd.js.map +0 -1
- package/bundles/lowcodeunit-applications-flow-common.umd.min.js +0 -16
- package/bundles/lowcodeunit-applications-flow-common.umd.min.js.map +0 -1
- package/esm2015/lcu.api.js +0 -38
- package/esm2015/lib/applications-flow.module.js +0 -218
- package/esm2015/lib/controls/build-pipeline-form/build-pipeline-form.component.js +0 -210
- package/esm2015/lib/controls/devops-source-control-form/devops-source-control-form.component.js +0 -412
- package/esm2015/lib/controls/edit-application-form/edit-application-form.component.js +0 -60
- package/esm2015/lib/controls/processor-details-form/processor-details-form.component.js +0 -330
- package/esm2015/lib/controls/security-toggle/security-toggle.component.js +0 -51
- package/esm2015/lib/controls/source-control-form/source-control-form.component.js +0 -61
- package/esm2015/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.js +0 -25
- package/esm2015/lib/dialogs/custom-domain-dialog/custom-domain-dialog.component.js +0 -31
- package/esm2015/lib/dialogs/edit-application-dialog/edit-application-dialog.component.js +0 -29
- package/esm2015/lib/dialogs/source-control-dialog/source-control-dialog.component.js +0 -25
- package/esm2015/lib/elements/analytics-card/analytics-card.component.js +0 -21
- package/esm2015/lib/elements/base-form/base-form.component.js +0 -61
- package/esm2015/lib/elements/breadcrumb/breadcrumb.component.js +0 -113
- package/esm2015/lib/elements/card-carousel/card-carousel.component.js +0 -67
- package/esm2015/lib/elements/dynamic-tabs/dynamic-tabs.component.js +0 -69
- package/esm2015/lib/elements/feed-card-sm/feed-card-sm.component.js +0 -31
- package/esm2015/lib/elements/form-card/form-card.component.js +0 -22
- package/esm2015/lib/elements/gh-control/gh-control.component.js +0 -72
- package/esm2015/lib/elements/main-feed-card/main-feed-card.component.js +0 -24
- package/esm2015/lib/elements/project-info-card/project-info-card.component.js +0 -39
- package/esm2015/lib/elements/projects/controls/builds/builds.component.js +0 -26
- package/esm2015/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.js +0 -145
- package/esm2015/lib/elements/projects/controls/forms/source-control/source-control.component.js +0 -262
- package/esm2015/lib/elements/projects/controls/git-auth/git-auth.component.js +0 -25
- package/esm2015/lib/elements/projects/controls/header/header.component.js +0 -75
- package/esm2015/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.js +0 -102
- package/esm2015/lib/elements/projects/controls/project-items/project-items.component.js +0 -49
- package/esm2015/lib/elements/projects/controls/project-tabs/project-tabs.component.js +0 -91
- package/esm2015/lib/elements/projects/controls/recent-activities/recent-activities.component.js +0 -15
- package/esm2015/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.js +0 -590
- package/esm2015/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.js +0 -62
- package/esm2015/lib/elements/projects/controls/tabs/devops/devops.component.js +0 -202
- package/esm2015/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.js +0 -178
- package/esm2015/lib/elements/projects/controls/tabs/domains/domains.component.js +0 -133
- package/esm2015/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.js +0 -86
- package/esm2015/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.js +0 -129
- package/esm2015/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.js +0 -113
- package/esm2015/lib/elements/projects/controls/tabs/general/general.component.js +0 -46
- package/esm2015/lib/elements/projects/projects.component.js +0 -92
- package/esm2015/lib/elements/slotted-card/slotted-card.component.js +0 -30
- package/esm2015/lib/elements/three-column/three-column.component.js +0 -32
- package/esm2015/lib/elements/two-column-header/two-column-header.component.js +0 -15
- package/esm2015/lib/models/actions.model.js +0 -3
- package/esm2015/lib/models/base-form-config.model.js +0 -6
- package/esm2015/lib/models/card-form-config.model.js +0 -6
- package/esm2015/lib/models/dev-settings-preset.model.js +0 -3
- package/esm2015/lib/models/domain.model.js +0 -3
- package/esm2015/lib/models/dynamic-tabs.model.js +0 -6
- package/esm2015/lib/models/form-actions.model.js +0 -3
- package/esm2015/lib/models/form.model.js +0 -6
- package/esm2015/lib/models/form.values.model.js +0 -11
- package/esm2015/lib/models/project-actions.model.js +0 -6
- package/esm2015/lib/models/user-feed.model.js +0 -12
- package/esm2015/lib/services/eac.service.js +0 -223
- package/esm2015/lib/services/forms.service.js +0 -131
- package/esm2015/lib/services/npm.service.js +0 -79
- package/esm2015/lib/services/project.service.js +0 -340
- package/esm2015/lib/state/applications-flow-state.context.js +0 -37
- package/esm2015/lib/state/applications-flow.state.js +0 -72
- package/esm2015/lowcodeunit-applications-flow-common.js +0 -29
- package/fesm2015/lowcodeunit-applications-flow-common.js +0 -5364
- package/fesm2015/lowcodeunit-applications-flow-common.js.map +0 -1
- package/lcu.api.d.ts.map +0 -1
- package/lib/applications-flow.module.d.ts.map +0 -1
- package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts.map +0 -1
- package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts.map +0 -1
- package/lib/controls/edit-application-form/edit-application-form.component.d.ts.map +0 -1
- package/lib/controls/processor-details-form/processor-details-form.component.d.ts.map +0 -1
- package/lib/controls/security-toggle/security-toggle.component.d.ts.map +0 -1
- package/lib/controls/source-control-form/source-control-form.component.d.ts.map +0 -1
- package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts.map +0 -1
- package/lib/dialogs/custom-domain-dialog/custom-domain-dialog.component.d.ts.map +0 -1
- package/lib/dialogs/edit-application-dialog/edit-application-dialog.component.d.ts.map +0 -1
- package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts.map +0 -1
- package/lib/elements/analytics-card/analytics-card.component.d.ts.map +0 -1
- package/lib/elements/base-form/base-form.component.d.ts.map +0 -1
- package/lib/elements/breadcrumb/breadcrumb.component.d.ts.map +0 -1
- package/lib/elements/card-carousel/card-carousel.component.d.ts.map +0 -1
- package/lib/elements/dynamic-tabs/dynamic-tabs.component.d.ts.map +0 -1
- package/lib/elements/feed-card-sm/feed-card-sm.component.d.ts.map +0 -1
- package/lib/elements/form-card/form-card.component.d.ts.map +0 -1
- package/lib/elements/gh-control/gh-control.component.d.ts.map +0 -1
- package/lib/elements/main-feed-card/main-feed-card.component.d.ts.map +0 -1
- package/lib/elements/project-info-card/project-info-card.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/builds/builds.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/forms/source-control/source-control.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/git-auth/git-auth.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/header/header.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/project-items/project-items.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/project-tabs/project-tabs.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/recent-activities/recent-activities.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/tabs/general/general.component.d.ts.map +0 -1
- package/lib/elements/projects/projects.component.d.ts.map +0 -1
- package/lib/elements/slotted-card/slotted-card.component.d.ts.map +0 -1
- package/lib/elements/three-column/three-column.component.d.ts.map +0 -1
- package/lib/elements/two-column-header/two-column-header.component.d.ts.map +0 -1
- package/lib/models/actions.model.d.ts.map +0 -1
- package/lib/models/base-form-config.model.d.ts.map +0 -1
- package/lib/models/card-form-config.model.d.ts.map +0 -1
- package/lib/models/dev-settings-preset.model.d.ts.map +0 -1
- package/lib/models/domain.model.d.ts.map +0 -1
- package/lib/models/dynamic-tabs.model.d.ts.map +0 -1
- package/lib/models/form-actions.model.d.ts.map +0 -1
- package/lib/models/form.model.d.ts.map +0 -1
- package/lib/models/form.values.model.d.ts.map +0 -1
- package/lib/models/project-actions.model.d.ts.map +0 -1
- package/lib/models/user-feed.model.d.ts.map +0 -1
- package/lib/services/applications-flow.service.d.ts.map +0 -1
- package/lib/services/eac.service.d.ts.map +0 -1
- package/lib/services/forms.service.d.ts.map +0 -1
- package/lib/services/npm.service.d.ts.map +0 -1
- package/lib/services/project.service.d.ts.map +0 -1
- package/lib/state/applications-flow-state.context.d.ts.map +0 -1
- package/lib/state/applications-flow.state.d.ts.map +0 -1
- package/lowcodeunit-applications-flow-common.d.ts.map +0 -1
- package/lowcodeunit-applications-flow-common.metadata.json +0 -1
package/esm2020/lib/elements/projects/controls/forms/source-control/source-control.component.mjs
ADDED
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
+
import { COMMA, ENTER } from '@angular/cdk/keycodes';
|
|
3
|
+
import { Validators, FormControl, } from '@angular/forms';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "../../../../../services/applications-flow.service";
|
|
7
|
+
import * as i3 from "@angular/material/form-field";
|
|
8
|
+
import * as i4 from "@angular/material/icon";
|
|
9
|
+
import * as i5 from "@angular/material/select";
|
|
10
|
+
import * as i6 from "@angular/material/core";
|
|
11
|
+
import * as i7 from "@angular/material/button";
|
|
12
|
+
import * as i8 from "@angular/material/autocomplete";
|
|
13
|
+
import * as i9 from "@angular/material/chips";
|
|
14
|
+
import * as i10 from "@lowcodeunit/app-host-common";
|
|
15
|
+
import * as i11 from "@angular/common";
|
|
16
|
+
import * as i12 from "@angular/material/tooltip";
|
|
17
|
+
import * as i13 from "@angular/material/input";
|
|
18
|
+
import * as i14 from "@angular/flex-layout/extended";
|
|
19
|
+
export class SourceControlFormControlsComponent {
|
|
20
|
+
// Constructors
|
|
21
|
+
constructor(formBuilder, appsFlowSvc) {
|
|
22
|
+
this.formBuilder = formBuilder;
|
|
23
|
+
this.appsFlowSvc = appsFlowSvc;
|
|
24
|
+
this.SeparatorKeysCodes = [ENTER, COMMA];
|
|
25
|
+
this.BranchesChanged = new EventEmitter();
|
|
26
|
+
this.SelectedBranches = [];
|
|
27
|
+
this.SourceControl = {};
|
|
28
|
+
this.SourceControlRoot = '';
|
|
29
|
+
this.UseBranches = true;
|
|
30
|
+
}
|
|
31
|
+
// Fields
|
|
32
|
+
// Properties
|
|
33
|
+
get BranchesFormControl() {
|
|
34
|
+
return this.FormGroup.get(this.SourceControlRoot + 'branches');
|
|
35
|
+
}
|
|
36
|
+
get BuildPathFormControl() {
|
|
37
|
+
return this.FormGroup.get(this.SourceControlRoot + 'buildPath');
|
|
38
|
+
}
|
|
39
|
+
get MainBranchFormControl() {
|
|
40
|
+
return this.FormGroup.get(this.SourceControlRoot + 'mainBranch');
|
|
41
|
+
}
|
|
42
|
+
get OrganizationFormControl() {
|
|
43
|
+
return this.FormGroup.get(this.SourceControlRoot + 'organization');
|
|
44
|
+
}
|
|
45
|
+
get RepositoryFormControl() {
|
|
46
|
+
return this.FormGroup.get(this.SourceControlRoot + 'repository');
|
|
47
|
+
}
|
|
48
|
+
// Life Cycle
|
|
49
|
+
ngAfterViewInit() { }
|
|
50
|
+
ngOnDestroy() {
|
|
51
|
+
this.destroyFormControls();
|
|
52
|
+
}
|
|
53
|
+
ngOnInit() {
|
|
54
|
+
this.setupFormControls();
|
|
55
|
+
this.RefreshOrganizations();
|
|
56
|
+
}
|
|
57
|
+
// API Methods
|
|
58
|
+
AddBranchOption(event) {
|
|
59
|
+
this.addBranchOption(event.value);
|
|
60
|
+
event.input.value = '';
|
|
61
|
+
}
|
|
62
|
+
BranchOptionSelected(event) {
|
|
63
|
+
this.addBranchOption(event.option.value);
|
|
64
|
+
}
|
|
65
|
+
BuildPathChanged(event) {
|
|
66
|
+
}
|
|
67
|
+
CreateRepository() {
|
|
68
|
+
this.CreatingRepository = true;
|
|
69
|
+
this.RepositoryFormControl.reset();
|
|
70
|
+
}
|
|
71
|
+
CancelCreateRepository() {
|
|
72
|
+
this.CreatingRepository = false;
|
|
73
|
+
}
|
|
74
|
+
MainBranchChanged(event) {
|
|
75
|
+
this.emitBranchesChanged();
|
|
76
|
+
}
|
|
77
|
+
OrganizationChanged(event) {
|
|
78
|
+
const org = this.OrganizationFormControl;
|
|
79
|
+
this.RepositoryFormControl.reset();
|
|
80
|
+
if (this.UseBranches) {
|
|
81
|
+
this.BranchesFormControl.reset();
|
|
82
|
+
this.SelectedBranches = [];
|
|
83
|
+
}
|
|
84
|
+
this.listRepositories();
|
|
85
|
+
}
|
|
86
|
+
RefreshOrganizations() {
|
|
87
|
+
// this.Loading = true;
|
|
88
|
+
this.listOrganizations();
|
|
89
|
+
this.OrganizationFormControl?.reset();
|
|
90
|
+
this.RepositoryFormControl?.reset();
|
|
91
|
+
if (this.UseBranches) {
|
|
92
|
+
this.BranchesFormControl?.reset();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
RemoveBranchOption(option) {
|
|
96
|
+
const index = this.SelectedBranches.indexOf(option);
|
|
97
|
+
if (index >= 0) {
|
|
98
|
+
this.SelectedBranches.splice(index, 1);
|
|
99
|
+
}
|
|
100
|
+
this.emitBranchesChanged();
|
|
101
|
+
}
|
|
102
|
+
RepositoryChanged(event) {
|
|
103
|
+
const repo = this.RepositoryFormControl;
|
|
104
|
+
if (this.UseBranches) {
|
|
105
|
+
this.BranchesFormControl.reset();
|
|
106
|
+
this.SelectedBranches = [];
|
|
107
|
+
this.listBranches();
|
|
108
|
+
}
|
|
109
|
+
if (!this.UseBranches) {
|
|
110
|
+
this.listBuildPaths();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
SaveRepository() {
|
|
114
|
+
this.Loading = true;
|
|
115
|
+
const org = this.OrganizationFormControl.value;
|
|
116
|
+
const repoName = this.RepositoryFormControl.value;
|
|
117
|
+
this.appsFlowSvc
|
|
118
|
+
.CreateRepository(org, repoName)
|
|
119
|
+
.subscribe((response) => {
|
|
120
|
+
if (response.Status.Code === 0) {
|
|
121
|
+
this.listRepositories(repoName);
|
|
122
|
+
this.CreatingRepository = false;
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
// TODO: Need to surface an error to the user...
|
|
126
|
+
this.Loading = false;
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
// Helpers
|
|
131
|
+
addBranchOption(value) {
|
|
132
|
+
value = (value || '').trim();
|
|
133
|
+
if (value && this.SelectedBranches.indexOf(value) < 0) {
|
|
134
|
+
this.SelectedBranches.push(value);
|
|
135
|
+
}
|
|
136
|
+
this.BranchesInput.nativeElement.blur();
|
|
137
|
+
this.emitBranchesChanged();
|
|
138
|
+
}
|
|
139
|
+
destroyFormControls() {
|
|
140
|
+
this.FormGroup.removeControl([this.SourceControlRoot, 'mainBranch'].join(''));
|
|
141
|
+
this.FormGroup.removeControl([this.SourceControlRoot, 'branches'].join(''));
|
|
142
|
+
this.FormGroup.removeControl([this.SourceControlRoot, 'buildPath'].join(''));
|
|
143
|
+
this.SelectedBranches = [];
|
|
144
|
+
this.FormGroup.removeControl([this.SourceControlRoot, 'organization'].join(''));
|
|
145
|
+
this.FormGroup.removeControl([this.SourceControlRoot, 'repository'].join(''));
|
|
146
|
+
}
|
|
147
|
+
emitBranchesChanged() {
|
|
148
|
+
if (this.SelectedBranches?.length > 0 &&
|
|
149
|
+
(!this.MainBranchFormControl.value ||
|
|
150
|
+
this.SelectedBranches.indexOf(this.MainBranchFormControl.value) < 0)) {
|
|
151
|
+
this.MainBranchFormControl.setValue(this.SelectedBranches.find((branch) => branch === 'main' || branch === 'master') || this.SelectedBranches[0]);
|
|
152
|
+
}
|
|
153
|
+
else if (this.SelectedBranches?.length <= 0) {
|
|
154
|
+
this.MainBranchFormControl.reset();
|
|
155
|
+
}
|
|
156
|
+
this.BranchesFormControl.setValue(this.SelectedBranches.join(','));
|
|
157
|
+
this.BranchesChanged.emit(this.SelectedBranches || []);
|
|
158
|
+
}
|
|
159
|
+
listBranches() {
|
|
160
|
+
if (this.UseBranches) {
|
|
161
|
+
this.Loading = true;
|
|
162
|
+
this.appsFlowSvc
|
|
163
|
+
.ListBranches(this.OrganizationFormControl.value, this.RepositoryFormControl.value)
|
|
164
|
+
.subscribe((response) => {
|
|
165
|
+
this.BranchOptions = response.Model;
|
|
166
|
+
this.Loading = false;
|
|
167
|
+
if (this.SourceControl?.Branches?.length > 0) {
|
|
168
|
+
this.SelectedBranches = this.SourceControl.Branches;
|
|
169
|
+
}
|
|
170
|
+
else if (this.BranchOptions?.length === 1) {
|
|
171
|
+
this.BranchesFormControl.setValue(this.BranchOptions[0].Name);
|
|
172
|
+
this.SelectedBranches = [this.BranchOptions[0].Name];
|
|
173
|
+
}
|
|
174
|
+
this.emitBranchesChanged();
|
|
175
|
+
this.listBuildPaths();
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
listBuildPaths() {
|
|
180
|
+
if (this.UseBuildPath) {
|
|
181
|
+
this.Loading = true;
|
|
182
|
+
this.appsFlowSvc
|
|
183
|
+
.ListBuildPaths(this.OrganizationFormControl.value, this.RepositoryFormControl.value)
|
|
184
|
+
.subscribe((response) => {
|
|
185
|
+
this.BuildPathOptions = response.Model;
|
|
186
|
+
this.Loading = false;
|
|
187
|
+
if (this.BuildPathOptions?.length === 1) {
|
|
188
|
+
this.BuildPathFormControl.setValue(this.BuildPathOptions[0]);
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
listOrganizations() {
|
|
194
|
+
this.Loading = true;
|
|
195
|
+
this.appsFlowSvc
|
|
196
|
+
.ListOrganizations()
|
|
197
|
+
.subscribe((response) => {
|
|
198
|
+
this.OrganizationOptions = response.Model;
|
|
199
|
+
this.Loading = false;
|
|
200
|
+
if (this.SourceControl?.Organization) {
|
|
201
|
+
setTimeout(() => {
|
|
202
|
+
this.OrganizationFormControl.setValue(this.SourceControl.Organization);
|
|
203
|
+
this.listRepositories(this.SourceControl?.Repository);
|
|
204
|
+
}, 0);
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
listRepositories(activeRepo = null) {
|
|
209
|
+
this.Loading = true;
|
|
210
|
+
this.appsFlowSvc
|
|
211
|
+
.ListRepositories(this.OrganizationFormControl.value)
|
|
212
|
+
.subscribe((response) => {
|
|
213
|
+
this.RepositoryOptions = response.Model;
|
|
214
|
+
this.Loading = false;
|
|
215
|
+
if (activeRepo) {
|
|
216
|
+
setTimeout(() => {
|
|
217
|
+
this.RepositoryFormControl.setValue(activeRepo);
|
|
218
|
+
this.listBranches();
|
|
219
|
+
if (!this.UseBranches) {
|
|
220
|
+
this.listBuildPaths();
|
|
221
|
+
}
|
|
222
|
+
}, 0);
|
|
223
|
+
}
|
|
224
|
+
else if (this.RepositoryOptions?.length <= 0) {
|
|
225
|
+
this.CreatingRepository = true;
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
setupFormControls() {
|
|
230
|
+
this.destroyFormControls();
|
|
231
|
+
this.FormGroup.addControl([this.SourceControlRoot, 'organization'].join(''), new FormControl(this.SourceControl.Organization ?? '', Validators.required));
|
|
232
|
+
this.FormGroup.addControl([this.SourceControlRoot, 'repository'].join(''), new FormControl(this.SourceControl.Repository ?? '', Validators.required));
|
|
233
|
+
if (this.UseBranches) {
|
|
234
|
+
this.FormGroup.addControl([this.SourceControlRoot, 'branches'].join(''), new FormControl(this.SourceControl?.Branches ?? '', Validators.required));
|
|
235
|
+
this.SelectedBranches = this.SourceControl?.Branches;
|
|
236
|
+
this.FormGroup.addControl([this.SourceControlRoot, 'mainBranch'].join(''), new FormControl(this.SourceControl.MainBranch ?? '', Validators.required));
|
|
237
|
+
}
|
|
238
|
+
if (this.UseBuildPath) {
|
|
239
|
+
this.FormGroup.addControl([this.SourceControlRoot, 'buildPath'].join(''), new FormControl(this.BuildPath ?? '', Validators.required));
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
SourceControlFormControlsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: SourceControlFormControlsComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ApplicationsFlowService }], target: i0.ɵɵFactoryTarget.Component });
|
|
244
|
+
SourceControlFormControlsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: SourceControlFormControlsComponent, selector: "lcu-source-control-form-controls", inputs: { BranchesDisabled: ["branches-disabled", "BranchesDisabled"], BuildPath: ["build-path", "BuildPath"], BuildPathDisabled: ["build-path-disabled", "BuildPathDisabled"], FormGroup: ["form-group", "FormGroup"], OrganizationDisabled: ["org-disabled", "OrganizationDisabled"], RepositoryDisabled: ["repo-disabled", "RepositoryDisabled"], SourceControl: ["source-control", "SourceControl"], SourceControlRoot: ["source-control-root", "SourceControlRoot"], UseBranches: ["use-branches", "UseBranches"], UseBuildPath: ["use-build-path", "UseBuildPath"] }, outputs: { BranchesChanged: "branches-changed" }, viewQueries: [{ propertyName: "BranchesInput", first: true, predicate: ["branches"], descendants: true }], ngImport: i0, template: "<div [formGroup]=\"FormGroup\">\n <div class=\"card\" *ngIf=\"OrganizationFormControl?.valid || !Loading\">\n <mat-form-field\n class=\"mat-full-width with-hint\"\n *ngIf=\"OrganizationOptions?.length > 0\"\n >\n <mat-icon class=\"org-icon\" matPrefix>corporate_fare</mat-icon>\n\n <mat-select\n [formControlName]=\"SourceControlRoot + 'organization'\"\n placeholder=\"Organization\"\n (selectionChange)=\"OrganizationChanged($event)\"\n [disabled]=\"Loading || OrganizationDisabled\"\n required\n >\n <ng-container *ngFor=\"let orgOpt of OrganizationOptions\">\n <mat-option [value]=\"orgOpt.Name\">\n {{ orgOpt.Name }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <mat-icon matSuffix (click)=\"RefreshOrganizations()\" matTooltip=\"Refresh Organization\"> refresh </mat-icon>\n\n <a\n matSuffix\n href=\"/.oauth/github?oauth-force-edit=true\"\n target=\"_blank\"\n color=\"accent\"\n >\n <mat-icon color=\"accent\" matTooltip=\"Re-authorize Organizations\"> launch </mat-icon>\n </a>\n\n <mat-hint>\n If you don't have an organization or would like to create a new one,\n <a\n href=\"https://github.com/account/organizations/new\"\n target=\"_blank\"\n >\n start here\n </a>\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div\n class=\"card\"\n *ngIf=\"\n RepositoryFormControl?.valid ||\n (OrganizationFormControl?.valid && !Loading)\n \"\n >\n <mat-form-field class=\"mat-full-width\">\n <mat-icon class=\"org-icon\" matPrefix>description</mat-icon>\n\n <mat-select\n [formControlName]=\"SourceControlRoot + 'repository'\"\n [placeholder]=\"\n OrganizationFormControl?.valid\n ? 'Repository'\n : 'Repository (select organization first)'\n \"\n [disabled]=\"\n !OrganizationFormControl?.valid || Loading || RepositoryDisabled\n \"\n (selectionChange)=\"RepositoryChanged($event)\"\n *ngIf=\"!CreatingRepository\"\n required\n >\n <ng-container *ngFor=\"let repoOpt of RepositoryOptions\">\n <mat-option [value]=\"repoOpt.Name\">\n {{ repoOpt.Name }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <input\n matInput\n placeholder=\"Repository (creates new if does not exist)\"\n [formControlName]=\"SourceControlRoot + 'repository'\"\n *ngIf=\"CreatingRepository\"\n [fxHide]=\"Loading || RepositoryDisabled\"\n required\n />\n\n <mat-icon\n matSuffix\n (click)=\"CreateRepository()\"\n [fxHide]=\"Loading || RepositoryDisabled\"\n *ngIf=\"!CreatingRepository && OrganizationFormControl?.valid\"\n >\n add_circle\n </mat-icon>\n\n <button mat-button type=\"button\" \n (click)=\"SaveRepository()\" \n *ngIf=\"CreatingRepository && RepositoryFormControl?.valid\">\n\n <mat-icon\n matSuffix\n color=\"primary\"\n >\n save\n </mat-icon>\n </button>\n\n <button mat-button type=\"button\" \n (click)=\"CancelCreateRepository()\"\n *ngIf=\"CreatingRepository\">\n\n <mat-icon\n matSuffix\n \n >\n cancel\n </mat-icon>\n </button>\n </mat-form-field>\n </div>\n\n <div\n class=\"card\"\n *ngIf=\"\n (BranchesFormControl?.valid ||\n (OrganizationFormControl?.valid &&\n RepositoryFormControl?.valid &&\n !Loading)) &&\n !CreatingRepository &&\n UseBranches\n \"\n >\n <mat-form-field class=\"mat-full-width\">\n <mat-icon class=\"org-icon\" matPrefix>account_tree</mat-icon>\n\n <mat-label>Selected Branches</mat-label>\n\n <mat-autocomplete\n (optionSelected)=\"BranchOptionSelected($event)\"\n #branchOptions=\"matAutocomplete\"\n >\n <ng-container *ngFor=\"let branchOpt of BranchOptions\">\n <mat-option [value]=\"branchOpt.Name\">\n {{ branchOpt.Name }}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n\n <mat-chip-list #selectedBranches>\n <mat-chip\n [removable]=\"true\"\n (removed)=\"RemoveBranchOption(selBranch)\"\n *ngFor=\"let selBranch of SelectedBranches\"\n >\n {{ selBranch }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n\n <input\n matInput\n placeholder=\"New Branch...\"\n [formControlName]=\"SourceControlRoot + 'branches'\"\n #branches\n [matAutocomplete]=\"branchOptions\"\n [matChipInputFor]=\"selectedBranches\"\n [matChipInputSeparatorKeyCodes]=\"SeparatorKeysCodes\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"AddBranchOption($event)\"\n [disabled]=\"Loading || BranchesDisabled\"\n required\n />\n </mat-chip-list>\n </mat-form-field>\n\n <mat-form-field\n class=\"mat-full-width with-hint\"\n [fxShow]=\"SelectedBranches?.length > 1\"\n >\n <mat-icon class=\"org-icon\" matPrefix>account_tree</mat-icon>\n\n <mat-select\n [formControlName]=\"SourceControlRoot + 'mainBranch'\"\n placeholder=\"Main Branch\"\n [disabled]=\"Loading || BranchesDisabled\"\n (selectionChange)=\"MainBranchChanged($event)\"\n required\n >\n <ng-container *ngFor=\"let branch of SelectedBranches\">\n <mat-option [value]=\"branch\">\n {{ branch }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <mat-icon matSuffix (click)=\"RefreshOrganizations()\"> refresh </mat-icon>\n\n <a\n matSuffix\n mat-icon-button\n href=\"/.oauth/github?oauth-force-edit=true\"\n \n target=\"_blank\"\n color=\"accent\"\n >\n <mat-icon\n matTooltip=\"Re-authorize Organizations\"\n color=\"accent\"> launch </mat-icon>\n </a>\n\n <mat-hint>\n If you don't have an organization or would like to create a new one,\n <a\n href=\"https://github.com/account/organizations/new\"\n target=\"_blank\"\n >\n start here\n </a>\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div\n class=\"card\"\n *ngIf=\"\n (BuildPathFormControl?.valid ||\n (OrganizationFormControl?.valid &&\n RepositoryFormControl?.valid &&\n !Loading)) &&\n !CreatingRepository &&\n UseBuildPath\n \"\n >\n <mat-form-field class=\"mat-full-width with-hint\">\n <mat-icon class=\"org-icon\" matPrefix>build</mat-icon>\n\n <mat-select\n [formControlName]=\"SourceControlRoot + 'buildPath'\"\n placeholder=\"Build Path\"\n [disabled]=\"Loading || BuildPathDisabled\"\n (selectionChange)=\"BuildPathChanged($event)\"\n required\n >\n <ng-container *ngFor=\"let buildPath of BuildPathOptions\">\n <mat-option [value]=\"buildPath\">\n {{ buildPath }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <mat-hint>\n The build path identifies which build action to use for your\n configuration.\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div *ngIf=\"Loading\">\n <div class=\"spread\">\n <lcu-loader style=\"margin: auto\" [loading]=\"true\"></lcu-loader>\n\n <div class=\"margin-3\">\n <h4 class=\"mat-title\" *ngIf=\"!OrganizationFormControl?.valid\">\n Loading organizations\n </h4>\n\n <h4\n class=\"mat-title\"\n *ngIf=\"\n OrganizationFormControl?.valid && !RepositoryFormControl?.valid\n \"\n >\n Loading repositories\n </h4>\n\n <h4\n class=\"mat-title\"\n *ngIf=\"RepositoryFormControl?.valid && !BranchesFormControl?.valid\"\n >\n Loading branches\n </h4>\n\n <h4\n class=\"mat-title\"\n *ngIf=\"\n (RepositoryFormControl?.valid || BranchesFormControl?.valid) &&\n !BuildPathFormControl?.valid\n \"\n >\n Loading build paths\n </h4>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/icon?family=Material+Icons\";@import\"https://fonts.googleapis.com/css?family=Encode+Sans+Condensed:400,900&display=swap\";@import\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&display=swap\";.disable-autofill-background-default input:-webkit-autofill,.disable-autofill-background-default input:-webkit-autofill:hover,.disable-autofill-background-default input:-webkit-autofill:focus,.disable-autofill-background-default textarea:-webkit-autofill,.disable-autofill-background-default textarea:-webkit-autofill:hover,.disable-autofill-background-default textarea:-webkit-autofill:focus,.disable-autofill-background-default select:-webkit-autofill,.disable-autofill-background-default select:-webkit-autofill:hover,.disable-autofill-background-default select:-webkit-autofill:focus{-webkit-transition:background-color 5000s!important;transition:background-color 5000s!important}.list-item-disabled{opacity:.5;filter:alpha(opacity=50);cursor:not-allowed!important}.filler{flex:1 1 auto;display:inline-block!important}.sticky{position:sticky;z-index:750;top:0}.inline{display:inline-block}.contents,.page-element{display:contents}.mat-spinner{margin:auto}.mat-full-width{width:100%}.spread{margin:2rem}.spread-thin{margin:1rem}.overlay{position:sticky!important}.overlay.top{top:0}.overlay.bottom{bottom:0}.margin-0{margin:0!important}.margin-top-0,.margin-y-0{margin-top:0!important}.margin-right-0,.margin-x-0{margin-right:0!important}.margin-bottom-0,.margin-y-0{margin-bottom:0!important}.margin-left-0,.margin-x-0{margin-left:0!important}.margin-1{margin:.25rem!important}.margin-top-1,.margin-y-1{margin-top:.25rem!important}.margin-right-1,.margin-x-1{margin-right:.25rem!important}.margin-bottom-1,.margin-y-1{margin-bottom:.25rem!important}.margin-left-1,.margin-x-1{margin-left:.25rem!important}.margin-2{margin:.5rem!important}.margin-top-2,.margin-y-2{margin-top:.5rem!important}.margin-right-2,.margin-x-2{margin-right:.5rem!important}.margin-bottom-2,.margin-y-2{margin-bottom:.5rem!important}.margin-left-2,.margin-x-2{margin-left:.5rem!important}.margin-3{margin:1rem!important}.margin-top-3,.margin-y-3{margin-top:1rem!important}.margin-top-bottom-3{margin:1rem 0!important}.margin-right-3,.margin-x-3{margin-right:1rem!important}.margin-bottom-3,.margin-y-3{margin-bottom:1rem!important}.margin-left-3,.margin-x-3{margin-left:1rem!important}.margin-4{margin:2rem!important}.margin-top-4,.margin-y-4{margin-top:2rem!important}.margin-right-4,.margin-x-4{margin-right:2rem!important}.margin-bottom-4,.margin-y-4{margin-bottom:2rem!important}.margin-left-4,.margin-x-4{margin-left:2rem!important}.margin-right-5,.margin-x-5{margin-right:4rem!important}.margin-bottom-5,.margin-y-5{margin-bottom:4rem!important}.margin-left-5,.margin-x-5{margin-left:4rem!important}.margin-5{margin:4rem!important}.margin-top-5,.margin-y-5{margin-top:4rem!important}.margin-right-6,.margin-x-6{margin-right:4.5rem!important}.margin-bottom-6,.margin-y-6{margin-bottom:4.5rem!important}.margin-left-6,.margin-x-6{margin-left:4.5rem!important}.margin-7{margin:6rem!important}.margin-top-7,.margin-y-7{margin-top:6rem!important}.margin-right-7,.margin-x-7{margin-right:6rem!important}.margin-bottom-7,.margin-y-7{margin-bottom:6rem!important}.margin-left-7,.margin-x-7{margin-left:6rem!important}.margin-8{margin:7.5rem!important}.margin-top-8,.margin-y-8{margin-top:7.5rem!important}.margin-right-8,.margin-x-8{margin-right:7.5rem!important}.margin-bottom-8,.margin-y-8{margin-bottom:7.5rem!important}.margin-left-8,.margin-x-8{margin-left:7.5rem!important}.margin-9{margin:9rem!important}.margin-top-9,.margin-y-9{margin-top:9rem!important}.margin-right-9,.margin-x-9{margin-right:9rem!important}.margin-bottom-9,.margin-y-9{margin-bottom:9rem!important}.margin-left-9,.margin-x-9{margin-left:9rem!important}.padding-0{padding:0!important}.padding-top-0,.padding-y-0{padding-top:0!important}.padding-right-0,.padding-x-0{padding-right:0!important}.padding-bottom-0,.padding-y-0{padding-bottom:0!important}.padding-left-0,.padding-x-0{padding-left:0!important}.padding-1{padding:.25rem!important}.padding-top-1,.padding-y-1{padding-top:.25rem!important}.padding-right-1,.padding-x-1{padding-right:.25rem!important}.padding-bottom-1,.padding-y-1{padding-bottom:.25rem!important}.padding-left-1,.padding-x-1{padding-left:.25rem!important}.padding-2{padding:.5rem!important}.padding-top-2,.padding-y-2{padding-top:.5rem!important}.padding-right-2,.padding-x-2{padding-right:.5rem!important}.padding-bottom-2,.padding-y-2{padding-bottom:.5rem!important}.padding-left-2,.padding-x-2{padding-left:.5rem!important}.padding-3{padding:1rem!important}.padding-top-3,.padding-y-3{padding-top:1rem!important}.padding-right-3,.padding-x-3{padding-right:1rem!important}.padding-bottom-3,.padding-y-3{padding-bottom:1rem!important}.padding-left-3,.padding-x-3{padding-left:1rem!important}.padding-4{padding:2rem!important}.padding-top-4,.padding-y-4{padding-top:2rem!important}.padding-right-4,.padding-x-4{padding-right:2rem!important}.padding-bottom-4,.padding-y-4{padding-bottom:2rem!important}.padding-left-4,.padding-x-4{padding-left:2rem!important}.padding-5{padding:4rem!important}.padding-top-5,.padding-y-5{padding-top:4rem!important}.padding-right-5,.padding-x-5{padding-right:4rem!important}.padding-bottom-5,.padding-y-5{padding-bottom:4rem!important}.padding-left-5,.padding-x-5{padding-left:4rem!important}.margin-n1{margin:-.25rem!important}.margin-top-n1,.margin-y-n1{margin-top:-.25rem!important}.margin-right-n1,.margin-x-n1{margin-right:-.25rem!important}.margin-bottom-n1,.margin-y-n1{margin-bottom:-.25rem!important}.margin-left-n1,.margin-x-n1{margin-left:-.25rem!important}.margin-n2{margin:-.5rem!important}.margin-top-n2,.margin-y-n2{margin-top:-.5rem!important}.margin-right-n2,.margin-x-n2{margin-right:-.5rem!important}.margin-bottom-n2,.margin-y-n2{margin-bottom:-.5rem!important}.margin-left-n2,.margin-x-n2{margin-left:-.5rem!important}.margin-n3{margin:-1rem!important}.margin-top-n3,.margin-y-n3{margin-top:-1rem!important}.margin-right-n3,.margin-x-n3{margin-right:-1rem!important}.margin-bottom-n3,.margin-y-n3{margin-bottom:-1rem!important}.margin-left-n3,.margin-x-n3{margin-left:-1rem!important}.margin-n4{margin:-2rem!important}.margin-top-n4,.margin-y-n4{margin-top:-2rem!important}.margin-right-n4,.margin-x-n4{margin-right:-2rem!important}.margin-bottom-n4,.margin-y-n4{margin-bottom:-2rem!important}.margin-left-n4,.margin-x-n4{margin-left:-2rem!important}.margin-n5{margin:-4rem!important}.margin-top-n5,.margin-y-n5{margin-top:-4rem!important}.margin-right-n5,.margin-x-n5{margin-right:-4rem!important}.margin-bottom-n5,.margin-y-n5{margin-bottom:-4rem!important}.margin-left-n5,.margin-x-n5{margin-left:-4rem!important}.margin-auto{margin:auto!important}.margin-top-auto,.margin-y-auto{margin-top:auto!important}.margin-right-auto,.margin-x-auto{margin-right:auto!important}.margin-bottom-auto,.margin-y-auto{margin-bottom:auto!important}.margin-left-auto,.margin-x-auto{margin-left:auto!important}@media (min-width: 576px){.margin-sm-0{margin:0!important}.margin-top-sm-0,.margin-y-sm-0{margin-top:0!important}.margin-right-sm-0,.margin-x-sm-0{margin-right:0!important}.margin-bottom-sm-0,.margin-y-sm-0{margin-bottom:0!important}.margin-left-sm-0,.margin-x-sm-0{margin-left:0!important}.margin-sm-1{margin:.25rem!important}.margin-top-sm-1,.margin-y-sm-1{margin-top:.25rem!important}.margin-right-sm-1,.margin-x-sm-1{margin-right:.25rem!important}.margin-bottom-sm-1,.margin-y-sm-1{margin-bottom:.25rem!important}.margin-left-sm-1,.margin-x-sm-1{margin-left:.25rem!important}.margin-sm-2{margin:.5rem!important}.margin-top-sm-2,.margin-y-sm-2{margin-top:.5rem!important}.margin-right-sm-2,.margin-x-sm-2{margin-right:.5rem!important}.margin-bottom-sm-2,.margin-y-sm-2{margin-bottom:.5rem!important}.margin-left-sm-2,.margin-x-sm-2{margin-left:.5rem!important}.margin-sm-3{margin:1rem!important}.margin-top-sm-3,.margin-y-sm-3{margin-top:1rem!important}.margin-right-sm-3,.margin-x-sm-3{margin-right:1rem!important}.margin-bottom-sm-3,.margin-y-sm-3{margin-bottom:1rem!important}.margin-left-sm-3,.margin-x-sm-3{margin-left:1rem!important}.margin-sm-4{margin:2rem!important}.margin-top-sm-4,.margin-y-sm-4{margin-top:2rem!important}.margin-right-sm-4,.margin-x-sm-4{margin-right:2rem!important}.margin-bottom-sm-4,.margin-y-sm-4{margin-bottom:2rem!important}.margin-left-sm-4,.margin-x-sm-4{margin-left:2rem!important}.margin-sm-5{margin:4rem!important}.margin-top-sm-5,.margin-y-sm-5{margin-top:4rem!important}.margin-right-sm-5,.margin-x-sm-5{margin-right:4rem!important}.margin-bottom-sm-5,.margin-y-sm-5{margin-bottom:4rem!important}.margin-left-sm-5,.margin-x-sm-5{margin-left:4rem!important}.padding-sm-0{padding:0!important}.padding-top-sm-0,.padding-y-sm-0{padding-top:0!important}.padding-right-sm-0,.padding-x-sm-0{padding-right:0!important}.padding-bottom-sm-0,.padding-y-sm-0{padding-bottom:0!important}.padding-left-sm-0,.padding-x-sm-0{padding-left:0!important}.padding-sm-1{padding:.25rem!important}.padding-top-sm-1,.padding-y-sm-1{padding-top:.25rem!important}.padding-right-sm-1,.padding-x-sm-1{padding-right:.25rem!important}.padding-bottom-sm-1,.padding-y-sm-1{padding-bottom:.25rem!important}.padding-left-sm-1,.padding-x-sm-1{padding-left:.25rem!important}.padding-sm-2{padding:.5rem!important}.padding-top-sm-2,.padding-y-sm-2{padding-top:.5rem!important}.padding-right-sm-2,.padding-x-sm-2{padding-right:.5rem!important}.padding-bottom-sm-2,.padding-y-sm-2{padding-bottom:.5rem!important}.padding-left-sm-2,.padding-x-sm-2{padding-left:.5rem!important}.padding-sm-3{padding:1rem!important}.padding-top-sm-3,.padding-y-sm-3{padding-top:1rem!important}.padding-right-sm-3,.padding-x-sm-3{padding-right:1rem!important}.padding-bottom-sm-3,.padding-y-sm-3{padding-bottom:1rem!important}.padding-left-sm-3,.padding-x-sm-3{padding-left:1rem!important}.padding-sm-4{padding:2rem!important}.padding-top-sm-4,.padding-y-sm-4{padding-top:2rem!important}.padding-right-sm-4,.padding-x-sm-4{padding-right:2rem!important}.padding-bottom-sm-4,.padding-y-sm-4{padding-bottom:2rem!important}.padding-left-sm-4,.padding-x-sm-4{padding-left:2rem!important}.padding-sm-5{padding:4rem!important}.padding-top-sm-5,.padding-y-sm-5{padding-top:4rem!important}.padding-right-sm-5,.padding-x-sm-5{padding-right:4rem!important}.padding-bottom-sm-5,.padding-y-sm-5{padding-bottom:4rem!important}.padding-left-sm-5,.padding-x-sm-5{padding-left:4rem!important}.margin-sm-n1{margin:-.25rem!important}.margin-top-sm-n1,.margin-y-sm-n1{margin-top:-.25rem!important}.margin-right-sm-n1,.margin-x-sm-n1{margin-right:-.25rem!important}.margin-bottom-sm-n1,.margin-y-sm-n1{margin-bottom:-.25rem!important}.margin-left-sm-n1,.margin-x-sm-n1{margin-left:-.25rem!important}.margin-sm-n2{margin:-.5rem!important}.margin-top-sm-n2,.margin-y-sm-n2{margin-top:-.5rem!important}.margin-right-sm-n2,.margin-x-sm-n2{margin-right:-.5rem!important}.margin-bottom-sm-n2,.margin-y-sm-n2{margin-bottom:-.5rem!important}.margin-left-sm-n2,.margin-x-sm-n2{margin-left:-.5rem!important}.margin-sm-n3{margin:-1rem!important}.margin-top-sm-n3,.margin-y-sm-n3{margin-top:-1rem!important}.margin-right-sm-n3,.margin-x-sm-n3{margin-right:-1rem!important}.margin-bottom-sm-n3,.margin-y-sm-n3{margin-bottom:-1rem!important}.margin-left-sm-n3,.margin-x-sm-n3{margin-left:-1rem!important}.margin-sm-n4{margin:-2rem!important}.margin-top-sm-n4,.margin-y-sm-n4{margin-top:-2rem!important}.margin-right-sm-n4,.margin-x-sm-n4{margin-right:-2rem!important}.margin-bottom-sm-n4,.margin-y-sm-n4{margin-bottom:-2rem!important}.margin-left-sm-n4,.margin-x-sm-n4{margin-left:-2rem!important}.margin-sm-n5{margin:-4rem!important}.margin-top-sm-n5,.margin-y-sm-n5{margin-top:-4rem!important}.margin-right-sm-n5,.margin-x-sm-n5{margin-right:-4rem!important}.margin-bottom-sm-n5,.margin-y-sm-n5{margin-bottom:-4rem!important}.margin-left-sm-n5,.margin-x-sm-n5{margin-left:-4rem!important}.margin-sm-auto{margin:auto!important}.margin-top-sm-auto,.margin-y-sm-auto{margin-top:auto!important}.margin-right-sm-auto,.margin-x-sm-auto{margin-right:auto!important}.margin-bottom-sm-auto,.margin-y-sm-auto{margin-bottom:auto!important}.margin-left-sm-auto,.margin-x-sm-auto{margin-left:auto!important}}@media (min-width: 768px){.margin-md-0{margin:0!important}.margin-top-md-0,.margin-y-md-0{margin-top:0!important}.margin-right-md-0,.margin-x-md-0{margin-right:0!important}.margin-bottom-md-0,.margin-y-md-0{margin-bottom:0!important}.margin-left-md-0,.margin-x-md-0{margin-left:0!important}.margin-md-1{margin:.25rem!important}.margin-top-md-1,.margin-y-md-1{margin-top:.25rem!important}.margin-right-md-1,.margin-x-md-1{margin-right:.25rem!important}.margin-bottom-md-1,.margin-y-md-1{margin-bottom:.25rem!important}.margin-left-md-1,.margin-x-md-1{margin-left:.25rem!important}.margin-md-2{margin:.5rem!important}.margin-top-md-2,.margin-y-md-2{margin-top:.5rem!important}.margin-right-md-2,.margin-x-md-2{margin-right:.5rem!important}.margin-bottom-md-2,.margin-y-md-2{margin-bottom:.5rem!important}.margin-left-md-2,.margin-x-md-2{margin-left:.5rem!important}.margin-md-3{margin:1rem!important}.margin-top-md-3,.margin-y-md-3{margin-top:1rem!important}.margin-right-md-3,.margin-x-md-3{margin-right:1rem!important}.margin-bottom-md-3,.margin-y-md-3{margin-bottom:1rem!important}.margin-left-md-3,.margin-x-md-3{margin-left:1rem!important}.margin-md-4{margin:2rem!important}.margin-top-md-4,.margin-y-md-4{margin-top:2rem!important}.margin-right-md-4,.margin-x-md-4{margin-right:2rem!important}.margin-bottom-md-4,.margin-y-md-4{margin-bottom:2rem!important}.margin-left-md-4,.margin-x-md-4{margin-left:2rem!important}.margin-md-5{margin:4rem!important}.margin-top-md-5,.margin-y-md-5{margin-top:4rem!important}.margin-right-md-5,.margin-x-md-5{margin-right:4rem!important}.margin-bottom-md-5,.margin-y-md-5{margin-bottom:4rem!important}.margin-left-md-5,.margin-x-md-5{margin-left:4rem!important}.padding-md-0{padding:0!important}.padding-top-md-0,.padding-y-md-0{padding-top:0!important}.padding-right-md-0,.padding-x-md-0{padding-right:0!important}.padding-bottom-md-0,.padding-y-md-0{padding-bottom:0!important}.padding-left-md-0,.padding-x-md-0{padding-left:0!important}.padding-md-1{padding:.25rem!important}.padding-top-md-1,.padding-y-md-1{padding-top:.25rem!important}.padding-right-md-1,.padding-x-md-1{padding-right:.25rem!important}.padding-bottom-md-1,.padding-y-md-1{padding-bottom:.25rem!important}.padding-left-md-1,.padding-x-md-1{padding-left:.25rem!important}.padding-md-2{padding:.5rem!important}.padding-top-md-2,.padding-y-md-2{padding-top:.5rem!important}.padding-right-md-2,.padding-x-md-2{padding-right:.5rem!important}.padding-bottom-md-2,.padding-y-md-2{padding-bottom:.5rem!important}.padding-left-md-2,.padding-x-md-2{padding-left:.5rem!important}.padding-md-3{padding:1rem!important}.padding-top-md-3,.padding-y-md-3{padding-top:1rem!important}.padding-right-md-3,.padding-x-md-3{padding-right:1rem!important}.padding-bottom-md-3,.padding-y-md-3{padding-bottom:1rem!important}.padding-left-md-3,.padding-x-md-3{padding-left:1rem!important}.padding-md-4{padding:2rem!important}.padding-top-md-4,.padding-y-md-4{padding-top:2rem!important}.padding-right-md-4,.padding-x-md-4{padding-right:2rem!important}.padding-bottom-md-4,.padding-y-md-4{padding-bottom:2rem!important}.padding-left-md-4,.padding-x-md-4{padding-left:2rem!important}.padding-md-5{padding:4rem!important}.padding-top-md-5,.padding-y-md-5{padding-top:4rem!important}.padding-right-md-5,.padding-x-md-5{padding-right:4rem!important}.padding-bottom-md-5,.padding-y-md-5{padding-bottom:4rem!important}.padding-left-md-5,.padding-x-md-5{padding-left:4rem!important}.margin-md-n1{margin:-.25rem!important}.margin-top-md-n1,.margin-y-md-n1{margin-top:-.25rem!important}.margin-right-md-n1,.margin-x-md-n1{margin-right:-.25rem!important}.margin-bottom-md-n1,.margin-y-md-n1{margin-bottom:-.25rem!important}.margin-left-md-n1,.margin-x-md-n1{margin-left:-.25rem!important}.margin-md-n2{margin:-.5rem!important}.margin-top-md-n2,.margin-y-md-n2{margin-top:-.5rem!important}.margin-right-md-n2,.margin-x-md-n2{margin-right:-.5rem!important}.margin-bottom-md-n2,.margin-y-md-n2{margin-bottom:-.5rem!important}.margin-left-md-n2,.margin-x-md-n2{margin-left:-.5rem!important}.margin-md-n3{margin:-1rem!important}.margin-top-md-n3,.margin-y-md-n3{margin-top:-1rem!important}.margin-right-md-n3,.margin-x-md-n3{margin-right:-1rem!important}.margin-bottom-md-n3,.margin-y-md-n3{margin-bottom:-1rem!important}.margin-left-md-n3,.margin-x-md-n3{margin-left:-1rem!important}.margin-md-n4{margin:-2rem!important}.margin-top-md-n4,.margin-y-md-n4{margin-top:-2rem!important}.margin-right-md-n4,.margin-x-md-n4{margin-right:-2rem!important}.margin-bottom-md-n4,.margin-y-md-n4{margin-bottom:-2rem!important}.margin-left-md-n4,.margin-x-md-n4{margin-left:-2rem!important}.margin-md-n5{margin:-4rem!important}.margin-top-md-n5,.margin-y-md-n5{margin-top:-4rem!important}.margin-right-md-n5,.margin-x-md-n5{margin-right:-4rem!important}.margin-bottom-md-n5,.margin-y-md-n5{margin-bottom:-4rem!important}.margin-left-md-n5,.margin-x-md-n5{margin-left:-4rem!important}.margin-md-auto{margin:auto!important}.margin-top-md-auto,.margin-y-md-auto{margin-top:auto!important}.margin-right-md-auto,.margin-x-md-auto{margin-right:auto!important}.margin-bottom-md-auto,.margin-y-md-auto{margin-bottom:auto!important}.margin-left-md-auto,.margin-x-md-auto{margin-left:auto!important}}@media (min-width: 992px){.margin-lg-0{margin:0!important}.margin-top-lg-0,.margin-y-lg-0{margin-top:0!important}.margin-right-lg-0,.margin-x-lg-0{margin-right:0!important}.margin-bottom-lg-0,.margin-y-lg-0{margin-bottom:0!important}.margin-left-lg-0,.margin-x-lg-0{margin-left:0!important}.margin-lg-1{margin:.25rem!important}.margin-top-lg-1,.margin-y-lg-1{margin-top:.25rem!important}.margin-right-lg-1,.margin-x-lg-1{margin-right:.25rem!important}.margin-bottom-lg-1,.margin-y-lg-1{margin-bottom:.25rem!important}.margin-left-lg-1,.margin-x-lg-1{margin-left:.25rem!important}.margin-lg-2{margin:.5rem!important}.margin-top-lg-2,.margin-y-lg-2{margin-top:.5rem!important}.margin-right-lg-2,.margin-x-lg-2{margin-right:.5rem!important}.margin-bottom-lg-2,.margin-y-lg-2{margin-bottom:.5rem!important}.margin-left-lg-2,.margin-x-lg-2{margin-left:.5rem!important}.margin-lg-3{margin:1rem!important}.margin-top-lg-3,.margin-y-lg-3{margin-top:1rem!important}.margin-right-lg-3,.margin-x-lg-3{margin-right:1rem!important}.margin-bottom-lg-3,.margin-y-lg-3{margin-bottom:1rem!important}.margin-left-lg-3,.margin-x-lg-3{margin-left:1rem!important}.margin-lg-4{margin:2rem!important}.margin-top-lg-4,.margin-y-lg-4{margin-top:2rem!important}.margin-right-lg-4,.margin-x-lg-4{margin-right:2rem!important}.margin-bottom-lg-4,.margin-y-lg-4{margin-bottom:2rem!important}.margin-left-lg-4,.margin-x-lg-4{margin-left:2rem!important}.margin-lg-5{margin:4rem!important}.margin-top-lg-5,.margin-y-lg-5{margin-top:4rem!important}.margin-right-lg-5,.margin-x-lg-5{margin-right:4rem!important}.margin-bottom-lg-5,.margin-y-lg-5{margin-bottom:4rem!important}.margin-left-lg-5,.margin-x-lg-5{margin-left:4rem!important}.padding-lg-0{padding:0!important}.padding-top-lg-0,.padding-y-lg-0{padding-top:0!important}.padding-right-lg-0,.padding-x-lg-0{padding-right:0!important}.padding-bottom-lg-0,.padding-y-lg-0{padding-bottom:0!important}.padding-left-lg-0,.padding-x-lg-0{padding-left:0!important}.padding-lg-1{padding:.25rem!important}.padding-top-lg-1,.padding-y-lg-1{padding-top:.25rem!important}.padding-right-lg-1,.padding-x-lg-1{padding-right:.25rem!important}.padding-bottom-lg-1,.padding-y-lg-1{padding-bottom:.25rem!important}.padding-left-lg-1,.padding-x-lg-1{padding-left:.25rem!important}.padding-lg-2{padding:.5rem!important}.padding-top-lg-2,.padding-y-lg-2{padding-top:.5rem!important}.padding-right-lg-2,.padding-x-lg-2{padding-right:.5rem!important}.padding-bottom-lg-2,.padding-y-lg-2{padding-bottom:.5rem!important}.padding-left-lg-2,.padding-x-lg-2{padding-left:.5rem!important}.padding-lg-3{padding:1rem!important}.padding-top-lg-3,.padding-y-lg-3{padding-top:1rem!important}.padding-right-lg-3,.padding-x-lg-3{padding-right:1rem!important}.padding-bottom-lg-3,.padding-y-lg-3{padding-bottom:1rem!important}.padding-left-lg-3,.padding-x-lg-3{padding-left:1rem!important}.padding-lg-4{padding:2rem!important}.padding-top-lg-4,.padding-y-lg-4{padding-top:2rem!important}.padding-right-lg-4,.padding-x-lg-4{padding-right:2rem!important}.padding-bottom-lg-4,.padding-y-lg-4{padding-bottom:2rem!important}.padding-left-lg-4,.padding-x-lg-4{padding-left:2rem!important}.padding-lg-5{padding:4rem!important}.padding-top-lg-5,.padding-y-lg-5{padding-top:4rem!important}.padding-right-lg-5,.padding-x-lg-5{padding-right:4rem!important}.padding-bottom-lg-5,.padding-y-lg-5{padding-bottom:4rem!important}.padding-left-lg-5,.padding-x-lg-5{padding-left:4rem!important}.margin-lg-n1{margin:-.25rem!important}.margin-top-lg-n1,.margin-y-lg-n1{margin-top:-.25rem!important}.margin-right-lg-n1,.margin-x-lg-n1{margin-right:-.25rem!important}.margin-bottom-lg-n1,.margin-y-lg-n1{margin-bottom:-.25rem!important}.margin-left-lg-n1,.margin-x-lg-n1{margin-left:-.25rem!important}.margin-lg-n2{margin:-.5rem!important}.margin-top-lg-n2,.margin-y-lg-n2{margin-top:-.5rem!important}.margin-right-lg-n2,.margin-x-lg-n2{margin-right:-.5rem!important}.margin-bottom-lg-n2,.margin-y-lg-n2{margin-bottom:-.5rem!important}.margin-left-lg-n2,.margin-x-lg-n2{margin-left:-.5rem!important}.margin-lg-n3{margin:-1rem!important}.margin-top-lg-n3,.margin-y-lg-n3{margin-top:-1rem!important}.margin-right-lg-n3,.margin-x-lg-n3{margin-right:-1rem!important}.margin-bottom-lg-n3,.margin-y-lg-n3{margin-bottom:-1rem!important}.margin-left-lg-n3,.margin-x-lg-n3{margin-left:-1rem!important}.margin-lg-n4{margin:-2rem!important}.margin-top-lg-n4,.margin-y-lg-n4{margin-top:-2rem!important}.margin-right-lg-n4,.margin-x-lg-n4{margin-right:-2rem!important}.margin-bottom-lg-n4,.margin-y-lg-n4{margin-bottom:-2rem!important}.margin-left-lg-n4,.margin-x-lg-n4{margin-left:-2rem!important}.margin-lg-n5{margin:-4rem!important}.margin-top-lg-n5,.margin-y-lg-n5{margin-top:-4rem!important}.margin-right-lg-n5,.margin-x-lg-n5{margin-right:-4rem!important}.margin-bottom-lg-n5,.margin-y-lg-n5{margin-bottom:-4rem!important}.margin-left-lg-n5,.margin-x-lg-n5{margin-left:-4rem!important}.margin-lg-auto{margin:auto!important}.margin-top-lg-auto,.margin-y-lg-auto{margin-top:auto!important}.margin-right-lg-auto,.margin-x-lg-auto{margin-right:auto!important}.margin-bottom-lg-auto,.margin-y-lg-auto{margin-bottom:auto!important}.margin-left-lg-auto,.margin-x-lg-auto{margin-left:auto!important}}@media (min-width: 1200px){.margin-xl-0{margin:0!important}.margin-top-xl-0,.margin-y-xl-0{margin-top:0!important}.margin-right-xl-0,.margin-x-xl-0{margin-right:0!important}.margin-bottom-xl-0,.margin-y-xl-0{margin-bottom:0!important}.margin-left-xl-0,.margin-x-xl-0{margin-left:0!important}.margin-xl-1{margin:.25rem!important}.margin-top-xl-1,.margin-y-xl-1{margin-top:.25rem!important}.margin-right-xl-1,.margin-x-xl-1{margin-right:.25rem!important}.margin-bottom-xl-1,.margin-y-xl-1{margin-bottom:.25rem!important}.margin-left-xl-1,.margin-x-xl-1{margin-left:.25rem!important}.margin-xl-2{margin:.5rem!important}.margin-top-xl-2,.margin-y-xl-2{margin-top:.5rem!important}.margin-right-xl-2,.margin-x-xl-2{margin-right:.5rem!important}.margin-bottom-xl-2,.margin-y-xl-2{margin-bottom:.5rem!important}.margin-left-xl-2,.margin-x-xl-2{margin-left:.5rem!important}.margin-xl-3{margin:1rem!important}.margin-top-xl-3,.margin-y-xl-3{margin-top:1rem!important}.margin-right-xl-3,.margin-x-xl-3{margin-right:1rem!important}.margin-bottom-xl-3,.margin-y-xl-3{margin-bottom:1rem!important}.margin-left-xl-3,.margin-x-xl-3{margin-left:1rem!important}.margin-xl-4{margin:2rem!important}.margin-top-xl-4,.margin-y-xl-4{margin-top:2rem!important}.margin-right-xl-4,.margin-x-xl-4{margin-right:2rem!important}.margin-bottom-xl-4,.margin-y-xl-4{margin-bottom:2rem!important}.margin-left-xl-4,.margin-x-xl-4{margin-left:2rem!important}.margin-xl-5{margin:4rem!important}.margin-top-xl-5,.margin-y-xl-5{margin-top:4rem!important}.margin-right-xl-5,.margin-x-xl-5{margin-right:4rem!important}.margin-bottom-xl-5,.margin-y-xl-5{margin-bottom:4rem!important}.margin-left-xl-5,.margin-x-xl-5{margin-left:4rem!important}.padding-xl-0{padding:0!important}.padding-top-xl-0,.padding-y-xl-0{padding-top:0!important}.padding-right-xl-0,.padding-x-xl-0{padding-right:0!important}.padding-bottom-xl-0,.padding-y-xl-0{padding-bottom:0!important}.padding-left-xl-0,.padding-x-xl-0{padding-left:0!important}.padding-xl-1{padding:.25rem!important}.padding-top-xl-1,.padding-y-xl-1{padding-top:.25rem!important}.padding-right-xl-1,.padding-x-xl-1{padding-right:.25rem!important}.padding-bottom-xl-1,.padding-y-xl-1{padding-bottom:.25rem!important}.padding-left-xl-1,.padding-x-xl-1{padding-left:.25rem!important}.padding-xl-2{padding:.5rem!important}.padding-top-xl-2,.padding-y-xl-2{padding-top:.5rem!important}.padding-right-xl-2,.padding-x-xl-2{padding-right:.5rem!important}.padding-bottom-xl-2,.padding-y-xl-2{padding-bottom:.5rem!important}.padding-left-xl-2,.padding-x-xl-2{padding-left:.5rem!important}.padding-xl-3{padding:1rem!important}.padding-top-xl-3,.padding-y-xl-3{padding-top:1rem!important}.padding-right-xl-3,.padding-x-xl-3{padding-right:1rem!important}.padding-bottom-xl-3,.padding-y-xl-3{padding-bottom:1rem!important}.padding-left-xl-3,.padding-x-xl-3{padding-left:1rem!important}.padding-xl-4{padding:2rem!important}.padding-top-xl-4,.padding-y-xl-4{padding-top:2rem!important}.padding-right-xl-4,.padding-x-xl-4{padding-right:2rem!important}.padding-bottom-xl-4,.padding-y-xl-4{padding-bottom:2rem!important}.padding-left-xl-4,.padding-x-xl-4{padding-left:2rem!important}.padding-xl-5{padding:4rem!important}.padding-top-xl-5,.padding-y-xl-5{padding-top:4rem!important}.padding-right-xl-5,.padding-x-xl-5{padding-right:4rem!important}.padding-bottom-xl-5,.padding-y-xl-5{padding-bottom:4rem!important}.padding-left-xl-5,.padding-x-xl-5{padding-left:4rem!important}.margin-xl-n1{margin:-.25rem!important}.margin-top-xl-n1,.margin-y-xl-n1{margin-top:-.25rem!important}.margin-right-xl-n1,.margin-x-xl-n1{margin-right:-.25rem!important}.margin-bottom-xl-n1,.margin-y-xl-n1{margin-bottom:-.25rem!important}.margin-left-xl-n1,.margin-x-xl-n1{margin-left:-.25rem!important}.margin-xl-n2{margin:-.5rem!important}.margin-top-xl-n2,.margin-y-xl-n2{margin-top:-.5rem!important}.margin-right-xl-n2,.margin-x-xl-n2{margin-right:-.5rem!important}.margin-bottom-xl-n2,.margin-y-xl-n2{margin-bottom:-.5rem!important}.margin-left-xl-n2,.margin-x-xl-n2{margin-left:-.5rem!important}.margin-xl-n3{margin:-1rem!important}.margin-top-xl-n3,.margin-y-xl-n3{margin-top:-1rem!important}.margin-right-xl-n3,.margin-x-xl-n3{margin-right:-1rem!important}.margin-bottom-xl-n3,.margin-y-xl-n3{margin-bottom:-1rem!important}.margin-left-xl-n3,.margin-x-xl-n3{margin-left:-1rem!important}.margin-xl-n4{margin:-2rem!important}.margin-top-xl-n4,.margin-y-xl-n4{margin-top:-2rem!important}.margin-right-xl-n4,.margin-x-xl-n4{margin-right:-2rem!important}.margin-bottom-xl-n4,.margin-y-xl-n4{margin-bottom:-2rem!important}.margin-left-xl-n4,.margin-x-xl-n4{margin-left:-2rem!important}.margin-xl-n5{margin:-4rem!important}.margin-top-xl-n5,.margin-y-xl-n5{margin-top:-4rem!important}.margin-right-xl-n5,.margin-x-xl-n5{margin-right:-4rem!important}.margin-bottom-xl-n5,.margin-y-xl-n5{margin-bottom:-4rem!important}.margin-left-xl-n5,.margin-x-xl-n5{margin-left:-4rem!important}.margin-xl-auto{margin:auto!important}.margin-top-xl-auto,.margin-y-xl-auto{margin-top:auto!important}.margin-right-xl-auto,.margin-x-xl-auto{margin-right:auto!important}.margin-bottom-xl-auto,.margin-y-xl-auto{margin-bottom:auto!important}.margin-left-xl-auto,.margin-x-xl-auto{margin-left:auto!important}}.h1{font-size:2em}.h2{font-size:1.5em}.h3{font-size:1.17em}.h4{font-size:1em}.h5{font-size:.83em}.h6{font-size:.67em}.cursor-alias{cursor:alias}.cursor-all-scroll{cursor:all-scroll}.cursor-auto{cursor:auto}.cursor-cell{cursor:cell}.cursor-context-menu{cursor:context-menu}.cursor-col-resize{cursor:col-resize}.cursor-copy{cursor:copy}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-e-resize{cursor:e-resize}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-n-resize{cursor:n-resize}.cursor-ne-resize{cursor:ne-resize}.cursor-nesw-resize{cursor:nesw-resize}.cursor-ns-resize{cursor:ns-resize}.cursor-nw-resize{cursor:nw-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-no-drop{cursor:no-drop}.cursor-none{cursor:none}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-progress{cursor:progress}.cursor-row-resize{cursor:row-resize}.cursor-s-resize{cursor:s-resize}.cursor-se-resize{cursor:se-resize}.cursor-sw-resize{cursor:sw-resize}.cursor-text{cursor:text}.cursor-w-resize{cursor:w-resize}.cursor-wait{cursor:wait}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.mat-tooltip{font-size:16px!important}html,body{height:100%}body{margin:0;padding:0;font-family:opens sans regular,sans-serif}iframe{border:none}.mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,Helvetica Neue,sans-serif}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-body-strong,.mat-body-2{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption{font:400 12px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-button,.mat-raised-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button,.mat-fab,.mat-mini-fab{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,Helvetica Neue,sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-subtitle,.mat-card-content{font-size:14px}.mat-checkbox{font-family:Roboto,Helvetica Neue,sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-trailing-icon.mat-icon,.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,Helvetica Neue,sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-expansion-panel-header{font-family:Roboto,Helvetica Neue,sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.3333333333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.3333433333%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.6666666667em;top:calc(100% - 1.7916666667em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);width:133.3333333333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);width:133.3333433333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);width:133.3333533333%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.5416666667em;top:calc(100% - 1.6666666667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.3333433333%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.3333433333%}.mat-grid-tile-header,.mat-grid-tile-footer{font-size:14px}.mat-grid-tile-header .mat-line,.mat-grid-tile-footer .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-header .mat-line:nth-child(n+2),.mat-grid-tile-footer .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,Helvetica Neue,sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,Helvetica Neue,sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-stepper-vertical,.mat-stepper-horizontal{font-family:Roboto,Helvetica Neue,sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0}.mat-tooltip{font-family:Roboto,Helvetica Neue,sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item,.mat-list-option{font-family:Roboto,Helvetica Neue,sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-simple-snackbar{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-tree{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tree-node,.mat-nested-tree-node{font-weight:400;font-size:14px}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale(0)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator,.mat-mdc-focus-indicator{position:relative}.title,.header{font-family:Encode Sans Condensed,sans-serif;font-weight:900}.paragraph-title,.tagline{font-family:Open Sans,sans-serif;font-weight:400}.paragraph-title-bold .tagLine-bold{font-family:Open Sans,sans-serif;font-weight:700}.plain-text,.remarks{font-family:Open Sans,sans-serif;font-weight:300}.plain-text-bold{font-family:Open Sans,sans-serif;font-weight:700}.flex-column{box-sizing:border-box;display:flex;flex-direction:column}.flex-row{box-sizing:border-box;display:flex;flex-direction:row}.flex-row-center{align-items:center;justify-content:center}.mat-button-large{line-height:48px;font-size:18px;font-weight:700;padding:0 24px!important}.mat-round{border-radius:.5em}:root{--initial-primary: #4a918e;--initial-accent: #9cd8d7;--initial-warn: #ef4351;--initial-dark-background: #222222;--initial-light-background: #f2f2f2;--initial-light-background: white;--initial-light-text: rgba(0, 0, 0, .87);--initial-dark-text: rgba(255, 255, 255, .87);--background: #050505;--orange-accent: #ff9800;--green-accent: #00e676;--yellow-accent: #fdd835;--purple-accent: #9c27b0;--cyan-accent: rgba(132, 255, 255, .75);--pink-accent: #e91e63;--success: #00e676}body{background-color:var(--initial-dark-background)}::ng-deep .mat-tooltip{font-size:16px!important}:host .valid-control{color:var(--green-accent)}:host .invalid-control{color:var(--theme-warn-500)}:host .actions .item:not(:last-child){margin-right:0}:host .project-thumbnail img{height:50px;width:auto}:host .active{background-color:var(--theme-accent-400);transition:background-color 1s linear}:host .inactive{background-color:#f2f5a900;transition:background-color 1s linear}:host .expansion-panel{width:100%;margin-bottom:10px}:host .expansion-container{max-height:300px;overflow-y:auto}:host .divider-fill-vert{background-color:var(--theme-accent-500);min-height:100%;top:10%;bottom:10%;min-width:5px}:host .divider-fill-hor{background-color:var(--theme-accent-500);height:5px;width:100%}:host .form-disabled{background-color:#797979;opacity:.5;border-radius:4px}::ng-deep input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s;-webkit-text-fill-color:#FFFFFFDE}@media (max-width: 768px){.spread{margin:1em!important}}@media (max-width: 480px){.spread{margin:.5em!important}}.spinner-logo{display:none!important}:host ::ng-deep a{text-decoration:none;color:#4a918e}\n"], components: [{ type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i7.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"] }, { type: i8.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i9.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i7.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { type: i10.LoaderComponent, selector: "lcu-loader", inputs: ["diameter", "hide-inner", "loading"] }], directives: [{ type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatPrefix, selector: "[matPrefix]" }, { type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.MatSuffix, selector: "[matSuffix]" }, { type: i12.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i13.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i14.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i3.MatLabel, selector: "mat-label" }, { type: i9.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i9.MatChipRemove, selector: "[matChipRemove]" }, { type: i8.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i9.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }] });
|
|
245
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: SourceControlFormControlsComponent, decorators: [{
|
|
246
|
+
type: Component,
|
|
247
|
+
args: [{ selector: 'lcu-source-control-form-controls', template: "<div [formGroup]=\"FormGroup\">\n <div class=\"card\" *ngIf=\"OrganizationFormControl?.valid || !Loading\">\n <mat-form-field\n class=\"mat-full-width with-hint\"\n *ngIf=\"OrganizationOptions?.length > 0\"\n >\n <mat-icon class=\"org-icon\" matPrefix>corporate_fare</mat-icon>\n\n <mat-select\n [formControlName]=\"SourceControlRoot + 'organization'\"\n placeholder=\"Organization\"\n (selectionChange)=\"OrganizationChanged($event)\"\n [disabled]=\"Loading || OrganizationDisabled\"\n required\n >\n <ng-container *ngFor=\"let orgOpt of OrganizationOptions\">\n <mat-option [value]=\"orgOpt.Name\">\n {{ orgOpt.Name }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <mat-icon matSuffix (click)=\"RefreshOrganizations()\" matTooltip=\"Refresh Organization\"> refresh </mat-icon>\n\n <a\n matSuffix\n href=\"/.oauth/github?oauth-force-edit=true\"\n target=\"_blank\"\n color=\"accent\"\n >\n <mat-icon color=\"accent\" matTooltip=\"Re-authorize Organizations\"> launch </mat-icon>\n </a>\n\n <mat-hint>\n If you don't have an organization or would like to create a new one,\n <a\n href=\"https://github.com/account/organizations/new\"\n target=\"_blank\"\n >\n start here\n </a>\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div\n class=\"card\"\n *ngIf=\"\n RepositoryFormControl?.valid ||\n (OrganizationFormControl?.valid && !Loading)\n \"\n >\n <mat-form-field class=\"mat-full-width\">\n <mat-icon class=\"org-icon\" matPrefix>description</mat-icon>\n\n <mat-select\n [formControlName]=\"SourceControlRoot + 'repository'\"\n [placeholder]=\"\n OrganizationFormControl?.valid\n ? 'Repository'\n : 'Repository (select organization first)'\n \"\n [disabled]=\"\n !OrganizationFormControl?.valid || Loading || RepositoryDisabled\n \"\n (selectionChange)=\"RepositoryChanged($event)\"\n *ngIf=\"!CreatingRepository\"\n required\n >\n <ng-container *ngFor=\"let repoOpt of RepositoryOptions\">\n <mat-option [value]=\"repoOpt.Name\">\n {{ repoOpt.Name }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <input\n matInput\n placeholder=\"Repository (creates new if does not exist)\"\n [formControlName]=\"SourceControlRoot + 'repository'\"\n *ngIf=\"CreatingRepository\"\n [fxHide]=\"Loading || RepositoryDisabled\"\n required\n />\n\n <mat-icon\n matSuffix\n (click)=\"CreateRepository()\"\n [fxHide]=\"Loading || RepositoryDisabled\"\n *ngIf=\"!CreatingRepository && OrganizationFormControl?.valid\"\n >\n add_circle\n </mat-icon>\n\n <button mat-button type=\"button\" \n (click)=\"SaveRepository()\" \n *ngIf=\"CreatingRepository && RepositoryFormControl?.valid\">\n\n <mat-icon\n matSuffix\n color=\"primary\"\n >\n save\n </mat-icon>\n </button>\n\n <button mat-button type=\"button\" \n (click)=\"CancelCreateRepository()\"\n *ngIf=\"CreatingRepository\">\n\n <mat-icon\n matSuffix\n \n >\n cancel\n </mat-icon>\n </button>\n </mat-form-field>\n </div>\n\n <div\n class=\"card\"\n *ngIf=\"\n (BranchesFormControl?.valid ||\n (OrganizationFormControl?.valid &&\n RepositoryFormControl?.valid &&\n !Loading)) &&\n !CreatingRepository &&\n UseBranches\n \"\n >\n <mat-form-field class=\"mat-full-width\">\n <mat-icon class=\"org-icon\" matPrefix>account_tree</mat-icon>\n\n <mat-label>Selected Branches</mat-label>\n\n <mat-autocomplete\n (optionSelected)=\"BranchOptionSelected($event)\"\n #branchOptions=\"matAutocomplete\"\n >\n <ng-container *ngFor=\"let branchOpt of BranchOptions\">\n <mat-option [value]=\"branchOpt.Name\">\n {{ branchOpt.Name }}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n\n <mat-chip-list #selectedBranches>\n <mat-chip\n [removable]=\"true\"\n (removed)=\"RemoveBranchOption(selBranch)\"\n *ngFor=\"let selBranch of SelectedBranches\"\n >\n {{ selBranch }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n\n <input\n matInput\n placeholder=\"New Branch...\"\n [formControlName]=\"SourceControlRoot + 'branches'\"\n #branches\n [matAutocomplete]=\"branchOptions\"\n [matChipInputFor]=\"selectedBranches\"\n [matChipInputSeparatorKeyCodes]=\"SeparatorKeysCodes\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"AddBranchOption($event)\"\n [disabled]=\"Loading || BranchesDisabled\"\n required\n />\n </mat-chip-list>\n </mat-form-field>\n\n <mat-form-field\n class=\"mat-full-width with-hint\"\n [fxShow]=\"SelectedBranches?.length > 1\"\n >\n <mat-icon class=\"org-icon\" matPrefix>account_tree</mat-icon>\n\n <mat-select\n [formControlName]=\"SourceControlRoot + 'mainBranch'\"\n placeholder=\"Main Branch\"\n [disabled]=\"Loading || BranchesDisabled\"\n (selectionChange)=\"MainBranchChanged($event)\"\n required\n >\n <ng-container *ngFor=\"let branch of SelectedBranches\">\n <mat-option [value]=\"branch\">\n {{ branch }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <mat-icon matSuffix (click)=\"RefreshOrganizations()\"> refresh </mat-icon>\n\n <a\n matSuffix\n mat-icon-button\n href=\"/.oauth/github?oauth-force-edit=true\"\n \n target=\"_blank\"\n color=\"accent\"\n >\n <mat-icon\n matTooltip=\"Re-authorize Organizations\"\n color=\"accent\"> launch </mat-icon>\n </a>\n\n <mat-hint>\n If you don't have an organization or would like to create a new one,\n <a\n href=\"https://github.com/account/organizations/new\"\n target=\"_blank\"\n >\n start here\n </a>\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div\n class=\"card\"\n *ngIf=\"\n (BuildPathFormControl?.valid ||\n (OrganizationFormControl?.valid &&\n RepositoryFormControl?.valid &&\n !Loading)) &&\n !CreatingRepository &&\n UseBuildPath\n \"\n >\n <mat-form-field class=\"mat-full-width with-hint\">\n <mat-icon class=\"org-icon\" matPrefix>build</mat-icon>\n\n <mat-select\n [formControlName]=\"SourceControlRoot + 'buildPath'\"\n placeholder=\"Build Path\"\n [disabled]=\"Loading || BuildPathDisabled\"\n (selectionChange)=\"BuildPathChanged($event)\"\n required\n >\n <ng-container *ngFor=\"let buildPath of BuildPathOptions\">\n <mat-option [value]=\"buildPath\">\n {{ buildPath }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <mat-hint>\n The build path identifies which build action to use for your\n configuration.\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div *ngIf=\"Loading\">\n <div class=\"spread\">\n <lcu-loader style=\"margin: auto\" [loading]=\"true\"></lcu-loader>\n\n <div class=\"margin-3\">\n <h4 class=\"mat-title\" *ngIf=\"!OrganizationFormControl?.valid\">\n Loading organizations\n </h4>\n\n <h4\n class=\"mat-title\"\n *ngIf=\"\n OrganizationFormControl?.valid && !RepositoryFormControl?.valid\n \"\n >\n Loading repositories\n </h4>\n\n <h4\n class=\"mat-title\"\n *ngIf=\"RepositoryFormControl?.valid && !BranchesFormControl?.valid\"\n >\n Loading branches\n </h4>\n\n <h4\n class=\"mat-title\"\n *ngIf=\"\n (RepositoryFormControl?.valid || BranchesFormControl?.valid) &&\n !BuildPathFormControl?.valid\n \"\n >\n Loading build paths\n </h4>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/icon?family=Material+Icons\";@import\"https://fonts.googleapis.com/css?family=Encode+Sans+Condensed:400,900&display=swap\";@import\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&display=swap\";.disable-autofill-background-default input:-webkit-autofill,.disable-autofill-background-default input:-webkit-autofill:hover,.disable-autofill-background-default input:-webkit-autofill:focus,.disable-autofill-background-default textarea:-webkit-autofill,.disable-autofill-background-default textarea:-webkit-autofill:hover,.disable-autofill-background-default textarea:-webkit-autofill:focus,.disable-autofill-background-default select:-webkit-autofill,.disable-autofill-background-default select:-webkit-autofill:hover,.disable-autofill-background-default select:-webkit-autofill:focus{-webkit-transition:background-color 5000s!important;transition:background-color 5000s!important}.list-item-disabled{opacity:.5;filter:alpha(opacity=50);cursor:not-allowed!important}.filler{flex:1 1 auto;display:inline-block!important}.sticky{position:sticky;z-index:750;top:0}.inline{display:inline-block}.contents,.page-element{display:contents}.mat-spinner{margin:auto}.mat-full-width{width:100%}.spread{margin:2rem}.spread-thin{margin:1rem}.overlay{position:sticky!important}.overlay.top{top:0}.overlay.bottom{bottom:0}.margin-0{margin:0!important}.margin-top-0,.margin-y-0{margin-top:0!important}.margin-right-0,.margin-x-0{margin-right:0!important}.margin-bottom-0,.margin-y-0{margin-bottom:0!important}.margin-left-0,.margin-x-0{margin-left:0!important}.margin-1{margin:.25rem!important}.margin-top-1,.margin-y-1{margin-top:.25rem!important}.margin-right-1,.margin-x-1{margin-right:.25rem!important}.margin-bottom-1,.margin-y-1{margin-bottom:.25rem!important}.margin-left-1,.margin-x-1{margin-left:.25rem!important}.margin-2{margin:.5rem!important}.margin-top-2,.margin-y-2{margin-top:.5rem!important}.margin-right-2,.margin-x-2{margin-right:.5rem!important}.margin-bottom-2,.margin-y-2{margin-bottom:.5rem!important}.margin-left-2,.margin-x-2{margin-left:.5rem!important}.margin-3{margin:1rem!important}.margin-top-3,.margin-y-3{margin-top:1rem!important}.margin-top-bottom-3{margin:1rem 0!important}.margin-right-3,.margin-x-3{margin-right:1rem!important}.margin-bottom-3,.margin-y-3{margin-bottom:1rem!important}.margin-left-3,.margin-x-3{margin-left:1rem!important}.margin-4{margin:2rem!important}.margin-top-4,.margin-y-4{margin-top:2rem!important}.margin-right-4,.margin-x-4{margin-right:2rem!important}.margin-bottom-4,.margin-y-4{margin-bottom:2rem!important}.margin-left-4,.margin-x-4{margin-left:2rem!important}.margin-right-5,.margin-x-5{margin-right:4rem!important}.margin-bottom-5,.margin-y-5{margin-bottom:4rem!important}.margin-left-5,.margin-x-5{margin-left:4rem!important}.margin-5{margin:4rem!important}.margin-top-5,.margin-y-5{margin-top:4rem!important}.margin-right-6,.margin-x-6{margin-right:4.5rem!important}.margin-bottom-6,.margin-y-6{margin-bottom:4.5rem!important}.margin-left-6,.margin-x-6{margin-left:4.5rem!important}.margin-7{margin:6rem!important}.margin-top-7,.margin-y-7{margin-top:6rem!important}.margin-right-7,.margin-x-7{margin-right:6rem!important}.margin-bottom-7,.margin-y-7{margin-bottom:6rem!important}.margin-left-7,.margin-x-7{margin-left:6rem!important}.margin-8{margin:7.5rem!important}.margin-top-8,.margin-y-8{margin-top:7.5rem!important}.margin-right-8,.margin-x-8{margin-right:7.5rem!important}.margin-bottom-8,.margin-y-8{margin-bottom:7.5rem!important}.margin-left-8,.margin-x-8{margin-left:7.5rem!important}.margin-9{margin:9rem!important}.margin-top-9,.margin-y-9{margin-top:9rem!important}.margin-right-9,.margin-x-9{margin-right:9rem!important}.margin-bottom-9,.margin-y-9{margin-bottom:9rem!important}.margin-left-9,.margin-x-9{margin-left:9rem!important}.padding-0{padding:0!important}.padding-top-0,.padding-y-0{padding-top:0!important}.padding-right-0,.padding-x-0{padding-right:0!important}.padding-bottom-0,.padding-y-0{padding-bottom:0!important}.padding-left-0,.padding-x-0{padding-left:0!important}.padding-1{padding:.25rem!important}.padding-top-1,.padding-y-1{padding-top:.25rem!important}.padding-right-1,.padding-x-1{padding-right:.25rem!important}.padding-bottom-1,.padding-y-1{padding-bottom:.25rem!important}.padding-left-1,.padding-x-1{padding-left:.25rem!important}.padding-2{padding:.5rem!important}.padding-top-2,.padding-y-2{padding-top:.5rem!important}.padding-right-2,.padding-x-2{padding-right:.5rem!important}.padding-bottom-2,.padding-y-2{padding-bottom:.5rem!important}.padding-left-2,.padding-x-2{padding-left:.5rem!important}.padding-3{padding:1rem!important}.padding-top-3,.padding-y-3{padding-top:1rem!important}.padding-right-3,.padding-x-3{padding-right:1rem!important}.padding-bottom-3,.padding-y-3{padding-bottom:1rem!important}.padding-left-3,.padding-x-3{padding-left:1rem!important}.padding-4{padding:2rem!important}.padding-top-4,.padding-y-4{padding-top:2rem!important}.padding-right-4,.padding-x-4{padding-right:2rem!important}.padding-bottom-4,.padding-y-4{padding-bottom:2rem!important}.padding-left-4,.padding-x-4{padding-left:2rem!important}.padding-5{padding:4rem!important}.padding-top-5,.padding-y-5{padding-top:4rem!important}.padding-right-5,.padding-x-5{padding-right:4rem!important}.padding-bottom-5,.padding-y-5{padding-bottom:4rem!important}.padding-left-5,.padding-x-5{padding-left:4rem!important}.margin-n1{margin:-.25rem!important}.margin-top-n1,.margin-y-n1{margin-top:-.25rem!important}.margin-right-n1,.margin-x-n1{margin-right:-.25rem!important}.margin-bottom-n1,.margin-y-n1{margin-bottom:-.25rem!important}.margin-left-n1,.margin-x-n1{margin-left:-.25rem!important}.margin-n2{margin:-.5rem!important}.margin-top-n2,.margin-y-n2{margin-top:-.5rem!important}.margin-right-n2,.margin-x-n2{margin-right:-.5rem!important}.margin-bottom-n2,.margin-y-n2{margin-bottom:-.5rem!important}.margin-left-n2,.margin-x-n2{margin-left:-.5rem!important}.margin-n3{margin:-1rem!important}.margin-top-n3,.margin-y-n3{margin-top:-1rem!important}.margin-right-n3,.margin-x-n3{margin-right:-1rem!important}.margin-bottom-n3,.margin-y-n3{margin-bottom:-1rem!important}.margin-left-n3,.margin-x-n3{margin-left:-1rem!important}.margin-n4{margin:-2rem!important}.margin-top-n4,.margin-y-n4{margin-top:-2rem!important}.margin-right-n4,.margin-x-n4{margin-right:-2rem!important}.margin-bottom-n4,.margin-y-n4{margin-bottom:-2rem!important}.margin-left-n4,.margin-x-n4{margin-left:-2rem!important}.margin-n5{margin:-4rem!important}.margin-top-n5,.margin-y-n5{margin-top:-4rem!important}.margin-right-n5,.margin-x-n5{margin-right:-4rem!important}.margin-bottom-n5,.margin-y-n5{margin-bottom:-4rem!important}.margin-left-n5,.margin-x-n5{margin-left:-4rem!important}.margin-auto{margin:auto!important}.margin-top-auto,.margin-y-auto{margin-top:auto!important}.margin-right-auto,.margin-x-auto{margin-right:auto!important}.margin-bottom-auto,.margin-y-auto{margin-bottom:auto!important}.margin-left-auto,.margin-x-auto{margin-left:auto!important}@media (min-width: 576px){.margin-sm-0{margin:0!important}.margin-top-sm-0,.margin-y-sm-0{margin-top:0!important}.margin-right-sm-0,.margin-x-sm-0{margin-right:0!important}.margin-bottom-sm-0,.margin-y-sm-0{margin-bottom:0!important}.margin-left-sm-0,.margin-x-sm-0{margin-left:0!important}.margin-sm-1{margin:.25rem!important}.margin-top-sm-1,.margin-y-sm-1{margin-top:.25rem!important}.margin-right-sm-1,.margin-x-sm-1{margin-right:.25rem!important}.margin-bottom-sm-1,.margin-y-sm-1{margin-bottom:.25rem!important}.margin-left-sm-1,.margin-x-sm-1{margin-left:.25rem!important}.margin-sm-2{margin:.5rem!important}.margin-top-sm-2,.margin-y-sm-2{margin-top:.5rem!important}.margin-right-sm-2,.margin-x-sm-2{margin-right:.5rem!important}.margin-bottom-sm-2,.margin-y-sm-2{margin-bottom:.5rem!important}.margin-left-sm-2,.margin-x-sm-2{margin-left:.5rem!important}.margin-sm-3{margin:1rem!important}.margin-top-sm-3,.margin-y-sm-3{margin-top:1rem!important}.margin-right-sm-3,.margin-x-sm-3{margin-right:1rem!important}.margin-bottom-sm-3,.margin-y-sm-3{margin-bottom:1rem!important}.margin-left-sm-3,.margin-x-sm-3{margin-left:1rem!important}.margin-sm-4{margin:2rem!important}.margin-top-sm-4,.margin-y-sm-4{margin-top:2rem!important}.margin-right-sm-4,.margin-x-sm-4{margin-right:2rem!important}.margin-bottom-sm-4,.margin-y-sm-4{margin-bottom:2rem!important}.margin-left-sm-4,.margin-x-sm-4{margin-left:2rem!important}.margin-sm-5{margin:4rem!important}.margin-top-sm-5,.margin-y-sm-5{margin-top:4rem!important}.margin-right-sm-5,.margin-x-sm-5{margin-right:4rem!important}.margin-bottom-sm-5,.margin-y-sm-5{margin-bottom:4rem!important}.margin-left-sm-5,.margin-x-sm-5{margin-left:4rem!important}.padding-sm-0{padding:0!important}.padding-top-sm-0,.padding-y-sm-0{padding-top:0!important}.padding-right-sm-0,.padding-x-sm-0{padding-right:0!important}.padding-bottom-sm-0,.padding-y-sm-0{padding-bottom:0!important}.padding-left-sm-0,.padding-x-sm-0{padding-left:0!important}.padding-sm-1{padding:.25rem!important}.padding-top-sm-1,.padding-y-sm-1{padding-top:.25rem!important}.padding-right-sm-1,.padding-x-sm-1{padding-right:.25rem!important}.padding-bottom-sm-1,.padding-y-sm-1{padding-bottom:.25rem!important}.padding-left-sm-1,.padding-x-sm-1{padding-left:.25rem!important}.padding-sm-2{padding:.5rem!important}.padding-top-sm-2,.padding-y-sm-2{padding-top:.5rem!important}.padding-right-sm-2,.padding-x-sm-2{padding-right:.5rem!important}.padding-bottom-sm-2,.padding-y-sm-2{padding-bottom:.5rem!important}.padding-left-sm-2,.padding-x-sm-2{padding-left:.5rem!important}.padding-sm-3{padding:1rem!important}.padding-top-sm-3,.padding-y-sm-3{padding-top:1rem!important}.padding-right-sm-3,.padding-x-sm-3{padding-right:1rem!important}.padding-bottom-sm-3,.padding-y-sm-3{padding-bottom:1rem!important}.padding-left-sm-3,.padding-x-sm-3{padding-left:1rem!important}.padding-sm-4{padding:2rem!important}.padding-top-sm-4,.padding-y-sm-4{padding-top:2rem!important}.padding-right-sm-4,.padding-x-sm-4{padding-right:2rem!important}.padding-bottom-sm-4,.padding-y-sm-4{padding-bottom:2rem!important}.padding-left-sm-4,.padding-x-sm-4{padding-left:2rem!important}.padding-sm-5{padding:4rem!important}.padding-top-sm-5,.padding-y-sm-5{padding-top:4rem!important}.padding-right-sm-5,.padding-x-sm-5{padding-right:4rem!important}.padding-bottom-sm-5,.padding-y-sm-5{padding-bottom:4rem!important}.padding-left-sm-5,.padding-x-sm-5{padding-left:4rem!important}.margin-sm-n1{margin:-.25rem!important}.margin-top-sm-n1,.margin-y-sm-n1{margin-top:-.25rem!important}.margin-right-sm-n1,.margin-x-sm-n1{margin-right:-.25rem!important}.margin-bottom-sm-n1,.margin-y-sm-n1{margin-bottom:-.25rem!important}.margin-left-sm-n1,.margin-x-sm-n1{margin-left:-.25rem!important}.margin-sm-n2{margin:-.5rem!important}.margin-top-sm-n2,.margin-y-sm-n2{margin-top:-.5rem!important}.margin-right-sm-n2,.margin-x-sm-n2{margin-right:-.5rem!important}.margin-bottom-sm-n2,.margin-y-sm-n2{margin-bottom:-.5rem!important}.margin-left-sm-n2,.margin-x-sm-n2{margin-left:-.5rem!important}.margin-sm-n3{margin:-1rem!important}.margin-top-sm-n3,.margin-y-sm-n3{margin-top:-1rem!important}.margin-right-sm-n3,.margin-x-sm-n3{margin-right:-1rem!important}.margin-bottom-sm-n3,.margin-y-sm-n3{margin-bottom:-1rem!important}.margin-left-sm-n3,.margin-x-sm-n3{margin-left:-1rem!important}.margin-sm-n4{margin:-2rem!important}.margin-top-sm-n4,.margin-y-sm-n4{margin-top:-2rem!important}.margin-right-sm-n4,.margin-x-sm-n4{margin-right:-2rem!important}.margin-bottom-sm-n4,.margin-y-sm-n4{margin-bottom:-2rem!important}.margin-left-sm-n4,.margin-x-sm-n4{margin-left:-2rem!important}.margin-sm-n5{margin:-4rem!important}.margin-top-sm-n5,.margin-y-sm-n5{margin-top:-4rem!important}.margin-right-sm-n5,.margin-x-sm-n5{margin-right:-4rem!important}.margin-bottom-sm-n5,.margin-y-sm-n5{margin-bottom:-4rem!important}.margin-left-sm-n5,.margin-x-sm-n5{margin-left:-4rem!important}.margin-sm-auto{margin:auto!important}.margin-top-sm-auto,.margin-y-sm-auto{margin-top:auto!important}.margin-right-sm-auto,.margin-x-sm-auto{margin-right:auto!important}.margin-bottom-sm-auto,.margin-y-sm-auto{margin-bottom:auto!important}.margin-left-sm-auto,.margin-x-sm-auto{margin-left:auto!important}}@media (min-width: 768px){.margin-md-0{margin:0!important}.margin-top-md-0,.margin-y-md-0{margin-top:0!important}.margin-right-md-0,.margin-x-md-0{margin-right:0!important}.margin-bottom-md-0,.margin-y-md-0{margin-bottom:0!important}.margin-left-md-0,.margin-x-md-0{margin-left:0!important}.margin-md-1{margin:.25rem!important}.margin-top-md-1,.margin-y-md-1{margin-top:.25rem!important}.margin-right-md-1,.margin-x-md-1{margin-right:.25rem!important}.margin-bottom-md-1,.margin-y-md-1{margin-bottom:.25rem!important}.margin-left-md-1,.margin-x-md-1{margin-left:.25rem!important}.margin-md-2{margin:.5rem!important}.margin-top-md-2,.margin-y-md-2{margin-top:.5rem!important}.margin-right-md-2,.margin-x-md-2{margin-right:.5rem!important}.margin-bottom-md-2,.margin-y-md-2{margin-bottom:.5rem!important}.margin-left-md-2,.margin-x-md-2{margin-left:.5rem!important}.margin-md-3{margin:1rem!important}.margin-top-md-3,.margin-y-md-3{margin-top:1rem!important}.margin-right-md-3,.margin-x-md-3{margin-right:1rem!important}.margin-bottom-md-3,.margin-y-md-3{margin-bottom:1rem!important}.margin-left-md-3,.margin-x-md-3{margin-left:1rem!important}.margin-md-4{margin:2rem!important}.margin-top-md-4,.margin-y-md-4{margin-top:2rem!important}.margin-right-md-4,.margin-x-md-4{margin-right:2rem!important}.margin-bottom-md-4,.margin-y-md-4{margin-bottom:2rem!important}.margin-left-md-4,.margin-x-md-4{margin-left:2rem!important}.margin-md-5{margin:4rem!important}.margin-top-md-5,.margin-y-md-5{margin-top:4rem!important}.margin-right-md-5,.margin-x-md-5{margin-right:4rem!important}.margin-bottom-md-5,.margin-y-md-5{margin-bottom:4rem!important}.margin-left-md-5,.margin-x-md-5{margin-left:4rem!important}.padding-md-0{padding:0!important}.padding-top-md-0,.padding-y-md-0{padding-top:0!important}.padding-right-md-0,.padding-x-md-0{padding-right:0!important}.padding-bottom-md-0,.padding-y-md-0{padding-bottom:0!important}.padding-left-md-0,.padding-x-md-0{padding-left:0!important}.padding-md-1{padding:.25rem!important}.padding-top-md-1,.padding-y-md-1{padding-top:.25rem!important}.padding-right-md-1,.padding-x-md-1{padding-right:.25rem!important}.padding-bottom-md-1,.padding-y-md-1{padding-bottom:.25rem!important}.padding-left-md-1,.padding-x-md-1{padding-left:.25rem!important}.padding-md-2{padding:.5rem!important}.padding-top-md-2,.padding-y-md-2{padding-top:.5rem!important}.padding-right-md-2,.padding-x-md-2{padding-right:.5rem!important}.padding-bottom-md-2,.padding-y-md-2{padding-bottom:.5rem!important}.padding-left-md-2,.padding-x-md-2{padding-left:.5rem!important}.padding-md-3{padding:1rem!important}.padding-top-md-3,.padding-y-md-3{padding-top:1rem!important}.padding-right-md-3,.padding-x-md-3{padding-right:1rem!important}.padding-bottom-md-3,.padding-y-md-3{padding-bottom:1rem!important}.padding-left-md-3,.padding-x-md-3{padding-left:1rem!important}.padding-md-4{padding:2rem!important}.padding-top-md-4,.padding-y-md-4{padding-top:2rem!important}.padding-right-md-4,.padding-x-md-4{padding-right:2rem!important}.padding-bottom-md-4,.padding-y-md-4{padding-bottom:2rem!important}.padding-left-md-4,.padding-x-md-4{padding-left:2rem!important}.padding-md-5{padding:4rem!important}.padding-top-md-5,.padding-y-md-5{padding-top:4rem!important}.padding-right-md-5,.padding-x-md-5{padding-right:4rem!important}.padding-bottom-md-5,.padding-y-md-5{padding-bottom:4rem!important}.padding-left-md-5,.padding-x-md-5{padding-left:4rem!important}.margin-md-n1{margin:-.25rem!important}.margin-top-md-n1,.margin-y-md-n1{margin-top:-.25rem!important}.margin-right-md-n1,.margin-x-md-n1{margin-right:-.25rem!important}.margin-bottom-md-n1,.margin-y-md-n1{margin-bottom:-.25rem!important}.margin-left-md-n1,.margin-x-md-n1{margin-left:-.25rem!important}.margin-md-n2{margin:-.5rem!important}.margin-top-md-n2,.margin-y-md-n2{margin-top:-.5rem!important}.margin-right-md-n2,.margin-x-md-n2{margin-right:-.5rem!important}.margin-bottom-md-n2,.margin-y-md-n2{margin-bottom:-.5rem!important}.margin-left-md-n2,.margin-x-md-n2{margin-left:-.5rem!important}.margin-md-n3{margin:-1rem!important}.margin-top-md-n3,.margin-y-md-n3{margin-top:-1rem!important}.margin-right-md-n3,.margin-x-md-n3{margin-right:-1rem!important}.margin-bottom-md-n3,.margin-y-md-n3{margin-bottom:-1rem!important}.margin-left-md-n3,.margin-x-md-n3{margin-left:-1rem!important}.margin-md-n4{margin:-2rem!important}.margin-top-md-n4,.margin-y-md-n4{margin-top:-2rem!important}.margin-right-md-n4,.margin-x-md-n4{margin-right:-2rem!important}.margin-bottom-md-n4,.margin-y-md-n4{margin-bottom:-2rem!important}.margin-left-md-n4,.margin-x-md-n4{margin-left:-2rem!important}.margin-md-n5{margin:-4rem!important}.margin-top-md-n5,.margin-y-md-n5{margin-top:-4rem!important}.margin-right-md-n5,.margin-x-md-n5{margin-right:-4rem!important}.margin-bottom-md-n5,.margin-y-md-n5{margin-bottom:-4rem!important}.margin-left-md-n5,.margin-x-md-n5{margin-left:-4rem!important}.margin-md-auto{margin:auto!important}.margin-top-md-auto,.margin-y-md-auto{margin-top:auto!important}.margin-right-md-auto,.margin-x-md-auto{margin-right:auto!important}.margin-bottom-md-auto,.margin-y-md-auto{margin-bottom:auto!important}.margin-left-md-auto,.margin-x-md-auto{margin-left:auto!important}}@media (min-width: 992px){.margin-lg-0{margin:0!important}.margin-top-lg-0,.margin-y-lg-0{margin-top:0!important}.margin-right-lg-0,.margin-x-lg-0{margin-right:0!important}.margin-bottom-lg-0,.margin-y-lg-0{margin-bottom:0!important}.margin-left-lg-0,.margin-x-lg-0{margin-left:0!important}.margin-lg-1{margin:.25rem!important}.margin-top-lg-1,.margin-y-lg-1{margin-top:.25rem!important}.margin-right-lg-1,.margin-x-lg-1{margin-right:.25rem!important}.margin-bottom-lg-1,.margin-y-lg-1{margin-bottom:.25rem!important}.margin-left-lg-1,.margin-x-lg-1{margin-left:.25rem!important}.margin-lg-2{margin:.5rem!important}.margin-top-lg-2,.margin-y-lg-2{margin-top:.5rem!important}.margin-right-lg-2,.margin-x-lg-2{margin-right:.5rem!important}.margin-bottom-lg-2,.margin-y-lg-2{margin-bottom:.5rem!important}.margin-left-lg-2,.margin-x-lg-2{margin-left:.5rem!important}.margin-lg-3{margin:1rem!important}.margin-top-lg-3,.margin-y-lg-3{margin-top:1rem!important}.margin-right-lg-3,.margin-x-lg-3{margin-right:1rem!important}.margin-bottom-lg-3,.margin-y-lg-3{margin-bottom:1rem!important}.margin-left-lg-3,.margin-x-lg-3{margin-left:1rem!important}.margin-lg-4{margin:2rem!important}.margin-top-lg-4,.margin-y-lg-4{margin-top:2rem!important}.margin-right-lg-4,.margin-x-lg-4{margin-right:2rem!important}.margin-bottom-lg-4,.margin-y-lg-4{margin-bottom:2rem!important}.margin-left-lg-4,.margin-x-lg-4{margin-left:2rem!important}.margin-lg-5{margin:4rem!important}.margin-top-lg-5,.margin-y-lg-5{margin-top:4rem!important}.margin-right-lg-5,.margin-x-lg-5{margin-right:4rem!important}.margin-bottom-lg-5,.margin-y-lg-5{margin-bottom:4rem!important}.margin-left-lg-5,.margin-x-lg-5{margin-left:4rem!important}.padding-lg-0{padding:0!important}.padding-top-lg-0,.padding-y-lg-0{padding-top:0!important}.padding-right-lg-0,.padding-x-lg-0{padding-right:0!important}.padding-bottom-lg-0,.padding-y-lg-0{padding-bottom:0!important}.padding-left-lg-0,.padding-x-lg-0{padding-left:0!important}.padding-lg-1{padding:.25rem!important}.padding-top-lg-1,.padding-y-lg-1{padding-top:.25rem!important}.padding-right-lg-1,.padding-x-lg-1{padding-right:.25rem!important}.padding-bottom-lg-1,.padding-y-lg-1{padding-bottom:.25rem!important}.padding-left-lg-1,.padding-x-lg-1{padding-left:.25rem!important}.padding-lg-2{padding:.5rem!important}.padding-top-lg-2,.padding-y-lg-2{padding-top:.5rem!important}.padding-right-lg-2,.padding-x-lg-2{padding-right:.5rem!important}.padding-bottom-lg-2,.padding-y-lg-2{padding-bottom:.5rem!important}.padding-left-lg-2,.padding-x-lg-2{padding-left:.5rem!important}.padding-lg-3{padding:1rem!important}.padding-top-lg-3,.padding-y-lg-3{padding-top:1rem!important}.padding-right-lg-3,.padding-x-lg-3{padding-right:1rem!important}.padding-bottom-lg-3,.padding-y-lg-3{padding-bottom:1rem!important}.padding-left-lg-3,.padding-x-lg-3{padding-left:1rem!important}.padding-lg-4{padding:2rem!important}.padding-top-lg-4,.padding-y-lg-4{padding-top:2rem!important}.padding-right-lg-4,.padding-x-lg-4{padding-right:2rem!important}.padding-bottom-lg-4,.padding-y-lg-4{padding-bottom:2rem!important}.padding-left-lg-4,.padding-x-lg-4{padding-left:2rem!important}.padding-lg-5{padding:4rem!important}.padding-top-lg-5,.padding-y-lg-5{padding-top:4rem!important}.padding-right-lg-5,.padding-x-lg-5{padding-right:4rem!important}.padding-bottom-lg-5,.padding-y-lg-5{padding-bottom:4rem!important}.padding-left-lg-5,.padding-x-lg-5{padding-left:4rem!important}.margin-lg-n1{margin:-.25rem!important}.margin-top-lg-n1,.margin-y-lg-n1{margin-top:-.25rem!important}.margin-right-lg-n1,.margin-x-lg-n1{margin-right:-.25rem!important}.margin-bottom-lg-n1,.margin-y-lg-n1{margin-bottom:-.25rem!important}.margin-left-lg-n1,.margin-x-lg-n1{margin-left:-.25rem!important}.margin-lg-n2{margin:-.5rem!important}.margin-top-lg-n2,.margin-y-lg-n2{margin-top:-.5rem!important}.margin-right-lg-n2,.margin-x-lg-n2{margin-right:-.5rem!important}.margin-bottom-lg-n2,.margin-y-lg-n2{margin-bottom:-.5rem!important}.margin-left-lg-n2,.margin-x-lg-n2{margin-left:-.5rem!important}.margin-lg-n3{margin:-1rem!important}.margin-top-lg-n3,.margin-y-lg-n3{margin-top:-1rem!important}.margin-right-lg-n3,.margin-x-lg-n3{margin-right:-1rem!important}.margin-bottom-lg-n3,.margin-y-lg-n3{margin-bottom:-1rem!important}.margin-left-lg-n3,.margin-x-lg-n3{margin-left:-1rem!important}.margin-lg-n4{margin:-2rem!important}.margin-top-lg-n4,.margin-y-lg-n4{margin-top:-2rem!important}.margin-right-lg-n4,.margin-x-lg-n4{margin-right:-2rem!important}.margin-bottom-lg-n4,.margin-y-lg-n4{margin-bottom:-2rem!important}.margin-left-lg-n4,.margin-x-lg-n4{margin-left:-2rem!important}.margin-lg-n5{margin:-4rem!important}.margin-top-lg-n5,.margin-y-lg-n5{margin-top:-4rem!important}.margin-right-lg-n5,.margin-x-lg-n5{margin-right:-4rem!important}.margin-bottom-lg-n5,.margin-y-lg-n5{margin-bottom:-4rem!important}.margin-left-lg-n5,.margin-x-lg-n5{margin-left:-4rem!important}.margin-lg-auto{margin:auto!important}.margin-top-lg-auto,.margin-y-lg-auto{margin-top:auto!important}.margin-right-lg-auto,.margin-x-lg-auto{margin-right:auto!important}.margin-bottom-lg-auto,.margin-y-lg-auto{margin-bottom:auto!important}.margin-left-lg-auto,.margin-x-lg-auto{margin-left:auto!important}}@media (min-width: 1200px){.margin-xl-0{margin:0!important}.margin-top-xl-0,.margin-y-xl-0{margin-top:0!important}.margin-right-xl-0,.margin-x-xl-0{margin-right:0!important}.margin-bottom-xl-0,.margin-y-xl-0{margin-bottom:0!important}.margin-left-xl-0,.margin-x-xl-0{margin-left:0!important}.margin-xl-1{margin:.25rem!important}.margin-top-xl-1,.margin-y-xl-1{margin-top:.25rem!important}.margin-right-xl-1,.margin-x-xl-1{margin-right:.25rem!important}.margin-bottom-xl-1,.margin-y-xl-1{margin-bottom:.25rem!important}.margin-left-xl-1,.margin-x-xl-1{margin-left:.25rem!important}.margin-xl-2{margin:.5rem!important}.margin-top-xl-2,.margin-y-xl-2{margin-top:.5rem!important}.margin-right-xl-2,.margin-x-xl-2{margin-right:.5rem!important}.margin-bottom-xl-2,.margin-y-xl-2{margin-bottom:.5rem!important}.margin-left-xl-2,.margin-x-xl-2{margin-left:.5rem!important}.margin-xl-3{margin:1rem!important}.margin-top-xl-3,.margin-y-xl-3{margin-top:1rem!important}.margin-right-xl-3,.margin-x-xl-3{margin-right:1rem!important}.margin-bottom-xl-3,.margin-y-xl-3{margin-bottom:1rem!important}.margin-left-xl-3,.margin-x-xl-3{margin-left:1rem!important}.margin-xl-4{margin:2rem!important}.margin-top-xl-4,.margin-y-xl-4{margin-top:2rem!important}.margin-right-xl-4,.margin-x-xl-4{margin-right:2rem!important}.margin-bottom-xl-4,.margin-y-xl-4{margin-bottom:2rem!important}.margin-left-xl-4,.margin-x-xl-4{margin-left:2rem!important}.margin-xl-5{margin:4rem!important}.margin-top-xl-5,.margin-y-xl-5{margin-top:4rem!important}.margin-right-xl-5,.margin-x-xl-5{margin-right:4rem!important}.margin-bottom-xl-5,.margin-y-xl-5{margin-bottom:4rem!important}.margin-left-xl-5,.margin-x-xl-5{margin-left:4rem!important}.padding-xl-0{padding:0!important}.padding-top-xl-0,.padding-y-xl-0{padding-top:0!important}.padding-right-xl-0,.padding-x-xl-0{padding-right:0!important}.padding-bottom-xl-0,.padding-y-xl-0{padding-bottom:0!important}.padding-left-xl-0,.padding-x-xl-0{padding-left:0!important}.padding-xl-1{padding:.25rem!important}.padding-top-xl-1,.padding-y-xl-1{padding-top:.25rem!important}.padding-right-xl-1,.padding-x-xl-1{padding-right:.25rem!important}.padding-bottom-xl-1,.padding-y-xl-1{padding-bottom:.25rem!important}.padding-left-xl-1,.padding-x-xl-1{padding-left:.25rem!important}.padding-xl-2{padding:.5rem!important}.padding-top-xl-2,.padding-y-xl-2{padding-top:.5rem!important}.padding-right-xl-2,.padding-x-xl-2{padding-right:.5rem!important}.padding-bottom-xl-2,.padding-y-xl-2{padding-bottom:.5rem!important}.padding-left-xl-2,.padding-x-xl-2{padding-left:.5rem!important}.padding-xl-3{padding:1rem!important}.padding-top-xl-3,.padding-y-xl-3{padding-top:1rem!important}.padding-right-xl-3,.padding-x-xl-3{padding-right:1rem!important}.padding-bottom-xl-3,.padding-y-xl-3{padding-bottom:1rem!important}.padding-left-xl-3,.padding-x-xl-3{padding-left:1rem!important}.padding-xl-4{padding:2rem!important}.padding-top-xl-4,.padding-y-xl-4{padding-top:2rem!important}.padding-right-xl-4,.padding-x-xl-4{padding-right:2rem!important}.padding-bottom-xl-4,.padding-y-xl-4{padding-bottom:2rem!important}.padding-left-xl-4,.padding-x-xl-4{padding-left:2rem!important}.padding-xl-5{padding:4rem!important}.padding-top-xl-5,.padding-y-xl-5{padding-top:4rem!important}.padding-right-xl-5,.padding-x-xl-5{padding-right:4rem!important}.padding-bottom-xl-5,.padding-y-xl-5{padding-bottom:4rem!important}.padding-left-xl-5,.padding-x-xl-5{padding-left:4rem!important}.margin-xl-n1{margin:-.25rem!important}.margin-top-xl-n1,.margin-y-xl-n1{margin-top:-.25rem!important}.margin-right-xl-n1,.margin-x-xl-n1{margin-right:-.25rem!important}.margin-bottom-xl-n1,.margin-y-xl-n1{margin-bottom:-.25rem!important}.margin-left-xl-n1,.margin-x-xl-n1{margin-left:-.25rem!important}.margin-xl-n2{margin:-.5rem!important}.margin-top-xl-n2,.margin-y-xl-n2{margin-top:-.5rem!important}.margin-right-xl-n2,.margin-x-xl-n2{margin-right:-.5rem!important}.margin-bottom-xl-n2,.margin-y-xl-n2{margin-bottom:-.5rem!important}.margin-left-xl-n2,.margin-x-xl-n2{margin-left:-.5rem!important}.margin-xl-n3{margin:-1rem!important}.margin-top-xl-n3,.margin-y-xl-n3{margin-top:-1rem!important}.margin-right-xl-n3,.margin-x-xl-n3{margin-right:-1rem!important}.margin-bottom-xl-n3,.margin-y-xl-n3{margin-bottom:-1rem!important}.margin-left-xl-n3,.margin-x-xl-n3{margin-left:-1rem!important}.margin-xl-n4{margin:-2rem!important}.margin-top-xl-n4,.margin-y-xl-n4{margin-top:-2rem!important}.margin-right-xl-n4,.margin-x-xl-n4{margin-right:-2rem!important}.margin-bottom-xl-n4,.margin-y-xl-n4{margin-bottom:-2rem!important}.margin-left-xl-n4,.margin-x-xl-n4{margin-left:-2rem!important}.margin-xl-n5{margin:-4rem!important}.margin-top-xl-n5,.margin-y-xl-n5{margin-top:-4rem!important}.margin-right-xl-n5,.margin-x-xl-n5{margin-right:-4rem!important}.margin-bottom-xl-n5,.margin-y-xl-n5{margin-bottom:-4rem!important}.margin-left-xl-n5,.margin-x-xl-n5{margin-left:-4rem!important}.margin-xl-auto{margin:auto!important}.margin-top-xl-auto,.margin-y-xl-auto{margin-top:auto!important}.margin-right-xl-auto,.margin-x-xl-auto{margin-right:auto!important}.margin-bottom-xl-auto,.margin-y-xl-auto{margin-bottom:auto!important}.margin-left-xl-auto,.margin-x-xl-auto{margin-left:auto!important}}.h1{font-size:2em}.h2{font-size:1.5em}.h3{font-size:1.17em}.h4{font-size:1em}.h5{font-size:.83em}.h6{font-size:.67em}.cursor-alias{cursor:alias}.cursor-all-scroll{cursor:all-scroll}.cursor-auto{cursor:auto}.cursor-cell{cursor:cell}.cursor-context-menu{cursor:context-menu}.cursor-col-resize{cursor:col-resize}.cursor-copy{cursor:copy}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-e-resize{cursor:e-resize}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-n-resize{cursor:n-resize}.cursor-ne-resize{cursor:ne-resize}.cursor-nesw-resize{cursor:nesw-resize}.cursor-ns-resize{cursor:ns-resize}.cursor-nw-resize{cursor:nw-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-no-drop{cursor:no-drop}.cursor-none{cursor:none}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-progress{cursor:progress}.cursor-row-resize{cursor:row-resize}.cursor-s-resize{cursor:s-resize}.cursor-se-resize{cursor:se-resize}.cursor-sw-resize{cursor:sw-resize}.cursor-text{cursor:text}.cursor-w-resize{cursor:w-resize}.cursor-wait{cursor:wait}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.mat-tooltip{font-size:16px!important}html,body{height:100%}body{margin:0;padding:0;font-family:opens sans regular,sans-serif}iframe{border:none}.mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,Helvetica Neue,sans-serif}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-body-strong,.mat-body-2{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption{font:400 12px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-button,.mat-raised-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button,.mat-fab,.mat-mini-fab{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,Helvetica Neue,sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-subtitle,.mat-card-content{font-size:14px}.mat-checkbox{font-family:Roboto,Helvetica Neue,sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-trailing-icon.mat-icon,.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,Helvetica Neue,sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-expansion-panel-header{font-family:Roboto,Helvetica Neue,sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.3333333333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.3333433333%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.6666666667em;top:calc(100% - 1.7916666667em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);width:133.3333333333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);width:133.3333433333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);width:133.3333533333%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.5416666667em;top:calc(100% - 1.6666666667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.3333433333%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.3333433333%}.mat-grid-tile-header,.mat-grid-tile-footer{font-size:14px}.mat-grid-tile-header .mat-line,.mat-grid-tile-footer .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-header .mat-line:nth-child(n+2),.mat-grid-tile-footer .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,Helvetica Neue,sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,Helvetica Neue,sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-stepper-vertical,.mat-stepper-horizontal{font-family:Roboto,Helvetica Neue,sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0}.mat-tooltip{font-family:Roboto,Helvetica Neue,sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item,.mat-list-option{font-family:Roboto,Helvetica Neue,sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-simple-snackbar{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-tree{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tree-node,.mat-nested-tree-node{font-weight:400;font-size:14px}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale(0)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator,.mat-mdc-focus-indicator{position:relative}.title,.header{font-family:Encode Sans Condensed,sans-serif;font-weight:900}.paragraph-title,.tagline{font-family:Open Sans,sans-serif;font-weight:400}.paragraph-title-bold .tagLine-bold{font-family:Open Sans,sans-serif;font-weight:700}.plain-text,.remarks{font-family:Open Sans,sans-serif;font-weight:300}.plain-text-bold{font-family:Open Sans,sans-serif;font-weight:700}.flex-column{box-sizing:border-box;display:flex;flex-direction:column}.flex-row{box-sizing:border-box;display:flex;flex-direction:row}.flex-row-center{align-items:center;justify-content:center}.mat-button-large{line-height:48px;font-size:18px;font-weight:700;padding:0 24px!important}.mat-round{border-radius:.5em}:root{--initial-primary: #4a918e;--initial-accent: #9cd8d7;--initial-warn: #ef4351;--initial-dark-background: #222222;--initial-light-background: #f2f2f2;--initial-light-background: white;--initial-light-text: rgba(0, 0, 0, .87);--initial-dark-text: rgba(255, 255, 255, .87);--background: #050505;--orange-accent: #ff9800;--green-accent: #00e676;--yellow-accent: #fdd835;--purple-accent: #9c27b0;--cyan-accent: rgba(132, 255, 255, .75);--pink-accent: #e91e63;--success: #00e676}body{background-color:var(--initial-dark-background)}::ng-deep .mat-tooltip{font-size:16px!important}:host .valid-control{color:var(--green-accent)}:host .invalid-control{color:var(--theme-warn-500)}:host .actions .item:not(:last-child){margin-right:0}:host .project-thumbnail img{height:50px;width:auto}:host .active{background-color:var(--theme-accent-400);transition:background-color 1s linear}:host .inactive{background-color:#f2f5a900;transition:background-color 1s linear}:host .expansion-panel{width:100%;margin-bottom:10px}:host .expansion-container{max-height:300px;overflow-y:auto}:host .divider-fill-vert{background-color:var(--theme-accent-500);min-height:100%;top:10%;bottom:10%;min-width:5px}:host .divider-fill-hor{background-color:var(--theme-accent-500);height:5px;width:100%}:host .form-disabled{background-color:#797979;opacity:.5;border-radius:4px}::ng-deep input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s;-webkit-text-fill-color:#FFFFFFDE}@media (max-width: 768px){.spread{margin:1em!important}}@media (max-width: 480px){.spread{margin:.5em!important}}.spinner-logo{display:none!important}:host ::ng-deep a{text-decoration:none;color:#4a918e}\n"] }]
|
|
248
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.ApplicationsFlowService }]; }, propDecorators: { BranchesChanged: [{
|
|
249
|
+
type: Output,
|
|
250
|
+
args: ['branches-changed']
|
|
251
|
+
}], BranchesDisabled: [{
|
|
252
|
+
type: Input,
|
|
253
|
+
args: ['branches-disabled']
|
|
254
|
+
}], BranchesInput: [{
|
|
255
|
+
type: ViewChild,
|
|
256
|
+
args: ['branches']
|
|
257
|
+
}], BuildPath: [{
|
|
258
|
+
type: Input,
|
|
259
|
+
args: ['build-path']
|
|
260
|
+
}], BuildPathDisabled: [{
|
|
261
|
+
type: Input,
|
|
262
|
+
args: ['build-path-disabled']
|
|
263
|
+
}], FormGroup: [{
|
|
264
|
+
type: Input,
|
|
265
|
+
args: ['form-group']
|
|
266
|
+
}], OrganizationDisabled: [{
|
|
267
|
+
type: Input,
|
|
268
|
+
args: ['org-disabled']
|
|
269
|
+
}], RepositoryDisabled: [{
|
|
270
|
+
type: Input,
|
|
271
|
+
args: ['repo-disabled']
|
|
272
|
+
}], SourceControl: [{
|
|
273
|
+
type: Input,
|
|
274
|
+
args: ['source-control']
|
|
275
|
+
}], SourceControlRoot: [{
|
|
276
|
+
type: Input,
|
|
277
|
+
args: ['source-control-root']
|
|
278
|
+
}], UseBranches: [{
|
|
279
|
+
type: Input,
|
|
280
|
+
args: ['use-branches']
|
|
281
|
+
}], UseBuildPath: [{
|
|
282
|
+
type: Input,
|
|
283
|
+
args: ['use-build-path']
|
|
284
|
+
}] } });
|
|
285
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvZm9ybXMvc291cmNlLWNvbnRyb2wvc291cmNlLWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvZm9ybXMvc291cmNlLWNvbnRyb2wvc291cmNlLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBR0wsVUFBVSxFQUVWLFdBQVcsR0FDWixNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBa0J4QixNQUFNLE9BQU8sa0NBQWtDO0lBOEU3QyxnQkFBZ0I7SUFDaEIsWUFDWSxXQUF3QixFQUN4QixXQUFvQztRQURwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFqQmhDLHVCQUFrQixHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBVSxDQUFDO1FBbUIzRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBRTVCLElB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cUI7Z0JBWXJCLFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxZQUFZO2dCQVVaLG9CQUFvQjtzQkFEMUIsS0FBSzt1QkFBQyxjQUFjO2dCQWNkLGtCQUFrQjtzQkFEeEIsS0FBSzt1QkFBQyxlQUFlO2dCQVVmLGFBQWE7c0JBRG5CLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUloQixpQkFBaUI7c0JBRHZCLEtBQUs7dUJBQUMscUJBQXFCO2dCQUlyQixXQUFXO3NCQURqQixLQUFLO3VCQUFDLGNBQWM7Z0JBSWQsWUFBWTtzQkFEbEIsS0FBSzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDT01NQSwgRU5URVIgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHtcbiAgRm9ybUdyb3VwLFxuICBGb3JtQnVpbGRlcixcbiAgVmFsaWRhdG9ycyxcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQ29udHJvbCxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRDaGlwSW5wdXRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBCYXNlUmVzcG9uc2UsIEJhc2VNb2RlbGVkUmVzcG9uc2UgfSBmcm9tICdAbGN1L2NvbW1vbic7XG5pbXBvcnQge1xuICBHaXRIdWJCcmFuY2gsXG4gIEdpdEh1Yk9yZ2FuaXphdGlvbixcbiAgR2l0SHViUmVwb3NpdG9yeSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc3RhdGUvYXBwbGljYXRpb25zLWZsb3cuc3RhdGUnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcbmltcG9ydCB7IEVhQ1NvdXJjZUNvbnRyb2wgfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsY3Utc291cmNlLWNvbnRyb2wtZm9ybS1jb250cm9scycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zb3VyY2UtY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NvdXJjZS1jb250cm9sLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNvdXJjZUNvbnRyb2xGb3JtQ29udHJvbHNDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdFxue1xuICAvLyAgRmllbGRzXG5cbiAgLy8gIFByb3BlcnRpZXNcbiAgcHVibGljIGdldCBCcmFuY2hlc0Zvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuRm9ybUdyb3VwLmdldCh0aGlzLlNvdXJjZUNvbnRyb2xSb290ICsgJ2JyYW5jaGVzJyk7XG4gIH1cblxuICBAT3V0cHV0KCdicmFuY2hlcy1jaGFuZ2VkJylcbiAgcHVibGljIEJyYW5jaGVzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFycmF5PHN0cmluZz4+O1xuXG4gIEBJbnB1dCgnYnJhbmNoZXMtZGlzYWJsZWQnKVxuICBwdWJsaWMgQnJhbmNoZXNEaXNhYmxlZDogYm9vbGVhbjtcblxuICBAVmlld0NoaWxkKCdicmFuY2hlcycpXG4gIHB1YmxpYyBCcmFuY2hlc0lucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIHB1YmxpYyBCcmFuY2hPcHRpb25zOiBHaXRIdWJCcmFuY2hbXTtcblxuICBASW5wdXQoJ2J1aWxkLXBhdGgnKVxuICBwdWJsaWMgQnVpbGRQYXRoOiBzdHJpbmc7XG5cbiAgQElucHV0KCdidWlsZC1wYXRoLWRpc2FibGVkJylcbiAgcHVibGljIEJ1aWxkUGF0aERpc2FibGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBnZXQgQnVpbGRQYXRoRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Gb3JtR3JvdXAuZ2V0KHRoaXMuU291cmNlQ29udHJvbFJvb3QgKyAnYnVpbGRQYXRoJyk7XG4gIH1cblxuICBwdWJsaWMgQnVpbGRQYXRoT3B0aW9uczogc3RyaW5nW107XG5cbiAgcHVibGljIENyZWF0aW5nUmVwb3NpdG9yeTogYm9vbGVhbjtcblxuICBASW5wdXQoJ2Zvcm0tZ3JvdXAnKVxuICBwdWJsaWMgRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgcHVibGljIExvYWRpbmc6IGJvb2xlYW47XG5cbiAgcHVibGljIGdldCBNYWluQnJhbmNoRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Gb3JtR3JvdXAuZ2V0KHRoaXMuU291cmNlQ29udHJvbFJvb3QgKyAnbWFpbkJyYW5jaCcpO1xuICB9XG5cbiAgQElucHV0KCdvcmctZGlzYWJsZWQnKVxuICBwdWJsaWMgT3JnYW5pemF0aW9uRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIGdldCBPcmdhbml6YXRpb25Gb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLkZvcm1Hcm91cC5nZXQodGhpcy5Tb3VyY2VDb250cm9sUm9vdCArICdvcmdhbml6YXRpb24nKTtcbiAgfVxuXG4gIHB1YmxpYyBPcmdhbml6YXRpb25PcHRpb25zOiBHaXRIdWJPcmdhbml6YXRpb25bXTtcblxuICBwdWJsaWMgZ2V0IFJlcG9zaXRvcnlGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLkZvcm1Hcm91cC5nZXQodGhpcy5Tb3VyY2VDb250cm9sUm9vdCArICdyZXBvc2l0b3J5Jyk7XG4gIH1cblxuICBASW5wdXQoJ3JlcG8tZGlzYWJsZWQnKVxuICBwdWJsaWMgUmVwb3NpdG9yeURpc2FibGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBSZXBvc2l0b3J5T3B0aW9uczogR2l0SHViUmVwb3NpdG9yeVtdO1xuXG4gIHB1YmxpYyBTZWxlY3RlZEJyYW5jaGVzOiBzdHJpbmdbXTtcblxuICBwdWJsaWMgcmVhZG9ubHkgU2VwYXJhdG9yS2V5c0NvZGVzID0gW0VOVEVSLCBDT01NQV0gYXMgY29uc3Q7XG5cbiAgQElucHV0KCdzb3VyY2UtY29udHJvbCcpXG4gIHB1YmxpYyBTb3VyY2VDb250cm9sOiBFYUNTb3VyY2VDb250cm9sO1xuXG4gIEBJbnB1dCgnc291cmNlLWNvbnRyb2wtcm9vdCcpXG4gIHB1YmxpYyBTb3VyY2VDb250cm9sUm9vdDogc3RyaW5nO1xuXG4gIEBJbnB1dCgndXNlLWJyYW5jaGVzJylcbiAgcHVibGljIFVzZUJyYW5jaGVzOiBib29sZWFuO1xuXG4gIEBJbnB1dCgndXNlLWJ1aWxkLXBhdGgnKVxuICBwdWJsaWMgVXNlQnVpbGRQYXRoOiBib29sZWFuO1xuXG4gIC8vICBDb25zdHJ1Y3RvcnNcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcm90ZWN0ZWQgYXBwc0Zsb3dTdmM6IEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLkJyYW5jaGVzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcyA9IFtdO1xuXG4gICAgdGhpcy5Tb3VyY2VDb250cm9sID0ge307XG5cbiAgICB0aGlzLlNvdXJjZUNvbnRyb2xSb290ID0gJyc7XG5cbiAgICB0aGlzLlVzZUJyYW5jaGVzID0gdHJ1ZTtcbiAgfVxuXG4gIC8vICBMaWZlIEN5Y2xlXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7fVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lGb3JtQ29udHJvbHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldHVwRm9ybUNvbnRyb2xzKCk7XG5cbiAgICB0aGlzLlJlZnJlc2hPcmdhbml6YXRpb25zKCk7XG4gIH1cblxuICAvLyAgQVBJIE1ldGhvZHNcbiAgcHVibGljIEFkZEJyYW5jaE9wdGlvbihldmVudDogTWF0Q2hpcElucHV0RXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmFkZEJyYW5jaE9wdGlvbihldmVudC52YWx1ZSk7XG5cbiAgICBldmVudC5pbnB1dC52YWx1ZSA9ICcnO1xuICB9XG5cbiAgcHVibGljIEJyYW5jaE9wdGlvblNlbGVjdGVkKGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5hZGRCcmFuY2hPcHRpb24oZXZlbnQub3B0aW9uLnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBCdWlsZFBhdGhDaGFuZ2VkKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpOiB2b2lkIHtcbiAgfVxuXG4gIHB1YmxpYyBDcmVhdGVSZXBvc2l0b3J5KCk6IHZvaWQge1xuICAgIHRoaXMuQ3JlYXRpbmdSZXBvc2l0b3J5ID0gdHJ1ZTtcblxuICAgIHRoaXMuUmVwb3NpdG9yeUZvcm1Db250cm9sLnJlc2V0KCk7XG4gIH1cblxuICBwdWJsaWMgQ2FuY2VsQ3JlYXRlUmVwb3NpdG9yeSgpOiB2b2lkIHtcbiAgICB0aGlzLkNyZWF0aW5nUmVwb3NpdG9yeSA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIE1haW5CcmFuY2hDaGFuZ2VkKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpOiB2b2lkIHtcbiAgICB0aGlzLmVtaXRCcmFuY2hlc0NoYW5nZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBPcmdhbml6YXRpb25DaGFuZ2VkKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpOiB2b2lkIHtcbiAgICBjb25zdCBvcmcgPSB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sO1xuXG4gICAgdGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2wucmVzZXQoKTtcblxuICAgIGlmICh0aGlzLlVzZUJyYW5jaGVzKSB7XG4gICAgICB0aGlzLkJyYW5jaGVzRm9ybUNvbnRyb2wucmVzZXQoKTtcblxuICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzID0gW107XG4gICAgfVxuXG4gICAgdGhpcy5saXN0UmVwb3NpdG9yaWVzKCk7XG4gIH1cblxuICBwdWJsaWMgUmVmcmVzaE9yZ2FuaXphdGlvbnMoKTogdm9pZCB7XG4gICAgLy8gdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmxpc3RPcmdhbml6YXRpb25zKCk7XG5cbiAgICB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy5yZXNldCgpO1xuXG4gICAgdGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2w/LnJlc2V0KCk7XG5cbiAgICBpZiAodGhpcy5Vc2VCcmFuY2hlcykge1xuICAgICAgdGhpcy5CcmFuY2hlc0Zvcm1Db250cm9sPy5yZXNldCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBSZW1vdmVCcmFuY2hPcHRpb24ob3B0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuU2VsZWN0ZWRCcmFuY2hlcy5pbmRleE9mKG9wdGlvbik7XG5cbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0QnJhbmNoZXNDaGFuZ2VkKCk7XG4gIH1cblxuICBwdWJsaWMgUmVwb3NpdG9yeUNoYW5nZWQoZXZlbnQ6IE1hdFNlbGVjdENoYW5nZSk6IHZvaWQge1xuICAgIGNvbnN0IHJlcG8gPSB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbDtcblxuICAgIGlmICh0aGlzLlVzZUJyYW5jaGVzKSB7XG4gICAgICB0aGlzLkJyYW5jaGVzRm9ybUNvbnRyb2wucmVzZXQoKTtcblxuICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzID0gW107XG5cbiAgICAgIHRoaXMubGlzdEJyYW5jaGVzKCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLlVzZUJyYW5jaGVzKSB7XG4gICAgICB0aGlzLmxpc3RCdWlsZFBhdGhzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIFNhdmVSZXBvc2l0b3J5KCk6IHZvaWQge1xuICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XG5cbiAgICBjb25zdCBvcmcgPSB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sLnZhbHVlO1xuXG4gICAgY29uc3QgcmVwb05hbWUgPSB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbC52YWx1ZTtcblxuICAgIHRoaXMuYXBwc0Zsb3dTdmNcbiAgICAgIC5DcmVhdGVSZXBvc2l0b3J5KG9yZywgcmVwb05hbWUpXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQmFzZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGlmIChyZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMCkge1xuICAgICAgICAgIHRoaXMubGlzdFJlcG9zaXRvcmllcyhyZXBvTmFtZSk7XG5cbiAgICAgICAgICB0aGlzLkNyZWF0aW5nUmVwb3NpdG9yeSA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vICBUT0RPOiAgTmVlZCB0byBzdXJmYWNlIGFuIGVycm9yIHRvIHRoZSB1c2VyLi4uXG5cbiAgICAgICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvLyAgSGVscGVyc1xuICBwcm90ZWN0ZWQgYWRkQnJhbmNoT3B0aW9uKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB2YWx1ZSA9ICh2YWx1ZSB8fCAnJykudHJpbSgpO1xuXG4gICAgaWYgKHZhbHVlICYmIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcy5pbmRleE9mKHZhbHVlKSA8IDApIHtcbiAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcy5wdXNoKHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLkJyYW5jaGVzSW5wdXQubmF0aXZlRWxlbWVudC5ibHVyKCk7XG5cbiAgICB0aGlzLmVtaXRCcmFuY2hlc0NoYW5nZWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZXN0cm95Rm9ybUNvbnRyb2xzKCk6IHZvaWQge1xuICAgIHRoaXMuRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woXG4gICAgICBbdGhpcy5Tb3VyY2VDb250cm9sUm9vdCwgJ21haW5CcmFuY2gnXS5qb2luKCcnKVxuICAgICk7XG5cbiAgICB0aGlzLkZvcm1Hcm91cC5yZW1vdmVDb250cm9sKFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAnYnJhbmNoZXMnXS5qb2luKCcnKSk7XG5cbiAgICB0aGlzLkZvcm1Hcm91cC5yZW1vdmVDb250cm9sKFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAnYnVpbGRQYXRoJ10uam9pbignJykpO1xuXG4gICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzID0gW107XG5cbiAgICB0aGlzLkZvcm1Hcm91cC5yZW1vdmVDb250cm9sKFxuICAgICAgW3RoaXMuU291cmNlQ29udHJvbFJvb3QsICdvcmdhbml6YXRpb24nXS5qb2luKCcnKVxuICAgICk7XG5cbiAgICB0aGlzLkZvcm1Hcm91cC5yZW1vdmVDb250cm9sKFxuICAgICAgW3RoaXMuU291cmNlQ29udHJvbFJvb3QsICdyZXBvc2l0b3J5J10uam9pbignJylcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGVtaXRCcmFuY2hlc0NoYW5nZWQoKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzPy5sZW5ndGggPiAwICYmXG4gICAgICAoIXRoaXMuTWFpbkJyYW5jaEZvcm1Db250cm9sLnZhbHVlIHx8XG4gICAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcy5pbmRleE9mKHRoaXMuTWFpbkJyYW5jaEZvcm1Db250cm9sLnZhbHVlKSA8IDApXG4gICAgKSB7XG4gICAgICB0aGlzLk1haW5CcmFuY2hGb3JtQ29udHJvbC5zZXRWYWx1ZShcbiAgICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzLmZpbmQoXG4gICAgICAgICAgKGJyYW5jaCkgPT4gYnJhbmNoID09PSAnbWFpbicgfHwgYnJhbmNoID09PSAnbWFzdGVyJ1xuICAgICAgICApIHx8IHRoaXMuU2VsZWN0ZWRCcmFuY2hlc1swXVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuU2VsZWN0ZWRCcmFuY2hlcz8ubGVuZ3RoIDw9IDApIHtcbiAgICAgIHRoaXMuTWFpbkJyYW5jaEZvcm1Db250cm9sLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgdGhpcy5CcmFuY2hlc0Zvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuU2VsZWN0ZWRCcmFuY2hlcy5qb2luKCcsJykpO1xuXG4gICAgdGhpcy5CcmFuY2hlc0NoYW5nZWQuZW1pdCh0aGlzLlNlbGVjdGVkQnJhbmNoZXMgfHwgW10pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGxpc3RCcmFuY2hlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5Vc2VCcmFuY2hlcykge1xuICAgICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Y1xuICAgICAgICAuTGlzdEJyYW5jaGVzKFxuICAgICAgICAgIHRoaXMuT3JnYW5pemF0aW9uRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgdGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2wudmFsdWVcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQmFzZU1vZGVsZWRSZXNwb25zZTxHaXRIdWJCcmFuY2hbXT4pID0+IHtcbiAgICAgICAgICB0aGlzLkJyYW5jaE9wdGlvbnMgPSByZXNwb25zZS5Nb2RlbDtcblxuICAgICAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgaWYgKHRoaXMuU291cmNlQ29udHJvbD8uQnJhbmNoZXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcyA9IHRoaXMuU291cmNlQ29udHJvbC5CcmFuY2hlcztcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuQnJhbmNoT3B0aW9ucz8ubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICB0aGlzLkJyYW5jaGVzRm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5CcmFuY2hPcHRpb25zWzBdLk5hbWUpO1xuXG4gICAgICAgICAgICB0aGlzLlNlbGVjdGVkQnJhbmNoZXMgPSBbdGhpcy5CcmFuY2hPcHRpb25zWzBdLk5hbWVdO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuZW1pdEJyYW5jaGVzQ2hhbmdlZCgpO1xuXG4gICAgICAgICAgdGhpcy5saXN0QnVpbGRQYXRocygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgbGlzdEJ1aWxkUGF0aHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuVXNlQnVpbGRQYXRoKSB7XG4gICAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICB0aGlzLmFwcHNGbG93U3ZjXG4gICAgICAgIC5MaXN0QnVpbGRQYXRocyhcbiAgICAgICAgICB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICAgIHRoaXMuUmVwb3NpdG9yeUZvcm1Db250cm9sLnZhbHVlXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IEJhc2VNb2RlbGVkUmVzcG9uc2U8c3RyaW5nW10+KSA9PiB7XG4gICAgICAgICAgdGhpcy5CdWlsZFBhdGhPcHRpb25zID0gcmVzcG9uc2UuTW9kZWw7XG5cbiAgICAgICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgIGlmICh0aGlzLkJ1aWxkUGF0aE9wdGlvbnM/Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgdGhpcy5CdWlsZFBhdGhGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLkJ1aWxkUGF0aE9wdGlvbnNbMF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGxpc3RPcmdhbml6YXRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XG5cbiAgICB0aGlzLmFwcHNGbG93U3ZjXG4gICAgICAuTGlzdE9yZ2FuaXphdGlvbnMoKVxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IEJhc2VNb2RlbGVkUmVzcG9uc2U8R2l0SHViT3JnYW5pemF0aW9uW10+KSA9PiB7XG4gICAgICAgIHRoaXMuT3JnYW5pemF0aW9uT3B0aW9ucyA9IHJlc3BvbnNlLk1vZGVsO1xuXG4gICAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgIGlmICh0aGlzLlNvdXJjZUNvbnRyb2w/Lk9yZ2FuaXphdGlvbikge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5Pcmdhbml6YXRpb25Gb3JtQ29udHJvbC5zZXRWYWx1ZShcbiAgICAgICAgICAgICAgdGhpcy5Tb3VyY2VDb250cm9sLk9yZ2FuaXphdGlvblxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgdGhpcy5saXN0UmVwb3NpdG9yaWVzKHRoaXMuU291cmNlQ29udHJvbD8uUmVwb3NpdG9yeSk7XG4gICAgICAgICAgfSwgMCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGxpc3RSZXBvc2l0b3JpZXMoYWN0aXZlUmVwbzogc3RyaW5nID0gbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XG5cbiAgICB0aGlzLmFwcHNGbG93U3ZjXG4gICAgICAuTGlzdFJlcG9zaXRvcmllcyh0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sLnZhbHVlKVxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IEJhc2VNb2RlbGVkUmVzcG9uc2U8R2l0SHViUmVwb3NpdG9yeVtdPikgPT4ge1xuICAgICAgICB0aGlzLlJlcG9zaXRvcnlPcHRpb25zID0gcmVzcG9uc2UuTW9kZWw7XG5cbiAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKGFjdGl2ZVJlcG8pIHtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuUmVwb3NpdG9yeUZvcm1Db250cm9sLnNldFZhbHVlKGFjdGl2ZVJlcG8pO1xuXG4gICAgICAgICAgICB0aGlzLmxpc3RCcmFuY2hlcygpO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuVXNlQnJhbmNoZXMpIHtcbiAgICAgICAgICAgICAgdGhpcy5saXN0QnVpbGRQYXRocygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sIDApO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuUmVwb3NpdG9yeU9wdGlvbnM/Lmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgdGhpcy5DcmVhdGluZ1JlcG9zaXRvcnkgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cEZvcm1Db250cm9scygpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lGb3JtQ29udHJvbHMoKTtcblxuICAgIHRoaXMuRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICBbdGhpcy5Tb3VyY2VDb250cm9sUm9vdCwgJ29yZ2FuaXphdGlvbiddLmpvaW4oJycpLFxuICAgICAgbmV3IEZvcm1Db250cm9sKFxuICAgICAgICB0aGlzLlNvdXJjZUNvbnRyb2wuT3JnYW5pemF0aW9uID8/ICcnLFxuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICBbdGhpcy5Tb3VyY2VDb250cm9sUm9vdCwgJ3JlcG9zaXRvcnknXS5qb2luKCcnKSxcbiAgICAgIG5ldyBGb3JtQ29udHJvbCh0aGlzLlNvdXJjZUNvbnRyb2wuUmVwb3NpdG9yeSA/PyAnJywgVmFsaWRhdG9ycy5yZXF1aXJlZClcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuVXNlQnJhbmNoZXMpIHtcbiAgICAgIHRoaXMuRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAgIFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAnYnJhbmNoZXMnXS5qb2luKCcnKSxcbiAgICAgICAgbmV3IEZvcm1Db250cm9sKHRoaXMuU291cmNlQ29udHJvbD8uQnJhbmNoZXMgPz8gJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgICApO1xuXG4gICAgICB0aGlzLlNlbGVjdGVkQnJhbmNoZXMgPSB0aGlzLlNvdXJjZUNvbnRyb2w/LkJyYW5jaGVzO1xuXG4gICAgICB0aGlzLkZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICBbdGhpcy5Tb3VyY2VDb250cm9sUm9vdCwgJ21haW5CcmFuY2gnXS5qb2luKCcnKSxcbiAgICAgICAgbmV3IEZvcm1Db250cm9sKFxuICAgICAgICAgIHRoaXMuU291cmNlQ29udHJvbC5NYWluQnJhbmNoID8/ICcnLFxuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5Vc2VCdWlsZFBhdGgpIHtcbiAgICAgIHRoaXMuRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAgIFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAnYnVpbGRQYXRoJ10uam9pbignJyksXG4gICAgICAgIG5ldyBGb3JtQ29udHJvbCh0aGlzLkJ1aWxkUGF0aCA/PyAnJywgVmFsaWRhdG9ycy5yZXF1aXJlZClcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiRm9ybUdyb3VwXCI+XG4gIDxkaXYgY2xhc3M9XCJjYXJkXCIgKm5nSWY9XCJPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWQgfHwgIUxvYWRpbmdcIj5cbiAgICA8bWF0LWZvcm0tZmllbGRcbiAgICAgIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGggd2l0aC1oaW50XCJcbiAgICAgICpuZ0lmPVwiT3JnYW5pemF0aW9uT3B0aW9ucz8ubGVuZ3RoID4gMFwiXG4gICAgPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwib3JnLWljb25cIiBtYXRQcmVmaXg+Y29ycG9yYXRlX2ZhcmU8L21hdC1pY29uPlxuXG4gICAgICA8bWF0LXNlbGVjdFxuICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIlNvdXJjZUNvbnRyb2xSb290ICsgJ29yZ2FuaXphdGlvbidcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIk9yZ2FuaXphdGlvblwiXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiT3JnYW5pemF0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIkxvYWRpbmcgfHwgT3JnYW5pemF0aW9uRGlzYWJsZWRcIlxuICAgICAgICByZXF1aXJlZFxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcmdPcHQgb2YgT3JnYW5pemF0aW9uT3B0aW9uc1wiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvcmdPcHQuTmFtZVwiPlxuICAgICAgICAgICAge3sgb3JnT3B0Lk5hbWUgfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuXG4gICAgICA8bWF0LWljb24gbWF0U3VmZml4IChjbGljayk9XCJSZWZyZXNoT3JnYW5pemF0aW9ucygpXCIgbWF0VG9vbHRpcD1cIlJlZnJlc2ggT3JnYW5pemF0aW9uXCI+IHJlZnJlc2ggPC9tYXQtaWNvbj5cblxuICAgICAgPGFcbiAgICAgICAgbWF0U3VmZml4XG4gICAgICAgIGhyZWY9XCIvLm9hdXRoL2dpdGh1Yj9vYXV0aC1mb3JjZS1lZGl0PXRydWVcIlxuICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cImFjY2VudFwiIG1hdFRvb2x0aXA9XCJSZS1hdXRob3JpemUgT3JnYW5pemF0aW9uc1wiPiBsYXVuY2ggPC9tYXQtaWNvbj5cbiAgICAgIDwvYT5cblxuICAgICAgPG1hdC1oaW50PlxuICAgICAgICBJZiB5b3UgZG9uJ3QgaGF2ZSBhbiBvcmdhbml6YXRpb24gb3Igd291bGQgbGlrZSB0byBjcmVhdGUgYSBuZXcgb25lLFxuICAgICAgICA8YVxuICAgICAgICAgIGhyZWY9XCJodHRwczovL2dpdGh1Yi5jb20vYWNjb3VudC9vcmdhbml6YXRpb25zL25ld1wiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgPlxuICAgICAgICAgIHN0YXJ0IGhlcmVcbiAgICAgICAgPC9hPlxuICAgICAgPC9tYXQtaGludD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJjYXJkXCJcbiAgICAqbmdJZj1cIlxuICAgICAgUmVwb3NpdG9yeUZvcm1Db250cm9sPy52YWxpZCB8fFxuICAgICAgKE9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy52YWxpZCAmJiAhTG9hZGluZylcbiAgICBcIlxuICA+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm9yZy1pY29uXCIgbWF0UHJlZml4PmRlc2NyaXB0aW9uPC9tYXQtaWNvbj5cblxuICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJTb3VyY2VDb250cm9sUm9vdCArICdyZXBvc2l0b3J5J1wiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJcbiAgICAgICAgICBPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWRcbiAgICAgICAgICAgID8gJ1JlcG9zaXRvcnknXG4gICAgICAgICAgICA6ICdSZXBvc2l0b3J5IChzZWxlY3Qgb3JnYW5pemF0aW9uIGZpcnN0KSdcbiAgICAgICAgXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAgICFPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWQgfHwgTG9hZGluZyB8fCBSZXBvc2l0b3J5RGlzYWJsZWRcbiAgICAgICAgXCJcbiAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJSZXBvc2l0b3J5Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgKm5nSWY9XCIhQ3JlYXRpbmdSZXBvc2l0b3J5XCJcbiAgICAgICAgcmVxdWlyZWRcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcmVwb09wdCBvZiBSZXBvc2l0b3J5T3B0aW9uc1wiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJyZXBvT3B0Lk5hbWVcIj5cbiAgICAgICAgICAgIHt7IHJlcG9PcHQuTmFtZSB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICAgIDxpbnB1dFxuICAgICAgICBtYXRJbnB1dFxuICAgICAgICBwbGFjZWhvbGRlcj1cIlJlcG9zaXRvcnkgKGNyZWF0ZXMgbmV3IGlmIGRvZXMgbm90IGV4aXN0KVwiXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiU291cmNlQ29udHJvbFJvb3QgKyAncmVwb3NpdG9yeSdcIlxuICAgICAgICAqbmdJZj1cIkNyZWF0aW5nUmVwb3NpdG9yeVwiXG4gICAgICAgIFtmeEhpZGVdPVwiTG9hZGluZyB8fCBSZXBvc2l0b3J5RGlzYWJsZWRcIlxuICAgICAgICByZXF1aXJlZFxuICAgICAgLz5cblxuICAgICAgPG1hdC1pY29uXG4gICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAoY2xpY2spPVwiQ3JlYXRlUmVwb3NpdG9yeSgpXCJcbiAgICAgICAgW2Z4SGlkZV09XCJMb2FkaW5nIHx8IFJlcG9zaXRvcnlEaXNhYmxlZFwiXG4gICAgICAgICpuZ0lmPVwiIUNyZWF0aW5nUmVwb3NpdG9yeSAmJiBPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWRcIlxuICAgICAgPlxuICAgICAgICBhZGRfY2lyY2xlXG4gICAgICA8L21hdC1pY29uPlxuXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gdHlwZT1cImJ1dHRvblwiIFxuICAgICAgICAoY2xpY2spPVwiU2F2ZVJlcG9zaXRvcnkoKVwiIFxuICAgICAgICAqbmdJZj1cIkNyZWF0aW5nUmVwb3NpdG9yeSAmJiBSZXBvc2l0b3J5Rm9ybUNvbnRyb2w/LnZhbGlkXCI+XG5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgPlxuICAgICAgICAgIHNhdmVcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gdHlwZT1cImJ1dHRvblwiIFxuICAgICAgICAoY2xpY2spPVwiQ2FuY2VsQ3JlYXRlUmVwb3NpdG9yeSgpXCJcbiAgICAgICAgKm5nSWY9XCJDcmVhdGluZ1JlcG9zaXRvcnlcIj5cblxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICBcbiAgICAgICAgPlxuICAgICAgICAgIGNhbmNlbFxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY2FyZFwiXG4gICAgKm5nSWY9XCJcbiAgICAgIChCcmFuY2hlc0Zvcm1Db250cm9sPy52YWxpZCB8fFxuICAgICAgICAoT3JnYW5pemF0aW9uRm9ybUNvbnRyb2w/LnZhbGlkICYmXG4gICAgICAgICAgUmVwb3NpdG9yeUZvcm1Db250cm9sPy52YWxpZCAmJlxuICAgICAgICAgICFMb2FkaW5nKSkgJiZcbiAgICAgICFDcmVhdGluZ1JlcG9zaXRvcnkgJiZcbiAgICAgIFVzZUJyYW5jaGVzXG4gICAgXCJcbiAgPlxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJvcmctaWNvblwiIG1hdFByZWZpeD5hY2NvdW50X3RyZWU8L21hdC1pY29uPlxuXG4gICAgICA8bWF0LWxhYmVsPlNlbGVjdGVkIEJyYW5jaGVzPC9tYXQtbGFiZWw+XG5cbiAgICAgIDxtYXQtYXV0b2NvbXBsZXRlXG4gICAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJCcmFuY2hPcHRpb25TZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgI2JyYW5jaE9wdGlvbnM9XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBicmFuY2hPcHQgb2YgQnJhbmNoT3B0aW9uc1wiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJicmFuY2hPcHQuTmFtZVwiPlxuICAgICAgICAgICAge3sgYnJhbmNoT3B0Lk5hbWUgfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuXG4gICAgICA8bWF0LWNoaXAtbGlzdCAjc2VsZWN0ZWRCcmFuY2hlcz5cbiAgICAgICAgPG1hdC1jaGlwXG4gICAgICAgICAgW3JlbW92YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAocmVtb3ZlZCk9XCJSZW1vdmVCcmFuY2hPcHRpb24oc2VsQnJhbmNoKVwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHNlbEJyYW5jaCBvZiBTZWxlY3RlZEJyYW5jaGVzXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHNlbEJyYW5jaCB9fVxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRDaGlwUmVtb3ZlPmNhbmNlbDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWNoaXA+XG5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5ldyBCcmFuY2guLi5cIlxuICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiU291cmNlQ29udHJvbFJvb3QgKyAnYnJhbmNoZXMnXCJcbiAgICAgICAgICAjYnJhbmNoZXNcbiAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImJyYW5jaE9wdGlvbnNcIlxuICAgICAgICAgIFttYXRDaGlwSW5wdXRGb3JdPVwic2VsZWN0ZWRCcmFuY2hlc1wiXG4gICAgICAgICAgW21hdENoaXBJbnB1dFNlcGFyYXRvcktleUNvZGVzXT1cIlNlcGFyYXRvcktleXNDb2Rlc1wiXG4gICAgICAgICAgW21hdENoaXBJbnB1dEFkZE9uQmx1cl09XCJ0cnVlXCJcbiAgICAgICAgICAobWF0Q2hpcElucHV0VG9rZW5FbmQpPVwiQWRkQnJhbmNoT3B0aW9uKCRldmVudClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJMb2FkaW5nIHx8IEJyYW5jaGVzRGlzYWJsZWRcIlxuICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgIC8+XG4gICAgICA8L21hdC1jaGlwLWxpc3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgY2xhc3M9XCJtYXQtZnVsbC13aWR0aCB3aXRoLWhpbnRcIlxuICAgICAgW2Z4U2hvd109XCJTZWxlY3RlZEJyYW5jaGVzPy5sZW5ndGggPiAxXCJcbiAgICA+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJvcmctaWNvblwiIG1hdFByZWZpeD5hY2NvdW50X3RyZWU8L21hdC1pY29uPlxuXG4gICAgICA8bWF0LXNlbGVjdFxuICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIlNvdXJjZUNvbnRyb2xSb290ICsgJ21haW5CcmFuY2gnXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJNYWluIEJyYW5jaFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJMb2FkaW5nIHx8IEJyYW5jaGVzRGlzYWJsZWRcIlxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIk1haW5CcmFuY2hDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICByZXF1aXJlZFxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBicmFuY2ggb2YgU2VsZWN0ZWRCcmFuY2hlc1wiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJicmFuY2hcIj5cbiAgICAgICAgICAgIHt7IGJyYW5jaCB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXggKGNsaWNrKT1cIlJlZnJlc2hPcmdhbml6YXRpb25zKClcIj4gcmVmcmVzaCA8L21hdC1pY29uPlxuXG4gICAgICA8YVxuICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIGhyZWY9XCIvLm9hdXRoL2dpdGh1Yj9vYXV0aC1mb3JjZS1lZGl0PXRydWVcIlxuICAgICAgICBcbiAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgbWF0VG9vbHRpcD1cIlJlLWF1dGhvcml6ZSBPcmdhbml6YXRpb25zXCJcbiAgICAgICAgY29sb3I9XCJhY2NlbnRcIj4gbGF1bmNoIDwvbWF0LWljb24+XG4gICAgICA8L2E+XG5cbiAgICAgIDxtYXQtaGludD5cbiAgICAgICAgSWYgeW91IGRvbid0IGhhdmUgYW4gb3JnYW5pemF0aW9uIG9yIHdvdWxkIGxpa2UgdG8gY3JlYXRlIGEgbmV3IG9uZSxcbiAgICAgICAgPGFcbiAgICAgICAgICBocmVmPVwiaHR0cHM6Ly9naXRodWIuY29tL2FjY291bnQvb3JnYW5pemF0aW9ucy9uZXdcIlxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgID5cbiAgICAgICAgICBzdGFydCBoZXJlXG4gICAgICAgIDwvYT5cbiAgICAgIDwvbWF0LWhpbnQ+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY2FyZFwiXG4gICAgKm5nSWY9XCJcbiAgICAgIChCdWlsZFBhdGhGb3JtQ29udHJvbD8udmFsaWQgfHxcbiAgICAgICAgKE9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy52YWxpZCAmJlxuICAgICAgICAgIFJlcG9zaXRvcnlGb3JtQ29udHJvbD8udmFsaWQgJiZcbiAgICAgICAgICAhTG9hZGluZykpICYmXG4gICAgICAhQ3JlYXRpbmdSZXBvc2l0b3J5ICYmXG4gICAgICBVc2VCdWlsZFBhdGhcbiAgICBcIlxuICA+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGggd2l0aC1oaW50XCI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJvcmctaWNvblwiIG1hdFByZWZpeD5idWlsZDwvbWF0LWljb24+XG5cbiAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiU291cmNlQ29udHJvbFJvb3QgKyAnYnVpbGRQYXRoJ1wiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiQnVpbGQgUGF0aFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJMb2FkaW5nIHx8IEJ1aWxkUGF0aERpc2FibGVkXCJcbiAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJCdWlsZFBhdGhDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICByZXF1aXJlZFxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBidWlsZFBhdGggb2YgQnVpbGRQYXRoT3B0aW9uc1wiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJidWlsZFBhdGhcIj5cbiAgICAgICAgICAgIHt7IGJ1aWxkUGF0aCB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICAgIDxtYXQtaGludD5cbiAgICAgICAgVGhlIGJ1aWxkIHBhdGggaWRlbnRpZmllcyB3aGljaCBidWlsZCBhY3Rpb24gdG8gdXNlIGZvciB5b3VyXG4gICAgICAgIGNvbmZpZ3VyYXRpb24uXG4gICAgICA8L21hdC1oaW50PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJMb2FkaW5nXCI+XG4gICAgPGRpdiBjbGFzcz1cInNwcmVhZFwiPlxuICAgICAgPGxjdS1sb2FkZXIgc3R5bGU9XCJtYXJnaW46IGF1dG9cIiBbbG9hZGluZ109XCJ0cnVlXCI+PC9sY3UtbG9hZGVyPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLTNcIj5cbiAgICAgICAgPGg0IGNsYXNzPVwibWF0LXRpdGxlXCIgKm5nSWY9XCIhT3JnYW5pemF0aW9uRm9ybUNvbnRyb2w/LnZhbGlkXCI+XG4gICAgICAgICAgTG9hZGluZyBvcmdhbml6YXRpb25zXG4gICAgICAgIDwvaDQ+XG5cbiAgICAgICAgPGg0XG4gICAgICAgICAgY2xhc3M9XCJtYXQtdGl0bGVcIlxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICBPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWQgJiYgIVJlcG9zaXRvcnlGb3JtQ29udHJvbD8udmFsaWRcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgTG9hZGluZyByZXBvc2l0b3JpZXNcbiAgICAgICAgPC9oND5cblxuICAgICAgICA8aDRcbiAgICAgICAgICBjbGFzcz1cIm1hdC10aXRsZVwiXG4gICAgICAgICAgKm5nSWY9XCJSZXBvc2l0b3J5Rm9ybUNvbnRyb2w/LnZhbGlkICYmICFCcmFuY2hlc0Zvcm1Db250cm9sPy52YWxpZFwiXG4gICAgICAgID5cbiAgICAgICAgICBMb2FkaW5nIGJyYW5jaGVzXG4gICAgICAgIDwvaDQ+XG5cbiAgICAgICAgPGg0XG4gICAgICAgICAgY2xhc3M9XCJtYXQtdGl0bGVcIlxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAoUmVwb3NpdG9yeUZvcm1Db250cm9sPy52YWxpZCB8fCBCcmFuY2hlc0Zvcm1Db250cm9sPy52YWxpZCkgJiZcbiAgICAgICAgICAgICFCdWlsZFBhdGhGb3JtQ29udHJvbD8udmFsaWRcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgTG9hZGluZyBidWlsZCBwYXRoc1xuICAgICAgICA8L2g0PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|