@dereekb/dbx-form 12.6.21 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/fesm2022/dereekb-dbx-form-calendar.mjs +86 -86
- package/fesm2022/dereekb-dbx-form-calendar.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-form-mapbox.mjs +28 -28
- package/fesm2022/dereekb-dbx-form-mapbox.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-form.mjs +429 -600
- package/fesm2022/dereekb-dbx-form.mjs.map +1 -1
- package/lib/formly/field/value/phone/_phone.scss +1 -0
- package/lib/style/_theming.scss +196 -1
- package/package.json +26 -32
- package/types/dereekb-dbx-form-calendar.d.ts +679 -0
- package/types/dereekb-dbx-form-mapbox.d.ts +216 -0
- package/types/dereekb-dbx-form.d.ts +3050 -0
- package/calendar/index.d.ts +0 -1
- package/calendar/lib/calendar.module.d.ts +0 -19
- package/calendar/lib/calendar.schedule.selection.cell.component.d.ts +0 -16
- package/calendar/lib/calendar.schedule.selection.component.d.ts +0 -74
- package/calendar/lib/calendar.schedule.selection.d.ts +0 -29
- package/calendar/lib/calendar.schedule.selection.days.component.d.ts +0 -15
- package/calendar/lib/calendar.schedule.selection.days.form.component.d.ts +0 -10
- package/calendar/lib/calendar.schedule.selection.dialog.button.component.d.ts +0 -15
- package/calendar/lib/calendar.schedule.selection.dialog.component.d.ts +0 -24
- package/calendar/lib/calendar.schedule.selection.form.d.ts +0 -4
- package/calendar/lib/calendar.schedule.selection.popover.button.component.d.ts +0 -17
- package/calendar/lib/calendar.schedule.selection.popover.component.d.ts +0 -14
- package/calendar/lib/calendar.schedule.selection.popover.content.component.d.ts +0 -5
- package/calendar/lib/calendar.schedule.selection.range.component.d.ts +0 -52
- package/calendar/lib/calendar.schedule.selection.store.d.ts +0 -282
- package/calendar/lib/calendar.schedule.selection.store.provide.d.ts +0 -23
- package/calendar/lib/calendar.schedule.selection.toggle.button.component.d.ts +0 -18
- package/calendar/lib/field/index.d.ts +0 -1
- package/calendar/lib/field/schedule/calendar.schedule.field.component.d.ts +0 -102
- package/calendar/lib/field/schedule/calendar.schedule.field.d.ts +0 -6
- package/calendar/lib/field/schedule/calendar.schedule.module.d.ts +0 -8
- package/calendar/lib/field/schedule/index.d.ts +0 -3
- package/calendar/lib/index.d.ts +0 -17
- package/esm2022/calendar/dereekb-dbx-form-calendar.mjs +0 -5
- package/esm2022/calendar/index.mjs +0 -2
- package/esm2022/calendar/lib/calendar.module.mjs +0 -84
- package/esm2022/calendar/lib/calendar.schedule.selection.cell.component.mjs +0 -42
- package/esm2022/calendar/lib/calendar.schedule.selection.component.mjs +0 -156
- package/esm2022/calendar/lib/calendar.schedule.selection.days.component.mjs +0 -47
- package/esm2022/calendar/lib/calendar.schedule.selection.days.form.component.mjs +0 -22
- package/esm2022/calendar/lib/calendar.schedule.selection.dialog.button.component.mjs +0 -32
- package/esm2022/calendar/lib/calendar.schedule.selection.dialog.component.mjs +0 -59
- package/esm2022/calendar/lib/calendar.schedule.selection.form.mjs +0 -15
- package/esm2022/calendar/lib/calendar.schedule.selection.mjs +0 -31
- package/esm2022/calendar/lib/calendar.schedule.selection.popover.button.component.mjs +0 -50
- package/esm2022/calendar/lib/calendar.schedule.selection.popover.component.mjs +0 -41
- package/esm2022/calendar/lib/calendar.schedule.selection.popover.content.component.mjs +0 -34
- package/esm2022/calendar/lib/calendar.schedule.selection.range.component.mjs +0 -165
- package/esm2022/calendar/lib/calendar.schedule.selection.store.mjs +0 -785
- package/esm2022/calendar/lib/calendar.schedule.selection.store.provide.mjs +0 -48
- package/esm2022/calendar/lib/calendar.schedule.selection.toggle.button.component.mjs +0 -67
- package/esm2022/calendar/lib/field/index.mjs +0 -3
- package/esm2022/calendar/lib/field/schedule/calendar.schedule.field.component.mjs +0 -154
- package/esm2022/calendar/lib/field/schedule/calendar.schedule.field.mjs +0 -28
- package/esm2022/calendar/lib/field/schedule/calendar.schedule.module.mjs +0 -26
- package/esm2022/calendar/lib/field/schedule/index.mjs +0 -4
- package/esm2022/calendar/lib/index.mjs +0 -18
- package/esm2022/dereekb-dbx-form.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/lib/form/action/form.action.dialog.component.mjs +0 -79
- package/esm2022/lib/form/action/form.action.directive.mjs +0 -167
- package/esm2022/lib/form/action/form.action.module.mjs +0 -19
- package/esm2022/lib/form/action/index.mjs +0 -5
- package/esm2022/lib/form/action/transition/form.action.transition.module.mjs +0 -19
- package/esm2022/lib/form/action/transition/form.action.transition.safety.directive.mjs +0 -28
- package/esm2022/lib/form/action/transition/index.mjs +0 -3
- package/esm2022/lib/form/form.angular.util.mjs +0 -13
- package/esm2022/lib/form/form.mjs +0 -42
- package/esm2022/lib/form/form.module.mjs +0 -17
- package/esm2022/lib/form/index.mjs +0 -6
- package/esm2022/lib/form/io/form.change.directive.mjs +0 -36
- package/esm2022/lib/form/io/form.input.directive.mjs +0 -95
- package/esm2022/lib/form/io/form.io.module.mjs +0 -26
- package/esm2022/lib/form/io/form.loading.directive.mjs +0 -36
- package/esm2022/lib/form/io/index.mjs +0 -5
- package/esm2022/lib/form.module.mjs +0 -18
- package/esm2022/lib/form.providers.mjs +0 -32
- package/esm2022/lib/formly/config/index.mjs +0 -2
- package/esm2022/lib/formly/config/validation.mjs +0 -23
- package/esm2022/lib/formly/field/checklist/checklist.field.mjs +0 -102
- package/esm2022/lib/formly/field/checklist/checklist.item.field.component.mjs +0 -86
- package/esm2022/lib/formly/field/checklist/checklist.item.field.content.default.component.mjs +0 -50
- package/esm2022/lib/formly/field/checklist/checklist.item.field.mjs +0 -14
- package/esm2022/lib/formly/field/checklist/checklist.item.field.module.mjs +0 -30
- package/esm2022/lib/formly/field/checklist/checklist.item.mjs +0 -2
- package/esm2022/lib/formly/field/checklist/index.mjs +0 -7
- package/esm2022/lib/formly/field/component/component.field.component.mjs +0 -25
- package/esm2022/lib/formly/field/component/component.field.mjs +0 -7
- package/esm2022/lib/formly/field/component/component.field.module.mjs +0 -26
- package/esm2022/lib/formly/field/component/index.mjs +0 -4
- package/esm2022/lib/formly/field/field.mjs +0 -97
- package/esm2022/lib/formly/field/form.field.module.mjs +0 -22
- package/esm2022/lib/formly/field/index.mjs +0 -9
- package/esm2022/lib/formly/field/selection/index.mjs +0 -8
- package/esm2022/lib/formly/field/selection/list/index.mjs +0 -4
- package/esm2022/lib/formly/field/selection/list/list.field.component.mjs +0 -90
- package/esm2022/lib/formly/field/selection/list/list.field.mjs +0 -15
- package/esm2022/lib/formly/field/selection/list/list.field.module.mjs +0 -26
- package/esm2022/lib/formly/field/selection/pickable/index.mjs +0 -8
- package/esm2022/lib/formly/field/selection/pickable/pickable.chip.field.component.mjs +0 -37
- package/esm2022/lib/formly/field/selection/pickable/pickable.field.directive.mjs +0 -272
- package/esm2022/lib/formly/field/selection/pickable/pickable.field.mjs +0 -26
- package/esm2022/lib/formly/field/selection/pickable/pickable.field.module.mjs +0 -33
- package/esm2022/lib/formly/field/selection/pickable/pickable.list.field.component.mjs +0 -130
- package/esm2022/lib/formly/field/selection/pickable/pickable.mjs +0 -2
- package/esm2022/lib/formly/field/selection/pickable/pickable.util.mjs +0 -35
- package/esm2022/lib/formly/field/selection/searchable/index.mjs +0 -9
- package/esm2022/lib/formly/field/selection/searchable/searchable.chip.field.component.mjs +0 -70
- package/esm2022/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.mjs +0 -90
- package/esm2022/lib/formly/field/selection/searchable/searchable.field.directive.mjs +0 -288
- package/esm2022/lib/formly/field/selection/searchable/searchable.field.mjs +0 -69
- package/esm2022/lib/formly/field/selection/searchable/searchable.field.module.mjs +0 -34
- package/esm2022/lib/formly/field/selection/searchable/searchable.mjs +0 -2
- package/esm2022/lib/formly/field/selection/searchable/searchable.text.field.component.mjs +0 -72
- package/esm2022/lib/formly/field/selection/searchable/text.chip.field.mjs +0 -15
- package/esm2022/lib/formly/field/selection/selection.field.mjs +0 -39
- package/esm2022/lib/formly/field/selection/selection.mjs +0 -2
- package/esm2022/lib/formly/field/selection/selection.module.mjs +0 -28
- package/esm2022/lib/formly/field/selection/sourceselect/index.mjs +0 -5
- package/esm2022/lib/formly/field/selection/sourceselect/sourceselect.field.component.mjs +0 -325
- package/esm2022/lib/formly/field/selection/sourceselect/sourceselect.field.mjs +0 -14
- package/esm2022/lib/formly/field/selection/sourceselect/sourceselect.field.module.mjs +0 -26
- package/esm2022/lib/formly/field/selection/sourceselect/sourceselect.mjs +0 -2
- package/esm2022/lib/formly/field/texteditor/index.mjs +0 -4
- package/esm2022/lib/formly/field/texteditor/texteditor.field.component.mjs +0 -97
- package/esm2022/lib/formly/field/texteditor/texteditor.field.mjs +0 -21
- package/esm2022/lib/formly/field/texteditor/texteditor.field.module.mjs +0 -26
- package/esm2022/lib/formly/field/value/array/array.field.component.mjs +0 -231
- package/esm2022/lib/formly/field/value/array/array.field.mjs +0 -28
- package/esm2022/lib/formly/field/value/array/array.field.module.mjs +0 -26
- package/esm2022/lib/formly/field/value/array/index.mjs +0 -4
- package/esm2022/lib/formly/field/value/boolean/boolean.field.mjs +0 -51
- package/esm2022/lib/formly/field/value/boolean/boolean.field.module.mjs +0 -19
- package/esm2022/lib/formly/field/value/boolean/index.mjs +0 -3
- package/esm2022/lib/formly/field/value/date/date.field.module.mjs +0 -36
- package/esm2022/lib/formly/field/value/date/date.value.mjs +0 -133
- package/esm2022/lib/formly/field/value/date/datetime.field.component.mjs +0 -737
- package/esm2022/lib/formly/field/value/date/datetime.field.mjs +0 -151
- package/esm2022/lib/formly/field/value/date/datetime.field.service.mjs +0 -23
- package/esm2022/lib/formly/field/value/date/datetime.mjs +0 -26
- package/esm2022/lib/formly/field/value/date/datetime.preset.mjs +0 -31
- package/esm2022/lib/formly/field/value/date/fixeddaterange.field.component.mjs +0 -521
- package/esm2022/lib/formly/field/value/date/index.mjs +0 -10
- package/esm2022/lib/formly/field/value/hidden.field.mjs +0 -8
- package/esm2022/lib/formly/field/value/index.mjs +0 -9
- package/esm2022/lib/formly/field/value/number/index.mjs +0 -3
- package/esm2022/lib/formly/field/value/number/number.field.mjs +0 -75
- package/esm2022/lib/formly/field/value/number/number.field.module.mjs +0 -18
- package/esm2022/lib/formly/field/value/phone/index.mjs +0 -4
- package/esm2022/lib/formly/field/value/phone/phone.field.component.mjs +0 -104
- package/esm2022/lib/formly/field/value/phone/phone.field.mjs +0 -66
- package/esm2022/lib/formly/field/value/phone/phone.field.module.mjs +0 -26
- package/esm2022/lib/formly/field/value/text/index.mjs +0 -5
- package/esm2022/lib/formly/field/value/text/text.additional.field.mjs +0 -114
- package/esm2022/lib/formly/field/value/text/text.address.field.mjs +0 -73
- package/esm2022/lib/formly/field/value/text/text.field.mjs +0 -47
- package/esm2022/lib/formly/field/value/text/text.field.module.mjs +0 -20
- package/esm2022/lib/formly/field/value/value.module.mjs +0 -31
- package/esm2022/lib/formly/field/wrapper/autotouch.wrapper.component.mjs +0 -32
- package/esm2022/lib/formly/field/wrapper/expand.wrapper.component.mjs +0 -34
- package/esm2022/lib/formly/field/wrapper/expand.wrapper.delegate.mjs +0 -58
- package/esm2022/lib/formly/field/wrapper/flex.wrapper.component.mjs +0 -38
- package/esm2022/lib/formly/field/wrapper/index.mjs +0 -13
- package/esm2022/lib/formly/field/wrapper/info.wrapper.component.mjs +0 -48
- package/esm2022/lib/formly/field/wrapper/section.wrapper.component.mjs +0 -31
- package/esm2022/lib/formly/field/wrapper/style.wrapper.component.mjs +0 -53
- package/esm2022/lib/formly/field/wrapper/subsection.wrapper.component.mjs +0 -30
- package/esm2022/lib/formly/field/wrapper/toggle.wrapper.component.mjs +0 -55
- package/esm2022/lib/formly/field/wrapper/working.wrapper.component.mjs +0 -45
- package/esm2022/lib/formly/field/wrapper/wrapper.key.mjs +0 -10
- package/esm2022/lib/formly/field/wrapper/wrapper.mjs +0 -77
- package/esm2022/lib/formly/field/wrapper/wrapper.module.mjs +0 -101
- package/esm2022/lib/formly/form/form.form.mjs +0 -17
- package/esm2022/lib/formly/form/form.form.module.mjs +0 -20
- package/esm2022/lib/formly/form/index.mjs +0 -4
- package/esm2022/lib/formly/form/search.form.component.mjs +0 -35
- package/esm2022/lib/formly/formly.component.template.mjs +0 -29
- package/esm2022/lib/formly/formly.context.directive.mjs +0 -23
- package/esm2022/lib/formly/formly.context.mjs +0 -102
- package/esm2022/lib/formly/formly.directive.mjs +0 -84
- package/esm2022/lib/formly/formly.form.component.mjs +0 -194
- package/esm2022/lib/formly/formly.module.mjs +0 -40
- package/esm2022/lib/formly/formly.providers.mjs +0 -8
- package/esm2022/lib/formly/index.mjs +0 -12
- package/esm2022/lib/formly/template/available.mjs +0 -18
- package/esm2022/lib/formly/template/available.module.mjs +0 -18
- package/esm2022/lib/formly/template/index.mjs +0 -8
- package/esm2022/lib/formly/template/login.mjs +0 -92
- package/esm2022/lib/formly/template/login.module.mjs +0 -17
- package/esm2022/lib/formly/template/timezone.mjs +0 -46
- package/esm2022/lib/formly/template/timezone.module.mjs +0 -17
- package/esm2022/lib/formly/template/website.mjs +0 -25
- package/esm2022/lib/index.mjs +0 -7
- package/esm2022/lib/layout/form.layout.module.mjs +0 -20
- package/esm2022/lib/layout/form.spacer.directive.mjs +0 -20
- package/esm2022/lib/layout/index.mjs +0 -3
- package/esm2022/lib/validator/available.mjs +0 -31
- package/esm2022/lib/validator/boolean.mjs +0 -12
- package/esm2022/lib/validator/email.mjs +0 -6
- package/esm2022/lib/validator/field.mjs +0 -31
- package/esm2022/lib/validator/index.mjs +0 -8
- package/esm2022/lib/validator/number.mjs +0 -53
- package/esm2022/lib/validator/phone.mjs +0 -61
- package/esm2022/lib/validator/website.mjs +0 -68
- package/esm2022/mapbox/dereekb-dbx-form-mapbox.mjs +0 -5
- package/esm2022/mapbox/index.mjs +0 -3
- package/esm2022/mapbox/lib/field/index.mjs +0 -3
- package/esm2022/mapbox/lib/field/latlng/index.mjs +0 -5
- package/esm2022/mapbox/lib/field/latlng/latlng.field.component.mjs +0 -262
- package/esm2022/mapbox/lib/field/latlng/latlng.field.marker.component.mjs +0 -34
- package/esm2022/mapbox/lib/field/latlng/latlng.field.mjs +0 -35
- package/esm2022/mapbox/lib/field/latlng/latlng.module.mjs +0 -26
- package/esm2022/mapbox/lib/field/zoom/index.mjs +0 -4
- package/esm2022/mapbox/lib/field/zoom/zoom.field.component.mjs +0 -146
- package/esm2022/mapbox/lib/field/zoom/zoom.field.mjs +0 -23
- package/esm2022/mapbox/lib/field/zoom/zoom.module.mjs +0 -26
- package/esm2022/mapbox/lib/mapbox.module.mjs +0 -16
- package/index.d.ts +0 -1
- package/lib/form/action/form.action.dialog.component.d.ts +0 -63
- package/lib/form/action/form.action.directive.d.ts +0 -66
- package/lib/form/action/form.action.module.d.ts +0 -10
- package/lib/form/action/index.d.ts +0 -4
- package/lib/form/action/transition/form.action.transition.module.d.ts +0 -10
- package/lib/form/action/transition/form.action.transition.safety.directive.d.ts +0 -17
- package/lib/form/action/transition/index.d.ts +0 -2
- package/lib/form/form.angular.util.d.ts +0 -15
- package/lib/form/form.d.ts +0 -92
- package/lib/form/form.module.d.ts +0 -9
- package/lib/form/index.d.ts +0 -5
- package/lib/form/io/form.change.directive.d.ts +0 -17
- package/lib/form/io/form.input.directive.d.ts +0 -28
- package/lib/form/io/form.io.module.d.ts +0 -16
- package/lib/form/io/form.loading.directive.d.ts +0 -23
- package/lib/form/io/index.d.ts +0 -4
- package/lib/form.module.d.ts +0 -10
- package/lib/form.providers.d.ts +0 -8
- package/lib/formly/config/index.d.ts +0 -1
- package/lib/formly/config/validation.d.ts +0 -23
- package/lib/formly/field/checklist/checklist.field.d.ts +0 -44
- package/lib/formly/field/checklist/checklist.item.d.ts +0 -36
- package/lib/formly/field/checklist/checklist.item.field.component.d.ts +0 -43
- package/lib/formly/field/checklist/checklist.item.field.content.default.component.d.ts +0 -10
- package/lib/formly/field/checklist/checklist.item.field.d.ts +0 -7
- package/lib/formly/field/checklist/checklist.item.field.module.d.ts +0 -10
- package/lib/formly/field/checklist/index.d.ts +0 -6
- package/lib/formly/field/component/component.field.component.d.ts +0 -12
- package/lib/formly/field/component/component.field.d.ts +0 -3
- package/lib/formly/field/component/component.field.module.d.ts +0 -8
- package/lib/formly/field/component/index.d.ts +0 -3
- package/lib/formly/field/field.d.ts +0 -99
- package/lib/formly/field/form.field.module.d.ts +0 -12
- package/lib/formly/field/index.d.ts +0 -8
- package/lib/formly/field/selection/index.d.ts +0 -7
- package/lib/formly/field/selection/list/index.d.ts +0 -3
- package/lib/formly/field/selection/list/list.field.component.d.ts +0 -55
- package/lib/formly/field/selection/list/list.field.d.ts +0 -8
- package/lib/formly/field/selection/list/list.field.module.d.ts +0 -8
- package/lib/formly/field/selection/pickable/index.d.ts +0 -7
- package/lib/formly/field/selection/pickable/pickable.chip.field.component.d.ts +0 -10
- package/lib/formly/field/selection/pickable/pickable.d.ts +0 -26
- package/lib/formly/field/selection/pickable/pickable.field.d.ts +0 -8
- package/lib/formly/field/selection/pickable/pickable.field.directive.d.ts +0 -169
- package/lib/formly/field/selection/pickable/pickable.field.module.d.ts +0 -9
- package/lib/formly/field/selection/pickable/pickable.list.field.component.d.ts +0 -39
- package/lib/formly/field/selection/pickable/pickable.util.d.ts +0 -14
- package/lib/formly/field/selection/searchable/index.d.ts +0 -8
- package/lib/formly/field/selection/searchable/searchable.chip.field.component.d.ts +0 -28
- package/lib/formly/field/selection/searchable/searchable.d.ts +0 -39
- package/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.d.ts +0 -22
- package/lib/formly/field/selection/searchable/searchable.field.d.ts +0 -25
- package/lib/formly/field/selection/searchable/searchable.field.directive.d.ts +0 -163
- package/lib/formly/field/selection/searchable/searchable.field.module.d.ts +0 -10
- package/lib/formly/field/selection/searchable/searchable.text.field.component.d.ts +0 -24
- package/lib/formly/field/selection/searchable/text.chip.field.d.ts +0 -8
- package/lib/formly/field/selection/selection.d.ts +0 -26
- package/lib/formly/field/selection/selection.field.d.ts +0 -38
- package/lib/formly/field/selection/selection.module.d.ts +0 -18
- package/lib/formly/field/selection/sourceselect/index.d.ts +0 -4
- package/lib/formly/field/selection/sourceselect/sourceselect.d.ts +0 -116
- package/lib/formly/field/selection/sourceselect/sourceselect.field.component.d.ts +0 -95
- package/lib/formly/field/selection/sourceselect/sourceselect.field.d.ts +0 -7
- package/lib/formly/field/selection/sourceselect/sourceselect.field.module.d.ts +0 -8
- package/lib/formly/field/texteditor/index.d.ts +0 -3
- package/lib/formly/field/texteditor/texteditor.field.component.d.ts +0 -24
- package/lib/formly/field/texteditor/texteditor.field.d.ts +0 -6
- package/lib/formly/field/texteditor/texteditor.field.module.d.ts +0 -8
- package/lib/formly/field/value/array/array.field.component.d.ts +0 -89
- package/lib/formly/field/value/array/array.field.d.ts +0 -40
- package/lib/formly/field/value/array/array.field.module.d.ts +0 -8
- package/lib/formly/field/value/array/index.d.ts +0 -3
- package/lib/formly/field/value/boolean/boolean.field.d.ts +0 -8
- package/lib/formly/field/value/boolean/boolean.field.module.d.ts +0 -9
- package/lib/formly/field/value/boolean/index.d.ts +0 -2
- package/lib/formly/field/value/date/date.field.module.d.ts +0 -10
- package/lib/formly/field/value/date/date.value.d.ts +0 -32
- package/lib/formly/field/value/date/datetime.d.ts +0 -56
- package/lib/formly/field/value/date/datetime.field.component.d.ts +0 -307
- package/lib/formly/field/value/date/datetime.field.d.ts +0 -31
- package/lib/formly/field/value/date/datetime.field.service.d.ts +0 -12
- package/lib/formly/field/value/date/datetime.preset.d.ts +0 -2
- package/lib/formly/field/value/date/fixeddaterange.field.component.d.ts +0 -163
- package/lib/formly/field/value/date/index.d.ts +0 -9
- package/lib/formly/field/value/hidden.field.d.ts +0 -4
- package/lib/formly/field/value/index.d.ts +0 -8
- package/lib/formly/field/value/number/index.d.ts +0 -2
- package/lib/formly/field/value/number/number.field.d.ts +0 -46
- package/lib/formly/field/value/number/number.field.module.d.ts +0 -8
- package/lib/formly/field/value/phone/index.d.ts +0 -3
- package/lib/formly/field/value/phone/phone.field.component.d.ts +0 -35
- package/lib/formly/field/value/phone/phone.field.d.ts +0 -28
- package/lib/formly/field/value/phone/phone.field.module.d.ts +0 -8
- package/lib/formly/field/value/text/index.d.ts +0 -4
- package/lib/formly/field/value/text/text.additional.field.d.ts +0 -24
- package/lib/formly/field/value/text/text.address.field.d.ts +0 -43
- package/lib/formly/field/value/text/text.field.d.ts +0 -21
- package/lib/formly/field/value/text/text.field.module.d.ts +0 -10
- package/lib/formly/field/value/value.module.d.ts +0 -21
- package/lib/formly/field/wrapper/autotouch.wrapper.component.d.ts +0 -11
- package/lib/formly/field/wrapper/expand.wrapper.component.d.ts +0 -14
- package/lib/formly/field/wrapper/expand.wrapper.delegate.d.ts +0 -31
- package/lib/formly/field/wrapper/flex.wrapper.component.d.ts +0 -25
- package/lib/formly/field/wrapper/index.d.ts +0 -12
- package/lib/formly/field/wrapper/info.wrapper.component.d.ts +0 -11
- package/lib/formly/field/wrapper/section.wrapper.component.d.ts +0 -10
- package/lib/formly/field/wrapper/style.wrapper.component.d.ts +0 -27
- package/lib/formly/field/wrapper/subsection.wrapper.component.d.ts +0 -10
- package/lib/formly/field/wrapper/toggle.wrapper.component.d.ts +0 -17
- package/lib/formly/field/wrapper/working.wrapper.component.d.ts +0 -21
- package/lib/formly/field/wrapper/wrapper.d.ts +0 -35
- package/lib/formly/field/wrapper/wrapper.key.d.ts +0 -9
- package/lib/formly/field/wrapper/wrapper.module.d.ts +0 -17
- package/lib/formly/form/form.form.d.ts +0 -11
- package/lib/formly/form/form.form.module.d.ts +0 -10
- package/lib/formly/form/index.d.ts +0 -3
- package/lib/formly/form/search.form.component.d.ts +0 -13
- package/lib/formly/formly.component.template.d.ts +0 -19
- package/lib/formly/formly.context.d.ts +0 -57
- package/lib/formly/formly.context.directive.d.ts +0 -18
- package/lib/formly/formly.directive.d.ts +0 -56
- package/lib/formly/formly.form.component.d.ts +0 -52
- package/lib/formly/formly.module.d.ts +0 -15
- package/lib/formly/formly.providers.d.ts +0 -1
- package/lib/formly/index.d.ts +0 -11
- package/lib/formly/template/available.d.ts +0 -7
- package/lib/formly/template/available.module.d.ts +0 -8
- package/lib/formly/template/index.d.ts +0 -7
- package/lib/formly/template/login.d.ts +0 -66
- package/lib/formly/template/login.module.d.ts +0 -7
- package/lib/formly/template/timezone.d.ts +0 -20
- package/lib/formly/template/timezone.module.d.ts +0 -7
- package/lib/formly/template/website.d.ts +0 -15
- package/lib/index.d.ts +0 -6
- package/lib/layout/form.layout.module.d.ts +0 -10
- package/lib/layout/form.spacer.directive.d.ts +0 -8
- package/lib/layout/index.d.ts +0 -2
- package/lib/validator/available.d.ts +0 -30
- package/lib/validator/boolean.d.ts +0 -2
- package/lib/validator/email.d.ts +0 -2
- package/lib/validator/field.d.ts +0 -32
- package/lib/validator/index.d.ts +0 -7
- package/lib/validator/number.d.ts +0 -23
- package/lib/validator/phone.d.ts +0 -16
- package/lib/validator/website.d.ts +0 -31
- package/mapbox/index.d.ts +0 -2
- package/mapbox/lib/field/index.d.ts +0 -2
- package/mapbox/lib/field/latlng/index.d.ts +0 -4
- package/mapbox/lib/field/latlng/latlng.field.component.d.ts +0 -116
- package/mapbox/lib/field/latlng/latlng.field.d.ts +0 -6
- package/mapbox/lib/field/latlng/latlng.field.marker.component.d.ts +0 -12
- package/mapbox/lib/field/latlng/latlng.module.d.ts +0 -8
- package/mapbox/lib/field/zoom/index.d.ts +0 -3
- package/mapbox/lib/field/zoom/zoom.field.component.d.ts +0 -68
- package/mapbox/lib/field/zoom/zoom.field.d.ts +0 -6
- package/mapbox/lib/field/zoom/zoom.module.d.ts +0 -8
- package/mapbox/lib/mapbox.module.d.ts +0 -8
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
import { successResult, mapLoadingStateResults, filterMaybe, mapIsListLoadingStateWithEmptyValue, startWithBeginLoading, SubscriptionObject, listLoadingStateContext } from '@dereekb/rxjs';
|
|
2
|
-
import { convertMaybeToArray, makeValuesGroupMap, separateValues, filterUniqueValues } from '@dereekb/util';
|
|
3
|
-
import { Directive, viewChild } from '@angular/core';
|
|
4
|
-
import { FormControl } from '@angular/forms';
|
|
5
|
-
import { MatInput } from '@angular/material/input';
|
|
6
|
-
import { FieldType } from '@ngx-formly/material';
|
|
7
|
-
import { BehaviorSubject, combineLatest, of, filter, map, debounceTime, distinctUntilChanged, switchMap, startWith, shareReplay, mergeMap, first, delay } from 'rxjs';
|
|
8
|
-
import { camelCase } from 'change-case-all';
|
|
9
|
-
import { toSignal } from '@angular/core/rxjs-interop';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
/**
|
|
12
|
-
* Used for picking pre-set values using items as the presentation.
|
|
13
|
-
*/
|
|
14
|
-
export class AbstractDbxPickableItemFieldDirective extends FieldType {
|
|
15
|
-
filterMatInput = viewChild('matInput', { read: MatInput });
|
|
16
|
-
inputCtrl = new FormControl('');
|
|
17
|
-
_formControlObs = new BehaviorSubject(undefined);
|
|
18
|
-
formControl$ = this._formControlObs.pipe(filterMaybe());
|
|
19
|
-
_clearDisplayHashMapSub = new SubscriptionObject();
|
|
20
|
-
_displayHashMap = new BehaviorSubject(new Map());
|
|
21
|
-
filterInputValue$ = this.inputCtrl.valueChanges.pipe(startWith(undefined));
|
|
22
|
-
filterInputValueString$ = this.filterInputValue$.pipe(debounceTime(200), distinctUntilChanged(), shareReplay(1));
|
|
23
|
-
loadResultsDisplayValuesState$ = this.formControl$.pipe(first(), switchMap(() => this.loadValuesFn().pipe(switchMap((x) => this.loadDisplayValuesForFieldValues(x)), startWithBeginLoading())), shareReplay(1));
|
|
24
|
-
_formControlValue$ = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value), shareReplay(1))));
|
|
25
|
-
loadResultsDisplayValues$ = this.loadResultsDisplayValuesState$.pipe(map((x) => x?.value ?? []));
|
|
26
|
-
/**
|
|
27
|
-
* Current values in the form control.
|
|
28
|
-
*/
|
|
29
|
-
values$ = this._formControlValue$.pipe(map(convertMaybeToArray), shareReplay(1));
|
|
30
|
-
/**
|
|
31
|
-
* Current values with their display value.
|
|
32
|
-
*/
|
|
33
|
-
displayValuesState$ = combineLatest([this.loadResultsDisplayValues$, this.values$]).pipe(switchMap(([displayValues, currentValues]) => {
|
|
34
|
-
const displayValuesMap = makeValuesGroupMap(displayValues, (x) => this.hashForValue(x.value));
|
|
35
|
-
const valuesNotInDisplayMap = [];
|
|
36
|
-
currentValues.forEach((x) => {
|
|
37
|
-
const key = this.hashForValue(x);
|
|
38
|
-
const displayValue = displayValuesMap.get(key)?.[0];
|
|
39
|
-
if (!displayValue) {
|
|
40
|
-
valuesNotInDisplayMap.push(x);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
if (valuesNotInDisplayMap.length) {
|
|
44
|
-
return this.loadDisplayValuesForValues(valuesNotInDisplayMap).pipe(map((x) => mapLoadingStateResults(x, {
|
|
45
|
-
mapValue: (loadedValues) => {
|
|
46
|
-
loadedValues.forEach((x) => (x.isUnknown = x.isUnknown ?? true)); // Assign unknown flag.
|
|
47
|
-
return [...displayValues, ...loadedValues];
|
|
48
|
-
}
|
|
49
|
-
})));
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
return of(successResult(displayValues));
|
|
53
|
-
}
|
|
54
|
-
}));
|
|
55
|
-
/**
|
|
56
|
-
* Results to be displayed if filtered.
|
|
57
|
-
*/
|
|
58
|
-
filteredSearchResultsState$ = this.loadResultsDisplayValues$.pipe(switchMap((values) => this.filterInputValueString$.pipe(switchMap((text) => combineLatest([this._filterValues(text, values), this.displayValuesState$]).pipe(map(([values, displayState]) => mapLoadingStateResults(displayState, {
|
|
59
|
-
mapValue: (displayValues) => {
|
|
60
|
-
const valueHashSet = new Set(values.map((x) => this.hashForValue(x)));
|
|
61
|
-
return displayValues.filter((x) => !x.isUnknown && valueHashSet.has(x._hash));
|
|
62
|
-
}
|
|
63
|
-
})), startWithBeginLoading())))), shareReplay(1));
|
|
64
|
-
filteredSearchResults$ = this.filteredSearchResultsState$.pipe(map((x) => x?.value), filterMaybe(), shareReplay(1));
|
|
65
|
-
items$ = combineLatest([this.filteredSearchResults$, this.values$]).pipe(map(([displayValues, values]) => {
|
|
66
|
-
const selectedHashValuesSet = new Set(values.map((x) => this.hashForValue(x)));
|
|
67
|
-
let items = displayValues.map((x) => ({ itemValue: x, selected: selectedHashValuesSet.has(x._hash) }));
|
|
68
|
-
if (this.sortItems) {
|
|
69
|
-
items = this.sortItems(items);
|
|
70
|
-
}
|
|
71
|
-
return items;
|
|
72
|
-
}), shareReplay(1));
|
|
73
|
-
itemsLoadingState$ = this.loadResultsDisplayValues$.pipe(switchMap(() => this.items$.pipe(first(), map((x) => successResult(x)), startWithBeginLoading(), shareReplay(1))));
|
|
74
|
-
/**
|
|
75
|
-
* Context used for managing the loading of items, or when the current results change.
|
|
76
|
-
*/
|
|
77
|
-
context = listLoadingStateContext({ obs: this.itemsLoadingState$, showLoadingOnNoValue: false });
|
|
78
|
-
filterItemsLoadingState$ = this.items$.pipe(map((x) => successResult(x)), startWithBeginLoading(), shareReplay(1));
|
|
79
|
-
noItemsAvailable$ = this.filterItemsLoadingState$.pipe(mapIsListLoadingStateWithEmptyValue(), distinctUntilChanged());
|
|
80
|
-
/**
|
|
81
|
-
* Context used for searching/filtering.
|
|
82
|
-
*/
|
|
83
|
-
filterResultsContext = listLoadingStateContext({ obs: this.filteredSearchResultsState$, showLoadingOnNoValue: true });
|
|
84
|
-
itemsSignal = toSignal(this.items$);
|
|
85
|
-
noItemsAvailableSignal = toSignal(this.noItemsAvailable$);
|
|
86
|
-
get readonly() {
|
|
87
|
-
return this.props.readonly;
|
|
88
|
-
}
|
|
89
|
-
get isReadonlyOrDisabled() {
|
|
90
|
-
return this.readonly || this.disabled;
|
|
91
|
-
}
|
|
92
|
-
get pickableField() {
|
|
93
|
-
return this.props;
|
|
94
|
-
}
|
|
95
|
-
get multiSelect() {
|
|
96
|
-
return this.pickableField.multiSelect ?? true;
|
|
97
|
-
}
|
|
98
|
-
get asArrayValue() {
|
|
99
|
-
return this.pickableField.asArrayValue ?? true;
|
|
100
|
-
}
|
|
101
|
-
get pickOnlyOne() {
|
|
102
|
-
return this.asArrayValue === false || this.multiSelect === false;
|
|
103
|
-
}
|
|
104
|
-
get filterLabel() {
|
|
105
|
-
return this.pickableField.filterLabel;
|
|
106
|
-
}
|
|
107
|
-
get name() {
|
|
108
|
-
return this.field.name ?? camelCase(this.label ?? this.key);
|
|
109
|
-
}
|
|
110
|
-
get label() {
|
|
111
|
-
return this.props.label;
|
|
112
|
-
}
|
|
113
|
-
get autocomplete() {
|
|
114
|
-
return (this.props.attributes?.['autocomplete'] ?? this.key);
|
|
115
|
-
}
|
|
116
|
-
get changeSelectionModeToViewOnDisabled() {
|
|
117
|
-
return this.pickableField.changeSelectionModeToViewOnDisabled ?? false;
|
|
118
|
-
}
|
|
119
|
-
get sortItems() {
|
|
120
|
-
return this.pickableField.sortItems;
|
|
121
|
-
}
|
|
122
|
-
get hashForValue() {
|
|
123
|
-
return this.pickableField.hashForValue ?? ((x) => x);
|
|
124
|
-
}
|
|
125
|
-
get displayForValue() {
|
|
126
|
-
return this.pickableField.displayForValue;
|
|
127
|
-
}
|
|
128
|
-
get showFilterInput() {
|
|
129
|
-
return Boolean(this.pickableField.filterValues);
|
|
130
|
-
}
|
|
131
|
-
get filterValuesFn() {
|
|
132
|
-
return this.pickableField.filterValues ?? ((_, x) => of(x.map((y) => y.value)));
|
|
133
|
-
}
|
|
134
|
-
get skipFilterFnOnEmpty() {
|
|
135
|
-
return this.pickableField.skipFilterFnOnEmpty ?? true;
|
|
136
|
-
}
|
|
137
|
-
get _filterValues() {
|
|
138
|
-
let fn;
|
|
139
|
-
if (this.skipFilterFnOnEmpty) {
|
|
140
|
-
fn = (filterText, values) => {
|
|
141
|
-
let result;
|
|
142
|
-
if (filterText) {
|
|
143
|
-
result = this.filterValuesFn(filterText, values);
|
|
144
|
-
}
|
|
145
|
-
else {
|
|
146
|
-
result = of(values.map((x) => x.value));
|
|
147
|
-
}
|
|
148
|
-
return result;
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
fn = this.filterValuesFn;
|
|
153
|
-
}
|
|
154
|
-
return fn;
|
|
155
|
-
}
|
|
156
|
-
get showTextFilter() {
|
|
157
|
-
return this.pickableField.showTextFilter ?? Boolean(this.pickableField.filterValues);
|
|
158
|
-
}
|
|
159
|
-
get loadValuesFn() {
|
|
160
|
-
return this.pickableField.loadValues;
|
|
161
|
-
}
|
|
162
|
-
get values() {
|
|
163
|
-
return this._getValueOnFormControl(this.formControl.value) ?? [];
|
|
164
|
-
}
|
|
165
|
-
get footerConfig() {
|
|
166
|
-
return this.pickableField.footerConfig;
|
|
167
|
-
}
|
|
168
|
-
get refreshDisplayValues$() {
|
|
169
|
-
return this.pickableField.refreshDisplayValues$;
|
|
170
|
-
}
|
|
171
|
-
loadDisplayValuesForValues(values) {
|
|
172
|
-
return this.loadDisplayValuesForFieldValues(values.map((value) => ({ value })));
|
|
173
|
-
}
|
|
174
|
-
loadDisplayValuesForFieldValues(values) {
|
|
175
|
-
return this.getDisplayValuesForFieldValues(values).pipe(map((displayValues) => successResult(displayValues)), startWithBeginLoading(), shareReplay(1));
|
|
176
|
-
}
|
|
177
|
-
getDisplayValuesForFieldValues(values) {
|
|
178
|
-
return this._displayHashMap.pipe(mergeMap((displayMap) => {
|
|
179
|
-
const mappingResult = values.map((x) => [x, this.hashForValue(x.value)]).map(([x, hash], i) => [i, hash, x, displayMap.get(hash)]);
|
|
180
|
-
const {
|
|
181
|
-
//
|
|
182
|
-
included: hasDisplay, excluded: needsDisplay } = separateValues(mappingResult, (x) => Boolean(x[3]));
|
|
183
|
-
if (needsDisplay.length > 0) {
|
|
184
|
-
// Go get the display value.
|
|
185
|
-
const displayValuesObs = this.displayForValue(needsDisplay.map((x) => x[2]));
|
|
186
|
-
return displayValuesObs.pipe(first(), map((displayResults) => {
|
|
187
|
-
const displayResultsWithHash = displayResults.map((x) => {
|
|
188
|
-
x._hash = this.hashForValue(x.value);
|
|
189
|
-
return x;
|
|
190
|
-
});
|
|
191
|
-
// Create a map to re-join values later.
|
|
192
|
-
const displayResultsMapping = displayResultsWithHash.map((x) => [x, x._hash]);
|
|
193
|
-
const valueIndexHashMap = new Map(displayResultsMapping.map(([x, hash]) => [hash, x]));
|
|
194
|
-
// Update displayMap. No need to push an update notification.
|
|
195
|
-
displayResultsMapping.forEach(([x, hash]) => displayMap.set(hash, x));
|
|
196
|
-
// Zip values back together.
|
|
197
|
-
const newDisplayValues = mappingResult.map((x) => x[3] ?? valueIndexHashMap.get(x[1]));
|
|
198
|
-
// Return display values.
|
|
199
|
-
return newDisplayValues;
|
|
200
|
-
}));
|
|
201
|
-
}
|
|
202
|
-
else {
|
|
203
|
-
// If all display values are hashed return that.
|
|
204
|
-
return of(hasDisplay.map((x) => x[3]));
|
|
205
|
-
}
|
|
206
|
-
}));
|
|
207
|
-
}
|
|
208
|
-
ngOnInit() {
|
|
209
|
-
this._formControlObs.next(this.formControl);
|
|
210
|
-
if (this.refreshDisplayValues$ != null) {
|
|
211
|
-
this._clearDisplayHashMapSub.subscription = this.refreshDisplayValues$.subscribe(() => this._displayHashMap.next(new Map()));
|
|
212
|
-
}
|
|
213
|
-
// Focus after finished loading for the first time.
|
|
214
|
-
this.context.loading$
|
|
215
|
-
.pipe(delay(10), filter((x) => x), first())
|
|
216
|
-
.subscribe(() => {
|
|
217
|
-
this.filterMatInput()?.focus();
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
ngOnDestroy() {
|
|
221
|
-
super.ngOnDestroy();
|
|
222
|
-
this._displayHashMap.complete();
|
|
223
|
-
this._formControlObs.complete();
|
|
224
|
-
this._clearDisplayHashMapSub.destroy();
|
|
225
|
-
this.filterResultsContext.destroy();
|
|
226
|
-
}
|
|
227
|
-
_getValueOnFormControl(valueOnFormControl) {
|
|
228
|
-
const value = valueOnFormControl != null ? [].concat(valueOnFormControl) : []; // Always return an array.
|
|
229
|
-
return value;
|
|
230
|
-
}
|
|
231
|
-
addValue(value) {
|
|
232
|
-
let newValues;
|
|
233
|
-
if (this.pickOnlyOne) {
|
|
234
|
-
newValues = [value];
|
|
235
|
-
}
|
|
236
|
-
else {
|
|
237
|
-
newValues = [...this.values, value];
|
|
238
|
-
}
|
|
239
|
-
this.setValues(newValues);
|
|
240
|
-
}
|
|
241
|
-
removeValue(value) {
|
|
242
|
-
const hashToFilter = this.hashForValue(value);
|
|
243
|
-
const values = this.values.filter((x) => this.hashForValue(x) !== hashToFilter);
|
|
244
|
-
this.setValues(values);
|
|
245
|
-
}
|
|
246
|
-
setValues(values) {
|
|
247
|
-
// Use to filter non-unique values.
|
|
248
|
-
if (this.hashForValue) {
|
|
249
|
-
values = filterUniqueValues(values, this.hashForValue);
|
|
250
|
-
}
|
|
251
|
-
if (this.pickOnlyOne) {
|
|
252
|
-
values = [values[0]].filter((x) => x != null);
|
|
253
|
-
}
|
|
254
|
-
this._setValueOnFormControl(values);
|
|
255
|
-
}
|
|
256
|
-
// MARK: Internal
|
|
257
|
-
_setValueOnFormControl(values) {
|
|
258
|
-
let newValue = values;
|
|
259
|
-
if (!this.asArrayValue) {
|
|
260
|
-
newValue = [values[0]].filter((x) => x != null)[0];
|
|
261
|
-
}
|
|
262
|
-
this.formControl.setValue(newValue);
|
|
263
|
-
this.formControl.markAsTouched();
|
|
264
|
-
this.formControl.markAsDirty();
|
|
265
|
-
}
|
|
266
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxPickableItemFieldDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
267
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.13", type: AbstractDbxPickableItemFieldDirective, viewQueries: [{ propertyName: "filterMatInput", first: true, predicate: ["matInput"], descendants: true, read: MatInput, isSignal: true }], usesInheritance: true, ngImport: i0 });
|
|
268
|
-
}
|
|
269
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxPickableItemFieldDirective, decorators: [{
|
|
270
|
-
type: Directive
|
|
271
|
-
}] });
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2FibGUuZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvc2VsZWN0aW9uL3BpY2thYmxlL3BpY2thYmxlLmZpZWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWdCLGFBQWEsRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsbUNBQW1DLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMU0sT0FBTyxFQUFnQixtQkFBbUIsRUFBRSxrQkFBa0IsRUFBdUIsY0FBYyxFQUFFLGtCQUFrQixFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUM3SixPQUFPLEVBQUUsU0FBUyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBbUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdsTCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQXFGdEQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8scUNBQTZGLFNBQVEsU0FBa0U7SUFDekssY0FBYyxHQUFH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SSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBRUQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxpQkFBaUI7SUFDUCxzQkFBc0IsQ0FBQyxNQUFXO1FBQzFDLElBQUksUUFBUSxHQUFZLE1BQU0sQ0FBQztRQUUvQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLFFBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakMsQ0FBQzt3R0FqWVUscUNBQXFDOzRGQUFyQyxxQ0FBcUMsaUhBQzBCLFFBQVE7OzRGQUR2RSxxQ0FBcUM7a0JBRGpELFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWcgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBMb2FkaW5nU3RhdGUsIHN1Y2Nlc3NSZXN1bHQsIG1hcExvYWRpbmdTdGF0ZVJlc3VsdHMsIGZpbHRlck1heWJlLCBtYXBJc0xpc3RMb2FkaW5nU3RhdGVXaXRoRW1wdHlWYWx1ZSwgc3RhcnRXaXRoQmVnaW5Mb2FkaW5nLCBTdWJzY3JpcHRpb25PYmplY3QsIGxpc3RMb2FkaW5nU3RhdGVDb250ZXh0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBQcmltYXRpdmVLZXksIGNvbnZlcnRNYXliZVRvQXJyYXksIG1ha2VWYWx1ZXNHcm91cE1hcCwgTWF5YmUsIEFycmF5T3JWYWx1ZSwgc2VwYXJhdGVWYWx1ZXMsIGZpbHRlclVuaXF1ZVZhbHVlcywgQ29uZmlndXJhYmxlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSwgT25Jbml0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IEZpZWxkVHlwZUNvbmZpZywgRm9ybWx5RmllbGRQcm9wcyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiwgZmlsdGVyLCBtYXAsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN3aXRjaE1hcCwgc3RhcnRXaXRoLCBzaGFyZVJlcGxheSwgbWVyZ2VNYXAsIGZpcnN0LCBkZWxheSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheUZ1bmN0aW9uLCBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWUsIFBpY2thYmxlVmFsdWVGaWVsZEZpbHRlckZ1bmN0aW9uLCBQaWNrYWJsZVZhbHVlRmllbGRIYXNoRnVuY3Rpb24sIFBpY2thYmxlVmFsdWVGaWVsZExvYWRWYWx1ZXNGdW5jdGlvbiwgUGlja2FibGVWYWx1ZUZpZWxkVmFsdWUgfSBmcm9tICcuL3BpY2thYmxlJztcbmltcG9ydCB7IERieFZhbHVlTGlzdEl0ZW0gfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViJztcbmltcG9ydCB7IGNhbWVsQ2FzZSB9IGZyb20gJ2NoYW5nZS1jYXNlLWFsbCc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuLyoqXG4gKiBXcmFwcyB0aGUgc2VsZWN0ZWQgc3RhdGUgd2l0aCB0aGUgaXRlbXMuXG4gKi9cbmV4cG9ydCB0eXBlIFBpY2thYmxlSXRlbUZpZWxkSXRlbTxULCBNID0gdW5rbm93bj4gPSBEYnhWYWx1ZUxpc3RJdGVtPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxULCBNPj47XG5cbmV4cG9ydCB0eXBlIFBpY2thYmxlSXRlbUZpZWxkSXRlbVNvcnRGbjxULCBNID0gdW5rbm93bj4gPSAoaXRlbXM6IFBpY2thYmxlSXRlbUZpZWxkSXRlbTxULCBNPltdKSA9PiBQaWNrYWJsZUl0ZW1GaWVsZEl0ZW08VCwgTT5bXTtcblxuZXhwb3J0IGludGVyZmFjZSBQaWNrYWJsZVZhbHVlRmllbGRzRmllbGRQcm9wczxULCBNID0gdW5rbm93biwgSCBleHRlbmRzIFByaW1hdGl2ZUtleSA9IFByaW1hdGl2ZUtleT4gZXh0ZW5kcyBGb3JtbHlGaWVsZFByb3BzIHtcbiAgLyoqXG4gICAqIExvYWRzIGFsbCBwaWNrYWJsZSB2YWx1ZXMuXG4gICAqL1xuICByZWFkb25seSBsb2FkVmFsdWVzOiBQaWNrYWJsZVZhbHVlRmllbGRMb2FkVmFsdWVzRnVuY3Rpb248VCwgTT47XG4gIC8qKlxuICAgKiBVc2VkIGZvciBidWlsZGluZyBhIGRpc3BsYXkgdmFsdWUgZ2l2ZW4gdGhlIGlucHV0LlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzcGxheUZvclZhbHVlOiBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5RnVuY3Rpb248VCwgTT47XG4gIC8qKlxuICAgKiBVc2VkIGZvciBoYXNoaW5nIGRpc3BsYXkgdmFsdWVzIGFuZCBvbWl0dGluZyByZXBlYXQgdmFsdWVzLlxuICAgKlxuICAgKiBJZiBoYXNoRm9yVmFsdWUgaXMgbm90IHByb3ZpZGVkLCB0aGUgdmFsdWUncyB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMgaXMuXG4gICAqL1xuICByZWFkb25seSBoYXNoRm9yVmFsdWU/OiBQaWNrYWJsZVZhbHVlRmllbGRIYXNoRnVuY3Rpb248VCwgSD47XG4gIC8qKlxuICAgKiBVc2VkIGZvciBmaWx0ZXJpbmcgdmFsdWVzIHZpYSB0aGUgc2VhcmNoIHRleHQuXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJWYWx1ZXM/OiBQaWNrYWJsZVZhbHVlRmllbGRGaWx0ZXJGdW5jdGlvbjxULCBNPjtcbiAgLyoqXG4gICAqIFVzZWQgZm9yIHNvcnRpbmcgdGhlIGl0ZW1zIGJlZm9yZSB0aGV5IGFyZSBkaXNwbGF5ZWQuXG4gICAqXG4gICAqIFNob3VsZCBvbmx5IGJlIHVzZWQgdG8gc29ydCB2YWx1ZXMuXG4gICAqL1xuICByZWFkb25seSBzb3J0SXRlbXM/OiBQaWNrYWJsZUl0ZW1GaWVsZEl0ZW1Tb3J0Rm48VCwgTT47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBhbGxvdyBtdWx0aXBsZSBpdGVtcyB0byBiZSBzZWxlY3RlZC5cbiAgICovXG4gIHJlYWRvbmx5IG11bHRpU2VsZWN0PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIHNldC9nZXQgdmFsdWVzIGFzIGFuIGFycmF5IG9yIGEgc2luZ2xlIHZhbHVlLiBJZiBzZXQgZmFsc2UsIG11bHRpU2VsZWN0IGlzIGlnbm9yZWQuXG4gICAqL1xuICByZWFkb25seSBhc0FycmF5VmFsdWU/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gc2hvdyB0aGUgdGV4dCBmaWx0ZXIuIFRydWUgYnkgZGVmYXVsdCBpZiBmaWx0ZXJWYWx1ZXMgaXMgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBzaG93VGV4dEZpbHRlcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBza2lwIHRoZSBmaWx0ZXIgZnVuY3Rpb24gd2hlbiB0aGUgaW5wdXQgaXMgZW1wdHkuXG4gICAqXG4gICAqIFRydWUgYnkgZGVmYXVsdC5cbiAgICovXG4gIHJlYWRvbmx5IHNraXBGaWx0ZXJGbk9uRW1wdHk/OiBib29sZWFuO1xuICAvKipcbiAgICogRmlsdGVyIExhYmVsXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJMYWJlbD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiB2YWx1ZXMgdGhhdCBjYW4gYmUgcGlja2VkXG4gICAqL1xuICByZWFkb25seSBtYXhQaWNrcz86IG51bWJlcjtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRlc2NyaXB0aW9uL2hpbnQgdG8gZGlzcGxheS5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogRm9vdGVyIERpc3BsYXlcbiAgICovXG4gIHJlYWRvbmx5IGZvb3RlckNvbmZpZz86IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZztcbiAgLyoqXG4gICAqIENoYW5nZXMgdGhlIHNlbGVjdGlvbiBtb2RlIG9mIHRoZSBsaXN0IHRvIFwidmlld1wiIG1vZGUgb24gZGlzYWJsZWQsIGhpZGluZyB0aGUgc2VsZWN0aW9uIGJveGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgY2hhbmdlU2VsZWN0aW9uTW9kZVRvVmlld09uRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBvYnNlcnZhYmxlIHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSBjbGVhcmluZyBvZiBhbGwgY2FjaGVkIGRpc3BsYXkgdmFsdWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVmcmVzaERpc3BsYXlWYWx1ZXMkPzogT2JzZXJ2YWJsZTx1bmtub3duPjtcbn1cblxuLyoqXG4gKiBEaXNwbGF5ZWQgdmFsdWUgd2l0aCB0aGUgY29tcHV0ZWQgaGFzaC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNID0gdW5rbm93biwgSCBleHRlbmRzIFByaW1hdGl2ZUtleSA9IFByaW1hdGl2ZUtleT4gZXh0ZW5kcyBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VCwgTT4ge1xuICBfaGFzaDogSDtcbn1cblxuLyoqXG4gKiBVc2VkIGZvciBwaWNraW5nIHByZS1zZXQgdmFsdWVzIHVzaW5nIGl0ZW1zIGFzIHRoZSBwcmVzZW50YXRpb24uXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIEFic3RyYWN0RGJ4UGlja2FibGVJdGVtRmllbGREaXJlY3RpdmU8VCwgTSA9IHVua25vd24sIEggZXh0ZW5kcyBQcmltYXRpdmVLZXkgPSBQcmltYXRpdmVLZXk+IGV4dGVuZHMgRmllbGRUeXBlPEZpZWxkVHlwZUNvbmZpZzxQaWNrYWJsZVZhbHVlRmllbGRzRmllbGRQcm9wczxULCBNLCBIPj4+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICByZWFkb25seSBmaWx0ZXJNYXRJbnB1dCA9IHZpZXdDaGlsZDxzdHJpbmcsIE1hdElucHV0PignbWF0SW5wdXQnLCB7IHJlYWQ6IE1hdElucHV0IH0pO1xuXG4gIHJlYWRvbmx5IGlucHV0Q3RybCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZm9ybUNvbnRyb2xPYnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPEFic3RyYWN0Q29udHJvbD4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGZvcm1Db250cm9sJCA9IHRoaXMuX2Zvcm1Db250cm9sT2JzLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY2xlYXJEaXNwbGF5SGFzaE1hcFN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGlzcGxheUhhc2hNYXAgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1hcDxILCBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VCwgTT4+PihuZXcgTWFwKCkpO1xuXG4gIHJlYWRvbmx5IGZpbHRlcklucHV0VmFsdWUkOiBPYnNlcnZhYmxlPE1heWJlPHN0cmluZz4+ID0gdGhpcy5pbnB1dEN0cmwudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCkpO1xuICByZWFkb25seSBmaWx0ZXJJbnB1dFZhbHVlU3RyaW5nJDogT2JzZXJ2YWJsZTxNYXliZTxzdHJpbmc+PiA9IHRoaXMuZmlsdGVySW5wdXRWYWx1ZSQucGlwZShkZWJvdW5jZVRpbWUoMjAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IGxvYWRSZXN1bHRzRGlzcGxheVZhbHVlc1N0YXRlJDogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXT4+ID0gdGhpcy5mb3JtQ29udHJvbCQucGlwZShcbiAgICBmaXJzdCgpLFxuICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgdGhpcy5sb2FkVmFsdWVzRm4oKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHgpID0+IHRoaXMubG9hZERpc3BsYXlWYWx1ZXNGb3JGaWVsZFZhbHVlcyh4KSksXG4gICAgICAgIHN0YXJ0V2l0aEJlZ2luTG9hZGluZygpXG4gICAgICApXG4gICAgKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IF9mb3JtQ29udHJvbFZhbHVlJDogT2JzZXJ2YWJsZTxUIHwgVFtdPiA9IHRoaXMuZm9ybUNvbnRyb2wkLnBpcGUoc3dpdGNoTWFwKChjb250cm9sKSA9PiBjb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aChjb250cm9sLnZhbHVlKSwgc2hhcmVSZXBsYXkoMSkpKSk7XG5cbiAgcmVhZG9ubHkgbG9hZFJlc3VsdHNEaXNwbGF5VmFsdWVzJDogT2JzZXJ2YWJsZTxQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNLCBIPltdPiA9IHRoaXMubG9hZFJlc3VsdHNEaXNwbGF5VmFsdWVzU3RhdGUkLnBpcGUobWFwKCh4KSA9PiB4Py52YWx1ZSA/PyBbXSkpO1xuXG4gIC8qKlxuICAgKiBDdXJyZW50IHZhbHVlcyBpbiB0aGUgZm9ybSBjb250cm9sLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWVzJDogT2JzZXJ2YWJsZTxUW10+ID0gdGhpcy5fZm9ybUNvbnRyb2xWYWx1ZSQucGlwZShtYXAoY29udmVydE1heWJlVG9BcnJheSksIHNoYXJlUmVwbGF5KDEpKTtcblxuICAvKipcbiAgICogQ3VycmVudCB2YWx1ZXMgd2l0aCB0aGVpciBkaXNwbGF5IHZhbHVlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzcGxheVZhbHVlc1N0YXRlJDogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXT4+ID0gY29tYmluZUxhdGVzdChbdGhpcy5sb2FkUmVzdWx0c0Rpc3BsYXlWYWx1ZXMkLCB0aGlzLnZhbHVlcyRdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW2Rpc3BsYXlWYWx1ZXMsIGN1cnJlbnRWYWx1ZXNdKSA9PiB7XG4gICAgICBjb25zdCBkaXNwbGF5VmFsdWVzTWFwID0gbWFrZVZhbHVlc0dyb3VwTWFwKGRpc3BsYXlWYWx1ZXMsICh4KSA9PiB0aGlzLmhhc2hGb3JWYWx1ZSh4LnZhbHVlKSk7XG4gICAgICBjb25zdCB2YWx1ZXNOb3RJbkRpc3BsYXlNYXA6IFRbXSA9IFtdO1xuXG4gICAgICBjdXJyZW50VmFsdWVzLmZvckVhY2goKHgpID0+IHtcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5oYXNoRm9yVmFsdWUoeCk7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlWYWx1ZTogTWF5YmU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD4+ID0gZGlzcGxheVZhbHVlc01hcC5nZXQoa2V5KT8uWzBdO1xuXG4gICAgICAgIGlmICghZGlzcGxheVZhbHVlKSB7XG4gICAgICAgICAgdmFsdWVzTm90SW5EaXNwbGF5TWFwLnB1c2goeCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAodmFsdWVzTm90SW5EaXNwbGF5TWFwLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2FkRGlzcGxheVZhbHVlc0ZvclZhbHVlcyh2YWx1ZXNOb3RJbkRpc3BsYXlNYXApLnBpcGUoXG4gICAgICAgICAgbWFwKCh4KSA9PlxuICAgICAgICAgICAgbWFwTG9hZGluZ1N0YXRlUmVzdWx0cyh4LCB7XG4gICAgICAgICAgICAgIG1hcFZhbHVlOiAobG9hZGVkVmFsdWVzOiBDb25maWd1cmFibGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD4+W10pID0+IHtcbiAgICAgICAgICAgICAgICBsb2FkZWRWYWx1ZXMuZm9yRWFjaCgoeCkgPT4gKHguaXNVbmtub3duID0geC5pc1Vua25vd24gPz8gdHJ1ZSkpOyAvLyBBc3NpZ24gdW5rbm93biBmbGFnLlxuICAgICAgICAgICAgICAgIHJldHVybiBbLi4uZGlzcGxheVZhbHVlcywgLi4ubG9hZGVkVmFsdWVzXTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gb2Yoc3VjY2Vzc1Jlc3VsdChkaXNwbGF5VmFsdWVzKSk7XG4gICAgICB9XG4gICAgfSlcbiAgKTtcblxuICAvKipcbiAgICogUmVzdWx0cyB0byBiZSBkaXNwbGF5ZWQgaWYgZmlsdGVyZWQuXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJlZFNlYXJjaFJlc3VsdHNTdGF0ZSQ6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+W10+PiA9IHRoaXMubG9hZFJlc3VsdHNEaXNwbGF5VmFsdWVzJC5waXBlKFxuICAgIHN3aXRjaE1hcCgodmFsdWVzKSA9PlxuICAgICAgdGhpcy5maWx0ZXJJbnB1dFZhbHVlU3RyaW5nJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHRleHQpID0+XG4gICAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5fZmlsdGVyVmFsdWVzKHRleHQsIHZhbHVlcyksIHRoaXMuZGlzcGxheVZhbHVlc1N0YXRlJF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFt2YWx1ZXMsIGRpc3BsYXlTdGF0ZV0pID0+XG4gICAgICAgICAgICAgIG1hcExvYWRpbmdTdGF0ZVJlc3VsdHMoZGlzcGxheVN0YXRlLCB7XG4gICAgICAgICAgICAgICAgbWFwVmFsdWU6IChkaXNwbGF5VmFsdWVzOiBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNLCBIPltdKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZUhhc2hTZXQgPSBuZXcgU2V0KHZhbHVlcy5tYXAoKHgpID0+IHRoaXMuaGFzaEZvclZhbHVlKHgpKSk7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gZGlzcGxheVZhbHVlcy5maWx0ZXIoKHgpID0+ICF4LmlzVW5rbm93biAmJiB2YWx1ZUhhc2hTZXQuaGFzKHguX2hhc2gpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhcnRXaXRoQmVnaW5Mb2FkaW5nKClcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIClcbiAgICApLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZmlsdGVyZWRTZWFyY2hSZXN1bHRzJDogT2JzZXJ2YWJsZTxQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNLCBIPltdPiA9IHRoaXMuZmlsdGVyZWRTZWFyY2hSZXN1bHRzU3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Py52YWx1ZSksXG4gICAgZmlsdGVyTWF5YmUoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGl0ZW1zJDogT2JzZXJ2YWJsZTxQaWNrYWJsZUl0ZW1GaWVsZEl0ZW08VCwgTT5bXT4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmZpbHRlcmVkU2VhcmNoUmVzdWx0cyQsIHRoaXMudmFsdWVzJF0pLnBpcGUoXG4gICAgbWFwKChbZGlzcGxheVZhbHVlcywgdmFsdWVzXSkgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRIYXNoVmFsdWVzU2V0ID0gbmV3IFNldCh2YWx1ZXMubWFwKCh4KSA9PiB0aGlzLmhhc2hGb3JWYWx1ZSh4KSkpO1xuICAgICAgbGV0IGl0ZW1zOiBQaWNrYWJsZUl0ZW1GaWVsZEl0ZW08VCwgTT5bXSA9IGRpc3BsYXlWYWx1ZXMubWFwKCh4KSA9PiAoeyBpdGVtVmFsdWU6IHgsIHNlbGVjdGVkOiBzZWxlY3RlZEhhc2hWYWx1ZXNTZXQuaGFzKHguX2hhc2gpIH0pKTtcblxuICAgICAgaWYgKHRoaXMuc29ydEl0ZW1zKSB7XG4gICAgICAgIGl0ZW1zID0gdGhpcy5zb3J0SXRlbXMoaXRlbXMpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaXRlbXM7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBpdGVtc0xvYWRpbmdTdGF0ZSQ6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPFBpY2thYmxlSXRlbUZpZWxkSXRlbTxUPltdPj4gPSB0aGlzLmxvYWRSZXN1bHRzRGlzcGxheVZhbHVlcyQucGlwZShcbiAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgIHRoaXMuaXRlbXMkLnBpcGUoXG4gICAgICAgIGZpcnN0KCksXG4gICAgICAgIG1hcCgoeCkgPT4gc3VjY2Vzc1Jlc3VsdCh4KSksXG4gICAgICAgIHN0YXJ0V2l0aEJlZ2luTG9hZGluZygpLFxuICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICAvKipcbiAgICogQ29udGV4dCB1c2VkIGZvciBtYW5hZ2luZyB0aGUgbG9hZGluZyBvZiBpdGVtcywgb3Igd2hlbiB0aGUgY3VycmVudCByZXN1bHRzIGNoYW5nZS5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRleHQgPSBsaXN0TG9hZGluZ1N0YXRlQ29udGV4dCh7IG9iczogdGhpcy5pdGVtc0xvYWRpbmdTdGF0ZSQsIHNob3dMb2FkaW5nT25Ob1ZhbHVlOiBmYWxzZSB9KTtcblxuICByZWFkb25seSBmaWx0ZXJJdGVtc0xvYWRpbmdTdGF0ZSQ6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPFBpY2thYmxlSXRlbUZpZWxkSXRlbTxUPltdPj4gPSB0aGlzLml0ZW1zJC5waXBlKFxuICAgIG1hcCgoeCkgPT4gc3VjY2Vzc1Jlc3VsdCh4KSksXG4gICAgc3RhcnRXaXRoQmVnaW5Mb2FkaW5nKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBub0l0ZW1zQXZhaWxhYmxlJCA9IHRoaXMuZmlsdGVySXRlbXNMb2FkaW5nU3RhdGUkLnBpcGUobWFwSXNMaXN0TG9hZGluZ1N0YXRlV2l0aEVtcHR5VmFsdWUoKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cbiAgLyoqXG4gICAqIENvbnRleHQgdXNlZCBmb3Igc2VhcmNoaW5nL2ZpbHRlcmluZy5cbiAgICovXG4gIHJlYWRvbmx5IGZpbHRlclJlc3VsdHNDb250ZXh0ID0gbGlzdExvYWRpbmdTdGF0ZUNvbnRleHQoeyBvYnM6IHRoaXMuZmlsdGVyZWRTZWFyY2hSZXN1bHRzU3RhdGUkLCBzaG93TG9hZGluZ09uTm9WYWx1ZTogdHJ1ZSB9KTtcblxuICByZWFkb25seSBpdGVtc1NpZ25hbCA9IHRvU2lnbmFsKHRoaXMuaXRlbXMkKTtcbiAgcmVhZG9ubHkgbm9JdGVtc0F2YWlsYWJsZVNpZ25hbCA9IHRvU2lnbmFsKHRoaXMubm9JdGVtc0F2YWlsYWJsZSQpO1xuXG4gIGdldCByZWFkb25seSgpOiBNYXliZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMucmVhZG9ubHk7XG4gIH1cblxuICBnZXQgaXNSZWFkb25seU9yRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVhZG9ubHkgfHwgdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIGdldCBwaWNrYWJsZUZpZWxkKCk6IFBpY2thYmxlVmFsdWVGaWVsZHNGaWVsZFByb3BzPFQsIE0sIEg+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcztcbiAgfVxuXG4gIGdldCBtdWx0aVNlbGVjdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5waWNrYWJsZUZpZWxkLm11bHRpU2VsZWN0ID8/IHRydWU7XG4gIH1cblxuICBnZXQgYXNBcnJheVZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuYXNBcnJheVZhbHVlID8/IHRydWU7XG4gIH1cblxuICBnZXQgcGlja09ubHlPbmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYXNBcnJheVZhbHVlID09PSBmYWxzZSB8fCB0aGlzLm11bHRpU2VsZWN0ID09PSBmYWxzZTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJMYWJlbCgpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5waWNrYWJsZUZpZWxkLmZpbHRlckxhYmVsO1xuICB9XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5uYW1lID8/IGNhbWVsQ2FzZSh0aGlzLmxhYmVsID8/ICh0aGlzLmtleSBhcyBzdHJpbmcpKTtcbiAgfVxuXG4gIGdldCBsYWJlbCgpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5sYWJlbDtcbiAgfVxuXG4gIGdldCBhdXRvY29tcGxldGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMucHJvcHMuYXR0cmlidXRlcz8uWydhdXRvY29tcGxldGUnXSA/PyB0aGlzLmtleSkgYXMgc3RyaW5nO1xuICB9XG5cbiAgZ2V0IGNoYW5nZVNlbGVjdGlvbk1vZGVUb1ZpZXdPbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuY2hhbmdlU2VsZWN0aW9uTW9kZVRvVmlld09uRGlzYWJsZWQgPz8gZmFsc2U7XG4gIH1cblxuICBnZXQgc29ydEl0ZW1zKCk6IE1heWJlPFBpY2thYmxlSXRlbUZpZWxkSXRlbVNvcnRGbjxULCBNPj4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuc29ydEl0ZW1zO1xuICB9XG5cbiAgZ2V0IGhhc2hGb3JWYWx1ZSgpOiBQaWNrYWJsZVZhbHVlRmllbGRIYXNoRnVuY3Rpb248VCwgSD4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuaGFzaEZvclZhbHVlID8/ICgoeCkgPT4geCBhcyB1bmtub3duIGFzIEgpO1xuICB9XG5cbiAgZ2V0IGRpc3BsYXlGb3JWYWx1ZSgpOiBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5RnVuY3Rpb248VCwgTT4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuZGlzcGxheUZvclZhbHVlO1xuICB9XG5cbiAgZ2V0IHNob3dGaWx0ZXJJbnB1dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLnBpY2thYmxlRmllbGQuZmlsdGVyVmFsdWVzKTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJWYWx1ZXNGbigpOiBQaWNrYWJsZVZhbHVlRmllbGRGaWx0ZXJGdW5jdGlvbjxULCBNPiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5maWx0ZXJWYWx1ZXMgPz8gKChfLCB4KSA9PiBvZih4Lm1hcCgoeSkgPT4geS52YWx1ZSkpKTtcbiAgfVxuXG4gIGdldCBza2lwRmlsdGVyRm5PbkVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuc2tpcEZpbHRlckZuT25FbXB0eSA/PyB0cnVlO1xuICB9XG5cbiAgZ2V0IF9maWx0ZXJWYWx1ZXMoKTogUGlja2FibGVWYWx1ZUZpZWxkRmlsdGVyRnVuY3Rpb248VCwgTT4ge1xuICAgIGxldCBmbjogUGlja2FibGVWYWx1ZUZpZWxkRmlsdGVyRnVuY3Rpb248VCwgTT47XG5cbiAgICBpZiAodGhpcy5za2lwRmlsdGVyRm5PbkVtcHR5KSB7XG4gICAgICBmbiA9IChmaWx0ZXJUZXh0OiBNYXliZTxzdHJpbmc+LCB2YWx1ZXM6IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxULCBNPltdKTogT2JzZXJ2YWJsZTxUW10+ID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdDogT2JzZXJ2YWJsZTxUW10+O1xuXG4gICAgICAgIGlmIChmaWx0ZXJUZXh0KSB7XG4gICAgICAgICAgcmVzdWx0ID0gdGhpcy5maWx0ZXJWYWx1ZXNGbihmaWx0ZXJUZXh0LCB2YWx1ZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9IG9mKHZhbHVlcy5tYXAoKHgpID0+IHgudmFsdWUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBmbiA9IHRoaXMuZmlsdGVyVmFsdWVzRm47XG4gICAgfVxuXG4gICAgcmV0dXJuIGZuO1xuICB9XG5cbiAgZ2V0IHNob3dUZXh0RmlsdGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuc2hvd1RleHRGaWx0ZXIgPz8gQm9vbGVhbih0aGlzLnBpY2thYmxlRmllbGQuZmlsdGVyVmFsdWVzKTtcbiAgfVxuXG4gIGdldCBsb2FkVmFsdWVzRm4oKTogUGlja2FibGVWYWx1ZUZpZWxkTG9hZFZhbHVlc0Z1bmN0aW9uPFQsIE0+IHtcbiAgICByZXR1cm4gdGhpcy5waWNrYWJsZUZpZWxkLmxvYWRWYWx1ZXM7XG4gIH1cblxuICBnZXQgdmFsdWVzKCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldFZhbHVlT25Gb3JtQ29udHJvbCh0aGlzLmZvcm1Db250cm9sLnZhbHVlKSA/PyBbXTtcbiAgfVxuXG4gIGdldCBmb290ZXJDb25maWcoKTogTWF5YmU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5mb290ZXJDb25maWc7XG4gIH1cblxuICBnZXQgcmVmcmVzaERpc3BsYXlWYWx1ZXMkKCkge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQucmVmcmVzaERpc3BsYXlWYWx1ZXMkO1xuICB9XG5cbiAgbG9hZERpc3BsYXlWYWx1ZXNGb3JWYWx1ZXModmFsdWVzOiBUW10pOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNLCBIPltdPj4ge1xuICAgIHJldHVybiB0aGlzLmxvYWREaXNwbGF5VmFsdWVzRm9yRmllbGRWYWx1ZXModmFsdWVzLm1hcCgodmFsdWUpID0+ICh7IHZhbHVlIH0pKSk7XG4gIH1cblxuICBsb2FkRGlzcGxheVZhbHVlc0ZvckZpZWxkVmFsdWVzKHZhbHVlczogUGlja2FibGVWYWx1ZUZpZWxkVmFsdWU8VCwgTT5bXSk6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+W10+PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RGlzcGxheVZhbHVlc0ZvckZpZWxkVmFsdWVzKHZhbHVlcykucGlwZShcbiAgICAgIG1hcCgoZGlzcGxheVZhbHVlczogUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXSkgPT4gc3VjY2Vzc1Jlc3VsdChkaXNwbGF5VmFsdWVzKSksXG4gICAgICBzdGFydFdpdGhCZWdpbkxvYWRpbmcoKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIGdldERpc3BsYXlWYWx1ZXNGb3JGaWVsZFZhbHVlcyh2YWx1ZXM6IFBpY2thYmxlVmFsdWVGaWVsZFZhbHVlPFQsIE0+W10pOiBPYnNlcnZhYmxlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+W10+IHtcbiAgICByZXR1cm4gdGhpcy5fZGlzcGxheUhhc2hNYXAucGlwZShcbiAgICAgIG1lcmdlTWFwKChkaXNwbGF5TWFwKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hcHBpbmdSZXN1bHQgPSB2YWx1ZXMubWFwKCh4KSA9PiBbeCwgdGhpcy5oYXNoRm9yVmFsdWUoeC52YWx1ZSldIGFzIFtQaWNrYWJsZVZhbHVlRmllbGRWYWx1ZTxULCBNPiwgSF0pLm1hcCgoW3gsIGhhc2hdLCBpKSA9PiBbaSwgaGFzaCwgeCwgZGlzcGxheU1hcC5nZXQoaGFzaCldIGFzIFtudW1iZXIsIEgsIFBpY2thYmxlVmFsdWVGaWVsZFZhbHVlPFQsIE0+LCBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNLCBIPl0pO1xuXG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAvL1xuICAgICAgICAgIGluY2x1ZGVkOiBoYXNEaXNwbGF5LFxuICAgICAgICAgIGV4Y2x1ZGVkOiBuZWVkc0Rpc3BsYXlcbiAgICAgICAgfSA9IHNlcGFyYXRlVmFsdWVzKG1hcHBpbmdSZXN1bHQsICh4KSA9PiBCb29sZWFuKHhbM10pKTtcblxuICAgICAgICBpZiAobmVlZHNEaXNwbGF5Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAvLyBHbyBnZXQgdGhlIGRpc3BsYXkgdmFsdWUuXG4gICAgICAgICAgY29uc3QgZGlzcGxheVZhbHVlc09icyA9IHRoaXMuZGlzcGxheUZvclZhbHVlKG5lZWRzRGlzcGxheS5tYXAoKHgpID0+IHhbMl0pKTtcblxuICAgICAgICAgIHJldHVybiBkaXNwbGF5VmFsdWVzT2JzLnBpcGUoXG4gICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgbWFwKChkaXNwbGF5UmVzdWx0cykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBkaXNwbGF5UmVzdWx0c1dpdGhIYXNoOiBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNLCBIPltdID0gZGlzcGxheVJlc3VsdHMubWFwKCh4KSA9PiB7XG4gICAgICAgICAgICAgICAgKHggYXMgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD4pLl9oYXNoID0gdGhpcy5oYXNoRm9yVmFsdWUoeC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHggYXMgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD47XG4gICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgIC8vIENyZWF0ZSBhIG1hcCB0byByZS1qb2luIHZhbHVlcyBsYXRlci5cbiAgICAgICAgICAgICAgY29uc3QgZGlzcGxheVJlc3VsdHNNYXBwaW5nOiBbUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD4sIEhdW10gPSBkaXNwbGF5UmVzdWx0c1dpdGhIYXNoLm1hcCgoeCkgPT4gW3gsIHguX2hhc2hdKTtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWVJbmRleEhhc2hNYXAgPSBuZXcgTWFwKGRpc3BsYXlSZXN1bHRzTWFwcGluZy5tYXAoKFt4LCBoYXNoXSkgPT4gW2hhc2gsIHhdKSk7XG5cbiAgICAgICAgICAgICAgLy8gVXBkYXRlIGRpc3BsYXlNYXAuIE5vIG5lZWQgdG8gcHVzaCBhbiB1cGRhdGUgbm90aWZpY2F0aW9uLlxuICAgICAgICAgICAgICBkaXNwbGF5UmVzdWx0c01hcHBpbmcuZm9yRWFjaCgoW3gsIGhhc2hdKSA9PiBkaXNwbGF5TWFwLnNldChoYXNoLCB4KSk7XG5cbiAgICAgICAgICAgICAgLy8gWmlwIHZhbHVlcyBiYWNrIHRvZ2V0aGVyLlxuICAgICAgICAgICAgICBjb25zdCBuZXdEaXNwbGF5VmFsdWVzID0gbWFwcGluZ1Jlc3VsdC5tYXAoKHgpID0+IHhbM10gPz8gdmFsdWVJbmRleEhhc2hNYXAuZ2V0KHhbMV0pKTtcblxuICAgICAgICAgICAgICAvLyBSZXR1cm4gZGlzcGxheSB2YWx1ZXMuXG4gICAgICAgICAgICAgIHJldHVybiBuZXdEaXNwbGF5VmFsdWVzO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIElmIGFsbCBkaXNwbGF5IHZhbHVlcyBhcmUgaGFzaGVkIHJldHVybiB0aGF0LlxuICAgICAgICAgIHJldHVybiBvZihoYXNEaXNwbGF5Lm1hcCgoeCkgPT4geFszXSkpIGFzIE9ic2VydmFibGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXT47XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2Zvcm1Db250cm9sT2JzLm5leHQodGhpcy5mb3JtQ29udHJvbCk7XG5cbiAgICBpZiAodGhpcy5yZWZyZXNoRGlzcGxheVZhbHVlcyQgIT0gbnVsbCkge1xuICAgICAgdGhpcy5fY2xlYXJEaXNwbGF5SGFzaE1hcFN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLnJlZnJlc2hEaXNwbGF5VmFsdWVzJC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fZGlzcGxheUhhc2hNYXAubmV4dChuZXcgTWFwKCkpKTtcbiAgICB9XG5cbiAgICAvLyBGb2N1cyBhZnRlciBmaW5pc2hlZCBsb2FkaW5nIGZvciB0aGUgZmlyc3QgdGltZS5cbiAgICB0aGlzLmNvbnRleHQubG9hZGluZyRcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWxheSgxMCksXG4gICAgICAgIGZpbHRlcigoeCkgPT4geCksXG4gICAgICAgIGZpcnN0KClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmZpbHRlck1hdElucHV0KCk/LmZvY3VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5fZGlzcGxheUhhc2hNYXAuY29tcGxldGUoKTtcbiAgICB0aGlzLl9mb3JtQ29udHJvbE9icy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2NsZWFyRGlzcGxheUhhc2hNYXBTdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuZmlsdGVyUmVzdWx0c0NvbnRleHQuZGVzdHJveSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9nZXRWYWx1ZU9uRm9ybUNvbnRyb2wodmFsdWVPbkZvcm1Db250cm9sOiBBcnJheU9yVmFsdWU8VD4pOiBUW10ge1xuICAgIGNvbnN0IHZhbHVlOiBUW10gPSB2YWx1ZU9uRm9ybUNvbnRyb2wgIT0gbnVsbCA/IChbXSBhcyBUW10pLmNvbmNhdCh2YWx1ZU9uRm9ybUNvbnRyb2wpIDogW107IC8vIEFsd2F5cyByZXR1cm4gYW4gYXJyYXkuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgYWRkVmFsdWUodmFsdWU6IFQpOiB2b2lkIHtcbiAgICBsZXQgbmV3VmFsdWVzOiBUW107XG5cbiAgICBpZiAodGhpcy5waWNrT25seU9uZSkge1xuICAgICAgbmV3VmFsdWVzID0gW3ZhbHVlXTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3VmFsdWVzID0gWy4uLnRoaXMudmFsdWVzLCB2YWx1ZV07XG4gICAgfVxuXG4gICAgdGhpcy5zZXRWYWx1ZXMobmV3VmFsdWVzKTtcbiAgfVxuXG4gIHJlbW92ZVZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgY29uc3QgaGFzaFRvRmlsdGVyID0gdGhpcy5oYXNoRm9yVmFsdWUodmFsdWUpO1xuICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMudmFsdWVzLmZpbHRlcigoeCkgPT4gdGhpcy5oYXNoRm9yVmFsdWUoeCkgIT09IGhhc2hUb0ZpbHRlcik7XG4gICAgdGhpcy5zZXRWYWx1ZXModmFsdWVzKTtcbiAgfVxuXG4gIHNldFZhbHVlcyh2YWx1ZXM6IFRbXSk6IHZvaWQge1xuICAgIC8vIFVzZSB0byBmaWx0ZXIgbm9uLXVuaXF1ZSB2YWx1ZXMuXG4gICAgaWYgKHRoaXMuaGFzaEZvclZhbHVlKSB7XG4gICAgICB2YWx1ZXMgPSBmaWx0ZXJVbmlxdWVWYWx1ZXModmFsdWVzLCB0aGlzLmhhc2hGb3JWYWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucGlja09ubHlPbmUpIHtcbiAgICAgIHZhbHVlcyA9IFt2YWx1ZXNbMF1dLmZpbHRlcigoeCkgPT4geCAhPSBudWxsKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zZXRWYWx1ZU9uRm9ybUNvbnRyb2wodmFsdWVzKTtcbiAgfVxuXG4gIC8vIE1BUks6IEludGVybmFsXG4gIHByb3RlY3RlZCBfc2V0VmFsdWVPbkZvcm1Db250cm9sKHZhbHVlczogVFtdKTogdm9pZCB7XG4gICAgbGV0IG5ld1ZhbHVlOiBUIHwgVFtdID0gdmFsdWVzO1xuXG4gICAgaWYgKCF0aGlzLmFzQXJyYXlWYWx1ZSkge1xuICAgICAgbmV3VmFsdWUgPSBbdmFsdWVzWzBdXS5maWx0ZXIoKHgpID0+IHggIT0gbnVsbClbMF07XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShuZXdWYWx1ZSk7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { formlyField, propsAndConfigForFieldConfig } from '../../field';
|
|
2
|
-
export function pickableItemChipField(config) {
|
|
3
|
-
const { key, materialFormField } = config;
|
|
4
|
-
return formlyField({
|
|
5
|
-
key,
|
|
6
|
-
type: 'pickablechipfield',
|
|
7
|
-
...propsAndConfigForFieldConfig(config, {
|
|
8
|
-
...materialFormField,
|
|
9
|
-
...config,
|
|
10
|
-
autocomplete: false
|
|
11
|
-
})
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
export function pickableItemListField(config) {
|
|
15
|
-
const { key, materialFormField } = config;
|
|
16
|
-
return formlyField({
|
|
17
|
-
key,
|
|
18
|
-
type: 'pickablelistfield',
|
|
19
|
-
...propsAndConfigForFieldConfig(config, {
|
|
20
|
-
...materialFormField,
|
|
21
|
-
...config,
|
|
22
|
-
autocomplete: false
|
|
23
|
-
})
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2FibGUuZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vcGlja2FibGUvcGlja2FibGUuZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUEyQixXQUFXLEVBQUUsNEJBQTRCLEVBQWdDLE1BQU0sYUFBYSxDQUFDO0FBTS9ILE1BQU0sVUFBVSxxQkFBcUIsQ0FBMkIsTUFBcUM7SUFDbkcsTUFBTSxFQUFFLEdBQUcsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUMxQyxPQUFPLFdBQVcsQ0FBQztRQUNqQixHQUFHO1FBQ0gsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixHQUFHLDRCQUE0QixDQUFDLE1BQU0sRUFBRTtZQUN0QyxHQUFHLGlCQUFpQjtZQUNwQixHQUFHLE1BQU07WUFDVCxZQUFZLEVBQUUsS0FBSztTQUNwQixDQUFDO0tBQ0gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBMkIsTUFBcUM7SUFDbkcsTUFBTSxFQUFFLEdBQUcsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUMxQyxPQUFPLFdBQVcsQ0FBQztRQUNqQixHQUFHO1FBQ0gsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixHQUFHLDRCQUE0QixDQUFDLE1BQU0sRUFBRTtZQUN0QyxHQUFHLGlCQUFpQjtZQUNwQixHQUFHLE1BQU07WUFDVCxZQUFZLEVBQUUsS0FBSztTQUNwQixDQUFDO0tBQ0gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IHR5cGUgTGFiZWxlZEZpZWxkQ29uZmlnLCBmb3JtbHlGaWVsZCwgcHJvcHNBbmRDb25maWdGb3JGaWVsZENvbmZpZywgdHlwZSBNYXRlcmlhbEZvcm1GaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL2ZpZWxkJztcbmltcG9ydCB7IFBpY2thYmxlSXRlbUZpZWxkSXRlbSwgdHlwZSBQaWNrYWJsZVZhbHVlRmllbGRzRmllbGRQcm9wcyB9IGZyb20gJy4vcGlja2FibGUuZmllbGQuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFBpY2thYmxlSXRlbUZpZWxkSXRlbSB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2thYmxlSXRlbUZpZWxkQ29uZmlnPFQgPSB1bmtub3duLCBNID0gdW5rbm93bj4gZXh0ZW5kcyBMYWJlbGVkRmllbGRDb25maWcsIFBpY2thYmxlVmFsdWVGaWVsZHNGaWVsZFByb3BzPFQsIE0+LCBNYXRlcmlhbEZvcm1GaWVsZENvbmZpZyB7fVxuXG5leHBvcnQgZnVuY3Rpb24gcGlja2FibGVJdGVtQ2hpcEZpZWxkPFQgPSB1bmtub3duLCBNID0gdW5rbm93bj4oY29uZmlnOiBQaWNrYWJsZUl0ZW1GaWVsZENvbmZpZzxULCBNPik6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgY29uc3QgeyBrZXksIG1hdGVyaWFsRm9ybUZpZWxkIH0gPSBjb25maWc7XG4gIHJldHVybiBmb3JtbHlGaWVsZCh7XG4gICAga2V5LFxuICAgIHR5cGU6ICdwaWNrYWJsZWNoaXBmaWVsZCcsXG4gICAgLi4ucHJvcHNBbmRDb25maWdGb3JGaWVsZENvbmZpZyhjb25maWcsIHtcbiAgICAgIC4uLm1hdGVyaWFsRm9ybUZpZWxkLFxuICAgICAgLi4uY29uZmlnLFxuICAgICAgYXV0b2NvbXBsZXRlOiBmYWxzZVxuICAgIH0pXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGlja2FibGVJdGVtTGlzdEZpZWxkPFQgPSB1bmtub3duLCBNID0gdW5rbm93bj4oY29uZmlnOiBQaWNrYWJsZUl0ZW1GaWVsZENvbmZpZzxULCBNPik6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgY29uc3QgeyBrZXksIG1hdGVyaWFsRm9ybUZpZWxkIH0gPSBjb25maWc7XG4gIHJldHVybiBmb3JtbHlGaWVsZCh7XG4gICAga2V5LFxuICAgIHR5cGU6ICdwaWNrYWJsZWxpc3RmaWVsZCcsXG4gICAgLi4ucHJvcHNBbmRDb25maWdGb3JGaWVsZENvbmZpZyhjb25maWcsIHtcbiAgICAgIC4uLm1hdGVyaWFsRm9ybUZpZWxkLFxuICAgICAgLi4uY29uZmlnLFxuICAgICAgYXV0b2NvbXBsZXRlOiBmYWxzZVxuICAgIH0pXG4gIH0pO1xufVxuIl19
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { FormlyModule } from '@ngx-formly/core';
|
|
3
|
-
import { DbxPickableChipListFieldComponent } from './pickable.chip.field.component';
|
|
4
|
-
import { DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent } from './pickable.list.field.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@ngx-formly/core";
|
|
7
|
-
const importsAndExports = [DbxPickableChipListFieldComponent, DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent];
|
|
8
|
-
export class DbxFormFormlyPickableFieldModule {
|
|
9
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPickableFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPickableFieldModule, imports: [DbxPickableChipListFieldComponent, DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent, i1.FormlyModule], exports: [DbxPickableChipListFieldComponent, DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent] });
|
|
11
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPickableFieldModule, imports: [importsAndExports, FormlyModule.forChild({
|
|
12
|
-
types: [
|
|
13
|
-
{ name: 'pickablechipfield', component: DbxPickableChipListFieldComponent, wrappers: ['form-field'] },
|
|
14
|
-
{ name: 'pickablelistfield', component: DbxPickableListFieldComponent, wrappers: ['form-field'] }
|
|
15
|
-
]
|
|
16
|
-
})] });
|
|
17
|
-
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPickableFieldModule, decorators: [{
|
|
19
|
-
type: NgModule,
|
|
20
|
-
args: [{
|
|
21
|
-
imports: [
|
|
22
|
-
...importsAndExports,
|
|
23
|
-
FormlyModule.forChild({
|
|
24
|
-
types: [
|
|
25
|
-
{ name: 'pickablechipfield', component: DbxPickableChipListFieldComponent, wrappers: ['form-field'] },
|
|
26
|
-
{ name: 'pickablelistfield', component: DbxPickableListFieldComponent, wrappers: ['form-field'] }
|
|
27
|
-
]
|
|
28
|
-
})
|
|
29
|
-
],
|
|
30
|
-
exports: importsAndExports
|
|
31
|
-
}]
|
|
32
|
-
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2FibGUuZmllbGQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvc2VsZWN0aW9uL3BpY2thYmxlL3BpY2thYmxlLmZpZWxkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUscUNBQXFDLEVBQUUseUNBQXlDLEVBQUUsNkNBQTZDLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBRWpOLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxpQ0FBaUMsRUFBRSw2QkFBNkIsRUFBRSxxQ0FBcUMsRUFBRSx5Q0FBeUMsRUFBRSw2Q0FBNkMsQ0FBQyxDQUFDO0FBYzlOLE1BQU0sT0FBTyxnQ0FBZ0M7d0dBQWhDLGdDQUFnQzt5R0FBaEMsZ0NBQWdDLFlBZGxCLGlDQUFpQyxFQUFFLDZCQUE2QixFQUFFLHFDQUFxQyxFQUFFLHlDQUF5QyxFQUFFLDZDQUE2Qyw4QkFBak0saUNBQWlDLEVBQUUsNkJBQTZCLEVBQUUscUNBQXFDLEVBQUUseUNBQXlDLEVBQUUsNkNBQTZDO3lHQWMvTSxnQ0FBZ0MsWUFWdEMsaUJBQWlCLEVBQ3BCLFlBQVksQ0FBQyxRQUFRLENBQUM7Z0JBQ3BCLEtBQUssRUFBRTtvQkFDTCxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsaUNBQWlDLEVBQUUsUUFBUSxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUU7b0JBQ3JHLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSw2QkFBNkIsRUFBRSxRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRTtpQkFDbEc7YUFDRixDQUFDOzs0RkFJTyxnQ0FBZ0M7a0JBWjVDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLEdBQUcsaUJBQWlCO3dCQUNwQixZQUFZLENBQUMsUUFBUSxDQUFDOzRCQUNwQixLQUFLLEVBQUU7Z0NBQ0wsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGlDQUFpQyxFQUFFLFFBQVEsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFO2dDQUNyRyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsNkJBQTZCLEVBQUUsUUFBUSxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUU7NkJBQ2xHO3lCQUNGLENBQUM7cUJBQ0g7b0JBQ0QsT0FBTyxFQUFFLGlCQUFpQjtpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybWx5TW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBEYnhQaWNrYWJsZUNoaXBMaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3BpY2thYmxlLmNoaXAuZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IERieFBpY2thYmxlTGlzdEZpZWxkQ29tcG9uZW50LCBEYnhQaWNrYWJsZUxpc3RGaWVsZEl0ZW1MaXN0Q29tcG9uZW50LCBEYnhQaWNrYWJsZUxpc3RGaWVsZEl0ZW1MaXN0Vmlld0NvbXBvbmVudCwgRGJ4UGlja2FibGVMaXN0RmllbGRJdGVtTGlzdFZpZXdJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9waWNrYWJsZS5saXN0LmZpZWxkLmNvbXBvbmVudCc7XG5cbmNvbnN0IGltcG9ydHNBbmRFeHBvcnRzID0gW0RieFBpY2thYmxlQ2hpcExpc3RGaWVsZENvbXBvbmVudCwgRGJ4UGlja2FibGVMaXN0RmllbGRDb21wb25lbnQsIERieFBpY2thYmxlTGlzdEZpZWxkSXRlbUxpc3RDb21wb25lbnQsIERieFBpY2thYmxlTGlzdEZpZWxkSXRlbUxpc3RWaWV3Q29tcG9uZW50LCBEYnhQaWNrYWJsZUxpc3RGaWVsZEl0ZW1MaXN0Vmlld0l0ZW1Db21wb25lbnRdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgLi4uaW1wb3J0c0FuZEV4cG9ydHMsXG4gICAgRm9ybWx5TW9kdWxlLmZvckNoaWxkKHtcbiAgICAgIHR5cGVzOiBbXG4gICAgICAgIHsgbmFtZTogJ3BpY2thYmxlY2hpcGZpZWxkJywgY29tcG9uZW50OiBEYnhQaWNrYWJsZUNoaXBMaXN0RmllbGRDb21wb25lbnQsIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSB9LFxuICAgICAgICB7IG5hbWU6ICdwaWNrYWJsZWxpc3RmaWVsZCcsIGNvbXBvbmVudDogRGJ4UGlja2FibGVMaXN0RmllbGRDb21wb25lbnQsIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSB9XG4gICAgICBdXG4gICAgfSlcbiAgXSxcbiAgZXhwb3J0czogaW1wb3J0c0FuZEV4cG9ydHNcbn0pXG5leHBvcnQgY2xhc3MgRGJ4Rm9ybUZvcm1seVBpY2thYmxlRmllbGRNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
|
|
2
|
-
import { DbxInjectionComponent } from '@dereekb/dbx-core';
|
|
3
|
-
import { AbstractDbxSelectionListWrapperDirective, provideDbxListView, AbstractDbxSelectionListViewDirective, AbstractDbxValueListViewItemComponent, addConfigToValueListItems, provideDbxListViewWrapper, DbxLoadingComponent, DbxSelectionValueListViewContentComponent, DEFAULT_LIST_WRAPPER_COMPONENT_CONFIGURATION_TEMPLATE, DbxListWrapperComponentImportsModule } from '@dereekb/dbx-web';
|
|
4
|
-
import { map, shareReplay } from 'rxjs';
|
|
5
|
-
import { AbstractDbxPickableItemFieldDirective } from './pickable.field.directive';
|
|
6
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
7
|
-
import { MatDivider } from '@angular/material/divider';
|
|
8
|
-
import { MatInputModule } from '@angular/material/input';
|
|
9
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
10
|
-
import { NgTemplateOutlet } from '@angular/common';
|
|
11
|
-
import { toSignal } from '@angular/core/rxjs-interop';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "@dereekb/dbx-web";
|
|
14
|
-
import * as i2 from "@angular/material/icon";
|
|
15
|
-
import * as i3 from "@angular/forms";
|
|
16
|
-
import * as i4 from "@angular/material/input";
|
|
17
|
-
// MARK: Selection List
|
|
18
|
-
export class DbxPickableListFieldItemListComponent extends AbstractDbxSelectionListWrapperDirective {
|
|
19
|
-
constructor() {
|
|
20
|
-
super({
|
|
21
|
-
componentClass: DbxPickableListFieldItemListViewComponent
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldItemListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxPickableListFieldItemListComponent, isStandalone: true, selector: "dbx-form-pickable-item-field-item-list", providers: provideDbxListViewWrapper(DbxPickableListFieldItemListComponent), usesInheritance: true, ngImport: i0, template: "\n <dbx-list [state]=\"currentState$\" [config]=\"configSignal()\" [hasMore]=\"hasMore()\" [disabled]=\"disabled()\" [selectionMode]=\"selectionModeSignal()\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content bottom select=\"[bottom]\"></ng-content>\n <ng-content empty select=\"[empty]\"></ng-content>\n <ng-content emptyLoading select=\"[emptyLoading]\"></ng-content>\n <ng-content end select=\"[end]\"></ng-content>\n </dbx-list>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxListWrapperComponentImportsModule }, { kind: "component", type: i1.DbxListComponent, selector: "dbx-list", inputs: ["padded", "state", "config", "disabled", "selectionMode", "hasMore"], outputs: ["contentScrolled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldItemListComponent, decorators: [{
|
|
28
|
-
type: Component,
|
|
29
|
-
args: [{
|
|
30
|
-
selector: 'dbx-form-pickable-item-field-item-list',
|
|
31
|
-
template: DEFAULT_LIST_WRAPPER_COMPONENT_CONFIGURATION_TEMPLATE,
|
|
32
|
-
imports: [DbxListWrapperComponentImportsModule],
|
|
33
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
34
|
-
providers: provideDbxListViewWrapper(DbxPickableListFieldItemListComponent),
|
|
35
|
-
standalone: true
|
|
36
|
-
}]
|
|
37
|
-
}], ctorParameters: () => [] });
|
|
38
|
-
/**
|
|
39
|
-
* NOTE: Values input are PickableItemFieldItem<T>, but output values are PickableValueFieldDisplayValue<T>.
|
|
40
|
-
*/
|
|
41
|
-
export class DbxPickableListFieldItemListViewComponent extends AbstractDbxSelectionListViewDirective {
|
|
42
|
-
dbxPickableListFieldComponent = inject((DbxPickableListFieldComponent));
|
|
43
|
-
// TODO: any belongs here for now, but item list typings need to be updated.
|
|
44
|
-
config = {
|
|
45
|
-
componentClass: DbxPickableListFieldItemListViewItemComponent
|
|
46
|
-
};
|
|
47
|
-
get multiple() {
|
|
48
|
-
return !this.dbxPickableListFieldComponent.pickOnlyOne;
|
|
49
|
-
}
|
|
50
|
-
get selectionMode() {
|
|
51
|
-
let selectionMode = 'select';
|
|
52
|
-
if (this.dbxPickableListFieldComponent.disabled && this.dbxPickableListFieldComponent.changeSelectionModeToViewOnDisabled) {
|
|
53
|
-
selectionMode = 'view';
|
|
54
|
-
}
|
|
55
|
-
return selectionMode;
|
|
56
|
-
}
|
|
57
|
-
items$ = this.values$.pipe(
|
|
58
|
-
// NOTE: This causes the "value" to be a PickableValueFieldDisplayValue<T>, which means we emit PickableValueFieldDisplayValue<T> to DbxPickableListFieldComponent.
|
|
59
|
-
map((x) => addConfigToValueListItems(this.config, x)), shareReplay(1));
|
|
60
|
-
itemsSignal = toSignal(this.items$);
|
|
61
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldItemListViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxPickableListFieldItemListViewComponent, isStandalone: true, selector: "ng-component", providers: provideDbxListView(DbxPickableListFieldItemListViewComponent), usesInheritance: true, ngImport: i0, template: `
|
|
63
|
-
<dbx-selection-list-view-content [multiple]="multiple" [selectionMode]="selectionMode" [items]="itemsSignal()"></dbx-selection-list-view-content>
|
|
64
|
-
`, isInline: true, dependencies: [{ kind: "component", type: DbxSelectionValueListViewContentComponent, selector: "dbx-selection-list-view-content", inputs: ["multiple", "selectionMode"] }] });
|
|
65
|
-
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldItemListViewComponent, decorators: [{
|
|
67
|
-
type: Component,
|
|
68
|
-
args: [{
|
|
69
|
-
template: `
|
|
70
|
-
<dbx-selection-list-view-content [multiple]="multiple" [selectionMode]="selectionMode" [items]="itemsSignal()"></dbx-selection-list-view-content>
|
|
71
|
-
`,
|
|
72
|
-
providers: provideDbxListView(DbxPickableListFieldItemListViewComponent),
|
|
73
|
-
imports: [DbxSelectionValueListViewContentComponent],
|
|
74
|
-
standalone: true
|
|
75
|
-
}]
|
|
76
|
-
}] });
|
|
77
|
-
export class DbxPickableListFieldItemListViewItemComponent extends AbstractDbxValueListViewItemComponent {
|
|
78
|
-
label = this.itemValue.label;
|
|
79
|
-
sublabel = this.itemValue.sublabel;
|
|
80
|
-
icon = this.itemValue.icon;
|
|
81
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldItemListViewItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
82
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxPickableListFieldItemListViewItemComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
83
|
-
<div class="dbx-default-pickable-item-field-list-item dbx-flex-bar">
|
|
84
|
-
@if (icon) {
|
|
85
|
-
<mat-icon class="dbx-icon-spacer">{{ icon }}</mat-icon>
|
|
86
|
-
}
|
|
87
|
-
<span class="dbx-chip-label">{{ label }}</span>
|
|
88
|
-
@if (sublabel) {
|
|
89
|
-
<span class="dbx-chip-sublabel">({{ sublabel }})</span>
|
|
90
|
-
}
|
|
91
|
-
</div>
|
|
92
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
93
|
-
}
|
|
94
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldItemListViewItemComponent, decorators: [{
|
|
95
|
-
type: Component,
|
|
96
|
-
args: [{
|
|
97
|
-
template: `
|
|
98
|
-
<div class="dbx-default-pickable-item-field-list-item dbx-flex-bar">
|
|
99
|
-
@if (icon) {
|
|
100
|
-
<mat-icon class="dbx-icon-spacer">{{ icon }}</mat-icon>
|
|
101
|
-
}
|
|
102
|
-
<span class="dbx-chip-label">{{ label }}</span>
|
|
103
|
-
@if (sublabel) {
|
|
104
|
-
<span class="dbx-chip-sublabel">({{ sublabel }})</span>
|
|
105
|
-
}
|
|
106
|
-
</div>
|
|
107
|
-
`,
|
|
108
|
-
imports: [MatIconModule],
|
|
109
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
110
|
-
standalone: true
|
|
111
|
-
}]
|
|
112
|
-
}] });
|
|
113
|
-
// List Field Component
|
|
114
|
-
/**
|
|
115
|
-
* Used for picking pre-set values using a selection list as the presentation.
|
|
116
|
-
*/
|
|
117
|
-
export class DbxPickableListFieldComponent extends AbstractDbxPickableItemFieldDirective {
|
|
118
|
-
onSelectionChange(event) {
|
|
119
|
-
const items = event.items;
|
|
120
|
-
const values = items.map((x) => x.itemValue.value);
|
|
121
|
-
this.setValues(values);
|
|
122
|
-
}
|
|
123
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
124
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxPickableListFieldComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\">\n @if (showFilterInput) {\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n }\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-list\">\n <div class=\"dbx-pickable-item-field-list-content\">\n <dbx-form-pickable-item-field-item-list [disabled]=\"isReadonlyOrDisabled\" [state$]=\"filterItemsLoadingState$\" (selectionChange)=\"onSelectionChange($event)\"></dbx-form-pickable-item-field-item-list>\n </div>\n <dbx-injection [config]=\"footerConfig\"></dbx-injection>\n </div>\n </dbx-loading>\n</div>\n\n<!-- Filter Input -->\n<ng-template #filterTemplate>\n <div class=\"dbx-pickable-item-field-filter\">\n <div class=\"dbx-label\">{{ filterLabel }}</div>\n <input [name]=\"name\" autocomplete=\"{{ autocomplete }}\" #filterMatInput=\"matInput\" matInput [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\" />\n <mat-divider></mat-divider>\n <dbx-loading [linear]=\"true\" [context]=\"filterResultsContext\"></dbx-loading>\n <!-- No items found. -->\n @if (noItemsAvailableSignal()) {\n <p class=\"dbx-label\">No items match this filter.</p>\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: DbxPickableListFieldItemListComponent, selector: "dbx-form-pickable-item-field-item-list" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.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"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
125
|
-
}
|
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldComponent, decorators: [{
|
|
127
|
-
type: Component,
|
|
128
|
-
args: [{ imports: [DbxPickableListFieldItemListComponent, NgTemplateOutlet, FormsModule, ReactiveFormsModule, MatInputModule, MatDivider, DbxLoadingComponent, DbxInjectionComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\">\n @if (showFilterInput) {\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n }\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-list\">\n <div class=\"dbx-pickable-item-field-list-content\">\n <dbx-form-pickable-item-field-item-list [disabled]=\"isReadonlyOrDisabled\" [state$]=\"filterItemsLoadingState$\" (selectionChange)=\"onSelectionChange($event)\"></dbx-form-pickable-item-field-item-list>\n </div>\n <dbx-injection [config]=\"footerConfig\"></dbx-injection>\n </div>\n </dbx-loading>\n</div>\n\n<!-- Filter Input -->\n<ng-template #filterTemplate>\n <div class=\"dbx-pickable-item-field-filter\">\n <div class=\"dbx-label\">{{ filterLabel }}</div>\n <input [name]=\"name\" autocomplete=\"{{ autocomplete }}\" #filterMatInput=\"matInput\" matInput [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\" />\n <mat-divider></mat-divider>\n <dbx-loading [linear]=\"true\" [context]=\"filterResultsContext\"></dbx-loading>\n <!-- No items found. -->\n @if (noItemsAvailableSignal()) {\n <p class=\"dbx-label\">No items match this filter.</p>\n }\n </div>\n</ng-template>\n" }]
|
|
129
|
-
}] });
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vcGlja2FibGUvcGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vcGlja2FibGUvcGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQStCLE1BQU0sbUJBQW1CLENBQUM7QUFDdkYsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLGtCQUFrQixFQUFFLHFDQUFxQyxFQUFFLHFDQUFxQyxFQUFzQix5QkFBeUIsRUFBd0IseUJBQXlCLEVBQUUsbUJBQW1CLEVBQUUseUNBQXlDLEVBQUUscURBQXFELEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzYSxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUscUNBQXFDLEVBQXlCLE1BQU0sNEJBQTRCLENBQUM7QUFDMUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9B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QUFNLE9BQU8sNkJBQWlDLFNBQVEscUNBQXdDO0lBQzVGLGlCQUFpQixDQUFDLEtBQWM7UUFDOUIsTUFBTSxLQUFLLEdBQUksS0FBK0QsQ0FBQyxLQUFLLENBQUM7UUFDckYsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pCLENBQUM7d0dBTFUsNkJBQTZCOzRGQUE3Qiw2QkFBNkIsK0ZDMUcxQywydUNBNEJBLDRDRExhLHFDQUFxQyxtRkErRUMsZ0JBQWdCLG1KQUFFLFdBQVcsc1pBQUUsbUJBQW1CLGlOQUFFLGNBQWMsMldBQUUsVUFBVSx1RkFBRSxtQkFBbUIsbUtBQUUscUJBQXFCOzs0RkFJaEssNkJBQTZCO2tCQU56QyxTQUFTOzhCQUVDLENBQUMscUNBQXFDLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLENBQUMsbUJBQzNKLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4SW5qZWN0aW9uQ29tcG9uZW50LCBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWcgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdERieFNlbGVjdGlvbkxpc3RXcmFwcGVyRGlyZWN0aXZlLCBwcm92aWRlRGJ4TGlzdFZpZXcsIEFic3RyYWN0RGJ4U2VsZWN0aW9uTGlzdFZpZXdEaXJlY3RpdmUsIEFic3RyYWN0RGJ4VmFsdWVMaXN0Vmlld0l0ZW1Db21wb25lbnQsIExpc3RTZWxlY3Rpb25TdGF0ZSwgYWRkQ29uZmlnVG9WYWx1ZUxpc3RJdGVtcywgRGJ4TGlzdFNlbGVjdGlvbk1vZGUsIHByb3ZpZGVEYnhMaXN0Vmlld1dyYXBwZXIsIERieExvYWRpbmdDb21wb25lbnQsIERieFNlbGVjdGlvblZhbHVlTGlzdFZpZXdDb250ZW50Q29tcG9uZW50LCBERUZBVUxUX0xJU1RfV1JBUFBFUl9DT01QT05FTlRfQ09ORklHVVJBVElPTl9URU1QTEFURSwgRGJ4TGlzdFdyYXBwZXJDb21wb25lbnRJbXBvcnRzTW9kdWxlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyB0eXBlIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWUgfSBmcm9tICcuL3BpY2thYmxlJztcbmltcG9ydCB7IEFic3RyYWN0RGJ4UGlja2FibGVJdGVtRmllbGREaXJlY3RpdmUsIFBpY2thYmxlSXRlbUZpZWxkSXRlbSB9IGZyb20gJy4vcGlja2FibGUuZmllbGQuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdERpdmlkZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG4vLyBNQVJLOiBTZWxlY3Rpb24gTGlzdFxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWZvcm0tcGlja2FibGUtaXRlbS1maWVsZC1pdGVtLWxpc3QnLFxuICB0ZW1wbGF0ZTogREVGQVVMVF9MSVNUX1dSQVBQRVJfQ09NUE9ORU5UX0NPTkZJR1VSQVRJT05fVEVNUExBVEUsXG4gIGltcG9ydHM6IFtEYnhMaXN0V3JhcHBlckNvbXBvbmVudEltcG9ydHNNb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBwcm92aWRlRGJ4TGlzdFZpZXdXcmFwcGVyKERieFBpY2thYmxlTGlzdEZpZWxkSXRlbUxpc3RDb21wb25lbnQpLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieFBpY2thYmxlTGlzdEZpZWxkSXRlbUxpc3RDb21wb25lbnQ8VD4gZXh0ZW5kcyBBYnN0cmFjdERieFNlbGVjdGlvbkxpc3RXcmFwcGVyRGlyZWN0aXZlPFBpY2thYmxlSXRlbUZpZWxkSXRlbTxUPj4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7XG4gICAgICBjb21wb25lbnRDbGFzczogRGJ4UGlja2FibGVMaXN0RmllbGRJdGVtTGlzdFZpZXdDb21wb25lbnRcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIE5PVEU6IFZhbHVlcyBpbnB1dCBhcmUgUGlja2FibGVJdGVtRmllbGRJdGVtPFQ+LCBidXQgb3V0cHV0IHZhbHVlcyBhcmUgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+LlxuICovXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGJ4LXNlbGVjdGlvbi1saXN0LXZpZXctY29udGVudCBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIiBbc2VsZWN0aW9uTW9kZV09XCJzZWxlY3Rpb25Nb2RlXCIgW2l0ZW1zXT1cIml0ZW1zU2lnbmFsKClcIj48L2RieC1zZWxlY3Rpb24tbGlzdC12aWV3LWNvbnRlbnQ+XG4gIGAsXG4gIHByb3ZpZGVyczogcHJvdmlkZURieExpc3RWaWV3KERieFBpY2thYmxlTGlzdEZpZWxkSXRlbUxpc3RWaWV3Q29tcG9uZW50KSxcbiAgaW1wb3J0czogW0RieFNlbGVjdGlvblZhbHVlTGlzdFZpZXdDb250ZW50Q29tcG9uZW50XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhQaWNrYWJsZUxpc3RGaWVsZEl0ZW1MaXN0Vmlld0NvbXBvbmVudDxUPiBleHRlbmRzIEFic3RyYWN0RGJ4U2VsZWN0aW9uTGlzdFZpZXdEaXJlY3RpdmU8YW55PiB7XG4gIHJlYWRvbmx5IGRieFBpY2thYmxlTGlzdEZpZWxkQ29tcG9uZW50ID0gaW5qZWN0KERieFBpY2thYmxlTGlzdEZpZWxkQ29tcG9uZW50PFQ+KTtcblxuICAvLyBUT0RPOiBhbnkgYmVsb25ncyBoZXJlIGZvciBub3csIGJ1dCBpdGVtIGxpc3QgdHlwaW5ncyBuZWVkIHRvIGJlIHVwZGF0ZWQuXG5cbiAgcmVhZG9ubHkgY29uZmlnOiBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWcgPSB7XG4gICAgY29tcG9uZW50Q2xhc3M6IERieFBpY2thYmxlTGlzdEZpZWxkSXRlbUxpc3RWaWV3SXRlbUNvbXBvbmVudFxuICB9O1xuXG4gIGdldCBtdWx0aXBsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuZGJ4UGlja2FibGVMaXN0RmllbGRDb21wb25lbnQucGlja09ubHlPbmU7XG4gIH1cblxuICBnZXQgc2VsZWN0aW9uTW9kZSgpOiBNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT4ge1xuICAgIGxldCBzZWxlY3Rpb25Nb2RlOiBNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT4gPSAnc2VsZWN0JztcblxuICAgIGlmICh0aGlzLmRieFBpY2thYmxlTGlzdEZpZWxkQ29tcG9uZW50LmRpc2FibGVkICYmIHRoaXMuZGJ4UGlja2FibGVMaXN0RmllbGRDb21wb25lbnQuY2hhbmdlU2VsZWN0aW9uTW9kZVRvVmlld09uRGlzYWJsZWQpIHtcbiAgICAgIHNlbGVjdGlvbk1vZGUgPSAndmlldyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdGlvbk1vZGU7XG4gIH1cblxuICByZWFkb25seSBpdGVtcyQgPSB0aGlzLnZhbHVlcyQucGlwZShcbiAgICAvLyBOT1RFOiBUaGlzIGNhdXNlcyB0aGUgXCJ2YWx1ZVwiIHRvIGJlIGEgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+LCB3aGljaCBtZWFucyB3ZSBlbWl0IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPiB0byBEYnhQaWNrYWJsZUxpc3RGaWVsZENvbXBvbmVudC5cbiAgICBtYXAoKHgpID0+IGFkZENvbmZpZ1RvVmFsdWVMaXN0SXRlbXModGhpcy5jb25maWcsIHgpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGl0ZW1zU2lnbmFsID0gdG9TaWduYWwodGhpcy5pdGVtcyQpO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZGJ4LWRlZmF1bHQtcGlja2FibGUtaXRlbS1maWVsZC1saXN0LWl0ZW0gZGJ4LWZsZXgtYmFyXCI+XG4gICAgICBAaWYgKGljb24pIHtcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZGJ4LWljb24tc3BhY2VyXCI+e3sgaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICB9XG4gICAgICA8c3BhbiBjbGFzcz1cImRieC1jaGlwLWxhYmVsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICBAaWYgKHN1YmxhYmVsKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGJ4LWNoaXAtc3VibGFiZWxcIj4oe3sgc3VibGFiZWwgfX0pPC9zcGFuPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBpbXBvcnRzOiBbTWF0SWNvbk1vZHVsZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieFBpY2thYmxlTGlzdEZpZWxkSXRlbUxpc3RWaWV3SXRlbUNvbXBvbmVudDxUPiBleHRlbmRzIEFic3RyYWN0RGJ4VmFsdWVMaXN0Vmlld0l0ZW1Db21wb25lbnQ8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+PiB7XG4gIHJlYWRvbmx5IGxhYmVsID0gdGhpcy5pdGVtVmFsdWUubGFiZWw7XG4gIHJlYWRvbmx5IHN1YmxhYmVsID0gdGhpcy5pdGVtVmFsdWUuc3VibGFiZWw7XG4gIHJlYWRvbmx5IGljb24gPSB0aGlzLml0ZW1WYWx1ZS5pY29uO1xufVxuXG4vLyBMaXN0IEZpZWxkIENvbXBvbmVudFxuLyoqXG4gKiBVc2VkIGZvciBwaWNraW5nIHByZS1zZXQgdmFsdWVzIHVzaW5nIGEgc2VsZWN0aW9uIGxpc3QgYXMgdGhlIHByZXNlbnRhdGlvbi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAncGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtEYnhQaWNrYWJsZUxpc3RGaWVsZEl0ZW1MaXN0Q29tcG9uZW50LCBOZ1RlbXBsYXRlT3V0bGV0LCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIE1hdERpdmlkZXIsIERieExvYWRpbmdDb21wb25lbnQsIERieEluamVjdGlvbkNvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieFBpY2thYmxlTGlzdEZpZWxkQ29tcG9uZW50PFQ+IGV4dGVuZHMgQWJzdHJhY3REYnhQaWNrYWJsZUl0ZW1GaWVsZERpcmVjdGl2ZTxUPiB7XG4gIG9uU2VsZWN0aW9uQ2hhbmdlKGV2ZW50OiB1bmtub3duKSB7XG4gICAgY29uc3QgaXRlbXMgPSAoZXZlbnQgYXMgTGlzdFNlbGVjdGlvblN0YXRlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPj4pLml0ZW1zO1xuICAgIGNvbnN0IHZhbHVlcyA9IGl0ZW1zLm1hcCgoeCkgPT4geC5pdGVtVmFsdWUudmFsdWUpO1xuICAgIHRoaXMuc2V0VmFsdWVzKHZhbHVlcyk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkYngtcGlja2FibGUtaXRlbS1maWVsZFwiPlxuICA8ZGJ4LWxvYWRpbmcgW2NvbnRleHRdPVwiY29udGV4dFwiPlxuICAgIEBpZiAoc2hvd0ZpbHRlcklucHV0KSB7XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmlsdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gICAgPCEtLSBDb250ZW50IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJkYngtcGlja2FibGUtaXRlbS1maWVsZC1saXN0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGJ4LXBpY2thYmxlLWl0ZW0tZmllbGQtbGlzdC1jb250ZW50XCI+XG4gICAgICAgIDxkYngtZm9ybS1waWNrYWJsZS1pdGVtLWZpZWxkLWl0ZW0tbGlzdCBbZGlzYWJsZWRdPVwiaXNSZWFkb25seU9yRGlzYWJsZWRcIiBbc3RhdGUkXT1cImZpbHRlckl0ZW1zTG9hZGluZ1N0YXRlJFwiIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiPjwvZGJ4LWZvcm0tcGlja2FibGUtaXRlbS1maWVsZC1pdGVtLWxpc3Q+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkYngtaW5qZWN0aW9uIFtjb25maWddPVwiZm9vdGVyQ29uZmlnXCI+PC9kYngtaW5qZWN0aW9uPlxuICAgIDwvZGl2PlxuICA8L2RieC1sb2FkaW5nPlxuPC9kaXY+XG5cbjwhLS0gRmlsdGVyIElucHV0IC0tPlxuPG5nLXRlbXBsYXRlICNmaWx0ZXJUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImRieC1waWNrYWJsZS1pdGVtLWZpZWxkLWZpbHRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJkYngtbGFiZWxcIj57eyBmaWx0ZXJMYWJlbCB9fTwvZGl2PlxuICAgIDxpbnB1dCBbbmFtZV09XCJuYW1lXCIgYXV0b2NvbXBsZXRlPVwie3sgYXV0b2NvbXBsZXRlIH19XCIgI2ZpbHRlck1hdElucHV0PVwibWF0SW5wdXRcIiBtYXRJbnB1dCBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbZm9ybUNvbnRyb2xdPVwiaW5wdXRDdHJsXCIgLz5cbiAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICA8ZGJ4LWxvYWRpbmcgW2xpbmVhcl09XCJ0cnVlXCIgW2NvbnRleHRdPVwiZmlsdGVyUmVzdWx0c0NvbnRleHRcIj48L2RieC1sb2FkaW5nPlxuICAgIDwhLS0gTm8gaXRlbXMgZm91bmQuIC0tPlxuICAgIEBpZiAobm9JdGVtc0F2YWlsYWJsZVNpZ25hbCgpKSB7XG4gICAgICA8cCBjbGFzcz1cImRieC1sYWJlbFwiPk5vIGl0ZW1zIG1hdGNoIHRoaXMgZmlsdGVyLjwvcD5cbiAgICB9XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2FibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vcGlja2FibGUvcGlja2FibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgTWF5YmUsIHR5cGUgUHJpbWF0aXZlS2V5IH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyB0eXBlIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHR5cGUgU2VsZWN0aW9uRGlzcGxheVZhbHVlLCB0eXBlIFNlbGVjdGlvblZhbHVlLCB0eXBlIFNlbGVjdGlvblZhbHVlSGFzaEZ1bmN0aW9uIH0gZnJvbSAnLi4vc2VsZWN0aW9uJztcblxuZXhwb3J0IHR5cGUgUGlja2FibGVWYWx1ZUZpZWxkVmFsdWU8VCwgTSA9IHVua25vd24+ID0gU2VsZWN0aW9uVmFsdWU8VCwgTT47XG5leHBvcnQgdHlwZSBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VCwgTSA9IHVua25vd24+ID0gU2VsZWN0aW9uRGlzcGxheVZhbHVlPFQsIE0+O1xuXG4vKipcbiAqIFBpY2thYmxlVmFsdWVGaWVsZCBmdW5jdGlvbiBmb3IgcmV0cmlldmluZyBhbGwgdmFsdWVzLlxuICovXG5leHBvcnQgdHlwZSBQaWNrYWJsZVZhbHVlRmllbGRMb2FkVmFsdWVzRnVuY3Rpb248VCwgTSA9IHVua25vd24+ID0gKCkgPT4gT2JzZXJ2YWJsZTxQaWNrYWJsZVZhbHVlRmllbGRWYWx1ZTxULCBNPltdPjtcblxuLyoqXG4gKiBQaWNrYWJsZVZhbHVlRmllbGQgZnVuY3Rpb24gdGhhdCBhbGxvd3MgdGhlIHZhbHVlcyBhIGNoYW5jZSB0byBnbyB0aHJvdWdoIGFub3RoZXIgb2JzZXJ2YWJsZSBmb3IgYW55IGNoYW5nZXMuXG4gKlxuICogVmFsdWVzIG1heSBub3QgaGF2ZSBtZXRhZGF0YSBvbiB0aGVtIGluIHNvbWUgY2FzZXMsIHdoZXJlIHRoZSB2YWx1ZSBtYXkgaW5mYWN0IGJlIGFuIHVua25vd24gdmFsdWUuXG4gKiBUaGUgcmV0dXJuZWQgdmFsdWUgc2hvdWxkIGJlIG1hcmtlZCBhcyB1bmtub3duLCBvciBpZiBpdCBoYXMgbm8gbWV0YSBidXQgaXMga25vd24sIGlzVW5rbm93biBzaG91bGQgYmUgbWFya2VkIGZhbHNlLlxuICpcbiAqIFRoZSB2YWx1ZSBpdHNlbGYgc2hvdWxkIG5vdCBjaGFuZ2UuIEFsbCBvdGhlciBmaWVsZHMgb24gdGhlIHZhbHVlIG1heSBjaGFuZ2UsIGhvd2V2ZXIuXG4gKi9cbmV4cG9ydCB0eXBlIFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlGdW5jdGlvbjxULCBNID0gdW5rbm93bj4gPSAodmFsdWVzOiBQaWNrYWJsZVZhbHVlRmllbGRWYWx1ZTxULCBNPltdKSA9PiBPYnNlcnZhYmxlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxULCBNPltdPjtcblxuLyoqXG4gKiBVc2VkIGZvciBmaWx0ZXJpbmcgdGhlIHZhbHVlcyB0aGF0IHNob3VsZCBiZSBkaXNwbGF5ZWQuXG4gKi9cbmV4cG9ydCB0eXBlIFBpY2thYmxlVmFsdWVGaWVsZEZpbHRlckZ1bmN0aW9uPFQsIE0gPSB1bmtub3duPiA9IChmbHRlclRleHQ6IE1heWJlPHN0cmluZz4sIHZhbHVlczogUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQsIE0+W10pID0+IE9ic2VydmFibGU8VFtdPjtcblxuLyoqXG4gKiBVc2VkIHRvIGhhc2ggdGhlIHZhbHVlIGZyb20gdGhlIGlucHV0IHBpY2thYmxlIHZhbHVlLlxuICovXG5leHBvcnQgdHlwZSBQaWNrYWJsZVZhbHVlRmllbGRIYXNoRnVuY3Rpb248VCwgSCBleHRlbmRzIFByaW1hdGl2ZUtleSA9IFByaW1hdGl2ZUtleT4gPSBTZWxlY3Rpb25WYWx1ZUhhc2hGdW5jdGlvbjxULCBIPjtcbiJdfQ==
|