@cleavelandprice/ngx-lib 3.7.2 → 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/active-directory/active-directory.module.d.ts +11 -11
- package/active-directory/gui/components/user-chooser/user-chooser.component.d.ts +58 -58
- package/active-directory/gui/components/user-form-field/user-form-field.component.d.ts +29 -29
- package/active-directory/gui/gui.module.d.ts +25 -25
- package/active-directory/gui/index.d.ts +5 -5
- package/active-directory/gui/model/selectable-user.d.ts +5 -5
- package/active-directory/gui/model/user-chooser-data.d.ts +22 -22
- package/active-directory/gui/model/user-chooser-filter-options.d.ts +7 -7
- package/active-directory/gui/model/user-chooser-mode.d.ts +4 -4
- package/active-directory/gui/model/user-chooser-pre-processing-group.d.ts +6 -6
- package/active-directory/gui/public_api.d.ts +8 -8
- package/active-directory/index.d.ts +5 -5
- package/active-directory/model/ad-object-with-children.d.ts +4 -4
- package/active-directory/model/ad-object.d.ts +13 -13
- package/active-directory/model/cache-object.d.ts +4 -4
- package/active-directory/model/caching-config.d.ts +4 -4
- package/active-directory/model/cleaveland-price-user.d.ts +17 -17
- package/active-directory/model/group.d.ts +7 -7
- package/active-directory/model/logging-config.d.ts +6 -6
- package/active-directory/model/service-config.d.ts +8 -8
- package/active-directory/model/user-or-group.d.ts +7 -7
- package/active-directory/model/user.d.ts +23 -23
- package/active-directory/public_api.d.ts +11 -11
- package/active-directory/services/active-directory.service.d.ts +32 -32
- package/authentication/authentication.base.module.d.ts +7 -7
- package/authentication/index.d.ts +5 -5
- package/authentication/model/abstract-authentication-service.d.ts +16 -16
- package/authentication/model/authenticated-user.d.ts +9 -9
- package/authentication/model/authentication-request.d.ts +8 -6
- package/authentication/model/service-config.d.ts +8 -7
- package/authentication/object/index.d.ts +5 -5
- package/authentication/object/model/service-config.d.ts +4 -4
- package/authentication/object/object.module.d.ts +11 -11
- package/authentication/object/public_api.d.ts +3 -3
- package/authentication/object/services/authentication.service.d.ts +25 -25
- package/authentication/public_api.d.ts +5 -5
- package/authentication/token/gui/components/login/login.component.d.ts +14 -13
- package/authentication/token/gui/components/login-form/login-form.component.d.ts +29 -28
- package/authentication/token/gui/index.d.ts +5 -5
- package/authentication/token/gui/model/login-form-data.d.ts +4 -3
- package/authentication/token/gui/model/service-config.d.ts +5 -5
- package/authentication/token/gui/public_api.d.ts +6 -6
- package/authentication/token/gui/services/authentication.service.d.ts +15 -15
- package/authentication/token/gui/token-gui.module.d.ts +21 -21
- package/authentication/token/index.d.ts +5 -5
- package/authentication/token/model/authentication-token.d.ts +17 -17
- package/authentication/token/model/service-config.d.ts +5 -5
- package/authentication/token/public_api.d.ts +4 -4
- package/authentication/token/services/authentication.service.d.ts +24 -24
- package/authentication/token/token.module.d.ts +11 -11
- package/dialog/components/base/base.component.d.ts +22 -22
- package/dialog/components/choice/choice.component.d.ts +12 -12
- package/dialog/components/confirmation/confirmation.component.d.ts +12 -12
- package/dialog/components/input/input.component.d.ts +12 -12
- package/dialog/components/message/message.component.d.ts +12 -12
- package/dialog/dialog.module.d.ts +18 -18
- package/dialog/index.d.ts +5 -5
- package/dialog/model/confirmation-dialog-mode.d.ts +6 -6
- package/dialog/model/dialog-base-data.d.ts +10 -10
- package/dialog/model/dialog-choice-data.d.ts +4 -4
- package/dialog/model/dialog-type.d.ts +6 -6
- package/dialog/public_api.d.ts +9 -9
- package/esm2022/active-directory/active-directory.module.mjs +40 -0
- package/{esm2020 → esm2022}/active-directory/cleavelandprice-ngx-lib-active-directory.mjs +4 -4
- package/{esm2020 → esm2022}/active-directory/gui/cleavelandprice-ngx-lib-active-directory-gui.mjs +4 -4
- package/esm2022/active-directory/gui/components/user-chooser/user-chooser.component.mjs +375 -0
- package/esm2022/active-directory/gui/components/user-form-field/user-form-field.component.mjs +130 -0
- package/esm2022/active-directory/gui/gui.module.mjs +97 -0
- package/{esm2020 → esm2022}/active-directory/gui/model/selectable-user.mjs +1 -1
- package/{esm2020 → esm2022}/active-directory/gui/model/user-chooser-data.mjs +32 -32
- package/{esm2020 → esm2022}/active-directory/gui/model/user-chooser-filter-options.mjs +9 -9
- package/{esm2020 → esm2022}/active-directory/gui/model/user-chooser-mode.mjs +5 -5
- package/{esm2020 → esm2022}/active-directory/gui/model/user-chooser-pre-processing-group.mjs +8 -8
- package/{esm2020 → esm2022}/active-directory/gui/public_api.mjs +8 -8
- package/{esm2020 → esm2022}/active-directory/model/ad-object-with-children.mjs +1 -1
- package/{esm2020 → esm2022}/active-directory/model/ad-object.mjs +1 -1
- package/{esm2020 → esm2022}/active-directory/model/cache-object.mjs +2 -2
- package/{esm2020 → esm2022}/active-directory/model/caching-config.mjs +6 -6
- package/{esm2020 → esm2022}/active-directory/model/cleaveland-price-user.mjs +1 -1
- package/{esm2020 → esm2022}/active-directory/model/group.mjs +1 -1
- package/{esm2020 → esm2022}/active-directory/model/logging-config.mjs +8 -8
- package/{esm2020 → esm2022}/active-directory/model/service-config.mjs +11 -11
- package/{esm2020 → esm2022}/active-directory/model/user-or-group.mjs +1 -1
- package/{esm2020 → esm2022}/active-directory/model/user.mjs +1 -1
- package/{esm2020 → esm2022}/active-directory/public_api.mjs +11 -11
- package/esm2022/active-directory/services/active-directory.service.mjs +112 -0
- package/esm2022/authentication/authentication.base.module.mjs +20 -0
- package/{esm2020 → esm2022}/authentication/cleavelandprice-ngx-lib-authentication.mjs +4 -4
- package/{esm2020 → esm2022}/authentication/model/abstract-authentication-service.mjs +1 -1
- package/{esm2020 → esm2022}/authentication/model/authenticated-user.mjs +1 -1
- package/{esm2020 → esm2022}/authentication/model/authentication-request.mjs +2 -2
- package/esm2022/authentication/model/service-config.mjs +12 -0
- package/{esm2020 → esm2022}/authentication/object/cleavelandprice-ngx-lib-authentication-object.mjs +4 -4
- package/esm2022/authentication/object/model/service-config.mjs +9 -0
- package/esm2022/authentication/object/object.module.mjs +40 -0
- package/{esm2020 → esm2022}/authentication/object/public_api.mjs +3 -3
- package/esm2022/authentication/object/services/authentication.service.mjs +109 -0
- package/{esm2020 → esm2022}/authentication/public_api.mjs +5 -5
- package/{esm2020 → esm2022}/authentication/token/cleavelandprice-ngx-lib-authentication-token.mjs +4 -4
- package/{esm2020 → esm2022}/authentication/token/gui/cleavelandprice-ngx-lib-authentication-token-gui.mjs +4 -4
- package/esm2022/authentication/token/gui/components/login/login.component.mjs +45 -0
- package/esm2022/authentication/token/gui/components/login-form/login-form.component.mjs +74 -0
- package/{esm2020 → esm2022}/authentication/token/gui/model/login-form-data.mjs +2 -2
- package/esm2022/authentication/token/gui/model/service-config.mjs +10 -0
- package/{esm2020 → esm2022}/authentication/token/gui/public_api.mjs +6 -6
- package/esm2022/authentication/token/gui/services/authentication.service.mjs +79 -0
- package/esm2022/authentication/token/gui/token-gui.module.mjs +82 -0
- package/{esm2020 → esm2022}/authentication/token/model/authentication-token.mjs +1 -1
- package/esm2022/authentication/token/model/service-config.mjs +10 -0
- package/{esm2020 → esm2022}/authentication/token/public_api.mjs +4 -4
- package/esm2022/authentication/token/services/authentication.service.mjs +120 -0
- package/esm2022/authentication/token/token.module.mjs +40 -0
- package/{esm2020 → esm2022}/cleavelandprice-ngx-lib.mjs +4 -4
- package/{esm2020 → esm2022}/dialog/cleavelandprice-ngx-lib-dialog.mjs +4 -4
- package/esm2022/dialog/components/base/base.component.mjs +93 -0
- package/esm2022/dialog/components/choice/choice.component.mjs +24 -0
- package/esm2022/dialog/components/confirmation/confirmation.component.mjs +24 -0
- package/esm2022/dialog/components/input/input.component.mjs +24 -0
- package/esm2022/dialog/components/message/message.component.mjs +24 -0
- package/esm2022/dialog/dialog.module.mjs +69 -0
- package/{esm2020 → esm2022}/dialog/model/confirmation-dialog-mode.mjs +7 -7
- package/{esm2020 → esm2022}/dialog/model/dialog-base-data.mjs +1 -1
- package/{esm2020 → esm2022}/dialog/model/dialog-choice-data.mjs +1 -1
- package/{esm2020 → esm2022}/dialog/model/dialog-type.mjs +7 -7
- package/{esm2020 → esm2022}/dialog/public_api.mjs +9 -9
- package/{esm2020 → esm2022}/lib/model/app-path-config.mjs +1 -1
- package/{esm2020 → esm2022}/lib/model/app-type.mjs +1 -1
- package/{esm2020 → esm2022}/lib/model/app.mjs +1 -1
- package/esm2022/lib/model/service-config.mjs +21 -0
- package/esm2022/lib/ngx-lib.module.mjs +37 -0
- package/esm2022/lib/services/app-path-config.service.mjs +46 -0
- package/{esm2020 → esm2022}/msgraph/cleavelandprice-ngx-lib-msgraph.mjs +4 -4
- package/{esm2020 → esm2022}/msgraph/model/address.mjs +1 -1
- package/{esm2020 → esm2022}/msgraph/model/attendee.mjs +1 -1
- package/{esm2020 → esm2022}/msgraph/model/bulk-calendar-events.mjs +1 -1
- package/{esm2020 → esm2022}/msgraph/model/bulk-calendar-request.mjs +1 -1
- package/{esm2020 → esm2022}/msgraph/model/calendar-event.mjs +1 -1
- package/{esm2020 → esm2022}/msgraph/model/coordinates.mjs +1 -1
- package/{esm2020 → esm2022}/msgraph/model/email-address.mjs +1 -1
- package/{esm2020 → esm2022}/msgraph/model/location.mjs +1 -1
- package/{esm2020 → esm2022}/msgraph/model/online-meeting-info.mjs +1 -1
- package/{esm2020 → esm2022}/msgraph/model/patterned-recurrence.mjs +1 -1
- package/{esm2020 → esm2022}/msgraph/model/phone.mjs +1 -1
- package/{esm2020 → esm2022}/msgraph/model/recipient.mjs +1 -1
- package/{esm2020 → esm2022}/msgraph/model/recurrence-pattern.mjs +1 -1
- package/{esm2020 → esm2022}/msgraph/model/recurrence-range.mjs +1 -1
- package/{esm2020 → esm2022}/msgraph/model/response-status.mjs +1 -1
- package/{esm2020 → esm2022}/msgraph/model/room.mjs +5 -5
- package/{esm2020 → esm2022}/msgraph/model/user.mjs +131 -131
- package/esm2022/msgraph/msgraph.module.mjs +33 -0
- package/{esm2020 → esm2022}/msgraph/public_api.mjs +18 -18
- package/{esm2020 → esm2022}/public_api.mjs +9 -9
- package/{esm2020 → esm2022}/quill/cleavelandprice-ngx-lib-quill.mjs +4 -4
- package/esm2022/quill/components/editor/editor.component.mjs +297 -0
- package/esm2022/quill/components/raw/raw.component.mjs +25 -0
- package/{esm2020 → esm2022}/quill/mention/cleavelandprice-ngx-lib-quill-mention.mjs +4 -4
- package/esm2022/quill/mention/components/editor/editor.component.mjs +156 -0
- package/{esm2020 → esm2022}/quill/mention/model/buttons.mjs +3 -3
- package/{esm2020 → esm2022}/quill/mention/model/config.mjs +3 -3
- package/{esm2020 → esm2022}/quill/mention/model/dialog-data.mjs +1 -1
- package/{esm2020 → esm2022}/quill/mention/model/icons.mjs +3 -3
- package/{esm2020 → esm2022}/quill/mention/model/tooltips.mjs +3 -3
- package/{esm2020 → esm2022}/quill/mention/public_api.mjs +7 -7
- package/esm2022/quill/mention/quill-mention.module.mjs +66 -0
- package/{esm2020 → esm2022}/quill/model/buttons.mjs +51 -51
- package/{esm2020 → esm2022}/quill/model/config.mjs +39 -39
- package/{esm2020 → esm2022}/quill/model/dialog-data.mjs +1 -1
- package/{esm2020 → esm2022}/quill/model/icons.mjs +8 -8
- package/{esm2020 → esm2022}/quill/model/tooltips.mjs +54 -54
- package/{esm2020 → esm2022}/quill/public_api.mjs +8 -8
- package/esm2022/quill/quill.module.mjs +79 -0
- package/{esm2020 → esm2022}/sharepoint/cleavelandprice-ngx-lib-sharepoint.mjs +4 -4
- package/esm2022/sharepoint/components/employee-photo/employee-photo.component.mjs +38 -0
- package/{esm2020 → esm2022}/sharepoint/model/base-item.mjs +1 -1
- package/{esm2020 → esm2022}/sharepoint/model/base-request-credential.mjs +1 -1
- package/{esm2020 → esm2022}/sharepoint/model/base-request.mjs +1 -1
- package/{esm2020 → esm2022}/sharepoint/model/cache-object.mjs +2 -2
- package/{esm2020 → esm2022}/sharepoint/model/file-request.mjs +1 -1
- package/{esm2020 → esm2022}/sharepoint/model/folder-request.mjs +1 -1
- package/{esm2020 → esm2022}/sharepoint/model/list-item.mjs +1 -1
- package/{esm2020 → esm2022}/sharepoint/model/list-items-request.mjs +1 -1
- package/{esm2020 → esm2022}/sharepoint/model/photo-item.mjs +1 -1
- package/{esm2020 → esm2022}/sharepoint/model/service-config.mjs +28 -28
- package/{esm2020 → esm2022}/sharepoint/model/uri-request.mjs +1 -1
- package/{esm2020 → esm2022}/sharepoint/model/user-request.mjs +1 -1
- package/{esm2020 → esm2022}/sharepoint/model/user.mjs +1 -1
- package/esm2022/sharepoint/pipes/employee-photo-url.pipe.mjs +39 -0
- package/{esm2020 → esm2022}/sharepoint/public_api.mjs +16 -16
- package/esm2022/sharepoint/services/sharepoint.service.mjs +149 -0
- package/esm2022/sharepoint/sharepoint.module.mjs +50 -0
- package/{esm2020 → esm2022}/upload/cleavelandprice-ngx-lib-upload.mjs +4 -4
- package/esm2022/upload/components/upload/upload.component.mjs +35 -0
- package/esm2022/upload/components/upload-dialog/upload-dialog.component.mjs +87 -0
- package/{esm2020 → esm2022}/upload/model/database-file-info.mjs +1 -1
- package/{esm2020 → esm2022}/upload/model/file-upload-request.mjs +1 -1
- package/{esm2020 → esm2022}/upload/model/filesystem-file-info.mjs +1 -1
- package/{esm2020 → esm2022}/upload/model/service-config.mjs +15 -15
- package/{esm2020 → esm2022}/upload/public_api.mjs +8 -8
- package/esm2022/upload/services/upload.service.mjs +92 -0
- package/esm2022/upload/upload.module.mjs +66 -0
- package/{esm2020 → esm2022}/url-utilities/cleavelandprice-ngx-lib-url-utilities.mjs +4 -4
- package/esm2022/url-utilities/pipes/safe-resource-url.pipe.mjs +21 -0
- package/esm2022/url-utilities/pipes/safe-url.pipe.mjs +21 -0
- package/esm2022/url-utilities/pipes/uri-scheme.pipe.mjs +106 -0
- package/{esm2020 → esm2022}/url-utilities/public_api.mjs +4 -4
- package/esm2022/url-utilities/url-utilities.module.mjs +35 -0
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-active-directory-gui.mjs +586 -587
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-active-directory-gui.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-active-directory.mjs +155 -156
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-active-directory.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-authentication-object.mjs +141 -140
- package/fesm2022/cleavelandprice-ngx-lib-authentication-object.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-authentication-token-gui.mjs +232 -226
- package/fesm2022/cleavelandprice-ngx-lib-authentication-token-gui.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-authentication-token.mjs +152 -151
- package/fesm2022/cleavelandprice-ngx-lib-authentication-token.mjs.map +1 -0
- package/{fesm2015 → fesm2022}/cleavelandprice-ngx-lib-authentication.mjs +25 -25
- package/fesm2022/cleavelandprice-ngx-lib-authentication.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-dialog.mjs +205 -205
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-dialog.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-msgraph.mjs +161 -162
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-msgraph.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-quill-mention.mjs +188 -189
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-quill-mention.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-quill.mjs +492 -493
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-quill.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-sharepoint.mjs +269 -270
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-sharepoint.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-upload.mjs +250 -251
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib-upload.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/cleavelandprice-ngx-lib-url-utilities.mjs +159 -160
- package/fesm2022/cleavelandprice-ngx-lib-url-utilities.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib.mjs +91 -92
- package/{fesm2020 → fesm2022}/cleavelandprice-ngx-lib.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/model/app-path-config.d.ts +10 -10
- package/lib/model/app-type.d.ts +5 -5
- package/lib/model/app.d.ts +16 -16
- package/lib/model/service-config.d.ts +6 -6
- package/lib/ngx-lib.module.d.ts +10 -10
- package/lib/services/app-path-config.service.d.ts +20 -20
- package/msgraph/index.d.ts +5 -5
- package/msgraph/model/address.d.ts +7 -7
- package/msgraph/model/attendee.d.ts +13 -13
- package/msgraph/model/bulk-calendar-events.d.ts +5 -5
- package/msgraph/model/bulk-calendar-request.d.ts +3 -3
- package/msgraph/model/calendar-event.d.ts +53 -53
- package/msgraph/model/coordinates.d.ts +7 -7
- package/msgraph/model/email-address.d.ts +4 -4
- package/msgraph/model/location.d.ts +12 -12
- package/msgraph/model/online-meeting-info.d.ts +9 -9
- package/msgraph/model/patterned-recurrence.d.ts +6 -6
- package/msgraph/model/phone.d.ts +4 -4
- package/msgraph/model/recipient.d.ts +4 -4
- package/msgraph/model/recurrence-pattern.d.ts +9 -9
- package/msgraph/model/recurrence-range.d.ts +7 -7
- package/msgraph/model/response-status.d.ts +4 -4
- package/msgraph/model/room.d.ts +22 -22
- package/msgraph/model/user.d.ts +29 -29
- package/msgraph/msgraph.module.d.ts +10 -10
- package/msgraph/public_api.d.ts +18 -18
- package/package.json +61 -93
- package/public_api.d.ts +6 -6
- package/quill/components/editor/editor.component.d.ts +53 -53
- package/quill/components/raw/raw.component.d.ts +7 -7
- package/quill/index.d.ts +5 -5
- package/quill/mention/components/editor/editor.component.d.ts +20 -20
- package/quill/mention/index.d.ts +5 -5
- package/quill/mention/model/buttons.d.ts +3 -3
- package/quill/mention/model/config.d.ts +3 -3
- package/quill/mention/model/dialog-data.d.ts +5 -5
- package/quill/mention/model/icons.d.ts +3 -3
- package/quill/mention/model/tooltips.d.ts +3 -3
- package/quill/mention/public_api.d.ts +7 -7
- package/quill/mention/quill-mention.module.d.ts +17 -17
- package/quill/model/buttons.d.ts +29 -29
- package/quill/model/config.d.ts +30 -30
- package/quill/model/dialog-data.d.ts +21 -21
- package/quill/model/icons.d.ts +6 -6
- package/quill/model/tooltips.d.ts +32 -32
- package/quill/public_api.d.ts +8 -8
- package/quill/quill.module.d.ts +20 -20
- package/sharepoint/components/employee-photo/employee-photo.component.d.ts +16 -16
- package/sharepoint/index.d.ts +5 -5
- package/sharepoint/model/base-item.d.ts +4 -4
- package/sharepoint/model/base-request-credential.d.ts +4 -4
- package/sharepoint/model/base-request.d.ts +8 -8
- package/sharepoint/model/cache-object.d.ts +4 -4
- package/sharepoint/model/file-request.d.ts +4 -4
- package/sharepoint/model/folder-request.d.ts +4 -4
- package/sharepoint/model/list-item.d.ts +10 -10
- package/sharepoint/model/list-items-request.d.ts +5 -5
- package/sharepoint/model/photo-item.d.ts +11 -11
- package/sharepoint/model/service-config.d.ts +23 -23
- package/sharepoint/model/uri-request.d.ts +4 -4
- package/sharepoint/model/user-request.d.ts +4 -4
- package/sharepoint/model/user.d.ts +12 -12
- package/sharepoint/pipes/employee-photo-url.pipe.d.ts +12 -12
- package/sharepoint/public_api.d.ts +16 -16
- package/sharepoint/services/sharepoint.service.d.ts +25 -25
- package/sharepoint/sharepoint.module.d.ts +13 -13
- package/upload/components/upload/upload.component.d.ts +15 -15
- package/upload/components/upload-dialog/upload-dialog.component.d.ts +24 -24
- package/upload/index.d.ts +5 -5
- package/upload/model/database-file-info.d.ts +7 -7
- package/upload/model/file-upload-request.d.ts +6 -6
- package/upload/model/filesystem-file-info.d.ts +12 -12
- package/upload/model/service-config.d.ts +15 -15
- package/upload/public_api.d.ts +8 -8
- package/upload/services/upload.service.d.ts +18 -18
- package/upload/upload.module.d.ts +17 -17
- package/url-utilities/index.d.ts +5 -5
- package/url-utilities/pipes/safe-resource-url.pipe.d.ts +10 -10
- package/url-utilities/pipes/safe-url.pipe.d.ts +10 -10
- package/url-utilities/pipes/uri-scheme.pipe.d.ts +9 -9
- package/url-utilities/public_api.d.ts +4 -4
- package/url-utilities/url-utilities.module.d.ts +10 -10
- package/esm2020/active-directory/active-directory.module.mjs +0 -39
- package/esm2020/active-directory/gui/components/user-chooser/user-chooser.component.mjs +0 -374
- package/esm2020/active-directory/gui/components/user-form-field/user-form-field.component.mjs +0 -129
- package/esm2020/active-directory/gui/gui.module.mjs +0 -96
- package/esm2020/active-directory/services/active-directory.service.mjs +0 -111
- package/esm2020/authentication/authentication.base.module.mjs +0 -19
- package/esm2020/authentication/model/service-config.mjs +0 -11
- package/esm2020/authentication/object/model/service-config.mjs +0 -9
- package/esm2020/authentication/object/object.module.mjs +0 -39
- package/esm2020/authentication/object/services/authentication.service.mjs +0 -106
- package/esm2020/authentication/token/gui/components/login/login.component.mjs +0 -39
- package/esm2020/authentication/token/gui/components/login-form/login-form.component.mjs +0 -71
- package/esm2020/authentication/token/gui/model/service-config.mjs +0 -10
- package/esm2020/authentication/token/gui/services/authentication.service.mjs +0 -78
- package/esm2020/authentication/token/gui/token-gui.module.mjs +0 -81
- package/esm2020/authentication/token/model/service-config.mjs +0 -10
- package/esm2020/authentication/token/services/authentication.service.mjs +0 -117
- package/esm2020/authentication/token/token.module.mjs +0 -39
- package/esm2020/dialog/components/base/base.component.mjs +0 -92
- package/esm2020/dialog/components/choice/choice.component.mjs +0 -23
- package/esm2020/dialog/components/confirmation/confirmation.component.mjs +0 -23
- package/esm2020/dialog/components/input/input.component.mjs +0 -23
- package/esm2020/dialog/components/message/message.component.mjs +0 -23
- package/esm2020/dialog/dialog.module.mjs +0 -68
- package/esm2020/lib/model/service-config.mjs +0 -21
- package/esm2020/lib/ngx-lib.module.mjs +0 -36
- package/esm2020/lib/services/app-path-config.service.mjs +0 -45
- package/esm2020/msgraph/msgraph.module.mjs +0 -32
- package/esm2020/quill/components/editor/editor.component.mjs +0 -296
- package/esm2020/quill/components/raw/raw.component.mjs +0 -24
- package/esm2020/quill/mention/components/editor/editor.component.mjs +0 -155
- package/esm2020/quill/mention/quill-mention.module.mjs +0 -65
- package/esm2020/quill/quill.module.mjs +0 -78
- package/esm2020/sharepoint/components/employee-photo/employee-photo.component.mjs +0 -37
- package/esm2020/sharepoint/pipes/employee-photo-url.pipe.mjs +0 -38
- package/esm2020/sharepoint/services/sharepoint.service.mjs +0 -148
- package/esm2020/sharepoint/sharepoint.module.mjs +0 -49
- package/esm2020/upload/components/upload/upload.component.mjs +0 -34
- package/esm2020/upload/components/upload-dialog/upload-dialog.component.mjs +0 -86
- package/esm2020/upload/services/upload.service.mjs +0 -91
- package/esm2020/upload/upload.module.mjs +0 -65
- package/esm2020/url-utilities/pipes/safe-resource-url.pipe.mjs +0 -20
- package/esm2020/url-utilities/pipes/safe-url.pipe.mjs +0 -20
- package/esm2020/url-utilities/pipes/uri-scheme.pipe.mjs +0 -105
- package/esm2020/url-utilities/url-utilities.module.mjs +0 -34
- package/fesm2015/cleavelandprice-ngx-lib-active-directory-gui.mjs +0 -652
- package/fesm2015/cleavelandprice-ngx-lib-active-directory-gui.mjs.map +0 -1
- package/fesm2015/cleavelandprice-ngx-lib-active-directory.mjs +0 -187
- package/fesm2015/cleavelandprice-ngx-lib-active-directory.mjs.map +0 -1
- package/fesm2015/cleavelandprice-ngx-lib-authentication-object.mjs +0 -161
- package/fesm2015/cleavelandprice-ngx-lib-authentication-object.mjs.map +0 -1
- package/fesm2015/cleavelandprice-ngx-lib-authentication-token-gui.mjs +0 -274
- package/fesm2015/cleavelandprice-ngx-lib-authentication-token-gui.mjs.map +0 -1
- package/fesm2015/cleavelandprice-ngx-lib-authentication-token.mjs +0 -173
- package/fesm2015/cleavelandprice-ngx-lib-authentication-token.mjs.map +0 -1
- package/fesm2015/cleavelandprice-ngx-lib-authentication.mjs.map +0 -1
- package/fesm2015/cleavelandprice-ngx-lib-dialog.mjs +0 -250
- package/fesm2015/cleavelandprice-ngx-lib-dialog.mjs.map +0 -1
- package/fesm2015/cleavelandprice-ngx-lib-msgraph.mjs +0 -178
- package/fesm2015/cleavelandprice-ngx-lib-msgraph.mjs.map +0 -1
- package/fesm2015/cleavelandprice-ngx-lib-quill-mention.mjs +0 -230
- package/fesm2015/cleavelandprice-ngx-lib-quill-mention.mjs.map +0 -1
- package/fesm2015/cleavelandprice-ngx-lib-quill.mjs +0 -539
- package/fesm2015/cleavelandprice-ngx-lib-quill.mjs.map +0 -1
- package/fesm2015/cleavelandprice-ngx-lib-sharepoint.mjs +0 -310
- package/fesm2015/cleavelandprice-ngx-lib-sharepoint.mjs.map +0 -1
- package/fesm2015/cleavelandprice-ngx-lib-upload.mjs +0 -288
- package/fesm2015/cleavelandprice-ngx-lib-upload.mjs.map +0 -1
- package/fesm2015/cleavelandprice-ngx-lib-url-utilities.mjs.map +0 -1
- package/fesm2015/cleavelandprice-ngx-lib.mjs +0 -113
- package/fesm2015/cleavelandprice-ngx-lib.mjs.map +0 -1
- package/fesm2020/cleavelandprice-ngx-lib-authentication-object.mjs.map +0 -1
- package/fesm2020/cleavelandprice-ngx-lib-authentication-token-gui.mjs.map +0 -1
- package/fesm2020/cleavelandprice-ngx-lib-authentication-token.mjs.map +0 -1
- package/fesm2020/cleavelandprice-ngx-lib-authentication.mjs +0 -38
- package/fesm2020/cleavelandprice-ngx-lib-authentication.mjs.map +0 -1
- package/fesm2020/cleavelandprice-ngx-lib-url-utilities.mjs +0 -177
- package/fesm2020/cleavelandprice-ngx-lib-url-utilities.mjs.map +0 -1
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
import { Component, EventEmitter, Inject, Input, Output, ViewChild, Optional, forwardRef } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
|
+
//import { FormGroup } from '@angular/forms';
|
|
4
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
5
|
+
//import { ActiveDirectoryService, User } from '@cleavelandprice/ngx-lib/active-directory';
|
|
6
|
+
import { QuillEditorComponent } from 'ngx-quill';
|
|
7
|
+
//import 'quill-mention';
|
|
8
|
+
//#region Moved to client responsibility
|
|
9
|
+
//import Quill from 'quill';
|
|
10
|
+
// This doesn't work when done from the library - it must be done from the client app
|
|
11
|
+
//import ImageResize from 'quill-image-resize-module';
|
|
12
|
+
//Quill.register('modules/imageResize', ImageResize);
|
|
13
|
+
// Treating ImageDrop the same way as ImageResize, even though it doesn't have the same problem described above
|
|
14
|
+
//import { ImageDrop } from 'quill-image-drop-module';
|
|
15
|
+
//#endregion
|
|
16
|
+
import { Config } from '../../model/config';
|
|
17
|
+
import { RawComponent } from '../raw/raw.component';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "@angular/material/dialog";
|
|
20
|
+
import * as i2 from "@angular/common";
|
|
21
|
+
import * as i3 from "@angular/forms";
|
|
22
|
+
import * as i4 from "@angular/material/icon";
|
|
23
|
+
import * as i5 from "@angular/material/tooltip";
|
|
24
|
+
import * as i6 from "ngx-quill";
|
|
25
|
+
class EditorComponent {
|
|
26
|
+
//#endregion
|
|
27
|
+
constructor(data, dialogRef,
|
|
28
|
+
//private activeDirectoryService: ActiveDirectoryService,
|
|
29
|
+
dialog) {
|
|
30
|
+
this.data = data;
|
|
31
|
+
this.dialogRef = dialogRef;
|
|
32
|
+
this.dialog = dialog;
|
|
33
|
+
this.onChange = (_) => { }; // Invoked when the model has been changed
|
|
34
|
+
this.onTouched = () => { }; // Invoked when the model has been touched
|
|
35
|
+
//#endregion
|
|
36
|
+
//#endregion
|
|
37
|
+
this.fullscreenChanged = new EventEmitter();
|
|
38
|
+
//#region Passthrough events
|
|
39
|
+
this.onBlur = new EventEmitter();
|
|
40
|
+
this.onContentChanged = new EventEmitter();
|
|
41
|
+
this.onEditorChanged = new EventEmitter();
|
|
42
|
+
this.onEditorCreated = new EventEmitter();
|
|
43
|
+
this.onFocus = new EventEmitter();
|
|
44
|
+
this.onSelectionChanged = new EventEmitter();
|
|
45
|
+
}
|
|
46
|
+
ngOnInit() {
|
|
47
|
+
this.initialize();
|
|
48
|
+
/*if (!this.users) {
|
|
49
|
+
this.activeDirectoryService.getUsers().subscribe(users =>
|
|
50
|
+
this.users = users
|
|
51
|
+
);
|
|
52
|
+
}*/
|
|
53
|
+
}
|
|
54
|
+
initialize() {
|
|
55
|
+
this.config = this.config ?? this.data?.config ?? new Config();
|
|
56
|
+
this.value = this.value ?? this.data?.value;
|
|
57
|
+
// Moved to client responsibility
|
|
58
|
+
/*if (this.imageDropModule) {
|
|
59
|
+
Quill.register('modules/imageDrop', ImageDrop);
|
|
60
|
+
}*/
|
|
61
|
+
this.placeholder = this.placeholder ?? this.data?.placeholder;
|
|
62
|
+
//this.users = this.users ?? this.data?.users;
|
|
63
|
+
this.imageDropModule = this.imageDropModule ?? this.data?.imageDropModule ?? this.config.imageDropModule;
|
|
64
|
+
this.imageResizeModule = this.imageResizeModule ?? this.data?.imageResizeModule ?? this.config.imageResizeModule;
|
|
65
|
+
this.syntaxModule = this.syntaxModule ?? this.data?.syntaxModule ?? this.config.syntaxModule;
|
|
66
|
+
this.format = this.format ?? this.data?.format ?? this.config.format;
|
|
67
|
+
this.height = this.height ?? this.data?.height ?? this.config.height;
|
|
68
|
+
this.width = this.width ?? this.data?.width ?? this.config.width;
|
|
69
|
+
this.fullscreenHeight = this.fullscreenHeight ?? this.data?.maxHeight ?? this.config.fullscreenHeight;
|
|
70
|
+
this.fullscreenWidth = this.fullscreenWidth ?? this.data?.maxWidth ?? this.config.fullscreenWidth;
|
|
71
|
+
this.fullscreenMode = this.fullscreenMode ?? this.data?.fullscreenMode ?? this.config.fullscreenMode;
|
|
72
|
+
this.enableTooltips = this.enableTooltips !== undefined ?
|
|
73
|
+
this.enableTooltips :
|
|
74
|
+
this.data?.enableTooltips ?? this.config.enableTooltips;
|
|
75
|
+
this.fullscreen = this.fullscreen !== undefined ?
|
|
76
|
+
this.fullscreen :
|
|
77
|
+
this.data?.fullscreen ?? this.config.fullscreen;
|
|
78
|
+
this.readonly = this.readonly !== undefined ?
|
|
79
|
+
this.readonly :
|
|
80
|
+
this.data?.readonly ?? this.config.readonly;
|
|
81
|
+
this.applyReadonlyStyle = this.applyReadonlyStyle !== undefined ?
|
|
82
|
+
this.applyReadonlyStyle :
|
|
83
|
+
this.data?.applyReadonlyStyle ?? this.config.applyReadonlyStyle;
|
|
84
|
+
this.showToolbar = this.showToolbar !== undefined ?
|
|
85
|
+
this.showToolbar :
|
|
86
|
+
this.data?.showToolbar ?? this.config.showToolbar;
|
|
87
|
+
this.showBorder = this.showBorder !== undefined ?
|
|
88
|
+
this.showBorder :
|
|
89
|
+
this.data?.showBorder ?? this.config.showBorder;
|
|
90
|
+
}
|
|
91
|
+
toggleFullscreen() {
|
|
92
|
+
if (this.fullscreenMode === 'expand') {
|
|
93
|
+
this.fullscreen = !this.fullscreen;
|
|
94
|
+
this.fullscreenChanged.emit(this.fullscreen);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
if (this.fullscreen) {
|
|
98
|
+
this.dialogRef.close(this.value);
|
|
99
|
+
this.fullscreenChanged.emit(false);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
const data = {
|
|
103
|
+
value: this.value,
|
|
104
|
+
config: this.config,
|
|
105
|
+
placeholder: this.placeholder,
|
|
106
|
+
format: this.format,
|
|
107
|
+
height: this.fullscreenHeight,
|
|
108
|
+
width: '100%',
|
|
109
|
+
maxHeight: this.fullscreenHeight,
|
|
110
|
+
maxWidth: '100%',
|
|
111
|
+
enableTooltips: this.enableTooltips,
|
|
112
|
+
fullscreen: true,
|
|
113
|
+
fullscreenMode: this.fullscreenMode,
|
|
114
|
+
readonly: this.readonly,
|
|
115
|
+
applyReadonlyStyle: this.applyReadonlyStyle,
|
|
116
|
+
showToolbar: this.showToolbar,
|
|
117
|
+
showBorder: this.showBorder,
|
|
118
|
+
imageResizeModule: this.imageResizeModule,
|
|
119
|
+
imageDropModule: this.imageDropModule,
|
|
120
|
+
syntaxModule: this.syntaxModule
|
|
121
|
+
//users: this.users
|
|
122
|
+
};
|
|
123
|
+
this.dialog.open(EditorComponent, {
|
|
124
|
+
disableClose: true,
|
|
125
|
+
width: this.fullscreenWidth,
|
|
126
|
+
height: this.fullscreenHeight,
|
|
127
|
+
data
|
|
128
|
+
})
|
|
129
|
+
.afterClosed()
|
|
130
|
+
.subscribe(value => {
|
|
131
|
+
this.value = value;
|
|
132
|
+
this.updateChanges();
|
|
133
|
+
});
|
|
134
|
+
this.fullscreenChanged.emit(true);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
rawEdit() {
|
|
139
|
+
this.dialog.open(RawComponent, {
|
|
140
|
+
data: this.value,
|
|
141
|
+
disableClose: true,
|
|
142
|
+
height: '90%',
|
|
143
|
+
width: '100%'
|
|
144
|
+
})
|
|
145
|
+
.afterClosed()
|
|
146
|
+
.subscribe(value => {
|
|
147
|
+
if (value === '__DO!!NOT!!UPDATE__') {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
this.value = value;
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
tooltip(val) {
|
|
154
|
+
return this.enableTooltips ? val : '';
|
|
155
|
+
}
|
|
156
|
+
get modules() {
|
|
157
|
+
//if (!this.users) { return undefined; }
|
|
158
|
+
const modules = {};
|
|
159
|
+
if (!this.showToolbar) {
|
|
160
|
+
modules['toolbar'] = [];
|
|
161
|
+
}
|
|
162
|
+
if (this.imageResizeModule) {
|
|
163
|
+
modules['imageResize'] = {};
|
|
164
|
+
}
|
|
165
|
+
if (this.imageDropModule) {
|
|
166
|
+
modules['imageDrop'] = true;
|
|
167
|
+
}
|
|
168
|
+
if (this.syntaxModule) {
|
|
169
|
+
modules['syntax'] = true;
|
|
170
|
+
}
|
|
171
|
+
/*if (this.mentionModule) {
|
|
172
|
+
modules['mention'] = {
|
|
173
|
+
allowedChars: /^[A-Za-z\sÅÄÖåäö]*$/,
|
|
174
|
+
|
|
175
|
+
onSelect: (item: DOMStringMap, insertItem: any) => {
|
|
176
|
+
const editor = this.editor!.quillEditor
|
|
177
|
+
insertItem(item)
|
|
178
|
+
// necessary because quill-mention triggers changes as 'api' instead of 'user'
|
|
179
|
+
editor.insertText(editor.getLength() - 1, '', 'user')
|
|
180
|
+
},
|
|
181
|
+
|
|
182
|
+
source: (searchTerm: string, renderList: any) => {
|
|
183
|
+
if (searchTerm.length === 0) {
|
|
184
|
+
renderList(this.users?.map(u => ({ value: `${u.displayName} (${u.sAMAccountName.toLowerCase()})` })), searchTerm)
|
|
185
|
+
} else {
|
|
186
|
+
const matches: any[] = []
|
|
187
|
+
|
|
188
|
+
this.users!.forEach((entry) => {
|
|
189
|
+
if (
|
|
190
|
+
entry.displayName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1 ||
|
|
191
|
+
entry.sAMAccountName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1
|
|
192
|
+
) {
|
|
193
|
+
matches.push({ value: `${entry.displayName} (${entry.sAMAccountName.toLowerCase()})` })
|
|
194
|
+
}
|
|
195
|
+
})
|
|
196
|
+
|
|
197
|
+
renderList(matches, searchTerm)
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
}*/
|
|
202
|
+
return modules;
|
|
203
|
+
}
|
|
204
|
+
//#region ControlValueAccessor methods
|
|
205
|
+
// Method that is invoked on an update of a model.
|
|
206
|
+
updateChanges() {
|
|
207
|
+
this.onChange(this.value);
|
|
208
|
+
}
|
|
209
|
+
//#region ControlValueAccessor Overrides
|
|
210
|
+
// Writes a new item to the element.
|
|
211
|
+
writeValue(value) {
|
|
212
|
+
this.value = value;
|
|
213
|
+
this.updateChanges();
|
|
214
|
+
}
|
|
215
|
+
// Registers a callback function that should be called when the control's value changes in the UI.
|
|
216
|
+
registerOnChange(fn) {
|
|
217
|
+
this.onChange = fn;
|
|
218
|
+
}
|
|
219
|
+
// Registers a callback function that should be called when the control receives a blur event.
|
|
220
|
+
registerOnTouched(fn) {
|
|
221
|
+
this.onTouched = fn;
|
|
222
|
+
}
|
|
223
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: EditorComponent, deps: [{ token: MAT_DIALOG_DATA, optional: true }, { token: i1.MatDialogRef, optional: true }, { token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
224
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: EditorComponent, selector: "cpquill-editor", inputs: { config: "config", placeholder: "placeholder", format: "format", height: "height", width: "width", fullscreenHeight: "fullscreenHeight", fullscreenWidth: "fullscreenWidth", fullscreenMode: "fullscreenMode", enableTooltips: "enableTooltips", fullscreen: "fullscreen", readonly: "readonly", applyReadonlyStyle: "applyReadonlyStyle", showToolbar: "showToolbar", showBorder: "showBorder", imageResizeModule: "imageResizeModule", imageDropModule: "imageDropModule", syntaxModule: "syntaxModule" }, outputs: { fullscreenChanged: "fullscreenChanged", onBlur: "onBlur", onContentChanged: "onContentChanged", onEditorChanged: "onEditorChanged", onEditorCreated: "onEditorCreated", onFocus: "onFocus", onSelectionChanged: "onSelectionChanged" }, providers: [{
|
|
225
|
+
provide: NG_VALUE_ACCESSOR,
|
|
226
|
+
useExisting: forwardRef(() => EditorComponent),
|
|
227
|
+
multi: true
|
|
228
|
+
}], viewQueries: [{ propertyName: "editor", first: true, predicate: QuillEditorComponent, descendants: true }], ngImport: i0, template: "<ng-container>\r\n <form>\r\n <quill-editor name=\"editor\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"updateChanges()\"\r\n\r\n [placeholder]=\"placeholder\"\r\n [format]=\"format\"\r\n [style.height]=\"fullscreen ? fullscreenHeight : height\"\r\n [style.width]=\"fullscreen ? fullscreenWidth : width\"\r\n [readOnly]=\"readonly\"\r\n [class.readonly]=\"readonly && applyReadonlyStyle\"\r\n [class.no-toolbar]=\"!showToolbar\"\r\n [class.no-border]=\"!showBorder\"\r\n [modules]=\"modules\"\r\n \r\n (onBlur)=\"onBlur.emit($event)\"\r\n (onContentChanged)=\"onContentChanged.emit($event)\"\r\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\r\n (onEditorCreated)=\"onEditorCreated.emit()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n \r\n <div quill-editor-toolbar *ngIf=\"showToolbar\">\r\n <ng-container [ngTemplateOutlet]=\"toolbar\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"editorSize\"></ng-container>\r\n </div>\r\n </quill-editor>\r\n </form>\r\n</ng-container>\r\n\r\n<ng-template #toolbar>\r\n <div>\r\n <ng-container [ngTemplateOutlet]=\"fontStyle\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"blockStyle\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"headingStyle\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"listStyle\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"indentStyle\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"rtl\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"fontSize\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"heading\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"color\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"font\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"align\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"clean\"></ng-container>\r\n <nt-container [ngTemplateOutlet]=\"formula\"></nt-container>\r\n <ng-container [ngTemplateOutlet]=\"media\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #fontStyle>\r\n <span class=\"ql-formats\" *ngIf=\"config!.showFontStyle\">\r\n <button class=\"ql-bold\" *ngIf=\"config!.buttons.bold\" [matTooltip]=\"tooltip(config!.tooltips.bold)\"></button>\r\n <button class=\"ql-italic\" *ngIf=\"config!.buttons.italic\" [matTooltip]=\"tooltip(config!.tooltips.italic)\"></button>\r\n <button class=\"ql-underline\" *ngIf=\"config!.buttons.underline\" [matTooltip]=\"tooltip(config!.tooltips.underline)\"></button>\r\n <button class=\"ql-strike\" *ngIf=\"config!.buttons.strike\" [matTooltip]=\"tooltip(config!.tooltips.strike)\"></button>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #blockStyle>\r\n <span class=\"ql-formats\" *ngIf=\"config!.showBlockStyle\">\r\n <button class=\"ql-blockquote\" *ngIf=\"config!.buttons.blockquote\" [matTooltip]=\"tooltip(config!.tooltips.blockquote)\"></button>\r\n <button class=\"ql-code-block\" *ngIf=\"config!.buttons.codeblock\" [matTooltip]=\"tooltip(config!.tooltips.codeblock)\"></button>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #headingStyle>\r\n <span class=\"ql-formats\" *ngIf=\"config!.showQuickHeadingStyle\">\r\n <button class=\"ql-header\" value=\"1\" *ngIf=\"config!.buttons.h1\" [matTooltip]=\"tooltip(config!.tooltips.h1)\"></button>\r\n <button class=\"ql-header\" value=\"2\" *ngIf=\"config!.buttons.h2\" [matTooltip]=\"tooltip(config!.tooltips.h2)\"></button>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #listStyle>\r\n <span class=\"ql-formats\" *ngIf=\"config!.showListStyle\">\r\n <button class=\"ql-list\" value=\"ordered\" *ngIf=\"config!.buttons.ordered\" [matTooltip]=\"tooltip(config!.tooltips.ordered)\"></button>\r\n <button class=\"ql-list\" value=\"bullet\" *ngIf=\"config!.buttons.bulleted\" [matTooltip]=\"tooltip(config!.tooltips.bulleted)\"></button>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #scriptStyle>\r\n <span class=\"ql-formats\" *ngIf=\"config!.showScriptStyle\">\r\n <button class=\"ql-script\" value=\"sub\" *ngIf=\"config!.buttons.subScript\" [matTooltip]=\"tooltip(config!.tooltips.subScript)\"></button>\r\n <button class=\"ql-script\" value=\"super\" *ngIf=\"config!.buttons.superScript\" [matTooltip]=\"tooltip(config!.tooltips.superScript)\"></button>\r\n </span>\r\n</ng-template>\r\n \r\n<ng-template #indentStyle>\r\n <span class=\"ql-formats\" *ngIf=\"config!.showIndentStyle\">\r\n <button class=\"ql-indent\" value=\"-1\" *ngIf=\"config!.buttons.decreaseIndent\" [matTooltip]=\"tooltip(config!.tooltips.decreaseIndent)\"></button>\r\n <button class=\"ql-indent\" value=\"+1\" *ngIf=\"config!.buttons.increaseIndent\" [matTooltip]=\"tooltip(config!.tooltips.increaseIndent)\"></button>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #rtl>\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.rtl\">\r\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config!.tooltips.rtl)\"></button>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #fontSize>\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.fontSize\" [matTooltip]=\"tooltip(config!.tooltips.fontSize)\">\r\n <select class=\"ql-size\">\r\n <option value=\"small\"></option>\r\n <option selected></option>\r\n <option value=\"large\"></option>\r\n <option value=\"huge\"></option>\r\n </select>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #heading>\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.headingStyle\" [matTooltip]=\"tooltip(config!.tooltips.headingStyle)\">\r\n <select class=\"ql-header\">\r\n <option value=\"1\"></option>\r\n <option value=\"2\"></option>\r\n <option value=\"3\"></option>\r\n <option value=\"4\"></option>\r\n <option value=\"5\"></option>\r\n <option value=\"6\"></option>\r\n <option selected=\"selected\"></option>\r\n </select>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #color>\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.color\" [matTooltip]=\"tooltip(config!.tooltips.color)\">\r\n <select class=\"ql-color\"></select>\r\n <select class=\"ql-background\"></select>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #font>\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.font\" [matTooltip]=\"tooltip(config!.tooltips.font)\">\r\n <select class=\"ql-font\">\r\n <option selected></option>\r\n <option value=\"serif\"></option>\r\n <option value=\"monospace\"></option>\r\n </select>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #align>\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.align\" [matTooltip]=\"tooltip(config!.tooltips.align)\">\r\n <select class=\"ql-align\">\r\n <option selected></option>\r\n <option value=\"center\"></option>\r\n <option value=\"right\"></option>\r\n <option value=\"justify\"></option>\r\n </select>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #clean>\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.clean\" [matTooltip]=\"tooltip(config!.tooltips.clean)\">\r\n <button class=\"ql-clean\"></button>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #media>\r\n <span class=\"ql-formats\" *ngIf=\"config!.showMedia\">\r\n <button class=\"ql-link\" *ngIf=\"config!.buttons.link\" [matTooltip]=\"tooltip(config!.tooltips.link)\"></button>\r\n <button class=\"ql-image\" *ngIf=\"config!.buttons.image\" [matTooltip]=\"tooltip(config!.tooltips.image)\"></button>\r\n <button class=\"ql-video\" *ngIf=\"config!.buttons.video\" [matTooltip]=\"tooltip(config!.tooltips.video)\"></button>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #editorSize>\r\n <div>\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.rawEditor\">\r\n <button id=\"rawdog\"\r\n [matTooltip]=\"tooltip(config!.tooltips.rawEditor)\">\r\n\r\n <mat-icon (click)=\"rawEdit()\">\r\n code\r\n </mat-icon>\r\n </button>\r\n </span>\r\n\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.editorSize\">\r\n <button id=\"fullscreen\"\r\n [matTooltip]=\"tooltip(fullscreen ?\r\n (fullscreenMode === 'expand' ? config!.tooltips.minimize : config!.tooltips.popin) :\r\n (fullscreenMode === 'expand' ? config!.tooltips.maximize : config!.tooltips.popout))\">\r\n\r\n <mat-icon (click)=\"toggleFullscreen()\">\r\n {{ fullscreen ?\r\n (fullscreenMode === 'expand' ? config!.icons.minimize : config!.icons.popin) :\r\n (fullscreenMode === 'expand' ? config!.icons.maximize : config!.icons.popout)\r\n }}\r\n </mat-icon>\r\n </button>\r\n </span>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #formula>\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.formula\" [matTooltip]=\"tooltip(config!.tooltips.formula)\">\r\n <button class=\"ql-formula\"></button>\r\n </span>\r\n</ng-template>", styles: [".ql-toolbar{display:grid;grid-template-columns:1fr auto}mat-icon{color:#ff4500}quill-editor.readonly .ql-toolbar{opacity:.5}::ng-deep quill-editor.no-toolbar .ql-toolbar{height:0;padding:0;visibility:hidden}::ng-deep quill-editor.no-border .ql-container{border:none}::ng-deep quill-editor.readonly .ql-container{background-color:#f5f5f5!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i6.QuillEditorComponent, selector: "quill-editor" }] }); }
|
|
229
|
+
}
|
|
230
|
+
export { EditorComponent };
|
|
231
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: EditorComponent, decorators: [{
|
|
232
|
+
type: Component,
|
|
233
|
+
args: [{ selector: 'cpquill-editor', providers: [{
|
|
234
|
+
provide: NG_VALUE_ACCESSOR,
|
|
235
|
+
useExisting: forwardRef(() => EditorComponent),
|
|
236
|
+
multi: true
|
|
237
|
+
}], template: "<ng-container>\r\n <form>\r\n <quill-editor name=\"editor\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"updateChanges()\"\r\n\r\n [placeholder]=\"placeholder\"\r\n [format]=\"format\"\r\n [style.height]=\"fullscreen ? fullscreenHeight : height\"\r\n [style.width]=\"fullscreen ? fullscreenWidth : width\"\r\n [readOnly]=\"readonly\"\r\n [class.readonly]=\"readonly && applyReadonlyStyle\"\r\n [class.no-toolbar]=\"!showToolbar\"\r\n [class.no-border]=\"!showBorder\"\r\n [modules]=\"modules\"\r\n \r\n (onBlur)=\"onBlur.emit($event)\"\r\n (onContentChanged)=\"onContentChanged.emit($event)\"\r\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\r\n (onEditorCreated)=\"onEditorCreated.emit()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n \r\n <div quill-editor-toolbar *ngIf=\"showToolbar\">\r\n <ng-container [ngTemplateOutlet]=\"toolbar\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"editorSize\"></ng-container>\r\n </div>\r\n </quill-editor>\r\n </form>\r\n</ng-container>\r\n\r\n<ng-template #toolbar>\r\n <div>\r\n <ng-container [ngTemplateOutlet]=\"fontStyle\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"blockStyle\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"headingStyle\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"listStyle\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"indentStyle\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"rtl\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"fontSize\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"heading\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"color\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"font\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"align\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"clean\"></ng-container>\r\n <nt-container [ngTemplateOutlet]=\"formula\"></nt-container>\r\n <ng-container [ngTemplateOutlet]=\"media\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #fontStyle>\r\n <span class=\"ql-formats\" *ngIf=\"config!.showFontStyle\">\r\n <button class=\"ql-bold\" *ngIf=\"config!.buttons.bold\" [matTooltip]=\"tooltip(config!.tooltips.bold)\"></button>\r\n <button class=\"ql-italic\" *ngIf=\"config!.buttons.italic\" [matTooltip]=\"tooltip(config!.tooltips.italic)\"></button>\r\n <button class=\"ql-underline\" *ngIf=\"config!.buttons.underline\" [matTooltip]=\"tooltip(config!.tooltips.underline)\"></button>\r\n <button class=\"ql-strike\" *ngIf=\"config!.buttons.strike\" [matTooltip]=\"tooltip(config!.tooltips.strike)\"></button>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #blockStyle>\r\n <span class=\"ql-formats\" *ngIf=\"config!.showBlockStyle\">\r\n <button class=\"ql-blockquote\" *ngIf=\"config!.buttons.blockquote\" [matTooltip]=\"tooltip(config!.tooltips.blockquote)\"></button>\r\n <button class=\"ql-code-block\" *ngIf=\"config!.buttons.codeblock\" [matTooltip]=\"tooltip(config!.tooltips.codeblock)\"></button>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #headingStyle>\r\n <span class=\"ql-formats\" *ngIf=\"config!.showQuickHeadingStyle\">\r\n <button class=\"ql-header\" value=\"1\" *ngIf=\"config!.buttons.h1\" [matTooltip]=\"tooltip(config!.tooltips.h1)\"></button>\r\n <button class=\"ql-header\" value=\"2\" *ngIf=\"config!.buttons.h2\" [matTooltip]=\"tooltip(config!.tooltips.h2)\"></button>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #listStyle>\r\n <span class=\"ql-formats\" *ngIf=\"config!.showListStyle\">\r\n <button class=\"ql-list\" value=\"ordered\" *ngIf=\"config!.buttons.ordered\" [matTooltip]=\"tooltip(config!.tooltips.ordered)\"></button>\r\n <button class=\"ql-list\" value=\"bullet\" *ngIf=\"config!.buttons.bulleted\" [matTooltip]=\"tooltip(config!.tooltips.bulleted)\"></button>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #scriptStyle>\r\n <span class=\"ql-formats\" *ngIf=\"config!.showScriptStyle\">\r\n <button class=\"ql-script\" value=\"sub\" *ngIf=\"config!.buttons.subScript\" [matTooltip]=\"tooltip(config!.tooltips.subScript)\"></button>\r\n <button class=\"ql-script\" value=\"super\" *ngIf=\"config!.buttons.superScript\" [matTooltip]=\"tooltip(config!.tooltips.superScript)\"></button>\r\n </span>\r\n</ng-template>\r\n \r\n<ng-template #indentStyle>\r\n <span class=\"ql-formats\" *ngIf=\"config!.showIndentStyle\">\r\n <button class=\"ql-indent\" value=\"-1\" *ngIf=\"config!.buttons.decreaseIndent\" [matTooltip]=\"tooltip(config!.tooltips.decreaseIndent)\"></button>\r\n <button class=\"ql-indent\" value=\"+1\" *ngIf=\"config!.buttons.increaseIndent\" [matTooltip]=\"tooltip(config!.tooltips.increaseIndent)\"></button>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #rtl>\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.rtl\">\r\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config!.tooltips.rtl)\"></button>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #fontSize>\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.fontSize\" [matTooltip]=\"tooltip(config!.tooltips.fontSize)\">\r\n <select class=\"ql-size\">\r\n <option value=\"small\"></option>\r\n <option selected></option>\r\n <option value=\"large\"></option>\r\n <option value=\"huge\"></option>\r\n </select>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #heading>\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.headingStyle\" [matTooltip]=\"tooltip(config!.tooltips.headingStyle)\">\r\n <select class=\"ql-header\">\r\n <option value=\"1\"></option>\r\n <option value=\"2\"></option>\r\n <option value=\"3\"></option>\r\n <option value=\"4\"></option>\r\n <option value=\"5\"></option>\r\n <option value=\"6\"></option>\r\n <option selected=\"selected\"></option>\r\n </select>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #color>\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.color\" [matTooltip]=\"tooltip(config!.tooltips.color)\">\r\n <select class=\"ql-color\"></select>\r\n <select class=\"ql-background\"></select>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #font>\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.font\" [matTooltip]=\"tooltip(config!.tooltips.font)\">\r\n <select class=\"ql-font\">\r\n <option selected></option>\r\n <option value=\"serif\"></option>\r\n <option value=\"monospace\"></option>\r\n </select>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #align>\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.align\" [matTooltip]=\"tooltip(config!.tooltips.align)\">\r\n <select class=\"ql-align\">\r\n <option selected></option>\r\n <option value=\"center\"></option>\r\n <option value=\"right\"></option>\r\n <option value=\"justify\"></option>\r\n </select>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #clean>\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.clean\" [matTooltip]=\"tooltip(config!.tooltips.clean)\">\r\n <button class=\"ql-clean\"></button>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #media>\r\n <span class=\"ql-formats\" *ngIf=\"config!.showMedia\">\r\n <button class=\"ql-link\" *ngIf=\"config!.buttons.link\" [matTooltip]=\"tooltip(config!.tooltips.link)\"></button>\r\n <button class=\"ql-image\" *ngIf=\"config!.buttons.image\" [matTooltip]=\"tooltip(config!.tooltips.image)\"></button>\r\n <button class=\"ql-video\" *ngIf=\"config!.buttons.video\" [matTooltip]=\"tooltip(config!.tooltips.video)\"></button>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #editorSize>\r\n <div>\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.rawEditor\">\r\n <button id=\"rawdog\"\r\n [matTooltip]=\"tooltip(config!.tooltips.rawEditor)\">\r\n\r\n <mat-icon (click)=\"rawEdit()\">\r\n code\r\n </mat-icon>\r\n </button>\r\n </span>\r\n\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.editorSize\">\r\n <button id=\"fullscreen\"\r\n [matTooltip]=\"tooltip(fullscreen ?\r\n (fullscreenMode === 'expand' ? config!.tooltips.minimize : config!.tooltips.popin) :\r\n (fullscreenMode === 'expand' ? config!.tooltips.maximize : config!.tooltips.popout))\">\r\n\r\n <mat-icon (click)=\"toggleFullscreen()\">\r\n {{ fullscreen ?\r\n (fullscreenMode === 'expand' ? config!.icons.minimize : config!.icons.popin) :\r\n (fullscreenMode === 'expand' ? config!.icons.maximize : config!.icons.popout)\r\n }}\r\n </mat-icon>\r\n </button>\r\n </span>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #formula>\r\n <span class=\"ql-formats\" *ngIf=\"config!.buttons.formula\" [matTooltip]=\"tooltip(config!.tooltips.formula)\">\r\n <button class=\"ql-formula\"></button>\r\n </span>\r\n</ng-template>", styles: [".ql-toolbar{display:grid;grid-template-columns:1fr auto}mat-icon{color:#ff4500}quill-editor.readonly .ql-toolbar{opacity:.5}::ng-deep quill-editor.no-toolbar .ql-toolbar{height:0;padding:0;visibility:hidden}::ng-deep quill-editor.no-border .ql-container{border:none}::ng-deep quill-editor.readonly .ql-container{background-color:#f5f5f5!important}\n"] }]
|
|
238
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
239
|
+
type: Optional
|
|
240
|
+
}, {
|
|
241
|
+
type: Inject,
|
|
242
|
+
args: [MAT_DIALOG_DATA]
|
|
243
|
+
}] }, { type: i1.MatDialogRef, decorators: [{
|
|
244
|
+
type: Optional
|
|
245
|
+
}] }, { type: i1.MatDialog }]; }, propDecorators: { editor: [{
|
|
246
|
+
type: ViewChild,
|
|
247
|
+
args: [QuillEditorComponent, { static: false }]
|
|
248
|
+
}], config: [{
|
|
249
|
+
type: Input
|
|
250
|
+
}], placeholder: [{
|
|
251
|
+
type: Input
|
|
252
|
+
}], format: [{
|
|
253
|
+
type: Input
|
|
254
|
+
}], height: [{
|
|
255
|
+
type: Input
|
|
256
|
+
}], width: [{
|
|
257
|
+
type: Input
|
|
258
|
+
}], fullscreenHeight: [{
|
|
259
|
+
type: Input
|
|
260
|
+
}], fullscreenWidth: [{
|
|
261
|
+
type: Input
|
|
262
|
+
}], fullscreenMode: [{
|
|
263
|
+
type: Input
|
|
264
|
+
}], enableTooltips: [{
|
|
265
|
+
type: Input
|
|
266
|
+
}], fullscreen: [{
|
|
267
|
+
type: Input
|
|
268
|
+
}], readonly: [{
|
|
269
|
+
type: Input
|
|
270
|
+
}], applyReadonlyStyle: [{
|
|
271
|
+
type: Input
|
|
272
|
+
}], showToolbar: [{
|
|
273
|
+
type: Input
|
|
274
|
+
}], showBorder: [{
|
|
275
|
+
type: Input
|
|
276
|
+
}], imageResizeModule: [{
|
|
277
|
+
type: Input
|
|
278
|
+
}], imageDropModule: [{
|
|
279
|
+
type: Input
|
|
280
|
+
}], syntaxModule: [{
|
|
281
|
+
type: Input
|
|
282
|
+
}], fullscreenChanged: [{
|
|
283
|
+
type: Output
|
|
284
|
+
}], onBlur: [{
|
|
285
|
+
type: Output
|
|
286
|
+
}], onContentChanged: [{
|
|
287
|
+
type: Output
|
|
288
|
+
}], onEditorChanged: [{
|
|
289
|
+
type: Output
|
|
290
|
+
}], onEditorCreated: [{
|
|
291
|
+
type: Output
|
|
292
|
+
}], onFocus: [{
|
|
293
|
+
type: Output
|
|
294
|
+
}], onSelectionChanged: [{
|
|
295
|
+
type: Output
|
|
296
|
+
}] } });
|
|
297
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsL3NyYy9jb21wb25lbnRzL2VkaXRvci9lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvcXVpbGwvc3JjL2NvbXBvbmVudHMvZWRpdG9yL2VkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsNkNBQTZDO0FBQzdDLE9BQU8sRUFBMkIsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEYsMkZBQTJGO0FBRTNGLE9BQU8sRUFBMkYsb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFMUkseUJBQXlCO0FBRXpCLHdDQUF3QztBQUN4Qyw0QkFBNEI7QUFFNUIscUZBQXFGO0FBQ3JGLHNEQUFzRDtBQUN0RCxxREFBcUQ7QUFFckQsK0dBQStHO0FBQy9HLHNEQUFzRDtBQUV0RCxZQUFZO0FBRVosT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7QUFFcEQsTUFVYSxlQUFlO0lBOEMxQixZQUFZO0lBRVosWUFBeUQsSUFBZ0IsRUFDekMsU0FBd0M7SUFDNUQseURBQXlEO0lBQ2pELE1BQWlCO1FBSG9CLFNBQUksR0FBSixJQUFJLENBQVk7UUFDekMsY0FBUyxHQUFULFNBQVMsQ0FBK0I7UUFFcEQsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQTdDckMsYUFBUSxHQUFxQixDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUMsMENBQTBDO1FBQ3ZGLGNBQVMsR0FBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQywwQ0FBMEM7UUEyQjVFLFlBQVk7UUFDWixZQUFZO1FBRUYsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUUxRCw0QkFBNEI7UUFDbEIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDbEMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFDckQsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBK0MsQ0FBQztRQUNsRixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDckMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFDcEMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7SUFPbkUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEI7Ozs7V0FJRztJQUNMLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7UUFFL0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBRTVDLGlDQUFpQztRQUNqQzs7V0FFRztRQUVILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQztRQUM5RCw4Q0FBOEM7UUFFOUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsZUFBZSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO1FBQ3pHLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxpQkFBaUIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1FBQ2pILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUU3RixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDckUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ3JFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNqRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEcsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO1FBQ2xHLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLGNBQWMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztRQUVyRyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLEtBQUssU0FBUyxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsY0FBYyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO1FBRTFELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDakIsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFFbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNmLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBRTlDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEtBQUssU0FBUyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLElBQUksRUFBRSxrQkFBa0IsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDO1FBRWxFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFFcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNqQixJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLFFBQVEsRUFBRTtZQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNuQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM5QzthQUNFO1lBQ0gsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdEM7aUJBQU07Z0JBQ0wsTUFBTSxJQUFJLEdBQWU7b0JBRXZCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztvQkFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO29CQUNuQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7b0JBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7b0JBQzdCLEtBQUssRUFBRSxNQUFNO29CQUNiLFNBQVMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO29CQUNoQyxRQUFRLEVBQUUsTUFBTTtvQkFDaEIsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFlO29CQUNwQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO29CQUNuQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVM7b0JBQ3hCLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBbUI7b0JBQzVDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBWTtvQkFDOUIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFXO29CQUM1QixpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWtCO29CQUMxQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWdCO29CQUN0QyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQWE7b0JBQ2hDLG1CQUFtQjtpQkFDcEIsQ0FBQztnQkFFRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7b0JBQ2hDLFlBQVksRUFBRSxJQUFJO29CQUNsQixLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWU7b0JBQzNCLE1BQU0sRUFBRSxJQUFJLENBQUMsZ0JBQWdCO29CQUM3QixJQUFJO2lCQUNMLENBQUM7cUJBQ0QsV0FBVyxFQUFFO3FCQUNiLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7b0JBQ25CLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDdkIsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNuQztTQUNGO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDN0IsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2hCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsS0FBSyxFQUFFLE1BQU07U0FDZCxDQUFDO2FBQ0QsV0FBVyxFQUFFO2FBQ2IsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLElBQUksS0FBSyxLQUFLLHFCQUFxQixFQUFFO2dCQUNuQyxPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBVztRQUNqQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCx3Q0FBd0M7UUFFeEMsTUFBTSxPQUFPLEdBQUcsRUFBRyxDQUFDO1FBRXBCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDekI7UUFFRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQzdCO1FBRUQsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDN0I7UUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQztTQUMxQjtRQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7V0E4Qkc7UUFFSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsc0NBQXNDO0lBQ3RDLGtEQUFrRDtJQUNsRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELHdDQUF3QztJQUV4QyxvQ0FBb0M7SUFDcEMsVUFBVSxDQUFDLEtBQVU7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxrR0FBa0c7SUFDbEcsZ0JBQWdCLENBQUMsRUFBTztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsOEZBQThGO0lBQzlGLGlCQUFpQixDQUFDLEVBQU87UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs4R0F0UVUsZUFBZSxrQkFnRE0sZUFBZTtrR0FoRHBDLGVBQWUsa3hCQU5mLENBQUM7Z0JBQ1YsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBQzlDLEtBQUssRUFBRSxJQUFJO2FBQ1osQ0FBQyxrRUFHUyxvQkFBb0IsZ0RDckNqQyx3cFRBeU1jOztTRHJLRCxlQUFlOzJGQUFmLGVBQWU7a0JBVjNCLFNBQVM7K0JBQ0UsZ0JBQWdCLGFBR2YsQ0FBQzs0QkFDVixPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQzs0QkFDOUMsS0FBSyxFQUFFLElBQUk7eUJBQ1osQ0FBQzs7MEJBa0RXLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs7MEJBQ2xDLFFBQVE7b0VBaEQrQixNQUFNO3NCQUF6RCxTQUFTO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFTekMsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBSUcsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBSUksaUJBQWlCO3NCQUExQixNQUFNO2dCQUdHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIE9wdGlvbmFsLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuLy9pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG4vL2ltcG9ydCB7IEFjdGl2ZURpcmVjdG9yeVNlcnZpY2UsIFVzZXIgfSBmcm9tICdAY2xlYXZlbGFuZHByaWNlL25neC1saWIvYWN0aXZlLWRpcmVjdG9yeSc7XHJcblxyXG5pbXBvcnQgeyBDb250ZW50Q2hhbmdlLCBCbHVyLCBGb2N1cywgRWRpdG9yQ2hhbmdlQ29udGVudCwgRWRpdG9yQ2hhbmdlU2VsZWN0aW9uLCBTZWxlY3Rpb25DaGFuZ2UsIFF1aWxsRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnbmd4LXF1aWxsJztcclxuXHJcbi8vaW1wb3J0ICdxdWlsbC1tZW50aW9uJztcclxuXHJcbi8vI3JlZ2lvbiBNb3ZlZCB0byBjbGllbnQgcmVzcG9uc2liaWxpdHlcclxuLy9pbXBvcnQgUXVpbGwgZnJvbSAncXVpbGwnO1xyXG5cclxuLy8gVGhpcyBkb2Vzbid0IHdvcmsgd2hlbiBkb25lIGZyb20gdGhlIGxpYnJhcnkgLSBpdCBtdXN0IGJlIGRvbmUgZnJvbSB0aGUgY2xpZW50IGFwcFxyXG4vL2ltcG9ydCBJbWFnZVJlc2l6ZSBmcm9tICdxdWlsbC1pbWFnZS1yZXNpemUtbW9kdWxlJztcclxuLy9RdWlsbC5yZWdpc3RlcignbW9kdWxlcy9pbWFnZVJlc2l6ZScsIEltYWdlUmVzaXplKTtcclxuXHJcbi8vIFRyZWF0aW5nIEltYWdlRHJvcCB0aGUgc2FtZSB3YXkgYXMgSW1hZ2VSZXNpemUsIGV2ZW4gdGhvdWdoIGl0IGRvZXNuJ3QgaGF2ZSB0aGUgc2FtZSBwcm9ibGVtIGRlc2NyaWJlZCBhYm92ZVxyXG4vL2ltcG9ydCB7IEltYWdlRHJvcCB9IGZyb20gJ3F1aWxsLWltYWdlLWRyb3AtbW9kdWxlJztcclxuXHJcbi8vI2VuZHJlZ2lvblxyXG5cclxuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWwvY29uZmlnJztcclxuaW1wb3J0IHsgRGlhbG9nRGF0YSB9IGZyb20gJy4uLy4uL21vZGVsL2RpYWxvZy1kYXRhJztcclxuaW1wb3J0IHsgUmF3Q29tcG9uZW50IH0gZnJvbSAnLi4vcmF3L3Jhdy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjcHF1aWxsLWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZWRpdG9yLmNvbXBvbmVudC5jc3MnXSxcclxuICBwcm92aWRlcnM6IFt7XHJcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVkaXRvckNvbXBvbmVudCksXHJcbiAgICBtdWx0aTogdHJ1ZVxyXG4gIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBAVmlld0NoaWxkKFF1aWxsRWRpdG9yQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgZWRpdG9yOiBRdWlsbEVkaXRvckNvbXBvbmVudCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLy8jcmVnaW9uIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHN0dWZmXHJcbiAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNTA2MTgwNTAvaG93LXRvLWNyZWF0ZS1jdXN0b20taW5wdXQtY29tcG9uZW50LXdpdGgtbmdtb2RlbC13b3JraW5nLWluLWFuZ3VsYXItNlxyXG4gIHZhbHVlOiBhbnk7IC8vIHN0cmluZ1xyXG4gIG9uQ2hhbmdlOiAoXzogYW55KSA9PiB2b2lkID0gKF86IGFueSkgPT4ge307IC8vIEludm9rZWQgd2hlbiB0aGUgbW9kZWwgaGFzIGJlZW4gY2hhbmdlZFxyXG4gIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9OyAvLyBJbnZva2VkIHdoZW4gdGhlIG1vZGVsIGhhcyBiZWVuIHRvdWNoZWRcclxuICAvLyNlbmRyZWdpb25cclxuICBcclxuICBASW5wdXQoKSBjb25maWc6IENvbmZpZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIC8vQElucHV0KCkgdXNlcnM6IFVzZXJbXSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLy8jcmVnaW9uIFRoZXNlIGNhbiBiZSBwYXNzZWQgaW4gYXMgQElucHV0KCksIG9yIHVzZSB2YWx1ZXMgZnJvbSBjb25maWdcclxuICBASW5wdXQoKSBmb3JtYXQhOiAnb2JqZWN0JyB8ICdodG1sJyB8ICd0ZXh0JyB8ICdqc29uJztcclxuICBASW5wdXQoKSBoZWlnaHQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgd2lkdGghOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZnVsbHNjcmVlbkhlaWdodCE6IHN0cmluZztcclxuICBASW5wdXQoKSBmdWxsc2NyZWVuV2lkdGghOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZnVsbHNjcmVlbk1vZGUhOiAnZXhwYW5kJyB8ICdwb3BvdXQnO1xyXG5cclxuICBASW5wdXQoKSBlbmFibGVUb29sdGlwczogYm9vbGVhbiB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBmdWxsc2NyZWVuOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGFwcGx5UmVhZG9ubHlTdHlsZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBzaG93VG9vbGJhcjogYm9vbGVhbiB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBzaG93Qm9yZGVyOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG5cclxuICAvLyNyZWdpb24gT3B0aW9uYWwgUXVpbGwgbW9kdWxlc1xyXG4gIEBJbnB1dCgpIGltYWdlUmVzaXplTW9kdWxlOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGltYWdlRHJvcE1vZHVsZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcclxuICAvL0BJbnB1dCgpIG1lbnRpb25Nb2R1bGU6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgc3ludGF4TW9kdWxlOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG4gIC8vI2VuZHJlZ2lvblxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICBAT3V0cHV0KCkgZnVsbHNjcmVlbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIC8vI3JlZ2lvbiBQYXNzdGhyb3VnaCBldmVudHNcclxuICBAT3V0cHV0KCkgb25CbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxCbHVyPigpO1xyXG4gIEBPdXRwdXQoKSBvbkNvbnRlbnRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDb250ZW50Q2hhbmdlPigpO1xyXG4gIEBPdXRwdXQoKSBvbkVkaXRvckNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEVkaXRvckNoYW5nZUNvbnRlbnQgfCBFZGl0b3JDaGFuZ2VTZWxlY3Rpb24+KCk7XHJcbiAgQE91dHB1dCgpIG9uRWRpdG9yQ3JlYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25Gb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXM+KCk7XHJcbiAgQE91dHB1dCgpIG9uU2VsZWN0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0aW9uQ2hhbmdlPigpO1xyXG4gIC8vI2VuZHJlZ2lvblxyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIGRhdGE6IERpYWxvZ0RhdGEsXHJcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxFZGl0b3JDb21wb25lbnQ+LFxyXG4gICAgICAgICAgICAgIC8vcHJpdmF0ZSBhY3RpdmVEaXJlY3RvcnlTZXJ2aWNlOiBBY3RpdmVEaXJlY3RvcnlTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2cpIHsgIFxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXRpYWxpemUoKTtcclxuICAgIFxyXG4gICAgLyppZiAoIXRoaXMudXNlcnMpIHtcclxuICAgICAgdGhpcy5hY3RpdmVEaXJlY3RvcnlTZXJ2aWNlLmdldFVzZXJzKCkuc3Vic2NyaWJlKHVzZXJzID0+XHJcbiAgICAgICAgdGhpcy51c2VycyA9IHVzZXJzXHJcbiAgICAgICk7XHJcbiAgICB9Ki9cclxuICB9XHJcblxyXG4gIGluaXRpYWxpemUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpZyA9IHRoaXMuY29uZmlnID8/IHRoaXMuZGF0YT8uY29uZmlnID8/IG5ldyBDb25maWcoKTtcclxuXHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZSA/PyB0aGlzLmRhdGE/LnZhbHVlO1xyXG5cclxuICAgIC8vIE1vdmVkIHRvIGNsaWVudCByZXNwb25zaWJpbGl0eVxyXG4gICAgLyppZiAodGhpcy5pbWFnZURyb3BNb2R1bGUpIHtcclxuICAgICAgUXVpbGwucmVnaXN0ZXIoJ21vZHVsZXMvaW1hZ2VEcm9wJywgSW1hZ2VEcm9wKTtcclxuICAgIH0qL1xyXG5cclxuICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLnBsYWNlaG9sZGVyID8/IHRoaXMuZGF0YT8ucGxhY2Vob2xkZXI7XHJcbiAgICAvL3RoaXMudXNlcnMgPSB0aGlzLnVzZXJzID8/IHRoaXMuZGF0YT8udXNlcnM7XHJcblxyXG4gICAgdGhpcy5pbWFnZURyb3BNb2R1bGUgPSB0aGlzLmltYWdlRHJvcE1vZHVsZSA/PyB0aGlzLmRhdGE/LmltYWdlRHJvcE1vZHVsZSA/PyB0aGlzLmNvbmZpZy5pbWFnZURyb3BNb2R1bGU7XHJcbiAgICB0aGlzLmltYWdlUmVzaXplTW9kdWxlID0gdGhpcy5pbWFnZVJlc2l6ZU1vZHVsZSA/PyB0aGlzLmRhdGE/LmltYWdlUmVzaXplTW9kdWxlID8/IHRoaXMuY29uZmlnLmltYWdlUmVzaXplTW9kdWxlO1xyXG4gICAgdGhpcy5zeW50YXhNb2R1bGUgPSB0aGlzLnN5bnRheE1vZHVsZSA/PyB0aGlzLmRhdGE/LnN5bnRheE1vZHVsZSA/PyB0aGlzLmNvbmZpZy5zeW50YXhNb2R1bGU7XHJcblxyXG4gICAgdGhpcy5mb3JtYXQgPSB0aGlzLmZvcm1hdCA/PyB0aGlzLmRhdGE/LmZvcm1hdCA/PyB0aGlzLmNvbmZpZy5mb3JtYXQ7XHJcbiAgICB0aGlzLmhlaWdodCA9IHRoaXMuaGVpZ2h0ID8/IHRoaXMuZGF0YT8uaGVpZ2h0ID8/IHRoaXMuY29uZmlnLmhlaWdodDtcclxuICAgIHRoaXMud2lkdGggPSB0aGlzLndpZHRoID8/IHRoaXMuZGF0YT8ud2lkdGggPz8gdGhpcy5jb25maWcud2lkdGg7XHJcbiAgICB0aGlzLmZ1bGxzY3JlZW5IZWlnaHQgPSB0aGlzLmZ1bGxzY3JlZW5IZWlnaHQgPz8gdGhpcy5kYXRhPy5tYXhIZWlnaHQgPz8gdGhpcy5jb25maWcuZnVsbHNjcmVlbkhlaWdodDtcclxuICAgIHRoaXMuZnVsbHNjcmVlbldpZHRoID0gdGhpcy5mdWxsc2NyZWVuV2lkdGggPz8gdGhpcy5kYXRhPy5tYXhXaWR0aCA/PyB0aGlzLmNvbmZpZy5mdWxsc2NyZWVuV2lkdGg7XHJcbiAgICB0aGlzLmZ1bGxzY3JlZW5Nb2RlID0gdGhpcy5mdWxsc2NyZWVuTW9kZSA/PyB0aGlzLmRhdGE/LmZ1bGxzY3JlZW5Nb2RlID8/IHRoaXMuY29uZmlnLmZ1bGxzY3JlZW5Nb2RlO1xyXG5cclxuICAgIHRoaXMuZW5hYmxlVG9vbHRpcHMgPSB0aGlzLmVuYWJsZVRvb2x0aXBzICE9PSB1bmRlZmluZWQgP1xyXG4gICAgICB0aGlzLmVuYWJsZVRvb2x0aXBzIDpcclxuICAgICAgdGhpcy5kYXRhPy5lbmFibGVUb29sdGlwcyA/PyB0aGlzLmNvbmZpZy5lbmFibGVUb29sdGlwcztcclxuXHJcbiAgICB0aGlzLmZ1bGxzY3JlZW4gPSB0aGlzLmZ1bGxzY3JlZW4gIT09IHVuZGVmaW5lZCA/XHJcbiAgICAgIHRoaXMuZnVsbHNjcmVlbiA6XHJcbiAgICAgIHRoaXMuZGF0YT8uZnVsbHNjcmVlbiA/PyB0aGlzLmNvbmZpZy5mdWxsc2NyZWVuO1xyXG5cclxuICAgIHRoaXMucmVhZG9ubHkgPSB0aGlzLnJlYWRvbmx5ICE9PSB1bmRlZmluZWQgP1xyXG4gICAgICB0aGlzLnJlYWRvbmx5IDpcclxuICAgICAgdGhpcy5kYXRhPy5yZWFkb25seSA/PyB0aGlzLmNvbmZpZy5yZWFkb25seTtcclxuXHJcbiAgICB0aGlzLmFwcGx5UmVhZG9ubHlTdHlsZSA9IHRoaXMuYXBwbHlSZWFkb25seVN0eWxlICE9PSB1bmRlZmluZWQgP1xyXG4gICAgICB0aGlzLmFwcGx5UmVhZG9ubHlTdHlsZSA6XHJcbiAgICAgIHRoaXMuZGF0YT8uYXBwbHlSZWFkb25seVN0eWxlID8/IHRoaXMuY29uZmlnLmFwcGx5UmVhZG9ubHlTdHlsZTtcclxuXHJcbiAgICB0aGlzLnNob3dUb29sYmFyID0gdGhpcy5zaG93VG9vbGJhciAhPT0gdW5kZWZpbmVkID9cclxuICAgICAgdGhpcy5zaG93VG9vbGJhciA6XHJcbiAgICAgIHRoaXMuZGF0YT8uc2hvd1Rvb2xiYXIgPz8gdGhpcy5jb25maWcuc2hvd1Rvb2xiYXI7XHJcblxyXG4gICAgdGhpcy5zaG93Qm9yZGVyID0gdGhpcy5zaG93Qm9yZGVyICE9PSB1bmRlZmluZWQgP1xyXG4gICAgICB0aGlzLnNob3dCb3JkZXIgOlxyXG4gICAgICB0aGlzLmRhdGE/LnNob3dCb3JkZXIgPz8gdGhpcy5jb25maWcuc2hvd0JvcmRlcjtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUZ1bGxzY3JlZW4oKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5mdWxsc2NyZWVuTW9kZSA9PT0gJ2V4cGFuZCcpIHtcclxuICAgICAgICB0aGlzLmZ1bGxzY3JlZW4gPSAhdGhpcy5mdWxsc2NyZWVuO1xyXG4gICAgICAgIHRoaXMuZnVsbHNjcmVlbkNoYW5nZWQuZW1pdCh0aGlzLmZ1bGxzY3JlZW4pO1xyXG4gICAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuZnVsbHNjcmVlbikge1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMudmFsdWUpO1xyXG4gICAgICAgICAgdGhpcy5mdWxsc2NyZWVuQ2hhbmdlZC5lbWl0KGZhbHNlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBkYXRhOiBEaWFsb2dEYXRhID0ge1xyXG5cclxuICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxyXG4gICAgICAgICAgY29uZmlnOiB0aGlzLmNvbmZpZyxcclxuICAgICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnBsYWNlaG9sZGVyLFxyXG4gICAgICAgICAgZm9ybWF0OiB0aGlzLmZvcm1hdCxcclxuICAgICAgICAgIGhlaWdodDogdGhpcy5mdWxsc2NyZWVuSGVpZ2h0LFxyXG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgICAgIG1heEhlaWdodDogdGhpcy5mdWxsc2NyZWVuSGVpZ2h0LFxyXG4gICAgICAgICAgbWF4V2lkdGg6ICcxMDAlJyxcclxuICAgICAgICAgIGVuYWJsZVRvb2x0aXBzOiB0aGlzLmVuYWJsZVRvb2x0aXBzISxcclxuICAgICAgICAgIGZ1bGxzY3JlZW46IHRydWUsXHJcbiAgICAgICAgICBmdWxsc2NyZWVuTW9kZTogdGhpcy5mdWxsc2NyZWVuTW9kZSxcclxuICAgICAgICAgIHJlYWRvbmx5OiB0aGlzLnJlYWRvbmx5ISxcclxuICAgICAgICAgIGFwcGx5UmVhZG9ubHlTdHlsZTogdGhpcy5hcHBseVJlYWRvbmx5U3R5bGUhLFxyXG4gICAgICAgICAgc2hvd1Rvb2xiYXI6IHRoaXMuc2hvd1Rvb2xiYXIhLFxyXG4gICAgICAgICAgc2hvd0JvcmRlcjogdGhpcy5zaG93Qm9yZGVyISxcclxuICAgICAgICAgIGltYWdlUmVzaXplTW9kdWxlOiB0aGlzLmltYWdlUmVzaXplTW9kdWxlISxcclxuICAgICAgICAgIGltYWdlRHJvcE1vZHVsZTogdGhpcy5pbWFnZURyb3BNb2R1bGUhLFxyXG4gICAgICAgICAgc3ludGF4TW9kdWxlOiB0aGlzLnN5bnRheE1vZHVsZSFcclxuICAgICAgICAgIC8vdXNlcnM6IHRoaXMudXNlcnNcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRpYWxvZy5vcGVuKEVkaXRvckNvbXBvbmVudCwge1xyXG4gICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICAgICAgd2lkdGg6IHRoaXMuZnVsbHNjcmVlbldpZHRoLFxyXG4gICAgICAgICAgaGVpZ2h0OiB0aGlzLmZ1bGxzY3JlZW5IZWlnaHQsXHJcbiAgICAgICAgICBkYXRhXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZnVsbHNjcmVlbkNoYW5nZWQuZW1pdCh0cnVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmF3RWRpdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nLm9wZW4oUmF3Q29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHRoaXMudmFsdWUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgaGVpZ2h0OiAnOTAlJyxcclxuICAgICAgd2lkdGg6ICcxMDAlJ1xyXG4gICAgfSlcclxuICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgaWYgKHZhbHVlID09PSAnX19ETyEhTk9UISFVUERBVEVfXycpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdG9vbHRpcCh2YWw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lbmFibGVUb29sdGlwcyA/IHZhbCA6ICcnO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1vZHVsZXMoKSB7XHJcbiAgICAvL2lmICghdGhpcy51c2VycykgeyByZXR1cm4gdW5kZWZpbmVkOyB9XHJcblxyXG4gICAgY29uc3QgbW9kdWxlcyA9IHsgfTtcclxuXHJcbiAgICBpZiAoIXRoaXMuc2hvd1Rvb2xiYXIpIHtcclxuICAgICAgbW9kdWxlc1sndG9vbGJhciddID0gW107XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaW1hZ2VSZXNpemVNb2R1bGUpIHtcclxuICAgICAgbW9kdWxlc1snaW1hZ2VSZXNpemUnXSA9IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmltYWdlRHJvcE1vZHVsZSkge1xyXG4gICAgICBtb2R1bGVzWydpbWFnZURyb3AnXSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc3ludGF4TW9kdWxlKSB7XHJcbiAgICAgIG1vZHVsZXNbJ3N5bnRheCddID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKmlmICh0aGlzLm1lbnRpb25Nb2R1bGUpIHtcclxuICAgICAgbW9kdWxlc1snbWVudGlvbiddID0ge1xyXG4gICAgICAgIGFsbG93ZWRDaGFyczogL15bQS1aYS16XFxzw4XDhMOWw6XDpMO2XSokLyxcclxuXHJcbiAgICAgICAgb25TZWxlY3Q6IChpdGVtOiBET01TdHJpbmdNYXAsIGluc2VydEl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZWRpdG9yID0gdGhpcy5lZGl0b3IhLnF1aWxsRWRpdG9yXHJcbiAgICAgICAgICBpbnNlcnRJdGVtKGl0ZW0pXHJcbiAgICAgICAgICAvLyBuZWNlc3NhcnkgYmVjYXVzZSBxdWlsbC1tZW50aW9uIHRyaWdnZXJzIGNoYW5nZXMgYXMgJ2FwaScgaW5zdGVhZCBvZiAndXNlcidcclxuICAgICAgICAgIGVkaXRvci5pbnNlcnRUZXh0KGVkaXRvci5nZXRMZW5ndGgoKSAtIDEsICcnLCAndXNlcicpXHJcbiAgICAgICAgfSxcclxuXHJcbiAgICAgICAgc291cmNlOiAoc2VhcmNoVGVybTogc3RyaW5nLCByZW5kZXJMaXN0OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChzZWFyY2hUZXJtLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICByZW5kZXJMaXN0KHRoaXMudXNlcnM/Lm1hcCh1ID0+ICh7IHZhbHVlOiBgJHt1LmRpc3BsYXlOYW1lfSAoJHt1LnNBTUFjY291bnROYW1lLnRvTG93ZXJDYXNlKCl9KWAgfSkpLCBzZWFyY2hUZXJtKVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgbWF0Y2hlczogYW55W10gPSBbXVxyXG5cclxuICAgICAgICAgICAgdGhpcy51c2VycyEuZm9yRWFjaCgoZW50cnkpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICBlbnRyeS5kaXNwbGF5TmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKSAhPT0gLTEgfHxcclxuICAgICAgICAgICAgICAgIGVudHJ5LnNBTUFjY291bnROYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCkpICE9PSAtMVxyXG4gICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICBtYXRjaGVzLnB1c2goeyB2YWx1ZTogYCR7ZW50cnkuZGlzcGxheU5hbWV9ICgke2VudHJ5LnNBTUFjY291bnROYW1lLnRvTG93ZXJDYXNlKCl9KWAgfSlcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcblxyXG4gICAgICAgICAgICByZW5kZXJMaXN0KG1hdGNoZXMsIHNlYXJjaFRlcm0pXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgfSovXHJcblxyXG4gICAgcmV0dXJuIG1vZHVsZXM7XHJcbiAgfVxyXG5cclxuICAvLyNyZWdpb24gQ29udHJvbFZhbHVlQWNjZXNzb3IgbWV0aG9kc1xyXG4gIC8vIE1ldGhvZCB0aGF0IGlzIGludm9rZWQgb24gYW4gdXBkYXRlIG9mIGEgbW9kZWwuXHJcbiAgdXBkYXRlQ2hhbmdlcygpIHtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvLyNyZWdpb24gQ29udHJvbFZhbHVlQWNjZXNzb3IgT3ZlcnJpZGVzXHJcblxyXG4gIC8vIFdyaXRlcyBhIG5ldyBpdGVtIHRvIHRoZSBlbGVtZW50LlxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgIHRoaXMudXBkYXRlQ2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVnaXN0ZXJzIGEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgY2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wncyB2YWx1ZSBjaGFuZ2VzIGluIHRoZSBVSS5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVnaXN0ZXJzIGEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgY2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgcmVjZWl2ZXMgYSBibHVyIGV2ZW50LlxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICAvLyNlbmRyZWdpb25cclxufSIsIjxuZy1jb250YWluZXI+XHJcbiAgICA8Zm9ybT5cclxuICAgICAgICA8cXVpbGwtZWRpdG9yIG5hbWU9XCJlZGl0b3JcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlQ2hhbmdlcygpXCJcclxuXHJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgIFtmb3JtYXRdPVwiZm9ybWF0XCJcclxuICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJmdWxsc2NyZWVuID8gZnVsbHNjcmVlbkhlaWdodCA6IGhlaWdodFwiXHJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJmdWxsc2NyZWVuID8gZnVsbHNjcmVlbldpZHRoIDogd2lkdGhcIlxyXG4gICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICBbY2xhc3MucmVhZG9ubHldPVwicmVhZG9ubHkgJiYgYXBwbHlSZWFkb25seVN0eWxlXCJcclxuICAgICAgICAgICAgW2NsYXNzLm5vLXRvb2xiYXJdPVwiIXNob3dUb29sYmFyXCJcclxuICAgICAgICAgICAgW2NsYXNzLm5vLWJvcmRlcl09XCIhc2hvd0JvcmRlclwiXHJcbiAgICAgICAgICAgIFttb2R1bGVzXT1cIm1vZHVsZXNcIlxyXG4gICAgXHJcbiAgICAgICAgICAgIChvbkJsdXIpPVwib25CbHVyLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChvbkNvbnRlbnRDaGFuZ2VkKT1cIm9uQ29udGVudENoYW5nZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKG9uRWRpdG9yQ2hhbmdlZCk9XCJvbkVkaXRvckNoYW5nZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKG9uRWRpdG9yQ3JlYXRlZCk9XCJvbkVkaXRvckNyZWF0ZWQuZW1pdCgpXCJcclxuICAgICAgICAgICAgKG9uRm9jdXMpPVwib25Gb2N1cy5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAob25TZWxlY3Rpb25DaGFuZ2VkKT1cIm9uU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KCRldmVudClcIj5cclxuICAgIFxyXG4gICAgICAgICAgICA8ZGl2IHF1aWxsLWVkaXRvci10b29sYmFyICpuZ0lmPVwic2hvd1Rvb2xiYXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidG9vbGJhclwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJlZGl0b3JTaXplXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvcXVpbGwtZWRpdG9yPlxyXG4gICAgPC9mb3JtPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdG9vbGJhcj5cclxuICAgIDxkaXY+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJmb250U3R5bGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJsb2NrU3R5bGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRpbmdTdHlsZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlzdFN0eWxlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzY3JpcHRTdHlsZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW5kZW50U3R5bGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJ0bFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9udFNpemVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRpbmdcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbG9yXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJmb250XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJhbGlnblwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2xlYW5cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bnQtY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvcm11bGFcIj48L250LWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1lZGlhXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZm9udFN0eWxlPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWchLnNob3dGb250U3R5bGVcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtYm9sZFwiICAgICAgKm5nSWY9XCJjb25maWchLmJ1dHRvbnMuYm9sZFwiICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWchLnRvb2x0aXBzLmJvbGQpXCI+PC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWl0YWxpY1wiICAgICpuZ0lmPVwiY29uZmlnIS5idXR0b25zLml0YWxpY1wiICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnIS50b29sdGlwcy5pdGFsaWMpXCI+PC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLXVuZGVybGluZVwiICpuZ0lmPVwiY29uZmlnIS5idXR0b25zLnVuZGVybGluZVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnIS50b29sdGlwcy51bmRlcmxpbmUpXCI+PC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLXN0cmlrZVwiICAgICpuZ0lmPVwiY29uZmlnIS5idXR0b25zLnN0cmlrZVwiICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnIS50b29sdGlwcy5zdHJpa2UpXCI+PC9idXR0b24+XHJcbiAgICA8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2Jsb2NrU3R5bGU+XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZyEuc2hvd0Jsb2NrU3R5bGVcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtYmxvY2txdW90ZVwiICpuZ0lmPVwiY29uZmlnIS5idXR0b25zLmJsb2NrcXVvdGVcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZyEudG9vbHRpcHMuYmxvY2txdW90ZSlcIj48L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtY29kZS1ibG9ja1wiICpuZ0lmPVwiY29uZmlnIS5idXR0b25zLmNvZGVibG9ja1wiICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZyEudG9vbHRpcHMuY29kZWJsb2NrKVwiPjwvYnV0dG9uPlxyXG4gICAgPC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNoZWFkaW5nU3R5bGU+XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZyEuc2hvd1F1aWNrSGVhZGluZ1N0eWxlXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWhlYWRlclwiIHZhbHVlPVwiMVwiICpuZ0lmPVwiY29uZmlnIS5idXR0b25zLmgxXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWchLnRvb2x0aXBzLmgxKVwiPjwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1oZWFkZXJcIiB2YWx1ZT1cIjJcIiAqbmdJZj1cImNvbmZpZyEuYnV0dG9ucy5oMlwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnIS50b29sdGlwcy5oMilcIj48L2J1dHRvbj5cclxuICAgIDwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbGlzdFN0eWxlPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWchLnNob3dMaXN0U3R5bGVcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtbGlzdFwiIHZhbHVlPVwib3JkZXJlZFwiICpuZ0lmPVwiY29uZmlnIS5idXR0b25zLm9yZGVyZWRcIiAgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWchLnRvb2x0aXBzLm9yZGVyZWQpXCI+PC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWxpc3RcIiB2YWx1ZT1cImJ1bGxldFwiICAqbmdJZj1cImNvbmZpZyEuYnV0dG9ucy5idWxsZXRlZFwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnIS50b29sdGlwcy5idWxsZXRlZClcIj48L2J1dHRvbj5cclxuICAgIDwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjc2NyaXB0U3R5bGU+XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZyEuc2hvd1NjcmlwdFN0eWxlXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLXNjcmlwdFwiIHZhbHVlPVwic3ViXCIgICAqbmdJZj1cImNvbmZpZyEuYnV0dG9ucy5zdWJTY3JpcHRcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZyEudG9vbHRpcHMuc3ViU2NyaXB0KVwiPjwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1zY3JpcHRcIiB2YWx1ZT1cInN1cGVyXCIgKm5nSWY9XCJjb25maWchLmJ1dHRvbnMuc3VwZXJTY3JpcHRcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZyEudG9vbHRpcHMuc3VwZXJTY3JpcHQpXCI+PC9idXR0b24+XHJcbiAgICA8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiAgICBcclxuPG5nLXRlbXBsYXRlICNpbmRlbnRTdHlsZT5cclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnIS5zaG93SW5kZW50U3R5bGVcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaW5kZW50XCIgdmFsdWU9XCItMVwiICpuZ0lmPVwiY29uZmlnIS5idXR0b25zLmRlY3JlYXNlSW5kZW50XCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWchLnRvb2x0aXBzLmRlY3JlYXNlSW5kZW50KVwiPjwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1pbmRlbnRcIiB2YWx1ZT1cIisxXCIgKm5nSWY9XCJjb25maWchLmJ1dHRvbnMuaW5jcmVhc2VJbmRlbnRcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZyEudG9vbHRpcHMuaW5jcmVhc2VJbmRlbnQpXCI+PC9idXR0b24+XHJcbiAgICA8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3J0bD5cclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnIS5idXR0b25zLnJ0bFwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1kaXJlY3Rpb25cIiB2YWx1ZT1cInJ0bFwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnIS50b29sdGlwcy5ydGwpXCI+PC9idXR0b24+XHJcbiAgICA8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2ZvbnRTaXplPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWchLmJ1dHRvbnMuZm9udFNpemVcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZyEudG9vbHRpcHMuZm9udFNpemUpXCI+XHJcbiAgICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLXNpemVcIj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInNtYWxsXCI+PC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ+PC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJsYXJnZVwiPjwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiaHVnZVwiPjwvb3B0aW9uPlxyXG4gICAgICAgIDwvc2VsZWN0PlxyXG4gICAgPC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNoZWFkaW5nPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWchLmJ1dHRvbnMuaGVhZGluZ1N0eWxlXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWchLnRvb2x0aXBzLmhlYWRpbmdTdHlsZSlcIj5cclxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCIxXCI+PC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCIyXCI+PC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCIzXCI+PC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCI0XCI+PC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCI1XCI+PC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCI2XCI+PC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ9XCJzZWxlY3RlZFwiPjwvb3B0aW9uPlxyXG4gICAgICAgIDwvc2VsZWN0PlxyXG4gICAgPC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNjb2xvcj5cclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnIS5idXR0b25zLmNvbG9yXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWchLnRvb2x0aXBzLmNvbG9yKVwiPlxyXG4gICAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1jb2xvclwiPjwvc2VsZWN0PlxyXG4gICAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1iYWNrZ3JvdW5kXCI+PC9zZWxlY3Q+XHJcbiAgICA8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2ZvbnQ+XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZyEuYnV0dG9ucy5mb250XCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWchLnRvb2x0aXBzLmZvbnQpXCI+XHJcbiAgICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWZvbnRcIj5cclxuICAgICAgICAgICAgPG9wdGlvbiBzZWxlY3RlZD48L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInNlcmlmXCI+PC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJtb25vc3BhY2VcIj48L29wdGlvbj5cclxuICAgICAgICA8L3NlbGVjdD5cclxuICAgIDwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYWxpZ24+XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZyEuYnV0dG9ucy5hbGlnblwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnIS50b29sdGlwcy5hbGlnbilcIj5cclxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtYWxpZ25cIj5cclxuICAgICAgICAgICAgPG9wdGlvbiBzZWxlY3RlZD48L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImNlbnRlclwiPjwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwicmlnaHRcIj48L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImp1c3RpZnlcIj48L29wdGlvbj5cclxuICAgICAgICA8L3NlbGVjdD5cclxuICAgIDwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY2xlYW4+XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZyEuYnV0dG9ucy5jbGVhblwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnIS50b29sdGlwcy5jbGVhbilcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtY2xlYW5cIj48L2J1dHRvbj5cclxuICAgIDwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbWVkaWE+XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZyEuc2hvd01lZGlhXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWxpbmtcIiAgKm5nSWY9XCJjb25maWchLmJ1dHRvbnMubGlua1wiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnIS50b29sdGlwcy5saW5rKVwiPjwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1pbWFnZVwiICpuZ0lmPVwiY29uZmlnIS5idXR0b25zLmltYWdlXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWchLnRvb2x0aXBzLmltYWdlKVwiPjwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC12aWRlb1wiICpuZ0lmPVwiY29uZmlnIS5idXR0b25zLnZpZGVvXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWchLnRvb2x0aXBzLnZpZGVvKVwiPjwvYnV0dG9uPlxyXG4gICAgPC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNlZGl0b3JTaXplPlxyXG4gICAgPGRpdj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZyEuYnV0dG9ucy5yYXdFZGl0b3JcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBpZD1cInJhd2RvZ1wiXHJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZyEudG9vbHRpcHMucmF3RWRpdG9yKVwiPlxyXG5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwicmF3RWRpdCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgY29kZVxyXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZyEuYnV0dG9ucy5lZGl0b3JTaXplXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gaWQ9XCJmdWxsc2NyZWVuXCJcclxuICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoZnVsbHNjcmVlbiA/XHJcbiAgICAgICAgICAgICAgICAgICAgKGZ1bGxzY3JlZW5Nb2RlID09PSAnZXhwYW5kJyA/IGNvbmZpZyEudG9vbHRpcHMubWluaW1pemUgOiBjb25maWchLnRvb2x0aXBzLnBvcGluKSA6XHJcbiAgICAgICAgICAgICAgICAgICAgKGZ1bGxzY3JlZW5Nb2RlID09PSAnZXhwYW5kJyA/IGNvbmZpZyEudG9vbHRpcHMubWF4aW1pemUgOiBjb25maWchLnRvb2x0aXBzLnBvcG91dCkpXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJ0b2dnbGVGdWxsc2NyZWVuKClcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBmdWxsc2NyZWVuID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bGxzY3JlZW5Nb2RlID09PSAnZXhwYW5kJyA/IGNvbmZpZyEuaWNvbnMubWluaW1pemUgOiBjb25maWchLmljb25zLnBvcGluKSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChmdWxsc2NyZWVuTW9kZSA9PT0gJ2V4cGFuZCcgPyBjb25maWchLmljb25zLm1heGltaXplIDogY29uZmlnIS5pY29ucy5wb3BvdXQpXHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNmb3JtdWxhPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWchLmJ1dHRvbnMuZm9ybXVsYVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnIS50b29sdGlwcy5mb3JtdWxhKVwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1mb3JtdWxhXCI+PC9idXR0b24+XHJcbiAgICA8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/forms";
|
|
5
|
+
import * as i2 from "@angular/material/button";
|
|
6
|
+
import * as i3 from "@angular/material/dialog";
|
|
7
|
+
import * as i4 from "@angular/material/form-field";
|
|
8
|
+
import * as i5 from "@angular/material/icon";
|
|
9
|
+
import * as i6 from "@angular/material/input";
|
|
10
|
+
class RawComponent {
|
|
11
|
+
constructor(data) {
|
|
12
|
+
this.data = data;
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: RawComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: RawComponent, selector: "cpquill-raw", ngImport: i0, template: "<mat-dialog-content>\n <form>\n <mat-form-field appearance=\"outline\">\n <textarea matInput [(ngModel)]=\"data\" name=\"data\"></textarea>\n </mat-form-field>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-raised-button color=\"warn\" mat-dialog-close=\"__DO!!NOT!!UPDATE__\">\n <mat-icon>cancel</mat-icon>\n <span>Cancel</span>\n </button>\n\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"data\">\n <mat-icon>done</mat-icon>\n <span>Accept</span>\n </button>\n</mat-dialog-actions>", styles: ["mat-dialog-content{height:95%;max-height:initial!important}form{width:100%}mat-form-field{width:100%}textarea{height:70vh}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", 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]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.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"] }] }); }
|
|
16
|
+
}
|
|
17
|
+
export { RawComponent };
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: RawComponent, decorators: [{
|
|
19
|
+
type: Component,
|
|
20
|
+
args: [{ selector: 'cpquill-raw', template: "<mat-dialog-content>\n <form>\n <mat-form-field appearance=\"outline\">\n <textarea matInput [(ngModel)]=\"data\" name=\"data\"></textarea>\n </mat-form-field>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-raised-button color=\"warn\" mat-dialog-close=\"__DO!!NOT!!UPDATE__\">\n <mat-icon>cancel</mat-icon>\n <span>Cancel</span>\n </button>\n\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"data\">\n <mat-icon>done</mat-icon>\n <span>Accept</span>\n </button>\n</mat-dialog-actions>", styles: ["mat-dialog-content{height:95%;max-height:initial!important}form{width:100%}mat-form-field{width:100%}textarea{height:70vh}\n"] }]
|
|
21
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
22
|
+
type: Inject,
|
|
23
|
+
args: [MAT_DIALOG_DATA]
|
|
24
|
+
}] }]; } });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsL3NyYy9jb21wb25lbnRzL3Jhdy9yYXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvcXVpbGwvc3JjL2NvbXBvbmVudHMvcmF3L3Jhdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBRTNELE1BS2EsWUFBWTtJQUV2QixZQUE0QyxJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtJQUFJLENBQUM7OEdBRmxELFlBQVksa0JBRUgsZUFBZTtrR0FGeEIsWUFBWSxtRENSekIsd2xCQWtCcUI7O1NEVlIsWUFBWTsyRkFBWixZQUFZO2tCQUx4QixTQUFTOytCQUNFLGFBQWE7OzBCQU1WLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcHF1aWxsLXJhdycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yYXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yYXcuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJhd0NvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBzdHJpbmcpIHsgfVxufSIsIjxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPGZvcm0+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgPHRleHRhcmVhIG1hdElucHV0IFsobmdNb2RlbCldPVwiZGF0YVwiIG5hbWU9XCJkYXRhXCI+PC90ZXh0YXJlYT5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Zvcm0+XG48L21hdC1kaWFsb2ctY29udGVudD5cblxuPG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwid2FyblwiIG1hdC1kaWFsb2ctY2xvc2U9XCJfX0RPISFOT1QhIVVQREFURV9fXCI+XG4gICAgICAgIDxtYXQtaWNvbj5jYW5jZWw8L21hdC1pY29uPlxuICAgICAgICA8c3Bhbj5DYW5jZWw8L3NwYW4+XG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFttYXQtZGlhbG9nLWNsb3NlXT1cImRhdGFcIj5cbiAgICAgICAgPG1hdC1pY29uPmRvbmU8L21hdC1pY29uPlxuICAgICAgICA8c3Bhbj5BY2NlcHQ8L3NwYW4+XG4gICAgPC9idXR0b24+XG48L21hdC1kaWFsb2ctYWN0aW9ucz4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXZlbGFuZHByaWNlLW5neC1saWItcXVpbGwtbWVudGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsL21lbnRpb24vc3JjL2NsZWF2ZWxhbmRwcmljZS1uZ3gtbGliLXF1aWxsLW1lbnRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|