sp-dev-fx-webparts/samples/react-officegraph/dist/working-with.bundle.js.map

1 line
1.9 MiB

{"version":3,"sources":["webpack:///../webpack/bootstrap 5512d937556347a62a8c?6417**","webpack:///../../../../src/webparts/workingWith/WorkingWithWebPart.ts","webpack:///../external \"@microsoft/sp-core-library\"?b12b**","webpack:///../external \"react\"?3c62**","webpack:///../external \"react-dom\"?5e99**","webpack:///../external \"@microsoft/sp-webpart-base\"?2e17**","webpack:///../../src/index.ts?f9f5**","webpack:///../../src/Breadcrumb.ts?25da**","webpack:///../../../../src/components/Breadcrumb/index.ts?b607**","webpack:///../../../../src/components/Breadcrumb/Breadcrumb.tsx?d1dd**","webpack:///../../src/Utilities.ts?2098**","webpack:///../../src/Async.ts?205b**","webpack:///../../src/AutoScroll.ts?6613**","webpack:///../../src/EventGroup.ts?bfb1**","webpack:///../../src/scroll.ts?6421**","webpack:///../../src/dom.ts?4a5f**","webpack:///../../src/scroll.scss.ts?5840**","webpack:///..//src/index.ts?900c**","webpack:///../../src/BaseComponent.ts?ace3**","webpack:///../../src/warn.ts?8a7f**","webpack:///../../src/Customizer.tsx?390d**","webpack:///.././~/prop-types/index.js?cd5c**","webpack:///.././~/process/browser.js?b777**","webpack:///.././~/prop-types/factoryWithTypeCheckers.js?6fdc**","webpack:///.././~/fbjs/lib/emptyFunction.js?7336**","webpack:///.././~/fbjs/lib/invariant.js?8463**","webpack:///.././~/fbjs/lib/warning.js?3efc**","webpack:///.././~/prop-types/lib/ReactPropTypesSecret.js?053c**","webpack:///.././~/prop-types/checkPropTypes.js?996e**","webpack:///.././~/prop-types/factoryWithThrowingShims.js?aeb9**","webpack:///../../src/object.ts?e4ac**","webpack:///../../src/DelayedRender.tsx?90e9**","webpack:///../../src/KeyCodes.ts?d53e**","webpack:///../../src/Rectangle.ts?52ab**","webpack:///../../src/array.ts?3f1f**","webpack:///../../src/autobind.ts?6de7**","webpack:///../../src/css.ts?a9b1**","webpack:///../../src/customizable.tsx?17ff**","webpack:///../../src/focus.ts?a1f2**","webpack:///../../src/hoist.ts?c009**","webpack:///../../src/initials.ts?cad1**","webpack:///../../src/language.ts?c0b5**","webpack:///../../src/math.ts?afcd**","webpack:///../../src/overflow.ts?44e6**","webpack:///../../src/properties.ts?4a5f**","webpack:///../../src/resources.ts?6d55**","webpack:///../../src/rtl.ts?d6ee**","webpack:///../../src/string.ts?93d1**","webpack:///../../src/memoize.ts?8a69**","webpack:///../../src/FocusZone.ts?6945**","webpack:///../../../../src/components/FocusZone/index.ts?1aa6**","webpack:///../../../../src/components/FocusZone/FocusZone.tsx?c1f5**","webpack:///../../../../src/components/FocusZone/FocusZone.Props.ts?5f7d**","webpack:///../../src/ContextualMenu.ts?4917**","webpack:///../../../../src/components/ContextualMenu/index.ts?2dca**","webpack:///../../../../src/components/ContextualMenu/ContextualMenu.tsx?0050**","webpack:///../../../../src/components/ContextualMenu/ContextualMenu.Props.ts?c315**","webpack:///../../../src/common/DirectionalHint.ts?1806**","webpack:///../../src/Callout.ts?a5a9**","webpack:///../../../../src/components/Callout/index.ts?bd9b**","webpack:///../../../../src/components/Callout/Callout.tsx?ac66**","webpack:///../../../../src/components/Callout/CalloutContent.tsx?0eeb**","webpack:///../../../src/utilities/positioning.ts?40f2**","webpack:///../../src/Popup.ts?36df**","webpack:///../../../../src/components/Popup/index.ts?ff94**","webpack:///../../../../src/components/Popup/Popup.tsx?569f**","webpack:///../../../../src/components/Callout/Callout.scss.ts?9601**","webpack:///../../src/Styling.ts?1b07**","webpack:///../../src/glamorExports.ts?b8e7**","webpack:///.././~/glamor/lib/index.js?63d1**","webpack:///.././~/object-assign/index.js?cb71**","webpack:///.././~/glamor/lib/sheet.js?c487**","webpack:///.././~/glamor/lib/CSSPropertyOperations/index.js?83a7**","webpack:///.././~/fbjs/lib/camelizeStyleName.js?48e0**","webpack:///.././~/fbjs/lib/camelize.js?1f48**","webpack:///.././~/glamor/lib/CSSPropertyOperations/dangerousStyleValue.js?570f**","webpack:///.././~/glamor/lib/CSSPropertyOperations/CSSProperty.js?1905**","webpack:///.././~/fbjs/lib/hyphenateStyleName.js?71c0**","webpack:///.././~/fbjs/lib/hyphenate.js?d6a6**","webpack:///.././~/fbjs/lib/memoizeStringOnly.js?b4e8**","webpack:///.././~/glamor/lib/clean.js?5cad**","webpack:///.././~/glamor/lib/plugins.js?b8b9**","webpack:///.././~/glamor/lib/inline-style-prefix-all/index.js?5868**","webpack:///.././~/glamor/lib/hash.js?f15f**","webpack:///.././~/rtl-css-js/dist/index.js?b971**","webpack:///../../../src/classNames/index.ts?12f0**","webpack:///../../../src/classNames/AnimationClassNames.ts?8b84**","webpack:///../../../src/utilities/index.ts?c441**","webpack:///../../../src/utilities/theme.ts?53fb**","webpack:///../../../src/styles/index.ts?b5c8**","webpack:///../../../src/styles/AnimationStyles.ts?8d10**","webpack:///../../../src/styles/DefaultPalette.ts?4aed**","webpack:///../../../src/styles/DefaultFontStyles.ts?14a1**","webpack:///../../../src/styles/IconCodes.ts?e0bb**","webpack:///../../../src/styles/getFocusStyle.ts?40c4**","webpack:///../../../src/utilities/mergeStyles.ts?a29b**","webpack:///../../../src/utilities/mergeStyleSets.ts?4333**","webpack:///../../../src/utilities/buildClassMap.ts?9965**","webpack:///../../../src/classNames/FontClassNames.ts?2e85**","webpack:///../../../src/classNames/IconClassNames.ts?99df**","webpack:///../../../src/classNames/ColorClassNames.ts?36df**","webpack:///../../src/Layer.ts?2ef3**","webpack:///../../../../src/components/Layer/index.ts?83b8**","webpack:///../../../../src/components/Layer/Layer.tsx?e1b7**","webpack:///../../src/Fabric.ts?0754**","webpack:///../../../../src/components/Fabric/index.ts?8f3b**","webpack:///../../../../src/components/Fabric/Fabric.tsx?6552**","webpack:///../../../../src/components/Fabric/Fabric.styles.ts?0a09**","webpack:///../../../../src/components/Layer/Layer.scss.ts?c046**","webpack:///../../../../src/components/Layer/LayerHost.tsx?cbf2**","webpack:///../../src/Icon.ts?da5f**","webpack:///../../../../src/components/Icon/index.ts?5d77**","webpack:///../../../../src/components/Icon/Icon.tsx?2d2d**","webpack:///../../../../src/components/Icon/Icon.Props.ts?d8cb**","webpack:///../../../../src/components/Image/Image.tsx?a3f8**","webpack:///../../../../src/components/Image/Image.Props.ts?578f**","webpack:///../../../../src/components/Image/Image.scss.ts?4118**","webpack:///../../../../src/components/Icon/Icon.styles.ts?8afd**","webpack:///../../../../src/components/ContextualMenu/ContextualMenu.scss.ts?c11a**","webpack:///../../src/Link.ts?8912**","webpack:///../../../../src/components/Link/index.ts?6459**","webpack:///../../../../src/components/Link/Link.tsx?685d**","webpack:///../../../../src/components/Link/Link.scss.ts?2b99**","webpack:///../../src/Button.ts?e424**","webpack:///../../../../src/components/Button/index.ts?d87e**","webpack:///../../../../src/components/Button/BaseButton.tsx?e0a4**","webpack:///../../../../src/components/Button/Button.Props.ts?b8f2**","webpack:///../../../../src/components/Button/Button.tsx?24b5**","webpack:///../../../../../src/components/Button/DefaultButton/DefaultButton.tsx?6371**","webpack:///../../../../../src/components/Button/DefaultButton/DefaultButton.styles.ts?b49f**","webpack:///../../../../src/components/Button/BaseButton.styles.ts?7431**","webpack:///../../../../../src/components/Button/CommandButton/CommandButton.tsx?2bca**","webpack:///../../../../../src/components/Button/CommandButton/CommandButton.styles.ts?87dc**","webpack:///../../../../../src/components/Button/CompoundButton/CompoundButton.tsx?ed88**","webpack:///../../../../../src/components/Button/CompoundButton/CompoundButton.styles.ts?2f51**","webpack:///../../../../../src/components/Button/IconButton/IconButton.tsx?56bc**","webpack:///../../../../../src/components/Button/IconButton/IconButton.styles.ts?3bb4**","webpack:///../../../../../src/components/Button/PrimaryButton/PrimaryButton.tsx?673f**","webpack:///../../../../../src/components/Button/PrimaryButton/PrimaryButton.styles.ts?476a**","webpack:///../../../../src/components/Breadcrumb/Breadcrumb.scss.ts?bb8f**","webpack:///../../src/Calendar.ts?0dae**","webpack:///../../../../src/components/Calendar/index.ts?50c0**","webpack:///../../../../src/components/Calendar/Calendar.tsx?6653**","webpack:///../../../../src/utilities/dateValues/DateValues.ts?c093**","webpack:///../../../../src/components/Calendar/CalendarDay.tsx?e80c**","webpack:///../../../../src/utilities/dateMath/DateMath.ts?f8b7**","webpack:///../../../../src/components/Calendar/Calendar.scss.ts?2dfb**","webpack:///../../../../src/components/Calendar/CalendarMonth.tsx?7551**","webpack:///../../../../src/components/Calendar/Calendar.Props.ts?3186**","webpack:///../../src/Checkbox.ts?df49**","webpack:///../../../../src/components/Checkbox/index.ts?5d36**","webpack:///../../../../src/components/Checkbox/Checkbox.tsx?d1c7**","webpack:///../../../../src/components/Checkbox/Checkbox.scss.ts?faf0**","webpack:///../../src/ChoiceGroup.ts?83d5**","webpack:///../../../../src/components/ChoiceGroup/index.ts?e888**","webpack:///../../../../src/components/ChoiceGroup/ChoiceGroup.tsx?36bb**","webpack:///../../src/Image.ts?fbf9**","webpack:///../../../../src/components/Image/index.ts?6a56**","webpack:///../../src/Label.ts?6be6**","webpack:///../../../../src/components/Label/index.ts?656d**","webpack:///../../../../src/components/Label/Label.tsx?5a2c**","webpack:///../../../../src/components/Label/Label.scss.ts?2cc7**","webpack:///../../../../src/components/ChoiceGroup/ChoiceGroup.scss.ts?9767**","webpack:///../../src/ColorPicker.ts?ff11**","webpack:///../../../../src/components/ColorPicker/index.ts?98ab**","webpack:///../../../../src/components/ColorPicker/ColorPicker.tsx?0e46**","webpack:///../../src/TextField.ts?10ca**","webpack:///../../../../src/components/TextField/index.ts?5bf9**","webpack:///../../../../src/components/TextField/TextField.tsx?dea2**","webpack:///../../../../src/components/TextField/TextField.scss.ts?71cb**","webpack:///../../../../src/components/ColorPicker/ColorRectangle.tsx?bb6f**","webpack:///../../../../src/utilities/color/colors.ts?b303**","webpack:///../../../../src/utilities/color/colorValues.ts?d223**","webpack:///../../../../src/components/ColorPicker/ColorPicker.scss.ts?bb12**","webpack:///../../../../src/components/ColorPicker/ColorSlider.tsx?e10e**","webpack:///../../src/CommandBar.ts?75ab**","webpack:///../../../../src/components/CommandBar/index.ts?b995**","webpack:///../../../../src/components/CommandBar/CommandBar.tsx?6a25**","webpack:///../../../../src/components/CommandBar/CommandBar.scss.ts?fd65**","webpack:///../../src/DatePicker.ts?9afc**","webpack:///../../../../src/components/DatePicker/index.ts?4d73**","webpack:///../../../../src/components/DatePicker/DatePicker.tsx?6ce6**","webpack:///../../../../src/components/DatePicker/DatePicker.scss.ts?a78d**","webpack:///../../src/DetailsList.ts?7379**","webpack:///../../../../src/components/DetailsList/index.ts?a517**","webpack:///../../../../src/utilities/selection/index.ts?4730**","webpack:///../../../../src/utilities/selection/interfaces.ts?1857**","webpack:///../../../../src/utilities/selection/Selection.ts?7f25**","webpack:///../../../../src/utilities/selection/SelectionLayout.ts?a302**","webpack:///../../../../src/utilities/selection/SelectionZone.tsx?c66b**","webpack:///../../../../src/components/DetailsList/DetailsList.tsx?4055**","webpack:///../../../../src/components/DetailsList/DetailsList.Props.ts?3f9e**","webpack:///../../../../src/components/DetailsList/DetailsHeader.tsx?886c**","webpack:///../../src/Check.ts?1431**","webpack:///../../../../src/components/Check/index.ts?0917**","webpack:///../../../../src/components/Check/Check.tsx?a7dc**","webpack:///../../../../src/components/Check/Check.scss.ts?bdaf**","webpack:///../../../../src/components/GroupedList/GroupSpacer.tsx?2fe8**","webpack:///../../../../src/components/GroupedList/GroupSpacer.scss.ts?e137**","webpack:///../../../../src/components/DetailsList/DetailsHeader.scss.ts?6dc5**","webpack:///../../../../src/components/DetailsList/DetailsRow.tsx?cd2e**","webpack:///../../../../src/components/DetailsList/DetailsRowCheck.tsx?e4f1**","webpack:///../../../../src/components/DetailsList/DetailsRow.scss.ts?36be**","webpack:///../../../../src/components/DetailsList/DetailsRowFields.tsx?b1da**","webpack:///../../src/GroupedList.ts?2c33**","webpack:///../../../../src/components/GroupedList/index.ts?2aca**","webpack:///../../../../src/components/GroupedList/GroupedList.tsx?e13d**","webpack:///../../../../src/components/GroupedList/GroupedListSection.tsx?5e35**","webpack:///../../../../src/components/GroupedList/GroupFooter.tsx?ce6b**","webpack:///../../../../src/components/GroupedList/GroupFooter.scss.ts?cf15**","webpack:///../../../../src/components/GroupedList/GroupHeader.tsx?e1f1**","webpack:///../../src/Spinner.ts?cbca**","webpack:///../../../../src/components/Spinner/index.ts?da85**","webpack:///../../../../src/components/Spinner/Spinner.tsx?30b3**","webpack:///../../../../src/components/Spinner/Spinner.Props.ts?1266**","webpack:///../../../../src/components/Spinner/Spinner.scss.ts?51ab**","webpack:///../../../../src/components/GroupedList/GroupHeader.scss.ts?6aa4**","webpack:///../../src/List.ts?d3d4**","webpack:///../../../../src/components/List/index.ts?db20**","webpack:///../../../../src/components/List/List.tsx?e2eb**","webpack:///../../../../src/components/GroupedList/GroupedList.scss.ts?acb2**","webpack:///../../../../src/utilities/decorators/withViewport.tsx?5700**","webpack:///../../../../src/utilities/decorators/BaseDecorator.ts?ddba**","webpack:///../../../../src/utilities/dragdrop/DragDropHelper.tsx?5559**","webpack:///../../../../src/components/DetailsList/DetailsList.scss.ts?b46c**","webpack:///../../src/Dialog.ts?da2d**","webpack:///../../../../src/components/Dialog/index.ts?f804**","webpack:///../../../../src/components/Dialog/Dialog.tsx?db31**","webpack:///../../../../src/components/Dialog/Dialog.Props.ts?84b1**","webpack:///../../src/Modal.ts?689a**","webpack:///../../../../src/components/Modal/index.ts?0b8b**","webpack:///../../../../src/components/Modal/Modal.tsx?76c0**","webpack:///../../../../src/components/FocusTrapZone/index.ts?34ca**","webpack:///../../../../src/components/FocusTrapZone/FocusTrapZone.tsx?41f4**","webpack:///../../src/Overlay.ts?fe58**","webpack:///../../../../src/components/Overlay/index.ts?ad22**","webpack:///../../../../src/components/Overlay/Overlay.tsx?b75a**","webpack:///../../../../src/components/Overlay/Overlay.scss.ts?0b96**","webpack:///../../../../src/utilities/decorators/withResponsiveMode.tsx?f9d1**","webpack:///../../../../src/components/Modal/Modal.scss.ts?0921**","webpack:///../../../../src/components/Dialog/Dialog.scss.ts?7855**","webpack:///../../../../src/components/Dialog/DialogContent.tsx?84f4**","webpack:///../../../../src/components/Dialog/DialogFooter.tsx?4155**","webpack:///../../src/DocumentCard.ts?a362**","webpack:///../../../../src/components/DocumentCard/index.ts?2294**","webpack:///../../../../src/components/DocumentCard/DocumentCard.tsx?cfa6**","webpack:///../../../../src/components/DocumentCard/DocumentCard.Props.ts?4a0c**","webpack:///../../../../src/components/DocumentCard/DocumentCard.scss.ts?2a64**","webpack:///../../../../src/components/DocumentCard/DocumentCardActions.tsx?200e**","webpack:///../../../../src/components/DocumentCard/DocumentCardActivity.tsx?89d3**","webpack:///../../src/Persona.ts?c950**","webpack:///../../../../src/components/Persona/index.ts?1ffc**","webpack:///../../../../src/components/Persona/Persona.tsx?df95**","webpack:///../../../../src/components/Persona/Persona.Props.ts?f7d9**","webpack:///../../../../src/components/Persona/PersonaConsts.ts?a1f5**","webpack:///../../../../src/components/Persona/Persona.scss.ts?b380**","webpack:///../../../../src/components/DocumentCard/DocumentCardLocation.tsx?0227**","webpack:///../../../../src/components/DocumentCard/DocumentCardPreview.tsx?fe0a**","webpack:///../../../../src/components/DocumentCard/DocumentCardTitle.tsx?0ce3**","webpack:///../../src/Dropdown.ts?a926**","webpack:///../../../../src/components/Dropdown/index.ts?8f61**","webpack:///../../../../src/components/Dropdown/Dropdown.tsx?d252**","webpack:///../../../../src/components/Dropdown/Dropdown.Props.ts?51ff**","webpack:///../../src/Panel.ts?a85c**","webpack:///../../../../src/components/Panel/index.ts?ec32**","webpack:///../../../../src/components/Panel/Panel.tsx?5e4d**","webpack:///../../../../src/components/Panel/Panel.Props.ts?34a4**","webpack:///../../../../src/components/Panel/Panel.scss.ts?1980**","webpack:///../../../../src/components/Dropdown/Dropdown.scss.ts?7347**","webpack:///../../src/Facepile.ts?7c82**","webpack:///../../../../src/components/Facepile/index.ts?4ae7**","webpack:///../../../../src/components/Facepile/Facepile.Props.ts?ca52**","webpack:///../../../../src/components/Facepile/Facepile.tsx?0511**","webpack:///../../../../src/components/Facepile/Facepile.scss.ts?af31**","webpack:///../../src/FocusTrapZone.ts?60bf**","webpack:///../../src/MessageBar.ts?0b28**","webpack:///../../../../src/components/MessageBar/index.ts?631d**","webpack:///../../../../src/components/MessageBar/MessageBar.tsx?8f8c**","webpack:///../../../../src/components/MessageBar/MessageBar.Props.ts?e51d**","webpack:///../../../../src/components/MessageBar/MessageBar.scss.ts?c192**","webpack:///../../src/MarqueeSelection.ts?e671**","webpack:///../../../../src/components/MarqueeSelection/MarqueeSelection.tsx?4ded**","webpack:///../../../../src/components/MarqueeSelection/MarqueeSelection.scss.ts?d1f9**","webpack:///../../src/Nav.ts?4837**","webpack:///../../../../src/components/Nav/index.ts?a46b**","webpack:///../../../../src/components/Nav/Nav.tsx?8de0**","webpack:///../../../../src/components/Nav/Nav.scss.ts?ae4e**","webpack:///../../src/Pickers.ts?7571**","webpack:///../../../../src/components/pickers/index.ts?b180**","webpack:///../../../../../src/components/pickers/Suggestions/Suggestions.tsx?4520**","webpack:///../../../../../src/components/pickers/Suggestions/Suggestions.scss.ts?52f6**","webpack:///../../../../../src/components/pickers/Suggestions/SuggestionsController.ts?d9ae**","webpack:///../../../../../src/components/pickers/AutoFill/BaseAutoFill.tsx?c2ba**","webpack:///../../../../src/components/pickers/BasePicker.tsx?3795**","webpack:///../../../../src/components/pickers/BasePicker.scss.ts?0050**","webpack:///../../../../../src/components/pickers/PeoplePicker/PeoplePicker.tsx?3d63**","webpack:///../../../../../../src/components/pickers/PeoplePicker/PeoplePickerItems/SelectedItemDefault.tsx?a6b5**","webpack:///../../../../../../src/components/pickers/PeoplePicker/PeoplePickerItems/PickerItemsDefault.scss.ts?780d**","webpack:///../../../../../../src/components/pickers/PeoplePicker/PeoplePickerItems/SuggestionItemDefault.tsx?a050**","webpack:///../../../../../src/components/pickers/PeoplePicker/PeoplePicker.scss.ts?603a**","webpack:///../../../../../src/components/pickers/TagPicker/TagPicker.tsx?dce6**","webpack:///../../../../../src/components/pickers/TagPicker/TagItem.tsx?3d52**","webpack:///../../../../../src/components/pickers/TagPicker/TagItem.scss.ts?78ba**","webpack:///../../src/Pivot.ts?b6ee**","webpack:///../../../../src/components/Pivot/index.ts?f4e0**","webpack:///../../../../src/components/Pivot/Pivot.tsx?2434**","webpack:///../../../../src/components/Pivot/PivotItem.tsx?e74c**","webpack:///../../../../src/components/Pivot/Pivot.Props.ts?ac2c**","webpack:///../../../../src/components/Pivot/Pivot.scss.ts?94c1**","webpack:///../../src/ProgressIndicator.ts?edd4**","webpack:///../../../../src/components/ProgressIndicator/index.ts?0095**","webpack:///../../../../src/components/ProgressIndicator/ProgressIndicator.tsx?44e7**","webpack:///../../../../src/components/ProgressIndicator/ProgressIndicator.scss.ts?924b**","webpack:///../../src/Rating.ts?f4eb**","webpack:///../../../../src/components/Rating/index.ts?1225**","webpack:///../../../../src/components/Rating/Rating.tsx?d4d4**","webpack:///../../../../src/components/Rating/Rating.Props.ts?ef8f**","webpack:///../../../../src/components/Rating/Rating.scss.ts?6cfa**","webpack:///../../src/SearchBox.ts?4273**","webpack:///../../../../src/components/SearchBox/index.ts?91ad**","webpack:///../../../../src/components/SearchBox/SearchBox.tsx?7898**","webpack:///../../../../src/components/SearchBox/SearchBox.scss.ts?f078**","webpack:///../../src/Slider.ts?fb55**","webpack:///../../../../src/components/Slider/index.ts?7bb4**","webpack:///../../../../src/components/Slider/Slider.tsx?35b8**","webpack:///../../../../src/components/Slider/Slider.scss.ts?ca47**","webpack:///../../src/TeachingBubble.ts?db90**","webpack:///../../../../src/components/TeachingBubble/index.ts?16a0**","webpack:///../../../../src/components/TeachingBubble/TeachingBubble.tsx?a670**","webpack:///../../../../src/components/TeachingBubble/TeachingBubbleContent.tsx?1245**","webpack:///../../../../src/components/TeachingBubble/TeachingBubble.scss.ts?0b1c**","webpack:///../../src/Toggle.ts?6a42**","webpack:///../../../../src/components/Toggle/index.ts?7e04**","webpack:///../../../../src/components/Toggle/Toggle.tsx?5491**","webpack:///../../../../src/components/Toggle/Toggle.styles.ts?4c6f**","webpack:///../../src/Tooltip.ts?9341**","webpack:///../../../../src/components/Tooltip/index.ts?7e48**","webpack:///../../../../src/components/Tooltip/Tooltip.tsx?8504**","webpack:///../../../../src/components/Tooltip/Tooltip.Props.ts?7d87**","webpack:///../../../../src/components/Tooltip/Tooltip.scss.ts?6afa**","webpack:///../../../../src/components/Tooltip/TooltipHost.tsx?b672**","webpack:///../../../../src/components/Tooltip/TooltipHost.Props.ts?7b9c**","webpack:///../../../../src/components/Tooltip/TooltipHost.scss.ts?a277**","webpack:///.././~/css-loader/lib/css-base.js?ae8b**","webpack:///../external \"@microsoft/sp-http\"?199d*","webpack:///../../../src/webparts/SearchUtils.ts?841a*","webpack:///../../../src/webparts/Utils.ts?c939*","webpack:///../external \"workingWithStrings\"","webpack:///../../../../../src/webparts/workingWith/components/WorkingWith.tsx","webpack:///../../../../src/webparts/workingWith/WorkingWith.module.scss.ts","webpack:///.././lib/webparts/workingWith/WorkingWith.module.css?0ec0","webpack:///.././lib/webparts/workingWith/WorkingWith.module.css"],"names":[],"mappings":"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CA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAqC;;AAErC;AACA;AACA;;AAEA,4BAA2B;AAC3B;AACA;AACA;AACA,6BAA4B,UAAU;;;;;;;ACvLtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,2CAA0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,QAAQ;AACrB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV,8BAA6B;AAC7B,SAAQ;AACR;AACA;AACA;AACA;AACA,gCAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,6BAA4B;AAC5B,QAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAqB,gCAAgC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;AC/fA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8CAA6C;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sDAAqD;AACrD,MAAK;AACL;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA,2BAA0B;AAC1B;AACA;AACA;;AAEA,4B;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,yFAAwF,aAAa;AACrG;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA,gBAAe;AACf;;AAEA;AACA,+FAA8F,eAAe;AAC7G;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA,0B;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iGAAgG;AAChG;AACA,UAAS;AACT;AACA;AACA,iGAAgG;AAChG;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AA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I,CAAC,CAAC;AAC/B,EAAC;AAFD,6BAEC;AAED;;;IAGG;AACH,oBAA0B,QAAyB;KACjD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACpC,EAAC;AAFD,+BAEC;;;;;;;;ACxED;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,mCAAkC,0BAA0B,0CAA0C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE,OAAO,wBAAwB,EAAE;;AAEjM,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;AAC/M;;;AAGA;AACA;;AAEA;AACA,qBAAoB;AACpB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAAyC;AACzC;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,UAAS,UAAU,eAAe,EAAE,EAAE,gCAAgC;AACtE;AACA;AACA;AACA;AACA,qEAAoE,aAAa;AACjF;AACA;;AAEA;AACA;AACA;AACA;AACA,8EAA6E;AAC7E;AACA;AACA;AACA,yDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,IAAI;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA,qEAAoE,eAAe;AACnF;AACA;;AAEA,kBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA,cAAa;AACb;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,wBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mCAAkC,mCAAmC;AACrE,8BAA6B,wEAAwE;AACrG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,IAAG;AACH,WAAU;AACV;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAoB,uCAAuC;AAC3D;AACA;AACA;AACA,8BAA6B,mDAAmD;AAChF,MAAK;AACL;AACA;AACA;AACA,+BAA8B,0DAA0D;AACxF,MAAK;AACL;AACA;AACA;AACA,+BAA8B,4DAA4D;AAC1F,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,qBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAiB,kBAAkB;AACnC,sEAAqE;AACrE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC;;;AAGxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,6DAA6D;AAChF;AACA,2BAA0B;AAC1B;;AAEA;AACA,wBAAuB,uGAAuG;AAC9H,wBAAuB,8FAA8F;AACrH,wBAAuB,mGAAmG;AAC1H;;AAEA,sBAAqB,6EAA6E;AAClG,QAAO;AACP,sBAAqB,gFAAgF;AACrG,QAAO;AACP,sBAAqB,4EAA4E;AACjG,QAAO;AACP;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;;AAEA;AACA,gBAAe;AACf,iBAAgB,aAAa,EAAE;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA,sIAAqI;AACrI,yFAAwF;AACxF;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,sEAAqE,eAAe;AACpF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,4BAA2B,mCAAmC;AAC9D;;AAEA;;AAEA;AACA;AACA;AACA;AACA,mDAAkD,mDAAmD;AACrG,gCAA+B,wEAAwE;AACvG,QAAO;;AAEP;AACA,gGAA+F,cAAc;AAC7G,QAAO;;AAEP;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mCAAkC,qEAAqE;AACvG;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,IAAI;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,2FAA0F,eAAe;AACzG;AACA;;AAEA;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;;AAEA;AACA,2FAA0F,eAAe;AACzG;AACA;;AAEA,gCAA+B;AAC/B;;AAEA;AACA;;AAEA;AACA,0FAAyF,eAAe;AACxG;AACA;;AAEA,gCAA+B;AAC/B;;AAEA;AACA,2FAA0F,eAAe;AACzG;AACA;;AAEA,gCAA+B;AAC/B;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gCAA+B;AAC/B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc,qBAAqB;AACnC;;AAEA;AACA;;AAEA;AACA,sEAAqE,eAAe;AACpF;AACA;;AAEA;AACA;AACA,kBAAiB;AACjB,mBAAkB,SAAS,EAAE;AAC7B;AACA,IAAG;AACH;;AAEA;AACA,sEAAqE,eAAe;AACpF;AACA;;AAEA;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA,IAAG;;AAEH;AACA,E;;;;;;;AC79BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH,mCAAkC;AAClC;AACA;AACA;;AAEA;AACA,GAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;ACzFA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,mCAAkC,0BAA0B,0CAA0C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE,OAAO,wBAAwB,EAAE;;AAEjM;;AAEA;;AAEA;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;;AAEA,0BAAyB,uBAAuB,EAAE;AAClD;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kBAAiB,iCAAiC;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA,6EAA4E;AAC5E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oFAAmF;AACnF;AACA;AACA;AACA;;AAEA,0BAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,gBAAgB;AACrD;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,6DAA4D;AAC5D;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,a;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,W;AACA,S;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA4D,gBAAgB;AAC5E;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,EAAC,E;;;;;;;ACvOD;;AAEA;AACA;AACA,EAAC;AACD;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,kHAAiH;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+CAA8C;;AAE9C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAe,OAAO;AACtB,gBAAe,EAAE;AACjB,gBAAe,kBAAkB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA,iCAAgC,0BAA0B;AAC1D,qBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,kBAAkB;AAC/B,eAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAuD;AACvD,QAAO;AACP;AACA,gGAA+F;AAC/F;AACA;AACA;AACA;AACA,E;;;;;;;ACnKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;;AAEA,oC;;;;;;ACtCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA,2B;;;;;;AC9BA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,YAAW,kBAAkB;AAC7B,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uC;;;;;;;ACzFA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+B;;;;;;ACtJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;;AAEA,qC;;;;;;ACrCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;;AAEA,4B;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;;;;;AC5BA;;AAEA;AACA;AACA,EAAC;;AAED,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,eAAc;AACd;AACA;AACA,kBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;ACrDA;;AAEA;AACA;AACA,EAAC;;AAED,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mEAAkE,aAAa;AAC/E;AACA;;AAEA;AACA;AACA;AACA,kEAAiE;AACjE;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC;;AAED;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA,gEAA+D;AAC/D;AACA,QAAO,IAAI;AACX;AACA;AACA;AACA,0CAAyC,SAAS,mBAAmB;AACrE;AACA,MAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA,wCAAuC,SAAS,+BAA+B;AAC/E,E;;;;;;;ACzFA;;AAEA,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,sBAAqB,YAAY,EAAE;AACnC;;AAEA,sBAAqB,YAAY,yoEAAyoE,UAAU,uhBAAuhB,SAAS,ygCAAygC;;AAE7tH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK,IAAI;AACT;;AAEA;AACA;AACA,eAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0CAAyC;AACzC;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA,8CAA6C;AAC7C;;AAEA,wBAAuB;AACvB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,QAAO;AACP,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA2C;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C;AAC3C;AACA;;AAEA;;AAEA;AACA;AACA,cAAa,OAAO;AACpB,gBAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP,MAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC,E;;;;;;ACtVD;;AAEA;AACA;AACA,EAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACrEA;;AAEA;AACA;AACA,EAAC;;AAED,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,mCAAkC,iCAAiC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,yCAAyC,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa,EAAE,2BAA2B,0BAA0B,YAAY,EAAE,2CAA2C,8BAA8B,EAAE,OAAO,6EAA6E,EAAE,GAAG,EAAE;;AAErpB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,YAAW,OAAO;AAClB,aAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG,IAAI;AACP;;AAEA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,qBAAqB;AAChC,aAAY,OAAO,UAAU,WAAW;AACxC;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;;AAEA;AACA;AACA,YAAW,OAAO;AAClB,aAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,qBAAqB;AAChC,aAAY,qBAAqB;AACjC;AACA;AACA;AACA;AACA,mCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW,OAAO;AAClB,aAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,aAAY;AACZ,IAAG,GAAG,mBAAmB,iBAAiB,EAAE;AAC5C;;AAEA;AACA;AACA,YAAW,OAAO;AAClB;AACA,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6EAA4E;AAC5E,YAAW,MAAM;AACjB,aAAY,OAAO,MAAM,WAAW;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG,IAAI;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;A9EtSA,mCAAwB;AACxB,mCAA6B;AAC7B,mCAAgC;AAChC,mCAA6B;AAC7B,mCAAgC;AAChC,mCAA6B;AAK7B,mCAA2B;AAC3B,oCAA4B;AAC5B,oCAAwB;AACxB,oCAA2B;AAC3B,oCAAsB;AACtB,oCAA+B;AAC/B,mCAAsB;AACtB,oCAAwB;AACxB,oCAAwB;AACxB,oCAA2B;AAC3B,oCAA2B;AAC3B,oCAAuB;AACvB,mCAAyB;AACzB,oCAA2B;AAC3B,oCAA6B;AAC7B,oCAA4B;AAC5B,oCAAsB;AACtB,mCAAyB;AACzB,oCAAyB;AACzB,mCAAuB;AACvB,oCAA0B;;;;;;;;AK9B1B;;;;;;IAMG;;;AAKH;KAUE,eAAY,MAAY,EAAE,OAA0B;SAT5C,gBAAW,GAAG,IAAI,CAAC;SACnB,kBAAa,GAAG,IAAI,CAAC;SACrB,iBAAY,GAAG,IAAI,CAAC;SACpB,uBAAkB,GAA8B,IAAI,CAAC;SACrD,gBAAW,GAAG,KAAK,CAAC;SAM1B,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC;SAC9B,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;SAC/B,IAAI,CAAC,KAAK,GAAG,cAAyB,CAAC,CAAC;KAC1C,CAAC;KAED;;QAEG;KACI,uBAAO,GAAd;SACE,IAAI,EAAE,CAAC;SAEP,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SAEpB,kBAAkB;SAClB,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aACrB,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;iBAC5B,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;qBACxC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;iBACxB,CAAC;aACH,CAAC;aAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SAC1B,CAAC;SAED,oBAAoB;SACpB,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;aACvB,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;iBAC9B,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;qBAC1C,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;iBAC1B,CAAC;aACH,CAAC;aAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC5B,CAAC;SAED,mBAAmB;SACnB,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;aACtB,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;iBAC7B,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;qBACzC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;iBACzB,CAAC;aACH,CAAC;aACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC3B,CAAC;SAED,0BAA0B;SAC1B,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;aAC5B,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;iBACnC,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;qBAC/C,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;iBAChC,CAAC;aACH,CAAC;aAED,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SACjC,CAAC;KACH,CAAC;KAED;;;;;QAKG;KACI,0BAAU,GAAjB,UAAkB,QAAoB,EAAE,QAAgB;SAAxD,iBA+BC;SA7BC,IAAI,SAAS,GAAG,CAAC,CAAC;SAElB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aACtB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;iBACtB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aACxB,CAAC;aAED,yCAAyC;aACzC,SAAS,GAAG,UAAU,CACpB;iBACE,+EAA+E;iBAE/E,IAAI,CAAC;qBACH,+CAA+C;qBAC/C,OAAO,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;qBACnC,QAAQ,CAAC,KAAK,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;iBAC/B,CAAC;iBAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACX,EAAE,CAAC,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC;yBACzB,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;qBAC1B,CAAC;iBACH,CAAC;aACH,CAAC,EACD,QAAQ,CAAC,CAAC;aACZ,wCAAwC;aAExC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;SACrC,CAAC;SAED,MAAM,CAAC,SAAS,CAAC;KACnB,CAAC;KAED;;;QAGG;KACI,4BAAY,GAAnB,UAAoB,EAAU;SAE5B,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC7C,yCAAyC;aACzC,YAAY,CAAC,EAAE,CAAC,CAAC;aACjB,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;aAC5B,wCAAwC;SAC1C,CAAC;KACH,CAAC;KAED;;;;QAIG;KACI,4BAAY,GAAnB,UAAoB,QAAoB;SAAxC,iBA6BC;SA3BC,IAAI,WAAW,GAAG,CAAC,CAAC;SAEpB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aACtB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;iBACxB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;aAC1B,CAAC;aAED,yCAAyC;aACzC,IAAI,oBAAoB,GAAG;iBACzB,+EAA+E;iBAE/E,IAAI,CAAC;qBACH,+CAA+C;qBAC/C,OAAO,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;qBACvC,QAAQ,CAAC,KAAK,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;iBAC/B,CAAC;iBAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACX,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;iBACpB,CAAC;aACH,CAAC,CAAC;aAEF,WAAW,GAAG,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;aAC3H,wCAAwC;aAExC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;SACzC,CAAC;SAED,MAAM,CAAC,WAAW,CAAC;KACrB,CAAC;KAED;;;QAGG;KACI,8BAAc,GAArB,UAAsB,EAAU;SAE9B,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACjD,yCAAyC;aACzC,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;aAC5E,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;aAC9B,wCAAwC;SAC1C,CAAC;KACH,CAAC;KAED;;;;;QAKG;KACI,2BAAW,GAAlB,UAAmB,QAAoB,EAAE,QAAgB;SAAzD,iBAyBC;SAxBC,IAAI,UAAU,GAAG,CAAC,CAAC;SAEnB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aACtB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;iBACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;aACzB,CAAC;aAED,yCAAyC;aACzC,UAAU,GAAG,WAAW,CACtB;iBACE,yFAAyF;iBACzF,IAAI,CAAC;qBACH,QAAQ,CAAC,KAAK,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;iBAC/B,CAAC;iBAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACX,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;iBACpB,CAAC;aACH,CAAC,EACD,QAAQ,CAAC,CAAC;aACZ,wCAAwC;aAExC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;SACvC,CAAC;SAED,MAAM,CAAC,UAAU,CAAC;KACpB,CAAC;KAED;;;QAGG;KACI,6BAAa,GAApB,UAAqB,EAAU;SAC7B,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC/C,yCAAyC;aACzC,aAAa,CAAC,EAAE,CAAC,CAAC;aAClB,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;aAC7B,wCAAwC;SAC1C,CAAC;KACH,CAAC;KAED;;;;;;;;;;;;;QAaG;KACI,wBAAQ,GAAf,UAAoC,IAAO,EAAE,IAAa,EAAE,OAG3D;SAHD,iBAiDC;SA5CC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aACrB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;SACpB,CAAC;SAED,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC;SACvB,IAAI,OAAO,GAAG,IAAI,CAAC;SACnB,IAAI,QAAQ,GAAG,IAAI,CAAC;SACpB,IAAI,eAAe,GAAG,CAAC,CAAC;SACxB,IAAI,UAAU,CAAC;SACf,IAAI,QAAe,CAAC;SACpB,IAAI,SAAS,GAAW,IAAI,CAAC;SAE7B,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;aACtD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;SAC5B,CAAC;SAED,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;aACvD,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;SAC9B,CAAC;SAED,IAAI,QAAQ,GAAG,UAAC,QAAkB;aAChC,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/B,IAAI,KAAK,GAAG,GAAG,GAAG,eAAe,CAAC;aAClC,IAAI,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;aACnD,EAAE,CAAC,CAAC,KAAK,IAAI,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;iBAC9C,eAAe,GAAG,GAAG,CAAC;iBACtB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;qBACd,KAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;qBAC7B,SAAS,GAAG,IAAI,CAAC;iBACnB,CAAC;iBACD,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;aAClD,CAAC;aAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC;iBAC1C,SAAS,GAAG,KAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;aACpD,CAAC;aAED,MAAM,CAAC,UAAU,CAAC;SACpB,CAAC,CAAC;SAEF,IAAI,cAAc,GAAQ;aAAC,cAAc;kBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;iBAAd,yBAAc;;aACvC,QAAQ,GAAG,IAAI,CAAC;aAChB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACxB,CAAC,CAAC;SAEF,MAAM,CAAC,cAAc,CAAC;KACxB,CAAC;KAED;;;;;;;;;;;;;;QAcG;KACI,wBAAQ,GAAf,UAAoC,IAAO,EAAE,IAAa,EAAE,OAI3D;SAJD,iBA2EC;SArEC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aACrB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;SACpB,CAAC;SAED,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC;SACvB,IAAI,OAAO,GAAG,KAAK,CAAC;SACpB,IAAI,QAAQ,GAAG,IAAI,CAAC;SACpB,IAAI,OAAO,GAAG,IAAI,CAAC;SACnB,IAAI,YAAY,GAAG,CAAC,CAAC;SACrB,IAAI,eAAe,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;SAC3C,IAAI,UAAU,CAAC;SACf,IAAI,QAAe,CAAC;SACpB,IAAI,SAAS,GAAW,IAAI,CAAC;SAE7B,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;aACtD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;SAC5B,CAAC;SAED,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;aACvD,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;SAC9B,CAAC;SAED,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAChF,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;SAC5B,CAAC;SAED,IAAI,QAAQ,GAAG,UAAC,QAAkB;aAChC,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/B,IAAI,kBAAkB,GAAG,KAAK,CAAC;aAC/B,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACb,EAAE,CAAC,CAAC,OAAO,IAAI,GAAG,GAAG,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC;qBAC5C,kBAAkB,GAAG,IAAI,CAAC;iBAC5B,CAAC;iBACD,YAAY,GAAG,GAAG,CAAC;aACrB,CAAC;aACD,IAAI,KAAK,GAAG,GAAG,GAAG,YAAY,CAAC;aAC/B,IAAI,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC;aAChC,IAAI,YAAY,GAAG,GAAG,GAAG,eAAe,CAAC;aACzC,IAAI,cAAc,GAAG,KAAK,CAAC;aAE3B,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;iBACrB,wDAAwD;iBACxD,EAAE,CAAC,CAAC,YAAY,IAAI,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC;qBACzC,cAAc,GAAG,IAAI,CAAC;iBACxB,CAAC;iBAAC,IAAI,CAAC,CAAC;qBACN,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,YAAY,CAAC,CAAC;iBAC5D,CAAC;aACH,CAAC;aAED,EAAE,CAAC,CAAC,KAAK,IAAI,MAAM,IAAI,cAAc,IAAI,kBAAkB,CAAC,CAAC,CAAC;iBAC5D,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;qBACd,KAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;qBAC7B,SAAS,GAAG,IAAI,CAAC;iBACnB,CAAC;iBACD,eAAe,GAAG,GAAG,CAAC;iBACtB,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;aAClD,CAAC;aAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;iBACzD,SAAS,GAAG,KAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;aACpD,CAAC;aAED,MAAM,CAAC,UAAU,CAAC;SACpB,CAAC,CAAC;SAEF,IAAI,cAAc,GAAQ;aAAC,cAAc;kBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;iBAAd,yBAAc;;aACvC,QAAQ,GAAG,IAAI,CAAC;aAChB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACxB,CAAC,CAAC;SAEF,MAAM,CAAC,cAAc,CAAC;KACxB,CAAC;KAEM,qCAAqB,GAA5B,UAA6B,QAAoB;SAAjD,iBA4BC;SA3BC,IAAI,gBAAgB,GAAG,CAAC,CAAC;SAEzB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aACtB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;iBAC7B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;aAC/B,CAAC;aAED,yCAAyC;aACzC,IAAI,sBAAsB,GAAG;iBAC3B,IAAI,CAAC;qBACH,+CAA+C;qBAC/C,OAAO,KAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;qBACjD,QAAQ,CAAC,KAAK,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;iBAC/B,CAAC;iBAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACX,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;iBACpB,CAAC;aACH,CAAC,CAAC;aAEF,gBAAgB,GAAG,MAAM,CAAC,qBAAqB;iBAC7C,MAAM,CAAC,qBAAqB,CAAC,sBAAsB,CAAC;iBACpD,MAAM,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;aAC/C,wCAAwC;aAExC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;SACnD,CAAC;SAED,MAAM,CAAC,gBAAgB,CAAC;KAC1B,CAAC;KAEM,oCAAoB,GAA3B,UAA4B,EAAU;SACpC,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC3D,yCAAyC;aACzC,MAAM,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;aACxF,wCAAwC;aACxC,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;SACrC,CAAC;KACH,CAAC;KAES,yBAAS,GAAnB,UAAoB,CAAM;SACxB,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;aACzB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;SAC1B,CAAC;KACH,CAAC;KACH,YAAC;AAAD,EAAC;AAnaY,uBAAK;;;;;;;;;;ACXlB,4CAA0C;AAC1C,wCAAgD;AAChD,qCAAgC;AAKhC,KAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,KAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,KAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B;;;;;IAKG;AACH;KAOE,oBAAY,OAAoB;SAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,CAAC;SACpC,IAAI,CAAC,iBAAiB,GAAG,6BAAoB,CAAC,OAAO,CAAC,CAAC;SAEvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzD,IAAI,CAAC,WAAW,GAAG,aAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SAEnD,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,KAAK,MAAa,CAAC,CAAC,CAAC;aAC7C,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC;SACzC,CAAC;SAED,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;aAC3B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;aAC9D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;SAChE,CAAC;KACH,CAAC;KAEM,4BAAO,GAAd;SACE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;SACvB,IAAI,CAAC,WAAW,EAAE,CAAC;KACrB,CAAC;KAEO,iCAAY,GAApB,UAAqB,EAAc;SACjC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;KAC1C,CAAC;KAEO,iCAAY,GAApB,UAAqB,EAAc;SACjC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;aAC1B,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;SACrD,CAAC;KACH,CAAC;KAEO,2CAAsB,GAA9B,UAA+B,OAAe;SAC5C,IAAI,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;SACzC,IAAI,kBAAkB,GAAG,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,oBAAoB,CAAC;SAExF,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,aAAa,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;aACrD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAC7B,CAAC,mBAAmB,EACpB,CAAC,mBAAmB,GAAG,CAAC,CAAC,oBAAoB,GAAG,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,GAAG,oBAAoB,CAChG,CAAC,CAAC;SACP,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAC,CAAC;aACxC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAC7B,mBAAmB,EACnB,mBAAmB,GAAG,CAAC,CAAC,OAAO,GAAG,kBAAkB,CAAC,GAAG,oBAAoB,CAC3E,CAAC,CAAC;SACP,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;SAC3B,CAAC;SAED,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;aACzB,IAAI,CAAC,YAAY,EAAE,CAAC;SACtB,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,IAAI,CAAC,WAAW,EAAE,CAAC;SACrB,CAAC;KACH,CAAC;KAEO,iCAAY,GAApB;SACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;aACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAC1B,CAAC;KACH,CAAC;KAEO,qCAAgB,GAAxB;SACE,IAAI,CAAC,iBAAiB,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACrE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;KAC9E,CAAC;KAEO,gCAAW,GAAnB;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;aACpB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC9B,OAAO,IAAI,CAAC,UAAU,CAAC;SACzB,CAAC;KACH,CAAC;KACH,iBAAC;AAAD,EAAC;AAjFY,iCAAU;;;;;;;;ACjBvB,uCAAsC;;;AAyBtC;;;;;;;IAOG;AACH;KAoFE,kFAAkF;KAClF,oBAAmB,MAAW;SAjFtB,QAAG,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;SAkFnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;SACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;KAC1B,CAAC;KAjFD;;;;QAIG;KACW,gBAAK,GAAnB,UACE,MAAW,EACX,SAAiB,EACjB,SAAe,EACf,WAAqB;SAErB,IAAI,MAAM,CAAC;SAEX,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAClC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;iBACzB,IAAI,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;iBAE5C,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;iBAC3C,EAAE,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;iBACvB,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;aACpC,CAAC;aAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;iBACzC,IAAI,KAAK,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC;iBACrD,gEAAgE;iBAChE,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC;aAC5C,CAAC;SACH,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,OAAO,MAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;iBAClC,IAAI,MAAM,GAAwB,MAAM,CAAC,UAAU,CAAC;iBACpD,IAAI,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;iBAErD,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC;qBAC5B,EAAE,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;yBACpC,IAAI,eAAe,GAAmB,YAAY,CAAC,EAAE,CAAC,CAAC;yBAEvD,GAAG,CAAC,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,MAAM,KAAK,KAAK,IAAI,SAAS,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;6BAC5F,IAAI,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;6BAExC,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;iCAC1B,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;6BAChE,CAAC;yBACH,CAAC;qBACH,CAAC;iBACH,CAAC;iBAED,mDAAmD;iBACnD,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;aAC9C,CAAC;SACH,CAAC;SAED,MAAM,CAAC,MAAM,CAAC;KAChB,CAAC;KAEa,qBAAU,GAAxB,UAAyB,MAAW,EAAE,SAAiB;SACrD,IAAI,MAAM,GAAG,MAAM,IAAyB,MAAM,CAAC,UAAU,CAAC;SAE9D,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KACzC,CAAC;KAED,0EAA0E;KAC5D,qBAAU,GAAxB,UAAyB,MAAW,EAAE,SAAiB;SACrD,IAAI,cAAc,GAAG,MAAM,IAA2B,MAAM,CAAC,gBAAgB,CAAC;SAE9E,MAAM,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;KACzD,CAAC;KAEa,0BAAe,GAA7B,UAA8B,KAAU;SACtC,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;aAC1B,KAAK,CAAC,eAAe,EAAE,CAAC;SAC1B,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;SAC5B,CAAC;KACH,CAAC;KAEc,qBAAU,GAAzB,UAA0B,MAAmB;SAC3C,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,MAAM,YAAY,WAAW,CAAC,CAAC;KAChF,CAAC;KAQM,4BAAO,GAAd;SACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aAExB,IAAI,CAAC,GAAG,EAAE,CAAC;aACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACtB,CAAC;KACH,CAAC;KAED,oGAAoG;KAC7F,0BAAK,GAAZ,UAAa,MAAW,EAAE,MAAgD,EAAE,UAAoB;SAC9F,GAAG,CAAC,CAAC,IAAI,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC;aAC7B,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;iBACrC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC;aAC5D,CAAC;SACH,CAAC;KACH,CAAC;KAED;;QAEG;KACI,uBAAE,GAAT,UAAU,MAAW,EAAE,SAAiB,EAAE,QAA8B,EAAE,UAAoB;SAA9F,iBAiFC;SAhFC,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChC,IAAI,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAEtC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;iBACvC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;aACnD,CAAC;SACH,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,IAAI,QAAM,GAAG,IAAI,CAAC,OAAO,CAAC;aAC1B,IAAI,WAAW,GAAiB;iBAC9B,MAAM,EAAE,MAAM;iBACd,SAAS,EAAE,SAAS;iBACpB,MAAM,EAAE,QAAM;iBACd,QAAQ,EAAE,QAAQ;iBAClB,cAAc,EAAE,IAAI;iBACpB,eAAe,EAAE,IAAI;iBACrB,UAAU,EAAE,UAAU;cACvB,CAAC;aAEF,wGAAwG;aACxG,IAAI,MAAM,GAAwB,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;aAChF,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,IAAsB;iBACzD,KAAK,EAAE,CAAC;cACT,CAAC;aACF,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;aAC/C,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAChE,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;aAE1B,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBAClC,IAAI,mBAAmB,GAAG;qBAAC,cAAc;0BAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;yBAAd,yBAAc;;qBACvC,EAAE,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC;yBACrB,MAAM,CAAC;qBACT,CAAC;qBAED,IAAI,MAAM,CAAC;qBACX,IAAI,CAAC;yBACH,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAM,EAAE,IAAI,CAAC,CAAC;yBACtC,EAAE,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;6BAChC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;6BAEhB,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;iCACrB,CAAC,CAAC,cAAc,EAAE,CAAC;6BACrB,CAAC;6BAED,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;iCACtB,CAAC,CAAC,eAAe,EAAE,CAAC;6BACtB,CAAC;6BAED,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;yBACxB,CAAC;qBACH,CAAC;qBAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;yBACX,yBAAyB;qBAC3B,CAAC;qBAED,MAAM,CAAC,MAAM,CAAC;iBAChB,CAAC,CAAC;iBAEF,WAAW,CAAC,eAAe,GAAG,mBAAmB,CAAC;iBAElD,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;qBAC5B,yCAAyC;qBAC3B,MAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,EAAE,UAAU,CAAC,CAAC;qBACnF,wCAAwC;iBAC1C,CAAC;iBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;qBAC9B,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG,SAAS,EAAE,mBAAmB,CAAC,CAAC;iBAC5D,CAAC;aACH,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,IAAI,kBAAkB,GAAG;qBAAC,cAAc;0BAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;yBAAd,yBAAc;;qBACtC,EAAE,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC;yBACrB,MAAM,CAAC;qBACT,CAAC;qBAED,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAM,EAAE,IAAI,CAAC,CAAC;iBACtC,CAAC,CAAC;iBAEF,WAAW,CAAC,cAAc,GAAG,kBAAkB,CAAC;aAClD,CAAC;aAED,0DAA0D;aAC1D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACvC,CAAC;KACH,CAAC;KAEM,wBAAG,GAAV,UAAW,MAAY,EAAE,SAAkB,EAAE,QAA+B,EAAE,UAAoB;SAChG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;aACnD,IAAI,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACxC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC;iBAC5C,CAAC,CAAC,SAAS,IAAI,SAAS,KAAK,WAAW,CAAC,SAAS,CAAC;iBACnD,CAAC,CAAC,QAAQ,IAAI,QAAQ,KAAK,WAAW,CAAC,QAAQ,CAAC;iBAChD,CAAC,CAAC,OAAO,UAAU,KAAK,SAAS,CAAC,IAAI,UAAU,KAAK,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;iBAC/E,IAAI,MAAM,GAAwB,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC;iBAChE,IAAI,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;iBACtD,IAAI,WAAW,GAAG,iBAAiB,GAAmB,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;iBAEzF,2DAA2D;iBAC3D,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;qBAChB,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;yBAC1C,iBAAiB,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM,CAAC;yBAC9C,OAAO,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBACjD,CAAC;qBAAC,IAAI,CAAC,CAAC;yBACN,iBAAiB,CAAC,KAAK,EAAE,CAAC;yBAC1B,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;qBAC1D,CAAC;qBAED,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;yBAC7B,OAAO,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;qBACvC,CAAC;iBACH,CAAC;iBAED,EAAE,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;qBAChC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;yBAC3C,WAAW,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;qBACrH,CAAC;qBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;yBAC1C,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;qBAC5F,CAAC;iBACH,CAAC;iBAED,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aACpC,CAAC;SACH,CAAC;KACH,CAAC;KAED,6EAA6E;KACtE,0BAAK,GAAZ,UAAa,SAAiB,EAAE,SAAe,EAAE,WAAqB;SACpE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;KAC3E,CAAC;KAED,0EAA0E;KACnE,4BAAO,GAAd,UAAe,KAAU;SACvB,IAAI,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;SAEzF,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC;aAC9B,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;SAC/B,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;iBACtC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;aAClC,CAAC;SACH,CAAC;KACH,CAAC;KACH,iBAAC;AAAD,EAAC;AAzPgB,qBAAS,GAAG,CAAC,CAAC;AADlB,iCAAU;;;;;;;;;;ACjCvB,qCAAoC;AACpC,6CAAmC;AAEnC,KAAI,eAAuB,CAAC;AAC5B,KAAI,wBAAwB,GAAG,CAAC,CAAC;AAEpB,qCAA4B,GAAG,oBAAoB,CAAC;AAEjE;KACE,IAAI,GAAG,GAAG,iBAAW,EAAE,CAAC;KAExB,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;SACjD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAM,CAAC,sBAAsB,CAAC,CAAC;KACxD,CAAC;KAED,wBAAwB,EAAE,CAAC;AAC7B,EAAC;AARD,+CAQC;AAED;KACE,EAAE,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,CAAC;SACjC,IAAI,GAAG,GAAG,iBAAW,EAAE,CAAC;SAExB,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,wBAAwB,KAAK,CAAC,CAAC,CAAC,CAAC;aACtD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAM,CAAC,sBAAsB,CAAC,CAAC;SAC3D,CAAC;SAED,wBAAwB,EAAE,CAAC;KAC7B,CAAC;AACH,EAAC;AAVD,6CAUC;AAED,+DAA8D;AAC9D;KACE,EAAE,CAAC,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC;SAClC,IAAI,SAAS,GAAgB,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC3D,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SAC9C,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC/C,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;SAClD,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;SACpD,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;SAC9C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SACrC,0BAA0B;SAC1B,eAAe,GAAG,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;SAEhE,iBAAiB;SACjB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KACvC,CAAC;KAED,MAAM,CAAC,eAAe,CAAC;AACzB,EAAC;AAjBD,+CAiBC;AAED;;;IAGG;AACH,+BAAqC,eAA4B;KAC/D,IAAI,EAAE,GAAG,eAAe,CAAC;KAEzB,sDAAsD;KACtD,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;SAClC,EAAE,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,oCAA4B,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;aAC7D,MAAM,CAAC,EAAE,CAAC;SACZ,CAAC;SACD,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;KACxB,CAAC;KAED,oGAAoG;KACpG,EAAE,GAAG,eAAe,CAAC;KAErB,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;SAClC,EAAE,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,oCAA4B,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;aAC9D,IAAM,QAAM,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;aACpC,IAAI,SAAS,GAAG,QAAM,GAAG,QAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;aAEpE,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;iBAClE,MAAM,CAAC,EAAE,CAAC;aACZ,CAAC;SACH,CAAC;SAED,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;KACxB,CAAC;KAED,8BAA8B;KAC9B,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;SAChC,EAAE,GAAG,MAAa,CAAC;KACrB,CAAC;KAED,MAAM,CAAC,EAAE,CAAC;AACZ,EAAC;AAjCD,qDAiCC;;;;;;;;;;AC1ED;;;IAGG;AACH,2BAAiC,KAAkB,EAAE,MAAmB;KACtE,IAAI,YAAY,GAAoB,KAAK,CAAC;KAC1C,IAAI,aAAa,GAAoB,MAAM,CAAC;KAE5C,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC3B,YAAY,CAAC,QAAQ,GAAG;aACtB,QAAQ,EAAE,EAAE;UACb,CAAC;KACJ,CAAC;KAED,IAAI,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;KAE7C,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;SACtC,wCAAwC;SACxC,IAAI,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;SAE9D,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACf,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC/C,CAAC;KACH,CAAC;KAED,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,aAAa,IAAI,SAAS,CAAC;KAE1D,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;SAClB,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC5B,aAAa,CAAC,QAAQ,GAAG;iBACvB,QAAQ,EAAE,EAAE;cACb,CAAC;SACJ,CAAC;SAED,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACrD,CAAC;AACH,EAAC;AAhCD,6CAgCC;AAED,2BAAiC,KAAkB;KACjD,IAAI,MAAmB,CAAC;KAExB,EAAE,CAAC,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACrC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;KACjC,CAAC;KAED,MAAM,CAAC,MAAM,CAAC;AAChB,EAAC;AARD,6CAQC;AAED;;;;IAIG;AACH,oBAA0B,KAAkB,EAAE,mBAAmC;KAAnC,gEAAmC;KAC/E,MAAM,CAAC,KAAK,IAAI,CACd,mBAAmB,IAAI,gBAAgB,CAAC,KAAK,CAAC;SAC9C,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAyB,CACpD,CAAC;AACJ,EAAC;AALD,+BAKC;AAED;;;;IAIG;AACH,0BAAgC,MAAmB,EAAE,KAAkB,EAAE,mBAAmC;KAAnC,gEAAmC;KAC1G,IAAI,WAAW,GAAG,KAAK,CAAC;KAExB,EAAE,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC;SACpB,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;aACxB,WAAW,GAAG,KAAK,CAAC;aAEpB,OAAO,KAAK,EAAE,CAAC;iBACb,IAAI,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;iBAElC,EAAE,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC;qBAC1B,WAAW,GAAG,IAAI,CAAC;qBACnB,KAAK,CAAC;iBACR,CAAC;iBAED,KAAK,GAAG,UAAU,CAAC;aACrB,CAAC;SACH,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC3B,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACvC,CAAC;KACH,CAAC;KAED,MAAM,CAAC,WAAW,CAAC;AACrB,EAAC;AAvBD,2CAuBC;AAED,KAAI,MAAM,GAAG,KAAK,CAAC;AAEnB;;IAEG;AACH,iBAAuB,SAAS;KAC9B,MAAM,GAAG,SAAS,CAAC;AACrB,EAAC;AAFD,yBAEC;AAED,wCAAuC;AACvC,oBAA0B,WAAyB;KACjD,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;SACX,MAAM,CAAC,SAAS,CAAC;KACnB,CAAC;KAAC,IAAI,CAAC,CAAC;SACN,MAAM,CAAC,CACL,WAAW;aACT,WAAW,CAAC,aAAa;aACzB,WAAW,CAAC,aAAa,CAAC,WAAW;aACrC,WAAW,CAAC,aAAa,CAAC,WAAW;aACrC,MAAM,CACT,CAAC;KACJ,CAAC;AACH,EAAC;AAZD,+BAYC;AAED;;IAEG;AACH,sBAA4B,WAAyB;KACnD,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;SACX,MAAM,CAAC,SAAS,CAAC;KACnB,CAAC;KAAC,IAAI,CAAC,CAAC;SACN,MAAM,CAAC,WAAW,IAAI,WAAW,CAAC,aAAa,GAAG,WAAW,CAAC,aAAa,GAAG,QAAQ,CAAC;KACzF,CAAC;AACH,EAAC;AAND,mCAMC;AAED;;IAEG;AACH,kBAAwB,OAA6B;KACnD,IAAI,IAAgB,CAAC;KAErB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACZ,EAAE,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC;aACvB,IAAI,GAAG;iBACL,IAAI,EAAE,CAAC;iBACP,GAAG,EAAE,CAAC;iBACN,KAAK,EAAE,MAAM,CAAC,UAAU;iBACxB,MAAM,EAAE,MAAM,CAAC,WAAW;iBAC1B,KAAK,EAAE,MAAM,CAAC,UAAU;iBACxB,MAAM,EAAE,MAAM,CAAC,WAAW;cAC3B,CAAC;SACJ,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAE,OAAuB,CAAC,qBAAqB,CAAC,CAAC,CAAC;aAC1D,IAAI,GAAI,OAAuB,CAAC,qBAAqB,EAAE,CAAC;SAC1D,CAAC;KACH,CAAC;KAED,MAAM,CAAC,IAAI,CAAC;AACd,EAAC;AAnBD,2BAmBC;AAED;;IAEG;AACH,2BAA0B,OAAsC;KAC9D,MAAM,CAAC,OAAO,IAAI,CAAC,CAAmB,OAAQ,CAAC,QAAQ,CAAC;AAC1D,EAAC;;;;;;;;;;ACvKD,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,sBAAsB,EAAE,iCAAiC;EAC1D,CAAC;AAEF,mBAAe,MAAM,CAAC;AAEtB,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,6DAA6D,EAAC,CAAC,CAAC,CAAC;AAC1F,oBAAmB;;;;;;;;;;;;;;;;;;;;AEVnB,oCAA+B;AAC/B,uCAAgC;AAChC,4CAA0C;AAE1C,sCAA+E;AAM/E;KAA4D,iCAAqB;KAoB/E;;;;QAIG;KACH,uBAAY,KAAS,EAAE,OAAa;SAApC,YACE,kBAAM,KAAK,EAAE,OAAO,CAAC,SAetB;SAbC,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACnB,KAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;SAEtC,YAAY,CAAC,KAAI,EAAE,aAAa,CAAC,SAAS,EAAE;aAC1C,oBAAoB;aACpB,mBAAmB;aACnB,uBAAuB;aACvB,qBAAqB;aACrB,2BAA2B;aAC3B,QAAQ;aACR,oBAAoB;aACpB,sBAAsB;UACvB,CAAC,CAAC;;KACL,CAAC;KAED;;QAEG;KACI,iDAAyB,GAAhC,UAAiC,QAAY,EAAE,UAAgB;SAC7D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;KACjD,CAAC;KAED;;QAEG;KACI,yCAAiB,GAAxB;SACE,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAClD,CAAC;KAED;;QAEG;KACI,4CAAoB,GAA3B;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;aACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;iBAC7D,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBAEvC,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;qBACvB,UAAU,CAAC,OAAO,EAAE,CAAC;iBACvB,CAAC;aACH,CAAC;aACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC5B,CAAC;KACH,CAAC;KAKD,sBAAW,oCAAS;SAHpB;;YAEG;cACH;aACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;iBACtB,IAAI,aAAa,GAAG,oBAAoB,CAAC;iBACzC,IAAI,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;iBAElE,IAAI,CAAC,WAAW,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;aACvE,CAAC;aAED,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;SAC1B,CAAC;;;QAAA;KAKD,sBAAc,uCAAY;SAH1B;;YAEG;cACH;aACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;iBACxB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;aAC1B,CAAC;aACD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;SAC5B,CAAC;;;QAAA;KAQD,sBAAc,iCAAM;SANpB;;;;;YAKG;cACH;aACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;iBAClB,IAAI,CAAC,OAAO,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,CAAC;iBAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACvC,CAAC;aAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SACtB,CAAC;;;QAAA;KAQD,sBAAc,kCAAO;SANrB;;;;;YAKG;cACH;aACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,CAAC;iBACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACxC,CAAC;aAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;SACvB,CAAC;;;QAAA;KAED;;;;QAIG;KACO,mCAAW,GAArB,UAAsB,OAAe;SAArC,iBAWC;SAVC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;aACrB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;SACvB,CAAC;SACD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAC9B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,UAAC,GAAG;iBAC7B,MAAM,CAAC,KAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC;aAC7B,CAAC,CAAC;SACJ,CAAC;SAED,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;KAClC,CAAC;KAED;;QAEG;KACO,2CAAmB,GAA7B,UAA8B,YAAwB,EAAE,QAAyB;SAAzB,wCAAyB;SAC/E,EAAE,CAAC,CAAC,IAAI,CAAC,yBAAyB;aAChC,CAAC,CAAC,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC;iBACvC,CAAC,YAAY,IAAI,YAAY,CAAC,YAAY,KAAK,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aAE3E,EAAE,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;iBAC9C,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aAClC,CAAC;aAED,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;iBAC1B,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aAC9B,CAAC;SACH,CAAC;KACH,CAAC;KACD;;;;;QAKG;KACO,yCAAiB,GAA3B,UAA4B,cAA+B;SACzD,uBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;KAC/D,CAAC;KAED;;;;QAIG;KACO,8CAAsB,GAAhC,UAAiC,oBAAqC;SACpE,4BAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;KAC1E,CAAC;KACH,oBAAC;AAAD,EAAC,CApL2D,KAAK,CAAC,SAAS,GAoL1E;AApLY,uCAAa;AAsL1B;;;;IAIG;AACH,uBAAsB,GAA4B,EAAE,SAAiB,EAAE,WAAqB;KAC1F,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;SACvD,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5C,CAAC;AACH,EAAC;AAED,oBAAmB,GAA4B,EAAE,SAAiB,EAAE,UAAkB;KACpF,IAAI,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC,IAAI,eAAe,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;KAE5C,EAAE,CAAC,CAAC,WAAW,IAAI,eAAe,CAAC,CAAC,CAAC;SACnC,GAAG,CAAC,UAAU,CAAC,GAAG;aAChB,IAAI,MAAM,CAAC;aAEX,IAAI,CAAC;iBACH,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;qBACpB,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;iBAClD,CAAC;iBACD,EAAE,CAAC,CAAC,WAAW,KAAK,eAAe,CAAC,CAAC,CAAC;qBACpC,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;iBAC9C,CAAC;aACH,CAAC;aAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACX,IAAM,YAAY,GAAG,kBAAgB,GAAG,CAAC,SAAS,SAAI,UAAU,aAAO,OAAO,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAE,CAAC;iBAE7G,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;qBAC1B,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;iBACzC,CAAC;aACH,CAAC;aAED,MAAM,CAAC,MAAM,CAAC;SAChB,CAAC,CAAC;KACJ,CAAC;AACH,EAAC;AAED,cAAa,CAAC,OAAO,GAAG,UAAC,YAAY;KACnC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;KAC5B,MAAM,YAAY,CAAC;AACrB,EAAC,CAAC;AAEF;;IAEG;AACH,yBAAmD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAAjE,iCAAiE;;;;;;;;;;AC/OjE,KAAI,gBAAgB,GAA8B,IAAI,CAAC;AAMvD;;;;;;;IAOG;AACH,2BACE,aAAqB,EACrB,KAAQ,EACR,cAA+B;KAE/B,GAAG,CAAC,CAAC,IAAM,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC;SACtC,EAAE,CAAC,CAAC,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;aAC/B,IAAI,kBAAkB,GAAM,aAAa,mBAAc,QAAQ,wCAAqC,CAAC;aACrG,IAAM,mBAAmB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;aAErD,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;iBACxB,kBAAkB,IAAI,WAAS,mBAAmB,eAAY,CAAC;aACjE,CAAC;aACD,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;SACvC,CAAC;KACH,CAAC;AACH,EAAC;AAhBD,6CAgBC;AAED;;;;;;IAMG;AACH,gCACE,aAAqB,EACrB,KAAQ,EACR,YAA6B;KAE7B,GAAG,CAAC,CAAC,IAAM,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC;SACpC,EAAE,CAAC,CAAC,KAAK,IAAI,QAAQ,IAAI,KAAK,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;aAClE,gBAAgB,CACX,aAAa,mBAAc,QAAQ,sCAAiC,YAAY,CAAC,QAAQ,CAAC,6BAA0B,CACxH,CAAC;SACJ,CAAC;KACH,CAAC;AACH,EAAC;AAZD,uDAYC;AAED;;;IAGG;AACH,eAAqB,OAAe;KAClC,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SAC5B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACxB,CAAC;AACH,EAAC;AAJD,qBAIC;AAED;;;;;IAKG;AACH,6BAAmC,eAA0C;KAC3E,gBAAgB,GAAG,eAAe,KAAK,SAAS,GAAG,IAAI,GAAG,eAAe,CAAC;AAC5E,EAAC;AAFD,iDAEC;;;;;;;;;;;;;;;;;;;;ACvED,oCAA+B;AAC/B,yCAAwC;AACxC,+CAAgD;AAChD,wCAAkC;AAclC;;;;;;;;;IASG;AACH;KAAgC,8BAAiD;KAO/E,oBAAY,KAAK,EAAE,OAAO;SAA1B,YACE,kBAAM,KAAK,CAAC,SAGb;SADC,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;;KACtD,CAAC;KAEM,oCAAe,GAAtB;SACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;KACpB,CAAC;KAEM,8CAAyB,GAAhC,UAAiC,QAAQ,EAAE,UAAU;SAEnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;KAC9D,CAAC;KAEM,2BAAM,GAAb;SACE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;KAClD,CAAC;KAEO,sCAAiB,GAAzB,UAA0B,KAAuB,EAAE,OAAyB;SACpE,uBAAqD,EAArD,mDAAqD,CAAW;SAChE,8BAAyD,EAAzD,kDAAyD,CAAa;SAE5E,MAAM,CAAC;aACL,aAAa,EAAE,eAAM,CAAC,EAAE,EAAE,wBAAwB,EAAE,yBAAyB,CAAC;UAC/E,CAAC;KACJ,CAAC;KACH,iBAAC;AAAD,EAAC,CAlC+B,6BAAa;AAC7B,wBAAY,GAAG;KAC3B,aAAa,EAAE,SAAS,CAAC,MAAM;EAChC,CAAC;AAEY,6BAAiB,GAAG,UAAU,CAAC,YAAY,CAAC;AAL/C,iCAAU;;;;;;;;;;AU3BvB,gCAA+B;AAC/B,KAAM,mBAAmB,GAAG,eAAe,CAAC;AAI5C,KAAI,OAAO,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,OAAO,CAAC;AAEnE,GAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;KAC/C,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;AACnC,EAAC;AAED,0BAAyB,CAAC,EAAE,CAAC;KAC3B,GAAG,CAAC,CAAC,IAAI,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;SACvB,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC/B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjE,MAAM,CAAC,KAAK,CAAC;aACf,CAAC;SACH,CAAC;KACH,CAAC;KAED,MAAM,CAAC,IAAI,CAAC;AACd,EAAC;AAED,6BAA4B;AAC5B,yBAA+B,CAAC,EAAE,CAAC;KACjC,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxD,EAAC;AAFD,yCAEC;AAED;;;;;;;;IAQG;AACH,iBAAuB,MAAW;KAAE,cAAO;UAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;SAAP,6BAAO;;KACzC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACjE,EAAC;AAFD,yBAEC;AAED;;;;;;;;;;IAUG;AACH,yBAA+B,SAAwC,EAAE,MAAW;KAAE,cAAO;UAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;SAAP,6BAAO;;KAC3F,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;KAEtB,GAAG,CAAC,CAAqB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI;SAAxB,IAAI,YAAY;SACnB,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;aACjB,GAAG,CAAC,CAAC,IAAI,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC;iBAClC,EAAE,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC;qBACvC,CAAC,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;qBACpC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;iBAC5C,CAAC;aACH,CAAC;SACH,CAAC;MACF;KAED,MAAM,CAAC,MAAM,CAAC;AAChB,EAAC;AAfD,yCAeC;AAED,2GAA0G;AAC1G,gBAAsB,MAAe;KACnC,IAAI,KAAK,GAAG,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;KAE3C,MAAM,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;AAChC,EAAC;AAJD,uBAIC;;;;;;;;;;;;;;;;;;;;;AC1ED,oCAA+B;AAgB/B;;;;IAIG;AACH;KAAmC,iCAAyD;KAO1F,uBAAY,KAA0B;SAAtC,YACE,kBAAM,KAAK,CAAC,SAIb;SAHC,KAAI,CAAC,KAAK,GAAG;aACX,UAAU,EAAE,KAAK;UAClB,CAAC;;KACJ,CAAC;KAEM,yCAAiB,GAAxB;SAAA,iBAOC;SANO,4BAAK,CAAgB;SAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;aAC3B,KAAI,CAAC,QAAQ,CAAC;iBACZ,UAAU,EAAE,IAAI;cACjB,CAAC,CAAC;SACL,CAAC,EAAE,KAAK,CAAC,CAAC;KACZ,CAAC;KAEM,4CAAoB,GAA3B;SACE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAChC,CAAC;KAEM,8BAAM,GAAb;SACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;KACjF,CAAC;KACH,oBAAC;AAAD,EAAC,CA9BkC,KAAK,CAAC,SAAS;AAClC,2BAAY,GAAG;KAC3B,KAAK,EAAE,CAAC;EACT,CAAC;AAHS,uCAAa;;;;;;;;;;ACrB1B,KAAY,QAkBX;AAlBD,YAAY,QAAQ;KAClB,kCAAM;KACN,iDAAa;KACb,2CAAW;KACX,sCAAQ;KACR,wCAAS;KACT,sCAAQ;KACR,0CAAU;KACV,4CAAW;KACX,wCAAS;KACT,wCAAS;KACT,gDAAa;KACb,4CAAW;KACX,0CAAU;KACV,mDAAe;KACf,0CAAU;KACV,qCAAO;KACP,oCAAO;AACT,EAAC,EAlBW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAkBnB;;;;;;;;;;AClBD;KAME,mBAAY,IAAgB,EAAE,KAAiB,EAAE,GAAe,EAAE,MAAkB;SAAxE,+BAAgB;SAAE,iCAAiB;SAAE,6BAAe;SAAE,mCAAkB;SAClF,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;SACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACrB,CAAC;KAKD,sBAAI,4BAAK;SAHT;;YAEG;cACH;aACE,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;SAChC,CAAC;;;QAAA;KAKD,sBAAI,6BAAM;SAHV;;YAEG;cACH;aACE,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;SAChC,CAAC;;;QAAA;KAED;;QAEG;KACI,0BAAM,GAAb,UAAc,IAAe;SAC3B,+HAA+H;SAC/H,kCAAkC;SAClC,MAAM,CAAC,CACL,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aACnE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aACzE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aACrE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CACxE,CAAC;KACJ,CAAC;KACH,gBAAC;AAAD,EAAC;AAxCY,+BAAS;;;;;;;;;;ACAtB,oBAA0B,KAAY,EAAE,EAA0C;KAChF,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;KAEf,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;SAC/C,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACpB,KAAK,GAAG,CAAC,CAAC;aACV,KAAK,CAAC;SACR,CAAC;KACH,CAAC;KAED,MAAM,CAAC,KAAK,CAAC;AACf,EAAC;AAXD,+BAWC;AAED,sBAA4B,IAAY,EAAE,OAAiC;KACzE,IAAI,KAAK,GAAG,EAAE,CAAC;KAEf,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;SAC9B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;KACzB,CAAC;KAED,MAAM,CAAC,KAAK,CAAC;AACf,EAAC;AARD,mCAQC;;;;;;;;;;ACrBD;;;IAGG;AACH,mBAA6C,MAAW,EAAE,GAAW,EAAE,UAAsC;KAC3G,IAAI,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC;KAE1B,IAAI,QAAQ,GAAG,KAAK,CAAC;KAErB,MAAM,CAAC;SACL,YAAY,EAAE,IAAI;SAElB,GAAG;aACD,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,KAAK,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAClE,MAAM,CAAC,EAAE,CAAC;aACZ,CAAC;aAED,uFAAuF;aACvF,IAAI,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAE5B,QAAQ,GAAG,IAAI,CAAC;aAChB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE;iBAC/B,YAAY,EAAE,IAAI;iBAClB,QAAQ,EAAE,IAAI;iBACd,UAAU,EAAE,IAAI;iBAChB,KAAK,EAAE,OAAO;cACf,CAAC,CAAC;aACH,QAAQ,GAAG,KAAK,CAAC;aAEjB,MAAM,CAAC,OAAO,CAAC;SACjB,CAAC;SAED,GAAG,YAAC,QAAQ;aACV,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE;iBAC/B,YAAY,EAAE,IAAI;iBAClB,QAAQ,EAAE,IAAI;iBACd,UAAU,EAAE,IAAI;iBAChB,KAAK,EAAE,QAAQ;cAChB,CAAC,CAAC;SACL,CAAC;MACF,CAAC;AACJ,EAAC;AArCD,6BAqCC;;;;;;;;;;AC9BD;KAAoB,cAAoB;UAApB,UAAoB,EAApB,qBAAoB,EAApB,IAAoB;SAApB,yBAAoB;;KACtC,IAAI,OAAO,GAAG,EAAE,CAAC;KAEjB,GAAG,CAAC,CAAY,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI;SAAf,IAAI,GAAG;SACV,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aACR,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC;iBAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACpB,CAAC;aAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;iBACpF,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC/B,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,GAAU,CAAC,CAAC,CAAC;qBAC3B,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;yBACb,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBACpB,CAAC;iBACH,CAAC;aACH,CAAC;SACH,CAAC;MACF;KAED,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,EAAC;AApBD,mBAoBC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/BD,oCAA+B;AAC/B,yCAAwC;AAExC,uBAAgC,aAAsB;KACpD,MAAM,CAAC,6BACL,iBAA4E;SAE5E,MAAM;iBAA0C,8CAAsB;iBAA/D;;iBAcP,CAAC;iBATQ,2CAAM,GAAb;qBACE,IAAI,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;yBAC9C,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC;yBACzC,IAAI,CAAC,IAAI,EAAE,CAAC;qBAEd,MAAM,CAAC,CACL,oBAAC,iBAAiB,eAAM,YAAY,EAAQ,IAAI,CAAC,KAAK,EAAK,CAC5D,CAAC;iBACJ,CAAC;iBACH,iCAAC;aAAD,CAAC,CAd+C,KAAK,CAAC,SAAS;aAC/C,eAAY,GAAG;iBAC3B,aAAa,EAAE,SAAS,CAAC,MAAM;cAC/B;gBAWF;;KACJ,CAAC,CAAC;AACJ,EAAC;AApBD,qCAoBC;;;;;;;;ACvBD,uCAAsC;;;AAEtC,qCAAqD;AAErD,KAAM,sBAAsB,GAAG,mBAAmB,CAAC;AACnD,KAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAC/C,KAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAEnD,4BACE,WAAwB,EACxB,cAA2B,EAC3B,2BAAqC;KAErC,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,CAAC,CAAC;AACtG,EAAC;AAND,+CAMC;AAED,2BACE,WAAwB,EACxB,cAA2B,EAC3B,2BAAqC;KAErC,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,2BAA2B,CAAC,CAAC;AACzG,EAAC;AAND,6CAMC;AAED;;;;IAIG;AACH,0BACE,WAAwB;KACxB,IAAI,OAAO,GAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;KAE9F,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACZ,OAAO,CAAC,KAAK,EAAE,CAAC;SAChB,MAAM,CAAC,IAAI,CAAC;KACd,CAAC;KACD,MAAM,CAAC,KAAK,CAAC;AACf,EAAC;AATD,2CASC;AAED,8CAA6C;AAC7C,6BACE,WAAwB,EACxB,cAA2B,EAC3B,SAAmB,EACnB,uBAAiC,EACjC,gBAA0B,EAC1B,2BAAqC;KAErC,EAAE,CAAC,CAAC,CAAC,cAAc;SACjB,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC;SACjC,MAAM,CAAC,IAAI,CAAC;KACd,CAAC;KAED,IAAI,uBAAuB,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;KAE/D,sBAAsB;KACtB,EAAE,CAAC,CAAC,gBAAgB,IAAI,CAAC,2BAA2B,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,IAAI,uBAAuB,CAAC,CAAC,CAAC;SACxH,IAAM,UAAU,GAAG,kBAAkB,CACnC,WAAW,EACX,cAAc,CAAC,gBAA+B,EAC9C,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,2BAA2B,CAAC,CAAC;SAE/B,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;aACf,MAAM,CAAC,UAAU,CAAC;SACpB,CAAC;KACH,CAAC;KAED,2DAA2D;KAC3D,EAAE,CAAC,CAAC,SAAS,IAAI,uBAAuB,IAAI,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;SAC9E,MAAM,CAAC,cAAc,CAAC;KACxB,CAAC;KAED,8BAA8B;KAC9B,IAAM,YAAY,GAAG,kBAAkB,CACrC,WAAW,EACX,cAAc,CAAC,sBAAqC,EACpD,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,2BAA2B,CAAC,CAAC;KAE/B,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;SACjB,MAAM,CAAC,YAAY,CAAC;KACtB,CAAC;KAED,oBAAoB;KACpB,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;SAC7B,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,cAAc,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,CAAC,CAAC;KACxH,CAAC;KAED,MAAM,CAAC,IAAI,CAAC;AACd,EAAC;AAtDD,iDAsDC;AAED,oDAAmD;AACnD,yBACE,WAAwB,EACxB,cAA2B,EAC3B,SAAmB,EACnB,uBAAiC,EACjC,sBAAgC,EAChC,2BAAqC;KAErC,EAAE,CAAC,CACD,CAAC,cAAc;SACf,CAAC,cAAc,KAAK,WAAW,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC;SAC7D,MAAM,CAAC,IAAI,CAAC;KACd,CAAC;KAED,IAAI,uBAAuB,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;KAE/D,2DAA2D;KAC3D,EAAE,CAAC,CAAC,SAAS,IAAI,uBAAuB,IAAI,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;SAC9E,MAAM,CAAC,cAAc,CAAC;KACxB,CAAC;KAED,sBAAsB;KACtB,EAAE,CAAC,CAAC,CAAC,sBAAsB,IAAI,uBAAuB,IAAI,CAAC,2BAA2B,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/H,IAAM,UAAU,GAAG,cAAc,CAC/B,WAAW,EACX,cAAc,CAAC,iBAAgC,EAC/C,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,2BAA2B,CAAC,CAAC;SAE/B,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;aACf,MAAM,CAAC,UAAU,CAAC;SACpB,CAAC;KACH,CAAC;KAED,EAAE,CAAC,CAAC,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC;SACnC,MAAM,CAAC,IAAI,CAAC;KACd,CAAC;KAED,qBAAqB;KACrB,IAAM,YAAY,GAAG,cAAc,CACjC,WAAW,EACX,cAAc,CAAC,kBAAiC,EAChD,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,2BAA2B,CAAC,CAAC;KAE/B,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;SACjB,MAAM,CAAC,YAAY,CAAC;KACtB,CAAC;KAED,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;SAC7B,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,2BAA2B,CAAC,CAAC;KACpH,CAAC;KAED,MAAM,CAAC,IAAI,CAAC;AACd,EAAC;AA1DD,yCA0DC;AAED,2BAAiC,OAAoB;KACnD,6CAA6C;KAC7C,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;SACtC,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KAED,IAAM,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;KAEvE,mGAAmG;KACnG,EAAE,CAAC,CAAC,mBAAmB,KAAK,IAAI,IAAI,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC;SACtE,MAAM,CAAC,mBAAmB,KAAK,MAAM,CAAC;KACxC,CAAC;KAED,8DAA8D;KAC9D,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,KAAK,CAAC;SAChC,OAAO,CAAC,YAAY,KAAK,IAAI;SAC5B,OAAe,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,oCAAoC;AAC9E,EAAC;AAjBD,6CAiBC;AAED,4BAAkC,OAAoB;KAEpD,yEAAyE;KACzE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAK,OAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC;SACxD,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KAED,qHAAqH;KACrH,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;KAElB,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;SACpC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;KAC5D,CAAC;KAED,IAAI,oBAAoB,GAAW,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC;KAE9G,MAAM,CAAC,CACL,CAAC,CAAC,OAAO,IAAI,oBAAoB,KAAK,OAAO;SAC7C,CAAC,OAAO,CAAC,OAAO,KAAK,GAAG;aACtB,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC;aAC9B,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC;aAC7B,CAAC,OAAO,CAAC,OAAO,KAAK,UAAU,CAAC;aAChC,CAAC,QAAQ,IAAI,CAAC,CAAC;aACf,CAAC,OAAO,CAAC,YAAY,IAAI,CACvB,oBAAoB,KAAK,MAAM;iBAC/B,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,QAAQ,CAC1C,CAAC,CACH,CAAC,CAAC;AACP,EAAC;AA5BD,+CA4BC;AAED,6BAAmC,OAAqB;KACtD,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;AACnE,EAAC;AAFD,iDAEC;AAED,kCAAwC,OAAoB;KAC1D,IAAI,oBAAoB,GAAgB,iBAAW,CAAC,OAAO,CAAC,CAAC,aAA4B,CAAC;KAC1F,EAAE,CAAC,CAAC,oBAAoB,IAAI,qBAAe,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;SAC3E,MAAM,CAAC,IAAI,CAAC;KACd,CAAC;KACD,MAAM,CAAC,KAAK,CAAC;AACf,EAAC;AAND,2DAMC;;;;;;;;;;ACzND,KAAM,0BAA0B,GAAG;KACjC,UAAU;KACV,QAAQ;KACR,oBAAoB;KACpB,mBAAmB;KACnB,2BAA2B;KAC3B,uBAAuB;KACvB,qBAAqB;KACrB,oBAAoB;KACpB,sBAAsB;EACvB,CAAC;AAEF;;;;;;;IAOG;AACH,uBAA6B,WAAW,EAAE,MAAM,EAAE,UAAiD;KAAjD,oEAAiD;KACjG,IAAI,OAAO,GAAa,EAAE,CAAC;6BAClB,UAAU;SACjB,EAAE,CAAC,CACD,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,UAAU;aACxC,WAAW,CAAC,UAAU,CAAC,KAAK,SAAS;aACrC,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CACvD,CAAC,CAAC,CAAC;aACD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACzB,2CAA2C;aAC3C,WAAW,CAAC,UAAU,CAAC,GAAG,cAAc,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aACvF,mBAAmB;SACrB,CAAC;KACH,CAAC;KAXD,GAAG,CAAC,CAAC,IAAI,UAAU,IAAI,MAAM,CAAC;iBAArB,UAAU;MAWlB;KAED,MAAM,CAAC,OAAO,CAAC;AACjB,EAAC;AAhBD,qCAgBC;AAED;;;;;IAKG;AACH,yBAA+B,MAAW,EAAE,WAAqB;KAC/D,WAAW;UACR,OAAO,CAAC,UAAC,UAAU,IAAK,cAAO,MAAM,CAAC,UAAU,CAAC,EAAzB,CAAyB,CAAC,CAAC;AACxD,EAAC;AAHD,yCAGC;;;;;;;;;;AC/CD;;;;IAIG;AACH,KAAM,oBAAoB,GAAW,sEAAsE,CAAC;AAE5G,uDAAsD;AACtD,KAAM,0BAA0B,GAAW,MAAM,CAAC;AAElD;;;;;;IAMG;AACH,qCAAoC;AACpC,KAAM,sBAAsB,GAAW,4MAA4M,CAAC;AACpP,oCAAmC;AAEnC,2BAA0B,WAAmB,EAAE,KAAc;KAC3D,IAAI,QAAQ,GAAG,EAAE,CAAC;KAElB,IAAM,MAAM,GAAa,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KAEhD,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;SACxB,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAC9C,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;KAChD,CAAC;KAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;SAC/B,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAC9C,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;KAChD,CAAC;KAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;SAC/B,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;KAChD,CAAC;KAED,EAAE,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;SACjC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KACjD,CAAC;KAED,MAAM,CAAC,QAAQ,CAAC;AAClB,EAAC;AAED,6BAA4B,WAAmB;KAC7C,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;KAC5D,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;KACnE,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;KAEjC,MAAM,CAAC,WAAW,CAAC;AACrB,EAAC;AAED,+EAA8E;AAC9E,sBAA4B,WAAmB,EAAE,KAAc;KAC7D,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC;SACxB,MAAM,CAAC,EAAE,CAAC;KACZ,CAAC;KAED,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;KAE9C,EAAE,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SAC7C,MAAM,CAAC,EAAE,CAAC;KACZ,CAAC;KAED,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAC9C,EAAC;AAZD,mCAYC;;;;;;;;;;AC/DD,qCAA+C;AAE/C,6DAA4D;AAC5D,KAAI,SAAiB,CAAC;AAEtB;;IAEG;AACH;KACE,EAAE,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;SAC5B,IAAI,GAAG,GAAG,iBAAW,EAAE,CAAC;SACxB,IAAI,GAAG,GAAG,eAAS,EAAE,CAAC;SAEtB,6CAA6C;SAC7C,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;aAC/B,IAAI,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;aAErD,EAAE,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC;iBAC3B,SAAS,GAAG,aAAa,CAAC;aAC5B,CAAC;SACH,CAAC;SAED,EAAE,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC;aACnC,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SACvD,CAAC;SAED,EAAE,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;aAC5B,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SAC3B,CAAC;KACH,CAAC;KAED,MAAM,CAAC,SAAS,CAAC;AACnB,EAAC;AAxBD,mCAwBC;AAED;;IAEG;AACH,sBAA4B,QAAgB,EAAE,eAAuB;KAAvB,yDAAuB;KACnE,IAAI,GAAG,GAAG,iBAAW,EAAE,CAAC;KAExB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SACR,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KACrD,CAAC;KAED,IAAI,GAAG,GAAG,eAAS,EAAE,CAAC;KACtB,6CAA6C;KAC7C,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;SACnD,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;KAC7C,CAAC;KAED,SAAS,GAAG,QAAQ,CAAC;AACvB,EAAC;AAdD,mCAcC;;;;;;;;;;AClDD,mCAAyC,MAAc,EAAE,MAAc;KACrE,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAE9F,MAAM,CAAC,QAAQ,CAAC;AAClB,EAAC;AAJD,6DAIC;;;;;;;;;;ACND;;;;;IAKG;AACH,gCAAsC,OAAoB;KACxD,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;AACnD,EAAC;AAFD,uDAEC;AAED;;;;;IAKG;AACH,8BAAoC,OAAoB;KACtD,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;AACrD,EAAC;AAFD,mDAEC;AAED;;;;;IAKG;AACH,sBAA4B,OAAoB;KAC9C,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACxE,EAAC;AAFD,mCAEC;;;;;;;;;;AC5BD,wCAA0C;AAC7B,0BAAiB,GAAG;KAC/B,QAAQ;KACR,OAAO;KACP,SAAS;KACT,kBAAkB;KAClB,oBAAoB;KACpB,qBAAqB;KACrB,SAAS;KACT,gBAAgB;KAChB,QAAQ;KACR,eAAe;KACf,UAAU;KACV,SAAS;KACT,UAAU;KACV,QAAQ;KACR,SAAS;KACT,WAAW;KACX,kBAAkB;KAClB,YAAY;KACZ,SAAS;KACT,SAAS;KACT,WAAW;KACX,kBAAkB;KAClB,kBAAkB;KAClB,WAAW;KACX,aAAa;KACb,SAAS;KACT,cAAc;KACd,kBAAkB;KAClB,aAAa;KACb,SAAS;KACT,QAAQ;KACR,WAAW;KACX,YAAY;KACZ,cAAc;KACd,UAAU;KACV,WAAW;KACX,WAAW;KACX,WAAW;KACX,cAAc;KACd,gBAAgB;KAChB,WAAW;KACX,SAAS;KACT,gBAAgB;KAChB,eAAe;KACf,eAAe;KACf,QAAQ;KACR,WAAW;KACX,aAAa;KACb,YAAY;KACZ,aAAa;KACb,YAAY;KACZ,aAAa;KACb,QAAQ;KACR,aAAa;KACb,oBAAoB;KACpB,cAAc;KACd,cAAc;KACd,aAAa;KACb,YAAY;KACZ,aAAa;KACb,WAAW;KACX,kBAAkB;KAClB,UAAU;KACV,eAAe;KACf,YAAY;KACZ,aAAa;KACb,cAAc;KACd,UAAU;KACV,SAAS;EACV,CAAC;AAEW,8BAAqB,GAAG;KACnC,gBAAgB;KAChB,cAAc;KACd,QAAQ;KACR,eAAe;KACf,WAAW;KACX,QAAQ;KACR,iBAAiB;KACjB,mBAAmB;KACnB,KAAK;KACL,OAAO;KACP,cAAc;KACd,WAAW;KACX,UAAU;KACV,SAAS;KACT,aAAa;KACb,aAAa;KACb,SAAS;KACT,WAAW;KACX,SAAS;KACT,UAAU;KACV,SAAS;KACT,WAAW;KACX,MAAM;KACN,SAAS;KACT,SAAS;KACT,iBAAiB;KACjB,aAAa;KACb,UAAU;KACV,QAAQ;KACR,aAAa;KACb,MAAM;KACN,UAAU;KACV,SAAS;KACT,OAAO;KACP,KAAK;KACL,UAAU;KACV,WAAW;KACX,SAAS;KACT,MAAM;KACN,YAAY;KACZ,aAAa;KACb,YAAY;KACZ,gBAAgB;KAChB,YAAY;KACZ,aAAa;KACb,SAAS;KACT,QAAQ;KACR,QAAQ;KACR,MAAM;KACN,UAAU;KACV,SAAS;KACT,WAAW;KACX,MAAM;KACN,IAAI;KACJ,WAAW;KACX,WAAW;KACX,IAAI;KACJ,WAAW;KACX,SAAS;KACT,MAAM;KACN,MAAM;KACN,MAAM;KACN,MAAM;KACN,KAAK;KACL,UAAU;KACV,cAAc;KACd,aAAa;KACb,KAAK;KACL,WAAW;KACX,OAAO;KACP,YAAY;KACZ,QAAQ;KACR,KAAK;KACL,WAAW;KACX,UAAU;KACV,OAAO;KACP,MAAM;KACN,YAAY;KACZ,MAAM;KACN,SAAS;KACT,SAAS;KACT,aAAa;KACb,QAAQ;KACR,SAAS;KACT,YAAY;KACZ,UAAU;KACV,KAAK;KACL,UAAU;KACV,MAAM;KACN,MAAM;KACN,SAAS;KACT,SAAS;KACT,OAAO;KACP,QAAQ;KACR,WAAW;KACX,UAAU;KACV,UAAU;KACV,OAAO;KACP,MAAM;KACN,OAAO;KACP,MAAM;KACN,YAAY;KACZ,KAAK;KACL,QAAQ;KACR,SAAS;KACT,QAAQ;KACR,OAAO;KACP,MAAM;KACN,OAAO;KACP,SAAS;KACT,UAAU;KACV,OAAO;KACP,MAAM;KACN,QAAQ;KACR,OAAO;KACP,OAAO;KACP,OAAO;KACP,MAAM;EACP,CAAC;AAEW,8BAAqB,GAAG,6BAAqB,CAAC,MAAM,CAAC,yBAAiB,CAAC,CAAC;AAExE,yBAAgB,GAAG,6BAAqB,CAAC,MAAM,CAAC;KAC3D,MAAM;KACN,QAAQ;EACT,CAAC,CAAC;AAEU,yBAAgB,GAAG,6BAAqB,CAAC,MAAM,CAAC;KAC3D,UAAU;EACX,CAAC,CAAC;AAEU,sBAAa,GAAG,6BAAqB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAElE,wBAAe,GAAG,wBAAgB,CAAC;AAEnC,2BAAkB,GAAG,wBAAgB,CAAC;AAEtC,wBAAe,GAAG,qBAAa,CAAC;AAE7C;;;;;;;;;;;IAWG;AACH,yBAAkC,KAAU,EAAE,gBAA0B,EAAE,iBAA4B;KACpG,MAAM,CAAC,uBAAc,CAAC,UAAC,QAAQ;SAC7B,MAAM,CAAC,CACL,CAAC,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CACjE,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACjC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACjC,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAC1C,CAAC,CAAC;KACP,CAAC,EACC,EAAE,EACF,KAAK,CAAM,CAAC;AAChB,EAAC;AAXD,yCAWC;;;;;;;;;;AC5OD,KAAI,QAAQ,GAAG,EAAE,CAAC;AAElB,2DAA0D;AAC1D,yBAA+B,GAAG;KAChC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;AACxB,EAAC;AAFD,yCAEC;AAED,2DAA0D;AAC1D,qBAA2B,OAAO;KAChC,QAAQ,GAAG,OAAO,CAAC;AACrB,EAAC;AAFD,iCAEC;;;;;;;;;;ACVD,0CAAsC;AACtC,qCAA+C;AAE/C,6DAA4D;AAC5D,KAAI,MAAe,CAAC;AAEpB;;IAEG;AACH;KACE,EAAE,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC;SACzB,IAAI,GAAG,GAAG,iBAAW,EAAE,CAAC;SACxB,IAAI,GAAG,GAAG,eAAS,EAAE,CAAC;SAEtB,6CAA6C;SAC7C,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;aAC/B,IAAI,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aAE7C,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC;iBACtB,MAAM,GAAG,QAAQ,KAAK,GAAG,CAAC;aAC5B,CAAC;SACH,CAAC;SACD,EAAE,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC;aAChC,MAAM,GAAG,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;SAC7D,CAAC;SAED,EAAE,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC;aACzB,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SACvB,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,MAAM,IAAI,KAAK,CACb,+EAA+E;iBAC/E,iDAAiD,CAClD,CAAC;SACJ,CAAC;KACH,CAAC;KAED,MAAM,CAAC,MAAM,CAAC;AAChB,EAAC;AA5BD,yBA4BC;AAED;;IAEG;AACH,iBAAuB,KAAc,EAAE,eAAuB;KAAvB,yDAAuB;KAC5D,IAAI,GAAG,GAAG,iBAAW,EAAE,CAAC;KACxB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SACR,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;KACjE,CAAC;KAED,IAAI,GAAG,GAAG,eAAS,EAAE,CAAC;KACtB,6CAA6C;KAC7C,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;SACnD,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;KACnD,CAAC;KAED,MAAM,GAAG,KAAK,CAAC;AACjB,EAAC;AAbD,yBAaC;AAED;;IAEG;AACH,4BAAkC,GAAW;KAC3C,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SACb,EAAE,CAAC,CAAC,GAAG,KAAK,mBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;aAC1B,GAAG,GAAG,mBAAQ,CAAC,KAAK,CAAC;SACvB,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,mBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;aAClC,GAAG,GAAG,mBAAQ,CAAC,IAAI,CAAC;SACtB,CAAC;KACH,CAAC;KAED,MAAM,CAAC,GAAG,CAAC;AACb,EAAC;AAVD,+CAUC;;;;;;;;;;ACtED,iFAAgF;AAChF,KAAM,iBAAiB,GAAG,SAAS,CAAC;AAEpC,gFAA+E;AAC/E,KAAM,YAAY,GAAG,UAAU,CAAC;AAEhC;;;;;IAKG;AACH,iBAAuB,CAAS;KAC5B,YAAY,CAAC;KADiB,gBAAgB;UAAhB,UAAgB,EAAhB,qBAAgB,EAAhB,IAAgB;SAAhB,+BAAgB;;KAG9C,IAAI,IAAI,GAAG,MAAM,CAAC;KAClB,0BAA0B;KAC1B,sBAAsB,KAAa;SAC/B,uBAAuB;SACvB,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC;SAE7D,+DAA+D;SAC/D,EAAE,CAAC,CAAC,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC;aACpD,WAAW,GAAG,EAAE,CAAC;SACrB,CAAC;SAED,MAAM,CAAC,WAAW,CAAC;KACvB,CAAC;KACD,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;AACnD,EAAC;AAjBD,yBAiBC;;;;;;;;;;ACvBD,KAAM,YAAY,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACrC,KAAM,WAAW,GAAG,EAAE,CAAC;AAOvB,kBACE,MAAW,EACX,GAAW,EACX,UAAsC;KAEtC,qFAAqF;KACrF,qEAAqE;KACrE,IAAI,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAEtD,MAAM,CAAC;SACL,YAAY,EAAE,IAAI;SAClB,GAAG;aACD,MAAM,CAAC,EAAE,CAAC;SACZ,CAAC;MACF,CAAC;AACJ,EAAC;AAfD,2BAeC;AAED;;;;;;;;;;;;IAYG;AACH,0BACE,EAAK,EACL,YAA0B;KAA1B,iDAA0B;KAG1B,IAAI,QAAa,CAAC;KAClB,IAAI,SAAS,GAAG,CAAC,CAAC;KAElB,kDAAkD;KAClD,MAAM,CAAC;SAA0B,cAAc;cAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;aAAd,yBAAc;;SAC7C,IAAI,WAAW,GAAQ,QAAQ,CAAC;SAEhC,EAAE,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;aAC7E,QAAQ,GAAG,WAAW,EAAE,CAAC;aACzB,SAAS,GAAG,CAAC,CAAC;SAChB,CAAC;SAED,WAAW,GAAG,QAAQ,CAAC;SAEvB,6CAA6C;SAC7C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;aACrC,IAAI,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aAEjC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAC9B,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;aAC1C,CAAC;aAED,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACzC,CAAC;SAED,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aACzC,WAAW,CAAC,KAAK,GAAG,EAAE,eAAI,IAAI,CAAC,CAAC;aAChC,SAAS,EAAE,CAAC;SACd,CAAC;SAED,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;KAC3B,CAAQ,CAAC;AACX,EAAC;AArCD,2CAqCC;AAED,wBAAuB,GAAQ;KAC7B,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SACT,MAAM,CAAC,YAAY,CAAC;KACtB,CAAC;KAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC;SACnC,MAAM,CAAC,GAAG,CAAC;KACb,CAAC;KAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC7B,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,OAAE,CAAC;KAC7B,CAAC;KAED,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AAC1B,EAAC;AAED;KACE,MAAM,CAAC;SACL,GAAG,EAAE,IAAI,OAAO,EAAE;MACnB,CAAC;AACJ,EAAC;;;;;;;;;;AqCnGD,sDAE+B;AAD7B,wEAAmB;AAErB,iDAE0B;AADxB,yDAAc;AAEhB,iDAE0B;AADxB,yDAAc;AAEhB,kDAE2B;AADzB,4DAAe;;;;;;;;;;ACVjB,wCAAmD;AACnD,wCAAkD;AAGrC,4BAAmB,GAAgD,qBAAa,CAAC,uBAAe,CAAC,CAAC;;;;;;;;;;ACJ/G,wCAIiB;AAFf,oCAAQ;AACR,sCAAS;AAEX,8CAEuB;AADrB,gDAAW;AAEb,iDAE0B;AADxB,yDAAc;AAEhB,gDAEyB;AADvB,sDAAa;;;;;;;;;;ACZf,sCAAwC;AAMxC,wCAGyB;AAQzB,KAAM,MAAM,GAAW;KACrB,OAAO,EAAE,sBAAc;KACvB,cAAc,EAAE,8BAA8B,CAAC,sBAAc,CAAC;KAC9D,KAAK,EAAE,yBAAiB;EACzB,CAAC;AAEF;;IAEG;AACH;KACE,MAAM,CAAC,MAAM,CAAC;AAChB,EAAC;AAFD,6BAEC;AAED;;IAEG;AACH,oBAA0B,KAAa;KACrC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;KAC3D,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,EAAE,8BAA8B,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;KACzG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AACvD,EAAC;AAJD,+BAIC;AAED,uEAAsE;AACtE,4FAA2F;AAC3F,yCAAwC,CAAW;KACjD,MAAM,CAAC;SACL,cAAc,EAAE,CAAC,CAAC,KAAK;SACvB,QAAQ,EAAE,CAAC,CAAC,cAAc;SAC1B,WAAW,EAAE,CAAC,CAAC,gBAAgB;SAE/B,kBAAkB,EAAE,CAAC,CAAC,cAAc;SACpC,YAAY,EAAE,CAAC,CAAC,kBAAkB;SAClC,eAAe,EAAE,CAAC,CAAC,iBAAiB;SAEpC,WAAW,EAAE,CAAC,CAAC,KAAK;SAEpB,yBAAyB;SACzB,SAAS,EAAE,CAAC,CAAC,OAAO;SAEpB,WAAW,EAAE,CAAC,CAAC,eAAe;SAC9B,kBAAkB,EAAE,CAAC,CAAC,cAAc;SACpC,uBAAuB,EAAE,CAAC,CAAC,YAAY;SACvC,8BAA8B,EAAE,CAAC,CAAC,YAAY;SAC9C,uBAAuB,EAAE,CAAC,CAAC,KAAK;MACjC,CAAC;AACJ,EAAC;;;;;;;;;;AC9DD,kDAAoD;AAA3C,4DAAe;AACxB,iDAAkD;AAAzC,yDAAc;AACvB,oDAAgF;AAAvE,kEAAiB;AAAE,kDAAS;AAAE,sDAAW;AAClD,4CAAwC;AAA/B,0CAAS;AAClB,gDAAgD;AAAvC,sDAAa;;;;;;;;;;ACFtB,+CAA6C;AAE7C,6BAA4B;AAE5B,KAAM,iBAAiB,GAAG,0BAA0B,CAAC;AACrD,KAAM,iBAAiB,GAAG,6BAA6B,CAAC;AACxD,KAAM,UAAU,GAAG,QAAQ,CAAC;AAC5B,KAAM,UAAU,GAAG,QAAQ,CAAC;AAC5B,KAAM,UAAU,GAAG,QAAQ,CAAC;AAC5B,KAAM,UAAU,GAAG,QAAQ,CAAC;AAE5B,KAAM,OAAO,GAAW,yBAAS,CAAC;KAChC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;KACpB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;EACnB,CAAC,CAAC;AAEH,KAAM,QAAQ,GAAW,yBAAS,CAAC;KACjC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;KACpB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;EACnB,CAAC,CAAC;AAEH,KAAM,gBAAgB,GAAW,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;AACtD,KAAM,gBAAgB,GAAW,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;AACtD,KAAM,gBAAgB,GAAW,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;AACtD,KAAM,iBAAiB,GAAW,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC;AACxD,KAAM,eAAe,GAAW,eAAe,CAAC,EAAE,CAAC,CAAC;AACpD,KAAM,eAAe,GAAW,eAAe,CAAC,EAAE,CAAC,CAAC;AACpD,KAAM,eAAe,GAAW,eAAe,CAAC,EAAE,CAAC,CAAC;AACpD,KAAM,gBAAgB,GAAW,eAAe,CAAC,GAAG,CAAC,CAAC;AACtD,KAAM,aAAa,GAAW,eAAe,CAAC,EAAE,CAAC,CAAC;AAClD,KAAM,aAAa,GAAW,eAAe,CAAC,EAAE,CAAC,CAAC;AAClD,KAAM,eAAe,GAAW,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;AACrD,KAAM,eAAe,GAAW,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;AAErD,KAAM,iBAAiB,GAAW,gBAAgB,CAAC,EAAE,CAAC,CAAC;AACvD,KAAM,iBAAiB,GAAW,gBAAgB,CAAC,EAAE,CAAC,CAAC;AACvD,KAAM,iBAAiB,GAAW,gBAAgB,CAAC,EAAE,CAAC,CAAC;AACvD,KAAM,kBAAkB,GAAW,gBAAgB,CAAC,GAAG,CAAC,CAAC;AACzD,KAAM,gBAAgB,GAAW,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;AACvD,KAAM,gBAAgB,GAAW,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;AACvD,KAAM,gBAAgB,GAAW,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;AACvD,KAAM,iBAAiB,GAAW,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC;AACzD,KAAM,cAAc,GAAW,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;AACrD,KAAM,cAAc,GAAW,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;AACrD,KAAM,gBAAgB,GAAW,gBAAgB,CAAC,EAAE,CAAC,CAAC;AACtD,KAAM,gBAAgB,GAAW,gBAAgB,CAAC,EAAE,CAAC,CAAC;AAEtD,KAAM,WAAW,GAAW,yBAAS,CAAC;KACpC,IAAI,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE;KACzC,EAAE,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE;EACpC,CAAC,CAAC;AAEH,KAAM,YAAY,GAAW,yBAAS,CAAC;KACrC,IAAI,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE;KACrC,KAAK,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE;EAC3C,CAAC,CAAC;AAEH,KAAM,aAAa,GAAW,yBAAS,CAAC;KACtC,IAAI,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE;KAC3C,EAAE,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE;EACpC,CAAC,CAAC;AAEH,KAAM,WAAW,GAAW,yBAAS,CAAC;KACpC,IAAI,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE;KACrC,EAAE,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE;EAC1C,CAAC,CAAC;AAEH,KAAM,QAAQ,GAAW,yBAAS,CAAC;KACjC,IAAI,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;KACpC,EAAE,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE;EACpC,CAAC,CAAC;AAEH,KAAM,UAAU,GAAW,yBAAS,CAAC;KACnC,IAAI,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;KACpC,EAAE,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE;EACrC,CAAC,CAAC;AAEH;;;IAGG;AACU,wBAAe,GAAqB;KAC/C,cAAc,EAAE,gBAAgB,CAAI,OAAO,SAAI,gBAAkB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KACjG,cAAc,EAAE,gBAAgB,CAAI,OAAO,SAAI,gBAAkB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KACjG,cAAc,EAAE,gBAAgB,CAAI,OAAO,SAAI,gBAAkB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KACjG,eAAe,EAAE,gBAAgB,CAAI,OAAO,SAAI,iBAAmB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KACnG,aAAa,EAAE,gBAAgB,CAAI,OAAO,SAAI,eAAiB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAC/F,aAAa,EAAE,gBAAgB,CAAI,OAAO,SAAI,eAAiB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAC/F,aAAa,EAAE,gBAAgB,CAAI,OAAO,SAAI,eAAiB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAC/F,cAAc,EAAE,gBAAgB,CAAI,OAAO,SAAI,gBAAkB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KACjG,WAAW,EAAE,gBAAgB,CAAI,OAAO,SAAI,aAAe,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAC3F,WAAW,EAAE,gBAAgB,CAAI,OAAO,SAAI,aAAe,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAC3F,aAAa,EAAE,gBAAgB,CAAI,OAAO,SAAI,eAAiB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAC/F,aAAa,EAAE,gBAAgB,CAAI,OAAO,SAAI,eAAiB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAE/F,eAAe,EAAE,gBAAgB,CAAI,QAAQ,SAAI,iBAAmB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KACpG,eAAe,EAAE,gBAAgB,CAAI,QAAQ,SAAI,iBAAmB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KACpG,eAAe,EAAE,gBAAgB,CAAI,QAAQ,SAAI,iBAAmB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KACpG,gBAAgB,EAAE,gBAAgB,CAAI,QAAQ,SAAI,kBAAoB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KACtG,cAAc,EAAE,gBAAgB,CAAI,QAAQ,SAAI,gBAAkB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAClG,cAAc,EAAE,gBAAgB,CAAI,QAAQ,SAAI,gBAAkB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAClG,cAAc,EAAE,gBAAgB,CAAI,QAAQ,SAAI,gBAAkB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAClG,eAAe,EAAE,gBAAgB,CAAI,QAAQ,SAAI,iBAAmB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KACpG,YAAY,EAAE,gBAAgB,CAAI,QAAQ,SAAI,cAAgB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAC9F,YAAY,EAAE,gBAAgB,CAAI,QAAQ,SAAI,cAAgB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAC9F,cAAc,EAAE,gBAAgB,CAAI,QAAQ,SAAI,gBAAkB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAClG,cAAc,EAAE,gBAAgB,CAAI,QAAQ,SAAI,gBAAkB,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAElG,YAAY,EAAE,gBAAgB,CAAI,OAAO,SAAI,WAAa,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAC1F,cAAc,EAAE,gBAAgB,CAAI,OAAO,SAAI,aAAe,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAC9F,aAAa,EAAE,gBAAgB,CAAI,QAAQ,SAAI,WAAa,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAC5F,cAAc,EAAE,gBAAgB,CAAI,QAAQ,SAAI,YAAc,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAE9F,SAAS,EAAE,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC;KACnE,SAAS,EAAE,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC;KACnE,SAAS,EAAE,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC;KACnE,SAAS,EAAE,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC;KAEnE,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,iBAAiB,CAAC;KACrE,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,iBAAiB,CAAC;KACrE,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,iBAAiB,CAAC;KACrE,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,iBAAiB,CAAC;KACrE,WAAW,EAAE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAClE,YAAY,EAAE,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAErE,4CAA4C;EAC7C,CAAC;AAEF,2BACE,aAAqB,EACrB,iBAAyB,EACzB,uBAA+B;KAE/B,MAAM,CAAC;SACL,aAAa;SACb,iBAAiB;SACjB,uBAAuB;SACvB,iBAAiB,EAAE,MAAM;MAC1B,CAAC;AACJ,EAAC;AAED,0BAAyB,KAAa;KACpC,MAAM,CAAC,yBAAS,CAAC;SACf,IAAI,EAAE,EAAE,SAAS,EAAE,iBAAe,KAAK,YAAS,EAAE;SAClD,EAAE,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE;MACxC,CAAC,CAAC;AACL,EAAC;AAED,0BAAyB,KAAa;KACpC,MAAM,CAAC,yBAAS,CAAC;SACf,IAAI,EAAE,EAAE,SAAS,EAAE,mBAAiB,KAAK,UAAO,EAAE;SAClD,EAAE,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE;MACxC,CAAC,CAAC;AACL,EAAC;AAED,2BAA0B,GAAW;KACnC,MAAM,CAAC,yBAAS,CAAC;SACf,IAAI,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE;SACzC,EAAE,EAAE,EAAE,SAAS,EAAE,iBAAe,GAAG,YAAS,EAAE;MAC/C,CAAC,CAAC;AACL,EAAC;AAED,2BAA0B,GAAW;KACnC,MAAM,CAAC,yBAAS,CAAC;SACf,IAAI,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE;SACzC,EAAE,EAAE,EAAE,SAAS,EAAE,mBAAiB,GAAG,UAAO,EAAE;MAC/C,CAAC,CAAC;AACL,EAAC;;;;;;;;;;ACvKY,uBAAc,GAAa;KACtC,WAAW,EAAE,SAAS;KACtB,SAAS,EAAE,SAAS;KACpB,YAAY,EAAE,SAAS;KACvB,YAAY,EAAE,SAAS;KACvB,cAAc,EAAE,SAAS;KACzB,aAAa,EAAE,SAAS;KACxB,UAAU,EAAE,SAAS;KACrB,YAAY,EAAE,SAAS;KACvB,eAAe,EAAE,SAAS;KAC1B,KAAK,EAAE,SAAS;KAChB,kBAAkB,EAAE,gBAAgB;KACpC,WAAW,EAAE,SAAS;KACtB,cAAc,EAAE,SAAS;KACzB,iBAAiB,EAAE,SAAS;KAC5B,gBAAgB,EAAE,SAAS;KAC3B,eAAe,EAAE,SAAS;KAC1B,kBAAkB,EAAE,SAAS;KAC7B,iBAAiB,EAAE,SAAS;KAC5B,oBAAoB,EAAE,SAAS;KAC/B,YAAY,EAAE,SAAS;KACvB,cAAc,EAAE,SAAS;KACzB,iBAAiB,EAAE,SAAS;KAC5B,KAAK,EAAE,SAAS;KAChB,MAAM,EAAE,SAAS;KACjB,WAAW,EAAE,SAAS;KACtB,MAAM,EAAE,SAAS;KACjB,WAAW,EAAE,SAAS;KACtB,aAAa,EAAE,SAAS;KACxB,OAAO,EAAE,SAAS;KAClB,GAAG,EAAE,SAAS;KACd,WAAW,EAAE,SAAS;KACtB,OAAO,EAAE,SAAS;KAClB,YAAY,EAAE,SAAS;KACvB,UAAU,EAAE,SAAS;KACrB,MAAM,EAAE,SAAS;KACjB,WAAW,EAAE,SAAS;KACtB,QAAQ,EAAE,SAAS;KACnB,OAAO,EAAE,SAAS;KAClB,IAAI,EAAE,SAAS;KACf,SAAS,EAAE,SAAS;KACpB,QAAQ,EAAE,SAAS;KACnB,IAAI,EAAE,SAAS;KACf,SAAS,EAAE,SAAS;KACpB,SAAS,EAAE,SAAS;KACpB,KAAK,EAAE,SAAS;KAChB,UAAU,EAAE,SAAS;EACtB,CAAC;;;;;;;;;;AChDF,+CAA4C;AAC5C,uCAGuC;AAGvC,iBAAgB;AAChB,KAAM,cAAc,GAAG,0DAA0D,CAAC;AAElF,qEAAoE;AACpE,KAAM,mBAAmB,GAAG,2EAA2E,CAAC;AAExG,qCAAoC;AACpC,KAAM,cAAc,GAAG,uBAAuB,CAAC;AAC/C,KAAM,gBAAgB,GAAG,yBAAyB,CAAC;AACnD,KAAM,oBAAoB,GAAG,8BAA8B,CAAC;AAC5D,KAAM,aAAa,GAAG,sBAAsB,CAAC;AAC7C,KAAM,cAAc,GAAG,uBAAuB,CAAC;AAC/C,KAAM,YAAY,GAAG,mBAAmB,CAAC;AACzC,KAAM,kBAAkB,GAAG,2BAA2B,CAAC;AACvD,KAAM,oBAAoB,GAAG,8BAA8B,CAAC;AAC5D,KAAM,eAAe,GAAG,aAAa,CAAC;AAEtC,0DAAyD;AACzD,KAAM,gBAAgB,GAAG,MAAI,cAAc,MAAG,CAAC;AAC/C,KAAM,2BAA2B,GAAG,oCAAoC,CAAC;AACzE,KAAM,4BAA4B,GAAG,gCAAgC,CAAC;AACtE,KAAM,kBAAkB,GAAG,MAAI,gBAAgB,MAAG,CAAC;AACnD,KAAM,sBAAsB,GAAG,MAAI,oBAAoB,MAAG,CAAC;AAC3D,KAAM,eAAe,GAAG,MAAI,aAAa,MAAG,CAAC;AAC7C,KAAM,gBAAgB,GAAG,MAAI,cAAc,MAAG,CAAC;AAC/C,KAAM,eAAe,GAAG,cAAc,CAAC;AACvC,KAAM,kBAAkB,GAAG,uDAAuD,CAAC;AACnF,KAAM,gBAAgB,GAAG,wBAAwB,CAAC;AAClD,KAAM,iBAAiB,GAAG,MAAI,eAAe,MAAG,CAAC;AACjD,KAAM,cAAc,GAAG,gCAAgC,CAAC;AACxD,KAAM,oBAAoB,GAAG,MAAI,kBAAkB,MAAG,CAAC;AACvD,KAAM,sBAAsB,GAAG,MAAI,oBAAoB,MAAG,CAAC;AAE3D,iDAAgD;AAChD,KAAM,iBAAiB,GAAG;KACxB,IAAI,EAAE,gBAAgB;KACtB,IAAI,EAAE,kBAAkB;KACxB,IAAI,EAAE,sBAAsB;KAC5B,IAAI,EAAE,eAAe;KACrB,IAAI,EAAE,sBAAsB;KAC5B,IAAI,EAAE,gBAAgB;KACtB,IAAI,EAAE,eAAe;KACrB,IAAI,EAAE,sBAAsB;KAC5B,IAAI,EAAE,sBAAsB;KAC5B,IAAI,EAAE,kBAAkB;KACxB,IAAI,EAAE,sBAAsB;KAC5B,IAAI,EAAE,gBAAgB;KACtB,IAAI,EAAE,sBAAsB;KAC5B,IAAI,EAAE,sBAAsB;KAC5B,IAAI,EAAE,sBAAsB;KAC5B,IAAI,EAAE,kBAAkB;KACxB,IAAI,EAAE,sBAAsB;KAC5B,SAAS,EAAE,sBAAsB;KACjC,IAAI,EAAE,cAAc;KACpB,IAAI,EAAE,sBAAsB;KAC5B,IAAI,EAAE,kBAAkB;KACxB,IAAI,EAAE,oBAAoB;KAC1B,SAAS,EAAE,2BAA2B;KACtC,SAAS,EAAE,4BAA4B;EACxC,CAAC;AAEF,wBAAuB;AACvB,KAAiB,SAAS,CAazB;AAbD,YAAiB,SAAS;KACX,cAAI,GAAG,MAAM,CAAC;KACd,gBAAM,GAAG,MAAM,CAAC;KAChB,eAAK,GAAG,MAAM,CAAC;KACf,mBAAS,GAAG,MAAM,CAAC;KACnB,gBAAM,GAAG,MAAM,CAAC;KAChB,oBAAU,GAAG,MAAM,CAAC;KACpB,cAAI,GAAG,MAAM,CAAC;KACd,eAAK,GAAG,MAAM,CAAC;KACf,gBAAM,GAAG,MAAM,CAAC;KAChB,iBAAO,GAAG,MAAM,CAAC;KACjB,oBAAU,GAAG,MAAM,CAAC;KACpB,cAAI,GAAG,MAAM,CAAC;AAC7B,EAAC,EAbgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAazB;AAED,0BAAyB;AACzB,KAAiB,WAAW,CAM3B;AAND,YAAiB,WAAW;KACb,iBAAK,GAAG,GAAG,CAAC;KACZ,qBAAS,GAAG,GAAG,CAAC;KAChB,mBAAO,GAAG,GAAG,CAAC;KACd,oBAAQ,GAAG,GAAG,CAAC;KACf,gBAAI,GAAG,GAAG,CAAC;AAC1B,EAAC,EANgB,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAM3B;AAED,0BAAyB;AACZ,0BAAiB,GAAgB;KAC5C,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC;KACvD,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC;KAC1D,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC;KACxD,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC;KAChE,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC;KAC1D,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC;KAClE,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC;KAC1D,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC;KACxD,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC;KAC1D,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC;KAChE,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;KACpD,IAAI,EAAE;SACJ,UAAU,EAAE,mBAAmB;SAC/B,UAAU,EAAE,WAAW,CAAC,OAAO;SAC/B,SAAS,EAAE,QAAQ;MACpB;EACF,CAAC;AAEF;KACE,IAAI,QAAQ,GAAG,mBAAW,EAAE,CAAC;KAC7B,IAAI,UAAU,GAAG,sBAAsB,CAAC;KAExC,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,iBAAiB,CAAC,CAAC,CAAC;SACnC,EAAE,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC3E,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;aACrC,KAAK,CAAC;SACR,CAAC;KACH,CAAC;KAED,MAAM,CAAI,UAAU,UAAK,mBAAqB,CAAC;AACjD,EAAC;AAED,sBAAqB,IAAY,EAAE,MAAc;KAC/C,MAAM,CAAC;SACL,UAAU,EAAE,cAAc,EAAE;SAC5B,mBAAmB,EAAE,WAAW;SAChC,oBAAoB,EAAE,MAAM;SAC5B,mBAAmB,EAAE,aAAa;SAClC,QAAQ,EAAE,IAAI;SACd,UAAU,EAAE,MAAM;MACnB,CAAC;AACJ,EAAC;AAED,4BACE,UAAkB,EAClB,GAAW,EACX,UAAmB;KAEnB,UAAU,GAAG,MAAI,UAAU,MAAG,CAAC;KAE/B,wBAAQ,CAAC;SACP,UAAU;SACV,GAAG,EACH,UAAQ,GAAG,8BAA2B;cACtC,UAAQ,GAAG,2BAAwB;SACnC,UAAU;SACV,SAAS,EAAE,QAAQ;MACpB,CAAC,CAAC;AACL,EAAC;AAED,+BACE,OAAe,EACf,UAAkB,EAClB,SAAiB,EACjB,WAA+B;KAA/B,qDAA+B;KAE/B,IAAM,OAAO,GAAM,OAAO,SAAI,SAAS,SAAI,WAAa,CAAC;KAEzD,iBAAiB,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;KACrE,iBAAiB,CAAC,UAAU,EAAE,OAAO,GAAG,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;KAC7E,iBAAiB,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;KACzE,iBAAiB,CAAC,UAAU,EAAE,OAAO,GAAG,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC7E,EAAC;AAED;KACE,IAAM,OAAO,GAAG,eAAe,EAAE,CAAC;KAElC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACZ,IAAM,OAAO,GAAM,OAAO,WAAQ,CAAC;SACnC,IAAM,OAAO,GAAM,OAAO,WAAQ,CAAC;SAEnC,8DAA8D;SAC9D,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAC;SACjF,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;SAChE,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;SACpE,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;SAC5E,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;SAC9D,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;SAChE,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;SACxE,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;SAC5E,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;SAEvE,sEAAsE;SACtE,uEAAuE;SACvE,iBAAiB,CAAC,mBAAmB,EAAK,OAAO,8CAA2C,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;SAEjH,yEAAyE;SACzE,kEAAkE;SAClE,iBAAiB,CAAC,mBAAmB,EAAK,OAAO,yCAAsC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;SAE/G,sBAAsB;SACtB,iBAAiB,CAAC,iBAAiB,EAAK,OAAO,qBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;KAC1F,CAAC;AACH,EAAC;AAED;;IAEG;AACH;KACE,IAAI,GAAG,GAAG,iBAAS,EAAE,CAAC;KAEtB,6CAA6C;KAC7C,IAAI,YAAY,GAAkB,GAAG,GAAG,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;KAExE,MAAM,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,WAAW,KAAK,SAAS,CAAC,GAAG,YAAY,CAAC,WAAW,GAAG,cAAc,CAAC;AAC9G,EAAC;AAED;;IAEG;AACH,0BAAyB,EAAE,CAAC;;;;;;;;;;ACxNf,kBAAS,GAAG;KACvB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,GAAG,EAAE,QAAQ;KACb;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,uBAAuB,EAAE,QAAQ;KACjC;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,qBAAqB,EAAE,QAAQ;KAC/B;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,kBAAkB,EAAE,QAAQ;KAC5B;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,oBAAoB,EAAE,QAAQ;KAC9B;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,kBAAkB,EAAE,QAAQ;KAC5B;;QAEG;KACH,kBAAkB,EAAE,QAAQ;KAC5B;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,GAAG,EAAE,QAAQ;KACb;;QAEG;KACH,qBAAqB,EAAE,QAAQ;KAC/B;;QAEG;KACH,sBAAsB,EAAE,QAAQ;KAChC;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,mBAAmB,EAAE,QAAQ;KAC7B;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,kBAAkB,EAAE,QAAQ;KAC5B;;QAEG;KACH,kBAAkB,EAAE,QAAQ;KAC5B;;QAEG;KACH,mBAAmB,EAAE,QAAQ;KAC7B;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,GAAG,EAAE,QAAQ;KACb;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,qBAAqB,EAAE,QAAQ;KAC/B;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,kBAAkB,EAAE,QAAQ;KAC5B;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,GAAG,EAAE,QAAQ;KACb;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,kBAAkB,EAAE,QAAQ;KAC5B;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,qBAAqB,EAAE,QAAQ;KAC/B;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,oBAAoB,EAAE,QAAQ;KAC9B;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,kBAAkB,EAAE,QAAQ;KAC5B;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,mBAAmB,EAAE,QAAQ;KAC7B;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,mBAAmB,EAAE,QAAQ;KAC7B;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,oBAAoB,EAAE,QAAQ;KAC9B;;QAEG;KACH,4BAA4B,EAAE,QAAQ;KACtC;;QAEG;KACH,oBAAoB,EAAE,QAAQ;KAC9B;;QAEG;KACH,kBAAkB,EAAE,QAAQ;KAC5B;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,GAAG,EAAE,QAAQ;KACb;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,GAAG,EAAE,QAAQ;KACb;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,kBAAkB,EAAE,QAAQ;KAC5B;;QAEG;KACH,2BAA2B,EAAE,QAAQ;KACrC;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,kBAAkB,EAAE,QAAQ;KAC5B;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,yBAAyB,EAAE,QAAQ;KACnC;;QAEG;KACH,kBAAkB,EAAE,QAAQ;KAC5B;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,0BAA0B,EAAE,QAAQ;KACpC;;QAEG;KACH,oBAAoB,EAAE,QAAQ;KAC9B;;QAEG;KACH,kBAAkB,EAAE,QAAQ;KAC5B;;QAEG;KACH,mBAAmB,EAAE,QAAQ;KAC7B;;QAEG;KACH,2BAA2B,EAAE,QAAQ;KACrC;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,kBAAkB,EAAE,QAAQ;KAC5B;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,GAAG,EAAE,QAAQ;KACb;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,GAAG,EAAE,QAAQ;KACb;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,mBAAmB,EAAE,QAAQ;KAC7B;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,oBAAoB,EAAE,QAAQ;KAC9B;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,qBAAqB,EAAE,QAAQ;KAC/B;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,EAAE,EAAE,QAAQ;KACZ;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,oBAAoB,EAAE,QAAQ;KAC9B;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,mBAAmB,EAAE,QAAQ;KAC7B;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,oBAAoB,EAAE,QAAQ;KAC9B;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,qBAAqB,EAAE,QAAQ;KAC/B;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,mBAAmB,EAAE,QAAQ;KAC7B;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,qBAAqB,EAAE,QAAQ;KAC/B;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,mBAAmB,EAAE,QAAQ;KAC7B;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,wBAAwB,EAAE,QAAQ;KAClC;;QAEG;KACH,gCAAgC,EAAE,QAAQ;KAC1C;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,oBAAoB,EAAE,QAAQ;KAC9B;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,GAAG,EAAE,QAAQ;KACb;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,GAAG,EAAE,QAAQ;KACb;;QAEG;KACH,GAAG,EAAE,QAAQ;KACb;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,GAAG,EAAE,QAAQ;KACb;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,GAAG,EAAE,QAAQ;KACb;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,kBAAkB,EAAE,QAAQ;KAC5B;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,qBAAqB,EAAE,QAAQ;KAC/B;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,mBAAmB,EAAE,QAAQ;KAC7B;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,qBAAqB,EAAE,QAAQ;KAC/B;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,qBAAqB,EAAE,QAAQ;KAC/B;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,GAAG,EAAE,QAAQ;KACb;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,mBAAmB,EAAE,QAAQ;KAC7B;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,mBAAmB,EAAE,QAAQ;KAC7B;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,GAAG,EAAE,QAAQ;KACb;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,GAAG,EAAE,QAAQ;KACb;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,mBAAmB,EAAE,QAAQ;KAC7B;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,qBAAqB,EAAE,QAAQ;KAC/B;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,eAAe,EAAE,QAAQ;KACzB;;QAEG;KACH,mBAAmB,EAAE,QAAQ;KAC7B;;QAEG;KACH,mBAAmB,EAAE,QAAQ;KAC7B;;QAEG;KACH,oBAAoB,EAAE,QAAQ;KAC9B;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,iBAAiB,EAAE,QAAQ;KAC3B;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,EAAE,EAAE,QAAQ;KACZ;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,KAAK,EAAE,QAAQ;KACf;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,gBAAgB,EAAE,QAAQ;KAC1B;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,cAAc,EAAE,QAAQ;KACxB;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,OAAO,EAAE,QAAQ;KACjB;;QAEG;KACH,aAAa,EAAE,QAAQ;KACvB;;QAEG;KACH,WAAW,EAAE,QAAQ;KACrB;;QAEG;KACH,SAAS,EAAE,QAAQ;KACnB;;QAEG;KACH,YAAY,EAAE,QAAQ;KACtB;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,QAAQ,EAAE,QAAQ;KAClB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,UAAU,EAAE,QAAQ;KACpB;;QAEG;KACH,IAAI,EAAE,QAAQ;KACd;;QAEG;KACH,MAAM,EAAE,QAAQ;KAChB;;QAEG;KACH,OAAO,EAAE,QAAQ;EAClB,CAAC;;;;;;;;;;AC7wFF,wCAAiD;AAGjD,+CAA0C;AAE1C;;;;;;;;;IASG;AACH,wBACE,KAAa,EACb,KAAmB,EACnB,KAA8C,EAC9C,QAA8C;KAF9C,mCAAmB;KACnB,gCAAgB,KAAK,CAAC,OAAO,CAAC,gBAAgB;KAC9C,gDAA8C;KAE9C,MAAM,CAAC,mBAAW,CAChB;SACE,OAAO,EAAE,aAAa;SACtB,QAAQ;MACT,EACD,sBAAM,CAAC,4BAA4B,EAAE;SACnC,cAAc,EAAE;aACd,OAAO,EAAE,IAAI;aACb,QAAQ,EAAE,UAAU;aACpB,IAAI,EAAE,KAAK;aACX,GAAG,EAAE,KAAK;aACV,MAAM,EAAE,KAAK;aACb,KAAK,EAAE,KAAK;aACZ,MAAM,EAAE,YAAY,GAAG,KAAK;UAC7B;MACF,CAAC,CACH,CAAC;AACJ,EAAC;AAvBD,uCAuBC;;;;;;;;;;ACtCD,wCAAmC;AAGnC;;;;;;;;;;IAUG;AACH;KAA4B,cAA4B;UAA5B,UAA4B,EAA5B,qBAA4B,EAA5B,IAA4B;SAA5B,yBAA4B;;KACtD,IAAM,OAAO,GAAa,EAAE,CAAC;KAC7B,IAAM,KAAK,GAAW,EAAE,CAAC;KAEzB,oBAAoB,OAA4B;SAC9C,GAAG,CAAC,CAAc,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO;aAApB,IAAM,GAAG;aACZ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;iBACR,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC;qBAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACpB,CAAC;iBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qBAC9B,UAAU,CAAC,GAAG,CAAC,CAAC;iBAClB,CAAC;iBAAC,IAAI,CAAC,CAAC;qBACN,KAAK,CAAC,IAAI,CAAC,GAAW,CAAC,CAAC;iBAC1B,CAAC;aACH,CAAC;UACF;KACH,CAAC;KAED,UAAU,CAAC,IAAI,CAAC,CAAC;KAEjB,IAAM,WAAW,GAAW,KAAK,CAAC,MAAM,GAAG,YAAG,eAAI,KAAK,IAAI,IAAI,CAAC;KAEhE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;SACnB,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;aAChB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;SACvC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC3B,CAAC;KAED,MAAM,CAAC,WAAW,CAAC;AACrB,EAAC;AA9BD,mCA8BC;;;;;;;;;;AC5CD,8CAA4C;AAE5C;;;;IAIG;AACH;KAAkC,cAAY;UAAZ,UAAY,EAAZ,qBAAY,EAAZ,IAAY;SAAZ,yBAAY;;KAC5C,IAAM,WAAW,GAAM,EAAO,CAAC;KAC/B,IAAM,SAAS,GAAG,EAAE,CAAC;KAErB,IAAI,CAAC,OAAO,CAAC,UAAC,GAAM,IAAK,UAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAC,GAAW;SACnE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACpB,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;SACtB,CAAC;SACD,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;KAChC,CAAC,CAAC,EALuB,CAKvB,CAAC,CAAC;KAEJ,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAC,GAAW;SACzC,WAAW,CAAC,GAAG,CAAC,GAAG,yBAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;KACjD,CAAC,CAAC,CAAC;KAEH,MAAM,CAAC,WAAW,CAAC;AACrB,EAAC;AAhBD,yCAgBC;;;;;;;;;;ACvBD,8CAA4C;AAE5C;;;;;IAKG;AACH,wBAAiC,MAAS;KACxC,MAAM,CAAC,MAAM;UACV,IAAI,CAAC,MAAM,CAAC;UACZ,MAAM,CAAC,UAAC,UAAwC,EAAE,SAAiB;SAClE,UAAU,CAAC,SAAS,CAAC,GAAG,yBAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;SAClE,MAAM,CAAC,UAAU,CAAC;KACpB,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,EAAC;AAPD,uCAOC;;;;;;;;;;ACfD,wCAAmD;AAEnD,wCAAoD;AAEvC,uBAAc,GAA2C,qBAAa,CAAC,yBAAiB,CAAC,CAAC;;;;;;;;;;ACJvG,wCAA+D;AAC/D,wCAE4B;AAE5B;;IAEG;AACU,uBAAc,GAAgD,EAAE,CAAC;yBAGnE,QAAQ;KACjB,MAAM,CAAC,cAAc,CAAC,sBAAc,EAAE,QAAQ,EAAE;SAC9C,GAAG,EAAE;aACH,IAAI,SAAS,GAAG,mBAAW,CACzB,yBAAiB,CAAC,IAAI,EACtB;iBACE,SAAS,EAAE;qBACT,OAAO,EAAE,OAAI,iBAAS,CAAC,QAAQ,CAAC,OAAG;kBACpC;cACF,CACF,CAAC,QAAQ,EAAE,CAAC;aACb,MAAM,CAAC,SAAS,CAAC;SACnB,CAAC;SACD,UAAU,EAAE,IAAI;SAChB,YAAY,EAAE,IAAI;MACnB,CAAC,CAAC;AACL,EAAC;AAjBD,kCAAiC;AACjC,IAAG,CAAC,CAAC,IAAM,QAAQ,IAAI,iBAAS,CAAC;aAAtB,QAAQ;EAgBlB;;;;;;;;;;AC3BD,wCAA2D;AAE3D,iDAA0D;AAqS7C,wBAAe,GAAqB,EAAE,CAAC;AAEpD,IAAG,CAAC,CAAC,IAAM,SAAS,IAAI,+BAAc,CAAC,CAAC,CAAC;KACvC,EAAE,CAAC,CAAC,+BAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC7C,mBAAmB;SACnB,aAAa,CAAC,uBAAe,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SAE9D,cAAc;SACd,aAAa,CAAC,uBAAe,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;SAElE,mBAAmB;SACnB,aAAa,CAAC,uBAAe,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;SAE7E,mBAAmB;SACnB,aAAa,CAAC,uBAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;SAEjF,eAAe;SACf,aAAa,CAAC,uBAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;SAE1E,qBAAqB;SACrB,aAAa,CAAC,uBAAe,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;KAChF,CAAC;AACH,EAAC;AAED;;IAEG;AACH,wBACE,GAAqB,EACrB,SAAiB,EACjB,MAAc,EACd,OAAgB,EAChB,WAAmB;KAEnB,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,EAAE;SAC7C,GAAG,EAAE;aACH,IAAM,KAAK,aAAgB,GAAC,WAAW,IAAG,gBAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAE,CAAC;aAE1E,MAAM,CAAC,mBAAW,CAAC,OAAO,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;;SACvE,CAAC;SACD,UAAU,EAAE,IAAI;SAChB,YAAY,EAAE,IAAI;MACnB,CAAC,CAAC;AACL,EAAC;;;;;;;;;;;;;AClVD,oCAAyC;;;;;;;;;;;;;ACAzC,oCAAwB;AAExB,oCAA4B;;;;;;;;;;;;;;;;;;;;ACF5B,wCAAuC;AACvC,oCAA+B;AAC/B,uCAAsC;AACtC,uCAAsC;AAEtC,yCAAsC;AAEtC,2CAAoF;AACpF,6CAA6C;AAC7C,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC,KAAI,eAAe,GAAkC,EAAE,CAAC;AAExD;KAA2B,yBAA8B;KAqBvD,eAAY,KAAkB;SAA9B,YACE,kBAAM,KAAK,CAAC,SAab;SAXC,KAAI,CAAC,iBAAiB,CAAC;aACrB,cAAc,EAAE,iBAAiB;UAClC,CAAC,CAAC;SAEH,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aACtB,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBACxC,eAAe,CAAC,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;aAC1C,CAAC;aAED,eAAe,CAAC,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SAChD,CAAC;;KACH,CAAC;KAxBD;;;QAGG;KACW,uBAAiB,GAA/B,UAAgC,EAAU;SACxC,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACxB,eAAe,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,eAAK,IAAI,YAAK,CAAC,WAAW,EAAE,EAAnB,CAAmB,CAAC,CAAC;SAC5D,CAAC;KACH,CAAC;KAkBM,iCAAiB,GAAxB;SACE,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC5B,CAAC;KAEM,oCAAoB,GAA3B;SAAA,iBASC;SARC,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAE3B,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aACtB,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,eAAK,IAAI,YAAK,KAAK,KAAI,EAAd,CAAc,CAAC,CAAC;aACxG,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC/C,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aAC5C,CAAC;SACH,CAAC;KACH,CAAC;KAEM,kCAAkB,GAAzB;SAAA,iBA0CC;SAzCC,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;SAE3B,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aACxB,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC7B,CAAC;SAED,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;aACT,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;aAElB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;iBACxB,IAAI,GAAG,GAAG,uBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAEzC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;iBAC9C,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,eAAG,CAAC,UAAU;qBAC3C,GAAC,kBAAkB,GAAG,MAAM,CAAC,WAAW,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;yBAC7D,CAAC;iBAEH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;iBACrC,4BAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;aAC1D,CAAC;aAED,kGAAkG;aAClG,QAAQ,CAAC,mCAAmC,CAC1C,IAAI,EACJ,oBAAC,eAAM,IAAC,SAAS,EAAG,eAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC,IACvD,IAAI,CAAC,KAAK,CAAC,QAAQ,CACd,EACT,IAAI,CAAC,aAAa,EAClB;iBACE,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC;qBACtB,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;qBAExB,sCAAsC;qBACtC,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;yBAC9B,KAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;qBAC9B,CAAC;qBAED,KAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;iBAC/B,CAAC;aACH,CAAC,CAAC,CAAC;SACP,CAAC;;KACH,CAAC;KAEM,sBAAM,GAAb;SACE,MAAM,CAAC,CACL,8BACE,SAAS,EAAC,UAAU,EACpB,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,GACtC,CACH,CAAC;KACJ,CAAC;KAEO,mCAAmB,GAA3B;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;aACvB,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;aAEhC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACpD,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;aAC/C,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;iBACf,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAC7C,CAAC;aACD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;aAC/B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC3B,CAAC;KACH,CAAC;KAEO,wBAAQ,GAAhB;SACQ,8BAAM,CAAgB;SAC5B,IAAI,GAAG,GAAG,uBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAEzC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;aACX,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;SACpC,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;SAClB,CAAC;KACH,CAAC;KAEH,YAAC;AAAD,EAAC,CAlI0B,yBAAa;AAExB,mBAAY,GAAG;KAC3B,eAAe,EAAE,cAAM,gBAAS,EAAT,CAAS;KAChC,kBAAkB,EAAE,cAAM,gBAAS,EAAT,CAAS;EACpC,CAAC;AALS,uBAAK;;;;;;;;;;;;;ACblB,oCAA0C;;;;;;;;;;;;;ACA1C,oCAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAzB,oCAA+B;AAC/B,2CAGyB;AACzB,yCAEuB;AACvB,gDAA4C;AAE5C,KAAM,qBAAqB,GAAG;KAC5B,oBAAQ,CAAC,EAAE;KACX,oBAAQ,CAAC,IAAI;KACb,oBAAQ,CAAC,IAAI;KACb,oBAAQ,CAAC,KAAK;KACd,oBAAQ,CAAC,IAAI;KACb,oBAAQ,CAAC,GAAG;KACZ,oBAAQ,CAAC,GAAG;KACZ,oBAAQ,CAAC,MAAM;KACf,oBAAQ,CAAC,QAAQ;EAClB,CAAC;AAMF,sFAAqF;AACrF,0EAAyE;AACzE,KAAI,mBAAmB,GAAY,KAAK,CAAC;AAEzC,8HAA6H;AAC7H,GAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAChH,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACtD,EAAC;AAED;KAA4B,0BAA4D;KAMtF;SAAA,YACE,iBAAO,SAKR;SAHC,KAAI,CAAC,KAAK,GAAG;aACX,cAAc,EAAE,mBAAmB;UACpC,CAAC;;KACJ,CAAC;KAEM,kCAAiB,GAAxB;SACE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;SACrE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;KACnE,CAAC;KAEM,uBAAM,GAAb;SACU,8CAAc,CAAgB;SACtC,IAAM,MAAM,GAAG,yBAAS,EAAE,CAAC;SAE3B,IAAM,SAAS,GAAG,qBAAW,CAC3B,WAAW,EACX,MAAM,CAAC,IAAI,EACX,IAAI,CAAC,KAAK,CAAC,SAAS,EACpB,cAAc,IAAI,iBAAiB,CAC1B,CAAC;SAEZ,MAAM,CAAC,CACL,wCAAU,IAAI,CAAC,KAAK,IAAG,SAAS,EAAG,SAAS,EAAG,GAAG,EAAC,MAAM,IAAG,CAC7D,CAAC;KACJ,CAAC;KAEO,6BAAY,GAApB;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;aAC9B,IAAI,CAAC,QAAQ,CAAC;iBACZ,cAAc,EAAE,KAAK;cACtB,CAAC,CAAC;aAEH,mBAAmB,GAAG,KAAK,CAAC;SAC9B,CAAC;KACH,CAAC;KAEO,2BAAU,GAAlB,UAAmB,EAAiB;SAClC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/E,IAAI,CAAC,QAAQ,CAAC;iBACZ,cAAc,EAAE,IAAI;cACrB,CAAC,CAAC;aAEH,mBAAmB,GAAG,IAAI,CAAC;SAC7B,CAAC;KACH,CAAC;KACH,aAAC;AAAD,EAAC,CAtD2B,yBAAa,GAsDxC;AAtDY,yBAAM;;;;;;;;;;AClCnB,2CAEyB;AACzB,yCAIuB;AAEvB,KAAM,WAAW,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AAMjC,kBAAS,GAAG,2BAAe,CAAC,UACvC,KAA0B;KAA1B,gCAAgB,kBAAQ,EAAE;KAE1B,MAAM,CAAC;SACL,IAAI,EAAE;aACJ,KAAK,CAAC,KAAK,CAAC,MAAM;aAClB;iBACE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;iBACnC,UAAU,EAAE,WAAW;iBACvB,SAAS,EAAE,WAAW;cACvB;UACF;MACF,CAAC;AACJ,EAAC,CAAC,CAAC;;;;;;;;;AC7BH,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,WAAW,EAAE,sBAAsB;KACnC,OAAO,EAAE,kBAAkB;EAC5B,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,oJAAoJ,EAAC,CAAC,CAAC,CAAC;AAFjL,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXnB,oCAA+B;AAC/B,2CAGyB;AACzB,wCAEiB;AAEjB;KAA+B,6BAA+C;KAA9E;;KAmBA,CAAC;KAjBQ,yCAAqB,GAA5B;SACE,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KAEM,qCAAiB,GAAxB;SACE,aAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACzC,CAAC;KAEM,wCAAoB,GAA3B;SACE,aAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACzC,CAAC;KAEM,0BAAM,GAAb;SACE,MAAM,CAAC,CACL,wCAAU,IAAI,CAAC,KAAK,IAAG,SAAS,EAAG,eAAG,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAK,CAClF,CAAC;KACJ,CAAC;KACH,gBAAC;AAAD,EAAC,CAnB8B,yBAAa,GAmB3C;AAnBY,+BAAS;;;;;;;;;;;;;ACTtB,oCAAwC;;;;;;;;;;;;;ACAxC,oCAAuB;AACvB,oCAA6B;;;;;;;;;;;;;;;;;;ACD7B,qBAAoB;AACpB,oCAA+B;AAC/B,oBAAmB;AAEnB,6CAAoD;AACpD,wCAAuC;AACvC,2CAIyB;AACzB,yCAA+C;AAC/C,8CAA0C;AAE1C,eAAqB,KAAiB;KAElC,+BAAS,EACT,2BAAS,EACT,2BAAoB,EACpB,yBAAQ,CACC;KACX,IAAI,MAAM,GAAG,uBAAS,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;KAEhD,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,qBAAQ,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,qBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;SAC3E,IAAI,kBAAkB,GAAG,eAAG,CAC1B,SAAS,EACT,wBAAwB,EACxB,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,cAAc,EACrB,SAAS,CACV,CAAC;SAEF,MAAM,CAAC,CACL,6BAAK,SAAS,EACZ,eAAG,CACD,kBAAkB,EAClB,MAAM,CAAC,IAAI,CACZ;;aAEE,oBAAC,aAAK,eAAM,KAAK,CAAC,UAAiB,EAAK,CACvC,CACP,CAAC;KACJ,CAAC;KAAC,IAAI,CAAC,CAAC;SACN,IAAI,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;SAE3F,MAAM,CAAC,CACL,kDACe,SAAS,IACjB,CAAC,SAAS,GAAG,EAAE,GAAG;aACrB,IAAI,EAAE,cAAc;aACpB,aAAa,EAAE,IAAI;UACpB,CAAC,EACG,0BAAc,CAAC,KAAK,EAAE,iCAAqB,CAAC,IACjD,SAAS,EACP,eAAG,CACD,SAAS,EACT,wBAAc,CAAC,cAAc,CAAC,EAC9B,MAAM,CAAC,IAAI,EACX,KAAK,CAAC,SAAS,CAChB,IACH,CACH,CAAC;KACJ,CAAC;AACH,EAAC;AAjDD,qBAiDC;;;;;;;;;;AC1DD,4BAA2B;AAC3B,KAAY,QAuBX;AAvBD,YAAY,QAAQ;KAElB;;QAEG;KACH,6CAAW;KAEX;;QAEG;KACH,yCAAS;KAET;;;QAGG;KACH,kDAAgB;KAEhB;;;QAGG;KACH,8CAAc;AAChB,EAAC,EAvBW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAuBnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BD,wCAAuC;AACvC,oCAA+B;AAC/B,uCAAsC;AACtC,2CAMyB;AACzB,8CAAsE;AACtE,yCAAoD;AACpD,6CAA6C;AAC7C,KAAM,MAAM,GAAQ,YAAY,CAAC;AAMjC,KAAY,UAGX;AAHD,YAAY,UAAU;KACpB,qDAAa;KACb,mDAAY;AACd,EAAC,EAHW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAGrB;AAEY,sBAAa;KACxB,GAAC,UAAU,CAAC,SAAS,IAAG,4BAA4B,GAAG,MAAM,CAAC,gBAAgB;KAC9E,GAAC,UAAU,CAAC,QAAQ,IAAG,2BAA2B,GAAG,MAAM,CAAC,eAAe;SAC3E;AAEW,oBAAW;KACtB,GAAC,sBAAQ,CAAC,MAAM,IAAG,yBAAyB,GAAG,MAAM,CAAC,aAAa;KACnE,GAAC,sBAAQ,CAAC,OAAO,IAAG,0BAA0B,GAAG,MAAM,CAAC,cAAc;KACtE,GAAC,sBAAQ,CAAC,KAAK,IAAG,wBAAwB,GAAG,MAAM,CAAC,YAAY;KAChE,GAAC,sBAAQ,CAAC,IAAI,IAAG,uBAAuB,GAAG,MAAM,CAAC,WAAW;SAC7D;AAEF,KAAM,UAAU,GAAW,aAAa,CAAC;AAEzC;KAA2B,yBAAuC;KAchE,eAAY,KAAkB;SAA9B,YACE,kBAAM,KAAK,CAAC,SAKb;SAbD,iEAAiE;SACjE,oEAAoE;SACpE,8BAA8B;SACtB,iBAAW,GAAe,UAAU,CAAC,QAAQ,CAAC;SAOpD,KAAI,CAAC,KAAK,GAAG;aACX,SAAS,EAAE,4BAAc,CAAC,SAAS;UACpC,CAAC;;KACJ,CAAC;KAEM,yCAAyB,GAAhC,UAAiC,SAAsB;SACrD,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;aACrC,IAAI,CAAC,QAAQ,CAAC;iBACZ,SAAS,EAAE,4BAAc,CAAC,SAAS;cACpC,CAAC,CAAC;SACL,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,4BAAc,CAAC,MAAM,CAAC,CAAC,CAAC;aAC1D,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;SACrC,CAAC;KACH,CAAC;KAEM,kCAAkB,GAAzB,UAA0B,SAAsB,EAAE,SAAsB;SACtE,IAAI,CAAC,iBAAiB,EAAE,CAAC;SACzB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB;gBAC9B,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;aAClD,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SACxD,CAAC;KACH,CAAC;KAEM,sBAAM,GAAb;SACE,IAAI,UAAU,GAAG,0BAAc,CAAC,IAAI,CAAC,KAAK,EAAE,2BAAe,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;SAC9E,mBAAgG,EAA9F,YAAG,EAAE,YAAG,EAAE,gBAAK,EAAE,kBAAM,EAAE,8BAAY,EAAE,wBAAS,EAAE,sBAAQ,EAAE,cAAI,EAAE,gCAAa,CAAgB;SAC/F,oCAAS,CAAgB;SAC/B,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;SAClC,IAAI,MAAM,GAAG,SAAS,KAAK,4BAAc,CAAC,MAAM,IAAI,CAAC,SAAS,KAAK,4BAAc,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;SAE9H,+EAA+E;SAC/E,MAAM,CAAC,CACL,6BACE,SAAS,EAAG,eAAG,CACb,UAAU,EACV,MAAM,CAAC,IAAI,EACX,SAAS;iBAEP,GAAC,0BAA0B,GAAG,MAAM,CAAC,mBAAmB,IAAG,aAAa;qBACxE,EAEJ,KAAK,EAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EACxC,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;aAEvC,wCACO,UAAU,IACf,MAAM,EAAG,IAAI,CAAC,cAAc,EAC5B,OAAO,EAAG,IAAI,CAAC,aAAa,EAC5B,GAAG,EAAG,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,EACvC,SAAS,EACP,eAAG,CACD,gBAAgB,EAChB,MAAM,CAAC,KAAK,EACZ,qBAAa,CAAC,UAAU,CAAC,EACzB,CAAC,QAAQ,KAAK,SAAS,CAAC,IAAI,mBAAW,CAAC,QAAQ,CAAC,EACjD,CAAC,MAAM,IAAI,cAAc,EACzB,MAAM,IAAI,YAAY,GAAG,MAAM,CAAC,aAAa,EAC7C,YAAY,IAAI,WAAW,EAC3B,SAAS,KAAK,4BAAc,CAAC,KAAK,IAAI,UAAU,EAChD,MAAM,IAAI,YAAY,IAAI,6BAAmB,CAAC,SAAS;qBAErD,GAAC,6BAA6B,GAAG,MAAM,CAAC,iBAAiB,IAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC;qBAC1G,GAAC,8BAA8B,GAAG,MAAM,CAAC,kBAAkB,IAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;qBAC5G,GAAC,mCAAmC,GAAG,MAAM,CAAC,uBAAuB,IAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;yBACvH,EACN,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EACvC,GAAG,EAAG,GAAG,EACT,GAAG,EAAG,GAAG,EACT,IAAI,EAAG,IAAI,IACX,CACE,CACP,CAAC;;KACJ,CAAC;KAGO,8BAAc,GAAtB,UAAuB,EAA0C;SAC3D,mBAA4B,EAA1B,YAAG,EAAE,kBAAM,CAAgB;SACjC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;aACX,MAAM,CAAC,EAAE,CAAC,CAAC;SACb,CAAC;SAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAEpC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aACR,IAAI,CAAC,QAAQ,CAAC;iBACZ,SAAS,EAAE,4BAAc,CAAC,MAAM;cACjC,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAEO,iCAAiB,GAAzB;SACQ,wBAAG,CAAgB;SACnB,oCAAS,CAAgB;SAE/B,EAAE,CAAC,CAAC,SAAS,KAAK,4BAAc,CAAC,SAAS,CAAC,CAAC,CAAC;aAC3C,0FAA0F;aAC1F,sFAAsF;aACtF,0FAA0F;aAC1F,0CAA0C;aAC1C,IAAI,QAAQ,GAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,CAAC,CAAC;iBAC1G,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;aAE7D,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACb,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACpC,IAAI,CAAC,QAAQ,CAAC;qBACZ,SAAS,EAAE,4BAAc,CAAC,MAAM;kBACjC,CAAC,CAAC;aACL,CAAC;SACH,CAAC;KACH,CAAC;KAEO,kCAAkB,GAA1B,UAA2B,KAAkB;SACrC,6BAAQ,EAAE,mBAAK,EAAE,qBAAM,CAAW;SACxC,EAAE,CAAC,CAAC,QAAQ,KAAK,sBAAQ,CAAC,KAAK,IAAI,QAAQ,KAAK,sBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;aACjE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;iBACvB,gEAAgE;iBAChE,8DAA8D;iBAC9D,IAAI,YAAY,UAAC;iBACjB,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;qBACxB,YAAY,GAAI,KAAgB,GAAI,MAAiB,CAAC;iBACxD,CAAC;iBAAC,IAAI,CAAC,CAAC;qBACN,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;iBAClF,CAAC;iBAED,4DAA4D;iBAC5D,IAAI,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;iBAEtF,4CAA4C;iBAC5C,EAAE,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC;qBAChC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC;iBAC1C,CAAC;iBAAC,IAAI,CAAC,CAAC;qBACN,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC;iBACzC,CAAC;aACH,CAAC;SACH,CAAC;KACH,CAAC;KAGO,6BAAa,GAArB,UAAsB,EAA0C;SAC9D,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;aACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACzB,CAAC;SACD,IAAI,CAAC,QAAQ,CAAC;aACZ,SAAS,EAAE,4BAAc,CAAC,KAAK;UAChC,CAAC,CAAC;KACL,CAAC;KACH,YAAC;AAAD,EAAC,CAnK0B,yBAAa;AACxB,mBAAY,GAAG;KAC3B,YAAY,EAAE,IAAI;EACnB,CAAC;AAEa,gBAAS,GAAG,SAAS,CAAC;AAuFrC;KADC,oBAAQ;4CAcR;AAkDD;KADC,oBAAQ;2CAQR;AAlKU,uBAAK;;;;;;;;;;;ACoBlB;;IAEG;AACH,KAAY,QAwBX;AAxBD,YAAY,QAAQ;KAClB;;QAEG;KACH,2CAAU;KAEV;;;;QAIG;KACH,6CAAW;KAEX;;;QAGG;KACH,yCAAS;KAET;;;QAGG;KACH,uCAAQ;AACV,EAAC,EAxBW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAwBnB;AAED,KAAY,cAsBX;AAtBD,YAAY,cAAc;KACxB;;QAEG;KACH,6DAAa;KAEb;;QAEG;KACH,uDAAU;KAEV;;QAEG;KACH,qDAAS;KAET;;;;QAIG;KACH,iEAAe;AACjB,EAAC,EAtBW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAsBzB;;;;;;;;;AC7GD,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,mBAAmB,EAAE,8BAA8B;KACnD,KAAK,EAAE,gBAAgB;KACvB,aAAa,EAAE,wBAAwB;KACvC,aAAa,EAAE,wBAAwB;KACvC,cAAc,EAAE,yBAAyB;KACzC,YAAY,EAAE,uBAAuB;KACrC,gBAAgB,EAAE,2BAA2B;KAC7C,eAAe,EAAE,0BAA0B;KAC3C,WAAW,EAAE,sBAAsB;KACnC,uBAAuB,EAAE,kCAAkC;KAC3D,iBAAiB,EAAE,4BAA4B;KAC/C,kBAAkB,EAAE,6BAA6B;EAClD,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,60CAA60C,EAAC,CAAC,CAAC,CAAC;AAF12C,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;ACtBnB,yCAKuB;AACvB,2CAEyB;AAGZ,kBAAS,GAAG,2BAAe,CAAC,UACvC,KAA0B,EAC1B,YAAqC;KADrC,gCAAgB,kBAAQ,EAAE;KAC1B,uDAAqC;KAErC,IAAI,UAAU,GAAG;SAEf,IAAI,EAAE,qBAAW,CAAC;aAChB,OAAO,EAAE,cAAc;UACxB,CAAC;SAEF,cAAc,EAAE,qBAAW,CAAC;aAC1B,QAAQ,EAAE,QAAQ;UACnB,CAAC;MACH,CAAC;KAEF,MAAM,CAAC,wBAAc,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAClD,EAAC,CAAC,CAAC;;;;;;;;;AC3BH,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,IAAI,EAAE,eAAe;KACrB,IAAI,EAAE,eAAe;KACrB,IAAI,EAAE,eAAe;KACrB,UAAU,EAAE,qBAAqB;KACjC,IAAI,EAAE,eAAe;KACrB,UAAU,EAAE,qBAAqB;KACjC,MAAM,EAAE,iBAAiB;KACzB,WAAW,EAAE,sBAAsB;KACnC,OAAO,EAAE,kBAAkB;KAC3B,SAAS,EAAE,oBAAoB;KAC/B,QAAQ,EAAE,mBAAmB;KAC7B,WAAW,EAAE,sBAAsB;EACpC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,kCAAkC,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4IAA4I,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wbAAwb,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8IAA8I,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qEAAqE,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sIAAsI,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oDAAoD,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0FAA0F,EAAC,EAAC,EAAC,OAAO,EAAC,sBAAsB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yFAAyF,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,waAAwa,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oiBAAoiB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kMAAkM,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4VAA4V,EAAC,CAAC,CAAC,CAAC;AAFvhH,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;ACtBnB,oCAAwC;;;;;;;;;;;;;ACAxC,oCAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAvB,oCAA+B;AAC/B,2CAOyB;AAEzB,6CAA4C;AAC5C,KAAM,MAAM,GAAQ,YAAY,CAAC;AASjC;KAA0B,wBAA8B;KAAxD;;KAkDA,CAAC;KA/CQ,qBAAM,GAAb;SACM,mBAAoD,EAAlD,sBAAQ,EAAE,sBAAQ,EAAE,wBAAS,EAAE,cAAI,CAAgB;SAEzD,MAAM,CAAC,CACL,IAAI,GAAG,CACL,sCACO,0BAAc,CAAC,IAAI,CAAC,KAAK,EAAE,4BAAgB,CAAC,IACjD,SAAS,EAAG,eAAG,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS;qBAC/C,aAAa,EAAE,QAAQ;;iBACvB,GAAC,MAAM,CAAC,UAAU,IAAG,QAAQ;iBAC7B,GAAC,MAAM,CAAC,SAAS,IAAG,CAAC,QAAQ;qBAC7B,EACF,OAAO,EAAG,IAAI,CAAC,QAAQ,EACvB,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAC/B,MAAM,EAAG,IAAI,CAAC,KAAK,CAAC,MAAM,KAExB,QAAQ,CACR,CACL,GAAG,CACA,2CACO,0BAAc,CAAC,IAAI,CAAC,KAAK,EAAE,4BAAgB,CAAC,IACjD,SAAS,EAAG,eAAG,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS;qBAC/C,aAAa,EAAE,QAAQ;;iBACvB,GAAC,MAAM,CAAC,UAAU,IAAG,QAAQ;qBAC7B,EACF,OAAO,EAAG,IAAI,CAAC,QAAQ,EACvB,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAE7B,QAAQ,CACH,CACV,CAAC,CAAC;;KACT,CAAC;KAEM,oBAAK,GAAZ;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aACf,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;SACrB,CAAC;KACH,CAAC;KAGO,uBAAQ,GAAhB,UAAiB,EAA2D;SACpE,gCAAO,CAAgB;SAE7B,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aACZ,OAAO,CAAC,EAAE,CAAC,CAAC;SACd,CAAC;KACH,CAAC;KACH,WAAC;AAAD,EAAC,CAlDyB,yBAAa,GAkDtC;AAPC;KADC,oBAAQ;qCAOR;AAjDU,qBAAI;;;;;;;;;ACpBjB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,SAAS,EAAE,oBAAoB;KAC/B,UAAU,EAAE,qBAAqB;EAClC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,uBAAuB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uHAAuH,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oCAAoC,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8BAA8B,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6YAA6Y,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kNAAkN,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,GAAG,EAAC,CAAC,CAAC,CAAC;AAF/tC,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;ACZnB,oCAA0C;;;;;;;;;;;;;ACA1C,oCAA6B;AAC7B,oCAA+B;AAC/B,oCAAyB;AACzB,oCAA8C;AAC9C,oCAAgD;AAChD,oCAA8C;AAC9C,oCAA8C;AAC9C,oCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPxC,oCAA+B;AAC/B,2CAUyB;AACzB,yCAA4C;AAC5C,uCAA8C;AAC9C,iDAA+D;AAC/D,gDAA4E;AAsB5E;KAAgC,8BAAiD;KAc/E,oBAAY,KAAuB,EAAE,aAAqB;SAA1D,YACE,kBAAM,KAAK,CAAC,SAeb;SAbC,KAAI,CAAC,iBAAiB,CAAC;aACrB,SAAS,EAAE,IAAI;aACf,IAAI,EAAE,WAAW;aACjB,YAAY,EAAE,eAAe;aAC7B,OAAO,EAAE,SAAS;UACnB,CAAC,CAAC;SAEH,KAAI,CAAC,QAAQ,GAAG,iBAAK,EAAE,CAAC;SACxB,KAAI,CAAC,cAAc,GAAG,iBAAK,EAAE,CAAC;SAC9B,KAAI,CAAC,kBAAkB,GAAG,iBAAK,EAAE,CAAC;SAClC,KAAI,CAAC,KAAK,GAAG;aACX,SAAS,EAAE,IAAI;UAChB,CAAC;;KACJ,CAAC;KAEM,2BAAM,GAAb;SACQ,mBAWa,EAVjB,oCAAe,EACf,wBAAS,EACT,wBAAS,EACT,4BAAW,EACX,sBAAQ,EACR,cAAI,EACJ,wBAAS,EACT,kBAAM,EACN,oBAAO,EACP,sCAAgB,CACE;SAEpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CACpC,MAAM,EACN,SAAS,EACT,gBAAgB,EAChB,SAAS,IAAI,SAAS,CAAC,SAAS,EAChC,QAAQ,EACR,OAAO,CACR,CAAC;SAEI,aAAuD,EAArD,0CAAkB,EAAE,sBAAQ,EAAE,kCAAc,CAAU;SAC9D,IAAM,cAAc,GAAY,CAAC,CAAC,IAAI,CAAC;SACvC,IAAM,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,QAAQ,CAAC;SAC5C,IAAM,WAAW,GAAG,0BAAc,CAChC,kBAAM,CACJ,cAAc,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EACxC,IAAI,CAAC,KAAK,CAAC,SAAS,EACpB,IAAI,CAAC,KAAK,CAAC,EACb,cAAc,GAAG,4BAAgB,GAAG,4BAAgB,EACpD;aACE,UAAU,CAAC,0DAA0D;UACtE,CAAC,CAAC;SACL,yHAAyH;SACzH,6BAA6B;SAC7B,IAAI,eAAe,CAAC;SAEpB,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;aACpB,eAAe,GAAG,kBAAkB,CAAC;SACvC,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;aACvB,eAAe,GAAG,cAAc,CAAC;SACnC,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;aAC3C,eAAe,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;SACpD,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,eAAe,GAAG,IAAI,CAAC;SACzB,CAAC;SAED,IAAM,WAAW,GAAG,kBAAM,CACxB,WAAW,EACX;aACE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;aAChC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;aACvC,UAAU,EAAE,QAAQ;aACpB,YAAY,EAAE,SAAS;aACvB,iBAAiB,EAAE,SAAS,GAAG,IAAI,GAAG,QAAQ;aAC9C,kBAAkB,EAAE,eAAe;aACnC,eAAe,EAAE,QAAQ;aACzB,mBAAmB,EAAE,QAAQ,GAAG,KAAK,GAAG,IAAI;aAC5C,cAAc,EAAE,OAAO;UACxB,CACF,CAAC;SAEF,uFAAuF;SACvF,mEAAmE;SACnE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;aACzB,kBAAM,CACJ,WAAW,EACX;iBACE,SAAS,EAAE,IAAI,CAAC,aAAa;iBAC7B,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,GAAG,KAAK;cACrD,CACF,CAAC;SACJ,CAAC;SAED,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;KACjD,CAAC;KAEM,0BAAK,GAAZ;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;aACxB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;SAC9B,CAAC;KACH,CAAC;KAEO,qCAAgB,GAAxB,UAAyB,GAAQ,EAAE,WAAyB;SAC1D,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SAErB,uCAAa,EACb,qBAAM,EACN,iCAAY,EACZ,2BAAS,EACT,uBAAiC,EAAjC,sDAAiC,EACjC,uBAAiC,EAAjC,sDAAiC,EACjC,8BAA+C,EAA/C,oEAA+C,EAC/C,kCAAuD,EAAvD,4EAAuD,EACvD,2BAAyC,EAAzC,8DAAyC,EACzC,uBAAiC,EAAjC,sDAAiC,EACjC,2BAAyC,EAAzC,8DAAyC,CACjC;SAEV,IAAM,SAAS,GAAG,qBAAW,CAAC,aAAa,GAAG,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;SAEtF,MAAM,CAAC,KAAK,CAAC,aAAa,CACxB,GAAG,EACH,WAAW,EACX,KAAK,CAAC,aAAa,CACjB,KAAK,EACL,EAAE,SAAS,aAAE,EACb,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EACvC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EACvC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,EACrD,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,EAC7D,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAC/C,CAAC,SAAS,IAAI,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAClH,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CACpE,CAAC,CAAC;KACP,CAAC;KAGO,kCAAa,GAArB,UAAsB,WAA0B,EAAE,aAA6C;SACzF,mBAOa,EANf,gCAAa,EACb,sBAAQ,EACR,cAAI,EACJ,wBAAS,EACT,kBAAM,EACN,oBAAO,CACS;SAElB,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC;aACtB,SAAS,GAAG,SAAS,IAAI;iBACvB,QAAQ,EAAE,IAAI;cACD,CAAC;SAClB,CAAC;SAED,MAAM,CAAC,SAAS,IAAI,CAClB,oBAAC,WAAI,eAAM,SAAS,IAAG,SAAS,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAK,CAC9D,CAAC;KACJ,CAAC;KAGO,kCAAa,GAArB;SACM,mBAKkB,EAJtB,sBAAQ,EACN,sBAAQ,EACR,kBAAM,EACN,cAAI,CACiB;SAEvB,sFAAsF;SACtF,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;aACzD,IAAI,GAAG,QAAQ,CAAC;SAClB,CAAC;SAED,MAAM,CAAC,IAAI,IAAI,CACb,8BACE,SAAS,EAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAClC,EAAE,EAAG,IAAI,CAAC,QAAQ,IAEhB,IAAI,CACD,CACR,CAAC;KACJ,CAAC;KAGO,sCAAiB,GAAzB;SACU,kCAAQ,CAAgB;SAEhC,yFAAyF;SACzF,mEAAmE;SACnE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;aACnC,MAAM,CAAC,IAAI,CAAC;SACd,CAAC;SAED,MAAM,CAAC,QAAe,CAAC;KACzB,CAAC;KAGO,yCAAoB,GAA5B,UAA6B,KAAmB;SAE9C,wCAAW,CACI;SAEf,wEAAwE;SACxE,2CAA2C;SAC3C,MAAM,CAAC,WAAW,GAAG,CACnB,8BAAM,SAAS,EAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAG,EAAE,EAAG,IAAI,CAAC,cAAc,IACrE,WAAW,CACR,CACR,GAAG,CACA,IAAI,CACL,CAAC;KACN,CAAC;KAGO,6CAAwB,GAAhC;SACQ,mBAGS,EAFd,oCAAe,EACd,kBAAM,CACQ;SAEhB,sFAAsF;SACtF,oDAAoD;SACpD,MAAM,CAAC,eAAe,GAAG,CACvB,8BAAM,SAAS,EAAG,MAAM,CAAC,gBAA0B,EAAG,EAAE,EAAG,IAAI,CAAC,kBAAkB,IAAK,eAAe,CAAS,CAChH,GAAG,CACA,IAAI,CACL,CAAC;KACN,CAAC;KAGO,sCAAiB,GAAzB,UAA0B,KAAmB;SACvC,mBAOa,EANf,gCAAa,EACb,oBAAO,EACP,sBAAQ,EACR,8BAAY,EACZ,gCAAa,EACb,kBAAM,CACU;SAElB,EAAE,CAAC,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC;aAChC,aAAa,GAAG;iBACd,QAAQ,EAAE,YAAY,KAAK,SAAS,GAAG,aAAa,GAAG,YAAY;cACpE,CAAC;SACJ,CAAC;SAED,MAAM,CAAC,CACL,aAAa;aACX,oBAAC,WAAI,eACE,aAAa,IAClB,SAAS,EACP,qBAAW,CACN,aAAa,UAAO,EACvB,MAAM,CAAC,QAAQ,EACf,QAAQ,IAAI,MAAM,CAAC,gBAAgB,EACnC,CAAC,QAAQ,IAAI,OAAO,IAAI,MAAM,CAAC,eAAe,EAC9C,aAAa,CAAC,SAAS,CACd,IACb;;iBAEF,IAAI,CACP,CAAC;KACJ,CAAC;KAGO,kCAAa,GAArB,UAAsB,SAA+B;SACnD,MAAM,CAAC,CACL,oBAAC,+BAAc,aACb,aAAa,EAAG,IAAI,EACpB,eAAe,EAAG,iCAAe,CAAC,cAAc,IAC5C,SAAS,IACb,SAAS,EAAG,qBAAW,CAAC,wBAAwB,EAAE,SAAS,CAAC,SAAS,CAAW,EAChF,MAAM,EAAG,IAAI,CAAC,cAAc,EAC5B,cAAc,EAAG,IAAI,CAAC,QAAQ,EAC9B,SAAS,EAAG,IAAI,CAAC,aAAa,IAC9B,CACH,CAAC;KACJ,CAAC;KAGO,kCAAa,GAArB;SACU,oCAAS,CAAgB;SACjC,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;SAE5C,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,EAAE,CAAC,CAAC;KACpE,CAAC;KAGO,mCAAc,GAAtB,UACE,MAAqB,EACrB,SAAiB,EACjB,gBAAwB,EACxB,aAAqB,EACrB,QAAiB,EACjB,OAAgB;SAEhB,MAAM,CAAC;aACL,IAAI,EAAE,qBAAW,CACf,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,MAAM,CAAC,IAAI,EACX,OAAO,IAAI;iBACT,YAAY;iBACZ,MAAM,CAAC,WAAW;cACnB,EACD,QAAQ,IAAI;iBACV,aAAa;iBACb,MAAM,CAAC,YAAY;cACpB,EACD,CAAC,QAAQ,IAAI;iBACX,QAAQ,EAAE,MAAM,CAAC,WAAW;iBAC5B,+BAA+B,EAAE,MAAM,CAAC,kBAAkB;iBAC1D,SAAS,EAAE,MAAM,CAAC,WAAW;iBAC7B,gCAAgC,EAAE,MAAM,CAAC,kBAAkB;cAC5D,CACQ;aAEX,aAAa,EAAE,qBAAW,CACxB,yBAAyB,EACzB,MAAM,CAAC,aAAa,CACX;aAEX,IAAI,EAAE,qBAAW,CACf,gBAAgB,EAChB,aAAa,EACb,MAAM,CAAC,IAAI,EACX,OAAO,IAAI,MAAM,CAAC,WAAW,EAC7B,QAAQ,IAAI,MAAM,CAAC,YAAY,CACtB;aAEX,KAAK,EAAE,qBAAW,CAChB,iBAAiB,EACjB,MAAM,CAAC,KAAK,EACZ,OAAO,IAAI,MAAM,CAAC,YAAY,EAC9B,QAAQ,IAAI,MAAM,CAAC,aAAa,CACvB;aAEX,QAAQ,EAAE,qBAAW,CACnB,oBAAoB,EACpB,MAAM,CAAC,QAAQ,EACf,OAAO,IAAI,MAAM,CAAC,eAAe,EACjC,QAAQ,IAAI,MAAM,CAAC,gBAAgB,CAC1B;aAEX,WAAW,EAAE,qBAAW,CACtB,uBAAuB,EACvB,MAAM,CAAC,WAAW,EAClB,OAAO,IAAI,MAAM,CAAC,kBAAkB,EACpC,QAAQ,IAAI,MAAM,CAAC,mBAAmB,CAC7B;aAEX,gBAAgB,EAAE,qBAAW,CAC3B,4BAA4B,EAC5B,MAAM,CAAC,gBAAgB,CACd;UACZ,CAAC;KACJ,CAAC;KACH,iBAAC;AAAD,EAAC,CApX+B,yBAAa;AAE7B,wBAAY,GAAG;KAC3B,aAAa,EAAE,WAAW;KAC1B,UAAU,EAAE,EAAE;KACd,MAAM,EAAE,EAAE;EACX,CAAC;AAkJF;KADC,oBAAQ;gDAoBR;AAGD;KADC,oBAAQ;gDAsBR;AAGD;KADC,oBAAQ;oDAWR;AAGD;KADC,oBAAQ;uDAeR;AAGD;KADC,oBAAQ;2DAcR;AAGD;KADC,oBAAQ;oDAiCR;AAGD;KADC,oBAAQ;gDAaR;AAGD;KADC,oBAAQ;gDAMR;AAGD;KADC,mBAAO;iDAsEP;AAnXU,iCAAU;;;;;;;;;;ACuHvB,KAAY,WAKX;AALD,YAAY,WAAW;KACrB,wBAAwB;KACxB,iDAAU;KACV,mBAAmB;KACnB,iDAAU;AACZ,EAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB;AAED,KAAY,UAQX;AARD,YAAY,UAAU;KACpB,+CAAU;KACV,iDAAW;KACX,2CAAQ;KACR,mDAAY;KACZ,iDAAW;KACX,2CAAQ;KACR,iDAAW;AACb,EAAC,EARW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAQrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3KD,wCAAuC;AACvC,oCAA+B;AAC/B,uCAAsC;AAEtC,2CAAsD;AACtD,+CAA0D;AAC1D,gDAA8D;AAC9D,gDAA8D;AAC9D,iDAAiE;AACjE,6CAAqD;AACrD,gDAA8D;AAC9D;;;IAGG;AACH;KAA4B,0BAA+B;KAMzD,gBAAY,KAAmB;SAA/B,YACE,kBAAM,KAAK,CAAC,SAMb;SAZD;;YAEG;SACO,+BAAyB,GAAG,KAAK,CAAC;SAK1C,gBAAI,CACF,2EAA2E;aAC3E,iEAAiE,CAClE,CAAC;;KACJ,CAAC;KAEM,uBAAM,GAAb;SACE,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SAEzB,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;aACzB,KAAK,yBAAU,CAAC,OAAO;iBACrB,MAAM,CAAC,oBAAC,6BAAa,eAAM,KAAK,EAAK,CAAC;aAExC,KAAK,yBAAU,CAAC,QAAQ;iBACtB,MAAM,CAAC,oBAAC,+BAAc,eAAM,KAAK,EAAK,CAAC;aAEzC,KAAK,yBAAU,CAAC,IAAI;iBAClB,MAAM,CAAC,oBAAC,uBAAU,eAAM,KAAK,EAAK,CAAC;aAErC,KAAK,yBAAU,CAAC,OAAO;iBACrB,MAAM,CAAC,oBAAC,6BAAa,eAAM,KAAK,EAAK,CAAC;aAExC;iBACE,MAAM,CAAC,oBAAC,6BAAa,eAAM,KAAK,EAAK,CAAC;SAC1C,CAAC;KACH,CAAC;KACH,aAAC;AAAD,EAAC,CAnC2B,yBAAa,GAmCxC;AAnCY,yBAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfnB,oCAA+B;AAC/B,6CAA2C;AAC3C,2CAA+D;AAE/D,uDAAmD;AAEnD;KAAmC,iCAA+B;KAAlE;SAAA,qEAkBC;SAjBC;;YAEG;SACO,+BAAyB,GAAG,KAAK,CAAC;;KAc9C,CAAC;KAZQ,8BAAM,GAAb;SACU,8BAAM,CAAgB;SAE9B,MAAM,CAAC,CACL,oBAAC,uBAAU,eACJ,IAAI,CAAC,KAAK,IACf,gBAAgB,EAAC,oBAAoB,EACrC,MAAM,EAAG,gCAAS,CAAC,SAAS,EAAE,MAAM,CAAC,EACrC,mBAAmB,EAAG,sBAAU,IAChC,CACH,CAAC;KACJ,CAAC;KACH,oBAAC;AAAD,EAAC,CAlBkC,yBAAa,GAkB/C;AAlBY,uCAAa;;;;;;;;;;ACL1B,yCAI0B;AAC1B,2CAAqD;AACrD,oDAE8B;AAE9B,KAAM,qBAAqB,GAAG,MAAM,CAAC;AACrC,KAAM,uBAAuB,GAAG,MAAM,CAAC;AACvC,KAAM,eAAe,GAAG,QAAQ,CAAC;AAEpB,kBAAS,GAAG,2BAAe,CAAC,UACvC,KAA0B,EAC1B,YAA4B,EAC5B,UAAmB,EACnB,UAAmB;KAHnB,gCAAgB,kBAAQ,EAAE;KAK1B,IAAI,gBAAgB,GAAkB,6BAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;KACzF,IAAI,mBAAmB,GAAkB;SACvC,IAAI,EAAE;aACJ,QAAQ,EAAE,uBAAuB;aACjC,MAAM,EAAE,qBAAqB;aAC7B,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;aAC7C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;UACpC;SAED,WAAW,EAAE;aACX,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;aAC3C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;UAC3B;SAED,WAAW,EAAE;aACX,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;aAC3C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;UAC3B;SAED,WAAW,EAAE;aACX,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;aAC3C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;UAC3B;SAED,KAAK,EAAE;aACL,UAAU,EAAE,MAAM,CAAC,8BAA8B;UAClD;MAEF,CAAC;KAEF,MAAM,CAAC,wBAAc,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC;AAC7E,EAAC,CAAC,CAAC;;;;;;;;;;ACnDH,2CAAkD;AAClD,yCAIuB;AAEvB,KAAM,SAAS,GAAG;KAChB,OAAO,EAAE,CAAC;EACX,CAAC;AAEF,KAAM,SAAS,GAAG;KAChB,QAAQ,EAAE,mBAAS,CAAC,IAAI;KACxB,MAAM,EAAE,OAAO;KACf,MAAM,EAAE,MAAM;KACd,UAAU,EAAE,MAAM;KAClB,SAAS,EAAE,QAAQ;KACnB,aAAa,EAAE,QAAQ;EACxB,CAAC;AAEF;;;;IAIG;AACU,kBAAS,GAAG,2BAAe,CAAC,UACvC,KAAa,EACb,UAAwB,EACxB,UAAmD;KADnD,6CAAwB;KACxB,0CAAqB,KAAK,CAAC,OAAO,CAAC,gBAAgB;KAGnD,MAAM,CAAC;SACL,IAAI,EAAE;aACJ,uBAAa,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC;aAC5C,KAAK,CAAC,KAAK,CAAC,MAAM;aAClB;iBACE,oEAAoE;iBACpE,SAAS,EAAE,YAAY;iBACvB,MAAM,EAAE,uBAAuB;iBAC/B,UAAU,EAAE,MAAM;iBAClB,OAAO,EAAE,cAAc;iBACvB,cAAc,EAAE,MAAM;iBACtB,SAAS,EAAE,QAAQ;iBACnB,MAAM,EAAE,SAAS;iBACjB,aAAa,EAAE,KAAK;iBACpB,OAAO,EAAE,QAAQ;cAClB;UACF;SAED,YAAY,EAAE;aACZ,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;aAC7C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe;aACpC,MAAM,EAAE,SAAS;aACjB,aAAa,EAAE,MAAM;aACrB,QAAQ,EAAE,SAAS;aACnB,QAAQ,EAAE,SAAS;UACpB;SAED,aAAa,EAAE;aACb,OAAO,EAAE,MAAM;aACf,MAAM,EAAE,MAAM;aACd,QAAQ,EAAE,QAAQ;aAClB,cAAc,EAAE,QAAQ;aACxB,UAAU,EAAE,QAAQ;UACrB;SAED,IAAI,EAAE,SAAS;SAEf,QAAQ,EAAE;aACR,SAAS;aACT;iBACE,QAAQ,EAAE,mBAAS,CAAC,KAAK;cAC1B;UACF;SAED,KAAK,EAAE;aACL,MAAM,EAAE,OAAO;aACf,UAAU,EAAE,MAAM;UACnB;SAED,gBAAgB,EAAE;aAChB,QAAQ,EAAE,UAAU;aACpB,KAAK,EAAE,KAAK;aACZ,MAAM,EAAE,KAAK;aACb,MAAM,EAAE,MAAM;aACd,OAAO,EAAE,CAAC;aACV,QAAQ,EAAE,QAAQ;aAClB,IAAI,EAAE,eAAe;aACrB,MAAM,EAAE,CAAC;UACV;MAEF,CAAC;AACJ,EAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7FH,oCAA+B;AAC/B,6CAA2C;AAC3C,2CAA+D;AAE/D,uDAAmD;AAEnD;KAAmC,iCAA+B;KAAlE;SAAA,qEAmBC;SAjBC;;YAEG;SACO,+BAAyB,GAAG,KAAK,CAAC;;KAc9C,CAAC;KAZQ,8BAAM,GAAb;SACQ,8BAAM,CAAgB;SAE5B,MAAM,CAAC,CACL,oBAAC,uBAAU,eACJ,IAAI,CAAC,KAAK,IACf,gBAAgB,EAAC,oBAAoB,EACrC,MAAM,EAAG,gCAAS,CAAC,SAAS,EAAE,MAAM,CAAC,EACrC,mBAAmB,EAAG,sBAAU,IAChC,CACH,CAAC;KACJ,CAAC;KACH,oBAAC;AAAD,EAAC,CAnBkC,yBAAa,GAmB/C;AAnBY,uCAAa;;;;;;;;;;ACL1B,yCAI0B;AAC1B,2CAAqD;AACrD,oDAE8B;AAE9B,KAAM,qBAAqB,GAAG,MAAM,CAAC;AACrC,KAAM,eAAe,GAAG,OAAO,CAAC;AAEnB,kBAAS,GAAG,2BAAe,CAAC,UACvC,KAA0B,EAC1B,YAA4B;KAD5B,gCAAgB,kBAAQ,EAAE;KAG1B,IAAI,gBAAgB,GAAkB,6BAAmB,CAAC,KAAK,CAAC,CAAC;KACjE,IAAI,mBAAmB,GAAkB;SACvC,IAAI,EAAE;aACJ,WAAW,EAAE,GAAG;aAChB,OAAO,EAAE,eAAe;aACxB,MAAM,EAAE,qBAAqB;aAC7B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;aACnC,eAAe,EAAE,aAAa;UAC/B;SAED,WAAW,EAAE;aACX,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;UACjC;SAED,WAAW,EAAE;aACX,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;UAClC;SAED,YAAY,EAAE;aACZ,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe;aACpC,eAAe,EAAE,aAAa;UAC/B;SAED,WAAW,EAAE;aACX,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB;aAEjD,QAAQ,EAAE;iBACR,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;cAC5C;UACF;SAED,aAAa,EAAE;aACb,cAAc,EAAE,YAAY;UAC7B;SAED,IAAI,EAAE;aACJ,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;UAClC;SAED,YAAY,EAAE;aACZ,KAAK,EAAE,SAAS;UACjB;SAED,QAAQ,EAAE;aACR,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB;UACtC;MAEF,CAAC;KAEF,MAAM,CAAC,wBAAc,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC;AAC7E,EAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpEH,oCAA+B;AAC/B,6CAA2C;AAC3C,2CAA+D;AAE/D,wDAAoD;AAEpD;KAAoC,kCAA+B;KAAnE;SAAA,qEAiBC;SAhBC;;YAEG;SACO,+BAAyB,GAAG,KAAK,CAAC;;KAa9C,CAAC;KAXQ,+BAAM,GAAb;SACQ,8BAAM,CAAgB;SAC5B,MAAM,CAAC,CACL,oBAAC,uBAAU,eACJ,IAAI,CAAC,KAAK,IACf,gBAAgB,EAAC,qBAAqB,EACtC,MAAM,EAAG,iCAAS,CAAC,SAAS,EAAE,MAAM,CAAC,EACrC,YAAY,EAAG,sBAAU,IACzB,CACH,CAAC;KACJ,CAAC;KACH,qBAAC;AAAD,EAAC,CAjBmC,yBAAa,GAiBhD;AAjBY,yCAAc;;;;;;;;;;ACL3B,yCAI0B;AAC1B,2CAAqD;AACrD,uDAE+C;AAE/C,KAAM,qBAAqB,GAAG,MAAM,CAAC;AACrC,KAAM,uBAAuB,GAAG,MAAM,CAAC;AACvC,KAAM,eAAe,GAAG,QAAQ,CAAC;AAEpB,kBAAS,GAAG,2BAAe,CAAC,UACvC,KAA0B,EAC1B,YAA4B;KAD5B,gCAAgB,kBAAQ,EAAE;KAG1B,IAAI,mBAAmB,GAAkB,gCAAsB,CAC7D,KAAK,EACL,YAAY,CACb,CAAC;KACF,IAAI,oBAAoB,GAAkB;SACxC,IAAI,EAAE;aACJ,QAAQ,EAAE,OAAO;aACjB,SAAS,EAAE,MAAM;aACjB,MAAM,EAAE,MAAM;aACd,OAAO,EAAE,MAAM;UAChB;SAED,aAAa,EAAE;aACb,aAAa,EAAE,QAAQ;aACvB,UAAU,EAAE,YAAY;aACxB,QAAQ,EAAE,MAAM;aAChB,MAAM,EAAE,EAAE;UACX;SAED,KAAK,EAAE;aACL,MAAM,EAAE,SAAS;aACjB,UAAU,EAAE,MAAM;UACnB;SAED,WAAW,EAAE;aACX,KAAK,CAAC,KAAK,CAAC,KAAK;aACjB;iBACE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB;iBACrC,UAAU,EAAE,MAAM;cACnB;UACF;SAED,kBAAkB,EAAE;aAClB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;UACjC;SAED,kBAAkB,EAAE;aAClB,KAAK,EAAE,SAAS;UACjB;SAED,kBAAkB,EAAE;aAClB,KAAK,EAAE,SAAS;UACjB;SAED,mBAAmB,EAAE;aACnB,KAAK,EAAE,SAAS;UACjB;MAEF,CAAC;KAEF,MAAM,CAAC,wBAAc,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,YAAY,CAAC,CAAC;AACjF,EAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtEH,oCAA+B;AAC/B,6CAA2C;AAC3C,2CAA+D;AAE/D,oDAAgD;AAEhD;KAAgC,8BAA+B;KAA/D;SAAA,qEAmBC;SAlBC;;YAEG;SACO,+BAAyB,GAAG,KAAK,CAAC;;KAe9C,CAAC;KAbQ,2BAAM,GAAb;SACQ,8BAAM,CAAgB;SAE5B,MAAM,CAAC,CACL,oBAAC,uBAAU,eACJ,IAAI,CAAC,KAAK,IACf,gBAAgB,EAAC,iBAAiB,EAClC,MAAM,EAAG,6BAAS,CAAC,SAAS,EAAE,MAAM,CAAC,EACrC,YAAY,EAAG,sBAAU,EACzB,mBAAmB,EAAG,sBAAU,IAChC,CACH,CAAC;KACJ,CAAC;KACH,iBAAC;AAAD,EAAC,CAnB+B,yBAAa,GAmB5C;AAnBY,iCAAU;;;;;;;;;;ACLvB,yCAI0B;AAC1B,2CAAqD;AACrD,oDAE8B;AAE9B,KAAM,qBAAqB,GAAG,MAAM,CAAC;AACrC,KAAM,eAAe,GAAG,OAAO,CAAC;AAEnB,kBAAS,GAAG,2BAAe,CAAC,UACvC,KAA0B,EAC1B,YAA4B;KAD5B,gCAAgB,kBAAQ,EAAE;KAG1B,IAAI,gBAAgB,GAAkB,6BAAmB,CAAC,KAAK,CAAC,CAAC;KACjE,IAAI,gBAAgB,GAAkB;SACpC,IAAI,EAAE;aACJ,OAAO,EAAE,OAAO;aAChB,KAAK,EAAE,MAAM;aACb,MAAM,EAAE,MAAM;aACd,eAAe,EAAE,aAAa;UAC/B;SAED,WAAW,EAAE;aACX,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;UACjC;SAED,WAAW,EAAE;aACX,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;UAClC;SAED,WAAW,EAAE;aACX,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB;aAEjD,QAAQ,EAAE;iBACR,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;cAC5C;UAEF;SAED,YAAY,EAAE;aACZ,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe;UACrC;MACF,CAAC;KAEF,MAAM,CAAC,wBAAc,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;AAC1E,EAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClDH,oCAA+B;AAC/B,2CAA+D;AAC/D,6CAA2C;AAE3C,uDAAmD;AAEnD;KAAmC,iCAA+B;KAAlE;SAAA,qEAkBC;SAjBC;;YAEG;SACO,+BAAyB,GAAG,KAAK,CAAC;;KAc9C,CAAC;KAZQ,8BAAM,GAAb;SACU,8BAAM,CAAgB;SAE9B,MAAM,CAAC,CACL,oBAAC,uBAAU,eACJ,IAAI,CAAC,KAAK,IACf,gBAAgB,EAAC,oBAAoB,EACrC,mBAAmB,EAAG,sBAAU,EAChC,MAAM,EAAG,gCAAS,CAAC,SAAS,EAAE,MAAM,CAAC,IACrC,CACH,CAAC;KACJ,CAAC;KACH,oBAAC;AAAD,EAAC,CAlBkC,yBAAa,GAkB/C;AAlBY,uCAAa;;;;;;;;;;ACL1B,yCAI0B;AAC1B,2CAAqD;AACrD,uDAE+C;AAElC,kBAAS,GAAG,2BAAe,CAAC,UACvC,KAA0B,EAC1B,YAA4B;KAD5B,gCAAgB,kBAAQ,EAAE;KAGpB,2BAAO,CAAW;KACxB,IAAI,mBAAmB,GAAkB,gCAAsB,CAC7D,KAAK,EACL,YAAY,EACZ,KAAK,EACL,OAAO,CAAC,KAAK,CACd,CAAC;KACF,IAAI,mBAAmB,GAAkB;SACvC,IAAI,EAAE;aACJ,eAAe,EAAE,OAAO,CAAC,YAAY;aACrC,KAAK,EAAE,OAAO,CAAC,KAAK;UACrB;SAED,WAAW,EAAE;aACX,eAAe,EAAE,OAAO,CAAC,SAAS;aAClC,KAAK,EAAE,OAAO,CAAC,KAAK;UACrB;SAED,WAAW,EAAE;aACX,eAAe,EAAE,OAAO,CAAC,YAAY;aACrC,KAAK,EAAE,OAAO,CAAC,KAAK;UACrB;SAED,WAAW,EAAE;aACX,eAAe,EAAE,OAAO,CAAC,SAAS;aAClC,KAAK,EAAE,OAAO,CAAC,KAAK;aAEpB,QAAQ,EAAE;iBACR,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;iBAC3C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;cAC3B;UACF;MACF,CAAC;KAEF,MAAM,CAAC,wBAAc,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC;AAChF,EAAC,CAAC,CAAC;;;;;;;;;AClDH,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,IAAI,EAAE,eAAe;KACrB,OAAO,EAAE,kBAAkB;KAC3B,QAAQ,EAAE,mBAAmB;KAC7B,IAAI,EAAE,eAAe;KACrB,QAAQ,EAAE,mBAAmB;KAC7B,QAAQ,EAAE,mBAAmB;KAC7B,cAAc,EAAE,yBAAyB;EAC1C,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,+HAA+H,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qTAAqT,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sWAAsW,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gGAAgG,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8EAA8E,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iFAAiF,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gdAAgd,EAAC,CAAC,CAAC,CAAC;AAFv+D,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;ACjBnB,oCAA4C;;;;;;;;;;;;;ACA5C,oCAA2B;AAC3B,oCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;ACDjC,oCAA+B;AAE/B,6CAAiF;AACjF,8CAA4C;AAC5C,gDAAgD;AAChD,2CAAiE;AACjE,2CAKyB;AACzB,6CAAgD;AAChD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAUjC;KAA8B,4BAA6C;KAsBzE,kBAAY,KAAqB;SAAjC,YACE,iBAAO,SASR;SAPC,IAAI,WAAW,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;SAC3G,KAAI,CAAC,KAAK,GAAG;aACX,YAAY,EAAE,WAAW;aACzB,aAAa,EAAE,WAAW;UAC3B,CAAC;SAEF,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;;KAC9B,CAAC;KAEM,4CAAyB,GAAhC,UAAiC,SAAyB;SAClD,+DAAuB,EAAE,uBAAK,EAAE,oBAAkB,EAAlB,uCAAkB,CAAe;SAEvE,0FAA0F;SAC1F,kFAAkF;SAClF,IAAI,qBAAqB,GAAG,CAAC,uBAAuB,IAAI,CAAC,uBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;SAChG,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;aAC1B,IAAI,CAAC,QAAQ,CAAC;iBACZ,aAAa,EAAE,KAAK;cACrB,CAAC,CAAC;SACL,CAAC;SAED,IAAI,CAAC,QAAQ,CAAC;aACZ,YAAY,EAAE,KAAK,IAAI,KAAK;UAC7B,CAAC,CAAC;KACL,CAAC;KAEM,qCAAkB,GAAzB;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;aACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;aAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC9B,CAAC;KACH,CAAC;KAEM,yBAAM,GAAb;SACE,IAAI,SAAS,GAAG,eAAe,CAAC;SAC5B,mBAAqH,EAAnH,kCAAc,EAAE,gCAAa,EAAE,oBAAO,EAAE,8CAAoB,EAAE,oDAAuB,EAAE,gCAAa,CAAgB;SACtH,mBAA4C,EAA1C,8BAAY,EAAE,gCAAa,CAAgB;SAEjD,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAAG,GAAG,EAAC,MAAM,EAAC,IAAI,EAAC,aAAa;aAC1E,6BAAK,SAAS,EAAG,eAAG,CAClB,iFAAiF,EACjF,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,eAAe,EACtB,oBAAoB,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CACvF;iBACC,6BAAK,SAAS,EAAG,eAAG,CAAC,uCAAuC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAG,SAAS,EAAG,IAAI,CAAC,yBAAyB;qBACvH,6BAAK,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC;yBACvD,6BAAK,SAAS,EAAG,eAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC;6BACrD,oBAAC,yBAAW,IACV,YAAY,EAAG,YAAY,EAC3B,aAAa,EAAG,aAAa,EAC7B,KAAK,EAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EACxB,YAAY,EAAG,IAAI,CAAC,aAAa,EACjC,cAAc,EAAG,IAAI,CAAC,eAAe,EACrC,SAAS,EAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAChC,cAAc,EAAG,cAAc,EAC/B,aAAa,EAAG,aAAa,EAC7B,uBAAuB,EAAG,uBAAuB,EACjD,OAAO,EAAG,OAAO,EACjB,GAAG,EAAC,WAAW,GAAG;6BAElB,oBAAoB,IAAI,oBAAC,6BAAa,IACtC,aAAa,EAAG,aAAa,EAC7B,OAAO,EAAG,OAAO,EACjB,cAAc,EAAG,IAAI,CAAC,eAAe,GAAK;6BAE1C,aAAa;iCACb,8BACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAG,eAAG,CAAC,kCAAkC,EAAE,MAAM,CAAC,OAAO,CAAC,EACnE,OAAO,EAAG,IAAI,CAAC,YAAY,EAC3B,SAAS,EAAG,IAAI,CAAC,mBAAmB,EACpC,QAAQ,EAAG,CAAC,IACV,OAAO,CAAC,SAAS,CACd,CAEL,CACF,CACF,CACF,CACF,CACP,CAAC;KACJ,CAAC;KAEM,wBAAK,GAAZ;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;aACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SAC9B,CAAC;KACH,CAAC;KAGO,+BAAY,GAApB,UAAqB,IAAU;SAC7B,IAAI,CAAC,QAAQ,CAAC;aACZ,aAAa,EAAE,IAAI;UACpB,CAAC,CAAC;KACL,CAAC;KAGO,kCAAe,GAAvB,UAAwB,IAAU,EAAE,mBAA4B;SAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SACxB,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC;KAC5C,CAAC;KAGO,gCAAa,GAArB,UAAsB,IAAU,EAAE,sBAA8B;SACxD,0CAAY,CAAgB;SAElC,IAAI,CAAC,QAAQ,CAAC;aACZ,YAAY,EAAE,IAAI;UACnB,CAAC,CAAC;SAEH,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;aACjB,YAAY,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;SAC7C,CAAC;KACH,CAAC;KAGO,+BAAY,GAApB;SACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACpC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;KAC7B,CAAC;KAGO,sCAAmB,GAA3B,UAA4B,EAAoC;SAC9D,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;aAC/D,EAAE,CAAC,cAAc,EAAE,CAAC;aACpB,IAAI,CAAC,YAAY,EAAE,CAAC;SACtB,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;aACrD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;iBACzB,EAAE,CAAC,eAAe,EAAE,CAAC;iBACrB,EAAE,CAAC,cAAc,EAAE,CAAC;iBACpB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;aACzB,CAAC;SACH,CAAC;KACH,CAAC;KAGO,4CAAyB,GAAjC,UAAkC,EAAoC;SACpE,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;aACjB,KAAK,oBAAQ,CAAC,KAAK;iBACjB,EAAE,CAAC,cAAc,EAAE,CAAC;iBACpB,KAAK,CAAC;aAER,KAAK,oBAAQ,CAAC,SAAS;iBACrB,EAAE,CAAC,cAAc,EAAE,CAAC;iBACpB,KAAK,CAAC;aAER,KAAK,oBAAQ,CAAC,MAAM;iBAClB,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;iBACvB,KAAK,CAAC;aAER;iBACE,KAAK,CAAC;SACV,CAAC;KACH,CAAC;KAGO,gCAAa,GAArB,UAAsB,EAAoC;SACxD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;aACnC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;SACzB,CAAC;KACH,CAAC;KACH,eAAC;AAAD,EAAC,CA7L6B,yBAAa;AAC3B,sBAAY,GAAmB;KAC3C,YAAY,EAAE,IAAI;KAClB,SAAS,EAAE,IAAI;KACf,oBAAoB,EAAE,IAAI;KAC1B,KAAK,EAAE,IAAI;KACX,KAAK,EAAE,IAAI,IAAI,EAAE;KACjB,cAAc,EAAE,sBAAS,CAAC,MAAM;KAChC,aAAa,EAAE,0BAAa,CAAC,GAAG;KAChC,uBAAuB,EAAE,KAAK;KAC9B,aAAa,EAAE,IAAI;KACnB,OAAO,EAAE,IAAI;EACd,CAAC;AA0GF;KADC,oBAAQ;6CAKR;AAGD;KADC,oBAAQ;gDAIR;AAGD;KADC,oBAAQ;8CAWR;AAGD;KADC,oBAAQ;6CAIR;AAGD;KADC,oBAAQ;oDAYR;AAGD;KADC,oBAAQ;0DAkBR;AAGD;KADC,oBAAQ;8CAKR;AA5LU,6BAAQ;;;;;;;;;;ACvBrB;;IAEG;AACH,KAAY,SAQX;AARD,YAAY,SAAS;KACnB,6CAAU;KACV,6CAAU;KACV,+CAAW;KACX,mDAAa;KACb,iDAAY;KACZ,6CAAU;KACV,iDAAY;AACd,EAAC,EARW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAQpB;AAED;;IAEG;AACH,KAAY,aAIX;AAJD,YAAY,aAAa;KACvB,+CAAO;KACP,iDAAQ;KACR,mDAAS;AACX,EAAC,EAJW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAIxB;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBD,oCAA+B;AAC/B,2CAQyB;AAGzB,2CAA4C;AAC5C,uCAAkC;AAClC,2CAQ2C;AAE3C,6CAAgD;AAChD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC,KAAM,YAAY,GAAG,CAAC,CAAC;AA8BvB;KAAiC,+BAAmD;KAMlF,qBAAmB,KAAwB;SAA3C,YACE,kBAAM,KAAK,CAAC,SASb;SAPC,KAAI,CAAC,KAAK,GAAG;aACX,kBAAkB,EAAE,iBAAK,CAAC,sBAAsB,CAAC;aACjD,KAAK,EAAE,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC;UAC7B,CAAC;SAEF,KAAI,CAAC,kBAAkB,GAAG,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SAC7D,KAAI,CAAC,kBAAkB,GAAG,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;KAC/D,CAAC;KAEM,+CAAyB,GAAhC,UAAiC,SAA4B;SACnD,2CAAa,EAAE,qCAAY,EAAE,uBAAK,CAAe;SAEzD,IAAI,CAAC,QAAQ,CAAC;aACZ,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;UACjC,CAAC,CAAC;KACL,CAAC;KAEM,4BAAM,GAAb;SAAA,iBAiGC;SAhGK,mBAA0C,EAAxC,0CAAkB,EAAE,gBAAK,CAAgB;SAC3C,mBAAqE,EAAnE,kCAAc,EAAE,oBAAO,EAAE,gCAAa,EAAE,8BAAY,CAAgB;SAC1E,IAAI,WAAW,GAAG,iBAAK,CAAC,yBAAyB,CAAC,CAAC;SACnD,IAAI,cAAc,GAAG,iBAAK,CAAC,4BAA4B,CAAC,CAAC;SAEzD,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,SAAS,CAAC,EAAG,EAAE,EAAG,WAAW;aAClF,6BAAK,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC;iBACzD,0CAAe,QAAQ,mBAAe,MAAM,iBAAa,MAAM,EAAC,EAAE,EAAG,cAAc;qBACjF,6BAAK,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,IAAK,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAQ;qBAC9G,6BAAK,SAAS,EAAG,eAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAK,aAAa,CAAC,WAAW,EAAE,CAAQ,CAC3F,CACF;aACN,6BAAK,SAAS,EAAG,eAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,eAAe,CAAC;iBAC3E,6BAAK,SAAS,EAAG,eAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,YAAY,CAAC;qBACrE,8BACE,SAAS,EAAG,eAAG,CAAC,sCAAsC,EAAE,MAAM,CAAC,SAAS,CAAC,EACzE,OAAO,EAAG,IAAI,CAAC,kBAAkB,EACjC,SAAS,EAAG,IAAI,CAAC,mBAAmB,mBACpB,WAAW,gBACd,OAAO,CAAC,kBAAkB,EACvC,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAG,CAAC;yBACZ,oBAAC,WAAI,IAAC,QAAQ,EAAG,kBAAM,EAAE,GAAG,cAAc,GAAG,aAAa,GAAK,CACzD;qBACR,8BACE,SAAS,EAAG,eAAG,CAAC,sCAAsC,EAAE,MAAM,CAAC,SAAS,CAAC,EACzE,OAAO,EAAG,IAAI,CAAC,kBAAkB,EACjC,SAAS,EAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,mBAC/C,WAAW,gBACd,OAAO,CAAC,kBAAkB,EACvC,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAG,CAAC;yBACZ,oBAAC,WAAI,IAAC,QAAQ,EAAG,kBAAM,EAAE,GAAG,aAAa,GAAG,cAAc,GAAK,CACzD,CACH;iBACP,6BAAK,SAAS,EAAG,eAAG,CAAC,mDAAmD,EAAE,MAAM,CAAC,gBAAgB,CAAC,GAAK,CAClG;aACP,oBAAC,qBAAS;iBACR,+BACE,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,mBACtC,MAAM,0BACC,OAAO,qBACV,cAAc,2BACR,kBAAkB;qBAE1C;yBACE,gCACI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,KAAK;6BACjC,mCACE,SAAS,EAAG,eAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,OAAO,CAAC,EACxD,KAAK,EAAC,KAAK,EACX,GAAG,EAAG,KAAK,EACX,KAAK,EAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,cAAc,CAAC,GAAG,YAAY,CAAC,gBAChD,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,cAAc,CAAC,GAAG,YAAY,CAAC,IAChE,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,cAAc,CAAC,GAAG,YAAY,CAAC,CACzD;yBAPL,CAOK,CAAC,CACL,CACC;qBACR,mCACI,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,SAAS;yBAC1B,mCAAI,GAAG,EAAG,SAAS,IACf,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,QAAQ;6BACvB,mCAAI,GAAG,EAAG,GAAG,CAAC,GAAG;iCACf,6BACE,SAAS,EAAG,eAAG,CACb,mBAAmB,EACnB,MAAM,CAAC,GAAG;yCAER,GAAC,6BAA6B,GAAG,MAAM,CAAC,YAAY,IAAG,GAAG,CAAC,SAAS;yCACpE,GAAC,8BAA8B,GAAG,MAAM,CAAC,cAAc,IAAG,CAAC,GAAG,CAAC,SAAS;yCACxE,GAAC,2BAA2B,GAAG,MAAM,CAAC,UAAU,IAAG,GAAG,CAAC,OAAO;yCAC9D,GAAC,iCAAiC,GAAG,MAAM,CAAC,gBAAgB,IAAG,GAAG,CAAC,UAAU;6CAC7E,EACJ,IAAI,EAAC,QAAQ,EACb,OAAO,EAAG,GAAG,CAAC,UAAU,EACxB,SAAS,EAAG,UAAC,EAAoC;yCAC/C,YAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC;qCAAlE,CAAkE,mBACpD,GAAG,CAAC,UAAU,gBACjB,GAAG,CAAC,YAAY,CAAC,cAAc;yCAC1C,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,EACtH,EAAE,EAAG,uBAAY,CAAC,aAAa,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,kBAAkB,GAAG,IAAI,uBAC1D,IAAI,EACxB,GAAG,EAAG,uBAAY,CAAC,aAAa,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,cAAc,GAAG,IAAI,EAC3E,GAAG,EAAG,uBAAY,CAAC,aAAa,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,cAAc,GAAG,IAAI;qCAC3E,6CAAkB,MAAM,IAAG,GAAG,CAAC,IAAI,CAAS,CACxC,CACH;;yBAxBL,CAwBK,CACN,CACE;qBA5BL,CA4BK,CACN,CACK,CACF,CACE,CACP,CACR,CAAC;KACJ,CAAC;KAEM,2BAAK,GAAZ;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;aAC3B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,CAAC,CAAC;aACpC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;SACjC,CAAC;KACH,CAAC;KAEO,wCAAkB,GAA1B,UAA2B,EAAoC,EAAE,IAAU,EAAE,SAAiB,EAAE,QAAgB;SAC9G,EAAE,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;aAChD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,mBAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACpD,EAAE,CAAC,cAAc,EAAE,CAAC;SACtB,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;aACrF,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,mBAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACnD,EAAE,CAAC,cAAc,EAAE,CAAC;SACtB,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,6BAAiB,CAAC,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC3E,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,kBAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACnD,EAAE,CAAC,cAAc,EAAE,CAAC;SACtB,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,6BAAiB,CAAC,oBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC7F,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,kBAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aAClD,EAAE,CAAC,cAAc,EAAE,CAAC;SACtB,CAAC;KACH,CAAC;KAEO,gCAAU,GAAlB,UAAmB,QAAoB,EAAE,EAAoC;SAC3E,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;aAC/D,QAAQ,EAAE,CAAC;SACb,CAAC;KACH,CAAC;KAEO,mCAAa,GAArB,UAAsB,YAAkB;SAClC,mBAAoG,EAAlG,8BAAY,EAAE,gCAAa,EAAE,kCAAc,EAAE,gCAAa,EAAE,oDAAuB,CAAgB;SAEzG,IAAI,SAAS,GAAG,4BAAiB,CAAC,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;SAC/E,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC;aACzB,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;SACxC,CAAC;SAED,+CAA+C;SAC/C,EAAE,CAAC,CAAC,uBAAuB,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;aACpF,IAAI,aAAa,GAAG,0BAAe,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;aACjE,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC;iBACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC5B,CAAC;aAAC,IAAI,CAAC,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC;iBAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC5B,CAAC;SACH,CAAC;KACH,CAAC;KAEO,wCAAkB,GAA1B;SACE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,oBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;KAC3E,CAAC;KAEO,wCAAkB,GAA1B;SACE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,oBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;KAC5E,CAAC;KAGO,yCAAmB,GAA3B,UAA4B,EAAoC;SAC9D,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC7C,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;iBACzB,EAAE,CAAC,cAAc,EAAE,CAAC;iBACpB,EAAE,CAAC,eAAe,EAAE,CAAC;iBACrB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;aACzB,CAAC;SACH,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;SAC/C,CAAC;KACH,CAAC;KAEO,+BAAS,GAAjB,UAAkB,UAA6B;SACvC,4CAAa,EAAE,sCAAY,EAAE,wCAAa,EAAE,0CAAc,EAAE,wBAAK,CAAgB;SACvF,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;SAC9E,IAAI,UAAU,GAAG,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC;SACrC,IAAI,KAAK,GAAG,EAAE,CAAC;SACf,IAAI,IAAI,CAAC;SAET,gEAAgE;SAChE,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,cAAc,EAAE,CAAC;aACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;SACnC,CAAC;SAED,mEAAmE;SACnE,IAAI,yBAAyB,GAAG,KAAK,CAAC;SAEtC,IAAI,aAAa,GAAG,4BAAiB,CAAC,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;SAEnF,GAAG,CAAC,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC,yBAAyB,EAAE,SAAS,EAAE,EAAE,CAAC;aAChE,IAAI,GAAG,EAAE,CAAC;aAEV,yBAAyB,GAAG,IAAI,CAAC;aAEjC,GAAG,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC;iBAC3D,IAAI,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;iBAC7C,IAAI,OAAO,GAAG;qBACZ,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;qBACpB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;qBACpB,YAAY,EAAE,YAAY;qBAC1B,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,aAAa,CAAC,QAAQ,EAAE;qBACvD,OAAO,EAAE,uBAAY,CAAC,UAAU,EAAE,IAAI,CAAC;qBACvC,UAAU,EAAE,6BAAkB,CAAC,IAAI,EAAE,aAAa,CAAC;qBACnD,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC;kBACxD,CAAC;iBAEF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAEnB,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;qBACtB,yBAAyB,GAAG,KAAK,CAAC;iBACpC,CAAC;iBAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;aACnC,CAAC;aAED,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;iBAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnB,CAAC;SACH,CAAC;SAED,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KACH,kBAAC;AAAD,EAAC,CApPgC,yBAAa,GAoP7C;AA9DC;KADC,oBAAQ;uDAWR;AAhMU,mCAAW;;;;;;;;;;ACzDxB,6CAAoE;AAEpE,KAAM,YAAY,GAAG,CAAC,CAAC;AACvB,KAAM,cAAc,GAAG,EAAE,CAAC;AAE1B;;;;;IAKG;AACH,kBAAwB,IAAU,EAAE,IAAY;KAC9C,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;KACtC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;KACxC,MAAM,CAAC,MAAM,CAAC;AAChB,EAAC;AAJD,2BAIC;AAED;;;;;IAKG;AACH,mBAAyB,IAAU,EAAE,KAAa;KAChD,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,YAAY,CAAC,CAAC;AAC7C,EAAC;AAFD,6BAEC;AAED;;;;;;;IAOG;AACH,oBAA0B,IAAU,EAAE,MAAc;KAClD,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;KACtC,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC;KAC1C,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;KAE1B,qHAAqH;KACrH,oDAAoD;KACpD,qFAAqF;KACrF,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,GAAG,cAAc,CAAC,GAAG,cAAc,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;SAC1F,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;KAC9C,CAAC;KACD,MAAM,CAAC,MAAM,CAAC;AAChB,EAAC;AAZD,+BAYC;AAED;;;;;;;IAOG;AACH,mBAAyB,IAAU,EAAE,KAAa;KAChD,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;KACtC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC;KAE/C,qHAAqH;KACrH,oDAAoD;KACpD,qFAAqF;KACrF,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,cAAc,CAAC,GAAG,cAAc,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;SACjG,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;KAC9C,CAAC;KACD,MAAM,CAAC,MAAM,CAAC;AAChB,EAAC;AAXD,6BAWC;AAED;;;;;;;IAOG;AACH,mBAAyB,IAAU,EAAE,KAAa;KAChD,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AAClD,EAAC;AAFD,6BAEC;AAED;;;IAGG;AACH,uBAA6B,KAAW,EAAE,KAAW;KACnD,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;SACnC,MAAM,CAAC,IAAI,CAAC;KACd,CAAC;KAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;SAC1C,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KAAC,IAAI,CAAC,CAAC;SACN,MAAM,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE;gBAC9C,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE;gBACrC,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;KAC5C,CAAC;AACH,EAAC;AAVD,qCAUC;AAED;;;;;;IAMG;AACH,0BAAgC,KAAW,EAAE,KAAW;KACtD,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACnE,EAAC;AAFD,2CAEC;AAED;;;;;;;IAOG;AACH,4BAAkC,IAAU,EAAE,aAA4B,EAAE,cAAyB;KACnG,IAAI,UAAU,GAAG,IAAI,KAAK,EAAQ,CAAC;KACnC,IAAI,SAAS,GAAG,IAAI,CAAC;KACrB,IAAI,OAAO,GAAG,IAAI,CAAC;KAEnB,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;SACtB,KAAK,0BAAa,CAAC,GAAG;aACpB,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;aAC9B,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;aAChC,KAAK,CAAC;SAER,KAAK,0BAAa,CAAC,IAAI;aACrB,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC;aAClE,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;aAC3C,KAAK,CAAC;SAER,KAAK,0BAAa,CAAC,KAAK;aACtB,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;aAC7D,OAAO,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;aAClC,KAAK,CAAC;KACV,CAAC;KAED,mDAAmD;KACnD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC3B,IAAI,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;KACrC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;SACxC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC1B,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;KAClC,CAAC;KAED,MAAM,CAAC,UAAU,CAAC;AACpB,EAAC;AA/BD,+CA+BC;AAED;;;;;IAKG;AACH,6BAAmC,IAAU,EAAE,SAAiB;KAC9D,GAAG,CAAC,CAAoB,UAAS,EAAT,uBAAS,EAAT,uBAAS,EAAT,IAAS;SAA5B,IAAI,WAAW;SAClB,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;aACpC,MAAM,CAAC,IAAI,CAAC;SACd,CAAC;MACF;KACD,MAAM,CAAC,KAAK,CAAC;AACf,EAAC;AAPD,iDAOC;AAED;;;;IAIG;AACH,sBAAqB,IAAU;KAC7B,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AACvE,EAAC;AAED;;;;;IAKG;AACH,6BAA4B,IAAU,EAAE,cAAyB;KAC/D,IAAI,UAAU,GAAG,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;KAChD,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;SACnB,2FAA2F;SAC3F,UAAU,IAAI,YAAY,CAAC;KAC7B,CAAC;KACD,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACnC,EAAC;AAED;;IAEG;AACH,+BAA8B,IAAU;KACtC,2GAA2G;KAC3G,+BAA+B;KAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;KAC3E,8BAA8B;AAChC,EAAC;;;;;;;;;ACrMD,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,MAAM,EAAE,iBAAiB;KACzB,MAAM,EAAE,iBAAiB;KACzB,cAAc,EAAE,yBAAyB;KACzC,KAAK,EAAE,gBAAgB;KACvB,IAAI,EAAE,eAAe;KACrB,SAAS,EAAE,oBAAoB;KAC/B,MAAM,EAAE,iBAAiB;KACzB,KAAK,EAAE,gBAAgB;KACvB,IAAI,EAAE,eAAe;KACrB,KAAK,EAAE,gBAAgB;KACvB,GAAG,EAAE,cAAc;KACnB,OAAO,EAAE,kBAAkB;KAC3B,UAAU,EAAE,qBAAqB;KACjC,aAAa,EAAE,wBAAwB;KACvC,cAAc,EAAE,yBAAyB;KACzC,YAAY,EAAE,uBAAuB;KACrC,gBAAgB,EAAE,2BAA2B;KAC7C,eAAe,EAAE,0BAA0B;KAC3C,WAAW,EAAE,sBAAsB;KACnC,WAAW,EAAE,sBAAsB;KACnC,UAAU,EAAE,qBAAqB;KACjC,eAAe,EAAE,0BAA0B;KAC3C,cAAc,EAAE,yBAAyB;KACzC,gBAAgB,EAAE,2BAA2B;KAC7C,SAAS,EAAE,oBAAoB;KAC/B,SAAS,EAAE,oBAAoB;KAC/B,QAAQ,EAAE,mBAAmB;KAC7B,QAAQ,EAAE,mBAAmB;KAC7B,UAAU,EAAE,qBAAqB;KACjC,UAAU,EAAE,qBAAqB;KACjC,gBAAgB,EAAE,2BAA2B;KAC7C,WAAW,EAAE,sBAAsB;KACnC,aAAa,EAAE,wBAAwB;KACvC,UAAU,EAAE,qBAAqB;KACjC,WAAW,EAAE,sBAAsB;KACnC,UAAU,EAAE,qBAAqB;KACjC,aAAa,EAAE,wBAAwB;KACvC,OAAO,EAAE,kBAAkB;KAC3B,cAAc,EAAE,yBAAyB;KACzC,0BAA0B,EAAE,qCAAqC;KACjE,eAAe,EAAE,0BAA0B;KAC3C,eAAe,EAAE,0BAA0B;KAC3C,YAAY,EAAE,uBAAuB;EACtC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,oHAAoH,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sNAAsN,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0bAA0b,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oEAAoE,EAAC,EAAC,EAAC,OAAO,EAAC,WAAW,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mhBAAmhB,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2DAA2D,EAAC,EAAC,EAAC,OAAO,EAAC,YAAY,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mDAAmD,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kCAAkC,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oGAAoG,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,cAAc,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6YAA6Y,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8GAA8G,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,cAAc,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oHAAoH,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gwBAAgwB,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0nBAA0nB,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oUAAoU,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mPAAmP,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qCAAqC,EAAC,EAAC,EAAC,OAAO,EAAC,WAAW,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+NAA+N,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oHAAoH,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8VAA8V,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2IAA2I,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sCAAsC,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uDAAuD,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,g/BAAg/B,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oDAAoD,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mTAAmT,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gGAAgG,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wuGAAwuG,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oOAAoO,EAAC,CAAC,CAAC,CAAC;AAFn8X,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;;;;;;;;ACrDnB,oCAA+B;AAC/B,2CAKyB;AAEzB,2CAA4C;AAC5C,2CAAuE;AACvE,uCAAkC;AAClC,6CAAgD;AAChD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAQjC;KAAmC,iCAAsC;KAGvE,uBAAmB,KAA0B;SAA7C,YACE,kBAAM,KAAK,CAAC,SAUb;SARC,KAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;SAChC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,KAAK;aACzC,KAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,EAAE,KAAK,CAAC,CAAC;SAC5E,CAAC,CAAC,CAAC;SAEH,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SAC3D,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SAC3D,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;KACvD,CAAC;KAEM,8BAAM,GAAb;SAAA,iBAmDC;SAjDK,mBAAuC,EAArC,gCAAa,EAAE,oBAAO,CAAgB;SAE5C,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,WAAW,CAAC;aACnE,6BAAK,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC;iBACzD,6BAAK,SAAS,EAAG,eAAG,CAClB,yDAAyD,EACzD,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,YAAY,CACpB;qBACC,8BACE,SAAS,EAAG,eAAG,CAAC,oCAAoC,EAAE,MAAM,CAAC,QAAQ,CAAC,EACtE,OAAO,EAAG,IAAI,CAAC,iBAAiB,EAChC,SAAS,EAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,gBACjD,OAAO,CAAC,iBAAiB,EACtC,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAG,CAAC;yBACZ,oBAAC,WAAI,IAAC,QAAQ,EAAG,kBAAM,EAAE,GAAG,cAAc,GAAG,aAAa,GAAK,CAC1D;qBACP,8BACE,SAAS,EAAG,eAAG,CAAC,oCAAoC,EAAE,MAAM,CAAC,QAAQ,CAAC,EACtE,OAAO,EAAG,IAAI,CAAC,iBAAiB,EAChC,SAAS,EAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,gBACjD,OAAO,CAAC,iBAAiB,EACtC,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAG,CAAC;yBACZ,oBAAC,WAAI,IAAC,QAAQ,EAAG,kBAAM,EAAE,GAAG,aAAa,GAAG,cAAc,GAAK,CAC1D,CACH;iBACN,6BAAK,SAAS,EAAG,eAAG,CAAC,6CAA6C,EAAE,MAAM,CAAC,WAAW,CAAC,IAAK,aAAa,CAAC,WAAW,EAAE,CAAQ,CAC3H;aACN,oBAAC,qBAAS;iBACR,6BAAK,SAAS,EAAG,eAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,UAAU,CAAC,IAC/D,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,KAAK;qBACrC,qCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAG,eAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,WAAW,CAAC,EAChE,GAAG,EAAG,KAAK,EACX,OAAO,EAAG,KAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,gBAC9B,mBAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,uBAC9E,IAAI,IAEtB,KAAK,CACF;iBATP,CASO,CACR,CACG,CACI,CACR,CACP,CAAC;KACJ,CAAC;KAEO,kCAAU,GAAlB,UAAmB,QAAoB,EAAE,EAAoC;SAC3E,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;aAC/D,QAAQ,EAAE,CAAC;SACb,CAAC;KACH,CAAC;KAEO,yCAAiB,GAAzB;SACM,mBAA8C,EAA5C,gCAAa,EAAE,kCAAc,CAAgB;SACnD,cAAc,CAAC,mBAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;KACpD,CAAC;KAAA,CAAC;KAEM,yCAAiB,GAAzB;SACM,mBAA8C,EAA5C,gCAAa,EAAE,kCAAc,CAAgB;SACnD,cAAc,CAAC,mBAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;KACrD,CAAC;KAAA,CAAC;KAEM,sCAAc,GAAtB,UAAuB,QAAgB;SACjC,mBAA8C,EAA5C,gCAAa,EAAE,kCAAc,CAAgB;SACnD,cAAc,CAAC,mBAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;KAC1D,CAAC;KACH,oBAAC;AAAD,EAAC,CAzFkC,yBAAa,GAyF/C;AAzFY,uCAAa;;;;;;;;;;AClB1B,6CAAiF;AAExE,4CAAS;AAAE,oDAAa;;;;;;;;;;;;;ACJjC,oCAA4C;;;;;;;;;;;;;ACA5C,oCAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA3B,oCAA+B;AAC/B,2CAKyB;AAKzB,6CAAgD;AAChD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAUjC;KAA8B,4BAA6C;KAOzE,kBAAY,KAAqB;SAAjC,YACE,kBAAM,KAAK,CAAC,SAWb;SATC,KAAI,CAAC,sBAAsB,CAAC;aAC1B,SAAS,EAAE,gBAAgB;UAC5B,CAAC,CAAC;SAEH,KAAI,CAAC,GAAG,GAAG,iBAAK,CAAC,WAAW,CAAC,CAAC;SAC9B,KAAI,CAAC,KAAK,GAAG;aACX,SAAS,EAAE,KAAK;aAChB,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC;UAClF,CAAC;;KACJ,CAAC;KAEM,yBAAM,GAAb;SACQ,mBAQQ,EAPZ,oBAAO,EACP,wBAAS,EACT,kCAAc,EACd,sBAAQ,EACR,0BAAU,EACV,gBAAK,EACL,cAAI,CACS;SAEP,oCAAS,CAAgB;SACjC,IAAM,SAAS,GAAG,OAAO,KAAK,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;SAEzE,MAAM,CAAC,CACL,6BACE,SAAS,EAAG,eAAG,CACb,aAAa,EACb,MAAM,CAAC,IAAI,EACX,SAAS;qBAEP,YAAY,EAAE,SAAS;;iBACvB,GAAC,MAAM,CAAC,aAAa,IAAG,SAAS;qBACjC;aAEJ,0CACO,UAAU,EACV,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,WAAE,CAAC,EACtC,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,cAAc,kBAAE,CAAC,IACzD,QAAQ,EAAG,QAAQ,EACnB,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EACnC,EAAE,EAAG,IAAI,CAAC,GAAG,EACb,IAAI,EAAG,IAAI,IAAI,IAAI,CAAC,GAAG,EACvB,SAAS,EAAG,eAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,EAClD,IAAI,EAAC,UAAU,EACf,QAAQ,EAAG,IAAI,CAAC,SAAS,EACzB,OAAO,EAAG,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAG,IAAI,CAAC,OAAO,kBACN,SAAS,IACxB;aACA,IAAI,CAAC,KAAK,CAAC,QAAQ;aACrB,+BAAO,OAAO,EAAG,IAAI,CAAC,GAAG,EACvB,SAAS,EAAG,eAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,KAAK;qBAC/C,GAAC,aAAa,GAAG,MAAM,CAAC,cAAc,IAAG,SAAS;qBAClD,GAAC,cAAc,GAAG,MAAM,CAAC,eAAe,IAAG,QAAQ;qBACnD,GAAC,MAAM,CAAC,cAAc,IAAG,SAAS;yBAClC,IAGA,KAAK,IAAI,8BAAM,SAAS,EAAG,MAAM,CAAC,SAAS,IAAK,KAAK,CAAS,CAC1D,CACJ,CACP,CAAC;;KACJ,CAAC;KAED,sBAAW,6BAAO;cAAlB;aACE,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;SACzD,CAAC;;;QAAA;KAEM,wBAAK,GAAZ;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;aACnB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SACzB,CAAC;KACH,CAAC;KAGO,2BAAQ,GAAhB,UAAiB,EAAsC;SAC7C,sCAAU,CAAgB;SAElC,EAAE,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;aACrC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACzB,CAAC;SAED,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KACrC,CAAC;KAGO,0BAAO,GAAf,UAAgB,EAAsC;SAC5C,sCAAU,CAAgB;SAElC,EAAE,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;aACpC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACxB,CAAC;SAED,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;KACtC,CAAC;KAGO,4BAAS,GAAjB,UAAkB,EAAqC;SAC7C,kCAAQ,CAAgB;SAChC,IAAM,SAAS,GAAI,EAAE,CAAC,MAA2B,CAAC,OAAO,CAAC;SAE1D,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;aACb,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;SAC1B,CAAC;SAED,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC;aACrC,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;SAC1C,CAAC;KACH,CAAC;KACH,eAAC;AAAD,EAAC,CAzH6B,yBAAa;AAC3B,sBAAY,GAAmB,EAC5C,CAAC;AAqFF;KADC,oBAAQ;yCASR;AAGD;KADC,oBAAQ;wCASR;AAGD;KADC,oBAAQ;0CAYR;AAxHU,6BAAQ;;;;;;;;;ACtBrB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,SAAS,EAAE,oBAAoB;KAC/B,KAAK,EAAE,gBAAgB;KACvB,KAAK,EAAE,gBAAgB;KACvB,eAAe,EAAE,0BAA0B;KAC3C,cAAc,EAAE,yBAAyB;KACzC,cAAc,EAAE,yBAAyB;KACzC,aAAa,EAAE,wBAAwB;EACxC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,6CAA6C,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gVAAgV,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4XAA4X,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yUAAyU,EAAC,EAAC,EAAC,OAAO,EAAC,qBAAqB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mDAAmD,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8CAA8C,EAAC,EAAC,EAAC,OAAO,EAAC,qBAAqB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uEAAuE,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sEAAsE,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+CAA+C,EAAC,EAAC,EAAC,OAAO,EAAC,qBAAqB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oDAAoD,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qEAAqE,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oBAAoB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,meAAme,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yHAAyH,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6HAA6H,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sLAAsL,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qEAAqE,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gBAAgB,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,shBAAshB,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uTAAuT,EAAC,EAAC,EAAC,OAAO,EAAC,qBAAqB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yFAAyF,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wFAAwF,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0IAA0I,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4HAA4H,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qIAAqI,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;AAFxjL,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;ACjBnB,oCAA+C;;;;;;;;;;;;;ACA/C,oCAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA9B,oCAA+B;AAC/B,wCAAoC;AACpC,wCAAoC;AACpC,uCAAkC;AAElC,2CAKyB;AACzB,6CAAmD;AACnD,KAAM,MAAM,GAAQ,YAAY,CAAC;AASjC;KAAiC,+BAAmD;KASlF,qBAAY,KAAwB;SAApC,YACE,kBAAM,KAAK,CAAC,SAgBb;SAdC,KAAI,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;SACpD,KAAI,CAAC,sBAAsB,CAAC;aAC1B,WAAW,EAAE,oBAAoB;UAClC,CAAC,CAAC;SAEH,KAAI,CAAC,KAAK,GAAG;aACX,UAAU,EAAE,CAAC,KAAK,CAAC,kBAAkB,KAAK,SAAS,CAAC;iBAClD,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC;iBAC1B,KAAK,CAAC,kBAAkB;aAC1B,UAAU,EAAE,SAAS;UACtB,CAAC;SAEF,KAAI,CAAC,GAAG,GAAG,iBAAK,CAAC,aAAa,CAAC,CAAC;SAChC,KAAI,CAAC,QAAQ,GAAG,iBAAK,CAAC,kBAAkB,CAAC,CAAC;;KAC5C,CAAC;KAEM,+CAAyB,GAAhC,UAAiC,QAA2B;SAC1D,IAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;SACpD,IAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAEtD,EAAE,CAAC,CAAC,aAAa,KAAK,aAAa,CAAC,CAAC,CAAC;aACpC,IAAI,CAAC,QAAQ,CAAC;iBACZ,UAAU,EAAE,aAAa;cAC1B,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAEM,4BAAM,GAAb;SAAA,iBA0DC;SAzDK,mBAAoD,EAAlD,gBAAK,EAAE,oBAAO,EAAE,wBAAS,EAAE,sBAAQ,CAAgB;SACrD,mBAAuC,EAArC,0BAAU,EAAE,0BAAU,CAAgB;SAE5C,MAAM,CAAC;SACL,yGAAyG;SACzG,6BAAK,IAAI,EAAC,aAAa,EAAC,SAAS,EAAG,SAAS;aAC3C,6BACE,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,EACnD,IAAI,EAAC,YAAY,qBACC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE;iBAE3D,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CACpB,oBAAC,aAAK,IAAC,SAAS,EAAG,SAAS,EAAG,QAAQ,EAAG,QAAQ,EAAG,EAAE,EAAG,IAAI,CAAC,GAAG,GAAG,QAAQ,IAAK,KAAK,CAAU,CAClG;iBAEC,OAAO,CAAC,GAAG,CAAC,UAAC,MAA0B;qBACjC,6BAAmC,EAAnC,yDAAmC,CAAY;qBAErD,mCAAmC;qBACnC,kBAAM,CAAC,MAAM,EAAE;yBACb,OAAO,EAAE,MAAM,CAAC,GAAG,KAAK,UAAU;yBAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAI,CAAC,KAAK,CAAC,QAAQ;yBAChD,EAAE,EAAK,KAAI,CAAC,GAAG,SAAI,MAAM,CAAC,GAAK;yBAC/B,OAAO,EAAK,KAAI,CAAC,QAAQ,SAAI,MAAM,CAAC,GAAK;sBAC1C,CAAC,CAAC;qBAEH,MAAM,CAAC,CACL,6BACE,GAAG,EAAG,MAAM,CAAC,GAAG,EAChB,SAAS,EAAG,eAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,WAAW;6BAClD,GAAC,wBAAwB,GAAG,MAAM,CAAC,kBAAkB,IAAG,CAAC,CAAC,MAAM,CAAC,QAAQ;6BACzE,GAAC,uBAAuB,GAAG,MAAM,CAAC,iBAAiB,IAAG,CAAC,CAAC,MAAM,CAAC,SAAS;6BACxE,GAAC,aAAa,GAAG,MAAM,CAAC,oBAAoB,IAAG,MAAM,CAAC,GAAG,KAAK,UAAU;iCACxE;yBAGF,+BACE,GAAG,EAAG,UAAC,CAAC,IAAuB,YAAI,CAAC,aAAa,GAAG,CAAC,EAAtB,CAAsB,EACrD,EAAE,EAAG,MAAM,CAAC,EAAE,EACd,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,EACrD,IAAI,EAAC,OAAO,EACZ,IAAI,EAAG,KAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAI,CAAC,GAAG,EAClC,QAAQ,EAAG,MAAM,CAAC,QAAQ,IAAI,KAAI,CAAC,KAAK,CAAC,QAAQ,EACjD,OAAO,EAAG,MAAM,CAAC,GAAG,KAAK,UAAU,EACnC,QAAQ,EAAG,QAAQ,EACnB,QAAQ,EAAG,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,EAAE,MAAM,CAAC,EAC5C,OAAO,EAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,EAAE,MAAM,CAAC,EAC1C,MAAM,EAAG,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAI,EAAE,MAAM,CAAC,qBACtB,MAAM,CAAC,EAAE,GAC3B;yBACA,aAAa,CAAC,MAAM,EAAE,KAAI,CAAC,cAAc,CAAC,CACxC,CACP,CAAC;;iBACJ,CAAC,CAAC,CACE,CACF,CACP,CAAC;KACJ,CAAC;KAEM,2BAAK,GAAZ;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;aACvB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAC7B,CAAC;KACH,CAAC;KAEO,8BAAQ,GAAhB,UAAiB,MAA0B,EAAE,EAAiC;SAC5E,IAAI,CAAC,QAAQ,CAAC;aACZ,UAAU,EAAE,MAAM,CAAC,GAAG;aACtB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;UAClC,CAAC,CAAC;KACL,CAAC;KAEO,6BAAO,GAAf,UAAgB,MAA0B,EAAE,EAAiC;SAC3E,IAAI,CAAC,QAAQ,CAAC;aACZ,UAAU,EAAE,SAAS;aACrB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;UAClC,CAAC,CAAC;KACL,CAAC;KAEO,oCAAc,GAAtB,UAAuB,MAA0B;SAE/C,MAAM,CAAC,CACL,+BACE,OAAO,EAAG,MAAM,CAAC,EAAE,EACnB,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK;iBAClD,GAAC,8BAA8B,GAAG,MAAM,CAAC,YAAY,IAAG,CAAC,CAAC,MAAM,CAAC,QAAQ;iBACzE,GAAC,uBAAuB,GAAG,MAAM,CAAC,WAAW,IAAG,CAAC,CAAC,MAAM,CAAC,SAAS;iBAClE,GAAC,aAAa,GAAG,MAAM,CAAC,cAAc,IAAG,MAAM,CAAC,OAAO;iBACvD,GAAC,cAAc,GAAG,MAAM,CAAC,eAAe,IAAG,MAAM,CAAC,QAAQ;qBAC1D;aAGA,MAAM,CAAC,QAAQ,IAAI,CACjB,6BAAK,SAAS,EAAG,eAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,UAAU,CAAC;iBAClE,6BAAK,SAAS,EAAG,eAAG,CAClB,6BAA6B,EAC7B,MAAM,CAAC,YAAY;yBAEjB,GAAC,YAAY,GAAG,MAAM,CAAC,oBAAoB,IAAG,MAAM,CAAC,OAAO;6BAC5D;qBAEF,oBAAC,aAAK,IACJ,GAAG,EAAG,MAAM,CAAC,QAAQ,EACrB,KAAK,EAAG,MAAM,CAAC,SAAS,CAAC,KAAK,EAC9B,MAAM,EAAG,MAAM,CAAC,SAAS,CAAC,MAAM,GAChC,CACE;iBACN,6BAAK,SAAS,EAAG,eAAG,CAClB,6BAA6B,EAC7B,MAAM,CAAC,YAAY;yBAEjB,GAAC,YAAY,GAAG,MAAM,CAAC,oBAAoB,IAAG,CAAC,MAAM,CAAC,OAAO;6BAC7D;qBAEF,oBAAC,aAAK,IACJ,GAAG,EAAG,MAAM,CAAC,gBAAgB,EAC7B,KAAK,EAAG,MAAM,CAAC,SAAS,CAAC,KAAK,EAC9B,MAAM,EAAG,MAAM,CAAC,SAAS,CAAC,MAAM,GAChC,CACE,CACF,CACP;aAGD,MAAM,CAAC,SAAS;mBACZ,6BAAK,SAAS,EAAG,eAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,UAAU,CAAC;qBACpE,6BAAK,SAAS,EAAG,eAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,WAAW,CAAC;yBACpE,oBAAC,WAAI,eAAM,MAAM,CAAC,SAAS,EAAK,CAC5B,CACF;mBACJ,IAAI;aAGR,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS;mBAC/B,CACA,6BAAK,SAAS,EAAG,eAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,YAAY,CAAC;qBACtE,8BAAM,EAAE,EAAG,MAAM,CAAC,OAAO,EAAG,SAAS,EAAC,UAAU,IAAG,MAAM,CAAC,IAAI,CAAS,CACnE,CACP,GAAG,CACF,8BAAM,EAAE,EAAG,MAAM,CAAC,OAAO,EAAG,SAAS,EAAC,UAAU,IAAG,MAAM,CAAC,IAAI,CAAS,CACxE,CAEC,CACT,CAAC;;KACJ,CAAC;KAEO,+BAAS,GAAjB,UAAkB,MAA0B,EAAE,GAAsC;SAC9E,mBAAiD,EAA/C,wBAAS,EAAE,sBAAQ,EAAE,4BAAW,CAAgB;SAEtD,+CAA+C;SAC/C,EAAE,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC;aAC9B,IAAI,CAAC,QAAQ,CAAC;iBACZ,UAAU,EAAE,MAAM,CAAC,GAAG;cACvB,CAAC,CAAC;SACL,CAAC;SAED,+FAA+F;SAC/F,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;aACb,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;SACxB,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;aACrB,SAAS,CAAC,MAAM,CAAC,CAAC;SACpB,CAAC;KACH,CAAC;KAED;;;QAGG;KACK,oCAAc,GAAtB,UAAuB,KAAwB;SAC7C,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC;aACpC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;SAC3B,CAAC;SAED,IAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAC,MAA0B;aACrE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;SACxB,CAAC,CAAC,CAAC;SAEH,EAAE,CAAC,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;aAChC,MAAM,CAAC,SAAS,CAAC;SACnB,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;SAC/B,CAAC;KACH,CAAC;KACH,kBAAC;AAAD,EAAC,CA/NgC,yBAAa;AAC9B,yBAAY,GAAG;KAC3B,OAAO,EAAE,EAAE;EACZ,CAAC;AAHS,mCAAW;;;;;;;;;;;;;ACrBxB,oCAAyC;;;;;;;;;;;;;ACAzC,oCAAwB;AACxB,oCAA8B;;;;;;;;;;;;;ACD9B,oCAAyC;;;;;;;;;;;;;ACAzC,oCAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAxB,oCAA+B;AAC/B,2CAAoF;AAEpF,6CAA6C;AAC7C,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC;KAA2B,yBAA+B;KAA1D;;KAiBA,CAAC;KAhBQ,sBAAM,GAAb;SACM,mBAAwD,EAAtD,sBAAQ,EAAE,sBAAQ,EAAE,sBAAQ,EAAE,wBAAS,CAAgB;SAE7D,MAAM,CAAC,CACL,0CACO,0BAAc,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAa,CAAC,IAC9C,SAAS,EAAG,eAAG,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS;qBAChD,aAAa,EAAE,QAAQ;qBACvB,aAAa,EAAE,QAAQ;;iBACvB,GAAC,MAAM,CAAC,UAAU,IAAG,QAAQ;iBAC7B,GAAC,MAAM,CAAC,UAAU,IAAG,QAAQ;qBAC7B,KACA,QAAQ,CACJ,CACT,CAAC;;KACJ,CAAC;KACH,YAAC;AAAD,EAAC,CAjB0B,yBAAa,GAiBvC;AAjBY,uBAAK;;;;;;;;;ACNlB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,UAAU,EAAE,qBAAqB;KACjC,UAAU,EAAE,qBAAqB;EAClC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,+GAA+G,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kJAAkJ,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8BAA8B,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,GAAG,EAAC,CAAC,CAAC,CAAC;AAFhgB,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;ACZnB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,WAAW,EAAE,sBAAsB;KACnC,KAAK,EAAE,gBAAgB;KACvB,KAAK,EAAE,gBAAgB;KACvB,cAAc,EAAE,yBAAyB;KACzC,eAAe,EAAE,0BAA0B;KAC3C,kBAAkB,EAAE,6BAA6B;KACjD,iBAAiB,EAAE,4BAA4B;KAC/C,YAAY,EAAE,uBAAuB;KACrC,WAAW,EAAE,sBAAsB;KACnC,UAAU,EAAE,qBAAqB;KACjC,YAAY,EAAE,uBAAuB;KACrC,oBAAoB,EAAE,+BAA+B;KACrD,YAAY,EAAE,uBAAuB;KACrC,WAAW,EAAE,sBAAsB;KACnC,oBAAoB,EAAE,+BAA+B;EACtD,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,4MAA4M,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mdAAmd,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oBAAoB,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4hCAA4hC,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yEAAyE,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oEAAoE,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iTAAiT,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,ohBAAohB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6HAA6H,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gBAAgB,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,ySAAyS,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gUAAgU,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gBAAgB,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4FAA4F,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sLAAsL,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4vOAA4vO,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,ksCAAksC,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yxFAAyxF,EAAC,EAAC,EAAC,OAAO,EAAC,WAAW,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,g9BAAg9B,EAAC,EAAC,EAAC,OAAO,EAAC,WAAW,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,48BAA48B,EAAC,EAAC,EAAC,OAAO,EAAC,WAAW,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kfAAkf,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8YAA8Y,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uZAAuZ,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,ssBAAssB,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0vBAA0vB,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mwBAAmwB,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;AAFx7rB,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;ACzBnB,oCAA+C;;;;;;;;;;;;;ACA/C,oCAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;ACA9B,oCAA+B;AAC/B,2CAIyB;AAEzB,4CAA4C;AAC5C,iDAAkD;AAClD,8CAA4C;AAC5C,yCAQsC;AACtC,yCAA+C;AAC/C,6CAAmD;AACnD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAOjC;KAAiC,+BAAmD;KAOlF,qBAAY,KAAwB;SAApC,YACE,kBAAM,KAAK,CAAC,SAKb;SAHC,KAAI,CAAC,KAAK,GAAG;aACX,KAAK,EAAE,2BAAkB,CAAC,KAAK,CAAC,KAAK,CAAC;UAClB,CAAC;;KACzB,CAAC;KAEM,+CAAyB,GAAhC,UAAiC,QAA2B;SAC1D,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;aACnB,IAAI,CAAC,YAAY,CAAC,2BAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;SACxD,CAAC;KACH,CAAC;KAEM,4BAAM,GAAb;SAAA,iBAoFC;SAnFO,4BAAK,CAAgB;SAE3B,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC;aACjD,6BAAK,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC;iBACxD,oBAAC,+BAAc,IAAC,KAAK,EAAG,KAAK,EAAG,WAAW,EAAG,IAAI,CAAC,YAAY,GAAK;iBACpE,oBAAC,yBAAW,IACV,SAAS,EAAG,eAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAClD,QAAQ,EAAG,CAAC,EACZ,QAAQ,EAAG,sBAAa,EACxB,KAAK,EAAG,KAAK,CAAC,CAAC,EACf,SAAS,EAAG,IAAI,CAAC,WAAW,GAC5B;iBACA,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,CACjC,oBAAC,yBAAW,IACV,SAAS,EAAG,eAAG,CAAC,UAAU,EAAE,MAAM,CAAC,kBAAkB,CAAC,EACtD,YAAY,EAAG,EAAE,UAAU,EAAE,8CAA4C,KAAK,CAAC,GAAG,WAAQ,EAAE,EAC5F,QAAQ,EAAG,CAAC,EACZ,QAAQ,EAAG,GAAG,EACd,KAAK,EAAG,KAAK,CAAC,CAAC,EACf,SAAS,EAAG,IAAI,CAAC,WAAW,GAC5B,CAAC;iBACL,+BAAO,SAAS,EAAC,sBAAsB,EAAC,WAAW,EAAC,GAAG,EAAC,WAAW,EAAC,GAAG;qBACrE;yBACE,4BAAI,SAAS,EAAG,wBAAc,CAAC,KAAK;6BAClC,sCAAY;6BACZ,sCAAY;6BACZ,wCAAc;6BACd,uCAAa;6BACX,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,CACjC,wCAAc,CAAC,CACd,CACC;qBACR;yBACE;6BACE;iCACE,oBAAC,qBAAS,IACR,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,EACrD,KAAK,EAAG,KAAK,CAAC,GAAG,EACjB,GAAG,EAAG,UAAC,GAAG,IAAK,YAAI,CAAC,OAAO,GAAG,GAAG,EAAlB,CAAkB,EACjC,MAAM,EAAG,IAAI,CAAC,aAAa,GAC3B,CACC;6BACL,4BAAI,KAAK,EAAG,EAAE,KAAK,EAAE,KAAK,EAAE;iCAC1B,oBAAC,qBAAS,IACR,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,EACrD,MAAM,EAAG,IAAI,CAAC,cAAc,EAC5B,KAAK,EAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EACvB,GAAG,EAAG,UAAC,GAAG,IAAK,YAAI,CAAC,KAAK,GAAG,GAAG,EAAhB,CAAgB,GAC/B,CACC;6BACL,4BAAI,KAAK,EAAG,EAAE,KAAK,EAAE,KAAK,EAAE;iCAC1B,oBAAC,qBAAS,IACR,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,EACrD,MAAM,EAAG,IAAI,CAAC,cAAc,EAC5B,KAAK,EAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EACvB,GAAG,EAAG,UAAC,GAAG,IAAK,YAAI,CAAC,KAAK,GAAG,GAAG,EAAhB,CAAgB,GAC/B,CACC;6BACL,4BAAI,KAAK,EAAG,EAAE,KAAK,EAAE,KAAK,EAAE;iCAC1B,oBAAC,qBAAS,IACR,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,EACrD,MAAM,EAAG,IAAI,CAAC,cAAc,EAC5B,KAAK,EAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EACvB,GAAG,EAAG,UAAC,GAAG,IAAK,YAAI,CAAC,KAAK,GAAG,GAAG,EAAhB,CAAgB,GAC/B,CACC;6BACH,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,CACjC,4BAAI,KAAK,EAAG,EAAE,KAAK,EAAE,KAAK,EAAE;iCAC1B,oBAAC,qBAAS,IACR,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,EACrD,MAAM,EAAG,IAAI,CAAC,cAAc,EAC5B,KAAK,EAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EACvB,GAAG,EAAG,UAAC,GAAG,IAAK,YAAI,CAAC,KAAK,GAAG,GAAG,EAAhB,CAAgB,GAC/B,CACC,CACN,CACE,CACC,CACF,CACJ,CACF,CACP,CAAC;KACJ,CAAC;KAGO,kCAAY,GAApB,UAAqB,CAAS,EAAE,CAAS;SACvC,IAAI,CAAC,YAAY,CAAC,iBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KACtD,CAAC;KAGO,iCAAW,GAAnB,UAAoB,CAAS;SAC3B,IAAI,CAAC,YAAY,CAAC,gBAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;KAClD,CAAC;KAGO,iCAAW,GAAnB,UAAoB,CAAS;SAC3B,IAAI,CAAC,YAAY,CAAC,gBAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;KAClD,CAAC;KAGO,mCAAa,GAArB;SACE,IAAI,CAAC,YAAY,CAAC,2BAAkB,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;KAClE,CAAC;KAGO,oCAAc,GAAtB;SACE,IAAI,CAAC,YAAY,CAAC,yBAAgB,CAAC;aACjC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;aAC3B,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;aAC3B,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;aAC3B,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;UAC5B,CAAC,CAAC,CAAC;KACN,CAAC;KAEO,kCAAY,GAApB,UAAqB,QAAgB;SAC7B,8CAAc,CAAgB;SAEpC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;aAC1C,IAAI,CAAC,QAAQ,CAAC;iBACZ,KAAK,EAAE,QAAQ;cACK,EAAE;iBACtB,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;qBACnB,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;iBAC/B,CAAC;aACH,CAAC,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KACH,kBAAC;AAAD,EAAC,CAtJgC,yBAAa,GAsJ7C;AA1CC;KADC,oBAAQ;gDAGR;AAGD;KADC,oBAAQ;+CAGR;AAGD;KADC,oBAAQ;+CAGR;AAGD;KADC,oBAAQ;iDAGR;AAGD;KADC,oBAAQ;kDAQR;AAvIU,mCAAW;;;;;;;;;;;;;AC5BxB,oCAA6C;;;;;;;;;;;;;ACA7C,oCAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA5B,oCAA+B;AAE/B,wCAAoC;AACpC,uCAAkC;AAClC,2CAQyB;AACzB,6CAAiD;AACjD,KAAM,MAAM,GAAQ,YAAY,CAAC;AACjC,yCAAoD;AAgBpD;KAA+B,6BAA+C;KA4B5E,mBAAmB,KAAsB;SAAzC,YACE,kBAAM,KAAK,CAAC,SA0Bb;SAxBC,KAAI,CAAC,iBAAiB,CAAC;aACrB,WAAW,EAAE,WAAW;UACzB,CAAC,CAAC;SAEH,KAAI,CAAC,sBAAsB,CAAC;aAC1B,OAAO,EAAE,cAAc;UACxB,CAAC,CAAC;SAEH,KAAI,CAAC,GAAG,GAAG,iBAAK,CAAC,WAAW,CAAC,CAAC;SAC9B,KAAI,CAAC,cAAc,GAAG,iBAAK,CAAC,sBAAsB,CAAC,CAAC;SAEpD,KAAI,CAAC,KAAK,GAAG;aACX,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,IAAI,EAAE;aAC9C,SAAS,EAAE,KAAK;aAChB,YAAY,EAAE,EAAE;UACjB,CAAC;SAEF,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SACrD,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SACzC,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SAEvC,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;SAChG,KAAI,CAAC,eAAe,GAAG,CAAC,CAAC;SACzB,KAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;;KACvC,CAAC;KAKD,sBAAW,4BAAK;SAHhB;;YAEG;cACH;aACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SAC1B,CAAC;;;QAAA;KAEM,qCAAiB,GAAxB;SACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAE1B,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;aAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACnC,CAAC;KACH,CAAC;KAEM,6CAAyB,GAAhC,UAAiC,QAAyB;SAChD,8CAAc,CAAgB;SAEtC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;aACxE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;iBACnB,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACjC,CAAC;aAED,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;aACnC,IAAI,CAAC,QAAQ,CAAC;iBACZ,KAAK,EAAE,QAAQ,CAAC,KAAK;iBACrB,YAAY,EAAE,EAAE;cACE,CAAC,CAAC;aAEtB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACxC,CAAC;KACH,CAAC;KAEM,wCAAoB,GAA3B;SACE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KAC1B,CAAC;KAEM,0BAAM,GAAb;SACM,mBAaU,EAZZ,wBAAS,EACT,4BAAW,EACX,sBAAQ,EACR,wBAAS,EACT,wBAAS,EACT,gBAAK,EACL,wBAAS,EACT,sBAAQ,EACR,0BAAU,EACV,0BAAU,EACV,4BAAW,EACX,qBAAmC,EAAnC,wDAAmC,CACtB;SACT,oCAAS,CAAgB;SAC/B,IAAM,YAAY,GAAW,IAAI,CAAC,aAAa,CAAC;SAChD,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,WAAW,IAAI,YAAY,CAAC,CAAC;SAEpE,IAAM,kBAAkB,GAAG,eAAG,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS;aACnE,GAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAG,QAAQ;aAClD,GAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAG,QAAQ;aAClD,GAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAG,SAAS;aAC/C,GAAC,0BAA0B,GAAG,MAAM,CAAC,eAAe,IAAG,SAAS;aAChE,GAAC,2BAA2B,GAAG,MAAM,CAAC,gBAAgB,IAAG,UAAU;aACnE,GAAC,2BAA2B,GAAG,MAAM,CAAC,gBAAgB,IAAG,UAAU;iBACnE,CAAC;SAEH,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,kBAAkB;aAC/B,KAAK,IAAI,oBAAC,aAAK,IAAC,OAAO,EAAG,IAAI,CAAC,GAAG,IAAK,KAAK,CAAU;aACxD,6BAAK,SAAS,EAAG,eAAG,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,IAAI,MAAM,CAAC,mBAAmB,CAAC;iBAC5E,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAC3D,6BAAK,SAAS,EAAG,eAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IACnC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAC5C,CACP;iBACC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;iBACxD,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,oBAAC,WAAI,aAAC,SAAS,EAAG,eAAG,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,IAAQ,SAAS,EAAK,CAC7F;aACJ,IAAI,CAAC,uBAAuB;iBAC5B,8BAAM,EAAE,EAAG,IAAI,CAAC,cAAc;qBAC1B,WAAW,IAAI,8BAAM,SAAS,EAAG,eAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,WAAW,CAAC,IAAK,WAAW,CAAS;qBAC7G,YAAY;yBACZ,0CAAe,WAAW;6BACxB,oBAAC,yBAAa;iCACZ,2BACE,SAAS,EAAG,eAAG,CAAC,2BAA2B,EAAE,6BAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,YAAY,CAAC,wBACjF,eAAe;qCAClC,oBAAC,WAAI,IAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,EAAG,MAAM,CAAC,SAAS,GAAK;qCACtD,YAAY,CACZ,CACU,CACZ,CAEH,CAEL,CACP,CAAC;;KACJ,CAAC;KAED;;QAEG;KACI,yBAAK,GAAZ;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;aACtB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;SAC5B,CAAC;KACH,CAAC;KAED;;QAEG;KACI,0BAAM,GAAb;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;aACtB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;SAC7B,CAAC;KACH,CAAC;KAED;;QAEG;KACI,qCAAiB,GAAxB,UAAyB,KAAa;SACpC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;aACtB,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,KAAK,CAAC;SAC3C,CAAC;KACH,CAAC;KAED;;QAEG;KACI,mCAAe,GAAtB,UAAuB,KAAa;SAClC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;aACtB,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,KAAK,CAAC;SACzC,CAAC;KACH,CAAC;KAED;;;;QAIG;KACI,qCAAiB,GAAxB,UAAyB,KAAa,EAAE,GAAW;SACjD,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;aACtB,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SAClD,CAAC;KACH,CAAC;KAEO,4BAAQ,GAAhB,UAAiB,EAA4D;SAC3E,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;aACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACzB,CAAC;SAED,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SACnC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;aACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACnC,CAAC;KACH,CAAC;KAEO,2BAAO,GAAf,UAAgB,EAA4D;SAC1E,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACxB,CAAC;SAED,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;SACpC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;aAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACnC,CAAC;KACH,CAAC;KAEO,kCAAc,GAAtB,UAAuB,KAAsB;SACrC,mCAAW,CAAW;SAC5B,MAAM,CAAC,CACL,8BAAM,KAAK,EAAG,EAAE,aAAa,EAAE,KAAK,EAAE,IAAK,WAAW,CAAS,CAChE,CAAC;KACJ,CAAC;KAEO,4CAAwB,GAAhC;SACE,IAAM,YAAY,GAAW,IAAI,CAAC,aAAa,CAAC;SAChD,IAAI,kBAA0B,CAAC;SAE/B,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;aAClD,kBAAkB,GAAG,eAAG,CAAC,oDAAoD,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;SAC1H,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,kBAAkB,GAAG,eAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;SAC/D,CAAC;SAED,MAAM,CAAC,eAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;aACtD,GAAC,uBAAuB,GAAG,MAAM,CAAC,OAAO,IAAG,CAAC,CAAC,YAAY;aAC1D,GAAC,MAAM,CAAC,OAAO,IAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS;iBACxC,CAAC;;KACL,CAAC;KAED,sBAAY,oCAAa;cAAzB;aACQ,0CAAY,CAAgB;aAClC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;iBAClB,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;aACzC,CAAC;aAED,MAAM,CAAC,YAAY,CAAC;SACtB,CAAC;;;QAAA;KAEO,mCAAe,GAAvB;SACE,IAAI,aAAa,GAAG,0BAAc,CAAC,IAAI,CAAC,KAAK,EAAE,8BAAkB,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;SAErF,MAAM,CAAC,CACL,2CACE,EAAE,EAAG,IAAI,CAAC,GAAG,IACR,aAAa,IAClB,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EACtC,KAAK,EAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EACxB,OAAO,EAAG,IAAI,CAAC,cAAc,EAC7B,QAAQ,EAAG,IAAI,CAAC,cAAc,EAC9B,SAAS,EAAG,IAAI,CAAC,wBAAwB,EAAE,sBACxB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,kBAC7D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,gBAC3B,IAAI,CAAC,KAAK,CAAC,SAAS,EACjC,OAAO,EAAG,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAG,IAAI,CAAC,OAAO,IACrB,CACH,CAAC;KACJ,CAAC;KAEO,gCAAY,GAApB;SACE,IAAI,UAAU,GAAG,0BAAc,CAAoC,IAAI,CAAC,KAAK,EAAE,2BAAe,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;SAElH,MAAM,CAAC,CACL,wCACE,IAAI,EAAG,MAAM,EACb,EAAE,EAAG,IAAI,CAAC,GAAG,IACR,UAAU,IACf,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EACtC,KAAK,EAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EACxB,OAAO,EAAG,IAAI,CAAC,cAAc,EAC7B,QAAQ,EAAG,IAAI,CAAC,cAAc,EAC9B,SAAS,EAAG,IAAI,CAAC,wBAAwB,EAAE,gBAC9B,IAAI,CAAC,KAAK,CAAC,SAAS,sBACd,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,kBAC7D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EACxC,OAAO,EAAG,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAG,IAAI,CAAC,OAAO,IACrB,CACH,CAAC;KACJ,CAAC;KAEO,kCAAc,GAAtB,UAAuB,KAA8D;SAArF,iBA6BC;SA5BC,IAAM,OAAO,GAAqB,KAAK,CAAC,MAA0B,CAAC;SACnE,IAAM,KAAK,GAAW,OAAO,CAAC,KAAK,CAAC;SAEpC,+DAA+D;SAC/D,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;aAChC,MAAM,CAAC;SACT,CAAC;SACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAE1B,IAAI,CAAC,QAAQ,CAAC;aACZ,KAAK,EAAE,KAAK;aACZ,YAAY,EAAE,EAAE;UACE,EAClB;aACE,KAAI,CAAC,kBAAkB,EAAE,CAAC;aAE1B,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;iBACzB,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aAC9B,CAAC;SACH,CAAC,CAAC,CAAC;SAEC,mBAAsD,EAApD,wCAAiB,EAAE,0CAAkB,CAAgB;SAC7D,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;aAC/C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC/B,CAAC;SAEO,8CAAc,CAAgB;SACtC,cAAc,CAAC,KAAK,CAAC,CAAC;KACxB,CAAC;KAEO,6BAAS,GAAjB,UAAkB,KAAa;SAA/B,iBA6BC;SA5BC,+FAA+F;SAC/F,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,KAAK,KAAK,CAAC,CAAC,CAAC;aACxC,MAAM,CAAC;SACT,CAAC;SAED,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;SAC5B,oDAAiB,CAAgB;SACvC,IAAI,MAAM,GAAiC,iBAAiB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;SAE1E,EAAE,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC;aACzB,EAAE,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC;iBAC/B,IAAI,CAAC,QAAQ,CAAC;qBACZ,YAAY,EAAE,MAAM;kBACF,CAAC,CAAC;iBACtB,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;aAC3C,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,IAAI,mBAAiB,GAAW,EAAE,IAAI,CAAC,eAAe,CAAC;iBAEvD,MAAM,CAAC,IAAI,CAAC,UAAC,YAAoB;qBAC/B,EAAE,CAAC,CAAC,KAAI,CAAC,UAAU,IAAI,mBAAiB,KAAK,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC;yBAClE,KAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,gBAAqB,CAAC,CAAC;qBACrD,CAAC;qBACD,KAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;iBACjD,CAAC,CAAC,CAAC;aACL,CAAC;SACH,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;SACvC,CAAC;KACH,CAAC;KAEO,wCAAoB,GAA5B,UAA6B,KAAa,EAAE,YAAoB;SAC9D,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU;aACjB,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;aAC1B,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;aACtC,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;SAC3D,CAAC;KACH,CAAC;KAEO,sCAAkB,GAA1B;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;aAC7E,IAAM,SAAS,GAAG,IAAI,CAAC,YAA2B,CAAC;aACnD,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;aAC5B,IAAI,YAAY,GAAG,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,mCAAmC;aAClF,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;SAC/C,CAAC;KACH,CAAC;KACH,gBAAC;AAAD,EAAC,CA1X8B,yBAAa;AAC5B,uBAAY,GAAoB;KAC5C,SAAS,EAAE,KAAK;KAChB,SAAS,EAAE,IAAI;KACf,gBAAgB,EAAE,KAAK;KACvB,UAAU,EAAE,KAAK;KACjB,UAAU,EAAE,KAAK;KACjB,SAAS,EAAE,cAAmB,CAAC;KAC/B,cAAc,EAAE,cAAmB,CAAC;KACpC,wBAAwB,EAAE,cAAmB,CAAC;KAC9C,iBAAiB,EAAE,cAAM,gBAAS,EAAT,CAAS;KAClC,sBAAsB,EAAE,GAAG;KAC3B,YAAY,EAAE,EAAE;KAChB,iBAAiB,EAAE,KAAK;KACxB,kBAAkB,EAAE,KAAK;KACzB,cAAc,EAAE,IAAI;EACrB,CAAC;AAhBS,+BAAS;;;;;;;;;AC/BtB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,gBAAgB,EAAE,2BAA2B;KAC7C,UAAU,EAAE,qBAAqB;KACjC,mBAAmB,EAAE,8BAA8B;KACnD,cAAc,EAAE,yBAAyB;KACzC,UAAU,EAAE,qBAAqB;KACjC,KAAK,EAAE,gBAAgB;KACvB,OAAO,EAAE,kBAAkB;KAC3B,cAAc,EAAE,yBAAyB;KACzC,YAAY,EAAE,uBAAuB;KACrC,SAAS,EAAE,oBAAoB;KAC/B,IAAI,EAAE,eAAe;KACrB,WAAW,EAAE,sBAAsB;KACnC,gBAAgB,EAAE,2BAA2B;KAC7C,gBAAgB,EAAE,2BAA2B;KAC7C,eAAe,EAAE,0BAA0B;KAC3C,YAAY,EAAE,uBAAuB;KACrC,OAAO,EAAE,kBAAkB;KAC3B,kBAAkB,EAAE,6BAA6B;KACjD,MAAM,EAAE,iBAAiB;EAC1B,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,wRAAwR,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,cAAc,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wSAAwS,EAAC,EAAC,EAAC,OAAO,EAAC,qBAAqB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kEAAkE,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kEAAkE,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gBAAgB,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0bAA0b,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gBAAgB,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sEAAsE,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iRAAiR,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,ifAAif,EAAC,EAAC,EAAC,OAAO,EAAC,mBAAmB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+DAA+D,EAAC,EAAC,EAAC,OAAO,EAAC,mBAAmB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kDAAkD,EAAC,EAAC,EAAC,OAAO,EAAC,mBAAmB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6CAA6C,EAAC,EAAC,EAAC,OAAO,EAAC,mBAAmB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sDAAsD,EAAC,EAAC,EAAC,OAAO,EAAC,mBAAmB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8EAA8E,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qDAAqD,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+TAA+T,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4JAA4J,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oMAAoM,EAAC,EAAC,EAAC,OAAO,EAAC,qBAAqB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8jCAA8jC,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oFAAoF,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uHAAuH,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+EAA+E,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,y0BAAy0B,EAAC,EAAC,EAAC,OAAO,EAAC,SAAS,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2GAA2G,EAAC,EAAC,EAAC,OAAO,EAAC,SAAS,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,m7BAAm7B,EAAC,CAAC,CAAC,CAAC;AAFp+P,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BnB,oCAA+B;AAC/B,2CAKyB;AACzB,yCAMsC;AACtC,6CAAmD;AACnD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAgBjC;KAAoC,kCAAsD;KAUxF,wBAAY,KAA2B;SAAvC,YACE,kBAAM,KAAK,CAAC,SAUb;SARO,6BAAK,CAAgB;SAE3B,KAAI,CAAC,KAAK,GAAG;aACX,WAAW,EAAE,KAAK;aAClB,MAAM,EAAE,IAAI;aACZ,KAAK,EAAE,KAAK;aACZ,eAAe,EAAE,2BAAkB,CAAC,KAAK,CAAC;UAC3C,CAAC;;KACJ,CAAC;KAEM,6CAAoB,GAA3B;SACE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;KACzB,CAAC;KAEM,kDAAyB,GAAhC,UAAiC,QAA8B;SACvD,0BAAK,CAAc;SAEzB,IAAI,CAAC,QAAQ,CAAC;aACZ,KAAK,EAAE,KAAK;aACZ,eAAe,EAAE,2BAAkB,CAAC,KAAK,CAAC;UAC3C,CAAC,CAAC;KACL,CAAC;KAEM,+BAAM,GAAb;SACQ,gCAAO,CAAgB;SACzB,mBAAuC,EAArC,gBAAK,EAAE,oCAAe,CAAgB;SAE5C,MAAM,CAAC,CACL,6BAAK,GAAG,EAAC,MAAM,EAAC,SAAS,EAAG,eAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,SAAS,CAAC,EAAG,KAAK,EAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,EAAG,WAAW,EAAG,IAAI,CAAC,YAAY;aACnM,6BAAK,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,GAAK;aAC/D,6BAAK,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAK;aAC7D,6BAAK,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,EAAG,KAAK,EAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,wBAAe,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC,GAAG,EAAE,GAAK,CACjK,CACP,CAAC;KACJ,CAAC;KAGO,qCAAY,GAApB,UAAqB,EAAiC;SACpD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;SAC9D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAE1D,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;KACxB,CAAC;KAGO,qCAAY,GAApB,UAAqB,EAAiC;SAChD,mBAAmC,EAAjC,gBAAK,EAAE,4BAAW,CAAgB;SACxC,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAEtD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;SAChE,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;SAEhE,IAAI,QAAQ,GAAG,kBAAM,CAAC,EAAE,EAAE,KAAK,EAAE;aAC/B,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,6BAAoB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,6BAAoB,CAAC,CAAC;aAClF,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,wBAAe,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,wBAAe,GAAG,CAAC,WAAW,GAAG,wBAAe,CAAC,CAAC,CAAC;UAC7F,CAAC,CAAC;SAEH,QAAQ,CAAC,GAAG,GAAG,gBAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC3D,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,UAAQ,QAAQ,CAAC,CAAC,UAAK,QAAQ,CAAC,CAAC,UAAK,QAAQ,CAAC,CAAC,UAAK,QAAQ,CAAC,CAAC,GAAG,GAAG,MAAG,CAAC;SAElI,IAAI,CAAC,QAAQ,CAAC;aACZ,WAAW,EAAE,IAAI;aACjB,KAAK,EAAE,QAAQ;UAChB,CAAC,CAAC;SAEH,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;aAChB,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;SACtC,CAAC;SACD,EAAE,CAAC,cAAc,EAAE,CAAC;SACpB,EAAE,CAAC,eAAe,EAAE,CAAC;KACvB,CAAC;KAGO,mCAAU,GAAlB,UAAmB,EAAiC;SAClD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;SAEnB,IAAI,CAAC,QAAQ,CAAC;aACZ,WAAW,EAAE,KAAK;aAClB,MAAM,EAAE,IAAI;UACb,CAAC,CAAC;KACL,CAAC;KAEH,qBAAC;AAAD,EAAC,CA/FmC,yBAAa;AACjC,4BAAY,GAAG;KAC3B,OAAO,EAAE,GAAG;EACb,CAAC;AA+CF;KADC,oBAAQ;mDAMR;AAGD;KADC,oBAAQ;mDA0BR;AAGD;KADC,oBAAQ;iDAQR;AA7FU,yCAAc;;;;;;;;;;AC/B3B,2CAAyC;AACzC,8CAA6C;AAEhC,6BAAoB,GAAG,GAAG,CAAC;AAC3B,sBAAa,GAAG,GAAG,CAAC;AACpB,wBAAe,GAAG,GAAG,CAAC;AACtB,uBAAc,GAAG,GAAG,CAAC;AAoBlC,mBAAyB,KAAa;KACpC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YACf,KAAK,CAAC,KAAK,CAAC;YACZ,KAAK,CAAC,KAAK,CAAC;YACZ,IAAI,CAAC,KAAK,CAAC;YACX,KAAK,CAAC,KAAK,CAAC;YACZ,IAAI,CAAC,KAAK,CAAC;YACX,KAAK,CAAC,KAAK,CAAC,CAAC;AACpB,EAAC;AARD,6BAQC;AAED,kBAAwB,CAAS,EAAE,CAAS,EAAE,CAAS;KACrD,MAAM,CAAC;SACL,kBAAkB,CAAC,CAAC,CAAC;SACrB,kBAAkB,CAAC,CAAC,CAAC;SACrB,kBAAkB,CAAC,CAAC,CAAC;MACtB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,EAAC;AAND,2BAMC;AAED,kBAAwB,CAAS,EAAE,CAAS,EAAE,CAAS;KAC/C,yBAA8B,EAA5B,QAAC,EAAE,QAAC,EAAE,QAAC,CAAsB;KAErC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1B,EAAC;AAJD,2BAIC;AAED,kBAAwB,CAAS,EAAE,CAAS,EAAE,CAAS;KACrD,IAAI,CAAC,CAAC;KACN,IAAI,CAAC,CAAC;KACN,IAAI,CAAC,CAAC;KACN,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAC9B,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAC9B,IAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;KAExB,MAAM;KACN,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;SAChB,CAAC,GAAG,CAAC,CAAC;KACR,CAAC;KAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;SACrB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;KAC5B,CAAC;KAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;SACrB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;KAC1B,CAAC;KAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;SACrB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;KAC1B,CAAC;KAED,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;KAEvB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACV,CAAC,IAAI,GAAG,CAAC;KACX,CAAC;KAED,aAAa;KACb,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;KAEtD,QAAQ;KACR,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;KAEhC,MAAM,CAAC,EAAE,CAAC,KAAE,CAAC,KAAE,CAAC,KAAE,CAAC;AACrB,EAAC;AAhCD,2BAgCC;AAED,kBAAwB,CAAS,EAAE,CAAS,EAAE,CAAS;KACrD,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;KAEtC,MAAM,CAAC;SACL,CAAC,EAAE,CAAC;SACJ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG;SACxB,CAAC,EAAE,CAAC,GAAG,CAAC;MACT,CAAC;AACJ,EAAC;AARD,2BAQC;AAED,kBAAwB,CAAS,EAAE,CAAS,EAAE,CAAS;KACrD,CAAC,IAAI,4BAAoB,CAAC;KAC1B,CAAC,IAAI,uBAAe,CAAC;KAErB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;KACpB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;KACf,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC3B,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;KACb,CAAC,IAAI,CAAC,CAAC;KAEP,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC;AAC3C,EAAC;AAXD,2BAWC;AAED,kBAAwB,CAAS,EAAE,CAAS,EAAE,CAAS;KACrD,IAAM,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAE7B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACtC,EAAC;AAJD,2BAIC;AAED,kBAAwB,CAAS,EAAE,CAAS,EAAE,CAAS;KACrD,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;KACZ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;KAEZ,IAAI,GAAG,GAAa,EAAE,CAAC;KAEvB,IAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAChB,IAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;KAClB,IAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KACzC,IAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAEhB,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACvB,KAAK,CAAC;aACJ,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;aAChB,KAAK,CAAC;SAER,KAAK,CAAC;aACJ,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;aAChB,KAAK,CAAC;SAER,KAAK,CAAC;aACJ,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;aAChB,KAAK,CAAC;SAER,KAAK,CAAC;aACJ,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;aAChB,KAAK,CAAC;SAER,KAAK,CAAC;aACJ,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;aAChB,KAAK,CAAC;SAER,KAAK,CAAC;aACJ,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;aAChB,KAAK,CAAC;KACV,CAAC;KAED,MAAM,CAAC;SACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAc,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC5C,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAc,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC5C,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAc,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;MAC7C,CAAC;AACJ,EAAC;AA1CD,2BA0CC;AAED,6BAAmC,KAAa;KAC1C,wBAAgC,EAA9B,QAAC,EAAE,QAAC,EAAE,QAAC,EAAE,QAAC,CAAqB;KACjC,yBAA8B,EAA5B,QAAC,EAAE,QAAC,EAAE,QAAC,CAAsB;KAEnC,MAAM,CAAC;SACL,CAAC,EAAE,CAAC;SACJ,CAAC,EAAE,CAAC;SACJ,CAAC,EAAE,CAAC;SACJ,CAAC,EAAE,CAAC;SACJ,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACrB,CAAC,EAAE,CAAC;SACJ,CAAC,EAAE,CAAC;SACJ,GAAG,EAAE,KAAK;SACV,CAAC,EAAE,CAAC;MACL,CAAC;AACJ,EAAC;AAfD,iDAeC;AAED,2BAAiC,IAAoD;KAC7E,cAAC,EAAE,UAAC,EAAE,UAAC,EAAE,UAAC,CAAU;KACtB,yBAA8B,EAA5B,QAAC,EAAE,QAAC,EAAE,QAAC,CAAsB;KAEnC,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAC3B,MAAM,CAAC;SACL,CAAC,EAAE,CAAC;SACJ,CAAC,EAAE,CAAC;SACJ,CAAC,EAAE,CAAC;SACJ,CAAC,EAAE,CAAC;SACJ,GAAG,EAAE,GAAG;SACR,CAAC,EAAE,CAAC;SACJ,CAAC,EAAE,CAAC;SACJ,GAAG,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,MAAI,GAAK,GAAG,UAAQ,CAAC,UAAK,CAAC,UAAK,CAAC,UAAK,CAAC,GAAG,GAAG,MAAG;SACnE,CAAC,EAAE,CAAC;MACL,CAAC;AACJ,EAAC;AAhBD,6CAgBC;AAED,6BAAmC,KAAa;KAC9C,MAAM,CAAC,MAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,4BAAoB,EAAE,uBAAe,CAAG,CAAC;AACvE,EAAC;AAFD,iDAEC;AAED,mBAAyB,KAAa,EAAE,CAAS,EAAE,CAAS;KACtD,+BAAoC,EAAlC,QAAC,EAAE,QAAC,EAAE,QAAC,CAA4B;KACzC,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAE3B,MAAM,CAAC;SACL,CAAC,EAAE,KAAK,CAAC,CAAC;SACV,CAAC,EAAE,CAAC;SACJ,CAAC,EAAE,CAAC;SACJ,CAAC,EAAE,KAAK,CAAC,CAAC;SACV,GAAG,EAAE,GAAG;SACR,CAAC,EAAE,CAAC;SACJ,CAAC,EAAE,CAAC;SACJ,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,MAAI,GAAK,GAAG,UAAQ,CAAC,UAAK,CAAC,UAAK,CAAC,UAAK,KAAK,CAAC,CAAC,GAAG,GAAG,MAAG;SAC/E,CAAC,EAAE,CAAC;MACL,CAAC;AACJ,EAAC;AAfD,6BAeC;AAED,kBAAwB,KAAa,EAAE,CAAS;KAC1C,qCAA0C,EAAxC,QAAC,EAAE,QAAC,EAAE,QAAC,CAAkC;KAC/C,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAE3B,MAAM,CAAC;SACL,CAAC,EAAE,KAAK,CAAC,CAAC;SACV,CAAC,EAAE,CAAC;SACJ,CAAC,EAAE,CAAC;SACJ,CAAC,EAAE,CAAC;SACJ,GAAG,EAAE,GAAG;SACR,CAAC,EAAE,CAAC;SACJ,CAAC,EAAE,KAAK,CAAC,CAAC;SACV,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,MAAI,GAAK,GAAG,UAAQ,CAAC,UAAK,CAAC,UAAK,CAAC,UAAK,KAAK,CAAC,CAAC,GAAG,GAAG,MAAG;SAC/E,CAAC,EAAE,KAAK,CAAC,CAAC;MACX,CAAC;AACJ,EAAC;AAfD,2BAeC;AAED,kBAAwB,KAAa,EAAE,CAAS;KAC9C,MAAM,CAAC,kBAAM,CAAC,EAAE,EAAE,KAAK,EAAE;SACvB,CAAC,EAAE,CAAC;SACJ,GAAG,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,MAAI,KAAK,CAAC,GAAK,GAAG,UAAQ,KAAK,CAAC,CAAC,UAAK,KAAK,CAAC,CAAC,UAAK,KAAK,CAAC,CAAC,UAAK,CAAC,GAAG,GAAG,MAAG;MAC5F,CAAC,CAAC;AACL,EAAC;AALD,2BAKC;AAED,6BAA4B,GAAW;KACrC,IAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KAE7B,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAC5C,EAAC;AAED,iBAAgB,GAAG;KACjB,IAAM,CAAC,GAAG,0BAAY,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;KAE1C,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACN,MAAM,CAAC;aACL,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACP,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACP,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACP,CAAC,EAAE,GAAG;UACP,CAAC;KACJ,CAAC;AACH,EAAC;AAED,eAAc,GAAG;KACf,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC9B,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;SAErC,IAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAE7C,MAAM,CAAC;aACL,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;aACX,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;aACX,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;aACX,CAAC,EAAE,GAAG;UACP,CAAC;KACJ,CAAC;AACH,EAAC;AAED,gBAAe,GAAG;KAChB,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC/B,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;SAEtC,IAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAE7C,MAAM,CAAC;aACL,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;aACX,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;aACX,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;aACX,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG;UAClB,CAAC;KACJ,CAAC;AACH,EAAC;AAED,gBAAe,GAAG;KAChB,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;SACvC,MAAM,CAAC;aACL,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;aAChC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;aAChC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;aAChC,CAAC,EAAE,GAAG;UACP,CAAC;KACJ,CAAC;AACH,EAAC;AAED,gBAAe,GAAG;KAChB,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;SACvC,MAAM,CAAC;aACL,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aAChC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aAChC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aAChC,CAAC,EAAE,GAAG;UACP,CAAC;KACJ,CAAC;AACH,EAAC;AAED,eAAc,GAAG;KACf,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC9B,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC,IAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAEjC,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACjC,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACjC,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAEjC,IAAM,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC9B,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;SAEb,MAAM,CAAC,IAAI,CAAC;KACd,CAAC;AACH,EAAC;AAED,gBAAe,GAAG;KAChB,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC/B,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;SAEtC,IAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SACjC,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACjC,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACjC,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACjC,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;SACvC,IAAM,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAE9B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SAEX,MAAM,CAAC,IAAI,CAAC;KACd,CAAC;AACH,EAAC;;;;;;;;;;ACnVY,qBAAY,GAAG;KAC1B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC7B,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;KACnB,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC3B,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACtB,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACtB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACvB,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KAChB,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC/B,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;KACjB,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;KAC1B,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;KACpB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;KACzB,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;KACzB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;KACzB,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;KACrB,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC/B,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACzB,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;KACtB,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;KACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;KACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;KACvB,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;KAC7B,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACzB,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;KACtB,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACzB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;KAC1B,cAAc,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;KAC7B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;KACzB,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;KAC1B,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;KACpB,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC3B,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC7B,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;KAC5B,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;KAC3B,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;KAC3B,aAAa,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;KAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;KACzB,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;KACxB,WAAW,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACxB,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACxB,UAAU,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;KACxB,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC5B,WAAW,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;KAC1B,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;KACtB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC3B,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;KACnB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;KACzB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACrB,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;KAClB,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;KAC3B,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACrB,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACzB,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACxB,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;KACxB,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;KACpB,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACtB,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACtB,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACzB,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC9B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;KACxB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC7B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC3B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,oBAAoB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACrC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC3B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC5B,aAAa,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;KAC7B,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC7B,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC/B,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC/B,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC/B,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC5B,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;KACjB,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;KACxB,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACtB,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;KACtB,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;KACnB,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACjC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;KACvB,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;KAC5B,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC7B,cAAc,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;KAC9B,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAChC,iBAAiB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;KAChC,eAAe,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;KAC/B,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;KAC/B,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;KAC3B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACzB,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC5B,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;KACjB,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACxB,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;KACpB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;KACzB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;KACrB,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;KACvB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACvB,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC9B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC9B,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC9B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC3B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;KACpB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACrB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACrB,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC3B,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;KACrB,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;KAC7B,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;KAChB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;KACzB,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;KAC1B,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACvB,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;KAC1B,QAAQ,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;KACvB,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACzB,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;KACrB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACvB,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACxB,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;KACzB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACrB,WAAW,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1B,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;KACzB,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACpB,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;KACnB,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACxB,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;KACrB,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;KACzB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACvB,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACtB,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACtB,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC3B,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;KACrB,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;EAC3B,CAAC;;;;;;;;;ACrJF,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,KAAK,EAAE,gBAAgB;KACvB,SAAS,EAAE,oBAAoB;KAC/B,aAAa,EAAE,wBAAwB;KACvC,OAAO,EAAE,kBAAkB;KAC3B,wBAAwB,EAAE,mCAAmC;KAC7D,KAAK,EAAE,gBAAgB;KACvB,aAAa,EAAE,wBAAwB;KACvC,KAAK,EAAE,gBAAgB;KACvB,IAAI,EAAE,eAAe;KACrB,MAAM,EAAE,iBAAiB;KACzB,gBAAgB,EAAE,2BAA2B;KAC7C,kBAAkB,EAAE,6BAA6B;KACjD,aAAa,EAAE,wBAAwB;KACvC,KAAK,EAAE,gBAAgB;EACxB,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,48BAA48B,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0sBAA0sB,EAAC,CAAC,CAAC,CAAC;AAFpvD,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBnB,oCAA+B;AAC/B,2CAIyB;AACzB,6CAAmD;AACnD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAoBjC;KAAiC,+BAAmD;KAalF,qBAAY,KAAwB;SAApC,YACE,kBAAM,KAAK,CAAC,SASb;SAPO,6BAAK,CAAgB;SAE3B,KAAI,CAAC,KAAK,GAAG;aACX,WAAW,EAAE,KAAK;aAClB,MAAM,EAAE,IAAI;aACZ,YAAY,EAAE,KAAK;UACpB,CAAC;;KACJ,CAAC;KAEM,+CAAyB,GAAhC,UAAiC,QAA2B;SAC1D,EAAE,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;aAC/B,IAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;SAClD,CAAC;KACH,CAAC;KAEM,4BAAM,GAAb;SACM,mBAA4D,EAA1D,wBAAS,EAAE,sBAAQ,EAAE,sBAAQ,EAAE,8BAAY,CAAgB;SAC7D,mBAA0C,EAAxC,8BAAY,EAAE,4BAAW,CAAgB;SAE/C,IAAI,iBAAiB,GAAG,GAAG,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;SAEhF,MAAM,CAAC,CACL,6BACE,GAAG,EAAC,MAAM,EACV,SAAS,EAAG,eAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE;iBACjE,cAAc,EAAE,WAAW;cAC5B,CAAC,EACF,WAAW,EAAG,IAAI,CAAC,YAAY;aAC/B,6BAAK,SAAS,EAAG,eAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,aAAa,CAAC,EAAG,KAAK,EAAG,YAAY,GAAK;aACtG,6BAAK,SAAS,EAAG,eAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,EAAG,KAAK,EAAG,EAAE,IAAI,EAAE,iBAAiB,GAAG,GAAG,EAAE,GAAK,CACvI,CACP,CAAC;KACJ,CAAC;KAGO,kCAAY,GAApB,UAAqB,EAAiC;SACpD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;SAC9D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAE1D,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;KACxB,CAAC;KAGO,kCAAY,GAApB,UAAqB,EAAiC;SAChD,mBAA8C,EAA5C,wBAAS,EAAE,sBAAQ,EAAE,sBAAQ,CAAgB;SACnD,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAEtD,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;SACtE,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,GAAG,QAAQ,CAAC,CAAC,CAAC;SAEpF,IAAI,CAAC,QAAQ,CAAC;aACZ,WAAW,EAAE,IAAI;aACjB,YAAY,EAAE,QAAQ;UACvB,CAAC,CAAC;SAEH,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;aACd,SAAS,CAAC,QAAQ,CAAC,CAAC;SACtB,CAAC;SAED,EAAE,CAAC,cAAc,EAAE,CAAC;SACpB,EAAE,CAAC,eAAe,EAAE,CAAC;KACvB,CAAC;KAGO,gCAAU,GAAlB,UAAmB,EAAiC;SAClD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;SAEnB,IAAI,CAAC,QAAQ,CAAC;aACZ,WAAW,EAAE,KAAK;aAClB,MAAM,EAAE,IAAI;UACb,CAAC,CAAC;KACL,CAAC;KAEH,kBAAC;AAAD,EAAC,CAzFgC,yBAAa;AAC9B,yBAAY,GAAG;KAC3B,QAAQ,EAAE,CAAC;KACX,QAAQ,EAAE,GAAG;KACb,UAAU,EAAE,SAAS;KACrB,KAAK,EAAE,CAAC;EACT,CAAC;AA6CF;KADC,oBAAQ;gDAMR;AAGD;KADC,oBAAQ;gDAmBR;AAGD;KADC,oBAAQ;8CAQR;AAvFU,mCAAW;;;;;;;;;;;;;AC3BxB,oCAA8C;;;;;;;;;;;;;ACA9C,oCAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA7B,oCAA+B;AAC/B,2CASyB;AAEzB,2CAAgE;AAChE,gDAAkH;AAClH,iDAA+D;AAC/D,uCAIoB;AACpB,yCAA+C;AAC/C,6CAAkD;AAClD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC,KAAM,YAAY,GAAG,UAAU,CAAC;AAChC,KAAM,cAAc,GAAG,IAAI,CAAC;AAY5B;KAAgC,8BAAiD;KAoB/E,oBAAY,KAAuB;SAAnC,YACE,kBAAM,KAAK,CAAC,SAKb;SAHC,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;SAE5C,KAAI,CAAC,GAAG,GAAG,iBAAK,CAAC,YAAY,CAAC,CAAC;;KACjC,CAAC;KAEM,sCAAiB,GAAxB;SACE,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAE5B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;KAC/D,CAAC;KAEM,8CAAyB,GAAhC,UAAiC,SAA2B;SAC1D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;SAClD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;KACjC,CAAC;KAEM,uCAAkB,GAAzB,UAA0B,SAA2B,EAAE,UAA4B;SACjF,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;aAC7B,IAAI,CAAC,uBAAuB,EAAE,CAAC;aAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC9B,CAAC;KACH,CAAC;KAEM,2BAAM,GAAb;SAAA,iBAuEC;SAtEO,mBAAqE,EAAnE,0CAAkB,EAAE,gDAAqB,EAAE,wBAAS,CAAgB;SACtE,mBAAuJ,EAArJ,gCAAa,EAAE,4CAAmB,EAAE,4CAAmB,EAAE,kCAAc,EAAE,gDAAqB,EAAE,8CAAoB,EAAE,sCAAgB,CAAgB;SAC9J,IAAI,SAAS,CAAC;SAEd,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;aACvB,SAAS,GAAG,CACV,6BAAK,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAG,GAAG,EAAC,eAAe;iBAC9E,+BAAO,SAAS,EAAG,eAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,WAAW,CAAC,EAAG,IAAI,EAAC,MAAM,EAAC,WAAW,EAAG,qBAAqB,GAAK;iBAC9H,6BAAK,SAAS,EAAG,eAAG,CAClB,uEAAuE,EACvE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,uBAAuB,CAAC;qBACzD,oBAAC,WAAI,IAAC,QAAQ,EAAC,QAAQ,GAAG,CACtB;iBACN,6BAAK,SAAS,EAAG,eAAG,CAClB,sEAAsE,EACtE,wBAAc,CAAC,KAAK,EACpB,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,sBAAsB,CAC9B;qBACC,oBAAC,WAAI,IAAC,QAAQ,EAAC,QAAQ,GAAG,CACtB,CACF,CACP,CAAC;SACJ,CAAC;SAED,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,EAAG,GAAG,EAAC,kBAAkB;aAClF,SAAS;aACX,oBAAC,qBAAS,IAAC,GAAG,EAAC,WAAW,EAAC,SAAS,EAAG,8BAAkB,CAAC,UAAU,EAAG,IAAI,EAAC,SAAS;iBACnF,6BAAK,SAAS,EAAG,eAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,eAAe,CAAC,EAAG,GAAG,EAAC,gBAAgB,IAChG,aAAa,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,QACnC,KAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAC/D,EAFoC,CAEpC,CAAC,CAAC,MAAM,CAAC,CAAC,qBAAqB,IAAI,qBAAqB,CAAC,MAAM,CAAC,GAAG;qBAClE,6BAAK,SAAS,EAAG,eAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,EAAG,GAAG,EAAG,YAAY,EAAG,GAAG,EAAG,YAAY;yBAC9F,gCACE,IAAI,EAAC,QAAQ,EACb,EAAE,EAAG,IAAI,CAAC,GAAG,GAAG,YAAY,EAC5B,SAAS,EAAG,eAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,QAAQ;iCACvD,GAAC,cAAc,GAAG,MAAM,CAAC,kBAAkB,IAAG,CAAC,mBAAmB,KAAK,YAAY,CAAC;qCACpF,EACF,OAAO,EAAG,IAAI,CAAC,gBAAgB,EAC/B,IAAI,EAAC,UAAU,gBACF,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,mBAC/B,IAAI,wBACD,oBAAoB;6BAEvC,oBAAC,WAAI,IAAC,SAAS,EAAG,eAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,YAAY,CAAC,EAAG,QAAQ,EAAC,MAAM,GAAG,CACtF,CACL;kBACP,GAAG,EAAE,CAAC,CACH;iBACN,6BAAK,SAAS,EAAG,eAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,YAAY,CAAC,EAAG,GAAG,EAAC,mBAAmB,IAC7F,gBAAgB,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,QACtC,KAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,CAAC,CACrE,EAFuC,CAEvC,CAAC,CACE,CACI;aACV,CAAC,mBAAmB,CAAC;iBACrB,CAAC,oBAAC,+BAAc,aACd,SAAS,EAAG,eAAG,CAAC,wBAAwB,CAAC,EACzC,aAAa,EAAG,IAAI,EACpB,eAAe,EAAG,iCAAe,CAAC,cAAc,IAC3C,mBAAmB,IACxB,aAAa,EAAG,oBAAoB,EACpC,cAAc,EAAG,cAAc,EAC/B,SAAS,EAAG,IAAI,CAAC,qBAAqB,IACtC,CACD,GAAG,CAAC,IAAI,CAAC,CACR,CACP,CAAC;;KACJ,CAAC;KAEM,0BAAK,GAAZ;SACE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;KAC9B,CAAC;KAEO,4CAAuB,GAA/B,UAAgC,IAAyB,EAAE,KAAa,EAAE,mBAA2B,EAAE,SAAmB;SAA1H,iBA4EC;SA3EC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;aAClB,MAAM,CAAC,6BAAK,SAAS,EAAG,eAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAG,GAAG,EAAG,IAAI,CAAC,GAAG,EAAG,GAAG,EAAG,IAAI,CAAC,GAAG,IAC3G,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CACjB,CAAC;SACT,CAAC;SAED,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;SAC1C,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,gCAAe,CAAC,IAAI,CAAC,CAAC;SACrD,IAAM,SAAS,GAAG,eAAG,CACnB,MAAM,GAAG,CAAC,yBAAyB,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,yBAAyB,GAAG,MAAM,CAAC,QAAQ,CAAC,EACtG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,4BAA4B,GAAG,MAAM,CAAC,gBAAgB,CAAC,EACtE,CAAC,mBAAmB,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,kBAAkB,CAAC,CACnF,CAAC;SACF,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;SAE9C,MAAM,CAAC,6BAAK,SAAS,EAAG,eAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAG,GAAG,EAAG,OAAO,EAAG,GAAG,EAAG,OAAO,IACzG,CAAC;aACD,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;iBACX,MAAM,CAAC,2CACA,0BAAc,CAAC,IAAI,EAAE,4BAAgB,CAAC,IAC3C,EAAE,EAAG,KAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EACxB,SAAS,EAAG,SAAS,EACrB,OAAO,EAAG,UAAC,EAAE,IAAK,YAAI,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,EAA3B,CAA2B,sBAC1B,KAAK,mBACR,gCAAe,CAAC,IAAI,CAAC,EACrC,IAAI,EAAC,UAAU,gBACF,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI;qBAEtC,CAAC,OAAO,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;qBAC3C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACjB,8BACE,SAAS,EAAG,eAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,eAAe,CAAC,IAEtE,IAAI,CAAC,IAAI,CACN,CACR;qBACC,gCAAe,CAAC,IAAI,CAAC,GAAG,CACxB,oBAAC,WAAI,IAAC,SAAS,EAAG,eAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,eAAe,CAAC,EAAG,QAAQ,EAAC,aAAa,GAAG,CAC3G,GAAG,CAAC,IAAI,CAAC,CACH,CAAC;aACZ,CAAC;aAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACrB,MAAM,CAAC,sCACA,0BAAc,CAAC,IAAI,EAAE,4BAAgB,CAAC,IAC3C,EAAE,EAAG,KAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EACxB,SAAS,EAAG,SAAS,EACrB,IAAI,EAAG,IAAI,CAAC,IAAI,sBACG,KAAK,mBACR,gCAAe,CAAC,IAAI,CAAC,EACrC,IAAI,EAAC,UAAU,gBACF,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI;qBAEtC,CAAC,OAAO,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;qBAC3C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACjB,8BACE,SAAS,EAAG,eAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,eAAe,CAAC,IAEtE,IAAI,CAAC,IAAI,CACN,CACR,CACC,CAAC;aACP,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,MAAM,CAAC,wCACA,0BAAc,CAAC,IAAI,EAAE,yBAAa,CAAC,IACxC,EAAE,EAAG,KAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EACxB,SAAS,EAAG,SAAS,sBACF,KAAK,mBACR,gCAAe,CAAC,IAAI,CAAC;qBAEnC,CAAC,OAAO,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;qBAC7C,8BAAM,SAAS,EAAG,eAAG,CACnB,+BAA+B,EAAE,MAAM,CAAC,eAAe,CAAC,iBAAe,MAAM,EAAC,IAAI,EAAC,cAAc,IAAG,IAAI,CAAC,IAAI,CAAS,CACpH,CAAC;aACT,CAAC;SACH,CAAC,CAAC,EAAE,CACA,CAAC;KACT,CAAC;KAEO,gCAAW,GAAnB,UAAoB,IAAyB;SAC3C,wEAAwE;SACxE,IAAI,SAAS,GAAe,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG;aAC5D,QAAQ,EAAE,IAAI,CAAC,IAAgB;UAChC,CAAC;SACF,sDAAsD;SACtD,IAAI,kBAAkB,GAAG,SAAS,CAAC,QAAQ,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC,8BAA8B,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;SACtH,IAAI,aAAa,GAAG,eAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,QAAQ,EAAE,kBAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;SAE5G,MAAM,CAAC,oBAAC,WAAI,eAAM,SAAS,IAAG,SAAS,EAAG,aAAa,IAAK,CAAC;KAC/D,CAAC;KAEO,4CAAuB,GAA/B;SACE,2FAA2F;SAC3F,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAC7F,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;SACvC,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;SAC1B,CAAC;SAED,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;aAC7B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;SAC/B,CAAC;SAED,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;aACjD,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAE/B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACvC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAgB,CAAC;iBAE5C,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;qBACP,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;iBACvE,CAAC;aACH,CAAC;SACH,CAAC;KACH,CAAC;KAEO,yCAAoB,GAA5B;SACM,mBAAqC,EAAnC,gBAAK,EAAE,gCAAa,CAAgB;SAC1C,IAAI,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;SAC9C,IAAI,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;SACpD,IAAI,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;SAClD,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;SAC5C,IAAI,aAAa,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACrC,IAAI,qBAAqB,GAAG,aAAa,CAAC;SAC1C,IAAI,aAAa,GAAG,CAAC,CAAC;SACtB,IAAI,iBAAiB,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,CAAC;SAE9D,IAAI,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;SACpD,IAAI,cAAc,GAAG,gBAAgB,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;SACrH,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;aAClB,cAAc,IAAI,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;SAChE,CAAC;SACD,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;aACtB,cAAc,IAAI,iBAAiB,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;SACpE,CAAC;SAED,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;aACtB,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC;SACxC,CAAC;SAED,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;aAC9C,IAAI,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;aAC5B,IAAI,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAElD,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC;iBAClD,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;qBACrF,CAAC,EAAE,CAAC;iBACN,CAAC;iBAED,qBAAqB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;iBACtE,KAAK,CAAC;aACR,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,aAAa,IAAI,SAAS,CAAC;aAC7B,CAAC;SAEH,CAAC;SAED,IAAI,2BAA2B,GAAG,IAAI,CAAC,kCAAkC,CACvE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EACjD,qBAAqB,CAAC,CAAC;SAEzB,IAAI,CAAC,QAAQ,CAAC;aACZ,aAAa,EAAE,aAAa;aAC5B,qBAAqB,EAAE,qBAAqB;aAC5C,mBAAmB,EAAE,2BAA2B,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI;aACxF,mBAAmB,EAAE,2BAA2B;aAChD,oBAAoB,EAAE,2BAA2B,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,IAAI;UAC3F,CAAC,CAAC;KACL,CAAC;KAEO,iCAAY,GAApB,UAAqB,EAAE,EAAE,IAAI;SAC3B,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,gCAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC1E,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC/B,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,IAAI,CAAC,QAAQ,CAAC;iBACZ,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE;iBACnC,mBAAmB,EAAE,IAAI,CAAC,GAAG;iBAC7B,mBAAmB,EAAE,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC;iBAC/D,oBAAoB,EAAE,EAAE,CAAC,aAAa;cACvC,CAAC,CAAC;SACL,CAAC;SACD,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;aACjB,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SACzB,CAAC;KACH,CAAC;KAGO,qCAAgB,GAAxB,UAAyB,EAAE;SACzB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,KAAK,YAAY,CAAC,CAAC,CAAC;aACpD,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC/B,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,IAAI,CAAC,QAAQ,CAAC;iBACZ,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE;iBACnC,mBAAmB,EAAE,YAAY;iBACjC,mBAAmB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE;iBAChE,oBAAoB,EAAE,EAAE,CAAC,aAAa;cACvC,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAGO,0CAAqB,GAA7B,UAA8B,EAAQ;SACpC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,aAA4B,CAAC,CAAC,CAAC,CAAC;aAC9F,wDAAmB,CAAgB;aAEzC,EAAE,CAAC,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC;iBACzD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;aAC/C,CAAC;aAED,IAAI,CAAC,QAAQ,CAAC;iBACZ,mBAAmB,EAAE,IAAI;iBACzB,mBAAmB,EAAE,IAAI;iBACzB,oBAAoB,EAAE,IAAI;cAC3B,CAAC,CAAC;SACL,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,EAAE,CAAC,eAAe,EAAE,CAAC;aACrB,EAAE,CAAC,cAAc,EAAE,CAAC;SACtB,CAAC;KACH,CAAC;KAEO,uCAAkB,GAA1B,UAA2B,SAA2B;SACpD,MAAM,CAAC;aACL,aAAa,EAAE,SAAS,CAAC,KAAK,IAAI,EAAE;aACpC,qBAAqB,EAAE,IAAI;aAC3B,mBAAmB,EAAE,IAAI,CAAC,kCAAkC,CAC1D,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAC1C,SAAS,CAAC,aAAa,CAAC;aAC1B,gBAAgB,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI;UAC7C,CAAC;KACJ,CAAC;KAEO,uDAAkC,GAA1C,UAA2C,aAAoC,EAAE,aAAoC;SAArH,iBAgBC;SAfC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;aACjD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,KAAK,YAAY,CAAC,CAAC,CAAC;iBACpD,8BAA8B;iBAC9B,MAAM,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;aAClC,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,+CAA+C;iBAC/C,IAAI,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,GAAG,KAAK,KAAI,CAAC,KAAK,CAAC,mBAAmB,EAA3C,CAA2C,CAAC,CAAC;iBAE7F,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;qBAC9B,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/D,CAAC;aACH,CAAC;SACH,CAAC;SAED,MAAM,CAAC,IAAI,CAAC;KACd,CAAC;KAEO,oDAA+B,GAAvC,UAAwC,IAAyB;SAC/D,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;KACpE,CAAC;KACH,iBAAC;AAAD,EAAC,CAvX+B,yBAAa;AAC7B,wBAAY,GAAG;KAC3B,KAAK,EAAE,EAAE;KACT,aAAa,EAAE,EAAE;KACjB,QAAQ,EAAE,EAAE;EACb,CAAC;AAiTF;KADC,oBAAQ;mDAYR;AAGD;KADC,oBAAQ;wDAkBR;AArVU,iCAAU;;;;;;;;;ACrCvB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,eAAe,EAAE,0BAA0B;KAC3C,YAAY,EAAE,uBAAuB;KACrC,IAAI,EAAE,eAAe;KACrB,eAAe,EAAE,0BAA0B;KAC3C,eAAe,EAAE,0BAA0B;KAC3C,QAAQ,EAAE,mBAAmB;KAC7B,gBAAgB,EAAE,2BAA2B;KAC7C,QAAQ,EAAE,mBAAmB;KAC7B,kBAAkB,EAAE,6BAA6B;KACjD,QAAQ,EAAE,mBAAmB;KAC7B,YAAY,EAAE,uBAAuB;KACrC,aAAa,EAAE,wBAAwB;KACvC,MAAM,EAAE,iBAAiB;KACzB,WAAW,EAAE,sBAAsB;KACnC,uBAAuB,EAAE,kCAAkC;KAC3D,sBAAsB,EAAE,iCAAiC;KACzD,sBAAsB,EAAE,iCAAiC;KACzD,iBAAiB,EAAE,4BAA4B;EAChD,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,sDAAsD,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sCAAsC,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,ioBAAioB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yGAAyG,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qKAAqK,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mZAAmZ,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sHAAsH,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kaAAka,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,ogBAAogB,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kdAAkd,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mDAAmD,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oBAAoB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qEAAqE,EAAC,EAAC,EAAC,OAAO,EAAC,WAAW,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4EAA4E,EAAC,EAAC,EAAC,OAAO,EAAC,mBAAmB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yEAAyE,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mEAAmE,EAAC,EAAC,EAAC,OAAO,EAAC,sBAAsB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2EAA2E,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kFAAkF,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+EAA+E,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yEAAyE,EAAC,EAAC,EAAC,OAAO,EAAC,mBAAmB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sCAAsC,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4FAA4F,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iFAAiF,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mCAAmC,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8DAA8D,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+EAA+E,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2NAA2N,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wDAAwD,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kIAAkI,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wDAAwD,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+GAA+G,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wDAAwD,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uHAAuH,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gCAAgC,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6RAA6R,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sSAAsS,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qdAAqd,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+DAA+D,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oHAAoH,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+DAA+D,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,q9BAAq9B,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yFAAyF,EAAC,CAAC,CAAC,CAAC;AAFvvT,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;AC5BnB,oCAA8C;;;;;;;;;;;;;ACA9C,oCAA6B;AAE7B,oCAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;ACF3C,oCAA+B;AAK/B,2CAGwB;AACxB,yCAAwC;AACxC,iDAA+D;AAC/D,4CAA4C;AAC5C,2CAKyB;AACzB,2CAAiE;AACjE,6CAAkD;AAClD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAWjC,KAAM,eAAe,GAAuB;KAC1C,MAAM,EAAE;SACN,SAAS;SACT,UAAU;SACV,OAAO;SACP,OAAO;SACP,KAAK;SACL,MAAM;SACN,MAAM;SACN,QAAQ;SACR,WAAW;SACX,SAAS;SACT,UAAU;SACV,UAAU;MACX;KAED,WAAW,EAAE;SACX,KAAK;SACL,KAAK;SACL,KAAK;SACL,KAAK;SACL,KAAK;SACL,KAAK;SACL,KAAK;SACL,KAAK;SACL,KAAK;SACL,KAAK;SACL,KAAK;SACL,KAAK;MACN;KAED,IAAI,EAAE;SACJ,QAAQ;SACR,QAAQ;SACR,SAAS;SACT,WAAW;SACX,UAAU;SACV,QAAQ;SACR,UAAU;MACX;KAED,SAAS,EAAE;SACT,GAAG;SACH,GAAG;SACH,GAAG;SACH,GAAG;SACH,GAAG;SACH,GAAG;SACH,GAAG;MACJ;KAED,SAAS,EAAE,aAAa;KACxB,kBAAkB,EAAE,sBAAsB;KAC1C,kBAAkB,EAAE,kBAAkB;KACtC,iBAAiB,EAAE,qBAAqB;KACxC,iBAAiB,EAAE,iBAAiB;EACrC,CAAC;AAEF;KAAgC,8BAAiD;KAqC/E,oBAAY,KAAuB;SAAnC,YACE,iBAAO,SAYR;SAVO,iCAAU,EAAE,mBAAK,CAAW;SAElC,KAAI,CAAC,KAAK,GAAG;aACX,YAAY,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE;aACjC,aAAa,EAAE,CAAC,UAAU,IAAI,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE;aAC7D,iBAAiB,EAAE,KAAK;aACxB,YAAY,EAAE,IAAI;UACnB,CAAC;SAEF,KAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;;KAC1C,CAAC;KAEM,8CAAyB,GAAhC,UAAiC,SAA2B;SACpD,qCAAU,EAAE,iCAAU,EAAE,2BAAO,EAAE,uBAAK,CAAe;SAC3D,IAAM,YAAY,GAAG,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;SAE7F,oBAAoB;SACpB,IAAI,CAAC,QAAQ,CAAC;aACZ,YAAY,EAAE,YAAY;UAC3B,CAAC,CAAC;SAEH,yGAAyG;SACzG,4GAA4G;SAC5G,8GAA8G;SAC9G,kFAAkF;SAClF,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SAChC,EAAE,CAAC,CAAC,CAAC,uBAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC;aAC3E,IAAI,CAAC,QAAQ,CAAC;iBACZ,YAAY,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE;iBACjC,aAAa,EAAE,CAAC,UAAU,IAAI,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE;cAC9D,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAEM,2BAAM,GAAb;SAAA,iBAyEC;SAxEO,mBAYQ,EAXZ,kCAAc,EACd,oBAAO,EACP,gBAAK,EACL,0BAAU,EACV,sBAAQ,EACR,wBAAS,EACT,oCAAe,EACf,4BAAW,EACX,kCAAc,EACd,0BAAU,EACV,wBAAS,CACI;SACT,mBAA6E,EAA3E,wCAAiB,EAAE,gCAAa,EAAE,8BAAY,EAAE,8BAAY,CAAgB;SAEpF,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,EAAG,GAAG,EAAC,MAAM;aACxE,6BAAK,GAAG,EAAG,UAAC,CAAC,IAAkB,YAAI,CAAC,WAAW,GAAG,CAAC,EAApB,CAAoB;iBACjD,oBAAC,qBAAS,IACR,SAAS,EAAG,MAAM,CAAC,SAAS,EAC5B,SAAS,EAAG,SAAS,mBACP,MAAM,mBACJ,iBAAiB,EACjC,QAAQ,EAAG,UAAU,EACrB,QAAQ,EAAG,QAAQ,EACnB,SAAS,EAAG,IAAI,CAAC,mBAAmB,EACpC,OAAO,EAAG,IAAI,CAAC,iBAAiB,EAChC,MAAM,EAAG,IAAI,CAAC,gBAAgB,EAC9B,OAAO,EAAG,IAAI,CAAC,iBAAiB,EAChC,SAAS,EAAG,IAAI,CAAC,mBAAmB,EACpC,YAAY,EAAG,YAAY,EAC3B,KAAK,EAAG,KAAK,EACb,WAAW,EAAG,WAAW,EACzB,UAAU,EAAG,UAAU,EACvB,SAAS,EAAG;yBACV,QAAQ,EAAE,UAAU;yBACpB,SAAS,EAAE,eAAG,CACZ,KAAK,GAAG,iCAAiC,GAAG,oCAAoC,EAChF,KAAK,GAAG,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,iBAAiB,CACzD;sBACF,EACD,QAAQ,EAAG,CAAC,cAAc,EAC1B,KAAK,EAAG,aAAa,EACrB,GAAG,EAAC,WAAW,GAAG,CAChB;aACJ,iBAAiB,IAAI,CACrB,oBAAC,iBAAO,IACN,IAAI,EAAC,QAAQ,EACb,SAAS,EAAG,eAAe,EAC3B,aAAa,EAAG,KAAK,EACrB,SAAS,EAAG,eAAG,CAAC,uBAAuB,CAAC,EACxC,QAAQ,EAAG,CAAC,EACZ,UAAU,EAAG,KAAK,EAClB,aAAa,EAAG,IAAI,CAAC,WAAW,EAChC,eAAe,EAAG,iCAAe,CAAC,cAAc,EAChD,SAAS,EAAG,IAAI,CAAC,kBAAkB,EACnC,YAAY,EAAG,IAAI,CAAC,oBAAoB;iBAExC,oBAAC,mBAAQ,IACP,YAAY,EAAG,IAAI,CAAC,aAAa,EACjC,SAAS,EAAG,IAAI,CAAC,kBAAkB,EACnC,oBAAoB,EAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,EACtD,KAAK,EAAG,YAAY,EACpB,cAAc,EAAG,cAAc,EAC/B,OAAO,EAAG,OAAO,EACjB,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAE1B,CACH,CACX,CACG,CACP,CAAC;KACJ,CAAC;KAGO,kCAAa,GAArB,UAAsB,IAAU;SAC1B,mBAAyC,EAAvC,0BAAU,EAAE,8BAAY,CAAgB;SAE9C,IAAI,CAAC,QAAQ,CAAC;aACZ,YAAY,EAAE,IAAI;aAClB,iBAAiB,EAAE,KAAK;aACxB,aAAa,EAAE,UAAU,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE;UAC1D,CAAC,CAAC;SAEH,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;aACjB,YAAY,CAAC,IAAI,CAAC,CAAC;SACrB,CAAC;KACH,CAAC;KAGO,yCAAoB,GAA5B;SACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;KACzB,CAAC;KAGO,sCAAiB,GAAzB,UAA0B,EAAiC;SACzD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;aAChC,MAAM,CAAC;SACT,CAAC;SAED,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;aAC/B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;iBACrC,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC9B,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;aAC1C,CAAC;SACH,CAAC;KACH,CAAC;KAGO,qCAAgB,GAAxB,UAAyB,EAAiC;SACxD,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC5B,CAAC;KAGO,wCAAmB,GAA3B,UAA4B,QAAgB;SAC1C,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;aAC9B,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;iBACjC,IAAI,CAAC,uBAAuB,EAAE,CAAC;aACjC,CAAC;aAEG,mBAA2C,EAAzC,0BAAU,EAAE,gBAAK,EAAE,oBAAO,CAAgB;aAEhD,IAAI,CAAC,QAAQ,CAAC;iBACZ,YAAY,EAAE,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,IAAI,GAAG,CAAC,GAAG,IAAI;iBACrF,aAAa,EAAE,QAAQ;cACxB,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAGO,wCAAmB,GAA3B,UAA4B,EAAoC;SAC9D,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;aACjB,KAAK,oBAAQ,CAAC,KAAK;iBACjB,EAAE,CAAC,cAAc,EAAE,CAAC;iBACpB,EAAE,CAAC,eAAe,EAAE,CAAC;iBACrB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;qBAClC,IAAI,CAAC,oBAAoB,EAAE,CAAC;iBAC9B,CAAC;iBAAC,IAAI,CAAC,CAAC;qBACN,qDAAqD;qBACrD,yDAAyD;qBACzD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;yBAC9B,IAAI,CAAC,uBAAuB,EAAE,CAAC;qBACjC,CAAC;iBACH,CAAC;iBACD,KAAK,CAAC;aAER,KAAK,oBAAQ,CAAC,MAAM;iBAClB,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;iBACvB,KAAK,CAAC;aAER;iBACE,KAAK,CAAC;SACV,CAAC;KACH,CAAC;KAGO,sCAAiB,GAAzB,UAA0B,EAAiC;SACzD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;aAClC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC9B,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;iBAC9B,IAAI,CAAC,QAAQ,CAAC;qBACZ,iBAAiB,EAAE,KAAK;kBACzB,CAAC,CAAC;aACL,CAAC;SACH,CAAC;KACH,CAAC;KAEO,yCAAoB,GAA5B;SACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;aAClC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;aACvC,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;aACzC,IAAI,CAAC,QAAQ,CAAC;iBACZ,iBAAiB,EAAE,IAAI;iBACvB,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;iBACtC,YAAY,EAAE,EAAE;cACjB,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAGO,4CAAuB,GAA/B;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;aACjC,IAAI,CAAC,QAAQ,CAAC;iBACZ,iBAAiB,EAAE,KAAK;cACzB,CAAC,CAAC;aAEH,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC5B,CAAC;KACH,CAAC;KAED;;QAEG;KAEK,uCAAkB,GAA1B;SACE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;SACvC,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAE/B,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;aACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SAC9B,CAAC;KACH,CAAC;KAGO,kCAAa,GAArB,UAAsB,EAAoC;SACxD,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC5B,CAAC;KAGO,uCAAkB,GAA1B;SACM,mBAAmG,EAAjG,0BAAU,EAAE,kCAAc,EAAE,oBAAO,EAAE,0BAAU,EAAE,4CAAmB,EAAE,8BAAY,CAAgB;SACxG,IAAM,UAAU,GAAW,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;SAEpD,wDAAwD;SACxD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;aACjC,MAAM,CAAC;SACT,CAAC;SAED,mEAAmE;SACnE,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;aAC9B,IAAI,CAAC,QAAQ,CAAC;iBACZ,iDAAiD;iBACjD,gDAAgD;iBAChD,YAAY,EAAE,OAAO,CAAC,sBAAsB,IAAI,GAAG;cACpD,CAAC,CAAC;aACH,MAAM,CAAC;SACT,CAAC;SAED,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;aACnB,IAAI,IAAI,GAAG,IAAI,CAAC;aAChB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;iBACf,IAAI,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;iBACvC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;qBACV,IAAI,CAAC,QAAQ,CAAC;yBACZ,YAAY,EAAE,OAAO,CAAC,wBAAwB,IAAI,GAAG;sBACtD,CAAC,CAAC;iBACL,CAAC;iBAAC,IAAI,CAAC,CAAC;qBACN,IAAI,CAAC,QAAQ,CAAC;yBACZ,YAAY,EAAE,IAAI;yBAClB,YAAY,EAAE,EAAE;sBACjB,CAAC,CAAC;iBACL,CAAC;aACH,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,sEAAsE;iBACtE,IAAI,CAAC,QAAQ,CAAC;qBACZ,YAAY,EAAE,EAAE;kBACjB,CAAC,CAAC;aACL,CAAC;aAED,gCAAgC;aAChC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;iBACjB,0DAA0D;iBAC1D,8EAA8E;iBAC9E,YAAY,CAAC,IAAI,CAAC,CAAC;aACrB,CAAC;SACH,CAAC;KACH,CAAC;KACH,iBAAC;AAAD,EAAC,CA9U+B,yBAAa;AAC7B,wBAAY,GAAqB;KAC7C,cAAc,EAAE,KAAK;KACrB,UAAU,EAAE,UAAC,IAAU;SACrB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;aACT,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;SAC7B,CAAC;SAED,MAAM,CAAC,EAAE,CAAC;KACZ,CAAC;KACD,mBAAmB,EAAE,UAAC,OAAe;SACnC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SACjC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;aACT,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;SACxB,CAAC;SAED,MAAM,CAAC,IAAI,CAAC;KACd,CAAC;KACD,cAAc,EAAE,oBAAS,CAAC,MAAM;KAChC,UAAU,EAAE,KAAK;KACjB,oBAAoB,EAAE,IAAI;KAC1B,OAAO,EAAE,eAAe;KACxB,UAAU,EAAE,KAAK;KACjB,eAAe,EAAE,UAAU;EAC5B,CAAC;AA8HF;KADC,oBAAQ;gDAaR;AAGD;KADC,oBAAQ;uDAGR;AAGD;KADC,oBAAQ;oDAaR;AAGD;KADC,oBAAQ;mDAGR;AAGD;KADC,oBAAQ;sDAcR;AAGD;KADC,oBAAQ;sDAwBR;AAGD;KADC,oBAAQ;oDAWR;AAeD;KADC,oBAAQ;0DASR;AAMD;KADC,oBAAQ;qDAQR;AAGD;KADC,oBAAQ;gDAGR;AAGD;KADC,oBAAQ;qDAgDR;AA7UU,iCAAU;;;;;;;;;ACzFvB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,SAAS,EAAE,oBAAoB;KAC/B,cAAc,EAAE,yBAAyB;KACzC,iBAAiB,EAAE,4BAA4B;EAChD,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,uQAAuQ,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+MAA+M,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gLAAgL,EAAC,CAAC,CAAC,CAAC;AAF7yB,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;ACbnB,oCAA+C;;;;;;;;;;;;;ACA/C,oCAAgD;AAEhD,oCAA8B;AAC9B,oCAAoC;AACpC,oCAA6B;AAC7B,oCAAkC;;;;;;;;;;;;;ACLlC,oCAA6B;AAC7B,oCAA4B;AAC5B,oCAAkC;AAClC,oCAAgC;;;;;;;;;;ACCnB,yBAAgB,GAAG,QAAQ,CAAC;AAEzC,KAAY,aAIX;AAJD,YAAY,aAAa;KACvB,iDAAQ;KACR,qDAAU;KACV,yDAAY;AACd,EAAC,EAJW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAIxB;AAkDD,KAAY,kBAGX;AAHD,YAAY,kBAAkB;KAC5B,uEAAc;KACd,mEAAY;AACd,EAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B;;;;;;;;;;AC/DD,6CAA4E;AAC5E,2CAA6C;AAQ7C;KAkBE,mBAAY,OAA+B;SAA/B,sCAA+B;SAEvC,mDAAkB,EAClB,uBAAM,EACN,0BAA0D,EAA1D,qEAA0D,CAChD;SACZ,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,UAAC,IAAoB,EAAE,KAAc,IAAK,QAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAjC,CAAiC,CAAC,CAAC;SAEtG,IAAI,CAAC,4BAA4B,GAAG,CAAC,CAAC;SACtC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;SACxB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;SACxB,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;SAC5B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SAExB,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;SAC9C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;KACrC,CAAC;KAEM,mCAAe,GAAtB,UAAuB,SAAkB,EAAE,cAAwB;SACjE,IAAI,CAAC,4BAA4B,IAAI,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;SAExD,EAAE,CAAC,CAAC,IAAI,CAAC,4BAA4B,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aAChE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAEzB,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;iBACpB,IAAI,CAAC,OAAO,EAAE,CAAC;aACjB,CAAC;SACH,CAAC;KACH,CAAC;KAED;;;;;QAKG;KACI,4BAAQ,GAAf,UAAgB,KAAuB,EAAE,WAAkB;SAAlB,gDAAkB;SACzD,IAAI,gBAAgB,GAA8B,EAAE,CAAC;SACrD,IAAI,sBAAsB,GAA+B,EAAE,CAAC;SAC5D,IAAI,mBAAmB,GAAG,KAAK,CAAC;SAEhC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAE5B,gCAAgC;SAChC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;SAE5B,qDAAqD;SACrD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;aACtC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;aAEpB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;iBACT,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aAC7C,CAAC;aAED,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aAC9D,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC9B,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC5B,CAAC;SACH,CAAC;SAED,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;aAChB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SAC7B,CAAC;SAED,8CAA8C;SAC9C,IAAI,mBAAmB,GAA+B,EAAE,CAAC;SAEzD,GAAG,CAAC,CAAC,IAAI,aAAa,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;aAChD,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBACxD,IAAI,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;iBAClC,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBAC9B,IAAI,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC;iBACpE,IAAI,QAAQ,GAAG,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;iBAE/D,EAAE,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;qBAC3B,gFAAgF;qBAChF,8CAA8C;qBAC9C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;qBAC3B,KAAK,CAAC;iBACR,CAAC;iBAAC,IAAI,CAAC,CAAC;qBACN,0EAA0E;qBAC1E,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;qBACrC,mBAAmB,GAAG,mBAAmB,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;iBACpE,CAAC;aACH,CAAC;SACH,CAAC;SAED,IAAI,CAAC,gBAAgB,GAAG,mBAAmB,CAAC;SAC5C,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC;SACvC,IAAI,CAAC,oBAAoB,GAAG,sBAAsB,CAAC;SACnD,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,EAAE,CAAC;SAE1B,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;aACxB,IAAI,CAAC,OAAO,EAAE,CAAC;SACjB,CAAC;SAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;KAC7B,CAAC;KAEM,4BAAQ,GAAf;SACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;KACrB,CAAC;KAEM,gCAAY,GAAnB;SACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;aACzB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;aAEzB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;iBAC5C,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3C,CAAC;aACH,CAAC;SACH,CAAC;SAED,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;KAC7B,CAAC;KAEM,oCAAgB,GAAvB;SACE,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAC5H,CAAC;KAEM,mCAAe,GAAtB,UAAuB,SAAiB,EAAE,KAAa;SACrD,IAAI,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;SAEjC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;aAC1C,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC7B,MAAM,CAAC,KAAK,CAAC;aACf,CAAC;SACH,CAAC;SAED,MAAM,CAAC,IAAI,CAAC;KACd,CAAC;KAEM,iCAAa,GAApB;SACE,IAAI,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;SAEnE,MAAM,CAAC,CACL,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;aAChB,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC;aAClD,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,KAAK,eAAe,CAAC,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;KAChG,CAAC;KAEM,iCAAa,GAApB,UAAqB,GAAW;SAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SAErC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;KACrC,CAAC;KAEM,mCAAe,GAAtB,UAAuB,KAAa;SAClC,MAAM,CAAC,CAAC,CAAC,CACP,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;aAChB,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;aAC3F,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC5D,CAAC;KAEM,kCAAc,GAArB,UAAsB,aAAsB;SAC1C,IAAI,eAAe,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SAEvF,EAAE,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,aAAa,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;aAC9F,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;aAC3B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;aACxB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;aACpC,IAAI,CAAC,YAAY,EAAE,CAAC;SACtB,CAAC;KACH,CAAC;KAEM,kCAAc,GAArB,UAAsB,GAAW,EAAE,UAAmB,EAAE,YAAqB;SAC3E,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SAErC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;aACf,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;SACzD,CAAC;KACH,CAAC;KAEM,oCAAgB,GAAvB,UAAwB,KAAa,EAAE,UAAmB,EAAE,YAAqB;SAC/E,mBAAmB;SACnB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAE7D,qCAAqC;SACrC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aAC7C,MAAM,CAAC;SACT,CAAC;SAED,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC5C,IAAI,UAAU,GAAG,KAAK,CAAC;SACvB,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;SAElD,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;aACd,gDAAgD;aAChD,EAAE,CAAC,CAAC,QAAQ,IAAI,CACd,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC;iBACnC,CAAC,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CACtC,CAAC,CAAC,CAAC;iBACF,UAAU,GAAG,IAAI,CAAC;iBAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;iBACpC,IAAI,CAAC,cAAc,EAAE,CAAC;aACxB,CAAC;aAED,6CAA6C;aAC7C,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CACf,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;iBACpC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,CACrC,CAAC,CAAC,CAAC;iBACF,UAAU,GAAG,IAAI,CAAC;iBAClB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;iBACpC,IAAI,CAAC,cAAc,EAAE,CAAC;aACxB,CAAC;aAED,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;iBACjB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC9B,CAAC;SACH,CAAC;SAED,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;aACf,IAAI,CAAC,YAAY,EAAE,CAAC;SACtB,CAAC;KACH,CAAC;KAEM,+BAAW,GAAlB,UAAmB,GAAW,EAAE,cAAwB;SACtD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;KAC/D,CAAC;KAEM,iCAAa,GAApB,UAAqB,KAAa,EAAE,cAAwB;SAC1D,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;SAC3C,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;SAC9C,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;SAE5C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAE5B,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;aACnB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SAC7B,CAAC;SAED,GAAG,CAAC,CAAC,EAAE,UAAU,IAAI,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC;aAC5C,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;SACjD,CAAC;SAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;KAC7B,CAAC;KAEM,qCAAiB,GAAxB;SACE,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;KAC7C,CAAC;KAEM,qCAAiB,GAAxB,UAAyB,GAAW;SAClC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;KAC3D,CAAC;KAEM,uCAAmB,GAA1B,UAA2B,KAAa;SACtC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;KACnE,CAAC;KAEM,uCAAmB,GAA1B,UAA2B,SAAiB,EAAE,KAAa;SACzD,IAAI,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SAC7D,IAAI,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;SAEjC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAC5B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;aAC1C,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;SACpD,CAAC;SACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;KAC7B,CAAC;KAEO,gCAAY,GAApB;SACE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACrC,IAAI,CAAC,OAAO,EAAE,CAAC;KACjB,CAAC;KAEO,2BAAO,GAAf;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,4BAA4B,KAAK,CAAC,CAAC,CAAC,CAAC;aAC5C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;aAE3B,sBAAU,CAAC,KAAK,CAAC,IAAI,EAAE,6BAAgB,CAAC,CAAC;aAEzC,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;iBAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC7B,CAAC;SACH,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SAC1B,CAAC;KACH,CAAC;KAEH,gBAAC;AAAD,EAAC;AA5SY,+BAAS;;;;;;;;;;ACTtB,6CAGsB;AAEtB;KAGE,yBAAY,SAA6B;SACvC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;KAC9B,CAAC;KAEM,2CAAiB,GAAxB,UAAyB,UAAkB,EAAE,KAAY;SACvD,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,+BAAkB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;KACtG,CAAC;KAEM,2CAAiB,GAAxB,UAAyB,UAAkB,EAAE,KAAY;SACvD,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,+BAAkB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;KACrH,CAAC;KAEM,0CAAgB,GAAvB,UAAwB,UAAkB,EAAE,KAAY;SACtD,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,+BAAkB,CAAC,QAAQ,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;KACtG,CAAC;KAEM,2CAAiB,GAAxB,UAAyB,UAAkB,EAAE,KAAY;SACvD,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,+BAAkB,CAAC,QAAQ,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;KACrH,CAAC;KACH,sBAAC;AAAD,EAAC;AAtBY,2CAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACL5B,oCAA+B;AAC/B,2CAUyB;AACzB,kDAAoD;AACpD,6CAKsB;AAEtB,0BAAyB;AACzB,GAAE;AACF,gEAA+D;AAC/D,sEAAqE;AACrE,GAAE;AACF,gCAA+B;AAC/B,GAAE;AACF,2BAA0B;AAC1B,2BAA0B;AAC1B,wCAAuC;AACvC,iCAAgC;AAChC,sGAAqG;AACrG,wBAAuB;AACvB,yCAAwC;AAExC,KAAM,iCAAiC,GAAG,yBAAyB,CAAC;AACpE,KAAM,8BAA8B,GAAG,sBAAsB,CAAC;AAC9D,KAAM,+BAA+B,GAAG,uBAAuB,CAAC;AAChE,KAAM,+BAA+B,GAAG,uBAAuB,CAAC;AAChE,KAAM,mCAAmC,GAAG,2BAA2B,CAAC;AAYxE;KAAmC,iCAAsC;KAAzE;;KAkcA,CAAC;KAhbQ,yCAAiB,GAAxB;SACE,IAAI,GAAG,GAAG,qBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpC,IAAI,aAAa,GAAG,gCAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAEzD,2CAA2C;SAC3C,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAC7D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;KACtE,CAAC;KAEM,8BAAM,GAAb;SACE,MAAM,CAAC,CACL,sCACE,SAAS,EAAC,kBAAkB,EAC5B,GAAG,EAAC,MAAM,EACV,SAAS,EAAG,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAG,IAAI,CAAC,YAAY,EAC/B,OAAO,EAAG,IAAI,CAAC,QAAQ,EAEvB,aAAa,EAAG,IAAI,CAAC,cAAc,EACnC,aAAa,EAAG,IAAI,CAAC,cAAc,IAC9B;aACH,kBAAkB,EAAE,IAAI,CAAC,mBAAmB;aAC5C,cAAc,EAAE,IAAI,CAAC,QAAQ;UAC9B,GAEC,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,CACP,CAAC;KACJ,CAAC;KAED;;;;;QAKG;KAEI,uCAAe,GAAtB;SACE,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;KAClC,CAAC;KAGO,2CAAmB,GAA3B,UAA4B,EAAE;SAC5B,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,2BAAe,CAAC,QAAQ,CAAC,aAA4B,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAC/G,IAAI,CAAC,eAAe,EAAE,CAAC;SACzB,CAAC;KACH,CAAC;KAED;;;;QAIG;KAEK,gCAAQ,GAAhB,UAAiB,EAAiC;SAChD,IAAI,MAAM,GAAG,EAAE,CAAC,MAAqB,CAAC;SAClC,mBAAyC,EAAvC,wBAAS,EAAE,gCAAa,CAAgB;SAC9C,IAAI,uBAAuB,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC;SAEzE,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,aAAa,KAAK,0BAAa,CAAC,IAAI,CAAC,CAAC,CAAC;aACpE,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;aAC3E,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;aAE1C,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC;iBAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;iBAEzC,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;qBAC5B,mBAAmB;qBACnB,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;iBAC5E,CAAC;iBAAC,IAAI,CAAC,CAAC;qBACN,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;iBACtC,CAAC;aACH,CAAC;SACH,CAAC;SAED,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;KAClC,CAAC;KAGO,oCAAY,GAApB,UAAqB,EAAiC;SACpD,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;SAE1B,IAAI,MAAM,GAAG,EAAE,CAAC,MAAqB,CAAC;SACtC,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SAE1C,OAAO,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACjC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAC,CAAC,CAAC;iBACpE,KAAK,CAAC;aACR,CAAC;aAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACpB,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC,CAAC,CAAC;qBAChE,KAAK,CAAC;iBACR,CAAC;iBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC,CAAC,CAAC;qBACvE,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;qBAC1D,KAAK,CAAC;iBACR,CAAC;iBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC;qBAC/B,KAAK,CAAC;iBACR,CAAC;aACH,CAAC;aAED,MAAM,GAAG,qBAAS,CAAC,MAAM,CAAC,CAAC;SAC7B,CAAC;KACH,CAAC;KAGO,gCAAQ,GAAhB,UAAiB,EAAiC;SAChD,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;SAE1B,IAAI,MAAM,GAAG,EAAE,CAAC,MAAqB,CAAC;SACtC,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SAE1C,iCAAiC;SACjC,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACtC,MAAM,CAAC;SACT,CAAC;SAED,OAAO,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACjC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAC,CAAC,CAAC;iBACpE,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;iBAC3B,KAAK,CAAC;aACR,CAAC;aAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACpB,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;iBAEzC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC,CAAC,CAAC;qBAChE,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;yBACzB,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;qBACtC,CAAC;qBAAC,IAAI,CAAC,CAAC;yBACN,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;qBACjC,CAAC;qBACD,KAAK,CAAC;iBACR,CAAC;iBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC,CAAC,CAAC;qBACvE,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;qBAC/B,KAAK,CAAC;iBACR,CAAC;iBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC;qBAC/B,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;qBACpC,KAAK,CAAC;iBACR,CAAC;aACH,CAAC;aAED,MAAM,GAAG,qBAAS,CAAC,MAAM,CAAC,CAAC;SAC7B,CAAC;KACH,CAAC;KAGO,sCAAc,GAAtB,UAAuB,EAAiC;SACtD,IAAM,MAAM,GAAG,EAAE,CAAC,MAAqB,CAAC;SAElC,mBAA6C,EAA3C,wCAAiB,EAAE,wBAAS,CAAgB;SACpD,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;aACtB,IAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;aAE5C,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACb,IAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;iBAC3C,iBAAiB,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;iBACtE,EAAE,CAAC,cAAc,EAAE,CAAC;aACtB,CAAC;SACH,CAAC;KACH,CAAC;KAEO,4CAAoB,GAA5B,UAA6B,MAAmB;SAC9C,OAAO,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACjC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC,CAAC,CAAC;iBAClE,MAAM,CAAC,IAAI,CAAC;aACd,CAAC;aACD,MAAM,GAAG,qBAAS,CAAC,MAAM,CAAC,CAAC;SAC7B,CAAC;SAED,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KAED;;;QAGG;KAEK,sCAAc,GAAtB,UAAuB,EAAiC;SACtD,IAAI,MAAM,GAAG,EAAE,CAAC,MAAqB,CAAC;SAEtC,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACtC,MAAM,CAAC;SACT,CAAC;SAEG,mBAA6C,EAA3C,gCAAa,EAAE,gCAAa,CAAgB;SAClD,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SAE1C,EAAE,CAAC,CAAC,QAAQ,IAAI,aAAa,IAAI,aAAa,KAAK,0BAAa,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACvG,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAEzC,OAAO,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;iBACjC,EAAE,CAAC,CACD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,+BAA+B,CAAC;qBAC3D,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC,CAAC,CAAC;qBAC9D,KAAK,CAAC;iBACR,CAAC;iBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC;qBAC/B,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;qBAC/B,KAAK,CAAC;iBACR,CAAC;iBAED,MAAM,GAAG,qBAAS,CAAC,MAAM,CAAC,CAAC;aAC7B,CAAC;aAED,MAAM,GAAG,qBAAS,CAAC,MAAM,CAAC,CAAC;SAC7B,CAAC;KACH,CAAC;KAGO,kCAAU,GAAlB,UAAmB,EAAoC;SACrD,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;SAE1B,IAAI,MAAM,GAAG,EAAE,CAAC,MAAqB,CAAC;SAEtC,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACtC,MAAM,CAAC;SACT,CAAC;SAEG,mBAAyC,EAAvC,wBAAS,EAAE,gCAAa,CAAgB;SAC9C,IAAI,cAAc,GAAG,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC;SAC7F,IAAI,mBAAmB,GAAG,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,MAAM,CAAC;SAEvD,wCAAwC;SACxC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACjC,4DAA4D;aAC5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;aAC/B,MAAM,CAAC;SACT,CAAC;SAED,sEAAsE;SACtE,EAAE,CAAC,CAAC,cAAc,IAAI,aAAa,KAAK,0BAAa,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;aAC7F,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;aAC/B,EAAE,CAAC,eAAe,EAAE,CAAC;aACrB,EAAE,CAAC,cAAc,EAAE,CAAC;aACpB,MAAM,CAAC;SACT,CAAC;SAED,+DAA+D;SAC/D,EAAE,CAAC,CAAC,mBAAmB,IAAI,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;aAC5D,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAChC,EAAE,CAAC,eAAe,EAAE,CAAC;aACrB,EAAE,CAAC,cAAc,EAAE,CAAC;aACpB,MAAM,CAAC;SACT,CAAC;SAED,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SAE1C,iGAAiG;SACjG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;aACb,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAEzC,OAAO,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;iBACjC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC,CAAC,CAAC;qBAChE,gGAAgG;qBAChG,iDAAiD;qBACjD,KAAK,CAAC;iBACR,CAAC;iBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,KAAK,CAAC;qBACrE,CAAC,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;qBACxF,MAAM,CAAC,KAAK,CAAC;iBACf,CAAC;iBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC;qBAC/B,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;yBAChC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;yBAC/B,EAAE,CAAC,cAAc,EAAE,CAAC;yBACpB,MAAM,CAAC;qBACT,CAAC;qBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;yBACvC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;yBAC/B,EAAE,CAAC,cAAc,EAAE,CAAC;yBACpB,MAAM,CAAC;qBACT,CAAC;qBACD,KAAK,CAAC;iBACR,CAAC;iBAED,MAAM,GAAG,qBAAS,CAAC,MAAM,CAAC,CAAC;aAC7B,CAAC;SACH,CAAC;SAED,4DAA4D;SAC5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;KACjC,CAAC;KAEO,yCAAiB,GAAzB,UAA0B,EAAiC;SACrD,mBAAyC,EAAvC,wBAAS,EAAE,gCAAa,CAAgB;SAE9C,EAAE,CAAC,CAAC,aAAa,KAAK,0BAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC7C,SAAS,CAAC,iBAAiB,EAAE,CAAC;aAC9B,EAAE,CAAC,eAAe,EAAE,CAAC;aACrB,EAAE,CAAC,cAAc,EAAE,CAAC;SACtB,CAAC;KACH,CAAC;KAEO,sCAAc,GAAtB,UAAuB,EAAoE,EAAE,KAAa;SACpG,mBAAyC,EAAvC,wBAAS,EAAE,gCAAa,CAAgB;SAE9C,EAAE,CAAC,CAAC,aAAa,KAAK,0BAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC7C,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;SACvC,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,aAAa,KAAK,0BAAa,CAAC,MAAM,CAAC,CAAC,CAAC;aAClD,IAAI,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aAClD,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aACjC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAChC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;aACrD,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SAClC,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,MAAM,CAAC;SACT,CAAC;SAED,EAAE,CAAC,eAAe,EAAE,CAAC;SAErB,uGAAuG;SACvG,uDAAuD;KACzD,CAAC;KAEO,sCAAc,GAAtB,UAAuB,EAAoE,EAAE,KAAa;SACpG,mBAAyC,EAAvC,wBAAS,EAAE,gCAAa,CAAgB;SAE9C,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;aAClB,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;aAClE,EAAE,CAAC,cAAc,EAAE,CAAC;aACpB,EAAE,CAAC,eAAe,EAAE,CAAC;SACvB,CAAC;KACH,CAAC;KAEO,2CAAmB,GAA3B,UAA4B,EAAqC,EAAE,KAAa;SAC1E,mBAAyC,EAAvC,wBAAS,EAAE,gCAAa,CAAgB;SAC9C,IAAI,uBAAuB,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC;SAEzE,EAAE,CAAC,CAAC,aAAa,KAAK,0BAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC7C,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;iBACzB,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,uBAAuB,CAAC,CAAC;aAC3D,CAAC;aAAC,IAAI,CAAC,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;iBACnC,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;aACvC,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;aACnC,CAAC;SACH,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,aAAa,KAAK,0BAAa,CAAC,MAAM,CAAC,CAAC,CAAC;aAClD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;SACnC,CAAC;KACH,CAAC;KAEO,0CAAkB,GAA1B,UAA2B,EAAoE,EAAE,KAAa;SACtG,oCAAS,CAAgB;SAE/B,wCAAwC;SACxC,EAAE,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACrC,MAAM,CAAC;SACT,CAAC;SAED,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;KACnC,CAAC;KAEO,6CAAqB,GAA7B,UAA8B,EAAc;SAC1C,EAAE,CAAC,CACD,CAAC,IAAI,CAAC,KAAK,CAAC,8BAA8B;aAC1C,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAqB,CAClD,CAAC,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SAC7C,CAAC;KACH,CAAC;KAEO,4CAAoB,GAA5B,UAA6B,KAAa;SAClC,oCAAS,CAAgB;SAC/B,IAAI,uBAAuB,GAAG,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAErG,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;aAC7B,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aACjC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAChC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aAC9C,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SAClC,CAAC;KACH,CAAC;KAED;;;QAGG;KACK,wCAAgB,GAAxB,UAAyB,EAAoE;SAC3F,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,QAAQ,CAAC;SACnC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,OAAO,CAAC;SACjC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,OAAO,CAAC;KACnC,CAAC;KAEO,qCAAa,GAArB,UAAsB,MAAmB;SACjC,oCAAS,CAAgB;SAE/B,OAAO,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACjC,IAAI,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,8BAA8B,CAAC,CAAC;aACrE,IAAI,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;aAE/B,EAAE,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC7E,KAAK,CAAC;aACR,CAAC;aAED,MAAM,GAAG,qBAAS,CAAC,MAAM,CAAC,CAAC;SAC7B,CAAC;SAED,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aAC9B,MAAM,CAAC,SAAS,CAAC;SACnB,CAAC;SAED,MAAM,CAAC,MAAM,CAAC;KAChB,CAAC;KAEO,qCAAa,GAArB,UAAsB,QAAqB;SACzC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,8BAA8B,CAAC,CAAC,CAAC;KACvE,CAAC;KAEO,qCAAa,GAArB,UAAsB,OAAoB,EAAE,aAAqB;SAC/D,IAAI,QAAQ,GAAG,KAAK,CAAC;SAErB,OAAO,CAAC,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC/C,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC;aAC1D,OAAO,GAAG,qBAAS,CAAC,OAAO,CAAC,CAAC;SAC/B,CAAC;SAED,MAAM,CAAC,QAAQ,CAAC;KAClB,CAAC;KAEO,uCAAe,GAAvB,UAAwB,OAAoB;SAC1C,MAAM,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,CAAC;KACvE,CAAC;KAEO,0CAAkB,GAA1B,UAA2B,OAAoB;SAC7C,IAAI,GAAG,GAAG,uBAAW,EAAE,CAAC;SAExB,EAAE,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC;aACnB,OAAO,OAAO,IAAI,OAAO,KAAK,GAAG,CAAC,eAAe,EAAE,CAAC;iBAClD,EAAE,CAAC,CAAC,6BAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;qBAC/B,MAAM,CAAC,KAAK,CAAC;iBACf,CAAC;iBAED,OAAO,GAAG,qBAAS,CAAC,OAAO,CAAC,CAAC;aAC/B,CAAC;SACH,CAAC;SAED,MAAM,CAAC,IAAI,CAAC;KACd,CAAC;KAEH,oBAAC;AAAD,EAAC,CAlckC,yBAAa;AAChC,2BAAY,GAAG;KAC3B,MAAM,EAAE,IAAI,iCAAe,CAAC,+BAAkB,CAAC,QAAQ,CAAC;KACxD,oBAAoB,EAAE,IAAI;KAC1B,iBAAiB,EAAE,IAAI;KACvB,aAAa,EAAE,0BAAa,CAAC,QAAQ;EACtC,CAAC;AAiDF;KADC,oBAAQ;qDAGR;AAGD;KADC,oBAAQ;yDAKR;AAQD;KADC,oBAAQ;8CAuBR;AAGD;KADC,oBAAQ;kDAuBR;AAGD;KADC,oBAAQ;8CAqCR;AAGD;KADC,oBAAQ;oDAcR;AAkBD;KADC,oBAAQ;oDA6BR;AAGD;KADC,oBAAQ;gDAsER;AApSU,uCAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnD1B,oCAA+B;AAC/B,2CAOyB;AACzB,oDAQ0C;AAC1C,gDAAkF;AAClF,6CAAyE;AACzE,2CAAgE;AAChE,8CAAgD;AAChD,uCAAkC;AAClC,+CAAuE;AACvE,wCAMyC;AACzC,iDAAyE;AACzE,6CAAmD;AACnD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAajC,KAAM,gBAAgB,GAAG,GAAG,CAAC,CAAC,+BAA+B;AAC7D,KAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,KAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,KAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,KAAM,8BAA8B,GAAG,CAAC,CAAC;AACzC,KAAM,+BAA+B,GAAG,CAAC,CAAC;AAG1C,KAAa,WAAW;KAAS,+BAAmD;KA4BlF,qBAAY,KAAwB;SAApC,YACE,kBAAM,KAAK,CAAC,SAiCb;SA/BC,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SACtB,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;SAC3B,KAAI,CAAC,wBAAwB,GAAG,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SACzE,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SACzD,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SACjE,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SACrD,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SAC3D,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SAC3D,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SAC/D,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SACzD,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SAC3D,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SACnD,KAAI,CAAC,0BAA0B,GAAG,KAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SAE7E,KAAI,CAAC,KAAK,GAAG;aACX,SAAS,EAAE,CAAC;aACZ,eAAe,EAAE,KAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;aAChD,UAAU,EAAE,KAAK,CAAC,UAAU;aAC5B,QAAQ,EAAE,KAAK;aACf,UAAU,EAAE,KAAK;aACjB,WAAW,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,oBAAoB;aACtE,mBAAmB,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,oBAAoB;UAChF,CAAC;SAEF,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,IAAI,IAAI,iBAAS,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;SACvG,KAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAyB,EAAE,KAAK,CAAC,CAAC;SACjE,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC,cAAc,GAAG,IAAI,+BAAc,CAAC;aAC/D,SAAS,EAAE,KAAI,CAAC,UAAU;aAC1B,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;UACjD,CAAC,GAAG,IAAI,CAAC;SACV,KAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,mBAAmB,CAAC;;KACxD,CAAC;KAEM,0CAAoB,GAA3B;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;aACzB,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;SACjC,CAAC;KACH,CAAC;KAEM,wCAAkB,GAAzB,UAA0B,SAAc,EAAE,SAAc;SACtD,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC;aAC5C,IAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;aACxD,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;iBACR,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;aACpC,CAAC;SACH,CAAC;SAED,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;aAC3B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC/B,CAAC;KACH,CAAC;KAEM,+CAAyB,GAAhC,UAAiC,QAA2B;SACtD,mBAOU,EANZ,0CAAkB,EAClB,gBAAK,EACL,kBAAM,EACN,gCAAa,EACb,oBAAO,EACP,sBAAQ,CACK;SACT,sCAAU,CAAgB;SAChC,IAAI,oBAAoB,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC;SACzF,IAAI,kBAAkB,GAAG,KAAK,CAAC;SAE/B,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;aAClD,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;aACjC,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;aAC1C,kBAAkB,GAAG,IAAI,CAAC;SAC5B,CAAC;SAED,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;aACzB,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;SAC3D,CAAC;SAED,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC;aAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;SACjE,CAAC;SAED,EAAE,CAAC,CACD,QAAQ,CAAC,kBAAkB,KAAK,kBAAkB;aAClD,QAAQ,CAAC,OAAO,KAAK,OAAO;aAC5B,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,KACvC,CAAC,CAAC,CAAC;aACD,kBAAkB,GAAG,IAAI,CAAC;SAC5B,CAAC;SAED,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;SAEhD,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,KAAK,aAAa,CAAC,CAAC,CAAC;aAC7C,kBAAkB,GAAG,IAAI,CAAC;SAC5B,CAAC;SAED,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;aACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC3B,CAAC;KACH,CAAC;KAEM,4BAAM,GAAb;SAAA,iBA8IC;SA7IK,mBAsBU,EArBZ,kDAAsB,EACtB,gEAA6B,EAC7B,wBAAS,EACT,0CAAkB,EAClB,gCAAa,EACb,kCAAc,EACd,kBAAM,EACN,0BAAU,EACV,gBAAK,EACL,oCAAe,EACf,gCAAa,EACb,wCAAiB,EACjB,4CAAmB,EACnB,wDAAyB,EACzB,gCAAa,EACb,kEAA8B,EAC9B,wBAAS,EACT,sCAAgB,EAChB,0CAAkB,EAClB,kCAAkC,EAAlC,uDAAkC,EAClC,kBAAM,CACO;SACX,mBAMU,EALZ,oCAAe,EACf,4BAAW,EACX,0BAAU,EACV,sBAAQ,EACR,4CAAmB,CACN;SACX,aAGI,EAFN,yBAAqB,EACrB,mCAA+B,CACxB;SACT,IAAI,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;SACrD,IAAI,mBAAmB,GAAG;aACxB,oBAAoB,EAAE,QAAQ,GAAG,CAAC,GAAG,8BAA8B;aACnE,qBAAqB,EAAE,QAAQ,GAAG,CAAC,GAAG,+BAA+B;aACrE,MAAM;UACP,CAAC;SACF,IAAI,mBAAmB,GAAG,mCAAmB,CAAC,IAAI,CAAC,CAAC,yBAAyB;SAC7E,EAAE,CAAC,CAAC,aAAa,KAAK,qBAAa,CAAC,MAAM,CAAC,CAAC,CAAC;aAC3C,mBAAmB,GAAG,mCAAmB,CAAC,MAAM,CAAC;SACnD,CAAC;SACD,EAAE,CAAC,CAAC,aAAa,KAAK,qBAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC7C,uGAAuG;aACvG,IAAI,6BAA6B,GAAG,UAAU,IAAI,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,6BAA6B,CAAC;aACjI,EAAE,CAAC,CAAC,6BAA6B,KAAK,SAAS,CAAC,CAAC,CAAC;iBAChD,6BAA6B,GAAG,IAAI,CAAC;aACvC,CAAC;aACD,IAAI,kBAAkB,GAAG,6BAA6B,IAAI,CAAC,MAAM,IAAI,mBAAmB,CAAC;aACzF,mBAAmB,GAAG,kBAAkB,GAAG,mCAAmB,CAAC,OAAO,GAAG,mCAAmB,CAAC,MAAM,CAAC;SACtG,CAAC;SAED,EAAE,CAAC,CAAC,kBAAkB,KAAK,sCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;aACrD,mBAAmB,GAAG,mCAAmB,CAAC,IAAI,CAAC;SACjD,CAAC;SAED,MAAM,CAAC;SACL,kGAAkG;SAClG,aAAa;SACb,sCACE,GAAG,EAAC,MAAM,EACV,SAAS,EAAG,eAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS;qBACtD,UAAU,EAAE,UAAU,KAAK,yCAAqB,CAAC,YAAY;;iBAC7D,GAAC,2BAA2B,GAAG,MAAM,CAAC,2BAA2B,IAAG,aAAa,KAAK,iCAAa,CAAC,qBAAqB;qBACzH,uBACgB,aAAa,wBACZ,OAAO,gBACb,SAAS,IACjB,CAAC,0BAA0B,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC;aAChE,6BAAK,IAAI,EAAC,MAAM,gBAAc,gBAAgB,mBAAmB,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,mBAAmB,eAAe,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC;iBACtJ,6BAAK,SAAS,EAAG,IAAI,CAAC,gBAAgB,EAAG,IAAI,EAAC,cAAc,IACxD,eAAe,IAAI,CACnB,oBAAC,6BAAa,IACZ,GAAG,EAAC,QAAQ,EACZ,aAAa,EAAG,aAAa,EAC7B,UAAU,EAAG,UAAU,EACvB,SAAS,EAAG,SAAS,EACrB,OAAO,EAAG,eAAe,EACzB,aAAa,EAAG,mBAAmB,EACnC,mBAAmB,EAAG,yBAAyB,EAC/C,eAAe,EAAG,IAAI,CAAC,gBAAgB,EACvC,uBAAuB,EAAG,IAAI,CAAC,wBAAwB,EACvD,mBAAmB,EAAG,IAAI,CAAC,oBAAoB,EAC/C,iBAAiB,EAAG,iBAAiB,EACrC,cAAc,EAAG,WAAW,EAC5B,mBAAmB,EAAG,IAAI,CAAC,iBAAiB,EAC5C,SAAS,EAAG,sBAAsB,EAClC,6BAA6B,EAAG,6BAA6B,EAC7D,mBAAmB,EAAG,mBAAmB,GACzC,CACH,CACG;iBACN,6BAAK,GAAG,EAAC,kBAAkB,EAAC,SAAS,EAAG,IAAI,CAAC,iBAAiB,EAAG,IAAI,EAAC,cAAc;qBAClF,oBAAC,qBAAS,IACR,GAAG,EAAC,WAAW,EACf,SAAS,EAAG,MAAM,CAAC,SAAS,EAC5B,SAAS,EAAG,8BAAkB,CAAC,QAAQ,EACvC,oBAAoB,EAAG,UAAC,EAAE,IAAK,QAAC,EAAE,CAAC,KAAK,KAAK,6BAAiB,CAAC,oBAAQ,CAAC,KAAK,CAAC,CAAC,EAAhD,CAAgD,EAC/E,sBAAsB,EAAG,IAAI,CAAC,mBAAmB;yBAEjD,oBAAC,qBAAa,IACZ,GAAG,EAAC,eAAe,EACnB,SAAS,EAAG,SAAS,EACrB,8BAA8B,EAAG,8BAA8B,EAC/D,aAAa,EAAG,aAAa,EAC7B,aAAa,EAAG,aAAa,EAC7B,iBAAiB,EAAG,iBAAiB,IAEnC,MAAM,GAAG,CACT,oBAAC,yBAAW,IACV,MAAM,EAAG,MAAM,EACf,UAAU,EAAG,UAAU,EACvB,KAAK,EAAG,KAAK,EACb,YAAY,EAAG,IAAI,CAAC,aAAa,EACjC,SAAS,EAAG,SAAS,EACrB,aAAa,EAAG,aAAa,EAC7B,cAAc,EAAG,cAAc,EAC/B,cAAc,EAAG,cAAc,EAC/B,gBAAgB,EAAG,kBAAkB,EACrC,SAAS,EAAG,mBAAmB,EAC/B,yBAAyB,EAAG,IAAI,CAAC,0BAA0B,EAC3D,GAAG,EAAC,aAAa,GACjB,CACH,GAAG,CACA,oBAAC,WAAI,aACH,IAAI,EAAG,IAAI,EACX,KAAK,EAAG,KAAK,EACb,YAAY,EAAG,UAAC,IAAI,EAAE,SAAS,IAAK,YAAI,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAtC,CAAsC,IACrE,mBAAmB,IACxB,GAAG,EAAC,MAAM,IACV,CACH,CAEW,CACN,CACR,CACF,CACF,CACP,CAAC;;KACJ,CAAC;KAEM,iCAAW,GAAlB;SACE,iBAAM,WAAW,WAAE,CAAC;SACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC3B,CAAC;KAGS,kCAAY,GAAtB,UAAuB,KAAuB,EAAE,aAAmB;SACjE,MAAM,CAAC,oBAAC,uBAAU,eAAM,KAAK,EAAK,CAAC;KACrC,CAAC;KAEO,mCAAa,GAArB,UAAsB,YAAoB,EAAE,IAAS,EAAE,KAAa;SAC9D,mBAWU,EAVZ,kCAAc,EACd,wCAAoC,EACpC,4CAAmB,EACnB,0CAAkB,EAClB,mBAA+B,EAA/B,oDAA+B,EAC/B,gCAAa,EACb,sBAAQ,EACR,0CAAkB,EAClB,oCAAe,EACf,8CAAoB,CACP;SACf,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;SAChC,IAAI,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;SAExC,wCAAwB,CACX;SAEf,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;aACV,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;iBACxB,mBAAmB,CAAC,KAAK,CAAC,CAAC;aAC7B,CAAC;aAED,MAAM,CAAC,IAAI,CAAC;SACd,CAAC;SAED,MAAM,CAAC,WAAW,CAAC;aACjB,IAAI,EAAE,IAAI;aACV,SAAS,EAAE,KAAK;aAChB,OAAO,EAAE,OAAO;aAChB,iBAAiB,EAAE,YAAY;aAC/B,aAAa,EAAE,aAAa;aAC5B,SAAS,EAAE,SAAS;aACpB,UAAU,EAAE,IAAI,CAAC,cAAc;aAC/B,aAAa,EAAE,IAAI,CAAC,iBAAiB;aACrC,kBAAkB,EAAE,kBAAkB;aACtC,gBAAgB,EAAE,gBAAgB;aAClC,cAAc,EAAE,cAAc;aAC9B,cAAc,EAAE,cAAc;aAC9B,QAAQ,EAAE,QAAQ;aAClB,kBAAkB,EAAE,kBAAkB;aACtC,eAAe,EAAE,eAAe;aAChC,oBAAoB,EAAE,oBAAoB;UAC3C,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KACxB,CAAC;KAEO,gDAA0B,GAAlC,UAAmC,mBAA4B;SAC7D,IAAI,CAAC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,CAAC;KAC9D,CAAC;KAEO,8CAAwB,GAAhC,UAAiC,MAAe,EAAE,QAAiB;SACjE,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;KACxC,CAAC;KAEO,sCAAgB,GAAxB,UAAyB,EAAoC;SAC3D,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;aAC/B,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACvD,EAAE,CAAC,cAAc,EAAE,CAAC;iBACpB,EAAE,CAAC,eAAe,EAAE,CAAC;aACvB,CAAC;SACH,CAAC;KACH,CAAC;KAEO,uCAAiB,GAAzB,UAA0B,EAAoC;SAC5D,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;aAC7B,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACjD,EAAE,CAAC,cAAc,EAAE,CAAC;iBACpB,EAAE,CAAC,eAAe,EAAE,CAAC;aACvB,CAAC;SACH,CAAC;KACH,CAAC;KAEO,2CAAqB,GAA7B;SACQ,8BAAM,CAAgB;SAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;SACd,IAAI,aAAa,GAAG,MAAM,CAAC;SAE3B,OAAO,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;aACjD,KAAK,EAAE,CAAC;aACR,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SAC5C,CAAC;SAED,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KAEO,oCAAc,GAAtB,UAAuB,GAAe;SAC9B,4CAAa,CAAgB;SACnC,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;SAEhC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,sCAAsC;SAErE,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;SAElC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;aAClB,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACvC,CAAC;KACH,CAAC;KAEO,6CAAuB,GAA/B,UAAgC,GAAe;SAC7C,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;SAChC,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;aACnF,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;iBAC5B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;aAC5C,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAM,UAAG,CAAC,KAAK,EAAE,EAAX,CAAW,EAAE,CAAC,CAAC,CAAC;aAE7C,OAAO,IAAI,CAAC,oBAAoB,CAAC;SACnC,CAAC;KACH,CAAC;KAEO,uCAAiB,GAAzB,UAA0B,GAAe;SACjC,kDAAgB,CAAgB;SACtC,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;SAEhC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChC,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;aACrB,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SAC1C,CAAC;KACH,CAAC;KAEO,uCAAiB,GAAzB,UAA0B,SAAkB;SAC1C,IAAI,CAAC,QAAQ,CAAC;aACZ,WAAW,EAAE,SAAS;UACvB,CAAC,CAAC;SACH,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;SACrD,CAAC;KACH,CAAC;KAEO,uCAAiB,GAAzB;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SACtC,CAAC;SACD,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;SAC/B,CAAC;KACH,CAAC;KAEO,oCAAc,GAAtB,UAAuB,QAA2B,EAAE,WAAqB,EAAE,UAAkC;SAC3G,IAAI,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;SAChE,6CAAoB,CAAkB;SAExD,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;aACpB,IAAI,CAAC,QAAQ,CAAC;iBACZ,eAAe,EAAE,eAAe;iBAChC,SAAS,EAAE,aAAa;iBACxB,UAAU,EAAE,UAAU;cACvB,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAED,yEAAyE;KACjE,yCAAmB,GAA3B,UAA4B,QAA2B,EAAE,WAAqB,EAAE,UAAkC;SAAlH,iBAuCC;SAtCO,iCAAmB,EAAE,yBAAe,EAAc,uCAAoB,EAAI,sCAAa,CAAc;SAE3G,EAAE,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;aAC7B,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;SACnC,CAAC;SAED,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;SACnD,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;SACvD,IAAI,iBAAiB,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC;SAE9E,EAAE,CAAC,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC;aAChC,EAAE,CAAC,CAAC,CAAC,WAAW;iBACd,SAAS,KAAK,aAAa;iBAC3B,iBAAiB,KAAK,aAAa;iBACnC,CAAC,CAAC,OAAO,IAAI,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;iBACvC,MAAM,CAAC;aACT,CAAC;SACH,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;SAC5C,CAAC;SAED,UAAU,GAAG,UAAU,IAAI,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAExD,IAAI,eAA0B,CAAC;SAE/B,EAAE,CAAC,CAAC,UAAU,KAAK,yCAAqB,CAAC,YAAY,CAAC,CAAC,CAAC;aACtD,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;SACtD,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;SACnF,CAAC;SAED,8CAA8C;SAC9C,eAAe,CAAC,OAAO,CAAC,gBAAM;aAC5B,IAAI,SAAS,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAa,CAAC;aACvG,SAAS,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;SACrD,CAAC,CAAC,CAAC;SAEH,MAAM,CAAC,eAAe,CAAC;KACzB,CAAC;KAED,2FAA2F;KACnF,sCAAgB,GAAxB,UAAyB,UAAqB;SAA9C,iBAUC;SATC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAM;aAC1B,IAAI,SAAS,GAAG,kBAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;aAEtE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;iBAC/B,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,IAAI,gBAAgB,CAAC;aAC3F,CAAC;aAED,MAAM,CAAC,SAAS,CAAC;SACnB,CAAC,CAAC,CAAC;KACL,CAAC;KAED,gEAAgE;KACxD,0CAAoB,GAA5B,UAA6B,UAAqB,EAAE,aAAqB,EAAE,KAAwB;SAE/F,uCAAa,EACb,qBAAM,CACE;SACV,IAAI,YAAY,GAAG,qBAAqB,CAAC;SACzC,IAAI,aAAa,GAAG,CAAC,aAAa,KAAK,qBAAa,CAAC,IAAI,CAAC,GAAG,cAAc,GAAG,CAAC,CAAC;SAChF,IAAI,gBAAgB,GAAG,MAAM,GAAG,kBAAkB,GAAG,CAAC,CAAC;SACvD,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,iDAAiD;SACrE,IAAI,cAAc,GAAG,aAAa,GAAG,CAAC,YAAY,GAAG,aAAa,GAAG,gBAAgB,CAAC,CAAC;SACvF,IAAI,eAAe,GAAc,UAAU,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,CAAC;aACxD,IAAI,SAAS,GAAG,kBAAM,CACpB,EAAE,EACF,MAAM,EACN;iBACE,eAAe,EAAE,MAAM,CAAC,QAAQ,IAAI,gBAAgB;cACrD,CAAC,CAAC;aAEL,UAAU,IAAI,SAAS,CAAC,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,qBAAqB,GAAG,CAAC,CAAC,CAAC;aAE9E,MAAM,CAAC,SAAS,CAAC;SACnB,CAAC,CAAC,CAAC;SAEH,IAAI,SAAS,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;SAE3C,8BAA8B;SAC9B,OAAO,SAAS,GAAG,CAAC,IAAI,UAAU,GAAG,cAAc,EAAE,CAAC;aACpD,IAAI,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;aAExC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;iBACzB,UAAU,IAAI,MAAM,CAAC,eAAe,GAAG,qBAAqB,CAAC;iBAC7D,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;aACvC,CAAC;aACD,SAAS,EAAE,CAAC;SACd,CAAC;SAED,+EAA+E;SAC/E,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,IAAI,UAAU,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;aAC/E,IAAI,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;aAChC,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;aAC/B,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,QAAQ,IAAI,gBAAgB,CAAC;aAC/D,IAAI,SAAS,GAAG,cAAc,GAAG,UAAU,CAAC;aAC5C,IAAI,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC,GAAG,SAAS,CAAC;aAEhF,0CAA0C;aAC1C,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBACvC,SAAS,GAAG,SAAS,CAAC;aACxB,CAAC;aAED,MAAM,CAAC,eAAe,IAAI,SAAS,CAAC;aACpC,UAAU,IAAI,SAAS,CAAC;SAC1B,CAAC;SAED,yEAAyE;SACzE,EAAE,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;aAC3B,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;SAClE,CAAC;SAED,MAAM,CAAC,eAAe,CAAC;KACzB,CAAC;KAEO,sCAAgB,GAAxB,UAAyB,cAAuB,EAAE,QAAgB;SAChE,IAAI,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,IAAI,gBAAgB,EAAE,QAAQ,CAAC,CAAC;SACzF,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;aAC9B,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;SAChE,CAAC;SACD,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,eAAe,GAAG,kBAAkB,CAAC;SAC/E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,yCAAqB,CAAC,YAAY,CAAC,CAAC;SAC1E,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC3B,CAAC;KAED;;;;;;;;;QASG;KACK,0CAAoB,GAA5B,UAA6B,MAAe,EAAE,WAAmB;SAAjE,iBAiBC;SAhBC,IAAI,GAAG,GAAG,CAAC,CAAC;SACZ,IAAI,KAAK,GAAG,CAAC,CAAC;SACd,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;SAEtD,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aACjC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACzC,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;iBACvC,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,UAAC,KAAa;qBAChD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;qBAC3B,KAAK,EAAE,CAAC;qBACR,EAAE,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC;yBACzB,KAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;qBACrC,CAAC;iBACH,CAAC,CAAC,CAAC;aACL,CAAC;SACH,CAAC;KACH,CAAC;KAED;;;;;;;QAOG;KACK,yCAAmB,GAA3B,UAA4B,EAAgB,EAAE,EAAkC;SAC1E,mBAA2C,EAAzC,gBAAK,EAAE,4CAAmB,CAAgB;SAEhD,EAAE,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;aAChC,MAAM,CAAC;SACT,CAAC;SACD,IAAI,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC;SACvD,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;aACf,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;SAC/C,CAAC;KACH,CAAC;KAAA,CAAC;KACJ,kBAAC;AAAD,EAAC,CAnmBgC,yBAAa,GAmmB7C;AAlmBe,yBAAY,GAAG;KAC3B,UAAU,EAAE,yCAAqB,CAAC,SAAS;KAC3C,aAAa,EAAE,qBAAa,CAAC,QAAQ;KACrC,aAAa,EAAE,iCAAa,CAAC,qBAAqB;KAClD,kBAAkB,EAAE,sCAAkB,CAAC,OAAO;KAC9C,eAAe,EAAE,IAAI;EACtB,CAAC;AAgRF;KADC,oBAAQ;gDAGR;AAzRU,YAAW;KADvB,2BAAY;IACA,WAAW,CAmmBvB;AAnmBY,mCAAW;AAqmBxB,uBACE,KAAY,EACZ,gBAA0B,EAC1B,aAA2E,EAC3E,eAAwB,EACxB,kBAA4B,EAC5B,gBAAyB,EACzB,WAAqB;KACrB,IAAI,OAAO,GAAc,EAAE,CAAC;KAE5B,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;SAC1B,IAAI,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SACzB,IAAI,aAAa,GAAG,IAAI,CAAC;SAEzB,GAAG,CAAC,CAAC,IAAI,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC;aAC/B,EAAE,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBACvC,OAAO,CAAC,IAAI,CAAC;qBACX,GAAG,EAAE,QAAQ;qBACb,IAAI,EAAE,QAAQ;qBACd,SAAS,EAAE,QAAQ;qBACnB,QAAQ,EAAE,gBAAgB;qBAC1B,QAAQ,EAAE,GAAG;qBACb,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;qBAC/B,WAAW,EAAE,CAAC,WAAW,KAAK,SAAS,CAAC,GAAG,KAAK,GAAG,WAAW;qBAC9D,QAAQ,EAAE,eAAe,KAAK,QAAQ;qBACtC,kBAAkB,EAAE,CAAC,CAAC,kBAAkB;qBACxC,WAAW,EAAE,KAAK;qBAClB,iBAAiB,EAAE,qCAAiB,CAAC,SAAS;qBAC9C,WAAW,EAAE,gBAAgB;qBAC7B,aAAa;qBACb,SAAS,EAAE,gBAAgB,KAAK,QAAQ;kBACzC,CAAC,CAAC;iBAEH,aAAa,GAAG,KAAK,CAAC;aACxB,CAAC;SACH,CAAC;KACH,CAAC;KAED,MAAM,CAAC,OAAO,CAAC;AACjB,EAAC;AAvCD,qCAuCC;;;;;;;;;;AC3ZD;;;;IAIG;AACH,KAAY,iBAeX;AAfD,YAAY,iBAAiB;KAC3B;;QAEG;KACH,iEAAY;KAEZ;;QAEG;KACH,mEAAa;KAEb;;QAEG;KACH,uEAAe;AACjB,EAAC,EAfW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAe5B;AAED,KAAY,aAQX;AARD,YAAY,aAAa;KACvB,qFAAqF;KACrF,mEAAiB;KAEjB;;QAEG;KACH,mFAAyB;AAC3B,EAAC,EARW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAQxB;AAED,KAAY,qBAWX;AAXD,YAAY,qBAAqB;KAC/B;;QAEG;KACH,iFAAgB;KAEhB;;;QAGG;KACH,2EAAa;AACf,EAAC,EAXW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAWhC;AAED,KAAY,kBAeX;AAfD,YAAY,kBAAkB;KAC5B;;QAEG;KACH,iEAAW;KAEX;;QAEG;KACH,+DAAU;KAEV;;QAEG;KACH,+DAAU;AACZ,EAAC,EAfW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAe7B;;;;;;;;;;;;;;;;;;;;;;;;;;ACpWD,oCAA+B;AAC/B,2CAKyB;AACzB,oDAAwF;AACxF,2CAAgE;AAChE,wCAAoC;AACpC,uCAAkC;AAClC,wCAAoC;AACpC,8CAAyD;AACzD,6CAAmG;AACnG,6CAAqD;AACrD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC,KAAM,wBAAwB,GAAG,CAAC,CAAC,CAAC,4EAA4E;AAChH,KAAM,wBAAwB,GAAG,CAAC,CAAC,CAAC,6EAA6E;AACjH,KAAM,aAAa,GAAG,EAAE,CAAC;AAsBzB,KAAY,mBAIX;AAJD,YAAY,mBAAmB;KAC7B,6DAAQ;KACR,iEAAU;KACV,mEAAW;AACb,EAAC,EAJW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAI9B;AAgBD;KAAmC,iCAAuD;KAWxF,uBAAY,KAA0B;SAAtC,YACE,kBAAM,KAAK,CAAC,SAUb;SARC,KAAI,CAAC,KAAK,GAAG;aACX,mBAAmB,EAAE,IAAI;aACzB,iBAAiB,EAAE,KAAI,CAAC,KAAK,CAAC,iBAAiB;aAC/C,cAAc,EAAE,KAAI,CAAC,KAAK,CAAC,cAAc;UAC1C,CAAC;SAEF,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SACjE,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;KACjE,CAAC;KAEM,yCAAiB,GAAxB;SACQ,oCAAS,CAAgB;SAE/B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,6BAAgB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;SAEvE,6FAA6F;SAC7F,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACtE,CAAC;KAEM,iDAAyB,GAAhC,UAAiC,QAAQ;SACjC,oDAAiB,CAAgB;SAEvC,EAAE,CAAC,CAAC,QAAQ,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,CAAC,CAAC;aACrD,IAAI,CAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;SACnE,CAAC;KACH,CAAC;KAEM,8BAAM,GAAb;SAAA,iBA8HC;SA7HK,mBAAuF,EAArF,oBAAO,EAAE,wBAAS,EAAE,gEAA6B,EAAE,4CAAmB,CAAgB;SACxF,mBAAgG,EAA9F,gCAAa,EAAE,4CAAmB,EAAE,sBAAQ,EAAE,wCAAiB,EAAE,kCAAc,CAAgB;SAErG,MAAM,CAAC,CACL,6BACE,IAAI,EAAC,KAAK,gBACG,SAAS,EACtB,SAAS,EAAG,eAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI;iBAC7C,GAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAG,aAAa;iBAC7D,GAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,IAAG,mBAAmB,KAAK,mBAAmB,CAAC,MAAM;iBAC1G,uBAAmB,GAAE,CAAC,CAAC,mBAAmB,IAAI,QAAQ;qBACtD,EACF,GAAG,EAAC,MAAM,EACV,WAAW,EAAG,IAAI,CAAC,gBAAgB,uBACjB,eAAe;aACjC,oBAAC,qBAAS,IAAC,GAAG,EAAC,WAAW,EAAC,SAAS,EAAG,8BAAkB,CAAC,UAAU;iBAChE,CAAC,mBAAmB,KAAK,mBAAmB,CAAC,IAAI,CAAC,GAAG,CACrD,6BAAK,SAAS,EAAG,eAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,WAAW,CAAC,EAAG,IAAI,EAAC,cAAc;qBAC5F,gCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAG,eAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,EAClF,OAAO,EAAG,IAAI,CAAC,mBAAmB,gBACrB,6BAA6B,kBAC3B,aAAa;yBAE5B,oBAAC,aAAK,IAAC,OAAO,EAAG,aAAa,GAAK,CAC5B,CACL,CACP,GAAG,IAAI;iBACN,iBAAiB,GAAG,CAAC,GAAG,CACxB,gCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAG,eAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,EACrD,OAAO,EAAG,IAAI,CAAC,oBAAoB;qBACnC,oBAAC,WAAI,IACH,SAAS,EAAG,eAAG,CACb,iCAAiC,EACjC,MAAM,CAAC,cAAc,EACrB,cAAc,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,yBAAyB,CAAC,CACvE,EACD,QAAQ,EAAC,aAAa,GACtB,CACK,CACV,GAAG,CAAC,IAAI,CAAC;iBACR,yBAAW,CAAC,EAAE,KAAK,EAAE,iBAAiB,GAAG,CAAC,EAAE,CAAC;iBAC7C,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,WAAW;qBAAK,QACrC,6BACE,GAAG,EAAG,MAAM,CAAC,GAAG,EAChB,SAAS,EAAG,eAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,WAAW,CAAC,EACnE,IAAI,EAAC,cAAc,eACP,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,kBAAkB,GAAG,YAAY,GAAG,WAAW,CAAC,GAAG,MAAM;yBAE/F,gCACE,IAAI,EAAC,QAAQ,EACb,GAAG,EAAG,MAAM,CAAC,SAAS,EACtB,QAAQ,EAAG,MAAM,CAAC,iBAAiB,KAAK,qCAAiB,CAAC,QAAQ,EAClE,SAAS,EAAG,eAAG,CACb,uBAAuB,EACvB,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,eAAe;iCACpB,GAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAG,MAAM,CAAC,iBAAiB,KAAK,qCAAiB,CAAC,QAAQ;iCACrG,GAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAG,CAAC,MAAM,CAAC,IAAI;iCAChD,qBAAiB,GAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU;qCAC3E,EACJ,KAAK,EAAG,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,GAAG,aAAa,EAAE,EACzD,OAAO,EAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,EAAE,MAAM,CAAC,EAChD,aAAa,EAAG,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAI,EAAE,MAAM,CAAC,mBAC5C,MAAM,CAAC,iBAAiB,KAAK,qCAAiB,CAAC,WAAW,gBAC7D,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,uBAC1B,qBAAqB,mBACvB,MAAM,CAAC,GAAG;6BAGxB,MAAM,CAAC,UAAU,IAAI,CACrB,oBAAC,WAAI,IAAC,SAAS,EAAG,MAAM,CAAC,QAAQ,EAAG,QAAQ,EAAC,QAAQ,GAAG,CACzD;6BAEC,MAAM,CAAC,QAAQ,IAAI,CACnB,oBAAC,WAAI,IAAC,SAAS,EAAG,MAAM,CAAC,QAAQ,EAAG,QAAQ,EAAG,MAAM,CAAC,kBAAkB,GAAG,UAAU,GAAG,QAAQ,GAAK,CACtG;6BAEC,MAAM,CAAC,SAAS,IAAI,CACpB,oBAAC,WAAI,IAAC,SAAS,EAAG,MAAM,CAAC,QAAQ,EAAG,QAAQ,EAAC,mBAAmB,GAAG,CACpE;6BAEC,MAAM,CAAC,aAAa,IAAI,CACxB,oBAAC,WAAI,IAAC,SAAS,EAAG,eAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,EAAG,QAAQ,EAAG,MAAM,CAAC,QAAQ,GAAK,CAC/F;6BAEC,MAAM,CAAC,IAAI;6BAEX,MAAM,CAAC,iBAAiB,KAAK,qCAAiB,CAAC,WAAW,IAAI,CAC9D,oBAAC,WAAI,IACH,SAAS,EAAG,eAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,aAAa,CAAC,EACvE,QAAQ,EAAC,aAAa,GACtB,CACH,CACM;yBACP,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CACxB,iDACqB,WAAW,EAC9B,SAAS,EAAG,eAAG,CACb,gCAAgC,EAChC,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,WAAW;iCAEhB,GAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAG,QAAQ,IAAI,mBAAmB,CAAC,WAAW,KAAK,WAAW;qCACrG,EACJ,aAAa,EAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,EAAE,WAAW,CAAC,GAChE,CACH,CACG,CACP;;iBAnEsC,CAmEtC,CAAC,CACQ;aACV,QAAQ,IAAI,CACZ,oBAAC,aAAK;iBACJ,6BACE,SAAS,EAAG,eAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,EACjD,WAAW,EAAG,IAAI,CAAC,iBAAiB,EACpC,SAAS,EAAG,IAAI,CAAC,eAAe,GAChC,CACI,CACT,CACG,CACP,CAAC;;KACJ,CAAC;KAED,uDAAuD;KAChD,6BAAK,GAAZ;SACE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;KACrC,CAAC;KAED;;;;;;;QAOG;KACK,2CAAmB,GAA3B,UAA4B,WAAmB,EAAE,EAAiC;SAC5E,mBAA6C,EAA3C,4CAAmB,EAAE,oBAAO,CAAgB;SAClD,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;aACxB,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;SACzD,CAAC;KACH,CAAC;KAED;;QAEG;KAGK,2CAAmB,GAA3B;SACQ,oCAAS,CAAgB;SAE/B,SAAS,CAAC,iBAAiB,EAAE,CAAC;KAChC,CAAC;KAGO,wCAAgB,GAAxB,UAAyB,EAAc;SACrC,IAAI,eAAe,GAAI,EAAE,CAAC,MAAsB,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;SAClF,IAAI,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;SACpC,gCAAO,CAAgB;SAE7B,EAAE,CAAC,CAAC,eAAe,KAAK,IAAI,IAAI,EAAE,CAAC,MAAM,KAAK,wBAAwB,CAAC,CAAC,CAAC;aACvE,6CAA6C;aAC7C,MAAM,CAAC;SACT,CAAC;SAED,IAAI,CAAC,QAAQ,CAAC;aACZ,mBAAmB,EAAE;iBACnB,WAAW,EAAE,WAAW;iBACxB,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,eAAe;iBACpD,OAAO,EAAE,EAAE,CAAC,OAAO;cACpB;UACF,CAAC,CAAC;SAEH,EAAE,CAAC,cAAc,EAAE,CAAC;SACpB,EAAE,CAAC,eAAe,EAAE,CAAC;KACvB,CAAC;KAGO,wCAAgB,GAAxB,UAAyB,EAAiC;SACpD,mBAA8C,EAA5C,4CAAmB,EAAE,sBAAQ,CAAgB;SAEnD,EAAE,CAAC,CAAC,mBAAmB,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,OAAO,KAAK,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;aACnF,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;SACpC,CAAC;KACH,CAAC;KAED;;;;;;QAMG;KAEK,yCAAiB,GAAzB,UAA0B,EAAiC;SAIvD;SAFA,kGAAkG;SAClG,sFAAsF;SACtF,oBAAO,CACF;SACH,mBAAkE,EAAhE,oDAAuB,EAAE,oCAAe,EAAE,oBAAO,CAAgB;SACjE,wDAAmB,CAAgB;SAEzC,EAAE,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,wBAAwB,CAAC,CAAC,CAAC;aAClE,kFAAkF;aAClF,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;aACzB,MAAM,CAAC;SACT,CAAC;SAED,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,KAAK,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;aAC/C,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;iBAC5B,uBAAuB,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;aAC1E,CAAC;SACH,CAAC;SAED,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;aACpB,IAAI,QAAQ,GAAG,EAAE,CAAC,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC;aAExD,EAAE,CAAC,CAAC,kBAAM,EAAE,CAAC,CAAC,CAAC;iBACb,QAAQ,GAAG,CAAC,QAAQ,CAAC;aACvB,CAAC;aAED,eAAe,CACb,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,EACxC,mBAAmB,CAAC,cAAc,GAAG,QAAQ,CAC9C,CAAC;SACJ,CAAC;KAEH,CAAC;KAED;;;;;;;QAOG;KAEK,uCAAe,GAAvB,UAAwB,EAAiC;SACnD,mBAAiD,EAA/C,oBAAO,EAAE,oDAAuB,CAAgB;SAChD,wDAAmB,CAAgB;SAEzC,IAAI,CAAC,QAAQ,CAAC;aACZ,mBAAmB,EAAE,IAAI;aACzB,QAAQ,EAAE,KAAK;UAChB,CAAC,CAAC;SAEH,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;aAC5B,uBAAuB,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;SAC3E,CAAC;KACH,CAAC;KAEO,2CAAmB,GAA3B;SACE,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;SAEzD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,aAAa,CAAC,CAAC,CAAC;aAC/C,IAAI,CAAC,QAAQ,CAAC;iBACZ,aAAa,EAAE,aAAa;cAC7B,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAEO,sCAAc,GAAtB,UAAuB,MAAM,EAAE,EAAE;SACzB,4CAAa,CAAgB;SAEnC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;aACzB,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;SACnC,CAAC;SAED,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;aAClB,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;SAC5B,CAAC;KACH,CAAC;KAEO,4CAAoB,GAA5B,UAA6B,MAAM,EAAE,EAAE;SAC/B,wDAAmB,CAAgB;SAEzC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;aACzB,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACzC,CAAC;SAED,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;aACxB,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAClC,CAAC;KACH,CAAC;KAEO,4CAAoB,GAA5B;SACQ,wDAAmB,CAAgB;SACzC,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;SAC9C,IAAI,CAAC,QAAQ,CAAC;aACZ,cAAc,EAAE,YAAY;UAC7B,CAAC,CAAC;SACH,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;aACxB,mBAAmB,CAAC,YAAY,CAAC,CAAC;SACpC,CAAC;KACH,CAAC;KAEH,oBAAC;AAAD,EAAC,CAxVkC,yBAAa;AAChC,2BAAY,GAAG;KAC3B,kBAAkB,EAAE,mBAAmB,CAAC,OAAO;EAChD,CAAC;AA+LF;KADC,oBAAQ;yDAKR;AAGD;KADC,oBAAQ;sDAqBR;AAGD;KADC,oBAAQ;sDAOR;AAUD;KADC,oBAAQ;uDAmCR;AAWD;KADC,oBAAQ;qDAaR;AAzSU,uCAAa;;;;;;;;;;;;;AC7D1B,oCAAyC;;;;;;;;;;;;;ACAzC,oCAAwB;;;;;;;;;;;;;;;;;;;;ACAxB,oCAA+B;AAC/B,2CAAqD;AACrD,uCAAkC;AAClC,6CAA6C;AAC7C,KAAM,MAAM,GAAQ,YAAY,CAAC;AAiBjC;KAA2B,yBAA8B;KAAzD;;KAmCA,CAAC;KA9BQ,qCAAqB,GAA5B,UAA6B,QAAqB;SAChD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC;KAChG,CAAC;KAEM,sBAAM,GAAb;SACM,mBAAmC,EAAjC,wBAAS,EAAE,oBAAO,CAAgB;SAExC,SAAS,GAAG,SAAS,IAAI,OAAO,CAAC;SAEjC,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAClB,UAAU,EACV,MAAM,CAAC,IAAI,EACX,SAAS,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CACpD;aACC,oBAAC,WAAI,IACH,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,UAAU,CAAC,EACzD,QAAQ,EAAC,gBAAgB,GACzB;aACF,oBAAC,WAAI,IACH,SAAS,EAAG,eAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,EACjD,QAAQ,EAAC,YAAY,GACrB;aACF,oBAAC,WAAI,IACH,SAAS,EAAG,eAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,EAC/C,QAAQ,EAAC,WAAW,GACpB,CACE,CACP,CAAC;KACJ,CAAC;KACH,YAAC;AAAD,EAAC,CAnC0B,yBAAa;AACxB,mBAAY,GAAG;KAC3B,SAAS,EAAE,KAAK;EACjB,CAAC;AAHS,uBAAK;;;;;;;;;ACrBlB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,aAAa,EAAE,wBAAwB;KACvC,UAAU,EAAE,qBAAqB;KACjC,MAAM,EAAE,iBAAiB;KACzB,KAAK,EAAE,gBAAgB;EACxB,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,ufAAuf,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sDAAsD,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0BAA0B,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kDAAkD,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gDAAgD,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gEAAgE,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC,CAAC,CAAC;AAFtpC,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;ACdnB,wCAAuC;AACvC,oCAA+B;AAC/B,uCAAsC;AACtC,2CAEyB;AACzB,6CAAmD;AACnD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAMjC,KAAM,YAAY,GAAG,EAAE,CAAC;AAEX,oBAAW,GAAG,UAAC,KAAwB;KAClD,YAAK,CAAC,KAAK,GAAG,CAAC,IAAI,CACjB,8BACE,SAAS,EAAG,eAAG,CACb,gBAAgB,EAChB,MAAM,CAAC,IAAI,CACZ,EACD,KAAK,EAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,YAAY,EAAE,GAC7C,CACH;AARD,EAQC,CAAC;;;;;;;;;ACxBJ,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;EACtB,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,sCAAsC,EAAC,CAAC,CAAC,CAAC;AAFnE,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;ACVnB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,qBAAqB,EAAE,gCAAgC;KACvD,IAAI,EAAE,eAAe;KACrB,WAAW,EAAE,sBAAsB;KACnC,iBAAiB,EAAE,4BAA4B;KAC/C,WAAW,EAAE,sBAAsB;KACnC,gBAAgB,EAAE,2BAA2B;KAC7C,WAAW,EAAE,sBAAsB;KACnC,WAAW,EAAE,sBAAsB;KACnC,cAAc,EAAE,yBAAyB;KACzC,cAAc,EAAE,yBAAyB;KACzC,yBAAyB,EAAE,oCAAoC;KAC/D,QAAQ,EAAE,mBAAmB;KAC7B,aAAa,EAAE,wBAAwB;KACvC,aAAa,EAAE,wBAAwB;EACxC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,mKAAmK,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qkBAAqkB,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qdAAqd,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mTAAmT,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wDAAwD,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,cAAc,EAAC,EAAC,EAAC,OAAO,EAAC,mBAAmB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8DAA8D,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sbAAsb,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,snBAAsnB,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6LAA6L,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iaAAia,EAAC,CAAC,CAAC,CAAC;AAFv8H,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBnB,oCAA+B;AAC/B,2CAQyB;AACzB,oDAAkE;AAClE,kDAA2E;AAC3E,8CAAyD;AACzD,mDAAsD;AACtD,2CAAgE;AAChE,6CAAmG;AAOnG,6CAAkD;AAClD,KAAM,MAAM,GAAQ,YAAY,CAAC;AACjC,yCAAoD;AAsCpD,KAAM,0BAA0B,GAAG,aAAa,CAAC;AAEjD;KAAgC,8BAAiD;KAY/E,oBAAY,KAAK;SAAjB,YACE,kBAAM,KAAK,CAAC,SAab;SAXC,KAAI,CAAC,KAAK,GAAG;aACX,cAAc,EAAE,KAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;aAC9C,iBAAiB,EAAE,IAAI;aACvB,UAAU,EAAE,KAAK;aACjB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;UAC3C,CAAC;SAEF,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAE1B,KAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;SAC9B,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;KACnE,CAAC;KAEM,sCAAiB,GAAxB;SACQ,8CAAc,CAAgB;SAEpC,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;aACnB,IAAI,CAAC,qBAAqB,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;SACrH,CAAC;SAED,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,6BAAgB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;SAElF,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7C,+EAA+E;aAC/E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACxB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC9B,CAAC;KACH,CAAC;KAEM,uCAAkB,GAAzB,UAA0B,aAA+B;SACvD,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SACnB,mBAAiC,EAA/B,cAAI,EAAE,0BAAU,CAAgB;SAChC,+CAAiB,CAAW;SAElC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,aAAa,CAAC,SAAS;aAClD,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI;aACtC,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;aAC7D,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;iBAC/B,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;iBACrC,OAAO,IAAI,CAAC,qBAAqB,CAAC;aACpC,CAAC;aAED,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;iBAC9B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;aAChI,CAAC;SACH,CAAC;SAED,EAAE,CAAC,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;aACtD,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;aAEpE,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAE1C,IAAI,CAAC,QAAQ,CAAC;iBACZ,iBAAiB,EAAE,IAAI;cACxB,CAAC,CAAC;SACL,CAAC;SAED,EAAE,CAAC,CAAC,IAAI,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACxB,UAAU,CAAC,IAAI,CAAC,CAAC;SACnB,CAAC;KACH,CAAC;KAEM,yCAAoB,GAA3B;SACM,mBAAoC,EAAlC,cAAI,EAAE,gCAAa,CAAgB;SAEzC,2DAA2D;SAC3D,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC;aAC1B,aAAa,CAAC,IAAI,CAAC,CAAC;SACtB,CAAC;SAED,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;aAC/B,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;aACrC,OAAO,IAAI,CAAC,qBAAqB,CAAC;SACpC,CAAC;KACH,CAAC;KAEM,8CAAyB,GAAhC,UAAiC,QAA0B;SACzD,IAAI,CAAC,QAAQ,CAAC;aACZ,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;aACjD,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;UAC9C,CAAC,CAAC;KACL,CAAC;KAEM,2BAAM,GAAb;SACQ,mBAaQ,EAZZ,oBAAO,EACP,kCAAc,EACd,cAAI,EACJ,wBAAS,EACT,qBAAmC,EAAnC,wDAAmC,EACnC,0CAAkB,EAClB,gCAAa,EACb,sBAAQ,EACR,0CAAkB,EAClB,oCAAe,EACf,8CAAoB,EACpB,wBAAS,CACI;SACT,mBAA8G,EAA5G,sBAA2C,EAAzB,0BAAU,EAAE,4BAAW,EAAI,wCAAiB,EAAE,0BAAU,EAAE,wCAAiB,CAAgB;SACrH,IAAM,WAAW,GAAG,OAAO,CAAC,cAAc,IAAI,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SACtG,IAAM,iBAAiB,GAAG,UAAU,GAAG,CAAC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,GAAG,0BAA0B,CAAC,GAAG,EAAE,CAAC;SAC/H,IAAM,SAAS,GAAG,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;SACjE,IAAM,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAChD,IAAM,qBAAqB,GAAG,aAAa,KAAK,0BAAa,CAAC,QAAQ,CAAC;SAEvE,MAAM,CAAC,CACL,wCACM,0BAAc,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAa,CAAC,IAC7C,GAAG,EAAC,MAAM,EACV,IAAI,EAAC,KAAK,gBACG,SAAS,EACtB,SAAS,EAAG,eAAG,CACb,eAAe,EACf,6BAAmB,CAAC,SAAS,EAC7B,MAAM,CAAC,IAAI,EACX,iBAAiB;iBAEf,GAAC,yBAAyB,GAAG,MAAM,CAAC,yBAAyB,IAAG,qBAAqB;iBACrF,GAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAG,UAAU;iBACpD,GAAC,mBAAmB,GAAG,MAAM,CAAC,kBAAkB,IAAG,kBAAkB,KAAK,sCAAkB,CAAC,MAAM;qBACnG,uBACgB,IAAI,0BACD,SAAS,qBACd,SAAS,mBACX,SAAS,uBACL,WAAW,EAC/B,SAAS,EAAG,WAAW,uBACL,YAAY,EAC9B,KAAK,EAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,mBACnC,UAAU;aAE1B,oBAAC,qBAAS,IAAC,SAAS,EAAG,8BAAkB,CAAC,UAAU;iBAChD,CAAC,aAAa,KAAK,0BAAa,CAAC,IAAI,IAAI,kBAAkB,KAAK,sCAAkB,CAAC,MAAM,CAAC,IAAI,CAC9F,8BAAM,IAAI,EAAC,UAAU,IACjB,aAAa,CAAC;qBACd,UAAU;qBACV,WAAW;qBACX,SAAS,EAAE,oBAAoB;qBAC/B,SAAS;kBACV,CAAC,CACG,CACR;iBAEC,yBAAW,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;iBAEzC,IAAI,IAAI,CACR,oBAAC,mCAAgB,IACf,OAAO,EAAG,OAAO,EACjB,IAAI,EAAG,IAAI,EACX,SAAS,EAAG,SAAS,EACrB,kBAAkB,EAAG,kBAAkB,GAAK,CAC/C;iBAEC,iBAAiB,IAAI,CACrB,8BACE,SAAS,EAAG,eAAG,CAAC,+CAA+C,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,EAClG,GAAG,EAAC,cAAc;qBAElB,oBAAC,mCAAgB,IACf,OAAO,EAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,EACpC,IAAI,EAAG,IAAI,EACX,SAAS,EAAG,SAAS,EACrB,kBAAkB,EAAG,kBAAkB,GAAK,CACzC,CACR,CACS,CACR,CACP,CAAC;;KACJ,CAAC;KAED;;;;;QAKG;KACI,gCAAW,GAAlB,UAAmB,KAAa,EAAE,aAAsC;SACtE,IAAI,MAAM,GAAG,kBAAM,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAY,CAAC;SAE9D,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;SACpB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC;SAEzB,OAAO,MAAM,CAAC,eAAe,CAAC;SAE9B,IAAI,CAAC,QAAQ,CAAC;aACZ,iBAAiB,EAAE;iBACjB,KAAK;iBACL,MAAM;iBACN,aAAa;cACd;UACF,CAAC,CAAC;KACL,CAAC;KAEM,0BAAK,GAAZ;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;aAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;SACzB,CAAC;KACH,CAAC;KAES,mCAAc,GAAxB,UAAyB,KAA4B;SACnD,MAAM,CAAC,oBAAC,iCAAe,eAAM,KAAK,EAAK,CAAC;KAC1C,CAAC;KAEO,uCAAkB,GAA1B,UAA2B,KAAuB;SAC1C,+BAAS,EAAE,2BAAS,CAAW;SAErC,MAAM,CAAC;aACL,UAAU,EAAE,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC;aAChD,WAAW,EAAE,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC;UAC9C,CAAC;KACJ,CAAC;KAEO,wCAAmB,GAA3B;SACE,IAAI,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAEzD,EAAE,CAAC,CAAC,CAAC,0BAAc,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;aAC/D,IAAI,CAAC,QAAQ,CAAC;iBACZ,cAAc,EAAE,cAAc;cAC/B,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAEO,2CAAsB,GAA9B;SACQ,mBAKQ,EAJZ,cAAI,EACJ,wBAAS,EACT,kCAAc,EACd,sCAAgB,CACH;SACf,IAAI,OAAO,GAAG;aACZ,QAAQ,EAAE,gBAAgB;aAC1B,cAAc,EAAE,SAAS;aACzB,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE;aACzC,OAAO,EAAE,cAAc,CAAC,OAAO;aAC/B,OAAO,EAAE,cAAc,CAAC,OAAO;aAC/B,WAAW,EAAE,cAAc,CAAC,WAAW;aACvC,eAAe,EAAE,IAAI,CAAC,oBAAoB;aAC1C,MAAM,EAAE,cAAc,CAAC,MAAM;aAC7B,SAAS,EAAE,cAAc,CAAC,SAAS;UACpC,CAAC;SAEF,MAAM,CAAC,OAAO,CAAC;KACjB,CAAC;KAED;;;;;;;;;;;QAWG;KACK,yCAAoB,GAA5B,UAA6B,QAAiB,EAAE,KAAgB;SAC1D,mBAA2C,EAAzC,kCAAc,EAAE,0BAAU,CAAgB;SAC5C,mBAAqC,EAAnC,kCAAc,EAAE,cAAI,CAAgB;SAE1C,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;aACd,EAAE,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;iBAC/B,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aAC1C,CAAC;SACH,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,EAAE,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;iBAC/B,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACrE,CAAC;SACH,CAAC;SAED,EAAE,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC;aAC5B,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC1E,CAAC;KACH,CAAC;KACH,iBAAC;AAAD,EAAC,CAnS+B,yBAAa,GAmS5C;AAnSY,iCAAU;;;;;;;;;;AChEvB,wCAAuC;AACvC,oCAA+B;AAC/B,uCAAsC;AACtC,2CAAsC;AACtC,wCAAoC;AACpC,6CAAkD;AAClD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAcpB,wBAAe,GAAG,UAAC,KAA4B;KAC1D,IAAI,QAAQ,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC;KAClD,MAAM,CAAC,CACL,gCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,KAAK;aACjD,GAAC,MAAM,CAAC,aAAa,IAAG,CAAC,KAAK,CAAC,SAAS;aACxC,qCAAiC,GAAE,CAAC,KAAK,CAAC,SAAS;iBACnD,EACF,IAAI,EAAC,QAAQ,kBACE,QAAQ,2BACC,IAAI,uBACV,iBAAiB,gBACtB,KAAK,CAAC,SAAS;SAE5B,oBAAC,aAAK,IAAC,OAAO,EAAG,QAAQ,GAAK,CACvB,CACV,CAAC;;AACJ,EAAC,CAAC;;;;;;;;;ACtCF,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,cAAc,EAAE,yBAAyB;KACzC,yBAAyB,EAAE,oCAAoC;KAC/D,IAAI,EAAE,eAAe;KACrB,WAAW,EAAE,sBAAsB;KACnC,MAAM,EAAE,iBAAiB;KACzB,KAAK,EAAE,gBAAgB;KACvB,aAAa,EAAE,wBAAwB;KACvC,kBAAkB,EAAE,6BAA6B;KACjD,YAAY,EAAE,uBAAuB;KACrC,WAAW,EAAE,sBAAsB;EACpC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,4cAA4c,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8HAA8H,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uCAAuC,EAAC,EAAC,EAAC,OAAO,EAAC,mBAAmB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6CAA6C,EAAC,EAAC,EAAC,OAAO,EAAC,sBAAsB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,m3BAAm3B,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8TAA8T,EAAC,CAAC,CAAC,CAAC;AAFxsE,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;;;;;;;;ACpBnB,oCAA+B;AAE/B,2CAAqD;AACrD,6CAAkD;AAClD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAajC;KAAsC,oCAA6D;KACjG,0BAAY,KAA6B;SAAzC,YACE,iBAAO,SAGR;SADC,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;;KACrC,CAAC;KAEM,oDAAyB,GAAhC,UAAiC,QAAgC;SAC/D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;KAC1C,CAAC;KAEM,iCAAM,GAAb;SACQ,gCAAO,CAAgB;SACvB,wCAAW,CAAgB;SAEjC,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAqB,kBAAkB,IAC9F,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,WAAW;aAAK,QACrC,6BACE,GAAG,EAAG,WAAW,EACjB,IAAI,EAAG,MAAM,CAAC,WAAW,GAAG,WAAW,GAAG,UAAU,mBACpC,WAAW,EAC3B,SAAS,EAAG,eAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS;yBACjE,cAAc,EAAE,MAAM,CAAC,WAAW;;qBAClC,GAAC,MAAM,CAAC,WAAW,IAAG,MAAM,CAAC,WAAW;yBACxC,EACF,KAAK,EAAG,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,uBACvB,gBAAgB,yBACZ,MAAM,CAAC,GAAG,IAC9B,WAAW,CAAC,WAAW,CAAC,CACtB,CACP;;SAdsC,CActC,CAAC,CACE,CACP,CAAC;KACJ,CAAC;KAEO,oCAAS,GAAjB,UAAkB,KAA6B;SAA/C,iBAgBC;SAfO,qBAAI,EAAE,2BAAS,EAAE,6CAAkB,CAAW;SAEpD,MAAM,CAAC;aACL,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM;iBACpC,IAAI,WAAW,CAAC;iBAEhB,IAAI,CAAC;qBACH,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,IAAI,kBAAkB,CAAC;qBAEnD,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;iBAC3F,CAAC;iBAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;iBAE3B,MAAM,CAAC,WAAW,CAAC;aACrB,CAAC,CAAC;UACH,CAAC;KACJ,CAAC;KAEO,uCAAY,GAApB,UAAqB,IAAI,EAAE,MAAM;SAC/B,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;SAE/E,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;aAC1C,KAAK,GAAG,EAAE,CAAC;SACb,CAAC;SAED,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KAEH,uBAAC;AAAD,EAAC,CAhEqC,yBAAa,GAgElD;AAhEY,6CAAgB;;;;;;;;;;;;;ACjB7B,oCAA+C;;;;;;;;;;;;;ACA/C,oCAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;ACA9B,oCAA+B;AAC/B,2CAKyB;AAMzB,qDAE8B;AAC9B,uCAEoB;AACpB,wCAEyC;AACzC,6CAAmD;AACnD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAQjC;KAAiC,+BAAmD;KAelF,qBAAY,KAAwB;SAApC,YACE,kBAAM,KAAK,CAAC,SAQb;SANC,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAE3E,KAAI,CAAC,KAAK,GAAG;aACX,SAAS,EAAE,CAAC;aACZ,MAAM,EAAE,KAAK,CAAC,MAAM;UACrB,CAAC;;KACJ,CAAC;KAEM,+CAAyB,GAAhC,UAAiC,QAAQ;SACnC,mBAGU,EAFZ,kBAAM,EACN,gCAAa,CACA;SACf,IAAI,kBAAkB,GAAG,KAAK,CAAC;SAE/B,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;aAC/B,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;aAC3C,kBAAkB,GAAG,IAAI,CAAC;SAC5B,CAAC;SAED,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,KAAK,aAAa,CAAC,CAAC,CAAC;aAC7C,kBAAkB,GAAG,IAAI,CAAC;SAC5B,CAAC;SAED,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;aACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC3B,CAAC;KACH,CAAC;KAEM,4BAAM,GAAb;SAEI,oCAAS,CACI;SAEb,8BAAM,CACO;SAEf,MAAM,CAAC,CACL,6BACE,GAAG,EAAC,MAAM,EACV,SAAS,EAAG,eAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,uBACvC,aAAa,wBACZ,OAAO,EAC1B,IAAI,EAAC,MAAM,IAET,CAAC,MAAM;aACP,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAC3B,oBAAC,WAAI,IACH,GAAG,EAAC,MAAM,EACV,KAAK,EAAG,MAAM,EACd,YAAY,EAAG,IAAI,CAAC,YAAY,EAChC,mBAAmB,EAAG,cAAM,QAAC,EAAD,CAAC,GAC7B,CACH,CAEC,CACP,CAAC;KACJ,CAAC;KAEM,iCAAW,GAAlB;SACE,iBAAM,WAAW,WAAE,CAAC;SACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC3B,CAAC;KAEM,uCAAiB,GAAxB,UAAyB,YAAqB;SACtC,8BAAM,CAAgB;SACtB,sCAAU,CAAgB;SAChC,IAAI,mBAAmB,GAAG,UAAU,IAAI,UAAU,CAAC,mBAAmB,CAAC;SAEvE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;aACX,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;iBACxB,mBAAmB,CAAC,YAAY,CAAC,CAAC;aACpC,CAAC;aAED,GAAG,CAAC,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;iBAClE,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,GAAG,YAAY,CAAC;aAChD,CAAC;aAED,IAAI,CAAC,0BAA0B,EAAE,CAAC;aAElC,IAAI,CAAC,WAAW,EAAE,CAAC;SACrB,CAAC;KACH,CAAC;KAGO,kCAAY,GAApB,UAAqB,KAAK,EAAE,UAAU;SAChC,mBAWU,EAVZ,kCAAc,EACd,kCAAc,EACd,sCAAgB,EAChB,0BAAU,EACV,gBAAK,EACL,wBAAS,EACT,8BAAY,EACZ,gCAAa,EACb,wBAAS,EACT,sBAAQ,CACK;SAEf,+CAA+C;SAC/C,IAAI,YAAY,GAAG;aACjB,mBAAmB,EAAE,IAAI,CAAC,oBAAoB;aAC9C,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;aACxC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;UAC3C,CAAC;SAEF,IAAI,WAAW,GAAG,kBAAM,CAAC,EAAE,EAAE,UAAU,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;SACnE,IAAI,WAAW,GAAG,kBAAM,CAAC,EAAE,EAAE,UAAU,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;SACnE,IAAI,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAErD,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CACnC,oBAAC,uCAAkB,IACjB,GAAG,EAAG,QAAQ,GAAG,UAAU,EAC3B,GAAG,EAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,EAC1C,cAAc,EAAG,cAAc,EAC/B,cAAc,EAAG,cAAc,EAC/B,gBAAgB,EAAG,gBAAgB,EACnC,WAAW,EAAG,WAAW,EACzB,iBAAiB,EAAG,UAAU,IAAI,UAAU,CAAC,iBAAiB,EAC9D,KAAK,EAAG,KAAK,EACb,UAAU,EAAG,UAAU,EACvB,iBAAiB,EAAG,iBAAiB,EACrC,WAAW,EAAG,WAAW,EACzB,SAAS,EAAG,SAAS,EACrB,KAAK,EAAG,KAAK,EACb,YAAY,EAAG,YAAY,EAC3B,mBAAmB,EAAG,UAAU,CAAC,cAAc,EAC/C,mBAAmB,EAAG,UAAU,CAAC,cAAc,EAC/C,aAAa,EAAG,aAAa,EAC7B,SAAS,EAAG,SAAS,EACrB,QAAQ,EAAG,QAAQ,GACnB,CACH,GAAG,IAAI,CAAC;KACX,CAAC;KAEO,kCAAY,GAApB,UAAqB,KAAa,EAAE,KAAa;SAC/C,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;KACvE,CAAC;KAEO,2CAAqB,GAA7B;SACQ,8BAAM,CAAgB;SAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;SACd,IAAI,aAAa,GAAG,MAAM,CAAC;SAE3B,OAAO,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;aACjD,KAAK,EAAE,CAAC;aACR,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SAC5C,CAAC;SAED,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KAGO,uCAAiB,GAAzB,UAA0B,KAAa;SAC/B,sCAAU,CAAgB;SAChC,IAAI,gBAAgB,GAAG,UAAU,IAAI,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC;SAEvG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACV,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;iBACrB,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAC1B,CAAC;aAED,KAAK,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;aACvC,IAAI,CAAC,0BAA0B,EAAE,CAAC;aAClC,IAAI,CAAC,WAAW,EAAE,CAAC;SACrB,CAAC;KACH,CAAC;KAGO,0CAAoB,GAA5B,UAA6B,KAAa;SACxC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACV,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1E,CAAC;KACH,CAAC;KAEO,uCAAiB,GAAzB,UAA0B,MAAiB;SACzC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;SAErC,IAAI,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;SAE5C,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;aAE7B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;iBACpC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAuB,CAAC;iBAC5E,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;qBACV,KAAK,CAAC,eAAe,EAAE,CAAC;iBAC1B,CAAC;aACH,CAAC;SACH,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAuB,CAAC;aAClE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;iBACV,KAAK,CAAC,eAAe,EAAE,CAAC;aAC1B,CAAC;SACH,CAAC;KACH,CAAC;KAGO,wCAAkB,GAA1B,UAA2B,KAAa;SAChC,sCAAU,CAAgB;SAChC,IAAI,iBAAiB,GAAG,UAAU,IAAI,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,iBAAiB,CAAC;SAEzG,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;aACtB,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAC3B,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;iBACV,KAAK,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC;aAC3C,CAAC;aAED,IAAI,CAAC,WAAW,EAAE,CAAC;SACrB,CAAC;KACH,CAAC;KAEO,iDAA2B,GAAnC,UAAoC,MAAgB;SAApD,iBAEC;SADC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,eAAK,IAAI,YAAK,CAAC,QAAQ,GAAG,KAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAtF,CAAsF,CAAC,CAAC;KAChI,CAAC;KAEO,gDAA0B,GAAlC;SACQ,8BAAM,CAAgB;SACtB,oEAAyB,CAAgB;SAE/C,IAAI,sBAAsB,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;SACtE,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,KAAK,sBAAsB,CAAC,CAAC,CAAC;aACzD,EAAE,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;iBAC9B,yBAAyB,CAAC,sBAAsB,CAAC,CAAC;aACpD,CAAC;aACD,IAAI,CAAC,oBAAoB,GAAG,sBAAsB,CAAC;SACrD,CAAC;KACH,CAAC;KACH,kBAAC;AAAD,EAAC,CAvPgC,yBAAa;AAC9B,yBAAY,GAAG;KAC3B,aAAa,EAAE,qBAAa,CAAC,QAAQ;KACrC,eAAe,EAAE,IAAI;KACrB,UAAU,EAAE,EAAE;EACf,CAAC;AAkGF;KADC,oBAAQ;gDAiDR;AAoBD;KADC,oBAAQ;qDAcR;AAGD;KADC,oBAAQ;wDAKR;AAyBD;KADC,oBAAQ;sDAcR;AArOU,mCAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BxB,oCAA+B;AAY/B,2CAKyB;AAEzB,wCAIyC;AAEzC,8CAA4C;AAC5C,8CAA4C;AAE5C,uCAEoB;AAIpB,2CAA8C;AAE9C,6CAAmD;AACnD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAgEjC,KAAM,0BAA0B,GAAG,aAAa,CAAC;AAEjD;KAAwC,sCAAiE;KAYvG,4BAAY,KAA+B;SAA3C,YACE,kBAAM,KAAK,CAAC,SASb;SAPO,+BAAS,EAAE,mBAAK,CAAW;SAEjC,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;SACrB,KAAI,CAAC,KAAK,GAAG;aACX,UAAU,EAAE,KAAK;aACjB,UAAU,EAAE,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK;UACpG,CAAC;;KACJ,CAAC;KAEM,8CAAiB,GAAxB;SACM,mBAA0C,EAAxC,kCAAc,EAAE,wBAAS,CAAgB;SAE/C,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;aACnB,IAAI,CAAC,qBAAqB,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;SACvH,CAAC;SAED,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;aACd,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,wBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACxE,CAAC;KACH,CAAC;KAEM,iDAAoB,GAA3B;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;aAC/B,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;SACvC,CAAC;KACH,CAAC;KAEM,+CAAkB,GAAzB,UAA0B,aAAuC;SAC/D,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK;aAC1C,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,aAAa,CAAC,UAAU;aAClD,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;aAC7D,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;iBAC/B,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;iBACrC,OAAO,IAAI,CAAC,qBAAqB,CAAC;aACpC,CAAC;aAED,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;iBAC9B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;aAClI,CAAC;SACH,CAAC;KACH,CAAC;KAEM,mCAAM,GAAb;SACM,mBAUU,EATZ,wCAAiB,EACjB,gBAAK,EACL,0BAAU,EACV,4BAAW,EACX,4BAAW,EACX,sBAAQ,EACR,gCAAa,EACb,2BAA+C,EAA/C,oEAA+C,EAC/C,2BAA+C,EAA/C,oEAA+C,CAClC;SACT,sCAAU,CAAgB;SAChC,IAAI,WAAW,GAAG,KAAK,IAAI,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;SACnF,IAAI,eAAe,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,YAAY;aACzF,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;SACnD,IAAI,eAAe,GAAG,KAAK,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;SAE3E,IAAI,YAAY,GAAuB;aACrC,KAAK,EAAE,KAAK;aACZ,UAAU,EAAE,UAAU;aACtB,UAAU,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC;aACnC,UAAU;aACV,QAAQ,EAAE,QAAQ;aAClB,aAAa,EAAE,aAAa;UAC7B,CAAC;SACF,IAAI,gBAAgB,GAAuB,kBAAM,CAAC,EAAE,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;SACjF,IAAI,gBAAgB,GAAuB,kBAAM,CAAC,EAAE,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;SAEjF,MAAM,CAAC,CACL,6BACE,GAAG,EAAC,MAAM,EACV,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAEjF,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC;aAEhE,KAAK,IAAI,KAAK,CAAC,WAAW;iBACxB,IAAI;iBACJ,CACE,eAAe;qBACb,CACE,oBAAC,WAAI,IACH,GAAG,EAAC,MAAM,EACV,KAAK,EAAG,KAAK,CAAC,QAAQ,EACtB,YAAY,EAAG,IAAI,CAAC,eAAe,EACnC,mBAAmB,EAAG,cAAM,QAAC,EAAD,CAAC,GAC7B,CACH;qBACD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CACnC;aAEH,eAAe,IAAI,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CACjF,CACP,CAAC;KACJ,CAAC;KAEM,wCAAW,GAAlB;SACE,iBAAM,WAAW,WAAE,CAAC;SACpB,IAAI,CAAC,eAAe,EAAE,CAAC;KACzB,CAAC;KAEM,4CAAe,GAAtB;SACQ,4BAAK,CAAgB;SAE3B,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;aAE7B,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;iBACzD,IAAI,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;iBAE1C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;qBACvC,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAuB,CAAC;qBAElF,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;yBACb,QAAQ,CAAC,eAAe,EAAE,CAAC;qBAC7B,CAAC;iBACH,CAAC;aACH,CAAC;SACH,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAuB,CAAC;aAExE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACb,QAAQ,CAAC,eAAe,EAAE,CAAC;aAC7B,CAAC;SACH,CAAC;KACH,CAAC;KAGO,iDAAoB,GAA5B,UAA6B,KAAyB;SACpD,MAAM,CAAC,oBAAC,yBAAW,eAAM,KAAK,EAAK,CAAC;KACtC,CAAC;KAGO,iDAAoB,GAA5B,UAA6B,KAAyB;SACpD,MAAM,CAAC,oBAAC,yBAAW,eAAM,KAAK,EAAK,CAAC;KACtC,CAAC;KAEO,+CAAkB,GAA1B;SACM,mBAAiC,EAA/B,gBAAK,EAAE,wBAAS,CAAgB;SACtC,IAAI,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;SAE1E,EAAE,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;aACzC,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,cAAE,CAAC,CAAC;SAChC,CAAC;KACH,CAAC;KAEO,2CAAc,GAAtB,UAAuB,WAAmB;SACpC,mBAMU,EALZ,gBAAK,EACL,gBAAK,EACL,8BAAY,EACZ,wBAAS,EACT,wCAAiB,CACJ;SACf,IAAI,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;SAC/C,IAAI,UAAU,GAAG,KAAK,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;SAE9C,MAAM,CAAC,CACL,oBAAC,WAAI,aACH,KAAK,EAAG,KAAK,EACb,YAAY,EAAG,UAAC,IAAI,EAAE,SAAS,IAAK,mBAAY,CAAC,iBAAiB,EAAE,IAAI,EAAE,SAAS,CAAC,EAAhD,CAAgD,EACpF,GAAG,EAAG,MAAM,EACZ,WAAW,EAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,EAC1C,UAAU,EAAG,UAAU,IAClB,SAAS,EACd,CACH,CAAC;KACJ,CAAC;KAGO,4CAAe,GAAvB,UAAwB,QAAQ,EAAE,aAAa;SACzC,mBAgBU,EAfZ,kCAAc,EACd,kCAAc,EACd,sCAAgB,EAChB,wCAAiB,EACjB,wCAAiB,EACjB,gBAAK,EACL,4BAAW,EACX,4BAAW,EACX,wBAAS,EACT,8BAAY,EACZ,wBAAS,EACT,gCAAa,EACb,sBAAQ,EACR,4CAAmB,EACnB,4CAAmB,CACN;SAEf,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CACzC,oBAAC,kBAAkB,IACjB,GAAG,EAAG,WAAW,GAAG,aAAa,EACjC,GAAG,EAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,EAChD,cAAc,EAAG,cAAc,EAC/B,cAAc,EAAG,cAAc,EAC/B,gBAAgB,EAAG,gBAAgB,EACnC,WAAW,EAAG,WAAW,EACzB,iBAAiB,EAAG,iBAAiB,EACrC,KAAK,EAAG,QAAQ,EAChB,UAAU,EAAG,aAAa,EAC1B,iBAAiB,EAAG,iBAAiB,EACrC,WAAW,EAAG,WAAW,EACzB,KAAK,EAAG,KAAK,EACb,SAAS,EAAG,SAAS,EACrB,YAAY,EAAG,YAAY,EAC3B,SAAS,EAAG,SAAS,EACrB,aAAa,EAAG,aAAa,EAC7B,QAAQ,EAAG,QAAQ,EACnB,mBAAmB,EAAG,mBAAmB,EACzC,mBAAmB,EAAG,mBAAmB,GACzC,CACH,GAAG,IAAI,CAAC;KACX,CAAC;KAEO,yCAAY,GAApB,UAAqB,KAAK,EAAE,KAAK;SAC/B,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;KAC7F,CAAC;KAED;;QAEG;KAEK,qDAAwB,GAAhC;SACM,mBAAoE,EAAlE,gBAAK,EAAE,0BAAU,EAAE,kCAAc,EAAE,sCAAgB,CAAgB;SACzE,IAAI,OAAO,GAAG;aACZ,QAAQ,EAAE,gBAAgB;aAC1B,cAAc,EAAE,CAAC,CAAC;aAClB,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;aAC1D,OAAO,EAAE,cAAM,YAAK,EAAL,CAAK;aACpB,OAAO,EAAE,cAAc,CAAC,OAAO;aAC/B,WAAW,EAAE,IAAI;aACjB,eAAe,EAAE,IAAI,CAAC,oBAAoB;UAC3C,CAAC;SACF,MAAM,CAAC,OAAO,CAAC;KACjB,CAAC;KAED;;;;;;QAMG;KAEK,iDAAoB,GAA5B,UAA6B,aAAsB,EAAE,KAAgB;SAC7D,sCAAU,CAAgB;SAC1B,8CAAc,CAAgB;SAEpC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;aAChB,EAAE,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;iBAC/B,cAAc,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aAC1C,CAAC;SACH,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,EAAE,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;iBAC/B,cAAc,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aAC1C,CAAC;SACH,CAAC;SAED,EAAE,CAAC,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC;aACjC,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;SAC/C,CAAC;KACH,CAAC;KAED;;;;;;QAMG;KACK,kDAAqB,GAA7B;SACQ,sCAAU,CAAgB;SAC1B,4BAAK,CAAgB;SAE3B,UAAU,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC;SAErC,MAAM,CAAC,eAAG,CACR,UAAU,IAAI,0BAA0B,EACxC,UAAU,IAAI,MAAM,CAAC,eAAe,CACrC,CAAC;KACJ,CAAC;KACH,yBAAC;AAAD,EAAC,CA1SuC,yBAAa,GA0SpD;AAzJC;KADC,oBAAQ;+DAGR;AAGD;KADC,oBAAQ;+DAGR;AAmCD;KADC,oBAAQ;0DA2CR;AAUD;KADC,oBAAQ;mEAaR;AAUD;KADC,oBAAQ;+DAkBR;AAtRU,iDAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;ACvG/B,oCAA+B;AAC/B,2CAIyB;AACzB,uCAAkC;AAElC,8CAA4C;AAC5C,6CAAmD;AACnD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC;KAAiC,+BAAqC;KAAtE;;KAmBA,CAAC;KAlBQ,4BAAM,GAAb;SACM,mBAAmD,EAAjD,gBAAK,EAAE,0BAAU,EAAE,oCAAe,CAAgB;SAExD,MAAM,CAAC,KAAK,IAAI,CACd,6BAAK,SAAS,EAAG,eAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC;aAC/C,yBAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;aACpC,oBAAC,WAAI,IAAC,OAAO,EAAG,IAAI,CAAC,iBAAiB,IAAK,eAAe,CAAS,CAC/D,CACP,CAAC;KACJ,CAAC;KAGO,uCAAiB,GAAzB,UAA0B,EAAiC;SACzD,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAE/C,EAAE,CAAC,eAAe,EAAE,CAAC;SACrB,EAAE,CAAC,cAAc,EAAE,CAAC;KACtB,CAAC;KACH,kBAAC;AAAD,EAAC,CAnBgC,yBAAa,GAmB7C;AANC;KADC,oBAAQ;qDAMR;AAlBU,mCAAW;;;;;;;;;ACZxB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;EACtB,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,2GAA2G,EAAC,CAAC,CAAC,CAAC;AAFxI,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;ACVnB,oCAA+B;AAC/B,2CAIyB;AAEzB,wCAAgE;AAChE,wCAAoC;AACpC,uCAAkC;AAClC,8CAA4C;AAC5C,0CAAwC;AACxC,2CAAgE;AAChE,6CAAmD;AACnD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAOjC;KAAiC,+BAAoD;KACnF,qBAAY,KAAyB;SAArC,YACE,kBAAM,KAAK,CAAC,SAMb;SAJC,KAAI,CAAC,KAAK,GAAG;aACX,WAAW,EAAE,KAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW;aAC7D,gBAAgB,EAAE,KAAK;UACxB,CAAC;;KACJ,CAAC;KAEM,+CAAyB,GAAhC,UAAiC,QAAQ;SACvC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;aACnB,IAAI,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;aAC9C,IAAI,cAAc,GAAG,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC;aACjF,IAAI,iBAAiB,GAAG,CAAC,YAAY,IAAI,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAE1F,IAAI,CAAC,QAAQ,CAAC;iBACZ,WAAW,EAAE,YAAY;iBACzB,gBAAgB,EAAE,iBAAiB;cACpC,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAEM,4BAAM,GAAb;SACM,mBASU,EARZ,gBAAK,EACL,0BAAU,EACV,sBAAQ,EACR,gCAAa,EACb,4BAAW,EACX,0BAAU,EACV,sBAAQ,EACR,gEAA6B,CAChB;SACX,mBAA8C,EAA5C,4BAAW,EAAE,sCAAgB,CAAgB;SAEnD,EAAE,CAAC,CAAC,6BAA6B,KAAK,SAAS,CAAC,CAAC,CAAC;aAChD,6BAA6B,GAAG,IAAI,CAAC;SACvC,CAAC;SACD,IAAI,cAAc,GAAG,aAAa,KAAK,qBAAa,CAAC,QAAQ,CAAC;SAC9D,IAAI,uBAAuB,GAAG,cAAc,IAAI,CAAC,6BAA6B,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;SACjH,IAAI,iBAAiB,GAAG,UAAU,IAAI,QAAQ,CAAC;SAC/C,MAAM,CAAC,KAAK,IAAI,CACd,6BACE,SAAS,EAAG,eAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI;iBAC3C,GAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAG,iBAAiB;qBAC3D,EACF,KAAK,EAAG,QAAQ,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,EACpD,OAAO,EAAG,IAAI,CAAC,cAAc,gBAChB,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,uBACtB,IAAI;aAExB,oBAAC,qBAAS,IAAC,SAAS,EAAG,8BAAkB,CAAC,UAAU;iBAEhD,uBAAuB,GAAG,CAC1B,gCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,2BAC7B,IAAI,EAC5B,OAAO,EAAG,IAAI,CAAC,yBAAyB;qBACxC,oBAAC,aAAK,IAAC,OAAO,EAAG,iBAAiB,GAAK,CAChC,CACV,GAAG,CAAC,aAAa,KAAK,qBAAa,CAAC,IAAI,GAAG,yBAAW,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;iBAG3E,yBAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;iBAEpC,6BAAK,SAAS,EAAG,eAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,QAAQ,CAAC;qBAC9D,oBAAC,WAAI,IAAC,QAAQ,EAAC,KAAK,GAAG,CACnB;iBACN,gCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAG,eAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,MAAM,CAAC,EACvD,OAAO,EAAG,IAAI,CAAC,iBAAiB;qBAChC,oBAAC,WAAI,IACH,SAAS,EAAG,eAAG,CACb,WAAW,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAC5D,EACD,QAAQ,EAAC,aAAa,GACtB,CACK;iBAET,6BAAK,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC;qBACxD,kCAAQ,KAAK,CAAC,IAAI,CAAS;qBAO3B;;yBAAS,KAAK,CAAC,KAAK;yBAAI,KAAK,CAAC,WAAW,IAAI,GAAG;6BAAU,CACtD;iBAEN,6BACE,SAAS,EAAG,eAAG,CACb,wBAAwB,EACxB,MAAM,CAAC,OAAO,EACd,gBAAgB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAC9D;qBAED,oBAAC,iBAAO,IAAC,KAAK,EAAG,WAAW,GAAK,CAC7B,CAEI,CACR,CACP,CAAC;;KACJ,CAAC;KAGO,uCAAiB,GAAzB,UAA0B,EAAiC;SACrD,mBAAwD,EAAtD,gBAAK,EAAE,sCAAgB,EAAE,kCAAc,CAAgB;SACvD,wCAAW,CAAgB;SAEjC,IAAI,YAAY,GAAG,CAAC,WAAW,CAAC;SAChC,IAAI,iBAAiB,GAAG,CAAC,YAAY,IAAI,cAAc,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;SAEjF,IAAI,CAAC,QAAQ,CAAC;aACZ,WAAW,EAAE,YAAY;aACzB,gBAAgB,EAAE,iBAAiB;UACpC,CAAC,CAAC;SACH,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;aACrB,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC1B,CAAC;SAED,EAAE,CAAC,eAAe,EAAE,CAAC;SACrB,EAAE,CAAC,cAAc,EAAE,CAAC;KACtB,CAAC;KAGO,+CAAyB,GAAjC,UAAkC,EAAiC;SAC7D,mBAA2C,EAAzC,4CAAmB,EAAE,gBAAK,CAAgB;SAEhD,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;aACxB,mBAAmB,CAAC,KAAK,CAAC,CAAC;SAC7B,CAAC;SAED,EAAE,CAAC,cAAc,EAAE,CAAC;SACpB,EAAE,CAAC,eAAe,EAAE,CAAC;KACvB,CAAC;KAGO,oCAAc,GAAtB;SACM,mBAA+D,EAA7D,gBAAK,EAAE,0CAAkB,EAAE,4CAAmB,CAAgB;SAEpE,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;aACvB,kBAAkB,CAAC,KAAK,CAAC,CAAC;SAC5B,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;aAC/B,mBAAmB,CAAC,KAAK,CAAC,CAAC;SAC7B,CAAC;KACH,CAAC;KACH,kBAAC;AAAD,EAAC,CAtJgC,yBAAa,GAsJ7C;AAzCC;KADC,oBAAQ;qDAkBR;AAGD;KADC,oBAAQ;6DAUR;AAGD;KADC,oBAAQ;kDASR;AArJU,mCAAW;;;;;;;;;;;;;ACrBxB,oCAA2C;;;;;;;;;;;;;ACA3C,oCAA0B;AAC1B,oCAAgC;;;;;;;;;;;;;;;;;;;;ACDhC,oCAA+B;AAC/B,2CAAoE;AACpE,gDAA0E;AAC1E,6CAA+C;AAC/C,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC;KAA6B,2BAAiC;KAA9D;;KAqCA,CAAC;KA/BQ,wBAAM,GAAb;SACM,mBAAkE,EAAhE,cAAI,EAAE,cAAI,EAAE,gBAAK,EAAE,wBAAS,EAAE,sBAAQ,EAAE,wBAAS,CAAgB,CAAC,mDAAmD;SAC3H,IAAM,aAAa,GAAG,SAAS,IAAI,KAAK,CAAC;SAEzC,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;aACxD,6BAAK,SAAS,EAAG,eAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM;qBAEnD,GAAC,qBAAqB,GAAG,MAAM,CAAC,cAAc,IAAG,IAAI,KAAK,2BAAW,CAAC,MAAM;qBAC5E,GAAC,oBAAoB,GAAG,MAAM,CAAC,aAAa,IAAG,IAAI,KAAK,2BAAW,CAAC,KAAK;qBACzE,GAAC,qBAAqB,GAAG,MAAM,CAAC,cAAc,IAAG,IAAI,KAAK,2BAAW,CAAC,MAAM;qBAC5E,GAAC,oBAAoB,GAAG,MAAM,CAAC,aAAa,IAAG,IAAI,KAAK,2BAAW,CAAC,KAAK;qBACzE,GAAC,qBAAqB,GAAG,MAAM,CAAC,kBAAkB,IAAG,IAAI,KAAK,2BAAW,CAAC,MAAM;qBAChF,GAAC,oBAAoB,GAAG,MAAM,CAAC,iBAAiB,IAAG,IAAI,KAAK,2BAAW,CAAC,KAAK,CAAC,2CAA2C;;yBACzH,GAEE;aAEJ,KAAK,IAAI,6BAAK,SAAS,EAAG,eAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,IAAK,KAAK,CAAQ;aAGjF,aAAa;iBACb,6BAAK,IAAI,EAAC,QAAQ,eAAa,IAAI,CAAC,KAAK,CAAC,QAAQ;qBAChD,oBAAC,yBAAa;yBACZ,6BAAK,SAAS,EAAG,MAAM,CAAC,gBAAgB,IAAK,aAAa,CAAQ,CACpD,CACZ,CAEJ,CACP,CAAC;;KACJ,CAAC;KACH,cAAC;AAAD,EAAC,CArC4B,yBAAa;AAC1B,qBAAY,GAAkB;KAC1C,IAAI,EAAE,2BAAW,CAAC,MAAM;KACxB,QAAQ,EAAE,QAAQ;EACnB,CAAC;AAJS,2BAAO;;;;;;;;;;AC2CpB,KAAY,WAoBX;AApBD,YAAY,WAAW;KACrB;;QAEG;KACH,iDAAU;KAEV;;QAEG;KACH,+CAAS;KAET;;QAEG;KACH,iDAAU;KAEV;;QAEG;KACH,+CAAS;AACX,EAAC,EApBW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAoBtB;AAED;;;IAGG;AACH,KAAY,WAUX;AAVD,YAAY,WAAW;KACrB;;QAEG;KACH,iDAAU;KAEV;;QAEG;KACH,+CAAS;AACX,EAAC,EAVW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAUtB;;;;;;;;;ACrFD,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,MAAM,EAAE,iBAAiB;KACzB,aAAa,EAAE,wBAAwB;KACvC,cAAc,EAAE,yBAAyB;KACzC,aAAa,EAAE,wBAAwB;KACvC,kBAAkB,EAAE,6BAA6B;KACjD,cAAc,EAAE,yBAAyB;KACzC,iBAAiB,EAAE,4BAA4B;KAC/C,aAAa,EAAE,wBAAwB;KACvC,KAAK,EAAE,gBAAgB;KACvB,gBAAgB,EAAE,2BAA2B;EAC9C,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,kbAAkb,EAAC,EAAC,EAAC,OAAO,EAAC,YAAY,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oBAAoB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2nBAA2nB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4RAA4R,EAAC,CAAC,CAAC,CAAC;AAF3jD,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;ACpBnB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,cAAc,EAAE,yBAAyB;KACzC,KAAK,EAAE,gBAAgB;KACvB,MAAM,EAAE,iBAAiB;KACzB,KAAK,EAAE,gBAAgB;KACvB,iBAAiB,EAAE,4BAA4B;KAC/C,OAAO,EAAE,kBAAkB;KAC3B,gBAAgB,EAAE,2BAA2B;KAC7C,QAAQ,EAAE,mBAAmB;EAC9B,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,0WAA0W,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mCAAmC,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qDAAqD,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2DAA2D,EAAC,EAAC,EAAC,OAAO,EAAC,YAAY,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gmBAAgmB,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gVAAgV,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,irBAAirB,EAAC,EAAC,EAAC,OAAO,EAAC,qBAAqB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0uCAA0uC,EAAC,CAAC,CAAC,CAAC;AAFh0H,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;AClBnB,oCAAwC;;;;;;;;;;;;;ACAxC,oCAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAvB,oCAA+B;AAC/B,2CAUyB;AAGzB,KAAM,YAAY,GAAG,EAAE,CAAC;AACxB,KAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,KAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,KAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,KAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,KAAM,mBAAmB,GAAG,EAAE,CAAC;AAC/B,KAAM,+BAA+B,GAAG,CAAC,CAAC;AAC1C,KAAM,8BAA8B,GAAG,CAAC,CAAC;AASzC,KAAM,UAAU,GAAG;KACjB,GAAG,EAAE,CAAC,CAAC;KACP,MAAM,EAAE,CAAC,CAAC;KACV,IAAI,EAAE,CAAC,CAAC;KACR,KAAK,EAAE,CAAC,CAAC;KACT,KAAK,EAAE,CAAC;KACR,MAAM,EAAE,CAAC;EACV,CAAC;AAEF,gEAA+D;AAC/D,KAAM,gBAAgB,GAAG,UAAC,OAAoB,IAAK,cAAO,CAAC,qBAAqB,EAAE,EAA/B,CAA+B,CAAC;AACnF,KAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAC7C,KAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAE5C;;;;;;;;;;;;;;;;;;IAkBG;AACH;KAA0B,wBAAqC;KA8C7D,cAAY,KAAiB;SAA7B,YACE,kBAAM,KAAK,CAAC,SAwCb;SAtCC,KAAI,CAAC,KAAK,GAAG;aACX,KAAK,EAAE,EAAE;UACV,CAAC;SAEF,KAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;SAC9B,KAAI,CAAC,eAAe,GAAG,CAAC,CAAC;SACzB,KAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;SAC/B,KAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;SAEhC,4CAA4C;SAC5C,KAAI,CAAC,eAAe,GAAG,CAAC,CAAC;SAEzB,wCAAwC;SACxC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CACxC,KAAI,CAAC,cAAc,EACnB,uBAAuB,EACvB;aACE,OAAO,EAAE,KAAK;aACd,OAAO,EAAE,uBAAuB;UACjC,CAAC,CAAC;SAEL,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CACtC,KAAI,CAAC,YAAY,EACjB,mBAAmB,EAAE;aACnB,OAAO,EAAE,KAAK;UACf,CAAC,CAAC;SAEL,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CACxC,KAAI,CAAC,cAAc,EACnB,YAAY,EACZ;aACE,OAAO,EAAE,KAAK;UACf,CAAC,CAAC;SAEL,KAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;SAC7B,KAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;SAC9B,KAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;SACxB,KAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;;KAC9B,CAAC;KAED;;;;;;;;;QASG;KACI,4BAAa,GAApB,UAAqB,KAAa,EAAE,WAA2C;SACrE,sCAAU,CAAgB;SAClC,IAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;SAC3C,IAAM,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;SAE1C,IAAI,SAAS,GAAG,CAAC,CAAC;SAElB,IAAI,YAAY,GAAG,CAAC,CAAC;SACrB,GAAG,CAAC,CAAC,IAAI,SAAS,GAAG,UAAU,EAAE,SAAS,GAAG,QAAQ,EAAE,SAAS,IAAI,YAAY,EAAE,CAAC;aACjF,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;aAEvE,IAAM,sBAAsB,GAAG,SAAS,IAAI,KAAK,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,GAAG,KAAK,CAAC;aACxF,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;iBAC3B,kHAAkH;iBAClH,gEAAgE;iBAChE,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;qBAChB,8CAA8C;qBAC9C,IAAM,sBAAsB,GAAG,KAAK,GAAG,SAAS,CAAC;qBACjD,GAAG,CAAC,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,eAAe,GAAG,sBAAsB,EAAE,EAAE,eAAe,EAAE,CAAC;yBAC1F,SAAS,IAAI,WAAW,CAAC,SAAS,GAAG,eAAe,CAAC,CAAC;qBACxD,CAAC;qBACD,IAAM,YAAY,GAAG,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;qBAEpD,IAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;qBAC3D,IAAM,YAAY,GAAG;yBACnB,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS;yBAClC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,UAAU,CAAC,MAAM;sBAC1D,CAAC;qBAEF,IAAM,kBAAkB,GAAG,SAAS,IAAI,YAAY,CAAC,GAAG,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC;qBAChG,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;yBACvB,uCAAuC;yBACvC,MAAM,CAAC;qBACT,CAAC;qBAED,IAAM,oBAAoB,GAAG,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC;qBAC1D,IAAM,oBAAoB,GAAG,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;qBAEhE,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;yBACzB,qCAAqC;yBACrC,UAAU;yBACV,yBAAyB;yBACzB,YAAY;yBACZ,gCAAgC;yBAChC,aAAa;yBACb,aAAa;qBACf,CAAC;qBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;yBAChC,yDAAyD;yBACzD,wBAAwB;yBACxB,WAAW;yBACX,mCAAmC;yBACnC,aAAa;yBACb,aAAa;yBACb,4BAA4B;yBAC5B,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;qBACnF,CAAC;iBACH,CAAC;iBAED,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,SAAS,CAAC;iBAC1C,KAAK,CAAC;aACR,CAAC;aAED,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC/E,CAAC;KACH,CAAC;KAEM,gCAAiB,GAAxB;SAEE,IAAI,CAAC,YAAY,EAAE,CAAC;SACpB,IAAI,CAAC,eAAe,EAAE,CAAC;SACvB,IAAI,CAAC,cAAc,GAAG,gCAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAE3D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACvD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC9D,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;aACxB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aAC/D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACtE,CAAC;KACH,CAAC;KAEM,wCAAyB,GAAhC,UAAiC,QAAoB;SACnD,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;aACrC,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW;aAC/C,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;aAEhD,IAAI,CAAC,eAAe,EAAE,CAAC;aACvB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SAC9B,CAAC;KACH,CAAC;KAEM,oCAAqB,GAA5B,UAA6B,QAAoB,EAAE,QAAoB;SACjE,mBAA4D,EAA1D,8CAAoB,EAAE,gDAAqB,CAAgB;SAC3D,+BAAe,CAAgB;SAC/B,6BAAe,EAAE,wCAAc,CAAc;SACnD,IAAI,qBAAqB,GAAG,KAAK,CAAC;SAElC,EAAE,CAAC,CACD,IAAI,CAAC,eAAe,KAAK,cAAc;aACvC,QAAQ,CAAC,oBAAoB,KAAK,oBAAoB;aACtD,QAAQ,CAAC,qBAAqB,KAAK,qBAAqB;aACxD,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;iBACnC,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;aACtC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;iBACzC,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;iBAC1B,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;iBAE1B,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG;qBAC9B,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;qBAC3C,qBAAqB,GAAG,IAAI,CAAC;qBAC7B,KAAK,CAAC;iBACR,CAAC;aACH,CAAC;SACH,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,qBAAqB,GAAG,IAAI,CAAC;SAC/B,CAAC;SAED,MAAM,CAAC,qBAAqB,CAAC;KAC/B,CAAC;KAEM,0BAAW,GAAlB;SACE,sFAAsF;SACtF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SAC1C,IAAI,CAAC,YAAY,EAAE,CAAC;SACpB,IAAI,CAAC,eAAe,EAAE,CAAC;SAEvB,iBAAM,WAAW,WAAE,CAAC;KACtB,CAAC;KAEM,qBAAM,GAAb;SACM,mBAAgC,EAA9B,wBAAS,EAAE,cAAI,CAAgB;SAC/B,4BAAK,CAAgB;SAC3B,IAAI,YAAY,GAAG,EAAE,CAAC;SACtB,IAAI,QAAQ,GAAG,0BAAc,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAa,CAAC,CAAC;SAEzD,yBAAyB;SACzB,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;SAE5C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;aACtC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAChD,CAAC;SAED,MAAM,CAAC,CACL,sCAAK,GAAG,EAAC,MAAM,IAAM,QAAQ,IAAG,IAAI,EAAG,IAAI,EAAG,SAAS,EAAG,eAAG,CAAC,SAAS,EAAE,SAAS,CAAC;aACjF,6BAAK,GAAG,EAAC,SAAS,EAAC,SAAS,EAAC,iBAAiB,IAC1C,YAAY,CACV,CACF,CACP,CAAC;KACJ,CAAC;KAEO,0BAAW,GAAnB,UAAoB,IAAW;SACzB,mBAAmC,EAAjC,8BAAY,EAAE,cAAI,CAAgB;SACxC,IAAI,KAAK,GAAG,EAAE,CAAC;SACf,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAEzC,oDAAoD;SACpD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC;SAEhD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;aACzD,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACzB,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;aAClC,IAAI,OAAO,GACT,IAAI,CAAC,KAAK,CAAC,MAAM;mBACb,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;mBAC9B,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC;aAEvB,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC;iBAC9C,OAAO,GAAG,KAAK,CAAC;aAClB,CAAC;aAED,KAAK,CAAC,IAAI,CACR,6BAAK,IAAI,EAAG,IAAI,EAAG,SAAS,EAAC,cAAc,EAAC,GAAG,EAAG,OAAO,qBAAqB,CAAC,GAAG,IAAI,CAAC,UAAU,uBAAqB,UAAU,IAC5H,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CACrC,CACP,CAAC;SACJ,CAAC;SAED,MAAM,CAAC,CACL,6BAAK,SAAS,EAAC,cAAc,EAAC,GAAG,EAAG,IAAI,CAAC,GAAG,EAAG,GAAG,EAAG,IAAI,CAAC,GAAG,EAAG,KAAK,EAAG,SAAS,IAC7E,KAAK,CACH,CACP,CAAC;KACJ,CAAC;KAED,8CAA8C;KACtC,4BAAa,GAArB,UAAsB,IAAI;SACxB,IAAI,KAAK,CAAC;SACJ,0CAAY,CAAgB;SAElC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;aACjB,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;SAC7B,CAAC;SAED,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAChB,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;aACpB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SAC7B,CAAC;SAED,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KAED,+EAA+E;KACvE,uBAAQ,GAAhB,UAAiB,EAAE;SACjB,IAAI,MAAM,GAAG,EAAE,CAAC,MAAqB,CAAC;SAEtC,OAAO,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aACpC,IAAI,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;aAEzD,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;iBAChB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;iBACzC,KAAK,CAAC;aACR,CAAC;aAED,MAAM,GAAG,qBAAS,CAAC,MAAM,CAAC,CAAC;SAC7B,CAAC;KACH,CAAC;KAED;;;QAGG;KACK,wBAAS,GAAjB;SACE,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;SAC/B,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;KAClC,CAAC;KAED;;QAEG;KACK,6BAAc,GAAtB;SACE,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAE1B,kFAAkF;SAClF,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;aAC/F,IAAI,CAAC,YAAY,EAAE,CAAC;SACtB,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,qGAAqG;SACvG,CAAC;KACH,CAAC;KAED;;;QAGG;KACK,2BAAY,GAApB;SACQ,mBAA4D,EAA1D,8CAAoB,EAAE,gDAAqB,CAAgB;SAC7D,aAGE,EAFN,+CAA2C,EAC3C,iDAA6C,CACtC;SACT,IAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,CAAC,CAAC,CAAC;SAC9E,IAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,qBAAqB,GAAG,CAAC,CAAC,CAAC;SAEjF,EAAE,CAAC,CAAC,YAAY,KAAK,oBAAoB,IAAI,aAAa,KAAK,qBAAqB,CAAC,CAAC,CAAC;aAErF,sDAAsD;aAEtD,IAAI,CAAC,qBAAqB,GAAG,YAAY,CAAC;aAC1C,IAAI,CAAC,sBAAsB,GAAG,aAAa,CAAC;aAC5C,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;SACtB,CAAC;SAED,EAAE,CAAC,CAAC,oBAAoB,GAAG,YAAY,IAAI,qBAAqB,GAAG,aAAa,CAAC,CAAC,CAAC;aACjF,gCAAgC;aAChC,IAAI,CAAC,YAAY,EAAE,CAAC;SACtB,CAAC;KACH,CAAC;KAEO,6BAAc,GAAtB;SACE,IAAI,CAAC,WAAW,EAAE,CAAC;KACrB,CAAC;KAEO,2BAAY,GAApB,UAAqB,KAAkB;SAAvC,iBAgCC;SA/BK,8BAA0D,EAAxD,gBAAK,EAAE,0BAAU,EAAE,4BAAW,CAA2B;SAE/D,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAE1C,iCAAiC;SAEjC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;aACxB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;SACjC,CAAC;SAED,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;SACpE,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SAEpC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;aAC1B,6DAA6D;aAC7D,IAAM,cAAc,GAAG,KAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;aAEtF,8EAA8E;aAC9E,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;iBACnB,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;iBAC9B,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;qBACnC,KAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;qBACrC,KAAI,CAAC,YAAY,EAAE,CAAC;iBACtB,CAAC;iBAAC,IAAI,CAAC,CAAC;qBACN,KAAI,CAAC,cAAc,EAAE,CAAC;iBACxB,CAAC;aACH,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,wBAAwB;iBACxB,KAAI,CAAC,YAAY,EAAE,CAAC;aACtB,CAAC;SACH,CAAC,CAAC,CAAC;KACL,CAAC;KAEO,sCAAuB,GAA/B,UAAgC,QAAiB,EAAE,QAAiB;SAClE,IAAI,eAAe,GAAG,EAAE,CAAC;SACzB,IAAI,aAAa,GAAG,KAAK,CAAC;SAC1B,IAAI,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;SAEzC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;aACzC,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;aAEvB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;iBACf,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC1C,CAAC;SACH,CAAC;SAED,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;aACzC,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;aAEvB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;iBACf,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC;iBAEzD,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;qBACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;iBAC1B,CAAC;iBAAC,IAAI,CAAC,CAAC;qBACN,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAC1C,CAAC;aACH,CAAC;SACH,CAAC;SAED,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,eAAe,CAAC,CAAC,CAAC;aAClC,EAAE,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAC1C,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;aAC9C,CAAC;SACH,CAAC;SAED,MAAM,CAAC,aAAa,CAAC;KACvB,CAAC;KAED;;;QAGG;KACK,2BAAY,GAApB,UAAqB,IAAW;SAC9B,IAAI,gBAAgB,GAAG,KAAK,CAAC;SAC7B,IAAI,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAgB,CAAC;SACrD,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAE5D,sEAAsE;SAEtE,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,cAAc,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;aAC3F,IAAI,aAAa,GAAG;iBAClB,KAAK,EAAE,WAAW,CAAC,WAAW;iBAC9B,MAAM,EAAE,WAAW,CAAC,YAAY;cACjC,CAAC;aAEF,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;iBAChD,gBAAgB,GAAG,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,CAAC;iBAExD,mGAAmG;iBAEnG,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;iBAEnC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG;qBACzC,MAAM,EAAE,aAAa,CAAC,MAAM;qBAC5B,cAAc,EAAE,IAAI,CAAC,eAAe;kBACrC,CAAC;iBAEF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CACpC,CAAC,CAAC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;qBAC3E,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;iBAE9B,IAAI,CAAC,eAAe,EAAE,CAAC;aACzB,CAAC;SACH,CAAC;SAED,MAAM,CAAC,gBAAgB,CAAC;KAC1B,CAAC;KAED,oDAAoD;KAC5C,2BAAY,GAApB,UAAqB,IAAW;SACxB,wCAAW,CAAgB;SAEjC,+FAA+F;SAE/F,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;aAChB,WAAW,CAAC,IAAI,CAAC,CAAC;SACpB,CAAC;KACH,CAAC;KAED,wDAAwD;KAChD,6BAAc,GAAtB,UAAuB,IAAW;SAC1B,4CAAa,CAAgB;SAEnC,uGAAuG;SAEvG,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;aAClB,aAAa,CAAC,IAAI,CAAC,CAAC;SACtB,CAAC;KACH,CAAC;KAED,kDAAkD;KAC1C,0BAAW,GAAnB,UAAoB,KAAY,EAAE,UAAkB,EAAE,WAAmB;SACvE,IAAI,gBAAgB,GAAG,kBAAM,CAAC,EAAE,EAAE,UAAU,CAAe,CAAC;SAC5D,IAAI,YAAY,GAAG,CAAC,CAAC;SACrB,IAAI,KAAK,GAAG,EAAE,CAAC;SACf,IAAI,OAAO,GAAG,CAAC,CAAC;SAChB,IAAI,aAAa,GAAG,IAAI,CAAC;SACzB,IAAI,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;SACtC,IAAI,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;SAExC,2GAA2G;SAC3G,wFAAwF;SACxF,kGAAkG;SAClG,IAAI,aAAa,GAAG,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;iCAExE,SAAS;aAChB,YAAY,GAAG,OAAK,oBAAoB,CAAC,SAAS,EAAE,OAAK,YAAY,CAAC,CAAC;aAEvE,IAAI,UAAU,GAAG,OAAK,cAAc,CAAC,SAAS,EAAE,YAAY,EAAE,OAAK,YAAY,CAAC,CAAC;aACjF,IAAI,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,CAAC,CAAC;aAE1C,IAAI,cAAc,GAAG,qBAAS,CAAC,OAAK,KAAK,CAAC,KAAK,EAAE,UAAC,IAAI,IAAK,WAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAA3C,CAA2C,CAAC,GAAG,CAAC,CAAC,CAAC;aAC7G,IAAI,oBAAoB,GAAG,UAAU,IAAI,OAAK,YAAY,CAAC,GAAG,IAAI,OAAO,IAAI,OAAK,YAAY,CAAC,MAAM,CAAC;aACtG,IAAI,qBAAqB,GAAG,UAAU,IAAI,OAAK,aAAa,CAAC,GAAG,IAAI,OAAO,IAAI,OAAK,aAAa,CAAC,MAAM,CAAC;aACzG,IAAI,aAAa,GAAG,CAAC,aAAa,IAAI,CAAC,qBAAqB,IAAI,CAAC,oBAAoB,IAAI,cAAc,CAAC,CAAC,CAAC;aAC1G,IAAI,aAAa,GAAG,YAAY,IAAI,SAAS,IAAI,YAAY,GAAG,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC;aAC3F,IAAI,WAAW,GAAG,SAAS,KAAK,UAAU,CAAC;aAE3C,gJAAgJ;aAEhJ,qDAAqD;aACrD,EAAE,CAAC,CAAC,aAAa,IAAI,aAAa,IAAI,WAAW,CAAC,CAAC,CAAC;iBAClD,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;qBAClB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;qBAC1B,aAAa,GAAG,IAAI,CAAC;iBACvB,CAAC;iBAED,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC;iBAC/D,IAAI,OAAO,GAAG,OAAK,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;iBAEjG,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC;iBACtB,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC;iBAE5B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAEpB,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;qBAC1B,UAAU,CAAC,gBAAgB,EAAE;yBAC3B,GAAG,EAAE,OAAO;yBACZ,MAAM,EAAE,UAAU;yBAClB,MAAM,EAAE,UAAU;yBAClB,IAAI,EAAE,OAAK,YAAY,CAAC,IAAI;yBAC5B,KAAK,EAAE,OAAK,YAAY,CAAC,KAAK;yBAC9B,KAAK,EAAE,OAAK,YAAY,CAAC,KAAK;sBAC/B,CAAC,CAAC;iBACL,CAAC;aAEH,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;qBACnB,aAAa,GAAG,OAAK,WAAW,CAAC,SAAS,GAAG,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;iBAC9E,CAAC;iBACD,aAAa,CAAC,MAAM,GAAG,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;iBAChF,aAAa,CAAC,SAAS,IAAI,YAAY,CAAC;aAC1C,CAAC;aACD,OAAO,IAAI,CAAC,UAAU,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC;aAEtC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;;aAEpB,CAAC;SACH,CAAC;;SArDD,GAAG,CAAC,CAAC,IAAI,SAAS,GAAG,UAAU,EAAE,SAAS,GAAG,QAAQ,EAAE,SAAS,IAAI,YAAY;mCAAvE,SAAS;;;UAqDjB;SAED,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;aAClB,aAAa,CAAC,GAAG,GAAG,YAAY,CAAC;aACjC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC5B,CAAC;SAED,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;SAE1C,mDAAmD;SACnD,MAAM,CAAC;aACL,KAAK,EAAE,KAAK;aACZ,cAAc,EAAE,IAAI,CAAC,eAAe;UACrC,CAAC;KACJ,CAAC;KAED;;;QAGG;KACK,6BAAc,GAAtB,UAAuB,SAAiB,EAAE,YAAoB,EAAE,WAAuB;SACrF,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;aAC7B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;SAC1D,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;aAExD,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,mBAAmB,CAAC,CAAC;SACjG,CAAC;KACH,CAAC;KAEO,mCAAoB,GAA5B,UAA6B,SAAiB,EAAE,YAAwB;SACtE,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,sBAAsB,CAAC;SAErI,MAAM,CAAC,YAAY,GAAG,YAAY,GAAG,sBAAsB,CAAC;KAC9D,CAAC;KAEO,0BAAW,GAAnB,UAAoB,OAAe,EAAE,KAAY,EAAE,UAAmB,EAAE,KAAc,EAAE,KAAW;SACjG,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC;SAE5C,sEAAsE;SACtE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;iBACtC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;aAC9B,CAAC;SACH,CAAC;SAED,MAAM,CAAC;aACL,GAAG,EAAE,OAAO;aACZ,UAAU,EAAE,UAAU,KAAK,SAAS,GAAG,CAAC,CAAC,GAAG,UAAU;aACtD,SAAS,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK;aACrE,KAAK,EAAE,KAAK;aACZ,KAAK,EAAE,KAAK,IAAI,EAAE;aAClB,GAAG,EAAE,CAAC;aACN,MAAM,EAAE,CAAC;UACV,CAAC;KACJ,CAAC;KAEO,8BAAe,GAAvB,UAAwB,KAAkB;SACpC,4BAAwD,EAAtD,gBAAK,EAAE,0BAAU,EAAE,4BAAW,CAAyB;SAE7D,MAAM,CAAC,CAAC,WAAW,KAAK,SAAS,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;KAC7F,CAAC;KAED,uGAAuG;KAC/F,iCAAkB,GAA1B,UAA2B,KAAkB,EAAE,WAAqB;SAC5D,8BAAuE,EAArE,8CAAoB,EAAE,gDAAqB,CAA2B;SACtE,4BAAK,CAAgB;SAC7B,IAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAChD,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;SACpC,IAAI,YAAY,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;SAC3E,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,CAAC,CAAC;SAExE,mFAAmF;SACnF,0EAA0E;SAC1E,qGAAqG;SACrG,EAAE,CAAC,CACD,WAAW;aACX,CAAC,KAAK;aACN,CAAC,IAAI,CAAC,YAAY;aAClB,CAAC,YAAY;aACb,YAAY,KAAK,IAAI,CAAC,aAAa;aACnC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAC,CAAC;aACxE,WAAW,GAAG,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACzE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;SAC9B,CAAC;SAED,kFAAkF;SAClF,gEAAgE;SAChE,EAAE,CAAC,CAAC,WAAW;aACb,CAAC,YAAY;aACb,YAAY,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;aACtC,IAAI,CAAC,eAAe,EAAE,CAAC;SACzB,CAAC;SAED,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;SAElC,uGAAuG;SACvG,4BAA4B;SAC5B,qGAAqG;SACrG,iDAAiD;SACjD,IAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SACjD,IAAM,WAAW,GAAG;aAClB,GAAG,EAAE,UAAU;aACf,IAAI,EAAE,WAAW,CAAC,IAAI;aACtB,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,WAAW;aACvC,KAAK,EAAE,WAAW,CAAC,KAAK;aACxB,KAAK,EAAE,WAAW,CAAC,KAAK;aACxB,MAAM,EAAE,MAAM,CAAC,WAAW;UAC3B,CAAC;SAEF,wEAAwE;SACxE,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;SACvG,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,WAAW,EAAE,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;KAC5F,CAAC;KACH,WAAC;AAAD,EAAC,CA9qByB,yBAAa;AACvB,kBAAY,GAAG;KAC3B,UAAU,EAAE,CAAC;KACb,YAAY,EAAE,UAAC,IAAI,EAAE,KAAK,EAAE,aAAa,IAAK,QAAC,iCAAO,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAQ,CAAC,EAA1C,CAA0C;KACxF,oBAAoB,EAAE,8BAA8B;KACpD,qBAAqB,EAAE,+BAA+B;EACvD,CAAC;AANS,qBAAI;AAgrBjB,sBAAqB,IAAI,EAAE,WAAW,EAAE,UAAU;KAChD,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;KACnD,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;KAExE,MAAM,CAAC;SACL,GAAG,EAAE,GAAG;SACR,MAAM,EAAE,GAAG,GAAG,MAAM;SACpB,MAAM,EAAE,MAAM;SACd,IAAI,EAAE,IAAI,CAAC,IAAI;SACf,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,KAAK,EAAE,IAAI,CAAC,KAAK;MAClB,CAAC;AACJ,EAAC;AAED,6BAA4B,SAAqB,EAAE,SAAqB;KACtE,MAAM,CAAC,CACL,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG;SAC9B,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI;SAChC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM;SACpC,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;AACxC,EAAC;AAED,qBAAoB,UAAsB,EAAE,OAAmB;KAC7D,UAAU,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;KACxG,UAAU,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;KAC9G,UAAU,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;KAC1H,UAAU,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;KACpH,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;KAC1D,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;KAE3D,MAAM,CAAC,UAAU,CAAC;AACpB,EAAC;;;;;;;;;AC9wBD,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,KAAK,EAAE,gBAAgB;KACvB,eAAe,EAAE,0BAA0B;EAC5C,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,iOAAiO,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gDAAgD,EAAC,CAAC,CAAC,CAAC;AAF/W,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZnB,oCAA+B;AAC/B,gDAAgD;AAChD,2CAGyB;AAWzB,KAAM,YAAY,GAAG,GAAG,CAAC;AACzB,KAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B,uBAAoE,iBAA4E;KAE9I,MAAM;SAAqC,yCAAoC;SAO7E;aAAA,YACE,iBAAO,SASR;aAuCD,kFAAkF;aAC1E,qBAAe,GAAG,UAAC,eAAyB;iBAC5C,mCAAQ,CAAgB;iBAC9B,IAAI,eAAe,GAAI,KAAI,CAAC,IAAY,CAAC,IAAI,CAAC;iBAC9C,IAAI,aAAa,GAAG,gCAAoB,CAAC,eAAe,CAAC,CAAC;iBAC1D,IAAI,UAAU,GAAG,mBAAO,CAAC,aAAa,CAAC,CAAC;iBACxC,IAAI,UAAU,GAAG,mBAAO,CAAC,eAAe,CAAC,CAAC;iBAC1C,IAAI,eAAe,GAAG;qBACpB,EAAE,CAAC,CAAC,eAAe,IAAI,KAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;yBACvD,KAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE,CAAC;qBAChD,CAAC;iBACH,CAAC,CAAC;iBAEF,IAAI,aAAa,GAAG,CAClB,UAAU,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK;qBACnC,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAEzC,EAAE,CAAC,CAAC,aAAa,IAAI,KAAI,CAAC,eAAe,GAAG,mBAAmB,CAAC,CAAC,CAAC;qBAChE,KAAI,CAAC,eAAe,EAAE,CAAC;qBACvB,KAAI,CAAC,QAAQ,CAAC;yBACZ,QAAQ,EAAE;6BACR,KAAK,EAAE,UAAU,CAAC,KAAK;6BACvB,MAAM,EAAE,UAAU,CAAC,MAAM;0BAC1B;sBACF,EAAE,cAAQ,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACvD,CAAC;iBAAC,IAAI,CAAC,CAAC;qBACN,KAAI,CAAC,eAAe,GAAG,CAAC,CAAC;qBACzB,eAAe,EAAE,CAAC;iBACpB,CAAC;aACH,CAAC;aA5EC,KAAI,CAAC,eAAe,GAAG,CAAC,CAAC;aAEzB,KAAI,CAAC,KAAK,GAAG;iBACX,QAAQ,EAAE;qBACR,KAAK,EAAE,CAAC;qBACR,MAAM,EAAE,CAAC;kBACV;cACF,CAAC;;SACJ,CAAC;SAEM,iDAAiB,GAAxB;aACE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CACxC,IAAI,CAAC,cAAc,EACnB,YAAY,EACZ;iBACE,OAAO,EAAE,KAAK;cACf,CAAC,CAAC;aAEL,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;aACvD,IAAI,CAAC,eAAe,EAAE,CAAC;SACzB,CAAC;SAEM,oDAAoB,GAA3B;aACE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;SACzB,CAAC;SAEM,sCAAM,GAAb;aACQ,kCAAQ,CAAgB;aAC9B,IAAI,iBAAiB,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;aAElE,MAAM,CAAC,CACL,6BAAK,SAAS,EAAC,aAAa,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IACzE,iBAAiB,IAAI,CACrB,oBAAC,iBAAiB,aAAC,GAAG,EAAG,IAAI,CAAC,2BAA2B,EAAG,QAAQ,EAAG,QAAQ,IAAQ,IAAI,CAAC,KAAY,EAAK,CAC9G,CACG,CACP,CAAC;SACJ,CAAC;SAEM,2CAAW,GAAlB;aACE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SAC7B,CAAC;SAEO,8CAAc,GAAtB;aACE,IAAI,CAAC,eAAe,EAAE,CAAC;SACzB,CAAC;SAgCH,4BAAC;KAAD,CAAC,CAtF0C,6BAAa,GAsFtD;AACJ,EAAC;AAzFD,qCAyFC;;;;;;;;;;;;;;;;;;;;AC3GD,2CAIyB;AAEzB;KAAyC,iCAAmB;KAO1D;SAAA,YACE,iBAAO,SAER;SATS,+BAAyB,GAAG,KAAK,CAAC;SAQ1C,KAAI,CAAC,2BAA2B,GAAG,KAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;KACjF,CAAC;KAED;;;;;QAKG;KACO,mDAA2B,GAArC,UAAsC,yBAAgD;SACpF,IAAI,CAAC,0BAA0B,GAAG,yBAAyB,CAAC;SAC5D,EAAE,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;aAC9B,IAAI,CAAC,QAAQ,GAAG,wBAAY,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;SAChE,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;aACzB,0BAAc,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtC,CAAC;KACH,CAAC;KACH,oBAAC;AAAD,EAAC,CA1BwC,yBAAa,GA0BrD;AA1BY,uCAAa;;;;;;;;;;ACN1B,uCAAsC;AACtC,2CAA6C;AAU7C,KAAM,yBAAyB,GAAG,EAAE,CAAC,CAAC,4DAA4D;AAClG,KAAM,wBAAwB,GAAG,CAAC,CAAC,CAAC,4EAA4E;AAChH,KAAM,wBAAwB,GAAG,CAAC,CAAC,CAAC,6EAA6E;AAOjH;KAsBE,wBAAY,MAA6B;SACvC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;SACnC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;SAC3B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SACzB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;SACjB,IAAI,CAAC,uBAAuB,GAAG,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ;aAC5E,MAAM,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,GAAG,yBAAyB,CAAC;SAExF,IAAI,CAAC,OAAO,GAAG,IAAI,sBAAU,CAAC,IAAI,CAAC,CAAC;SACpC,4EAA4E;SAC5E,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;SAC5E,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;KACjF,CAAC;KAEM,gCAAO,GAAd;SACE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;KACzB,CAAC;KAEM,kCAAS,GAAhB,UAAiB,IAAiB,EAAE,MAAkB,EAAE,eAAiC;SAAzF,iBAgKC;SA3JG,4BAAyB,EAAzB,8CAAyB,CACP;SAEpB,IAAM,QAAQ,GAGR,EAAE,CAAC;SAET,IAAI,WAAuC,CAAC;SAC5C,IAAI,WAAuC,CAAC;SAC5C,IAAI,SAAqC,CAAC;SAC1C,IAAI,MAAkC,CAAC;SACvC,IAAI,UAAsC,CAAC;SAC3C,IAAI,WAAwC,CAAC;SAE7C,IAAI,WAAoB,CAAC;SACzB,IAAI,WAAoB,CAAC;SAEzB,IAAI,YAGH,CAAC;SAEF,EAAE,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC;aAE1B,uCAAQ,EACR,mCAAO,EACP,mDAAe,CACG;aAEpB,IAAM,cAAc,GAAoB;iBACtC,IAAI,EAAE,IAAI;iBACV,OAAO,EAAE,eAAe;iBACxB,GAAG,EAAE,GAAG;cACT,CAAC;aAEF,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;aAChD,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;aAEhD,EAAE,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC;iBAC/B,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;qBACb,GAAG,CAAC,CAAgB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ;yBAAvB,IAAM,OAAK;yBACd,IAAM,OAAO,GAAG;6BACd,QAAQ,EAAE,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAO,CAAC;6BAC5C,SAAS,EAAE,OAAK,CAAC,SAAS;0BAC3B,CAAC;yBAEF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBAEvB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;sBAC5D;iBACH,CAAC;aACH,CAAC;aAED,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;iBAChB,2FAA2F;iBAC3F,WAAW,GAAG,UAAC,KAAgB;qBAC7B,EAAE,CAAC,CAAC,CAAE,KAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;yBACxC,KAAwB,CAAC,SAAS,GAAG,IAAI,CAAC;yBAC3C,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;yBAC7B,EAAE,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;6BACrC,iBAAe,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;yBACjD,CAAC;qBACH,CAAC;iBACH,CAAC,CAAC;iBAEF,WAAW,GAAG,UAAC,KAAgB;qBAC7B,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,gBAAgB;qBACxC,EAAE,CAAC,CAAC,CAAE,KAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;yBACxC,KAAwB,CAAC,SAAS,GAAG,IAAI,CAAC;yBAC3C,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;yBAC7B,EAAE,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;6BACrC,iBAAe,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;yBAChD,CAAC;qBACH,CAAC;iBACH,CAAC,CAAC;iBAEF,SAAS,GAAG,UAAC,KAAgB;qBAC3B,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBAC/B,iBAAe,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;iBACjD,CAAC,CAAC;iBAEF,MAAM,GAAG,UAAC,KAAgB;qBACxB,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBAC/B,iBAAe,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;qBAE/C,EAAE,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;yBAC3B,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;qBAC9D,CAAC;iBACH,CAAC,CAAC;iBAEF,UAAU,GAAG,UAAC,KAAgB;qBAC5B,KAAK,CAAC,cAAc,EAAE,CAAC;iBACzB,CAAC,CAAC;iBAEF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAE/B,wEAAwE;iBACxE,2EAA2E;iBAC3E,8BAA8B;iBAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;iBAC1C,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;iBAC1C,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;iBACtC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;iBAChC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;aAC1C,CAAC;aAED,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;iBAChB,8EAA8E;iBAC9E,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;iBAC3D,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;iBAEvD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;iBAC1C,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;aACxC,CAAC;aAED,YAAY,GAAG;iBACb,MAAM,EAAE,cAAc;iBACtB,OAAO,EAAE;qBACP,EAAE,CAAC,CAAC,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC;yBAC9C,OAAO,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;qBAClC,CAAC;qBAED,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;yBACT,GAAG,CAAC,CAAkB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ;6BAAzB,IAAM,OAAO;6BAChB,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;0BAC7D;yBAED,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;6BAChB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;6BAC3C,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;6BAC3C,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;6BACvC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;6BACzC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;yBACnC,CAAC;yBAED,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;6BAChB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;6BAC3C,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;yBACzC,CAAC;qBACH,CAAC;iBACH,CAAC;cACF,CAAC;aAEF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;SAC1C,CAAC;SAED,MAAM,CAAC;aACL,GAAG,EAAE,GAAG;aACR,OAAO,EAAE;iBACP,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;qBACjB,YAAY,CAAC,OAAO,EAAE,CAAC;iBACzB,CAAC;aACH,CAAC;UACF,CAAC;KACJ,CAAC;KAEM,oCAAW,GAAlB,UAAmB,IAAiB,EAAE,GAAW;SAC/C,IAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SAE9C,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;aACjB,YAAY,CAAC,OAAO,EAAE,CAAC;SACzB,CAAC;KACH,CAAC;KAEO,mCAAU,GAAlB,UAAmB,MAAuB,EAAE,KAAgB;SACpD,4BAAO,CAAY;SACzB,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;aACtB,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACjD,CAAC;KACH,CAAC;KAED;;QAEG;KACK,mCAAU,GAAlB,UAAmB,KAAiB;SAClC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SACzB,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;aACnB,GAAG,CAAC,CAAc,UAAgC,EAAhC,WAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAhC,cAAgC,EAAhC,IAAgC;iBAA7C,IAAM,GAAG;iBACZ,IAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;iBAE9C,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;qBAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;qBACxD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;iBAC3D,CAAC;cACF;aAED,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;iBAC9B,gFAAgF;iBAChF,sBAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;iBAC9D,sBAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aAC3D,CAAC;SACH,CAAC;SACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;KACxB,CAAC;KAED;;QAEG;KACK,2CAAkB,GAA1B,UAA2B,KAAiB;SAC1C,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;aAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACzB,CAAC;KACH,CAAC;KAED;;;;QAIG;KACK,qCAAY,GAApB,UAAqB,MAAuB,EAAE,KAAiB;SAI3D;SAFA,oGAAoG;SACpG,sFAAsF;SACtF,kBAAkC;SAFlC,oGAAoG;SACpG,sFAAsF;SACtF,uDAAkC,CAC1B;SAEV,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,KAAK,wBAAwB,CAAC,CAAC,CAAC;aAC3D,kFAAkF;aAClF,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACvB,MAAM,CAAC;SACT,CAAC;SAEK,sBAAI,EAAE,wBAAO,EAAE,gBAAG,CAAY;SACpC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aACrB,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBAC9B,4GAA4G;iBAC5G,gHAAgH;iBAChH,2EAA2E;iBAC3E,kEAAkE;iBAClE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU;qBAC3B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG;qBACrC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACvD,sBAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;qBAC9D,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;iBACnC,CAAC;iBAED,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;qBAC/B,sBAAU,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;qBACpC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC;iBACrC,CAAC;aACH,CAAC;SACH,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;aAC1B,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;iBACnD,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;iBACnD,EAAE,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;qBAClE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;yBAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;yBACxB,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;6BACxB,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;yBAC1G,CAAC;qBACH,CAAC;iBACH,CAAC;aACH,CAAC;SACH,CAAC;KACH,CAAC;KAED;;QAEG;KACK,sCAAa,GAArB,UAAsB,MAAuB,EAAE,KAAiB;SAC9D,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aACrB,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;iBAChG,sBAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;iBAC3C,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;aACnC,CAAC;SACH,CAAC;KACH,CAAC;KAED;;QAEG;KACK,qCAAY,GAApB,UAAqB,MAAuB,EAAE,KAAiB;SAC7D,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,wBAAwB,CAAC,CAAC,CAAC;aAC9C,6CAA6C;aAC7C,MAAM,CAAC;SACT,CAAC;SAED,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAC9B,IAAI,CAAC,SAAS,GAAG;iBACf,OAAO,EAAE,KAAK,CAAC,OAAO;iBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;iBACtB,WAAW,EAAE,KAAK,CAAC,MAAM;iBACzB,UAAU,EAAE,MAAM;cACnB,CAAC;aAEF,GAAG,CAAC,CAAc,UAAgC,EAAhC,WAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAhC,cAAgC,EAAhC,IAAgC;iBAA7C,IAAM,GAAG;iBACZ,IAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;iBAC9C,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;qBAC7B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;qBAC1G,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC9G,CAAC;cACF;SACH,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACxB,CAAC;KACH,CAAC;KAED;;QAEG;KACK,iCAAQ,GAAhB,UAAiB,MAA2B,EAAE,KAA0B;SACtE,IAAI,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACjD,IAAI,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAC/C,OAAO,YAAY,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;aAClD,EAAE,CAAC,CAAC,YAAY,CAAC,aAAa,KAAK,aAAa,CAAC,CAAC,CAAC;iBACjD,MAAM,CAAC,IAAI,CAAC;aACd,CAAC;aACD,YAAY,GAAG,YAAY,CAAC,aAAa,CAAC;SAC5C,CAAC;SACD,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KAEO,qCAAY,GAApB,UAAqB,MAAuB;SACpC,4BAAO,CAAY;SACzB,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAClE,CAAC;KAEO,qCAAY,GAApB,UAAqB,MAAuB;SAC1C,8FAA8F;SACxF,4BAAO,CAAY;SACzB,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;SACjH,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;KAC1E,CAAC;KACH,qBAAC;AAAD,EAAC;AAlXY,yCAAc;;;;;;;;;ACrB3B,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,SAAS,EAAE,oBAAoB;KAC/B,2BAA2B,EAAE,sCAAsC;EACpE,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,uEAAuE,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0QAA0Q,EAAC,CAAC,CAAC,CAAC;AAFjb,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;ACZnB,oCAA0C;AAC1C,wCAA8D;AAArD,iCAAM,CAAW;;;;;;;;;;;;;ACD1B,oCAAyB;AACzB,oCAAgC;AAChC,oCAA+B;AAC/B,oCAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACH/B,oCAA+B;AAC/B,2CAIyB;AACzB,+CAA0D;AAC1D,wCAAoC;AACpC,qDAAmF;AACnF,6CAA8C;AAC9C,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC,gDAAgD;AAOhD,KAAa,MAAM;KAAS,0BAAyC;KAanE,gBAAY,KAAmB;SAA/B,YACE,kBAAM,KAAK,CAAC,SAKb;SAHC,KAAI,CAAC,KAAK,GAAG;aACX,EAAE,EAAE,iBAAK,CAAC,QAAQ,CAAC;UACpB,CAAC;;KACJ,CAAC;KAEM,uBAAM,GAAb;SACM,mBAmBU,EAlBZ,oDAAuB,EACvB,kDAAsB,EACtB,8CAAoB,EACpB,kDAAsB,EACtB,0BAAU,EACV,4DAA2B,EAC3B,gCAAa,EACb,kBAAM,EACN,wBAAS,EACT,4BAAW,EACX,oCAAe,EACf,kCAAc,EACd,kCAAc,EACd,oBAAO,EACP,gBAAK,EACL,cAAI,EACJ,sCAAgB,EAChB,oCAAe,CACF;SACT,sBAAE,CAAgB;SAExB,IAAM,eAAe,GAAG,eAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS;aAC9C,GAAC,sBAAsB,GAAG,MAAM,CAAC,aAAa,IAAG,IAAI,KAAK,yBAAU,CAAC,WAAW;aAChF,GAAC,mBAAmB,GAAG,MAAM,CAAC,OAAO,IAAG,IAAI,KAAK,yBAAU,CAAC,KAAK;iBACjE,CAAC;SACH,IAAM,kBAAkB,GAAG,eAAG,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;SAE3E,MAAM,CAAC,CACL,oBAAC,aAAK,IACJ,SAAS,EAAG,eAAe,EAC3B,kBAAkB,EAAG,kBAAkB,EACvC,uBAAuB,EAAG,uBAAuB,EACjD,sBAAsB,EAAG,sBAAsB,EAC/C,oBAAoB,EAAG,oBAAoB,EAC3C,sBAAsB,EAAG,sBAAsB,EAC/C,UAAU,EAAG,UAAU,EACvB,2BAA2B,EAAG,2BAA2B,EACzD,aAAa,EAAG,aAAa,EAC7B,MAAM,EAAG,MAAM,EACf,SAAS,EAAG,SAAS,EACrB,WAAW,EAAG,WAAW,EACzB,eAAe,EAAG,eAAe,EACjC,cAAc,EAAG,cAAc,EAC/B,cAAc,EAAG,OAAO,IAAI,EAAE,GAAG,UAAU,EAC3C,WAAW,EAAG,KAAK,IAAI,EAAE,GAAG,QAAQ;aAGpC,oBAAC,6BAAa,IACZ,SAAS,EAAG,SAAS,EACrB,eAAe,EAAG,CAAC,UAAU,IAAI,IAAI,KAAK,yBAAU,CAAC,WAAW,EAChE,KAAK,EAAG,KAAK,EACb,OAAO,EAAG,OAAO,EACjB,SAAS,EAAG,gBAAgB,EAC5B,eAAe,EAAG,eAAe,IAE/B,IAAI,CAAC,KAAK,CAAC,QAAQ,CACP,CAEV,CACT,CAAC;;KACJ,CAAC;KACH,aAAC;AAAD,EAAC,CApF2B,yBAAa,GAoFxC;AAlFe,oBAAY,GAAiB;KACzC,MAAM,EAAE,KAAK;KACb,IAAI,EAAE,yBAAU,CAAC,MAAM;KACvB,aAAa,EAAE,IAAI;KACnB,UAAU,EAAE,KAAK;KACjB,SAAS,EAAE,EAAE;KACb,kBAAkB,EAAE,EAAE;KACtB,gBAAgB,EAAE,EAAE;KACpB,eAAe,EAAE,EAAE;EACpB,CAAC;AAXS,OAAM;KADlB,uCAAkB;IACN,MAAM,CAoFlB;AApFY,yBAAM;;;;;;;;;;AC2GnB,KAAY,UAOX;AAPD,YAAY,UAAU;KACpB,sBAAsB;KACtB,+CAAU;KACV,sCAAsC;KACtC,yDAAe;KACf,gEAAgE;KAChE,6CAAS;AACX,EAAC,EAPW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAOrB;;;;;;;;;;;;;ACrID,oCAAyC;AACzC,wCAA4D;AAAnD,gCAAK,CAAW;;;;;;;;;;;;;ACDzB,oCAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;ACAxB,oCAA+B;AAC/B,2CAIyB;AACzB,wCAAuD;AAEvD,0CAAwC;AACxC,wCAAoC;AACpC,uCAAuC;AACvC,qDAAmG;AACnG,6CAA6C;AAC7C,KAAM,MAAM,GAAQ,YAAY,CAAC;AAYjC,KAAa,KAAK;KAAS,yBAAwC;KAYjE,eAAY,KAAkB;SAA9B,YACE,kBAAM,KAAK,CAAC,SAMb;SALC,KAAI,CAAC,KAAK,GAAG;aACX,EAAE,EAAE,iBAAK,CAAC,OAAO,CAAC;aAClB,MAAM,EAAE,KAAK,CAAC,MAAM;aACpB,SAAS,EAAE,KAAK,CAAC,MAAM;UACxB,CAAC;;KACJ,CAAC;KAEM,yCAAyB,GAAhC,UAAiC,QAAqB;SACpD,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAEtC,qBAAqB;SACrB,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;aACpB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;iBACvB,aAAa;iBACb,IAAI,CAAC,QAAQ,CAAC;qBACZ,MAAM,EAAE,IAAI;kBACb,CAAC,CAAC;aACL,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,wBAAwB;iBACxB,IAAI,CAAC,QAAQ,CAAC;qBACZ,SAAS,EAAE,IAAI;kBAChB,CAAC,CAAC;aACL,CAAC;SACH,CAAC;SAED,qBAAqB;SACrB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aAC1C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;aACzG,IAAI,CAAC,QAAQ,CAAC;iBACZ,SAAS,EAAE,KAAK;cACjB,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAEM,kCAAkB,GAAzB,UAA0B,SAAsB,EAAE,SAAuB;SACvE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;aAC9C,IAAI,CAAC,QAAQ,CAAC;iBACZ,SAAS,EAAE,IAAI;cAChB,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAEM,sBAAM,GAAb;SACM,mBAaU,EAZZ,oDAAuB,EACvB,kDAAsB,EACtB,8CAAoB,EACpB,kDAAsB,EACtB,0BAAU,EACV,4DAA2B,EAC3B,gCAAa,EACb,wBAAS,EACT,oCAAe,EACf,kCAAc,EACd,4BAAW,EACX,kCAAc,CACD;SACX,mBAAsC,EAApC,UAAE,EAAE,kBAAM,EAAE,wBAAS,CAAgB;SAE3C,IAAM,cAAc,GAAG,eAAG,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;aACvE,GAAC,SAAS,IAAG,MAAM;aACnB,GAAC,MAAM,CAAC,aAAa,IAAG,SAAS;iBACjC,CAAC;SAEH,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;aACZ,MAAM,CAAC,IAAI,CAAC;SACd,CAAC;SAED,0EAA0E;SAC1E,EAAE,CAAC,CAAC,cAAc,IAAI,mCAAc,CAAC,KAAK,CAAC,CAAC,CAAC;aAC3C,MAAM,CAAC,CACL,oBAAC,aAAK,IAAC,eAAe,EAAG,eAAe;iBACtC,oBAAC,aAAK,IACJ,IAAI,EAAG,UAAU,GAAG,aAAa,GAAG,QAAQ,EAC5C,cAAc,EAAG,WAAW,EAC5B,eAAe,EAAG,cAAc,EAChC,SAAS,EAAG,SAAS;qBAErB,6BAAK,SAAS,EAAG,cAAc;yBAC7B,oBAAC,iBAAO,IAAC,YAAY,EAAG,aAAa,EAAG,OAAO,EAAG,UAAU,GAAG,IAAI,GAAG,SAAS,GAAK;yBACpF,oBAAC,qBAAa,IACZ,SAAS,EAAG,eAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAC7E,uBAAuB,EAAG,uBAAuB,EACjD,2BAA2B,EAAG,2BAA2B,GAAG,2BAA2B,GAAG,CAAC,UAAU,EACrG,sBAAsB,EAAG,sBAAsB,EAC/C,oBAAoB,EAAG,oBAAoB,EAC3C,sBAAsB,EAAG,sBAAsB,IAC7C,IAAI,CAAC,KAAK,CAAC,QAAQ,CACP,CACZ,CACA,CACF,CACT,CAAC;SACJ,CAAC;;KACH,CAAC;KAED,mDAAmD;KAC3C,6BAAa,GAArB;SACE,IAAI,CAAC,QAAQ,CAAC;aACZ,MAAM,EAAE,KAAK;UACd,CAAC,CAAC;SAEH,8BAA8B;SAC9B,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;aAC3B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;SAC3B,CAAC;KACH,CAAC;KACH,YAAC;AAAD,EAAC,CAzH0B,yBAAa,GAyHvC;AAvHe,mBAAY,GAAgB;KACxC,MAAM,EAAE,KAAK;KACb,aAAa,EAAE,IAAI;KACnB,UAAU,EAAE,KAAK;KACjB,SAAS,EAAE,EAAE;KACb,kBAAkB,EAAE,EAAE;EACvB,CAAC;AARS,MAAK;KADjB,uCAAkB;IACN,KAAK,CAyHjB;AAzHY,uBAAK;;;;;;;;;;;;;ACzBlB,oCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAhC,oCAA+B;AAC/B,2CAUyB;AAGzB;KAAmC,iCAAsC;KAAzE;SAAA,qEAgJC;SArIS,qBAAe,GAAY,KAAK,CAAC;SACjC,qBAAe,GAAY,KAAK,CAAC;;KAoI3C,CAAC;KAlIQ,0CAAkB,GAAzB;SACM,mBAAiF,EAA/E,mCAAmC,EAAnC,wDAAmC,EAAE,4BAA2B,EAA3B,gDAA2B,CAAgB;SACtF,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;aACzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aAC5B,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvC,CAAC;SACD,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC;aACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aAC5B,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvC,CAAC;KACH,CAAC;KAEM,yCAAiB,GAAxB;SACM,mBAA0G,EAAxG,oDAAuB,EAAE,mCAAmC,EAAnC,wDAAmC,EAAE,4BAA2B,EAA3B,gDAA2B,CAAgB;SAE/G,IAAI,CAAC,yBAAyB,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,QAAQ,CAAC,aAA4B,CAAC;SAE3H,EAAE,CAAC,CAAC,CAAC,2BAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;aACrE,IAAI,CAAC,KAAK,EAAE,CAAC;SACf,CAAC;SAED,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;aACzB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;SACjE,CAAC;SAED,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC;aACjC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;SACjE,CAAC;KACH,CAAC;KAEM,4CAAoB,GAA3B;SAAA,iBAmBC;SAlBO,8DAAsB,CAAgB;SAE5C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;SACvB,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;aACjD,IAAI,MAAM,GAAG,UAAC,KAAoB;iBAChC,MAAM,CAAC,KAAI,KAAK,KAAK,CAAC;aACxB,CAAC,CAAC;aACF,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;iBACzB,aAAa,CAAC,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACvE,CAAC;aACD,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;iBACzB,aAAa,CAAC,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACvE,CAAC;SACH,CAAC;SAED,EAAE,CAAC,CAAC,CAAC,sBAAsB,IAAI,IAAI,CAAC,yBAAyB,IAAI,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC;aAC5H,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;SACzC,CAAC;KACH,CAAC;KAEM,8BAAM,GAAb;SACM,mBAA0C,EAAxC,wBAAS,EAAE,kCAAc,CAAgB;SAC/C,IAAI,QAAQ,GAAG,0BAAc,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAa,CAAC,CAAC;SAEzD,MAAM,CAAC,CACL,wCACO,QAAQ,IACb,SAAS,EAAG,SAAS,EACrB,GAAG,EAAC,MAAM,qBACQ,cAAc,EAChC,SAAS,EAAG,IAAI,CAAC,kBAAkB,KACjC,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,CACP,CAAC;KACJ,CAAC;KAED;;QAEG;KACI,6BAAK,GAAZ;SACQ,8DAAsB,CAAgB;SAC5C,IAAI,oBAAoB,CAAC;SACzB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;SAE1B,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;aAC3B,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,sBAAsB,CAAC,CAAC;SAC1E,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,oBAAoB,GAAG,0BAAc,CAAC,IAAI,EAAE,IAAI,CAAC,UAAyB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SACxG,CAAC;SACD,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;aACzB,oBAAoB,CAAC,KAAK,EAAE,CAAC;SAC/B,CAAC;KACH,CAAC;KAGO,0CAAkB,GAA1B,UAA2B,EAAoC;SAC7D,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;aAC9B,MAAM,CAAC;SACT,CAAC;SAEK,yBAAI,CAAe;SAEzB,IAAM,oBAAoB,GAAG,6BAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAyB,EAAE,IAAI,CAAC,CAAC;SAC3F,IAAM,mBAAmB,GAAG,4BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAwB,EAAE,IAAI,CAAC,CAAC;SAExF,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,oBAAoB,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;aACtD,mBAAmB,CAAC,KAAK,EAAE,CAAC;aAC5B,EAAE,CAAC,cAAc,EAAE,CAAC;aACpB,EAAE,CAAC,eAAe,EAAE,CAAC;SACvB,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,mBAAmB,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;aAC7D,oBAAoB,CAAC,KAAK,EAAE,CAAC;aAC7B,EAAE,CAAC,cAAc,EAAE,CAAC;aACpB,EAAE,CAAC,eAAe,EAAE,CAAC;SACvB,CAAC;KACH,CAAC;KAEO,yCAAiB,GAAzB,UAA0B,EAAc;SACtC,EAAE,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,KAAK,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACjH,IAAM,cAAc,GAAG,QAAQ,CAAC,aAA4B,CAAC;aAE7D,EAAE,CAAC,CAAC,CAAC,2BAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;iBACrD,IAAI,CAAC,KAAK,EAAE,CAAC;iBACb,EAAE,CAAC,cAAc,EAAE,CAAC;iBACpB,EAAE,CAAC,eAAe,EAAE,CAAC;aACvB,CAAC;SACH,CAAC;KACH,CAAC;KAEO,yCAAiB,GAAzB,UAA0B,EAAc;SACtC,EAAE,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,KAAK,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACjH,IAAM,cAAc,GAAG,EAAE,CAAC,MAAqB,CAAC;aAEhD,EAAE,CAAC,CAAC,cAAc,IAAI,CAAC,2BAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;iBACvE,IAAI,CAAC,KAAK,EAAE,CAAC;iBACb,EAAE,CAAC,cAAc,EAAE,CAAC;iBACpB,EAAE,CAAC,eAAe,EAAE,CAAC;aACvB,CAAC;SACH,CAAC;KACH,CAAC;KACH,oBAAC;AAAD,EAAC,CAhJkC,yBAAa;AAE/B,0BAAW,GAAoB,EAAE,CAAC;AAClC,0BAAW,GAAoB,EAAE,CAAC;AAiGjD;KADC,oBAAQ;wDAoBR;AAvHU,uCAAa;;;;;;;;;;;;;ACd1B,oCAA2C;;;;;;;;;;;;;ACA3C,oCAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA1B,oCAA+B;AAC/B,2CAOyB;AAGzB,6CAA+C;AAC/C,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC;KAA6B,2BAAgC;KAA7D;;KA0BA,CAAC;KAxBQ,mCAAiB,GAAxB;SACE,6BAAiB,EAAE,CAAC;KACtB,CAAC;KAEM,sCAAoB,GAA3B;SACE,4BAAgB,EAAE,CAAC;KACrB,CAAC;KAEM,wBAAM,GAAb;SACM,mBAAwC,EAAtC,8BAAY,EAAE,wBAAS,CAAgB;SAC7C,IAAI,QAAQ,GAAG,0BAAc,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAa,CAAC,CAAC;SAEzD,IAAI,iBAAiB,GAAG,eAAG,CACzB,YAAY,EACZ,MAAM,CAAC,IAAI,EACX,SAAS;aAEP,GAAC,mBAAmB,GAAG,MAAM,CAAC,UAAU,IAAG,YAAY;iBACvD,CAAC;SAEL,MAAM,CAAC,CACL,wCAAU,QAAQ,IAAG,SAAS,EAAG,iBAAiB,IAAK,CACxD,CAAC;;KACJ,CAAC;KACH,cAAC;AAAD,EAAC,CA1B4B,yBAAa,GA0BzC;AA1BY,2BAAO;;;;;;;;;ACdpB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,UAAU,EAAE,qBAAqB;KACjC,UAAU,EAAE,qBAAqB;EAClC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,kCAAkC,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,sBAAsB,EAAC,EAAC,EAAC,WAAW,EAAC,4JAA4J,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,gBAAgB,EAAC,EAAC,EAAC,WAAW,EAAC,GAAG,EAAC,CAAC,CAAC,CAAC;AAFhY,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZnB,oCAA+B;AAC/B,gDAAgD;AAChD,2CAA4C;AAM5C,KAAY,cAOX;AAPD,YAAY,cAAc;KACxB,qDAAS;KACT,uDAAU;KACV,qDAAS;KACT,uDAAU;KACV,yDAAW;KACX,2DAAY;AACd,EAAC,EAPW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAOzB;AAED,KAAM,yBAAyB,GAAG;KAChC,GAAG;KACH,GAAG;KACH,IAAI;KACJ,IAAI;KACJ,IAAI;KACJ,QAAQ;EACT,CAAC;AAEF,KAAI,YAA4B,CAAC;AAEjC;;IAEG;AACH,4BAAkC,cAA8B;KAC9D,YAAY,GAAG,cAAc,CAAC;AAChC,EAAC;AAFD,+CAEC;AAED,6BAAqF,iBAA4E;KAE/J,MAAM;SAAkC,sCAA0C;SAEhF;aAAA,YACE,iBAAO,SAMR;aALC,KAAI,CAAC,2BAA2B,GAAG,KAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;aAE/E,KAAI,CAAC,KAAK,GAAG;iBACX,cAAc,EAAE,KAAI,CAAC,kBAAkB,EAAE;cAC1C,CAAC;;SACJ,CAAC;SAEM,8CAAiB,GAAxB;aAAA,iBAUC;aATC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE;iBAChC,IAAI,cAAc,GAAG,KAAI,CAAC,kBAAkB,EAAE,CAAC;iBAE/C,EAAE,CAAC,CAAC,cAAc,KAAK,KAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;qBACjD,KAAI,CAAC,QAAQ,CAAC;yBACZ,cAAc,EAAE,cAAc;sBAC/B,CAAC,CAAC;iBACL,CAAC;aACH,CAAC,CAAC,CAAC;SACL,CAAC;SAEM,iDAAoB,GAA3B;aACE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;SACzB,CAAC;SAEM,mCAAM,GAAb;aACQ,8CAAc,CAAgB;aAEpC,MAAM,CAAC,CACL,oBAAC,iBAAiB,aAAC,GAAG,EAAG,IAAI,CAAC,2BAA2B,EAAG,cAAc,EAAG,cAAc,IAAQ,IAAI,CAAC,KAAY,EAAK,CAC1H,CAAC;SACJ,CAAC;SAEO,+CAAkB,GAA1B;aACE,IAAI,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC;aAC1C,IAAI,GAAG,GAAG,qBAAS,EAAE,CAAC;aAEtB,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC;iBAC/B,OAAO,GAAG,CAAC,UAAU,GAAG,yBAAyB,CAAC,cAAc,CAAC,EAAE,CAAC;qBAClE,cAAc,EAAE,CAAC;iBACnB,CAAC;aACH,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,EAAE,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC;qBAC/B,cAAc,GAAG,YAAY,CAAC;iBAChC,CAAC;iBAAC,IAAI,CAAC,CAAC;qBACN,MAAM,IAAI,KAAK,CACb,4FAA4F;yBAC5F,+DAA+D,CAChE,CAAC;iBACJ,CAAC;aACH,CAAC;aAED,MAAM,CAAC,cAAc,CAAC;SACxB,CAAC;SACH,yBAAC;KAAD,CAAC,CAxDuC,6BAAa,GAwDnD;AACJ,EAAC;AA3DD,iDA2DC;;;;;;;;;AC9FD,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,QAAQ,EAAE,QAAQ;KAClB,IAAI,EAAE,eAAe;KACrB,aAAa,EAAE,wBAAwB;KACvC,IAAI,EAAE,eAAe;EACtB,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,4tBAA4tB,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4LAA4L,EAAC,CAAC,CAAC,CAAC;AAF/+B,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;ACbnB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,MAAM,EAAE,iBAAiB;KACzB,IAAI,EAAE,eAAe;KACrB,MAAM,EAAE,iBAAiB;KACzB,OAAO,EAAE,kBAAkB;KAC3B,KAAK,EAAE,gBAAgB;KACvB,MAAM,EAAE,iBAAiB;KACzB,KAAK,EAAE,gBAAgB;KACvB,SAAS,EAAE,oBAAoB;KAC/B,OAAO,EAAE,kBAAkB;KAC3B,OAAO,EAAE,kBAAkB;KAC3B,OAAO,EAAE,kBAAkB;KAC3B,YAAY,EAAE,uBAAuB;KACrC,MAAM,EAAE,iBAAiB;KACzB,aAAa,EAAE,wBAAwB;KACvC,WAAW,EAAE,sBAAsB;EACpC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,mNAAmN,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wLAAwL,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uzBAAuzB,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uuBAAuuB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gFAAgF,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yLAAyL,EAAC,CAAC,CAAC,CAAC;AAFrhF,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBnB,oCAA+B;AAC/B,2CAIyB;AAEzB,yCAA0C;AAC1C,+CAA8C;AAC9C,qDAAmF;AACnF,6CAA8C;AAC9C,KAAM,MAAM,GAAQ,YAAY,CAAC;AAOjC,KAAa,aAAa;KAAS,iCAAuD;KAQxF,uBAAY,KAA0B;SAAtC,YACE,kBAAM,KAAK,CAAC,SAKb;SAHC,KAAI,CAAC,KAAK,GAAG;aACX,EAAE,EAAE,iBAAK,CAAC,QAAQ,CAAC;UACpB,CAAC;;KACJ,CAAC;KAEM,8BAAM,GAAb;SACM,mBAMU,EALZ,oCAAe,EACf,8CAAoB,EACpB,wBAAS,EACT,oBAAO,EACP,gBAAK,CACQ;SACT,sBAAE,CAAgB;SAExB,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;SACtC,IAAI,cAAc,CAAC;SACnB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aACZ,cAAc,GAAG,2BAAG,SAAS,EAAG,eAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,EAAG,EAAE,EAAG,EAAE,GAAG,UAAU,IAAK,OAAO,CAAM,CAAC;SACpH,CAAC;SAED,MAAM,CAAC,CACL;aACE,6BAAK,SAAS,EAAG,eAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC;iBACrD,2BAAG,SAAS,EAAG,eAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,EAAG,EAAE,EAAG,EAAE,GAAG,QAAQ,EAAG,IAAI,EAAC,SAAS,IAAG,KAAK,CAAM;iBACvG,6BAAK,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,SAAS,CAAC;qBACzD,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,QAC1C,oBAAC,mBAAU,eAAK,KAAK,EAAI,CAC1B,EAF2C,CAE3C,CAAC;qBACF,oBAAC,mBAAU,IACT,SAAS,EAAG,eAAG,CACb,0CAA0C,EAC1C,MAAM,CAAC,MAAM,YACX,GAAC,MAAM,CAAC,OAAO,IAAG,CAAC,eAAe,MACrC,EACD,SAAS,EAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAClC,SAAS,EAAG,oBAAoB,EAChC,OAAO,EAAG,SAAS,GACnB,CACE,CACF;aACN,6BAAK,SAAS,EAAG,eAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC;iBACnD,6BAAK,SAAS,EAAG,eAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;qBAC3E,cAAc;qBACd,SAAS,CAAC,QAAQ,CAChB;iBACJ,SAAS,CAAC,OAAO,CACf,CACF,CACP,CAAC;;KACJ,CAAC;KAED,8EAA8E;KAC9E,0DAA0D;KAC1D,yFAAyF;KACjF,sCAAc,GAAtB;SAEE,IAAI,SAAS,GAAyC;aACpD,OAAO,EAAE,EAAE;aACX,QAAQ,EAAE,EAAE;UACb,CAAC;SAEF,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAK;aAC3C,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,2BAAY,CAAC,CAAC,CAAC;iBAC/E,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC,CAAC;SACH,CAAC,CAAC,CAAC;SAEH,MAAM,CAAC,SAAS,CAAC;KACnB,CAAC;KACH,oBAAC;AAAD,EAAC,CAnFkC,yBAAa,GAmF/C;AAjFe,2BAAY,GAAwB;KAChD,eAAe,EAAE,KAAK;KACtB,SAAS,EAAE,EAAE;KACb,eAAe,EAAE,EAAE;EACpB,CAAC;AANS,cAAa;KADzB,uCAAkB;IACN,aAAa,CAmFzB;AAnFY,uCAAa;;;;;;;;;;;;;;;;;;;;AClB1B,oCAA+B;AAC/B,2CAAqD;AACrD,6CAA8C;AAC9C,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC;KAAkC,gCAAuB;KAAzD;;KAgBA,CAAC;KAfQ,6BAAM,GAAb;SACE,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC;aACvD,6BAAK,SAAS,EAAG,eAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,YAAY,CAAC,IAC/D,IAAI,CAAC,wBAAwB,EAAE,CAC7B,CACF,CACP,CAAC;KACJ,CAAC;KAEO,+CAAwB,GAAhC;SACE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAK;aAClD,qCAAM,SAAS,EAAG,eAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAK,KAAK,CAAS;SAA3E,CAA2E,CAC5E,CAAC;KACJ,CAAC;KACH,mBAAC;AAAD,EAAC,CAhBiC,yBAAa,GAgB9C;AAhBY,qCAAY;;;;;;;;;;;;;ACLzB,oCAAgD;;;;;;;;;;;;;ACAhD,oCAA+B;AAC/B,oCAAqC;AACrC,oCAAsC;AACtC,oCAAuC;AACvC,oCAAuC;AACvC,oCAAsC;AACtC,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;ACNpC,oCAA+B;AAC/B,qDAA4E;AAC5E,2CAKyB;AACzB,6CAAoD;AACpD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC;KAAkC,gCAAsC;KAAxE;;KAqEA,CAAC;KAhEQ,6BAAM,GAAb;SACM,mBAA6E,EAA3E,oBAAO,EAAE,4BAAW,EAAE,sBAAQ,EAAE,wBAAS,EAAE,cAAI,EAAE,4BAAW,CAAgB;SAClF,IAAI,UAAU,GAAG,CAAC,OAAO,IAAI,WAAW,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;SAEzD,gFAAgF;SAChF,IAAI,KAAK,CAAC;SACV,EAAE,CAAC,CAAC,IAAI,KAAK,qCAAgB,CAAC,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC;aACrD,KAAK,GAAG;iBACN,iBAAiB,EAAE,WAAW;cAC/B,CAAC;SACJ,CAAC;SAED,4DAA4D;SAC5D,IAAI,IAAI,GAAG,UAAU,GAAG,CAAC,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC;SAC7D,IAAI,QAAQ,GAAG,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC;SAErC,MAAM,CAAC,CACL,6BACE,QAAQ,EAAG,QAAQ,EACnB,IAAI,EAAG,IAAI,EACX,SAAS,EACP,eAAG,CACD,iBAAiB,EACjB,MAAM,CAAC,IAAI;iBAET,GAAC,8BAA8B,GAAG,MAAM,CAAC,gBAAgB,IAAG,UAAU;iBACtE,GAAC,2BAA2B,GAAG,MAAM,CAAC,aAAa,IAAG,IAAI,KAAK,qCAAgB,CAAC,OAAO,GAAG,IAAI,GAAG,KAAK;sBAExG,SAAS,CACV,EAEH,SAAS,EAAG,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,EAC/C,OAAO,EAAG,UAAU,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,EAC3C,KAAK,EAAG,KAAK,IACX,QAAQ,CACN,CACP,CAAC;;KACJ,CAAC;KAGO,+BAAQ,GAAhB,UAAiB,EAAiC;SAChD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;KACrB,CAAC;KAGO,iCAAU,GAAlB,UAAmB,EAAoC;SACrD,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;aAC/D,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;SACrB,CAAC;KACH,CAAC;KAGO,gCAAS,GAAjB,UAAkB,EAAqC;SACjD,mBAAqC,EAAnC,oBAAO,EAAE,4BAAW,CAAgB;SAE1C,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aACZ,OAAO,CAAC,EAAE,CAAC,CAAC;SACd,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC;aACnC,iGAAiG;aACjG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;aACnC,EAAE,CAAC,cAAc,EAAE,CAAC;aACpB,EAAE,CAAC,eAAe,EAAE,CAAC;SACvB,CAAC;KACH,CAAC;KACH,mBAAC;AAAD,EAAC,CArEiC,yBAAa;AAC/B,0BAAY,GAAuB;KAC/C,IAAI,EAAE,qCAAgB,CAAC,MAAM;EAC9B,CAAC;AA0CF;KADC,oBAAQ;6CAGR;AAGD;KADC,oBAAQ;+CAKR;AAGD;KADC,oBAAQ;8CAYR;AApEU,qCAAY;;;;;;;;;;ACwCzB,KAAY,gBASX;AATD,YAAY,gBAAgB;KAC1B;;QAEG;KACH,2DAAU;KACV;;QAEG;KACH,6DAAW;AACb,EAAC,EATW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAS3B;;;;;;;;;AC5DD,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,gBAAgB,EAAE,2BAA2B;KAC7C,QAAQ,EAAE,mBAAmB;KAC7B,KAAK,EAAE,gBAAgB;KACvB,aAAa,EAAE,wBAAwB;KACvC,OAAO,EAAE,kBAAkB;KAC3B,IAAI,EAAE,eAAe;KACrB,QAAQ,EAAE,mBAAmB;KAC7B,OAAO,EAAE,kBAAkB;KAC3B,MAAM,EAAE,iBAAiB;KACzB,KAAK,EAAE,gBAAgB;KACvB,wBAAwB,EAAE,mCAAmC;KAC7D,MAAM,EAAE,iBAAiB;KACzB,eAAe,EAAE,0BAA0B;KAC3C,OAAO,EAAE,kBAAkB;KAC3B,IAAI,EAAE,eAAe;KACrB,gBAAgB,EAAE,2BAA2B;KAC7C,iBAAiB,EAAE,4BAA4B;KAC/C,QAAQ,EAAE,mBAAmB;KAC7B,YAAY,EAAE,uBAAuB;KACrC,YAAY,EAAE,uBAAuB;EACtC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,qEAAqE,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oBAAoB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6NAA6N,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sHAAsH,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0HAA0H,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2qBAA2qB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iFAAiF,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6QAA6Q,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+pDAA+pD,EAAC,EAAC,EAAC,OAAO,EAAC,qBAAqB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+GAA+G,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2EAA2E,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kKAAkK,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4DAA4D,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sCAAsC,EAAC,EAAC,EAAC,OAAO,EAAC,mBAAmB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iFAAiF,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gjBAAgjB,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oCAAoC,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gWAAgW,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qEAAqE,EAAC,CAAC,CAAC,CAAC;AAF95L,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BnB,oCAA+B;AAC/B,2CAAqD;AAErD,uCAAkC;AAClC,yCAA0C;AAC1C,6CAAoD;AACpD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC;KAAyC,uCAA6C;KAAtF;;KAwBA,CAAC;KAvBQ,oCAAM,GAAb;SACM,mBAA+B,EAA7B,oBAAO,EAAE,gBAAK,CAAgB;SAEpC,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,OAAO,CAAC;aAE1D,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,KAAK;iBACrC,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,MAAM,CAAC,EAAG,GAAG,EAAG,KAAK;qBAChF,oBAAC,mBAAU,eAAM,MAAM,EAAK,CACxB,CACP,CAAC;aACJ,CAAC,CAAC;aAEA,KAAK,GAAG,CAAC,IAAI,CACb,6BAAK,SAAS,EAAG,eAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,KAAK,CAAC;iBAChE,oBAAC,WAAI,IAAC,QAAQ,EAAC,MAAM,GAAG;iBACtB,KAAK,CACH,CACP,CACG,CACP,CAAC;KACJ,CAAC;KACH,0BAAC;AAAD,EAAC,CAxBwC,yBAAa,GAwBrD;AAxBY,mDAAmB;;;;;;;;;;;;;;;;;;;;ACRhC,oCAA+B;AAC/B,2CAAqD;AAErD,0CAAqD;AACrD,6CAAoD;AACpD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC;KAA0C,wCAA8C;KAAxF;;KAsDA,CAAC;KArDQ,qCAAM,GAAb;SACM,mBAAiC,EAA/B,sBAAQ,EAAE,kBAAM,CAAgB;SAEtC,MAAM,CAAC,CACL,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;aAC3B,6BAAK,SAAS,EAAG,eAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,QAAQ;qBAC7D,GAAC,0CAA0C,GAAG,MAAM,CAAC,wBAAwB,IAAG,MAAM,CAAC,MAAM,GAAG,CAAC;yBACjG;iBACE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;iBAC7B,6BAAK,SAAS,EAAG,eAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,eAAe,CAAC;qBAC7E,8BAAM,SAAS,EAAG,eAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,IAAI,CAAC,IAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAS;qBAC3G,8BAAM,SAAS,EAAG,eAAG,CAAC,kCAAkC,EAAE,MAAM,CAAC,gBAAgB,CAAC,IAAK,QAAQ,CAAS,CACpG,CACF,CACP,CAAC;;KACJ,CAAC;KAEO,6CAAc,GAAtB,UAAuB,MAAqC;SAC1D,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,OAAO,CAAC;aACnE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;aACxD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC3B,CACP,CAAC;KACJ,CAAC;KAEO,4CAAa,GAArB,UAAsB,MAAmC;SAEvD,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,MAAM,CAAC;aACnE,oBAAC,iBAAO,IACN,aAAa,EAAG,MAAM,CAAC,QAAQ,EAC/B,WAAW,EAAG,MAAM,CAAC,IAAI,EACzB,kBAAkB,EAAG,IAAI,EACzB,QAAQ,EAAG,MAAM,CAAC,eAAe,EACjC,aAAa,EAAG,MAAM,CAAC,aAAa,EACpC,IAAI,EAAC,cAAc,EACnB,IAAI,EAAG,qBAAW,CAAC,UAAU,GAC7B,CAEE,CACP,CAAC;KACJ,CAAC;KAEO,6CAAc,GAAtB,UAAuB,MAAqC;SAC1D,IAAI,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SAEhC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;aACvB,UAAU,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC3C,CAAC;SAED,MAAM,CAAC,UAAU,CAAC;KACpB,CAAC;KACH,2BAAC;AAAD,EAAC,CAtDyC,yBAAa,GAsDtD;AAtDY,qDAAoB;;;;;;;;;;;;;ACPjC,oCAA2C;;;;;;;;;;;;;ACA3C,oCAA0B;AAC1B,oCAAgC;AAChC,oCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFhC,oCAA+B;AAC/B,2CASyB;AACzB,uCAAkC;AAClC,wCAA8D;AAC9D,gDAKyB;AACzB,gDAIyB;AACzB,6CAA+C;AAC/C,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC,0BAAyB;AACzB,KAAM,qBAAqB,GAA2B;KACpD,oCAAoB,CAAC,UAAU;KAC/B,oCAAoB,CAAC,SAAS;KAC9B,oCAAoB,CAAC,SAAS;KAC9B,oCAAoB,CAAC,KAAK;KAC1B,oCAAoB,CAAC,SAAS;KAC9B,oCAAoB,CAAC,IAAI;KACzB,oCAAoB,CAAC,OAAO;KAC5B,oCAAoB,CAAC,MAAM;KAC3B,oCAAoB,CAAC,KAAK;KAC1B,oCAAoB,CAAC,IAAI;KACzB,oCAAoB,CAAC,IAAI;KACzB,oCAAoB,CAAC,QAAQ;KAC7B,oCAAoB,CAAC,MAAM;KAC3B,oCAAoB,CAAC,OAAO;KAC5B,oCAAoB,CAAC,GAAG;EACzB,CAAC;AAEF,KAAM,0BAA0B,GAAG,qBAAqB,CAAC,MAAM,CAAC;AAMhE;KAA6B,2BAA2C;KAOtE,iBAAY,KAAoB;SAAhC,YACE,kBAAM,KAAK,CAAC,SAKb;SAHC,KAAI,CAAC,KAAK,GAAG;aACX,aAAa,EAAE,KAAK;UACrB,CAAC;;KACJ,CAAC;KAEM,wBAAM,GAAb;SACM,mBAkBU,EAjBZ,wBAAS,EACT,cAAI,EACJ,sBAAQ,EACR,gCAAa,EACb,sBAAQ,EACR,4BAAW,EACX,gCAAa,EACb,8BAAY,EACZ,8BAAY,EACZ,0CAAkB,EAClB,wCAAiB,EACjB,wBAAyC,EAAzC,8DAAyC,EACzC,4CAAmB,EACnB,gDAAqB,EACrB,8CAAoB,EACpB,8CAAoB,EACpB,oDAAuB,CACV;SAEf,aAAa,GAAG,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,IAAI,GAAG,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;SAE5H,IAAI,eAAe,GAAG,IAAI,CAAC;SAC3B,EAAE,CAAC,CAAC,QAAQ,KAAK,+BAAe,CAAC,IAAI,CAAC,CAAC,CAAC;aACtC,IAAI,YAAY,GAAG,+BAAe,CAAC,QAAQ,CAAC,EAC1C,UAAU,GAAG,IAAI,CAAC;aACpB,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;iBACrB,KAAK,QAAQ;qBACX,YAAY,GAAG,YAAY,CAAC;qBAC5B,KAAK,CAAC;iBACR,KAAK,MAAM;qBACT,YAAY,GAAG,YAAY,CAAC;qBAC5B,KAAK,CAAC;iBACR,KAAK,KAAK;qBACR,YAAY,GAAG,YAAY,CAAC;qBAC5B,KAAK,CAAC;iBACR;qBACE,YAAY,GAAG,EAAE,CAAC;aACtB,CAAC;aACD,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;iBACjB,UAAU,GAAG,CACX,oBAAC,WAAI,IAAC,SAAS,EAAG,eAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,YAAY,CAAC,EAAG,QAAQ,EAAG,YAAY,GAAK,CACrG,CAAC;aACJ,CAAC;aACD,eAAe,GAAG,6BAAK,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAK,UAAU,CAAQ,CAAC;SACxG,CAAC;SAED,IAAI,QAAQ,GAAG,0BAAc,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAa,CAAC,CAAC;SACzD,IAAI,cAAc,GAAG,6BAAK,SAAS,EAAG,eAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,OAAO,CAAC;aAC3E,IAAI,CAAC,cAAc,CACnB,IAAI,CAAC,KAAK,CAAC,WAAW,EACtB,eAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,WAAW,CAAC,EACjD,mBAAmB,CAAC;aACpB,IAAI,CAAC,cAAc,CACnB,IAAI,CAAC,KAAK,CAAC,aAAa,EACxB,eAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,aAAa,CAAC,EACrD,qBAAqB,CAAC;aACtB,IAAI,CAAC,cAAc,CACnB,IAAI,CAAC,KAAK,CAAC,YAAY,EACvB,eAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,YAAY,CAAC,EACnD,oBAAoB,CAAC;aACrB,IAAI,CAAC,cAAc,CACnB,IAAI,CAAC,KAAK,CAAC,YAAY,EACvB,eAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,YAAY,CAAC,EACnD,oBAAoB,CAAC;aACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,CAAC;SAEP,MAAM,CAAC,CACL,wCACO,QAAQ,IACb,SAAS,EAAG,eAAG,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,4BAAY,CAAC,IAAI,CAAC,EAAE,gCAAgB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;aAEjK,IAAI,KAAK,2BAAW,CAAC,IAAI,IAAI,CAC7B,6BAAK,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,SAAS,CAAC;iBAE1D,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa;qBACzB,CACE,6BACE,SAAS,EAAG,eAAG,CACb,qBAAqB,EACrB,MAAM,CAAC,QAAQ,EACf,sCAAsB,CAAC,aAAa,CAAC,CACtC,iBACW,MAAM,IAEhB,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAClD,CACP;iBAEH,oBAAC,aAAK,IACJ,SAAS,EAAG,eAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,EACjD,QAAQ,EAAG,gBAAQ,CAAC,KAAK,EACzB,GAAG,EAAG,QAAQ,EACd,YAAY,EAAG,iBAAiB,EAChC,kBAAkB,EAAG,uBAAuB,EAC5C,oBAAoB,EAAG,IAAI,CAAC,0BAA0B,GAAK,CACzD,CACP;aACC,eAAe;aACf,CAAC,CAAC,kBAAkB,IAAI,CAAC,IAAI,KAAK,2BAAW,CAAC,IAAI,CAAC,CAAC,IAAI,cAAc,CACpE,CACP,CAAC;KACJ,CAAC;KAGO,gCAAc,GAAtB,UAAuB,IAAY,EAAE,SAAiB,EAAE,MAAuC;SAC7F,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,SAAS,IACtB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAChC,CACP,CAAC;KACJ,CAAC;KAGO,mCAAiB,GAAzB,UAA0B,KAAoB;SAE1C,uCAAa,EACb,+BAAW,CACH;SAEV,IAAI,KAAK,GAAG,kBAAM,EAAE,CAAC;SAErB,aAAa,GAAG,aAAa,IAAI,uBAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;SAEjE,MAAM,CAAC,CACL,kCAAQ,aAAa,CAAS,CAC/B,CAAC;KACJ,CAAC;KAEO,mCAAiB,GAAzB,UAA0B,WAAmB;SAC3C,IAAI,KAAK,GAAG,oCAAoB,CAAC,IAAI,CAAC;SACtC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;aACjB,MAAM,CAAC,KAAK,CAAC;SACf,CAAC;SAED,IAAI,QAAQ,GAAG,CAAC,CAAC;SACjB,GAAG,CAAC,CAAC,IAAI,IAAI,GAAW,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;aAClE,IAAM,EAAE,GAAW,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aAChD,IAAM,KAAK,GAAW,IAAI,GAAG,CAAC,CAAC;aAC/B,sCAAsC;aACtC,QAAQ,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;SAClD,CAAC;SAED,KAAK,GAAG,qBAAqB,CAAC,QAAQ,GAAG,0BAA0B,CAAC,CAAC;SAErE,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KAGO,4CAA0B,GAAlC,UAAmC,SAAyB;SAC1D,IAAI,CAAC,QAAQ,CAAC;aACZ,aAAa,EAAE,SAAS,KAAK,sBAAc,CAAC,MAAM;UACnD,CAAC,CAAC;KACL,CAAC;KACH,cAAC;AAAD,EAAC,CA3K4B,yBAAa;AAC1B,qBAAY,GAAkB;KAC1C,WAAW,EAAE,EAAE;KACf,IAAI,EAAE,2BAAW,CAAC,OAAO;KACzB,QAAQ,EAAE,+BAAe,CAAC,IAAI;EAC/B,CAAC;AAqHF;KADC,oBAAQ;8CAOR;AAGD;KADC,oBAAQ;iDAcR;AAsBD;KADC,oBAAQ;0DAKR;AA1KU,2BAAO;;;;;;;;;;ACiEpB,KAAY,WASX;AATD,YAAY,WAAW;KACrB,6CAAQ;KACR,mEAAmB;KACnB,yDAAc;KACd,+CAAS;KACT,mDAAW;KACX,+CAAS;KACT,yDAAc;KACd,iDAAU;AACZ,EAAC,EATW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAStB;AAED,KAAY,eAQX;AARD,YAAY,eAAe;KACzB,qDAAQ;KACR,2DAAW;KACX,yDAAU;KACV,qDAAQ;KACR,mDAAO;KACP,2DAAW;KACX,qDAAQ;AACV,EAAC,EARW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAQ1B;AAED,KAAY,oBAgBX;AAhBD,YAAY,oBAAoB;KAC9B,yEAAa;KACb,+DAAQ;KACR,uEAAY;KACZ,+DAAQ;KACR,2EAAc;KACd,iEAAS;KACT,yEAAa;KACb,yEAAa;KACb,+DAAQ;KACR,qEAAW;KACX,oEAAW;KACX,kEAAU;KACV,oEAAW;KACX,8DAAQ;KACR,sEAAY;AACd,EAAC,EAhBW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAgB/B;;;;;;;;;;AC1JD,gDAIyB;AACzB,6CAA+C;AAC/C,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEpB,qBAAY;KACvB,GAAC,2BAAW,CAAC,IAAI,IAAG,mBAAmB,GAAG,MAAM,CAAC,UAAU;KAC3D,GAAC,2BAAW,CAAC,eAAe,IAAG,kBAAkB,GAAG,MAAM,CAAC,qBAAqB;KAChF,GAAC,2BAAW,CAAC,UAAU,IAAG,iBAAiB,GAAG,MAAM,CAAC,gBAAgB;KACrE,GAAC,2BAAW,CAAC,KAAK,IAAG,iBAAiB,GAAG,MAAM,CAAC,WAAW;KAC3D,GAAC,2BAAW,CAAC,OAAO,IAAG,EAAE;KACzB,GAAC,2BAAW,CAAC,KAAK,IAAG,iBAAiB,GAAG,MAAM,CAAC,WAAW;KAC3D,GAAC,2BAAW,CAAC,UAAU,IAAG,iBAAiB,GAAG,MAAM,CAAC,gBAAgB;KACrE,GAAC,2BAAW,CAAC,MAAM,IAAG,iBAAiB,GAAG,MAAM,CAAC,QAAQ;SACzD;AAEW,yBAAgB;KAC3B,GAAC,+BAAe,CAAC,OAAO,IAAG,sBAAsB,GAAG,MAAM,CAAC,aAAa;KACxE,GAAC,+BAAe,CAAC,MAAM,IAAG,qBAAqB;KAC/C,GAAC,+BAAe,CAAC,IAAI,IAAG,mBAAmB,GAAG,MAAM,CAAC,UAAU;KAC/D,GAAC,+BAAe,CAAC,GAAG,IAAG,kBAAkB,GAAG,MAAM,CAAC,kBAAkB;KACrE,GAAC,+BAAe,CAAC,OAAO,IAAG,sBAAsB,GAAG,MAAM,CAAC,aAAa;KACxE,GAAC,+BAAe,CAAC,IAAI,IAAG,mBAAmB,GAAG,MAAM,CAAC,UAAU;SAC/D;AAEW,+BAAsB;KACjC,GAAC,oCAAoB,CAAC,SAAS,IAAG,iCAAiC,GAAG,MAAM,CAAC,mBAAmB;KAChG,GAAC,oCAAoB,CAAC,IAAI,IAAG,4BAA4B,GAAG,MAAM,CAAC,cAAc;KACjF,GAAC,oCAAoB,CAAC,QAAQ,IAAG,gCAAgC,GAAG,MAAM,CAAC,kBAAkB;KAC7F,GAAC,oCAAoB,CAAC,IAAI,IAAG,4BAA4B,GAAG,MAAM,CAAC,cAAc;KACjF,GAAC,oCAAoB,CAAC,UAAU,IAAG,kCAAkC,GAAG,MAAM,CAAC,oBAAoB;KACnG,GAAC,oCAAoB,CAAC,KAAK,IAAG,6BAA6B,GAAG,MAAM,CAAC,eAAe;KACpF,GAAC,oCAAoB,CAAC,SAAS,IAAG,iCAAiC,GAAG,MAAM,CAAC,mBAAmB;KAChG,GAAC,oCAAoB,CAAC,SAAS,IAAG,iCAAiC,GAAG,MAAM,CAAC,mBAAmB;KAChG,GAAC,oCAAoB,CAAC,IAAI,IAAG,4BAA4B,GAAG,MAAM,CAAC,cAAc;KACjF,GAAC,oCAAoB,CAAC,OAAO,IAAG,+BAA+B,GAAG,MAAM,CAAC,iBAAiB;KAC1F,GAAC,oCAAoB,CAAC,MAAM,IAAG,8BAA8B,GAAG,MAAM,CAAC,gBAAgB;KACvF,GAAC,oCAAoB,CAAC,KAAK,IAAG,6BAA6B,GAAG,MAAM,CAAC,eAAe;KACpF,GAAC,oCAAoB,CAAC,MAAM,IAAG,8BAA8B,GAAG,MAAM,CAAC,eAAe;KACtF,GAAC,oCAAoB,CAAC,GAAG,IAAG,2BAA2B,GAAG,MAAM,CAAC,aAAa;KAC9E,GAAC,oCAAoB,CAAC,OAAO,IAAG,+BAA+B,GAAG,MAAM,CAAC,iBAAiB;SAC1F;;;;;;;;;;AC5CF,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,cAAc,EAAE,yBAAyB;KACzC,WAAW,EAAE,sBAAsB;KACnC,SAAS,EAAE,oBAAoB;KAC/B,KAAK,EAAE,gBAAgB;KACvB,WAAW,EAAE,sBAAsB;KACnC,QAAQ,EAAE,mBAAmB;KAC7B,mBAAmB,EAAE,8BAA8B;KACnD,cAAc,EAAE,yBAAyB;KACzC,kBAAkB,EAAE,6BAA6B;KACjD,cAAc,EAAE,yBAAyB;KACzC,oBAAoB,EAAE,+BAA+B;KACrD,eAAe,EAAE,0BAA0B;KAC3C,mBAAmB,EAAE,8BAA8B;KACnD,mBAAmB,EAAE,8BAA8B;KACnD,cAAc,EAAE,yBAAyB;KACzC,iBAAiB,EAAE,4BAA4B;KAC/C,gBAAgB,EAAE,2BAA2B;KAC7C,eAAe,EAAE,0BAA0B;KAC3C,gBAAgB,EAAE,2BAA2B;KAC7C,aAAa,EAAE,wBAAwB;KACvC,iBAAiB,EAAE,4BAA4B;KAC/C,QAAQ,EAAE,mBAAmB;KAC7B,YAAY,EAAE,uBAAuB;KACrC,OAAO,EAAE,kBAAkB;KAC3B,aAAa,EAAE,wBAAwB;KACvC,YAAY,EAAE,uBAAuB;KACrC,YAAY,EAAE,uBAAuB;KACrC,WAAW,EAAE,sBAAsB;KACnC,UAAU,EAAE,qBAAqB;KACjC,cAAc,EAAE,yBAAyB;KACzC,qBAAqB,EAAE,gCAAgC;KACvD,iBAAiB,EAAE,4BAA4B;KAC/C,QAAQ,EAAE,mBAAmB;KAC7B,gBAAgB,EAAE,2BAA2B;KAC7C,WAAW,EAAE,sBAAsB;KACnC,WAAW,EAAE,sBAAsB;KACnC,gBAAgB,EAAE,2BAA2B;KAC7C,cAAc,EAAE,yBAAyB;KACzC,gBAAgB,EAAE,2BAA2B;KAC7C,cAAc,EAAE,yBAAyB;KACzC,eAAe,EAAE,0BAA0B;KAC3C,UAAU,EAAE,qBAAqB;KACjC,aAAa,EAAE,wBAAwB;KACvC,UAAU,EAAE,qBAAqB;KACjC,kBAAkB,EAAE,6BAA6B;KACjD,aAAa,EAAE,wBAAwB;EACxC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,gFAAgF,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2TAA2T,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yPAAyP,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8FAA8F,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6EAA6E,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8FAA8F,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,miDAAmiD,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sOAAsO,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oBAAoB,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yFAAyF,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oBAAoB,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oDAAoD,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kJAAkJ,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yGAAyG,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gbAAgb,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8IAA8I,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,s0BAAs0B,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gIAAgI,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gnCAAgnC,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wyCAAwyC,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yjJAAyjJ,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oMAAoM,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qPAAqP,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8OAA8O,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iVAAiV,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gIAAgI,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qTAAqT,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,20BAA20B,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wUAAwU,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,u5BAAu5B,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,ikBAAikB,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yIAAyI,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wBAAwB,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,UAAU,EAAC,CAAC,CAAC,CAAC;AAFpzjB,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;;;;;;;;ACxDnB,oCAA+B;AAC/B,2CAAqD;AAErD,6CAAoD;AACpD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC;KAA0C,wCAA8C;KAAxF;;KASA,CAAC;KARQ,qCAAM,GAAb;SACM,mBAA2D,EAAzD,sBAAQ,EAAE,8BAAY,EAAE,wBAAS,EAAE,oBAAO,CAAgB;SAEhE,MAAM,CAAC,CACL,2BAAG,SAAS,EAAG,eAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,QAAQ,CAAC,EAC5D,IAAI,EAAG,YAAY,EAAG,OAAO,EAAG,OAAO,gBAAgB,SAAS,IAAK,QAAQ,CAAM,CACtF,CAAC;KACJ,CAAC;KACH,2BAAC;AAAD,EAAC,CATyC,yBAAa,GAStD;AATY,qDAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;ACNjC,oCAA+B;AAE/B,wCAAoC;AACpC,2CAIyB;AACzB,6CAAoD;AACpD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC,KAAM,eAAe,GAAG,CAAC,CAAC;AAE1B;KAAyC,uCAA6C;KAAtF;;KA6FA,CAAC;KA5FQ,oCAAM,GAAb;SACQ,4CAAa,CAAgB;SACnC,IAAI,KAAK,EAAE,OAAO,CAAC;SACnB,IAAI,UAAU,GAAG,KAAK,CAAC;SAEvB,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;aAC7B,yBAAyB;aACzB,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;aACjD,UAAU,GAAG,IAAI,CAAC;SACpB,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;aACtC,0BAA0B;aAC1B,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;aAErD,4DAA4D;aAC5D,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;iBACjC,KAAK,GAAG;qBACN,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW;kBAChD,CAAC;aACJ,CAAC;SACH,CAAC;SAED,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAG,KAAK,EAAG,KAAK,IACrI,OAAO,CACL,CACP,CAAC;KACJ,CAAC;KAEO,iDAAmB,GAA3B,UAA4B,YAAuC;SAC3D,8BAAK,EAAE,4BAAM,EAAE,gCAAQ,CAAkB;SAE/C,IAAI,KAAK,GAAG,CACV,oBAAC,aAAK,IACJ,KAAK,EAAG,KAAK,EACb,MAAM,EAAG,MAAM,EACf,QAAQ,EAAG,QAAQ,EACnB,GAAG,EAAG,YAAY,CAAC,eAAe,EAClC,IAAI,EAAC,cAAc,EAAC,GAAG,EAAC,EAAE,GAAG,CAChC,CAAC;SAEF,IAAI,IAAI,CAAC;SACT,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;aACzB,IAAI,GAAG,oBAAC,aAAK,IAAC,SAAS,EAAG,eAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,IAAI,CAAC,EAAG,GAAG,EAAG,YAAY,CAAC,OAAO,EAAG,IAAI,EAAC,cAAc,EAAC,GAAG,EAAC,EAAE,GAAG,CAAC;SACzI,CAAC;SAED,MAAM,CAAC,CACL;aACI,KAAK;aACL,IAAI,CACF,CACP,CAAC;KACJ,CAAC;KAGO,gDAAkB,GAA1B,UAA2B,aAA0C;SAC7D,0EAA4B,CAAgB;SAElD,mDAAmD;SACnD,IAAI,qBAAqB,GAAG,aAAa,CAAC,MAAM,GAAG,eAAe,CAAC;SAEnE,4EAA4E;SAC5E,IAAI,YAAY,GAAG,qBAAqB;aACtC,CAAC,4BAA4B;iBAC3B,4BAA4B,CAAC,qBAAqB,CAAC;iBACnD,GAAG,GAAG,qBAAqB,CAAC,GAAG,IAAI,CAAC;SAExC,kDAAkD;SAClD,IAAI,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,SAAS,IAAK,QACnF,4BAAI,GAAG,EAAG,SAAS;aACjB,oBAAC,aAAK,IACJ,SAAS,EAAG,eAAG,CAAC,qCAAqC,EAAE,MAAM,CAAC,YAAY,CAAC,EAC3E,GAAG,EAAG,IAAI,CAAC,OAAO,EAClB,IAAI,EAAC,cAAc,EACnB,GAAG,EAAC,EAAE,EACN,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,GAAG;aAClB,2BAAG,IAAI,EAAG,IAAI,CAAC,GAAG,IAAK,IAAI,CAAC,IAAI,CAAM,CACnC,CACN,EAXoF,CAWpF,CAAC,CAAC;SAEH,MAAM,CAAC,CACL;aACE,4BAAI,SAAS,EAAG,eAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,QAAQ,CAAC,IACnE,aAAa,CACZ;aACH,YAAY;iBACZ,8BAAM,SAAS,EAAG,eAAG,CAAC,qCAAqC,EAAE,MAAM,CAAC,YAAY,CAAC,IAAK,YAAY,CAAS,CAEzG,CACP,CAAC;KACJ,CAAC;KAEH,0BAAC;AAAD,EAAC,CA7FwC,yBAAa,GA6FrD;AAtCC;KADC,oBAAQ;8DAqCR;AA3FU,mDAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;ACbhC,wCAAuC;AACvC,oCAA+B;AAC/B,uCAAsC;AAEtC,2CAIyB;AAEzB,6CAAoD;AACpD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAOjC,KAAM,oBAAoB,GAAG,UAAU,CAAC;AACxC,KAAM,yBAAyB,GAAG,EAAE,CAAC,CAAC,yEAAyE;AAC/G,KAAM,yBAAyB,GAAG,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC;AACnE,KAAM,gCAAgC,GAAG,EAAE,CAAC;AAC5C,KAAM,sCAAsC,GAAG,CAAC,CAAC;AAEjD;KAAuC,qCAA+D;KAMpG,2BAAY,KAA8B;SAA1C,YACE,kBAAM,KAAK,CAAC,SAMb;SAJC,KAAI,CAAC,KAAK,GAAG;aACX,wBAAwB,EAAE,EAAE;aAC5B,yBAAyB,EAAE,EAAE;UAC9B,CAAC;;KACJ,CAAC;KAEM,6CAAiB,GAAxB;SACM,mBAAsC,EAApC,gBAAK,EAAE,kCAAc,CAAgB;SAC3C,EAAE,CAAC,CAAC,cAAc,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,yBAAyB,CAAC,CAAC,CAAC;aACxE,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;iBAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACpC,CAAC;aACD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;SAC5D,CAAC;KACH,CAAC;KAEM,qDAAyB,GAAhC,UAAiC,QAAiC;SAChE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;SACnC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAE1B,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,yBAAyB,CAAC,CAAC,CAAC;aACnG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;aAChC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;SAC5D,CAAC;KACH,CAAC;KAEM,8CAAkB,GAAzB;SACE,gDAAgD;SAChD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;aAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;SACtB,CAAC;KACH,CAAC;KAEM,kCAAM,GAAb;SACM,mBAAsC,EAApC,gBAAK,EAAE,kCAAc,CAAgB;SACvC,mBAAoE,EAAlE,sDAAwB,EAAE,wDAAyB,CAAgB;SAEzE,IAAI,iBAAiB,CAAC;SACtB,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;aACxC,iBAAiB,GAAG,CAClB,6BAAK,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,EAAG,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAG,KAAK,EAAG,KAAK;iBAAK,wBAAwB;;iBAAY,yBAAyB,CAAQ,CAC/L,CAAC;SACJ,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,iBAAiB,GAAG,CAClB,6BAAK,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,EAAG,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAG,KAAK,EAAG,KAAK,IAAK,KAAK,CAAQ,CACvI,CAAC;SACJ,CAAC;SAED,MAAM,CAAC,iBAAiB,CAAC;KAC3B,CAAC;KAGO,4CAAgB,GAAxB,UAAyB,KAA8B;SACrD,IAAI,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;SAChC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAE1B,+DAA+D;SAC/D,EAAE,CAAC,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,IAAI,yBAAyB,CAAC,CAAC,CAAC;aAEvE,oDAAoD;aACpD,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,yBAAyB,CAAC,CAAC,CAAC;iBACrD,qHAAqH;iBACrH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;iBACzB,IAAI,CAAC,QAAQ,CAAC;qBACZ,wBAAwB,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,GAAG,CAAC,GAAG,gCAAgC,CAAC;qBAClH,yBAAyB,EAAE,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,yBAAyB,GAAG,CAAC,GAAG,gCAAgC,CAAC,CAAC;kBAC1I,CAAC,CAAC;aACL,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,kEAAkE;iBAClE,IAAI,CAAC,QAAQ,CAAC;qBACZ,wBAAwB,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,gCAAgC,CAAC;qBACxH,yBAAyB,EAAE,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,gCAAgC,CAAC;kBAC/I,CAAC,CAAC;aACL,CAAC;SACH,CAAC;SAED,0GAA0G;SAC1G,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;KAE/D,CAAC;KAEO,wCAAY,GAApB;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;aAC1B,mBAAoE,EAAlE,sDAAwB,EAAE,wDAAyB,CAAgB;aACzE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAEzB,EAAE,CAAC,CAAC,CAAC,wBAAwB,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;iBAC5D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACpC,CAAC;aAED,IAAI,CAAC,QAAQ,CAAC;iBACZ,wBAAwB,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC;iBAChG,yBAAyB,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC;cAC9D,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAEO,8CAAkB,GAA1B;SACE,IAAI,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;SACtC,MAAM,CAAC,YAAY,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,GAAG,sCAAsC,IAAI,YAAY,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;KAC/J,CAAC;KAEO,6CAAiB,GAAzB;SACE,0FAA0F;SAC1F,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,KAAK,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;aACnE,uEAAuE;aACvE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;SAClG,CAAC;KACH,CAAC;KAEH,wBAAC;AAAD,EAAC,CAxHsC,yBAAa,GAwHnD;AA3DC;KADC,oBAAQ;0DA4BR;AAxFU,+CAAiB;;;;;;;;;;;;;ACxB9B,oCAA4C;;;;;;;;;;;;;ACA5C,oCAA2B;AAC3B,oCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDjC,oCAA+B;AAC/B,iDAAyF;AACzF,iDAA+D;AAC/D,yCAAwC;AACxC,wCAAoC;AACpC,yCAA6C;AAC7C,wCAAoC;AACpC,uCAAkC;AAClC,2CAAgE;AAChE,qDAAmG;AAEnG,2CAOyB;AACzB,6CAAgD;AAChD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAajC,KAAa,QAAQ;KAAS,4BAAqD;KAmBjF,kBAAY,KAAsB;SAAlC,YACE,kBAAM,KAAK,CAAC,SAkBb;SAhBC,KAAI,CAAC,iBAAiB,CAAC;aACrB,YAAY,EAAE,UAAU;UACzB,CAAC,CAAC;SAEH,KAAI,CAAC,sBAAsB,CAAC;aAC1B,oBAAoB,EAAE,aAAa;UACpC,CAAC,CAAC;SAEH,KAAI,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,iBAAK,CAAC,UAAU,CAAC,CAAC;SAEzC,IAAI,WAAW,GAAG,KAAK,CAAC,kBAAkB,KAAK,SAAS,GAAG,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAC;SAExG,KAAI,CAAC,KAAK,GAAG;aACX,MAAM,EAAE,KAAK;aACb,aAAa,EAAE,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC;UAClE,CAAC;;KACJ,CAAC;KAEM,4CAAyB,GAAhC,UAAiC,QAAwB;SACvD,wFAAwF;SACxF,sCAAsC;SACtC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS;aACpC,CAAC,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAC/F,IAAI,CAAC,QAAQ,CAAC;iBACZ,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC;cAC9E,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAEM,qCAAkB,GAAzB,UAA0B,SAAyB,EAAE,SAAyB;SAC5E,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC;aAC7D,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SACzB,CAAC;KACH,CAAC;KAED,iBAAiB;KACV,yBAAM,GAAb;SACE,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;SACd,mBAWU,EAVZ,wBAAS,EACT,gBAAK,EACL,oBAAO,EACP,sBAAQ,EACR,0BAAU,EACV,wBAAS,EACT,sBAAQ,EACR,8BAAY,EACZ,qBAAmC,EAAnC,wDAAmC,EACnC,yBAA2C,EAA3C,gEAA2C,CAC9B;SACX,mBAAsC,EAApC,kBAAM,EAAE,gCAAa,CAAgB;SAC3C,IAAI,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;SAE5C,8CAA8C;SAC9C,EAAE,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;aAC7B,QAAQ,GAAG,UAAU,CAAC;SACxB,CAAC;SAED,MAAM,CAAC,CACL,6BAAK,GAAG,EAAC,MAAM,EAAC,SAAS,EAAG,eAAG,CAAC,uBAAuB,CAAC;aACpD,KAAK,IAAI,CACT,oBAAC,aAAK,IAAC,SAAS,EAAG,eAAG,CAAC,mBAAmB,CAAC,EAAG,EAAE,EAAG,EAAE,GAAG,QAAQ,EAAG,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAG,QAAQ,EAAG,QAAQ,IAAK,KAAK,CAAU,CACtJ;aACD,kDACsB,CAAC,QAAQ,EAC7B,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EACnC,EAAE,EAAG,EAAE,EACP,SAAS,EAAG,eAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS;yBACnD,SAAS,EAAE,MAAM;;qBACjB,GAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAG,QAAQ;qBAClD,kBAAc,GAAE,QAAQ;yBACxB,EACF,QAAQ,EAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,EAC5B,SAAS,EAAG,IAAI,CAAC,kBAAkB,EACnC,OAAO,EAAG,IAAI,CAAC,gBAAgB,EAC/B,OAAO,EAAG,IAAI,CAAC,gBAAgB,mBACf,MAAM,GAAG,MAAM,GAAG,OAAO,EACzC,IAAI,EAAC,UAAU,mBACC,IAAI,eACR,QAAQ,IAAI,MAAM,GAAG,KAAK,GAAG,WAAW,gBACvC,SAAS,IAAI,KAAK,sBACZ,EAAE,GAAG,SAAS,2BACT,MAAM,IAAI,aAAa,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,GAAG,aAAa,CAAC,GAAG,IAAI,mBAClF,QAAQ,eACZ,EAAE,GAAG,OAAO;iBAExB,8BACE,EAAE,EAAG,EAAE,GAAG,SAAS,EACnB,SAAS,EAAG,eAAG,CACb,mBAAmB,EAAE,MAAM,CAAC,KAAK,EACjC,CAAC,cAAc,IAAI,MAAM,CAAC,kBAAkB,EAC5C,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,EAEzE,GAAG,EAAG,aAAa,iBACL,IAAI,IAEhB,4EAA4E;iBAC5E,cAAc,GAAG,CACf,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CACnD;qBACC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAEpC;iBACP,oBAAC,WAAI,IAAC,SAAS,EAAG,eAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,SAAS,CAAC,EAAG,QAAQ,EAAC,aAAa,GAAG,CACxF;aACJ,MAAM,IAAI,CACV,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,CACvD;aAEC,YAAY;iBACZ,6BACE,SAAS,EAAG,eAAG,CAAC,MAAM,CAAC,YAAY,CAAC,IAClC,YAAY,CACV,CAEJ,CACP,CAAC;;KACJ,CAAC;KAEM,wBAAK,GAAZ;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACrD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SACzB,CAAC;KACH,CAAC;KAEM,mCAAgB,GAAvB,UAAwB,KAAa;SAC/B,mBAAmC,EAAjC,wBAAS,EAAE,oBAAO,CAAgB;SAClC,4CAAa,CAAgB;SAEnC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;SAEzD,EAAE,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC;aAC5B,2BAA2B;aAC3B,IAAI,CAAC,QAAQ,CAAC;iBACZ,aAAa,EAAE,KAAK;cACrB,CAAC,CAAC;aAEH,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;iBACd,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;aACnC,CAAC;SACH,CAAC;KACH,CAAC;KAED,gCAAgC;KAExB,iCAAc,GAAtB,UAAuB,IAAqB;SAC1C,MAAM,CAAC,kCAAQ,IAAI,CAAC,IAAI,CAAS,CAAC;KACpC,CAAC;KAED,4CAA4C;KAEpC,uCAAoB,GAA5B,UAA6B,KAAK;SAChC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;aACvB,MAAM,CAAC,IAAI,CAAC;SACd,CAAC;SACD,MAAM,CAAC,kCAAQ,KAAK,CAAC,WAAW,CAAS,CAAC;KAC5C,CAAC;KAED,qDAAqD;KAE7C,qCAAkB,GAA1B,UAA2B,KAAqB;SAC1C,mBAIU,EAHZ,oBAAiC,EAAjC,sDAAiC,EACjC,kCAAc,EACd,8BAAY,CACC;SAEf,IAAI,OAAO,GAAG,cAAc,IAAI,mCAAc,CAAC,MAAM,CAAC;SAEtD,MAAM,CAAC,CACL,OAAO;aACL,oBAAC,aAAK,IACJ,SAAS,EAAG,eAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,EAClD,MAAM,EAAG,IAAI,EACb,cAAc,EAAG,IAAI,EACrB,WAAW,EAAG,IAAI,CAAC,UAAU,EAC7B,cAAc,EAAG,KAAK,IAEpB,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CACnC;;iBAER,oBAAC,iBAAO,aACN,aAAa,EAAG,KAAK,EACrB,QAAQ,EAAG,CAAC,EACZ,UAAU,EAAG,KAAK,EAClB,eAAe,EAAG,iCAAe,CAAC,cAAc,IAC3C,YAAY,IACjB,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC,EACzG,aAAa,EAAG,IAAI,CAAC,SAAS,EAC9B,SAAS,EAAG,IAAI,CAAC,UAAU,EAC3B,YAAY,EAAG,IAAI,CAAC,aAAa;qBAEjC,6BAAK,KAAK,EAAG,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,EAAE,IAClD,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CACrC,CACE,CACb,CAAC;KACJ,CAAC;KAED,uBAAuB;KAEf,gCAAa,GAArB,UAAsB,KAAqB;SAD3C,iBAuBC;SApBG,gCAAiC,EAAjC,sDAAiC,CACpB;SAEf,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;SACZ,4CAAa,CAAgB;SAEnC,MAAM,CAAC,CACL,oBAAC,qBAAS,IACR,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EACpC,SAAS,EAAG,8BAAkB,CAAC,QAAQ,EACvC,oBAAoB,EAAG,GAAG,GAAG,EAAE,GAAG,OAAO,GAAG,aAAa,EACzD,EAAE,EAAG,EAAE,GAAG,OAAO,EACjB,SAAS,EAAG,eAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,qBAChC,EAAE,GAAG,QAAQ,EAC/B,SAAS,EAAG,IAAI,CAAC,cAAc,EAC/B,IAAI,EAAC,SAAS,IAEZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,mBAAY,cAAM,IAAI,IAAE,KAAK,YAAI,KAAI,CAAC,aAAa,CAAC,EAApD,CAAoD,CAAC,CACrF,CACb,CAAC;KACJ,CAAC;KAED,eAAe;KAEP,gCAAa,GAArB,UAAsB,IAAqB;SACzC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;aACtB,KAAK,qCAAoB,CAAC,OAAO;iBAC/B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;aACrC,KAAK,qCAAoB,CAAC,MAAM;iBAC9B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aAClC;iBACE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACpC,CAAC;KACH,CAAC;KAED,mBAAmB;KACX,mCAAgB,GAAxB,UAAyB,IAAqB;SACtC,sBAAK,EAAE,cAAG,CAAU;SAC1B,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;aACd,MAAM,CAAC,6BACL,IAAI,EAAC,WAAW,EAChB,GAAG,EAAG,GAAG,EACT,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,OAAO,CAAC,GAAK,CAAC;SAChE,CAAC;SACD,MAAM,CAAC,IAAI,CAAC;KACd,CAAC;KAEO,gCAAa,GAArB,UAAsB,IAAqB;SACnC,kCAAqC,EAArC,0DAAqC,CAAgB;SAC3D,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,IACrD,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,CACxC,CAAC,CAAC;KACZ,CAAC;KAED,mBAAmB;KAEX,gCAAa,GAArB,UAAsB,IAAqB;SAD3C,iBAwBC;SAtBO,kCAAqC,EAArC,0DAAqC,CAAgB;SAC3D,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;SAClB,MAAM,CAAC,CACL,oBAAC,sBAAa,IACZ,EAAE,EAAG,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,EAC9B,GAAG,EAAG,UAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,EAClC,GAAG,EAAG,IAAI,CAAC,GAAG,gBACD,IAAI,CAAC,KAAK,uBACH,IAAI,EACxB,SAAS,EAAG,eAAG,CACb,kBAAkB,EAAE,MAAM,CAAC,IAAI;iBAC7B,GAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAG,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,KAAK;iBACjF,GAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI;qBAEzE,EACD,OAAO,EAAG,cAAM,YAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAA7B,CAA6B,EAC7C,IAAI,EAAC,QAAQ,mBACG,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,KAAK,GAAG,MAAM,GAAG,OAAO,EAC1E,SAAS,EAAG,IAAI,CAAC,IAAI,EACrB,KAAK,EAAG,IAAI,CAAC,IAAI;;aACf,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,CAAkB,CACjE,CAAC;;KACJ,CAAC;KAED,2DAA2D;KAEnD,kCAAe,GAAvB,UAAwB,IAAqB;SAC3C,MAAM,CAAC,8BAAM,SAAS,EAAG,eAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAK,IAAI,CAAC,IAAI,CAAS,CAAC;KACnG,CAAC;KAGO,gCAAa,GAArB;SACE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;KAC1B,CAAC;KAEO,+BAAY,GAApB,UAAqB,KAAK;SACxB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC7B,IAAI,CAAC,QAAQ,CAAC;aACZ,MAAM,EAAE,KAAK;UACd,CAAC,CAAC;KACL,CAAC;KAGO,6BAAU,GAAlB;SACE,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;SACjC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;KACzB,CAAC;KAEO,oCAAiB,GAAzB,UAA0B,OAA0B,EAAE,WAA4B;SAChF,MAAM,CAAC,qBAAS,CAAC,OAAO,EAAE,CAAC,gBAAM,IAAI,QAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,WAAW,CAAC,EAA7F,CAA6F,CAAC,CAAC,CAAC;KACvI,CAAC;KAGO,qCAAkB,GAA1B,UAA2B,EAAoC;SAC7D,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;aACjB,KAAK,oBAAQ,CAAC,KAAK;iBACjB,IAAI,CAAC,QAAQ,CAAC;qBACZ,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;kBAC3B,CAAC,CAAC;iBACH,KAAK,CAAC;aAER,KAAK,oBAAQ,CAAC,MAAM;iBAClB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;qBACvB,MAAM,CAAC;iBACT,CAAC;iBAED,IAAI,CAAC,QAAQ,CAAC;qBACZ,MAAM,EAAE,KAAK;kBACd,CAAC,CAAC;iBACH,KAAK,CAAC;aAER,KAAK,oBAAQ,CAAC,EAAE;iBACd,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;iBACpD,KAAK,CAAC;aAER,KAAK,oBAAQ,CAAC,IAAI;iBAChB,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;qBAC5B,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBAClC,CAAC;iBAAC,IAAI,CAAC,CAAC;qBACN,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;iBACtD,CAAC;iBACD,KAAK,CAAC;aAER,KAAK,oBAAQ,CAAC,IAAI;iBAChB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;iBACzB,KAAK,CAAC;aAER,KAAK,oBAAQ,CAAC,GAAG;iBACf,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;iBACrD,KAAK,CAAC;aAER,KAAK,oBAAQ,CAAC,KAAK;iBACjB,oCAAoC;iBACpC,KAAK,CAAC;aAER;iBACE,MAAM,CAAC;SACX,CAAC;SAED,EAAE,CAAC,eAAe,EAAE,CAAC;SACrB,EAAE,CAAC,cAAc,EAAE,CAAC;KACtB,CAAC;KAGO,mCAAgB,GAAxB,UAAyB,EAAoC;SAC3D,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;aACjB,KAAK,oBAAQ,CAAC,KAAK;iBACjB,IAAI,CAAC,QAAQ,CAAC;qBACZ,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;kBAC3B,CAAC,CAAC;iBACH,KAAK,CAAC;aAER;iBACE,MAAM,CAAC;SACX,CAAC;SAED,EAAE,CAAC,eAAe,EAAE,CAAC;SACrB,EAAE,CAAC,cAAc,EAAE,CAAC;KACtB,CAAC;KAGO,iCAAc,GAAtB,UAAuB,EAAoC;SACzD,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;aAEjB,KAAK,oBAAQ,CAAC,EAAE;iBACd,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;qBAC5B,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;qBACjC,KAAK,CAAC;iBACR,CAAC;iBAED,MAAM,CAAC;aAET,KAAK,oBAAQ,CAAC,MAAM;iBAClB,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;iBACjC,KAAK,CAAC;aAER,KAAK,oBAAQ,CAAC,GAAG;iBACf,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;iBACjC,MAAM,CAAC;aAET;iBACE,MAAM,CAAC;SACX,CAAC;SAED,EAAE,CAAC,eAAe,EAAE,CAAC;SACrB,EAAE,CAAC,cAAc,EAAE,CAAC;KACtB,CAAC;KAGO,mCAAgB,GAAxB;SACM,mBAAqC,EAAnC,sBAAQ,EAAE,0BAAU,CAAgB;SACpC,8BAAM,CAAgB;SAE5B,8CAA8C;SAC9C,EAAE,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;aAC7B,QAAQ,GAAG,UAAU,CAAC;SACxB,CAAC;SAED,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;aACd,IAAI,CAAC,QAAQ,CAAC;iBACZ,MAAM,EAAE,CAAC,MAAM;cAChB,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAEH,eAAC;AAAD,EAAC,CAhc6B,yBAAa,GAgc1C;AA9be,sBAAY,GAAG;KAC3B,OAAO,EAAE,EAAE;EACZ,CAAC;AAEa,gBAAM,GAAW,QAAQ,CAAC;AAiKzC;KADC,oBAAQ;+CAGR;AAID;KADC,oBAAQ;qDAMR;AAID;KADC,oBAAQ;mDAsCR;AAID;KADC,oBAAQ;8CAuBR;AAID;KADC,oBAAQ;8CAUR;AAwBD;KADC,oBAAQ;8CAwBR;AAID;KADC,oBAAQ;gDAGR;AAGD;KADC,oBAAQ;8CAGR;AAUD;KADC,oBAAQ;2CAIR;AAOD;KADC,oBAAQ;mDAiDR;AAGD;KADC,oBAAQ;iDAeR;AAGD;KADC,oBAAQ;+CA0BR;AAGD;KADC,oBAAQ;iDAeR;AA9bU,SAAQ;KADpB,uCAAkB;IACN,QAAQ,CAgcpB;AAhcY,6BAAQ;;;;;;;;;;;AC5BrB,KAAY,oBAIX;AAJD,YAAY,oBAAoB;KAC9B,mEAAU;KACV,qEAAW;KACX,mEAAU;AACZ,EAAC,EAJW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAI/B;;;;;;;;;;;;;ACTD,oCAAyC;;;;;;;;;;;;;ACAzC,oCAAwB;AACxB,oCAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACD9B,wCAAuC;AACvC,oCAA+B;AAC/B,uCAAsC;AAEtC,2CAMyB;AACzB,wCAAuD;AACvD,8CAA+D;AAC/D,wCAAuC;AACvC,0CAAwC;AACxC,uCAAoC;AACpC,yCAA0C;AAC1C,yCAAoD;AACpD,6CAA6C;AAC7C,KAAM,MAAM,GAAQ,YAAY,CAAC;AASjC;KAA2B,yBAAuC;KAWhE,eAAY,KAAkB;SAA9B,YACE,kBAAM,KAAK,CAAC,SAQb;SANC,KAAI,CAAC,KAAK,GAAG;aACX,cAAc,EAAE,KAAK;aACrB,MAAM,EAAE,KAAK;aACb,WAAW,EAAE,KAAK;aAClB,EAAE,EAAE,iBAAK,CAAC,OAAO,CAAC;UACnB,CAAC;;KACJ,CAAC;KAEM,iCAAiB,GAAxB;SACE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;SAE9D,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aACtB,IAAI,CAAC,IAAI,EAAE,CAAC;SACd,CAAC;KACH,CAAC;KAEM,yCAAyB,GAAhC,UAAiC,QAAqB;SACpD,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aAC1C,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;iBACpB,IAAI,CAAC,IAAI,EAAE,CAAC;aACd,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,IAAI,CAAC,OAAO,EAAE,CAAC;aACjB,CAAC;SACH,CAAC;KACH,CAAC;KAEM,sBAAM,GAAb;SACM,mBAmBU,EAlBZ,sBAAQ,EACR,iBAAc,EAAd,mCAAc,EACd,8CAAoB,EACpB,oDAAuB,EACvB,kDAAsB,EACtB,8CAAoB,EACpB,kCAAc,EACd,0BAAU,EACV,kDAAsB,EACtB,0BAAU,EACV,kCAAc,EACd,0BAAU,EACV,cAAI,EACJ,4BAAW,EACX,0BAA6C,EAA7C,kEAA6C,EAC7C,sBAAqC,EAArC,0DAAqC,EACrC,oBAAiC,EAAjC,sDAAiC,EACjC,sBAAqC,EAArC,0DAAqC,CACxB;SACX,mBAAwD,EAAtD,kBAAM,EAAE,4BAAW,EAAE,UAAE,EAAE,kCAAc,CAAgB;SAC7D,IAAI,MAAM,GAAG,IAAI,KAAK,uBAAS,CAAC,cAAc,GAAG,IAAI,GAAG,KAAK,CAAC;SAC9D,IAAI,KAAK,GAAG,kBAAM,EAAE,CAAC;SACrB,IAAI,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC;SAC7C,IAAM,YAAY,GAAG,EAAE,GAAG,aAAa,CAAC;SACxC,IAAM,iBAAiB,GAAG,CAAC,IAAI,KAAK,uBAAS,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;SAEpF,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aAC5B,MAAM,CAAC,IAAI,CAAC;SACd,CAAC;SAED,IAAI,OAAO,CAAC;SACZ,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;aACf,OAAO,GAAG,CACR,oBAAC,iBAAO,IACN,SAAS,EAAG,eAAG,CACb,MAAM,CAAC,OAAO,EACd,MAAM,IAAI,WAAW,IAAI,6BAAmB,CAAC,SAAS,EACtD,CAAC,MAAM,IAAI,WAAW,IAAI,6BAAmB,CAAC,UAAU,CACzD,EACD,YAAY,EAAG,KAAK,EACpB,OAAO,EAAG,cAAc,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,GACpD,CACH,CAAC;SACJ,CAAC;SAED,MAAM,CAAC,CACL,oBAAC,aAAK,eAAM,UAAU;aACpB,oBAAC,aAAK,IACJ,IAAI,EAAC,QAAQ,EACb,cAAc,EAAG,UAAU,IAAI,YAAY,EAC3C,SAAS,EAAG,IAAI,CAAC,OAAO;iBACxB,6BACE,SAAS,EACP,eAAG,CACD,UAAU,EACV,MAAM,CAAC,IAAI,EACX,SAAS;qBACT,wEAAwE;qBACxE,MAAM,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,EAC1C,IAAI,KAAK,uBAAS,CAAC,UAAU,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,gBAAgB,CAAC,EACjF,IAAI,KAAK,uBAAS,CAAC,cAAc,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,eAAe,CAAC,EACnF,IAAI,KAAK,uBAAS,CAAC,aAAa,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,EAC1E,IAAI,KAAK,uBAAS,CAAC,MAAM,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,EACpE,IAAI,KAAK,uBAAS,CAAC,KAAK,IAAI,IAAI,KAAK,uBAAS,CAAC,UAAU,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,EACnG,IAAI,KAAK,uBAAS,CAAC,UAAU,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAAC,EAC1E,IAAI,KAAK,uBAAS,CAAC,UAAU,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,EACxE,IAAI,KAAK,uBAAS,CAAC,MAAM,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,YAAY,CAAC,EACxE,cAAc,IAAI,CAAC,2BAA2B,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAC5E;qBAGD,OAAO;qBACT,oBAAC,qBAAa,IACZ,SAAS,EACP,eAAG,CACD,eAAe,EACf,MAAM,CAAC,IAAI,EACX,MAAM,IAAI,WAAW,IAAI,CAAC,aAAa,IAAI,6BAAmB,CAAC,cAAc,EAC7E,MAAM,IAAI,WAAW,IAAI,aAAa,IAAI,6BAAmB,CAAC,aAAa,EAC3E,CAAC,MAAM,IAAI,WAAW,IAAI,CAAC,aAAa,IAAI,6BAAmB,CAAC,cAAc,EAC9E,CAAC,MAAM,IAAI,WAAW,IAAI,aAAa,IAAI,6BAAmB,CAAC,eAAe,CAC/E,EACH,KAAK,EAAG,iBAAiB,EACzB,uBAAuB,EAAG,uBAAuB,EACjD,2BAA2B,EAAG,cAAc,EAC5C,sBAAsB,EAAG,sBAAsB,EAC/C,oBAAoB,EAAG,oBAAoB,EAC3C,sBAAsB,EAAG,sBAAsB;yBAE/C,6BAAK,SAAS,EAAG,eAAG,CAAC,mBAAmB,CAAC,qBAAqB,IAAI,IAC9D,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,CACtD;yBACN,6BAAK,SAAS,EAAG,eAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,YAAY,CAAC;6BAC9D,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC;6BAChD,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC;6BAC5C,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAC9C,CACQ,CACZ,CACA,CACF,CACT,CAAC;KACJ,CAAC;KAEM,oBAAI,GAAX;SAAA,iBASC;SARC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aACvB,IAAI,CAAC,QAAQ,CAAC;iBACZ,MAAM,EAAE,IAAI;iBACZ,WAAW,EAAE,IAAI;cAClB,EAAE;iBACD,KAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAI,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;aAC1D,CAAC,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAGM,uBAAO,GAAd;SADA,iBAcC;SAZC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aACtB,IAAI,CAAC,QAAQ,CAAC;iBACZ,MAAM,EAAE,KAAK;iBACb,WAAW,EAAE,IAAI;cAClB,EAAE;iBACD,KAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAI,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;aAC1D,CAAC,CAAC,CAAC;aAEH,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;iBACzB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;aACzB,CAAC;SACH,CAAC;KACH,CAAC;KAGO,mCAAmB,GAA3B,UAA4B,KAAK;SAE7B,qDAAoB,EACpB,qCAAc,CACN;SACV,MAAM,CAAC,CACL,cAAc;aACd,oBAAC,mBAAU,IACT,SAAS,EAAG,eAAG,CAAC,2CAA2C,EAAE,MAAM,CAAC,WAAW,CAAC,EAChF,OAAO,EAAG,IAAI,CAAC,aAAa,EAC5B,SAAS,EAAG,oBAAoB,qBACd,IAAI,EACtB,SAAS,EAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAClC,CACH,CAAC;KACJ,CAAC;KAGO,+BAAe,GAAvB,UAAwB,KAAK;SAEzB,iCAAU,EACV,iCAAY,EACZ,0BAAoB,EAApB,yCAAoB,CACZ;SACV,MAAM,CAAC,CACL,UAAU;aACV,6BAAK,SAAS,EAAG,eAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC;iBACpD,2BAAG,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,EAAG,EAAE,EAAG,YAAY,EAAG,IAAI,EAAC,SAAS,IAC9G,UAAU,CACV,CACA,CACP,CAAC;KACJ,CAAC;KAGO,6BAAa,GAArB,UAAsB,KAAK;SACzB,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC,EAAG,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IACzF,KAAK,CAAC,QAAQ,CACZ,CACP,CAAC;KACJ,CAAC;KAGO,+BAAe,GAAvB,UAAwB,KAAK;SACrB,8CAAc,CAAgB;SAC9B,yCAA4B,EAA5B,iDAA4B,CAAgB;SAClD,MAAM,CAAC,CACL,qBAAqB,IAAI,IAAI;aAC7B,6BAAK,SAAS,EAAG,eAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC;iBAC7F,6BAAK,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,WAAW,CAAC,IAC5D,qBAAqB,EAAE,CACrB,CACF,CACP,CAAC;KACJ,CAAC;KAEO,qCAAqB,GAA7B;SACE,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;SAC7B,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;aACb,IAAI,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC;aACnC,IAAI,aAAW,GAAG,QAAQ,CAAC,YAAY,CAAC;aAExC,IAAI,CAAC,QAAQ,CAAC;iBACZ,cAAc,EAAE,MAAM,GAAG,aAAW,GAAG,IAAI,GAAG,KAAK;cACpD,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAGO,6BAAa,GAArB;SACE,IAAI,CAAC,OAAO,EAAE,CAAC;KACjB,CAAC;KAGO,qCAAqB,GAA7B;SACE,IAAI,CAAC,QAAQ,CAAC;aACZ,WAAW,EAAE,KAAK;UACnB,CAAC,CAAC;SAEH,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;aACjD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;SAC3B,CAAC;KACH,CAAC;KACH,YAAC;AAAD,EAAC,CAlQ0B,yBAAa;AAExB,mBAAY,GAAgB;KACxC,MAAM,EAAE,KAAK;KACb,UAAU,EAAE,IAAI;KAChB,cAAc,EAAE,IAAI;KACpB,IAAI,EAAE,uBAAS,CAAC,aAAa;EAC9B,CAAC;AAuJF;KADC,oBAAQ;qCAcR;AAGD;KADC,oBAAQ;iDAgBR;AAGD;KADC,oBAAQ;6CAeR;AAGD;KADC,oBAAQ;2CAOR;AAGD;KADC,oBAAQ;6CAYR;AAeD;KADC,oBAAQ;2CAGR;AAGD;KADC,oBAAQ;mDASR;AAjQU,uBAAK;;;;;;;;;;ACmHlB,KAAY,SAoFX;AApFD,YAAY,SAAS;KACnB;;;;;;;;QAQG;KACH,qDAAc;KAEd;;;;;;;QAOG;KACH,2DAAiB;KAEjB;;;;;;;QAOG;KACH,6DAAkB;KAElB;;;;;;;QAOG;KACH,6CAAU;KAEV;;;;;;;;QAQG;KACH,2CAAS;KAET;;;;;;;;QAQG;KACH,qDAAc;KAEd;;;;;;;;QAQG;KACH,qDAAc;KAEd;;;;;;;QAOG;KACH,6CAAU;AACZ,EAAC,EApFW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAoFpB;;;;;;;;;ACnOD,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,OAAO,EAAE,kBAAkB;KAC3B,IAAI,EAAE,eAAe;KACrB,WAAW,EAAE,sBAAsB;KACnC,eAAe,EAAE,0BAA0B;KAC3C,gBAAgB,EAAE,2BAA2B;KAC7C,YAAY,EAAE,uBAAuB;KACrC,WAAW,EAAE,sBAAsB;KACnC,YAAY,EAAE,uBAAuB;KACrC,YAAY,EAAE,uBAAuB;KACrC,WAAW,EAAE,sBAAsB;KACnC,UAAU,EAAE,qBAAqB;KACjC,WAAW,EAAE,sBAAsB;KACnC,YAAY,EAAE,uBAAuB;KACrC,kBAAkB,EAAE,6BAA6B;KACjD,MAAM,EAAE,iBAAiB;KACzB,OAAO,EAAE,kBAAkB;KAC3B,WAAW,EAAE,sBAAsB;KACnC,MAAM,EAAE,iBAAiB;KACzB,cAAc,EAAE,yBAAyB;KACzC,UAAU,EAAE,qBAAqB;EAClC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,qPAAqP,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iPAAiP,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0BAA0B,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,m7FAAm7F,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uIAAuI,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,upCAAupC,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oBAAoB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6DAA6D,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6BAA6B,EAAC,CAAC,CAAC,CAAC;AAF91K,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;AC9BnB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,KAAK,EAAE,gBAAgB;KACvB,SAAS,EAAE,oBAAoB;KAC/B,kBAAkB,EAAE,6BAA6B;KACjD,cAAc,EAAE,yBAAyB;KACzC,YAAY,EAAE,uBAAuB;KACrC,KAAK,EAAE,gBAAgB;KACvB,OAAO,EAAE,kBAAkB;KAC3B,YAAY,EAAE,uBAAuB;KACrC,KAAK,EAAE,gBAAgB;KACvB,IAAI,EAAE,eAAe;KACrB,cAAc,EAAE,yBAAyB;KACzC,cAAc,EAAE,yBAAyB;KACzC,MAAM,EAAE,iBAAiB;KACzB,OAAO,EAAE,kBAAkB;KAC3B,UAAU,EAAE,qBAAqB;EAClC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,+GAA+G,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yXAAyX,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wvBAAwvB,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2FAA2F,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yVAAyV,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mWAAmW,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gBAAgB,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8XAA8X,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oEAAoE,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gRAAgR,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kQAAkQ,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oBAAoB,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sQAAsQ,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qDAAqD,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8MAA8M,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gCAAgC,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6ZAA6Z,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qFAAqF,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0CAA0C,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yHAAyH,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2CAA2C,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kIAAkI,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wYAAwY,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yCAAyC,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0CAA0C,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qDAAqD,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wLAAwL,EAAC,EAAC,EAAC,OAAO,EAAC,sBAAsB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iEAAiE,EAAC,EAAC,EAAC,OAAO,EAAC,sBAAsB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gUAAgU,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2IAA2I,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6DAA6D,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oJAAoJ,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2OAA2O,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2TAA2T,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sKAAsK,EAAC,CAAC,CAAC,CAAC;AAF77R,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;ACzBnB,oCAA4C;;;;;;;;;;;;;ACA5C,oCAAiC;AACjC,oCAA2B;;;;;;;;;;AC2G3B,KAAY,kBASX;AATD,YAAY,kBAAkB;KAC5B,kBAAkB;KAClB,2DAAQ;KACR,uBAAuB;KACvB,yEAAe;KACf,yBAAyB;KACzB,2DAAQ;KACR,4BAA4B;KAC5B,qEAAa;AACf,EAAC,EATW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAS7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrHD,oCAA+B;AAC/B,2CAOyB;AACzB,iDAI0B;AAC1B,2CAGyB;AACzB,yCAEsB;AACtB,uCAEoB;AACpB,0CAGuB;AACvB,6CAAgD;AAChD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC;KAA8B,4BAAiC;KAS7D,kBAAY,KAAqB;SAAjC,YACE,kBAAM,KAAK,CAAC,SAIb;SAFC,KAAI,CAAC,kBAAkB,GAAG,iBAAK,EAAE,CAAC;;KAEpC,CAAC;KACM,yBAAM,GAAb;SAAA,iBA6CC;SA5CK,mBASU,EARZ,0CAAkB,EAClB,kDAAsB,EACtB,4CAAmB,EACnB,0CAAkB,EAClB,oCAAe,EACf,wBAAS,EACT,sBAAQ,EACR,gCAAa,CACA;SACf,IAAI,iBAAiB,GAAW,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;SAElF,mEAAmE;SACnE,EAAE,CAAC,CAAC,kBAAkB,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;aAC/C,mBAAmB,GAAG,kBAAkB,CAAC;aACzC,kBAAkB,GAAG,mCAAkB,CAAC,SAAS,CAAC;SACpD,CAAC;SAED,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;aACzD,6BACE,SAAS,EAAG,eAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,aAAa,CAAC;iBAEhE,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI;iBAC/C,IAAI,CAAC,uBAAuB,EAAE;iBAChC,oBAAC,qBAAS,IACR,eAAe,EAAG,IAAI,CAAC,kBAAkB,EACzC,IAAI,EAAC,SAAS,EACd,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,OAAO,CAAC,EACtD,SAAS,EAAG,8BAAkB,CAAC,UAAU,IAGvC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,UAAC,OAAyB,EAAE,KAAa;qBAChF,IAAM,cAAc,GAAgB,KAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;qBACrE,MAAM,CAAC,OAAO,CAAC,OAAO;yBACpB,KAAI,CAAC,2BAA2B,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC;yBAChE,KAAI,CAAC,8BAA8B,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;iBACxE,CAAC,CAAC,CAEM;iBACV,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,GAAG,IAAI,CACtE,CACF,CACP,CAAC;KACJ,CAAC;KAES,0CAAuB,GAAjC;SACU,gDAAe,CAAgB;SAEvC,sFAAsF;SACtF,oDAAoD;SACpD,MAAM,CAAC,eAAe,IAAI,CACxB,8BAAM,SAAS,EAAG,MAAM,CAAC,gBAAgB,EAAG,EAAE,EAAG,IAAI,CAAC,kBAAkB,IAAK,eAAe,CAAS,CACtG,CAAC;KACJ,CAAC;KAEO,qCAAkB,GAA1B,UAA2B,OAAyB;SAC9C,mBAA6C,EAA3C,oCAAe,EAAE,4BAAW,CAAgB;SAClD,MAAM,CAAC,oBAAC,iBAAO,aACb,aAAa,EAAG,OAAO,CAAC,aAAa,EACrC,QAAQ,EAAG,OAAO,CAAC,QAAQ,EAC3B,aAAa,EAAG,OAAO,CAAC,aAAa,EACrC,WAAW,EAAG,OAAO,CAAC,WAAW,EACjC,IAAI,EAAG,WAAW,EAClB,kBAAkB,EAAG,IAAI,IACrB,CAAC,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EACvD,CAAC;KACL,CAAC;KAEO,8CAA2B,GAAnC,UAAoC,cAA2B,EAAE,OAAyB,EAAE,KAAa;SACvG,MAAM,CAAC,oBAAC,mBAAU,eACX,0BAAc,CAAC,OAAO,EAAE,4BAAgB,CAAC,IAC9C,GAAG,EAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,KAAK,uBACzB,IAAI,EACxB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAG,eAAG,CAAC,2CAA2C,EAAE,MAAM,CAAC,UAAU,CAAC,EAC/E,KAAK,EAAG,OAAO,CAAC,WAAW,EAC3B,OAAO,EAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAClD,WAAW,EAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAC1D,UAAU,EAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,KAEtD,cAAc,CACL,CAAC;KAChB,CAAC;KAEO,iDAA8B,GAAtC,UAAuC,cAA2B,EAAE,OAAyB,EAAE,KAAa;SAC1G,MAAM,CAAC,wCACA,0BAAc,CAAC,OAAO,EAAE,yBAAa,CAAC,IAC3C,GAAG,EAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,KAAK,uBACzB,IAAI,EACxB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAG,eAAG,CAAC,2CAA2C,EAAE,MAAM,CAAC,UAAU,CAAC,EAC/E,KAAK,EAAG,OAAO,CAAC,WAAW,EAC3B,WAAW,EAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAC1D,UAAU,EAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,KAEtD,cAAc,CACZ,CAAC;KACT,CAAC;KAEO,sCAAmB,GAA3B,UAA4B,iBAAyB;SACnD,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;aACtC,KAAK,mCAAkB,CAAC,WAAW;iBACjC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,iBAAiB,CAAC,CAAC;aAChE,KAAK,mCAAkB,CAAC,SAAS;iBAC/B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;aAC7C,KAAK,mCAAkB,CAAC,IAAI;iBAC1B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;aACtC;iBACE,MAAM,CAAC,IAAI,CAAC;SAChB,CAAC;KACH,CAAC;KAEO,iDAA8B,GAAtC,UAAuC,iBAAyB;SAC1D,mBAA2D,EAAzD,4CAAmB,EAAE,sBAAQ,EAAE,4BAAW,CAAgB;SAChE,IAAI,sBAAsB,GAAW,QAAQ,CAAC,MAAM,GAAG,iBAAiB,CAAC;SAEzE,EAAE,CAAC,CAAC,CAAC,mBAAmB,IAAI,sBAAsB,GAAG,CAAC,CAAC,CAAC,CAAC;aAAC,MAAM,CAAC,IAAI,CAAC;SAAC,CAAC;SAExE,IAAI,YAAY,GAAW,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,UAAC,CAAmB,IAAK,QAAC,CAAC,WAAW,EAAb,CAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAEpH,MAAM,CAAC,oBAAC,mBAAU,eACX,mBAAmB,IACxB,eAAe,EAAG,YAAY,EAC9B,SAAS,EAAG,eAAG,CAAC,uCAAuC,EAAE,wBAAwB,EAAE,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,UAAU,CAAC;aAEvI,oBAAC,iBAAO,IACN,KAAK,EAAG,YAAY,EACpB,IAAI,EAAG,WAAW,EAClB,kBAAkB,EAAG,IAAI,EACzB,gBAAgB,EAAG;qBACjB,MAAM,CAAC,CACL,kCAAQ,GAAG,GAAG,sBAAsB,CAAS,CAC9C,CAAC;iBACJ,CAAC,GACD,CACS,CAAC;KAChB,CAAC;KAEO,kCAAe,GAAvB,UAAwB,IAAY;SAC9B,mBAAiD,EAA/C,4CAAmB,EAAE,4BAAW,CAAgB;SAEtD,MAAM,CAAC,oBAAC,mBAAU,eACZ,mBAAmB,IACvB,SAAS,EAAG,eAAG,CAAC,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,UAAU,CAAC;aAEjH,oBAAC,iBAAO,IACN,IAAI,EAAG,WAAW,EAClB,kBAAkB,EAAG,IAAI,EACzB,gBAAgB,EAAG,cAAM,QACvB,oBAAC,WAAI,IAAC,QAAQ,EAAG,IAAI,GAAK,CAC3B,EAFwB,CAExB,GACD,CACS,CAAC;KAChB,CAAC;KAEO,oCAAiB,GAAzB;SACM,mBAA4C,EAA1C,kCAAc,EAAE,4BAAW,CAAgB;SACjD,MAAM,CAAC,oBAAC,mBAAU,eACZ,cAAc,IAClB,SAAS,EAAG,eAAG,CAAC,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;aAEvG,oBAAC,iBAAO,IACN,IAAI,EAAG,WAAW,EAClB,kBAAkB,EAAG,IAAI,EACzB,gBAAgB,EAAG,cAAM,QACvB,oBAAC,WAAI,IAAC,QAAQ,EAAC,WAAW,GAAG,CAC9B,EAFwB,CAExB,GACD,CACS,CAAC;KAChB,CAAC;KAEO,kCAAe,GAAvB,UAAwB,OAAyB,EAAE,EAAkC;SACnF,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;SAC7B,EAAE,CAAC,cAAc,EAAE,CAAC;SACpB,EAAE,CAAC,eAAe,EAAE,CAAC;KACvB,CAAC;KAEO,sCAAmB,GAA3B,UAA4B,OAAyB,EAAE,EAAkC;SACvF,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;aAC1B,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;SACnC,CAAC;KACH,CAAC;KAEO,qCAAkB,GAA1B,UAA2B,OAAyB,EAAE,EAAkC;SACtF,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;aACzB,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;SAClC,CAAC;KACH,CAAC;KACH,eAAC;AAAD,EAAC,CA7M6B,yBAAa;AAC3B,sBAAY,GAAmB;KAC3C,sBAAsB,EAAE,CAAC;KACzB,QAAQ,EAAE,EAAE;KACZ,WAAW,EAAE,qBAAW,CAAC,UAAU;EACpC,CAAC;AALS,6BAAQ;;;;;;;;;AC/BrB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,KAAK,EAAE,gBAAgB;KACvB,aAAa,EAAE,wBAAwB;KACvC,OAAO,EAAE,kBAAkB;KAC3B,UAAU,EAAE,qBAAqB;KACjC,SAAS,EAAE,oBAAoB;KAC/B,cAAc,EAAE,yBAAyB;KACzC,yBAAyB,EAAE,oCAAoC;KAC/D,gBAAgB,EAAE,2BAA2B;EAC9C,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,yyBAAyyB,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4SAA4S,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oBAAoB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qMAAqM,EAAC,EAAC,EAAC,OAAO,EAAC,WAAW,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qDAAqD,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uDAAuD,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uDAAuD,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oBAAoB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6LAA6L,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oBAAoB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wRAAwR,EAAC,CAAC,CAAC,CAAC;AAF5nF,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;AClBnB,oCAAiD;;;;;;;;;;;;;ACAjD,oCAA8C;;;;;;;;;;;;;ACA9C,oCAA6B;AAC7B,oCAAmC;;;;;;;;;;;;;;;;;;;;ACDnC,oCAA+B;AAC/B,2CAKyB;AACzB,yCAA0C;AAC1C,uCAAkC;AAClC,mDAAsE;AACtE,6CAAkD;AAClD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAOjC;KAAgC,8BAAiD;KAkB/E,oBAAY,KAAuB;SAAnC,YACE,kBAAM,KAAK,CAAC,SAMb;SAjBO,cAAQ;aACd,GAAC,iCAAc,CAAC,IAAI,IAAG,MAAM;aAC7B,GAAC,iCAAc,CAAC,OAAO,IAAG,MAAM;aAChC,GAAC,iCAAc,CAAC,KAAK,IAAG,YAAY;aACpC,GAAC,iCAAc,CAAC,OAAO,IAAG,SAAS;aACnC,GAAC,iCAAc,CAAC,MAAM,IAAG,SAAS;aAClC,GAAC,iCAAc,CAAC,aAAa,IAAG,SAAS;aACzC,GAAC,iCAAc,CAAC,OAAO,IAAG,WAAW;iBACrC;SAKA,KAAI,CAAC,KAAK,GAAG;aACX,OAAO,EAAE,iBAAK,CAAC,YAAY,CAAC;aAC5B,WAAW,EAAE,KAAK;UACnB,CAAC;;;KACJ,CAAC;KAEM,2BAAM,GAAb;SACQ,wCAAW,CAAgB;SAEjC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1E,CAAC;KAEO,mCAAc,GAAtB;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;aACvB,MAAM,CAAC,6BAAK,SAAS,EAAG,IAAI,CAAC,KAAK,CAAC,WAAW;qBAC5C,CAAC,wBAAwB,GAAG,MAAM,CAAC,OAAO,CAAC;qBAC3C,CAAC,+BAA+B,GAAG,MAAM,CAAC,cAAc,CAAC,IACvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,CAAC;SACT,CAAC;SACD,MAAM,CAAC,IAAI,CAAC;KACd,CAAC;KAEO,kCAAa,GAArB;SACE,MAAM,CAAC,eAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC,IAAI;aAC3D,GAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,IAAG,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,iCAAc,CAAC,IAAI;aACnF,GAAC,uBAAuB,GAAG,MAAM,CAAC,WAAW,IAAG,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,iCAAc,CAAC,KAAK;aAClG,GAAC,yBAAyB,GAAG,MAAM,CAAC,aAAa,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,iCAAc,CAAC,OAAO,CAAC;iBAC1G,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,iCAAc,CAAC,MAAM,CAAC;aACrD,GAAC,+BAA+B,GAAG,MAAM,CAAC,mBAAmB,IAAG,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,iCAAc,CAAC,aAAa;aAC1H,GAAC,yBAAyB,GAAG,MAAM,CAAC,aAAa,IAAG,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,iCAAc,CAAC,OAAO;aACxG,GAAC,yBAAyB,GAAG,MAAM,CAAC,aAAa,IAAG,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,iCAAc,CAAC,OAAO;iBACxG,CAAC;;KACL,CAAC;KAEO,mCAAc,GAAtB;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC;aACjC,MAAM,CAAC,CACL,oBAAC,mBAAU,IACT,QAAQ,EAAG,KAAK,EAChB,SAAS,EAAG,eAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,SAAS,CAAC,EAC5D,OAAO,EAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAC9B,SAAS,EAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAClC,SAAS,EAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,GAC7C,CACH,CAAC;SACJ,CAAC;SACD,MAAM,CAAC,IAAI,CAAC;KACd,CAAC;KAEO,iCAAY,GAApB;SACE,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC;aACrD,oBAAC,WAAI,IAAC,QAAQ,EAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAK,CAC1D,CACP,CAAC;KACJ,CAAC;KAEO,2CAAsB,GAA9B;SACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;aAC/C,iCAAiC,GAAG,MAAM,CAAC,gBAAgB,GAAG,0BAA0B,GAAG,MAAM,CAAC,SAAS,CAAC;KAChH,CAAC;KAEO,qCAAgB,GAAxB;SACE,MAAM,CAAC,CACL,6BACE,SAAS,EAAG,IAAI,CAAC,aAAa,EAAE,GAAG,2BAA2B,GAAG,MAAM,CAAC,SAAS,EACjF,IAAI,EAAC,QAAQ,eACD,IAAI,CAAC,wBAAwB,EAAE;aAC3C,6BAAK,SAAS,EAAG,eAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,OAAO,CAAC;iBACzD,IAAI,CAAC,YAAY,EAAE;iBACrB,6BAAK,SAAS,EAAG,eAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,WAAW,CAAC;qBACjE,IAAI,CAAC,gBAAgB,EAAE;qBACvB,IAAI,CAAC,cAAc,EAAE;qBACrB,IAAI,CAAC,cAAc,EAAE,CACnB,CACF,CACF,CACP,CAAC;KACJ,CAAC;KAEO,sCAAiB,GAAzB;SACE,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,IAAI,CAAC,aAAa,EAAE,GAAG,4BAA4B,GAAG,MAAM,CAAC,UAAU;aACtF,6BAAK,SAAS,EAAG,eAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,OAAO,CAAC;iBACzD,IAAI,CAAC,YAAY,EAAE;iBACrB,6BAAK,SAAS,EAAG,eAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,WAAW,CAAC,IACjE,IAAI,CAAC,gBAAgB,EAAE,CACrB;iBACJ,IAAI,CAAC,cAAc,EAAE;iBACvB,6BAAK,SAAS,EAAG,eAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,gBAAgB,CAAC,IAC3E,IAAI,CAAC,cAAc,EAAE,CACnB,CACF,CACD,CACR,CAAC;KACJ,CAAC;KAEO,qCAAgB,GAAxB;SACE,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,EAAG,EAAE,EAAG,IAAI,CAAC,KAAK,CAAC,OAAO;aAC/E,8BAAM,SAAS,EAAG,IAAI,CAAC,sBAAsB,EAAE,EAAG,IAAI,EAAC,QAAQ,eAAa,IAAI,CAAC,wBAAwB,EAAE;iBACzG,oBAAC,yBAAa;qBACZ,kCAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAS,CACtB,CACX,CACH,CACP,CAAC;KACJ,CAAC;KAEO,6CAAwB,GAAhC;SACE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;aAClC,KAAK,iCAAc,CAAC,OAAO,CAAC;aAC5B,KAAK,iCAAc,CAAC,KAAK,CAAC;aAC1B,KAAK,iCAAc,CAAC,aAAa;iBAC/B,MAAM,CAAC,WAAW,CAAC;SACvB,CAAC;SACD,MAAM,CAAC,QAAQ,CAAC;KAClB,CAAC;KACH,iBAAC;AAAD,EAAC,CA5I+B,yBAAa;AAE7B,wBAAY,GAAqB;KAC7C,cAAc,EAAE,iCAAc,CAAC,IAAI;KACnC,SAAS,EAAE,IAAI;KACf,WAAW,EAAE,IAAI;EAClB,CAAC;AANS,iCAAU;;;;;;;;;;AC+BvB,KAAY,cAkBX;AAlBD,YAAY,cAAc;KACxB,6BAA6B;KAC7B,mDAAQ;KACR,8BAA8B;KAC9B,qDAAS;KACT,gCAAgC;KAChC,yDAAW;KACX,sCAAsC;KACtC,qEAAiB;KACjB,gCAAgC;KAChC,yDAAW;KACX,gCAAgC;KAChC,yDAAW;KACX;;;QAGG;KACH,2DAAc;AAChB,EAAC,EAlBW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAkBzB;;;;;;;;;ACnED,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,IAAI,EAAE,eAAe;KACrB,IAAI,EAAE,eAAe;KACrB,aAAa,EAAE,wBAAwB;KACvC,mBAAmB,EAAE,8BAA8B;KACnD,WAAW,EAAE,sBAAsB;KACnC,aAAa,EAAE,wBAAwB;KACvC,aAAa,EAAE,wBAAwB;KACvC,OAAO,EAAE,kBAAkB;KAC3B,WAAW,EAAE,sBAAsB;KACnC,SAAS,EAAE,oBAAoB;KAC/B,OAAO,EAAE,kBAAkB;KAC3B,cAAc,EAAE,yBAAyB;KACzC,gBAAgB,EAAE,2BAA2B;KAC7C,gBAAgB,EAAE,2BAA2B;KAC7C,SAAS,EAAE,oBAAoB;KAC/B,SAAS,EAAE,oBAAoB;KAC/B,UAAU,EAAE,qBAAqB;EAClC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,kCAAkC,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,UAAU,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+IAA+I,EAAC,EAAC,EAAC,OAAO,EAAC,MAAM,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2KAA2K,EAAC,EAAC,EAAC,OAAO,EAAC,WAAW,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gdAAgd,EAAC,EAAC,EAAC,OAAO,EAAC,mBAAmB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gEAAgE,EAAC,EAAC,EAAC,OAAO,EAAC,yBAAyB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,mBAAmB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oEAAoE,EAAC,EAAC,EAAC,OAAO,EAAC,eAAe,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wDAAwD,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,WAAW,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4DAA4D,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0DAA0D,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,WAAW,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8DAA8D,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0DAA0D,EAAC,EAAC,EAAC,OAAO,EAAC,mBAAmB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8DAA8D,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qTAAqT,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+GAA+G,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,y8BAAy8B,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,ylDAAylD,EAAC,CAAC,CAAC,CAAC;AAF/mL,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;AC3BnB,oCAA+D;AAE/D,oCAA4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACF5C,oCAA+B;AAC/B,2CAUyB;AAEzB,6CAAwD;AACxD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAOjC,4GAA2G;AAC3G,4DAA2D;AAC3D,KAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B;;;;;IAKG;AACH;KAAsC,oCAA6D;KAsBjG,0BAAY,KAA6B;SAAzC,YACE,kBAAM,KAAK,CAAC,SAKb;SAHC,KAAI,CAAC,KAAK,GAAG;aACX,QAAQ,EAAE,SAAS;UACpB,CAAC;;KACJ,CAAC;KAEM,4CAAiB,GAAxB;SACE,IAAI,CAAC,iBAAiB,GAAG,gCAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,KAAK,MAAa,GAAG,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC;SAC5G,uFAAuF;SAEvF,IAAI,CAAC,OAAO,CAAC,EAAE,CACb,IAAI,CAAC,KAAK,CAAC,2BAA2B,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,EACjF,WAAW,EACX,IAAI,CAAC,YAAY,CAAC,CAAC;KACvB,CAAC;KAEM,+CAAoB,GAA3B;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aACrB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;SAC7B,CAAC;KACH,CAAC;KAEM,iCAAM,GAAb;SACM,mBAAoC,EAAlC,wBAAS,EAAE,sBAAQ,CAAgB;SACnC,kCAAQ,CAAgB;SAE9B,MAAM,CAAC,CACL,wCACO,SAAS,IACd,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,EACxE,GAAG,EAAC,MAAM;aAER,QAAQ;aACR,QAAQ,IAAI,CAAC,6BAAK,SAAS,EAAG,eAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAK,CAAC;aACxF,QAAQ,IAAI,CACZ,6BAAK,SAAS,EAAG,eAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,GAAG,CAAC,EAAG,KAAK,EAAG,QAAQ;iBAC5E,6BAAK,SAAS,EAAG,eAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,OAAO,CAAC,GAAK,CACpE,CACP,CACG,CACP,CAAC;KACJ,CAAC;KAED,iFAAiF;KACzE,mDAAwB,GAAhC,UAAiC,EAAc;SAC7C,IAAI,aAAa,GAAG,EAAE,CAAC,MAAqB,CAAC;SAC7C,IAAI,oBAAoB,GAAG,CAAC,aAAa,CAAC,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;SAEnF,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;aACzB,IAAI,UAAU,GAAG,aAAa,CAAC,qBAAqB,EAAE,CAAC;aAEvD,wBAAwB;aACxB,EAAE,CAAC,CAAC,kBAAM,EAAE,CAAC,CAAC,CAAC;iBACb,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;qBAC1D,MAAM,CAAC,IAAI,CAAC;iBACd,CAAC;aACH,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;qBAC/D,MAAM,CAAC,IAAI,CAAC;iBACd,CAAC;aACH,CAAC;aAED,0BAA0B;aAC1B,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;iBAC/D,MAAM,CAAC,IAAI,CAAC;aACd,CAAC;SACH,CAAC;SAED,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KAGO,uCAAY,GAApB,UAAqB,EAAc;SAC7B,mBAAkD,EAAhD,wBAAS,EAAE,kDAAsB,CAAgB;SAEvD,gHAAgH;SAChH,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACtC,MAAM,CAAC;SACT,CAAC;SAED,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,sBAAsB,IAAI,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9G,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;iBAC/C,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;iBAC5B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;iBACxD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;iBACrE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;iBAExD,IAAI,CAAC,WAAW,GAAG,IAAI,sBAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;iBACpD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC1D,CAAC;SACH,CAAC;KACH,CAAC;KAEO,uCAAY,GAApB;SACE,MAAM,CAAC;aACL,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;aACzB,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;aAC/E,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;aAC3B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;UAC9B,CAAC;KACJ,CAAC;KAEO,uCAAY,GAApB,UAAqB,EAAc;SACjC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC;aAC7B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;SAC5B,CAAC;SAED,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;SACnC,IAAI,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;SAEnF,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aACtB,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;SAClC,CAAC;SAED,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;aACjD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SACtB,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,oCAAwB,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;iBACxG,qEAAqE;iBACrE,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,GAAG;qBAC9D,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;qBACtF,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;kBACvF,GAAG;qBACA,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI;qBAC/C,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG;kBAC/C,CAAC;iBAEJ,IAAI,QAAQ,GAAG;qBACb,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;qBACtD,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;qBACrD,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;qBACxD,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;kBAC1D,CAAC;iBAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,YAAE,CAAC,CAAC;iBAC5B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;aACpC,CAAC;SACH,CAAC;SAED,EAAE,CAAC,eAAe,EAAE,CAAC;SACrB,EAAE,CAAC,cAAc,EAAE,CAAC;SAEpB,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KAEO,qCAAU,GAAlB,UAAmB,EAAc;SAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;SAEnD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;SAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;SAEtH,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;aAExB,IAAI,CAAC,QAAQ,CAAC;iBACZ,QAAQ,EAAE,SAAS;cACpB,CAAC,CAAC;aAEH,EAAE,CAAC,cAAc,EAAE,CAAC;aACpB,EAAE,CAAC,eAAe,EAAE,CAAC;SACvB,CAAC;KACH,CAAC;KAEO,8CAAmB,GAA3B,UAA4B,SAAqB,EAAE,KAAa;SAC9D,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;aAC5B,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;aAC1B,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;aACxB,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;KAC9B,CAAC;KAED;;;QAGG;KACK,kDAAuB,GAA/B,UAAgC,EAAc;SAC5C,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;SACvC,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;aACpD,MAAM,CAAC,KAAK,CAAC;SACf,CAAC;SAED,IAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;SAC9E,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;aAC5C,IAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;aAC/B,IAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC;aACnE,EAAE,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACrC,IAAM,QAAQ,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;iBACjD,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;qBAC7D,MAAM,CAAC,IAAI,CAAC;iBACd,CAAC;aACH,CAAC;SACH,CAAC;SAED,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KAEO,6CAAkB,GAA1B,UAA2B,QAAoB;SAC7C,4CAA4C;SAC5C,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;aACd,MAAM,CAAC;SACT,CAAC;SAEK,oCAAS,CAAgB;SAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;SACnC,IAAI,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;SAE5E,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;aACzB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC3B,CAAC;SAED,sDAAsD;SACtD,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SACjC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SAEhC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;aAC5C,IAAI,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;aAC7B,IAAI,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;aAEzD,6EAA6E;aAC7E,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAE1C,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACd,QAAQ,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;iBAE3C,uDAAuD;iBACvD,QAAQ,GAAG;qBACT,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI;qBACnC,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG;qBAChC,KAAK,EAAE,QAAQ,CAAC,KAAK;qBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;qBACvB,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK;qBACvD,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM;kBACxD,CAAC;iBAEF,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;qBAC9C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;iBACxC,CAAC;aACH,CAAC;aAED,EAAE,CAAC,CACD,QAAQ,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;iBAC/C,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG;iBAC9B,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;iBAChD,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,IAC5B,CAAC,CAAC,CAAC;iBACD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;aACvC,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;aACvC,CAAC;SACH,CAAC;SAED,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;aACzC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACjD,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;aACzD,CAAC;SACH,CAAC;SAED,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;KAClC,CAAC;KACH,uBAAC;AAAD,EAAC,CA5RqC,yBAAa;AACnC,8BAAY,GAAG;KAC3B,WAAW,EAAE,KAAK;KAClB,SAAS,EAAE,EAAE;KACb,SAAS,EAAE,IAAI;EAChB,CAAC;AA4FF;KADC,oBAAQ;qDAqBR;AArHU,6CAAgB;;;;;;;;;AC/B7B,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,QAAQ,EAAE,mBAAmB;KAC7B,GAAG,EAAE,cAAc;KACnB,OAAO,EAAE,kBAAkB;EAC5B,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,uNAAuN,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kGAAkG,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4CAA4C,EAAC,CAAC,CAAC,CAAC;AAFpgB,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;ACbnB,oCAAuC;;;;;;;;;;;;;ACAvC,oCAAsB;;;;;;;;;;;;;;;;;;;;ACAtB,oCAA+B;AAC/B,2CAIyB;AACzB,2CAAgE;AAChE,yCAA6C;AAC7C,uCAAkC;AAClC,6CAA2C;AAC3C,KAAM,MAAM,GAAQ,YAAY,CAAC;AACjC,yCAAoD;AAQpD,0DAAyD;AACzD,KAAM,gBAAgB,GAAW,EAAE,CAAC;AACpC,2EAA0E;AAC1E,KAAM,uBAAuB,GAAW,EAAE,CAAC;AAC3C,2EAA0E;AAC1E,KAAM,qBAAqB,GAAW,EAAE,CAAC;AAEzC,yCAAwC;AACxC,KAAI,YAAY,CAAC;AAQjB;KAAyB,uBAAmC;KAS1D,aAAY,KAAgB;SAA5B,YACE,kBAAM,KAAK,CAAC,SAQb;SANC,KAAI,CAAC,KAAK,GAAG;aACX,gBAAgB,EAAE,EAAE;aACpB,wBAAwB,EAAE,KAAK;aAC/B,WAAW,EAAE,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,WAAW;UAC3D,CAAC;SACF,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;;KAChC,CAAC;KAEM,oBAAM,GAAb;SAAA,iBA+BC;SA9BO,mBAA2C,EAAzC,kBAAM,EAAE,wBAAS,EAAE,oBAAO,CAAgB;SAElD,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;aACZ,MAAM,CAAC,IAAI,CAAC;SACd,CAAC;SAED,yHAAyH;SACzH,sEAAsE;SACtE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAC,KAAoB,EAAE,UAAkB;aAC3E,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,IAAc,EAAE,SAAiB;iBAClG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;aACzD,CAAC,CAAC,CAAC;SACL,CAAC,CAAC,CAAC;SAEH,IAAM,aAAa,GAA6B,MAAM,CAAC,GAAG,CACxD,UAAC,KAAoB,EAAE,UAAkB,IAAK,YAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,EAApC,CAAoC,CAAC,CAAC;SAEtF,MAAM,CAAC,CACL,oBAAC,qBAAS,IAAC,SAAS,EAAG,8BAAkB,CAAC,QAAQ;aAChD,6BAAK,IAAI,EAAC,YAAY,EACpB,SAAS,EAAG,eAAG,CACb,QAAQ,EACR,MAAM,CAAC,IAAI,EACX,SAAS,EACT,OAAO,IAAI,eAAG,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,6BAAmB,CAAC,cAAc,CAAC,CACnF,IACC,aAAa,CACX,CACI,CACb,CAAC;KACJ,CAAC;KAED,sBAAW,4BAAW;cAAtB;aACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;SAChC,CAAC;;;QAAA;KAEO,+BAAiB,GAAzB,UAA0B,IAAc,EAAE,SAAiB,EAAE,YAAoB;SAC/E,6DAA6D;SAC7D,yEAAyE;SACzE,IAAM,KAAK,GAAY,kBAAM,EAAE,CAAC;SAChC,IAAM,aAAa,GAAW,CAAC,gBAAgB,GAAG,YAAY;aAC5D,CAAC,IAAI,CAAC,gBAAgB,GAAG,uBAAuB,GAAG,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;SAEjG,MAAM,CAAC,CACL,2BACE,SAAS,EAAG,eAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,EAC3C,KAAK,YAAK,GAAC,KAAK,GAAG,cAAc,GAAG,aAAa,IAAG,aAAa,OACjE,IAAI,EAAG,IAAI,CAAC,GAAG,IAAI,aAAa,EAChC,OAAO,EAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,gBAC1C,IAAI,CAAC,SAAS,EAC3B,KAAK,EAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAC/B,MAAM,EAAG,IAAI,CAAC,MAAM;aAElB,IAAI,CAAC,aAAa,IAAI,CACtB,oBAAC,WAAI,IACH,SAAS,EAAG,eAAG,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,EACpD,QAAQ,EAAC,UAAU,GACnB,CACH;aACC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAC7B,CACL,CAAC;;KACJ,CAAC;KAEO,+BAAiB,GAAzB,UAA0B,IAAc,EAAE,SAAiB;SACzD,MAAM,CAAC,CACL,oBAAC,sBAAa,IACZ,SAAS,EAAG,eAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,IAAI;qBAC1D,cAAc,EAAE,IAAI,CAAC,gBAAgB;;iBACrC,GAAC,MAAM,CAAC,gBAAgB,IAAG,IAAI,CAAC,gBAAgB;qBAChD,EACF,IAAI,EAAG,IAAI,CAAC,GAAG,EACf,SAAS,EAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,EACnC,WAAW,EAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EACrC,OAAO,EAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IACrD,IAAI,CAAC,IAAI,CACG,CAAC,CAAC;;KACtB,CAAC;KAEO,kCAAoB,GAA5B,UAA6B,IAAc,EAAE,SAAiB,EAAE,YAAoB;SAClF,IAAM,cAAc,GAAY,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SAE3D,MAAM,CAAC,CACL,6BAAK,GAAG,EAAG,IAAI,CAAC,GAAG,IAAI,SAAS,EAC9B,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,aAAa;qBAC1D,cAAc,EAAE,IAAI,CAAC,UAAU;qBAC/B,aAAa,EAAE,cAAc;;iBAC7B,GAAC,MAAM,CAAC,uBAAuB,IAAG,IAAI,CAAC,UAAU;iBACjD,GAAC,MAAM,CAAC,uBAAuB,IAAG,cAAc;qBAChD;aACA,CAAC,YAAY,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;iBAC1D,gCACE,SAAS,EAAG,eAAG,CAAC,iDAAiD,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAClH,OAAO,EAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,gBACvC,IAAI,CAAC,KAAK,CAAC,qBAAqB,mBAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,GAAG,OAAO;qBAElD,oBAAC,WAAI,IACH,SAAS,EAAG,eAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,EACtE,QAAQ,EAAC,aAAa,GACtB,CACK,GAAG,IAAI,CACjB;aACC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAC9G,CACP,CAAC;;KACJ,CAAC;KAEO,yBAAW,GAAnB,UAAoB,IAAc,EAAE,SAAiB,EAAE,YAAoB;SACzE,MAAM,CAAC,CACL,4BAAI,GAAG,EAAG,IAAI,CAAC,GAAG,IAAI,SAAS,EAAG,IAAI,EAAC,UAAU,EAAC,SAAS,EAAG,eAAG,CAAC,MAAM,CAAC,OAAO,CAAC;aAC7E,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC;aACxD,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,CACvE,CACN,CAAC;KACJ,CAAC;KAEO,0BAAY,GAApB,UAAqB,KAAiB,EAAE,YAAoB;SAA5D,iBAYC;SAXC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aAC5B,MAAM,CAAC,IAAI,CAAC;SACd,CAAC;SACD,IAAM,YAAY,GAA6B,KAAK,CAAC,GAAG,CACtD,UAAC,IAAc,EAAE,SAAiB,IAAK,YAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,EAA/C,CAA+C,CAAC,CAAC;SAE1F,MAAM,CAAC,CACL,4BAAI,IAAI,EAAC,MAAM,gBAAc,IAAI,CAAC,KAAK,CAAC,SAAS,EAAG,SAAS,EAAG,eAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAChF,YAAY,CACX,CACN,CAAC;KACJ,CAAC;KAEO,0BAAY,GAApB,UAAqB,KAAoB,EAAE,UAAkB;SAC3D,IAAM,eAAe,GAAY,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAE1E,MAAM,CAAC,CACL,6BAAK,GAAG,EAAG,UAAU,EAAG,SAAS,EAAG,eAAG,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK;qBAClE,aAAa,EAAE,eAAe;;iBAC9B,GAAC,MAAM,CAAC,eAAe,IAAG,eAAe;qBACzC;aACE,CAAC,KAAK,CAAC,IAAI;iBACX,gCACE,SAAS,EAAG,eAAG,CAAC,6EAA6E,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAC7K,OAAO,EAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;qBAE3D,oBAAC,WAAI,IACH,SAAS,EAAG,eAAG,CACb,gBAAgB,EAChB,MAAM,CAAC,WAAW,EAClB,eAAe,IAAI,MAAM,CAAC,iBAAiB,CAC5C,EACD,QAAQ,EAAC,aAAa,GACtB;qBACA,KAAK,CAAC,IAAI,CACL,GAAG,IAAI,CAAC;aAEnB,6BAAK,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,6BAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,YAAY,CAAC,IAC/F,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAClD,CACF,CACP,CAAC;;KACJ,CAAC;KAEO,mCAAqB,GAA7B,UAA8B,QAAgB,EAAE,EAAiC;SACzE,kDAAgB,CAAgB;SAEtC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;SACzD,IAAI,CAAC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAC;SAEtD,EAAE,CAAC,cAAc,EAAE,CAAC;SACpB,EAAE,CAAC,eAAe,EAAE,CAAC;KACvB,CAAC;KAEO,kCAAoB,GAA5B,UAA6B,IAAc,EAAE,EAAiC;SAC5E,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;SACnC,IAAI,CAAC,QAAQ,CAAC,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,CAAC;SAElD,EAAE,CAAC,cAAc,EAAE,CAAC;SACpB,EAAE,CAAC,eAAe,EAAE,CAAC;KACvB,CAAC;KAEO,qCAAuB,GAA/B,UAAgC,IAAc,EAAE,EAAiC;SAC/E,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;aAC3B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SACnC,CAAC;SAED,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;KAC3C,CAAC;KAEO,qCAAuB,GAA/B,UAAgC,IAAc,EAAE,EAAiC;SAC/E,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;aACjB,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SACzB,CAAC;SAED,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;KAC3C,CAAC;KAEO,6BAAe,GAAvB,UAAwB,IAAc;SACpC,6DAA6D;SAC7D,sEAAsE;SACtE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC;aACzC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;SAC7C,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;aACvF,MAAM,CAAC,IAAI,CAAC;SACd,CAAC;SAED,mCAAmC;SACnC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC;aACpC,MAAM,CAAC,KAAK,CAAC;SACf,CAAC;SAED,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;aACd,MAAM,CAAC,KAAK,CAAC;SACf,CAAC;SAED,YAAY,GAAG,YAAY,IAAI,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SAE3D,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;SACnC,IAAM,MAAM,GAAW,YAAY,CAAC,IAAI,CAAC;SAEzC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;aAC7B,MAAM,CAAC,IAAI,CAAC;SACd,CAAC;SAED,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC;aAC5E,MAAM,CAAC,IAAI,CAAC;SACd,CAAC;SAED,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;aAClB,6BAA6B;aAC7B,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;iBAC/B,MAAM,CAAC,IAAI,CAAC;aACd,CAAC;aAED,+DAA+D;aAC/D,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAE/C,MAAM,CAAC,YAAY,CAAC,IAAI,KAAK,MAAM,CAAC;SACtC,CAAC;SACD,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KACH,UAAC;AAAD,EAAC,CArQwB,yBAAa;AAEtB,iBAAY,GAAc;KACtC,MAAM,EAAE,IAAI;KACZ,YAAY,EAAE,UAAC,IAAc,IAAK,QAAC,8BAAM,SAAS,EAAG,eAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAK,IAAI,CAAC,IAAI,CAAS,CAAC,EAAlF,CAAkF;EACrH,CAAC;AALS,mBAAG;;;;;;;;;ACnChB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,WAAW,EAAE,sBAAsB;KACnC,QAAQ,EAAE,mBAAmB;KAC7B,OAAO,EAAE,kBAAkB;KAC3B,YAAY,EAAE,uBAAuB;KACrC,KAAK,EAAE,gBAAgB;KACvB,eAAe,EAAE,0BAA0B;KAC3C,IAAI,EAAE,eAAe;KACrB,QAAQ,EAAE,mBAAmB;KAC7B,aAAa,EAAE,wBAAwB;KACvC,oBAAoB,EAAE,+BAA+B;KACrD,WAAW,EAAE,sBAAsB;KACnC,iBAAiB,EAAE,4BAA4B;KAC/C,QAAQ,EAAE,mBAAmB;KAC7B,aAAa,EAAE,wBAAwB;KACvC,iBAAiB,EAAE,4BAA4B;KAC/C,uBAAuB,EAAE,kCAAkC;KAC3D,uBAAuB,EAAE,kCAAkC;KAC3D,IAAI,EAAE,eAAe;KACrB,mBAAmB,EAAE,8BAA8B;KACnD,kBAAkB,EAAE,6BAA6B;KACjD,gBAAgB,EAAE,2BAA2B;EAC9C,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,6cAA6c,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,cAAc,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,scAAsc,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,cAAc,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8PAA8P,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,cAAc,EAAC,EAAC,EAAC,OAAO,EAAC,mBAAmB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wGAAwG,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8eAA8e,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,cAAc,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8eAA8e,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oGAAoG,EAAC,EAAC,EAAC,OAAO,EAAC,mBAAmB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gSAAgS,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,cAAc,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iZAAiZ,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8MAA8M,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+mDAA+mD,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4MAA4M,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4KAA4K,EAAC,CAAC,CAAC,CAAC;AAF76M,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;AC/BnB,oCAA2C;;;;;;;;;;;;;ACA3C,oCAA0C;AAE1C,oCAAoD;AACpD,oCAAwC;AAExC,oCAA6B;AAG7B,oCAA4C;AAC5C,oCAAsC;AACtC,oCAAoC;;;;;;;;;;;;;;;;;;;;ACVpC,oCAA+B;AAC/B,2CAI4B;AAC5B,yCAAqE;AACrE,0CAA2C;AAE3C,6CAAmD;AACnD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC;KAAwC,mCAA0C;KAAlF;;KAyCA,CAAC;KAxCQ,gCAAM,GAAb;SACM,mBAQU,EAPZ,oCAAe,EACf,sCAAgB,EAChB,oBAAO,EACP,wBAAS,EACT,8BAAY,EACZ,sCAAgB,EAChB,UAAE,CACW;SACf,IAAI,SAAS,GAAG,kBAAM,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,EAAE,EAAE,YAAY,gBAAE,CAAC,CAAC;SACnE,MAAM,CAAC,CACL,6BACE,SAAS,EAAG,eAAG,CACb,qBAAqB,EACrB,MAAM,CAAC,eAAe;iBAEpB,GAAC,eAAe,GAAG,MAAM,CAAC,0BAA0B,IAAG,eAAe,CAAC,QAAQ;sBAEjF,SAAS,CACV;aAED,oBAAC,sBAAa,IACZ,OAAO,EAAG,OAAO,EACjB,SAAS,EAAG,eAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,UAAU,CAAC,IAE7D,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CACtC;aACd,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAC9B,oBAAC,mBAAU,IACT,SAAS,EAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAClC,KAAK,EAAC,QAAQ,EACd,SAAS,EAAC,QAAQ,EAClB,OAAO,EAAG,YAAY,EACtB,SAAS,EAAG,eAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,WAAW,CAAC,GACjE,CAAC,GAAG,CAAC,IAAI,CAAC,CAEV,CACP,CAAC;;KACJ,CAAC;KACH,sBAAC;AAAD,EAAC,CAzCuC,yBAAa,GAyCpD;AAzCY,2CAAe;AA2C5B;KAAoC,+BAAuC;KAMzE,qBAAY,gBAAsC;SAAlD,YACE,kBAAM,gBAAgB,CAAC,SAExB;SALO,iCAA2B,GAAG,eAA6E,CAAC;SAIlH,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;KACzD,CAAC;KAEM,wCAAkB,GAAzB;SACE,IAAI,CAAC,cAAc,EAAE,CAAC;KACxB,CAAC;KAEM,4BAAM,GAAb;SACM,mBAmBU,EAlBZ,gDAAqB,EACrB,0DAA0B,EAC1B,wCAAiB,EACjB,wBAAS,EACT,sDAAwB,EACxB,0CAAkB,EAClB,4BAAW,EACX,wBAAS,EACT,4BAAW,EACX,4BAAW,EACX,gDAAqB,EACrB,gCAAa,EACb,wDAAyB,EACzB,8CAAoB,EACpB,wCAAiB,EACjB,gCAAa,EACb,kDAAsB,EACtB,wCAAiB,CACJ;SAEf,IAAI,SAAS,GAAsB;aACjC,MAAM,CAAC,kBAAkB;iBACvB,6BAAK,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,eAAe,CAAC,IAC/D,kBAAkB,CAChB,GAAG,IAAI,CAAC;SAClB,CAAC,CAAC;SAEF,IAAI,UAAU,GAAG,yBAAyB,IAAI,0BAA0B,GAAG,0BAA0B,GAAG,IAAI,CAAC;SAC7G,IAAI,WAAW,GAAG,CAAC,WAAW,CAAC,MAAM,IAAI,oBAAoB,CAAC,GAAG,iBAAiB,GAAG,aAAa,CAAC;SACnG,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAClB,gBAAgB,EAChB,SAAS,GAAG,SAAS,GAAG,EAAE,EAC1B,MAAM,CAAC,IAAI,CAAC;aACV,UAAU;iBACV,CAAC,6BAAK,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,gBAAgB,CAAC,IAClE,UAAU,CACR,CAAC,GAAG,CAAC,IAAI,CAAC;aAChB,SAAS,IAAI,CACb,oBAAC,iBAAO,IACN,SAAS,EAAG,eAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,kBAAkB,CAAC,EACpE,KAAK,EAAG,WAAW,GACnB,CAAC;aACH,CAAC,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS;iBACnD,CAAC,qBAAqB,GAAG,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,SAAS,EAAE,CAAC;iBAC9E,IAAI,CAAC,kBAAkB,EAAE;aAEzB,iBAAiB,IAAI,wBAAwB,IAAI,CACjD,oBAAC,sBAAa,IACZ,YAAY,EAAG,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,EACvD,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAChE,SAAS,EAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAClC,OAAO,EAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAEvC,iBAAiB,CACL,CACjB;aACC,WAAW;iBACX,CAAC,oBAAC,iBAAO,IACP,SAAS,EAAG,eAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,kBAAkB,CAAC,EACpE,KAAK,EAAG,aAAa,GACrB,CAAC,GAAG,CAAC,IAAI,CAAC;aAGZ,CAAC,wBAAwB,IAAI,CAAC,yBAAyB,IAAI,CAAC,WAAW;iBACrE,CAAC,6BAAK,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,gBAAgB,CAAC,IAClE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CACrB,CAAC,GAAG,CAAC,IAAI,CAAC,CAEhB,CACP,CAAC;KACJ,CAAC;KAEM,8CAAwB,GAA/B;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;aAC9B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;SACpC,CAAC;KACH,CAAC;KAED,6EAA6E;KACtE,oCAAc,GAArB;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;aAC1B,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SAC9C,CAAC;KACH,CAAC;KAEO,wCAAkB,GAA1B;SAAA,iBAsCC;SArCK,mBAK8B,EAJhC,4BAAW,EACX,0CAAkB,EAClB,sDAAwB,EACxB,8CAAoB,EACpB,wCAAiB,CAAgB;SACnC,IAAI,oBAAoB,GAAG,IAAI,CAAC,2BAA2B,CAAC;SAE5D,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;aACzB,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;SAC3D,CAAC;SAED,MAAM,CAAC,CACL,6BACE,SAAS,EAAG,eAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,oBAAoB,CAAC,EACxE,EAAE,EAAC,iBAAiB,EACpB,IAAI,EAAC,MAAM,IACT,WAAW,CAAC,GAAG,CAAC,UAAC,UAAU,EAAE,KAAK;aAClC,oCAAK,GAAG,EAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,GAAG,kBAAkB,GAAG,EAAE,CAAC,EACxE,GAAG,EAAG,KAAK,EACX,EAAE,EAAG,MAAM,GAAG,KAAK,EACnB,IAAI,EAAC,UAAU;iBACf,oBAAC,oBAAoB,IACnB,EAAE,EAAG,UAAU,GAAG,KAAK,EACvB,eAAe,EAAG,UAAU,EAC5B,gBAAgB,EAAG,kBAAkB,EACrC,OAAO,EAAG,UAAC,EAAiC,IAAO,KAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAC9G,SAAS,EAAG,wBAAwB,EACpC,gBAAgB,EAAG,iBAAiB,EACpC,YAAY,EAAG,UAAC,EAAiC;yBAC/C,KAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;yBAC1D,EAAE,CAAC,eAAe,EAAE,CAAC;qBACvB,CAAC,GAED,CACE;SAjBN,CAiBM,CAAC,CACL,CAAC,CAAC;KACZ,CAAC;KAEO,qCAAe,GAAvB;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;aAChC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;SAChC,CAAC;KACH,CAAC;KAEH,kBAAC;AAAD,EAAC,CArJmC,yBAAa,GAqJhD;AArJY,mCAAW;;;;;;;;;ACvDxB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,eAAe,EAAE,0BAA0B;KAC3C,0BAA0B,EAAE,qCAAqC;KACjE,WAAW,EAAE,sBAAsB;KACnC,gBAAgB,EAAE,2BAA2B;KAC7C,gBAAgB,EAAE,2BAA2B;KAC7C,oBAAoB,EAAE,+BAA+B;KACrD,eAAe,EAAE,0BAA0B;KAC3C,kBAAkB,EAAE,6BAA6B;KACjD,UAAU,EAAE,qBAAqB;EAClC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,mRAAmR,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4EAA4E,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kFAAkF,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wGAAwG,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qHAAqH,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oSAAoS,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sGAAsG,EAAC,EAAC,EAAC,OAAO,EAAC,YAAY,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oQAAoQ,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oFAAoF,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6GAA6G,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qDAAqD,EAAC,EAAC,EAAC,OAAO,EAAC,MAAM,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8xBAA8xB,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,GAAG,EAAC,CAAC,CAAC,CAAC;AAF7uG,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;ACdnB;KAIE;SACE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SACtB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;KACzB,CAAC;KAEM,iDAAiB,GAAxB,UAAyB,cAAmB,EAAE,aAAsB;SAClE,EAAE,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;aAChD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,oCAAoC,CAAC,cAAc,CAAC,CAAC;aAC7E,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;aACtB,EAAE,CAAC,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC;iBAChC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;iBAChD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;aAC3D,CAAC;SACH,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aACtB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;aACvB,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;SACrC,CAAC;KACH,CAAC;KAED;;QAEG;KACI,8CAAc,GAArB;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;aAChD,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBACtD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;iBACnD,MAAM,CAAC,IAAI,CAAC;aACd,CAAC;aAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/D,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;iBAC/B,MAAM,CAAC,IAAI,CAAC;aACd,CAAC;SACH,CAAC;SAED,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KAED;;QAEG;KACI,kDAAkB,GAAzB;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;aAChD,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;iBAC1B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;iBACnD,MAAM,CAAC,IAAI,CAAC;aACd,CAAC;aAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC;iBACnC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;iBACzD,MAAM,CAAC,IAAI,CAAC;aACd,CAAC;SACH,CAAC;SAED,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KAEM,8CAAc,GAArB;SACE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;KAC1B,CAAC;KAEM,8CAAc,GAArB;SACE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;KAChC,CAAC;KAEM,oDAAoB,GAA3B,UAA4B,KAAa;SACvC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KACjC,CAAC;KAEM,qDAAqB,GAA5B;SACE,MAAM,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,KAAK,CAAC;KAC/C,CAAC;KAEM,gDAAgB,GAAvB,UAAwB,KAAa;SACnC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KACpC,CAAC;KAEO,oEAAoC,GAA5C,UAA6C,WAAkB;SAC7D,IAAI,SAAS,GAA0B,EAAE,CAAC;SAC1C,WAAW,CAAC,OAAO,CAAC,UAAC,UAAe,IAAK,gBAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAArD,CAAqD,CAAC,CAAC;SAChG,MAAM,CAAC,SAAS,CAAC;KACnB,CAAC;KAEO,sDAAsB,GAA9B,UAA+B,KAAa;SAC1C,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;aACrD,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;aACtB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAK,CAAC;aACxC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;aAC7C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC;SACzC,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvD,CAAC;aACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;aACxC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACnD,CAAC;KACH,CAAC;KACH,4BAAC;AAAD,EAAC;AAnGY,uDAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLlC,oCAA+B;AAE/B,2CAM4B;AAM5B,KAAM,iBAAiB,GAAG,SAAS,CAAC;AACpC,KAAM,kBAAkB,GAAG,UAAU,CAAC;AAEtC;KAAkC,gCAAqD;KAUrF,sBAAY,KAAyB;SAArC,YACE,kBAAM,KAAK,CAAC,SAKb;SATO,sBAAgB,GAAY,IAAI,CAAC;SAKvC,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;SACjB,KAAI,CAAC,KAAK,GAAG;aACX,YAAY,EAAE,EAAE;UACjB,CAAC;;KACJ,CAAC;KAED,sBAAW,wCAAc;cAAzB;aACE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;iBACvB,IAAI,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;iBACtC,EAAE,CAAC,CAAC,YAAY,CAAC,kBAAkB,KAAK,iBAAiB,CAAC,CAAC,CAAC;qBAC1D,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC;iBACnC,CAAC;iBAAC,IAAI,CAAC,CAAC;qBACN,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC;iBACrC,CAAC;aACH,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,MAAM,CAAC,CAAC,CAAC,CAAC;aACZ,CAAC;SACH,CAAC;;;QAAA;KAED,sBAAW,yCAAe;cAA1B;aACE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,KAAK,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;SAC7E,CAAC;;;QAAA;KAED,sBAAW,+BAAK;cAAhB;aACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SACrB,CAAC;;;QAAA;KAED,sBAAW,wCAAc;cAAzB;aACE,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;SACrE,CAAC;;;QAAA;KAED,sBAAW,sCAAY;cAAvB;aACE,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;SACnE,CAAC;;;QAAA;KAED,sBAAW,sCAAY;cAAvB;aACE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;SAC5B,CAAC;;;QAAA;KAEM,gDAAyB,GAAhC,UAAiC,SAA6B;SAC5D,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACnG,IAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,qBAAqB,EAAE,CAAC,CAAC;SACnE,CAAC;KACH,CAAC;KAEM,yCAAkB,GAAzB;SACE,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;SAClB,4DAAqB,CAAgB;SAC3C,IAAI,eAAe,GAAG,CAAC,CAAC;SACxB,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,KAAK,IAAI,qBAAqB,IAAI,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;aACrH,OAAO,eAAe,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,iBAAiB,EAAE,KAAK,qBAAqB,CAAC,eAAe,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC;iBACnJ,eAAe,EAAE,CAAC;aACpB,CAAC;aACD,EAAE,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;iBACxB,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,eAAe,EAAE,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;aAC1G,CAAC;SACH,CAAC;KACH,CAAC;KAEM,6BAAM,GAAb;SAEI,0CAAY,CACC;SAEf,IAAM,WAAW,GAAG,0BAAc,CAAC,IAAI,CAAC,KAAK,EAAE,2BAAe,CAAC,CAAC;SAChE,MAAM,CAAC,0CAAY,WAAW,IAC5B,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EACvC,KAAK,EAAG,YAAY,EACpB,cAAc,EAAG,KAAK,EACtB,YAAY,EAAG,KAAK,EACpB,QAAQ,EAAG,IAAI,CAAC,SAAS,EACzB,SAAS,EAAG,IAAI,CAAC,UAAU,EAC3B,OAAO,EAAG,IAAI,CAAC,QAAQ,IACvB,CAAC;KACL,CAAC;KAEM,4BAAK,GAAZ;SACE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KAC7B,CAAC;KAEM,4BAAK,GAAZ;SACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;SAC7B,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;SACtB,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KAC7C,CAAC;KAGO,+BAAQ,GAAhB;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;aAC/D,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;SAChC,CAAC;KACH,CAAC;KAGO,iCAAU,GAAlB,UAAmB,EAAoC;SACrD,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;aACjB,KAAK,oBAAQ,CAAC,SAAS;iBACrB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;iBAC9B,KAAK,CAAC;aACR,KAAK,oBAAQ,CAAC,IAAI;iBAChB,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;qBAC1B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;iBAChC,CAAC;iBACD,KAAK,CAAC;aACR,KAAK,oBAAQ,CAAC,KAAK;iBACjB,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;qBAC1B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;iBAChC,CAAC;iBACD,KAAK,CAAC;aACR;iBACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;qBAC3B,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;yBACjE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;qBAC/B,CAAC;iBACH,CAAC;iBACD,KAAK,CAAC;SACV,CAAC;KACH,CAAC;KAGO,gCAAS,GAAjB,UAAkB,EAAgC;SAChD,IAAI,KAAK,GAAY,EAAE,CAAC,MAA2B,CAAC,KAAK,CAAC;SAC1D,EAAE,CAAC,CAAC,KAAK,IAAK,EAAE,CAAC,MAA2B,CAAC,cAAc,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aAC5I,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;SAC/B,CAAC;SACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;KAC3B,CAAC;KAEO,yCAAkB,GAA1B,UAA2B,QAAgB;SACzC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;aAClC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;SAC1C,CAAC;KACH,CAAC;KAEO,mCAAY,GAApB,UAAqB,QAAgB;SAArC,iBAWC;SAVC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;SACvB,IAAI,YAAY,GAAG,QAAQ,CAAC;SAC5B,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB;aAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,YAAY,CAAC;gBACpE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;aAC3B,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC;SAClD,CAAC;SACD,IAAI,CAAC,QAAQ,CAAC;aACZ,YAAY,EAAE,QAAQ;UACvB,EAAE,cAAM,YAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAjC,CAAiC,CAAC,CAAC;KAC9C,CAAC;KAEO,yCAAkB,GAA1B,UAA2B,IAAY,EAAE,SAAiB;SACxD,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;aACxB,MAAM,CAAC,KAAK,CAAC;SACf,CAAC;SACD,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,CAAC;KAC/E,CAAC;KACH,mBAAC;AAAD,EAAC,CArKiC,yBAAa;AAE/B,0BAAY,GAAG;KAC3B,wBAAwB,EAAE,CAAC,oBAAQ,CAAC,IAAI,EAAE,oBAAQ,CAAC,EAAE,CAAC;EACvD,CAAC;AA+FF;KADC,oBAAQ;6CAKR;AAGD;KADC,oBAAQ;+CAwBR;AAGD;KADC,oBAAQ;8CAOR;AA1IU,qCAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBzB,oCAA+B;AAC/B,2CAMyB;AACzB,2CAAgE;AAChE,yCAAyD;AACzD,wCAA0F;AAC1F,8CAAwD;AAExD,wDAA4E;AAE5E,+CAAuD;AAGvD,6CAAkD;AAClD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAajC;KAAkE,8BAAkC;KAclG,oBAAY,eAAkB;SAA9B,YACE,kBAAM,eAAe,CAAC,SAcvB;SAnBS,4BAAsB,GAAG,yBAAkE,CAAC;SAOpG,IAAI,KAAK,GAAQ,eAAe,CAAC,oBAAoB,IAAI,EAAE,CAAC;SAE5D,KAAI,CAAC,eAAe,GAAG,IAAI,6CAAqB,EAAK,CAAC;SACtD,KAAI,CAAC,SAAS,GAAG,IAAI,iBAAS,CAAC,EAAE,kBAAkB,EAAE,cAAM,YAAI,CAAC,iBAAiB,EAAE,EAAxB,CAAwB,EAAE,CAAC,CAAC;SACvF,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC/B,KAAI,CAAC,KAAK,GAAG;aACX,KAAK,EAAE,KAAK;aACZ,qBAAqB,EAAE,EAAE;aACzB,yBAAyB,EAAE,KAAK;aAChC,wBAAwB,EAAE,KAAK;aAC/B,WAAW,EAAE,KAAK;UACnB,CAAC;;KACJ,CAAC;KAED,sBAAW,6BAAK;cAAhB;aACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SAC1B,CAAC;;;QAAA;KAEM,wCAAmB,GAA1B,UAA2B,QAAW,EAAE,QAA0B;SAChE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;aAC1D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC1C,CAAC;KACH,CAAC;KAEM,sCAAiB,GAAxB;SACE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC5C,CAAC;KAEM,0BAAK,GAAZ;SACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;KACzB,CAAC;KAGM,uCAAkB,GAAzB;SACE,IAAI,CAAC,QAAQ,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC;KAC/C,CAAC;KAEM,uCAAkB,GAAzB;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;aACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;aAC1D,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;aACrB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;SACrB,CAAC;KACH,CAAC;KAEM,2BAAM,GAAb;SACQ,4DAAqB,CAAgB;SACvC,mBAIU,EAHZ,wBAAS,EACT,0BAAU,EACV,sBAAQ,CACK;SACf,MAAM,CAAC,CACL,6BACE,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC9B,SAAS,EAAG,eAAG,CACb,eAAe,EACf,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,EAC7B,SAAS,EAAG,IAAI,CAAC,SAAS;aAC1B,oBAAC,qBAAS,IACR,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EACnC,SAAS,EAAG,8BAAkB,CAAC,UAAU;iBACzC,oBAAC,qBAAa,IAAC,SAAS,EAAG,IAAI,CAAC,SAAS,EAAG,aAAa,EAAG,qBAAa,CAAC,QAAQ;qBAChF,6BAAK,SAAS,EAAG,eAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,UAAU,CAAC;yBACzD,IAAI,CAAC,WAAW,EAAE;yBACpB,oBAAC,2BAAY,eACN,UAAiB,IACtB,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,WAAW,CAAC,EAC1D,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAC/B,OAAO,EAAG,IAAI,CAAC,YAAY,EAC3B,kBAAkB,EAAG,IAAI,CAAC,aAAa,EACvC,qBAAqB,EAAG,qBAAqB,2BACrB,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,eACxD,iBAAiB,mBACb,MAAM,mBACN,MAAM,EACpB,cAAc,EAAC,KAAK,EACpB,YAAY,EAAC,KAAK,EAClB,IAAI,EAAC,UAAU,EACf,QAAQ,EAAG,QAAQ,IACnB,CACE,CACQ,CACN;aACV,IAAI,CAAC,iBAAiB,EAAE,CACtB,CACP,CAAC;KACJ,CAAC;KAES,sCAAiB,GAA3B;SACE,IAAI,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC;SAClD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,CACrC,oBAAC,iBAAO,IACN,aAAa,EAAG,KAAK,EACrB,QAAQ,EAAG,CAAC,EACZ,aAAa,EAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EACvC,SAAS,EAAG,IAAI,CAAC,kBAAkB,EACnC,eAAe,EAAG,kBAAM,EAAE,GAAG,yBAAe,CAAC,eAAe,GAAG,yBAAe,CAAC,cAAc;aAC7F,oBAAC,eAAe,aACd,kBAAkB,EAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,EACvD,iBAAiB,EAAG,IAAI,CAAC,iBAAiB,EAC1C,kBAAkB,EAAG,IAAI,CAAC,kBAAkB,EAC5C,WAAW,EAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,EACnD,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAC3C,gBAAgB,EAAG,IAAI,CAAC,gBAAgB,EACxC,wBAAwB,EAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAC9D,SAAS,EAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,EACzC,WAAW,EAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EACpC,yBAAyB,EAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAChE,sBAAsB,EAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,IACrD,IAAI,CAAC,KAAK,CAAC,sBAA6B,EAC7C,CACM,CACX,GAAG,CAAC,IAAI,CAAC,CAAC;KACb,CAAC;KAES,gCAAW,GAArB;SAAA,iBAWC;SAVO,0CAAY,CAAgB;SAC5B,4BAAK,CAAgB;SAC3B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,mBAAY,CAAC;aAC7C,IAAI;aACJ,KAAK;aACL,GAAG,EAAE,KAAK,GAAG,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;aACxC,QAAQ,EAAE,KAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC;aAC/C,YAAY,EAAE,cAAM,YAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAArB,CAAqB;aACzC,YAAY,EAAE,KAAI,CAAC,YAAY;UAChC,CAAC,EAPgC,CAOhC,CAAC,CAAC;KACN,CAAC;KAES,+BAAU,GAApB,UAAqB,KAAa;SAC1B,4BAAK,CAAgB;SAE3B,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aACjB,IAAI,KAAK,GAAgB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAgB,CAAC;aAEhI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;iBACV,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aACrC,CAAC;SACH,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;SACrB,CAAC;KACH,CAAC;KAES,uCAAkB,GAA5B;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC;aAC3C,IAAI,YAAY,GAAW,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;aAC5C,IAAI,SAAS,GAAW,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;aACzG,IAAI,CAAC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAC,CAAC;SACtD,CAAC;KACH,CAAC;KAES,sCAAiB,GAA3B;SACE,IAAI,CAAC,WAAW,EAAE,CAAC;KACrB,CAAC;KAES,sCAAiB,GAA3B,UAA4B,WAAkB;SAC5C,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;SACvD,IAAI,CAAC,WAAW,EAAE,CAAC;KACrB,CAAC;KAES,sCAAiB,GAA3B;SACE,IAAI,WAAW,GAA2B,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACzF,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;KAC1C,CAAC;KAES,gCAAW,GAArB,UAAsB,YAAoB;SACxC,IAAI,WAAW,GAA2B,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1G,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;KACxD,CAAC;KAES,0CAAqB,GAA/B,UAAgC,WAAmC,EAAE,YAAqB;SAA1F,iBAmDC;SAlDC,IAAI,gBAAgB,GAAQ,WAAkB,CAAC;SAC/C,IAAI,sBAAsB,GAAqB,WAA+B,CAAC;SAE/E,qGAAqG;SACrG,qIAAqI;SACrI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;aACpC,EAAE,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC;iBAC/B,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;aACvD,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;aAC3D,CAAC;SACH,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,sBAAsB,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;aACjE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;iBACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAM,YAAI,CAAC,QAAQ,CAAC;qBAC7D,kBAAkB,EAAE,IAAI;kBACzB,CAAC,EAF+C,CAE/C,EAAE,GAAG,CAAC,CAAC;aACX,CAAC;aAED,oBAAoB;aACpB,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;aAE3C,EAAE,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC;iBAC/B,IAAI,CAAC,QAAQ,CAAC;qBACZ,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,aAAa;kBAClG,CAAC,CAAC;aACL,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,IAAI,CAAC,QAAQ,CAAC;qBACZ,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,aAAa;kBACvE,CAAC,CAAC;aACL,CAAC;aAED,oFAAoF;aACpF,IAAI,SAAO,GAAqB,IAAI,CAAC,cAAc,GAAG,sBAAsB,CAAC;aAC7E,SAAO,CAAC,IAAI,CAAC,UAAC,cAAmB;iBAC/B,EAAE,CAAC,CAAC,SAAO,KAAK,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC;qBACpC,EAAE,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC;yBAC/B,KAAI,CAAC,eAAe,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;qBACrD,CAAC;qBAAC,IAAI,CAAC,CAAC;yBACN,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;yBACvD,KAAI,CAAC,QAAQ,CAAC;6BACZ,kBAAkB,EAAE,KAAK;0BAC1B,CAAC,CAAC;qBACL,CAAC;qBACD,EAAE,CAAC,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC;yBACtB,KAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;yBAC5C,KAAI,CAAC,YAAY,GAAG,SAAS,CAAC;qBAChC,CAAC;iBACH,CAAC;aACH,CAAC,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAES,oCAAe,GAAzB,UAA0B,YAAoB,EAAE,WAAgB;SAC9D,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;SACvD,IAAI,SAAS,GAAW,SAAS,CAAC;SAElC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC;aAC3C,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;SAC/F,CAAC;SAED,IAAI,CAAC,QAAQ,CAAC;aACZ,kBAAkB,EAAE,KAAK;aACzB,qBAAqB,EAAE,SAAS;aAChC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,aAAa;UAClG,CAAC,CAAC;KACL,CAAC;KAES,6BAAQ,GAAlB;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;aACxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACxC,CAAC;KACH,CAAC;KAGS,kCAAa,GAAvB,UAAwB,KAAa;SACnC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACxB,IAAI,CAAC,QAAQ,CAAC;aACZ,wBAAwB,EAAE,IAAI;aAC9B,yBAAyB,EAAE,KAAK;UACjC,CAAC,CAAC;KACL,CAAC;KAGS,sCAAiB,GAA3B,UAA4B,EAAiC,EAAE,IAAS,EAAE,KAAa;SACrF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KAC7B,CAAC;KAGS,uCAAkB,GAA5B,UAA6B,EAAiC,EAAE,IAAmB,EAAE,KAAa;SAChG,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;aAClC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SACtC,CAAC;SACD,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;KAC/C,CAAC;KAGS,iCAAY,GAAtB,UAAuB,EAAqD;SAC1E,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SACrC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;aAC5D,IAAI,CAAC,iBAAiB,EAAE,CAAC;aACzB,IAAI,CAAC,QAAQ,CAAC;iBACZ,yBAAyB,EAAE,IAAI;iBAC/B,wBAAwB,EAAE,KAAK;iBAC/B,kBAAkB,EAAE,IAAI;cACzB,CAAC,CAAC;SACL,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;aAC5B,IAAI,CAAC,QAAQ,CAAC;iBACZ,yBAAyB,EAAE,KAAK;iBAChC,kBAAkB,EAAE,IAAI;cACzB,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAGS,8BAAS,GAAnB,UAAoB,EAAoC;SACtD,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SAC7B,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;aACjB,KAAK,oBAAQ,CAAC,MAAM;iBAClB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;qBAClC,IAAI,CAAC,kBAAkB,EAAE,CAAC;qBAC1B,EAAE,CAAC,cAAc,EAAE,CAAC;qBACpB,EAAE,CAAC,eAAe,EAAE,CAAC;iBACvB,CAAC;iBACD,KAAK,CAAC;aAER,KAAK,oBAAQ,CAAC,GAAG,CAAC;aAClB,KAAK,oBAAQ,CAAC,KAAK;iBACjB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;qBAClG,IAAI,CAAC,kBAAkB,EAAE,CAAC;qBAC1B,EAAE,CAAC,cAAc,EAAE,CAAC;qBACpB,EAAE,CAAC,eAAe,EAAE,CAAC;iBACvB,CAAC;iBAED,KAAK,CAAC;aAER,KAAK,oBAAQ,CAAC,SAAS;iBACrB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;iBACrB,KAAK,CAAC;aAER,KAAK,oBAAQ,CAAC,GAAG;iBACf,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;qBACvH,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;yBAClC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;qBAC7E,CAAC;qBACD,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;qBACzE,IAAI,CAAC,WAAW,EAAE,CAAC;iBACrB,CAAC;iBACD,KAAK,CAAC;aAER,KAAK,oBAAQ,CAAC,EAAE;iBACd,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;qBACxH,EAAE,CAAC,cAAc,EAAE,CAAC;qBACpB,EAAE,CAAC,eAAe,EAAE,CAAC;qBACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;iBAC5B,CAAC;iBACD,KAAK,CAAC;aAER,KAAK,oBAAQ,CAAC,IAAI;iBAChB,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;qBAC3E,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;yBAC1C,EAAE,CAAC,cAAc,EAAE,CAAC;yBACpB,EAAE,CAAC,eAAe,EAAE,CAAC;yBACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;qBAC5B,CAAC;iBACH,CAAC;iBACD,KAAK,CAAC;SACV,CAAC;KACH,CAAC;KAGS,iCAAY,GAAtB,UAAuB,WAAc,EAAE,KAAa;SADpD,iBAUC;SARO,4BAAK,CAAgB;SAE3B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;aACf,IAAI,QAAQ,GAAQ,KAAK,CAAC;aAC1B,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;aAE9B,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,cAAM,YAAI,CAAC,QAAQ,EAAE,EAAf,CAAe,CAAC,CAAC;SAC5D,CAAC;KACH,CAAC;KAGS,qCAAgB,GAA1B;SADA,iBA4BC;SA1BC,IAAI,CAAC,QAAQ,CAAC;aACZ,WAAW,EAAE,IAAI;UAClB,EAAE;aACD,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;iBAChC,IAAI,WAAW,GAA2B,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBAC1G,IAAI,gBAAgB,GAAQ,WAAkB,CAAC;iBAC/C,IAAI,sBAAsB,GAAqB,WAA+B,CAAC;iBAE/E,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;qBACpC,KAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;qBACzC,KAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;iBACxC,CAAC;iBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;qBACvC,sBAAsB,CAAC,IAAI,CAAC,UAAC,cAAmB;yBAC9C,KAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;yBACvC,KAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;qBACxC,CAAC,CAAC,CAAC;iBACL,CAAC;aACH,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,KAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;aACxC,CAAC;aACD,KAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;aACnB,KAAI,CAAC,QAAQ,CAAC;iBACZ,wBAAwB,EAAE,KAAK;iBAC/B,sBAAsB,EAAE,IAAI;cAC7B,CAAC,CAAC;SACL,CAAC,CAAC,CAAC;KACL,CAAC;KAGS,mCAAc,GAAxB,UAAyB,KAAa;SACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;SACpE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;SACnB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;KACvB,CAAC;KAGS,4BAAO,GAAjB,UAAkB,IAAO;SADzB,iBAIC;SAFC,IAAI,QAAQ,GAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SACpD,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,cAAM,YAAI,CAAC,QAAQ,EAAE,EAAf,CAAe,CAAC,CAAC;KAC5D,CAAC;KAGS,+BAAU,GAApB,UAAqB,IAAyB;SAD9C,iBASC;SAPO,4BAAK,CAAgB;SAC3B,IAAI,KAAK,GAAW,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAExC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;aACf,IAAI,QAAQ,GAAQ,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;aACzE,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,cAAM,YAAI,CAAC,QAAQ,EAAE,EAAf,CAAe,CAAC,CAAC;SAC5D,CAAC;KACH,CAAC;KAGS,gCAAW,GAArB,UAAsB,aAAoB;SAD1C,iBAWC;SATO,4BAAK,CAAgB;SAC3B,IAAI,QAAQ,GAAQ,KAAK,CAAC,MAAM,CAAC,cAAI,IAAI,oBAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAlC,CAAkC,CAAC,CAAC;SAC7E,IAAI,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;SACzD,IAAI,KAAK,GAAW,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;SAErD,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;aACjC,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACvB,KAAI,CAAC,QAAQ,EAAE,CAAC;SAClB,CAAC,CAAC,CAAC;KACL,CAAC;KAED,+GAA+G;KAC/G,kHAAkH;KACxG,gCAAW,GAArB,UAAsB,EAAoC;SACxD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC;aAC9F,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;iBAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;aAClD,CAAC;aAAC,IAAI,CAAC,CAAC;iBACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;aACjE,CAAC;SACH,CAAC;KACH,CAAC;KAEO,qCAAgB,GAAxB,UAAyB,IAAO,EAAE,YAAqB;SACrD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;aAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;SACxD,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,MAAM,CAAC,EAAE,CAAC;SACZ,CAAC;KACH,CAAC;KACH,iBAAC;AAAD,EAAC,CAvciE,yBAAa,GAuc9E;AArZC;KADC,oBAAQ;qDAGR;AAkND;KADC,oBAAQ;gDAOR;AAGD;KADC,oBAAQ;oDAGR;AAGD;KADC,oBAAQ;qDAMR;AAGD;KADC,oBAAQ;+CAgBR;AAGD;KADC,oBAAQ;4CAsDR;AAGD;KADC,oBAAQ;+CAUR;AAGD;KADC,oBAAQ;mDA4BR;AAGD;KADC,oBAAQ;iDAKR;AAGD;KADC,oBAAQ;0CAIR;AAGD;KADC,oBAAQ;6CASR;AAGD;KADC,oBAAQ;8CAWR;AAlbU,iCAAU;AAycvB;KAA2E,uCAAgB;KAA3F;;KA2DA,CAAC;KA1DQ,oCAAM,GAAb;SACQ,4DAAqB,CAAgB;SACvC,mBAIU,EAHZ,wBAAS,EACT,0BAAU,EACV,sBAAQ,CACK;SAEf,MAAM,CAAC,CACL;aACE,6BAAK,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EACjC,SAAS,EAAG,eAAG,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,EAC5D,SAAS,EAAG,IAAI,CAAC,SAAS;iBAC1B,oBAAC,qBAAa,IAAC,SAAS,EAAG,IAAI,CAAC,SAAS,EACvC,aAAa,EAAG,qBAAa,CAAC,QAAQ;qBACtC,6BAAK,SAAS,EAAG,eAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,UAAU,CAAC;yBAC3D,oBAAC,2BAAY,eACN,UAAiB,IACtB,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,WAAW,CAAC,EAC1D,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAC/B,OAAO,EAAG,IAAI,CAAC,YAAY,EAC3B,kBAAkB,EAAG,IAAI,CAAC,aAAa,EACvC,qBAAqB,EAAG,qBAAqB,2BACrB,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,eACxD,iBAAiB,mBACb,MAAM,mBACN,MAAM,EACpB,cAAc,EAAC,KAAK,EACpB,YAAY,EAAC,KAAK,EAClB,IAAI,EAAC,UAAU,EACf,QAAQ,EAAG,QAAQ,IACnB,CACE,CACQ,CACZ;aACJ,IAAI,CAAC,iBAAiB,EAAE;aAC1B,oBAAC,qBAAS,IAAC,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAC5C,SAAS,EAAC,6BAA6B,EACvC,oBAAoB,EAAG,IAAI,CAAC,0BAA0B,IACpD,IAAI,CAAC,WAAW,EAAE,CACV,CAER,CACP,CAAC;KACJ,CAAC;KAES,yCAAW,GAArB,UAAsB,EAAoC;SACxD,iGAAiG;KACnG,CAAC;KAGO,wDAA0B,GAAlC,UAAmC,EAAoC;SACrE,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;aACjB,KAAK,oBAAQ,CAAC,IAAI;iBAChB,MAAM,CAAC,IAAI,CAAC;SAChB,CAAC;SACD,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KACH,0BAAC;AAAD,EAAC,CA3D0E,UAAU,GA2DpF;AAPC;KADC,oBAAQ;sEAOR;AA1DU,mDAAmB;;;;;;;;;ACzehC,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,UAAU,EAAE,qBAAqB;KACjC,YAAY,EAAE,uBAAuB;KACrC,WAAW,EAAE,sBAAsB;EACpC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,qJAAqJ,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uFAAuF,EAAC,EAAC,EAAC,OAAO,EAAC,YAAY,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2DAA2D,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yIAAyI,EAAC,CAAC,CAAC,CAAC;AAF9oB,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZnB,qBAAoB;AACpB,oCAA+B;AAC/B,oBAAmB;AACnB,6CAAgE;AAEhE,sDAA8E;AAE9E,wDAAsG;AACtG,0BAA6B;AAK7B;KAAsC,oCAA6C;KAAnF;;KACA,CAAC;KAAD,uBAAC;AAAD,EAAC,CADqC,uBAAU,GAC/C;AADY,6CAAgB;AAG7B;KAA4C,0CAAsD;KAAlG;;KACA,CAAC;KAAD,6BAAC;AAAD,EAAC,CAD2C,gCAAmB,GAC9D;AADY,yDAAsB;AAGnC;;IAEG;AACH;KAAwC,sCAAgB;KAAxD;;KAKA,CAAC;KAAD,yBAAC;AAAD,EAAC,CALuC,gBAAgB;AACxC,gCAAY,GAAG;KAC3B,YAAY,EAAE,UAAC,KAAK,IAAK,2BAAC,yCAAmB,eAAK,KAAK,EAAI,EAAlC,CAAkC;KAC3D,uBAAuB,EAAE,UAAC,KAAK,EAAE,SAAU,IAAK,mDAAoB,cAAM,KAAK,gBAAS,SAAS,EAAG,EAApD,CAAoD;EACrG,CAAC;AAJS,iDAAkB;AAO/B;;GAEE;AACF;KAAyC,uCAAgB;KAAzD;;KAKA,CAAC;KAAD,0BAAC;AAAD,EAAC,CALwC,gBAAgB;AACzC,iCAAY,GAAG;KAC3B,YAAY,EAAE,UAAC,KAAK,IAAK,2BAAC,yCAAmB,eAAK,KAAK,EAAI,EAAlC,CAAkC;KAC3D,uBAAuB,EAAE,UAAC,KAAK,EAAE,SAAU,IAAK,kDAAmB,cAAM,KAAK,gBAAS,SAAS,EAAG,EAAnD,CAAmD;EACpG,CAAC;AAJS,mDAAmB;AAOhC;;IAEG;AACH;KAAsC,oCAAsB;KAA5D;;KAKA,CAAC;KAAD,uBAAC;AAAD,EAAC,CALqC,sBAAsB;AAC5C,8BAAY,GAAG;KAC3B,YAAY,EAAE,UAAC,KAAK,IAAK,2BAAC,yCAAmB,eAAK,KAAK,EAAI,EAAlC,CAAkC;KAC3D,uBAAuB,EAAE,UAAC,KAAK,EAAE,SAAU,IAAK,mDAAoB,cAAM,KAAK,gBAAS,SAAS,EAAG,EAApD,CAAoD;EACrG,CAAC;AAJS,6CAAgB;;;;;;;;;;;;;;;;;;AC1C7B,qBAAoB;AACpB,oCAA+B;AAC/B,oBAAmB;AACnB,2CAA4C;AAC5C,0CAA4E;AAE5E,yCAAgD;AAChD,6CAA0D;AAC1D,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEpB,4BAAmB,GAAmD,UAAC,qBAA6C;KAE7H,qCAAI,EACJ,iDAAY,EACZ,mCAAK,EACL,yCAAQ,CACgB;KAC1B,MAAM,CAAC,CACL,6BACE,SAAS,EAAG,eAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,gBAAgB;aACnE,GAAC,cAAc,GAAG,MAAM,CAAC,0BAA0B,IAAG,QAAQ;iBAC9D,uBACkB,IAAI,0BACD,KAAK;SAC5B,6BAAK,SAAS,EAAG,eAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,WAAW,CAAC;aAC/D,oBAAC,iBAAO,eACD,IAAI,IACT,QAAQ,EAAG,IAAI,CAAC,QAAQ,KAAK,SAAS,GAAG,IAAI,CAAC,QAAQ,GAAG,yBAAe,CAAC,IAAI,EAC7E,IAAI,EAAG,qBAAW,CAAC,MAAM,IACzB,CACE;SACN,oBAAC,mBAAU,IACT,OAAO,EAAG,cAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;iBAAC,YAAY,EAAE,CAAC;aAAC,CAAC,CAAC,CAAC,EACzD,SAAS,EAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAClC,SAAS,EAAG,eAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,YAAY,CAAC,uBAC9C,KAAK,GACzB,CACG,CACR,CAAC;;AACJ,EAAC,CAAC;;;;;;;;;ACvCF,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,gBAAgB,EAAE,2BAA2B;KAC7C,YAAY,EAAE,uBAAuB;KACrC,0BAA0B,EAAE,qCAAqC;KACjE,WAAW,EAAE,sBAAsB;KACnC,cAAc,EAAE,yBAAyB;KACzC,aAAa,EAAE,wBAAwB;EACxC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,uMAAuM,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2ZAA2Z,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+CAA+C,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iEAAiE,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6EAA6E,EAAC,EAAC,EAAC,OAAO,EAAC,MAAM,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gGAAgG,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+GAA+G,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qGAAqG,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,cAAc,EAAC,EAAC,EAAC,OAAO,EAAC,WAAW,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mZAAmZ,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0KAA0K,EAAC,CAAC,CAAC,CAAC;AAF53E,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;;;;;;ACfnB,qBAAoB;AACpB,oCAA+B;AAC/B,oBAAmB;AACnB,2CAA4C;AAC5C,0CAA2F;AAE3F,6CAAqD;AACrD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEpB,6BAAoB,GAA2F,UAAC,YAA2B,EAAE,mBAA+C;KACjM,mDAAY,EAAE,qCAAO,EAAE,uDAAgB,CAAyB;KACtE,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,0BAA0B,CAAC;SACvF,oBAAC,iBAAO,eACD,YAAY,IACjB,QAAQ,EAAG,YAAY,CAAC,QAAQ,KAAK,SAAS,GAAG,YAAY,CAAC,QAAQ,GAAG,yBAAe,CAAC,IAAI,EAC7F,IAAI,EAAG,qBAAW,CAAC,eAAe,EAClC,SAAS,EAAG,eAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,mBAAmB,CAAC,EACtE,iBAAiB,EAAG,IAAI,IACxB,CACE,CACP,CAAC;AACJ,EAAC,CAAC;AAEW,4BAAmB,GAA2F,UAAC,YAA2B,EAAE,mBAA+C;KAChM,mDAAY,EAAE,qCAAO,CAAyB;KACpD,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,0BAA0B,CAAC;SACvF,oBAAC,iBAAO,eACD,YAAY,IACjB,QAAQ,EAAG,YAAY,CAAC,QAAQ,KAAK,SAAS,GAAG,YAAY,CAAC,QAAQ,GAAG,yBAAe,CAAC,IAAI,EAC7F,IAAI,EAAG,qBAAW,CAAC,eAAe,EAClC,SAAS,EAAG,eAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,mBAAmB,CAAC,IACtE,CACE,CACP,CAAC;AACJ,EAAC,CAAC;;;;;;;;;ACpCF,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,aAAa,EAAE,wBAAwB;KACvC,UAAU,EAAE,qBAAqB;KACjC,mBAAmB,EAAE,8BAA8B;KACnD,YAAY,EAAE,uBAAuB;KACrC,0BAA0B,EAAE,qCAAqC;EAClE,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,whBAAwhB,EAAC,CAAC,CAAC,CAAC;AAFrjB,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdnB,qBAAoB;AACpB,oCAA+B;AAC/B,2CAG4B;AAC5B,oBAAmB;AACnB,6CAA2C;AAE3C,0CAAoC;AACpC,6CAA+C;AAC/C,KAAM,MAAM,GAAQ,YAAY,CAAC;AAUjC;KAA+B,6BAAiC;KAAhE;;KAKA,CAAC;KAAD,gBAAC;AAAD,EAAC,CAL8B,uBAAU;AACtB,uBAAY,GAAG;KAC9B,YAAY,EAAE,UAAC,KAAK,IAAO,MAAM,CAAC,oBAAC,iBAAO,eAAM,KAAK,GAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAY,CAAC,CAAC,CAAC;KACxF,uBAAuB,EAAE,UAAC,KAAW,IAAK,oCAAK,SAAS,EAAG,eAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,mBAAmB,CAAC;;SAAM,KAAK,CAAC,IAAI;aAAS,EAApG,CAAoG;EAC/I,CAAC;AAJS,+BAAS;;;;;;;;;;ACrBtB,qBAAoB;AACpB,oCAA+B;AAC/B,oBAAmB;AACnB,2CAAyC;AACzC,uCAAqC;AAGrC,6CAA+C;AAC/C,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEpB,gBAAO,GAAG,UAAC,KAA6B,IAAK,QACxD,6BACE,SAAS,EAAG,eAAG,CAAC,YAAY,EAC1B,MAAM,CAAC,IAAI,EACX,EAAE,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,EACjC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,EACtC,GAAG,EAAG,KAAK,CAAC,KAAK,0BACM,KAAK,CAAC,KAAK,uBACd,IAAI;KACxB,8BAAM,SAAS,EAAG,eAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,IAAK,KAAK,CAAC,QAAQ,CAAS;KACxF,8BAAM,SAAS,EAAG,eAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,YAAY,CAAC,EAAG,OAAO,EAAG,KAAK,CAAC,YAAY;SAC3F,oBAAC,WAAI,IAAC,QAAQ,EAAC,QAAQ,GAAG,CACrB,CACH,CACP,EAdyD,CAczD,CAAC;;;;;;;;;ACxBF,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,UAAU,EAAE,qBAAqB;KACjC,WAAW,EAAE,sBAAsB;KACnC,YAAY,EAAE,uBAAuB;KACrC,aAAa,EAAE,wBAAwB;KACvC,mBAAmB,EAAE,8BAA8B;EACpD,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,8DAA8D,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8fAA8f,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mCAAmC,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iDAAiD,EAAC,EAAC,EAAC,OAAO,EAAC,mBAAmB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uDAAuD,EAAC,EAAC,EAAC,OAAO,EAAC,sBAAsB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4JAA4J,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wQAAwQ,EAAC,CAAC,CAAC,CAAC;AAFriD,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;ACfnB,oCAAyC;;;;;;;;;;;;;ACAzC,oCAAwB;AACxB,4CAAqD;AAA5C,0CAAS,CAAa;AAC/B,oCAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;ACF9B,oCAA+B;AAC/B,2CAMyB;AACzB,yCAA6C;AAG7C,2CAAgE;AAChE,4CAAwC;AACxC,8CAAgD;AAChD,8CAA8C;AAC9C,uCAAkC;AAClC,6CAA6C;AAC7C,KAAM,MAAM,GAAQ,YAAY,CAAC;AAwBjC;KAA2B,yBAAuC;KAKhE,eAAY,KAAkB;SAA9B,YACE,kBAAM,KAAK,CAAC,SAsBb;SArBC,KAAI,CAAC,QAAQ,GAAG,iBAAK,CAAC,OAAO,CAAC,CAAC;SAC/B,IAAM,KAAK,GAAsB,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;SACjE,IAAI,WAAmB,CAAC;SAExB,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;aAC7B,WAAW,GAAG,KAAK,CAAC,kBAAkB,CAAC;SACzC,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;aACtC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;SAC1D,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;aAC7B,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;SAClC,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aACxB,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;SACjC,CAAC;SAED,KAAI,CAAC,KAAK,GAAG;aACX,KAAK;aACL,WAAW;aACX,aAAa,EAAE,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC;UAC/B,CAAC;SAEjB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;KACjD,CAAC;KAEM,yCAAyB,GAAhC,UAAiC,SAAsB;SAAvD,iBAmBC;SAlBC,IAAM,KAAK,GAAsB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;SAEhE,IAAI,CAAC,QAAQ,CAAC,UAAC,SAAS,EAAE,KAAK;aAC7B,IAAI,WAAmB,CAAC;aACxB,EAAE,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;iBAC5C,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;aACtC,CAAC;aAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;iBACnD,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;aACtC,CAAC;aAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;iBACxB,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;aACjC,CAAC;aAED,MAAM,CAAC;iBACL,KAAK,EAAE,KAAK;iBACZ,WAAW;iBACX,aAAa,EAAE,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC;cAC/B,CAAC;SACnB,CAAC,CAAC,CAAC;KACL,CAAC;KAEM,sBAAM,GAAb;SACE,MAAM,CAAC,CACL;aACI,IAAI,CAAC,iBAAiB,EAAE;aACxB,IAAI,CAAC,gBAAgB,EAAE,CACrB,CACP,CAAC;KACJ,CAAC;KAED;;QAEG;KACK,iCAAiB,GAAzB;SACE,MAAM,CAAC,CACL,oBAAC,qBAAS,IAAC,SAAS,EAAG,8BAAkB,CAAC,UAAU;aAClD,4BAAI,SAAS,EAAG,eAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,YACvC,GAAC,kBAAkB,GAAG,MAAM,CAAC,WAAW,IAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,2BAAa,CAAC,KAAK,iBACtF,GAAC,iBAAiB,GAAG,MAAM,CAAC,UAAU,IAAG,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,6BAAe,CAAC,IAAI,MAAG,EAC5F,IAAI,EAAC,SAAS,IACZ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CACrC,CACK,CACb,CAAC;;KACJ,CAAC;KAED;;QAEG;KAEK,2BAAW,GAAnB,UAAoB,IAAqB;SAC/B,0BAAO,CAAU;SACzB,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SACjC,4CAAgB,CAAU;SAClC,IAAI,WAAgC,CAAC;SAErC,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;aACrB,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAChE,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SAC9C,CAAC;SAED,MAAM,CAAC,CACL,oBAAC,sBAAa,IACZ,EAAE,EAAG,KAAK,EACV,GAAG,EAAG,OAAO,EACb,SAAS,EAAG,eAAG,CACb,eAAe,EACf,MAAM,CAAC,IAAI;iBAET,GAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAG,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,OAAO;qBAE/E,EACD,OAAO,EAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAC/C,UAAU,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EACjD,SAAS,EAAG,IAAI,CAAC,SAAS,EAC1B,IAAI,EAAC,KAAK,mBACM,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,OAAO,IAChD,WAAW,CACC,CACjB,CAAC;;KACJ,CAAC;KAGO,kCAAkB,GAA1B,UAA2B,IAAqB;SACtC,8BAAS,EAAE,wBAAQ,EAAE,wBAAQ,CAAU;SAE/C,MAAM,CAAC,8BAAM,SAAS,EAAG,eAAG,CAAC,uBAAuB,CAAC;aACjD,QAAQ,KAAK,SAAS,IAAI,CAC1B,8BAAM,SAAS,EAAG,eAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC;iBACjD,oBAAC,WAAI,IAAC,QAAQ,EAAG,QAAQ,GAAK,CACzB,CACR;aACC,QAAQ,KAAK,SAAS,IAAI,8BAAM,SAAS,EAAG,eAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC;;iBAAM,IAAI,CAAC,QAAQ,CAAS;aACzG,SAAS,KAAK,SAAS,IAAI,8BAAM,SAAS,EAAG,eAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC;;iBAAQ,SAAS;qBAAU,CACxG,CAAC;KACV,CAAC;KAED;;QAEG;KACK,gCAAgB,GAAxB;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;aAC3B,MAAM,CAAC,IAAI,CAAC;SACd,CAAC;SAED,IAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;SAC/C,IAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;SACzC,4CAAa,CAAgB;SAEnC,MAAM,CAAC,CACL,6BACE,IAAI,EAAC,UAAU,qBACG,aAAa,IAC7B,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAChD,CACP,CAAC;KACJ,CAAC;KAED;;;QAGG;KACK,8BAAc,GAAtB,UAAuB,KAAkB;SAAzC,iBAwBC;SAvBC,IAAM,KAAK,GAAsB,EAAE,CAAC;SACpC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;SAC7B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SAEvB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAC,KAAU,EAAE,KAAa;aAC3D,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,CAAC,CAAC;iBAC1D,IAAM,SAAS,GAAG,KAAkB,CAAC;iBACrC,IAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;iBAE5D,KAAK,CAAC,IAAI,CAAC;qBACT,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ;qBAClC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS;qBACpC,OAAO,EAAE,OAAO;qBAChB,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS;qBACpC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ;qBAClC,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC,gBAAgB;kBACnD,CAAC,CAAC;iBACH,KAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;iBACzC,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,KAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aAC7D,CAAC;SACH,CAAC,CAAC,CAAC;SAEH,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KAED;;QAEG;KACK,wBAAQ,GAAhB,UAAiB,OAAe,EAAE,KAAa;SAC7C,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;aACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SAC7C,CAAC;SAED,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAG,SAAO,KAAO,EAAC;KACxC,CAAC;KAED;;QAEG;KACK,2BAAW,GAAnB,UAAoB,OAAe;SACjC,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;KACjF,CAAC;KAED;;QAEG;KACK,4BAAY,GAApB,UAAqB,OAAe,EAAE,EAAiC;SACrE,EAAE,CAAC,cAAc,EAAE,CAAC;SACpB,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;KACxC,CAAC;KAED;;QAEG;KACK,2BAAW,GAAnB,UAAoB,OAAe,EAAE,EAAoC;SACvE,EAAE,CAAC,cAAc,EAAE,CAAC;SACpB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,oBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;aAChC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;SACpC,CAAC;KACH,CAAC;KAED;;QAEG;KACK,mCAAmB,GAA3B,UAA4B,OAAe,EAAE,EAAkC;SAC7E,IAAI,CAAC,QAAQ,CAAC;aACZ,WAAW,EAAE,OAAO;aACpB,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;UAC3B,CAAC,CAAC;SAElB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpE,IAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;aAE/C,2DAA2D;aAC3D,IAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAQ,CAAC;aAEvE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAS,CAAC,CAAC,CAAC;iBACxD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAiB,EAAE,EAAE,CAAC,CAAC;aAChD,CAAC;SACH,CAAC;KACH,CAAC;KACH,YAAC;AAAD,EAAC,CA3O0B,yBAAa,GA2OvC;AA3JC;KADC,oBAAQ;yCAgCR;AAGD;KADC,oBAAQ;gDAaR;AA9HU,uBAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzClB,oCAA+B;AAC/B,2CAIyB;AAGzB;KAA+B,6BAAkC;KAAjE;;KAUA,CAAC;KARQ,0BAAM,GAAb;SACE,MAAM,CAAC,CACL,wCACO,0BAAc,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAa,CAAC,GAC5C,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,CACP,CAAC;KACJ,CAAC;KACH,gBAAC;AAAD,EAAC,CAV8B,yBAAa,GAU3C;AAVY,+BAAS;;;;;;;;;;AC0DtB,KAAY,eAUX;AAVD,YAAY,eAAe;KACzB;;QAEG;KACH,uDAAS;KAET;;QAEG;KACH,qDAAQ;AACV,EAAC,EAVW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAU1B;AAED,KAAY,aAWX;AAXD,YAAY,aAAa;KAEvB;;QAEG;KACH,qDAAU;KAEV;;QAEG;KACH,mDAAS;AACX,EAAC,EAXW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAWxB;;;;;;;;;ACzFD,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,KAAK,EAAE,gBAAgB;KACvB,IAAI,EAAE,eAAe;KACrB,IAAI,EAAE,eAAe;KACrB,KAAK,EAAE,gBAAgB;KACvB,IAAI,EAAE,eAAe;KACrB,cAAc,EAAE,yBAAyB;KACzC,cAAc,EAAE,yBAAyB;KACzC,cAAc,EAAE,yBAAyB;KACzC,QAAQ,EAAE,mBAAmB;KAC7B,WAAW,EAAE,sBAAsB;KACnC,UAAU,EAAE,qBAAqB;EAClC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,iIAAiI,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oJAAoJ,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mzCAAmzC,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mKAAmK,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4KAA4K,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gEAAgE,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qEAAqE,EAAC,EAAC,EAAC,OAAO,EAAC,qBAAqB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gDAAgD,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wEAAwE,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,+JAA+J,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uDAAuD,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gUAAgU,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mYAAmY,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sYAAsY,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kEAAkE,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oBAAoB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8FAA8F,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yWAAyW,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4JAA4J,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iPAAiP,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qGAAqG,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gRAAgR,EAAC,CAAC,CAAC,CAAC;AAF3mM,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;ACrBnB,oCAAqD;;;;;;;;;;;;;ACArD,oCAAoC;;;;;;;;;;;;;;;;;;;;ACApC,wCAAuC;AACvC,oCAA+B;AAC/B,uCAAsC;AAEtC,2CAGyB;AAEzB,6CAAyD;AACzD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC,uDAAsD;AACtD,oDAAmD;AACnD,KAAM,cAAc,GAAG,IAAI,CAAC;AAE5B;KAAuC,qCAA0C;KAQ/E,2BAAY,KAA8B;SAA1C,YACE,kBAAM,KAAK,CAAC,SAMb;SAJC,KAAI,CAAC,iBAAiB,CAAC;aACrB,KAAK,EAAE,OAAO;UACf,CAAC,CAAC;;KAEL,CAAC;KAEM,kCAAM,GAAb;SACM,mBAAqF,EAAnF,gBAAK,EAAE,gBAAK,EAAE,4BAAW,EAAE,oCAAe,EAAE,wBAAS,EAAE,gCAAa,CAAgB;SAE1F,2BAA2B;SAC3B,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACV,KAAK,GAAG,KAAK,CAAC;SAChB,CAAC;SAED,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC;SAEpE,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;aAClE,6BAAK,SAAS,EAAG,eAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAK,KAAK,CAAQ;aACxF,6BAAK,SAAS,EAAG,eAAG,CAAC,mCAAmC,EAAE,MAAM,CAAC,YAAY,CAAC;iBAC5E,6BAAK,SAAS,EAAG,eAAG,CAAC,oCAAoC,EAAE,MAAM,CAAC,aAAa,CAAC,GAAS;iBACzF,6BAAK,SAAS,EAAG,eAAG,CAAC,kCAAkC,EAAE,MAAM,CAAC,WAAW,EAAE;yBAC3E,kBAAkB,EAAE,eAAe,GAAG,cAAc;sBACrD,CAAC,EACA,KAAK,EAAG,EAAE,KAAK,EAAE,eAAe,GAAG,GAAG,EAAE,EACxC,IAAI,EAAC,aAAa,mBACJ,GAAG,mBACH,KAAK,mBACH,eAAe,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,oBACnC,aAAa,GAC1B,CACF;aACN,6BAAK,SAAS,EAAG,eAAG,CAAC,sCAAsC,EAAE,MAAM,CAAC,eAAe,CAAC,IAAK,WAAW,CAAQ,CACxG,CACP,CAAC;KACJ,CAAC;KACH,wBAAC;AAAD,EAAC,CA/CsC,yBAAa;AACpC,+BAAY,GAAG;KAC3B,KAAK,EAAE,EAAE;KACT,WAAW,EAAE,EAAE;KACf,eAAe,EAAE,CAAC;KAClB,KAAK,EAAE,GAAG;EACX,CAAC;AANS,+CAAiB;;;;;;;;;AChB9B,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,QAAQ,EAAE,mBAAmB;KAC7B,eAAe,EAAE,0BAA0B;KAC3C,YAAY,EAAE,uBAAuB;KACrC,aAAa,EAAE,wBAAwB;KACvC,WAAW,EAAE,sBAAsB;KACnC,gBAAgB,EAAE,2BAA2B;EAC9C,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,0DAA0D,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6IAA6I,EAAC,EAAC,EAAC,OAAO,EAAC,qBAAqB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sLAAsL,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wEAAwE,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sJAAsJ,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gGAAgG,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qHAAqH,EAAC,CAAC,CAAC,CAAC;AAF9sC,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;AChBnB,oCAA0C;;;;;;;;;;;;;ACA1C,oCAAyB;AACzB,oCAA+B;;;;;;;;;;;;;;;;;;;;ACD/B,oCAA+B;AAC/B,2CAIyB;AACzB,uCAAkC;AAClC,+CAA0D;AAC1D,6CAA8C;AAC9C,KAAM,MAAM,GAAQ,YAAY,CAAC;AAOjC;KAA4B,0BAAyC;KASnE,gBAAY,KAAmB;SAA/B,YACE,kBAAM,KAAK,CAAC,SASb;SAPC,KAAI,CAAC,KAAK,GAAG;aACX,MAAM,EAAE,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;aACpC,aAAa,EAAE,IAAI;UACpB,CAAC;SAEF,KAAI,CAAC,GAAG,GAAG,iBAAK,CAAC,QAAQ,CAAC,CAAC;SAC3B,KAAI,CAAC,QAAQ,GAAG,iBAAK,CAAC,aAAa,CAAC,CAAC;;KACvC,CAAC;KAEM,0CAAyB,GAAhC,UAAiC,SAAuB;SACtD,EAAE,CAAC,CAAC,OAAO,SAAS,CAAC,MAAM,KAAK,WAAW,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aACtF,IAAI,CAAC,QAAQ,CAAC;iBACZ,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC;cACjC,CAAC,CAAC;SACrB,CAAC;KACH,CAAC;KAEM,uBAAM,GAAb;SACE,IAAI,KAAK,GAAkB,EAAE,CAAC;SAC9B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;aACtD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;SAClC,CAAC;SAED,MAAM,CAAC,6BAAK,SAAS,EAAG,eAAG,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;iBAC3D,GAAC,mBAAmB,GAAG,MAAM,CAAC,WAAW,IAAG,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,yBAAU,CAAC,KAAK;qBAChF,EAAG,IAAI,EAAC,aAAa;aACrB,6BAAK,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,SAAS,CAAC,EAAG,IAAI,EAAC,YAAY,qBAAmB,IAAI,CAAC,KAAK,CAAC,WAAW,IACtH,KAAK,CACH,CACF,CAAC;;KACT,CAAC;KAEO,4BAAW,GAAnB,UAAoB,MAAc;SAChC,IAAM,OAAO,GAAM,IAAI,CAAC,GAAG,SAAI,MAAQ,CAAC;SAExC,MAAM,CAAC,6BAAK,SAAS,EAAG,eAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI;iBACvD,GAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;iBACrE,GAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAG,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa;iBAC3E,GAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAG,IAAI,CAAC,KAAK,CAAC,QAAQ;qBAC7D,EAAG,GAAG,EAAG,MAAM;aACf,+BACE,SAAS,EAAG,eAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,EAChD,IAAI,EAAC,OAAO,EACZ,IAAI,EAAG,IAAI,CAAC,GAAG,EACf,EAAE,EAAG,OAAO,EACZ,KAAK,EAAG,MAAM,qBACO,IAAI,CAAC,QAAQ,SAAI,MAAQ,EAC9C,QAAQ,EAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC9B,OAAO,EAAG,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EACtC,QAAQ,EAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAC5C,OAAO,EAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAC1C,MAAM,EAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GACxC;aACF,+BAAO,SAAS,EAAG,eAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,EAAG,OAAO,EAAG,OAAO;iBACvE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;iBACtB,IAAI,CAAC,QAAQ,EAAE,CACX,CACJ,CAAC;;KACT,CAAC;KAEO,yBAAQ,GAAhB,UAAiB,KAAa,EAAE,EAAiC;SAC/D,IAAI,CAAC,QAAQ,CAAC;aACZ,aAAa,EAAE,KAAK;UACL,CAAC,CAAC;KACrB,CAAC;KAEO,wBAAO,GAAf,UAAgB,MAAc,EAAE,EAAiC;SAC/D,IAAI,CAAC,QAAQ,CAAC;aACZ,aAAa,EAAE,IAAI;UACJ,CAAC,CAAC;KACrB,CAAC;KAEO,0BAAS,GAAjB,UAAkB,MAAc,EAAE,GAAsC;SACtE,IAAI,CAAC,QAAQ,CAAC;aACZ,MAAM,EAAE,MAAM;UACC,CAAC,CAAC;SAEX,oCAAS,CAAgB;SACjC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;aACd,SAAS,CAAC,MAAM,CAAC,CAAC;SACpB,CAAC;KACH,CAAC;KAEO,0BAAS,GAAjB,UAAkB,MAAc;SAC9B,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC;SAEhD,MAAM,CAAC,CACL,8BACE,EAAE,EAAM,IAAI,CAAC,QAAQ,SAAI,MAAQ,EACjC,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,SAAS,CAAC,IAEnD,MAAM,SAAI,IAAM,CAChB,CACR,CAAC;KACJ,CAAC;KAEO,yBAAQ,GAAhB;SACE,MAAM,CAAC,oBAAC,WAAI,IAAC,QAAQ,EAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,kBAAkB,GAAK,CAAC;KACrE,CAAC;KAEO,iCAAgB,GAAxB,UAAyB,KAAmB;SAC1C,EAAE,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC;aACxC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;SACnB,CAAC;SAED,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC;aAC1B,MAAM,CAAC,IAAI,CAAC;SACd,CAAC;SAED,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAC9C,CAAC;KAEO,kCAAiB,GAAzB,UAA0B,MAAc;SACtC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAE5B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KACpE,CAAC;KACH,aAAC;AAAD,EAAC,CAjI2B,yBAAa;AACzB,oBAAY,GAAiB;KACzC,GAAG,EAAE,CAAC;KACN,GAAG,EAAE,CAAC;EACP,CAAC;AAJS,yBAAM;;;;;;;;;;ACyCnB,KAAY,UAGX;AAHD,YAAY,UAAU;KACpB,6CAAS;KACT,6CAAS;AACX,EAAC,EAHW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAGrB;;;;;;;;;AC5DD,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,KAAK,EAAE,gBAAgB;KACvB,SAAS,EAAE,oBAAoB;KAC/B,IAAI,EAAE,eAAe;KACrB,cAAc,EAAE,yBAAyB;KACzC,cAAc,EAAE,yBAAyB;KACzC,KAAK,EAAE,gBAAgB;KACvB,WAAW,EAAE,sBAAsB;KACnC,SAAS,EAAE,oBAAoB;KAC/B,aAAa,EAAE,wBAAwB;EACxC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,4LAA4L,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oGAAoG,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mHAAmH,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mFAAmF,EAAC,EAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oEAAoE,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oEAAoE,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iiBAAiiB,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,GAAG,EAAC,CAAC,CAAC,CAAC;AAFxnD,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;AClBnB,oCAA6C;;;;;;;;;;;;;ACA7C,oCAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA5B,oCAA+B;AAE/B,2CAMyB;AAEzB,uCAAkC;AAClC,6CAAiD;AACjD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAQjC;KAA+B,6BAA+C;KAS5E,mBAAmB,KAAsB;SAAzC,YACE,kBAAM,KAAK,CAAC,SAOb;SALC,KAAI,CAAC,KAAK,GAAG;aACX,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;aACxB,QAAQ,EAAE,KAAK;aACf,EAAE,EAAE,iBAAK,CAAC,WAAW,CAAC;UACvB,CAAC;;KACJ,CAAC;KAEM,6CAAyB,GAAhC,UAAiC,QAAyB;SACxD,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;aACjC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;aACnC,IAAI,CAAC,QAAQ,CAAC;iBACZ,KAAK,EAAE,QAAQ,CAAC,KAAK;cACtB,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAEM,0BAAM,GAAb;SACM,mBAAqC,EAAnC,wBAAS,EAAE,wBAAS,CAAgB;SACtC,mBAAoC,EAAlC,gBAAK,EAAE,sBAAQ,EAAE,UAAE,CAAgB;SACzC,MAAM,CAAC,CACL,sCACE,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EACtC,SAAS,EAAG,eAAG,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI;iBACpD,GAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAG,QAAQ;iBAC9C,GAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAG,KAAK,CAAC,MAAM,GAAG,CAAC;qBACtD,IACG,EAAE,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE;aAE7C,6BACE,SAAS,EAAG,eAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,aAAa,CAAC;iBAEnE,oBAAC,WAAI,IAAC,SAAS,EAAG,eAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,EAAG,QAAQ,EAAC,QAAQ,GAAG,CAC1E;aACN,+BACE,EAAE,EAAG,EAAE,EACP,SAAS,EAAG,eAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,EACnD,WAAW,EAAG,SAAS,EACvB,QAAQ,EAAG,IAAI,CAAC,cAAc,EAC9B,OAAO,EAAG,IAAI,CAAC,cAAc,EAC7B,SAAS,EAAG,IAAI,CAAC,UAAU,EAC3B,KAAK,EAAG,KAAK,gBACA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/E,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,GACvC;aACF,6BACE,SAAS,EAAG,eAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,WAAW,CAAC,EAC/D,OAAO,EAAG,IAAI,CAAC,aAAa;iBAE5B,oBAAC,WAAI,IAAC,QAAQ,EAAC,OAAO,GAAG,CACrB,CACF,CACP,CAAC;;KACJ,CAAC;KAED;;QAEG;KACI,yBAAK,GAAZ;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;aACvB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAC7B,CAAC;KACH,CAAC;KAGO,iCAAa,GAArB,UAAsB,EAAQ;SAC5B,IAAI,CAAC,QAAQ,CAAC;aACZ,KAAK,EAAE,EAAE;UACV,CAAC,CAAC;SACH,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;SACvB,EAAE,CAAC,eAAe,EAAE,CAAC;SACrB,EAAE,CAAC,cAAc,EAAE,CAAC;SAEpB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KAC7B,CAAC;KAGO,mCAAe,GAAvB,UAAwB,EAAiC;SACvD,IAAI,CAAC,QAAQ,CAAC;aACZ,QAAQ,EAAE,IAAI;UACf,CAAC,CAAC;SAEH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KACjE,CAAC;KAGO,8BAAU,GAAlB,UAAmB,EAAyC;SAC1D,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;aAEjB,KAAK,oBAAQ,CAAC,MAAM;iBAClB,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;iBACvB,KAAK,CAAC;aAER,KAAK,oBAAQ,CAAC,KAAK;iBACjB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;qBACvD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACxC,CAAC;iBACD,KAAK,CAAC;aAER;iBACE,MAAM,CAAC;SACX,CAAC;SAED,qDAAqD;SACrD,EAAE,CAAC,cAAc,EAAE,CAAC;SACpB,EAAE,CAAC,eAAe,EAAE,CAAC;KACvB,CAAC;KAGO,2BAAO,GAAf,UAAgB,EAAuC;SACrD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;SAC5C,IAAI,CAAC,QAAQ,CAAC;aACZ,QAAQ,EAAE,KAAK;UAChB,CAAC,CAAC;KACL,CAAC;KAGO,kCAAc,GAAtB,UAAuB,EAAuC;SAC5D,IAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;SACvC,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;aAChC,MAAM,CAAC;SACT,CAAC;SACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAE1B,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAE,CAAC,CAAC;SACzB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC5B,CAAC;KAEO,iCAAa,GAArB,UAAsB,QAAgB;SAChC,mBAAoC,EAAlC,sBAAQ,EAAE,wBAAS,CAAgB;SAEzC,2BAA2B;SAC3B,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;aACd,SAAS,CAAC,QAAQ,CAAC,CAAC;SACtB,CAAC;SAED,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;aACb,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACrB,CAAC;KACH,CAAC;KACH,gBAAC;AAAD,EAAC,CAvJ8B,yBAAa;AAC5B,uBAAY,GAAoB;KAC5C,SAAS,EAAE,QAAQ;EACpB,CAAC;AAyEF;KADC,oBAAQ;+CAUR;AAGD;KADC,oBAAQ;iDAOR;AAGD;KADC,oBAAQ;4CAqBR;AAGD;KADC,oBAAQ;yCAMR;AAGD;KADC,oBAAQ;gDAUR;AAzIU,+BAAS;;;;;;;;;ACpBtB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,aAAa,EAAE,wBAAwB;KACvC,IAAI,EAAE,eAAe;KACrB,KAAK,EAAE,gBAAgB;KACvB,WAAW,EAAE,sBAAsB;KACnC,KAAK,EAAE,gBAAgB;KACvB,YAAY,EAAE,uBAAuB;KACrC,cAAc,EAAE,yBAAyB;KACzC,YAAY,EAAE,uBAAuB;EACtC,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,+GAA+G,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8TAA8T,EAAC,EAAC,EAAC,OAAO,EAAC,eAAe,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2IAA2I,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yFAAyF,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sSAAsS,EAAC,EAAC,EAAC,OAAO,EAAC,qBAAqB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4EAA4E,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uNAAuN,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,ygBAAygB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,qCAAqC,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8CAA8C,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sEAAsE,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uCAAuC,EAAC,EAAC,EAAC,OAAO,EAAC,aAAa,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4LAA4L,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0DAA0D,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6DAA6D,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wIAAwI,EAAC,CAAC,CAAC,CAAC;AAF/zG,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;AClBnB,oCAA0C;;;;;;;;;;;;;ACA1C,oCAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAzB,oCAA+B;AAC/B,2CAQyB;AAEzB,wCAAoC;AACpC,6CAA8C;AAC9C,KAAM,MAAM,GAAQ,YAAY,CAAC;AAOjC,KAAY,aAGX;AAHD,YAAY,aAAa;KACvB,yDAAY;KACZ,iDAAQ;AACV,EAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB;AAED;KAA4B,0BAAyC;KAmBnE,gBAAY,KAAoB;SAAhC,YACE,kBAAM,KAAK,CAAC,SAcb;SAZC,KAAI,CAAC,sBAAsB,CAAC;aAC1B,OAAO,EAAE,cAAc;UACxB,CAAC,CAAC;SAEH,KAAI,CAAC,GAAG,GAAG,iBAAK,CAAC,QAAQ,CAAC,CAAC;SAE3B,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,GAAG,CAAC;SAE3D,KAAI,CAAC,KAAK,GAAG;aACX,KAAK,EAAE,KAAK;aACZ,aAAa,EAAE,KAAK;UACrB,CAAC;;KACJ,CAAC;KAED;;QAEG;KACI,0CAAyB,GAAhC,UAAiC,QAAsB;SAErD,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;aACjC,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;aAE3E,IAAI,CAAC,QAAQ,CAAC;iBACZ,KAAK,EAAE,KAAK;iBACZ,aAAa,EAAE,KAAK;cACrB,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAEM,uBAAM,GAAb;SACQ,mBASQ,EARZ,wBAAS,EACT,wBAAS,EACT,sBAAQ,EACR,gBAAK,EACL,YAAG,EACH,YAAG,EACH,wBAAS,EACT,4BAAW,CACE;SACT,mBAAqC,EAAnC,gBAAK,EAAE,gCAAa,CAAgB;SAC5C,IAAM,kBAAkB,GAAW,CAAC,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;SAE7E,IAAM,eAAe,GAAO,QAAQ,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC;SAC3F,IAAM,gBAAgB,GAAO,QAAQ,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC;SAC7F,IAAM,aAAa,GAAO,QAAQ,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;SAEzE,MAAM,CAAC,CACL,6BACE,SAAS,EAAG,eAAG,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS;iBACjD,GAAC,oBAAoB,GAAG,MAAM,CAAC,aAAa,IAAG,CAAC,QAAQ;iBACxD,GAAC,qBAAqB,GAAG,MAAM,CAAC,cAAc,IAAG,QAAQ;qBACzD,EACF,GAAG,EAAC,MAAM;aACR,KAAK,IAAI,CACT,oBAAC,aAAK,aAAC,SAAS,EAAG,MAAM,CAAC,UAAU,IAAQ,SAAS,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAChF,KAAK,CACD,CACT;aACD,6BAAK,SAAS,EAAG,eAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,SAAS,CAAC;iBAC3D,0DACkB,KAAK,mBACL,GAAG,mBACH,GAAG,IACd,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,WAAW,IAChB,SAAS,EAAG,eAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS;6BAC1E,qBAAqB,EAAE,SAAS;;yBAChC,GAAC,4BAA4B,GAAG,MAAM,CAAC,eAAe,IAAG,CAAC,aAAa,KAAK,KAAK,CAAC;6BAClF,EACF,EAAE,EAAG,IAAI,CAAC,GAAG,EACb,QAAQ,EAAG,QAAQ,EACnB,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,QAAQ;qBAEb,6BACE,GAAG,EAAC,YAAY,EAChB,SAAS,EAAG,eAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC;yBAE9C,uCACE,GAAG,EAAC,OAAO,EACX,SAAS,EAAG,eAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,IAC3C,SAAS,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,IACjD,KAAK,EAAG,kBAAM,EAAE;iCACd,EAAE,OAAO,EAAE,kBAAkB,GAAG,GAAG,EAAE;iCACrC,EAAE,MAAM,EAAE,kBAAkB,GAAG,GAAG,EAAE,IACtC;yBACF,8BAAM,SAAS,EAAG,eAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,aAAa,CAAC,EAAG,KAAK,EAAG,EAAE,OAAO,EAAE,kBAAkB,GAAG,GAAG,EAAE,GAAU;yBACzH,8BAAM,SAAS,EAAG,eAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,eAAe,CAAC,EAAG,KAAK,EAAG,EAAE,OAAO,EAAE,CAAC,GAAG,GAAG,kBAAkB,CAAC,GAAG,GAAG,EAAE,GAAU,CACjI,CACC;iBACP,SAAS,IAAI,oBAAC,aAAK,IAAC,SAAS,EAAG,eAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAK,KAAK,CAAU,CAC3F,CACF,CACmB,CAAC;;KAC9B,CAAC;KAEM,sBAAK,GAAZ;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;SAC1B,CAAC;KACH,CAAC;KAED,sBAAW,yBAAK;cAAhB;aACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SAC1B,CAAC;;;QAAA;KAGO,yCAAwB,GAAhC,UAAiC,KAA8B;SAC7D,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC;aAC/B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;aACzE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;SACtE,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC;aACvC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;aACzE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;SACvE,CAAC;SAED,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KAC5C,CAAC;KAGO,wCAAuB,GAA/B,UAAgC,KAA8B,EAAE,wBAAkC;SAC1F,mBAA+B,EAA7B,YAAG,EAAE,YAAG,EAAE,cAAI,CAAgB;SACtC,IAAM,KAAK,GAAW,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;SACzC,IAAM,kBAAkB,GAAe,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;SACpF,IAAM,YAAY,GAAW,kBAAkB,CAAC,KAAK,CAAC;SACtD,IAAM,UAAU,GAAW,YAAY,GAAG,KAAK,CAAC;SAChD,IAAI,YAAoB,CAAC;SAEzB,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC;aAC7D,YAAY,GAAG,kBAAM,EAAE;iBACrB,CAAC,kBAAkB,CAAC,KAAK,GAAI,KAAoB,CAAC,OAAO,CAAC,GAAG,UAAU;iBACvE,CAAE,KAAoB,CAAC,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;SAC3E,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC;aACrE,YAAY,GAAG,kBAAM,EAAE;iBACrB,CAAC,kBAAkB,CAAC,KAAK,GAAI,KAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,UAAU;iBAClF,CAAE,KAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;SACtF,CAAC;SAED,IAAI,YAAoB,CAAC;SACzB,IAAI,aAAqB,CAAC;SAE1B,iEAAiE;SACjE,EAAE,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACrC,aAAa,GAAG,YAAY,GAAG,GAAG,CAAC;SACrC,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;aAC5B,aAAa,GAAG,YAAY,GAAG,GAAG,CAAC;SACrC,CAAC;SAAC,IAAI,CAAC,CAAC;aACN,aAAa,GAAG,GAAG,GAAG,IAAI,GAAG,YAAY,CAAC;aAC1C,YAAY,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SACvD,CAAC;SAED,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;SAE/C,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;aAC9B,KAAK,CAAC,cAAc,EAAE,CAAC;aACvB,KAAK,CAAC,eAAe,EAAE,CAAC;SAC1B,CAAC;KACH,CAAC;KAEO,6BAAY,GAApB,UAAqB,KAAK,EAAE,aAAa;SAAzC,iBAWC;SAVC,IAAI,YAAY,GAAG,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SAE9C,IAAI,CAAC,QAAQ,CAAC;aACZ,KAAK;aACL,aAAa;UACd,EAAE;aACD,EAAE,CAAC,CAAC,YAAY,IAAI,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACxC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACxC,CAAC;SACH,CAAC,CAAC,CAAC;KACL,CAAC;KAGO,qCAAoB,GAA5B;SAEE,qDAAqD;SACrD,IAAI,CAAC,QAAQ,CAAC;aACZ,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;UAChC,CAAC,CAAC;SAEH,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;KACrB,CAAC;KAGO,2BAAU,GAAlB,UAAmB,KAAoB;SACrC,IAAI,KAAK,GAAW,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SAC/B,mBAA+B,EAA7B,YAAG,EAAE,YAAG,EAAE,cAAI,CAAgB;SAEtC,IAAI,IAAI,GAAW,CAAC,CAAC;SAErB,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;aACpB,KAAK,6BAAiB,CAAC,oBAAQ,CAAC,IAAI,CAAC,CAAC;aACtC,KAAK,oBAAQ,CAAC,IAAI;iBAChB,IAAI,GAAG,CAAC,IAAI,CAAC;iBACb,KAAK,CAAC;aACR,KAAK,6BAAiB,CAAC,oBAAQ,CAAC,KAAK,CAAC,CAAC;aACvC,KAAK,oBAAQ,CAAC,EAAE;iBACd,IAAI,GAAG,IAAI,CAAC;iBACZ,KAAK,CAAC;aAER,KAAK,oBAAQ,CAAC,IAAI;iBAChB,KAAK,GAAG,GAAG,CAAC;iBACZ,KAAK,CAAC;aAER,KAAK,oBAAQ,CAAC,GAAG;iBACf,KAAK,GAAG,GAAG,CAAC;iBACZ,KAAK,CAAC;aAER;iBACE,MAAM,CAAC;SACX,CAAC;SAED,IAAM,QAAQ,GAAW,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;SAEpE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;SAEtC,KAAK,CAAC,cAAc,EAAE,CAAC;SACvB,KAAK,CAAC,eAAe,EAAE,CAAC;KAC1B,CAAC;KAEH,aAAC;AAAD,EAAC,CArP2B,yBAAa;AACzB,oBAAY,GAAO;KAC/B,IAAI,EAAE,CAAC;KACP,GAAG,EAAE,CAAC;KACN,GAAG,EAAE,EAAE;KACP,SAAS,EAAE,IAAI;KACf,QAAQ,EAAE,KAAK;KACf,WAAW,EAAE,EAAE;EAChB,CAAC;AA4HF;KADC,oBAAQ;uDAWR;AAGD;KADC,oBAAQ;sDAsCR;AAgBD;KADC,oBAAQ;mDASR;AAGD;KADC,oBAAQ;yCAmCR;AAnPU,yBAAM;;;;;;;;;ACzBnB,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,UAAU,EAAE,qBAAqB;KACjC,IAAI,EAAE,eAAe;KACrB,aAAa,EAAE,wBAAwB;KACvC,eAAe,EAAE,0BAA0B;KAC3C,eAAe,EAAE,0BAA0B;KAC3C,KAAK,EAAE,gBAAgB;KACvB,QAAQ,EAAE,mBAAmB;KAC7B,SAAS,EAAE,oBAAoB;KAC/B,UAAU,EAAE,qBAAqB;KACjC,aAAa,EAAE,wBAAwB;KACvC,cAAc,EAAE,yBAAyB;EAC1C,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,kWAAkW,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yFAAyF,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kGAAkG,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yCAAyC,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2FAA2F,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oGAAoG,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,wWAAwW,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oCAAoC,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,q1BAAq1B,EAAC,EAAC,EAAC,OAAO,EAAC,kBAAkB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oPAAoP,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2jBAA2jB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,umBAAumB,EAAC,EAAC,EAAC,OAAO,EAAC,YAAY,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,khBAAkhB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8FAA8F,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,yDAAyD,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,8pBAA8pB,EAAC,EAAC,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iEAAiE,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,GAAG,EAAC,CAAC,CAAC,CAAC;AAF92L,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;ACrBnB,oCAAkD;;;;;;;;;;;;;ACAlD,oCAAiC;AACjC,oCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDxC,wCAAuC;AACvC,oCAA+B;AAC/B,uCAAsC;AACtC,2CAAqD;AACrD,wDAAgE;AAEhE,yCAAwC;AACxC,iDAA+D;AAC/D,6CAAsD;AACtD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAMjC;KAAoC,kCAAyD;KAa3F,cAAc;KACd,wBAAY,KAA2B;SAAvC,YACE,kBAAM,KAAK,CAAC,SAIb;SAFC,KAAI,CAAC,KAAK,GAAG,EACZ,CAAC;;KACJ,CAAC;KAEM,+BAAM,GAAb;SACM,mBAA4C,EAA1C,8BAAY,EAAE,gCAAa,CAAgB;SAEjD,MAAM,CAAC,CACL,oBAAC,iBAAO,aACN,SAAS,EAAG,eAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,EACjD,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAClC,aAAa,EAAG,aAAa,IACzB,YAAY;aAEhB,oBAAC,6CAAqB,eAAM,IAAI,CAAC,KAAK,EAAK,CACnC,CACX,CAAC;KACJ,CAAC;KACH,qBAAC;AAAD,EAAC,CAnCmC,yBAAa;AAE/C,gCAA+B;AACjB,4BAAY,GAAG;KAC3B,YAAY,EAAE;SACZ,SAAS,EAAE,EAAE;SACb,QAAQ,EAAE,CAAC;SACX,eAAe,EAAE,IAAI;SACrB,UAAU,EAAE,KAAK;SACjB,eAAe,EAAE,iCAAe,CAAC,WAAW;MAC7C;EACF,CAAC;AAXS,yCAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACf3B,wCAAuC;AACvC,oCAA+B;AAC/B,uCAAsC;AACtC,2CAIyB;AAGzB,yCAAwE;AACxE,wCAA8C;AAC9C,6CAAsD;AACtD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC;KAA2C,yCAAyD;KAelG,cAAc;KACd,+BAAY,KAA2B;SAAvC,YACE,kBAAM,KAAK,CAAC,SAKb;SAHC,KAAI,CAAC,GAAG,GAAG,iBAAK,CAAC,gBAAgB,CAAC,CAAC;SACnC,KAAI,CAAC,KAAK,GAAG,EACZ,CAAC;;KACJ,CAAC;KAEM,sCAAM,GAAb;SACM,mBAA2J,EAAzJ,wCAAiB,EAAE,0CAAkB,EAAE,8CAAoB,EAAE,sBAAQ,EAAE,8CAAoB,EAAE,8BAAY,EAAE,wBAAS,EAAE,8CAAoB,CAAgB;SAEhK,IAAI,YAAY,CAAC;SACjB,IAAI,aAAa,CAAC;SAClB,IAAI,WAAW,CAAC;SAChB,IAAI,aAAa,CAAC;SAClB,IAAI,WAAW,CAAC;SAEhB,EAAE,CAAC,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/C,YAAY,GAAG,CACb,6BAAK,SAAS,EAAG,0BAA0B;iBACzC,oBAAC,aAAK,eAAM,iBAAwB,EAAK,CACrC,CACP,CAAC;SACJ,CAAC;SAED,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;aACb,aAAa,GAAG,CACd,6BAAK,SAAS,EAAG,eAAG,CAClB,0BAA0B,EAC1B,oBAAoB;qBAClB,kCAAkC,GAAG,MAAM,CAAC,aAAa;qBACzD,kCAAkC,GAAG,MAAM,CAAC,aAAa,CAC5D;iBACC,2BAAG,SAAS,EAAG,eAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,QAAQ,CAAC,IAC7D,QAAQ,CACR,CACA,CACP,CAAC;SACJ,CAAC;SAED,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;aACxB,WAAW,GAAG,CACZ,6BAAK,SAAS,EAAG,eAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,IAAI,CAAC;iBACzD,2BAAG,SAAS,EAAG,eAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,OAAO,CAAC,IAC3D,IAAI,CAAC,KAAK,CAAC,QAAQ,CACnB,CACA,CACP,CAAC;SACJ,CAAC;SAED,EAAE,CAAC,CAAC,kBAAkB,IAAI,oBAAoB,CAAC,CAAC,CAAC;aAC/C,aAAa,GAAG,CACd,6BAAK,SAAS,EAAG,eAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,MAAM,CAAC;iBAC3D,kBAAkB,IAAI,CACtB,oBAAC,sBAAa,eACP,kBAAkB,IACvB,SAAS,EAAG,eAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,SAAS,CAAC,IACtG,CACH;iBACC,oBAAoB,IAAI,CACxB,oBAAC,sBAAa,eACP,oBAAoB,IACzB,SAAS,EAAG,eAAG,CAAC,mCAAmC,EAAE,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAC5G,CACH,CACG,CACP,CAAC;SACJ,CAAC;SAED,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;aACjB,WAAW,GAAG,CACZ,oBAAC,mBAAU,IACT,SAAS,EAAG,eAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,WAAW,CAAC,EACpE,SAAS,EAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAClC,KAAK,EAAG,oBAAoB,EAC5B,SAAS,EAAG,oBAAoB,EAChC,OAAO,EAAG,SAAS,GACnB,CACH,CAAC;SACJ,CAAC;SAED,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,eAAG,CAAC,2BAA2B,CAAC;aAC7C,YAAY;aACZ,WAAW;aACb,6BAAK,SAAS,EAAG,eAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,WAAW,CAAC;iBACrE,aAAa;iBACb,WAAW;iBACX,aAAa,CACX,CACF,CACP,CAAC;KACJ,CAAC;KACH,4BAAC;AAAD,EAAC,CA7G0C,yBAAa;AAEtD,gCAA+B;AACjB,mCAAY,GAAG;KAC3B,oBAAoB,EAAE,KAAK;KAC3B,UAAU,EAAE;SACV,QAAQ,EAAE,gBAAQ,CAAC,KAAK;SACxB,KAAK,EAAE,GAAG;SACV,MAAM,EAAE,GAAG;MACZ;EACF,CAAC;AAVS,uDAAqB;;;;;;;;;ACflC,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,WAAW,EAAE,sBAAsB;KACnC,aAAa,EAAE,wBAAwB;KACvC,QAAQ,EAAE,mBAAmB;KAC7B,aAAa,EAAE,wBAAwB;KACvC,IAAI,EAAE,eAAe;KACrB,OAAO,EAAE,kBAAkB;KAC3B,WAAW,EAAE,sBAAsB;KACnC,MAAM,EAAE,iBAAiB;KACzB,aAAa,EAAE,wBAAwB;KACvC,eAAe,EAAE,0BAA0B;EAC5C,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,gLAAgL,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,uaAAua,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,sFAAsF,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,0YAA0Y,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,2DAA2D,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gBAAgB,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gGAAgG,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iEAAiE,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gBAAgB,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iEAAiE,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gBAAgB,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kEAAkE,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gBAAgB,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,6DAA6D,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gBAAgB,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,kGAAkG,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mEAAmE,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gBAAgB,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,mEAAmE,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gBAAgB,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,oEAAoE,EAAC,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,gBAAgB,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,GAAG,EAAC,CAAC,CAAC,CAAC;AAF1tG,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;ACpBnB,oCAA0C;;;;;;;;;;;;;ACA1C,oCAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAzB,oCAA+B;AAC/B,2CAOyB;AAMzB,wCAAoC;AACpC,yCAEuB;AAEvB,gDAA4C;AAe5C;KAA4B,0BAAyC;KAKnE,gBAAY,KAAmB;SAA/B,YACE,iBAAO,SAUR;SARC,KAAI,CAAC,sBAAsB,CAAC;aAC1B,OAAO,EAAE,gBAAgB;UAC1B,CAAC,CAAC;SAEH,KAAI,CAAC,KAAK,GAAG;aACX,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,cAAc,CAAC;UACrD,CAAC;SACF,KAAI,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,iBAAK,CAAC,QAAQ,CAAC,CAAC;;KACzC,CAAC;KAKD,sBAAW,2BAAO;SAHlB;;YAEG;cACH;aACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;SAC9B,CAAC;;;QAAA;KAEM,0CAAyB,GAAhC,UAAiC,QAAsB;SACrD,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC;aACnC,IAAI,CAAC,QAAQ,CAAC;iBACZ,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,wBAAwB;cACvD,CAAC,CAAC;SACL,CAAC;KACH,CAAC;KAEM,uBAAM,GAAb;SACE,mFAAmF;SACnF,mIAAmI;SACnI,kGAAkG;SAClG,sIAAsI;SACtI,6BAA6B;SAL/B,iBAwDC;SAjDK,mBASY,EARd,wBAAS,EACT,wBAAoB,EACpB,sBAAQ,EACR,gBAAK,EACL,8BAAY,EACZ,oBAAO,EACP,4BAAW,EACX,kBAAM,CACS;SACX,oCAAS,CAAgB;SAC/B,IAAI,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;SAC7C,IAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;SACzD,IAAM,iBAAiB,GAAG,0BAAc,CAAC,IAAI,CAAC,KAAK,EAAE,2BAAe,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;SAC1F,IAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CACpC,yBAAS,CAAC,SAAS,EAAE,YAAY,CAAC,EAClC,SAAS,EACT,QAAQ,EACR,SAAS,CACV,CAAC;SAEF,MAAM,CAAC,CACL,6BAAK,SAAS,EAAG,UAAU,CAAC,IAAI;aAE5B,KAAK,IAAI,CACT,oBAAC,aAAK,IAAC,OAAO,EAAG,IAAI,CAAC,GAAG,EAAG,SAAS,EAAG,UAAU,CAAC,KAAK,IAAK,KAAK,CAAU,CAC7E;aAED,6BAAK,SAAS,EAAG,UAAU,CAAC,SAAS;iBACnC,2CACO,iBAAiB,IACtB,SAAS,EAAG,UAAU,CAAC,IAAI,EAC3B,GAAG,EAAG,UAAC,CAAC,IAAwB,YAAI,CAAC,aAAa,GAAG,CAAC,EAAtB,CAAsB,mBACtC,QAAQ,kBACT,SAAS,EACxB,EAAE,EAAG,IAAI,CAAC,GAAG,EACb,QAAQ,EAAG,cAAoB,CAAC,EAChC,QAAQ,EAAG,QAAQ,uBACC,IAAI,EACxB,OAAO,EAAG,IAAI,CAAC,QAAQ;qBAEvB,6BAAK,SAAS,EAAG,UAAU,CAAC,KAAK,GAAK,CAC/B;iBACP,SAAS,IAAI,CACb,oBAAC,aAAK,IAAC,SAAS,EAAG,UAAU,CAAC,IAAI,IAAK,SAAS,CAAU,CAC3D,CACG,CACD,CACR,CAAC;KACJ,CAAC;KAEM,sBAAK,GAAZ;SACE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;aACvB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAC7B,CAAC;KACH,CAAC;KAGO,yBAAQ,GAAhB,UAAiB,EAAiC;SAC5C,mBAA4C,EAA1C,oBAAO,EAAE,wBAAS,EAAE,oBAAO,CAAgB;SAC3C,oCAAS,CAAgB;SAE/B,wDAAwD;SACxD,EAAE,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC;aAC1B,IAAI,CAAC,QAAQ,CAAC;iBACZ,SAAS,EAAE,CAAC,SAAS;cACtB,CAAC,CAAC;SACL,CAAC;SAED,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;aACd,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;SACxB,CAAC;SAED,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aACZ,OAAO,CAAC,EAAE,CAAC,CAAC;SACd,CAAC;KACH,CAAC;KAGO,+BAAc,GAAtB,UACE,MAAqB,EACrB,SAAiB,EACjB,QAAiB,EACjB,SAAkB;SAGlB,MAAM,CAAC;aACL,IAAI,EAAE,qBAAW,CACf,WAAW,EACX,SAAS,IAAI,YAAY,EACzB,CAAC,QAAQ,IAAI,YAAY,EACzB,QAAQ,IAAI,aAAa,EACzB,SAAS,EACT,MAAM,CAAC,IAAI,CACF;aAEX,KAAK,EAAE,qBAAW,CAChB,iBAAiB,EACjB,MAAM,CAAC,KAAK,CACH;aAEX,SAAS,EAAE,qBAAW,CACpB,0BAA0B,EAC1B,MAAM,CAAC,SAAS,CACP;aAEX,IAAI,EAAE,qBAAW,CACf,sBAAsB,EACtB,MAAM,CAAC,IAAI,EACX,CAAC,QAAQ,IAAI;iBACX,CAAC,SAAS,IAAI;qBACZ,QAAQ,EAAE,MAAM,CAAC,WAAW;qBAC5B,yBAAyB,EAAE,MAAM,CAAC,YAAY;kBAC/C;iBACD,SAAS,IAAI;qBACX,MAAM,CAAC,WAAW;qBAClB;yBACE,QAAQ,EAAE,MAAM,CAAC,kBAAkB;yBACnC,yBAAyB,EAAE,MAAM,CAAC,mBAAmB;sBACtD;kBACF;cACF,EACD,QAAQ,IAAI;iBACV,CAAC,SAAS,IAAI,MAAM,CAAC,YAAY;iBACjC,SAAS,IAAI,MAAM,CAAC,mBAAmB;cACxC,CACQ;aAEX,KAAK,EAAE,qBAAW,CAChB,iBAAiB,EACjB,MAAM,CAAC,KAAK,EACZ,CAAC,QAAQ,IAAI,SAAS,IAAI,MAAM,CAAC,YAAY,EAC7C,QAAQ,IAAI;iBACV,CAAC,SAAS,IAAI,MAAM,CAAC,aAAa;iBAClC,SAAS,IAAI,MAAM,CAAC,oBAAoB;cACzC,CACQ;aAEX,IAAI,EAAE,qBAAW,CACf,qBAAqB,EACrB,MAAM,CAAC,IAAI,CACF;UAEZ,CAAC;KACJ,CAAC;KAAA,CAAC;KAEJ,aAAC;AAAD,EAAC,CA1L2B,yBAAa,GA0LxC;AAxFC;KADC,oBAAQ;uCAmBR;AAGD;KADC,mBAAO;6CAkEP;AAxLU,yBAAM;;;;;;;;;;ACjCnB,yCAKuB;AACvB,2CAAkD;AAErC,kBAAS,GAAG,2BAAe,CAAC,UACvC,KAA0B,EAC1B,YAA4B;KAD5B,gCAAgB,kBAAQ,EAAE;KAGlB,yCAAc,CAAW;KACjC,IAAM,uBAAuB,GAAG,cAAc,CAAC,cAAc,CAAC;KAC9D,IAAM,qBAAqB,GAAG,cAAc,CAAC,uBAAuB,CAAC;KACrE,IAAM,4BAA4B,GAAG,cAAc,CAAC,8BAA8B,CAAC;KACnF,IAAM,6BAA6B,GAAG,cAAc,CAAC,YAAY,CAAC;KAClE,IAAM,eAAe,GAAG,cAAc,CAAC,kBAAkB,CAAC;KAC1D,IAAM,sBAAsB,GAAG,cAAc,CAAC,uBAAuB,CAAC;KACtE,IAAM,uBAAuB,GAAG,cAAc,CAAC,YAAY,CAAC;KAC5D,IAAM,8BAA8B,GAAG,cAAc,CAAC,kBAAkB,CAAC;KACzE,IAAM,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC;KACnD,IAAM,sBAAsB,GAAG,cAAc,CAAC,kBAAkB,CAAC;KACjE,IAAM,uBAAuB,GAAG,cAAc,CAAC,YAAY,CAAC;KAC5D,IAAM,sBAAsB,GAAG,cAAc,CAAC,WAAW,CAAC;KAE1D,IAAM,MAAM,GAAkB;SAC5B,IAAI,EAAE;aACJ,YAAY,EAAE,KAAK;UACpB;SAED,SAAS,EAAE;aACT;iBACE,OAAO,EAAE,aAAa;iBACtB,QAAQ,EAAE,UAAU;cACrB;UACF;SAED,IAAI,EAAE;aACJ,uBAAa,CAAC,KAAK,EAAE,MAAM,CAAC;aAC5B;iBACE,QAAQ,EAAE,MAAM;iBAChB,UAAU,EAAE,KAAK;iBACjB,SAAS,EAAE,YAAY;iBACvB,QAAQ,EAAE,UAAU;iBACpB,KAAK,EAAE,OAAO;iBACd,MAAM,EAAE,KAAK;iBACb,YAAY,EAAE,KAAK;iBACnB,UAAU,EAAE,eAAe;iBAC3B,WAAW,EAAE,KAAK;iBAClB,WAAW,EAAE,OAAO;iBACpB,UAAU,EAAE,uBAAuB;iBACnC,WAAW,EAAE,eAAe;cAC7B;UACF;SAED,WAAW,EAAE;aACX,WAAW,EAAE,sBAAsB;UACpC;SAED,WAAW,EAAE;aACX,UAAU,EAAE,qBAAqB;aACjC,WAAW,EAAE,aAAa;UAC3B;SAED,kBAAkB,EAAE;aAClB,eAAe,EAAE,4BAA4B;aAC7C,WAAW,EAAE,aAAa;UAC3B;SAED,YAAY,EAAE;aACZ,WAAW,EAAE,uBAAuB;UACrC;SAED,mBAAmB,EAAE;aACnB,eAAe,EAAE,6BAA6B;aAC9C,WAAW,EAAE,aAAa;UAC3B;SAED,KAAK,EAAE;aACL,KAAK,EAAE,MAAM;aACb,MAAM,EAAE,MAAM;aACd,YAAY,EAAE,MAAM;aACpB,QAAQ,EAAE,UAAU;aACpB,GAAG,EAAE,MAAM;aACX,UAAU,EAAE,eAAe;aAC3B,eAAe,EAAE,eAAe;aAChC,IAAI,EAAE,MAAM;UACb;SAED,YAAY,EAAE;aACZ,eAAe,EAAE,sBAAsB;aACvC,IAAI,EAAE,OAAO;UACd;SAED,aAAa,EAAE;aACb,eAAe,EAAE,uBAAuB;aACxC,IAAI,EAAE,MAAM;UACb;SAED,oBAAoB,EAAE;aACpB,eAAe,EAAE,8BAA8B;aAC/C,IAAI,EAAE,OAAO;UACd;SAED,IAAI,EAAE;aACJ,8FAA8F;aAC9F,oGAAoG;aACpG,sBAAsB,EAAE;iBACtB,OAAO,EAAE,GAAG;iBACZ,MAAM,EAAE,QAAQ;iBAChB,UAAU,EAAE,MAAM;cACnB;UACF;MAEF,CAAC;KAEF,MAAM,CAAC,wBAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC9C,EAAC,CAAC,CAAC;;;;;;;;;;;;;ACvHH,oCAA2C;;;;;;;;;;;;;ACA3C,oCAA0B;AAC1B,oCAAgC;AAChC,oCAA8B;AAC9B,oCAAoC;AACpC,mCAA6C;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ7C,wCAAuC;AACvC,oCAA+B;AAC/B,uCAAsC;AACtC,2CAKyB;AACzB,gDAA8D;AAC9D,yCAAwC;AACxC,iDAA+D;AAC/D,6CAA+C;AAC/C,KAAM,MAAM,GAAQ,YAAY,CAAC;AACjC,yCAAoD;AAEpD;KAA6B,2BAAiC;KAA9D;;KAsDA,CAAC;KAvCQ,wBAAM,GAAb;SACQ,mBAQQ,EAPZ,gCAAa,EACb,oBAAO,EACP,8BAAY,EACZ,oCAAe,EACf,gBAAK,EACL,UAAE,EACF,uBAAuC,EAAvC,4DAAuC,CAC1B;SAEf,MAAM,CAAC,CACL,oBAAC,iBAAO,aACN,SAAS,EAAG,eAAG,CACb,YAAY,EACZ,6BAAmB,CAAC,SAAS,EAC7B,MAAM,CAAC,IAAI;iBACT,GAAC,MAAM,CAAC,cAAc,IAAG,KAAK,KAAK,4BAAY,CAAC,MAAM;qBAEzD,EACD,aAAa,EAAG,aAAa,EAC7B,eAAe,EAAG,eAAe,IAC7B,YAAY,EACX,0BAAc,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAa,CAAC;aAE9C,6BAAK,SAAS,EAAG,eAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,OAAO,CAAC,EAAG,EAAE,EAAG,EAAE,EAAG,IAAI,EAAC,SAAS,IACjF,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAChD,CACG,CACZ,CAAC;;KACJ,CAAC;KAEO,kCAAgB,GAAxB,UAAyB,KAAoB;SAC3C,MAAM,CAAC,CACL,2BAAG,SAAS,EAAG,eAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,OAAO,CAAC,IACpD,KAAK,CAAC,OAAO,CACb,CACL,CAAC;KACJ,CAAC;KACH,cAAC;AAAD,EAAC,CAtD4B,yBAAa;AAExC,gCAA+B;AACjB,qBAAY,GAAG;KAC3B,eAAe,EAAE,iCAAe,CAAC,SAAS;KAC1C,KAAK,EAAE,4BAAY,CAAC,MAAM;KAC1B,YAAY,EAAE;SACZ,aAAa,EAAE,IAAI;SACnB,SAAS,EAAE,EAAE;SACb,QAAQ,EAAE,CAAC;SACX,eAAe,EAAE,IAAI;SACrB,UAAU,EAAE,KAAK;MAClB;EACF,CAAC;AAbS,2BAAO;;;;;;;;;;ACqCpB,KAAY,YAGX;AAHD,YAAY,YAAY;KACtB,+CAAQ;KACR,mDAAU;AACZ,EAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;;;;;;;;;ACxDD,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;KACrB,cAAc,EAAE,yBAAyB;KACzC,OAAO,EAAE,kBAAkB;KAC3B,OAAO,EAAE,kBAAkB;EAC5B,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,4CAA4C,EAAC,EAAC,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,iKAAiK,EAAC,EAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,cAAc,EAAC,SAAS,EAAC,EAAC,EAAC,WAAW,EAAC,4EAA4E,EAAC,CAAC,CAAC,CAAC;AAFnb,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbnB,wCAAuC;AACvC,oCAA+B;AAC/B,uCAAsC;AACtC,2CASyB;AACzB,oDAA6E;AAC7E,0CAAoC;AACpC,gDAA+C;AAE/C,6CAAmD;AACnD,KAAM,MAAM,GAAQ,YAAY,CAAC;AAMjC;KAAiC,+BAAmD;KAQlF,cAAc;KACd,qBAAY,KAAwB;SAApC,YACE,kBAAM,KAAK,CAAC,SAKb;SAHC,KAAI,CAAC,KAAK,GAAG;aACX,gBAAgB,EAAE,KAAK;UACxB,CAAC;;KACJ,CAAC;KAED,SAAS;KACF,4BAAM,GAAb;SACQ,mBASQ,EARZ,8BAAY,EACZ,8BAAY,EACZ,oBAAO,EACP,sBAAQ,EACR,oCAAe,EACf,gBAAK,EACL,UAAE,EACF,gCAAa,CACA;SACP,kDAAgB,CAAgB;SACxC,IAAM,SAAS,GAAG,EAAE,IAAI,iBAAK,CAAC,SAAS,CAAC,CAAC;SACzC,MAAM,CAAC,CACL,sCACE,SAAS,EAAG,eAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,EAC7D,GAAG,EAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IACjC,EAAE,cAAc,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAC7C,EAAE,aAAa,EAAE,IAAI,CAAC,oBAAoB,EAAE,IACjD,YAAY,EAAG,IAAI,CAAC,oBAAoB,EACxC,YAAY,EAAG,IAAI,CAAC,oBAAoB,sBACrB,gBAAgB,GAAG,SAAS,GAAG,SAAS;aAEzD,QAAQ;aACR,gBAAgB,IAAI,CACpB,oBAAC,iBAAO,eACD,YAAY,IACjB,EAAE,EAAG,SAAS,EACd,KAAK,EAAG,KAAK,EACb,OAAO,EAAG,OAAO,EACjB,aAAa,EAAG,IAAI,CAAC,iBAAiB,EAAE,EACxC,eAAe,EAAG,eAAe,EACjC,YAAY,EAAG,kBAAM,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC,IAC5E,0BAAc,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAa,CAAC,EAEtC,CACX,CACG,CACP,CAAC;KACJ,CAAC;KAEO,uCAAiB,GAAzB;SACU,0CAAY,CAAgB;SAEpC,2GAA2G;SAC3G,sDAAsD;SACtD,EAAE,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC;aAC/B,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;iBACrB,KAAK,uCAAmB,CAAC,MAAM;qBAC7B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;iBAEzC,KAAK,uCAAmB,CAAC,IAAI;qBAC3B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;aAC7B,CAAC;SACH,CAAC;SAED,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;KAC3B,CAAC;KAED,eAAe;KAEP,0CAAoB,GAA5B,UAA6B,EAAO;SAC1B,0CAAY,CAAgB;SAEpC,EAAE,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC;aAC/B,IAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;aACjD,EAAE,CAAC,CAAC,eAAe,IAAI,CAAC,uBAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;iBACrD,MAAM,CAAC;aACT,CAAC;SACH,CAAC;SAED,IAAI,CAAC,QAAQ,CAAC;aACZ,gBAAgB,EAAE,IAAI;UACvB,CAAC,CAAC;KACL,CAAC;KAED,eAAe;KAEP,0CAAoB,GAA5B,UAA6B,EAAO;SAClC,IAAI,CAAC,QAAQ,CAAC;aACZ,gBAAgB,EAAE,KAAK;UACxB,CAAC,CAAC;KACL,CAAC;KAED,eAAe;KAEP,8CAAwB,GAAhC;SACE,IAAI,CAAC,QAAQ,CAAC;aACZ,gBAAgB,EAAE,KAAK;UACxB,CAAC,CAAC;KACL,CAAC;KACH,kBAAC;AAAD,EAAC,CA7GgC,yBAAa;AAC9B,yBAAY,GAAG;KAC3B,KAAK,EAAE,4BAAY,CAAC,MAAM;EAC3B,CAAC;AA4EF;KADC,oBAAQ;wDAcR;AAID;KADC,oBAAQ;wDAKR;AAID;KADC,oBAAQ;4DAKR;AA5GU,mCAAW;;;;;;;;;;ACdxB,KAAY,mBAMX;AAND,YAAY,mBAAmB;KAC7B,6DAA6D;KAC7D,iEAAM;KAEN,iEAAiE;KACjE,6DAAI;AACN,EAAC,EANW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAM9B;;;;;;;;;AChBD,qBAAoB;AACpB,oDAA2D;AAE3D,KAAM,MAAM,GAAG;KACb,IAAI,EAAE,eAAe;EACtB,CAAC;AAIF,gCAAU,CAAC,CAAC,EAAC,WAAW,EAAC,gCAAgC,EAAC,CAAC,CAAC,CAAC;AAF7D,kBAAS,MAAM,CAAC;AAGhB,oBAAmB;;;;;;;;;;;ACVnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAgB,iBAAiB;AACjC;AACA;AACA,yCAAwC,gBAAgB;AACxD,KAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,aAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjDA,kD;;;;;;;AC0CA;KAAA;KAyCA,CAAC;KAxCe,+BAAmB,GAAjC,UAAkC,GAAW,EAAE,OAAgB;SAC7D,IAAI,KAAK,GAAW,SAAS,CAAC;SAE9B,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;aACzC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;iBAChD,IAAM,UAAU,GAAU,OAAO,CAAC,CAAC,CAAC,CAAC;iBACrC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;qBAC3B,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;qBACzB,KAAK,CAAC;iBACR,CAAC;aACH,CAAC;SACH,CAAC;SAED,MAAM,CAAC,KAAK,CAAC;KACf,CAAC;KAEa,8BAAkB,GAAhC,UAAiC,MAAe,EAAE,OAAe;SAC/D,IAAM,QAAQ,GAAW,WAAW,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;SAC7E,IAAM,MAAM,GAAW,WAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SACzE,IAAM,KAAK,GAAW,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SACvE,IAAM,KAAK,GAAW,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SACvE,EAAE,CAAC,CAAC,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;aACzC,MAAM,CAAI,OAAO,8CAAyC,QAAQ,kBAAa,MAAM,iBAAY,KAAK,eAAU,KAAK,2EACtD,CAAC;SAClE,CAAC;SACD,IAAI,CAAC,CAAC;aACJ,MAAM,CAAC,EAAE,CAAC;SACZ,CAAC;KACH,CAAC;KAEa,yBAAa,GAA3B,UAA4B,QAAgB;SAC1C,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;aACjB,KAAK,IAAI;iBACP,MAAM,CAAC,QAAQ,CAAC;aAClB,KAAK,IAAI;iBACP,MAAM,CAAC,UAAU,CAAC;aACpB;iBACE,MAAM,CAAC,EAAE,CAAC;SACd,CAAC;KACH,CAAC;KACH,kBAAC;AAAD,EAAC;AAzCY,mCAAW;;;;;;;;;AC1CxB;KAAA;KAaA,CAAC;KAZe,qBAAe,GAA7B,UAA8B,SAAiB,EAAE,OAAe,EAAE,IAAkB;SAAlB,iCAAkB;SAClF,MAAM,CAAI,OAAO,yCAAoC,IAAI,qBAAgB,SAAW,CAAC;KACvF,CAAC;KAEa,UAAI,GAAlB,UAAmB,CAAS;SAC1B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;aACtB,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;SACtC,CAAC;SACD,IAAI,CAAC,CAAC;aACJ,MAAM,CAAC,CAAC,CAAC;SACX,CAAC;KACH,CAAC;KACH,YAAC;AAAD,EAAC;AAbY,uBAAK;;;;;;;;;;;;;;;;;;;ACAlB,kD;;;;;;;;;;;;ACAA,oCAA+B;AAE/B,0DAAgD;AAEhD,0CAA6I;AAC7I,8CAA4E;AAC5E,wCAAoC;AACpC,uDAMgC;AAsBhC;KAAyC,+BAAqD;KAC5F,qBAAY,KAAwB,EAAE,KAAwB;SAA9D,YACE,kBAAM,KAAK,CAAC,SAOb;SALC,KAAI,CAAC,KAAK,GAAG;aACX,MAAM,EAAE,EAAE;aACV,OAAO,EAAE,IAAI;aACb,KAAK,EAAE,IAAI;UACZ,CAAC;;KACJ,CAAC;KAEM,uCAAiB,GAAxB;SACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;KACjE,CAAC;KAEM,wCAAkB,GAAzB,UAA0B,SAA4B,EAAE,SAA4B,EAAE,WAAgB;SACpG,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,cAAc;aACxD,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO,IAAI,CAC1C,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAChD,CAAC,CAAC,CAAC;aACJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;SACjE,CAAC;KACH,CAAC;KAEM,4BAAM,GAAb;SAAA,iBAyBC;SAxBC,IAAM,OAAO,GAAgB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,6BAAK,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;aAAE,oBAAC,gCAAO,IAAC,KAAK,EAAE,YAAY,GAAI,CAAM,GAAG,gCAAM,CAAC;SACpI,IAAM,KAAK,GAAgB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG;aAAK,8CAAwB;;aAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAO,GAAG,gCAAM,CAAC;SAC9G,IAAM,MAAM,GAAkB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,MAAe,EAAE,CAAS;aAC7E,MAAM,CAAC,CACL,oBAAC,gCAAO,IACN,WAAW,EAAE,MAAM,CAAC,IAAI,EACxB,aAAa,EAAE,MAAM,CAAC,QAAQ,EAC9B,YAAY,EAAE,MAAM,CAAC,UAAU,EAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,IAAI,EAAE,oCAAW,CAAC,KAAK,EACvB,QAAQ,EAAE,wCAAe,CAAC,IAAI,EAC9B,OAAO,EAAE,cAAQ,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EACtD,GAAG,EAAE,MAAM,CAAC,KAAK,GAAI,CACxB,CAAC;SACJ,CAAC,CAAC,CAAC;SAEH,MAAM,CAAC,CACL,6BAAK,SAAS,EAAE,iCAAM,CAAC,WAAW;aAChC,6BAAK,SAAS,EAAE,4BAAG,CAAC,YAAY,EAAE,iCAAM,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAO;aAC/E,OAAO;aACP,KAAK;aACL,MAAM,CACH,CACP,CAAC;KACJ,CAAC;KAEO,gCAAU,GAAlB,UAAmB,GAAW;SAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;KAC7B,CAAC;KAEO,gCAAU,GAAlB,UAAmB,OAAe,EAAE,cAAsB;SAA1D,iBAiDC;SAhDC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAI,OAAO,gKAA2J,cAAgB,EAAE,sBAAY,CAAC,cAAc,CAAC,EAAE,EAAG;aAChP,OAAO,EAAE;iBACP,QAAQ,EAAE,mCAAmC;iBAC7C,eAAe,EAAE,EAAE;cACpB;UACF,CAAC;cACC,IAAI,CAAC,UAAC,QAA8B;aACnC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACzB,CAAC,CAAC;cACD,IAAI,CAAC,UAAC,QAA8B;aACnC,EAAE,CAAC,CAAC,CAAC,QAAQ;iBACX,CAAC,QAAQ,CAAC,kBAAkB;iBAC5B,CAAC,QAAQ,CAAC,kBAAkB,CAAC,eAAe;iBAC5C,QAAQ,CAAC,kBAAkB,CAAC,eAAe,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC;iBAC7D,KAAI,CAAC,QAAQ,CAAC;qBACZ,OAAO,EAAE,KAAK;qBACd,KAAK,EAAE,IAAI;qBACX,MAAM,EAAE,EAAE;kBACX,CAAC,CAAC;iBACH,MAAM,CAAC;aACT,CAAC;aAED,IAAM,MAAM,GAAc,EAAE,CAAC;aAC7B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,kBAAkB,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;iBAC/F,IAAM,SAAS,GAAS,QAAQ,CAAC,kBAAkB,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAClF,IAAM,KAAK,GAAW,yBAAW,CAAC,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;iBACpF,MAAM,CAAC,IAAI,CAAC;qBACV,IAAI,EAAE,yBAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC;qBAC/D,KAAK,EAAE,KAAK;qBACZ,QAAQ,EAAE,yBAAW,CAAC,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC;qBACtE,UAAU,EAAE,yBAAW,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC;qBAC1E,QAAQ,EAAE,aAAK,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC;qBACpD,UAAU,EAAE,yBAAW,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC;kBACrE,CAAC,CAAC;aACL,CAAC;aAED,KAAI,CAAC,QAAQ,CAAC;iBACZ,OAAO,EAAE,KAAK;iBACd,KAAK,EAAE,IAAI;iBACX,MAAM,EAAE,MAAM;cACf,CAAC,CAAC;SACL,CAAC,EAAE,UAAC,KAAU;aACZ,KAAI,CAAC,QAAQ,CAAC;iBACZ,OAAO,EAAE,KAAK;iBACd,KAAK,EAAE,KAAK;iBACZ,MAAM,EAAE,EAAE;cACX,CAAC,CAAC;SACL,CAAC,CAAC,CAAC;KACP,CAAC;KACH,kBAAC;AAAD,EAAC,CAzGwC,KAAK,CAAC,SAAS,GAyGvD;;;;;;;;;;;AC5ID,qBAAoB;AACpB,oBAAO,CAAC,GAA0B,CAAC,CAAC;AACpC,KAAM,MAAM,GAAG;KACb,WAAW,EAAE,sBAAsB;KACnC,YAAY,EAAE,uBAAuB;EACtC,CAAC;;AAEF,mBAAe,MAAM,CAAC;AACtB,oBAAmB;;;;;;;;ACRnB;AACA;;AAEA;;AAEA;AACA,gBAAe,oBAAoB;;AAEnC,oD;;;;;;ACRA;AACA;;;AAGA;AACA,wEAAuE,kBAAkB,kCAAkC,UAAU,cAAc,kCAAkC,eAAe;;AAEpM","file":"working-with.bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 5512d937556347a62a8c","import * as React from 'react';\r\nimport * as ReactDom from 'react-dom';\r\nimport { Version } from '@microsoft/sp-core-library';\r\nimport {\r\n BaseClientSideWebPart,\r\n IPropertyPaneConfiguration,\r\n PropertyPaneTextField,\r\n IWebPartContext,\r\n PropertyPaneSlider\r\n\r\n} from '@microsoft/sp-webpart-base';\r\nimport { escape } from '@microsoft/sp-lodash-subset';\r\n\r\nimport * as strings from 'workingWithStrings';\r\nimport WorkingWith, { IWorkingWithProps } from './components/WorkingWith';\r\nimport { IWorkingWithWebPartProps } from './IWorkingWithWebPartProps';\r\n\r\n\r\nexport default class WorkingWithWebPart extends BaseClientSideWebPart<IWorkingWithWebPartProps> {\r\n\r\n public constructor(context: IWebPartContext) {\r\n super();\r\n }\r\n\r\n public render(): void {\r\n const element: React.ReactElement<IWorkingWithProps> = React.createElement(WorkingWith, {\r\n numberOfPeople: this.properties.numberOfPeople,\r\n title: this.properties.title,\r\n httpClient: this.context.spHttpClient,\r\n siteUrl: this.context.pageContext.web.absoluteUrl\r\n });\r\n\r\n ReactDom.render(element, this.domElement);\r\n }\r\n\r\n protected get dataVersion(): Version {\r\n return Version.parse('1.0');\r\n }\r\n\r\n protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {\r\n return {\r\n pages: [\r\n {\r\n header: {\r\n description: strings.PropertyPaneDescription\r\n },\r\n groups: [\r\n {\r\n groupName: strings.ViewGroupName,\r\n groupFields: [\r\n PropertyPaneTextField('title', {\r\n label: strings.TitleFieldLabel\r\n }),\r\n PropertyPaneSlider('numberOfPeople', {\r\n label: strings.NumberOfPeopleFieldLabel,\r\n min: 1,\r\n max: 10,\r\n step: 1\r\n })\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/webparts/workingWith/WorkingWithWebPart.ts","module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@microsoft/sp-core-library\"\n// module id = 1\n// module chunks = 0 1 2 3","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"react\"\n// module id = 2\n// module chunks = 0 1 2 3","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"react-dom\"\n// module id = 3\n// module chunks = 0 1 2 3","module.exports = __WEBPACK_EXTERNAL_MODULE_4__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@microsoft/sp-webpart-base\"\n// module id = 4\n// module chunks = 0 1 2 3","export * from './Async';\r\nexport * from './AutoScroll';\r\nexport * from './BaseComponent';\r\nexport * from './Customizer';\r\nexport * from './DelayedRender';\r\nexport * from './EventGroup';\r\nexport * from './IDisposable';\r\nexport * from './IPoint';\r\nexport * from './IRectangle';\r\nexport * from './IRenderFunction';\r\nexport * from './KeyCodes';\r\nexport * from './Rectangle';\r\nexport * from './array';\r\nexport * from './autobind';\r\nexport * from './css';\r\nexport * from './customizable';\r\nexport * from './dom';\r\nexport * from './focus';\r\nexport * from './hoist';\r\nexport * from './initials';\r\nexport * from './language';\r\nexport * from './math';\r\nexport * from './object';\r\nexport * from './overflow';\r\nexport * from './properties';\r\nexport * from './resources';\r\nexport * from './rtl';\r\nexport * from './scroll';\r\nexport * from './string';\r\nexport * from './warn';\r\nexport * from './memoize';\n\n\n// WEBPACK FOOTER //\n// ../src/index.ts","export * from './components/Breadcrumb/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Breadcrumb.ts","export * from './Breadcrumb';\r\nexport * from './Breadcrumb.Props';\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Breadcrumb/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n autobind,\r\n css,\r\n getId,\r\n getRTL\r\n} from '../../Utilities';\r\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\r\nimport { ContextualMenu } from '../../ContextualMenu';\r\nimport { Link } from '../../Link';\r\nimport { Icon } from '../../Icon';\r\nimport { IconButton } from '../../Button';\r\nimport { IBreadcrumbProps, IBreadcrumbItem } from './Breadcrumb.Props';\r\nimport { DirectionalHint } from '../../common/DirectionalHint';\r\n\r\nimport * as stylesImport from './Breadcrumb.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IBreadcrumbState {\r\n isOverflowOpen: boolean;\r\n overflowAnchor?: HTMLElement;\r\n renderedItems?: IBreadcrumbItem[];\r\n renderedOverflowItems?: IBreadcrumbItem[];\r\n}\r\n\r\nconst OVERFLOW_KEY = 'overflow';\r\nconst OVERFLOW_WIDTH = 44;\r\n\r\nexport class Breadcrumb extends BaseComponent<IBreadcrumbProps, IBreadcrumbState> {\r\n public static defaultProps: IBreadcrumbProps = {\r\n items: [],\r\n maxDisplayedItems: 999\r\n };\r\n\r\n public refs: {\r\n [key: string]: React.ReactInstance;\r\n renderingArea: HTMLElement;\r\n };\r\n\r\n private _breadcrumbItemWidths: { [key: string]: number };\r\n private _id: string;\r\n\r\n constructor(props: IBreadcrumbProps) {\r\n super(props);\r\n\r\n this._id = getId('Breadcrumb');\r\n this.state = this._getStateFromProps(props);\r\n }\r\n\r\n public componentDidMount() {\r\n this._updateItemMeasurements();\r\n this._updateRenderedItems();\r\n\r\n this._events.on(window, 'resize', this._updateRenderedItems);\r\n }\r\n\r\n public componentWillReceiveProps(nextProps: IBreadcrumbProps) {\r\n this.setState(this._getStateFromProps(nextProps));\r\n this._breadcrumbItemWidths = null;\r\n }\r\n\r\n public componentDidUpdate(prevProps: IBreadcrumbProps, prevStates: IBreadcrumbState) {\r\n if (!this._breadcrumbItemWidths) {\r\n this._updateItemMeasurements();\r\n this._updateRenderedItems();\r\n }\r\n }\r\n\r\n public render() {\r\n let { className, ariaLabel } = this.props;\r\n let { isOverflowOpen, overflowAnchor, renderedItems, renderedOverflowItems } = this.state;\r\n let overflowMenuId = this._id + '-overflow';\r\n\r\n let { onRenderItem = this._onRenderItem } = this.props;\r\n\r\n return (\r\n <div\r\n className={ css('ms-Breadcrumb', className, styles.root) }\r\n ref='renderingArea'\r\n role='navigation'\r\n aria-label={ ariaLabel }\r\n >\r\n <FocusZone direction={ FocusZoneDirection.horizontal } >\r\n <ol className={ css('ms-Breadcrumb-list', styles.list) }>\r\n { renderedOverflowItems && renderedOverflowItems.length ? (\r\n <li className={ css('ms-Breadcrumb-overflow', styles.overflow) } key={ OVERFLOW_KEY } ref={ OVERFLOW_KEY }>\r\n <IconButton\r\n className={ css('ms-Breadcrumb-overflowButton', styles.overflowButton) }\r\n iconProps={ { iconName: 'more' } }\r\n onClick={ this._onOverflowClicked }\r\n role='button'\r\n aria-haspopup='true'\r\n aria-owns={ isOverflowOpen ? overflowMenuId : null }\r\n />\r\n <Icon\r\n className={ css('ms-Breadcrumb-chevron', styles.chevron) }\r\n iconName={ getRTL() ? 'ChevronLeft' : 'ChevronRight' }\r\n />\r\n </li>\r\n ) : (null) }\r\n { renderedItems.map(\r\n (item, index) => (\r\n <li className={ css('ms-Breadcrumb-listItem', styles.listItem) } key={ item.key || String(index) } ref={ item.key || String(index) }>\r\n { onRenderItem(item, this._defaultRenderItem) }\r\n <Icon\r\n className={ css('ms-Breadcrumb-chevron', styles.chevron) }\r\n iconName={ getRTL() ? 'ChevronLeft' : 'ChevronRight' } />\r\n </li>\r\n )) }\r\n </ol>\r\n </FocusZone>\r\n { isOverflowOpen ? (\r\n <ContextualMenu\r\n targetElement={ overflowAnchor }\r\n isBeakVisible={ true }\r\n items={ renderedOverflowItems.map(\r\n (item, index) => ({\r\n name: item.text,\r\n key: item.key,\r\n onClick: item.onClick ? this._onBreadcrumbClicked.bind(this, item) : null,\r\n href: item.href\r\n })\r\n ) }\r\n id={ overflowMenuId }\r\n directionalHint={ DirectionalHint.bottomLeftEdge }\r\n onDismiss={ this._onOverflowDismissed } />\r\n ) : (null) }\r\n </div>\r\n );\r\n }\r\n\r\n @autobind\r\n private _onRenderItem(item: IBreadcrumbItem, defaultRender?: (item?: IBreadcrumbItem) => JSX.Element): JSX.Element {\r\n return this._defaultRenderItem(item);\r\n }\r\n\r\n @autobind\r\n private _defaultRenderItem(item: IBreadcrumbItem) {\r\n if (item.onClick || item.href) {\r\n return (\r\n <Link\r\n className={ css('ms-Breadcrumb-itemLink', styles.itemLink) }\r\n href={ item.href }\r\n aria-current={ item.isCurrentItem ? 'page' : null }\r\n onClick={ this._onBreadcrumbClicked.bind(this, item) }>\r\n { item.text }\r\n </Link>\r\n );\r\n } else {\r\n return (\r\n <span className={ css('ms-Breadcrumb-item', styles.item) }>\r\n { item.text }\r\n </span>\r\n );\r\n }\r\n }\r\n\r\n @autobind\r\n private _onOverflowClicked(ev: React.MouseEvent<HTMLButtonElement>) {\r\n this.setState({\r\n 'isOverflowOpen': !this.state.isOverflowOpen,\r\n 'overflowAnchor': ev.currentTarget as HTMLElement\r\n });\r\n }\r\n\r\n @autobind\r\n private _onOverflowDismissed(ev: React.MouseEvent<HTMLElement>) {\r\n this.setState({\r\n 'isOverflowOpen': false,\r\n 'overflowAnchor': null\r\n });\r\n }\r\n\r\n @autobind\r\n private _onBreadcrumbClicked(item: IBreadcrumbItem, ev: React.MouseEvent<HTMLElement>) {\r\n if (item.onClick) {\r\n item.onClick(ev, item);\r\n }\r\n this.setState({\r\n 'isOverflowOpen': false\r\n });\r\n }\r\n\r\n private _updateItemMeasurements() {\r\n let { items } = this.props;\r\n\r\n if (!this._breadcrumbItemWidths) {\r\n this._breadcrumbItemWidths = {};\r\n }\r\n\r\n for (let i = 0; i < items.length; i++) {\r\n let item = items[i];\r\n\r\n if (!this._breadcrumbItemWidths[item.key]) {\r\n let el = this.refs[item.key] as HTMLElement;\r\n\r\n this._breadcrumbItemWidths[item.key] = el.getBoundingClientRect().width;\r\n }\r\n }\r\n }\r\n\r\n private _updateRenderedItems() {\r\n let { items, maxDisplayedItems } = this.props;\r\n let renderingArea = this.refs.renderingArea;\r\n let renderedItems = [];\r\n let renderedOverflowItems = [].concat(items);\r\n let consumedWidth = 0;\r\n\r\n let style = window.getComputedStyle(renderingArea);\r\n let availableWidth = renderingArea.clientWidth - parseInt(style.marginLeft, 10) - parseInt(style.marginRight, 10);\r\n\r\n availableWidth -= OVERFLOW_WIDTH;\r\n\r\n let i;\r\n let minIndex = Math.max(0, renderedOverflowItems.length - maxDisplayedItems);\r\n\r\n for (i = renderedOverflowItems.length - 1; i >= minIndex; i--) {\r\n let item = renderedOverflowItems[i];\r\n let itemWidth = this._breadcrumbItemWidths[item.key];\r\n\r\n if ((consumedWidth + itemWidth) >= availableWidth) {\r\n break;\r\n } else {\r\n consumedWidth += itemWidth;\r\n }\r\n }\r\n\r\n renderedItems = renderedOverflowItems.splice(i + 1);\r\n\r\n this.setState({\r\n isOverflowOpen: this.state.isOverflowOpen,\r\n overflowAnchor: this.state.overflowAnchor,\r\n renderedItems: renderedItems,\r\n renderedOverflowItems: renderedOverflowItems,\r\n });\r\n }\r\n\r\n private _getStateFromProps(nextProps: IBreadcrumbProps) {\r\n return {\r\n isOverflowOpen: false,\r\n overflowAnchor: null,\r\n renderedItems: nextProps.items || [],\r\n renderedOverflowItems: null\r\n };\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Breadcrumb/Breadcrumb.tsx","export * from '@uifabric/utilities/lib/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Utilities.ts","/**\r\n * Bugs often appear in async code when stuff gets disposed, but async operations don't get canceled.\r\n * This Async helper class solves these issues by tying async code to the lifetime of a disposable object.\r\n *\r\n * Usage: Anything class extending from BaseModel can access this helper via this.async. Otherwise create a\r\n * new instance of the class and remember to call dispose() during your code's dispose handler.\r\n */\r\n\r\ndeclare function setTimeout(cb: Function, delay: number): number;\r\ndeclare function setInterval(cb: Function, delay: number): number;\r\n\r\nexport class Async {\r\n private _timeoutIds = null;\r\n private _immediateIds = null;\r\n private _intervalIds = null;\r\n private _animationFrameIds: { [id: number]: boolean } = null;\r\n private _isDisposed = false;\r\n private _parent: any;\r\n private _onErrorHandler: (e: any) => void;\r\n private _noop: any;\r\n\r\n constructor(parent?: any, onError?: (e: any) => void) {\r\n this._parent = parent || null;\r\n this._onErrorHandler = onError;\r\n this._noop = () => { /* do nothing */ };\r\n }\r\n\r\n /**\r\n * Dispose function, clears all async operations.\r\n */\r\n public dispose() {\r\n let id;\r\n\r\n this._isDisposed = true;\r\n this._parent = null;\r\n\r\n // Clear timeouts.\r\n if (this._timeoutIds) {\r\n for (id in this._timeoutIds) {\r\n if (this._timeoutIds.hasOwnProperty(id)) {\r\n this.clearTimeout(id);\r\n }\r\n }\r\n\r\n this._timeoutIds = null;\r\n }\r\n\r\n // Clear immediates.\r\n if (this._immediateIds) {\r\n for (id in this._immediateIds) {\r\n if (this._immediateIds.hasOwnProperty(id)) {\r\n this.clearImmediate(id);\r\n }\r\n }\r\n\r\n this._immediateIds = null;\r\n }\r\n\r\n // Clear intervals.\r\n if (this._intervalIds) {\r\n for (id in this._intervalIds) {\r\n if (this._intervalIds.hasOwnProperty(id)) {\r\n this.clearInterval(id);\r\n }\r\n }\r\n this._intervalIds = null;\r\n }\r\n\r\n // Clear animation frames.\r\n if (this._animationFrameIds) {\r\n for (id in this._animationFrameIds) {\r\n if (this._animationFrameIds.hasOwnProperty(id)) {\r\n this.cancelAnimationFrame(id);\r\n }\r\n }\r\n\r\n this._animationFrameIds = null;\r\n }\r\n }\r\n\r\n /**\r\n * SetTimeout override, which will auto cancel the timeout during dispose.\r\n * @param callback - Callback to execute.\r\n * @param duration - Duration in milliseconds.\r\n * @returns The setTimeout id.\r\n */\r\n public setTimeout(callback: () => void, duration: number): number {\r\n\r\n let timeoutId = 0;\r\n\r\n if (!this._isDisposed) {\r\n if (!this._timeoutIds) {\r\n this._timeoutIds = {};\r\n }\r\n\r\n /* tslint:disable:ban-native-functions */\r\n timeoutId = setTimeout(\r\n () => {\r\n // Time to execute the timeout, enqueue it as a foreground task to be executed.\r\n\r\n try {\r\n // Now delete the record and call the callback.\r\n delete this._timeoutIds[timeoutId];\r\n callback.apply(this._parent);\r\n } catch (e) {\r\n if (this._onErrorHandler) {\r\n this._onErrorHandler(e);\r\n }\r\n }\r\n },\r\n duration);\r\n /* tslint:enable:ban-native-functions */\r\n\r\n this._timeoutIds[timeoutId] = true;\r\n }\r\n\r\n return timeoutId;\r\n }\r\n\r\n /**\r\n * Clears the timeout.\r\n * @param id - Id to cancel.\r\n */\r\n public clearTimeout(id: number): void {\r\n\r\n if (this._timeoutIds && this._timeoutIds[id]) {\r\n /* tslint:disable:ban-native-functions */\r\n clearTimeout(id);\r\n delete this._timeoutIds[id];\r\n /* tslint:enable:ban-native-functions */\r\n }\r\n }\r\n\r\n /**\r\n * SetImmediate override, which will auto cancel the immediate during dispose.\r\n * @param callback - Callback to execute.\r\n * @returns The setTimeout id.\r\n */\r\n public setImmediate(callback: () => void): number {\r\n\r\n let immediateId = 0;\r\n\r\n if (!this._isDisposed) {\r\n if (!this._immediateIds) {\r\n this._immediateIds = {};\r\n }\r\n\r\n /* tslint:disable:ban-native-functions */\r\n let setImmediateCallback = () => {\r\n // Time to execute the timeout, enqueue it as a foreground task to be executed.\r\n\r\n try {\r\n // Now delete the record and call the callback.\r\n delete this._immediateIds[immediateId];\r\n callback.apply(this._parent);\r\n } catch (e) {\r\n this._logError(e);\r\n }\r\n };\r\n\r\n immediateId = window.setImmediate ? window.setImmediate(setImmediateCallback) : window.setTimeout(setImmediateCallback, 0);\r\n /* tslint:enable:ban-native-functions */\r\n\r\n this._immediateIds[immediateId] = true;\r\n }\r\n\r\n return immediateId;\r\n }\r\n\r\n /**\r\n * Clears the immediate.\r\n * @param id - Id to cancel.\r\n */\r\n public clearImmediate(id: number) {\r\n\r\n if (this._immediateIds && this._immediateIds[id]) {\r\n /* tslint:disable:ban-native-functions */\r\n window.clearImmediate ? window.clearImmediate(id) : window.clearTimeout(id);\r\n delete this._immediateIds[id];\r\n /* tslint:enable:ban-native-functions */\r\n }\r\n }\r\n\r\n /**\r\n * SetInterval override, which will auto cancel the timeout during dispose.\r\n * @param callback - Callback to execute.\r\n * @param duration - Duration in milliseconds.\r\n * @returns The setTimeout id.\r\n */\r\n public setInterval(callback: () => void, duration: number): number {\r\n let intervalId = 0;\r\n\r\n if (!this._isDisposed) {\r\n if (!this._intervalIds) {\r\n this._intervalIds = {};\r\n }\r\n\r\n /* tslint:disable:ban-native-functions */\r\n intervalId = setInterval(\r\n () => {\r\n // Time to execute the interval callback, enqueue it as a foreground task to be executed.\r\n try {\r\n callback.apply(this._parent);\r\n } catch (e) {\r\n this._logError(e);\r\n }\r\n },\r\n duration);\r\n /* tslint:enable:ban-native-functions */\r\n\r\n this._intervalIds[intervalId] = true;\r\n }\r\n\r\n return intervalId;\r\n }\r\n\r\n /**\r\n * Clears the interval.\r\n * @param id - Id to cancel.\r\n */\r\n public clearInterval(id: number) {\r\n if (this._intervalIds && this._intervalIds[id]) {\r\n /* tslint:disable:ban-native-functions */\r\n clearInterval(id);\r\n delete this._intervalIds[id];\r\n /* tslint:enable:ban-native-functions */\r\n }\r\n }\r\n\r\n /**\r\n * Creates a function that, when executed, will only call the func function at most once per\r\n * every wait milliseconds. Provide an options object to indicate that func should be invoked\r\n * on the leading and/or trailing edge of the wait timeout. Subsequent calls to the throttled\r\n * function will return the result of the last func call.\r\n *\r\n * Note: If leading and trailing options are true func will be called on the trailing edge of\r\n * the timeout only if the the throttled function is invoked more than once during the wait timeout.\r\n *\r\n * @param func - The function to throttle.\r\n * @param wait - The number of milliseconds to throttle executions to. Defaults to 0.\r\n * @param options - The options object.\r\n * @returns The new throttled function.\r\n */\r\n public throttle<T extends Function>(func: T, wait?: number, options?: {\r\n leading?: boolean;\r\n trailing?: boolean;\r\n }): T {\r\n\r\n if (this._isDisposed) {\r\n return this._noop;\r\n }\r\n\r\n let waitMS = wait || 0;\r\n let leading = true;\r\n let trailing = true;\r\n let lastExecuteTime = 0;\r\n let lastResult;\r\n let lastArgs: any[];\r\n let timeoutId: number = null;\r\n\r\n if (options && typeof (options.leading) === 'boolean') {\r\n leading = options.leading;\r\n }\r\n\r\n if (options && typeof (options.trailing) === 'boolean') {\r\n trailing = options.trailing;\r\n }\r\n\r\n let callback = (userCall?: boolean) => {\r\n let now = (new Date).getTime();\r\n let delta = now - lastExecuteTime;\r\n let waitLength = leading ? waitMS - delta : waitMS;\r\n if (delta >= waitMS && (!userCall || leading)) {\r\n lastExecuteTime = now;\r\n if (timeoutId) {\r\n this.clearTimeout(timeoutId);\r\n timeoutId = null;\r\n }\r\n lastResult = func.apply(this._parent, lastArgs);\r\n } else if (timeoutId === null && trailing) {\r\n timeoutId = this.setTimeout(callback, waitLength);\r\n }\r\n\r\n return lastResult;\r\n };\r\n\r\n let resultFunction: any = (...args: any[]) => {\r\n lastArgs = args;\r\n return callback(true);\r\n };\r\n\r\n return resultFunction;\r\n }\r\n\r\n /**\r\n * Creates a function that will delay the execution of func until after wait milliseconds have\r\n * elapsed since the last time it was invoked. Provide an options object to indicate that func\r\n * should be invoked on the leading and/or trailing edge of the wait timeout. Subsequent calls\r\n * to the debounced function will return the result of the last func call.\r\n *\r\n * Note: If leading and trailing options are true func will be called on the trailing edge of\r\n * the timeout only if the the debounced function is invoked more than once during the wait\r\n * timeout.\r\n *\r\n * @param func - The function to debounce.\r\n * @param wait - The number of milliseconds to delay.\r\n * @param options - The options object.\r\n * @returns The new debounced function.\r\n */\r\n public debounce<T extends Function>(func: T, wait?: number, options?: {\r\n leading?: boolean;\r\n maxWait?: number;\r\n trailing?: boolean;\r\n }): T {\r\n\r\n if (this._isDisposed) {\r\n return this._noop;\r\n }\r\n\r\n let waitMS = wait || 0;\r\n let leading = false;\r\n let trailing = true;\r\n let maxWait = null;\r\n let lastCallTime = 0;\r\n let lastExecuteTime = (new Date).getTime();\r\n let lastResult;\r\n let lastArgs: any[];\r\n let timeoutId: number = null;\r\n\r\n if (options && typeof (options.leading) === 'boolean') {\r\n leading = options.leading;\r\n }\r\n\r\n if (options && typeof (options.trailing) === 'boolean') {\r\n trailing = options.trailing;\r\n }\r\n\r\n if (options && typeof (options.maxWait) === 'number' && !isNaN(options.maxWait)) {\r\n maxWait = options.maxWait;\r\n }\r\n\r\n let callback = (userCall?: boolean) => {\r\n let now = (new Date).getTime();\r\n let executeImmediately = false;\r\n if (userCall) {\r\n if (leading && now - lastCallTime >= waitMS) {\r\n executeImmediately = true;\r\n }\r\n lastCallTime = now;\r\n }\r\n let delta = now - lastCallTime;\r\n let waitLength = waitMS - delta;\r\n let maxWaitDelta = now - lastExecuteTime;\r\n let maxWaitExpired = false;\r\n\r\n if (maxWait !== null) {\r\n // maxWait only matters when there is a pending callback\r\n if (maxWaitDelta >= maxWait && timeoutId) {\r\n maxWaitExpired = true;\r\n } else {\r\n waitLength = Math.min(waitLength, maxWait - maxWaitDelta);\r\n }\r\n }\r\n\r\n if (delta >= waitMS || maxWaitExpired || executeImmediately) {\r\n if (timeoutId) {\r\n this.clearTimeout(timeoutId);\r\n timeoutId = null;\r\n }\r\n lastExecuteTime = now;\r\n lastResult = func.apply(this._parent, lastArgs);\r\n } else if ((timeoutId === null || !userCall) && trailing) {\r\n timeoutId = this.setTimeout(callback, waitLength);\r\n }\r\n\r\n return lastResult;\r\n };\r\n\r\n let resultFunction: any = (...args: any[]) => {\r\n lastArgs = args;\r\n return callback(true);\r\n };\r\n\r\n return resultFunction;\r\n }\r\n\r\n public requestAnimationFrame(callback: () => void): number {\r\n let animationFrameId = 0;\r\n\r\n if (!this._isDisposed) {\r\n if (!this._animationFrameIds) {\r\n this._animationFrameIds = {};\r\n }\r\n\r\n /* tslint:disable:ban-native-functions */\r\n let animationFrameCallback = () => {\r\n try {\r\n // Now delete the record and call the callback.\r\n delete this._animationFrameIds[animationFrameId];\r\n callback.apply(this._parent);\r\n } catch (e) {\r\n this._logError(e);\r\n }\r\n };\r\n\r\n animationFrameId = window.requestAnimationFrame ?\r\n window.requestAnimationFrame(animationFrameCallback) :\r\n window.setTimeout(animationFrameCallback, 0);\r\n /* tslint:enable:ban-native-functions */\r\n\r\n this._animationFrameIds[animationFrameId] = true;\r\n }\r\n\r\n return animationFrameId;\r\n }\r\n\r\n public cancelAnimationFrame(id: number) {\r\n if (this._animationFrameIds && this._animationFrameIds[id]) {\r\n /* tslint:disable:ban-native-functions */\r\n window.cancelAnimationFrame ? window.cancelAnimationFrame(id) : window.clearTimeout(id);\r\n /* tslint:enable:ban-native-functions */\r\n delete this._animationFrameIds[id];\r\n }\r\n }\r\n\r\n protected _logError(e: any) {\r\n if (this._onErrorHandler) {\r\n this._onErrorHandler(e);\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Async.ts","import { EventGroup } from './EventGroup';\r\nimport { findScrollableParent } from './scroll';\r\nimport { getRect } from './dom';\r\nimport { IRectangle } from './IRectangle';\r\n\r\ndeclare function setTimeout(cb: Function, delay: number): number;\r\n\r\nconst SCROLL_ITERATION_DELAY = 16;\r\nconst SCROLL_GUTTER_HEIGHT = 100;\r\nconst MAX_SCROLL_VELOCITY = 15;\r\n\r\n/**\r\n * AutoScroll simply hooks up mouse events given a parent element, and scrolls the container\r\n * up/down depending on how close the mouse is to the top/bottom of the container.\r\n *\r\n * Once you don't want autoscroll any more, just dispose the helper and it will unhook events.\r\n */\r\nexport class AutoScroll {\r\n private _events: EventGroup;\r\n private _scrollableParent: HTMLElement;\r\n private _scrollRect: IRectangle;\r\n private _scrollVelocity: number;\r\n private _timeoutId: number;\r\n\r\n constructor(element: HTMLElement) {\r\n this._events = new EventGroup(this);\r\n this._scrollableParent = findScrollableParent(element);\r\n\r\n this._incrementScroll = this._incrementScroll.bind(this);\r\n this._scrollRect = getRect(this._scrollableParent);\r\n\r\n if (this._scrollableParent === window as any) {\r\n this._scrollableParent = document.body;\r\n }\r\n\r\n if (this._scrollableParent) {\r\n this._events.on(window, 'mousemove', this._onMouseMove, true);\r\n this._events.on(window, 'touchmove', this._onTouchMove, true);\r\n }\r\n }\r\n\r\n public dispose() {\r\n this._events.dispose();\r\n this._stopScroll();\r\n }\r\n\r\n private _onMouseMove(ev: MouseEvent) {\r\n this._computeScrollVelocity(ev.clientY);\r\n }\r\n\r\n private _onTouchMove(ev: TouchEvent) {\r\n if (ev.touches.length > 0) {\r\n this._computeScrollVelocity(ev.touches[0].clientY);\r\n }\r\n }\r\n\r\n private _computeScrollVelocity(clientY: number) {\r\n let scrollRectTop = this._scrollRect.top;\r\n let scrollClientBottom = scrollRectTop + this._scrollRect.height - SCROLL_GUTTER_HEIGHT;\r\n\r\n if (clientY < (scrollRectTop + SCROLL_GUTTER_HEIGHT)) {\r\n this._scrollVelocity = Math.max(\r\n -MAX_SCROLL_VELOCITY,\r\n -MAX_SCROLL_VELOCITY * ((SCROLL_GUTTER_HEIGHT - (clientY - scrollRectTop)) / SCROLL_GUTTER_HEIGHT\r\n ));\r\n } else if (clientY > scrollClientBottom) {\r\n this._scrollVelocity = Math.min(\r\n MAX_SCROLL_VELOCITY,\r\n MAX_SCROLL_VELOCITY * ((clientY - scrollClientBottom) / SCROLL_GUTTER_HEIGHT\r\n ));\r\n } else {\r\n this._scrollVelocity = 0;\r\n }\r\n\r\n if (this._scrollVelocity) {\r\n this._startScroll();\r\n } else {\r\n this._stopScroll();\r\n }\r\n }\r\n\r\n private _startScroll() {\r\n if (!this._timeoutId) {\r\n this._incrementScroll();\r\n }\r\n }\r\n\r\n private _incrementScroll() {\r\n this._scrollableParent.scrollTop += Math.round(this._scrollVelocity);\r\n this._timeoutId = setTimeout(this._incrementScroll, SCROLL_ITERATION_DELAY);\r\n }\r\n\r\n private _stopScroll() {\r\n if (this._timeoutId) {\r\n clearTimeout(this._timeoutId);\r\n delete this._timeoutId;\r\n }\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ../src/AutoScroll.ts","/* tslint:disable:no-string-literal */\r\n\r\nexport interface IEventRecord {\r\n target: any;\r\n eventName: string;\r\n parent: any;\r\n callback: (args?: any) => void;\r\n elementCallback: (...args: any[]) => void;\r\n objectCallback: (args?: any) => void;\r\n useCapture: boolean;\r\n}\r\n\r\nexport interface IEventRecordsByName {\r\n [eventName: string]: IEventRecordList;\r\n}\r\n\r\nexport interface IEventRecordList {\r\n [id: string]: IEventRecord[] | number;\r\n count: number;\r\n}\r\n\r\nexport interface IDeclaredEventsByName {\r\n [eventName: string]: boolean;\r\n}\r\n\r\n/** An instance of EventGroup allows anything with a handle to it to trigger events on it.\r\n * If the target is an HTMLElement, the event will be attached to the element and can be\r\n * triggered as usual (like clicking for onclick).\r\n * The event can be triggered by calling EventGroup.raise() here. If the target is an\r\n * HTMLElement, the event gets raised and is handled by the browser. Otherwise, it gets\r\n * handled here in EventGroup, and the handler is called in the context of the parent\r\n * (which is passed in in the constructor).\r\n */\r\nexport class EventGroup {\r\n private static _uniqueId = 0;\r\n private _parent;\r\n private _eventRecords: IEventRecord[];\r\n private _id = EventGroup._uniqueId++;\r\n private _isDisposed: boolean;\r\n\r\n /** For IE8, bubbleEvent is ignored here and must be dealt with by the handler.\r\n * Events raised here by default have bubbling set to false and cancelable set to true.\r\n * This applies also to built-in events being raised manually here on HTMLElements,\r\n * which may lead to unexpected behavior if it differs from the defaults.\r\n */\r\n public static raise(\r\n target: any,\r\n eventName: string,\r\n eventArgs?: any,\r\n bubbleEvent?: boolean\r\n ) {\r\n let retVal;\r\n\r\n if (EventGroup._isElement(target)) {\r\n if (document.createEvent) {\r\n let ev = document.createEvent('HTMLEvents');\r\n\r\n ev.initEvent(eventName, bubbleEvent, true);\r\n ev['args'] = eventArgs;\r\n retVal = target.dispatchEvent(ev);\r\n } else if (document['createEventObject']) { // IE8\r\n let evObj = document['createEventObject'](eventArgs);\r\n // cannot set cancelBubble on evObj, fireEvent will overwrite it\r\n target.fireEvent('on' + eventName, evObj);\r\n }\r\n } else {\r\n while (target && retVal !== false) {\r\n let events = <IEventRecordsByName>target.__events__;\r\n let eventRecords = events ? events[eventName] : null;\r\n\r\n for (let id in eventRecords) {\r\n if (eventRecords.hasOwnProperty(id)) {\r\n let eventRecordList = <IEventRecord[]>eventRecords[id];\r\n\r\n for (let listIndex = 0; retVal !== false && listIndex < eventRecordList.length; listIndex++) {\r\n let record = eventRecordList[listIndex];\r\n\r\n if (record.objectCallback) {\r\n retVal = record.objectCallback.call(record.parent, eventArgs);\r\n }\r\n }\r\n }\r\n }\r\n\r\n // If the target has a parent, bubble the event up.\r\n target = bubbleEvent ? target.parent : null;\r\n }\r\n }\r\n\r\n return retVal;\r\n }\r\n\r\n public static isObserved(target: any, eventName: string): boolean {\r\n let events = target && <IEventRecordsByName>target.__events__;\r\n\r\n return !!events && !!events[eventName];\r\n }\r\n\r\n /** Check to see if the target has declared support of the given event. */\r\n public static isDeclared(target: any, eventName: string): boolean {\r\n let declaredEvents = target && <IDeclaredEventsByName>target.__declaredEvents;\r\n\r\n return !!declaredEvents && !!declaredEvents[eventName];\r\n }\r\n\r\n public static stopPropagation(event: any) {\r\n if (event.stopPropagation) {\r\n event.stopPropagation();\r\n } else { // IE8\r\n event.cancelBubble = true;\r\n }\r\n }\r\n\r\n private static _isElement(target: HTMLElement) {\r\n return !!target && (target.addEventListener || target instanceof HTMLElement);\r\n }\r\n\r\n /** parent: the context in which events attached to non-HTMLElements are called */\r\n public constructor(parent: any) {\r\n this._parent = parent;\r\n this._eventRecords = [];\r\n }\r\n\r\n public dispose() {\r\n if (!this._isDisposed) {\r\n this._isDisposed = true;\r\n\r\n this.off();\r\n this._parent = null;\r\n }\r\n }\r\n\r\n /** On the target, attach a set of events, where the events object is a name to function mapping. */\r\n public onAll(target: any, events: { [key: string]: (args?: any) => void; }, useCapture?: boolean) {\r\n for (let eventName in events) {\r\n if (events.hasOwnProperty(eventName)) {\r\n this.on(target, eventName, events[eventName], useCapture);\r\n }\r\n }\r\n }\r\n\r\n /** On the target, attach an event whose handler will be called in the context of the parent\r\n * of this instance of EventGroup.\r\n */\r\n public on(target: any, eventName: string, callback: (args?: any) => void, useCapture?: boolean) {\r\n if (eventName.indexOf(',') > -1) {\r\n let events = eventName.split(/[ ,]+/);\r\n\r\n for (let i = 0; i < events.length; i++) {\r\n this.on(target, events[i], callback, useCapture);\r\n }\r\n } else {\r\n let parent = this._parent;\r\n let eventRecord: IEventRecord = {\r\n target: target,\r\n eventName: eventName,\r\n parent: parent,\r\n callback: callback,\r\n objectCallback: null,\r\n elementCallback: null,\r\n useCapture: useCapture\r\n };\r\n\r\n // Initialize and wire up the record on the target, so that it can call the callback if the event fires.\r\n let events = <IEventRecordsByName>(target.__events__ = target.__events__ || {});\r\n events[eventName] = events[eventName] || <IEventRecordList>{\r\n count: 0\r\n };\r\n events[eventName][this._id] = events[eventName][this._id] || [];\r\n (<IEventRecord[]>events[eventName][this._id]).push(eventRecord);\r\n events[eventName].count++;\r\n\r\n if (EventGroup._isElement(target)) {\r\n let processElementEvent = (...args: any[]) => {\r\n if (this._isDisposed) {\r\n return;\r\n }\r\n\r\n let result;\r\n try {\r\n result = callback.apply(parent, args);\r\n if (result === false && args[0]) {\r\n let e = args[0];\r\n\r\n if (e.preventDefault) {\r\n e.preventDefault();\r\n }\r\n\r\n if (e.stopPropagation) {\r\n e.stopPropagation();\r\n }\r\n\r\n e.cancelBubble = true;\r\n }\r\n } catch (e) {\r\n /* ErrorHelper.log(e); */\r\n }\r\n\r\n return result;\r\n };\r\n\r\n eventRecord.elementCallback = processElementEvent;\r\n\r\n if (target.addEventListener) {\r\n /* tslint:disable:ban-native-functions */\r\n (<EventTarget>target).addEventListener(eventName, processElementEvent, useCapture);\r\n /* tslint:enable:ban-native-functions */\r\n } else if (target.attachEvent) { // IE8\r\n target.attachEvent('on' + eventName, processElementEvent);\r\n }\r\n } else {\r\n let processObjectEvent = (...args: any[]) => {\r\n if (this._isDisposed) {\r\n return;\r\n }\r\n\r\n return callback.apply(parent, args);\r\n };\r\n\r\n eventRecord.objectCallback = processObjectEvent;\r\n }\r\n\r\n // Remember the record locally, so that it can be removed.\r\n this._eventRecords.push(eventRecord);\r\n }\r\n }\r\n\r\n public off(target?: any, eventName?: string, callback?: (args?: any) => void, useCapture?: boolean) {\r\n for (let i = 0; i < this._eventRecords.length; i++) {\r\n let eventRecord = this._eventRecords[i];\r\n if ((!target || target === eventRecord.target) &&\r\n (!eventName || eventName === eventRecord.eventName) &&\r\n (!callback || callback === eventRecord.callback) &&\r\n ((typeof useCapture !== 'boolean') || useCapture === eventRecord.useCapture)) {\r\n let events = <IEventRecordsByName>eventRecord.target.__events__;\r\n let targetArrayLookup = events[eventRecord.eventName];\r\n let targetArray = targetArrayLookup ? <IEventRecord[]>targetArrayLookup[this._id] : null;\r\n\r\n // We may have already target's entries, so check for null.\r\n if (targetArray) {\r\n if (targetArray.length === 1 || !callback) {\r\n targetArrayLookup.count -= targetArray.length;\r\n delete events[eventRecord.eventName][this._id];\r\n } else {\r\n targetArrayLookup.count--;\r\n targetArray.splice(targetArray.indexOf(eventRecord), 1);\r\n }\r\n\r\n if (!targetArrayLookup.count) {\r\n delete events[eventRecord.eventName];\r\n }\r\n }\r\n\r\n if (eventRecord.elementCallback) {\r\n if (eventRecord.target.removeEventListener) {\r\n eventRecord.target.removeEventListener(eventRecord.eventName, eventRecord.elementCallback, eventRecord.useCapture);\r\n } else if (eventRecord.target.detachEvent) { // IE8\r\n eventRecord.target.detachEvent('on' + eventRecord.eventName, eventRecord.elementCallback);\r\n }\r\n }\r\n\r\n this._eventRecords.splice(i--, 1);\r\n }\r\n }\r\n }\r\n\r\n /** Trigger the given event in the context of this instance of EventGroup. */\r\n public raise(eventName: string, eventArgs?: any, bubbleEvent?: boolean): any {\r\n return EventGroup.raise(this._parent, eventName, eventArgs, bubbleEvent);\r\n }\r\n\r\n /** Declare an event as being supported by this instance of EventGroup. */\r\n public declare(event: any) {\r\n let declaredEvents = this._parent.__declaredEvents = this._parent.__declaredEvents || {};\r\n\r\n if (typeof event === 'string') {\r\n declaredEvents[event] = true;\r\n } else {\r\n for (let i = 0; i < event.length; i++) {\r\n declaredEvents[event[i]] = true;\r\n }\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/EventGroup.ts","import { getDocument } from './dom';\r\nimport styles from './scroll.scss';\r\n\r\nlet _scrollbarWidth: number;\r\nlet _bodyScrollDisabledCount = 0;\r\n\r\nexport const DATA_IS_SCROLLABLE_ATTRIBUTE = 'data-is-scrollable';\r\n\r\nexport function disableBodyScroll() {\r\n let doc = getDocument();\r\n\r\n if (doc && doc.body && !_bodyScrollDisabledCount) {\r\n doc.body.classList.add(styles.msFabricScrollDisabled);\r\n }\r\n\r\n _bodyScrollDisabledCount++;\r\n}\r\n\r\nexport function enableBodyScroll() {\r\n if (_bodyScrollDisabledCount > 0) {\r\n let doc = getDocument();\r\n\r\n if (doc && doc.body && _bodyScrollDisabledCount === 1) {\r\n doc.body.classList.remove(styles.msFabricScrollDisabled);\r\n }\r\n\r\n _bodyScrollDisabledCount--;\r\n }\r\n}\r\n\r\n/** Calculates the width of a scrollbar for the browser/os. */\r\nexport function getScrollbarWidth(): number {\r\n if (_scrollbarWidth === undefined) {\r\n let scrollDiv: HTMLElement = document.createElement('div');\r\n scrollDiv.style.setProperty('width', '100px');\r\n scrollDiv.style.setProperty('height', '100px');\r\n scrollDiv.style.setProperty('overflow', 'scroll');\r\n scrollDiv.style.setProperty('position', 'absolute');\r\n scrollDiv.style.setProperty('top', '-9999px');\r\n document.body.appendChild(scrollDiv);\r\n // Get the scrollbar width\r\n _scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\r\n\r\n // Delete the DIV\r\n document.body.removeChild(scrollDiv);\r\n }\r\n\r\n return _scrollbarWidth;\r\n}\r\n\r\n/**\r\n * Traverses up the DOM for the element with the data-is-scrollable=true attribute, or returns\r\n * document.body.\r\n */\r\nexport function findScrollableParent(startingElement: HTMLElement): HTMLElement {\r\n let el = startingElement;\r\n\r\n // First do a quick scan for the scrollable attribute.\r\n while (el && el !== document.body) {\r\n if (el.getAttribute(DATA_IS_SCROLLABLE_ATTRIBUTE) === 'true') {\r\n return el;\r\n }\r\n el = el.parentElement;\r\n }\r\n\r\n // If we haven't found it, the use the slower method: compute styles to evaluate if overflow is set.\r\n el = startingElement;\r\n\r\n while (el && el !== document.body) {\r\n if (el.getAttribute(DATA_IS_SCROLLABLE_ATTRIBUTE) !== 'false') {\r\n const styles = getComputedStyle(el);\r\n let overflowY = styles ? styles.getPropertyValue('overflow-y') : '';\r\n\r\n if (overflowY && (overflowY === 'scroll' || overflowY === 'auto')) {\r\n return el;\r\n }\r\n }\r\n\r\n el = el.parentElement;\r\n }\r\n\r\n // Fall back to window scroll.\r\n if (!el || el === document.body) {\r\n el = window as any;\r\n }\r\n\r\n return el;\r\n}\n\n\n// WEBPACK FOOTER //\n// ../src/scroll.ts","import { IRectangle } from './IRectangle';\r\n\r\n/**\r\n * Attached interface for elements which support virtual references.\r\n * Used internally by the virtual hierarchy methods.\r\n */\r\ninterface IVirtualElement extends HTMLElement {\r\n _virtual: {\r\n parent?: IVirtualElement;\r\n children: IVirtualElement[];\r\n };\r\n}\r\n\r\n/**\r\n * Sets the virtual parent of an element.\r\n * Pass `undefined` as the `parent` to clear the virtual parent.\r\n */\r\nexport function setVirtualParent(child: HTMLElement, parent: HTMLElement) {\r\n let virtualChild = <IVirtualElement>child;\r\n let virtualParent = <IVirtualElement>parent;\r\n\r\n if (!virtualChild._virtual) {\r\n virtualChild._virtual = {\r\n children: []\r\n };\r\n }\r\n\r\n let oldParent = virtualChild._virtual.parent;\r\n\r\n if (oldParent && oldParent !== parent) {\r\n // Remove the child from its old parent.\r\n let index = oldParent._virtual.children.indexOf(virtualChild);\r\n\r\n if (index > -1) {\r\n oldParent._virtual.children.splice(index, 1);\r\n }\r\n }\r\n\r\n virtualChild._virtual.parent = virtualParent || undefined;\r\n\r\n if (virtualParent) {\r\n if (!virtualParent._virtual) {\r\n virtualParent._virtual = {\r\n children: []\r\n };\r\n }\r\n\r\n virtualParent._virtual.children.push(virtualChild);\r\n }\r\n}\r\n\r\nexport function getVirtualParent(child: HTMLElement): HTMLElement {\r\n let parent: HTMLElement;\r\n\r\n if (child && isVirtualElement(child)) {\r\n parent = child._virtual.parent;\r\n }\r\n\r\n return parent;\r\n}\r\n\r\n/**\r\n * Gets the element which is the parent of a given element.\r\n * If `allowVirtuaParents` is `true`, this method prefers the virtual parent over\r\n * real DOM parent when present.\r\n */\r\nexport function getParent(child: HTMLElement, allowVirtualParents: boolean = true): HTMLElement {\r\n return child && (\r\n allowVirtualParents && getVirtualParent(child) ||\r\n child.parentNode && child.parentNode as HTMLElement\r\n );\r\n}\r\n\r\n/**\r\n * Determines whether or not a parent element contains a given child element.\r\n * If `allowVirtualParents` is true, this method may return `true` if the child\r\n * has the parent in its virtual element hierarchy.\r\n */\r\nexport function elementContains(parent: HTMLElement, child: HTMLElement, allowVirtualParents: boolean = true): boolean {\r\n let isContained = false;\r\n\r\n if (parent && child) {\r\n if (allowVirtualParents) {\r\n isContained = false;\r\n\r\n while (child) {\r\n let nextParent = getParent(child);\r\n\r\n if (nextParent === parent) {\r\n isContained = true;\r\n break;\r\n }\r\n\r\n child = nextParent;\r\n }\r\n } else if (parent.contains) {\r\n isContained = parent.contains(child);\r\n }\r\n }\r\n\r\n return isContained;\r\n}\r\n\r\nlet _isSSR = false;\r\n\r\n/**\r\n * Helper to set ssr mode to simulate no window object returned from getWindow helper.\r\n */\r\nexport function setSSR(isEnabled) {\r\n _isSSR = isEnabled;\r\n}\r\n\r\n/** Helper to get the window object. */\r\nexport function getWindow(rootElement?: HTMLElement) {\r\n if (_isSSR) {\r\n return undefined;\r\n } else {\r\n return (\r\n rootElement &&\r\n rootElement.ownerDocument &&\r\n rootElement.ownerDocument.defaultView ?\r\n rootElement.ownerDocument.defaultView :\r\n window\r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Helper to get the document object.\r\n */\r\nexport function getDocument(rootElement?: HTMLElement) {\r\n if (_isSSR) {\r\n return undefined;\r\n } else {\r\n return rootElement && rootElement.ownerDocument ? rootElement.ownerDocument : document;\r\n }\r\n}\r\n\r\n/**\r\n * Helper to get bounding client rect, works with window.\r\n */\r\nexport function getRect(element: HTMLElement | Window): IRectangle {\r\n let rect: IRectangle;\r\n\r\n if (element) {\r\n if (element === window) {\r\n rect = {\r\n left: 0,\r\n top: 0,\r\n width: window.innerWidth,\r\n height: window.innerHeight,\r\n right: window.innerWidth,\r\n bottom: window.innerHeight\r\n };\r\n } else if ((element as HTMLElement).getBoundingClientRect) {\r\n rect = (element as HTMLElement).getBoundingClientRect();\r\n }\r\n }\r\n\r\n return rect;\r\n}\r\n\r\n/**\r\n * Determines whether or not an element has the virtual hierarchy extension.\r\n */\r\nfunction isVirtualElement(element: HTMLElement | IVirtualElement): element is IVirtualElement {\r\n return element && !!(<IVirtualElement>element)._virtual;\r\n}\n\n\n// WEBPACK FOOTER //\n// ../src/dom.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n msFabricScrollDisabled: 'msFabricScrollDisabled_23e3aef2',\r\n};\r\n\r\nexport default styles;\r\n\r\nloadStyles([{\"rawString\":\".msFabricScrollDisabled_23e3aef2{overflow:hidden!important}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../src/scroll.scss.ts","/**\n * An IThemingInstruction can specify a rawString to be preserved or a theme slot and a default value\n * to use if that slot is not specified by the theme.\n */\n\n// Declaring a global here in case that the execution environment is Node.js (without importing the\n// entire node.js d.ts for now)\ndeclare var global: any; // tslint:disable-line:no-any\n\nexport interface IThemingInstruction {\n theme?: string;\n defaultValue?: string;\n rawString?: string;\n}\n\nexport type ThemableArray = Array<IThemingInstruction>;\n\nexport interface ITheme {\n [key: string]: string;\n}\n\ninterface IStyleSheet {\n cssText: string;\n}\n\ninterface IExtendedHtmlStyleElement extends HTMLStyleElement {\n styleSheet: IStyleSheet;\n}\n\ninterface IThemeState {\n theme: ITheme;\n lastStyleElement: IExtendedHtmlStyleElement;\n registeredStyles: IStyleRecord[];\n loadStyles: (styles: string) => void;\n}\n\ninterface IStyleRecord {\n styleElement: Element;\n themableStyle: ThemableArray;\n}\n\n// IE needs to inject styles using cssText. However, we need to evaluate this lazily, so this\n// value will initialize as undefined, and later will be set once on first loadStyles injection.\nlet _injectStylesWithCssText: boolean;\n\n// Store the theming state in __themeState__ global scope for reuse in the case of duplicate\n// load-themed-styles hosted on the page.\nconst _root: any = (typeof window === 'undefined') ? global : window; // tslint:disable-line:no-any\n\nconst _themeState: IThemeState = _root.__themeState__ = _root.__themeState__ || {\n theme: undefined,\n lastStyleElement: undefined,\n registeredStyles: []\n};\n\n/**\n * Matches theming tokens. For example, \"[theme: themeSlotName, default: #FFF]\" (including the quotes).\n */\n/* tslint:disable: max-line-length */\nconst _themeTokenRegex: RegExp = /[\\'\\\"]\\[theme:\\s*(\\w+)\\s*(?:\\,\\s*default:\\s*([\\\\\"\\']?[\\.\\,\\(\\)\\#\\-\\s\\w]*[\\.\\,\\(\\)\\#\\-\\w][\\\"\\']?))?\\s*\\][\\'\\\"]/g;\n/* tslint:enable: max-line-length */\n\n/** Maximum style text length, for supporting IE style restrictions. */\nconst MAX_STYLE_CONTENT_SIZE: number = 10000;\n\n/**\n * Loads a set of style text. If it is registered too early, we will register it when the window.load\n * event is fired.\n * @param {string | ThemableArray} styles Themable style text to register.\n */\nexport function loadStyles(styles: string | ThemableArray): void {\n const styleParts: ThemableArray = Array.isArray(styles) ? styles : splitStyles(styles);\n\n if (_injectStylesWithCssText === undefined) {\n _injectStylesWithCssText = shouldUseCssText();\n }\n\n applyThemableStyles(styleParts);\n}\n\n/**\n * Allows for customizable loadStyles logic. e.g. for server side rendering application\n * @param {(styles: string) => void} a loadStyles callback that gets called when styles are loaded or reloaded\n */\nexport function configureLoadStyles(callback: (styles: string) => void): void {\n _themeState.loadStyles = callback;\n}\n\n/**\n * Loads a set of style text. If it is registered too early, we will register it when the window.load event\n * is fired.\n * @param {string} styleText Style to register.\n * @param {IStyleRecord} styleRecord Existing style record to re-apply.\n */\nfunction applyThemableStyles(stylesArray: ThemableArray, styleRecord?: IStyleRecord): void {\n if (_themeState.loadStyles) {\n const styles: string = resolveThemableArray(stylesArray);\n _themeState.loadStyles(styles);\n } else {\n _injectStylesWithCssText ?\n registerStylesIE(stylesArray, styleRecord) :\n registerStyles(stylesArray, styleRecord);\n }\n}\n\n/**\n * Registers a set theme tokens to find and replace. If styles were already registered, they will be\n * replaced.\n * @param {theme} theme JSON object of theme tokens to values.\n */\nexport function loadTheme(theme: ITheme): void {\n _themeState.theme = theme;\n\n // reload styles.\n reloadStyles();\n}\n\n/**\n * Reloads styles.\n */\nfunction reloadStyles(): void {\n if (_themeState.theme) {\n for (const styleRecord of _themeState.registeredStyles) {\n applyThemableStyles(styleRecord.themableStyle, styleRecord);\n }\n }\n}\n\n/**\n * Find theme tokens and replaces them with provided theme values.\n * @param {string} styles Tokenized styles to fix.\n */\nexport function detokenize(styles: string): string {\n if (styles) {\n styles = resolveThemableArray(splitStyles(styles));\n }\n\n return styles;\n}\n\n/**\n * Resolves ThemingInstruction objects in an array and joins the result into a string.\n * @param {ThemableArray} splitStyleArray ThemableArray to resolve and join.\n */\nfunction resolveThemableArray(splitStyleArray: ThemableArray): string {\n const { theme }: IThemeState = _themeState;\n let resolvedCss: string;\n if (splitStyleArray) {\n // Resolve the array of theming instructions to an array of strings.\n // Then join the array to produce the final CSS string.\n const resolvedArray: string[] = splitStyleArray.map((currentValue: IThemingInstruction) => {\n const themeSlot: string = currentValue.theme;\n if (themeSlot) {\n // A theming annotation. Resolve it.\n const themedValue: string = theme ? theme[themeSlot] : undefined;\n const defaultValue: string = currentValue.defaultValue;\n\n // Warn to console if we hit an unthemed value even when themes are provided.\n // Allow the themedValue to be undefined to explicitly request the default value.\n if (theme && !themedValue && console && !(themeSlot in theme)) {\n /* tslint:disable: max-line-length */\n console.warn(`Theming value not provided for \"${themeSlot}\". Falling back to \"${defaultValue || 'inherit'}\".`);\n /* tslint:enable: max-line-length */\n }\n\n return themedValue || defaultValue || 'inherit';\n } else {\n // A non-themable string. Preserve it.\n return currentValue.rawString;\n }\n });\n\n resolvedCss = resolvedArray.join('');\n }\n\n return resolvedCss;\n}\n\n/**\n * Split tokenized CSS into an array of strings and theme specification objects\n * @param {string} styles Tokenized styles to split.\n */\nexport function splitStyles(styles: string): ThemableArray {\n const result: ThemableArray = [];\n if (styles) {\n let pos: number = 0; // Current position in styles.\n let tokenMatch: RegExpExecArray;\n while (tokenMatch = _themeTokenRegex.exec(styles)) {\n const matchIndex: number = tokenMatch.index;\n if (matchIndex > pos) {\n result.push({\n rawString: styles.substring(pos, matchIndex)\n });\n }\n\n result.push({\n theme: tokenMatch[1],\n defaultValue: tokenMatch[2] // May be undefined\n });\n\n // index of the first character after the current match\n pos = _themeTokenRegex.lastIndex;\n }\n\n // Push the rest of the string after the last match.\n result.push({\n rawString: styles.substring(pos)\n });\n }\n\n return result;\n}\n\n/**\n * Registers a set of style text. If it is registered too early, we will register it when the\n * window.load event is fired.\n * @param {ThemableArray} styleArray Array of IThemingInstruction objects to register.\n * @param {IStyleRecord} styleRecord May specify a style Element to update.\n */\nfunction registerStyles(styleArray: ThemableArray, styleRecord?: IStyleRecord): void {\n const head: HTMLHeadElement = document.getElementsByTagName('head')[0];\n const styleElement: HTMLStyleElement = document.createElement('style');\n\n styleElement.type = 'text/css';\n styleElement.appendChild(document.createTextNode(resolveThemableArray(styleArray)));\n\n if (styleRecord) {\n head.replaceChild(styleElement, styleRecord.styleElement);\n styleRecord.styleElement = styleElement;\n } else {\n head.appendChild(styleElement);\n }\n\n if (!styleRecord) {\n _themeState.registeredStyles.push({\n styleElement: styleElement,\n themableStyle: styleArray\n });\n }\n}\n\n/**\n * Registers a set of style text, for IE 9 and below, which has a ~30 style element limit so we need\n * to register slightly differently.\n * @param {ThemableArray} styleArray Array of IThemingInstruction objects to register.\n * @param {IStyleRecord} styleRecord May specify a style Element to update.\n */\nfunction registerStylesIE(styleArray: ThemableArray, styleRecord?: IStyleRecord): void {\n const head: HTMLHeadElement = document.getElementsByTagName('head')[0];\n let { lastStyleElement, registeredStyles }: IThemeState = _themeState;\n\n const stylesheet: IStyleSheet = lastStyleElement ? lastStyleElement.styleSheet : undefined;\n const lastStyleContent: string = stylesheet ? stylesheet.cssText : '';\n let lastRegisteredStyle: IStyleRecord = registeredStyles[registeredStyles.length - 1];\n const resolvedStyleText: string = resolveThemableArray(styleArray);\n\n if (!lastStyleElement || (lastStyleContent.length + resolvedStyleText.length) > MAX_STYLE_CONTENT_SIZE) {\n lastStyleElement = document.createElement('style') as IExtendedHtmlStyleElement;\n lastStyleElement.type = 'text/css';\n\n if (styleRecord) {\n head.replaceChild(lastStyleElement, styleRecord.styleElement);\n styleRecord.styleElement = lastStyleElement;\n } else {\n head.appendChild(lastStyleElement);\n }\n\n if (!styleRecord) {\n lastRegisteredStyle = {\n styleElement: lastStyleElement,\n themableStyle: styleArray\n };\n registeredStyles.push(lastRegisteredStyle);\n }\n }\n\n lastStyleElement.styleSheet.cssText += detokenize(resolvedStyleText);\n Array.prototype.push.apply(lastRegisteredStyle.themableStyle, styleArray); // concat in-place\n\n // Preserve the theme state.\n _themeState.lastStyleElement = lastStyleElement;\n}\n\n/**\n * Checks to see if styleSheet exists as a property off of a style element.\n * This will determine if style registration should be done via cssText (<= IE9) or not\n */\nfunction shouldUseCssText(): boolean {\n let useCSSText: boolean = false;\n\n if (typeof document !== 'undefined') {\n const emptyStyle: IExtendedHtmlStyleElement = document.createElement('style') as IExtendedHtmlStyleElement;\n\n emptyStyle.type = 'text/css';\n useCSSText = !!emptyStyle.styleSheet;\n }\n\n return useCSSText;\n}\n\n\n\n// WEBPACK FOOTER //\n// /src/index.ts","import * as React from 'react';\r\nimport { Async } from './Async';\r\nimport { EventGroup } from './EventGroup';\r\nimport { IDisposable } from './IDisposable';\r\nimport { warnDeprecations, warnMutuallyExclusive, ISettingsMap } from './warn';\r\n\r\nexport interface IBaseProps {\r\n componentRef?: any;\r\n}\r\n\r\nexport class BaseComponent<P extends IBaseProps, S> extends React.Component<P, S> {\r\n /**\r\n * External consumers should override BaseComponent.onError to hook into error messages that occur from\r\n * exceptions thrown from within components.\r\n */\r\n public static onError: ((errorMessage?: string, ex?: any) => void);\r\n\r\n /**\r\n * Controls whether the componentRef prop will be resolved by this component instance. If you are\r\n * implementing a passthrough (higher-order component), you would set this to false and pass through\r\n * the props to the inner component, allowing it to resolve the componentRef.\r\n */\r\n protected _shouldUpdateComponentRef: boolean;\r\n\r\n private __async: Async;\r\n private __events: EventGroup;\r\n private __disposables: IDisposable[];\r\n private __resolves: { [name: string]: (ref: any) => any };\r\n private __className: string;\r\n\r\n /**\r\n * BaseComponent constructor\r\n * @param props - The props for the component.\r\n * @param context - The context for the component.\r\n */\r\n constructor(props?: P, context?: any) {\r\n super(props, context);\r\n\r\n this.props = props;\r\n this._shouldUpdateComponentRef = true;\r\n\r\n _makeAllSafe(this, BaseComponent.prototype, [\r\n 'componentWillMount',\r\n 'componentDidMount',\r\n 'shouldComponentUpdate',\r\n 'componentWillUpdate',\r\n 'componentWillReceiveProps',\r\n 'render',\r\n 'componentDidUpdate',\r\n 'componentWillUnmount'\r\n ]);\r\n }\r\n\r\n /**\r\n * When the component will receive props, make sure the componentRef is updated.\r\n */\r\n public componentWillReceiveProps(newProps?: P, newContext?: any) {\r\n this._updateComponentRef(this.props, newProps);\r\n }\r\n\r\n /**\r\n * When the component has mounted, update the componentRef.\r\n */\r\n public componentDidMount() {\r\n this._updateComponentRef(undefined, this.props);\r\n }\r\n\r\n /**\r\n * If we have disposables, dispose them automatically on unmount.\r\n */\r\n public componentWillUnmount() {\r\n if (this.__disposables) {\r\n for (let i = 0, len = this._disposables.length; i < len; i++) {\r\n let disposable = this.__disposables[i];\r\n\r\n if (disposable.dispose) {\r\n disposable.dispose();\r\n }\r\n }\r\n this.__disposables = null;\r\n }\r\n }\r\n\r\n /**\r\n * Gets the object's class name.\r\n */\r\n public get className() {\r\n if (!this.__className) {\r\n let funcNameRegex = /function (.{1,})\\(/;\r\n let results = (funcNameRegex).exec((this).constructor.toString());\r\n\r\n this.__className = (results && results.length > 1) ? results[1] : '';\r\n }\r\n\r\n return this.__className;\r\n }\r\n\r\n /**\r\n * Allows subclasses to push things to this._disposables to be auto disposed.\r\n */\r\n protected get _disposables(): IDisposable[] {\r\n if (!this.__disposables) {\r\n this.__disposables = [];\r\n }\r\n return this.__disposables;\r\n }\r\n\r\n /**\r\n * Gets the async instance associated with the component, created on demand. The async instance gives\r\n * subclasses a way to execute setTimeout/setInterval async calls safely, where the callbacks\r\n * will be cleared/ignored automatically after unmounting. The helpers within the async object also\r\n * preserve the this pointer so that you don't need to \"bind\" the callbacks.\r\n */\r\n protected get _async(): Async {\r\n if (!this.__async) {\r\n this.__async = new Async(this);\r\n this._disposables.push(this.__async);\r\n }\r\n\r\n return this.__async;\r\n }\r\n\r\n /**\r\n * Gets the event group instance assocaited with the component, created on demand. The event instance\r\n * provides on/off methods for listening to DOM (or regular javascript object) events. The event callbacks\r\n * will be automatically disconnected after unmounting. The helpers within the events object also\r\n * preserve the this reference so that you don't need to \"bind\" the callbacks.\r\n */\r\n protected get _events(): EventGroup {\r\n if (!this.__events) {\r\n this.__events = new EventGroup(this);\r\n this._disposables.push(this.__events);\r\n }\r\n\r\n return this.__events;\r\n }\r\n\r\n /**\r\n * Helper to return a memoized ref resolver function.\r\n * @param refName - Name of the member to assign the ref to.\r\n * @returns A function instance keyed from the given refname.\r\n */\r\n protected _resolveRef(refName: string): (ref: any) => any {\r\n if (!this.__resolves) {\r\n this.__resolves = {};\r\n }\r\n if (!this.__resolves[refName]) {\r\n this.__resolves[refName] = (ref) => {\r\n return this[refName] = ref;\r\n };\r\n }\r\n\r\n return this.__resolves[refName];\r\n }\r\n\r\n /**\r\n * Updates the componentRef (by calling it with \"this\" when necessary.)\r\n */\r\n protected _updateComponentRef(currentProps: IBaseProps, newProps: IBaseProps = {}) {\r\n if (this._shouldUpdateComponentRef &&\r\n ((!currentProps && newProps.componentRef) ||\r\n (currentProps && currentProps.componentRef !== newProps.componentRef))) {\r\n\r\n if (currentProps && currentProps.componentRef) {\r\n currentProps.componentRef(null);\r\n }\r\n\r\n if (newProps.componentRef) {\r\n newProps.componentRef(this);\r\n }\r\n }\r\n }\r\n /**\r\n * Warns when a deprecated props are being used.\r\n *\r\n * @param deprecationMap - The map of deprecations, where key is the prop name and the value is\r\n * either null or a replacement prop name.\r\n */\r\n protected _warnDeprecations(deprecationMap: ISettingsMap<P>) {\r\n warnDeprecations(this.className, this.props, deprecationMap);\r\n }\r\n\r\n /**\r\n * Warns when props which are mutually exclusive with each other are both used.\r\n *\r\n * @param mutuallyExclusiveMap - The map of mutually exclusive props.\r\n */\r\n protected _warnMutuallyExclusive(mutuallyExclusiveMap: ISettingsMap<P>) {\r\n warnMutuallyExclusive(this.className, this.props, mutuallyExclusiveMap);\r\n }\r\n}\r\n\r\n/**\r\n * Helper to override a given method with a wrapper method that can try/catch the original, but also\r\n * ensures that the BaseComponent's methods are called before the subclass's. This ensures that\r\n * componentWillUnmount in the base is called and that things in the _disposables array are disposed.\r\n */\r\nfunction _makeAllSafe(obj: BaseComponent<any, any>, prototype: Object, methodNames: string[]) {\r\n for (let i = 0, len = methodNames.length; i < len; i++) {\r\n _makeSafe(obj, prototype, methodNames[i]);\r\n }\r\n}\r\n\r\nfunction _makeSafe(obj: BaseComponent<any, any>, prototype: Object, methodName: string) {\r\n let classMethod = obj[methodName];\r\n let prototypeMethod = prototype[methodName];\r\n\r\n if (classMethod || prototypeMethod) {\r\n obj[methodName] = function () {\r\n let retVal;\r\n\r\n try {\r\n if (prototypeMethod) {\r\n retVal = prototypeMethod.apply(this, arguments);\r\n }\r\n if (classMethod !== prototypeMethod) {\r\n retVal = classMethod.apply(this, arguments);\r\n }\r\n } catch (e) {\r\n const errorMessage = `Exception in ${obj.className}.${methodName}(): ${typeof e === 'string' ? e : e.stack}`;\r\n\r\n if (BaseComponent.onError) {\r\n BaseComponent.onError(errorMessage, e);\r\n }\r\n }\r\n\r\n return retVal;\r\n };\r\n }\r\n}\r\n\r\nBaseComponent.onError = (errorMessage) => {\r\n console.error(errorMessage);\r\n throw errorMessage;\r\n};\r\n\r\n/**\r\n * Simple constant function for returning null, used to render empty templates in JSX.\r\n */\r\nexport function nullRender(): JSX.Element | null { return null; }\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/BaseComponent.ts","let _warningCallback: (message: string) => void = warn;\r\n\r\nexport type ISettingsMap<T> = {\r\n [P in keyof T]?: string;\r\n};\r\n\r\n/**\r\n * Warns when a deprecated props are being used.\r\n *\r\n * @param componentName - The name of the component being used.\r\n * @param props - The props passed into the component.\r\n * @param deprecationMap - The map of deprecations, where key is the prop name and the value is\r\n * either null or a replacement prop name.\r\n */\r\nexport function warnDeprecations<P>(\r\n componentName: string,\r\n props: P,\r\n deprecationMap: ISettingsMap<P>): void {\r\n\r\n for (const propName in deprecationMap) {\r\n if (props && propName in props) {\r\n let deprecationMessage = `${componentName} property '${propName}' was used but has been deprecated.`;\r\n const replacementPropName = deprecationMap[propName];\r\n\r\n if (replacementPropName) {\r\n deprecationMessage += ` Use '${replacementPropName}' instead.`;\r\n }\r\n _warningCallback(deprecationMessage);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Warns when two props which are mutually exclusive are both being used.\r\n *\r\n * @param componentName - The name of the component being used.\r\n * @param props - The props passed into the component.\r\n * @param exclusiveMap - A map where the key is a parameter, and the value is the other parameter.\r\n */\r\nexport function warnMutuallyExclusive<P>(\r\n componentName: string,\r\n props: P,\r\n exclusiveMap: ISettingsMap<P>): void {\r\n\r\n for (const propName in exclusiveMap) {\r\n if (props && propName in props && exclusiveMap[propName] in props) {\r\n _warningCallback(\r\n `${componentName} property '${propName}' is mutually exclusive with '${exclusiveMap[propName]}'. Use one or the other.`\r\n );\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Sends a warning to console, if the api is present.\r\n * @param message - Warning message.\r\n */\r\nexport function warn(message: string): void {\r\n if (console && console.warn) {\r\n console.warn(message);\r\n }\r\n}\r\n\r\n/**\r\n * Configures the warning callback. Passing in undefined will reset it to use the default\r\n * console.warn function.\r\n *\r\n * @param warningCallback - Callback to override the generated warnings.\r\n */\r\nexport function setWarningCallback(warningCallback: (message: string) => void): void {\r\n _warningCallback = warningCallback === undefined ? warn : warningCallback;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/warn.ts","import * as React from 'react';\r\nimport * as PropTypes from 'prop-types';\r\nimport { BaseComponent } from './BaseComponent';\r\nimport { assign } from './object';\r\n\r\nexport interface ISettings {\r\n [key: string]: any;\r\n}\r\n\r\nexport interface ICustomizerProps {\r\n settings: ISettings;\r\n}\r\n\r\nexport interface ICustomizerState {\r\n injectedProps?: ISettings;\r\n}\r\n\r\n/**\r\n * The Customizer component allows for default props to be mixed into components which\r\n * are decorated with the customizable() decorator. This enables injection scenarios like:\r\n *\r\n * 1. render svg icons instead of the icon font within all buttons\r\n * 2. inject a custom theme object into a component\r\n *\r\n * Props are provided via the settings prop, which should be a json map where the key is\r\n * the name of the customizable component, and the value is are the props to pass in.\r\n */\r\nexport class Customizer extends BaseComponent<ICustomizerProps, ICustomizerState> {\r\n public static contextTypes = {\r\n injectedProps: PropTypes.object\r\n };\r\n\r\n public static childContextTypes = Customizer.contextTypes;\r\n\r\n constructor(props, context) {\r\n super(props);\r\n\r\n this.state = this._getInjectedProps(props, context);\r\n }\r\n\r\n public getChildContext(): any {\r\n return this.state;\r\n }\r\n\r\n public componentWillReceiveProps(newProps, newContext) {\r\n\r\n this.setState(this._getInjectedProps(newProps, newContext));\r\n }\r\n\r\n public render() {\r\n return React.Children.only(this.props.children);\r\n }\r\n\r\n private _getInjectedProps(props: ICustomizerProps, context: ICustomizerState) {\r\n let { settings: injectedPropsFromSettings = {} as ISettings } = props;\r\n let { injectedProps: injectedPropsFromContext = {} as ISettings } = context;\r\n\r\n return {\r\n injectedProps: assign({}, injectedPropsFromContext, injectedPropsFromSettings)\r\n };\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Customizer.tsx","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/index.js\n// module id = 22\n// module chunks = 0 1 2 3","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/process/browser.js\n// module id = 23\n// module chunks = 0 1 2 3","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n warning(\n false,\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `%s` prop on `%s`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',\n propFullName,\n componentName\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunction.thatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n warning(\n false,\n 'Invalid argument supplid to oneOfType. Expected an array of check functions, but ' +\n 'received %s at index %s.',\n getPostfixForTypeWarning(checker),\n i\n );\n return emptyFunction.thatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/factoryWithTypeCheckers.js\n// module id = 24\n// module chunks = 0 1 2 3","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/emptyFunction.js\n// module id = 25\n// module chunks = 0 1 2 3","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/invariant.js\n// module id = 26\n// module chunks = 0 1 2 3","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\nvar emptyFunction = require('./emptyFunction');\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n (function () {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n })();\n}\n\nmodule.exports = warning;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/warning.js\n// module id = 27\n// module chunks = 0 1 2 3","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/lib/ReactPropTypesSecret.js\n// module id = 28\n// module chunks = 0 1 2 3","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== 'production') {\n var invariant = require('fbjs/lib/invariant');\n var warning = require('fbjs/lib/warning');\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', location, typeSpecName);\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/checkPropTypes.js\n// module id = 29\n// module chunks = 0 1 2 3","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/factoryWithThrowingShims.js\n// module id = 30\n// module chunks = 0 1 2 3","// Initialize global window id.\r\nconst CURRENT_ID_PROPERTY = '__currentId__';\r\n\r\ndeclare const process: any;\r\n\r\nlet _global = (typeof window !== 'undefined' && window) || process;\r\n\r\nif (_global[CURRENT_ID_PROPERTY] === undefined) {\r\n _global[CURRENT_ID_PROPERTY] = 0;\r\n}\r\n\r\nfunction checkProperties(a, b) {\r\n for (let propName in a) {\r\n if (a.hasOwnProperty(propName)) {\r\n if (!b.hasOwnProperty(propName) || (b[propName] !== a[propName])) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n}\r\n\r\n// Compare a to b and b to a\r\nexport function shallowCompare(a, b) {\r\n return checkProperties(a, b) && checkProperties(b, a);\r\n}\r\n\r\n/**\r\n * Makes a resulting merge of a bunch of objects. Pass in the target object followed by 1 or more\r\n * objects as arguments and they will be merged sequentially into the target. Note that this will\r\n * shallow merge; it will not create new cloned values for target members.\r\n *\r\n * @param target - Target object to merge following object arguments into.\r\n * @param args - One or more objects that will be mixed into the target in the order they are provided.\r\n * @returns Resulting merged target.\r\n */\r\nexport function assign(target: any, ...args): any {\r\n return filteredAssign.apply(this, [null, target].concat(args));\r\n}\r\n\r\n/**\r\n * Makes a resulting merge of a bunch of objects, but allows a filter function to be passed in to filter\r\n * the resulting merges. This allows for scenarios where you want to merge \"everything except that one thing\"\r\n * or \"properties that start with data-\". Note that this will shallow merge; it will not create new cloned\r\n * values for target members.\r\n *\r\n * @param isAllowed - Callback to determine if the given propName is allowed in the result.\r\n * @param target - Target object to merge following object arguments into.\r\n * @param args - One or more objects that will be mixed into the target in the order they are provided.\r\n * @returns Resulting merged target.\r\n */\r\nexport function filteredAssign(isAllowed: (propName: string) => boolean, target: any, ...args) {\r\n target = target || {};\r\n\r\n for (let sourceObject of args) {\r\n if (sourceObject) {\r\n for (let propName in sourceObject) {\r\n if (sourceObject.hasOwnProperty(propName) &&\r\n !isAllowed || isAllowed(propName)) {\r\n target[propName] = sourceObject[propName];\r\n }\r\n }\r\n }\r\n }\r\n\r\n return target;\r\n}\r\n\r\n/** Generates a unique id in the global scope (this spans across duplicate copies of the same library.) */\r\nexport function getId(prefix?: string): string {\r\n let index = _global[CURRENT_ID_PROPERTY]++;\r\n\r\n return (prefix || '') + index;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/object.ts","import * as React from 'react';\r\n\r\nexport interface IDelayedRenderProps extends React.Props<any> {\r\n /**\r\n * Number of milliseconds to delay rendering children.\r\n */\r\n delay?: number;\r\n}\r\n\r\nexport interface IDelayedRenderState {\r\n /**\r\n * Whether the component is rendered or not.\r\n */\r\n isRendered: boolean;\r\n}\r\n\r\n/**\r\n * Utility component for delaying the render of a child component after a given delay. This component\r\n * requires a single child component; don't pass in many components. Wrap multiple components in a DIV\r\n * if necessary.\r\n */\r\nexport class DelayedRender extends React.Component<IDelayedRenderProps, IDelayedRenderState> {\r\n public static defaultProps = {\r\n delay: 0\r\n };\r\n\r\n private _timeoutId;\r\n\r\n constructor(props: IDelayedRenderProps) {\r\n super(props);\r\n this.state = {\r\n isRendered: false\r\n };\r\n }\r\n\r\n public componentDidMount() {\r\n let { delay } = this.props;\r\n this._timeoutId = setTimeout(() => {\r\n this.setState({\r\n isRendered: true\r\n });\r\n }, delay);\r\n }\r\n\r\n public componentWillUnmount() {\r\n clearTimeout(this._timeoutId);\r\n }\r\n\r\n public render() {\r\n return this.state.isRendered ? React.Children.only(this.props.children) : null;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/DelayedRender.tsx","export enum KeyCodes {\r\n a = 65,\r\n backspace = 8,\r\n comma = 188,\r\n del = 46,\r\n down = 40,\r\n end = 35,\r\n enter = 13,\r\n escape = 27,\r\n home = 36,\r\n left = 37,\r\n pageDown = 34,\r\n pageUp = 33,\r\n right = 39,\r\n semicolon = 186,\r\n space = 32,\r\n tab = 9,\r\n up = 38\r\n}\n\n\n// WEBPACK FOOTER //\n// ../src/KeyCodes.ts","export class Rectangle {\r\n public top: number;\r\n public bottom: number;\r\n public left: number;\r\n public right: number;\r\n\r\n constructor(left: number = 0, right: number = 0, top: number = 0, bottom: number = 0) {\r\n this.top = top;\r\n this.bottom = bottom;\r\n this.left = left;\r\n this.right = right;\r\n }\r\n\r\n /**\r\n * Calculated automatically by subtracting the right from left\r\n */\r\n get width(): number {\r\n return this.right - this.left;\r\n }\r\n\r\n /**\r\n * Calculated automatically by subtracting the bottom from top.\r\n */\r\n get height(): number {\r\n return this.bottom - this.top;\r\n }\r\n\r\n /**\r\n * Tests if another rect is approximately equal to this rect (within 4 decimal places.)\r\n */\r\n public equals(rect: Rectangle): boolean {\r\n // I'm fixing it to 4 decimal places because it allows enough precision and will handle cases when something should be rounded,\r\n // like .999999 should round to 1.\r\n return (\r\n parseFloat(this.top.toFixed(4)) === parseFloat(rect.top.toFixed(4)) &&\r\n parseFloat(this.bottom.toFixed(4)) === parseFloat(rect.bottom.toFixed(4)) &&\r\n parseFloat(this.left.toFixed(4)) === parseFloat(rect.left.toFixed(4)) &&\r\n parseFloat(this.right.toFixed(4)) === parseFloat(rect.right.toFixed(4))\r\n );\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ../src/Rectangle.ts","export function findIndex(array: any[], cb: (item: any, index?: number) => boolean): number {\r\n let index = -1;\r\n\r\n for (let i = 0; array && i < array.length; i++) {\r\n if (cb(array[i], i)) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n\r\n return index;\r\n}\r\n\r\nexport function createArray(size: number, getItem?: (index?: number) => any) {\r\n let array = [];\r\n\r\n for (let i = 0; i < size; i++) {\r\n array.push(getItem(i));\r\n }\r\n\r\n return array;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/array.ts","/**\r\n * Autobind is a utility for binding methods in a class. This simplifies tagging methods as being \"bound\" to the this pointer\r\n * so that they can be used in scenarios that simply require a function callback.\r\n */\r\nexport function autobind<T extends Function>(target: any, key: string, descriptor: TypedPropertyDescriptor<T>) {\r\n let fn = descriptor.value;\r\n\r\n let defining = false;\r\n\r\n return {\r\n configurable: true,\r\n\r\n get() {\r\n if (defining || this === fn.prototype || this.hasOwnProperty(key)) {\r\n return fn;\r\n }\r\n\r\n // Bind method only once, and update the property to return the bound value from now on\r\n let fnBound = fn.bind(this);\r\n\r\n defining = true;\r\n Object.defineProperty(this, key, {\r\n configurable: true,\r\n writable: true,\r\n enumerable: true,\r\n value: fnBound\r\n });\r\n defining = false;\r\n\r\n return fnBound;\r\n },\r\n\r\n set(newValue) {\r\n Object.defineProperty(this, key, {\r\n configurable: true,\r\n writable: true,\r\n enumerable: true,\r\n value: newValue\r\n });\r\n }\r\n };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/autobind.ts","\r\nexport interface IDictionary {\r\n [className: string]: boolean;\r\n}\r\n\r\nexport interface ISerializableObject {\r\n toString?: () => string;\r\n}\r\n\r\nexport type ICssInput = string | ISerializableObject | IDictionary | null | undefined | boolean;\r\n\r\nexport function css(...args: ICssInput[]) {\r\n let classes = [];\r\n\r\n for (let arg of args) {\r\n if (arg) {\r\n if (typeof arg === 'string') {\r\n classes.push(arg);\r\n } else if ((arg.hasOwnProperty('toString') && typeof (arg.toString) === 'function')) {\r\n classes.push(arg.toString());\r\n } else {\r\n for (let key in arg as any) {\r\n if (arg[key]) {\r\n classes.push(key);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return classes.join(' ');\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/css.ts","import * as React from 'react';\r\nimport * as PropTypes from 'prop-types';\r\n\r\nexport function customizable<P>(componentName?: string) {\r\n return function customizableFactory<P, S>(\r\n ComposedComponent: (new (props: P, ...args: any[]) => React.Component<P, S>)\r\n ): any {\r\n return class ComponentWithInjectedProps extends React.Component<P, {}> {\r\n public static contextTypes = {\r\n injectedProps: PropTypes.object\r\n };\r\n\r\n public render() {\r\n let defaultProps = ((this.context.injectedProps) ?\r\n this.context.injectedProps[componentName] :\r\n null) || {};\r\n\r\n return (\r\n <ComposedComponent { ...defaultProps } { ...this.props } />\r\n );\r\n }\r\n };\r\n };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/customizable.tsx","/* tslint:disable:no-string-literal */\r\n\r\nimport { elementContains, getDocument } from './dom';\r\n\r\nconst IS_FOCUSABLE_ATTRIBUTE = 'data-is-focusable';\r\nconst IS_VISIBLE_ATTRIBUTE = 'data-is-visible';\r\nconst FOCUSZONE_ID_ATTRIBUTE = 'data-focuszone-id';\r\n\r\nexport function getFirstFocusable(\r\n rootElement: HTMLElement,\r\n currentElement: HTMLElement,\r\n includeElementsInFocusZones?: boolean): HTMLElement {\r\n\r\n return getNextElement(rootElement, currentElement, true, false, false, includeElementsInFocusZones);\r\n}\r\n\r\nexport function getLastFocusable(\r\n rootElement: HTMLElement,\r\n currentElement: HTMLElement,\r\n includeElementsInFocusZones?: boolean): HTMLElement {\r\n\r\n return getPreviousElement(rootElement, currentElement, true, false, true, includeElementsInFocusZones);\r\n}\r\n\r\n/**\r\n * Attempts to focus the first focusable element that is a child or child's child of the rootElement.\r\n * @param rootElement - Element to start the search for a focusable child.\r\n * @returns True if focus was set, false if it was not.\r\n */\r\nexport function focusFirstChild(\r\n rootElement: HTMLElement): boolean {\r\n let element: HTMLElement = getNextElement(rootElement, rootElement, true, false, false, true);\r\n\r\n if (element) {\r\n element.focus();\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\n/** Traverse to find the previous element. */\r\nexport function getPreviousElement(\r\n rootElement: HTMLElement,\r\n currentElement: HTMLElement,\r\n checkNode?: boolean,\r\n suppressParentTraversal?: boolean,\r\n traverseChildren?: boolean,\r\n includeElementsInFocusZones?: boolean): HTMLElement {\r\n\r\n if (!currentElement ||\r\n currentElement === rootElement) {\r\n return null;\r\n }\r\n\r\n let isCurrentElementVisible = isElementVisible(currentElement);\r\n\r\n // Check its children.\r\n if (traverseChildren && (includeElementsInFocusZones || !isElementFocusZone(currentElement)) && isCurrentElementVisible) {\r\n const childMatch = getPreviousElement(\r\n rootElement,\r\n currentElement.lastElementChild as HTMLElement,\r\n true,\r\n true,\r\n true,\r\n includeElementsInFocusZones);\r\n\r\n if (childMatch) {\r\n return childMatch;\r\n }\r\n }\r\n\r\n // Check the current node, if it's not the first traversal.\r\n if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement)) {\r\n return currentElement;\r\n }\r\n\r\n // Check its previous sibling.\r\n const siblingMatch = getPreviousElement(\r\n rootElement,\r\n currentElement.previousElementSibling as HTMLElement,\r\n true,\r\n true,\r\n true,\r\n includeElementsInFocusZones);\r\n\r\n if (siblingMatch) {\r\n return siblingMatch;\r\n }\r\n\r\n // Check its parent.\r\n if (!suppressParentTraversal) {\r\n return getPreviousElement(rootElement, currentElement.parentElement, true, false, false, includeElementsInFocusZones);\r\n }\r\n\r\n return null;\r\n}\r\n\r\n/** Traverse to find the next focusable element. */\r\nexport function getNextElement(\r\n rootElement: HTMLElement,\r\n currentElement: HTMLElement,\r\n checkNode?: boolean,\r\n suppressParentTraversal?: boolean,\r\n suppressChildTraversal?: boolean,\r\n includeElementsInFocusZones?: boolean): HTMLElement {\r\n\r\n if (\r\n !currentElement ||\r\n (currentElement === rootElement && suppressChildTraversal)) {\r\n return null;\r\n }\r\n\r\n let isCurrentElementVisible = isElementVisible(currentElement);\r\n\r\n // Check the current node, if it's not the first traversal.\r\n if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement)) {\r\n return currentElement;\r\n }\r\n\r\n // Check its children.\r\n if (!suppressChildTraversal && isCurrentElementVisible && (includeElementsInFocusZones || !isElementFocusZone(currentElement))) {\r\n const childMatch = getNextElement(\r\n rootElement,\r\n currentElement.firstElementChild as HTMLElement,\r\n true,\r\n true,\r\n false,\r\n includeElementsInFocusZones);\r\n\r\n if (childMatch) {\r\n return childMatch;\r\n }\r\n }\r\n\r\n if (currentElement === rootElement) {\r\n return null;\r\n }\r\n\r\n // Check its sibling.\r\n const siblingMatch = getNextElement(\r\n rootElement,\r\n currentElement.nextElementSibling as HTMLElement,\r\n true,\r\n true,\r\n false,\r\n includeElementsInFocusZones);\r\n\r\n if (siblingMatch) {\r\n return siblingMatch;\r\n }\r\n\r\n if (!suppressParentTraversal) {\r\n return getNextElement(rootElement, currentElement.parentElement, false, false, true, includeElementsInFocusZones);\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexport function isElementVisible(element: HTMLElement): boolean {\r\n // If the element is not valid, return false.\r\n if (!element || !element.getAttribute) {\r\n return false;\r\n }\r\n\r\n const visibilityAttribute = element.getAttribute(IS_VISIBLE_ATTRIBUTE);\r\n\r\n // If the element is explicitly marked with the visibility attribute, return that value as boolean.\r\n if (visibilityAttribute !== null && visibilityAttribute !== undefined) {\r\n return visibilityAttribute === 'true';\r\n }\r\n\r\n // Fallback to other methods of determining actual visibility.\r\n return (element.offsetHeight !== 0 ||\r\n element.offsetParent !== null ||\r\n (element as any).isVisible === true); // used as a workaround for testing.\r\n}\r\n\r\nexport function isElementTabbable(element: HTMLElement): boolean {\r\n\r\n // If this element is null or is disabled, it is not considered tabbable.\r\n if (!element || (element as HTMLButtonElement).disabled) {\r\n return false;\r\n }\r\n\r\n // In IE, element.tabIndex is default to 0. We need to use element get tabIndex attribute to get the correct tabIndex\r\n let tabIndex = -1;\r\n\r\n if (element && element.getAttribute) {\r\n tabIndex = parseInt(element.getAttribute('tabIndex'), 10);\r\n }\r\n\r\n let isFocusableAttribute: string = element.getAttribute ? element.getAttribute(IS_FOCUSABLE_ATTRIBUTE) : null;\r\n\r\n return (\r\n !!element && isFocusableAttribute !== 'false' &&\r\n (element.tagName === 'A' ||\r\n (element.tagName === 'BUTTON') ||\r\n (element.tagName === 'INPUT') ||\r\n (element.tagName === 'TEXTAREA') ||\r\n (tabIndex >= 0) ||\r\n (element.getAttribute && (\r\n isFocusableAttribute === 'true' ||\r\n element.getAttribute('role') === 'button'\r\n ))\r\n ));\r\n}\r\n\r\nexport function isElementFocusZone(element?: HTMLElement): boolean {\r\n return element && !!element.getAttribute(FOCUSZONE_ID_ATTRIBUTE);\r\n}\r\n\r\nexport function doesElementContainFocus(element: HTMLElement) {\r\n let currentActiveElement: HTMLElement = getDocument(element).activeElement as HTMLElement;\r\n if (currentActiveElement && elementContains(element, currentActiveElement)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/focus.ts","const REACT_LIFECYCLE_EXCLUSIONS = [\r\n 'setState',\r\n 'render',\r\n 'componentWillMount',\r\n 'componentDidMount',\r\n 'componentWillReceiveProps',\r\n 'shouldComponentUpdate',\r\n 'componentWillUpdate',\r\n 'componentDidUpdate',\r\n 'componentWillUnmount'\r\n];\r\n\r\n/**\r\n * Allows you to hoist methods, except those in an exclusion set from a source object into a destination object.\r\n *\r\n * @param destination - The instance of the object to hoist the methods onto.\r\n * @param source - The instance of the object where the methods are hoisted from.\r\n * @param exclusions - (Optional) What methods to exclude from being hoisted.\r\n * @returns An array of names of methods that were hoisted.\r\n */\r\nexport function hoistMethods(destination, source, exclusions: string[] = REACT_LIFECYCLE_EXCLUSIONS): string[] {\r\n let hoisted: string[] = [];\r\n for (let methodName in source) {\r\n if (\r\n typeof source[methodName] === 'function' &&\r\n destination[methodName] === undefined &&\r\n (!exclusions || exclusions.indexOf(methodName) === -1)\r\n ) {\r\n hoisted.push(methodName);\r\n /* tslint:disable:no-function-expression */\r\n destination[methodName] = function () { source[methodName].apply(source, arguments); };\r\n /* tslint:enable */\r\n }\r\n }\r\n\r\n return hoisted;\r\n}\r\n\r\n/**\r\n * Provides a method for convenience to unhoist hoisted methods.\r\n *\r\n * @param source - The source object upon which methods were hoisted.\r\n * @param methodNames - An array of method names to unhoist.\r\n */\r\nexport function unhoistMethods(source: any, methodNames: string[]): void {\r\n methodNames\r\n .forEach((methodName) => delete source[methodName]);\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/hoist.ts","/**\r\n * Regular expression matching characters to ignore when calculating the initials.\r\n * The first part matches characters within parenthesis, including the parenthesis.\r\n * The second part matches special ASCII characters except space, plus some unicode special characters.\r\n */\r\nconst UNWANTED_CHARS_REGEX: RegExp = /\\([^)]*\\)|[\\0-\\u001F\\!-/:-@\\[-`\\{-\\u00BF\\u0250-\\u036F\\uD800-\\uFFFF]/g;\r\n\r\n/** Regular expression matching one or more spaces. */\r\nconst MULTIPLE_WHITESPACES_REGEX: RegExp = /\\s+/g;\r\n\r\n/**\r\n * Regular expression matching languages for which we currently don't support initials.\r\n * Arabic: Arabic, Arabic Supplement, Arabic Extended-A.\r\n * Korean: Hangul Jamo, Hangul Compatibility Jamo, Hangul Jamo Extended-A, Hangul Syllables, Hangul Jamo Extended-B.\r\n * Japanese: Hiragana, Katakana.\r\n * CJK: CJK Unified Ideographs Extension A, CJK Unified Ideographs, CJK Compatibility Ideographs, CJK Unified Ideographs Extension B\r\n */\r\n/* tslint:disable:max-line-length */\r\nconst UNSUPPORTED_TEXT_REGEX: RegExp = /[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\u1100-\\u11FF\\u3130-\\u318F\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3040-\\u309F\\u30A0-\\u30FF\\u3400-\\u4DBF\\u4E00-\\u9FFF\\uF900-\\uFAFF]|[\\uD840-\\uD869][\\uDC00-\\uDED6]/;\r\n/* tslint:enable:max-line-length */\r\n\r\nfunction getInitialsLatin(displayName: string, isRtl: boolean): string {\r\n let initials = '';\r\n\r\n const splits: string[] = displayName.split(' ');\r\n\r\n if (splits.length === 2) {\r\n initials += splits[0].charAt(0).toUpperCase();\r\n initials += splits[1].charAt(0).toUpperCase();\r\n } else if (splits.length === 3) {\r\n initials += splits[0].charAt(0).toUpperCase();\r\n initials += splits[2].charAt(0).toUpperCase();\r\n } else if (splits.length !== 0) {\r\n initials += splits[0].charAt(0).toUpperCase();\r\n }\r\n\r\n if (isRtl && initials.length > 1) {\r\n return initials.charAt(1) + initials.charAt(0);\r\n }\r\n\r\n return initials;\r\n}\r\n\r\nfunction cleanupDisplayName(displayName: string): string {\r\n displayName = displayName.replace(UNWANTED_CHARS_REGEX, '');\r\n displayName = displayName.replace(MULTIPLE_WHITESPACES_REGEX, ' ');\r\n displayName = displayName.trim();\r\n\r\n return displayName;\r\n}\r\n\r\n/** Get (up to 2 characters) initials based on display name of the persona. */\r\nexport function getInitials(displayName: string, isRtl: boolean): string {\r\n if (displayName == null) {\r\n return '';\r\n }\r\n\r\n displayName = cleanupDisplayName(displayName);\r\n\r\n if (UNSUPPORTED_TEXT_REGEX.test(displayName)) {\r\n return '';\r\n }\r\n\r\n return getInitialsLatin(displayName, isRtl);\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/initials.ts","import { KeyCodes } from './KeyCodes';\r\nimport { getDocument, getWindow } from './dom';\r\n\r\n// Default to undefined so that we initialize on first read.\r\nlet _language: string;\r\n\r\n/**\r\n * Gets the rtl state of the page (returns true if in rtl.)\r\n */\r\nexport function getLanguage(): string {\r\n if (_language === undefined) {\r\n let doc = getDocument();\r\n let win = getWindow();\r\n\r\n // tslint:disable-next-line:no-string-literal\r\n if (win && win['localStorage']) {\r\n let savedLanguage = localStorage.getItem('language');\r\n\r\n if (savedLanguage !== null) {\r\n _language = savedLanguage;\r\n }\r\n }\r\n\r\n if (_language === undefined && doc) {\r\n _language = doc.documentElement.getAttribute('lang');\r\n }\r\n\r\n if (_language === undefined) {\r\n setLanguage('en', false);\r\n }\r\n }\r\n\r\n return _language;\r\n}\r\n\r\n/**\r\n * Sets the rtl state of the page (by adjusting the dir attribute of the html element.)\r\n */\r\nexport function setLanguage(language: string, avoidPersisting = false): void {\r\n let doc = getDocument();\r\n\r\n if (doc) {\r\n doc.documentElement.setAttribute('lang', language);\r\n }\r\n\r\n let win = getWindow();\r\n // tslint:disable-next-line:no-string-literal\r\n if (win && win['localStorage'] && !avoidPersisting) {\r\n localStorage.setItem('language', language);\r\n }\r\n\r\n _language = language;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/language.ts","import { IPoint } from './IPoint';\r\n\r\nexport function getDistanceBetweenPoints(point1: IPoint, point2: IPoint): number {\r\n let distance = Math.sqrt(Math.pow(point1.x - point2.x, 2) + Math.pow(point1.y - point2.y, 2));\r\n\r\n return distance;\r\n}\n\n\n// WEBPACK FOOTER //\n// ../src/math.ts","/**\r\n * Detects whether an element's content has horizontal overflow\r\n *\r\n * @param element - Element to check for overflow\r\n * @returns True if element's content overflows\r\n */\r\nexport function hasHorizontalOverflow(element: HTMLElement): boolean {\r\n return element.clientWidth < element.scrollWidth;\r\n}\r\n\r\n/**\r\n * Detects whether an element's content has vertical overflow\r\n *\r\n * @param element - Element to check for overflow\r\n * @returns True if element's content overflows\r\n */\r\nexport function hasVerticalOverflow(element: HTMLElement): boolean {\r\n return element.clientHeight < element.scrollHeight;\r\n}\r\n\r\n/**\r\n * Detects whether an element's content has overflow in any direction\r\n *\r\n * @param element - Element to check for overflow\r\n * @returns True if element's content overflows\r\n */\r\nexport function hasOverflow(element: HTMLElement): boolean {\r\n return hasHorizontalOverflow(element) || hasVerticalOverflow(element);\r\n}\n\n\n// WEBPACK FOOTER //\n// ../src/overflow.ts","import { filteredAssign } from './object';\r\nexport const baseElementEvents = [\r\n 'onCopy',\r\n 'onCut',\r\n 'onPaste',\r\n 'onCompositionEnd',\r\n 'onCompositionStart',\r\n 'onCompositionUpdate',\r\n 'onFocus',\r\n 'onFocusCapture',\r\n 'onBlur',\r\n 'onBlurCapture',\r\n 'onChange',\r\n 'onInput',\r\n 'onSubmit',\r\n 'onLoad',\r\n 'onError',\r\n 'onKeyDown',\r\n 'onKeyDownCapture',\r\n 'onKeyPress',\r\n 'onKeyUp',\r\n 'onAbort',\r\n 'onCanPlay',\r\n 'onCanPlayThrough',\r\n 'onDurationChange',\r\n 'onEmptied',\r\n 'onEncrypted',\r\n 'onEnded',\r\n 'onLoadedData',\r\n 'onLoadedMetadata',\r\n 'onLoadStart',\r\n 'onPause',\r\n 'onPlay',\r\n 'onPlaying',\r\n 'onProgress',\r\n 'onRateChange',\r\n 'onSeeked',\r\n 'onSeeking',\r\n 'onStalled',\r\n 'onSuspend',\r\n 'onTimeUpdate',\r\n 'onVolumeChange',\r\n 'onWaiting',\r\n 'onClick',\r\n 'onClickCapture',\r\n 'onContextMenu',\r\n 'onDoubleClick',\r\n 'onDrag',\r\n 'onDragEnd',\r\n 'onDragEnter',\r\n 'onDragExit',\r\n 'onDragLeave',\r\n 'onDragOver',\r\n 'onDragStart',\r\n 'onDrop',\r\n 'onMouseDown',\r\n 'onMouseDownCapture',\r\n 'onMouseEnter',\r\n 'onMouseLeave',\r\n 'onMouseMove',\r\n 'onMouseOut',\r\n 'onMouseOver',\r\n 'onMouseUp',\r\n 'onMouseUpCapture',\r\n 'onSelect',\r\n 'onTouchCancel',\r\n 'onTouchEnd',\r\n 'onTouchMove',\r\n 'onTouchStart',\r\n 'onScroll',\r\n 'onWheel'\r\n];\r\n\r\nexport const baseElementProperties = [\r\n 'defaultChecked',\r\n 'defaultValue',\r\n 'accept',\r\n 'acceptCharset',\r\n 'accessKey',\r\n 'action',\r\n 'allowFullScreen',\r\n 'allowTransparency',\r\n 'alt',\r\n 'async',\r\n 'autoComplete',\r\n 'autoFocus',\r\n 'autoPlay',\r\n 'capture',\r\n 'cellPadding',\r\n 'cellSpacing',\r\n 'charSet',\r\n 'challenge',\r\n 'checked',\r\n 'children',\r\n 'classID',\r\n 'className',\r\n 'cols',\r\n 'colSpan',\r\n 'content',\r\n 'contentEditable',\r\n 'contextMenu',\r\n 'controls',\r\n 'coords',\r\n 'crossOrigin',\r\n 'data',\r\n 'dateTime',\r\n 'default',\r\n 'defer',\r\n 'dir',\r\n 'download',\r\n 'draggable',\r\n 'encType',\r\n 'form',\r\n 'formAction',\r\n 'formEncType',\r\n 'formMethod',\r\n 'formNoValidate',\r\n 'formTarget',\r\n 'frameBorder',\r\n 'headers',\r\n 'height',\r\n 'hidden',\r\n 'high',\r\n 'hrefLang',\r\n 'htmlFor',\r\n 'httpEquiv',\r\n 'icon',\r\n 'id',\r\n 'inputMode',\r\n 'integrity',\r\n 'is',\r\n 'keyParams',\r\n 'keyType',\r\n 'kind',\r\n 'lang',\r\n 'list',\r\n 'loop',\r\n 'low',\r\n 'manifest',\r\n 'marginHeight',\r\n 'marginWidth',\r\n 'max',\r\n 'maxLength',\r\n 'media',\r\n 'mediaGroup',\r\n 'method',\r\n 'min',\r\n 'minLength',\r\n 'multiple',\r\n 'muted',\r\n 'name',\r\n 'noValidate',\r\n 'open',\r\n 'optimum',\r\n 'pattern',\r\n 'placeholder',\r\n 'poster',\r\n 'preload',\r\n 'radioGroup',\r\n 'readOnly',\r\n 'rel',\r\n 'required',\r\n 'role',\r\n 'rows',\r\n 'rowSpan',\r\n 'sandbox',\r\n 'scope',\r\n 'scoped',\r\n 'scrolling',\r\n 'seamless',\r\n 'selected',\r\n 'shape',\r\n 'size',\r\n 'sizes',\r\n 'span',\r\n 'spellCheck',\r\n 'src',\r\n 'srcDoc',\r\n 'srcLang',\r\n 'srcSet',\r\n 'start',\r\n 'step',\r\n 'style',\r\n 'summary',\r\n 'tabIndex',\r\n 'title',\r\n 'type',\r\n 'useMap',\r\n 'value',\r\n 'width',\r\n 'wmode',\r\n 'wrap'\r\n];\r\n\r\nexport const htmlElementProperties = baseElementProperties.concat(baseElementEvents);\r\n\r\nexport const anchorProperties = htmlElementProperties.concat([\r\n 'href',\r\n 'target'\r\n]);\r\n\r\nexport const buttonProperties = htmlElementProperties.concat([\r\n 'disabled'\r\n]);\r\n\r\nexport const divProperties = htmlElementProperties.concat(['align', 'noWrap']);\r\n\r\nexport const inputProperties = buttonProperties;\r\n\r\nexport const textAreaProperties = buttonProperties;\r\n\r\nexport const imageProperties = divProperties;\r\n\r\n/**\r\n * Gets native supported props for an html element provided the allowance set. Use one of the property\r\n * sets defined (divProperties, buttonPropertes, etc) to filter out supported properties from a given\r\n * props set. Note that all data- and aria- prefixed attributes will be allowed.\r\n * NOTE: getNativeProps should always be applied first when adding props to a react component. The\r\n * non-native props should be applied second. This will prevent getNativeProps from overriding your custom props.\r\n * For example, if props passed to getNativeProps has an onClick function and getNativeProps is added to\r\n * the component after an onClick function is added, then the getNativeProps onClick will override it.\r\n * @param props - The unfiltered input props\r\n * @param allowedPropsNames- The array of allowed propnames.\r\n * @returns The filtered props\r\n */\r\nexport function getNativeProps<T>(props: any, allowedPropNames: string[], excludedPropNames?: string[]): T {\r\n return filteredAssign((propName) => {\r\n return (\r\n (!excludedPropNames || excludedPropNames.indexOf(propName) < 0) && (\r\n (propName.indexOf('data-') === 0) ||\r\n (propName.indexOf('aria-') === 0) ||\r\n (allowedPropNames.indexOf(propName) >= 0)\r\n ));\r\n },\r\n {},\r\n props) as T;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/properties.ts","let _baseUrl = '';\r\n\r\n/** Sets the current base url used for fetching images. */\r\nexport function getResourceUrl(url) {\r\n return _baseUrl + url;\r\n}\r\n\r\n/** Gets the current base url used for fetching images. */\r\nexport function setBaseUrl(baseUrl) {\r\n _baseUrl = baseUrl;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/resources.ts","import { KeyCodes } from './KeyCodes';\r\nimport { getDocument, getWindow } from './dom';\r\n\r\n// Default to undefined so that we initialize on first read.\r\nlet _isRTL: boolean;\r\n\r\n/**\r\n * Gets the rtl state of the page (returns true if in rtl.)\r\n */\r\nexport function getRTL(): boolean {\r\n if (_isRTL === undefined) {\r\n let doc = getDocument();\r\n let win = getWindow();\r\n\r\n // tslint:disable-next-line:no-string-literal\r\n if (win && win['localStorage']) {\r\n let savedRTL = localStorage.getItem('isRTL');\r\n\r\n if (savedRTL !== null) {\r\n _isRTL = savedRTL === '1';\r\n }\r\n }\r\n if (_isRTL === undefined && doc) {\r\n _isRTL = doc.documentElement.getAttribute('dir') === 'rtl';\r\n }\r\n\r\n if (_isRTL !== undefined) {\r\n setRTL(_isRTL, true);\r\n } else {\r\n throw new Error(\r\n 'getRTL was called in a server environment without setRTL being called first. ' +\r\n 'Call setRTL to set the correct direction first.'\r\n );\r\n }\r\n }\r\n\r\n return _isRTL;\r\n}\r\n\r\n/**\r\n * Sets the rtl state of the page (by adjusting the dir attribute of the html element.)\r\n */\r\nexport function setRTL(isRTL: boolean, avoidPersisting = false) {\r\n let doc = getDocument();\r\n if (doc) {\r\n doc.documentElement.setAttribute('dir', isRTL ? 'rtl' : 'ltr');\r\n }\r\n\r\n let win = getWindow();\r\n // tslint:disable-next-line:no-string-literal\r\n if (win && win['localStorage'] && !avoidPersisting) {\r\n localStorage.setItem('isRTL', isRTL ? '1' : '0');\r\n }\r\n\r\n _isRTL = isRTL;\r\n}\r\n\r\n/**\r\n * Returns the given key, but flips right/left arrows if necessary.\r\n */\r\nexport function getRTLSafeKeyCode(key: number): number {\r\n if (getRTL()) {\r\n if (key === KeyCodes.left) {\r\n key = KeyCodes.right;\r\n } else if (key === KeyCodes.right) {\r\n key = KeyCodes.left;\r\n }\r\n }\r\n\r\n return key;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/rtl.ts","// Regex that finds { and } so they can be removed on a lookup for string format\r\nconst FORMAT_ARGS_REGEX = /[\\{\\}]/g;\r\n\r\n// Regex that finds {#} so it can be replaced by the arguments in string format\r\nconst FORMAT_REGEX = /\\{\\d+\\}/g;\r\n\r\n/**\r\n * String Format is like C# string format.\r\n * Usage Example: \"hello {0}!\".format(\"mike\") will return \"hello mike!\"\r\n * Calling format on a string with less arguments than specified in the format is invalid\r\n * Example \"I love {0} every {1}\".format(\"CXP\") will result in a Debug Exception.\r\n */\r\nexport function format(s: string, ...values: any[]): string {\r\n 'use strict';\r\n\r\n let args = values;\r\n // Callback match function\r\n function replace_func(match: string) {\r\n // looks up in the args\r\n let replacement = args[match.replace(FORMAT_ARGS_REGEX, '')];\r\n\r\n // catches undefined in nondebug and null in debug and nondebug\r\n if (replacement === null || replacement === undefined) {\r\n replacement = '';\r\n }\r\n\r\n return replacement;\r\n }\r\n return (s.replace(FORMAT_REGEX, replace_func));\r\n}\n\n\n// WEBPACK FOOTER //\n// ../src/string.ts","declare class WeakMap {\r\n public get(key: any): any;\r\n public set(key: any, value: any): void;\r\n public has(key: any);\r\n}\r\n\r\nconst _emptyObject = { empty: true };\r\nconst _dictionary = {};\r\n\r\ninterface IMemoizeNode {\r\n map: WeakMap;\r\n value?: any;\r\n}\r\n\r\nexport function memoize<T extends Function>(\r\n target: any,\r\n key: string,\r\n descriptor: TypedPropertyDescriptor<T>) {\r\n\r\n // We bind to \"null\" to prevent people from inadvertently pulling values from \"this\",\r\n // rather than passing them in as input values which can be memoized.\r\n let fn = memoizeFunction(descriptor.value.bind(null));\r\n\r\n return {\r\n configurable: true,\r\n get() {\r\n return fn;\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Memoizes a function; when you pass in the same parameters multiple times, it returns a cached result.\r\n * Be careful when passing in objects, you need to pass in the same INSTANCE for caching to work. Otherwise\r\n * it will grow the cache unnecessarily.\r\n *\r\n * By default, the cache will reset after 100 permutations, to avoid abuse cases where the function is\r\n * unintendedly called with unique objects. Without a reset, the cache could grow infinitely, so we safeguard\r\n * by resetting. To override this behavior, pass a value of 0 to the maxCacheSize parameter.\r\n *\r\n * @param cb - The function to memoize.\r\n * @param maxCacheSize - Max results to cache. If the cache exceeds this value, it will reset on the next call.\r\n * @returns A memoized version of the function.\r\n */\r\nexport function memoizeFunction<T extends (...args: any[]) => RET_TYPE, RET_TYPE>(\r\n cb: T,\r\n maxCacheSize: number = 100\r\n): T {\r\n\r\n let rootNode: any;\r\n let cacheSize = 0;\r\n\r\n // tslint:disable-next-line:no-function-expression\r\n return function memoizedFunction(...args: any[]): RET_TYPE {\r\n let currentNode: any = rootNode;\r\n\r\n if (rootNode === undefined || (maxCacheSize > 0 && cacheSize > maxCacheSize)) {\r\n rootNode = _createNode();\r\n cacheSize = 0;\r\n }\r\n\r\n currentNode = rootNode;\r\n\r\n // Traverse the tree until we find the match.\r\n for (let i = 0; i < args.length; i++) {\r\n let arg = _normalizeArg(args[i]);\r\n\r\n if (!currentNode.map.has(arg)) {\r\n currentNode.map.set(arg, _createNode());\r\n }\r\n\r\n currentNode = currentNode.map.get(arg);\r\n }\r\n\r\n if (!currentNode.hasOwnProperty('value')) {\r\n currentNode.value = cb(...args);\r\n cacheSize++;\r\n }\r\n\r\n return currentNode.value;\r\n } as any;\r\n}\r\n\r\nfunction _normalizeArg(val: any) {\r\n if (!val) {\r\n return _emptyObject;\r\n } else if (typeof val === 'object') {\r\n return val;\r\n } else if (!_dictionary[val]) {\r\n _dictionary[val] = { val };\r\n }\r\n\r\n return _dictionary[val];\r\n}\r\n\r\nfunction _createNode(): IMemoizeNode {\r\n return {\r\n map: new WeakMap()\r\n };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/memoize.ts","export * from './components/FocusZone/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/FocusZone.ts","export * from './FocusZone';\r\nexport * from './FocusZone.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/FocusZone/index.ts","import * as React from 'react';\r\nimport {\r\n FocusZoneDirection,\r\n IFocusZone,\r\n IFocusZoneProps\r\n} from './FocusZone.Props';\r\nimport {\r\n BaseComponent,\r\n EventGroup,\r\n KeyCodes,\r\n autobind,\r\n css,\r\n divProperties,\r\n elementContains,\r\n getDocument,\r\n getId,\r\n getNextElement,\r\n getNativeProps,\r\n getParent,\r\n getPreviousElement,\r\n getRTL,\r\n isElementFocusZone,\r\n isElementTabbable\r\n} from '../../Utilities';\r\n\r\nconst IS_FOCUSABLE_ATTRIBUTE = 'data-is-focusable';\r\nconst IS_ENTER_DISABLED_ATTRIBUTE = 'data-disable-click-on-enter';\r\nconst FOCUSZONE_ID_ATTRIBUTE = 'data-focuszone-id';\r\nconst TABINDEX = 'tabindex';\r\n\r\nlet _allInstances: {\r\n [key: string]: FocusZone\r\n} = {};\r\n\r\ninterface IPoint {\r\n left: number;\r\n top: number;\r\n}\r\nconst ALLOWED_INPUT_TYPES = ['text', 'number', 'password', 'email', 'tel', 'url', 'search'];\r\n\r\nexport class FocusZone extends BaseComponent<IFocusZoneProps, {}> implements IFocusZone {\r\n\r\n public static defaultProps: IFocusZoneProps = {\r\n isCircularNavigation: false,\r\n direction: FocusZoneDirection.bidirectional\r\n };\r\n\r\n public refs: {\r\n [key: string]: React.ReactInstance,\r\n root: HTMLElement\r\n };\r\n\r\n private _id: string;\r\n private _activeElement: HTMLElement;\r\n private _focusAlignment: IPoint;\r\n private _isInnerZone: boolean;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this._warnDeprecations({ rootProps: null });\r\n\r\n this._id = getId('FocusZone');\r\n _allInstances[this._id] = this;\r\n\r\n this._focusAlignment = {\r\n left: 0,\r\n top: 0\r\n };\r\n }\r\n\r\n public componentDidMount() {\r\n const windowElement = this.refs.root.ownerDocument.defaultView;\r\n\r\n let parentElement = getParent(this.refs.root);\r\n\r\n while (\r\n parentElement &&\r\n parentElement !== document.body &&\r\n parentElement.nodeType === 1\r\n ) {\r\n if (isElementFocusZone(parentElement)) {\r\n this._isInnerZone = true;\r\n break;\r\n }\r\n parentElement = getParent(parentElement);\r\n }\r\n\r\n this._events.on(windowElement, 'keydown', this._onKeyDownCapture, true);\r\n\r\n // Assign initial tab indexes so that we can set initial focus as appropriate.\r\n this._updateTabIndexes();\r\n\r\n if (this.props.defaultActiveElement) {\r\n this._activeElement = getDocument().querySelector(this.props.defaultActiveElement) as HTMLElement;\r\n this.focus();\r\n }\r\n }\r\n\r\n public componentWillUnmount() {\r\n delete _allInstances[this._id];\r\n }\r\n\r\n public render() {\r\n let { rootProps, ariaDescribedBy, ariaLabelledBy, className } = this.props;\r\n let divProps = getNativeProps(this.props, divProperties);\r\n\r\n return (\r\n <div\r\n { ...divProps }\r\n { ...rootProps }\r\n className={ css('ms-FocusZone', className) }\r\n ref='root'\r\n data-focuszone-id={ this._id }\r\n aria-labelledby={ ariaLabelledBy }\r\n aria-describedby={ ariaDescribedBy }\r\n onKeyDown={ this._onKeyDown }\r\n onFocus={ this._onFocus }\r\n { ...{ onMouseDownCapture: this._onMouseDown } }\r\n >\r\n { this.props.children }\r\n </div>\r\n );\r\n }\r\n\r\n /**\r\n * Sets focus to the first tabbable item in the zone.\r\n * @returns True if focus could be set to an active element, false if no operation was taken.\r\n */\r\n public focus(): boolean {\r\n if (this._activeElement && elementContains(this.refs.root, this._activeElement)) {\r\n this._activeElement.focus();\r\n return true;\r\n } else {\r\n const firstChild = this.refs.root.firstChild as HTMLElement;\r\n\r\n return this.focusElement(getNextElement(this.refs.root, firstChild, true));\r\n }\r\n }\r\n\r\n /**\r\n * Sets focus to a specific child element within the zone. This can be used in conjunction with\r\n * onBeforeFocus to created delayed focus scenarios (like animate the scroll position to the correct\r\n * location and then focus.)\r\n * @param {HTMLElement} element The child element within the zone to focus.\r\n * @returns True if focus could be set to an active element, false if no operation was taken.\r\n */\r\n public focusElement(element: HTMLElement): boolean {\r\n let { onBeforeFocus } = this.props;\r\n\r\n if (onBeforeFocus && !onBeforeFocus(element)) {\r\n return false;\r\n }\r\n\r\n if (element) {\r\n if (this._activeElement) {\r\n this._activeElement.tabIndex = -1;\r\n }\r\n\r\n this._activeElement = element;\r\n\r\n if (element) {\r\n if (!this._focusAlignment) {\r\n this._setFocusAlignment(element, true, true);\r\n }\r\n\r\n this._activeElement.tabIndex = 0;\r\n element.focus();\r\n\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n @autobind\r\n private _onFocus(ev: React.FocusEvent<HTMLElement>) {\r\n let { onActiveElementChanged } = this.props;\r\n\r\n if (this._isImmediateDescendantOfZone(ev.target as HTMLElement)) {\r\n this._activeElement = ev.target as HTMLElement;\r\n this._setFocusAlignment(this._activeElement);\r\n } else {\r\n let parentElement = ev.target as HTMLElement;\r\n\r\n while (parentElement && parentElement !== this.refs.root) {\r\n if (isElementTabbable(parentElement) && this._isImmediateDescendantOfZone(parentElement)) {\r\n this._activeElement = parentElement;\r\n break;\r\n }\r\n parentElement = getParent(parentElement);\r\n }\r\n }\r\n if (onActiveElementChanged) {\r\n onActiveElementChanged(this._activeElement, ev);\r\n }\r\n }\r\n\r\n /**\r\n * Handle global tab presses so that we can patch tabindexes on the fly.\r\n */\r\n private _onKeyDownCapture(ev: KeyboardEvent) {\r\n if (ev.which === KeyCodes.tab) {\r\n this._updateTabIndexes();\r\n }\r\n }\r\n\r\n @autobind\r\n private _onMouseDown(ev: React.MouseEvent<HTMLElement>) {\r\n const { disabled } = this.props;\r\n\r\n if (disabled) {\r\n return;\r\n }\r\n\r\n let target = ev.target as HTMLElement;\r\n const path = [];\r\n\r\n while (target && target !== this.refs.root) {\r\n path.push(target);\r\n target = getParent(target);\r\n }\r\n\r\n while (path.length) {\r\n target = path.pop();\r\n\r\n if (isElementFocusZone(target)) {\r\n break;\r\n } else if (target && isElementTabbable(target)) {\r\n target.tabIndex = 0;\r\n this._setFocusAlignment(target, true, true);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Handle the keystrokes.\r\n */\r\n @autobind\r\n private _onKeyDown(ev: React.KeyboardEvent<HTMLElement>) {\r\n const { direction, disabled, isInnerZoneKeystroke } = this.props;\r\n\r\n if (disabled) {\r\n return;\r\n }\r\n\r\n if (this.props.onKeyDown) {\r\n this.props.onKeyDown(ev);\r\n\r\n if (ev.isDefaultPrevented()) {\r\n return;\r\n }\r\n }\r\n\r\n if (\r\n isInnerZoneKeystroke &&\r\n this._isImmediateDescendantOfZone(ev.target as HTMLElement) &&\r\n isInnerZoneKeystroke(ev)) {\r\n\r\n // Try to focus\r\n let innerZone = this._getFirstInnerZone();\r\n\r\n if (!innerZone || !innerZone.focus()) {\r\n return;\r\n }\r\n } else if (ev.altKey) {\r\n return;\r\n } else {\r\n switch (ev.which) {\r\n case KeyCodes.space:\r\n if (this._tryInvokeClickForFocusable(ev.target as HTMLElement)) {\r\n break;\r\n }\r\n return;\r\n\r\n case KeyCodes.left:\r\n if (direction !== FocusZoneDirection.vertical && this._moveFocusLeft()) {\r\n break;\r\n }\r\n return;\r\n\r\n case KeyCodes.right:\r\n if (direction !== FocusZoneDirection.vertical && this._moveFocusRight()) {\r\n break;\r\n }\r\n return;\r\n\r\n case KeyCodes.up:\r\n if (direction !== FocusZoneDirection.horizontal && this._moveFocusUp()) {\r\n break;\r\n }\r\n return;\r\n\r\n case KeyCodes.down:\r\n if (direction !== FocusZoneDirection.horizontal && this._moveFocusDown()) {\r\n break;\r\n }\r\n return;\r\n\r\n case KeyCodes.home:\r\n const firstChild = this.refs.root.firstChild as HTMLElement;\r\n if (this.focusElement(getNextElement(this.refs.root, firstChild, true))) {\r\n break;\r\n }\r\n return;\r\n\r\n case KeyCodes.end:\r\n const lastChild = this.refs.root.lastChild as HTMLElement;\r\n if (this.focusElement(getPreviousElement(this.refs.root, lastChild, true, true, true))) {\r\n break;\r\n }\r\n return;\r\n\r\n case KeyCodes.enter:\r\n if (this._tryInvokeClickForFocusable(ev.target as HTMLElement)) {\r\n break;\r\n }\r\n return;\r\n\r\n default:\r\n return;\r\n }\r\n }\r\n\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n\r\n /**\r\n * Walk up the dom try to find a focusable element.\r\n */\r\n private _tryInvokeClickForFocusable(target: HTMLElement): boolean {\r\n do {\r\n if (target.tagName === 'BUTTON' || target.tagName === 'A' || target.tagName === 'INPUT') {\r\n return false;\r\n }\r\n\r\n if (\r\n this._isImmediateDescendantOfZone(target) &&\r\n target.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true' &&\r\n target.getAttribute(IS_ENTER_DISABLED_ATTRIBUTE) !== 'true') {\r\n EventGroup.raise(target, 'click', null, true);\r\n\r\n return true;\r\n }\r\n\r\n target = getParent(target);\r\n } while (target !== this.refs.root);\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Traverse to find first child zone.\r\n */\r\n private _getFirstInnerZone(rootElement?: HTMLElement): FocusZone {\r\n rootElement = rootElement || this._activeElement || this.refs.root;\r\n\r\n let child: HTMLElement = rootElement.firstElementChild as HTMLElement;\r\n\r\n while (child) {\r\n if (isElementFocusZone(child)) {\r\n return _allInstances[child.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\r\n }\r\n let match = this._getFirstInnerZone(child);\r\n\r\n if (match) {\r\n return match;\r\n }\r\n\r\n child = child.nextElementSibling as HTMLElement;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _moveFocus(\r\n isForward: boolean,\r\n getDistanceFromCenter: (activeRect: ClientRect, targetRect: ClientRect) => number,\r\n ev?: Event): boolean {\r\n\r\n let element = this._activeElement;\r\n let candidateDistance = -1;\r\n let candidateElement: HTMLElement;\r\n let changedFocus = false;\r\n let isBidirectional = this.props.direction === FocusZoneDirection.bidirectional;\r\n\r\n if (!element) {\r\n return false;\r\n }\r\n\r\n if (this._isElementInput(element)) {\r\n if (!this._shouldInputLoseFocus(element as HTMLInputElement, isForward)) {\r\n return false;\r\n }\r\n }\r\n\r\n const activeRect = isBidirectional ? element.getBoundingClientRect() : null;\r\n\r\n do {\r\n element = isForward ?\r\n getNextElement(this.refs.root, element) :\r\n getPreviousElement(this.refs.root, element);\r\n\r\n if (isBidirectional) {\r\n if (element) {\r\n const targetRect = element.getBoundingClientRect();\r\n const elementDistance = getDistanceFromCenter(activeRect, targetRect);\r\n\r\n if (elementDistance > -1 && (candidateDistance === -1 || elementDistance < candidateDistance)) {\r\n candidateDistance = elementDistance;\r\n candidateElement = element;\r\n }\r\n\r\n if (candidateDistance >= 0 && elementDistance < 0) {\r\n break;\r\n }\r\n }\r\n } else {\r\n candidateElement = element;\r\n break;\r\n }\r\n\r\n } while (element);\r\n\r\n // Focus the closest candidate\r\n if (candidateElement && candidateElement !== this._activeElement) {\r\n changedFocus = true;\r\n this.focusElement(candidateElement);\r\n } else if (this.props.isCircularNavigation) {\r\n if (isForward) {\r\n return this.focusElement(getNextElement(this.refs.root, this.refs.root.firstElementChild as HTMLElement, true));\r\n } else {\r\n return this.focusElement(getPreviousElement(this.refs.root, this.refs.root.lastElementChild as HTMLElement, true, true, true));\r\n }\r\n }\r\n\r\n return changedFocus;\r\n }\r\n\r\n private _moveFocusDown(): boolean {\r\n let targetTop = -1;\r\n const leftAlignment = this._focusAlignment.left;\r\n\r\n if (this._moveFocus(true, (activeRect: ClientRect, targetRect: ClientRect) => {\r\n let distance = -1;\r\n // ClientRect values can be floats that differ by very small fractions of a decimal.\r\n // If the difference between top and bottom are within a pixel then we should treat\r\n // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\r\n // but without Math.Floor they will be handled incorrectly.\r\n let targetRectTop = Math.floor(targetRect.top);\r\n let activeRectBottom = Math.floor(activeRect.bottom);\r\n\r\n if ((targetTop === -1 && targetRectTop >= activeRectBottom) ||\r\n (targetRectTop === targetTop)) {\r\n targetTop = targetRectTop;\r\n if (leftAlignment >= targetRect.left && leftAlignment <= (targetRect.left + targetRect.width)) {\r\n distance = 0;\r\n } else {\r\n distance = Math.abs((targetRect.left + (targetRect.width / 2)) - leftAlignment);\r\n }\r\n }\r\n\r\n return distance;\r\n })) {\r\n this._setFocusAlignment(this._activeElement, false, true);\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private _moveFocusUp(): boolean {\r\n let targetTop = -1;\r\n const leftAlignment = this._focusAlignment.left;\r\n\r\n if (this._moveFocus(false, (activeRect: ClientRect, targetRect: ClientRect) => {\r\n let distance = -1;\r\n // ClientRect values can be floats that differ by very small fractions of a decimal.\r\n // If the difference between top and bottom are within a pixel then we should treat\r\n // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\r\n // but without Math.Floor they will be handled incorrectly.\r\n let targetRectBottom = Math.floor(targetRect.bottom);\r\n let targetRectTop = Math.floor(targetRect.top);\r\n let activeRectTop = Math.floor(activeRect.top);\r\n\r\n if ((targetTop === -1 && targetRectBottom <= activeRectTop) ||\r\n (targetRectTop === targetTop)) {\r\n targetTop = targetRectTop;\r\n if (leftAlignment >= targetRect.left && leftAlignment <= (targetRect.left + targetRect.width)) {\r\n distance = 0;\r\n } else {\r\n distance = Math.abs((targetRect.left + (targetRect.width / 2)) - leftAlignment);\r\n }\r\n }\r\n\r\n return distance;\r\n })) {\r\n this._setFocusAlignment(this._activeElement, false, true);\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private _moveFocusLeft(): boolean {\r\n let targetTop = -1;\r\n const topAlignment = this._focusAlignment.top;\r\n\r\n if (this._moveFocus(getRTL(), (activeRect: ClientRect, targetRect: ClientRect) => {\r\n let distance = -1;\r\n\r\n if ((\r\n targetTop === -1 &&\r\n targetRect.right <= activeRect.right &&\r\n (this.props.direction === FocusZoneDirection.horizontal || targetRect.top === activeRect.top)) ||\r\n (targetRect.top === targetTop)) {\r\n\r\n targetTop = targetRect.top;\r\n distance = Math.abs((targetRect.top + (targetRect.height / 2)) - topAlignment);\r\n }\r\n\r\n return distance;\r\n })) {\r\n this._setFocusAlignment(this._activeElement, true, false);\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private _moveFocusRight(): boolean {\r\n let targetTop = -1;\r\n const topAlignment = this._focusAlignment.top;\r\n\r\n if (this._moveFocus(!getRTL(), (activeRect: ClientRect, targetRect: ClientRect) => {\r\n let distance = -1;\r\n\r\n if ((\r\n targetTop === -1 &&\r\n targetRect.left >= activeRect.left &&\r\n (this.props.direction === FocusZoneDirection.horizontal || targetRect.top === activeRect.top)) ||\r\n (targetRect.top === targetTop)) {\r\n\r\n targetTop = targetRect.top;\r\n distance = Math.abs((targetRect.top + (targetRect.height / 2)) - topAlignment);\r\n }\r\n\r\n return distance;\r\n })) {\r\n this._setFocusAlignment(this._activeElement, true, false);\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private _setFocusAlignment(element: HTMLElement, isHorizontal?: boolean, isVertical?: boolean) {\r\n if (this.props.direction === FocusZoneDirection.bidirectional &&\r\n (!this._focusAlignment || isHorizontal || isVertical)) {\r\n\r\n const rect = element.getBoundingClientRect();\r\n const left = rect.left + (rect.width / 2);\r\n const top = rect.top + (rect.height / 2);\r\n\r\n if (!this._focusAlignment) {\r\n this._focusAlignment = { left, top };\r\n }\r\n\r\n if (isHorizontal) {\r\n this._focusAlignment.left = left;\r\n }\r\n\r\n if (isVertical) {\r\n this._focusAlignment.top = top;\r\n }\r\n }\r\n }\r\n\r\n private _isImmediateDescendantOfZone(element?: HTMLElement): boolean {\r\n let parentElement = getParent(element);\r\n\r\n while (parentElement && parentElement !== this.refs.root && parentElement !== document.body) {\r\n if (isElementFocusZone(parentElement)) {\r\n return false;\r\n }\r\n\r\n parentElement = getParent(parentElement);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private _updateTabIndexes(element?: HTMLElement) {\r\n if (!element) {\r\n element = this.refs.root;\r\n if (this._activeElement && !elementContains(element, this._activeElement)) {\r\n this._activeElement = null;\r\n }\r\n }\r\n\r\n const childNodes = element.children;\r\n\r\n for (let childIndex = 0; childNodes && childIndex < childNodes.length; childIndex++) {\r\n const child = childNodes[childIndex] as HTMLElement;\r\n\r\n if (!isElementFocusZone(child)) {\r\n // If the item is explicitly set to not be focusable then TABINDEX needs to be set to -1.\r\n if (child.getAttribute && child.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'false') {\r\n child.setAttribute(TABINDEX, '-1');\r\n }\r\n if (isElementTabbable(child)) {\r\n if (this.props.disabled) {\r\n child.setAttribute(TABINDEX, '-1');\r\n } else if (!this._isInnerZone && (!this._activeElement || this._activeElement === child)) {\r\n this._activeElement = child;\r\n if (child.getAttribute(TABINDEX) !== '0') {\r\n child.setAttribute(TABINDEX, '0');\r\n }\r\n } else if (child.getAttribute(TABINDEX) !== '-1') {\r\n child.setAttribute(TABINDEX, '-1');\r\n }\r\n } else if (child.tagName === 'svg' && child.getAttribute('focusable') !== 'false') {\r\n // Disgusting IE hack. Sad face.\r\n child.setAttribute('focusable', 'false');\r\n }\r\n\r\n this._updateTabIndexes(child);\r\n }\r\n }\r\n\r\n }\r\n\r\n private _isElementInput(element: HTMLElement): boolean {\r\n if (element && element.tagName && element.tagName.toLowerCase() === 'input') {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private _shouldInputLoseFocus(element: HTMLInputElement, isForward?: boolean) {\r\n if (element &&\r\n element.type &&\r\n ALLOWED_INPUT_TYPES.indexOf(element.type.toLowerCase()) > -1) {\r\n let selectionStart = element.selectionStart;\r\n let selectionEnd = element.selectionEnd;\r\n let isRangeSelected = selectionStart !== selectionEnd;\r\n let inputValue = element.value;\r\n\r\n // We shouldn't lose focus in the following cases:\r\n // 1. There is range selected.\r\n // 2. When selection start is larger than 0 and it is backward.\r\n // 3. when selection start is not the end of lenght and it is forward.\r\n if (isRangeSelected ||\r\n (selectionStart > 0 && !isForward) ||\r\n (selectionStart !== inputValue.length && isForward)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/FocusZone/FocusZone.tsx","import * as React from 'react';\r\nimport { FocusZone } from './FocusZone';\r\n\r\n/**\r\n * FocusZone component class interface.\r\n */\r\nexport interface IFocusZone {\r\n /**\r\n * Sets focus to the first tabbable item in the zone.\r\n * @returns True if focus could be set to an active element, false if no operation was taken.\r\n */\r\n focus(): boolean;\r\n\r\n /**\r\n * Sets focus to a specific child element within the zone. This can be used in conjunction with\r\n * onBeforeFocus to created delayed focus scenarios (like animate the scroll position to the correct\r\n * location and then focus.)\r\n * @param {HTMLElement} element The child element within the zone to focus.\r\n * @returns True if focus could be set to an active element, false if no operation was taken.\r\n */\r\n focusElement(childElement?: HTMLElement): boolean;\r\n}\r\n\r\n/**\r\n * FocusZone component props.\r\n */\r\nexport interface IFocusZoneProps extends React.HTMLProps<HTMLElement | FocusZone> {\r\n /**\r\n * Optional callback to access the IFocusZone interface. Use this instead of ref for accessing\r\n * the public methods and properties of the component.\r\n */\r\n componentRef?: (component: IFocusZone) => void;\r\n\r\n /**\r\n * Additional class name to provide on the root element, in addition to the ms-FocusZone class.\r\n */\r\n className?: string;\r\n\r\n /**\r\n * Defines which arrows to react to.\r\n * @default FocusZoneDirection.bidriectional\r\n */\r\n direction?: FocusZoneDirection;\r\n\r\n /**\r\n * Optionally provide a selector for identifying the intial active element.\r\n */\r\n defaultActiveElement?: string;\r\n\r\n /**\r\n * If set, the FocusZone will not be tabbable and keyboard navigation will be disabled.\r\n * This does not affect disabled attribute of any child.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * If set, will cycle to the beginning of the targets once the user navigates to the\r\n * next target while at the end, and to the end when navigate to the previous at the beginning.\r\n */\r\n isCircularNavigation?: boolean;\r\n\r\n /**\r\n * If provided, this callback will be executed on keypresses to determine if the user\r\n * intends to navigate into the inner zone. Returning true will ask the first inner zone to\r\n * set focus.\r\n */\r\n isInnerZoneKeystroke?: (ev: React.KeyboardEvent<HTMLElement>) => boolean;\r\n\r\n /**\r\n * Sets the aria-labelledby attribute.\r\n */\r\n ariaLabelledBy?: string;\r\n\r\n /**\r\n * Sets the aria-describedby attribute.\r\n */\r\n ariaDescribedBy?: string;\r\n\r\n /**\r\n * Callback for when one of immediate children elements gets active by getting focused\r\n * or by having one of its respective children elements focused.\r\n */\r\n onActiveElementChanged?: (element?: HTMLElement, ev?: React.FocusEvent<HTMLElement>) => void;\r\n\r\n /**\r\n * Deprecated at v1.12.1. DIV props provided to the FocusZone will be mixed into the root element.\r\n * @deprecated\r\n */\r\n rootProps?: React.HTMLProps<HTMLDivElement>;\r\n\r\n /**\r\n * Callback method for determining if focus should indeed be set on the given element.\r\n * @param {HTMLElement} element The child element within the zone to focus.\r\n * @returns True if focus should be set to the given element, false to avoid setting focus.\r\n */\r\n onBeforeFocus?: (childElement?: HTMLElement) => boolean;\r\n}\r\n\r\nexport enum FocusZoneDirection {\r\n /** Only react to up/down arrows. */\r\n vertical = 0,\r\n\r\n /** Only react to left/right arrows. */\r\n horizontal = 1,\r\n\r\n /** React to all arrows. */\r\n bidirectional = 2\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/FocusZone/FocusZone.Props.ts","export * from './components/ContextualMenu/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/ContextualMenu.ts","export * from './ContextualMenu';\r\nexport * from './ContextualMenu.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/ContextualMenu/index.ts","import * as React from 'react';\r\nimport { IContextualMenuProps, IContextualMenuItem, ContextualMenuItemType } from './ContextualMenu.Props';\r\nimport { DirectionalHint } from '../../common/DirectionalHint';\r\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\r\nimport {\r\n BaseComponent,\r\n anchorProperties,\r\n buttonProperties,\r\n getNativeProps,\r\n assign,\r\n getId,\r\n getRTL,\r\n css,\r\n autobind,\r\n KeyCodes,\r\n getDocument,\r\n getWindow\r\n} from '../../Utilities';\r\nimport { Callout } from '../../Callout';\r\nimport {\r\n Icon,\r\n IIconProps\r\n} from '../../Icon';\r\nimport * as stylesImport from './ContextualMenu.scss';\r\nconst styles: any = stylesImport;\r\nexport interface IContextualMenuState {\r\n expandedMenuItemKey?: string;\r\n dismissedMenuItemKey?: string;\r\n contextualMenuItems?: IContextualMenuItem[];\r\n contextualMenuTarget?: HTMLElement;\r\n submenuTarget?: HTMLElement;\r\n positions?: any;\r\n slideDirectionalClassName?: string;\r\n subMenuId?: string;\r\n submenuDirection?: DirectionalHint;\r\n}\r\n\r\nenum ContextualMenuType {\r\n vertical,\r\n horizontal\r\n}\r\n\r\nenum HorizontalAlignmentHint {\r\n auto,\r\n left,\r\n center,\r\n right\r\n}\r\n\r\nenum VerticalAlignmentHint {\r\n top,\r\n center,\r\n bottom\r\n}\r\n\r\ninterface IMenuSizeWindowSizeInfo {\r\n hostRect: IRect;\r\n targetRect: IRect;\r\n menuRect: IRect;\r\n windowSize: any;\r\n gapSpace: number;\r\n}\r\n\r\ninterface IRect {\r\n left: number;\r\n top: number;\r\n right: number;\r\n bottom: number;\r\n width: number;\r\n height: number;\r\n}\r\n\r\ninterface IParsedDirectionalHint {\r\n contextualMenuType: ContextualMenuType;\r\n horizontalAlignmentHint: HorizontalAlignmentHint;\r\n verticalAlignmentHint: VerticalAlignmentHint;\r\n}\r\n\r\nexport function hasSubmenuItems(item: IContextualMenuItem) {\r\n let submenuItems = getSubmenuItems(item);\r\n\r\n return !!(submenuItems && submenuItems.length);\r\n}\r\n\r\nexport function getSubmenuItems(item: IContextualMenuItem) {\r\n return item.subMenuProps ? item.subMenuProps.items : item.items;\r\n}\r\n\r\nexport class ContextualMenu extends BaseComponent<IContextualMenuProps, IContextualMenuState> {\r\n // The default ContextualMenu properities have no items and beak, the default submenu direction is right and top.\r\n public static defaultProps = {\r\n items: [],\r\n shouldFocusOnMount: true,\r\n isBeakVisible: false,\r\n gapSpace: 0,\r\n directionalHint: DirectionalHint.bottomAutoEdge,\r\n beakWidth: 16,\r\n arrowDirection: FocusZoneDirection.vertical,\r\n };\r\n\r\n private _host: HTMLElement;\r\n private _previousActiveElement: HTMLElement;\r\n private _isFocusingPreviousElement: boolean;\r\n private _enterTimerId: number;\r\n private _focusZone: FocusZone;\r\n private _targetWindow: Window;\r\n private _target: HTMLElement | MouseEvent;\r\n\r\n constructor(props: IContextualMenuProps) {\r\n super(props);\r\n\r\n this.state = {\r\n contextualMenuItems: null,\r\n subMenuId: getId('ContextualMenu')\r\n };\r\n\r\n this._isFocusingPreviousElement = false;\r\n this._enterTimerId = 0;\r\n }\r\n\r\n @autobind\r\n public dismiss(ev?: any, dismissAll?: boolean) {\r\n let { onDismiss } = this.props;\r\n\r\n if (onDismiss) {\r\n onDismiss(ev, dismissAll);\r\n }\r\n }\r\n\r\n public componentWillUpdate(newProps: IContextualMenuProps) {\r\n if (newProps.targetElement !== this.props.targetElement || newProps.target !== this.props.target) {\r\n let newTarget = newProps.targetElement ? newProps.targetElement : newProps.target;\r\n this._setTargetWindowAndElement(newTarget);\r\n }\r\n }\r\n\r\n // Invoked once, both on the client and server, immediately before the initial rendering occurs.\r\n public componentWillMount() {\r\n let target = this.props.targetElement ? this.props.targetElement : this.props.target;\r\n this._setTargetWindowAndElement(target);\r\n this._previousActiveElement = this._targetWindow ? this._targetWindow.document.activeElement as HTMLElement : null;\r\n }\r\n\r\n // Invoked once, only on the client (not on the server), immediately after the initial rendering occurs.\r\n public componentDidMount() {\r\n this._events.on(this._targetWindow, 'resize', this.dismiss);\r\n if (this.props.onMenuOpened) {\r\n this.props.onMenuOpened(this.props);\r\n }\r\n }\r\n\r\n // Invoked immediately before a component is unmounted from the DOM.\r\n public componentWillUnmount() {\r\n if (this._isFocusingPreviousElement && this._previousActiveElement) {\r\n\r\n // This slight delay is required so that we can unwind the stack, let react try to mess with focus, and then\r\n // apply the correct focus. Without the setTimeout, we end up focusing the correct thing, and then React wants\r\n // to reset the focus back to the thing it thinks should have been focused.\r\n setTimeout(() => this._previousActiveElement.focus(), 0);\r\n }\r\n\r\n this._events.dispose();\r\n this._async.dispose();\r\n }\r\n\r\n public render() {\r\n let { className,\r\n items,\r\n isBeakVisible,\r\n labelElementId,\r\n targetElement,\r\n id,\r\n targetPoint,\r\n useTargetPoint,\r\n beakWidth,\r\n directionalHint,\r\n gapSpace,\r\n coverTarget,\r\n ariaLabel,\r\n doNotLayer,\r\n arrowDirection,\r\n target,\r\n bounds,\r\n useTargetWidth,\r\n directionalHintFixed,\r\n shouldFocusOnMount,\r\n calloutProps } = this.props;\r\n\r\n let hasIcons = !!(items && items.some(item => !!item.icon || !!item.iconProps));\r\n let hasCheckmarks = !!(items && items.some(item => !!item.canCheck));\r\n const submenuProps = this.state.expandedMenuItemKey ? this._getSubmenuProps() : null;\r\n\r\n /**\r\n * When useTargetWidth is true, get the width of the target element and apply it for the context menu container\r\n */\r\n let contextMenuStyle;\r\n let targetAsHtmlElement = this._target as HTMLElement;\r\n if (useTargetWidth && targetAsHtmlElement && targetAsHtmlElement.offsetWidth) {\r\n let contextMenuWidth = targetAsHtmlElement.offsetWidth;\r\n contextMenuStyle = {\r\n width: contextMenuWidth\r\n };\r\n }\r\n\r\n // The menu should only return if items were provided, if no items were provided then it should not appear.\r\n if (items && items.length > 0) {\r\n return (\r\n <Callout\r\n {...calloutProps}\r\n target={ target }\r\n targetElement={ targetElement }\r\n targetPoint={ targetPoint }\r\n useTargetPoint={ useTargetPoint }\r\n isBeakVisible={ isBeakVisible }\r\n beakWidth={ beakWidth }\r\n directionalHint={ directionalHint }\r\n gapSpace={ gapSpace }\r\n coverTarget={ coverTarget }\r\n doNotLayer={ doNotLayer }\r\n className='ms-ContextualMenu-Callout'\r\n setInitialFocus={ shouldFocusOnMount }\r\n onDismiss={ this.props.onDismiss }\r\n bounds={ bounds }\r\n directionalHintFixed={ directionalHintFixed }>\r\n <div style={ contextMenuStyle } ref={ (host: HTMLDivElement) => this._host = host } id={ id } className={ css('ms-ContextualMenu-container', className) }>\r\n { (items && items.length) ? (\r\n <FocusZone\r\n className={ css('ms-ContextualMenu is-open', styles.root) }\r\n direction={ arrowDirection }\r\n ref={ (focusZone) => this._focusZone = focusZone }\r\n isCircularNavigation={ true }\r\n >\r\n <ul\r\n role='menu'\r\n aria-label={ ariaLabel }\r\n aria-labelledby={ labelElementId }\r\n className={ css('ms-ContextualMenu-list is-open', styles.list) }\r\n onKeyDown={ this._onKeyDown }>\r\n { items.map((item, index) => (\r\n this._renderMenuItem(item, index, hasCheckmarks, hasIcons)\r\n )) }\r\n </ul>\r\n </FocusZone>\r\n ) : (null) }\r\n { submenuProps && <ContextualMenu { ...submenuProps } /> }\r\n </div>\r\n </Callout>\r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private _renderMenuItem(item: IContextualMenuItem, index: number, hasCheckmarks: boolean, hasIcons: boolean): React.ReactNode {\r\n let renderedItems: React.ReactNode[] = [];\r\n\r\n if (item.name === '-') {\r\n item.itemType = ContextualMenuItemType.Divider;\r\n }\r\n\r\n switch (item.itemType) {\r\n case ContextualMenuItemType.Divider:\r\n renderedItems.push(this._renderSeparator(index, item.className));\r\n break;\r\n case ContextualMenuItemType.Header:\r\n renderedItems.push(this._renderSeparator(index));\r\n let headerItem = this._renderHeaderMenuItem(item, index, hasCheckmarks, hasIcons);\r\n renderedItems.push(this._renderListItem(headerItem, item.key || index, item.className, item.title));\r\n break;\r\n default:\r\n let menuItem = this._renderNormalItem(item, index, hasCheckmarks, hasIcons);\r\n renderedItems.push(this._renderListItem(menuItem, item.key || index, item.className, item.title));\r\n break;\r\n }\r\n\r\n return renderedItems;\r\n }\r\n\r\n private _renderListItem(content: React.ReactNode, key: string | number, className?: string, title?: string) {\r\n return <li\r\n role='presentation'\r\n title={ title }\r\n key={ key }\r\n className={ css('ms-ContextualMenu-item', styles.item, className) }>\r\n { content }\r\n </li>;\r\n }\r\n\r\n private _renderSeparator(index: number, className?: string): React.ReactNode {\r\n if (index > 0) {\r\n return <li\r\n role='separator'\r\n key={ 'separator-' + index }\r\n className={ css('ms-ContextualMenu-divider', styles.divider, className) } />;\r\n }\r\n return null;\r\n }\r\n\r\n private _renderNormalItem(item: IContextualMenuItem, index: number, hasCheckmarks: boolean, hasIcons: boolean): React.ReactNode {\r\n if (item.onRender) {\r\n return [item.onRender(item)];\r\n }\r\n if (item.href) {\r\n return this._renderAnchorMenuItem(item, index, hasCheckmarks, hasIcons);\r\n }\r\n return this._renderButtonItem(item, index, hasCheckmarks, hasIcons);\r\n }\r\n\r\n private _renderHeaderMenuItem(item: IContextualMenuItem, index: number, hasCheckmarks: boolean, hasIcons: boolean): React.ReactNode {\r\n return (\r\n <div className={ css('ms-ContextualMenu-header', styles.header) } style={ item.style }>\r\n { this._renderMenuItemChildren(item, index, hasCheckmarks, hasIcons) }\r\n </div>);\r\n }\r\n\r\n private _renderAnchorMenuItem(item: IContextualMenuItem, index: number, hasCheckmarks: boolean, hasIcons: boolean): React.ReactNode {\r\n return (\r\n <div>\r\n <a\r\n { ...getNativeProps(item, anchorProperties) }\r\n href={ item.href }\r\n className={ css(\r\n 'ms-ContextualMenu-link',\r\n styles.link,\r\n (item.isDisabled || item.disabled) && 'is-disabled') }\r\n role='menuitem'\r\n style={ item.style }\r\n onClick={ this._onAnchorClick.bind(this, item) }>\r\n { this._renderMenuItemChildren(item, index, hasCheckmarks, hasIcons) }\r\n </a>\r\n </div>);\r\n }\r\n\r\n private _renderButtonItem(\r\n item: IContextualMenuItem,\r\n index: number,\r\n hasCheckmarks?: boolean,\r\n hasIcons?: boolean) {\r\n let { expandedMenuItemKey, subMenuId } = this.state;\r\n let ariaLabel = '';\r\n\r\n if (item.ariaLabel) {\r\n ariaLabel = item.ariaLabel;\r\n } else if (item.name) {\r\n ariaLabel = item.name;\r\n }\r\n\r\n let itemButtonProperties = {\r\n className: css('ms-ContextualMenu-link', styles.link, {\r\n ['is-expanded ' + styles.isExpanded]: (expandedMenuItemKey === item.key)\r\n }),\r\n onClick: this._onItemClick.bind(this, item),\r\n onKeyDown: hasSubmenuItems(item) ? this._onItemKeyDown.bind(this, item) : null,\r\n onMouseEnter: this._onItemMouseEnter.bind(this, item),\r\n onMouseLeave: this._onMouseLeave,\r\n onMouseDown: (ev: any) => this._onItemMouseDown(item, ev),\r\n disabled: item.isDisabled || item.disabled,\r\n href: item.href,\r\n title: item.title,\r\n 'aria-label': ariaLabel,\r\n 'aria-haspopup': hasSubmenuItems(item) ? true : null,\r\n 'aria-owns': item.key === expandedMenuItemKey ? subMenuId : null,\r\n role: 'menuitem',\r\n style: item.style,\r\n };\r\n\r\n return React.createElement(\r\n 'button',\r\n assign({}, getNativeProps(item, buttonProperties), itemButtonProperties),\r\n this._renderMenuItemChildren(item, index, hasCheckmarks, hasIcons));\r\n }\r\n\r\n private _renderMenuItemChildren(item: IContextualMenuItem, index: number, hasCheckmarks: boolean, hasIcons: boolean) {\r\n let isItemChecked: boolean = item.isChecked || item.checked;\r\n return (\r\n <div className={ css('ms-ContextualMenu-linkContent', styles.linkContent) }>\r\n { (hasCheckmarks) ? (\r\n <Icon\r\n iconName={ isItemChecked ? 'CheckMark' : 'CustomIcon' }\r\n className={ css('ms-ContextualMenu-icon', styles.icon) }\r\n onClick={ this._onItemClick.bind(this, item) } />\r\n ) : (null) }\r\n { (hasIcons) ? (\r\n this._renderIcon(item)\r\n ) : (null) }\r\n <span className={ css('ms-ContextualMenu-itemText', styles.itemText) }>{ item.name }</span>\r\n { hasSubmenuItems(item) ? (\r\n <Icon\r\n iconName={ getRTL() ? 'ChevronLeft' : 'ChevronRight' }\r\n { ...item.submenuIconProps }\r\n className={ css('ms-ContextualMenu-submenuIcon', styles.submenuIcon, item.submenuIconProps ? item.submenuIconProps.className : '') } />\r\n ) : (null) }\r\n </div>\r\n );\r\n }\r\n\r\n private _renderIcon(item: IContextualMenuItem) {\r\n // Only present to allow continued use of item.icon which is deprecated.\r\n\r\n let iconProps: IIconProps = item.iconProps ? item.iconProps : {\r\n iconName: item.icon\r\n };\r\n // Use the default icon color for the known icon names\r\n let iconColorClassName = iconProps.iconName === 'None' ? '' : ('ms-ContextualMenu-iconColor ' + styles.iconColor);\r\n let iconClassName = css('ms-ContextualMenu-icon', styles.icon, iconColorClassName, iconProps.className);\r\n\r\n return <Icon { ...iconProps } className={ iconClassName } />;\r\n }\r\n\r\n @autobind\r\n private _onKeyDown(ev: React.KeyboardEvent<HTMLElement>) {\r\n let submenuCloseKey = getRTL() ? KeyCodes.right : KeyCodes.left;\r\n\r\n if (ev.which === KeyCodes.escape\r\n || ev.which === KeyCodes.tab\r\n || (ev.which === submenuCloseKey && this.props.isSubMenu && this.props.arrowDirection === FocusZoneDirection.vertical)) {\r\n // When a user presses escape, we will try to refocus the previous focused element.\r\n this._isFocusingPreviousElement = true;\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n this.dismiss(ev);\r\n }\r\n }\r\n\r\n private _onItemMouseEnter(item: any, ev: React.MouseEvent<HTMLElement>) {\r\n let targetElement = ev.currentTarget as HTMLElement;\r\n\r\n if (item.key !== this.state.expandedMenuItemKey) {\r\n if (hasSubmenuItems(item)) {\r\n this._enterTimerId = this._async.setTimeout(() => this._onItemSubMenuExpand(item, targetElement), 500);\r\n } else {\r\n this._enterTimerId = this._async.setTimeout(() => this._onSubMenuDismiss(ev), 500);\r\n }\r\n }\r\n }\r\n\r\n @autobind\r\n private _onMouseLeave(ev: React.MouseEvent<HTMLElement>) {\r\n this._async.clearTimeout(this._enterTimerId);\r\n }\r\n\r\n private _onItemMouseDown(item: IContextualMenuItem, ev: React.MouseEvent<HTMLElement>) {\r\n if (item.onMouseDown) {\r\n item.onMouseDown(item, ev);\r\n }\r\n }\r\n\r\n private _onItemClick(item: IContextualMenuItem, ev: React.MouseEvent<HTMLElement>) {\r\n let items = getSubmenuItems(item);\r\n\r\n if (!items || !items.length) { // This is an item without a menu. Click it.\r\n this._executeItemClick(item, ev);\r\n } else {\r\n if (item.key === this.state.expandedMenuItemKey) { // This has an expanded sub menu. collapse it.\r\n this._onSubMenuDismiss(ev);\r\n } else { // This has a collapsed sub menu. Expand it.\r\n this._onItemSubMenuExpand(item, ev.currentTarget as HTMLElement);\r\n }\r\n }\r\n\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n }\r\n\r\n private _onAnchorClick(item: IContextualMenuItem, ev: React.MouseEvent<HTMLElement>) {\r\n this._executeItemClick(item, ev);\r\n ev.stopPropagation();\r\n }\r\n\r\n private _executeItemClick(item: IContextualMenuItem, ev: React.MouseEvent<HTMLElement>) {\r\n if (item.onClick) {\r\n item.onClick(ev, item);\r\n } else if (this.props.onItemClick) {\r\n this.props.onItemClick(ev, item);\r\n }\r\n\r\n this.dismiss(ev, true);\r\n }\r\n\r\n private _onItemKeyDown(item: any, ev: KeyboardEvent) {\r\n let openKey = getRTL() ? KeyCodes.left : KeyCodes.right;\r\n\r\n if (ev.which === openKey) {\r\n this._onItemSubMenuExpand(item, ev.currentTarget as HTMLElement);\r\n ev.preventDefault();\r\n }\r\n }\r\n\r\n private _onItemSubMenuExpand(item: IContextualMenuItem, target: HTMLElement) {\r\n if (this.state.expandedMenuItemKey !== item.key) {\r\n\r\n if (this.state.expandedMenuItemKey) {\r\n this._onSubMenuDismiss();\r\n }\r\n\r\n this.setState({\r\n expandedMenuItemKey: item.key,\r\n submenuTarget: target\r\n });\r\n }\r\n }\r\n\r\n private _getSubmenuProps() {\r\n const { submenuTarget, expandedMenuItemKey } = this.state;\r\n const item = this._findItemByKey(expandedMenuItemKey);\r\n let submenuProps = null;\r\n\r\n if (item) {\r\n submenuProps = {\r\n items: getSubmenuItems(item),\r\n target: submenuTarget,\r\n onDismiss: this._onSubMenuDismiss,\r\n isSubMenu: true,\r\n id: this.state.subMenuId,\r\n shouldFocusOnMount: true,\r\n directionalHint: getRTL() ? DirectionalHint.leftTopEdge : DirectionalHint.rightTopEdge,\r\n className: this.props.className,\r\n gapSpace: 0\r\n };\r\n\r\n if (item.subMenuProps) {\r\n assign(submenuProps, item.subMenuProps);\r\n }\r\n }\r\n\r\n return submenuProps;\r\n\r\n }\r\n\r\n private _findItemByKey(key: string): IContextualMenuItem | null {\r\n let { items } = this.props;\r\n for (const item of items) {\r\n if (item.key && item.key === key) {\r\n return item;\r\n }\r\n }\r\n }\r\n\r\n @autobind\r\n private _onSubMenuDismiss(ev?: any, dismissAll?: boolean) {\r\n if (dismissAll) {\r\n this.dismiss(ev, dismissAll);\r\n } else {\r\n this.setState({\r\n dismissedMenuItemKey: this.state.expandedMenuItemKey,\r\n expandedMenuItemKey: null,\r\n submenuTarget: null\r\n });\r\n }\r\n }\r\n\r\n private _setTargetWindowAndElement(target: HTMLElement | string | MouseEvent): void {\r\n if (target) {\r\n if (typeof target === 'string') {\r\n let currentDoc: Document = getDocument();\r\n this._target = currentDoc ? currentDoc.querySelector(target) as HTMLElement : null;\r\n this._targetWindow = getWindow();\r\n } else if ((target as MouseEvent).stopPropagation) {\r\n this._target = target;\r\n this._targetWindow = getWindow((target as MouseEvent).toElement as HTMLElement);\r\n } else {\r\n let targetElement: HTMLElement = target as HTMLElement;\r\n this._target = target;\r\n this._targetWindow = getWindow(targetElement);\r\n }\r\n } else {\r\n this._targetWindow = getWindow();\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/ContextualMenu/ContextualMenu.tsx","import * as React from 'react';\r\nimport { ContextualMenu } from './ContextualMenu';\r\nimport { DirectionalHint } from '../../common/DirectionalHint';\r\nimport { FocusZoneDirection } from '../../FocusZone';\r\nimport { IIconProps } from '../Icon/Icon.Props';\r\nimport { ICalloutProps } from '../../Callout';\r\nimport {\r\n IPoint,\r\n IRectangle\r\n} from '../../Utilities';\r\nexport { DirectionalHint } from '../../common/DirectionalHint';\r\n\r\nexport enum ContextualMenuItemType {\r\n Normal = 0,\r\n Divider = 1,\r\n Header = 2\r\n}\r\n\r\nexport interface IContextualMenu {\r\n\r\n}\r\n\r\nexport interface IContextualMenuProps extends React.Props<ContextualMenu> {\r\n /**\r\n * Optional callback to access the IContextualMenu interface. Use this instead of ref for accessing\r\n * the public methods and properties of the component.\r\n */\r\n componentRef?: (component: IContextualMenu) => void;\r\n\r\n /**\r\n * The target that the ContextualMenu should try to position itself based on.\r\n * It can be either an HTMLElement a querySelector string of a valid HTMLElement\r\n * or a MouseEvent. If MouseEvent is given then the origin point of the event will be used.\r\n */\r\n target?: HTMLElement | string | MouseEvent;\r\n\r\n /**\r\n * Deprecated at version 0.72.1 and will no longer exist after 1.0 use 'target' instead.\r\n * @deprecated\r\n */\r\n targetElement?: HTMLElement;\r\n\r\n /**\r\n * How the element should be positioned\r\n * @default DirectionalHint.bottomAutoEdge\r\n */\r\n directionalHint?: DirectionalHint;\r\n\r\n /**\r\n * The gap between the ContextualMenu and the target\r\n * @default 0\r\n */\r\n gapSpace?: number;\r\n\r\n /**\r\n * The width of the beak.\r\n * @default 16\r\n */\r\n beakWidth?: number;\r\n\r\n /**\r\n * If true the context menu will render as the same width as the target element\r\n * @default false\r\n */\r\n useTargetWidth?: boolean;\r\n\r\n /**\r\n * The bounding rectangle for which the contextual menu can appear in.\r\n */\r\n bounds?: IRectangle;\r\n\r\n /**\r\n * If true use a point rather than rectangle to position the ContextualMenu.\r\n * For example it can be used to position based on a click.\r\n */\r\n useTargetPoint?: boolean;\r\n\r\n /**\r\n * Point used to position the ContextualMenu\r\n */\r\n targetPoint?: IPoint;\r\n\r\n /**\r\n * If true then the beak is visible. If false it will not be shown.\r\n * @default false\r\n */\r\n isBeakVisible?: boolean;\r\n\r\n /**\r\n * If true the position returned will have the menu element cover the target.\r\n * If false then it will position next to the target;\r\n * @default false\r\n */\r\n\r\n coverTarget?: boolean;\r\n\r\n /**\r\n * Collection of menu items.\r\n * @default []\r\n */\r\n items: IContextualMenuItem[];\r\n\r\n /**\r\n * Aria Labelled by labelElementId\r\n * @default null\r\n */\r\n labelElementId?: string;\r\n\r\n /**\r\n * Whether to focus on the menu when mounted.\r\n * @default true\r\n */\r\n shouldFocusOnMount?: boolean;\r\n\r\n /**\r\n * Callback when the ContextualMenu tries to close. If dismissAll is true then all\r\n * submenus will be dismissed.\r\n */\r\n onDismiss?: (ev?: any, dismissAll?: boolean) => void;\r\n\r\n /**\r\n * Click handler which is invoked if onClick is not passed for individual contextual\r\n * menu item\r\n */\r\n onItemClick?: (ev?: React.MouseEvent<HTMLElement>, item?: IContextualMenuItem) => void;\r\n\r\n /**\r\n * CSS class to apply to the context menu.\r\n * @default null\r\n */\r\n className?: string;\r\n\r\n /**\r\n * Whether this menu is a submenu of another menu or not.\r\n */\r\n isSubMenu?: boolean;\r\n\r\n /**\r\n * DOM id to tag the ContextualMenu with, for reference.\r\n * Should be used for 'aria-owns' and other such uses, rather than direct reference for programmatic purposes.\r\n */\r\n id?: string;\r\n\r\n /**\r\n * Aria label for accessibility for the ContextualMenu.\r\n * If none specified no aria label will be applied to the ContextualMenu.\r\n */\r\n ariaLabel?: string;\r\n\r\n /**\r\n * If true do not render on a new layer. If false render on a new layer.\r\n * @default false\r\n */\r\n doNotLayer?: boolean;\r\n\r\n /**\r\n * Direction for arrow navigation of the ContextualMenu. Should only be specified if using custom-rendered menu items.\r\n * @default FocusZoneDirection.vertical\r\n */\r\n arrowDirection?: FocusZoneDirection;\r\n\r\n /**\r\n * If true the position will not change sides in an attempt to fit the ContextualMenu within bounds.\r\n * It will still attempt to align it to whatever bounds are given.\r\n * @default false\r\n */\r\n directionalHintFixed?: boolean;\r\n\r\n /**\r\n * Callback for when the contextualmenu has been opened.\r\n */\r\n onMenuOpened?: (contextualMenu?: IContextualMenuProps) => void;\r\n\r\n /**\r\n * Pass in custom callout props\r\n */\r\n calloutProps?: ICalloutProps;\r\n\r\n}\r\n\r\nexport interface IContextualMenuItem {\r\n /**\r\n * Unique id to identify the item\r\n */\r\n key: string;\r\n\r\n /**\r\n * Text description for the menu item to display\r\n */\r\n name?: string;\r\n\r\n itemType?: ContextualMenuItemType;\r\n\r\n /**\r\n * Props that go to the IconComponent\r\n */\r\n iconProps?: IIconProps;\r\n\r\n /**\r\n * Props that go to the IconComponent used for the chevron.\r\n */\r\n submenuIconProps?: IIconProps;\r\n\r\n /**\r\n * Deprecated at v0.69.0 and will no longer exist after 1.0 use IconProps instead.\r\n * @deprecated\r\n */\r\n icon?: string;\r\n\r\n /**\r\n * Whether the menu item is disabled\r\n * @defaultvalue false\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Deprecated at v0.65.1 and will be removed by v 1.0. Use 'disabled' instead.\r\n * @deprecated\r\n */\r\n isDisabled?: boolean;\r\n\r\n /**\r\n * [TODO] Not Yet Implemented\r\n */\r\n shortCut?: string;\r\n\r\n /**\r\n * Whether or not this menu item can be checked\r\n * @defaultvalue false\r\n */\r\n canCheck?: boolean;\r\n\r\n /**\r\n * Whether or not this menu item is currently checked.\r\n * @defaultvalue false\r\n */\r\n checked?: boolean;\r\n\r\n /**\r\n * Deprecated at v.65.1 and will be removed by v 1.0. Use 'checked' instead.\r\n * @deprecated\r\n */\r\n isChecked?: boolean;\r\n\r\n /**\r\n * Any custom data the developer wishes to associate with the menu item.\r\n */\r\n data?: any;\r\n\r\n /**\r\n * Callback issued when the menu item is invoked\r\n */\r\n onClick?: (ev?: React.MouseEvent<HTMLElement>, item?: IContextualMenuItem) => void;\r\n\r\n /**\r\n * An optional URL to navigate to upon selection\r\n */\r\n href?: string;\r\n\r\n /**\r\n * Deprecated at v.80.0 and will be removed by v 1.0. Use 'subMenuProps' instead.\r\n * @deprecated\r\n */\r\n items?: IContextualMenuItem[];\r\n\r\n /**\r\n * Properties to apply to a submenu to this item.\r\n * The ContextualMenu will provide default values for 'target', 'onDismiss', 'isSubMenu',\r\n * 'id', 'shouldFocusOnMount', 'directionalHint', 'className', and 'gapSpace', all of which\r\n * can be overridden.\r\n */\r\n subMenuProps?: IContextualMenuProps;\r\n\r\n /**\r\n * Additional css class to apply to the menu item\r\n * @defaultvalue undefined\r\n */\r\n className?: string;\r\n\r\n /**\r\n * Additional styles to apply to the menu item\r\n * @defaultvalue undefined\r\n */\r\n style?: React.CSSProperties;\r\n\r\n /**\r\n * Optional accessibility label (aria-label) attribute that will be stamped on to the element.\r\n * If none is specified, the arai-label attribute will contain the item name\r\n */\r\n ariaLabel?: string;\r\n\r\n /**\r\n * Optional title for displaying text when hovering over an item.\r\n */\r\n title?: string;\r\n\r\n /**\r\n * Method to custom render this menu item.\r\n * For keyboard accessibility, the top-level rendered item should be a focusable element\r\n * (like an anchor or a button) or have the `data-is-focusable` property set to true.\r\n * @defaultvalue undefined\r\n */\r\n onRender?: (item: any) => React.ReactNode;\r\n\r\n /**\r\n * A function to be executed onMouseDown. This is executed before an onClick event and can\r\n * be used to interrupt native on click events as well. The click event should still handle\r\n * the commands. This should only be used in special cases when react and non-react are mixed.\r\n */\r\n onMouseDown?: (item: IContextualMenuItem, event: any) => void;\r\n\r\n /**\r\n * Any additional properties to use when custom rendering menu items.\r\n */\r\n [propertyName: string]: any;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/ContextualMenu/ContextualMenu.Props.ts","export enum DirectionalHint {\r\n /**\r\n * Appear above the target element, with the left edges of the callout and target aligning.\r\n */\r\n topLeftEdge = 0,\r\n\r\n /**\r\n * Appear above the target element, with the centers of the callout and target aligning.\r\n */\r\n topCenter = 1,\r\n\r\n /**\r\n * Appear above the target element, with the right edges of the callout and target aligning.\r\n */\r\n topRightEdge = 2,\r\n\r\n /**\r\n * Appear above the target element, aligning with the target element such that the callout tends toward the center of the screen.\r\n */\r\n topAutoEdge = 3,\r\n\r\n /**\r\n * Appear below the target element, with the left edges of the callout and target aligning.\r\n */\r\n bottomLeftEdge = 4,\r\n\r\n /**\r\n * Appear below the target element, with the centers of the callout and target aligning.\r\n */\r\n bottomCenter = 5,\r\n\r\n /**\r\n * Appear below the target element, with the right edges of the callout and target aligning.\r\n */\r\n bottomRightEdge = 6,\r\n\r\n /**\r\n * Appear below the target element, aligning with the target element such that the callout tends toward the center of the screen.\r\n */\r\n bottomAutoEdge = 7,\r\n\r\n /**\r\n * Appear to the left of the target element, with the top edges of the callout and target aligning.\r\n */\r\n leftTopEdge = 8,\r\n\r\n /**\r\n * Appear to the left of the target element, with the centers of the callout and target aligning.\r\n */\r\n leftCenter = 9,\r\n\r\n /**\r\n * Appear to the left of the target element, with the bottom edges of the callout and target aligning.\r\n */\r\n leftBottomEdge = 10,\r\n\r\n /**\r\n * Appear to the right of the target element, with the top edges of the callout and target aligning.\r\n */\r\n rightTopEdge = 11,\r\n\r\n /**\r\n * Appear to the right of the target element, with the centers of the callout and target aligning.\r\n */\r\n rightCenter = 12,\r\n\r\n /**\r\n * Appear to the right of the target element, with the bottom edges of the callout and target aligning.\r\n */\r\n rightBottomEdge = 13\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../src/common/DirectionalHint.ts","export * from './components/Callout/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Callout.ts","export * from './Callout';\r\nexport * from './Callout.Props';\r\nexport * from '../../common/DirectionalHint';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Callout/index.ts","/* tslint:disable:no-unused-variable */\r\nimport * as React from 'react';\r\n/* tslint:enable:no-unused-variable */\r\n\r\nimport { BaseComponent } from '../../Utilities';\r\nimport { ICalloutProps } from './Callout.Props';\r\nimport { ICalloutState, CalloutContent } from './CalloutContent';\r\nimport { Layer } from '../../Layer';\r\n\r\nexport class Callout extends BaseComponent<ICalloutProps, ICalloutState> {\r\n\r\n constructor(props: ICalloutProps) {\r\n super(props);\r\n }\r\n\r\n public render() {\r\n let content = (\r\n <CalloutContent { ...this.props } />\r\n );\r\n return this.props.doNotLayer ? content : (\r\n <Layer>\r\n { content }\r\n </Layer>\r\n );\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Callout/Callout.tsx","/* tslint:disable:no-unused-variable */\r\nimport * as React from 'react';\r\n/* tslint:enable:no-unused-variable */\r\nimport { ICalloutProps } from './Callout.Props';\r\nimport { DirectionalHint } from '../../common/DirectionalHint';\r\nimport {\r\n BaseComponent,\r\n IRectangle,\r\n assign,\r\n autobind,\r\n css,\r\n elementContains,\r\n focusFirstChild,\r\n getWindow,\r\n getDocument\r\n} from '../../Utilities';\r\nimport { getRelativePositions, IPositionInfo, IPositionProps, getMaxHeight } from '../../utilities/positioning';\r\nimport { Popup } from '../../Popup';\r\nimport * as stylesImport from './Callout.scss';\r\nimport { AnimationClassNames } from '../../Styling';\r\n\r\nconst styles: any = stylesImport;\r\n\r\nconst BEAK_ORIGIN_POSITION = { top: 0, left: 0 };\r\nconst OFF_SCREEN_STYLE = { opacity: 0 };\r\nconst BORDER_WIDTH: number = 1;\r\n\r\nexport interface ICalloutState {\r\n positions?: IPositionInfo;\r\n slideDirectionalClassName?: string;\r\n calloutElementRect?: ClientRect;\r\n}\r\n\r\nexport class CalloutContent extends BaseComponent<ICalloutProps, ICalloutState> {\r\n\r\n public static defaultProps = {\r\n preventDismissOnScroll: false,\r\n isBeakVisible: true,\r\n beakWidth: 16,\r\n gapSpace: 0,\r\n minPagePadding: 8,\r\n directionalHint: DirectionalHint.bottomAutoEdge\r\n };\r\n\r\n private _didSetInitialFocus: boolean;\r\n private _hostElement: HTMLDivElement;\r\n private _calloutElement: HTMLDivElement;\r\n private _targetWindow: Window;\r\n private _bounds: IRectangle;\r\n private _maxHeight: number;\r\n private _positionAttempts: number;\r\n private _target: HTMLElement | MouseEvent;\r\n\r\n constructor(props: ICalloutProps) {\r\n super(props);\r\n\r\n this._warnDeprecations({ 'beakStyle': 'beakWidth' });\r\n\r\n this._didSetInitialFocus = false;\r\n this.state = {\r\n positions: null,\r\n slideDirectionalClassName: null,\r\n calloutElementRect: null\r\n };\r\n this._positionAttempts = 0;\r\n }\r\n\r\n public componentDidUpdate() {\r\n this._setInitialFocus();\r\n this._updatePosition();\r\n }\r\n\r\n public componentWillMount() {\r\n let target = this.props.targetElement ? this.props.targetElement : this.props.target;\r\n this._setTargetWindowAndElement(target);\r\n }\r\n\r\n public componentWillUpdate(newProps: ICalloutProps) {\r\n if (newProps.targetElement !== this.props.targetElement || newProps.target !== this.props.target) {\r\n let newTarget = newProps.targetElement ? newProps.targetElement : newProps.target;\r\n this._maxHeight = undefined;\r\n this._setTargetWindowAndElement(newTarget);\r\n }\r\n if (newProps.gapSpace !== this.props.gapSpace || this.props.beakWidth !== newProps.beakWidth) {\r\n this._maxHeight = undefined;\r\n }\r\n }\r\n public componentDidMount() {\r\n this._onComponentDidMount();\r\n }\r\n\r\n public render() {\r\n // If there is no target window then we are likely in server side rendering and we should not render anything.\r\n if (!this._targetWindow) {\r\n return null;\r\n }\r\n let {\r\n role,\r\n ariaLabel,\r\n ariaDescribedBy,\r\n ariaLabelledBy,\r\n className,\r\n target,\r\n targetElement,\r\n isBeakVisible,\r\n beakStyle,\r\n children,\r\n beakWidth,\r\n backgroundColor } = this.props;\r\n let { positions } = this.state;\r\n let beakStyleWidth = beakWidth;\r\n\r\n // This is here to support the old way of setting the beak size until version 1.0.0.\r\n // beakStyle is now deprecated and will be be removed at version 1.0.0\r\n if (beakStyle === 'ms-Callout-smallbeak') {\r\n beakStyleWidth = 16;\r\n }\r\n\r\n let beakReactStyle: React.CSSProperties = {\r\n top: positions && positions.beakPosition ? positions.beakPosition.top : BEAK_ORIGIN_POSITION.top,\r\n left: positions && positions.beakPosition ? positions.beakPosition.left : BEAK_ORIGIN_POSITION.left,\r\n height: beakStyleWidth,\r\n width: beakStyleWidth,\r\n backgroundColor: backgroundColor,\r\n };\r\n\r\n let directionalClassName = (positions && positions.directionalClassName)\r\n ? AnimationClassNames[positions.directionalClassName]\r\n : '';\r\n\r\n let contentMaxHeight: number = this._getMaxHeight();\r\n let beakVisible: boolean = isBeakVisible && (!!targetElement || !!target);\r\n let content = (\r\n <div\r\n ref={ this._resolveRef('_hostElement') }\r\n className={ css('ms-Callout-container', styles.container) }\r\n >\r\n <div\r\n className={\r\n css(\r\n 'ms-Callout',\r\n styles.root,\r\n className,\r\n directionalClassName\r\n ) }\r\n style={ positions ? positions.calloutPosition : OFF_SCREEN_STYLE }\r\n ref={ this._resolveRef('_calloutElement') }\r\n >\r\n\r\n { beakVisible && (\r\n <div\r\n className={ css('ms-Callout-beak', styles.beak) }\r\n style={ beakReactStyle }\r\n />) }\r\n\r\n { beakVisible &&\r\n (<div className={ css('ms-Callout-beakCurtain', styles.beakCurtain) } />) }\r\n <Popup\r\n role={ role }\r\n ariaLabel={ ariaLabel }\r\n ariaDescribedBy={ ariaDescribedBy }\r\n ariaLabelledBy={ ariaLabelledBy }\r\n className={ css('ms-Callout-main', styles.main) }\r\n onDismiss={ this.dismiss }\r\n shouldRestoreFocus={ true }\r\n style={ { maxHeight: contentMaxHeight, backgroundColor: backgroundColor } }>\r\n { children }\r\n </Popup>\r\n </div>\r\n </div>\r\n );\r\n\r\n return content;\r\n }\r\n\r\n @autobind\r\n public dismiss(ev?: Event | React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>) {\r\n let { onDismiss } = this.props;\r\n\r\n if (onDismiss) {\r\n onDismiss(ev);\r\n }\r\n }\r\n\r\n protected _dismissOnScroll(ev: Event) {\r\n const { preventDismissOnScroll } = this.props;\r\n if (this.state.positions && !preventDismissOnScroll) {\r\n this._dismissOnLostFocus(ev);\r\n }\r\n }\r\n\r\n protected _dismissOnLostFocus(ev: Event) {\r\n let target = ev.target as HTMLElement;\r\n let clickedOutsideCallout = this._hostElement && !elementContains(this._hostElement, target);\r\n\r\n if (\r\n (!this._target && clickedOutsideCallout) ||\r\n ev.target !== this._targetWindow &&\r\n clickedOutsideCallout &&\r\n ((this._target as MouseEvent).stopPropagation ||\r\n (!this._target || (target !== this._target && !elementContains(this._target as HTMLElement, target))))) {\r\n this.dismiss(ev);\r\n }\r\n }\r\n\r\n @autobind\r\n protected _setInitialFocus() {\r\n if (this.props.setInitialFocus && !this._didSetInitialFocus && this.state.positions) {\r\n this._didSetInitialFocus = true;\r\n focusFirstChild(this._calloutElement);\r\n }\r\n }\r\n\r\n @autobind\r\n protected _onComponentDidMount() {\r\n // This is added so the callout will dismiss when the window is scrolled\r\n // but not when something inside the callout is scrolled. The delay seems\r\n // to be required to avoid React firing an async focus event in IE from\r\n // the target changing focus quickly prior to rendering the callout.\r\n this._async.setTimeout(() => {\r\n this._events.on(this._targetWindow, 'scroll', this._dismissOnScroll, true);\r\n this._events.on(this._targetWindow, 'resize', this.dismiss, true);\r\n this._events.on(this._targetWindow, 'focus', this._dismissOnLostFocus, true);\r\n this._events.on(this._targetWindow, 'click', this._dismissOnLostFocus, true);\r\n }, 0);\r\n\r\n if (this.props.onLayerMounted) {\r\n this.props.onLayerMounted();\r\n }\r\n\r\n this._updatePosition();\r\n }\r\n\r\n private _updatePosition() {\r\n let { positions } = this.state;\r\n let hostElement: HTMLElement = this._hostElement;\r\n let calloutElement: HTMLElement = this._calloutElement;\r\n\r\n if (hostElement && calloutElement) {\r\n let currentProps: IPositionProps;\r\n currentProps = assign(currentProps, this.props);\r\n currentProps.bounds = this._getBounds();\r\n // Temporary to be removed when targetElement is removed. Currently deprecated.\r\n if (this.props.targetElement) {\r\n currentProps.targetElement = this._target as HTMLElement;\r\n } else {\r\n currentProps.target = this._target;\r\n }\r\n let newPositions: IPositionInfo = getRelativePositions(currentProps, hostElement, calloutElement);\r\n\r\n // Set the new position only when the positions are not exists or one of the new callout positions are different.\r\n // The position should not change if the position is within 2 decimal places.\r\n if ((!positions && newPositions) ||\r\n (positions && newPositions && !this._arePositionsEqual(positions, newPositions)\r\n && this._positionAttempts < 5)) {\r\n // We should not reposition the callout more than a few times, if it is then the content is likely resizing\r\n // and we should stop trying to reposition to prevent a stack overflow.\r\n this._positionAttempts++;\r\n this.setState({\r\n positions: newPositions\r\n });\r\n } else {\r\n this._positionAttempts = 0;\r\n if (this.props.onPositioned) {\r\n this.props.onPositioned();\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _getBounds(): IRectangle {\r\n if (!this._bounds) {\r\n let currentBounds = this.props.bounds;\r\n\r\n if (!currentBounds) {\r\n currentBounds = {\r\n top: 0 + this.props.minPagePadding,\r\n left: 0 + this.props.minPagePadding,\r\n right: this._targetWindow.innerWidth - this.props.minPagePadding,\r\n bottom: this._targetWindow.innerHeight - this.props.minPagePadding,\r\n width: this._targetWindow.innerWidth - this.props.minPagePadding * 2,\r\n height: this._targetWindow.innerHeight - this.props.minPagePadding * 2\r\n };\r\n }\r\n this._bounds = currentBounds;\r\n }\r\n return this._bounds;\r\n }\r\n\r\n private _getMaxHeight(): number {\r\n if (!this._maxHeight) {\r\n if (this.props.directionalHintFixed && this._target) {\r\n let beakWidth = this.props.isBeakVisible ? this.props.beakWidth : 0;\r\n let gapSpace = this.props.gapSpace ? this.props.gapSpace : 0;\r\n this._maxHeight = getMaxHeight(this._target, this.props.directionalHint, beakWidth + gapSpace, this._getBounds());\r\n } else {\r\n this._maxHeight = this._getBounds().height - BORDER_WIDTH * 2;\r\n }\r\n }\r\n return this._maxHeight;\r\n }\r\n\r\n private _arePositionsEqual(positions: IPositionInfo, newPosition: IPositionInfo) {\r\n if (positions.calloutPosition.top.toFixed(2) !== newPosition.calloutPosition.top.toFixed(2)) {\r\n return false;\r\n }\r\n if (positions.calloutPosition.left.toFixed(2) !== newPosition.calloutPosition.left.toFixed(2)) {\r\n return false;\r\n }\r\n if (positions.beakPosition.top.toFixed(2) !== newPosition.beakPosition.top.toFixed(2)) {\r\n return false;\r\n }\r\n if (positions.beakPosition.top.toFixed(2) !== newPosition.beakPosition.top.toFixed(2)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n\r\n }\r\n\r\n private _setTargetWindowAndElement(target: HTMLElement | string | MouseEvent): void {\r\n if (target) {\r\n if (typeof target === 'string') {\r\n let currentDoc: Document = getDocument();\r\n this._target = currentDoc ? currentDoc.querySelector(target) as HTMLElement : null;\r\n this._targetWindow = getWindow();\r\n } else if ((target as MouseEvent).stopPropagation) {\r\n this._target = target;\r\n this._targetWindow = getWindow((target as MouseEvent).toElement as HTMLElement);\r\n } else {\r\n let targetElement: HTMLElement = target as HTMLElement;\r\n this._target = target;\r\n this._targetWindow = getWindow(targetElement);\r\n }\r\n } else {\r\n this._targetWindow = getWindow();\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Callout/CalloutContent.tsx","import { DirectionalHint } from '../common/DirectionalHint';\r\nimport {\r\n IRectangle,\r\n assign,\r\n getScrollbarWidth,\r\n Rectangle\r\n} from '../Utilities';\r\n\r\nexport enum RectangleEdge {\r\n top = 0,\r\n bottom = 1,\r\n left = 2,\r\n right = 3\r\n}\r\n\r\nlet SLIDE_ANIMATIONS: { [key: number]: string; } = {\r\n [RectangleEdge.top]: 'slideUpIn20',\r\n [RectangleEdge.bottom]: 'slideDownIn20',\r\n [RectangleEdge.left]: 'slideLeftIn20',\r\n [RectangleEdge.right]: 'slideRightIn20'\r\n};\r\n\r\nexport interface IPositionProps {\r\n\r\n target?: HTMLElement | MouseEvent;\r\n\r\n /** Deprecated at v1.0.0, use 'target' instead.\r\n * @deprecated\r\n */\r\n targetElement?: HTMLElement;\r\n\r\n /** how the element should be positioned */\r\n directionalHint?: DirectionalHint;\r\n\r\n /** The gap between the callout and the target */\r\n gapSpace?: number;\r\n\r\n /** The width of the beak. */\r\n beakWidth?: number;\r\n\r\n /**\r\n * The bounding rectangle for which the contextual menu can appear in.\r\n */\r\n bounds?: IRectangle;\r\n\r\n /**\r\n * Deprecated at v1.0.0, use 'target' with event passed in.\r\n * @deprecated\r\n * @default null\r\n */\r\n creationEvent?: MouseEvent;\r\n\r\n /**\r\n * Deprecated at v1.0.0, use 'target' with event passed in.\r\n * @deprecated\r\n */\r\n useTargetPoint?: boolean;\r\n\r\n /**\r\n * Deprecated at v1.0.0, use 'target' with event passed in.\r\n * @deprecated\r\n */\r\n targetPoint?: IPoint;\r\n\r\n /** If true then the beak is visible. If false it will not be shown. */\r\n isBeakVisible?: boolean;\r\n\r\n /**\r\n * If true the position returned will have the menu element cover the target.\r\n * If false then it will position next to the target;\r\n */\r\n coverTarget?: boolean;\r\n\r\n /**\r\n * If true the position will not change edges in an attempt to fit the rectangle within bounds.\r\n * It will still attempt to align it to whatever bounds are given.\r\n * @default false\r\n */\r\n directionalHintFixed?: boolean;\r\n}\r\n\r\nexport interface IPositionInfo {\r\n calloutPosition: { top: number, left: number };\r\n beakPosition: { top: number, left: number, display: string };\r\n directionalClassName: string;\r\n submenuDirection: DirectionalHint;\r\n}\r\n\r\nexport interface IPoint {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport class PositionData {\r\n public calloutDirection: RectangleEdge;\r\n public targetDirection: RectangleEdge;\r\n public calloutPercent: number;\r\n public targetPercent: number;\r\n public beakPercent: number;\r\n public isAuto: boolean;\r\n\r\n constructor(calloutDirection: RectangleEdge, targetDirection: RectangleEdge, calloutPercent: number, targetPercent: number, beakPercent: number, isAuto: boolean) {\r\n this.calloutDirection = calloutDirection;\r\n this.targetDirection = targetDirection;\r\n this.calloutPercent = calloutPercent;\r\n this.targetPercent = targetPercent;\r\n this.beakPercent = beakPercent;\r\n this.isAuto = isAuto;\r\n }\r\n}\r\n\r\n// Currently the beakPercent is set to 50 for all positions meaning that it should tend to the center of the target\r\nlet DirectionalDictionary: { [key: number]: PositionData } = {\r\n [DirectionalHint.topLeftEdge]: new PositionData(RectangleEdge.bottom, RectangleEdge.top, 0, 0, 50, false),\r\n [DirectionalHint.topCenter]: new PositionData(RectangleEdge.bottom, RectangleEdge.top, 50, 50, 50, false),\r\n [DirectionalHint.topRightEdge]: new PositionData(RectangleEdge.bottom, RectangleEdge.top, 100, 100, 50, false),\r\n [DirectionalHint.topAutoEdge]: new PositionData(RectangleEdge.bottom, RectangleEdge.top, 0, 0, 50, true),\r\n [DirectionalHint.bottomLeftEdge]: new PositionData(RectangleEdge.top, RectangleEdge.bottom, 0, 0, 50, false),\r\n [DirectionalHint.bottomCenter]: new PositionData(RectangleEdge.top, RectangleEdge.bottom, 50, 50, 50, false),\r\n [DirectionalHint.bottomRightEdge]: new PositionData(RectangleEdge.top, RectangleEdge.bottom, 100, 100, 50, false),\r\n [DirectionalHint.bottomAutoEdge]: new PositionData(RectangleEdge.top, RectangleEdge.bottom, 0, 0, 50, true),\r\n [DirectionalHint.leftTopEdge]: new PositionData(RectangleEdge.right, RectangleEdge.left, 0, 0, 50, false),\r\n [DirectionalHint.leftCenter]: new PositionData(RectangleEdge.right, RectangleEdge.left, 50, 50, 50, false),\r\n [DirectionalHint.leftBottomEdge]: new PositionData(RectangleEdge.right, RectangleEdge.left, 100, 100, 50, false),\r\n [DirectionalHint.rightTopEdge]: new PositionData(RectangleEdge.left, RectangleEdge.right, 0, 0, 50, false),\r\n [DirectionalHint.rightCenter]: new PositionData(RectangleEdge.left, RectangleEdge.right, 50, 50, 50, false),\r\n [DirectionalHint.rightBottomEdge]: new PositionData(RectangleEdge.left, RectangleEdge.right, 100, 100, 50, false)\r\n};\r\nlet CoverDictionary: { [key: number]: PositionData } = {\r\n [DirectionalHint.topLeftEdge]: new PositionData(RectangleEdge.top, RectangleEdge.top, 0, 0, 50, false),\r\n [DirectionalHint.topCenter]: new PositionData(RectangleEdge.top, RectangleEdge.top, 50, 50, 50, false),\r\n [DirectionalHint.topRightEdge]: new PositionData(RectangleEdge.top, RectangleEdge.top, 100, 100, 50, false),\r\n [DirectionalHint.topAutoEdge]: new PositionData(RectangleEdge.top, RectangleEdge.top, 0, 0, 50, true),\r\n [DirectionalHint.bottomLeftEdge]: new PositionData(RectangleEdge.bottom, RectangleEdge.bottom, 0, 0, 50, false),\r\n [DirectionalHint.bottomCenter]: new PositionData(RectangleEdge.bottom, RectangleEdge.bottom, 50, 50, 50, false),\r\n [DirectionalHint.bottomRightEdge]: new PositionData(RectangleEdge.bottom, RectangleEdge.bottom, 100, 100, 50, false),\r\n [DirectionalHint.bottomAutoEdge]: new PositionData(RectangleEdge.bottom, RectangleEdge.bottom, 0, 0, 50, true),\r\n [DirectionalHint.leftTopEdge]: new PositionData(RectangleEdge.left, RectangleEdge.left, 0, 0, 50, false),\r\n [DirectionalHint.leftCenter]: new PositionData(RectangleEdge.left, RectangleEdge.left, 50, 50, 50, false),\r\n [DirectionalHint.leftBottomEdge]: new PositionData(RectangleEdge.left, RectangleEdge.left, 100, 100, 50, false),\r\n [DirectionalHint.rightTopEdge]: new PositionData(RectangleEdge.right, RectangleEdge.right, 0, 0, 50, false),\r\n [DirectionalHint.rightCenter]: new PositionData(RectangleEdge.right, RectangleEdge.right, 50, 50, 50, false),\r\n [DirectionalHint.rightBottomEdge]: new PositionData(RectangleEdge.right, RectangleEdge.right, 100, 100, 50, false)\r\n};\r\n\r\nlet OppositeEdgeDictionary: { [key: number]: number } = {\r\n [RectangleEdge.top]: RectangleEdge.bottom,\r\n [RectangleEdge.bottom]: RectangleEdge.top,\r\n [RectangleEdge.right]: RectangleEdge.left,\r\n [RectangleEdge.left]: RectangleEdge.right,\r\n};\r\nexport function getRelativePositions(\r\n props: IPositionProps,\r\n hostElement: HTMLElement,\r\n calloutElement: HTMLElement): IPositionInfo {\r\n let beakWidth: number = !props.isBeakVisible ? 0 : props.beakWidth;\r\n let borderWidth: number = positioningFunctions._getBorderSize(calloutElement);\r\n let gap: number = positioningFunctions._calculateActualBeakWidthInPixels(beakWidth) / 2 + (props.gapSpace ? props.gapSpace : 0);\r\n let boundingRect: Rectangle = props.bounds ?\r\n positioningFunctions._getRectangleFromIRect(props.bounds) :\r\n new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\r\n let targetRect: Rectangle = props.target ? positioningFunctions._getTargetRect(boundingRect, props.target) : positioningFunctions._getTargetRectDEPRECATED(\r\n boundingRect,\r\n props.targetElement,\r\n props.creationEvent,\r\n props.targetPoint,\r\n props.useTargetPoint);\r\n let positionData: PositionData = positioningFunctions._getPositionData(\r\n props.directionalHint,\r\n targetRect,\r\n boundingRect,\r\n props.coverTarget);\r\n let positionedCallout: positioningFunctions.ICallout = positioningFunctions._positionCalloutWithinBounds(\r\n positioningFunctions._getRectangleFromHTMLElement(calloutElement),\r\n targetRect,\r\n boundingRect,\r\n positionData,\r\n gap,\r\n props.coverTarget,\r\n props.directionalHintFixed);\r\n let beakPositioned: Rectangle = positioningFunctions._positionBeak(beakWidth, positionedCallout, targetRect, borderWidth);\r\n let finalizedCallout: Rectangle = positioningFunctions._finalizeCalloutPosition(positionedCallout.calloutRectangle, hostElement);\r\n\r\n return {\r\n calloutPosition: { top: finalizedCallout.top, left: finalizedCallout.left },\r\n beakPosition: { top: beakPositioned.top, left: beakPositioned.left, display: 'block' },\r\n directionalClassName: SLIDE_ANIMATIONS[positionedCallout.targetEdge],\r\n submenuDirection: positionedCallout.calloutEdge === RectangleEdge.right ? DirectionalHint.leftBottomEdge : DirectionalHint.rightBottomEdge\r\n };\r\n}\r\n/**\r\n * Get's the maximum height that a rectangle can have in order to fit below or above a target.\r\n * If the directional hint specifies a left or right edge (i.e. leftCenter) it will limit the height to the topBorder\r\n * of the target given.\r\n * If no bounds are provided then the window is treated as the bounds.\r\n */\r\nexport function getMaxHeight(target: HTMLElement | MouseEvent, targetEdge: DirectionalHint, gapSpace: number = 0, bounds?: IRectangle) {\r\n let mouseTarget: MouseEvent = target as MouseEvent;\r\n let elementTarget: HTMLElement = target as HTMLElement;\r\n let targetRect: Rectangle;\r\n let boundingRectangle = bounds ?\r\n positioningFunctions._getRectangleFromIRect(bounds) :\r\n new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\r\n\r\n if (mouseTarget.stopPropagation) {\r\n targetRect = new Rectangle(mouseTarget.clientX, mouseTarget.clientX, mouseTarget.clientY, mouseTarget.clientY);\r\n } else {\r\n targetRect = positioningFunctions._getRectangleFromHTMLElement(elementTarget);\r\n }\r\n\r\n return positioningFunctions._getMaxHeightFromTargetRectangle(targetRect, targetEdge, gapSpace, boundingRectangle);\r\n}\r\n\r\nexport module positioningFunctions {\r\n\r\n export interface ICallout {\r\n calloutRectangle: Rectangle;\r\n calloutEdge: RectangleEdge;\r\n targetEdge: RectangleEdge;\r\n alignPercent: number;\r\n beakPercent: number;\r\n }\r\n\r\n /**\r\n * If max height is less than zero it returns the bounds height instead.\r\n */\r\n export function _getMaxHeightFromTargetRectangle(targetRectangle: Rectangle, targetEdge: DirectionalHint, gapSpace: number, bounds: Rectangle) {\r\n let maxHeight = 0;\r\n\r\n switch (targetEdge) {\r\n case DirectionalHint.bottomAutoEdge:\r\n case DirectionalHint.bottomCenter:\r\n case DirectionalHint.bottomLeftEdge:\r\n case DirectionalHint.bottomRightEdge:\r\n maxHeight = bounds.bottom - targetRectangle.bottom - gapSpace;\r\n break;\r\n case DirectionalHint.topAutoEdge:\r\n case DirectionalHint.topCenter:\r\n case DirectionalHint.topLeftEdge:\r\n case DirectionalHint.topRightEdge:\r\n maxHeight = targetRectangle.top - bounds.top - gapSpace;\r\n break;\r\n default:\r\n maxHeight = bounds.bottom - targetRectangle.top - gapSpace;\r\n break;\r\n }\r\n\r\n return maxHeight > 0 ? maxHeight : bounds.height;\r\n }\r\n\r\n export function _getTargetRect(bounds: Rectangle, target: HTMLElement | MouseEvent) {\r\n let targetRectangle: Rectangle;\r\n\r\n if ((target as MouseEvent).preventDefault) {\r\n let ev: MouseEvent = target as MouseEvent;\r\n targetRectangle = new Rectangle(ev.clientX, ev.clientX, ev.clientY, ev.clientY);\r\n } else {\r\n targetRectangle = _getRectangleFromHTMLElement(target as HTMLElement);\r\n }\r\n\r\n if (!_isRectangleWithinBounds(targetRectangle, bounds)) {\r\n let outOfBounds: RectangleEdge[] = _getOutOfBoundsEdges(targetRectangle, bounds);\r\n\r\n for (let direction of outOfBounds) {\r\n targetRectangle[RectangleEdge[direction]] = bounds[RectangleEdge[direction]];\r\n }\r\n }\r\n\r\n return targetRectangle;\r\n }\r\n\r\n export function _getTargetRectDEPRECATED(bounds: Rectangle, targetElement?: HTMLElement, ev?: MouseEvent, targetPoint?: IPoint, isTargetPoint?: boolean): Rectangle {\r\n let targetRectangle: Rectangle;\r\n\r\n if (isTargetPoint) {\r\n if (targetPoint) {\r\n targetRectangle = new Rectangle(targetPoint.x, targetPoint.x, targetPoint.y, targetPoint.y);\r\n } else {\r\n targetRectangle = new Rectangle(ev.clientX, ev.clientX, ev.clientY, ev.clientY);\r\n }\r\n } else {\r\n if (!targetElement) {\r\n if (ev && ev.target) {\r\n targetRectangle = _getRectangleFromHTMLElement(ev.target as HTMLElement);\r\n }\r\n\r\n targetRectangle = new Rectangle();\r\n } else {\r\n targetRectangle = _getRectangleFromHTMLElement(targetElement);\r\n }\r\n }\r\n\r\n if (!_isRectangleWithinBounds(targetRectangle, bounds)) {\r\n let outOfBounds: RectangleEdge[] = _getOutOfBoundsEdges(targetRectangle, bounds);\r\n\r\n for (let direction of outOfBounds) {\r\n targetRectangle[RectangleEdge[direction]] = bounds[RectangleEdge[direction]];\r\n }\r\n }\r\n\r\n return targetRectangle;\r\n }\r\n\r\n export function _getRectangleFromHTMLElement(element: HTMLElement): Rectangle {\r\n let clientRect: ClientRect = element.getBoundingClientRect();\r\n\r\n return new Rectangle(clientRect.left, clientRect.right, clientRect.top, clientRect.bottom);\r\n }\r\n\r\n export function _positionCalloutWithinBounds(\r\n calloutRectangle: Rectangle,\r\n targetRectangle: Rectangle,\r\n boundingRectangle: Rectangle,\r\n directionalInfo: PositionData,\r\n gap: number = 0,\r\n coverTarget?: boolean,\r\n directionalHintFixed?: boolean): ICallout {\r\n let estimatedRectangle: Rectangle = _moveRectangleToAnchorRectangle(calloutRectangle,\r\n directionalInfo.calloutDirection,\r\n directionalInfo.calloutPercent,\r\n targetRectangle,\r\n directionalInfo.targetDirection,\r\n directionalInfo.targetPercent,\r\n gap);\r\n\r\n if (_isRectangleWithinBounds(estimatedRectangle, boundingRectangle)) {\r\n return { calloutRectangle: estimatedRectangle, calloutEdge: directionalInfo.calloutDirection, targetEdge: directionalInfo.targetDirection, alignPercent: directionalInfo.calloutPercent, beakPercent: directionalInfo.beakPercent };\r\n } else {\r\n return _getBestRectangleFitWithinBounds(\r\n estimatedRectangle,\r\n targetRectangle,\r\n boundingRectangle,\r\n directionalInfo,\r\n gap,\r\n coverTarget,\r\n directionalHintFixed);\r\n }\r\n }\r\n\r\n export function _getBestRectangleFitWithinBounds(\r\n estimatedPosition: Rectangle,\r\n targetRectangle: Rectangle,\r\n boundingRectangle: Rectangle,\r\n directionalInfo: PositionData,\r\n gap: number,\r\n coverTarget?: boolean,\r\n directionalHintFixed?: boolean): ICallout {\r\n let callout: ICallout = {\r\n calloutRectangle: estimatedPosition,\r\n calloutEdge: directionalInfo.calloutDirection,\r\n targetEdge: directionalInfo.targetDirection,\r\n alignPercent: directionalInfo.calloutPercent,\r\n beakPercent: directionalInfo.beakPercent\r\n };\r\n\r\n // If it can't possibly fit within the bounds just put it into it's initial position.\r\n if (!_canRectangleFitWithinBounds(estimatedPosition, boundingRectangle)) {\r\n return callout;\r\n }\r\n\r\n if (!coverTarget && !directionalHintFixed) {\r\n callout = _flipRectangleToFit(\r\n callout,\r\n targetRectangle,\r\n directionalInfo.targetPercent,\r\n boundingRectangle,\r\n gap);\r\n }\r\n\r\n let outOfBounds: RectangleEdge[] = _getOutOfBoundsEdges(callout.calloutRectangle, boundingRectangle);\r\n\r\n for (let direction of outOfBounds) {\r\n callout.calloutRectangle = _alignEdgeToCoordinate(\r\n callout.calloutRectangle,\r\n boundingRectangle[RectangleEdge[direction]],\r\n direction);\r\n let adjustedPercent: number = _recalculateMatchingPercents(\r\n callout.calloutRectangle,\r\n callout.targetEdge,\r\n targetRectangle,\r\n callout.targetEdge,\r\n directionalInfo.targetPercent);\r\n\r\n callout.alignPercent = adjustedPercent;\r\n }\r\n\r\n return callout;\r\n }\r\n\r\n export function _positionBeak(beakWidth: number, callout: ICallout, targetRectangle: Rectangle, border: number): Rectangle {\r\n let calloutRect: Rectangle = new Rectangle(\r\n 0,\r\n callout.calloutRectangle.width - border * 2,\r\n 0,\r\n callout.calloutRectangle.height - border * 2);\r\n let beakRectangle: Rectangle = new Rectangle(0, beakWidth, 0, beakWidth);\r\n let recalculatedPercent: number = _recalculateMatchingPercents(\r\n callout.calloutRectangle,\r\n callout.calloutEdge,\r\n targetRectangle,\r\n callout.targetEdge,\r\n callout.beakPercent);\r\n let estimatedTargetPoint: IPoint = _getPointOnEdgeFromPercent(calloutRect, callout.calloutEdge, recalculatedPercent);\r\n\r\n return _finalizeBeakPosition(beakRectangle, callout, estimatedTargetPoint, border);\r\n }\r\n\r\n export function _finalizeBeakPosition(beakRectangle: Rectangle, callout: ICallout, estimatedTargetPoint: IPoint, border: number): Rectangle {\r\n let beakPixelSize: number = _calculateActualBeakWidthInPixels(beakRectangle.width) / 2;\r\n let innerRect: Rectangle = null;\r\n let beakPoint: IPoint = { x: beakRectangle.width / 2, y: beakRectangle.width / 2 };\r\n\r\n if (callout.calloutEdge === RectangleEdge.bottom || callout.calloutEdge === RectangleEdge.top) {\r\n innerRect = new Rectangle(beakPixelSize, callout.calloutRectangle.width - beakPixelSize - border * 2, 0, callout.calloutRectangle.height - border * 2);\r\n } else {\r\n innerRect = new Rectangle(0, callout.calloutRectangle.width - border * 2, beakPixelSize, callout.calloutRectangle.height - beakPixelSize - border * 2);\r\n }\r\n\r\n let finalPoint: IPoint = _getClosestPointOnEdgeToPoint(innerRect, callout.calloutEdge, estimatedTargetPoint);\r\n\r\n return _movePointOnRectangleToPoint(beakRectangle, beakPoint, finalPoint);\r\n }\r\n\r\n export function _getRectangleFromIRect(rect: IRectangle): Rectangle {\r\n return new Rectangle(rect.left, rect.right, rect.top, rect.bottom);\r\n }\r\n\r\n export function _finalizeCalloutPosition(calloutRectangle: Rectangle, hostElement: HTMLElement): Rectangle {\r\n let hostRect: Rectangle = _getRectangleFromHTMLElement(hostElement);\r\n let topPosition = calloutRectangle.top - hostRect.top;\r\n let leftPosition = calloutRectangle.left - hostRect.left;\r\n\r\n return new Rectangle(leftPosition, leftPosition + calloutRectangle.width, topPosition, topPosition + calloutRectangle.height);\r\n }\r\n\r\n /**\r\n * Finds the percent on the recalculateRect that matches the percent on the target rect based on position.\r\n */\r\n export function _recalculateMatchingPercents(recalculateRect: Rectangle, rectangleEdge: RectangleEdge, targetRect: Rectangle, targetEdge: RectangleEdge, targetPercent: number): number {\r\n let targetPoint: IPoint = _getPointOnEdgeFromPercent(targetRect, targetEdge, targetPercent);\r\n let adjustedPoint: IPoint = _getClosestPointOnEdgeToPoint(recalculateRect, rectangleEdge, targetPoint);\r\n let adjustedPercent: number = _getPercentOfEdgeFromPoint(recalculateRect, rectangleEdge, adjustedPoint);\r\n\r\n if (adjustedPercent > 100) {\r\n adjustedPercent = 100;\r\n } else if (adjustedPercent < 0) {\r\n adjustedPercent = 0;\r\n }\r\n\r\n return adjustedPercent;\r\n }\r\n\r\n export function _canRectangleFitWithinBounds(rect: Rectangle, boundingRect: Rectangle): boolean {\r\n if (rect.width > boundingRect.width || rect.height > boundingRect.height) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n export function _isRectangleWithinBounds(rect: Rectangle, boundingRect: Rectangle): boolean {\r\n if (rect.top < boundingRect.top) {\r\n return false;\r\n }\r\n if (rect.bottom > boundingRect.bottom) {\r\n return false;\r\n }\r\n if (rect.left < boundingRect.left) {\r\n return false;\r\n }\r\n if (rect.right > boundingRect.right) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Gets all of the edges of a rectangle that are outside of the given bounds.\r\n * If there are no out of bounds edges it returns an empty array.\r\n */\r\n export function _getOutOfBoundsEdges(rect: Rectangle, boundingRect: Rectangle): RectangleEdge[] {\r\n let outOfBounds: RectangleEdge[] = new Array<RectangleEdge>();\r\n\r\n if (rect.top < boundingRect.top) {\r\n outOfBounds.push(RectangleEdge.top);\r\n }\r\n if (rect.bottom > boundingRect.bottom) {\r\n outOfBounds.push(RectangleEdge.bottom);\r\n }\r\n if (rect.left < boundingRect.left) {\r\n outOfBounds.push(RectangleEdge.left);\r\n }\r\n if (rect.right > boundingRect.right) {\r\n outOfBounds.push(RectangleEdge.right);\r\n }\r\n\r\n return outOfBounds;\r\n }\r\n\r\n /**\r\n * Returns a point on a edge that is x% of the way down it.\r\n */\r\n export function _getPointOnEdgeFromPercent(rect: Rectangle, direction: RectangleEdge, percentOfRect: number): IPoint {\r\n let startPoint: IPoint;\r\n let endPoint: IPoint;\r\n\r\n switch (direction) {\r\n case RectangleEdge.top:\r\n startPoint = { x: rect.left, y: rect.top };\r\n endPoint = { x: rect.right, y: rect.top };\r\n break;\r\n case RectangleEdge.left:\r\n startPoint = { x: rect.left, y: rect.top };\r\n endPoint = { x: rect.left, y: rect.bottom };\r\n break;\r\n case RectangleEdge.right:\r\n startPoint = { x: rect.right, y: rect.top };\r\n endPoint = { x: rect.right, y: rect.bottom };\r\n break;\r\n case RectangleEdge.bottom:\r\n startPoint = { x: rect.left, y: rect.bottom };\r\n endPoint = { x: rect.right, y: rect.bottom };\r\n break;\r\n default:\r\n startPoint = { x: 0, y: 0 };\r\n endPoint = { x: 0, y: 0 };\r\n break;\r\n }\r\n\r\n return _calculatePointPercentAlongLine(startPoint, endPoint, percentOfRect);\r\n }\r\n\r\n /**\r\n * Gets the percent down an edge that a point appears.\r\n */\r\n export function _getPercentOfEdgeFromPoint(rect: Rectangle, direction: RectangleEdge, valueOnEdge: IPoint): number {\r\n switch (direction) {\r\n case RectangleEdge.top:\r\n case RectangleEdge.bottom:\r\n\r\n return rect.width !== 0 ? (valueOnEdge.x - rect.left) / rect.width * 100 : 100;\r\n case RectangleEdge.left:\r\n case RectangleEdge.right:\r\n\r\n return rect.height !== 0 ? (valueOnEdge.y - rect.top) / rect.height * 100 : 100;\r\n }\r\n }\r\n\r\n /**\r\n * Percent is based on distance from left to right or up to down. 0% would be left most, 100% would be right most.\r\n */\r\n export function _calculatePointPercentAlongLine(startPoint: IPoint, endPoint: IPoint, percent: number): IPoint {\r\n let x: number = startPoint.x + ((endPoint.x - startPoint.x) * percent / 100);\r\n let y: number = startPoint.y + ((endPoint.y - startPoint.y) * percent / 100);\r\n\r\n return { x: x, y: y };\r\n }\r\n\r\n export function _moveTopLeftOfRectangleToPoint(rect: Rectangle, destination: IPoint): Rectangle {\r\n return new Rectangle(destination.x,\r\n destination.x + rect.width,\r\n destination.y,\r\n destination.y + rect.height);\r\n }\r\n\r\n /**\r\n * Aligns the given edge to the target coordinate.\r\n */\r\n export function _alignEdgeToCoordinate(rect: Rectangle, coordinate: number, direction: RectangleEdge): Rectangle {\r\n switch (direction) {\r\n case RectangleEdge.top:\r\n\r\n return _moveTopLeftOfRectangleToPoint(rect, { x: rect.left, y: coordinate });\r\n case RectangleEdge.bottom:\r\n\r\n return _moveTopLeftOfRectangleToPoint(rect, { x: rect.left, y: coordinate - rect.height });\r\n case RectangleEdge.left:\r\n\r\n return _moveTopLeftOfRectangleToPoint(rect, { x: coordinate, y: rect.top });\r\n case RectangleEdge.right:\r\n\r\n return _moveTopLeftOfRectangleToPoint(rect, { x: coordinate - rect.width, y: rect.top });\r\n }\r\n\r\n return new Rectangle();\r\n }\r\n\r\n /**\r\n * Moves a point on a given rectangle to the target point. Does not change the rectangles orientation.\r\n */\r\n export function _movePointOnRectangleToPoint(rect: Rectangle, rectanglePoint: IPoint, targetPoint: IPoint) {\r\n let leftCornerXDifference = rectanglePoint.x - rect.left;\r\n let leftCornerYDifference = rectanglePoint.y - rect.top;\r\n\r\n return _moveTopLeftOfRectangleToPoint(rect, { x: targetPoint.x - leftCornerXDifference, y: targetPoint.y - leftCornerYDifference });\r\n }\r\n\r\n /**\r\n * Moves the given rectangle a certain number of pixels in the given direction;\r\n */\r\n export function _moveRectangleInDirection(rect: Rectangle, moveDistance: number, direction: RectangleEdge): Rectangle {\r\n let xModifier: number = 0;\r\n let yModifier: number = 0;\r\n\r\n switch (direction) {\r\n case RectangleEdge.top:\r\n yModifier = moveDistance * -1;\r\n break;\r\n case RectangleEdge.left:\r\n xModifier = moveDistance * -1;\r\n break;\r\n case RectangleEdge.right:\r\n xModifier = moveDistance;\r\n break;\r\n case RectangleEdge.bottom:\r\n yModifier = moveDistance;\r\n break;\r\n }\r\n\r\n return _moveTopLeftOfRectangleToPoint(rect, { x: rect.left + xModifier, y: rect.top + yModifier });\r\n }\r\n\r\n /**\r\n * Moves the given rectangle to an anchor rectangle.\r\n */\r\n export function _moveRectangleToAnchorRectangle(\r\n rect: Rectangle,\r\n rectSide: RectangleEdge,\r\n rectPercent: number,\r\n anchorRect: Rectangle,\r\n anchorSide: RectangleEdge,\r\n anchorPercent: number,\r\n gap: number = 0): Rectangle {\r\n let rectTargetPoint: IPoint = _getPointOnEdgeFromPercent(rect, rectSide, rectPercent);\r\n let anchorTargetPoint: IPoint = _getPointOnEdgeFromPercent(anchorRect, anchorSide, anchorPercent);\r\n let positionedRect = _movePointOnRectangleToPoint(rect, rectTargetPoint, anchorTargetPoint);\r\n\r\n return _moveRectangleInDirection(positionedRect, gap, anchorSide);\r\n }\r\n\r\n /**\r\n * Gets the closet point on an edge to the given point.\r\n */\r\n export function _getClosestPointOnEdgeToPoint(rect: Rectangle, edge: RectangleEdge, point: IPoint): IPoint {\r\n switch (edge) {\r\n case RectangleEdge.top:\r\n case RectangleEdge.bottom:\r\n let x: number;\r\n\r\n if (point.x > rect.right) {\r\n x = rect.right;\r\n } else if (point.x < rect.left) {\r\n x = rect.left;\r\n } else {\r\n x = point.x;\r\n }\r\n return { x: x, y: rect[RectangleEdge[edge]] };\r\n case RectangleEdge.left:\r\n case RectangleEdge.right:\r\n let y: number;\r\n\r\n if (point.y > rect.bottom) {\r\n y = rect.bottom;\r\n } else if (point.y < rect.top) {\r\n y = rect.top;\r\n } else {\r\n y = point.y;\r\n }\r\n return { x: rect[RectangleEdge[edge]], y: y };\r\n }\r\n }\r\n\r\n // Since the beak is rotated 45 degrees the actual height/width is the length of the diagonal.\r\n // We still want to position the beak based on it's midpoint which does not change. It will\r\n // be at (beakwidth / 2, beakwidth / 2)\r\n export function _calculateActualBeakWidthInPixels(beakWidth: number): number {\r\n return Math.sqrt(beakWidth * beakWidth * 2);\r\n }\r\n\r\n export function _getBorderSize(element: HTMLElement): number {\r\n let styles: CSSStyleDeclaration = getComputedStyle(element, null);\r\n let topBorder: number = parseFloat(styles.borderTopWidth);\r\n let bottomBorder: number = parseFloat(styles.borderBottomWidth);\r\n let leftBorder: number = parseFloat(styles.borderLeftWidth);\r\n let rightBorder: number = parseFloat(styles.borderRightWidth);\r\n\r\n // If any of the borders are NaN default to 0\r\n if (isNaN(topBorder) || isNaN(bottomBorder) || isNaN(leftBorder) || isNaN(rightBorder)) {\r\n return 0;\r\n }\r\n\r\n // If all of the borders are the same size, any value;\r\n if (topBorder === bottomBorder && bottomBorder === leftBorder && leftBorder === rightBorder) {\r\n return topBorder;\r\n }\r\n\r\n // If the borders do not agree, return 0\r\n return 0;\r\n }\r\n\r\n export function _getPositionData(direction: DirectionalHint, target: Rectangle, boundingRect: Rectangle, coverTarget?: boolean): PositionData {\r\n let directionalInfo: PositionData = coverTarget ? CoverDictionary[direction] : DirectionalDictionary[direction];\r\n\r\n if (directionalInfo.isAuto) {\r\n let center: IPoint = _getPointOnEdgeFromPercent(target, directionalInfo.targetDirection, 50);\r\n\r\n if (center.x <= boundingRect.width / 2) {\r\n directionalInfo.calloutPercent = 0;\r\n directionalInfo.targetPercent = 0;\r\n } else {\r\n directionalInfo.calloutPercent = 100;\r\n directionalInfo.targetPercent = 100;\r\n }\r\n }\r\n\r\n return directionalInfo;\r\n }\r\n\r\n export function _flipRectangleToFit(callout: ICallout, targetRect: Rectangle, targetPercent: number, boundingRect: Rectangle, gap: number): ICallout {\r\n let directions: RectangleEdge[] = [RectangleEdge.left, RectangleEdge.right, RectangleEdge.top, RectangleEdge.bottom];\r\n let currentEdge: RectangleEdge = callout.targetEdge;\r\n // Make a copy to presever the original positioning.\r\n let positionedCallout: ICallout = assign({}, callout);\r\n\r\n // Keep switching sides until one is found with enough space. If all sides don't fit then return the unmodified callout.\r\n for (let i = 0; i < 4; i++) {\r\n let outOfBounds: RectangleEdge[] = _getOutOfBoundsEdges(positionedCallout.calloutRectangle, boundingRect);\r\n let index: number = outOfBounds.indexOf(currentEdge);\r\n let oppositeEdge: RectangleEdge = OppositeEdgeDictionary[currentEdge];\r\n\r\n if (index > -1) {\r\n directions.splice(directions.indexOf(currentEdge), 1);\r\n currentEdge = directions.indexOf(oppositeEdge) > -1 ? oppositeEdge : directions.slice(-1)[0];\r\n positionedCallout.calloutEdge = OppositeEdgeDictionary[currentEdge];\r\n positionedCallout.targetEdge = currentEdge;\r\n positionedCallout.calloutRectangle = _moveRectangleToAnchorRectangle(positionedCallout.calloutRectangle,\r\n positionedCallout.calloutEdge,\r\n positionedCallout.alignPercent,\r\n targetRect,\r\n positionedCallout.targetEdge,\r\n targetPercent,\r\n gap);\r\n } else {\r\n return positionedCallout;\r\n }\r\n }\r\n\r\n return callout;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../src/utilities/positioning.ts","export * from './components/Popup/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Popup.ts","export * from './Popup';\r\nexport * from './Popup.Props';\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Popup/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n KeyCodes,\r\n divProperties,\r\n doesElementContainFocus,\r\n getDocument,\r\n getNativeProps,\r\n autobind\r\n} from '../../Utilities';\r\nimport { IPopupProps } from './Popup.Props';\r\n\r\n/**\r\n * This adds accessibility to Dialog and Panel controls\r\n */\r\nexport class Popup extends BaseComponent<IPopupProps, {}> {\r\n\r\n public static defaultProps: IPopupProps = {\r\n shouldRestoreFocus: true\r\n };\r\n\r\n public refs: {\r\n [key: string]: React.ReactInstance;\r\n root: HTMLElement;\r\n };\r\n\r\n private _originalFocusedElement: HTMLElement;\r\n private _containsFocus: boolean;\r\n\r\n public componentWillMount() {\r\n this._originalFocusedElement = getDocument().activeElement as HTMLElement;\r\n }\r\n\r\n public componentDidMount(): void {\r\n this._events.on(this.refs.root, 'focus', this._onFocus, true);\r\n this._events.on(this.refs.root, 'blur', this._onBlur, true);\r\n if (doesElementContainFocus(this.refs.root)) {\r\n this._containsFocus = true;\r\n }\r\n }\r\n\r\n public componentWillUnmount(): void {\r\n if (\r\n this.props.shouldRestoreFocus &&\r\n this._originalFocusedElement &&\r\n this._containsFocus &&\r\n this._originalFocusedElement as any !== window) {\r\n // This slight delay is required so that we can unwind the stack, let react try to mess with focus, and then\r\n // apply the correct focus. Without the setTimeout, we end up focusing the correct thing, and then React wants\r\n // to reset the focus back to the thing it thinks should have been focused.\r\n if (this._originalFocusedElement) {\r\n this._originalFocusedElement.focus();\r\n }\r\n }\r\n }\r\n\r\n public render() {\r\n let { role, className, ariaLabel, ariaLabelledBy, ariaDescribedBy } = this.props;\r\n\r\n return (\r\n <div\r\n ref='root'\r\n { ...getNativeProps(this.props, divProperties) }\r\n className={ className }\r\n role={ role }\r\n aria-label={ ariaLabel }\r\n aria-labelledby={ ariaLabelledBy }\r\n aria-describedby={ ariaDescribedBy }\r\n onKeyDown={ this._onKeyDown }>\r\n { this.props.children }\r\n </div>\r\n );\r\n }\r\n\r\n @autobind\r\n private _onKeyDown(ev: React.KeyboardEvent<HTMLElement>) {\r\n switch (ev.which) {\r\n case KeyCodes.escape:\r\n\r\n if (this.props.onDismiss) {\r\n this.props.onDismiss(ev);\r\n\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n\r\n break;\r\n }\r\n }\r\n\r\n private _onFocus() {\r\n this._containsFocus = true;\r\n }\r\n\r\n private _onBlur() {\r\n this._containsFocus = false;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Popup/Popup.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_9eeb3eac',\r\n container: 'container_9eeb3eac',\r\n main: 'main_9eeb3eac',\r\n beak: 'beak_9eeb3eac',\r\n beakCurtain: 'beakCurtain_9eeb3eac',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_9eeb3eac{box-shadow:0 0 5px 0 rgba(0,0,0,.4);position:absolute;border:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\";box-sizing:border-box}@media screen and (-ms-high-contrast:active){.root_9eeb3eac{border:1px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.root_9eeb3eac{border:1px solid \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}.container_9eeb3eac{position:relative}.main_9eeb3eac{background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";overflow-x:hidden;overflow-y:auto;position:relative}.beak_9eeb3eac{position:absolute;background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";box-shadow:inherit;border:inherit;box-sizing:border-box;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.beakCurtain_9eeb3eac{position:absolute;top:0;right:0;bottom:0;left:0;background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Callout/Callout.scss.ts","export * from '@uifabric/styling/lib/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Styling.ts","import * as Glamor from 'glamor';\r\nimport rtlify from 'rtl-css-js';\r\nimport { IRawStyle, IProcessedStyle } from './interfaces/index';\r\nimport { getRTL } from '@uifabric/utilities/lib/index';\r\n\r\ninterface IGlamorRulePair {\r\n selector: string;\r\n style: Glamor.CSSProperties;\r\n}\r\n\r\nfunction _initializeGlamor(): void {\r\n // force speedy.\r\n // tslint:disable-next-line:no-string-literal\r\n if (!Glamor['styleSheet'] || !Glamor['styleSheet'].isSpeedy) {\r\n // tslint:disable-next-line:no-string-literal\r\n Glamor['speedy'](true);\r\n }\r\n\r\n // tslint:disable-next-line:no-string-literal\r\n Glamor['plugins'].add(\r\n ({ selector, style }: IGlamorRulePair): IGlamorRulePair => (\r\n {\r\n selector,\r\n style: getRTL() ? rtlify(style) : style\r\n }\r\n ));\r\n}\r\n\r\n_initializeGlamor();\r\n\r\n/**\r\n * Defines a :before pseudo-selector scoped style object for the given raw style.\r\n */\r\nexport function before(style: IRawStyle): IProcessedStyle {\r\n return Glamor.before(style);\r\n}\r\n\r\n/**\r\n * Defines a :after pseudo-selector scoped style object for the given raw style.\r\n */\r\nexport function after(style: IRawStyle): IProcessedStyle {\r\n return Glamor.after(style);\r\n}\r\n\r\n/**\r\n * Defines a style under a rule which is prefixed by the given selector.\r\n */\r\nexport function parent(selector: string, style: IRawStyle): IProcessedStyle {\r\n return Glamor.parent(selector, style);\r\n}\r\n\r\n/**\r\n * Registers a global rule. Be aware: registering global rules are not scoped;\r\n * Two versions of a global rule will colide with each other.\r\n */\r\nexport function insertGlobal(selector: string, style: IRawStyle): void {\r\n Glamor.insertGlobal(selector, style);\r\n}\r\n\r\n/**\r\n * Registers a font face.\r\n */\r\nexport function fontFace(font: Glamor.FontProperties): string {\r\n return Glamor.fontFace(font);\r\n}\r\n\r\n/**\r\n * Register a keyframe definition and returns the unique name to be used for\r\n * the animation name.\r\n */\r\nexport function keyframes(timeline: Glamor.TimeLine): string {\r\n return Glamor.keyframes(timeline);\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/glamorExports.ts","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.compose = exports.merge = exports.$ = exports.style = exports.presets = exports.keyframes = exports.fontFace = exports.insertGlobal = exports.insertRule = exports.plugins = exports.styleSheet = undefined;\nexports.speedy = speedy;\nexports.simulations = simulations;\nexports.simulate = simulate;\nexports.cssLabels = cssLabels;\nexports.isLikeRule = isLikeRule;\nexports.idFor = idFor;\nexports.css = css;\nexports.rehydrate = rehydrate;\nexports.flush = flush;\nexports.select = select;\nexports.parent = parent;\nexports.media = media;\nexports.pseudo = pseudo;\nexports.active = active;\nexports.any = any;\nexports.checked = checked;\nexports.disabled = disabled;\nexports.empty = empty;\nexports.enabled = enabled;\nexports._default = _default;\nexports.first = first;\nexports.firstChild = firstChild;\nexports.firstOfType = firstOfType;\nexports.fullscreen = fullscreen;\nexports.focus = focus;\nexports.hover = hover;\nexports.indeterminate = indeterminate;\nexports.inRange = inRange;\nexports.invalid = invalid;\nexports.lastChild = lastChild;\nexports.lastOfType = lastOfType;\nexports.left = left;\nexports.link = link;\nexports.onlyChild = onlyChild;\nexports.onlyOfType = onlyOfType;\nexports.optional = optional;\nexports.outOfRange = outOfRange;\nexports.readOnly = readOnly;\nexports.readWrite = readWrite;\nexports.required = required;\nexports.right = right;\nexports.root = root;\nexports.scope = scope;\nexports.target = target;\nexports.valid = valid;\nexports.visited = visited;\nexports.dir = dir;\nexports.lang = lang;\nexports.not = not;\nexports.nthChild = nthChild;\nexports.nthLastChild = nthLastChild;\nexports.nthLastOfType = nthLastOfType;\nexports.nthOfType = nthOfType;\nexports.after = after;\nexports.before = before;\nexports.firstLetter = firstLetter;\nexports.firstLine = firstLine;\nexports.selection = selection;\nexports.backdrop = backdrop;\nexports.placeholder = placeholder;\nexports.cssFor = cssFor;\nexports.attribsFor = attribsFor;\n\nvar _objectAssign = require('object-assign');\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar _sheet = require('./sheet.js');\n\nvar _CSSPropertyOperations = require('./CSSPropertyOperations');\n\nvar _clean = require('./clean.js');\n\nvar _clean2 = _interopRequireDefault(_clean);\n\nvar _plugins = require('./plugins');\n\nvar _hash = require('./hash');\n\nvar _hash2 = _interopRequireDefault(_hash);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n/* stylesheet */\n\n\nvar styleSheet = exports.styleSheet = new _sheet.StyleSheet();\n// an isomorphic StyleSheet shim. hides all the nitty gritty.\n\n// /**************** LIFTOFF IN 3... 2... 1... ****************/\nstyleSheet.inject(); //eslint-disable-line indent\n// /**************** TO THE MOOOOOOON ****************/\n\n// convenience function to toggle speedy\nfunction speedy(bool) {\n return styleSheet.speedy(bool);\n}\n\n// plugins\n// we include these by default\nvar plugins = exports.plugins = styleSheet.plugins = new _plugins.PluginSet([_plugins.prefixes, _plugins.fallbacks]);\nplugins.media = new _plugins.PluginSet(); // neat! media, font-face, keyframes\nplugins.fontFace = new _plugins.PluginSet();\nplugins.keyframes = new _plugins.PluginSet([_plugins.prefixes]);\n\n// define some constants\n\nvar isDev = process.env.NODE_ENV === 'development' || !process.env.NODE_ENV;\nvar isTest = process.env.NODE_ENV === 'test';\n\n/**** simulations ****/\n\n// a flag to enable simulation meta tags on dom nodes\n// defaults to true in dev mode. recommend *not* to\n// toggle often.\nvar canSimulate = isDev;\n\n// we use these flags for issuing warnings when simulate is called\n// in prod / in incorrect order\nvar warned1 = false,\n warned2 = false;\n\n// toggles simulation activity. shouldn't be needed in most cases\nfunction simulations() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n canSimulate = !!bool;\n}\n\n// use this on dom nodes to 'simulate' pseudoclasses\n// <div {...hover({ color: 'red' })} {...simulate('hover', 'visited')}>...</div>\n// you can even send in some weird ones, as long as it's in simple format\n// and matches an existing rule on the element\n// eg simulate('nthChild2', ':hover:active') etc\nfunction simulate() {\n for (var _len = arguments.length, pseudos = Array(_len), _key = 0; _key < _len; _key++) {\n pseudos[_key] = arguments[_key];\n }\n\n pseudos = (0, _clean2.default)(pseudos);\n if (!pseudos) return {};\n if (!canSimulate) {\n if (!warned1) {\n console.warn('can\\'t simulate without once calling simulations(true)'); //eslint-disable-line no-console\n warned1 = true;\n }\n if (!isDev && !isTest && !warned2) {\n console.warn('don\\'t use simulation outside dev'); //eslint-disable-line no-console\n warned2 = true;\n }\n return {};\n }\n return pseudos.reduce(function (o, p) {\n return o['data-simulate-' + simple(p)] = '', o;\n }, {});\n}\n\n/**** labels ****/\n// toggle for debug labels.\n// *shouldn't* have to mess with this manually\nvar hasLabels = isDev;\n\nfunction cssLabels(bool) {\n hasLabels = !!bool;\n}\n\n// takes a string, converts to lowercase, strips out nonalphanumeric.\nfunction simple(str) {\n return str.toLowerCase().replace(/[^a-z0-9]/g, '');\n}\n\n// hashes a string to something 'unique'\n// we use this to generate ids for styles\n\n\nfunction hashify() {\n var str = '';\n\n for (var _len2 = arguments.length, objs = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n objs[_key2] = arguments[_key2];\n }\n\n for (var i = 0; i < objs.length; i++) {\n str += JSON.stringify(objs[i]);\n }\n return (0, _hash2.default)(str).toString(36);\n}\n\n// of shape { 'data-css-<id>': '' }\nfunction isLikeRule(rule) {\n var keys = Object.keys(rule).filter(function (x) {\n return x !== 'toString';\n });\n if (keys.length !== 1) {\n return false;\n }\n return !!/data\\-css\\-([a-zA-Z0-9]+)/.exec(keys[0]);\n}\n\n// extracts id from a { 'data-css-<id>': ''} like object\nfunction idFor(rule) {\n var keys = Object.keys(rule).filter(function (x) {\n return x !== 'toString';\n });\n if (keys.length !== 1) throw new Error('not a rule');\n var regex = /data\\-css\\-([a-zA-Z0-9]+)/;\n var match = regex.exec(keys[0]);\n if (!match) throw new Error('not a rule');\n return match[1];\n}\n\nfunction selector(id, path) {\n\n if (!id) {\n return path.replace(/\\&/g, '');\n }\n if (!path) return '.css-' + id + ',[data-css-' + id + ']';\n\n var x = path.split(',').map(function (x) {\n return x.indexOf('&') >= 0 ? [x.replace(/\\&/mg, '.css-' + id), x.replace(/\\&/mg, '[data-css-' + id + ']')].join(',') // todo - make sure each sub selector has an &\n : '.css-' + id + x + ',[data-css-' + id + ']' + x;\n }).join(',');\n\n if (canSimulate && /^\\&\\:/.exec(path) && !/\\s/.exec(path)) {\n x += ',.css-' + id + '[data-simulate-' + simple(path) + '],[data-css-' + id + '][data-simulate-' + simple(path) + ']';\n }\n return x;\n}\n\nfunction toCSS(_ref) {\n var selector = _ref.selector,\n style = _ref.style;\n\n var result = plugins.transform({ selector: selector, style: style });\n return result.selector + '{' + (0, _CSSPropertyOperations.createMarkupForStyles)(result.style) + '}';\n}\n\nfunction deconstruct(style) {\n // we can be sure it's not infinitely nested here \n var plain = void 0,\n selects = void 0,\n medias = void 0,\n supports = void 0;\n Object.keys(style).forEach(function (key) {\n if (key.indexOf('&') >= 0) {\n selects = selects || {};\n selects[key] = style[key];\n } else if (key.indexOf('@media') === 0) {\n medias = medias || {};\n medias[key] = deconstruct(style[key]);\n } else if (key.indexOf('@supports') === 0) {\n supports = supports || {};\n supports[key] = deconstruct(style[key]);\n } else if (key === 'label') {\n if (style.label.length > 0) {\n plain = plain || {};\n plain.label = hasLabels ? style.label.join('.') : '';\n }\n } else {\n plain = plain || {};\n plain[key] = style[key];\n }\n });\n return { plain: plain, selects: selects, medias: medias, supports: supports };\n}\n\nfunction deconstructedStyleToCSS(id, style) {\n var css = [];\n\n // plugins here\n var plain = style.plain,\n selects = style.selects,\n medias = style.medias,\n supports = style.supports;\n\n if (plain) {\n css.push(toCSS({ style: plain, selector: selector(id) }));\n }\n if (selects) {\n Object.keys(selects).forEach(function (key) {\n return css.push(toCSS({ style: selects[key], selector: selector(id, key) }));\n });\n }\n if (medias) {\n Object.keys(medias).forEach(function (key) {\n return css.push(key + '{' + deconstructedStyleToCSS(id, medias[key]).join('') + '}');\n });\n }\n if (supports) {\n Object.keys(supports).forEach(function (key) {\n return css.push(key + '{' + deconstructedStyleToCSS(id, supports[key]).join('') + '}');\n });\n }\n return css;\n}\n\n// this cache to track which rules have\n// been inserted into the stylesheet\nvar inserted = styleSheet.inserted = {};\n\n// and helpers to insert rules into said styleSheet\nfunction insert(spec) {\n if (!inserted[spec.id]) {\n inserted[spec.id] = true;\n var deconstructed = deconstruct(spec.style);\n deconstructedStyleToCSS(spec.id, deconstructed).map(function (cssRule) {\n return styleSheet.insert(cssRule);\n });\n }\n}\n\n// a simple cache to store generated rules\nvar registered = styleSheet.registered = {};\nfunction register(spec) {\n if (!registered[spec.id]) {\n registered[spec.id] = spec;\n }\n}\n\nfunction _getRegistered(rule) {\n if (isLikeRule(rule)) {\n var ret = registered[idFor(rule)];\n if (ret == null) {\n throw new Error('[glamor] an unexpected rule cache miss occurred. This is probably a sign of multiple glamor instances in your app. See https://github.com/threepointone/glamor/issues/79');\n }\n return ret;\n }\n return rule;\n}\n\n// todo - perf\nvar ruleCache = {};\nfunction toRule(spec) {\n register(spec);\n insert(spec);\n\n if (ruleCache[spec.id]) {\n return ruleCache[spec.id];\n }\n\n var ret = _defineProperty({}, 'data-css-' + spec.id, hasLabels ? spec.label || '' : '');\n Object.defineProperty(ret, 'toString', {\n enumerable: false, value: function value() {\n return 'css-' + spec.id;\n }\n });\n ruleCache[spec.id] = ret;\n return ret;\n}\n\nfunction log() {\n //eslint-disable-line no-unused-vars\n console.log(this); //eslint-disable-line no-console\n return this;\n}\n\nfunction isSelector(key) {\n var possibles = [':', '.', '[', '>', ' '],\n found = false,\n ch = key.charAt(0);\n for (var i = 0; i < possibles.length; i++) {\n if (ch === possibles[i]) {\n found = true;\n break;\n }\n }\n return found || key.indexOf('&') >= 0;\n}\n\nfunction joinSelectors(a, b) {\n var as = a.split(',').map(function (a) {\n return !(a.indexOf('&') >= 0) ? '&' + a : a;\n });\n var bs = b.split(',').map(function (b) {\n return !(b.indexOf('&') >= 0) ? '&' + b : b;\n });\n\n return bs.reduce(function (arr, b) {\n return arr.concat(as.map(function (a) {\n return b.replace(/\\&/g, a);\n }));\n }, []).join(',');\n}\n\nfunction joinMediaQueries(a, b) {\n return a ? '@media ' + a.substring(6) + ' and ' + b.substring(6) : b;\n}\n\nfunction isMediaQuery(key) {\n return key.indexOf('@media') === 0;\n}\n\nfunction isSupports(key) {\n return key.indexOf('@supports') === 0;\n}\n\nfunction joinSupports(a, b) {\n return a ? '@supports ' + a.substring(9) + ' and ' + b.substring(9) : b;\n}\n\n// flatten a nested array\nfunction flatten(inArr) {\n var arr = [];\n for (var i = 0; i < inArr.length; i++) {\n if (Array.isArray(inArr[i])) arr = arr.concat(flatten(inArr[i]));else arr = arr.concat(inArr[i]);\n }\n return arr;\n}\n\n// mutable! modifies dest.\nfunction build(dest, _ref2) {\n var _ref2$selector = _ref2.selector,\n selector = _ref2$selector === undefined ? '' : _ref2$selector,\n _ref2$mq = _ref2.mq,\n mq = _ref2$mq === undefined ? '' : _ref2$mq,\n _ref2$supp = _ref2.supp,\n supp = _ref2$supp === undefined ? '' : _ref2$supp,\n _ref2$src = _ref2.src,\n src = _ref2$src === undefined ? {} : _ref2$src;\n\n\n if (!Array.isArray(src)) {\n src = [src];\n }\n src = flatten(src);\n\n src.forEach(function (_src) {\n if (isLikeRule(_src)) {\n var reg = _getRegistered(_src);\n if (reg.type !== 'css') {\n throw new Error('cannot merge this rule');\n }\n _src = reg.style;\n }\n _src = (0, _clean2.default)(_src);\n if (_src && _src.composes) {\n build(dest, { selector: selector, mq: mq, supp: supp, src: _src.composes });\n }\n Object.keys(_src || {}).forEach(function (key) {\n if (isSelector(key)) {\n\n if (key === '::placeholder') {\n build(dest, { selector: joinSelectors(selector, '::-webkit-input-placeholder'), mq: mq, supp: supp, src: _src[key] });\n build(dest, { selector: joinSelectors(selector, '::-moz-placeholder'), mq: mq, supp: supp, src: _src[key] });\n build(dest, { selector: joinSelectors(selector, '::-ms-input-placeholder'), mq: mq, supp: supp, src: _src[key] });\n }\n\n build(dest, { selector: joinSelectors(selector, key), mq: mq, supp: supp, src: _src[key] });\n } else if (isMediaQuery(key)) {\n build(dest, { selector: selector, mq: joinMediaQueries(mq, key), supp: supp, src: _src[key] });\n } else if (isSupports(key)) {\n build(dest, { selector: selector, mq: mq, supp: joinSupports(supp, key), src: _src[key] });\n } else if (key === 'composes') {\n // ignore, we already dealth with it\n } else {\n var _dest = dest;\n if (supp) {\n _dest[supp] = _dest[supp] || {};\n _dest = _dest[supp];\n }\n if (mq) {\n _dest[mq] = _dest[mq] || {};\n _dest = _dest[mq];\n }\n if (selector) {\n _dest[selector] = _dest[selector] || {};\n _dest = _dest[selector];\n }\n\n if (key === 'label') {\n if (hasLabels) {\n dest.label = dest.label.concat(_src.label);\n }\n } else {\n _dest[key] = _src[key];\n }\n }\n });\n });\n}\n\nfunction _css(rules) {\n var style = { label: [] };\n build(style, { src: rules }); // mutative! but worth it. \n\n var spec = {\n id: hashify(style),\n style: style, label: hasLabels ? style.label.join('.') : '',\n type: 'css'\n };\n return toRule(spec);\n}\n\nvar nullrule = {\n // 'data-css-nil': ''\n};\nObject.defineProperty(nullrule, 'toString', {\n enumerable: false, value: function value() {\n return 'css-nil';\n }\n});\n\nvar inputCaches = typeof WeakMap !== 'undefined' ? [nullrule, new WeakMap(), new WeakMap(), new WeakMap()] : [nullrule];\n\nvar warnedWeakMapError = false;\nfunction multiIndexCache(fn) {\n return function (args) {\n if (inputCaches[args.length]) {\n var coi = inputCaches[args.length];\n var ctr = 0;\n while (ctr < args.length - 1) {\n if (!coi.has(args[ctr])) {\n coi.set(args[ctr], new WeakMap());\n }\n coi = coi.get(args[ctr]);\n ctr++;\n }\n if (coi.has(args[args.length - 1])) {\n var ret = coi.get(args[ctr]);\n\n if (registered[ret.toString().substring(4)]) {\n // make sure it hasn't been flushed \n return ret;\n }\n }\n }\n var value = fn(args);\n if (inputCaches[args.length]) {\n var _ctr = 0,\n _coi = inputCaches[args.length];\n while (_ctr < args.length - 1) {\n _coi = _coi.get(args[_ctr]);\n _ctr++;\n }\n try {\n _coi.set(args[_ctr], value);\n } catch (err) {\n if (isDev && !warnedWeakMapError) {\n var _console;\n\n warnedWeakMapError = true;\n (_console = console).warn.apply(_console, ['failed setting the WeakMap cache for args:'].concat(_toConsumableArray(args))); // eslint-disable-line no-console\n console.warn('this should NOT happen, please file a bug on the github repo.'); // eslint-disable-line no-console\n }\n }\n }\n return value;\n };\n}\n\nvar cachedCss = typeof WeakMap !== 'undefined' ? multiIndexCache(_css) : _css;\n\nfunction css() {\n for (var _len3 = arguments.length, rules = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n rules[_key3] = arguments[_key3];\n }\n\n if (rules[0] && rules[0].length && rules[0].raw) {\n throw new Error('you forgot to include glamor/babel in your babel plugins.');\n }\n\n rules = (0, _clean2.default)(rules);\n if (!rules) {\n return nullrule;\n }\n\n return cachedCss(rules);\n}\n\ncss.insert = function (css) {\n var spec = {\n id: hashify(css),\n css: css,\n type: 'raw'\n };\n register(spec);\n if (!inserted[spec.id]) {\n styleSheet.insert(spec.css);\n inserted[spec.id] = true;\n }\n};\n\nvar insertRule = exports.insertRule = css.insert;\n\ncss.global = function (selector, style) {\n return css.insert(toCSS({ selector: selector, style: style }));\n};\n\nvar insertGlobal = exports.insertGlobal = css.global;\n\nfunction insertKeyframe(spec) {\n if (!inserted[spec.id]) {\n (function () {\n var inner = Object.keys(spec.keyframes).map(function (kf) {\n var result = plugins.keyframes.transform({ id: spec.id, name: kf, style: spec.keyframes[kf] });\n return result.name + '{' + (0, _CSSPropertyOperations.createMarkupForStyles)(result.style) + '}';\n }).join('');\n\n ['-webkit-', '-moz-', '-o-', ''].forEach(function (prefix) {\n return styleSheet.insert('@' + prefix + 'keyframes ' + (spec.name + '_' + spec.id) + '{' + inner + '}');\n });\n\n inserted[spec.id] = true;\n })();\n }\n}\ncss.keyframes = function (name, kfs) {\n if (!kfs) {\n kfs = name, name = 'animation';\n }\n\n // do not ignore empty keyframe definitions for now.\n kfs = (0, _clean2.default)(kfs) || {};\n var spec = {\n id: hashify(name, kfs),\n type: 'keyframes',\n name: name,\n keyframes: kfs\n };\n register(spec);\n insertKeyframe(spec);\n return name + '_' + spec.id;\n};\n\n// we don't go all out for fonts as much, giving a simple font loading strategy\n// use a fancier lib if you need moar power\ncss.fontFace = function (font) {\n font = (0, _clean2.default)(font);\n var spec = {\n id: hashify(font),\n type: 'font-face',\n font: font\n };\n register(spec);\n insertFontFace(spec);\n\n return font.fontFamily;\n};\n\nvar fontFace = exports.fontFace = css.fontFace;\nvar keyframes = exports.keyframes = css.keyframes;\n\nfunction insertFontFace(spec) {\n if (!inserted[spec.id]) {\n styleSheet.insert('@font-face{' + (0, _CSSPropertyOperations.createMarkupForStyles)(spec.font) + '}');\n inserted[spec.id] = true;\n }\n}\n\n// rehydrate the insertion cache with ids sent from\n// renderStatic / renderStaticOptimized\nfunction rehydrate(ids) {\n // load up ids\n (0, _objectAssign2.default)(inserted, ids.reduce(function (o, i) {\n return o[i] = true, o;\n }, {}));\n // assume css loaded separately\n}\n\n// clears out the cache and empties the stylesheet\n// best for tests, though there might be some value for SSR.\n\nfunction flush() {\n inserted = styleSheet.inserted = {};\n registered = styleSheet.registered = {};\n ruleCache = {};\n styleSheet.flush();\n styleSheet.inject();\n}\n\nfunction warnAboutPresetsDeprecation() {\n if (isDev) {\n console.warn('[Deprecation] In glamor v3 the `presets` object will be removed. See https://github.com/threepointone/glamor/issues/213 for more information.');\n }\n}\n\nvar presets = exports.presets = {\n get mobile() {\n warnAboutPresetsDeprecation();\n return '(min-width: 400px)';\n },\n get Mobile() {\n warnAboutPresetsDeprecation();\n return '@media (min-width: 400px)';\n },\n get phablet() {\n warnAboutPresetsDeprecation();\n return '(min-width: 550px)';\n },\n get Phablet() {\n warnAboutPresetsDeprecation();\n return '@media (min-width: 550px)';\n },\n get tablet() {\n warnAboutPresetsDeprecation();\n return '(min-width: 750px)';\n },\n get Tablet() {\n warnAboutPresetsDeprecation();\n return '@media (min-width: 750px)';\n },\n get desktop() {\n warnAboutPresetsDeprecation();\n return '(min-width: 1000px)';\n },\n get Desktop() {\n warnAboutPresetsDeprecation();\n return '@media (min-width: 1000px)';\n },\n get hd() {\n warnAboutPresetsDeprecation();\n return '(min-width: 1200px)';\n },\n get Hd() {\n warnAboutPresetsDeprecation();\n return '@media (min-width: 1200px)';\n }\n};\n\nvar style = exports.style = css;\n\nfunction select(selector) {\n for (var _len4 = arguments.length, styles = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n styles[_key4 - 1] = arguments[_key4];\n }\n\n if (!selector) {\n return style(styles);\n }\n return css(_defineProperty({}, selector, styles));\n}\nvar $ = exports.$ = select;\n\nfunction parent(selector) {\n for (var _len5 = arguments.length, styles = Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n styles[_key5 - 1] = arguments[_key5];\n }\n\n return css(_defineProperty({}, selector + ' &', styles));\n}\n\nvar merge = exports.merge = css;\nvar compose = exports.compose = css;\n\nfunction media(query) {\n for (var _len6 = arguments.length, rules = Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {\n rules[_key6 - 1] = arguments[_key6];\n }\n\n return css(_defineProperty({}, '@media ' + query, rules));\n}\n\nfunction pseudo(selector) {\n for (var _len7 = arguments.length, styles = Array(_len7 > 1 ? _len7 - 1 : 0), _key7 = 1; _key7 < _len7; _key7++) {\n styles[_key7 - 1] = arguments[_key7];\n }\n\n return css(_defineProperty({}, selector, styles));\n}\n\n// allllll the pseudoclasses\n\nfunction active(x) {\n return pseudo(':active', x);\n}\n\nfunction any(x) {\n return pseudo(':any', x);\n}\n\nfunction checked(x) {\n return pseudo(':checked', x);\n}\n\nfunction disabled(x) {\n return pseudo(':disabled', x);\n}\n\nfunction empty(x) {\n return pseudo(':empty', x);\n}\n\nfunction enabled(x) {\n return pseudo(':enabled', x);\n}\n\nfunction _default(x) {\n return pseudo(':default', x); // note '_default' name\n}\n\nfunction first(x) {\n return pseudo(':first', x);\n}\n\nfunction firstChild(x) {\n return pseudo(':first-child', x);\n}\n\nfunction firstOfType(x) {\n return pseudo(':first-of-type', x);\n}\n\nfunction fullscreen(x) {\n return pseudo(':fullscreen', x);\n}\n\nfunction focus(x) {\n return pseudo(':focus', x);\n}\n\nfunction hover(x) {\n return pseudo(':hover', x);\n}\n\nfunction indeterminate(x) {\n return pseudo(':indeterminate', x);\n}\n\nfunction inRange(x) {\n return pseudo(':in-range', x);\n}\n\nfunction invalid(x) {\n return pseudo(':invalid', x);\n}\n\nfunction lastChild(x) {\n return pseudo(':last-child', x);\n}\n\nfunction lastOfType(x) {\n return pseudo(':last-of-type', x);\n}\n\nfunction left(x) {\n return pseudo(':left', x);\n}\n\nfunction link(x) {\n return pseudo(':link', x);\n}\n\nfunction onlyChild(x) {\n return pseudo(':only-child', x);\n}\n\nfunction onlyOfType(x) {\n return pseudo(':only-of-type', x);\n}\n\nfunction optional(x) {\n return pseudo(':optional', x);\n}\n\nfunction outOfRange(x) {\n return pseudo(':out-of-range', x);\n}\n\nfunction readOnly(x) {\n return pseudo(':read-only', x);\n}\n\nfunction readWrite(x) {\n return pseudo(':read-write', x);\n}\n\nfunction required(x) {\n return pseudo(':required', x);\n}\n\nfunction right(x) {\n return pseudo(':right', x);\n}\n\nfunction root(x) {\n return pseudo(':root', x);\n}\n\nfunction scope(x) {\n return pseudo(':scope', x);\n}\n\nfunction target(x) {\n return pseudo(':target', x);\n}\n\nfunction valid(x) {\n return pseudo(':valid', x);\n}\n\nfunction visited(x) {\n return pseudo(':visited', x);\n}\n\n// parameterized pseudoclasses\nfunction dir(p, x) {\n return pseudo(':dir(' + p + ')', x);\n}\nfunction lang(p, x) {\n return pseudo(':lang(' + p + ')', x);\n}\nfunction not(p, x) {\n // should this be a plugin?\n var selector = p.split(',').map(function (x) {\n return x.trim();\n }).map(function (x) {\n return ':not(' + x + ')';\n });\n if (selector.length === 1) {\n return pseudo(':not(' + p + ')', x);\n }\n return select(selector.join(''), x);\n}\nfunction nthChild(p, x) {\n return pseudo(':nth-child(' + p + ')', x);\n}\nfunction nthLastChild(p, x) {\n return pseudo(':nth-last-child(' + p + ')', x);\n}\nfunction nthLastOfType(p, x) {\n return pseudo(':nth-last-of-type(' + p + ')', x);\n}\nfunction nthOfType(p, x) {\n return pseudo(':nth-of-type(' + p + ')', x);\n}\n\n// pseudoelements\nfunction after(x) {\n return pseudo('::after', x);\n}\nfunction before(x) {\n return pseudo('::before', x);\n}\nfunction firstLetter(x) {\n return pseudo('::first-letter', x);\n}\nfunction firstLine(x) {\n return pseudo('::first-line', x);\n}\nfunction selection(x) {\n return pseudo('::selection', x);\n}\nfunction backdrop(x) {\n return pseudo('::backdrop', x);\n}\nfunction placeholder(x) {\n // https://github.com/threepointone/glamor/issues/14\n return css({ '::placeholder': x });\n}\n\n/*** helpers for web components ***/\n// https://github.com/threepointone/glamor/issues/16\n\nfunction cssFor() {\n for (var _len8 = arguments.length, rules = Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n rules[_key8] = arguments[_key8];\n }\n\n rules = (0, _clean2.default)(rules);\n return rules ? rules.map(function (r) {\n var style = { label: [] };\n build(style, { src: r }); // mutative! but worth it. \n return deconstructedStyleToCSS(hashify(style), deconstruct(style)).join('');\n }).join('') : '';\n}\n\nfunction attribsFor() {\n for (var _len9 = arguments.length, rules = Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n rules[_key9] = arguments[_key9];\n }\n\n rules = (0, _clean2.default)(rules);\n var htmlAttributes = rules ? rules.map(function (rule) {\n idFor(rule); // throwaway check for rule\n var key = Object.keys(rule)[0],\n value = rule[key];\n return key + '=\"' + (value || '') + '\"';\n }).join(' ') : '';\n\n return htmlAttributes;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/glamor/lib/index.js\n// module id = 71\n// module chunks = 0 1 2 3","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/object-assign/index.js\n// module id = 72\n// module chunks = 0 1 2 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StyleSheet = StyleSheet;\n\nvar _objectAssign = require('object-assign');\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/* \n\nhigh performance StyleSheet for css-in-js systems \n\n- uses multiple style tags behind the scenes for millions of rules \n- uses `insertRule` for appending in production for *much* faster performance\n- 'polyfills' on server side \n\n\n// usage\n\nimport StyleSheet from 'glamor/lib/sheet'\nlet styleSheet = new StyleSheet()\n\nstyleSheet.inject() \n- 'injects' the stylesheet into the page (or into memory if on server)\n\nstyleSheet.insert('#box { border: 1px solid red; }') \n- appends a css rule into the stylesheet \n\nstyleSheet.flush() \n- empties the stylesheet of all its contents\n\n\n*/\n\nfunction last(arr) {\n return arr[arr.length - 1];\n}\n\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n }\n\n // this weirdness brought to you by firefox \n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n }\n}\n\nvar isBrowser = typeof window !== 'undefined';\nvar isDev = process.env.NODE_ENV === 'development' || !process.env.NODE_ENV; //(x => (x === 'development') || !x)(process.env.NODE_ENV)\nvar isTest = process.env.NODE_ENV === 'test';\n\nvar oldIE = function () {\n if (isBrowser) {\n var div = document.createElement('div');\n div.innerHTML = '<!--[if lt IE 10]><i></i><![endif]-->';\n return div.getElementsByTagName('i').length === 1;\n }\n}();\n\nfunction makeStyleTag() {\n var tag = document.createElement('style');\n tag.type = 'text/css';\n tag.setAttribute('data-glamor', '');\n tag.appendChild(document.createTextNode(''));\n (document.head || document.getElementsByTagName('head')[0]).appendChild(tag);\n return tag;\n}\n\nfunction StyleSheet() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$speedy = _ref.speedy,\n speedy = _ref$speedy === undefined ? !isDev && !isTest : _ref$speedy,\n _ref$maxLength = _ref.maxLength,\n maxLength = _ref$maxLength === undefined ? isBrowser && oldIE ? 4000 : 65000 : _ref$maxLength;\n\n this.isSpeedy = speedy; // the big drawback here is that the css won't be editable in devtools\n this.sheet = undefined;\n this.tags = [];\n this.maxLength = maxLength;\n this.ctr = 0;\n}\n\n(0, _objectAssign2.default)(StyleSheet.prototype, {\n getSheet: function getSheet() {\n return sheetForTag(last(this.tags));\n },\n inject: function inject() {\n var _this = this;\n\n if (this.injected) {\n throw new Error('already injected stylesheet!');\n }\n if (isBrowser) {\n this.tags[0] = makeStyleTag();\n } else {\n // server side 'polyfill'. just enough behavior to be useful.\n this.sheet = {\n cssRules: [],\n insertRule: function insertRule(rule) {\n // enough 'spec compliance' to be able to extract the rules later \n // in other words, just the cssText field \n _this.sheet.cssRules.push({ cssText: rule });\n }\n };\n }\n this.injected = true;\n },\n speedy: function speedy(bool) {\n if (this.ctr !== 0) {\n throw new Error('cannot change speedy mode after inserting any rule to sheet. Either call speedy(' + bool + ') earlier in your app, or call flush() before speedy(' + bool + ')');\n }\n this.isSpeedy = !!bool;\n },\n _insert: function _insert(rule) {\n // this weirdness for perf, and chrome's weird bug \n // https://stackoverflow.com/questions/20007992/chrome-suddenly-stopped-accepting-insertrule\n try {\n var sheet = this.getSheet();\n sheet.insertRule(rule, rule.indexOf('@import') !== -1 ? 0 : sheet.cssRules.length);\n } catch (e) {\n if (isDev) {\n // might need beter dx for this \n console.warn('whoops, illegal rule inserted', rule); //eslint-disable-line no-console\n }\n }\n },\n insert: function insert(rule) {\n\n if (isBrowser) {\n // this is the ultrafast version, works across browsers \n if (this.isSpeedy && this.getSheet().insertRule) {\n this._insert(rule);\n }\n // more browser weirdness. I don't even know \n // else if(this.tags.length > 0 && this.tags::last().styleSheet) { \n // this.tags::last().styleSheet.cssText+= rule\n // }\n else {\n if (rule.indexOf('@import') !== -1) {\n var tag = last(this.tags);\n tag.insertBefore(document.createTextNode(rule), tag.firstChild);\n } else {\n last(this.tags).appendChild(document.createTextNode(rule));\n }\n }\n } else {\n // server side is pretty simple \n this.sheet.insertRule(rule, rule.indexOf('@import') !== -1 ? 0 : this.sheet.cssRules.length);\n }\n\n this.ctr++;\n if (isBrowser && this.ctr % this.maxLength === 0) {\n this.tags.push(makeStyleTag());\n }\n return this.ctr - 1;\n },\n\n // commenting this out till we decide on v3's decision \n // _replace(index, rule) {\n // // this weirdness for perf, and chrome's weird bug \n // // https://stackoverflow.com/questions/20007992/chrome-suddenly-stopped-accepting-insertrule\n // try { \n // let sheet = this.getSheet() \n // sheet.deleteRule(index) // todo - correct index here \n // sheet.insertRule(rule, index)\n // }\n // catch(e) {\n // if(isDev) {\n // // might need beter dx for this \n // console.warn('whoops, problem replacing rule', rule) //eslint-disable-line no-console\n // } \n // } \n\n // }\n // replace(index, rule) {\n // if(isBrowser) {\n // if(this.isSpeedy && this.getSheet().insertRule) {\n // this._replace(index, rule)\n // }\n // else {\n // let _slot = Math.floor((index + this.maxLength) / this.maxLength) - 1 \n // let _index = (index % this.maxLength) + 1\n // let tag = this.tags[_slot]\n // tag.replaceChild(document.createTextNode(rule), tag.childNodes[_index])\n // }\n // }\n // else {\n // let rules = this.sheet.cssRules\n // this.sheet.cssRules = [ ...rules.slice(0, index), { cssText: rule }, ...rules.slice(index + 1) ]\n // }\n // }\n delete: function _delete(index) {\n // we insert a blank rule when 'deleting' so previously returned indexes remain stable\n return this.replace(index, '');\n },\n flush: function flush() {\n if (isBrowser) {\n this.tags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.sheet = null;\n this.ctr = 0;\n // todo - look for remnants in document.styleSheets\n } else {\n // simpler on server \n this.sheet.cssRules = [];\n }\n this.injected = false;\n },\n rules: function rules() {\n if (!isBrowser) {\n return this.sheet.cssRules;\n }\n var arr = [];\n this.tags.forEach(function (tag) {\n return arr.splice.apply(arr, [arr.length, 0].concat(_toConsumableArray(Array.from(sheetForTag(tag).cssRules))));\n });\n return arr;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/glamor/lib/sheet.js\n// module id = 73\n// module chunks = 0 1 2 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.processStyleName = undefined;\nexports.createMarkupForStyles = createMarkupForStyles;\n\nvar _camelizeStyleName = require('fbjs/lib/camelizeStyleName');\n\nvar _camelizeStyleName2 = _interopRequireDefault(_camelizeStyleName);\n\nvar _dangerousStyleValue = require('./dangerousStyleValue');\n\nvar _dangerousStyleValue2 = _interopRequireDefault(_dangerousStyleValue);\n\nvar _hyphenateStyleName = require('fbjs/lib/hyphenateStyleName');\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nvar _memoizeStringOnly = require('fbjs/lib/memoizeStringOnly');\n\nvar _memoizeStringOnly2 = _interopRequireDefault(_memoizeStringOnly);\n\nvar _warning = require('fbjs/lib/warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar processStyleName = exports.processStyleName = (0, _memoizeStringOnly2.default)(_hyphenateStyleName2.default); /**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule CSSPropertyOperations\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var warnValidStyle;\n\n (function () {\n // 'msTransform' is correct, but the other prefixes should be capitalized\n var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/;\n\n // style values shouldn't contain a semicolon\n var badStyleValueWithSemicolonPattern = /;\\s*$/;\n\n var warnedStyleNames = {};\n var warnedStyleValues = {};\n var warnedForNaNValue = false;\n\n var warnHyphenatedStyleName = function warnHyphenatedStyleName(name, owner) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, 'Unsupported style property %s. Did you mean %s?%s', name, (0, _camelizeStyleName2.default)(name), checkRenderMessage(owner)) : void 0;\n };\n\n var warnBadVendoredStyleName = function warnBadVendoredStyleName(name, owner) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, 'Unsupported vendor-prefixed style property %s. Did you mean %s?%s', name, name.charAt(0).toUpperCase() + name.slice(1), checkRenderMessage(owner)) : void 0;\n };\n\n var warnStyleValueWithSemicolon = function warnStyleValueWithSemicolon(name, value, owner) {\n if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {\n return;\n }\n\n warnedStyleValues[value] = true;\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, 'Style property values shouldn\\'t contain a semicolon.%s ' + 'Try \"%s: %s\" instead.', checkRenderMessage(owner), name, value.replace(badStyleValueWithSemicolonPattern, '')) : void 0;\n };\n\n var warnStyleValueIsNaN = function warnStyleValueIsNaN(name, value, owner) {\n if (warnedForNaNValue) {\n return;\n }\n\n warnedForNaNValue = true;\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, '`NaN` is an invalid value for the `%s` css style property.%s', name, checkRenderMessage(owner)) : void 0;\n };\n\n var checkRenderMessage = function checkRenderMessage(owner) {\n if (owner) {\n var name = owner.getName();\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n return '';\n };\n\n /**\n * @param {string} name\n * @param {*} value\n * @param {ReactDOMComponent} component\n */\n\n warnValidStyle = function warnValidStyle(name, value, component) {\n //eslint-disable-line no-var\n var owner = void 0;\n if (component) {\n owner = component._currentElement._owner;\n }\n if (name.indexOf('-') > -1) {\n warnHyphenatedStyleName(name, owner);\n } else if (badVendoredStyleNamePattern.test(name)) {\n warnBadVendoredStyleName(name, owner);\n } else if (badStyleValueWithSemicolonPattern.test(value)) {\n warnStyleValueWithSemicolon(name, value, owner);\n }\n\n if (typeof value === 'number' && isNaN(value)) {\n warnStyleValueIsNaN(name, value, owner);\n }\n };\n })();\n}\n\n/**\n * Serializes a mapping of style properties for use as inline styles:\n *\n * > createMarkupForStyles({width: '200px', height: 0})\n * \"width:200px;height:0;\"\n *\n * Undefined values are ignored so that declarative programming is easier.\n * The result should be HTML-escaped before insertion into the DOM.\n *\n * @param {object} styles\n * @param {ReactDOMComponent} component\n * @return {?string}\n */\n\nfunction createMarkupForStyles(styles, component) {\n var serialized = '';\n for (var styleName in styles) {\n var isCustomProp = styleName.indexOf('--') === 0;\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n var styleValue = styles[styleName];\n if (process.env.NODE_ENV !== 'production' && !isCustomProp) {\n warnValidStyle(styleName, styleValue, component);\n }\n if (styleValue != null) {\n if (isCustomProp) {\n serialized += styleName + ':' + styleValue + ';';\n } else {\n serialized += processStyleName(styleName) + ':';\n serialized += (0, _dangerousStyleValue2.default)(styleName, styleValue, component) + ';';\n }\n }\n }\n return serialized || null;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/glamor/lib/CSSPropertyOperations/index.js\n// module id = 74\n// module chunks = 0 1 2 3","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n */\n\n'use strict';\n\nvar camelize = require('./camelize');\n\nvar msPattern = /^-ms-/;\n\n/**\n * Camelcases a hyphenated CSS property name, for example:\n *\n * > camelizeStyleName('background-color')\n * < \"backgroundColor\"\n * > camelizeStyleName('-moz-transition')\n * < \"MozTransition\"\n * > camelizeStyleName('-ms-transition')\n * < \"msTransition\"\n *\n * As Andi Smith suggests\n * (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix\n * is converted to lowercase `ms`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction camelizeStyleName(string) {\n return camelize(string.replace(msPattern, 'ms-'));\n}\n\nmodule.exports = camelizeStyleName;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/camelizeStyleName.js\n// module id = 75\n// module chunks = 0 1 2 3","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n */\n\nvar _hyphenPattern = /-(.)/g;\n\n/**\n * Camelcases a hyphenated string, for example:\n *\n * > camelize('background-color')\n * < \"backgroundColor\"\n *\n * @param {string} string\n * @return {string}\n */\nfunction camelize(string) {\n return string.replace(_hyphenPattern, function (_, character) {\n return character.toUpperCase();\n });\n}\n\nmodule.exports = camelize;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/camelize.js\n// module id = 76\n// module chunks = 0 1 2 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _CSSProperty = require('./CSSProperty');\n\nvar _CSSProperty2 = _interopRequireDefault(_CSSProperty);\n\nvar _warning = require('fbjs/lib/warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule dangerousStyleValue\n */\n\nvar isUnitlessNumber = _CSSProperty2.default.isUnitlessNumber;\nvar styleWarnings = {};\n\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @param {ReactDOMComponent} component\n * @return {string} Normalized style value with dimensions applied.\n */\nfunction dangerousStyleValue(name, value, component) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n if (isEmpty) {\n return '';\n }\n\n var isNonNumeric = isNaN(value);\n if (isNonNumeric || value === 0 || isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name]) {\n return '' + value; // cast to string\n }\n\n if (typeof value === 'string') {\n if (process.env.NODE_ENV !== 'production') {\n // Allow '0' to pass through without warning. 0 is already special and\n // doesn't require units, so we don't need to warn about it.\n if (component && value !== '0') {\n var owner = component._currentElement._owner;\n var ownerName = owner ? owner.getName() : null;\n if (ownerName && !styleWarnings[ownerName]) {\n styleWarnings[ownerName] = {};\n }\n var warned = false;\n if (ownerName) {\n var warnings = styleWarnings[ownerName];\n warned = warnings[name];\n if (!warned) {\n warnings[name] = true;\n }\n }\n if (!warned) {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, 'a `%s` tag (owner: `%s`) was passed a numeric string value ' + 'for CSS property `%s` (value: `%s`) which will be treated ' + 'as a unitless number in a future version of React.', component._currentElement.type, ownerName || 'unknown', name, value) : void 0;\n }\n }\n }\n value = value.trim();\n }\n return value + 'px';\n}\n\nexports.default = dangerousStyleValue;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/glamor/lib/CSSPropertyOperations/dangerousStyleValue.js\n// module id = 77\n// module chunks = 0 1 2 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule CSSProperty\n */\n\n/**\n * CSS properties which accept numbers but are not in units of \"px\".\n */\n\nvar isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridColumn: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n\n/**\n * @param {string} prefix vendor-specific prefix, eg: Webkit\n * @param {string} key style name, eg: transitionDuration\n * @return {string} style name prefixed with `prefix`, properly camelCased, eg:\n * WebkitTransitionDuration\n */\nfunction prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n}\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O'];\n\n// Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an\n// infinite loop, because it iterates over the newly added props too.\nObject.keys(isUnitlessNumber).forEach(function (prop) {\n prefixes.forEach(function (prefix) {\n isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop];\n });\n});\n\n/**\n * Most style properties can be unset by doing .style[prop] = '' but IE8\n * doesn't like doing that with shorthand properties so for the properties that\n * IE8 breaks on, which are listed here, we instead unset each of the\n * individual properties. See http://bugs.jquery.com/ticket/12385.\n * The 4-value 'clock' properties like margin, padding, border-width seem to\n * behave without any problems. Curiously, list-style works too without any\n * special prodding.\n */\nvar shorthandPropertyExpansions = {\n background: {\n backgroundAttachment: true,\n backgroundColor: true,\n backgroundImage: true,\n backgroundPositionX: true,\n backgroundPositionY: true,\n backgroundRepeat: true\n },\n backgroundPosition: {\n backgroundPositionX: true,\n backgroundPositionY: true\n },\n border: {\n borderWidth: true,\n borderStyle: true,\n borderColor: true\n },\n borderBottom: {\n borderBottomWidth: true,\n borderBottomStyle: true,\n borderBottomColor: true\n },\n borderLeft: {\n borderLeftWidth: true,\n borderLeftStyle: true,\n borderLeftColor: true\n },\n borderRight: {\n borderRightWidth: true,\n borderRightStyle: true,\n borderRightColor: true\n },\n borderTop: {\n borderTopWidth: true,\n borderTopStyle: true,\n borderTopColor: true\n },\n font: {\n fontStyle: true,\n fontVariant: true,\n fontWeight: true,\n fontSize: true,\n lineHeight: true,\n fontFamily: true\n },\n outline: {\n outlineWidth: true,\n outlineStyle: true,\n outlineColor: true\n }\n};\n\nvar CSSProperty = {\n isUnitlessNumber: isUnitlessNumber,\n shorthandPropertyExpansions: shorthandPropertyExpansions\n};\n\nexports.default = CSSProperty;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/glamor/lib/CSSPropertyOperations/CSSProperty.js\n// module id = 78\n// module chunks = 0 1 2 3","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n */\n\n'use strict';\n\nvar hyphenate = require('./hyphenate');\n\nvar msPattern = /^ms-/;\n\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, '-ms-');\n}\n\nmodule.exports = hyphenateStyleName;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/hyphenateStyleName.js\n// module id = 79\n// module chunks = 0 1 2 3","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n */\n\nvar _uppercasePattern = /([A-Z])/g;\n\n/**\n * Hyphenates a camelcased string, for example:\n *\n * > hyphenate('backgroundColor')\n * < \"background-color\"\n *\n * For CSS style names, use `hyphenateStyleName` instead which works properly\n * with all vendor prefixes, including `ms`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction hyphenate(string) {\n return string.replace(_uppercasePattern, '-$1').toLowerCase();\n}\n\nmodule.exports = hyphenate;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/hyphenate.js\n// module id = 80\n// module chunks = 0 1 2 3","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n * @typechecks static-only\n */\n\n'use strict';\n\n/**\n * Memoizes the return value of a function that accepts one string argument.\n */\n\nfunction memoizeStringOnly(callback) {\n var cache = {};\n return function (string) {\n if (!cache.hasOwnProperty(string)) {\n cache[string] = callback.call(this, string);\n }\n return cache[string];\n };\n}\n\nmodule.exports = memoizeStringOnly;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/memoizeStringOnly.js\n// module id = 81\n// module chunks = 0 1 2 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = clean;\n// Returns true for null, false, undefined and {}\nfunction isFalsy(value) {\n return value === null || value === undefined || value === false || (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && Object.keys(value).length === 0;\n}\n\nfunction cleanObject(object) {\n if (isFalsy(object)) return null;\n if ((typeof object === 'undefined' ? 'undefined' : _typeof(object)) !== 'object') return object;\n\n var acc = {},\n keys = Object.keys(object),\n hasFalsy = false;\n for (var i = 0; i < keys.length; i++) {\n var value = object[keys[i]];\n var filteredValue = clean(value);\n if (filteredValue === null || filteredValue !== value) {\n hasFalsy = true;\n }\n if (filteredValue !== null) {\n acc[keys[i]] = filteredValue;\n }\n }\n return Object.keys(acc).length === 0 ? null : hasFalsy ? acc : object;\n}\n\nfunction cleanArray(rules) {\n var hasFalsy = false;\n var filtered = [];\n rules.forEach(function (rule) {\n var filteredRule = clean(rule);\n if (filteredRule === null || filteredRule !== rule) {\n hasFalsy = true;\n }\n if (filteredRule !== null) {\n filtered.push(filteredRule);\n }\n });\n return filtered.length == 0 ? null : hasFalsy ? filtered : rules;\n}\n\n// Takes style array or object provided by user and clears all the falsy data \n// If there is no styles left after filtration returns null\nfunction clean(input) {\n return Array.isArray(input) ? cleanArray(input) : cleanObject(input);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/glamor/lib/clean.js\n// module id = 82\n// module chunks = 0 1 2 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.PluginSet = PluginSet;\nexports.fallbacks = fallbacks;\nexports.prefixes = prefixes;\n\nvar _objectAssign = require('object-assign');\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar _CSSPropertyOperations = require('./CSSPropertyOperations');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isDev = function (x) {\n return x === 'development' || !x;\n}(process.env.NODE_ENV);\n\nfunction PluginSet(initial) {\n this.fns = initial || [];\n}\n\n(0, _objectAssign2.default)(PluginSet.prototype, {\n add: function add() {\n var _this = this;\n\n for (var _len = arguments.length, fns = Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n fns.forEach(function (fn) {\n if (_this.fns.indexOf(fn) >= 0) {\n if (isDev) {\n console.warn('adding the same plugin again, ignoring'); //eslint-disable-line no-console\n }\n } else {\n _this.fns = [fn].concat(_this.fns);\n }\n });\n },\n remove: function remove(fn) {\n this.fns = this.fns.filter(function (x) {\n return x !== fn;\n });\n },\n clear: function clear() {\n this.fns = [];\n },\n transform: function transform(o) {\n return this.fns.reduce(function (o, fn) {\n return fn(o);\n }, o);\n }\n});\n\nfunction fallbacks(node) {\n var hasArray = Object.keys(node.style).map(function (x) {\n return Array.isArray(node.style[x]);\n }).indexOf(true) >= 0;\n if (hasArray) {\n var _ret = function () {\n var style = node.style;\n\n var flattened = Object.keys(style).reduce(function (o, key) {\n o[key] = Array.isArray(style[key]) ? style[key].join('; ' + (0, _CSSPropertyOperations.processStyleName)(key) + ': ') : style[key];\n return o;\n }, {});\n // todo - \n // flatten arrays which haven't been flattened yet \n return {\n v: (0, _objectAssign2.default)({}, node, { style: flattened })\n };\n }();\n\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n }\n return node;\n}\n\nvar prefixAll = require('./inline-style-prefix-all/index.js');\n\nfunction prefixes(node) {\n return (0, _objectAssign2.default)({}, node, { style: prefixAll(node.style) });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/glamor/lib/plugins.js\n// module id = 83\n// module chunks = 0 1 2 3","'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n(function (global, factory) {\n (typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.InlineStylePrefixAll = factory();\n})(undefined, function () {\n 'use strict';\n\n var babelHelpers = {};\n\n babelHelpers.classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n };\n\n babelHelpers.createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n babelHelpers.defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n };\n\n babelHelpers;\n\n function __commonjs(fn, module) {\n return module = { exports: {} }, fn(module, module.exports), module.exports;\n }\n\n var prefixProps = { \"Webkit\": { \"transform\": true, \"transformOrigin\": true, \"transformOriginX\": true, \"transformOriginY\": true, \"backfaceVisibility\": true, \"perspective\": true, \"perspectiveOrigin\": true, \"transformStyle\": true, \"transformOriginZ\": true, \"animation\": true, \"animationDelay\": true, \"animationDirection\": true, \"animationFillMode\": true, \"animationDuration\": true, \"animationIterationCount\": true, \"animationName\": true, \"animationPlayState\": true, \"animationTimingFunction\": true, \"appearance\": true, \"userSelect\": true, \"fontKerning\": true, \"textEmphasisPosition\": true, \"textEmphasis\": true, \"textEmphasisStyle\": true, \"textEmphasisColor\": true, \"boxDecorationBreak\": true, \"clipPath\": true, \"maskImage\": true, \"maskMode\": true, \"maskRepeat\": true, \"maskPosition\": true, \"maskClip\": true, \"maskOrigin\": true, \"maskSize\": true, \"maskComposite\": true, \"mask\": true, \"maskBorderSource\": true, \"maskBorderMode\": true, \"maskBorderSlice\": true, \"maskBorderWidth\": true, \"maskBorderOutset\": true, \"maskBorderRepeat\": true, \"maskBorder\": true, \"maskType\": true, \"textDecorationStyle\": true, \"textDecorationSkip\": true, \"textDecorationLine\": true, \"textDecorationColor\": true, \"filter\": true, \"fontFeatureSettings\": true, \"breakAfter\": true, \"breakBefore\": true, \"breakInside\": true, \"columnCount\": true, \"columnFill\": true, \"columnGap\": true, \"columnRule\": true, \"columnRuleColor\": true, \"columnRuleStyle\": true, \"columnRuleWidth\": true, \"columns\": true, \"columnSpan\": true, \"columnWidth\": true, \"flex\": true, \"flexBasis\": true, \"flexDirection\": true, \"flexGrow\": true, \"flexFlow\": true, \"flexShrink\": true, \"flexWrap\": true, \"alignContent\": true, \"alignItems\": true, \"alignSelf\": true, \"justifyContent\": true, \"order\": true, \"backdropFilter\": true, \"scrollSnapType\": true, \"scrollSnapPointsX\": true, \"scrollSnapPointsY\": true, \"scrollSnapDestination\": true, \"scrollSnapCoordinate\": true, \"shapeImageThreshold\": true, \"shapeImageMargin\": true, \"shapeImageOutside\": true, \"hyphens\": true, \"flowInto\": true, \"flowFrom\": true, \"regionFragment\": true, \"textSizeAdjust\": true, \"transition\": true, \"transitionDelay\": true, \"transitionDuration\": true, \"transitionProperty\": true, \"transitionTimingFunction\": true }, \"Moz\": { \"appearance\": true, \"userSelect\": true, \"boxSizing\": true, \"textAlignLast\": true, \"textDecorationStyle\": true, \"textDecorationSkip\": true, \"textDecorationLine\": true, \"textDecorationColor\": true, \"tabSize\": true, \"hyphens\": true, \"fontFeatureSettings\": true, \"breakAfter\": true, \"breakBefore\": true, \"breakInside\": true, \"columnCount\": true, \"columnFill\": true, \"columnGap\": true, \"columnRule\": true, \"columnRuleColor\": true, \"columnRuleStyle\": true, \"columnRuleWidth\": true, \"columns\": true, \"columnSpan\": true, \"columnWidth\": true }, \"ms\": { \"flex\": true, \"flexBasis\": false, \"flexDirection\": true, \"flexGrow\": false, \"flexFlow\": true, \"flexShrink\": false, \"flexWrap\": true, \"alignContent\": false, \"alignItems\": false, \"alignSelf\": false, \"justifyContent\": false, \"order\": false, \"userSelect\": true, \"wrapFlow\": true, \"wrapThrough\": true, \"wrapMargin\": true, \"scrollSnapType\": true, \"scrollSnapPointsX\": true, \"scrollSnapPointsY\": true, \"scrollSnapDestination\": true, \"scrollSnapCoordinate\": true, \"touchAction\": true, \"hyphens\": true, \"flowInto\": true, \"flowFrom\": true, \"breakBefore\": true, \"breakAfter\": true, \"breakInside\": true, \"regionFragment\": true, \"gridTemplateColumns\": true, \"gridTemplateRows\": true, \"gridTemplateAreas\": true, \"gridTemplate\": true, \"gridAutoColumns\": true, \"gridAutoRows\": true, \"gridAutoFlow\": true, \"grid\": true, \"gridRowStart\": true, \"gridColumnStart\": true, \"gridRowEnd\": true, \"gridRow\": true, \"gridColumn\": true, \"gridColumnEnd\": true, \"gridColumnGap\": true, \"gridRowGap\": true, \"gridArea\": true, \"gridGap\": true, \"textSizeAdjust\": true } };\n\n // helper to capitalize strings\n var capitalizeString = function capitalizeString(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n };\n\n var isPrefixedProperty = function isPrefixedProperty(property) {\n return property.match(/^(Webkit|Moz|O|ms)/) !== null;\n };\n\n function sortPrefixedStyle(style) {\n return Object.keys(style).sort(function (left, right) {\n if (isPrefixedProperty(left) && !isPrefixedProperty(right)) {\n return -1;\n } else if (!isPrefixedProperty(left) && isPrefixedProperty(right)) {\n return 1;\n }\n return 0;\n }).reduce(function (sortedStyle, prop) {\n sortedStyle[prop] = style[prop];\n return sortedStyle;\n }, {});\n }\n\n function position(property, value) {\n if (property === 'position' && value === 'sticky') {\n return { position: ['-webkit-sticky', 'sticky'] };\n }\n }\n\n // returns a style object with a single concated prefixed value string\n var joinPrefixedValue = function joinPrefixedValue(property, value) {\n var replacer = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (prefix, value) {\n return prefix + value;\n };\n return babelHelpers.defineProperty({}, property, ['-webkit-', '-moz-', ''].map(function (prefix) {\n return replacer(prefix, value);\n }));\n };\n\n var isPrefixedValue = function isPrefixedValue(value) {\n if (Array.isArray(value)) value = value.join(',');\n\n return value.match(/-webkit-|-moz-|-ms-/) !== null;\n };\n\n function calc(property, value) {\n if (typeof value === 'string' && !isPrefixedValue(value) && value.indexOf('calc(') > -1) {\n return joinPrefixedValue(property, value, function (prefix, value) {\n return value.replace(/calc\\(/g, prefix + 'calc(');\n });\n }\n }\n\n var values = {\n 'zoom-in': true,\n 'zoom-out': true,\n grab: true,\n grabbing: true\n };\n\n function cursor(property, value) {\n if (property === 'cursor' && values[value]) {\n return joinPrefixedValue(property, value);\n }\n }\n\n var values$1 = { flex: true, 'inline-flex': true };\n\n function flex(property, value) {\n if (property === 'display' && values$1[value]) {\n return {\n display: ['-webkit-box', '-moz-box', '-ms-' + value + 'box', '-webkit-' + value, value]\n };\n }\n }\n\n var properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n };\n var values$2 = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n };\n\n function sizing(property, value) {\n if (properties[property] && values$2[value]) {\n return joinPrefixedValue(property, value);\n }\n }\n\n var values$3 = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/;\n\n function gradient(property, value) {\n if (typeof value === 'string' && !isPrefixedValue(value) && value.match(values$3) !== null) {\n return joinPrefixedValue(property, value);\n }\n }\n\n var index = __commonjs(function (module) {\n 'use strict';\n\n var uppercasePattern = /[A-Z]/g;\n var msPattern = /^ms-/;\n var cache = {};\n\n function hyphenateStyleName(string) {\n return string in cache ? cache[string] : cache[string] = string.replace(uppercasePattern, '-$&').toLowerCase().replace(msPattern, '-ms-');\n }\n\n module.exports = hyphenateStyleName;\n });\n\n var hyphenateStyleName = index && (typeof index === 'undefined' ? 'undefined' : _typeof(index)) === 'object' && 'default' in index ? index['default'] : index;\n\n var properties$1 = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true\n };\n\n function transition(property, value) {\n // also check for already prefixed transitions\n if (typeof value === 'string' && properties$1[property]) {\n var _ref2;\n\n var outputValue = prefixValue(value);\n var webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (value) {\n return value.match(/-moz-|-ms-/) === null;\n }).join(',');\n\n // if the property is already prefixed\n if (property.indexOf('Webkit') > -1) {\n return babelHelpers.defineProperty({}, property, webkitOutput);\n }\n\n return _ref2 = {}, babelHelpers.defineProperty(_ref2, 'Webkit' + capitalizeString(property), webkitOutput), babelHelpers.defineProperty(_ref2, property, outputValue), _ref2;\n }\n }\n\n function prefixValue(value) {\n if (isPrefixedValue(value)) {\n return value;\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n // iterate each single value and check for transitioned properties\n // that need to be prefixed as well\n multipleValues.forEach(function (val, index) {\n multipleValues[index] = Object.keys(prefixProps).reduce(function (out, prefix) {\n var dashCasePrefix = '-' + prefix.toLowerCase() + '-';\n\n Object.keys(prefixProps[prefix]).forEach(function (prop) {\n var dashCaseProperty = hyphenateStyleName(prop);\n\n if (val.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') {\n // join all prefixes and create a new value\n out = val.replace(dashCaseProperty, dashCasePrefix + dashCaseProperty) + ',' + out;\n }\n });\n return out;\n }, val);\n });\n\n return multipleValues.join(',');\n }\n\n var alternativeValues = {\n 'space-around': 'distribute',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end'\n };\n var alternativeProps = {\n alignContent: 'msFlexLinePack',\n alignSelf: 'msFlexItemAlign',\n alignItems: 'msFlexAlign',\n justifyContent: 'msFlexPack',\n order: 'msFlexOrder',\n flexGrow: 'msFlexPositive',\n flexShrink: 'msFlexNegative',\n flexBasis: 'msPreferredSize'\n };\n\n function flexboxIE(property, value) {\n if (alternativeProps[property]) {\n return babelHelpers.defineProperty({}, alternativeProps[property], alternativeValues[value] || value);\n }\n }\n\n var alternativeValues$1 = {\n 'space-around': 'justify',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n 'wrap-reverse': 'multiple',\n wrap: 'multiple'\n };\n\n var alternativeProps$1 = {\n alignItems: 'WebkitBoxAlign',\n justifyContent: 'WebkitBoxPack',\n flexWrap: 'WebkitBoxLines'\n };\n\n function flexboxOld(property, value) {\n if (property === 'flexDirection' && typeof value === 'string') {\n return {\n WebkitBoxOrient: value.indexOf('column') > -1 ? 'vertical' : 'horizontal',\n WebkitBoxDirection: value.indexOf('reverse') > -1 ? 'reverse' : 'normal'\n };\n }\n if (alternativeProps$1[property]) {\n return babelHelpers.defineProperty({}, alternativeProps$1[property], alternativeValues$1[value] || value);\n }\n }\n\n var plugins = [position, calc, cursor, sizing, gradient, transition, flexboxIE, flexboxOld, flex];\n\n /**\n * Returns a prefixed version of the style object using all vendor prefixes\n * @param {Object} styles - Style object that gets prefixed properties added\n * @returns {Object} - Style object with prefixed properties and values\n */\n function prefixAll(styles) {\n Object.keys(styles).forEach(function (property) {\n var value = styles[property];\n if (value instanceof Object && !Array.isArray(value)) {\n // recurse through nested style objects\n styles[property] = prefixAll(value);\n } else {\n Object.keys(prefixProps).forEach(function (prefix) {\n var properties = prefixProps[prefix];\n // add prefixes if needed\n if (properties[property]) {\n styles[prefix + capitalizeString(property)] = value;\n }\n });\n }\n });\n\n Object.keys(styles).forEach(function (property) {\n [].concat(styles[property]).forEach(function (value, index) {\n // resolve every special plugins\n plugins.forEach(function (plugin) {\n return assignStyles(styles, plugin(property, value));\n });\n });\n });\n\n return sortPrefixedStyle(styles);\n }\n\n function assignStyles(base) {\n var extend = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n Object.keys(extend).forEach(function (property) {\n var baseValue = base[property];\n if (Array.isArray(baseValue)) {\n [].concat(extend[property]).forEach(function (value) {\n var valueIndex = baseValue.indexOf(value);\n if (valueIndex > -1) {\n base[property].splice(valueIndex, 1);\n }\n base[property].push(value);\n });\n } else {\n base[property] = extend[property];\n }\n });\n }\n\n return prefixAll;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/glamor/lib/inline-style-prefix-all/index.js\n// module id = 84\n// module chunks = 0 1 2 3","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = doHash;\n// murmurhash2 via https://gist.github.com/raycmorgan/588423\n\nfunction doHash(str, seed) {\n var m = 0x5bd1e995;\n var r = 24;\n var h = seed ^ str.length;\n var length = str.length;\n var currentIndex = 0;\n\n while (length >= 4) {\n var k = UInt32(str, currentIndex);\n\n k = Umul32(k, m);\n k ^= k >>> r;\n k = Umul32(k, m);\n\n h = Umul32(h, m);\n h ^= k;\n\n currentIndex += 4;\n length -= 4;\n }\n\n switch (length) {\n case 3:\n h ^= UInt16(str, currentIndex);\n h ^= str.charCodeAt(currentIndex + 2) << 16;\n h = Umul32(h, m);\n break;\n\n case 2:\n h ^= UInt16(str, currentIndex);\n h = Umul32(h, m);\n break;\n\n case 1:\n h ^= str.charCodeAt(currentIndex);\n h = Umul32(h, m);\n break;\n }\n\n h ^= h >>> 13;\n h = Umul32(h, m);\n h ^= h >>> 15;\n\n return h >>> 0;\n}\n\nfunction UInt32(str, pos) {\n return str.charCodeAt(pos++) + (str.charCodeAt(pos++) << 8) + (str.charCodeAt(pos++) << 16) + (str.charCodeAt(pos) << 24);\n}\n\nfunction UInt16(str, pos) {\n return str.charCodeAt(pos++) + (str.charCodeAt(pos++) << 8);\n}\n\nfunction Umul32(n, m) {\n n = n | 0;\n m = m | 0;\n var nlo = n & 0xffff;\n var nhi = n >>> 16;\n var res = nlo * m + ((nhi * m & 0xffff) << 16) | 0;\n return res;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/glamor/lib/hash.js\n// module id = 85\n// module chunks = 0 1 2 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n// this will be an object of properties that map to their corresponding rtl property (their doppelganger)\nvar propertiesToConvert = arrayToObject([['paddingLeft', 'paddingRight'], ['marginLeft', 'marginRight'], ['left', 'right'], ['borderLeft', 'borderRight'], ['borderLeftColor', 'borderRightColor'], ['borderLeftStyle', 'borderRightStyle'], ['borderTopLeftRadius', 'borderTopRightRadius'], ['borderBottomLeftRadius', 'borderBottomRightRadius']]);\n\n// this is the same as the propertiesToConvert except for values\nvar valuesToConvert = arrayToObject([['ltr', 'rtl'], ['left', 'right'], ['w-resize', 'e-resize'], ['sw-resize', 'se-resize'], ['nw-resize', 'ne-resize']]);\n\n// some values require a little fudging, that fudging goes here.\nvar propertyValueConverters = {\n padding: function padding(value) {\n if (isNumber(value)) {\n return value;\n }\n return handleQuartetValues(value);\n },\n textShadow: function textShadow(value) {\n // intentionally leaving off the `g` flag here because we only want to change the first number (which is the offset-x)\n return value.replace(/(-*)([.|\\d]+)/, function (match, negative, number) {\n if (number === '0') {\n return match;\n }\n var doubleNegative = negative === '' ? '-' : '';\n return '' + doubleNegative + number;\n });\n },\n borderColor: function borderColor(value) {\n return handleQuartetValues(value);\n },\n borderRadius: function borderRadius(value) {\n if (isNumber(value)) {\n return value;\n }\n if (includes(value, '/')) {\n var _value$split = value.split('/'),\n _value$split2 = _slicedToArray(_value$split, 2),\n radius1 = _value$split2[0],\n radius2 = _value$split2[1];\n\n var convertedRadius1 = propertyValueConverters.borderRadius(radius1.trim());\n var convertedRadius2 = propertyValueConverters.borderRadius(radius2.trim());\n return convertedRadius1 + ' / ' + convertedRadius2;\n }\n var splitValues = getValuesAsList(value);\n switch (splitValues.length) {\n case 2:\n {\n return splitValues.reverse().join(' ');\n }\n case 4:\n {\n var _splitValues = _slicedToArray(splitValues, 4),\n topLeft = _splitValues[0],\n topRight = _splitValues[1],\n bottomRight = _splitValues[2],\n bottomLeft = _splitValues[3];\n\n return [topRight, topLeft, bottomLeft, bottomRight].join(' ');\n }\n default:\n {\n return value;\n }\n }\n },\n background: function background(value) {\n // Yeah, this is in need of a refactor 🙃...\n // but this property is a tough cookie 🍪\n // get the backgroundPosition out of the string by removing everything that couldn't be the backgroundPosition value\n var backgroundPositionValue = value.replace(/(url\\(.*?\\))|(rgba?\\(.*?\\))|(hsl\\(.*?\\))|(#[a-fA-F0-9]+)|((^| )(\\D)+( |$))/g, '').trim();\n // replace that backgroundPosition value with the converted version\n value = value.replace(backgroundPositionValue, propertyValueConverters.backgroundPosition(backgroundPositionValue));\n // do the backgroundImage value replacing on the whole value (because why not?)\n return propertyValueConverters.backgroundImage(value);\n },\n backgroundImage: function backgroundImage(value) {\n if (!includes(value, 'url(')) {\n return value;\n }\n // sorry for the regex 😞, but basically this replaces _every_ instance of `ltr`, `rtl`, `right`, and `left` with\n // the corresponding opposite. A situation we're accepting here:\n // url('/left/right/rtl/ltr.png') will be changed to url('/right/left/ltr/rtl.png')\n // Definite trade-offs here, but I think it's a good call.\n return value.replace(/(^|\\W|_)((ltr)|(rtl)|(left)|(right))(\\W|_|$)/g, function (match, g1, group2) {\n return match.replace(group2, valuesToConvert[group2]);\n });\n },\n backgroundPosition: function backgroundPosition(value) {\n return value\n // intentionally only grabbing the first instance of this because that represents `left`\n .replace(/^((-|\\d|\\.)+%)/, function (match, group) {\n return calculateNewBackgroundPosition(group);\n }).replace(/(left)|(right)/, function (match) {\n return valuesToConvert[match];\n });\n },\n backgroundPositionX: function backgroundPositionX(value) {\n if (isNumber(value)) {\n return value;\n }\n return propertyValueConverters.backgroundPosition(value);\n }\n};\npropertyValueConverters.margin = propertyValueConverters.padding;\npropertyValueConverters.borderWidth = propertyValueConverters.padding;\npropertyValueConverters.boxShadow = propertyValueConverters.textShadow;\npropertyValueConverters.webkitBoxShadow = propertyValueConverters.textShadow;\npropertyValueConverters.mozBoxShadow = propertyValueConverters.textShadow;\npropertyValueConverters.borderStyle = propertyValueConverters.borderColor;\n\n// here's our main export! 👋\nexports.default = convert;\n\n/**\n * converts properties and values in the CSS in JS object to their corresponding RTL values\n * @param {Object} object the CSS in JS object\n * @return {Object} the RTL converted object\n */\n\nfunction convert(object) {\n return Object.keys(object).reduce(function (newObj, originalKey) {\n var originalValue = object[originalKey];\n if (isString(originalValue)) {\n // you're welcome to later code 😺\n originalValue = originalValue.trim();\n }\n\n var _convertProperty = convertProperty(originalKey, originalValue),\n key = _convertProperty.key,\n value = _convertProperty.value;\n\n newObj[key] = value;\n return newObj;\n }, {});\n}\n\n/**\n * Converts a property and its value to the corresponding RTL key and value\n * @param {String} originalKey the original property key\n * @param {Number|String|Object} originalValue the original css property value\n * @return {Object} the new {key, value} pair\n */\nfunction convertProperty(originalKey, originalValue) {\n var isNoFlip = /\\/\\*\\s?@noflip\\s?\\*\\//.test(originalValue);\n var key = isNoFlip ? originalKey : getPropertyDoppelganger(originalKey);\n var value = isNoFlip ? originalValue : getValueDoppelganger(key, originalValue);\n return { key: key, value: value };\n}\n\n/**\n * This gets the RTL version of the given property if it has a corresponding RTL property\n * @param {String} property the name of the property\n * @return {String} the name of the RTL property\n */\nfunction getPropertyDoppelganger(property) {\n return propertiesToConvert[property] || property;\n}\n\n/**\n * This converts the given value to the RTL version of that value based on the key\n * @param {String} key this is the key (note: this should be the RTL version of the originalKey)\n * @param {String|Number|Object} originalValue the original css property value. If it's an object, then we'll convert that as well\n * @return {String|Number|Object} the converted value\n */\nfunction getValueDoppelganger(key, originalValue) {\n /* eslint complexity:[2, 7] */ // let's try to keep the complexity down... If we have to do this much more, let's break this up\n if (isObject(originalValue)) {\n return convert(originalValue); // recurssion 🌀\n }\n var isNum = isNumber(originalValue);\n var importantlessValue = isNum ? originalValue : originalValue.replace(/ !important.*?$/, '');\n var isImportant = !isNum && importantlessValue.length !== originalValue.length;\n var valueConverter = propertyValueConverters[key];\n var newValue = void 0;\n if (valueConverter) {\n newValue = valueConverter(importantlessValue);\n } else {\n newValue = valuesToConvert[importantlessValue] || importantlessValue;\n }\n if (isImportant) {\n return newValue + ' !important';\n }\n return newValue;\n}\n\n/**\n * This takes a list of CSS values and converts it to an array\n * @param {String} value - something like `1px`, `1px 2em`, or `3pt rgb(150, 230, 550) 40px calc(100% - 5px)`\n * @return {Array} the split values (for example: `['3pt', 'rgb(150, 230, 550)', '40px', 'calc(100% - 5px)']`)\n */\nfunction getValuesAsList(value) {\n return value.replace(/ +/g, ' ') // remove all extraneous spaces\n .split(' ').map(function (i) {\n return i.trim();\n }) // get rid of extra space before/after each item\n .filter(Boolean) // get rid of empty strings\n // join items which are within parenthese\n // luckily `calc (100% - 5px)` is invalid syntax and it must be `calc(100% - 5px)`, otherwise this would be even more complex\n .reduce(function (_ref, item) {\n var list = _ref.list,\n state = _ref.state;\n\n var openParansCount = (item.match(/\\(/g) || []).length;\n var closedParansCount = (item.match(/\\)/g) || []).length;\n if (state.parensDepth > 0) {\n list[list.length - 1] = list[list.length - 1] + ' ' + item;\n } else {\n list.push(item);\n }\n state.parensDepth += openParansCount - closedParansCount;\n return { list: list, state: state };\n }, { list: [], state: { parensDepth: 0 } }).list;\n}\n\n/**\n * This is intended for properties that are `top right bottom left` and will switch them to `top left bottom right`\n * @param {String} value - `1px 2px 3px 4px` for example, but also handles cases where there are too few/too many and\n * simply returns the value in those cases (which is the correct behavior)\n * @return {String} the result - `1px 4px 3px 2px` for example.\n */\nfunction handleQuartetValues(value) {\n var splitValues = getValuesAsList(value);\n if (splitValues.length <= 3 || splitValues.length > 4) {\n return value;\n }\n\n var _splitValues2 = _slicedToArray(splitValues, 4),\n top = _splitValues2[0],\n right = _splitValues2[1],\n bottom = _splitValues2[2],\n left = _splitValues2[3];\n\n return [top, left, bottom, right].join(' ');\n}\n\n/**\n * Takes a percentage for background position and inverts it.\n * This was copied and modified from CSSJanus:\n * https://github.com/cssjanus/cssjanus/blob/4245f834365f6cfb0239191a151432fb85abab23/src/cssjanus.js#L152-L175\n * @param {String} value - the original value (for example 77%)\n * @return {String} the result (for example 23%)\n */\nfunction calculateNewBackgroundPosition(value) {\n var idx = value.indexOf('.');\n if (idx === -1) {\n value = 100 - parseFloat(value) + '%';\n } else {\n // Two off, one for the \"%\" at the end, one for the dot itself\n var len = value.length - idx - 2;\n value = 100 - parseFloat(value);\n value = value.toFixed(len) + '%';\n }\n return value;\n}\n\n/**\n * Takes an array of [keyValue1, keyValue2] pairs and creates an object of {keyValue1: keyValue2, keyValue2: keyValue1}\n * @param {Array} array the array of pairs\n * @return {Object} the {key, value} pair object\n */\nfunction arrayToObject(array) {\n return array.reduce(function (obj, _ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n prop1 = _ref3[0],\n prop2 = _ref3[1];\n\n obj[prop1] = prop2;\n obj[prop2] = prop1;\n return obj;\n }, {});\n}\n\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\nfunction isObject(val) {\n return (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object';\n}\n\nfunction isString(val) {\n return typeof val === 'string';\n}\n\nfunction includes(inclusive, inclusee) {\n return inclusive.indexOf(inclusee) !== -1;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rtl-css-js/dist/index.js\n// module id = 86\n// module chunks = 0 1 2 3","export {\r\n AnimationClassNames\r\n} from './AnimationClassNames';\r\nexport {\r\n FontClassNames\r\n} from './FontClassNames';\r\nexport {\r\n IconClassNames\r\n} from './IconClassNames';\r\nexport {\r\n ColorClassNames\r\n} from './ColorClassNames';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../src/classNames/index.ts","import { buildClassMap } from '../utilities/index';\r\nimport { AnimationStyles } from '../styles/index';\r\nimport { IAnimationStyles } from '../interfaces/index';\r\n\r\nexport const AnimationClassNames: {[key in keyof IAnimationStyles]?: string } = buildClassMap(AnimationStyles);\r\n\n\n\n// WEBPACK FOOTER //\n// ../../src/classNames/AnimationClassNames.ts","export {\r\n ITheme,\r\n getTheme,\r\n loadTheme\r\n} from './theme';\r\nexport {\r\n mergeStyles\r\n} from './mergeStyles';\r\nexport {\r\n mergeStyleSets\r\n} from './mergeStyleSets';\r\nexport {\r\n buildClassMap\r\n} from './buildClassMap';\n\n\n// WEBPACK FOOTER //\n// ../../src/utilities/index.ts","import * as assign from 'object-assign';\r\nimport {\r\n IPalette,\r\n IFontStyles,\r\n ISemanticColors\r\n} from '../interfaces/index';\r\nimport {\r\n DefaultPalette,\r\n DefaultFontStyles\r\n} from '../styles/index';\r\n\r\nexport interface ITheme {\r\n palette: IPalette;\r\n fonts: IFontStyles;\r\n semanticColors: ISemanticColors;\r\n}\r\n\r\nconst _theme: ITheme = {\r\n palette: DefaultPalette,\r\n semanticColors: _makeSemanticColorsFromPalette(DefaultPalette),\r\n fonts: DefaultFontStyles\r\n};\r\n\r\n/**\r\n * Gets the theme object.\r\n */\r\nexport function getTheme(): ITheme {\r\n return _theme;\r\n}\r\n\r\n/**\r\n * Mixes the given theme settings into the current theme object.\r\n */\r\nexport function loadTheme(theme: ITheme): void {\r\n _theme.palette = assign({}, _theme.palette, theme.palette);\r\n _theme.semanticColors = assign({}, _makeSemanticColorsFromPalette(_theme.palette), theme.semanticColors);\r\n _theme.fonts = assign({}, _theme.fonts, theme.fonts);\r\n}\r\n\r\n// Generates all the semantic slot colors based on the Fabric palette.\r\n// We'll use these as fallbacks for semantic slots that the passed in theme did not define.\r\nfunction _makeSemanticColorsFromPalette(p: IPalette): ISemanticColors {\r\n return {\r\n bodyBackground: p.white,\r\n bodyText: p.neutralPrimary,\r\n bodySubtext: p.neutralSecondary,\r\n\r\n disabledBackground: p.neutralLighter,\r\n disabledText: p.neutralTertiaryAlt,\r\n disabledSubtext: p.neutralQuaternary,\r\n\r\n focusBorder: p.black,\r\n\r\n // errorBackground: todo,\r\n errorText: p.redDark,\r\n\r\n inputBorder: p.neutralTertiary,\r\n inputBorderHovered: p.neutralPrimary,\r\n inputBackgroundSelected: p.themePrimary,\r\n inputBackgroundSelectedHovered: p.themeDarkAlt,\r\n inputForegroundSelected: p.white\r\n };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../src/utilities/theme.ts","export { AnimationStyles } from './AnimationStyles';\r\nexport { DefaultPalette } from './DefaultPalette';\r\nexport { DefaultFontStyles, FontSizes, FontWeights } from './DefaultFontStyles';\r\nexport { IconCodes } from './IconCodes';\r\nexport { getFocusStyle } from './getFocusStyle';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../src/styles/index.ts","import { IAnimationStyles } from '../interfaces/index';\r\nimport { IRawStyle } from '../interfaces/index';\r\nimport { keyframes } from '../glamorExports';\r\n\r\n/* Register the keyframes */\r\n\r\nconst EASING_FUNCTION_1 = 'cubic-bezier(.1,.9,.2,1)';\r\nconst EASING_FUNCTION_2 = 'cubic-bezier(.1,.25,.75,.9)';\r\nconst DURATION_1 = '0.167s';\r\nconst DURATION_2 = '0.267s';\r\nconst DURATION_3 = '0.367s';\r\nconst DURATION_4 = '0.467s';\r\n\r\nconst FADE_IN: string = keyframes({\r\n from: { opacity: 0 },\r\n to: { opacity: 1 }\r\n});\r\n\r\nconst FADE_OUT: string = keyframes({\r\n from: { opacity: 1 },\r\n to: { opacity: 0 }\r\n});\r\n\r\nconst SLIDE_RIGHT_IN10: string = _createSlideInX(-10);\r\nconst SLIDE_RIGHT_IN20: string = _createSlideInX(-20);\r\nconst SLIDE_RIGHT_IN40: string = _createSlideInX(-40);\r\nconst SLIDE_RIGHT_IN400: string = _createSlideInX(-400);\r\nconst SLIDE_LEFT_IN10: string = _createSlideInX(10);\r\nconst SLIDE_LEFT_IN20: string = _createSlideInX(20);\r\nconst SLIDE_LEFT_IN40: string = _createSlideInX(40);\r\nconst SLIDE_LEFT_IN400: string = _createSlideInX(400);\r\nconst SLIDE_UP_IN10: string = _createSlideInY(10);\r\nconst SLIDE_UP_IN20: string = _createSlideInY(20);\r\nconst SLIDE_DOWN_IN10: string = _createSlideInY(-10);\r\nconst SLIDE_DOWN_IN20: string = _createSlideInY(-20);\r\n\r\nconst SLIDE_RIGHT_OUT10: string = _createSlideOutX(10);\r\nconst SLIDE_RIGHT_OUT20: string = _createSlideOutX(20);\r\nconst SLIDE_RIGHT_OUT40: string = _createSlideOutX(40);\r\nconst SLIDE_RIGHT_OUT400: string = _createSlideOutX(400);\r\nconst SLIDE_LEFT_OUT10: string = _createSlideOutX(-10);\r\nconst SLIDE_LEFT_OUT20: string = _createSlideOutX(-20);\r\nconst SLIDE_LEFT_OUT40: string = _createSlideOutX(-40);\r\nconst SLIDE_LEFT_OUT400: string = _createSlideOutX(-400);\r\nconst SLIDE_UP_OUT10: string = _createSlideOutY(-10);\r\nconst SLIDE_UP_OUT20: string = _createSlideOutY(-20);\r\nconst SLIDE_DOWN_OUT10: string = _createSlideOutY(10);\r\nconst SLIDE_DOWN_OUT20: string = _createSlideOutY(20);\r\n\r\nconst SCALE_UP100: string = keyframes({\r\n from: { transform: 'scale3d(.98,.98,1)' },\r\n to: { transform: 'scale3d(1,1,1)' }\r\n});\r\n\r\nconst SCALE_DOWN98: string = keyframes({\r\n from: { transform: 'scale3d(1,1,1)' },\r\n 'top': { transform: 'scale3d(.98,.98,1)' },\r\n});\r\n\r\nconst SCALE_DOWN100: string = keyframes({\r\n from: { transform: 'scale3d(1.03,1.03,1)' },\r\n to: { transform: 'scale3d(1,1,1)' }\r\n});\r\n\r\nconst SCALE_UP103: string = keyframes({\r\n from: { transform: 'scale3d(1,1,1)' },\r\n to: { transform: 'scale3d(1.03,1.03,1)' }\r\n});\r\n\r\nconst ROTATE90: string = keyframes({\r\n from: { transform: 'rotateZ(0deg)' },\r\n to: { transform: 'rotateZ(90deg)' }\r\n});\r\n\r\nconst ROTATE_N90: string = keyframes({\r\n from: { transform: 'rotateZ(0deg)' },\r\n to: { transform: 'rotateZ(-90deg)' }\r\n});\r\n\r\n/**\r\n * All Fabric standard animations, exposed as json objects referencing predefined\r\n * keyframes. These objects can be mixed in with other class definitions.\r\n */\r\nexport const AnimationStyles: IAnimationStyles = {\r\n slideRightIn10: _createAnimation(`${FADE_IN},${SLIDE_RIGHT_IN10}`, DURATION_3, EASING_FUNCTION_1),\r\n slideRightIn20: _createAnimation(`${FADE_IN},${SLIDE_RIGHT_IN20}`, DURATION_3, EASING_FUNCTION_1),\r\n slideRightIn40: _createAnimation(`${FADE_IN},${SLIDE_RIGHT_IN40}`, DURATION_3, EASING_FUNCTION_1),\r\n slideRightIn400: _createAnimation(`${FADE_IN},${SLIDE_RIGHT_IN400}`, DURATION_3, EASING_FUNCTION_1),\r\n slideLeftIn10: _createAnimation(`${FADE_IN},${SLIDE_LEFT_IN10}`, DURATION_3, EASING_FUNCTION_1),\r\n slideLeftIn20: _createAnimation(`${FADE_IN},${SLIDE_LEFT_IN20}`, DURATION_3, EASING_FUNCTION_1),\r\n slideLeftIn40: _createAnimation(`${FADE_IN},${SLIDE_LEFT_IN40}`, DURATION_3, EASING_FUNCTION_1),\r\n slideLeftIn400: _createAnimation(`${FADE_IN},${SLIDE_LEFT_IN400}`, DURATION_3, EASING_FUNCTION_1),\r\n slideUpIn10: _createAnimation(`${FADE_IN},${SLIDE_UP_IN10}`, DURATION_3, EASING_FUNCTION_1),\r\n slideUpIn20: _createAnimation(`${FADE_IN},${SLIDE_UP_IN20}`, DURATION_3, EASING_FUNCTION_1),\r\n slideDownIn10: _createAnimation(`${FADE_IN},${SLIDE_DOWN_IN10}`, DURATION_3, EASING_FUNCTION_1),\r\n slideDownIn20: _createAnimation(`${FADE_IN},${SLIDE_DOWN_IN20}`, DURATION_3, EASING_FUNCTION_1),\r\n\r\n slideRightOut10: _createAnimation(`${FADE_OUT},${SLIDE_RIGHT_OUT10}`, DURATION_3, EASING_FUNCTION_1),\r\n slideRightOut20: _createAnimation(`${FADE_OUT},${SLIDE_RIGHT_OUT20}`, DURATION_3, EASING_FUNCTION_1),\r\n slideRightOut40: _createAnimation(`${FADE_OUT},${SLIDE_RIGHT_OUT40}`, DURATION_3, EASING_FUNCTION_1),\r\n slideRightOut400: _createAnimation(`${FADE_OUT},${SLIDE_RIGHT_OUT400}`, DURATION_3, EASING_FUNCTION_1),\r\n slideLeftOut10: _createAnimation(`${FADE_OUT},${SLIDE_LEFT_OUT10}`, DURATION_3, EASING_FUNCTION_1),\r\n slideLeftOut20: _createAnimation(`${FADE_OUT},${SLIDE_LEFT_OUT20}`, DURATION_3, EASING_FUNCTION_1),\r\n slideLeftOut40: _createAnimation(`${FADE_OUT},${SLIDE_LEFT_OUT40}`, DURATION_3, EASING_FUNCTION_1),\r\n slideLeftOut400: _createAnimation(`${FADE_OUT},${SLIDE_LEFT_OUT400}`, DURATION_3, EASING_FUNCTION_1),\r\n slideUpOut10: _createAnimation(`${FADE_OUT},${SLIDE_UP_OUT10}`, DURATION_3, EASING_FUNCTION_1),\r\n slideUpOut20: _createAnimation(`${FADE_OUT},${SLIDE_UP_OUT20}`, DURATION_3, EASING_FUNCTION_1),\r\n slideDownOut10: _createAnimation(`${FADE_OUT},${SLIDE_DOWN_OUT10}`, DURATION_3, EASING_FUNCTION_1),\r\n slideDownOut20: _createAnimation(`${FADE_OUT},${SLIDE_DOWN_OUT20}`, DURATION_3, EASING_FUNCTION_1),\r\n\r\n scaleUpIn100: _createAnimation(`${FADE_IN},${SCALE_UP100}`, DURATION_3, EASING_FUNCTION_1),\r\n scaleDownIn100: _createAnimation(`${FADE_IN},${SCALE_DOWN100}`, DURATION_3, EASING_FUNCTION_1),\r\n scaleUpOut103: _createAnimation(`${FADE_OUT},${SCALE_UP103}`, DURATION_1, EASING_FUNCTION_2),\r\n scaleDownOut98: _createAnimation(`${FADE_OUT},${SCALE_DOWN98}`, DURATION_1, EASING_FUNCTION_2),\r\n\r\n fadeIn100: _createAnimation(FADE_IN, DURATION_1, EASING_FUNCTION_2),\r\n fadeIn200: _createAnimation(FADE_IN, DURATION_2, EASING_FUNCTION_2),\r\n fadeIn400: _createAnimation(FADE_IN, DURATION_3, EASING_FUNCTION_2),\r\n fadeIn500: _createAnimation(FADE_IN, DURATION_4, EASING_FUNCTION_2),\r\n\r\n fadeOut100: _createAnimation(FADE_OUT, DURATION_1, EASING_FUNCTION_2),\r\n fadeOut200: _createAnimation(FADE_OUT, DURATION_2, EASING_FUNCTION_2),\r\n fadeOut400: _createAnimation(FADE_OUT, DURATION_3, EASING_FUNCTION_2),\r\n fadeOut500: _createAnimation(FADE_OUT, DURATION_4, EASING_FUNCTION_2),\r\n rotate90deg: _createAnimation(ROTATE90, '0.1s', EASING_FUNCTION_2),\r\n rotateN90deg: _createAnimation(ROTATE_N90, '0.1s', EASING_FUNCTION_2)\r\n\r\n // expandCollapse 100/200/400, delay 100/200\r\n};\r\n\r\nfunction _createAnimation(\r\n animationName: string,\r\n animationDuration: string,\r\n animationTimingFunction: string\r\n): IRawStyle {\r\n return {\r\n animationName,\r\n animationDuration,\r\n animationTimingFunction,\r\n animationFillMode: 'both'\r\n };\r\n}\r\n\r\nfunction _createSlideInX(fromX: number): string {\r\n return keyframes({\r\n from: { transform: `translate3d(${fromX}px,0,0)` },\r\n to: { transform: `translate3d(0,0,0)` }\r\n });\r\n}\r\n\r\nfunction _createSlideInY(fromY: number): string {\r\n return keyframes({\r\n from: { transform: `translate3d(0,${fromY}px,0)` },\r\n to: { transform: `translate3d(0,0,0)` }\r\n });\r\n}\r\n\r\nfunction _createSlideOutX(toX: number): string {\r\n return keyframes({\r\n from: { transform: `translate3d(0,0,0)` },\r\n to: { transform: `translate3d(${toX}px,0,0)` }\r\n });\r\n}\r\n\r\nfunction _createSlideOutY(toY: number): string {\r\n return keyframes({\r\n from: { transform: `translate3d(0,0,0)` },\r\n to: { transform: `translate3d(0,${toY}px,0)` }\r\n });\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../src/styles/AnimationStyles.ts","import { IPalette } from '../interfaces/index';\r\n\r\nexport const DefaultPalette: IPalette = {\r\n themeDarker: '#004578',\r\n themeDark: '#005a9e',\r\n themeDarkAlt: '#106ebe',\r\n themePrimary: '#0078d7',\r\n themeSecondary: '#2b88d8',\r\n themeTertiary: '#71afe5',\r\n themeLight: '#c7e0f4',\r\n themeLighter: '#deecf9',\r\n themeLighterAlt: '#eff6fc',\r\n black: '#000000',\r\n blackTranslucent40: 'rgba(0,0,0,.4)',\r\n neutralDark: '#212121',\r\n neutralPrimary: '#333333',\r\n neutralPrimaryAlt: '#3c3c3c',\r\n neutralSecondary: '#666666',\r\n neutralTertiary: '#a6a6a6',\r\n neutralTertiaryAlt: '#c8c8c8',\r\n neutralQuaternary: '#d0d0d0',\r\n neutralQuaternaryAlt: '#dadada',\r\n neutralLight: '#eaeaea',\r\n neutralLighter: '#f4f4f4',\r\n neutralLighterAlt: '#f8f8f8',\r\n white: '#ffffff',\r\n yellow: '#ffb900',\r\n yellowLight: '#fff100',\r\n orange: '#d83b01',\r\n orangeLight: '#ea4300',\r\n orangeLighter: '#ff8c00',\r\n redDark: '#a80000',\r\n red: '#e81123',\r\n magentaDark: '#5c005c',\r\n magenta: '#b4009e',\r\n magentaLight: '#e3008c',\r\n purpleDark: '#32145a',\r\n purple: '#5c2d91',\r\n purpleLight: '#b4a0ff',\r\n blueDark: '#002050',\r\n blueMid: '#00188f',\r\n blue: '#0078d7',\r\n blueLight: '#00bcf2',\r\n tealDark: '#004b50',\r\n teal: '#008272',\r\n tealLight: '#00b294',\r\n greenDark: '#004b1c',\r\n green: '#107c10',\r\n greenLight: '#bad80a'\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ../../src/styles/DefaultPalette.ts","import { IFontStyles, IRawStyle } from '../interfaces/index';\r\nimport { fontFace } from '../glamorExports';\r\nimport {\r\n getLanguage,\r\n getWindow\r\n} from '@uifabric/utilities/lib/index';\r\nimport { IFabricConfig } from '../interfaces/IFabricConfig';\r\n\r\n// Default urls.\r\nconst DefaultBaseUrl = 'https://static2.sharepointonline.com/files/fabric/assets';\r\n\r\n// Fallback fonts, if specified system or web fonts are unavailable.\r\nconst FontFamilyFallbacks = `-apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif`;\r\n\r\n// Font face names to be registered.\r\nconst FontNameArabic = 'Segoe UI Web (Arabic)';\r\nconst FontNameCyrillic = 'Segoe UI Web (Cyrillic)';\r\nconst FontNameEastEuropean = 'Segoe UI Web (East European)';\r\nconst FontNameGreek = 'Segoe UI Web (Greek)';\r\nconst FontNameHebrew = 'Segoe UI Web (Hebrew)';\r\nconst FontNameThai = 'Leelawadee UI Web';\r\nconst FontNameVietnamese = 'Segoe UI Web (Vietnamese)';\r\nconst FontNameWestEuropean = 'Segoe UI Web (West European)';\r\nconst FontNameSelawik = 'Selawik Web';\r\n\r\n// Font families with fallbacks, for the general regions.\r\nconst FontFamilyArabic = `'${FontNameArabic}'`;\r\nconst FontFamilyChineseSimplified = `'Microsoft Yahei', Verdana, Simsun`;\r\nconst FontFamilyChineseTraditional = `'Microsoft Jhenghei', Pmingliu`;\r\nconst FontFamilyCyrillic = `'${FontNameCyrillic}'`;\r\nconst FontFamilyEastEuropean = `'${FontNameEastEuropean}'`;\r\nconst FontFamilyGreek = `'${FontNameGreek}'`;\r\nconst FontFamilyHebrew = `'${FontNameHebrew}'`;\r\nconst FontFamilyHindi = `'Nirmala UI'`;\r\nconst FontFamilyJapanese = `'Yu Gothic', 'Meiryo UI', Meiryo, 'MS Pgothic', Osaka`;\r\nconst FontFamilyKorean = `'Malgun Gothic', Gulim`;\r\nconst FontFamilySelawik = `'${FontNameSelawik}'`;\r\nconst FontFamilyThai = `'Leelawadee UI Web', 'Kmer UI'`;\r\nconst FontFamilyVietnamese = `'${FontNameVietnamese}'`;\r\nconst FontFamilyWestEuropean = `'${FontNameWestEuropean}'`;\r\n\r\n// Mapping of language prefix to to font family.\r\nconst LanguageToFontMap = {\r\n 'ar': FontFamilyArabic,\r\n 'bg': FontFamilyCyrillic,\r\n 'cs': FontFamilyEastEuropean,\r\n 'el': FontFamilyGreek,\r\n 'et': FontFamilyEastEuropean,\r\n 'he': FontFamilyHebrew,\r\n 'hi': FontFamilyHindi,\r\n 'hr': FontFamilyEastEuropean,\r\n 'hu': FontFamilyEastEuropean,\r\n 'ja': FontFamilyJapanese,\r\n 'kk': FontFamilyEastEuropean,\r\n 'ko': FontFamilyKorean,\r\n 'lt': FontFamilyEastEuropean,\r\n 'lv': FontFamilyEastEuropean,\r\n 'pl': FontFamilyEastEuropean,\r\n 'ru': FontFamilyCyrillic,\r\n 'sk': FontFamilyEastEuropean,\r\n 'sr-latn': FontFamilyEastEuropean,\r\n 'th': FontFamilyThai,\r\n 'tr': FontFamilyEastEuropean,\r\n 'uk': FontFamilyCyrillic,\r\n 'vi': FontFamilyVietnamese,\r\n 'zh-hans': FontFamilyChineseSimplified,\r\n 'zh-hant': FontFamilyChineseTraditional,\r\n};\r\n\r\n// Standard font sizes.\r\nexport namespace FontSizes {\r\n export const mini = '10px';\r\n export const xSmall = '11px';\r\n export const small = '12px';\r\n export const smallPlus = '13px';\r\n export const medium = '14px';\r\n export const mediumPlus = '15px';\r\n export const icon = '16px';\r\n export const large = '17px';\r\n export const xLarge = '21px';\r\n export const xxLarge = '28px';\r\n export const superLarge = '42px';\r\n export const mega = '72px';\r\n}\r\n\r\n// Standard font weights.\r\nexport namespace FontWeights {\r\n export const light = 100;\r\n export const semilight = 300;\r\n export const regular = 400;\r\n export const semibold = 600;\r\n export const bold = 700;\r\n}\r\n\r\n// Standard font styling.\r\nexport const DefaultFontStyles: IFontStyles = {\r\n tiny: _createFont(FontSizes.mini, FontWeights.semibold),\r\n xSmall: _createFont(FontSizes.xSmall, FontWeights.regular),\r\n small: _createFont(FontSizes.small, FontWeights.regular),\r\n smallPlus: _createFont(FontSizes.smallPlus, FontWeights.regular),\r\n medium: _createFont(FontSizes.medium, FontWeights.regular),\r\n mediumPlus: _createFont(FontSizes.mediumPlus, FontWeights.regular),\r\n large: _createFont(FontSizes.large, FontWeights.semilight),\r\n xLarge: _createFont(FontSizes.xLarge, FontWeights.light),\r\n xxLarge: _createFont(FontSizes.xxLarge, FontWeights.light),\r\n superLarge: _createFont(FontSizes.superLarge, FontWeights.light),\r\n mega: _createFont(FontSizes.mega, FontWeights.light),\r\n icon: {\r\n fontFamily: '\"FabricMDL2Icons\"',\r\n fontWeight: FontWeights.regular,\r\n fontStyle: 'normal'\r\n }\r\n};\r\n\r\nfunction _getFontFamily(): string {\r\n let language = getLanguage();\r\n let fontFamily = FontFamilyWestEuropean;\r\n\r\n for (let lang in LanguageToFontMap) {\r\n if (LanguageToFontMap.hasOwnProperty(lang) && lang.indexOf(language) === 0) {\r\n fontFamily = LanguageToFontMap[lang];\r\n break;\r\n }\r\n }\r\n\r\n return `${fontFamily}, ${FontFamilyFallbacks}`;\r\n}\r\n\r\nfunction _createFont(size: string, weight: number): IRawStyle {\r\n return {\r\n fontFamily: _getFontFamily(),\r\n MozOsxFontSmoothing: 'grayscale',\r\n MsHighContrastAdjust: 'none',\r\n WebkitFontSmoothing: 'antialiased',\r\n fontSize: size,\r\n fontWeight: weight\r\n };\r\n}\r\n\r\nfunction _registerFontFace(\r\n fontFamily: string,\r\n url: string,\r\n fontWeight?: number\r\n): void {\r\n fontFamily = `'${fontFamily}'`;\r\n\r\n fontFace({\r\n fontFamily,\r\n src:\r\n `url('${url}.woff2') format('woff2'),` +\r\n `url('${url}.woff') format('woff')`,\r\n fontWeight,\r\n fontStyle: 'normal'\r\n });\r\n}\r\n\r\nfunction _registerFontFaceSet(\r\n baseUrl: string,\r\n fontFamily: string,\r\n cdnFolder: string,\r\n cdnFontName: string = 'segoeui'\r\n): void {\r\n const urlBase = `${baseUrl}/${cdnFolder}/${cdnFontName}`;\r\n\r\n _registerFontFace(fontFamily, urlBase + '-light', FontWeights.light);\r\n _registerFontFace(fontFamily, urlBase + '-semilight', FontWeights.semilight);\r\n _registerFontFace(fontFamily, urlBase + '-regular', FontWeights.regular);\r\n _registerFontFace(fontFamily, urlBase + '-semibold', FontWeights.semibold);\r\n}\r\n\r\nfunction _registerDefaultFontFaces(): void {\r\n const baseUrl = _getFontBaseUrl();\r\n\r\n if (baseUrl) {\r\n const fontUrl = `${baseUrl}/fonts`;\r\n const iconUrl = `${baseUrl}/icons`;\r\n\r\n // Produce @font-face definitions for all supported web fonts.\r\n _registerFontFaceSet(fontUrl, FontNameThai, 'leelawadeeui-thai', 'leelawadeeui');\r\n _registerFontFaceSet(fontUrl, FontNameArabic, 'segoeui-arabic');\r\n _registerFontFaceSet(fontUrl, FontNameCyrillic, 'segoeui-cyrillic');\r\n _registerFontFaceSet(fontUrl, FontNameEastEuropean, 'segoeui-easteuropean');\r\n _registerFontFaceSet(fontUrl, FontNameGreek, 'segoeui-greek');\r\n _registerFontFaceSet(fontUrl, FontNameHebrew, 'segoeui-hebrew');\r\n _registerFontFaceSet(fontUrl, FontNameVietnamese, 'segoeui-vietnamese');\r\n _registerFontFaceSet(fontUrl, FontNameWestEuropean, 'segoeui-westeuropean');\r\n _registerFontFaceSet(fontUrl, FontFamilySelawik, 'selawik', 'selawik');\r\n\r\n // Leelawadee UI (Thai) does not have a 'light' weight, so we override\r\n // the font-face generated above to use the 'semilight' weight instead.\r\n _registerFontFace('Leelawadee UI Web', `${fontUrl}/leelawadeeui-thai/leelawadeeui-semilight`, FontWeights.light);\r\n\r\n // Leelawadee UI (Thai) does not have a 'semibold' weight, so we override\r\n // the font-face generated above to use the 'bold' weight instead.\r\n _registerFontFace('Leelawadee UI Web', `${fontUrl}/leelawadeeui-thai/leelawadeeui-bold`, FontWeights.semibold);\r\n\r\n // Register icon urls.\r\n _registerFontFace('FabricMDL2Icons', `${iconUrl}/fabricmdl2icons`, FontWeights.regular);\r\n }\r\n}\r\n\r\n/**\r\n * Reads the fontBaseUrl from window.FabricConfig.fontBaseUrl or falls back to a default.\r\n */\r\nfunction _getFontBaseUrl(): string {\r\n let win = getWindow();\r\n\r\n // tslint:disable-next-line:no-string-literal\r\n let fabricConfig: IFabricConfig = win ? win['FabricConfig'] : undefined;\r\n\r\n return (fabricConfig && fabricConfig.fontBaseUrl !== undefined) ? fabricConfig.fontBaseUrl : DefaultBaseUrl;\r\n}\r\n\r\n/**\r\n * Register the font faces.\r\n */\r\n_registerDefaultFontFaces();\r\n\n\n\n// WEBPACK FOOTER //\n// ../../src/styles/DefaultFontStyles.ts","export const IconCodes = {\r\n /**\r\n * Icon code with the value '\\uED68'.\r\n */\r\n aadLogo: '\\uED68',\r\n /**\r\n * Icon code with the value '\\uE8FB'.\r\n */\r\n accept: '\\uE8FB',\r\n /**\r\n * Icon code with the value '\\uED69'.\r\n */\r\n accessLogo: '\\uED69',\r\n /**\r\n * Icon code with the value '\\uE910'.\r\n */\r\n accounts: '\\uE910',\r\n /**\r\n * Icon code with the value '\\uE710'.\r\n */\r\n add: '\\uE710',\r\n /**\r\n * Icon code with the value '\\uEEB5'.\r\n */\r\n addEvent: '\\uEEB5',\r\n /**\r\n * Icon code with the value '\\uF0C8'.\r\n */\r\n addFavorite: '\\uF0C8',\r\n /**\r\n * Icon code with the value '\\uF0C9'.\r\n */\r\n addFavoriteFill: '\\uF0C9',\r\n /**\r\n * Icon code with the value '\\uE8FA'.\r\n */\r\n addFriend: '\\uE8FA',\r\n /**\r\n * Icon code with the value '\\uEE3D'.\r\n */\r\n addGroup: '\\uEE3D',\r\n /**\r\n * Icon code with the value '\\uED8E'.\r\n */\r\n addOnlineMeeting: '\\uED8E',\r\n /**\r\n * Icon code with the value '\\uED96'.\r\n */\r\n addPhone: '\\uED96',\r\n /**\r\n * Icon code with the value '\\uECC8'.\r\n */\r\n addTo: '\\uECC8',\r\n /**\r\n * Icon code with the value '\\uE7EF'.\r\n */\r\n admin: '\\uE7EF',\r\n /**\r\n * Icon code with the value '\\uED6A'.\r\n */\r\n adminALogo: '\\uED6A',\r\n /**\r\n * Icon code with the value '\\uED6B'.\r\n */\r\n adminCLogo: '\\uED6B',\r\n /**\r\n * Icon code with the value '\\uED6C'.\r\n */\r\n adminDLogo: '\\uED6C',\r\n /**\r\n * Icon code with the value '\\uED6D'.\r\n */\r\n adminELogo: '\\uED6D',\r\n /**\r\n * Icon code with the value '\\uED6E'.\r\n */\r\n adminLLogo: '\\uED6E',\r\n /**\r\n * Icon code with the value '\\uED6F'.\r\n */\r\n adminMLogo: '\\uED6F',\r\n /**\r\n * Icon code with the value '\\uED70'.\r\n */\r\n adminOLogo: '\\uED70',\r\n /**\r\n * Icon code with the value '\\uED71'.\r\n */\r\n adminPLogo: '\\uED71',\r\n /**\r\n * Icon code with the value '\\uED72'.\r\n */\r\n adminSLogo: '\\uED72',\r\n /**\r\n * Icon code with the value '\\uED73'.\r\n */\r\n adminYLogo: '\\uED73',\r\n /**\r\n * Icon code with the value '\\uEF7A'.\r\n */\r\n airTickets: '\\uEF7A',\r\n /**\r\n * Icon code with the value '\\uE709'.\r\n */\r\n airplane: '\\uE709',\r\n /**\r\n * Icon code with the value '\\uE919'.\r\n */\r\n alarmClock: '\\uE919',\r\n /**\r\n * Icon code with the value '\\uE7AB'.\r\n */\r\n album: '\\uE7AB',\r\n /**\r\n * Icon code with the value '\\uEC62'.\r\n */\r\n albumRemove: '\\uEC62',\r\n /**\r\n * Icon code with the value '\\uED74'.\r\n */\r\n alchemyLogo: '\\uED74',\r\n /**\r\n * Icon code with the value '\\uE8E3'.\r\n */\r\n alignCenter: '\\uE8E3',\r\n /**\r\n * Icon code with the value '\\uE8E4'.\r\n */\r\n alignLeft: '\\uE8E4',\r\n /**\r\n * Icon code with the value '\\uE8E2'.\r\n */\r\n alignRight: '\\uE8E2',\r\n /**\r\n * Icon code with the value '\\uEF8B'.\r\n */\r\n androidLogo: '\\uEF8B',\r\n /**\r\n * Icon code with the value '\\uE924'.\r\n */\r\n annotation: '\\uE924',\r\n /**\r\n * Icon code with the value '\\uEEC7'.\r\n */\r\n appForOfficeLogo: '\\uEEC7',\r\n /**\r\n * Icon code with the value '\\uECAA'.\r\n */\r\n appIconDefault: '\\uECAA',\r\n /**\r\n * Icon code with the value '\\uEB34'.\r\n */\r\n arrivals: '\\uEB34',\r\n /**\r\n * Icon code with the value '\\uEED5'.\r\n */\r\n arrowDownRight8: '\\uEED5',\r\n /**\r\n * Icon code with the value '\\uEEF0'.\r\n */\r\n arrowDownRightMirrored8: '\\uEEF0',\r\n /**\r\n * Icon code with the value '\\uEED4'.\r\n */\r\n arrowUpRight8: '\\uEED4',\r\n /**\r\n * Icon code with the value '\\uEEEF'.\r\n */\r\n arrowUpRightMirrored8: '\\uEEEF',\r\n /**\r\n * Icon code with the value '\\uEAC1'.\r\n */\r\n articles: '\\uEAC1',\r\n /**\r\n * Icon code with the value '\\uEDC0'.\r\n */\r\n ascending: '\\uEDC0',\r\n /**\r\n * Icon code with the value '\\uEEB6'.\r\n */\r\n assetLibrary: '\\uEEB6',\r\n /**\r\n * Icon code with the value '\\uEA38'.\r\n */\r\n asterisk: '\\uEA38',\r\n /**\r\n * Icon code with the value '\\uEF85'.\r\n */\r\n atpLogo: '\\uEF85',\r\n /**\r\n * Icon code with the value '\\uE723'.\r\n */\r\n attach: '\\uE723',\r\n /**\r\n * Icon code with the value '\\uEE70'.\r\n */\r\n australianRules: '\\uEE70',\r\n /**\r\n * Icon code with the value '\\uE78E'.\r\n */\r\n autoEnhanceOff: '\\uE78E',\r\n /**\r\n * Icon code with the value '\\uE78D'.\r\n */\r\n autoEnhanceOn: '\\uE78D',\r\n /**\r\n * Icon code with the value '\\uEB24'.\r\n */\r\n autoRacing: '\\uEB24',\r\n /**\r\n * Icon code with the value '\\uEE6A'.\r\n */\r\n awayStatus: '\\uEE6A',\r\n /**\r\n * Icon code with the value '\\uEB6A'.\r\n */\r\n azureLogo: '\\uEB6A',\r\n /**\r\n * Icon code with the value '\\uE72B'.\r\n */\r\n back: '\\uE72B',\r\n /**\r\n * Icon code with the value '\\uE73F'.\r\n */\r\n backToWindow: '\\uE73F',\r\n /**\r\n * Icon code with the value '\\uEC1B'.\r\n */\r\n badge: '\\uEC1B',\r\n /**\r\n * Icon code with the value '\\uED7E'.\r\n */\r\n balloons: '\\uED7E',\r\n /**\r\n * Icon code with the value '\\uEAE7'.\r\n */\r\n barChart4: '\\uEAE7',\r\n /**\r\n * Icon code with the value '\\uE9EB'.\r\n */\r\n barChartHorizontal: '\\uE9EB',\r\n /**\r\n * Icon code with the value '\\uEB20'.\r\n */\r\n baseball: '\\uEB20',\r\n /**\r\n * Icon code with the value '\\uE9AA'.\r\n */\r\n bidiLtr: '\\uE9AA',\r\n /**\r\n * Icon code with the value '\\uE9AB'.\r\n */\r\n bidiRtl: '\\uE9AB',\r\n /**\r\n * Icon code with the value '\\uEB6B'.\r\n */\r\n bingLogo: '\\uEB6B',\r\n /**\r\n * Icon code with the value '\\uE8F8'.\r\n */\r\n blockContact: '\\uE8F8',\r\n /**\r\n * Icon code with the value '\\uECE4'.\r\n */\r\n blocked2: '\\uECE4',\r\n /**\r\n * Icon code with the value '\\uE733'.\r\n */\r\n blocked: '\\uE733',\r\n /**\r\n * Icon code with the value '\\uE9C9'.\r\n */\r\n blowingSnow: '\\uE9C9',\r\n /**\r\n * Icon code with the value '\\uEF68'.\r\n */\r\n boards: '\\uEF68',\r\n /**\r\n * Icon code with the value '\\uE8DD'.\r\n */\r\n bold: '\\uE8DD',\r\n /**\r\n * Icon code with the value '\\uEDC7'.\r\n */\r\n bookingsLogo: '\\uEDC7',\r\n /**\r\n * Icon code with the value '\\uE8A4'.\r\n */\r\n bookmarks: '\\uE8A4',\r\n /**\r\n * Icon code with the value '\\uEA41'.\r\n */\r\n bookmarksMirrored: '\\uEA41',\r\n /**\r\n * Icon code with the value '\\uED75'.\r\n */\r\n boxLogo: '\\uED75',\r\n /**\r\n * Icon code with the value '\\uF173'.\r\n */\r\n branchFork: '\\uF173',\r\n /**\r\n * Icon code with the value '\\uEF8C'.\r\n */\r\n breadcrumb: '\\uEF8C',\r\n /**\r\n * Icon code with the value '\\uE706'.\r\n */\r\n brightness: '\\uE706',\r\n /**\r\n * Icon code with the value '\\uEA99'.\r\n */\r\n broom: '\\uEA99',\r\n /**\r\n * Icon code with the value '\\uF0D0'.\r\n */\r\n bufferTimeAfter: '\\uF0D0',\r\n /**\r\n * Icon code with the value '\\uF0CF'.\r\n */\r\n bufferTimeBefore: '\\uF0CF',\r\n /**\r\n * Icon code with the value '\\uF0D1'.\r\n */\r\n bufferTimeBoth: '\\uF0D1',\r\n /**\r\n * Icon code with the value '\\uE8FD'.\r\n */\r\n bulletedList: '\\uE8FD',\r\n /**\r\n * Icon code with the value '\\uEA42'.\r\n */\r\n bulletedListMirrored: '\\uEA42',\r\n /**\r\n * Icon code with the value '\\uEB47'.\r\n */\r\n busSolid: '\\uEB47',\r\n /**\r\n * Icon code with the value '\\uEC32'.\r\n */\r\n cafe: '\\uEC32',\r\n /**\r\n * Icon code with the value '\\uECA4'.\r\n */\r\n cake: '\\uECA4',\r\n /**\r\n * Icon code with the value '\\uE948'.\r\n */\r\n calculatorAddition: '\\uE948',\r\n /**\r\n * Icon code with the value '\\uE949'.\r\n */\r\n calculatorSubtract: '\\uE949',\r\n /**\r\n * Icon code with the value '\\uE787'.\r\n */\r\n calendar: '\\uE787',\r\n /**\r\n * Icon code with the value '\\uEE9A'.\r\n */\r\n calendarAgenda: '\\uEE9A',\r\n /**\r\n * Icon code with the value '\\uE8BF'.\r\n */\r\n calendarDay: '\\uE8BF',\r\n /**\r\n * Icon code with the value '\\uED28'.\r\n */\r\n calendarMirrored: '\\uED28',\r\n /**\r\n * Icon code with the value '\\uE8F5'.\r\n */\r\n calendarReply: '\\uE8F5',\r\n /**\r\n * Icon code with the value '\\uE8C0'.\r\n */\r\n calendarWeek: '\\uE8C0',\r\n /**\r\n * Icon code with the value '\\uEF51'.\r\n */\r\n calendarWorkWeek: '\\uEF51',\r\n /**\r\n * Icon code with the value '\\uF172'.\r\n */\r\n caloriesAdd: '\\uF172',\r\n /**\r\n * Icon code with the value '\\uE722'.\r\n */\r\n camera: '\\uE722',\r\n /**\r\n * Icon code with the value '\\uE711'.\r\n */\r\n cancel: '\\uE711',\r\n /**\r\n * Icon code with the value '\\uE804'.\r\n */\r\n car: '\\uE804',\r\n /**\r\n * Icon code with the value '\\uF121'.\r\n */\r\n caretBottomLeftSolid8: '\\uF121',\r\n /**\r\n * Icon code with the value '\\uF122'.\r\n */\r\n caretBottomRightSolid8: '\\uF122',\r\n /**\r\n * Icon code with the value '\\uEDD8'.\r\n */\r\n caretDown8: '\\uEDD8',\r\n /**\r\n * Icon code with the value '\\uEDDC'.\r\n */\r\n caretDownSolid8: '\\uEDDC',\r\n /**\r\n * Icon code with the value '\\uE817'.\r\n */\r\n caretHollow: '\\uE817',\r\n /**\r\n * Icon code with the value '\\uEA45'.\r\n */\r\n caretHollowMirrored: '\\uEA45',\r\n /**\r\n * Icon code with the value '\\uEDD5'.\r\n */\r\n caretLeft8: '\\uEDD5',\r\n /**\r\n * Icon code with the value '\\uEDD9'.\r\n */\r\n caretLeftSolid8: '\\uEDD9',\r\n /**\r\n * Icon code with the value '\\uEDD6'.\r\n */\r\n caretRight8: '\\uEDD6',\r\n /**\r\n * Icon code with the value '\\uEDDA'.\r\n */\r\n caretRightSolid8: '\\uEDDA',\r\n /**\r\n * Icon code with the value '\\uE818'.\r\n */\r\n caretSolid: '\\uE818',\r\n /**\r\n * Icon code with the value '\\uEA46'.\r\n */\r\n caretSolidMirrored: '\\uEA46',\r\n /**\r\n * Icon code with the value '\\uEF54'.\r\n */\r\n caretTopLeftSolid8: '\\uEF54',\r\n /**\r\n * Icon code with the value '\\uEF55'.\r\n */\r\n caretTopRightSolid8: '\\uEF55',\r\n /**\r\n * Icon code with the value '\\uEDD7'.\r\n */\r\n caretUp8: '\\uEDD7',\r\n /**\r\n * Icon code with the value '\\uEDDB'.\r\n */\r\n caretUpSolid8: '\\uEDDB',\r\n /**\r\n * Icon code with the value '\\uED7F'.\r\n */\r\n cat: '\\uED7F',\r\n /**\r\n * Icon code with the value '\\uE8EA'.\r\n */\r\n cellPhone: '\\uE8EA',\r\n /**\r\n * Icon code with the value '\\uEB95'.\r\n */\r\n certificate: '\\uEB95',\r\n /**\r\n * Icon code with the value '\\uE999'.\r\n */\r\n chart: '\\uE999',\r\n /**\r\n * Icon code with the value '\\uE901'.\r\n */\r\n chat: '\\uE901',\r\n /**\r\n * Icon code with the value '\\uECFE'.\r\n */\r\n chatInviteFriend: '\\uECFE',\r\n /**\r\n * Icon code with the value '\\uE9D5'.\r\n */\r\n checkList: '\\uE9D5',\r\n /**\r\n * Icon code with the value '\\uE73E'.\r\n */\r\n checkMark: '\\uE73E',\r\n /**\r\n * Icon code with the value '\\uE739'.\r\n */\r\n checkbox: '\\uE739',\r\n /**\r\n * Icon code with the value '\\uE73A'.\r\n */\r\n checkboxComposite: '\\uE73A',\r\n /**\r\n * Icon code with the value '\\uE73C'.\r\n */\r\n checkboxIndeterminate: '\\uE73C',\r\n /**\r\n * Icon code with the value '\\uE70D'.\r\n */\r\n chevronDown: '\\uE70D',\r\n /**\r\n * Icon code with the value '\\uE972'.\r\n */\r\n chevronDownMed: '\\uE972',\r\n /**\r\n * Icon code with the value '\\uE96E'.\r\n */\r\n chevronDownSmall: '\\uE96E',\r\n /**\r\n * Icon code with the value '\\uE76B'.\r\n */\r\n chevronLeft: '\\uE76B',\r\n /**\r\n * Icon code with the value '\\uE973'.\r\n */\r\n chevronLeftMed: '\\uE973',\r\n /**\r\n * Icon code with the value '\\uE96F'.\r\n */\r\n chevronLeftSmall: '\\uE96F',\r\n /**\r\n * Icon code with the value '\\uE76C'.\r\n */\r\n chevronRight: '\\uE76C',\r\n /**\r\n * Icon code with the value '\\uE974'.\r\n */\r\n chevronRightMed: '\\uE974',\r\n /**\r\n * Icon code with the value '\\uE970'.\r\n */\r\n chevronRightSmall: '\\uE970',\r\n /**\r\n * Icon code with the value '\\uE70E'.\r\n */\r\n chevronUp: '\\uE70E',\r\n /**\r\n * Icon code with the value '\\uE971'.\r\n */\r\n chevronUpMed: '\\uE971',\r\n /**\r\n * Icon code with the value '\\uE96D'.\r\n */\r\n chevronUpSmall: '\\uE96D',\r\n /**\r\n * Icon code with the value '\\uE830'.\r\n */\r\n chromeBack: '\\uE830',\r\n /**\r\n * Icon code with the value '\\uEA47'.\r\n */\r\n chromeBackMirrored: '\\uEA47',\r\n /**\r\n * Icon code with the value '\\uE8BB'.\r\n */\r\n chromeClose: '\\uE8BB',\r\n /**\r\n * Icon code with the value '\\uE921'.\r\n */\r\n chromeMinimize: '\\uE921',\r\n /**\r\n * Icon code with the value '\\uEA3B'.\r\n */\r\n circleFill: '\\uEA3B',\r\n /**\r\n * Icon code with the value '\\uED9E'.\r\n */\r\n circleHalfFull: '\\uED9E',\r\n /**\r\n * Icon code with the value '\\uEAEE'.\r\n */\r\n circlePlus: '\\uEAEE',\r\n /**\r\n * Icon code with the value '\\uEA3A'.\r\n */\r\n circleRing: '\\uEA3A',\r\n /**\r\n * Icon code with the value '\\uEDC8'.\r\n */\r\n classNotebookLogo: '\\uEDC8',\r\n /**\r\n * Icon code with the value '\\uEF75'.\r\n */\r\n classroomLogo: '\\uEF75',\r\n /**\r\n * Icon code with the value '\\uE894'.\r\n */\r\n clear: '\\uE894',\r\n /**\r\n * Icon code with the value '\\uEF8F'.\r\n */\r\n clearFilter: '\\uEF8F',\r\n /**\r\n * Icon code with the value '\\uEDDD'.\r\n */\r\n clearFormatting: '\\uEDDD',\r\n /**\r\n * Icon code with the value '\\uE9C2'.\r\n */\r\n clearNight: '\\uE9C2',\r\n /**\r\n * Icon code with the value '\\uE917'.\r\n */\r\n clock: '\\uE917',\r\n /**\r\n * Icon code with the value '\\uE89F'.\r\n */\r\n closePane: '\\uE89F',\r\n /**\r\n * Icon code with the value '\\uEA49'.\r\n */\r\n closePaneMirrored: '\\uEA49',\r\n /**\r\n * Icon code with the value '\\uEF84'.\r\n */\r\n closedCaption: '\\uEF84',\r\n /**\r\n * Icon code with the value '\\uECA9'.\r\n */\r\n cloudAdd: '\\uECA9',\r\n /**\r\n * Icon code with the value '\\uEBD3'.\r\n */\r\n cloudDownload: '\\uEBD3',\r\n /**\r\n * Icon code with the value '\\uEC8E'.\r\n */\r\n cloudUpload: '\\uEC8E',\r\n /**\r\n * Icon code with the value '\\uE9BE'.\r\n */\r\n cloudWeather: '\\uE9BE',\r\n /**\r\n * Icon code with the value '\\uE9BF'.\r\n */\r\n cloudy: '\\uE9BF',\r\n /**\r\n * Icon code with the value '\\uEA9D'.\r\n */\r\n cocktails: '\\uEA9D',\r\n /**\r\n * Icon code with the value '\\uE943'.\r\n */\r\n code: '\\uE943',\r\n /**\r\n * Icon code with the value '\\uEAEF'.\r\n */\r\n coffee: '\\uEAEF',\r\n /**\r\n * Icon code with the value '\\uEDC9'.\r\n */\r\n collabsDbLogo: '\\uEDC9',\r\n /**\r\n * Icon code with the value '\\uEF66'.\r\n */\r\n collapseMenu: '\\uEF66',\r\n /**\r\n * Icon code with the value '\\uEB26'.\r\n */\r\n collegeFootball: '\\uEB26',\r\n /**\r\n * Icon code with the value '\\uEB25'.\r\n */\r\n collegeHoops: '\\uEB25',\r\n /**\r\n * Icon code with the value '\\uE790'.\r\n */\r\n color: '\\uE790',\r\n /**\r\n * Icon code with the value '\\uEDBB'.\r\n */\r\n combine: '\\uEDBB',\r\n /**\r\n * Icon code with the value '\\uE942'.\r\n */\r\n compassNW: '\\uE942',\r\n /**\r\n * Icon code with the value '\\uE930'.\r\n */\r\n completed: '\\uE930',\r\n /**\r\n * Icon code with the value '\\uEC61'.\r\n */\r\n completedSolid: '\\uEC61',\r\n /**\r\n * Icon code with the value '\\uE77B'.\r\n */\r\n contact: '\\uE77B',\r\n /**\r\n * Icon code with the value '\\uEEBD'.\r\n */\r\n contactCard: '\\uEEBD',\r\n /**\r\n * Icon code with the value '\\uE779'.\r\n */\r\n contactInfo: '\\uE779',\r\n /**\r\n * Icon code with the value '\\uE7B8'.\r\n */\r\n container: '\\uE7B8',\r\n /**\r\n * Icon code with the value '\\uE7A1'.\r\n */\r\n contrast: '\\uE7A1',\r\n /**\r\n * Icon code with the value '\\uE8C8'.\r\n */\r\n copy: '\\uE8C8',\r\n /**\r\n * Icon code with the value '\\uEAF3'.\r\n */\r\n cotton: '\\uEAF3',\r\n /**\r\n * Icon code with the value '\\uEB1E'.\r\n */\r\n cricket: '\\uEB1E',\r\n /**\r\n * Icon code with the value '\\uEBEF'.\r\n */\r\n css: '\\uEBEF',\r\n /**\r\n * Icon code with the value '\\uEEBE'.\r\n */\r\n customList: '\\uEEBE',\r\n /**\r\n * Icon code with the value '\\uEEBF'.\r\n */\r\n customListMirrored: '\\uEEBF',\r\n /**\r\n * Icon code with the value '\\uEAC7'.\r\n */\r\n cycling: '\\uEAC7',\r\n /**\r\n * Icon code with the value '\\uEEB7'.\r\n */\r\n dataConnectionLibrary: '\\uEEB7',\r\n /**\r\n * Icon code with the value '\\uEA17'.\r\n */\r\n dateTime2: '\\uEA17',\r\n /**\r\n * Icon code with the value '\\uEC92'.\r\n */\r\n dateTime: '\\uEC92',\r\n /**\r\n * Icon code with the value '\\uEE93'.\r\n */\r\n dateTimeMirrored: '\\uEE93',\r\n /**\r\n * Icon code with the value '\\uE290'.\r\n */\r\n decreaseIndentLegacy: '\\uE290',\r\n /**\r\n * Icon code with the value '\\uEEEE'.\r\n */\r\n delveAnalytics: '\\uEEEE',\r\n /**\r\n * Icon code with the value '\\uEDCA'.\r\n */\r\n delveAnalyticsLogo: '\\uEDCA',\r\n /**\r\n * Icon code with the value '\\uED76'.\r\n */\r\n delveLogo: '\\uED76',\r\n /**\r\n * Icon code with the value '\\uEDC1'.\r\n */\r\n descending: '\\uEDC1',\r\n /**\r\n * Icon code with the value '\\uEB3C'.\r\n */\r\n design: '\\uEB3C',\r\n /**\r\n * Icon code with the value '\\uEC7A'.\r\n */\r\n developerTools: '\\uEC7A',\r\n /**\r\n * Icon code with the value '\\uEA6C'.\r\n */\r\n devices3: '\\uEA6C',\r\n /**\r\n * Icon code with the value '\\uEB66'.\r\n */\r\n devices4: '\\uEB66',\r\n /**\r\n * Icon code with the value '\\uE75F'.\r\n */\r\n dialpad: '\\uE75F',\r\n /**\r\n * Icon code with the value '\\uE82D'.\r\n */\r\n dictionary: '\\uE82D',\r\n /**\r\n * Icon code with the value '\\uEAC8'.\r\n */\r\n dietPlanNotebook: '\\uEAC8',\r\n /**\r\n * Icon code with the value '\\uE8D8'.\r\n */\r\n disableUpdates: '\\uE8D8',\r\n /**\r\n * Icon code with the value '\\uE8E0'.\r\n */\r\n dislike: '\\uE8E0',\r\n /**\r\n * Icon code with the value '\\uEEB8'.\r\n */\r\n docLibrary: '\\uEEB8',\r\n /**\r\n * Icon code with the value '\\uE90C'.\r\n */\r\n dockLeft: '\\uE90C',\r\n /**\r\n * Icon code with the value '\\uEA4C'.\r\n */\r\n dockLeftMirrored: '\\uEA4C',\r\n /**\r\n * Icon code with the value '\\uE90D'.\r\n */\r\n dockRight: '\\uE90D',\r\n /**\r\n * Icon code with the value '\\uEDCB'.\r\n */\r\n docsLogo: '\\uEDCB',\r\n /**\r\n * Icon code with the value '\\uE8A5'.\r\n */\r\n document: '\\uE8A5',\r\n /**\r\n * Icon code with the value '\\uEF57'.\r\n */\r\n documentReply: '\\uEF57',\r\n /**\r\n * Icon code with the value '\\uEF6C'.\r\n */\r\n documentSearch: '\\uEF6C',\r\n /**\r\n * Icon code with the value '\\uEED6'.\r\n */\r\n documentSet: '\\uEED6',\r\n /**\r\n * Icon code with the value '\\uEC17'.\r\n */\r\n documentation: '\\uEC17',\r\n /**\r\n * Icon code with the value '\\uEB75'.\r\n */\r\n door: '\\uEB75',\r\n /**\r\n * Icon code with the value '\\uEB8F'.\r\n */\r\n doubleBookmark: '\\uEB8F',\r\n /**\r\n * Icon code with the value '\\uEE97'.\r\n */\r\n doubleChevronDown12: '\\uEE97',\r\n /**\r\n * Icon code with the value '\\uEE04'.\r\n */\r\n doubleChevronDown: '\\uEE04',\r\n /**\r\n * Icon code with the value '\\uEE98'.\r\n */\r\n doubleChevronLeft12: '\\uEE98',\r\n /**\r\n * Icon code with the value '\\uEDBE'.\r\n */\r\n doubleChevronLeft: '\\uEDBE',\r\n /**\r\n * Icon code with the value '\\uE991'.\r\n */\r\n doubleChevronLeftMed: '\\uE991',\r\n /**\r\n * Icon code with the value '\\uEA4D'.\r\n */\r\n doubleChevronLeftMedMirrored: '\\uEA4D',\r\n /**\r\n * Icon code with the value '\\uEE99'.\r\n */\r\n doubleChevronRight12: '\\uEE99',\r\n /**\r\n * Icon code with the value '\\uEDBF'.\r\n */\r\n doubleChevronRight: '\\uEDBF',\r\n /**\r\n * Icon code with the value '\\uEE96'.\r\n */\r\n doubleChevronUp12: '\\uEE96',\r\n /**\r\n * Icon code with the value '\\uEDBD'.\r\n */\r\n doubleChevronUp: '\\uEDBD',\r\n /**\r\n * Icon code with the value '\\uE74B'.\r\n */\r\n down: '\\uE74B',\r\n /**\r\n * Icon code with the value '\\uE896'.\r\n */\r\n download: '\\uE896',\r\n /**\r\n * Icon code with the value '\\uECA8'.\r\n */\r\n drm: '\\uECA8',\r\n /**\r\n * Icon code with the value '\\uEB42'.\r\n */\r\n drop: '\\uEB42',\r\n /**\r\n * Icon code with the value '\\uED77'.\r\n */\r\n dropboxLogo: '\\uED77',\r\n /**\r\n * Icon code with the value '\\uEDC5'.\r\n */\r\n dropdown: '\\uEDC5',\r\n /**\r\n * Icon code with the value '\\uE9CD'.\r\n */\r\n duststorm: '\\uE9CD',\r\n /**\r\n * Icon code with the value '\\uEDCD'.\r\n */\r\n dynamicSmbLogo: '\\uEDCD',\r\n /**\r\n * Icon code with the value '\\uEDCC'.\r\n */\r\n dynamics365Logo: '\\uEDCC',\r\n /**\r\n * Icon code with the value '\\uE807'.\r\n */\r\n eatDrink: '\\uE807',\r\n /**\r\n * Icon code with the value '\\uEC60'.\r\n */\r\n edgeLogo: '\\uEC60',\r\n /**\r\n * Icon code with the value '\\uE70F'.\r\n */\r\n edit: '\\uE70F',\r\n /**\r\n * Icon code with the value '\\uEF61'.\r\n */\r\n editMail: '\\uEF61',\r\n /**\r\n * Icon code with the value '\\uEB7E'.\r\n */\r\n editMirrored: '\\uEB7E',\r\n /**\r\n * Icon code with the value '\\uED9D'.\r\n */\r\n editNote: '\\uED9D',\r\n /**\r\n * Icon code with the value '\\uEF77'.\r\n */\r\n editPhoto: '\\uEF77',\r\n /**\r\n * Icon code with the value '\\uEF60'.\r\n */\r\n editStyle: '\\uEF60',\r\n /**\r\n * Icon code with the value '\\uECCE'.\r\n */\r\n embed: '\\uECCE',\r\n /**\r\n * Icon code with the value '\\uE731'.\r\n */\r\n emi: '\\uE731',\r\n /**\r\n * Icon code with the value '\\uE76E'.\r\n */\r\n emoji2: '\\uE76E',\r\n /**\r\n * Icon code with the value '\\uE899'.\r\n */\r\n emoji: '\\uE899',\r\n /**\r\n * Icon code with the value '\\uEA88'.\r\n */\r\n emojiDisappointed: '\\uEA88',\r\n /**\r\n * Icon code with the value '\\uEA87'.\r\n */\r\n emojiNeutral: '\\uEA87',\r\n /**\r\n * Icon code with the value '\\uEF88'.\r\n */\r\n emptyRecycleBin: '\\uEF88',\r\n /**\r\n * Icon code with the value '\\uE9E9'.\r\n */\r\n equalizer: '\\uE9E9',\r\n /**\r\n * Icon code with the value '\\uE75C'.\r\n */\r\n eraseTool: '\\uE75C',\r\n /**\r\n * Icon code with the value '\\uE783'.\r\n */\r\n error: '\\uE783',\r\n /**\r\n * Icon code with the value '\\uEA39'.\r\n */\r\n errorBadge: '\\uEA39',\r\n /**\r\n * Icon code with the value '\\uECA3'.\r\n */\r\n event: '\\uECA3',\r\n /**\r\n * Icon code with the value '\\uED8B'.\r\n */\r\n eventInfo: '\\uED8B',\r\n /**\r\n * Icon code with the value '\\uEF73'.\r\n */\r\n excelDocument: '\\uEF73',\r\n /**\r\n * Icon code with the value '\\uEC28'.\r\n */\r\n excelLogo: '\\uEC28',\r\n /**\r\n * Icon code with the value '\\uED78'.\r\n */\r\n exchangeLogo: '\\uED78',\r\n /**\r\n * Icon code with the value '\\uEF67'.\r\n */\r\n expandMenu: '\\uEF67',\r\n /**\r\n * Icon code with the value '\\uF09C'.\r\n */\r\n fabricAssetLibrary: '\\uF09C',\r\n /**\r\n * Icon code with the value '\\uF09D'.\r\n */\r\n fabricDataConnectionLibrary: '\\uF09D',\r\n /**\r\n * Icon code with the value '\\uF09E'.\r\n */\r\n fabricDocLibrary: '\\uF09E',\r\n /**\r\n * Icon code with the value '\\uF0A9'.\r\n */\r\n fabricFolder: '\\uF0A9',\r\n /**\r\n * Icon code with the value '\\uF0AA'.\r\n */\r\n fabricFolderFill: '\\uF0AA',\r\n /**\r\n * Icon code with the value '\\uF0A4'.\r\n */\r\n fabricFolderSearch: '\\uF0A4',\r\n /**\r\n * Icon code with the value '\\uF09F'.\r\n */\r\n fabricFormLibrary: '\\uF09F',\r\n /**\r\n * Icon code with the value '\\uF0A0'.\r\n */\r\n fabricFormLibraryMirrored: '\\uF0A0',\r\n /**\r\n * Icon code with the value '\\uF0A5'.\r\n */\r\n fabricMovetoFolder: '\\uF0A5',\r\n /**\r\n * Icon code with the value '\\uF0AB'.\r\n */\r\n fabricNewFolder: '\\uF0AB',\r\n /**\r\n * Icon code with the value '\\uF0A8'.\r\n */\r\n fabricOpenFolderHorizontal: '\\uF0A8',\r\n /**\r\n * Icon code with the value '\\uF0AC'.\r\n */\r\n fabricPictureLibrary: '\\uF0AC',\r\n /**\r\n * Icon code with the value '\\uF0A3'.\r\n */\r\n fabricPublicFolder: '\\uF0A3',\r\n /**\r\n * Icon code with the value '\\uF0A1'.\r\n */\r\n fabricReportLibrary: '\\uF0A1',\r\n /**\r\n * Icon code with the value '\\uF0A2'.\r\n */\r\n fabricReportLibraryMirrored: '\\uF0A2',\r\n /**\r\n * Icon code with the value '\\uF0A7'.\r\n */\r\n fabricSyncFolder: '\\uF0A7',\r\n /**\r\n * Icon code with the value '\\uF0A6'.\r\n */\r\n fabricUnsyncFolder: '\\uF0A6',\r\n /**\r\n * Icon code with the value '\\uECB3'.\r\n */\r\n facebookLogo: '\\uECB3',\r\n /**\r\n * Icon code with the value '\\uEBDA'.\r\n */\r\n family: '\\uEBDA',\r\n /**\r\n * Icon code with the value '\\uECEB'.\r\n */\r\n fangBody: '\\uECEB',\r\n /**\r\n * Icon code with the value '\\uE728'.\r\n */\r\n favoriteList: '\\uE728',\r\n /**\r\n * Icon code with the value '\\uE734'.\r\n */\r\n favoriteStar: '\\uE734',\r\n /**\r\n * Icon code with the value '\\uE735'.\r\n */\r\n favoriteStarFill: '\\uE735',\r\n /**\r\n * Icon code with the value '\\uEF5C'.\r\n */\r\n fax: '\\uEF5C',\r\n /**\r\n * Icon code with the value '\\uE7E3'.\r\n */\r\n ferry: '\\uE7E3',\r\n /**\r\n * Icon code with the value '\\uEB48'.\r\n */\r\n ferrySolid: '\\uEB48',\r\n /**\r\n * Icon code with the value '\\uE71C'.\r\n */\r\n filter: '\\uE71C',\r\n /**\r\n * Icon code with the value '\\uE795'.\r\n */\r\n filters: '\\uE795',\r\n /**\r\n * Icon code with the value '\\uE7BB'.\r\n */\r\n financial: '\\uE7BB',\r\n /**\r\n * Icon code with the value '\\uE928'.\r\n */\r\n fingerprint: '\\uE928',\r\n /**\r\n * Icon code with the value '\\uE7C1'.\r\n */\r\n flag: '\\uE7C1',\r\n /**\r\n * Icon code with the value '\\uE935'.\r\n */\r\n flickDown: '\\uE935',\r\n /**\r\n * Icon code with the value '\\uE937'.\r\n */\r\n flickLeft: '\\uE937',\r\n /**\r\n * Icon code with the value '\\uE938'.\r\n */\r\n flickRight: '\\uE938',\r\n /**\r\n * Icon code with the value '\\uE936'.\r\n */\r\n flickUp: '\\uE936',\r\n /**\r\n * Icon code with the value '\\uEF90'.\r\n */\r\n flow: '\\uEF90',\r\n /**\r\n * Icon code with the value '\\uE9CB'.\r\n */\r\n fog: '\\uE9CB',\r\n /**\r\n * Icon code with the value '\\uE8B7'.\r\n */\r\n folder: '\\uE8B7',\r\n /**\r\n * Icon code with the value '\\uE8D5'.\r\n */\r\n folderFill: '\\uE8D5',\r\n /**\r\n * Icon code with the value '\\uF12B'.\r\n */\r\n folderHorizontal: '\\uF12B',\r\n /**\r\n * Icon code with the value '\\uE838'.\r\n */\r\n folderOpen: '\\uE838',\r\n /**\r\n * Icon code with the value '\\uEF65'.\r\n */\r\n folderSearch: '\\uEF65',\r\n /**\r\n * Icon code with the value '\\uE8D2'.\r\n */\r\n font: '\\uE8D2',\r\n /**\r\n * Icon code with the value '\\uE8D3'.\r\n */\r\n fontColor: '\\uE8D3',\r\n /**\r\n * Icon code with the value '\\uE8E7'.\r\n */\r\n fontDecrease: '\\uE8E7',\r\n /**\r\n * Icon code with the value '\\uE8E8'.\r\n */\r\n fontIncrease: '\\uE8E8',\r\n /**\r\n * Icon code with the value '\\uE8E9'.\r\n */\r\n fontSize: '\\uE8E9',\r\n /**\r\n * Icon code with the value '\\uEEB9'.\r\n */\r\n formLibrary: '\\uEEB9',\r\n /**\r\n * Icon code with the value '\\uEEBA'.\r\n */\r\n formLibraryMirrored: '\\uEEBA',\r\n /**\r\n * Icon code with the value '\\uE72A'.\r\n */\r\n forward: '\\uE72A',\r\n /**\r\n * Icon code with the value '\\uED8C'.\r\n */\r\n forwardEvent: '\\uED8C',\r\n /**\r\n * Icon code with the value '\\uE9EF'.\r\n */\r\n freezing: '\\uE9EF',\r\n /**\r\n * Icon code with the value '\\uE9CA'.\r\n */\r\n frigid: '\\uE9CA',\r\n /**\r\n * Icon code with the value '\\uE91F'.\r\n */\r\n fullCircleMask: '\\uE91F',\r\n /**\r\n * Icon code with the value '\\uE740'.\r\n */\r\n fullScreen: '\\uE740',\r\n /**\r\n * Icon code with the value '\\uE9DA'.\r\n */\r\n generate: '\\uE9DA',\r\n /**\r\n * Icon code with the value '\\uEB8E'.\r\n */\r\n giftCard: '\\uEB8E',\r\n /**\r\n * Icon code with the value '\\uEC1F'.\r\n */\r\n giftbox: '\\uEC1F',\r\n /**\r\n * Icon code with the value '\\uEA16'.\r\n */\r\n glasses: '\\uEA16',\r\n /**\r\n * Icon code with the value '\\uECF4'.\r\n */\r\n glimmer: '\\uECF4',\r\n /**\r\n * Icon code with the value '\\uE700'.\r\n */\r\n globalNavButton: '\\uE700',\r\n /**\r\n * Icon code with the value '\\uE774'.\r\n */\r\n globe: '\\uE774',\r\n /**\r\n * Icon code with the value '\\uEF53'.\r\n */\r\n globeFavorite: '\\uEF53',\r\n /**\r\n * Icon code with the value '\\uEB1F'.\r\n */\r\n golf: '\\uEB1F',\r\n /**\r\n * Icon code with the value '\\uEE0B'.\r\n */\r\n googleDriveLogo: '\\uEE0B',\r\n /**\r\n * Icon code with the value '\\uE8D1'.\r\n */\r\n gotoToday: '\\uE8D1',\r\n /**\r\n * Icon code with the value '\\uE75E'.\r\n */\r\n gripperTool: '\\uE75E',\r\n /**\r\n * Icon code with the value '\\uE902'.\r\n */\r\n group: '\\uE902',\r\n /**\r\n * Icon code with the value '\\uEE67'.\r\n */\r\n groupedAscending: '\\uEE67',\r\n /**\r\n * Icon code with the value '\\uEE66'.\r\n */\r\n groupedDescending: '\\uEE66',\r\n /**\r\n * Icon code with the value '\\uEF74'.\r\n */\r\n groupedList: '\\uEF74',\r\n /**\r\n * Icon code with the value '\\uEA00'.\r\n */\r\n hailDay: '\\uEA00',\r\n /**\r\n * Icon code with the value '\\uEA13'.\r\n */\r\n hailNight: '\\uEA13',\r\n /**\r\n * Icon code with the value '\\uE929'.\r\n */\r\n handwriting: '\\uE929',\r\n /**\r\n * Icon code with the value '\\uEA19'.\r\n */\r\n header1: '\\uEA19',\r\n /**\r\n * Icon code with the value '\\uEF36'.\r\n */\r\n header2: '\\uEF36',\r\n /**\r\n * Icon code with the value '\\uEF37'.\r\n */\r\n header3: '\\uEF37',\r\n /**\r\n * Icon code with the value '\\uEF38'.\r\n */\r\n header4: '\\uEF38',\r\n /**\r\n * Icon code with the value '\\uE95B'.\r\n */\r\n headset: '\\uE95B',\r\n /**\r\n * Icon code with the value '\\uE95E'.\r\n */\r\n health: '\\uE95E',\r\n /**\r\n * Icon code with the value '\\uEB51'.\r\n */\r\n heart: '\\uEB51',\r\n /**\r\n * Icon code with the value '\\uEB52'.\r\n */\r\n heartFill: '\\uEB52',\r\n /**\r\n * Icon code with the value '\\uE897'.\r\n */\r\n help: '\\uE897',\r\n /**\r\n * Icon code with the value '\\uEA51'.\r\n */\r\n helpMirrored: '\\uEA51',\r\n /**\r\n * Icon code with the value '\\uEF89'.\r\n */\r\n hide2: '\\uEF89',\r\n /**\r\n * Icon code with the value '\\uED1A'.\r\n */\r\n hide: '\\uED1A',\r\n /**\r\n * Icon code with the value '\\uE81C'.\r\n */\r\n history: '\\uE81C',\r\n /**\r\n * Icon code with the value '\\uE80F'.\r\n */\r\n home: '\\uE80F',\r\n /**\r\n * Icon code with the value '\\uEA8A'.\r\n */\r\n homeSolid: '\\uEA8A',\r\n /**\r\n * Icon code with the value '\\uE91D'.\r\n */\r\n hospital: '\\uE91D',\r\n /**\r\n * Icon code with the value '\\uE824'.\r\n */\r\n hotel: '\\uE824',\r\n /**\r\n * Icon code with the value '\\uEF8A'.\r\n */\r\n iOsAppStoreLogo: '\\uEF8A',\r\n /**\r\n * Icon code with the value '\\uE8C9'.\r\n */\r\n important: '\\uE8C9',\r\n /**\r\n * Icon code with the value '\\uEF64'.\r\n */\r\n inboxCheck: '\\uEF64',\r\n /**\r\n * Icon code with the value '\\uE814'.\r\n */\r\n incidentTriangle: '\\uE814',\r\n /**\r\n * Icon code with the value '\\uE291'.\r\n */\r\n increaseIndentLegacy: '\\uE291',\r\n /**\r\n * Icon code with the value '\\uEA1F'.\r\n */\r\n info2: '\\uEA1F',\r\n /**\r\n * Icon code with the value '\\uE946'.\r\n */\r\n info: '\\uE946',\r\n /**\r\n * Icon code with the value '\\uEC7D'.\r\n */\r\n insertTextBox: '\\uEC7D',\r\n /**\r\n * Icon code with the value '\\uE704'.\r\n */\r\n internetSharing: '\\uE704',\r\n /**\r\n * Icon code with the value '\\uEEC0'.\r\n */\r\n issueTracking: '\\uEEC0',\r\n /**\r\n * Icon code with the value '\\uEEC1'.\r\n */\r\n issueTrackingMirrored: '\\uEEC1',\r\n /**\r\n * Icon code with the value '\\uE8DB'.\r\n */\r\n italic: '\\uE8DB',\r\n /**\r\n * Icon code with the value '\\uED8F'.\r\n */\r\n joinOnlineMeeting: '\\uED8F',\r\n /**\r\n * Icon code with the value '\\uEBF0'.\r\n */\r\n js: '\\uEBF0',\r\n /**\r\n * Icon code with the value '\\uE932'.\r\n */\r\n label: '\\uE932',\r\n /**\r\n * Icon code with the value '\\uEF6B'.\r\n */\r\n landscapeOrientation: '\\uEF6B',\r\n /**\r\n * Icon code with the value '\\uEC76'.\r\n */\r\n laptopSelected: '\\uEC76',\r\n /**\r\n * Icon code with the value '\\uEECB'.\r\n */\r\n largeGrid: '\\uEECB',\r\n /**\r\n * Icon code with the value '\\uE8F1'.\r\n */\r\n library: '\\uE8F1',\r\n /**\r\n * Icon code with the value '\\uEF62'.\r\n */\r\n lifesaver: '\\uEF62',\r\n /**\r\n * Icon code with the value '\\uEF63'.\r\n */\r\n lifesaverLock: '\\uEF63',\r\n /**\r\n * Icon code with the value '\\uE793'.\r\n */\r\n light: '\\uE793',\r\n /**\r\n * Icon code with the value '\\uEA80'.\r\n */\r\n lightbulb: '\\uEA80',\r\n /**\r\n * Icon code with the value '\\uE945'.\r\n */\r\n lightningBolt: '\\uE945',\r\n /**\r\n * Icon code with the value '\\uE8E1'.\r\n */\r\n like: '\\uE8E1',\r\n /**\r\n * Icon code with the value '\\uE71B'.\r\n */\r\n link: '\\uE71B',\r\n /**\r\n * Icon code with the value '\\uEA37'.\r\n */\r\n list: '\\uEA37',\r\n /**\r\n * Icon code with the value '\\uEA55'.\r\n */\r\n listMirrored: '\\uEA55',\r\n /**\r\n * Icon code with the value '\\uE81D'.\r\n */\r\n location: '\\uE81D',\r\n /**\r\n * Icon code with the value '\\uE80E'.\r\n */\r\n locationCircle: '\\uE80E',\r\n /**\r\n * Icon code with the value '\\uE827'.\r\n */\r\n locationDot: '\\uE827',\r\n /**\r\n * Icon code with the value '\\uE920'.\r\n */\r\n locationFill: '\\uE920',\r\n /**\r\n * Icon code with the value '\\uE72E'.\r\n */\r\n lock: '\\uE72E',\r\n /**\r\n * Icon code with the value '\\uEC8A'.\r\n */\r\n lowerBrightness: '\\uEC8A',\r\n /**\r\n * Icon code with the value '\\uED79'.\r\n */\r\n lyncLogo: '\\uED79',\r\n /**\r\n * Icon code with the value '\\uE715'.\r\n */\r\n mail: '\\uE715',\r\n /**\r\n * Icon code with the value '\\uED80'.\r\n */\r\n mailAlert: '\\uED80',\r\n /**\r\n * Icon code with the value '\\uED81'.\r\n */\r\n mailCheck: '\\uED81',\r\n /**\r\n * Icon code with the value '\\uE8A8'.\r\n */\r\n mailFill: '\\uE8A8',\r\n /**\r\n * Icon code with the value '\\uE89C'.\r\n */\r\n mailForward: '\\uE89C',\r\n /**\r\n * Icon code with the value '\\uEA56'.\r\n */\r\n mailForwardMirrored: '\\uEA56',\r\n /**\r\n * Icon code with the value '\\uED82'.\r\n */\r\n mailLowImportance: '\\uED82',\r\n /**\r\n * Icon code with the value '\\uED83'.\r\n */\r\n mailPause: '\\uED83',\r\n /**\r\n * Icon code with the value '\\uED84'.\r\n */\r\n mailRepeat: '\\uED84',\r\n /**\r\n * Icon code with the value '\\uE8CA'.\r\n */\r\n mailReply: '\\uE8CA',\r\n /**\r\n * Icon code with the value '\\uE8C2'.\r\n */\r\n mailReplyAll: '\\uE8C2',\r\n /**\r\n * Icon code with the value '\\uEA58'.\r\n */\r\n mailReplyAllMirrored: '\\uEA58',\r\n /**\r\n * Icon code with the value '\\uEA57'.\r\n */\r\n mailReplyMirrored: '\\uEA57',\r\n /**\r\n * Icon code with the value '\\uE816'.\r\n */\r\n mapDirections: '\\uE816',\r\n /**\r\n * Icon code with the value '\\uE707'.\r\n */\r\n mapPin: '\\uE707',\r\n /**\r\n * Icon code with the value '\\uEAFC'.\r\n */\r\n market: '\\uEAFC',\r\n /**\r\n * Icon code with the value '\\uEF42'.\r\n */\r\n marketDown: '\\uEF42',\r\n /**\r\n * Icon code with the value '\\uE789'.\r\n */\r\n megaphone: '\\uE789',\r\n /**\r\n * Icon code with the value '\\uE77C'.\r\n */\r\n memo: '\\uE77C',\r\n /**\r\n * Icon code with the value '\\uE7D5'.\r\n */\r\n merge: '\\uE7D5',\r\n /**\r\n * Icon code with the value '\\uE8BD'.\r\n */\r\n message: '\\uE8BD',\r\n /**\r\n * Icon code with the value '\\uEC70'.\r\n */\r\n messageFill: '\\uEC70',\r\n /**\r\n * Icon code with the value '\\uE720'.\r\n */\r\n microphone: '\\uE720',\r\n /**\r\n * Icon code with the value '\\uF130'.\r\n */\r\n microsoftStaffhubLogo: '\\uF130',\r\n /**\r\n * Icon code with the value '\\uE732'.\r\n */\r\n miniLink: '\\uE732',\r\n /**\r\n * Icon code with the value '\\uEC75'.\r\n */\r\n mobileSelected: '\\uEC75',\r\n /**\r\n * Icon code with the value '\\uEAFD'.\r\n */\r\n money: '\\uEAFD',\r\n /**\r\n * Icon code with the value '\\uE712'.\r\n */\r\n more: '\\uE712',\r\n /**\r\n * Icon code with the value '\\uEB22'.\r\n */\r\n moreSports: '\\uEB22',\r\n /**\r\n * Icon code with the value '\\uE7C2'.\r\n */\r\n move: '\\uE7C2',\r\n /**\r\n * Icon code with the value '\\uE8DE'.\r\n */\r\n moveToFolder: '\\uE8DE',\r\n /**\r\n * Icon code with the value '\\uEB6C'.\r\n */\r\n msnLogo: '\\uEB6C',\r\n /**\r\n * Icon code with the value '\\uE762'.\r\n */\r\n multiSelect: '\\uE762',\r\n /**\r\n * Icon code with the value '\\uEA98'.\r\n */\r\n multiSelectMirrored: '\\uEA98',\r\n /**\r\n * Icon code with the value '\\uE940'.\r\n */\r\n musicInCollection: '\\uE940',\r\n /**\r\n * Icon code with the value '\\uEA36'.\r\n */\r\n musicInCollectionFill: '\\uEA36',\r\n /**\r\n * Icon code with the value '\\uEC4F'.\r\n */\r\n musicNote: '\\uEC4F',\r\n /**\r\n * Icon code with the value '\\uE800'.\r\n */\r\n nav2DMapView: '\\uE800',\r\n /**\r\n * Icon code with the value '\\uE8F4'.\r\n */\r\n newFolder: '\\uE8F4',\r\n /**\r\n * Icon code with the value '\\uE900'.\r\n */\r\n news: '\\uE900',\r\n /**\r\n * Icon code with the value '\\uED99'.\r\n */\r\n noteForward: '\\uED99',\r\n /**\r\n * Icon code with the value '\\uED9A'.\r\n */\r\n notePinned: '\\uED9A',\r\n /**\r\n * Icon code with the value '\\uED98'.\r\n */\r\n noteReply: '\\uED98',\r\n /**\r\n * Icon code with the value '\\uEDC4'.\r\n */\r\n numberField: '\\uEDC4',\r\n /**\r\n * Icon code with the value '\\uEA1C'.\r\n */\r\n numberedList: '\\uEA1C',\r\n /**\r\n * Icon code with the value '\\uEDCE'.\r\n */\r\n officeAssistantLogo: '\\uEDCE',\r\n /**\r\n * Icon code with the value '\\uEF86'.\r\n */\r\n officeFormLogo: '\\uEF86',\r\n /**\r\n * Icon code with the value '\\uEB6E'.\r\n */\r\n officeLogo: '\\uEB6E',\r\n /**\r\n * Icon code with the value '\\uEDCF'.\r\n */\r\n officeStoreLogo: '\\uEDCF',\r\n /**\r\n * Icon code with the value '\\uED7A'.\r\n */\r\n officeVideoLogo: '\\uED7A',\r\n /**\r\n * Icon code with the value '\\uEEC8'.\r\n */\r\n offlineOneDriveParachute: '\\uEEC8',\r\n /**\r\n * Icon code with the value '\\uEEC9'.\r\n */\r\n offlineOneDriveParachuteDisabled: '\\uEEC9',\r\n /**\r\n * Icon code with the value '\\uE941'.\r\n */\r\n oneDrive: '\\uE941',\r\n /**\r\n * Icon code with the value '\\uEF32'.\r\n */\r\n oneDriveAdd: '\\uEF32',\r\n /**\r\n * Icon code with the value '\\uEDD0'.\r\n */\r\n oneNoteEduLogo: '\\uEDD0',\r\n /**\r\n * Icon code with the value '\\uEC0D'.\r\n */\r\n oneNoteLogo: '\\uEC0D',\r\n /**\r\n * Icon code with the value '\\uE8E5'.\r\n */\r\n openFile: '\\uE8E5',\r\n /**\r\n * Icon code with the value '\\uED25'.\r\n */\r\n openFolderHorizontal: '\\uED25',\r\n /**\r\n * Icon code with the value '\\uE8A7'.\r\n */\r\n openInNewWindow: '\\uE8A7',\r\n /**\r\n * Icon code with the value '\\uE8A0'.\r\n */\r\n openPane: '\\uE8A0',\r\n /**\r\n * Icon code with the value '\\uEA5B'.\r\n */\r\n openPaneMirrored: '\\uEA5B',\r\n /**\r\n * Icon code with the value '\\uECA6'.\r\n */\r\n org: '\\uECA6',\r\n /**\r\n * Icon code with the value '\\uED34'.\r\n */\r\n outOfOffice: '\\uED34',\r\n /**\r\n * Icon code with the value '\\uEB6D'.\r\n */\r\n outlookLogo: '\\uEB6D',\r\n /**\r\n * Icon code with the value '\\uE7C3'.\r\n */\r\n page: '\\uE7C3',\r\n /**\r\n * Icon code with the value '\\uEA1A'.\r\n */\r\n pageAdd: '\\uEA1A',\r\n /**\r\n * Icon code with the value '\\uF02C'.\r\n */\r\n pageCheckedOut: '\\uF02C',\r\n /**\r\n * Icon code with the value '\\uF104'.\r\n */\r\n pageCheckedin: '\\uF104',\r\n /**\r\n * Icon code with the value '\\uE760'.\r\n */\r\n pageLeft: '\\uE760',\r\n /**\r\n * Icon code with the value '\\uE761'.\r\n */\r\n pageRight: '\\uE761',\r\n /**\r\n * Icon code with the value '\\uE729'.\r\n */\r\n pageSolid: '\\uE729',\r\n /**\r\n * Icon code with the value '\\uE7B0'.\r\n */\r\n panoIndicator: '\\uE7B0',\r\n /**\r\n * Icon code with the value '\\uED7B'.\r\n */\r\n paratureLogo: '\\uED7B',\r\n /**\r\n * Icon code with the value '\\uE9C0'.\r\n */\r\n partlyCloudyDay: '\\uE9C0',\r\n /**\r\n * Icon code with the value '\\uE9C1'.\r\n */\r\n partlyCloudyNight: '\\uE9C1',\r\n /**\r\n * Icon code with the value '\\uECA7'.\r\n */\r\n partyLeader: '\\uECA7',\r\n /**\r\n * Icon code with the value '\\uE769'.\r\n */\r\n pause: '\\uE769',\r\n /**\r\n * Icon code with the value '\\uE8C7'.\r\n */\r\n paymentCard: '\\uE8C7',\r\n /**\r\n * Icon code with the value '\\uE977'.\r\n */\r\n pc1: '\\uE977',\r\n /**\r\n * Icon code with the value '\\uEA90'.\r\n */\r\n pdf: '\\uEA90',\r\n /**\r\n * Icon code with the value '\\uEF7B'.\r\n */\r\n pencilReply: '\\uEF7B',\r\n /**\r\n * Icon code with the value '\\uE716'.\r\n */\r\n people: '\\uE716',\r\n /**\r\n * Icon code with the value '\\uEA15'.\r\n */\r\n peopleAdd: '\\uEA15',\r\n /**\r\n * Icon code with the value '\\uED93'.\r\n */\r\n peopleAlert: '\\uED93',\r\n /**\r\n * Icon code with the value '\\uED91'.\r\n */\r\n peopleBlock: '\\uED91',\r\n /**\r\n * Icon code with the value '\\uED94'.\r\n */\r\n peoplePause: '\\uED94',\r\n /**\r\n * Icon code with the value '\\uED92'.\r\n */\r\n peopleRepeat: '\\uED92',\r\n /**\r\n * Icon code with the value '\\uE8D7'.\r\n */\r\n permissions: '\\uE8D7',\r\n /**\r\n * Icon code with the value '\\uE717'.\r\n */\r\n phone: '\\uE717',\r\n /**\r\n * Icon code with the value '\\uEB9F'.\r\n */\r\n photo2: '\\uEB9F',\r\n /**\r\n * Icon code with the value '\\uECAB'.\r\n */\r\n photo2Add: '\\uECAB',\r\n /**\r\n * Icon code with the value '\\uECAC'.\r\n */\r\n photo2Remove: '\\uECAC',\r\n /**\r\n * Icon code with the value '\\uE7AA'.\r\n */\r\n photoCollection: '\\uE7AA',\r\n /**\r\n * Icon code with the value '\\uE8B9'.\r\n */\r\n picture: '\\uE8B9',\r\n /**\r\n * Icon code with the value '\\uEEC2'.\r\n */\r\n pictureLibrary: '\\uEEC2',\r\n /**\r\n * Icon code with the value '\\uEB04'.\r\n */\r\n pieDouble: '\\uEB04',\r\n /**\r\n * Icon code with the value '\\uEACB'.\r\n */\r\n pill: '\\uEACB',\r\n /**\r\n * Icon code with the value '\\uE718'.\r\n */\r\n pin: '\\uE718',\r\n /**\r\n * Icon code with the value '\\uE840'.\r\n */\r\n pinned: '\\uE840',\r\n /**\r\n * Icon code with the value '\\uE842'.\r\n */\r\n pinnedFill: '\\uE842',\r\n /**\r\n * Icon code with the value '\\uEDD1'.\r\n */\r\n planner: '\\uEDD1',\r\n /**\r\n * Icon code with the value '\\uE768'.\r\n */\r\n play: '\\uE768',\r\n /**\r\n * Icon code with the value '\\uEF58'.\r\n */\r\n playerSettings: '\\uEF58',\r\n /**\r\n * Icon code with the value '\\uECAF'.\r\n */\r\n poi: '\\uECAF',\r\n /**\r\n * Icon code with the value '\\uE8F3'.\r\n */\r\n postUpdate: '\\uE8F3',\r\n /**\r\n * Icon code with the value '\\uF092'.\r\n */\r\n powerApps2Logo: '\\uF092',\r\n /**\r\n * Icon code with the value '\\uEDD2'.\r\n */\r\n powerApps: '\\uEDD2',\r\n /**\r\n * Icon code with the value '\\uF091'.\r\n */\r\n powerAppsLogo: '\\uF091',\r\n /**\r\n * Icon code with the value '\\uEA1E'.\r\n */\r\n powerBiLogo: '\\uEA1E',\r\n /**\r\n * Icon code with the value '\\uEF72'.\r\n */\r\n powerPointDocument: '\\uEF72',\r\n /**\r\n * Icon code with the value '\\uEC2A'.\r\n */\r\n powerPointLogo: '\\uEC2A',\r\n /**\r\n * Icon code with the value '\\uE9CF'.\r\n */\r\n precipitation: '\\uE9CF',\r\n /**\r\n * Icon code with the value '\\uE979'.\r\n */\r\n presenceChickletVideo: '\\uE979',\r\n /**\r\n * Icon code with the value '\\uE8FF'.\r\n */\r\n preview: '\\uE8FF',\r\n /**\r\n * Icon code with the value '\\uE8A1'.\r\n */\r\n previewLink: '\\uE8A1',\r\n /**\r\n * Icon code with the value '\\uE749'.\r\n */\r\n print: '\\uE749',\r\n /**\r\n * Icon code with the value '\\uE956'.\r\n */\r\n printfaxPrinterFile: '\\uE956',\r\n /**\r\n * Icon code with the value '\\uEB27'.\r\n */\r\n proFootball: '\\uEB27',\r\n /**\r\n * Icon code with the value '\\uEB28'.\r\n */\r\n proHockey: '\\uEB28',\r\n /**\r\n * Icon code with the value '\\uECDC'.\r\n */\r\n product: '\\uECDC',\r\n /**\r\n * Icon code with the value '\\uEDD4'.\r\n */\r\n projectLogo: '\\uEDD4',\r\n /**\r\n * Icon code with the value '\\uE8A6'.\r\n */\r\n protectedDocument: '\\uE8A6',\r\n /**\r\n * Icon code with the value '\\uEF6D'.\r\n */\r\n publicCalendar: '\\uEF6D',\r\n /**\r\n * Icon code with the value '\\uEF6E'.\r\n */\r\n publicContactCard: '\\uEF6E',\r\n /**\r\n * Icon code with the value '\\uEF6F'.\r\n */\r\n publicEmail: '\\uEF6F',\r\n /**\r\n * Icon code with the value '\\uEF70'.\r\n */\r\n publicFolder: '\\uEF70',\r\n /**\r\n * Icon code with the value '\\uEA86'.\r\n */\r\n puzzle: '\\uEA86',\r\n /**\r\n * Icon code with the value '\\uEE19'.\r\n */\r\n questionnaire: '\\uEE19',\r\n /**\r\n * Icon code with the value '\\uEE4B'.\r\n */\r\n questionnaireMirrored: '\\uEE4B',\r\n /**\r\n * Icon code with the value '\\uE70B'.\r\n */\r\n quickNote: '\\uE70B',\r\n /**\r\n * Icon code with the value '\\uECCB'.\r\n */\r\n radioBtnOn: '\\uECCB',\r\n /**\r\n * Icon code with the value '\\uE915'.\r\n */\r\n radioBullet: '\\uE915',\r\n /**\r\n * Icon code with the value '\\uE9C4'.\r\n */\r\n rain: '\\uE9C4',\r\n /**\r\n * Icon code with the value '\\uE9C3'.\r\n */\r\n rainShowersDay: '\\uE9C3',\r\n /**\r\n * Icon code with the value '\\uEA0F'.\r\n */\r\n rainShowersNight: '\\uEA0F',\r\n /**\r\n * Icon code with the value '\\uE9C7'.\r\n */\r\n rainSnow: '\\uE9C7',\r\n /**\r\n * Icon code with the value '\\uE8C3'.\r\n */\r\n read: '\\uE8C3',\r\n /**\r\n * Icon code with the value '\\uE736'.\r\n */\r\n readingMode: '\\uE736',\r\n /**\r\n * Icon code with the value '\\uEF5B'.\r\n */\r\n receiptCheck: '\\uEF5B',\r\n /**\r\n * Icon code with the value '\\uEF59'.\r\n */\r\n receiptForward: '\\uEF59',\r\n /**\r\n * Icon code with the value '\\uEF5A'.\r\n */\r\n receiptReply: '\\uEF5A',\r\n /**\r\n * Icon code with the value '\\uE823'.\r\n */\r\n recent: '\\uE823',\r\n /**\r\n * Icon code with the value '\\uEF5D'.\r\n */\r\n recurringEvent: '\\uEF5D',\r\n /**\r\n * Icon code with the value '\\uEDB2'.\r\n */\r\n recurringTask: '\\uEDB2',\r\n /**\r\n * Icon code with the value '\\uEF87'.\r\n */\r\n recycleBin: '\\uEF87',\r\n /**\r\n * Icon code with the value '\\uE7B3'.\r\n */\r\n redEye: '\\uE7B3',\r\n /**\r\n * Icon code with the value '\\uE7A6'.\r\n */\r\n redo: '\\uE7A6',\r\n /**\r\n * Icon code with the value '\\uE72C'.\r\n */\r\n refresh: '\\uE72C',\r\n /**\r\n * Icon code with the value '\\uEBF8'.\r\n */\r\n reminderGroup: '\\uEBF8',\r\n /**\r\n * Icon code with the value '\\uE738'.\r\n */\r\n remove: '\\uE738',\r\n /**\r\n * Icon code with the value '\\uED8A'.\r\n */\r\n removeEvent: '\\uED8A',\r\n /**\r\n * Icon code with the value '\\uEB08'.\r\n */\r\n removeFilter: '\\uEB08',\r\n /**\r\n * Icon code with the value '\\uED90'.\r\n */\r\n removeLink: '\\uED90',\r\n /**\r\n * Icon code with the value '\\uED9B'.\r\n */\r\n removeOccurrence: '\\uED9B',\r\n /**\r\n * Icon code with the value '\\uE8AC'.\r\n */\r\n rename: '\\uE8AC',\r\n /**\r\n * Icon code with the value '\\uED50'.\r\n */\r\n reopenPages: '\\uED50',\r\n /**\r\n * Icon code with the value '\\uE90F'.\r\n */\r\n repair: '\\uE90F',\r\n /**\r\n * Icon code with the value '\\uE97A'.\r\n */\r\n reply: '\\uE97A',\r\n /**\r\n * Icon code with the value '\\uEE0A'.\r\n */\r\n replyAll: '\\uEE0A',\r\n /**\r\n * Icon code with the value '\\uEF5F'.\r\n */\r\n replyAllAlt: '\\uEF5F',\r\n /**\r\n * Icon code with the value '\\uEE36'.\r\n */\r\n replyAllMirrored: '\\uEE36',\r\n /**\r\n * Icon code with the value '\\uEF5E'.\r\n */\r\n replyAlt: '\\uEF5E',\r\n /**\r\n * Icon code with the value '\\uEE35'.\r\n */\r\n replyMirrored: '\\uEE35',\r\n /**\r\n * Icon code with the value '\\uEEBB'.\r\n */\r\n reportLibrary: '\\uEEBB',\r\n /**\r\n * Icon code with the value '\\uEEBC'.\r\n */\r\n reportLibraryMirrored: '\\uEEBC',\r\n /**\r\n * Icon code with the value '\\uED24'.\r\n */\r\n returnToSession: '\\uED24',\r\n /**\r\n * Icon code with the value '\\uE845'.\r\n */\r\n revToggleKey: '\\uE845',\r\n /**\r\n * Icon code with the value '\\uE9D1'.\r\n */\r\n ribbon: '\\uE9D1',\r\n /**\r\n * Icon code with the value '\\uE9B1'.\r\n */\r\n rightDoubleQuote: '\\uE9B1',\r\n /**\r\n * Icon code with the value '\\uEA8F'.\r\n */\r\n ringer: '\\uEA8F',\r\n /**\r\n * Icon code with the value '\\uED9F'.\r\n */\r\n room: '\\uED9F',\r\n /**\r\n * Icon code with the value '\\uE7AD'.\r\n */\r\n rotate: '\\uE7AD',\r\n /**\r\n * Icon code with the value '\\uEB2D'.\r\n */\r\n rugby: '\\uEB2D',\r\n /**\r\n * Icon code with the value '\\uEADA'.\r\n */\r\n running: '\\uEADA',\r\n /**\r\n * Icon code with the value '\\uE757'.\r\n */\r\n sad: '\\uE757',\r\n /**\r\n * Icon code with the value '\\uE74E'.\r\n */\r\n save: '\\uE74E',\r\n /**\r\n * Icon code with the value '\\uE792'.\r\n */\r\n saveAs: '\\uE792',\r\n /**\r\n * Icon code with the value '\\uE721'.\r\n */\r\n search: '\\uE721',\r\n /**\r\n * Icon code with the value '\\uEC0C'.\r\n */\r\n section: '\\uEC0C',\r\n /**\r\n * Icon code with the value '\\uEF76'.\r\n */\r\n sections: '\\uEF76',\r\n /**\r\n * Icon code with the value '\\uED85'.\r\n */\r\n securityGroup: '\\uED85',\r\n /**\r\n * Icon code with the value '\\uE724'.\r\n */\r\n send: '\\uE724',\r\n /**\r\n * Icon code with the value '\\uEA63'.\r\n */\r\n sendMirrored: '\\uEA63',\r\n /**\r\n * Icon code with the value '\\uF071'.\r\n */\r\n setAction: '\\uF071',\r\n /**\r\n * Icon code with the value '\\uE713'.\r\n */\r\n settings: '\\uE713',\r\n /**\r\n * Icon code with the value '\\uE72D'.\r\n */\r\n share: '\\uE72D',\r\n /**\r\n * Icon code with the value '\\uEF79'.\r\n */\r\n shareiOs: '\\uEF79',\r\n /**\r\n * Icon code with the value '\\uED18'.\r\n */\r\n sharepointLogo: '\\uED18',\r\n /**\r\n * Icon code with the value '\\uEA18'.\r\n */\r\n shield: '\\uEA18',\r\n /**\r\n * Icon code with the value '\\uE719'.\r\n */\r\n shop: '\\uE719',\r\n /**\r\n * Icon code with the value '\\uE7BF'.\r\n */\r\n shoppingCart: '\\uE7BF',\r\n /**\r\n * Icon code with the value '\\uE8BC'.\r\n */\r\n showResults: '\\uE8BC',\r\n /**\r\n * Icon code with the value '\\uEA65'.\r\n */\r\n showResultsMirrored: '\\uEA65',\r\n /**\r\n * Icon code with the value '\\uEF52'.\r\n */\r\n sidePanel: '\\uEF52',\r\n /**\r\n * Icon code with the value '\\uEDFF'.\r\n */\r\n singleBookmark: '\\uEDFF',\r\n /**\r\n * Icon code with the value '\\uE759'.\r\n */\r\n sipMove: '\\uE759',\r\n /**\r\n * Icon code with the value '\\uEF80'.\r\n */\r\n skypeCheck: '\\uEF80',\r\n /**\r\n * Icon code with the value '\\uEF7D'.\r\n */\r\n skypeCircleCheck: '\\uEF7D',\r\n /**\r\n * Icon code with the value '\\uEF7E'.\r\n */\r\n skypeCircleClock: '\\uEF7E',\r\n /**\r\n * Icon code with the value '\\uEF7F'.\r\n */\r\n skypeCircleMinus: '\\uEF7F',\r\n /**\r\n * Icon code with the value '\\uEF81'.\r\n */\r\n skypeClock: '\\uEF81',\r\n /**\r\n * Icon code with the value '\\uEB6F'.\r\n */\r\n skypeLogo: '\\uEB6F',\r\n /**\r\n * Icon code with the value '\\uEF83'.\r\n */\r\n skypeMessage: '\\uEF83',\r\n /**\r\n * Icon code with the value '\\uEF82'.\r\n */\r\n skypeMinus: '\\uEF82',\r\n /**\r\n * Icon code with the value '\\uEC13'.\r\n */\r\n sliderThumb: '\\uEC13',\r\n /**\r\n * Icon code with the value '\\uEB46'.\r\n */\r\n snow: '\\uEB46',\r\n /**\r\n * Icon code with the value '\\uE9FD'.\r\n */\r\n snowShowerDay: '\\uE9FD',\r\n /**\r\n * Icon code with the value '\\uEA11'.\r\n */\r\n snowShowerNight: '\\uEA11',\r\n /**\r\n * Icon code with the value '\\uEB21'.\r\n */\r\n soccer: '\\uEB21',\r\n /**\r\n * Icon code with the value '\\uED7C'.\r\n */\r\n socialListeningLogo: '\\uED7C',\r\n /**\r\n * Icon code with the value '\\uE8CB'.\r\n */\r\n sort: '\\uE8CB',\r\n /**\r\n * Icon code with the value '\\uEE69'.\r\n */\r\n sortDown: '\\uEE69',\r\n /**\r\n * Icon code with the value '\\uE9D0'.\r\n */\r\n sortLines: '\\uE9D0',\r\n /**\r\n * Icon code with the value '\\uEE68'.\r\n */\r\n sortUp: '\\uEE68',\r\n /**\r\n * Icon code with the value '\\uE7F5'.\r\n */\r\n speakers: '\\uE7F5',\r\n /**\r\n * Icon code with the value '\\uEC4A'.\r\n */\r\n speedHigh: '\\uEC4A',\r\n /**\r\n * Icon code with the value '\\uEDBC'.\r\n */\r\n split: '\\uEDBC',\r\n /**\r\n * Icon code with the value '\\uE9CC'.\r\n */\r\n squalls: '\\uE9CC',\r\n /**\r\n * Icon code with the value '\\uE7FF'.\r\n */\r\n stackIndicator: '\\uE7FF',\r\n /**\r\n * Icon code with the value '\\uEF78'.\r\n */\r\n starburst: '\\uEF78',\r\n /**\r\n * Icon code with the value '\\uEB90'.\r\n */\r\n statusErrorFull: '\\uEB90',\r\n /**\r\n * Icon code with the value '\\uEA82'.\r\n */\r\n statusTriangle: '\\uEA82',\r\n /**\r\n * Icon code with the value '\\uEB0F'.\r\n */\r\n stockDown: '\\uEB0F',\r\n /**\r\n * Icon code with the value '\\uEB11'.\r\n */\r\n stockUp: '\\uEB11',\r\n /**\r\n * Icon code with the value '\\uE916'.\r\n */\r\n stopwatch: '\\uE916',\r\n /**\r\n * Icon code with the value '\\uEA96'.\r\n */\r\n storeLogo: '\\uEA96',\r\n /**\r\n * Icon code with the value '\\uEA04'.\r\n */\r\n storeLogoMed: '\\uEA04',\r\n /**\r\n * Icon code with the value '\\uEDE0'.\r\n */\r\n strikethrough: '\\uEDE0',\r\n /**\r\n * Icon code with the value '\\uEDA1'.\r\n */\r\n subscribe: '\\uEDA1',\r\n /**\r\n * Icon code with the value '\\uEDDF'.\r\n */\r\n subscript: '\\uEDDF',\r\n /**\r\n * Icon code with the value '\\uEDD3'.\r\n */\r\n suitcase: '\\uEDD3',\r\n /**\r\n * Icon code with the value '\\uEF69'.\r\n */\r\n sunAdd: '\\uEF69',\r\n /**\r\n * Icon code with the value '\\uEF6A'.\r\n */\r\n sunQuestionMark: '\\uEF6A',\r\n /**\r\n * Icon code with the value '\\uE9BD'.\r\n */\r\n sunny: '\\uE9BD',\r\n /**\r\n * Icon code with the value '\\uEDDE'.\r\n */\r\n superscript: '\\uEDDE',\r\n /**\r\n * Icon code with the value '\\uED29'.\r\n */\r\n swayLogo: '\\uED29',\r\n /**\r\n * Icon code with the value '\\uE8AB'.\r\n */\r\n switcher: '\\uE8AB',\r\n /**\r\n * Icon code with the value '\\uE810'.\r\n */\r\n switcherStartEnd: '\\uE810',\r\n /**\r\n * Icon code with the value '\\uE895'.\r\n */\r\n sync: '\\uE895',\r\n /**\r\n * Icon code with the value '\\uE8F7'.\r\n */\r\n syncFolder: '\\uE8F7',\r\n /**\r\n * Icon code with the value '\\uEE6E'.\r\n */\r\n syncToPc: '\\uEE6E',\r\n /**\r\n * Icon code with the value '\\uE770'.\r\n */\r\n system: '\\uE770',\r\n /**\r\n * Icon code with the value '\\uE7E9'.\r\n */\r\n tab: '\\uE7E9',\r\n /**\r\n * Icon code with the value '\\uED86'.\r\n */\r\n table: '\\uED86',\r\n /**\r\n * Icon code with the value '\\uE70A'.\r\n */\r\n tablet: '\\uE70A',\r\n /**\r\n * Icon code with the value '\\uEC74'.\r\n */\r\n tabletSelected: '\\uEC74',\r\n /**\r\n * Icon code with the value '\\uE8EC'.\r\n */\r\n tag: '\\uE8EC',\r\n /**\r\n * Icon code with the value '\\uEDB7'.\r\n */\r\n taskManager: '\\uEDB7',\r\n /**\r\n * Icon code with the value '\\uEDB8'.\r\n */\r\n taskManagerMirrored: '\\uEDB8',\r\n /**\r\n * Icon code with the value '\\uEA12'.\r\n */\r\n teamwork: '\\uEA12',\r\n /**\r\n * Icon code with the value '\\uEE58'.\r\n */\r\n temporaryUser: '\\uEE58',\r\n /**\r\n * Icon code with the value '\\uEB33'.\r\n */\r\n tennis: '\\uEB33',\r\n /**\r\n * Icon code with the value '\\uEDC2'.\r\n */\r\n textBox: '\\uEDC2',\r\n /**\r\n * Icon code with the value '\\uEDC3'.\r\n */\r\n textField: '\\uEDC3',\r\n /**\r\n * Icon code with the value '\\uE7B6'.\r\n */\r\n thumbnailView: '\\uE7B6',\r\n /**\r\n * Icon code with the value '\\uEA67'.\r\n */\r\n thumbnailViewMirrored: '\\uEA67',\r\n /**\r\n * Icon code with the value '\\uE9C6'.\r\n */\r\n thunderstorms: '\\uE9C6',\r\n /**\r\n * Icon code with the value '\\uEB54'.\r\n */\r\n ticket: '\\uEB54',\r\n /**\r\n * Icon code with the value '\\uEF7C'.\r\n */\r\n tiles2: '\\uEF7C',\r\n /**\r\n * Icon code with the value '\\uECA5'.\r\n */\r\n tiles: '\\uECA5',\r\n /**\r\n * Icon code with the value '\\uED9C'.\r\n */\r\n timeline: '\\uED9C',\r\n /**\r\n * Icon code with the value '\\uE91E'.\r\n */\r\n timer: '\\uE91E',\r\n /**\r\n * Icon code with the value '\\uEC12'.\r\n */\r\n toggleBorder: '\\uEC12',\r\n /**\r\n * Icon code with the value '\\uEC11'.\r\n */\r\n toggleFilled: '\\uEC11',\r\n /**\r\n * Icon code with the value '\\uEC14'.\r\n */\r\n toggleThumb: '\\uEC14',\r\n /**\r\n * Icon code with the value '\\uE815'.\r\n */\r\n touch: '\\uE815',\r\n /**\r\n * Icon code with the value '\\uE7C9'.\r\n */\r\n touchPointer: '\\uE7C9',\r\n /**\r\n * Icon code with the value '\\uE7C0'.\r\n */\r\n train: '\\uE7C0',\r\n /**\r\n * Icon code with the value '\\uEB4D'.\r\n */\r\n trainSolid: '\\uEB4D',\r\n /**\r\n * Icon code with the value '\\uED95'.\r\n */\r\n transferCall: '\\uED95',\r\n /**\r\n * Icon code with the value '\\uE74D'.\r\n */\r\n trash: '\\uE74D',\r\n /**\r\n * Icon code with the value '\\uEED1'.\r\n */\r\n triangleDown12: '\\uEED1',\r\n /**\r\n * Icon code with the value '\\uEED2'.\r\n */\r\n triangleLeft12: '\\uEED2',\r\n /**\r\n * Icon code with the value '\\uEED3'.\r\n */\r\n triangleRight12: '\\uEED3',\r\n /**\r\n * Icon code with the value '\\uEECD'.\r\n */\r\n triangleSolidDown12: '\\uEECD',\r\n /**\r\n * Icon code with the value '\\uEECE'.\r\n */\r\n triangleSolidLeft12: '\\uEECE',\r\n /**\r\n * Icon code with the value '\\uEECF'.\r\n */\r\n triangleSolidRight12: '\\uEECF',\r\n /**\r\n * Icon code with the value '\\uEECC'.\r\n */\r\n triangleSolidUp12: '\\uEECC',\r\n /**\r\n * Icon code with the value '\\uEED0'.\r\n */\r\n triangleUp12: '\\uEED0',\r\n /**\r\n * Icon code with the value '\\uED3F'.\r\n */\r\n trophy: '\\uED3F',\r\n /**\r\n * Icon code with the value '\\uE7DB'.\r\n */\r\n turnRight: '\\uE7DB',\r\n /**\r\n * Icon code with the value '\\uE7F4'.\r\n */\r\n tvMonitor: '\\uE7F4',\r\n /**\r\n * Icon code with the value '\\uEC77'.\r\n */\r\n tvMonitorSelected: '\\uEC77',\r\n /**\r\n * Icon code with the value '\\uE8DC'.\r\n */\r\n underline: '\\uE8DC',\r\n /**\r\n * Icon code with the value '\\uE7A7'.\r\n */\r\n undo: '\\uE7A7',\r\n /**\r\n * Icon code with the value '\\uE8D9'.\r\n */\r\n unfavorite: '\\uE8D9',\r\n /**\r\n * Icon code with the value '\\uED97'.\r\n */\r\n unknownCall: '\\uED97',\r\n /**\r\n * Icon code with the value '\\uE785'.\r\n */\r\n unlock: '\\uE785',\r\n /**\r\n * Icon code with the value '\\uE77A'.\r\n */\r\n unpin: '\\uE77A',\r\n /**\r\n * Icon code with the value '\\uEDA0'.\r\n */\r\n unsubscribe: '\\uEDA0',\r\n /**\r\n * Icon code with the value '\\uE8F6'.\r\n */\r\n unsyncFolder: '\\uE8F6',\r\n /**\r\n * Icon code with the value '\\uE74A'.\r\n */\r\n up: '\\uE74A',\r\n /**\r\n * Icon code with the value '\\uE898'.\r\n */\r\n upload: '\\uE898',\r\n /**\r\n * Icon code with the value '\\uE714'.\r\n */\r\n video: '\\uE714',\r\n /**\r\n * Icon code with the value '\\uEA0C'.\r\n */\r\n videoSolid: '\\uEA0C',\r\n /**\r\n * Icon code with the value '\\uE890'.\r\n */\r\n view: '\\uE890',\r\n /**\r\n * Icon code with the value '\\uEF56'.\r\n */\r\n viewAll2: '\\uEF56',\r\n /**\r\n * Icon code with the value '\\uE8A9'.\r\n */\r\n viewAll: '\\uE8A9',\r\n /**\r\n * Icon code with the value '\\uED7D'.\r\n */\r\n visioLogo: '\\uED7D',\r\n /**\r\n * Icon code with the value '\\uED87'.\r\n */\r\n voicemailForward: '\\uED87',\r\n /**\r\n * Icon code with the value '\\uED88'.\r\n */\r\n voicemailReply: '\\uED88',\r\n /**\r\n * Icon code with the value '\\uE992'.\r\n */\r\n volume0: '\\uE992',\r\n /**\r\n * Icon code with the value '\\uE993'.\r\n */\r\n volume1: '\\uE993',\r\n /**\r\n * Icon code with the value '\\uE994'.\r\n */\r\n volume2: '\\uE994',\r\n /**\r\n * Icon code with the value '\\uE995'.\r\n */\r\n volume3: '\\uE995',\r\n /**\r\n * Icon code with the value '\\uEA85'.\r\n */\r\n volumeDisabled: '\\uEA85',\r\n /**\r\n * Icon code with the value '\\uED89'.\r\n */\r\n waffle: '\\uED89',\r\n /**\r\n * Icon code with the value '\\uE7BA'.\r\n */\r\n warning: '\\uE7BA',\r\n /**\r\n * Icon code with the value '\\uEB41'.\r\n */\r\n website: '\\uEB41',\r\n /**\r\n * Icon code with the value '\\uEADB'.\r\n */\r\n weights: '\\uEADB',\r\n /**\r\n * Icon code with the value '\\uEBE6'.\r\n */\r\n windDirection: '\\uEBE6',\r\n /**\r\n * Icon code with the value '\\uE782'.\r\n */\r\n windowsLogo: '\\uE782',\r\n /**\r\n * Icon code with the value '\\uED8D'.\r\n */\r\n wipePhone: '\\uED8D',\r\n /**\r\n * Icon code with the value '\\uEF71'.\r\n */\r\n wordDocument: '\\uEF71',\r\n /**\r\n * Icon code with the value '\\uEC29'.\r\n */\r\n wordLogo: '\\uEC29',\r\n /**\r\n * Icon code with the value '\\uE821'.\r\n */\r\n work: '\\uE821',\r\n /**\r\n * Icon code with the value '\\uEA01'.\r\n */\r\n workFlow: '\\uEA01',\r\n /**\r\n * Icon code with the value '\\uE918'.\r\n */\r\n worldClock: '\\uE918',\r\n /**\r\n * Icon code with the value '\\uED19'.\r\n */\r\n yammerLogo: '\\uED19',\r\n /**\r\n * Icon code with the value '\\uE71E'.\r\n */\r\n zoom: '\\uE71E',\r\n /**\r\n * Icon code with the value '\\uE8A3'.\r\n */\r\n zoomIn: '\\uE8A3',\r\n /**\r\n * Icon code with the value '\\uE71F'.\r\n */\r\n zoomOut: '\\uE71F'\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ../../src/styles/IconCodes.ts","import { mergeStyles } from '../utilities/index';\r\nimport { IProcessedStyle } from '../interfaces/index';\r\nimport { ITheme } from '../utilities/theme';\r\nimport { parent } from '../glamorExports';\r\n\r\n/**\r\n * Generates a focus style which can be used to define an :after focus border.\r\n *\r\n * @param theme - The theme object to use.\r\n * @param inset - The number of pixels to inset the border.\r\n * @param color - The color for the border.\r\n * @param position - The positioning applied to the container. Must\r\n * be 'relative' or 'absolute' so that the focus border can live around it.\r\n * @returns The style object.\r\n */\r\nexport function getFocusStyle(\r\n theme: ITheme,\r\n inset: string = '0',\r\n color: string = theme.palette.neutralSecondary,\r\n position: 'relative' | 'absolute' = 'relative'\r\n): IProcessedStyle {\r\n return mergeStyles(\r\n {\r\n outline: 'transparent',\r\n position\r\n },\r\n parent('.ms-Fabric.is-focusVisible', {\r\n ':focus:after': {\r\n content: '\"\"',\r\n position: 'absolute',\r\n left: inset,\r\n top: inset,\r\n bottom: inset,\r\n right: inset,\r\n border: '1px solid ' + color\r\n }\r\n })\r\n );\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../src/styles/getFocusStyle.ts","import { css, Rule } from 'glamor';\r\nimport { IStyle, IProcessedStyle } from '../interfaces/index';\r\n\r\n/**\r\n * Takes a collection of collection of styles, defined in various formats, and compresses them into\r\n * a single thing of one format to return.\r\n * If any class names (strings) are passed in, it will return a list of space-separated class names,\r\n * using glamor to generate a class name for all passed in style objects.\r\n * Otherwise, all style objects passed in will be compressed into a single IProcessedStyle.\r\n *\r\n * @export\r\n * @param {(...(IStyle | string)[])} args\r\n * @returns {IStyle}\r\n */\r\nexport function mergeStyles(...args: (IStyle | string)[]): IProcessedStyle | string {\r\n const classes: string[] = [];\r\n const rules: Rule[] = [];\r\n\r\n function _parseArgs(theArgs: (IStyle | string)[]): void {\r\n for (const arg of theArgs) {\r\n if (arg) {\r\n if (typeof arg === 'string') {\r\n classes.push(arg);\r\n } else if (Array.isArray(arg)) {\r\n _parseArgs(arg);\r\n } else {\r\n rules.push(arg as Rule);\r\n }\r\n }\r\n }\r\n }\r\n\r\n _parseArgs(args);\r\n\r\n const rulesObject: IStyle = rules.length ? css(...rules) : null;\r\n\r\n if (classes.length) {\r\n if (rulesObject) {\r\n classes.push(rulesObject.toString());\r\n }\r\n return classes.join(' ');\r\n }\r\n\r\n return rulesObject;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../src/utilities/mergeStyles.ts","import { mergeStyles } from './mergeStyles';\r\n\r\n/**\r\n * Merges a give set of styles by running mergeStyles for each unique key. Works\r\n * like Object.assign in that it layers them in the argument order specified, but will\r\n * not mutate them and will return the merged result.\r\n */\r\nexport function mergeStyleSets<T>(...args: T[]): T {\r\n const mergedRules: T = {} as T;\r\n const setStyles = {};\r\n\r\n args.forEach((arg: T) => arg && Object.keys(arg).forEach((key: string) => {\r\n if (!setStyles[key]) {\r\n setStyles[key] = [];\r\n }\r\n setStyles[key].push(arg[key]);\r\n }));\r\n\r\n Object.keys(setStyles).forEach((key: string) => {\r\n mergedRules[key] = mergeStyles(setStyles[key]);\r\n });\r\n\r\n return mergedRules;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../src/utilities/mergeStyleSets.ts","import { mergeStyles } from './mergeStyles';\r\n\r\n/**\r\n * Builds a class names object from a given map.\r\n *\r\n * @param styles - Map of unprocessed styles.\r\n * @returns Map of property name to class name.\r\n */\r\nexport function buildClassMap<T>(styles: T): {[key in keyof T]?: string } {\r\n return Object\r\n .keys(styles)\r\n .reduce((classNames: {[key in keyof T]?: string }, className: string) => {\r\n classNames[className] = mergeStyles(styles[className]).toString();\r\n return classNames;\r\n }, {});\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../src/utilities/buildClassMap.ts","import { buildClassMap } from '../utilities/index';\r\nimport { IFontStyles } from '../interfaces/index';\r\nimport { DefaultFontStyles } from '../styles/index';\r\n\r\nexport const FontClassNames: {[key in keyof IFontStyles]?: string } = buildClassMap(DefaultFontStyles);\r\n\n\n\n// WEBPACK FOOTER //\n// ../../src/classNames/FontClassNames.ts","import { IconCodes, DefaultFontStyles } from '../styles/index';\r\nimport {\r\n mergeStyles\r\n} from '../utilities/index';\r\n\r\n/**\r\n * All class names for all Fabric icons.\r\n */\r\nexport const IconClassNames: {[key in keyof typeof IconCodes]?: string } = {};\r\n\r\n// tslint:disable-next-line:forin\r\nfor (const iconName in IconCodes) {\r\n Object.defineProperty(IconClassNames, iconName, {\r\n get: (): string => {\r\n let className = mergeStyles(\r\n DefaultFontStyles.icon,\r\n {\r\n ':before': {\r\n content: `\"${IconCodes[iconName]}\"`\r\n }\r\n },\r\n ).toString();\r\n return className;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../src/classNames/IconClassNames.ts","import { getTheme, mergeStyles } from '../utilities/index';\r\nimport { IRawStyle } from '../interfaces/index';\r\nimport { DefaultPalette } from '../styles/DefaultPalette';\r\n\r\nexport interface IColorClassNames {\r\n themeDarker?: string;\r\n themeDarkerHover?: string;\r\n themeDarkerBackground?: string;\r\n themeDarkerBackgroundHover?: string;\r\n themeDarkerBorder?: string;\r\n themeDarkerBorderHover?: string;\r\n themeDark?: string;\r\n themeDarkHover?: string;\r\n themeDarkBackground?: string;\r\n themeDarkBackgroundHover?: string;\r\n themeDarkBorder?: string;\r\n themeDarkBorderHover?: string;\r\n themeDarkAlt?: string;\r\n themeDarkAltHover?: string;\r\n themeDarkAltBackground?: string;\r\n themeDarkAltBackgroundHover?: string;\r\n themeDarkAltBorder?: string;\r\n themeDarkAltBorderHover?: string;\r\n themePrimary?: string;\r\n themePrimaryHover?: string;\r\n themePrimaryBackground?: string;\r\n themePrimaryBackgroundHover?: string;\r\n themePrimaryBorder?: string;\r\n themePrimaryBorderHover?: string;\r\n themeSecondary?: string;\r\n themeSecondaryHover?: string;\r\n themeSecondaryBackground?: string;\r\n themeSecondaryBackgroundHover?: string;\r\n themeSecondaryBorder?: string;\r\n themeSecondaryBorderHover?: string;\r\n themeTertiary?: string;\r\n themeTertiaryHover?: string;\r\n themeTertiaryBackground?: string;\r\n themeTertiaryBackgroundHover?: string;\r\n themeTertiaryBorder?: string;\r\n themeTertiaryBorderHover?: string;\r\n themeLight?: string;\r\n themeLightHover?: string;\r\n themeLightBackground?: string;\r\n themeLightBackgroundHover?: string;\r\n themeLightBorder?: string;\r\n themeLightBorderHover?: string;\r\n themeLighter?: string;\r\n themeLighterHover?: string;\r\n themeLighterBackground?: string;\r\n themeLighterBackgroundHover?: string;\r\n themeLighterBorder?: string;\r\n themeLighterBorderHover?: string;\r\n themeLighterAlt?: string;\r\n themeLighterAltHover?: string;\r\n themeLighterAltBackground?: string;\r\n themeLighterAltBackgroundHover?: string;\r\n themeLighterAltBorder?: string;\r\n themeLighterAltBorderHover?: string;\r\n black?: string;\r\n blackHover?: string;\r\n blackBackground?: string;\r\n blackBackgroundHover?: string;\r\n blackBorder?: string;\r\n blackBorderHover?: string;\r\n blackTranslucent40?: string;\r\n blackTranslucent40Hover?: string;\r\n blackTranslucent40Background?: string;\r\n blackTranslucent40BackgroundHover?: string;\r\n blackTranslucent40Border?: string;\r\n blackTranslucent40BorderHover?: string;\r\n neutralDark?: string;\r\n neutralDarkHover?: string;\r\n neutralDarkBackground?: string;\r\n neutralDarkBackgroundHover?: string;\r\n neutralDarkBorder?: string;\r\n neutralDarkBorderHover?: string;\r\n neutralPrimary?: string;\r\n neutralPrimaryHover?: string;\r\n neutralPrimaryBackground?: string;\r\n neutralPrimaryBackgroundHover?: string;\r\n neutralPrimaryBorder?: string;\r\n neutralPrimaryBorderHover?: string;\r\n neutralPrimaryAlt?: string;\r\n neutralPrimaryAltHover?: string;\r\n neutralPrimaryAltBackground?: string;\r\n neutralPrimaryAltBackgroundHover?: string;\r\n neutralPrimaryAltBorder?: string;\r\n neutralPrimaryAltBorderHover?: string;\r\n neutralSecondary?: string;\r\n neutralSecondaryHover?: string;\r\n neutralSecondaryBackground?: string;\r\n neutralSecondaryBackgroundHover?: string;\r\n neutralSecondaryBorder?: string;\r\n neutralSecondaryBorderHover?: string;\r\n neutralSecondaryAlt?: string;\r\n neutralSecondaryAltHover?: string;\r\n neutralSecondaryAltBackground?: string;\r\n neutralSecondaryAltBackgroundHover?: string;\r\n neutralSecondaryAltBorder?: string;\r\n neutralSecondaryAltBorderHover?: string;\r\n neutralTertiary?: string;\r\n neutralTertiaryHover?: string;\r\n neutralTertiaryBackground?: string;\r\n neutralTertiaryBackgroundHover?: string;\r\n neutralTertiaryBorder?: string;\r\n neutralTertiaryBorderHover?: string;\r\n neutralTertiaryAlt?: string;\r\n neutralTertiaryAltHover?: string;\r\n neutralTertiaryAltBackground?: string;\r\n neutralTertiaryAltBackgroundHover?: string;\r\n neutralTertiaryAltBorder?: string;\r\n neutralTertiaryAltBorderHover?: string;\r\n neutralQuaternary?: string;\r\n neutralQuaternaryHover?: string;\r\n neutralQuaternaryBackground?: string;\r\n neutralQuaternaryBackgroundHover?: string;\r\n neutralQuaternaryBorder?: string;\r\n neutralQuaternaryBorderHover?: string;\r\n neutralQuaternaryAlt?: string;\r\n neutralQuaternaryAltHover?: string;\r\n neutralQuaternaryAltBackground?: string;\r\n neutralQuaternaryAltBackgroundHover?: string;\r\n neutralQuaternaryAltBorder?: string;\r\n neutralQuaternaryAltBorderHover?: string;\r\n neutralLight?: string;\r\n neutralLightHover?: string;\r\n neutralLightBackground?: string;\r\n neutralLightBackgroundHover?: string;\r\n neutralLightBorder?: string;\r\n neutralLightBorderHover?: string;\r\n neutralLighter?: string;\r\n neutralLighterHover?: string;\r\n neutralLighterBackground?: string;\r\n neutralLighterBackgroundHover?: string;\r\n neutralLighterBorder?: string;\r\n neutralLighterBorderHover?: string;\r\n neutralLighterAlt?: string;\r\n neutralLighterAltHover?: string;\r\n neutralLighterAltBackground?: string;\r\n neutralLighterAltBackgroundHover?: string;\r\n neutralLighterAltBorder?: string;\r\n neutralLighterAltBorderHover?: string;\r\n white?: string;\r\n whiteHover?: string;\r\n whiteBackground?: string;\r\n whiteBackgroundHover?: string;\r\n whiteBorder?: string;\r\n whiteBorderHover?: string;\r\n whiteTranslucent40?: string;\r\n whiteTranslucent40Hover?: string;\r\n whiteTranslucent40Background?: string;\r\n whiteTranslucent40BackgroundHover?: string;\r\n whiteTranslucent40Border?: string;\r\n whiteTranslucent40BorderHover?: string;\r\n yellow?: string;\r\n yellowHover?: string;\r\n yellowBackground?: string;\r\n yellowBackgroundHover?: string;\r\n yellowBorder?: string;\r\n yellowBorderHover?: string;\r\n yellowLight?: string;\r\n yellowLightHover?: string;\r\n yellowLightBackground?: string;\r\n yellowLightBackgroundHover?: string;\r\n yellowLightBorder?: string;\r\n yellowLightBorderHover?: string;\r\n orange?: string;\r\n orangeHover?: string;\r\n orangeBackground?: string;\r\n orangeBackgroundHover?: string;\r\n orangeBorder?: string;\r\n orangeBorderHover?: string;\r\n orangeLight?: string;\r\n orangeLightHover?: string;\r\n orangeLightBackground?: string;\r\n orangeLightBackgroundHover?: string;\r\n orangeLightBorder?: string;\r\n orangeLightBorderHover?: string;\r\n orangeLighter?: string;\r\n orangeLighterHover?: string;\r\n orangeLighterBackground?: string;\r\n orangeLighterBackgroundHover?: string;\r\n orangeLighterBorder?: string;\r\n orangeLighterBorderHover?: string;\r\n redDark?: string;\r\n redDarkHover?: string;\r\n redDarkBackground?: string;\r\n redDarkBackgroundHover?: string;\r\n redDarkBorder?: string;\r\n redDarkBorderHover?: string;\r\n red?: string;\r\n redHover?: string;\r\n redBackground?: string;\r\n redBackgroundHover?: string;\r\n redBorder?: string;\r\n redBorderHover?: string;\r\n magentaDark?: string;\r\n magentaDarkHover?: string;\r\n magentaDarkBackground?: string;\r\n magentaDarkBackgroundHover?: string;\r\n magentaDarkBorder?: string;\r\n magentaDarkBorderHover?: string;\r\n magenta?: string;\r\n magentaHover?: string;\r\n magentaBackground?: string;\r\n magentaBackgroundHover?: string;\r\n magentaBorder?: string;\r\n magentaBorderHover?: string;\r\n magentaLight?: string;\r\n magentaLightHover?: string;\r\n magentaLightBackground?: string;\r\n magentaLightBackgroundHover?: string;\r\n magentaLightBorder?: string;\r\n magentaLightBorderHover?: string;\r\n purpleDark?: string;\r\n purpleDarkHover?: string;\r\n purpleDarkBackground?: string;\r\n purpleDarkBackgroundHover?: string;\r\n purpleDarkBorder?: string;\r\n purpleDarkBorderHover?: string;\r\n purple?: string;\r\n purpleHover?: string;\r\n purpleBackground?: string;\r\n purpleBackgroundHover?: string;\r\n purpleBorder?: string;\r\n purpleBorderHover?: string;\r\n purpleLight?: string;\r\n purpleLightHover?: string;\r\n purpleLightBackground?: string;\r\n purpleLightBackgroundHover?: string;\r\n purpleLightBorder?: string;\r\n purpleLightBorderHover?: string;\r\n blueDark?: string;\r\n blueDarkHover?: string;\r\n blueDarkBackground?: string;\r\n blueDarkBackgroundHover?: string;\r\n blueDarkBorder?: string;\r\n blueDarkBorderHover?: string;\r\n blueMid?: string;\r\n blueMidHover?: string;\r\n blueMidBackground?: string;\r\n blueMidBackgroundHover?: string;\r\n blueMidBorder?: string;\r\n blueMidBorderHover?: string;\r\n blue?: string;\r\n blueHover?: string;\r\n blueBackground?: string;\r\n blueBackgroundHover?: string;\r\n blueBorder?: string;\r\n blueBorderHover?: string;\r\n blueLight?: string;\r\n blueLightHover?: string;\r\n blueLightBackground?: string;\r\n blueLightBackgroundHover?: string;\r\n blueLightBorder?: string;\r\n blueLightBorderHover?: string;\r\n tealDark?: string;\r\n tealDarkHover?: string;\r\n tealDarkBackground?: string;\r\n tealDarkBackgroundHover?: string;\r\n tealDarkBorder?: string;\r\n tealDarkBorderHover?: string;\r\n teal?: string;\r\n tealHover?: string;\r\n tealBackground?: string;\r\n tealBackgroundHover?: string;\r\n tealBorder?: string;\r\n tealBorderHover?: string;\r\n tealLight?: string;\r\n tealLightHover?: string;\r\n tealLightBackground?: string;\r\n tealLightBackgroundHover?: string;\r\n tealLightBorder?: string;\r\n tealLightBorderHover?: string;\r\n greenDark?: string;\r\n greenDarkHover?: string;\r\n greenDarkBackground?: string;\r\n greenDarkBackgroundHover?: string;\r\n greenDarkBorder?: string;\r\n greenDarkBorderHover?: string;\r\n green?: string;\r\n greenHover?: string;\r\n greenBackground?: string;\r\n greenBackgroundHover?: string;\r\n greenBorder?: string;\r\n greenBorderHover?: string;\r\n greenLight?: string;\r\n greenLightHover?: string;\r\n greenLightBackground?: string;\r\n greenLightBackgroundHover?: string;\r\n greenLightBorder?: string;\r\n greenLightBorderHover?: string;\r\n}\r\n\r\nexport const ColorClassNames: IColorClassNames = {};\r\n\r\nfor (const colorName in DefaultPalette) {\r\n if (DefaultPalette.hasOwnProperty(colorName)) {\r\n // Foreground color\r\n _defineGetter(ColorClassNames, colorName, '', false, 'color');\r\n\r\n // Hover color\r\n _defineGetter(ColorClassNames, colorName, 'Hover', true, 'color');\r\n\r\n // Background color\r\n _defineGetter(ColorClassNames, colorName, 'Background', false, 'background');\r\n\r\n // Background hover\r\n _defineGetter(ColorClassNames, colorName, 'BackgroundHover', true, 'background');\r\n\r\n // Border color\r\n _defineGetter(ColorClassNames, colorName, 'Border', false, 'borderColor');\r\n\r\n // Border hover color\r\n _defineGetter(ColorClassNames, colorName, 'BorderHover', true, 'borderColor');\r\n }\r\n}\r\n\r\n/**\r\n * Defines a getter for the given class configuration.\r\n */\r\nfunction _defineGetter(\r\n obj: IColorClassNames,\r\n colorName: string,\r\n suffix: string,\r\n isHover: boolean,\r\n cssProperty: string\r\n): void {\r\n Object.defineProperty(obj, colorName + suffix, {\r\n get: (): string => {\r\n const style: IRawStyle = { [cssProperty]: getTheme().palette[colorName] };\r\n\r\n return mergeStyles(isHover ? { ':hover': style } : style).toString();\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../src/classNames/ColorClassNames.ts","export * from './components/Layer/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Layer.ts","export * from './Layer';\r\nexport * from './Layer.Props';\r\nexport * from './LayerHost';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Layer/index.ts","/* tslint:disable:no-unused-variable */\r\nimport * as React from 'react';\r\nimport * as ReactDOM from 'react-dom';\r\n/* tslint:enable:no-unused-variable */\r\n\r\nimport { Fabric } from '../../Fabric';\r\nimport { ILayerProps } from './Layer.Props';\r\nimport { css, BaseComponent, getDocument, setVirtualParent } from '../../Utilities';\r\nimport * as stylesImport from './Layer.scss';\r\nconst styles: any = stylesImport;\r\n\r\nlet _layersByHostId: { [hostId: string]: Layer[] } = {};\r\n\r\nexport class Layer extends BaseComponent<ILayerProps, {}> {\r\n\r\n public static defaultProps = {\r\n onLayerDidMount: () => undefined,\r\n onLayerWillUnmount: () => undefined\r\n };\r\n\r\n private _rootElement: HTMLElement;\r\n private _host: Node;\r\n private _layerElement: HTMLElement;\r\n private _hasMounted: boolean;\r\n /**\r\n * Used for notifying applicable Layers that a host is available/unavailable and to re-evaluate Layers that\r\n * care about the specific host.\r\n */\r\n public static notifyHostChanged(id: string) {\r\n if (_layersByHostId[id]) {\r\n _layersByHostId[id].forEach(layer => layer.forceUpdate());\r\n }\r\n }\r\n\r\n constructor(props: ILayerProps) {\r\n super(props);\r\n\r\n this._warnDeprecations({\r\n onLayerMounted: 'onLayerDidMount'\r\n });\r\n\r\n if (this.props.hostId) {\r\n if (!_layersByHostId[this.props.hostId]) {\r\n _layersByHostId[this.props.hostId] = [];\r\n }\r\n\r\n _layersByHostId[this.props.hostId].push(this);\r\n }\r\n }\r\n\r\n public componentDidMount() {\r\n this.componentDidUpdate();\r\n }\r\n\r\n public componentWillUnmount() {\r\n this._removeLayerElement();\r\n\r\n if (this.props.hostId) {\r\n _layersByHostId[this.props.hostId] = _layersByHostId[this.props.hostId].filter(layer => layer !== this);\r\n if (!_layersByHostId[this.props.hostId].length) {\r\n delete _layersByHostId[this.props.hostId];\r\n }\r\n }\r\n }\r\n\r\n public componentDidUpdate() {\r\n let host = this._getHost();\r\n\r\n if (host !== this._host) {\r\n this._removeLayerElement();\r\n }\r\n\r\n if (host) {\r\n this._host = host;\r\n\r\n if (!this._layerElement) {\r\n let doc = getDocument(this._rootElement);\r\n\r\n this._layerElement = doc.createElement('div');\r\n this._layerElement.className = css('ms-Layer', {\r\n ['ms-Layer--fixed ' + styles.rootIsFixed]: !this.props.hostId\r\n });\r\n\r\n host.appendChild(this._layerElement);\r\n setVirtualParent(this._layerElement, this._rootElement);\r\n }\r\n\r\n // Using this 'unstable' method allows us to retain the React context across the layer projection.\r\n ReactDOM.unstable_renderSubtreeIntoContainer(\r\n this,\r\n <Fabric className={ css('ms-Layer-content', styles.content) }>\r\n { this.props.children }\r\n </Fabric>,\r\n this._layerElement,\r\n () => {\r\n if (!this._hasMounted) {\r\n this._hasMounted = true;\r\n\r\n // TODO: @deprecated cleanup required.\r\n if (this.props.onLayerMounted) {\r\n this.props.onLayerMounted();\r\n }\r\n\r\n this.props.onLayerDidMount();\r\n }\r\n });\r\n }\r\n }\r\n\r\n public render() {\r\n return (\r\n <span\r\n className='ms-Layer'\r\n ref={ this._resolveRef('_rootElement') }\r\n />\r\n );\r\n }\r\n\r\n private _removeLayerElement() {\r\n if (this._layerElement) {\r\n this.props.onLayerWillUnmount();\r\n\r\n ReactDOM.unmountComponentAtNode(this._layerElement);\r\n let parentNode = this._layerElement.parentNode;\r\n if (parentNode) {\r\n parentNode.removeChild(this._layerElement);\r\n }\r\n this._layerElement = undefined;\r\n this._hasMounted = false;\r\n }\r\n }\r\n\r\n private _getHost(): Node {\r\n let { hostId } = this.props;\r\n let doc = getDocument(this._rootElement);\r\n\r\n if (hostId) {\r\n return doc.getElementById(hostId);\r\n } else {\r\n return doc.body;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Layer/Layer.tsx","export * from './components/Fabric/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Fabric.ts","export * from './Fabric';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Fabric/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n KeyCodes\r\n} from '../../Utilities';\r\nimport {\r\n mergeStyles\r\n} from '../../Styling';\r\nimport { getStyles } from './Fabric.styles';\r\n\r\nconst DIRECTIONAL_KEY_CODES = [\r\n KeyCodes.up,\r\n KeyCodes.down,\r\n KeyCodes.left,\r\n KeyCodes.right,\r\n KeyCodes.home,\r\n KeyCodes.end,\r\n KeyCodes.tab,\r\n KeyCodes.pageUp,\r\n KeyCodes.pageDown\r\n];\r\n\r\nexport interface IFabricState {\r\n isFocusVisible?: boolean;\r\n}\r\n\r\n// We will track the last focus visibility state so that if we tear down and recreate\r\n// the Fabric component, we will use the last known value as the default.\r\nlet _lastIsFocusVisible: boolean = false;\r\n\r\n// Ensure that the HTML element has a dir specified. This helps to ensure RTL/LTR macros in css for all components will work.\r\nif (typeof (document) === 'object' && document.documentElement && !document.documentElement.getAttribute('dir')) {\r\n document.documentElement.setAttribute('dir', 'ltr');\r\n}\r\n\r\nexport class Fabric extends BaseComponent<React.HTMLProps<HTMLDivElement>, IFabricState> {\r\n public refs: {\r\n [key: string]: React.ReactInstance;\r\n root: HTMLElement;\r\n };\r\n\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n isFocusVisible: _lastIsFocusVisible\r\n };\r\n }\r\n\r\n public componentDidMount() {\r\n this._events.on(document.body, 'mousedown', this._onMouseDown, true);\r\n this._events.on(document.body, 'keydown', this._onKeyDown, true);\r\n }\r\n\r\n public render() {\r\n const { isFocusVisible } = this.state;\r\n const styles = getStyles();\r\n\r\n const rootClass = mergeStyles(\r\n 'ms-Fabric',\r\n styles.root,\r\n this.props.className,\r\n isFocusVisible && 'is-focusVisible'\r\n ) as string;\r\n\r\n return (\r\n <div { ...this.props } className={ rootClass } ref='root' />\r\n );\r\n }\r\n\r\n private _onMouseDown() {\r\n if (this.state.isFocusVisible) {\r\n this.setState({\r\n isFocusVisible: false\r\n });\r\n\r\n _lastIsFocusVisible = false;\r\n }\r\n }\r\n\r\n private _onKeyDown(ev: KeyboardEvent) {\r\n if (!this.state.isFocusVisible && DIRECTIONAL_KEY_CODES.indexOf(ev.which) > -1) {\r\n this.setState({\r\n isFocusVisible: true\r\n });\r\n\r\n _lastIsFocusVisible = true;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Fabric/Fabric.tsx","\r\nimport {\r\n memoizeFunction,\r\n} from '../../Utilities';\r\nimport {\r\n ITheme,\r\n IStyle,\r\n getTheme\r\n} from '../../Styling';\r\n\r\nconst inheritFont = { fontFamily: 'inherit' };\r\n\r\nexport interface IFabricStyles {\r\n root: IStyle;\r\n}\r\n\r\nexport const getStyles = memoizeFunction((\r\n theme: ITheme = getTheme()\r\n): IFabricStyles => {\r\n return {\r\n root: [\r\n theme.fonts.medium,\r\n {\r\n color: theme.palette.neutralPrimary,\r\n '& button': inheritFont,\r\n '& input': inheritFont\r\n }\r\n ]\r\n };\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Fabric/Fabric.styles.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n rootIsFixed: 'rootIsFixed_cadfc200',\r\n content: 'content_cadfc200',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".rootIsFixed_cadfc200{position:fixed;z-index:1000000;top:0;left:0;width:100vw;height:100vh;visibility:hidden}.content_cadfc200{visibility:visible}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Layer/Layer.scss.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n css\r\n} from '../../Utilities';\r\nimport {\r\n Layer\r\n} from './Layer';\r\n\r\nexport class LayerHost extends BaseComponent<React.HTMLProps<HTMLElement>, {}> {\r\n\r\n public shouldComponentUpdate() {\r\n return false;\r\n }\r\n\r\n public componentDidMount() {\r\n Layer.notifyHostChanged(this.props.id);\r\n }\r\n\r\n public componentWillUnmount() {\r\n Layer.notifyHostChanged(this.props.id);\r\n }\r\n\r\n public render() {\r\n return (\r\n <div { ...this.props } className={ css('ms-LayerHost', this.props.className) } />\r\n );\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Layer/LayerHost.tsx","export * from './components/Icon/index';\n\n\n// WEBPACK FOOTER //\n// ../src/Icon.ts","export * from './Icon';\r\nexport * from './Icon.Props';\r\nexport * from './IconName';\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Icon/index.ts","/* tslint:disable */\r\nimport * as React from 'react';\r\n/* tslint:enable */\r\n\r\nimport { IIconProps, IconType } from './Icon.Props';\r\nimport { Image } from '../Image/Image';\r\nimport {\r\n css,\r\n getNativeProps,\r\n htmlElementProperties\r\n} from '../../Utilities';\r\nimport { IconClassNames } from '../../Styling';\r\nimport { getStyles } from './Icon.styles';\r\n\r\nexport function Icon(props: IIconProps): JSX.Element {\r\n let {\r\n ariaLabel,\r\n className,\r\n styles: customStyles,\r\n iconName\r\n } = props;\r\n let styles = getStyles(undefined, customStyles);\r\n\r\n if (props.iconType === IconType.image || props.iconType === IconType.Image) {\r\n let containerClassName = css(\r\n 'ms-Icon',\r\n 'ms-Icon-imageContainer',\r\n styles.root,\r\n styles.imageContainer,\r\n className\r\n );\r\n\r\n return (\r\n <div className={\r\n css(\r\n containerClassName,\r\n styles.root\r\n ) }\r\n >\r\n l <Image { ...props.imageProps as any } />\r\n </div>\r\n );\r\n } else {\r\n let iconMemberName = iconName ? iconName.charAt(0).toLowerCase() + iconName.substr(1) : '';\r\n\r\n return (\r\n <i\r\n aria-label={ ariaLabel }\r\n { ...(ariaLabel ? {} : {\r\n role: 'presentation',\r\n 'aria-hidden': true\r\n }) }\r\n { ...getNativeProps(props, htmlElementProperties) }\r\n className={\r\n css(\r\n 'ms-Icon',\r\n IconClassNames[iconMemberName],\r\n styles.root,\r\n props.className\r\n ) }\r\n />\r\n );\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Icon/Icon.tsx","import * as React from 'react';\r\nimport { IconName } from './IconName';\r\nimport { IImageProps } from '../Image/Image.Props';\r\nimport { IStyle } from '../../Styling';\r\n\r\n// Please keep alphabetized\r\nexport enum IconType {\r\n\r\n /**\r\n * Render using the fabric icon font.\r\n */\r\n default = 0,\r\n\r\n /**\r\n * Render using an image, where imageProps would be used.\r\n */\r\n image = 1,\r\n\r\n /**\r\n * Deprecated, use default.\r\n * @deprecated\r\n */\r\n Default = 100000,\r\n\r\n /**\r\n * Deprecated, use image.\r\n * @deprecated\r\n */\r\n Image = 100001\r\n}\r\n\r\nexport interface IIconStyles {\r\n root?: IStyle;\r\n imageContainer?: IStyle;\r\n}\r\n\r\nexport interface IIconProps extends React.HTMLProps<HTMLElement> {\r\n /**\r\n * The name of the icon to use from the icon font.\r\n *\r\n * @type {(IconName | string | null)}\r\n * @memberOf IIconProps\r\n */\r\n iconName?: IconName | string | null;\r\n\r\n /**\r\n * Optional styling for the elements within the Icon.\r\n */\r\n styles?: IIconStyles;\r\n\r\n /**\r\n * The aria label of the button for the benefit of screen readers.\r\n */\r\n ariaLabel?: string;\r\n\r\n /**\r\n * The type of icon to render (image or icon font).\r\n *\r\n * @type {IconType}\r\n * @memberOf IIconProps\r\n */\r\n iconType?: IconType;\r\n\r\n /**\r\n * If rendering an image icon, these props will be passed to the Image component.\r\n *\r\n * @type {IImageProps}\r\n * @memberOf IIconProps\r\n */\r\n imageProps?: IImageProps;\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Icon/Icon.Props.ts","/* tslint:disable:no-unused-variable */\r\nimport * as React from 'react';\r\n/* tslint:enable:no-unused-variable */\r\nimport {\r\n autobind,\r\n BaseComponent,\r\n css,\r\n getNativeProps,\r\n imageProperties\r\n} from '../../Utilities';\r\nimport { IImageProps, ImageFit, ImageLoadState } from './Image.Props';\r\nimport { AnimationClassNames } from '../../Styling';\r\nimport * as stylesImport from './Image.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IImageState {\r\n loadState?: ImageLoadState;\r\n}\r\n\r\nexport enum CoverStyle {\r\n landscape = 0,\r\n portrait = 1\r\n}\r\n\r\nexport const CoverStyleMap = {\r\n [CoverStyle.landscape]: 'ms-Image-image--landscape ' + styles.imageIsLandscape,\r\n [CoverStyle.portrait]: 'ms-Image-image--portrait ' + styles.imageIsPortrait\r\n};\r\n\r\nexport const ImageFitMap = {\r\n [ImageFit.center]: 'ms-Image-image--center ' + styles.imageIsCenter,\r\n [ImageFit.contain]: 'ms-Image-image--contain ' + styles.imageIsContain,\r\n [ImageFit.cover]: 'ms-Image-image--cover ' + styles.imageIsCover,\r\n [ImageFit.none]: 'ms-Image-image--none ' + styles.imageIsNone\r\n};\r\n\r\nconst KEY_PREFIX: string = 'fabricImage';\r\n\r\nexport class Image extends BaseComponent<IImageProps, IImageState> {\r\n public static defaultProps = {\r\n shouldFadeIn: true\r\n };\r\n\r\n private static _svgRegex = /\\.svg$/i;\r\n\r\n // Make an initial assumption about the image layout until we can\r\n // check the rendered element. The value here only takes effect when\r\n // shouldStartVisible is true.\r\n private _coverStyle: CoverStyle = CoverStyle.portrait;\r\n private _imageElement: HTMLImageElement;\r\n private _frameElement: HTMLDivElement;\r\n\r\n constructor(props: IImageProps) {\r\n super(props);\r\n\r\n this.state = {\r\n loadState: ImageLoadState.notLoaded\r\n };\r\n }\r\n\r\n public componentWillReceiveProps(nextProps: IImageProps) {\r\n if (nextProps.src !== this.props.src) {\r\n this.setState({\r\n loadState: ImageLoadState.notLoaded\r\n });\r\n } else if (this.state.loadState === ImageLoadState.loaded) {\r\n this._computeCoverStyle(nextProps);\r\n }\r\n }\r\n\r\n public componentDidUpdate(prevProps: IImageProps, prevState: IImageState) {\r\n this._checkImageLoaded();\r\n if (this.props.onLoadingStateChange\r\n && prevState.loadState !== this.state.loadState) {\r\n this.props.onLoadingStateChange(this.state.loadState);\r\n }\r\n }\r\n\r\n public render() {\r\n let imageProps = getNativeProps(this.props, imageProperties, ['width', 'height']);\r\n let { src, alt, width, height, shouldFadeIn, className, imageFit, role, maximizeFrame } = this.props;\r\n let { loadState } = this.state;\r\n let coverStyle = this._coverStyle;\r\n let loaded = loadState === ImageLoadState.loaded || (loadState === ImageLoadState.notLoaded && this.props.shouldStartVisible);\r\n\r\n // If image dimensions aren't specified, the natural size of the image is used.\r\n return (\r\n <div\r\n className={ css(\r\n 'ms-Image',\r\n styles.root,\r\n className,\r\n {\r\n ['ms-Image--maximizeFrame ' + styles.rootIsMaximizeFrame]: maximizeFrame\r\n })\r\n }\r\n style={ { width: width, height: height } }\r\n ref={ this._resolveRef('_frameElement') }\r\n >\r\n <img\r\n { ...imageProps }\r\n onLoad={ this._onImageLoaded }\r\n onError={ this._onImageError }\r\n key={ KEY_PREFIX + this.props.src || '' }\r\n className={\r\n css(\r\n 'ms-Image-image',\r\n styles.image,\r\n CoverStyleMap[coverStyle],\r\n (imageFit !== undefined) && ImageFitMap[imageFit],\r\n !loaded && 'is-notLoaded',\r\n loaded && 'is-loaded ' + styles.imageIsLoaded,\r\n shouldFadeIn && 'is-fadeIn',\r\n loadState === ImageLoadState.error && 'is-error',\r\n loaded && shouldFadeIn && AnimationClassNames.fadeIn400,\r\n {\r\n ['ms-Image-image--scaleWidth ' + styles.imageIsScaleWidth]: (imageFit === undefined && !!width && !height),\r\n ['ms-Image-image--scaleHeight ' + styles.imageIsScaleHeight]: (imageFit === undefined && !width && !!height),\r\n ['ms-Image-image--scaleWidthHeight ' + styles.imageIsScaleWidthHeight]: (imageFit === undefined && !!width && !!height)\r\n }) }\r\n ref={ this._resolveRef('_imageElement') }\r\n src={ src }\r\n alt={ alt }\r\n role={ role }\r\n />\r\n </div>\r\n );\r\n }\r\n\r\n @autobind\r\n private _onImageLoaded(ev: React.SyntheticEvent<HTMLImageElement>): void {\r\n let { src, onLoad } = this.props;\r\n if (onLoad) {\r\n onLoad(ev);\r\n }\r\n\r\n this._computeCoverStyle(this.props);\r\n\r\n if (src) {\r\n this.setState({\r\n loadState: ImageLoadState.loaded\r\n });\r\n }\r\n }\r\n\r\n private _checkImageLoaded(): void {\r\n let { src } = this.props;\r\n let { loadState } = this.state;\r\n\r\n if (loadState === ImageLoadState.notLoaded) {\r\n // testing if naturalWidth and naturalHeight are greater than zero is better than checking\r\n // .complete, because .complete will also be set to true if the image breaks. However,\r\n // for some browsers, SVG images do not have a naturalWidth or naturalHeight, so fall back\r\n // to checking .complete for these images.\r\n let isLoaded: boolean = src && (this._imageElement.naturalWidth > 0 && this._imageElement.naturalHeight > 0) ||\r\n (this._imageElement.complete && Image._svgRegex.test(src));\r\n\r\n if (isLoaded) {\r\n this._computeCoverStyle(this.props);\r\n this.setState({\r\n loadState: ImageLoadState.loaded\r\n });\r\n }\r\n }\r\n }\r\n\r\n private _computeCoverStyle(props: IImageProps) {\r\n let { imageFit, width, height } = props;\r\n if (imageFit === ImageFit.cover || imageFit === ImageFit.contain) {\r\n if (this._imageElement) {\r\n // Determine the desired ratio using the width and height props.\r\n // If those props aren't available, measure measure the frame.\r\n let desiredRatio;\r\n if (!!width && !!height) {\r\n desiredRatio = (width as number) / (height as number);\r\n } else {\r\n desiredRatio = this._frameElement.clientWidth / this._frameElement.clientHeight;\r\n }\r\n\r\n // Examine the source image to determine its original ratio.\r\n let naturalRatio = this._imageElement.naturalWidth / this._imageElement.naturalHeight;\r\n\r\n // Should we crop from the top or the sides?\r\n if (naturalRatio > desiredRatio) {\r\n this._coverStyle = CoverStyle.landscape;\r\n } else {\r\n this._coverStyle = CoverStyle.portrait;\r\n }\r\n }\r\n }\r\n }\r\n\r\n @autobind\r\n private _onImageError(ev: React.SyntheticEvent<HTMLImageElement>) {\r\n if (this.props.onError) {\r\n this.props.onError(ev);\r\n }\r\n this.setState({\r\n loadState: ImageLoadState.error\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Image/Image.tsx","import * as React from 'react';\r\n\r\nexport interface IImage {\r\n\r\n}\r\n\r\nexport interface IImageProps extends React.HTMLProps<HTMLImageElement> {\r\n /**\r\n * Optional callback to access the ICheckbox interface. Use this instead of ref for accessing\r\n * the public methods and properties of the component.\r\n */\r\n componentRef?: (component: IImage) => void;\r\n\r\n /**\r\n * If true, fades the image in when loaded.\r\n * @defaultvalue false;\r\n */\r\n shouldFadeIn?: boolean;\r\n\r\n /**\r\n * If true, the image starts as visible and is hidden on error. Otherwise, the image is hidden until\r\n * it is successfully loaded. This disables shouldFadeIn.\r\n * @defaultvalue false;\r\n */\r\n shouldStartVisible?: boolean;\r\n\r\n /**\r\n * If provided, adds the indicated css class to the image.\r\n */\r\n className?: string;\r\n\r\n /**\r\n * Used to determine how the image is scaled and cropped to fit the frame.\r\n *\r\n * @defaultvalue If both dimensions are provided, then the image is fit using ImageFit.scale. Otherwise, the\r\n * image won't be scaled or cropped.\r\n */\r\n imageFit?: ImageFit;\r\n\r\n /**\r\n * Deprecated at v1.3.6, to replace the src in case of errors, use onLoadingStateChange instead and\r\n * rerender the Image with a difference src.\r\n * @deprecated\r\n */\r\n errorSrc?: string;\r\n\r\n /**\r\n * If true, the image frame will expand to fill its parent container.\r\n */\r\n maximizeFrame?: boolean;\r\n\r\n /**\r\n * Optional callback method for when the image load state has changed.\r\n * The 'loadState' parameter indicates the current state of the Image.\r\n */\r\n onLoadingStateChange?: (loadState: ImageLoadState) => void;\r\n}\r\n\r\n/**\r\n * The possible methods that can be used to fit the image.\r\n */\r\nexport enum ImageFit {\r\n /**\r\n * The image is not scaled. The image is centered and cropped within the content box.\r\n */\r\n center = 0,\r\n\r\n /**\r\n * The image is scaled to maintain its aspect ratio while being fully contained within the frame. The image will\r\n * be centered horizontally and vertically within the frame. The space in the top and bottom or in the sides of\r\n * the frame will be empty depending on the difference in aspect ratio between the image and the frame.\r\n */\r\n contain = 1,\r\n\r\n /**\r\n * The image is scaled to maintain its aspect ratio while filling the frame. Portions of the image will be cropped from\r\n * the top and bottom, or from the sides, depending on the difference in aspect ratio between the image and the frame.\r\n */\r\n cover = 2,\r\n\r\n /**\r\n * Neither the image nor the frame are scaled. If their sizes do not match, the image will either be cropped or the\r\n * frame will have empty space.\r\n */\r\n none = 3\r\n}\r\n\r\nexport enum ImageLoadState {\r\n /**\r\n * The image has not yet been loaded, and there is no error yet.\r\n */\r\n notLoaded = 0,\r\n\r\n /**\r\n * The image has been loaded successfully.\r\n */\r\n loaded = 1,\r\n\r\n /**\r\n * An error has been encountered while loading the image.\r\n */\r\n error = 2,\r\n\r\n /**\r\n * Deprecated at v1.3.6, to replace the src in case of errors, use onLoadingStateChange instead\r\n * and rerender the Image with a difference src.\r\n * @deprecated\r\n */\r\n errorLoaded = 3\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Image/Image.Props.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_9f38a260',\r\n rootIsMaximizeFrame: 'rootIsMaximizeFrame_9f38a260',\r\n image: 'image_9f38a260',\r\n imageIsLoaded: 'imageIsLoaded_9f38a260',\r\n imageIsCenter: 'imageIsCenter_9f38a260',\r\n imageIsContain: 'imageIsContain_9f38a260',\r\n imageIsCover: 'imageIsCover_9f38a260',\r\n imageIsLandscape: 'imageIsLandscape_9f38a260',\r\n imageIsPortrait: 'imageIsPortrait_9f38a260',\r\n imageIsNone: 'imageIsNone_9f38a260',\r\n imageIsScaleWidthHeight: 'imageIsScaleWidthHeight_9f38a260',\r\n imageIsScaleWidth: 'imageIsScaleWidth_9f38a260',\r\n imageIsScaleHeight: 'imageIsScaleHeight_9f38a260',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_9f38a260{overflow:hidden}.rootIsMaximizeFrame_9f38a260{height:100%;width:100%}.image_9f38a260{display:block;opacity:0}.image_9f38a260.imageIsLoaded_9f38a260{opacity:1}.imageIsCenter_9f38a260,.imageIsContain_9f38a260,.imageIsCover_9f38a260{position:relative;top:50%}[dir=ltr] .imageIsCenter_9f38a260,[dir=ltr] .imageIsContain_9f38a260,[dir=ltr] .imageIsCover_9f38a260{left:50%}[dir=rtl] .imageIsCenter_9f38a260,[dir=rtl] .imageIsContain_9f38a260,[dir=rtl] .imageIsCover_9f38a260{right:50%}html[dir=ltr] .imageIsCenter_9f38a260,html[dir=ltr] .imageIsContain_9f38a260,html[dir=ltr] .imageIsCover_9f38a260{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}html[dir=rtl] .imageIsCenter_9f38a260,html[dir=rtl] .imageIsContain_9f38a260,html[dir=rtl] .imageIsCover_9f38a260{-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%)}.imageIsContain_9f38a260.imageIsLandscape_9f38a260{width:100%;height:auto}.imageIsContain_9f38a260.imageIsPortrait_9f38a260{height:100%;width:auto}.imageIsCover_9f38a260.imageIsLandscape_9f38a260{height:100%;width:auto}.imageIsCover_9f38a260.imageIsPortrait_9f38a260{width:100%;height:auto}.imageIsNone_9f38a260{height:auto;width:auto}.imageIsScaleWidthHeight_9f38a260{height:100%;width:100%}.imageIsScaleWidth_9f38a260{height:auto;width:100%}.imageIsScaleHeight_9f38a260{height:100%;width:auto}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Image/Image.scss.ts","import {\r\n mergeStyles,\r\n mergeStyleSets,\r\n ITheme,\r\n getTheme\r\n} from '../../Styling';\r\nimport {\r\n memoizeFunction\r\n} from '../../Utilities';\r\nimport { IIconStyles } from './Icon.Props';\r\n\r\nexport const getStyles = memoizeFunction((\r\n theme: ITheme = getTheme(),\r\n customStyles: IIconStyles = undefined\r\n): IIconStyles => {\r\n let iconStyles = {\r\n\r\n root: mergeStyles({\r\n display: 'inline-block'\r\n }),\r\n\r\n imageContainer: mergeStyles({\r\n overflow: 'hidden'\r\n })\r\n };\r\n\r\n return mergeStyleSets(iconStyles, customStyles);\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Icon/Icon.styles.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_cf3f75c8',\r\n list: 'list_cf3f75c8',\r\n item: 'item_cf3f75c8',\r\n link: 'link_cf3f75c8',\r\n isDisabled: 'isDisabled_cf3f75c8',\r\n icon: 'icon_cf3f75c8',\r\n isExpanded: 'isExpanded_cf3f75c8',\r\n header: 'header_cf3f75c8',\r\n linkContent: 'linkContent_cf3f75c8',\r\n divider: 'divider_cf3f75c8',\r\n iconColor: 'iconColor_cf3f75c8',\r\n itemText: 'itemText_cf3f75c8',\r\n submenuIcon: 'submenuIcon_cf3f75c8',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_cf3f75c8{background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";min-width:180px}.list_cf3f75c8{list-style-type:none;margin:0;padding:0;line-height:0}.item_cf3f75c8{font-size:14px;font-weight:400;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";position:relative;box-sizing:border-box}.link_cf3f75c8{font:inherit;color:inherit;background:0 0;border:none;width:100%;height:36px;line-height:36px;display:block;cursor:pointer;padding:0 6px}.link_cf3f75c8::-moz-focus-inner{border:0}.link_cf3f75c8{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .link_cf3f75c8:focus:after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}html[dir=ltr] .link_cf3f75c8{text-align:left}html[dir=rtl] .link_cf3f75c8{text-align:right}.link_cf3f75c8:hover:not([disabled]){background:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\"}.link_cf3f75c8.isDisabled_cf3f75c8,.link_cf3f75c8[disabled]{color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\";cursor:default;pointer-events:none}.link_cf3f75c8.isDisabled_cf3f75c8 .icon_cf3f75c8,.link_cf3f75c8[disabled] .icon_cf3f75c8{color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}.is-focusVisible .link_cf3f75c8:focus{background:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\"}.link_cf3f75c8.isExpanded_cf3f75c8,.link_cf3f75c8.isExpanded_cf3f75c8:hover{background:\"},{\"theme\":\"neutralQuaternaryAlt\",\"defaultValue\":\"#dadada\"},{\"rawString\":\";color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\";font-weight:600}.header_cf3f75c8{font-size:12px;font-weight:400;font-weight:600;color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";background:0 0;border:none;height:36px;line-height:36px;cursor:default;padding:0 6px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.header_cf3f75c8::-moz-focus-inner{border:0}.header_cf3f75c8{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .header_cf3f75c8:focus:after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}html[dir=ltr] .header_cf3f75c8{text-align:left}html[dir=rtl] .header_cf3f75c8{text-align:right}a.link_cf3f75c8{padding:0 6px;text-rendering:auto;color:inherit;letter-spacing:normal;word-spacing:normal;text-transform:none;text-indent:0;text-shadow:none;text-decoration:none;box-sizing:border-box}.linkContent_cf3f75c8{white-space:nowrap;height:inherit;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%}.divider_cf3f75c8{display:block;height:1px;background-color:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\";position:relative}.icon_cf3f75c8{display:inline-block;min-height:1px;max-height:36px;width:14px;margin:0 4px;vertical-align:middle;-ms-flex-negative:0;flex-shrink:0}.iconColor_cf3f75c8{color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.itemText_cf3f75c8{margin:0 4px;vertical-align:middle;display:inline-block;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.submenuIcon_cf3f75c8{height:36px;line-height:36px;text-align:center;font-size:10px;display:inline-block;vertical-align:middle;-ms-flex-negative:0;flex-shrink:0}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/ContextualMenu/ContextualMenu.scss.ts","export * from './components/Link/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Link.ts","export * from './Link';\r\nexport * from './Link.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Link/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n anchorProperties,\r\n autobind,\r\n buttonProperties,\r\n css,\r\n getNativeProps\r\n} from '../../Utilities';\r\nimport { ILink, ILinkProps } from './Link.Props';\r\nimport * as stylesImport from './Link.scss';\r\nconst styles: any = stylesImport;\r\n\r\ninterface IMyScreen extends Screen {\r\n left: number;\r\n top: number;\r\n}\r\n\r\ndeclare var screen: IMyScreen;\r\n\r\nexport class Link extends BaseComponent<ILinkProps, any> implements ILink {\r\n private _link: HTMLElement;\r\n\r\n public render() {\r\n let { disabled, children, className, href } = this.props;\r\n\r\n return (\r\n href ? (\r\n <a\r\n { ...getNativeProps(this.props, anchorProperties) }\r\n className={ css('ms-Link', styles.root, className, {\r\n 'is-disabled': disabled,\r\n [styles.isDisabled]: disabled,\r\n [styles.isEnabled]: !disabled\r\n }) }\r\n onClick={ this._onClick }\r\n ref={ this._resolveRef('_link') }\r\n target={ this.props.target }\r\n >\r\n { children }\r\n </a>\r\n ) : (\r\n <button\r\n { ...getNativeProps(this.props, buttonProperties) }\r\n className={ css('ms-Link', styles.root, className, {\r\n 'is-disabled': disabled,\r\n [styles.isDisabled]: disabled\r\n }) }\r\n onClick={ this._onClick }\r\n ref={ this._resolveRef('_link') }\r\n >\r\n { children }\r\n </button>\r\n ));\r\n }\r\n\r\n public focus() {\r\n if (this._link) {\r\n this._link.focus();\r\n }\r\n }\r\n\r\n @autobind\r\n private _onClick(ev: React.MouseEvent<HTMLAnchorElement | HTMLButtonElement>) {\r\n let { onClick } = this.props;\r\n\r\n if (onClick) {\r\n onClick(ev);\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Link/Link.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_f147fff6',\r\n isEnabled: 'isEnabled_f147fff6',\r\n isDisabled: 'isDisabled_f147fff6',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_f147fff6{color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";margin:0;overflow:inherit;padding:0;text-overflow:inherit}.isEnabled_f147fff6:focus,.isEnabled_f147fff6:hover{color:\"},{\"theme\":\"themeDarker\",\"defaultValue\":\"#004578\"},{\"rawString\":\"}.isEnabled_f147fff6:active{color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.isDisabled_f147fff6{color:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\";pointer-events:none;cursor:default}button.root_f147fff6{background:0 0;border:none;cursor:pointer;display:inline;font-size:inherit}button.root_f147fff6::-moz-focus-inner{border:0}button.root_f147fff6{outline:transparent;position:relative}.ms-Fabric.is-focusVisible button.root_f147fff6:focus:after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}html[dir=ltr] button.root_f147fff6{text-align:left}html[dir=rtl] button.root_f147fff6{text-align:right}a.root_f147fff6{text-decoration:none}.ms-Fabric.is-focusVisible a.root_f147fff6:focus{outline:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Link/Link.scss.ts","export * from './components/Button/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Button.ts","export * from './BaseButton';\r\nexport * from './Button.Props';\r\nexport * from './Button';\r\nexport * from './CommandButton/CommandButton';\r\nexport * from './CompoundButton/CompoundButton';\r\nexport * from './DefaultButton/DefaultButton';\r\nexport * from './PrimaryButton/PrimaryButton';\r\nexport * from './IconButton/IconButton';\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Button/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n IRenderFunction,\r\n anchorProperties,\r\n assign,\r\n autobind,\r\n buttonProperties,\r\n getId,\r\n getNativeProps,\r\n memoize\r\n} from '../../Utilities';\r\nimport { mergeStyles } from '../../Styling';\r\nimport { Icon, IIconProps } from '../../Icon';\r\nimport { DirectionalHint } from '../../common/DirectionalHint';\r\nimport { ContextualMenu, IContextualMenuProps } from '../../ContextualMenu';\r\nimport { IButtonProps, IButton, IButtonStyles } from './Button.Props';\r\n\r\nexport interface IBaseButtonProps extends IButtonProps {\r\n baseClassName?: string;\r\n variantClassName?: string;\r\n}\r\n\r\nexport interface IBaseButtonState {\r\n menuProps?: IContextualMenuProps | null;\r\n}\r\n\r\ninterface IButtonClassNames {\r\n root?: string;\r\n flexContainer?: string;\r\n icon?: string;\r\n label?: string;\r\n menuIcon?: string;\r\n description?: string;\r\n screenReaderText?: string;\r\n}\r\n\r\nexport class BaseButton extends BaseComponent<IBaseButtonProps, IBaseButtonState> implements IButton {\r\n\r\n public static defaultProps = {\r\n baseClassName: 'ms-Button',\r\n classNames: {},\r\n styles: {}\r\n };\r\n\r\n private _buttonElement: HTMLElement;\r\n private _labelId: string;\r\n private _descriptionId: string;\r\n private _ariaDescriptionId: string;\r\n private _classNames: IButtonClassNames;\r\n\r\n constructor(props: IBaseButtonProps, rootClassName: string) {\r\n super(props);\r\n\r\n this._warnDeprecations({\r\n rootProps: null,\r\n icon: 'iconProps',\r\n menuIconName: 'menuIconProps',\r\n toggled: 'checked'\r\n });\r\n\r\n this._labelId = getId();\r\n this._descriptionId = getId();\r\n this._ariaDescriptionId = getId();\r\n this.state = {\r\n menuProps: null\r\n };\r\n }\r\n\r\n public render(): JSX.Element {\r\n const {\r\n ariaDescription,\r\n ariaLabel,\r\n className,\r\n description,\r\n disabled,\r\n href,\r\n iconProps,\r\n styles,\r\n checked,\r\n variantClassName\r\n } = this.props;\r\n\r\n this._classNames = this._getClassNames(\r\n styles,\r\n className,\r\n variantClassName,\r\n iconProps && iconProps.className,\r\n disabled,\r\n checked\r\n );\r\n\r\n const { _ariaDescriptionId, _labelId, _descriptionId } = this;\r\n const renderAsAnchor: boolean = !!href;\r\n const tag = renderAsAnchor ? 'a' : 'button';\r\n const nativeProps = getNativeProps(\r\n assign(\r\n renderAsAnchor ? {} : { type: 'button' },\r\n this.props.rootProps,\r\n this.props),\r\n renderAsAnchor ? anchorProperties : buttonProperties,\r\n [\r\n 'disabled' // Let disabled buttons be focused and styled as disabled.\r\n ]);\r\n // Check for ariaDescription, description or aria-describedby in the native props to determine source of aria-describedby\r\n // otherwise default to null.\r\n let ariaDescribedBy;\r\n\r\n if (ariaDescription) {\r\n ariaDescribedBy = _ariaDescriptionId;\r\n } else if (description) {\r\n ariaDescribedBy = _descriptionId;\r\n } else if (nativeProps['aria-describedby']) {\r\n ariaDescribedBy = nativeProps['aria-describedby'];\r\n } else {\r\n ariaDescribedBy = null;\r\n }\r\n\r\n const buttonProps = assign(\r\n nativeProps,\r\n {\r\n className: this._classNames.root,\r\n ref: this._resolveRef('_buttonElement'),\r\n 'disabled': disabled,\r\n 'aria-label': ariaLabel,\r\n 'aria-labelledby': ariaLabel ? null : _labelId,\r\n 'aria-describedby': ariaDescribedBy,\r\n 'aria-disabled': disabled,\r\n 'data-is-focusable': disabled ? false : true,\r\n 'aria-pressed': checked\r\n }\r\n );\r\n\r\n // Override onClick if contextualMenuItems passed in. Eventually allow _onToggleMenu to\r\n // be assigned to split button click if onClick already has a value\r\n if (this.props.menuProps) {\r\n assign(\r\n buttonProps,\r\n {\r\n 'onClick': this._onToggleMenu,\r\n 'aria-expanded': this.state.menuProps ? true : false\r\n }\r\n );\r\n }\r\n\r\n return this._onRenderContent(tag, buttonProps);\r\n }\r\n\r\n public focus(): void {\r\n if (this._buttonElement) {\r\n this._buttonElement.focus();\r\n }\r\n }\r\n\r\n private _onRenderContent(tag: any, buttonProps: IButtonProps): JSX.Element {\r\n let props = this.props;\r\n let {\r\n baseClassName,\r\n styles,\r\n menuIconName,\r\n menuProps,\r\n onRenderIcon = this._onRenderIcon,\r\n onRenderText = this._onRenderText,\r\n onRenderDescription = this._onRenderDescription,\r\n onRenderAriaDescription = this._onRenderAriaDescription,\r\n onRenderChildren = this._onRenderChildren,\r\n onRenderMenu = this._onRenderMenu,\r\n onRenderMenuIcon = this._onRenderMenuIcon\r\n } = props;\r\n\r\n const className = mergeStyles(baseClassName + '-flexContainer', styles.flexContainer);\r\n\r\n return React.createElement(\r\n tag,\r\n buttonProps,\r\n React.createElement(\r\n 'div',\r\n { className },\r\n onRenderIcon(props, this._onRenderIcon),\r\n onRenderText(props, this._onRenderText),\r\n onRenderDescription(props, this._onRenderDescription),\r\n onRenderAriaDescription(props, this._onRenderAriaDescription),\r\n onRenderChildren(props, this._onRenderChildren),\r\n (menuProps || menuIconName || this.props.onRenderMenuIcon) && onRenderMenuIcon(this.props, this._onRenderMenuIcon),\r\n this.state.menuProps && onRenderMenu(menuProps, this._onRenderMenu)\r\n ));\r\n }\r\n\r\n @autobind\r\n private _onRenderIcon(buttonProps?: IButtonProps, defaultRender?: IRenderFunction<IButtonProps>) {\r\n let {\r\n baseClassName,\r\n disabled,\r\n icon,\r\n iconProps,\r\n styles,\r\n checked\r\n } = this.props;\r\n\r\n if (icon || iconProps) {\r\n iconProps = iconProps || {\r\n iconName: icon\r\n } as IIconProps;\r\n }\r\n\r\n return iconProps && (\r\n <Icon { ...iconProps } className={ this._classNames.icon } />\r\n );\r\n }\r\n\r\n @autobind\r\n private _onRenderText() {\r\n let {\r\n children,\r\n disabled,\r\n styles,\r\n text\r\n } = this.props;\r\n\r\n // For backwards compat, we should continue to take in the text content from children.\r\n if (text === undefined && typeof (children) === 'string') {\r\n text = children;\r\n }\r\n\r\n return text && (\r\n <span\r\n className={ this._classNames.label }\r\n id={ this._labelId }\r\n >\r\n { text }\r\n </span>\r\n );\r\n }\r\n\r\n @autobind\r\n private _onRenderChildren(): JSX.Element | null {\r\n const { children } = this.props;\r\n\r\n // If children is just a string, either it or the text will be rendered via onRenderLabel\r\n // If children is another component, it will be rendered after text\r\n if (typeof (children) === 'string') {\r\n return null;\r\n }\r\n\r\n return children as any;\r\n }\r\n\r\n @autobind\r\n private _onRenderDescription(props: IButtonProps) {\r\n const {\r\n description\r\n } = this.props;\r\n\r\n // ms-Button-description is only shown when the button type is compound.\r\n // In other cases it will not be displayed.\r\n return description ? (\r\n <span className={ this._classNames.description } id={ this._descriptionId }>\r\n { description }\r\n </span>\r\n ) : (\r\n null\r\n );\r\n }\r\n\r\n @autobind\r\n private _onRenderAriaDescription() {\r\n const {\r\n ariaDescription,\r\n styles\r\n } = this.props;\r\n\r\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan,\r\n // otherwise it will be assigned to descriptionSpan.\r\n return ariaDescription ? (\r\n <span className={ styles.screenReaderText as string } id={ this._ariaDescriptionId }>{ ariaDescription }</span>\r\n ) : (\r\n null\r\n );\r\n }\r\n\r\n @autobind\r\n private _onRenderMenuIcon(props: IButtonProps): JSX.Element | null {\r\n let {\r\n baseClassName,\r\n checked,\r\n disabled,\r\n menuIconName,\r\n menuIconProps,\r\n styles\r\n } = this.props;\r\n\r\n if (menuIconProps === undefined) {\r\n menuIconProps = {\r\n iconName: menuIconName === undefined ? 'ChevronDown' : menuIconName\r\n };\r\n }\r\n\r\n return (\r\n menuIconProps ?\r\n <Icon\r\n { ...menuIconProps }\r\n className={\r\n mergeStyles(\r\n `${baseClassName}-icon`,\r\n styles.menuIcon,\r\n disabled && styles.menuIconDisabled,\r\n !disabled && checked && styles.menuIconChecked,\r\n menuIconProps.className\r\n ) as string }\r\n />\r\n :\r\n null\r\n );\r\n }\r\n\r\n @autobind\r\n private _onRenderMenu(menuProps: IContextualMenuProps): JSX.Element {\r\n return (\r\n <ContextualMenu\r\n isBeakVisible={ true }\r\n directionalHint={ DirectionalHint.bottomLeftEdge }\r\n {...menuProps}\r\n className={ mergeStyles('ms-BaseButton-menuhost', menuProps.className) as string }\r\n target={ this._buttonElement }\r\n labelElementId={ this._labelId }\r\n onDismiss={ this._onToggleMenu }\r\n />\r\n );\r\n }\r\n\r\n @autobind\r\n private _onToggleMenu(): void {\r\n const { menuProps } = this.props;\r\n let currentMenuProps = this.state.menuProps;\r\n\r\n this.setState({ menuProps: currentMenuProps ? null : menuProps });\r\n }\r\n\r\n @memoize\r\n private _getClassNames(\r\n styles: IButtonStyles,\r\n className: string,\r\n variantClassName: string,\r\n iconClassName: string,\r\n disabled: boolean,\r\n checked: boolean\r\n ): IButtonClassNames {\r\n return {\r\n root: mergeStyles(\r\n className,\r\n 'ms-Button',\r\n variantClassName,\r\n styles.root,\r\n checked && [\r\n 'is-checked',\r\n styles.rootChecked\r\n ],\r\n disabled && [\r\n 'is-disabled',\r\n styles.rootDisabled\r\n ],\r\n !disabled && {\r\n ':hover': styles.rootHovered,\r\n ':hover .ms-Button-description': styles.descriptionHovered,\r\n ':active': styles.rootPressed,\r\n ':active .ms-Button-description': styles.descriptionPressed\r\n }\r\n ) as string,\r\n\r\n flexContainer: mergeStyles(\r\n 'ms-Button-flexContainer',\r\n styles.flexContainer\r\n ) as string,\r\n\r\n icon: mergeStyles(\r\n 'ms-Button-icon',\r\n iconClassName,\r\n styles.icon,\r\n checked && styles.iconChecked,\r\n disabled && styles.iconDisabled,\r\n ) as string,\r\n\r\n label: mergeStyles(\r\n 'ms-Button-label',\r\n styles.label,\r\n checked && styles.labelChecked,\r\n disabled && styles.labelDisabled,\r\n ) as string,\r\n\r\n menuIcon: mergeStyles(\r\n 'ms-Button-menuIcon',\r\n styles.menuIcon,\r\n checked && styles.menuIconChecked,\r\n disabled && styles.menuIconDisabled\r\n ) as string,\r\n\r\n description: mergeStyles(\r\n 'ms-Button-description',\r\n styles.description,\r\n checked && styles.descriptionChecked,\r\n disabled && styles.descriptionDisabled\r\n ) as string,\r\n\r\n screenReaderText: mergeStyles(\r\n 'ms-Button-screenReaderText',\r\n styles.screenReaderText\r\n ) as string\r\n };\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Button/BaseButton.tsx","import * as React from 'react';\r\nimport { BaseButton } from './BaseButton';\r\nimport { Button } from './Button';\r\nimport { IRenderFunction } from '../../Utilities';\r\nimport { IContextualMenuProps } from '../../ContextualMenu';\r\nimport { IIconProps, IconName } from '../../Icon';\r\nimport { IStyle } from '../../Styling';\r\n\r\nexport interface IButton {\r\n /**\r\n * Sets focus to the button.\r\n */\r\n focus: () => void;\r\n}\r\n\r\nexport interface IButtonProps extends React.HTMLAttributes<HTMLButtonElement | HTMLAnchorElement | BaseButton | Button> {\r\n /**\r\n * Optional callback to access the IButton interface. Use this instead of ref for accessing\r\n * the public methods and properties of the component.\r\n */\r\n componentRef?: (component: IButton) => void;\r\n\r\n /**\r\n * If provided, this component will be rendered as an anchor.\r\n * @default ElementType.anchor\r\n */\r\n href?: string;\r\n\r\n /**\r\n * Whether the button is disabled\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Custom styling for individual elements within the button DOM.\r\n */\r\n styles?: IButtonStyles;\r\n\r\n /**\r\n * Whether the button is checked\r\n */\r\n checked?: boolean;\r\n\r\n /**\r\n * If provided, additional class name to provide on the root element.\r\n */\r\n className?: string;\r\n\r\n /**\r\n * The aria label of the button for the benefit of screen readers.\r\n */\r\n ariaLabel?: string;\r\n\r\n /**\r\n * Detailed description of the button for the benefit of screen readers.\r\n *\r\n * Besides the compound button, other button types will need more information provided to screen reader.\r\n */\r\n ariaDescription?: string;\r\n\r\n /**\r\n * Text to render button label. If text is supplied, it will override any string in button children. Other children components will be passed through after the text.\r\n */\r\n text?: string;\r\n\r\n /**\r\n * The props for the icon shown in the button.\r\n */\r\n iconProps?: IIconProps;\r\n\r\n /**\r\n * Props for button menu. Providing this will default to showing the menu icon. See menuIconProps for overriding\r\n * how the default icon looks.\r\n */\r\n menuProps?: IContextualMenuProps;\r\n\r\n /**\r\n * The props for the icon shown when providing a menu dropdown.\r\n */\r\n menuIconProps?: IIconProps;\r\n\r\n /**\r\n * Custom render function for the icon\r\n */\r\n onRenderIcon?: IRenderFunction<IButtonProps>;\r\n\r\n /**\r\n * Custom render function for the label text.\r\n */\r\n onRenderText?: IRenderFunction<IButtonProps>;\r\n\r\n /**\r\n * Custom render function for the desciption text.\r\n */\r\n onRenderDescription?: IRenderFunction<IButtonProps>;\r\n\r\n /**\r\n * Custom render function for the aria description element.\r\n */\r\n onRenderAriaDescription?: IRenderFunction<IButtonProps>;\r\n\r\n /**\r\n * Custom render function for rendering the button children.\r\n */\r\n onRenderChildren?: IRenderFunction<IButtonProps>;\r\n\r\n /**\r\n * Custom render function for button menu icon\r\n */\r\n onRenderMenuIcon?: IRenderFunction<IButtonProps>;\r\n\r\n /**\r\n * Custom render function for button menu\r\n */\r\n onRenderMenu?: IRenderFunction<IContextualMenuProps>;\r\n\r\n /**\r\n * Description of the action this button takes.\r\n * Only used for compound buttons\r\n */\r\n description?: string;\r\n\r\n /**\r\n * Deprecated at v1.2.3, to be removed at >= v2.0.0. Use specific button component instead\r\n * @defaultvalue ButtonType.default\r\n * @deprecated\r\n */\r\n\r\n buttonType?: ButtonType;\r\n\r\n /**\r\n * Deprecated at v0.56.2, to be removed at >= v1.0.0. Just pass in button props instead;\r\n * they will be mixed into the button/anchor element rendered by the component.\r\n * @deprecated\r\n */\r\n rootProps?: React.HTMLProps<HTMLButtonElement> | React.HTMLProps<HTMLAnchorElement>;\r\n\r\n /**\r\n * Deprecated on 4/15/2017, use iconProps={ { iconName: 'Emoji2' } }.\r\n * @deprecated\r\n */\r\n icon?: string;\r\n\r\n /**\r\n * Deprecated on 4/15/2017, use menuIconProps={ { iconName: 'Emoji2' } }.\r\n * @deprecated\r\n */\r\n menuIconName?: IconName | string | null;\r\n\r\n /**\r\n * Deprecated on 5/26/2016, use checked.\r\n * @deprecated\r\n */\r\n toggled?: boolean;\r\n}\r\n\r\nexport enum ElementType {\r\n /** <button> element. */\r\n button = 0,\r\n /** <a> element. */\r\n anchor = 1\r\n}\r\n\r\nexport enum ButtonType {\r\n normal = 0,\r\n primary = 1,\r\n hero = 2,\r\n compound = 3,\r\n command = 4,\r\n icon = 5,\r\n default = 6\r\n}\r\n\r\nexport interface IButtonStyles {\r\n /**\r\n * Style for the root element in the default enabled, non-toggled state.\r\n */\r\n root?: IStyle;\r\n\r\n /**\r\n * Style override for the root element in a checked state, layered on top of the root style.\r\n */\r\n rootChecked?: IStyle;\r\n\r\n /**\r\n * Style override for the root element in a disabled state, layered on top of the root style.\r\n */\r\n rootDisabled?: IStyle;\r\n\r\n /**\r\n * Style override applied to the root on hover in the default, enabled, non-toggled state.\r\n */\r\n rootHovered?: IStyle;\r\n\r\n /**\r\n * Style override applied to the root on pressed in the default, enabled, non-toggled state.\r\n */\r\n rootPressed?: IStyle;\r\n\r\n /**\r\n * Style for the flexbox container within the root element.\r\n */\r\n flexContainer?: IStyle;\r\n\r\n /**\r\n * Style for the icon on the near side of the label.\r\n */\r\n icon?: IStyle;\r\n\r\n /**\r\n * Style override for the icon when the button is disabled.\r\n */\r\n iconDisabled?: IStyle;\r\n\r\n /**\r\n * Style override for the icon when the button is checked.\r\n */\r\n iconChecked?: IStyle;\r\n\r\n /**\r\n * Style for the text content of the button.\r\n */\r\n label?: IStyle;\r\n\r\n /**\r\n * Style override for the text content when the button is disabled.\r\n */\r\n labelDisabled?: IStyle;\r\n\r\n /**\r\n * Style override for the text content when the button is checked.\r\n */\r\n labelChecked?: IStyle;\r\n\r\n /**\r\n * Style for the menu chevron.\r\n */\r\n menuIcon?: IStyle;\r\n\r\n /**\r\n * Style override for the menu chevron when the button is disabled.\r\n */\r\n menuIconDisabled?: IStyle;\r\n\r\n /**\r\n * Style override for the menu chevron when the button is checked.\r\n */\r\n menuIconChecked?: IStyle;\r\n\r\n /**\r\n * Style for the description text if applicable (for compound buttons.)\r\n */\r\n description?: IStyle;\r\n\r\n /**\r\n * Style override for the description text when the button is hovered.\r\n */\r\n descriptionHovered?: IStyle;\r\n\r\n /**\r\n * Style for the description text when the button is pressed.\r\n */\r\n descriptionPressed?: IStyle;\r\n\r\n /**\r\n * Style override for the description text when the button is disabled.\r\n */\r\n descriptionDisabled?: IStyle;\r\n\r\n /**\r\n * Style override for the description text when the button is checked.\r\n */\r\n descriptionChecked?: IStyle;\r\n\r\n /**\r\n * Style for the screen reader text.\r\n */\r\n screenReaderText?: IStyle;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Button/Button.Props.ts","/* tslint:disable:no-unused-variable */\r\nimport * as React from 'react';\r\n/* tslint:enable:no-unused-variable */\r\n\r\nimport { BaseComponent, warn } from '../../Utilities';\r\nimport { ButtonType, IButtonProps } from './Button.Props';\r\nimport { DefaultButton } from './DefaultButton/DefaultButton';\r\nimport { CommandButton } from './CommandButton/CommandButton';\r\nimport { CompoundButton } from './CompoundButton/CompoundButton';\r\nimport { IconButton } from './IconButton/IconButton';\r\nimport { PrimaryButton } from './PrimaryButton/PrimaryButton';\r\n/**\r\n * This class is deprecated. Use the individual *Button components instead.\r\n * @deprecated\r\n */\r\nexport class Button extends BaseComponent<IButtonProps, {}> {\r\n /**\r\n * Set this BaseComponent._resolveComponentRef to false, bypassing resolution of componentRef.\r\n */\r\n protected _shouldUpdateComponentRef = false;\r\n\r\n constructor(props: IButtonProps) {\r\n super(props);\r\n\r\n warn(\r\n `The Button component has been deprecated. Use specific variants instead. ` +\r\n `(PrimaryButton, DefaultButton, IconButton, CommandButton, etc.)`\r\n );\r\n }\r\n\r\n public render() {\r\n const props = this.props;\r\n\r\n switch (props.buttonType) {\r\n case ButtonType.command:\r\n return <CommandButton { ...props } />;\r\n\r\n case ButtonType.compound:\r\n return <CompoundButton { ...props } />;\r\n\r\n case ButtonType.icon:\r\n return <IconButton { ...props } />;\r\n\r\n case ButtonType.primary:\r\n return <PrimaryButton { ...props } />;\r\n\r\n default:\r\n return <DefaultButton { ...props } />;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Button/Button.tsx","import * as React from 'react';\r\nimport { BaseButton } from '../BaseButton';\r\nimport { BaseComponent, nullRender } from '../../../Utilities';\r\nimport { IButtonProps } from '../Button.Props';\r\nimport { getStyles } from './DefaultButton.styles';\r\n\r\nexport class DefaultButton extends BaseComponent<IButtonProps, {}> {\r\n /**\r\n * Tell BaseComponent to bypass resolution of componentRef.\r\n */\r\n protected _shouldUpdateComponentRef = false;\r\n\r\n public render() {\r\n const { styles } = this.props;\r\n\r\n return (\r\n <BaseButton\r\n { ...this.props }\r\n variantClassName='ms-Button--default'\r\n styles={ getStyles(undefined, styles) }\r\n onRenderDescription={ nullRender }\r\n />\r\n );\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/Button/DefaultButton/DefaultButton.tsx","import { IButtonStyles } from '../Button.Props';\r\nimport {\r\n ITheme,\r\n getTheme,\r\n mergeStyleSets\r\n} from '../../../Styling';\r\nimport { memoizeFunction } from '../../../Utilities';\r\nimport {\r\n getStyles as getBaseButtonStyles\r\n} from '../BaseButton.styles';\r\n\r\nconst DEFAULT_BUTTON_HEIGHT = '32px';\r\nconst DEFAULT_BUTTON_MINWIDTH = '80px';\r\nconst DEFAULT_PADDING = '0 16px';\r\n\r\nexport const getStyles = memoizeFunction((\r\n theme: ITheme = getTheme(),\r\n customStyles?: IButtonStyles,\r\n focusInset?: string,\r\n focusColor?: string\r\n): IButtonStyles => {\r\n let baseButtonStyles: IButtonStyles = getBaseButtonStyles(theme, focusInset, focusColor);\r\n let defaultButtonStyles: IButtonStyles = {\r\n root: {\r\n minWidth: DEFAULT_BUTTON_MINWIDTH,\r\n height: DEFAULT_BUTTON_HEIGHT,\r\n backgroundColor: theme.palette.neutralLighter,\r\n color: theme.palette.neutralPrimary\r\n },\r\n\r\n rootHovered: {\r\n backgroundColor: theme.palette.neutralLight,\r\n color: theme.palette.black\r\n },\r\n\r\n rootPressed: {\r\n backgroundColor: theme.palette.themePrimary,\r\n color: theme.palette.white\r\n },\r\n\r\n rootChecked: {\r\n backgroundColor: theme.palette.themePrimary,\r\n color: theme.palette.white\r\n },\r\n\r\n label: {\r\n fontWeight: 'bold' // theme.fontWeights.semibold,\r\n }\r\n\r\n };\r\n\r\n return mergeStyleSets(baseButtonStyles, defaultButtonStyles, customStyles);\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/Button/DefaultButton/DefaultButton.styles.ts","import { IButtonStyles } from './Button.Props';\r\nimport { memoizeFunction } from '../../Utilities';\r\nimport {\r\n ITheme,\r\n getFocusStyle,\r\n FontSizes\r\n} from '../../Styling';\r\n\r\nconst noOutline = {\r\n outline: 0\r\n};\r\n\r\nconst iconStyle = {\r\n fontSize: FontSizes.icon,\r\n margin: '0 4px',\r\n height: '16px',\r\n lineHeight: '16px',\r\n textAlign: 'center',\r\n verticalAlign: 'middle'\r\n};\r\n\r\n/**\r\n * Gets the base button styles. Note: because it is a base class to be used with the `mergeRules`\r\n * helper, it should have values for all class names in the interface. This let `mergeRules` optimize\r\n * mixing class names together.\r\n */\r\nexport const getStyles = memoizeFunction((\r\n theme: ITheme,\r\n focusInset: string = '0',\r\n focusColor: string = theme.palette.neutralSecondary\r\n): IButtonStyles => {\r\n\r\n return {\r\n root: [\r\n getFocusStyle(theme, focusInset, focusColor),\r\n theme.fonts.medium,\r\n {\r\n // this transparent border converts to the correct colors in HC mode\r\n boxSizing: 'border-box',\r\n border: '1px solid transparent',\r\n userSelect: 'none',\r\n display: 'inline-block',\r\n textDecoration: 'none',\r\n textAlign: 'center',\r\n cursor: 'pointer',\r\n verticalAlign: 'top',\r\n padding: '0 16px'\r\n }\r\n ],\r\n\r\n rootDisabled: {\r\n backgroundColor: theme.palette.neutralLighter,\r\n color: theme.palette.neutralTertiary,\r\n cursor: 'default',\r\n pointerEvents: 'none',\r\n ':hover': noOutline,\r\n ':focus': noOutline\r\n },\r\n\r\n flexContainer: {\r\n display: 'flex',\r\n height: '100%',\r\n flexWrap: 'nowrap',\r\n justifyContent: 'center',\r\n alignItems: 'center'\r\n },\r\n\r\n icon: iconStyle,\r\n\r\n menuIcon: [\r\n iconStyle,\r\n {\r\n fontSize: FontSizes.small\r\n }\r\n ],\r\n\r\n label: {\r\n margin: '0 4px',\r\n lineHeight: '100%'\r\n },\r\n\r\n screenReaderText: {\r\n position: 'absolute',\r\n width: '1px',\r\n height: '1px',\r\n margin: '-1px',\r\n padding: 0,\r\n overflow: 'hidden',\r\n clip: 'rect(0,0,0,0)',\r\n border: 0\r\n }\r\n\r\n };\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Button/BaseButton.styles.ts","import * as React from 'react';\r\nimport { BaseButton } from '../BaseButton';\r\nimport { BaseComponent, nullRender } from '../../../Utilities';\r\nimport { IButtonProps } from '../Button.Props';\r\nimport { getStyles } from './CommandButton.styles';\r\n\r\nexport class CommandButton extends BaseComponent<IButtonProps, {}> {\r\n\r\n /**\r\n * Tell BaseComponent to bypass resolution of componentRef.\r\n */\r\n protected _shouldUpdateComponentRef = false;\r\n\r\n public render() {\r\n let { styles } = this.props;\r\n\r\n return (\r\n <BaseButton\r\n { ...this.props }\r\n variantClassName='ms-Button--command'\r\n styles={ getStyles(undefined, styles) }\r\n onRenderDescription={ nullRender }\r\n />\r\n );\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/Button/CommandButton/CommandButton.tsx","import { IButtonStyles } from '../Button.Props';\r\nimport {\r\n ITheme,\r\n getTheme,\r\n mergeStyleSets\r\n} from '../../../Styling';\r\nimport { memoizeFunction } from '../../../Utilities';\r\nimport {\r\n getStyles as getBaseButtonStyles\r\n} from '../BaseButton.styles';\r\n\r\nconst DEFAULT_BUTTON_HEIGHT = '40px';\r\nconst DEFAULT_PADDING = '0 4px';\r\n\r\nexport const getStyles = memoizeFunction((\r\n theme: ITheme = getTheme(),\r\n customStyles?: IButtonStyles\r\n): IButtonStyles => {\r\n let baseButtonStyles: IButtonStyles = getBaseButtonStyles(theme);\r\n let commandButtonStyles: IButtonStyles = {\r\n root: {\r\n borderWidth: '0',\r\n padding: DEFAULT_PADDING,\r\n height: DEFAULT_BUTTON_HEIGHT,\r\n color: theme.palette.neutralPrimary,\r\n backgroundColor: 'transparent'\r\n },\r\n\r\n rootHovered: {\r\n color: theme.palette.themeDarker\r\n },\r\n\r\n rootPressed: {\r\n color: theme.palette.themePrimary\r\n },\r\n\r\n rootDisabled: {\r\n color: theme.palette.neutralTertiary,\r\n backgroundColor: 'transparent'\r\n },\r\n\r\n rootChecked: {\r\n backgroundColor: theme.palette.neutralTertiaryAlt,\r\n\r\n ':hover': {\r\n backgroundColor: theme.palette.neutralLight\r\n }\r\n },\r\n\r\n flexContainer: {\r\n justifyContent: 'flex-start'\r\n },\r\n\r\n icon: {\r\n color: theme.palette.themePrimary\r\n },\r\n\r\n iconDisabled: {\r\n color: 'inherit'\r\n },\r\n\r\n menuIcon: {\r\n color: theme.palette.neutralSecondary\r\n }\r\n\r\n };\r\n\r\n return mergeStyleSets(baseButtonStyles, commandButtonStyles, customStyles);\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/Button/CommandButton/CommandButton.styles.ts","import * as React from 'react';\r\nimport { BaseButton } from '../BaseButton';\r\nimport { BaseComponent, nullRender } from '../../../Utilities';\r\nimport { IButtonProps } from '../Button.Props';\r\nimport { getStyles } from './CompoundButton.styles';\r\n\r\nexport class CompoundButton extends BaseComponent<IButtonProps, {}> {\r\n /**\r\n * Tell BaseComponent to bypass resolution of componentRef.\r\n */\r\n protected _shouldUpdateComponentRef = false;\r\n\r\n public render() {\r\n let { styles } = this.props;\r\n return (\r\n <BaseButton\r\n { ...this.props }\r\n variantClassName='ms-Button--compound'\r\n styles={ getStyles(undefined, styles) }\r\n onRenderIcon={ nullRender }\r\n />\r\n );\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/Button/CompoundButton/CompoundButton.tsx","import { IButtonStyles } from '../Button.Props';\r\nimport {\r\n ITheme,\r\n getTheme,\r\n mergeStyleSets\r\n} from '../../../Styling';\r\nimport { memoizeFunction } from '../../../Utilities';\r\nimport {\r\n getStyles as getDefaultButtonStyles\r\n} from '../DefaultButton/DefaultButton.styles';\r\n\r\nconst DEFAULT_BUTTON_HEIGHT = '32px';\r\nconst DEFAULT_BUTTON_MINWIDTH = '80px';\r\nconst DEFAULT_PADDING = '0 16px';\r\n\r\nexport const getStyles = memoizeFunction((\r\n theme: ITheme = getTheme(),\r\n customStyles?: IButtonStyles\r\n): IButtonStyles => {\r\n let defaultButtonStyles: IButtonStyles = getDefaultButtonStyles(\r\n theme,\r\n customStyles\r\n );\r\n let compoundButtonStyles: IButtonStyles = {\r\n root: {\r\n maxWidth: '280px',\r\n minHeight: '72px',\r\n height: 'auto',\r\n padding: '20px'\r\n },\r\n\r\n flexContainer: {\r\n flexDirection: 'column',\r\n alignItems: 'flex-start',\r\n minWidth: '100%',\r\n margin: ''\r\n },\r\n\r\n label: {\r\n margin: '0 0 5px',\r\n lineHeight: '100%'\r\n },\r\n\r\n description: [\r\n theme.fonts.small,\r\n {\r\n color: theme.palette.neutralSecondary,\r\n lineHeight: '100%'\r\n }\r\n ],\r\n\r\n descriptionHovered: {\r\n color: theme.palette.neutralDark\r\n },\r\n\r\n descriptionPressed: {\r\n color: 'inherit'\r\n },\r\n\r\n descriptionChecked: {\r\n color: 'inherit'\r\n },\r\n\r\n descriptionDisabled: {\r\n color: 'inherit'\r\n }\r\n\r\n };\r\n\r\n return mergeStyleSets(defaultButtonStyles, compoundButtonStyles, customStyles);\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/Button/CompoundButton/CompoundButton.styles.ts","import * as React from 'react';\r\nimport { BaseButton } from '../BaseButton';\r\nimport { BaseComponent, nullRender } from '../../../Utilities';\r\nimport { IButtonProps } from '../Button.Props';\r\nimport { getStyles } from './IconButton.styles';\r\n\r\nexport class IconButton extends BaseComponent<IButtonProps, {}> {\r\n /**\r\n * Tell BaseComponent to bypass resolution of componentRef.\r\n */\r\n protected _shouldUpdateComponentRef = false;\r\n\r\n public render() {\r\n let { styles } = this.props;\r\n\r\n return (\r\n <BaseButton\r\n { ...this.props }\r\n variantClassName='ms-Button--icon'\r\n styles={ getStyles(undefined, styles) }\r\n onRenderText={ nullRender }\r\n onRenderDescription={ nullRender }\r\n />\r\n );\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/Button/IconButton/IconButton.tsx","import { IButtonStyles } from '../Button.Props';\r\nimport {\r\n ITheme,\r\n mergeStyleSets,\r\n getTheme\r\n} from '../../../Styling';\r\nimport { memoizeFunction } from '../../../Utilities';\r\nimport {\r\n getStyles as getBaseButtonStyles\r\n} from '../BaseButton.styles';\r\n\r\nconst DEFAULT_BUTTON_HEIGHT = '32px';\r\nconst DEFAULT_PADDING = '0 4px';\r\n\r\nexport const getStyles = memoizeFunction((\r\n theme: ITheme = getTheme(),\r\n customStyles?: IButtonStyles\r\n): IButtonStyles => {\r\n let baseButtonStyles: IButtonStyles = getBaseButtonStyles(theme);\r\n let iconButtonStyles: IButtonStyles = {\r\n root: {\r\n padding: '0 4px',\r\n width: '32px',\r\n height: '32px',\r\n backgroundColor: 'transparent'\r\n },\r\n\r\n rootHovered: {\r\n color: theme.palette.themeDarker\r\n },\r\n\r\n rootPressed: {\r\n color: theme.palette.themePrimary\r\n },\r\n\r\n rootChecked: {\r\n backgroundColor: theme.palette.neutralTertiaryAlt,\r\n\r\n ':hover': {\r\n backgroundColor: theme.palette.neutralLight\r\n }\r\n\r\n },\r\n\r\n rootDisabled: {\r\n color: theme.palette.neutralTertiary\r\n }\r\n };\r\n\r\n return mergeStyleSets(baseButtonStyles, iconButtonStyles, customStyles);\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/Button/IconButton/IconButton.styles.ts","import * as React from 'react';\r\nimport { BaseComponent, nullRender } from '../../../Utilities';\r\nimport { BaseButton } from '../BaseButton';\r\nimport { IButtonProps } from '../Button.Props';\r\nimport { getStyles } from './PrimaryButton.styles';\r\n\r\nexport class PrimaryButton extends BaseComponent<IButtonProps, {}> {\r\n /**\r\n * Set this BaseComponent._resolveComponentRef to false, bypassing resolution of componentRef.\r\n */\r\n protected _shouldUpdateComponentRef = false;\r\n\r\n public render() {\r\n const { styles } = this.props;\r\n\r\n return (\r\n <BaseButton\r\n { ...this.props }\r\n variantClassName='ms-Button--primary'\r\n onRenderDescription={ nullRender }\r\n styles={ getStyles(undefined, styles) }\r\n />\r\n );\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/Button/PrimaryButton/PrimaryButton.tsx","import { IButtonStyles } from '../Button.Props';\r\nimport {\r\n ITheme,\r\n getTheme,\r\n mergeStyleSets\r\n} from '../../../Styling';\r\nimport { memoizeFunction } from '../../../Utilities';\r\nimport {\r\n getStyles as getDefaultButtonStyles\r\n} from '../DefaultButton/DefaultButton.styles';\r\n\r\nexport const getStyles = memoizeFunction((\r\n theme: ITheme = getTheme(),\r\n customStyles?: IButtonStyles\r\n): IButtonStyles => {\r\n let { palette } = theme;\r\n let defaultButtonStyles: IButtonStyles = getDefaultButtonStyles(\r\n theme,\r\n customStyles,\r\n '0px',\r\n palette.white\r\n );\r\n let primaryButtonStyles: IButtonStyles = {\r\n root: {\r\n backgroundColor: palette.themePrimary,\r\n color: palette.white\r\n },\r\n\r\n rootHovered: {\r\n backgroundColor: palette.themeDark,\r\n color: palette.white\r\n },\r\n\r\n rootPressed: {\r\n backgroundColor: palette.themePrimary,\r\n color: palette.white\r\n },\r\n\r\n rootChecked: {\r\n backgroundColor: palette.themeDark,\r\n color: palette.white,\r\n\r\n ':hover': {\r\n backgroundColor: theme.palette.neutralLight,\r\n color: theme.palette.black\r\n }\r\n }\r\n };\r\n\r\n return mergeStyleSets(defaultButtonStyles, primaryButtonStyles, customStyles);\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/Button/PrimaryButton/PrimaryButton.styles.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_f13b2dea',\r\n list: 'list_f13b2dea',\r\n chevron: 'chevron_f13b2dea',\r\n listItem: 'listItem_f13b2dea',\r\n item: 'item_f13b2dea',\r\n itemLink: 'itemLink_f13b2dea',\r\n overflow: 'overflow_f13b2dea',\r\n overflowButton: 'overflowButton_f13b2dea',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_f13b2dea{margin:23px 0 1px}.list_f13b2dea{white-space:nowrap;padding:0;margin:0}.chevron_f13b2dea{font-size:12px;color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\";line-height:28px}.listItem_f13b2dea{list-style-type:none;vertical-align:top;margin:0;padding:0;display:inline-block;position:relative}.listItem_f13b2dea:last-of-type .chevron_f13b2dea{display:none}.listItem_f13b2dea .itemLink_f13b2dea,.listItem_f13b2dea .item_f13b2dea{font-size:21px;font-weight:100;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";display:inline-block;padding:0 8px;max-width:160px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;vertical-align:top}.overflow_f13b2dea{display:inline-block;position:relative}.overflowButton_f13b2dea{font-size:16px;display:inline-block;vertical-align:top;height:28px;line-height:1}.overflowButton_f13b2dea:hover{cursor:pointer;background-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\"}.item_f13b2dea:hover{cursor:default}.root_f13b2dea .itemLink_f13b2dea:hover{background-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\";color:initial;cursor:pointer}.root_f13b2dea .itemLink_f13b2dea:focus{color:\"},{\"theme\":\"neutralDark\",\"defaultValue\":\"#212121\"},{\"rawString\":\"}.root_f13b2dea .itemLink_f13b2dea:active{outline:transparent;background-color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\";color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\"}.itemLink_f13b2dea,.overflowButton_f13b2dea{text-decoration:none;outline:transparent}@media screen and (max-width:639px){.listItem_f13b2dea .itemLink_f13b2dea{font-size:17px}.chevron_f13b2dea{font-size:10px;line-height:17px}.overflowButton_f13b2dea{font-size:15px}}@media screen and (max-width:479px){.listItem_f13b2dea .itemLink_f13b2dea{font-size:14px;max-width:116px}.chevron_f13b2dea{font-size:8px;line-height:14px}.overflowButton_f13b2dea{padding:4px 6px}}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Breadcrumb/Breadcrumb.scss.ts","export * from './components/Calendar/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Calendar.ts","export * from './Calendar';\r\nexport * from './Calendar.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Calendar/index.ts","import * as React from 'react';\r\nimport { ICalendar, ICalendarProps } from './Calendar.Props';\r\nimport { DayOfWeek, DateRangeType } from '../../utilities/dateValues/DateValues';\r\nimport { CalendarDay } from './CalendarDay';\r\nimport { CalendarMonth } from './CalendarMonth';\r\nimport { compareDates } from '../../utilities/dateMath/DateMath';\r\nimport {\r\n autobind,\r\n css,\r\n BaseComponent,\r\n KeyCodes\r\n} from '../../Utilities';\r\nimport * as stylesImport from './Calendar.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface ICalendarState {\r\n /** The currently focused date in the calendar, but not necessarily selected */\r\n navigatedDate?: Date;\r\n\r\n /** The currently selected date in the calendar */\r\n selectedDate?: Date;\r\n}\r\n\r\nexport class Calendar extends BaseComponent<ICalendarProps, ICalendarState> implements ICalendar {\r\n public static defaultProps: ICalendarProps = {\r\n onSelectDate: null,\r\n onDismiss: null,\r\n isMonthPickerVisible: true,\r\n value: null,\r\n today: new Date(),\r\n firstDayOfWeek: DayOfWeek.Sunday,\r\n dateRangeType: DateRangeType.Day,\r\n autoNavigateOnSelection: false,\r\n showGoToToday: true,\r\n strings: null\r\n };\r\n\r\n public refs: {\r\n [key: string]: React.ReactInstance;\r\n root: HTMLElement;\r\n dayPicker: CalendarDay;\r\n };\r\n\r\n private _focusOnUpdate: boolean;\r\n\r\n constructor(props: ICalendarProps) {\r\n super();\r\n\r\n let currentDate = props.value && !isNaN(props.value.getTime()) ? props.value : (props.today || new Date());\r\n this.state = {\r\n selectedDate: currentDate,\r\n navigatedDate: currentDate\r\n };\r\n\r\n this._focusOnUpdate = false;\r\n }\r\n\r\n public componentWillReceiveProps(nextProps: ICalendarProps) {\r\n let { autoNavigateOnSelection, value, today = new Date() } = nextProps;\r\n\r\n // Make sure auto-navigation is supported for programmatic changes to selected date, i.e.,\r\n // if selected date is updated via props, we may need to modify the navigated date\r\n let overrideNavigatedDate = (autoNavigateOnSelection && !compareDates(value, this.props.value));\r\n if (overrideNavigatedDate) {\r\n this.setState({\r\n navigatedDate: value\r\n });\r\n }\r\n\r\n this.setState({\r\n selectedDate: value || today\r\n });\r\n }\r\n\r\n public componentDidUpdate() {\r\n if (this._focusOnUpdate) {\r\n this.refs.dayPicker.focus();\r\n this._focusOnUpdate = false;\r\n }\r\n }\r\n\r\n public render() {\r\n let rootClass = 'ms-DatePicker';\r\n let { firstDayOfWeek, dateRangeType, strings, isMonthPickerVisible, autoNavigateOnSelection, showGoToToday } = this.props;\r\n let { selectedDate, navigatedDate } = this.state;\r\n\r\n return (\r\n <div className={ css(rootClass, styles.root) } ref='root' role='application'>\r\n <div className={ css(\r\n 'ms-DatePicker-picker ms-DatePicker-picker--opened ms-DatePicker-picker--focused',\r\n styles.picker,\r\n styles.pickerIsOpened,\r\n styles.pickerIsFocused,\r\n isMonthPickerVisible && ('is-monthPickerVisible ' + styles.pickerIsMonthPickerVisible)\r\n ) } >\r\n <div className={ css('ms-DatePicker-holder ms-slideDownIn10', styles.holder) } onKeyDown={ this._onDatePickerPopupKeyDown }>\r\n <div className={ css('ms-DatePicker-frame', styles.frame) }>\r\n <div className={ css('ms-DatePicker-wrap', styles.wrap) }>\r\n <CalendarDay\r\n selectedDate={ selectedDate }\r\n navigatedDate={ navigatedDate }\r\n today={ this.props.today }\r\n onSelectDate={ this._onSelectDate }\r\n onNavigateDate={ this._onNavigateDate }\r\n onDismiss={ this.props.onDismiss }\r\n firstDayOfWeek={ firstDayOfWeek }\r\n dateRangeType={ dateRangeType }\r\n autoNavigateOnSelection={ autoNavigateOnSelection }\r\n strings={ strings }\r\n ref='dayPicker' />\r\n\r\n { isMonthPickerVisible && <CalendarMonth\r\n navigatedDate={ navigatedDate }\r\n strings={ strings }\r\n onNavigateDate={ this._onNavigateDate } /> }\r\n\r\n { showGoToToday &&\r\n <span\r\n role='button'\r\n className={ css('ms-DatePicker-goToday js-goToday', styles.goToday) }\r\n onClick={ this._onGotoToday }\r\n onKeyDown={ this._onGotoTodayKeyDown }\r\n tabIndex={ 0 }>\r\n { strings.goToToday }\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n public focus() {\r\n if (this.refs.dayPicker) {\r\n this.refs.dayPicker.focus();\r\n }\r\n }\r\n\r\n @autobind\r\n private _navigateDay(date: Date) {\r\n this.setState({\r\n navigatedDate: date\r\n });\r\n }\r\n\r\n @autobind\r\n private _onNavigateDate(date: Date, focusOnNavigatedDay: boolean) {\r\n this._navigateDay(date);\r\n this._focusOnUpdate = focusOnNavigatedDay;\r\n }\r\n\r\n @autobind\r\n private _onSelectDate(date: Date, selectedDateRangeArray: Date[]) {\r\n let { onSelectDate } = this.props;\r\n\r\n this.setState({\r\n selectedDate: date\r\n });\r\n\r\n if (onSelectDate) {\r\n onSelectDate(date, selectedDateRangeArray);\r\n }\r\n }\r\n\r\n @autobind\r\n private _onGotoToday() {\r\n this._navigateDay(this.props.today);\r\n this._focusOnUpdate = true;\r\n }\r\n\r\n @autobind\r\n private _onGotoTodayKeyDown(ev: React.KeyboardEvent<HTMLElement>) {\r\n if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {\r\n ev.preventDefault();\r\n this._onGotoToday();\r\n } else if (ev.which === KeyCodes.tab && !ev.shiftKey) {\r\n if (this.props.onDismiss) {\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n this.props.onDismiss();\r\n }\r\n }\r\n }\r\n\r\n @autobind\r\n private _onDatePickerPopupKeyDown(ev: React.KeyboardEvent<HTMLElement>) {\r\n switch (ev.which) {\r\n case KeyCodes.enter:\r\n ev.preventDefault();\r\n break;\r\n\r\n case KeyCodes.backspace:\r\n ev.preventDefault();\r\n break;\r\n\r\n case KeyCodes.escape:\r\n this._handleEscKey(ev);\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n @autobind\r\n private _handleEscKey(ev: React.KeyboardEvent<HTMLElement>) {\r\n if (this.props.onDismiss() != null) {\r\n this.props.onDismiss();\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Calendar/Calendar.tsx","/**\r\n * The days of the week\r\n */\r\nexport enum DayOfWeek {\r\n Sunday = 0,\r\n Monday = 1,\r\n Tuesday = 2,\r\n Wednesday = 3,\r\n Thursday = 4,\r\n Friday = 5,\r\n Saturday = 6\r\n}\r\n\r\n/**\r\n * The supported date range types\r\n */\r\nexport enum DateRangeType {\r\n Day = 0,\r\n Week = 1,\r\n Month = 2\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../src/utilities/dateValues/DateValues.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n KeyCodes,\r\n autobind,\r\n css,\r\n getId,\r\n getRTL,\r\n getRTLSafeKeyCode\r\n} from '../../Utilities';\r\nimport { ICalendarStrings } from './Calendar.Props';\r\nimport { DayOfWeek, DateRangeType } from '../../utilities/dateValues/DateValues';\r\nimport { FocusZone } from '../../FocusZone';\r\nimport { Icon } from '../../Icon';\r\nimport {\r\n addDays,\r\n addWeeks,\r\n addMonths,\r\n compareDates,\r\n compareDatePart,\r\n getDateRangeArray,\r\n isInDateRangeArray\r\n} from '../../utilities/dateMath/DateMath';\r\n\r\nimport * as stylesImport from './Calendar.scss';\r\nconst styles: any = stylesImport;\r\n\r\nconst DAYS_IN_WEEK = 7;\r\n\r\nexport interface IDayInfo {\r\n key: string;\r\n date: string;\r\n originalDate: Date;\r\n isInMonth: boolean;\r\n isToday: boolean;\r\n isSelected: boolean;\r\n onSelected: () => void;\r\n}\r\n\r\nexport interface ICalendarDayProps {\r\n strings: ICalendarStrings;\r\n selectedDate: Date;\r\n navigatedDate: Date;\r\n onSelectDate: (date: Date, selectedDateRangeArray?: Date[]) => void;\r\n onNavigateDate: (date: Date, focusOnNavigatedDay: boolean) => void;\r\n onDismiss?: () => void;\r\n firstDayOfWeek: DayOfWeek;\r\n dateRangeType: DateRangeType;\r\n autoNavigateOnSelection: boolean;\r\n today?: Date;\r\n}\r\n\r\nexport interface ICalendarDayState {\r\n activeDescendantId?: string;\r\n weeks?: IDayInfo[][];\r\n}\r\n\r\nexport class CalendarDay extends BaseComponent<ICalendarDayProps, ICalendarDayState> {\r\n public refs: {\r\n [key: string]: React.ReactInstance;\r\n navigatedDay: HTMLElement;\r\n };\r\n\r\n public constructor(props: ICalendarDayProps) {\r\n super(props);\r\n\r\n this.state = {\r\n activeDescendantId: getId('DatePickerDay-active'),\r\n weeks: this._getWeeks(props)\r\n };\r\n\r\n this._onSelectNextMonth = this._onSelectNextMonth.bind(this);\r\n this._onSelectPrevMonth = this._onSelectPrevMonth.bind(this);\r\n }\r\n\r\n public componentWillReceiveProps(nextProps: ICalendarDayProps) {\r\n const { navigatedDate, selectedDate, today } = nextProps;\r\n\r\n this.setState({\r\n weeks: this._getWeeks(nextProps)\r\n });\r\n }\r\n\r\n public render() {\r\n let { activeDescendantId, weeks } = this.state;\r\n let { firstDayOfWeek, strings, navigatedDate, onSelectDate } = this.props;\r\n let dayPickerId = getId('DatePickerDay-dayPicker');\r\n let monthAndYearId = getId('DatePickerDay-monthAndYear');\r\n\r\n return (\r\n <div className={ css('ms-DatePicker-dayPicker', styles.dayPicker) } id={ dayPickerId }>\r\n <div className={ css('ms-DatePicker-header', styles.header) }>\r\n <div aria-live='polite' aria-relevant='text' aria-atomic='true' id={ monthAndYearId }>\r\n <div className={ css('ms-DatePicker-month', styles.month) }>{ strings.months[navigatedDate.getMonth()] }</div>\r\n <div className={ css('ms-DatePicker-year', styles.year) }>{ navigatedDate.getFullYear() }</div>\r\n </div>\r\n </div>\r\n <div className={ css('ms-DatePicker-monthComponents', styles.monthComponents) }>\r\n <div className={ css('ms-DatePicker-navContainer', styles.navContainer) }>\r\n <span\r\n className={ css('ms-DatePicker-prevMonth js-prevMonth', styles.prevMonth) }\r\n onClick={ this._onSelectPrevMonth }\r\n onKeyDown={ this._onPrevMonthKeyDown }\r\n aria-controls={ dayPickerId }\r\n aria-label={ strings.prevMonthAriaLabel }\r\n role='button'\r\n tabIndex={ 0 }>\r\n <Icon iconName={ getRTL() ? 'chevronRight' : 'chevronLeft' } />\r\n </span >\r\n <span\r\n className={ css('ms-DatePicker-nextMonth js-nextMonth', styles.nextMonth) }\r\n onClick={ this._onSelectNextMonth }\r\n onKeyDown={ this._onKeyDown.bind(this, this._onSelectNextMonth) }\r\n aria-controls={ dayPickerId }\r\n aria-label={ strings.nextMonthAriaLabel }\r\n role='button'\r\n tabIndex={ 0 }>\r\n <Icon iconName={ getRTL() ? 'chevronLeft' : 'chevronRight' } />\r\n </span >\r\n </div >\r\n <div className={ css('ms-DatePicker-headerToggleView js-showMonthPicker', styles.headerToggleView) } />\r\n </div >\r\n <FocusZone>\r\n <table\r\n className={ css('ms-DatePicker-table', styles.table) }\r\n aria-readonly='true'\r\n aria-multiselectable='false'\r\n aria-labelledby={ monthAndYearId }\r\n aria-activedescendant={ activeDescendantId }\r\n >\r\n <thead>\r\n <tr>\r\n { strings.shortDays.map((val, index) =>\r\n <th\r\n className={ css('ms-DatePicker-weekday', styles.weekday) }\r\n scope='col'\r\n key={ index }\r\n title={ strings.days[(index + firstDayOfWeek) % DAYS_IN_WEEK] }\r\n aria-label={ strings.days[(index + firstDayOfWeek) % DAYS_IN_WEEK] }>\r\n { strings.shortDays[(index + firstDayOfWeek) % DAYS_IN_WEEK] }\r\n </th>) }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n { weeks.map((week, weekIndex) =>\r\n <tr key={ weekIndex }>\r\n { week.map((day, dayIndex) =>\r\n <td key={ day.key }>\r\n <div\r\n className={ css(\r\n 'ms-DatePicker-day',\r\n styles.day,\r\n {\r\n ['ms-DatePicker-day--infocus ' + styles.dayIsFocused]: day.isInMonth,\r\n ['ms-DatePicker-day--outfocus ' + styles.dayIsUnfocused]: !day.isInMonth,\r\n ['ms-DatePicker-day--today ' + styles.dayIsToday]: day.isToday,\r\n ['ms-DatePicker-day--highlighted ' + styles.dayIsHighlighted]: day.isSelected\r\n }) }\r\n role='button'\r\n onClick={ day.onSelected }\r\n onKeyDown={ (ev: React.KeyboardEvent<HTMLElement>) =>\r\n this._navigateMonthEdge(ev, day.originalDate, weekIndex, dayIndex) }\r\n aria-selected={ day.isSelected }\r\n aria-label={ day.originalDate.toLocaleString ?\r\n day.originalDate.toLocaleString([], { day: 'numeric', month: 'long', year: 'numeric' }) : day.originalDate.getDate() }\r\n id={ compareDates(navigatedDate, day.originalDate) ? activeDescendantId : null }\r\n data-is-focusable={ true }\r\n ref={ compareDates(navigatedDate, day.originalDate) ? 'navigatedDay' : null }\r\n key={ compareDates(navigatedDate, day.originalDate) ? 'navigatedDay' : null } >\r\n <span aria-hidden='true'>{ day.date }</span>\r\n </div>\r\n </td>\r\n ) }\r\n </tr>\r\n ) }\r\n </tbody>\r\n </table>\r\n </FocusZone>\r\n </div >\r\n );\r\n }\r\n\r\n public focus() {\r\n if (this.refs.navigatedDay) {\r\n this.refs.navigatedDay.tabIndex = 0;\r\n this.refs.navigatedDay.focus();\r\n }\r\n }\r\n\r\n private _navigateMonthEdge(ev: React.KeyboardEvent<HTMLElement>, date: Date, weekIndex: number, dayIndex: number) {\r\n if (weekIndex === 0 && ev.which === KeyCodes.up) {\r\n this.props.onNavigateDate(addWeeks(date, -1), true);\r\n ev.preventDefault();\r\n } else if (weekIndex === (this.state.weeks.length - 1) && ev.which === KeyCodes.down) {\r\n this.props.onNavigateDate(addWeeks(date, 1), true);\r\n ev.preventDefault();\r\n } else if (dayIndex === 0 && ev.which === getRTLSafeKeyCode(KeyCodes.left)) {\r\n this.props.onNavigateDate(addDays(date, -1), true);\r\n ev.preventDefault();\r\n } else if (dayIndex === (DAYS_IN_WEEK - 1) && ev.which === getRTLSafeKeyCode(KeyCodes.right)) {\r\n this.props.onNavigateDate(addDays(date, 1), true);\r\n ev.preventDefault();\r\n }\r\n }\r\n\r\n private _onKeyDown(callback: () => void, ev: React.KeyboardEvent<HTMLElement>) {\r\n if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {\r\n callback();\r\n }\r\n }\r\n\r\n private _onSelectDate(selectedDate: Date) {\r\n let { onSelectDate, dateRangeType, firstDayOfWeek, navigatedDate, autoNavigateOnSelection } = this.props;\r\n\r\n let dateRange = getDateRangeArray(selectedDate, dateRangeType, firstDayOfWeek);\r\n if (onSelectDate != null) {\r\n onSelectDate(selectedDate, dateRange);\r\n }\r\n\r\n // Navigate to next or previous month if needed\r\n if (autoNavigateOnSelection && selectedDate.getMonth() !== navigatedDate.getMonth()) {\r\n let compareResult = compareDatePart(selectedDate, navigatedDate);\r\n if (compareResult < 0) {\r\n this._onSelectPrevMonth();\r\n } else if (compareResult > 0) {\r\n this._onSelectNextMonth();\r\n }\r\n }\r\n }\r\n\r\n private _onSelectNextMonth() {\r\n this.props.onNavigateDate(addMonths(this.props.navigatedDate, 1), false);\r\n }\r\n\r\n private _onSelectPrevMonth() {\r\n this.props.onNavigateDate(addMonths(this.props.navigatedDate, -1), false);\r\n }\r\n\r\n @autobind\r\n private _onPrevMonthKeyDown(ev: React.KeyboardEvent<HTMLElement>) {\r\n if (ev.which === KeyCodes.tab && ev.shiftKey) {\r\n if (this.props.onDismiss) {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n this.props.onDismiss();\r\n }\r\n } else {\r\n this._onKeyDown(this._onSelectPrevMonth, ev);\r\n }\r\n }\r\n\r\n private _getWeeks(propsToUse: ICalendarDayProps): IDayInfo[][] {\r\n let { navigatedDate, selectedDate, dateRangeType, firstDayOfWeek, today } = propsToUse;\r\n let date = new Date(navigatedDate.getFullYear(), navigatedDate.getMonth(), 1);\r\n let todaysDate = today || new Date();\r\n let weeks = [];\r\n let week;\r\n\r\n // Cycle the date backwards to get to the first day of the week.\r\n while (date.getDay() !== firstDayOfWeek) {\r\n date.setDate(date.getDate() - 1);\r\n }\r\n\r\n // a flag to indicate whether all days of the week are in the month\r\n let isAllDaysOfWeekOutOfMonth = false;\r\n\r\n let selectedDates = getDateRangeArray(selectedDate, dateRangeType, firstDayOfWeek);\r\n\r\n for (let weekIndex = 0; !isAllDaysOfWeekOutOfMonth; weekIndex++) {\r\n week = [];\r\n\r\n isAllDaysOfWeekOutOfMonth = true;\r\n\r\n for (let dayIndex = 0; dayIndex < DAYS_IN_WEEK; dayIndex++) {\r\n let originalDate = new Date(date.toString());\r\n let dayInfo = {\r\n key: date.toString(),\r\n date: date.getDate(),\r\n originalDate: originalDate,\r\n isInMonth: date.getMonth() === navigatedDate.getMonth(),\r\n isToday: compareDates(todaysDate, date),\r\n isSelected: isInDateRangeArray(date, selectedDates),\r\n onSelected: this._onSelectDate.bind(this, originalDate)\r\n };\r\n\r\n week.push(dayInfo);\r\n\r\n if (dayInfo.isInMonth) {\r\n isAllDaysOfWeekOutOfMonth = false;\r\n }\r\n\r\n date.setDate(date.getDate() + 1);\r\n }\r\n\r\n if (!isAllDaysOfWeekOutOfMonth) {\r\n weeks.push(week);\r\n }\r\n }\r\n\r\n return weeks;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Calendar/CalendarDay.tsx","import { DayOfWeek, DateRangeType } from '../dateValues/DateValues';\r\n\r\nconst DAYS_IN_WEEK = 7;\r\nconst MONTHS_IN_YEAR = 12;\r\n\r\n/**\r\n * Returns a date offset from the given date by the specified number of days.\r\n * @param {Date} date - The origin date\r\n * @param {number} days - The number of days to offset. 'days' can be negative.\r\n * @return {Date} A new Date object offset from the origin date by the given number of days\r\n */\r\nexport function addDays(date: Date, days: number): Date {\r\n let result = new Date(date.getTime());\r\n result.setDate(result.getDate() + days);\r\n return result;\r\n}\r\n\r\n/**\r\n * Returns a date offset from the given date by the specified number of weeks.\r\n * @param {Date} date - The origin date\r\n * @param {number} weeks - The number of weeks to offset. 'weeks' can be negative.\r\n * @return {Date} A new Date object offset from the origin date by the given number of weeks\r\n */\r\nexport function addWeeks(date: Date, weeks: number): Date {\r\n return addDays(date, weeks * DAYS_IN_WEEK);\r\n}\r\n\r\n/**\r\n * Returns a date offset from the given date by the specified number of months.\r\n * The method tries to preserve the day-of-month; however, if the new month does not have enough days\r\n * to contain the original day-of-month, we'll use the last day of the new month.\r\n * @param {Date} date - The origin date\r\n * @param {number} months - The number of months to offset. 'months' can be negative.\r\n * @return {Date} A new Date object offset from the origin date by the given number of months\r\n */\r\nexport function addMonths(date: Date, months: number): Date {\r\n let result = new Date(date.getTime());\r\n let newMonth = result.getMonth() + months;\r\n result.setMonth(newMonth);\r\n\r\n // We want to maintain the same day-of-month, but that may not be possible if the new month doesn't have enough days.\r\n // Loop until we back up to a day the new month has.\r\n // (Weird modulo math is due to Javascript's treatment of negative numbers in modulo)\r\n if (result.getMonth() !== ((newMonth % MONTHS_IN_YEAR) + MONTHS_IN_YEAR) % MONTHS_IN_YEAR) {\r\n result = addDays(result, -result.getDate());\r\n }\r\n return result;\r\n}\r\n\r\n/**\r\n * Returns a date offset from the given date by the specified number of years.\r\n * The method tries to preserve the day-of-month; however, if the new month does not have enough days\r\n * to contain the original day-of-month, we'll use the last day of the new month.\r\n * @param {Date} date - The origin date\r\n * @param {number} years - The number of years to offset. 'years' can be negative.\r\n * @return {Date} A new Date object offset from the origin date by the given number of years\r\n */\r\nexport function addYears(date: Date, years: number): Date {\r\n let result = new Date(date.getTime());\r\n result.setFullYear(date.getFullYear() + years);\r\n\r\n // We want to maintain the same day-of-month, but that may not be possible if the new month doesn't have enough days.\r\n // Loop until we back up to a day the new month has.\r\n // (Weird modulo math is due to Javascript's treatment of negative numbers in modulo)\r\n if (result.getMonth() !== ((date.getMonth() % MONTHS_IN_YEAR) + MONTHS_IN_YEAR) % MONTHS_IN_YEAR) {\r\n result = addDays(result, -result.getDate());\r\n }\r\n return result;\r\n}\r\n\r\n/**\r\n * Returns a date that is a copy of the given date, aside from the month changing to the given month.\r\n * The method tries to preserve the day-of-month; however, if the new month does not have enough days\r\n * to contain the original day-of-month, we'll use the last day of the new month.\r\n * @param {Date} date - The origin date\r\n * @param {number} month - The 0-based index of the month to set on the date.\r\n * @return {Date} A new Date object with the given month set.\r\n */\r\nexport function setMonth(date: Date, month: number): Date {\r\n return addMonths(date, month - date.getMonth());\r\n}\r\n\r\n/**\r\n * Compares two dates, and returns true if the two dates (not accounting for time-of-day) are equal.\r\n * @return {boolean} True if the two dates represent the same date (regardless of time-of-day), false otherwise.\r\n */\r\nexport function compareDates(date1: Date, date2: Date): boolean {\r\n if (date1 == null && date2 == null) {\r\n return true;\r\n } else if (date1 == null || date2 == null) {\r\n return false;\r\n } else {\r\n return (date1.getFullYear() === date2.getFullYear()\r\n && date1.getMonth() === date2.getMonth()\r\n && date1.getDate() === date2.getDate());\r\n }\r\n}\r\n\r\n/**\r\n * Compare the date parts of two dates\r\n * @param {Date} date1 - The first date to compare\r\n * @param {Date} date2 - The second date to compare\r\n * @returns {Number} A negative value if date1 is earlier than date2, 0 if the dates are equal, or a positive value\r\n * if date1 is later than date2.\r\n */\r\nexport function compareDatePart(date1: Date, date2: Date): Number {\r\n return getDatePartHashValue(date1) - getDatePartHashValue(date2);\r\n}\r\n\r\n/**\r\n * Gets the date range array including the specified date. The date range array is calculated as the list\r\n * of dates accounting for the specified first day of the week and date range type.\r\n * @param {Date} date - The input date\r\n * @param {DateRangeType} dateRangeType - The desired date range type, i.e., day, week, month, etc.\r\n * @param {DayOfWeek} dayOfWeek - The first day of the week.\r\n * @returns {Date[]} An array of dates representing the date range containing the specified date.\r\n */\r\nexport function getDateRangeArray(date: Date, dateRangeType: DateRangeType, firstDayOfWeek: DayOfWeek): Date[] {\r\n let datesArray = new Array<Date>();\r\n let startDate = null;\r\n let endDate = null;\r\n\r\n switch (dateRangeType) {\r\n case DateRangeType.Day:\r\n startDate = getDatePart(date);\r\n endDate = addDays(startDate, 1);\r\n break;\r\n\r\n case DateRangeType.Week:\r\n startDate = getStartDateOfWeek(getDatePart(date), firstDayOfWeek);\r\n endDate = addDays(startDate, DAYS_IN_WEEK);\r\n break;\r\n\r\n case DateRangeType.Month:\r\n startDate = new Date(date.getFullYear(), date.getMonth(), 1);\r\n endDate = addMonths(startDate, 1);\r\n break;\r\n }\r\n\r\n // Populate the dates array with the dates in range\r\n datesArray.push(startDate);\r\n let nextDate = addDays(startDate, 1);\r\n while (!compareDates(nextDate, endDate)) {\r\n datesArray.push(nextDate);\r\n nextDate = addDays(nextDate, 1);\r\n }\r\n\r\n return datesArray;\r\n}\r\n\r\n/**\r\n * Checks whether the specified date is in the given date range.\r\n * @param {Date} date - The origin date\r\n * @param {Date[]} dateRange - An array of dates to do the lookup on\r\n * @returns {bool} True if the date matches one of the dates in the specified array, false otherwise.\r\n */\r\nexport function isInDateRangeArray(date: Date, dateRange: Date[]): boolean {\r\n for (let dateInRange of dateRange) {\r\n if (compareDates(date, dateInRange)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n\r\n/**\r\n * Gets a new date with the time portion zeroed out, i.e., set to midnight\r\n * @param {Date} date - The origin date\r\n * @returns {Date} A new date with the time set to midnight\r\n */\r\nfunction getDatePart(date: Date): Date {\r\n return new Date(date.getFullYear(), date.getMonth(), date.getDate());\r\n}\r\n\r\n/**\r\n * Gets the date for the first day of the week based on the given date assuming\r\n * the specified first day of the week.\r\n * @param {Date} date - The date to find the beginning of the week date for.\r\n * @return {Date} A new date object representing the first day of the week containing the input date.\r\n */\r\nfunction getStartDateOfWeek(date: Date, firstDayOfWeek: DayOfWeek): Date {\r\n let daysOffset = firstDayOfWeek - date.getDay();\r\n if (daysOffset > 0) {\r\n // If first day of week is > date, go 1 week back, to ensure resulting date is in the past.\r\n daysOffset -= DAYS_IN_WEEK;\r\n }\r\n return addDays(date, daysOffset);\r\n}\r\n\r\n/**\r\n * Helper function to assist in date comparisons\r\n */\r\nfunction getDatePartHashValue(date: Date) {\r\n // Generate date hash value created as sum of Date (up to 31 = 5 bits), Month (up to 11 = 4 bits) and Year.\r\n /* tslint:disable:no-bitwise */\r\n return date.getDate() + (date.getMonth() << 5) + (date.getFullYear() << 9);\r\n /* tslint:enable:no-bitwise */\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../src/utilities/dateMath/DateMath.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_bf042f77',\r\n picker: 'picker_bf042f77',\r\n holder: 'holder_bf042f77',\r\n pickerIsOpened: 'pickerIsOpened_bf042f77',\r\n frame: 'frame_bf042f77',\r\n wrap: 'wrap_bf042f77',\r\n dayPicker: 'dayPicker_bf042f77',\r\n header: 'header_bf042f77',\r\n month: 'month_bf042f77',\r\n year: 'year_bf042f77',\r\n table: 'table_bf042f77',\r\n day: 'day_bf042f77',\r\n weekday: 'weekday_bf042f77',\r\n dayIsToday: 'dayIsToday_bf042f77',\r\n dayIsDisabled: 'dayIsDisabled_bf042f77',\r\n dayIsUnfocused: 'dayIsUnfocused_bf042f77',\r\n dayIsFocused: 'dayIsFocused_bf042f77',\r\n dayIsHighlighted: 'dayIsHighlighted_bf042f77',\r\n pickerIsFocused: 'pickerIsFocused_bf042f77',\r\n dayDisabled: 'dayDisabled_bf042f77',\r\n monthPicker: 'monthPicker_bf042f77',\r\n yearPicker: 'yearPicker_bf042f77',\r\n monthComponents: 'monthComponents_bf042f77',\r\n yearComponents: 'yearComponents_bf042f77',\r\n decadeComponents: 'decadeComponents_bf042f77',\r\n prevMonth: 'prevMonth_bf042f77',\r\n nextMonth: 'nextMonth_bf042f77',\r\n prevYear: 'prevYear_bf042f77',\r\n nextYear: 'nextYear_bf042f77',\r\n prevDecade: 'prevDecade_bf042f77',\r\n nextDecade: 'nextDecade_bf042f77',\r\n headerToggleView: 'headerToggleView_bf042f77',\r\n currentYear: 'currentYear_bf042f77',\r\n currentDecade: 'currentDecade_bf042f77',\r\n optionGrid: 'optionGrid_bf042f77',\r\n monthOption: 'monthOption_bf042f77',\r\n yearOption: 'yearOption_bf042f77',\r\n isHighlighted: 'isHighlighted_bf042f77',\r\n goToday: 'goToday_bf042f77',\r\n isPickingYears: 'isPickingYears_bf042f77',\r\n pickerIsMonthPickerVisible: 'pickerIsMonthPickerVisible_bf042f77',\r\n toggleMonthView: 'toggleMonthView_bf042f77',\r\n isPickingMonths: 'isPickingMonths_bf042f77',\r\n navContainer: 'navContainer_bf042f77',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_bf042f77{box-sizing:border-box;box-shadow:none;margin:0;padding:0;margin-bottom:17px}.picker_bf042f77{color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\";font-size:14px;position:relative}html[dir=ltr] .picker_bf042f77{text-align:left}html[dir=rtl] .picker_bf042f77{text-align:right}.holder_bf042f77{-webkit-overflow-scrolling:touch;box-sizing:border-box;background:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";min-width:300px;display:none}.picker_bf042f77.pickerIsOpened_bf042f77 .holder_bf042f77{box-sizing:border-box;display:block}.pickerIsOpened_bf042f77{position:relative}.frame_bf042f77{padding:1px;position:relative}.wrap_bf042f77{margin:-1px;padding:9px}.dayPicker_bf042f77{display:block;margin-bottom:30px}.header_bf042f77{height:40px;line-height:44px}.month_bf042f77,.year_bf042f77{display:inline-block;font-size:21px;font-weight:100;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";margin-top:-1px}.month_bf042f77:hover,.year_bf042f77:hover{color:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\";cursor:pointer}html[dir=ltr] .month_bf042f77{margin-left:15px}html[dir=rtl] .month_bf042f77{margin-right:15px}html[dir=ltr] .year_bf042f77{margin-left:15px}html[dir=rtl] .year_bf042f77{margin-right:15px}.table_bf042f77{text-align:center;border-collapse:collapse;border-spacing:0;table-layout:fixed;font-size:inherit}.table_bf042f77 td{margin:0;padding:0}.table_bf042f77 td:hover{outline:1px solid transparent}.day_bf042f77,.weekday_bf042f77{width:40px;height:40px;padding:0;line-height:40px;font-size:15px;font-weight:400;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\"}.dayIsToday_bf042f77{position:relative;background-color:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\"}.dayIsDisabled_bf042f77:before{border-top-color:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\"}.dayIsUnfocused_bf042f77{color:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\";font-weight:400}.dayIsFocused_bf042f77:hover,.dayIsUnfocused_bf042f77:hover{cursor:pointer;color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\";background:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}.day_bf042f77.dayIsHighlighted_bf042f77.dayIsFocused_bf042f77::-moz-focus-inner{border:0}.day_bf042f77.dayIsHighlighted_bf042f77.dayIsFocused_bf042f77{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .day_bf042f77.dayIsHighlighted_bf042f77.dayIsFocused_bf042f77:focus:after{content:'';position:absolute;top:1px;right:1px;bottom:1px;left:1px;pointer-events:none;border:1px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.dayIsHighlighted_bf042f77:hover,.pickerIsFocused_bf042f77 .dayIsHighlighted_bf042f77{cursor:pointer;color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";background:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.dayIsHighlighted_bf042f77.dayDisabled_bf042f77,.dayIsHighlighted_bf042f77.dayDisabled_bf042f77:hover{background:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\"}.monthPicker_bf042f77,.yearPicker_bf042f77{display:none}.monthComponents_bf042f77{position:absolute;top:9px}[dir=ltr] .monthComponents_bf042f77{right:9px}[dir=rtl] .monthComponents_bf042f77{left:9px}[dir=ltr] .monthComponents_bf042f77{left:9px}[dir=rtl] .monthComponents_bf042f77{right:9px}.decadeComponents_bf042f77,.yearComponents_bf042f77{position:absolute;top:-2px}[dir=ltr] .decadeComponents_bf042f77,[dir=ltr] .yearComponents_bf042f77{right:10px}[dir=rtl] .decadeComponents_bf042f77,[dir=rtl] .yearComponents_bf042f77{left:10px}.nextDecade_bf042f77,.nextMonth_bf042f77,.nextYear_bf042f77,.prevDecade_bf042f77,.prevMonth_bf042f77,.prevYear_bf042f77{width:40px;height:40px;display:block;text-align:center;line-height:40px;text-align:center;font-size:16px;color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\";position:relative;top:2px}html[dir=ltr] .nextDecade_bf042f77,html[dir=ltr] .nextMonth_bf042f77,html[dir=ltr] .nextYear_bf042f77,html[dir=ltr] .prevDecade_bf042f77,html[dir=ltr] .prevMonth_bf042f77,html[dir=ltr] .prevYear_bf042f77{margin-left:10px}html[dir=rtl] .nextDecade_bf042f77,html[dir=rtl] .nextMonth_bf042f77,html[dir=rtl] .nextYear_bf042f77,html[dir=rtl] .prevDecade_bf042f77,html[dir=rtl] .prevMonth_bf042f77,html[dir=rtl] .prevYear_bf042f77{margin-right:10px}.nextDecade_bf042f77:hover,.nextMonth_bf042f77:hover,.nextYear_bf042f77:hover,.prevDecade_bf042f77:hover,.prevMonth_bf042f77:hover,.prevYear_bf042f77:hover{color:\"},{\"theme\":\"neutralDark\",\"defaultValue\":\"#212121\"},{\"rawString\":\";cursor:pointer;outline:1px solid transparent}.headerToggleView_bf042f77{height:40px;position:absolute;top:0;width:140px;cursor:pointer}[dir=ltr] .headerToggleView_bf042f77{left:0}[dir=rtl] .headerToggleView_bf042f77{right:0}.currentDecade_bf042f77,.currentYear_bf042f77{display:block;font-size:21px;font-weight:100;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";height:40px;line-height:40px}html[dir=ltr] .currentDecade_bf042f77,html[dir=ltr] .currentYear_bf042f77{margin-left:15px}html[dir=rtl] .currentDecade_bf042f77,html[dir=rtl] .currentYear_bf042f77{margin-right:15px}.currentYear_bf042f77{color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.currentYear_bf042f77:hover{color:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\";cursor:pointer}.optionGrid_bf042f77{position:relative;height:210px;width:280px;margin:10px 0 30px 5px}html[dir=rtl] .optionGrid_bf042f77{margin:10px 5px 30px 0}.monthOption_bf042f77,.yearOption_bf042f77{background-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\";width:60px;height:60px;line-height:60px;cursor:pointer;margin:0 10px 10px 0;font-size:13px;font-weight:400;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";text-align:center}html[dir=ltr] .monthOption_bf042f77,html[dir=ltr] .yearOption_bf042f77{float:left}html[dir=rtl] .monthOption_bf042f77,html[dir=rtl] .yearOption_bf042f77{float:right}html[dir=rtl] .monthOption_bf042f77,html[dir=rtl] .yearOption_bf042f77{margin:0 0 10px 10px}.monthOption_bf042f77:hover,.yearOption_bf042f77:hover{background-color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\";outline:1px solid transparent}.monthOption_bf042f77.isHighlighted_bf042f77,.yearOption_bf042f77.isHighlighted_bf042f77{background-color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.goToday_bf042f77{bottom:9px;color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";cursor:pointer;font-size:13px;font-weight:400;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";height:30px;line-height:30px;padding:0 10px;position:absolute!important}[dir=ltr] .goToday_bf042f77{right:3px}[dir=rtl] .goToday_bf042f77{left:3px}.goToday_bf042f77:hover{outline:1px solid transparent}.root_bf042f77.isPickingYears_bf042f77 .dayPicker_bf042f77,.root_bf042f77.isPickingYears_bf042f77 .monthComponents_bf042f77{display:none}.root_bf042f77.isPickingYears_bf042f77 .monthPicker_bf042f77{display:none}.root_bf042f77.isPickingYears_bf042f77 .yearPicker_bf042f77{display:block}@media (min-width:460px){.header_bf042f77{height:30px;line-height:30px}.day_bf042f77,.weekday_bf042f77{width:30px;height:30px;line-height:28px;font-weight:600;font-size:12px}.monthComponents_bf042f77{width:210px}.nextDecade_bf042f77,.nextMonth_bf042f77,.nextYear_bf042f77,.prevDecade_bf042f77,.prevMonth_bf042f77,.prevYear_bf042f77{font-size:12px;width:24px;height:24px;line-height:24px}.holder_bf042f77{min-width:230px}.month_bf042f77,.year_bf042f77{font-weight:300}.month_bf042f77,.year_bf042f77{font-size:17px;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\"}.month_bf042f77:hover,.year_bf042f77:hover{color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";cursor:default}.pickerIsMonthPickerVisible_bf042f77 .dayPicker_bf042f77{margin:-10px 0;padding:10px 0}.pickerIsMonthPickerVisible_bf042f77 .dayPicker_bf042f77{box-sizing:border-box;width:220px;min-height:230px}html[dir=ltr] .pickerIsMonthPickerVisible_bf042f77 .dayPicker_bf042f77{border-right:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}html[dir=rtl] .pickerIsMonthPickerVisible_bf042f77 .dayPicker_bf042f77{border-left:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}.pickerIsMonthPickerVisible_bf042f77 .holder_bf042f77{width:440px}.pickerIsMonthPickerVisible_bf042f77 .monthPicker_bf042f77{display:block}.pickerIsMonthPickerVisible_bf042f77 .monthPicker_bf042f77,.pickerIsMonthPickerVisible_bf042f77 .yearPicker_bf042f77{top:9px;position:absolute}[dir=ltr] .pickerIsMonthPickerVisible_bf042f77 .monthPicker_bf042f77,[dir=ltr] .pickerIsMonthPickerVisible_bf042f77 .yearPicker_bf042f77{left:238px}[dir=rtl] .pickerIsMonthPickerVisible_bf042f77 .monthPicker_bf042f77,[dir=rtl] .pickerIsMonthPickerVisible_bf042f77 .yearPicker_bf042f77{right:238px}html[dir=ltr] .pickerIsMonthPickerVisible_bf042f77 .month_bf042f77{margin-left:12px}html[dir=rtl] .pickerIsMonthPickerVisible_bf042f77 .month_bf042f77{margin-right:12px}.pickerIsMonthPickerVisible_bf042f77 .optionGrid_bf042f77{width:200px;height:auto;margin:10px 0 0 0}html[dir=rtl] .pickerIsMonthPickerVisible_bf042f77 .optionGrid_bf042f77{margin:10px 0 0 0}.pickerIsMonthPickerVisible_bf042f77 .toggleMonthView_bf042f77{display:none}.pickerIsMonthPickerVisible_bf042f77 .currentDecade_bf042f77,.pickerIsMonthPickerVisible_bf042f77 .currentYear_bf042f77{font-size:17px;margin:0;height:30px;line-height:26px;padding:0 10px;display:inline-block}.pickerIsMonthPickerVisible_bf042f77 .monthOption_bf042f77,.pickerIsMonthPickerVisible_bf042f77 .yearOption_bf042f77{width:40px;height:40px;line-height:38px;font-size:12px;margin:0 10px 10px 0}html[dir=rtl] .pickerIsMonthPickerVisible_bf042f77 .monthOption_bf042f77,html[dir=rtl] .pickerIsMonthPickerVisible_bf042f77 .yearOption_bf042f77{margin:0 0 10px 10px}.pickerIsMonthPickerVisible_bf042f77 .monthOption_bf042f77:hover,.pickerIsMonthPickerVisible_bf042f77 .yearOption_bf042f77:hover{outline:1px solid transparent}.pickerIsMonthPickerVisible_bf042f77 .goToday_bf042f77{box-sizing:border-box;font-size:12px;height:30px;line-height:30px;padding:0 10px;top:199px}[dir=ltr] .pickerIsMonthPickerVisible_bf042f77 .goToday_bf042f77{right:3px}[dir=rtl] .pickerIsMonthPickerVisible_bf042f77 .goToday_bf042f77{left:3px}html[dir=ltr] .pickerIsMonthPickerVisible_bf042f77 .goToday_bf042f77{text-align:right}html[dir=rtl] .pickerIsMonthPickerVisible_bf042f77 .goToday_bf042f77{text-align:left}.pickerIsMonthPickerVisible_bf042f77 .root_bf042f77.isPickingYears_bf042f77 .dayPicker_bf042f77,.pickerIsMonthPickerVisible_bf042f77 .root_bf042f77.isPickingYears_bf042f77 .monthComponents_bf042f77{display:block}.pickerIsMonthPickerVisible_bf042f77 .root_bf042f77.isPickingYears_bf042f77 .monthPicker_bf042f77{display:none}.pickerIsMonthPickerVisible_bf042f77 .root_bf042f77.isPickingYears_bf042f77 .yearPicker_bf042f77{display:block}}@media (max-width:459px){.root_bf042f77.isPickingMonths_bf042f77 .dayPicker_bf042f77,.root_bf042f77.isPickingMonths_bf042f77 .monthComponents_bf042f77{display:none}.root_bf042f77.isPickingMonths_bf042f77 .monthPicker_bf042f77{display:block}}.wrap_bf042f77 div:focus::-moz-focus-inner,.wrap_bf042f77 span:focus::-moz-focus-inner{border:0}.wrap_bf042f77 div:focus,.wrap_bf042f77 span:focus{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .wrap_bf042f77 div:focus:focus:after,.ms-Fabric.is-focusVisible .wrap_bf042f77 span:focus:focus:after{content:'';position:absolute;top:1px;right:1px;bottom:1px;left:1px;pointer-events:none;border:1px solid \"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.goToday_bf042f77{width:auto}.nextMonth_bf042f77,.nextYear_bf042f77,.prevMonth_bf042f77,.prevYear_bf042f77{display:inline-block}html[dir=ltr] .navContainer_bf042f77{float:right}html[dir=rtl] .navContainer_bf042f77{float:left}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Calendar/Calendar.scss.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n KeyCodes,\r\n css,\r\n getRTL\r\n} from '../../Utilities';\r\nimport { ICalendarStrings } from './Calendar.Props';\r\nimport { FocusZone } from '../../FocusZone';\r\nimport { addYears, setMonth } from '../../utilities/dateMath/DateMath';\r\nimport { Icon } from '../../Icon';\r\nimport * as stylesImport from './Calendar.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface ICalendarMonthProps {\r\n navigatedDate: Date;\r\n strings: ICalendarStrings;\r\n onNavigateDate: (date: Date, focusOnNavigatedDay: boolean) => void;\r\n}\r\n\r\nexport class CalendarMonth extends BaseComponent<ICalendarMonthProps, {}> {\r\n private _selectMonthCallbacks: (() => void)[];\r\n\r\n public constructor(props: ICalendarMonthProps) {\r\n super(props);\r\n\r\n this._selectMonthCallbacks = [];\r\n props.strings.shortMonths.map((month, index) => {\r\n this._selectMonthCallbacks[index] = this._onSelectMonth.bind(this, index);\r\n });\r\n\r\n this._onSelectNextYear = this._onSelectNextYear.bind(this);\r\n this._onSelectPrevYear = this._onSelectPrevYear.bind(this);\r\n this._onSelectMonth = this._onSelectMonth.bind(this);\r\n }\r\n\r\n public render() {\r\n\r\n let { navigatedDate, strings } = this.props;\r\n\r\n return (\r\n <div className={ css('ms-DatePicker-monthPicker', styles.monthPicker) }>\r\n <div className={ css('ms-DatePicker-header', styles.header) }>\r\n <div className={ css(\r\n 'ms-DatePicker-yearComponents ms-DatePicker-navContainer',\r\n styles.yearComponents,\r\n styles.navContainer\r\n ) }>\r\n <span\r\n className={ css('ms-DatePicker-prevYear js-prevYear', styles.prevYear) }\r\n onClick={ this._onSelectPrevYear }\r\n onKeyDown={ this._onKeyDown.bind(this, this._onSelectPrevYear) }\r\n aria-label={ strings.prevYearAriaLabel }\r\n role='button'\r\n tabIndex={ 0 }>\r\n <Icon iconName={ getRTL() ? 'chevronRight' : 'chevronLeft' } />\r\n </span>\r\n <span\r\n className={ css('ms-DatePicker-nextYear js-nextYear', styles.nextYear) }\r\n onClick={ this._onSelectNextYear }\r\n onKeyDown={ this._onKeyDown.bind(this, this._onSelectNextYear) }\r\n aria-label={ strings.nextYearAriaLabel }\r\n role='button'\r\n tabIndex={ 0 }>\r\n <Icon iconName={ getRTL() ? 'chevronLeft' : 'chevronRight' } />\r\n </span>\r\n </div>\r\n <div className={ css('ms-DatePicker-currentYear js-showYearPicker', styles.currentYear) }>{ navigatedDate.getFullYear() }</div>\r\n </div>\r\n <FocusZone>\r\n <div className={ css('ms-DatePicker-optionGrid', styles.optionGrid) }>\r\n { strings.shortMonths.map((month, index) =>\r\n <span\r\n role='button'\r\n className={ css('ms-DatePicker-monthOption', styles.monthOption) }\r\n key={ index }\r\n onClick={ this._selectMonthCallbacks[index] }\r\n aria-label={ setMonth(navigatedDate, index).toLocaleString([], { month: 'long', year: 'numeric' }) }\r\n data-is-focusable={ true }\r\n >\r\n { month }\r\n </span>\r\n ) }\r\n </div>\r\n </FocusZone>\r\n </div>\r\n );\r\n }\r\n\r\n private _onKeyDown(callback: () => void, ev: React.KeyboardEvent<HTMLElement>) {\r\n if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {\r\n callback();\r\n }\r\n }\r\n\r\n private _onSelectNextYear() {\r\n let { navigatedDate, onNavigateDate } = this.props;\r\n onNavigateDate(addYears(navigatedDate, 1), false);\r\n };\r\n\r\n private _onSelectPrevYear() {\r\n let { navigatedDate, onNavigateDate } = this.props;\r\n onNavigateDate(addYears(navigatedDate, -1), false);\r\n };\r\n\r\n private _onSelectMonth(newMonth: number) {\r\n let { navigatedDate, onNavigateDate } = this.props;\r\n onNavigateDate(setMonth(navigatedDate, newMonth), true);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Calendar/CalendarMonth.tsx","import * as React from 'react';\r\nimport { Calendar } from './Calendar';\r\nimport { DayOfWeek, DateRangeType } from '../../utilities/dateValues/DateValues';\r\n\r\nexport { DayOfWeek, DateRangeType }\r\n\r\nexport interface ICalendar {\r\n /** Sets focus to the selected date. */\r\n focus: () => void;\r\n}\r\n\r\nexport interface ICalendarProps extends React.Props<Calendar> {\r\n /**\r\n * Optional callback to access the ICalendar interface. Use this instead of ref for accessing\r\n * the public methods and properties of the component.\r\n */\r\n componentRef?: (component: ICalendar) => void;\r\n\r\n /**\r\n * Callback issued when a date is selected\r\n * @param date - The date the user selected\r\n * @param selectedDateRangeArray - The resultant list of dates that are selected based on the date range type set for the component.\r\n */\r\n onSelectDate?: (date: Date, selectedDateRangeArray?: Date[]) => void;\r\n\r\n /**\r\n * Callback issued when calendar is closed\r\n */\r\n onDismiss?: () => void;\r\n\r\n /**\r\n * Whether the month picker is shown beside the day picker or hidden.\r\n * @defaultvalue true\r\n */\r\n isMonthPickerVisible?: boolean;\r\n\r\n /**\r\n * Value of today. If null, current time in client machine will be used.\r\n */\r\n today?: Date;\r\n\r\n /**\r\n * Default value of the Calendar, if any\r\n */\r\n value?: Date;\r\n\r\n /**\r\n * The first day of the week for your locale.\r\n * @defaultvalue DayOfWeek.Sunday\r\n */\r\n firstDayOfWeek?: DayOfWeek;\r\n\r\n /**\r\n * The date range type indicating how many days should be selected as the user\r\n * selects days\r\n * @defaultValue DateRangeType.Day\r\n */\r\n dateRangeType?: DateRangeType;\r\n\r\n /**\r\n * Whether the month view should automatically navigate to the next or previous date range\r\n * depending on the selected date. If this property is set to true and the currently displayed\r\n * month is March 2017, if the user clicks on a day outside the month, i.e., April 1st, the\r\n * picker will automatically navigate to the month of April.\r\n * @defaultValue false\r\n */\r\n autoNavigateOnSelection?: boolean;\r\n\r\n /**\r\n * Whether the \"Go to today\" link should be shown or not\r\n */\r\n showGoToToday?: boolean;\r\n\r\n /**\r\n * This property has been removed at 0.80.0 in place of the focus method, to be removed @ 1.0.0.\r\n * @deprecated\r\n */\r\n shouldFocusOnMount?: boolean;\r\n\r\n /**\r\n * Localized strings to use in the Calendar\r\n */\r\n strings: ICalendarStrings;\r\n}\r\n\r\nexport interface ICalendarStrings {\r\n /**\r\n * An array of strings for the full names of months.\r\n * The array is 0-based, so months[0] should be the full name of January.\r\n */\r\n months: string[];\r\n\r\n /**\r\n * An array of strings for the short names of months.\r\n * The array is 0-based, so shortMonths[0] should be the short name of January.\r\n */\r\n shortMonths: string[];\r\n\r\n /**\r\n * An array of strings for the full names of days of the week.\r\n * The array is 0-based, so days[0] should be the full name of Sunday.\r\n */\r\n days: string[];\r\n\r\n /**\r\n * An array of strings for the initials of the days of the week.\r\n * The array is 0-based, so days[0] should be the initial of Sunday.\r\n */\r\n shortDays: string[];\r\n\r\n /**\r\n * String to render for button to direct the user to today's date.\r\n */\r\n goToToday: string;\r\n\r\n /**\r\n * Aria-label for the \"previous month\" button.\r\n */\r\n prevMonthAriaLabel?: string;\r\n\r\n /**\r\n * Aria-label for the \"next month\" button.\r\n */\r\n nextMonthAriaLabel?: string;\r\n\r\n /**\r\n * Aria-label for the \"previous year\" button.\r\n */\r\n prevYearAriaLabel?: string;\r\n\r\n /**\r\n * Aria-label for the \"next year\" button.\r\n */\r\n nextYearAriaLabel?: string;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Calendar/Calendar.Props.ts","export * from './components/Checkbox/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Checkbox.ts","export * from './Checkbox';\r\nexport * from './Checkbox.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Checkbox/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n autobind,\r\n css,\r\n getId\r\n} from '../../Utilities';\r\nimport {\r\n ICheckbox,\r\n ICheckboxProps\r\n} from './Checkbox.Props';\r\nimport * as stylesImport from './Checkbox.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface ICheckboxState {\r\n /** Is true when the control has focus. */\r\n isFocused?: boolean;\r\n\r\n /** Is true when Uncontrolled control is checked. */\r\n isChecked?: boolean;\r\n}\r\n\r\nexport class Checkbox extends BaseComponent<ICheckboxProps, ICheckboxState> implements ICheckbox {\r\n public static defaultProps: ICheckboxProps = {\r\n };\r\n\r\n private _id: string;\r\n private _checkBox: HTMLInputElement;\r\n\r\n constructor(props: ICheckboxProps) {\r\n super(props);\r\n\r\n this._warnMutuallyExclusive({\r\n 'checked': 'defaultChecked'\r\n });\r\n\r\n this._id = getId('checkbox-');\r\n this.state = {\r\n isFocused: false,\r\n isChecked: !!(props.checked !== undefined ? props.checked : props.defaultChecked)\r\n };\r\n }\r\n\r\n public render() {\r\n const {\r\n checked,\r\n className,\r\n defaultChecked,\r\n disabled,\r\n inputProps,\r\n label,\r\n name\r\n } = this.props;\r\n\r\n const { isFocused } = this.state;\r\n const isChecked = checked === undefined ? this.state.isChecked : checked;\r\n\r\n return (\r\n <div\r\n className={ css(\r\n 'ms-Checkbox',\r\n styles.root,\r\n className,\r\n {\r\n 'is-inFocus': isFocused,\r\n [styles.rootIsInFocus]: isFocused\r\n }) }\r\n >\r\n <input\r\n { ...inputProps }\r\n { ...(checked !== undefined && { checked }) }\r\n { ...(defaultChecked !== undefined && { defaultChecked }) }\r\n disabled={ disabled }\r\n ref={ this._resolveRef('_checkBox') }\r\n id={ this._id }\r\n name={ name || this._id }\r\n className={ css('ms-Checkbox-input', styles.input) }\r\n type='checkbox'\r\n onChange={ this._onChange }\r\n onFocus={ this._onFocus }\r\n onBlur={ this._onBlur }\r\n aria-checked={ isChecked }\r\n />\r\n { this.props.children }\r\n <label htmlFor={ this._id }\r\n className={ css('ms-Checkbox-label', styles.label, {\r\n ['is-checked ' + styles.labelIsChecked]: isChecked,\r\n ['is-disabled ' + styles.labelIsDisabled]: disabled,\r\n [styles.labelIsInFocus]: isFocused\r\n })\r\n }\r\n >\r\n { label && <span className={ styles.textLabel }>{ label }</span> }\r\n </label>\r\n </div>\r\n );\r\n }\r\n\r\n public get checked(): boolean {\r\n return this._checkBox ? this._checkBox.checked : false;\r\n }\r\n\r\n public focus(): void {\r\n if (this._checkBox) {\r\n this._checkBox.focus();\r\n }\r\n }\r\n\r\n @autobind\r\n private _onFocus(ev: React.FocusEvent<HTMLInputElement>): void {\r\n const { inputProps } = this.props;\r\n\r\n if (inputProps && inputProps.onFocus) {\r\n inputProps.onFocus(ev);\r\n }\r\n\r\n this.setState({ isFocused: true });\r\n }\r\n\r\n @autobind\r\n private _onBlur(ev: React.FocusEvent<HTMLInputElement>): void {\r\n const { inputProps } = this.props;\r\n\r\n if (inputProps && inputProps.onBlur) {\r\n inputProps.onBlur(ev);\r\n }\r\n\r\n this.setState({ isFocused: false });\r\n }\r\n\r\n @autobind\r\n private _onChange(ev: React.FormEvent<HTMLInputElement>) {\r\n const { onChange } = this.props;\r\n const isChecked = (ev.target as HTMLInputElement).checked;\r\n\r\n if (onChange) {\r\n onChange(ev, isChecked);\r\n }\r\n\r\n if (this.props.checked === undefined) {\r\n this.setState({ isChecked: isChecked });\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Checkbox/Checkbox.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_ec819a34',\r\n textLabel: 'textLabel_ec819a34',\r\n input: 'input_ec819a34',\r\n label: 'label_ec819a34',\r\n labelIsDisabled: 'labelIsDisabled_ec819a34',\r\n labelIsChecked: 'labelIsChecked_ec819a34',\r\n labelIsInFocus: 'labelIsInFocus_ec819a34',\r\n rootIsInFocus: 'rootIsInFocus_ec819a34',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_ec819a34{box-sizing:border-box;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";font-size:14px;font-weight:400;min-height:36px;position:relative}.textLabel_ec819a34{font-size:14px;padding:0 0 0 26px;display:inline-block;font-size:14px}html[dir=rtl] .textLabel_ec819a34{padding:0 26px 0 0}.input_ec819a34{position:absolute;opacity:0;top:8px}.label_ec819a34::before{content:'';display:inline-block;border:1px solid \"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\";width:20px;height:20px;font-weight:400;position:absolute;box-sizing:border-box;transition-property:background,border,border-color;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.23,1)}.label_ec819a34::after{content:'\\\\E73E';font-family:FabricMDL2Icons;display:none;position:absolute;font-weight:900;background-color:transparent;font-size:13px;top:0;color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";line-height:20px;width:20px;text-align:center}.label_ec819a34{display:inline-block;cursor:pointer;margin-top:8px;position:relative;vertical-align:top;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;min-width:20px;min-height:20px;line-height:20px}.label_ec819a34:hover::before{border-color:\"},{\"theme\":\"neutralSecondaryAlt\",\"defaultValue\":\"#767676\"},{\"rawString\":\"}.label_ec819a34:hover .textLabel_ec819a34{color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}.label_ec819a34:focus::before{border-color:\"},{\"theme\":\"neutralSecondaryAlt\",\"defaultValue\":\"#767676\"},{\"rawString\":\"}.label_ec819a34:focus.labelIsDisabled_ec819a34::before{border-color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}.label_ec819a34:focus.labelIsChecked_ec819a34::before{border-color:\"},{\"theme\":\"themeDarkAlt\",\"defaultValue\":\"#106ebe\"},{\"rawString\":\"}.label_ec819a34:active::before{border-color:\"},{\"theme\":\"neutralSecondaryAlt\",\"defaultValue\":\"#767676\"},{\"rawString\":\"}.label_ec819a34:active .textLabel_ec819a34{color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}.label_ec819a34.labelIsChecked_ec819a34::before{border:10px solid \"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";background-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:black-on-white){.label_ec819a34.labelIsChecked_ec819a34::before{display:none}}.label_ec819a34.labelIsChecked_ec819a34::after{display:block}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:black-on-white){.label_ec819a34.labelIsChecked_ec819a34::after{height:16px;width:16px;line-height:16px}}@media screen and (-ms-high-contrast:active){.label_ec819a34.labelIsChecked_ec819a34::after{border:2px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.label_ec819a34.labelIsChecked_ec819a34::after{border:2px solid \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}.label_ec819a34.labelIsChecked_ec819a34:focus::before,.label_ec819a34.labelIsChecked_ec819a34:hover::before{border-color:\"},{\"theme\":\"themeDarkAlt\",\"defaultValue\":\"#106ebe\"},{\"rawString\":\"}.label_ec819a34.labelIsDisabled_ec819a34{cursor:default}.label_ec819a34.labelIsDisabled_ec819a34:focus::before,.label_ec819a34.labelIsDisabled_ec819a34:hover::before{border-color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}.label_ec819a34.labelIsDisabled_ec819a34::before{background-color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\";border-color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\";color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.label_ec819a34.labelIsDisabled_ec819a34::after{border:2px solid #0f0}}@media screen and (-ms-high-contrast:black-on-white){.label_ec819a34.labelIsDisabled_ec819a34::after{border:2px solid #600000}}@media screen and (-ms-high-contrast:active){.label_ec819a34.labelIsDisabled_ec819a34::after{color:#0f0}}@media screen and (-ms-high-contrast:black-on-white){.label_ec819a34.labelIsDisabled_ec819a34::after{color:#600000}}.label_ec819a34.labelIsDisabled_ec819a34 .textLabel_ec819a34{color:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.label_ec819a34.labelIsDisabled_ec819a34 .textLabel_ec819a34{color:#0f0}}@media screen and (-ms-high-contrast:black-on-white){.label_ec819a34.labelIsDisabled_ec819a34 .textLabel_ec819a34{color:#600000}}.label_ec819a34.labelIsInFocus_ec819a34::before{border-color:\"},{\"theme\":\"neutralSecondaryAlt\",\"defaultValue\":\"#767676\"},{\"rawString\":\"}.label_ec819a34.labelIsInFocus_ec819a34.labelIsDisabled_ec819a34::before{border-color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}.label_ec819a34.labelIsInFocus_ec819a34.labelIsChecked_ec819a34::before{border-color:\"},{\"theme\":\"themeDarkAlt\",\"defaultValue\":\"#106ebe\"},{\"rawString\":\"}.ms-Fabric.is-focusVisible .rootIsInFocus_ec819a34::before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.ms-Fabric.is-focusVisible .rootIsInFocus_ec819a34::before{border:1px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.ms-Fabric.is-focusVisible .rootIsInFocus_ec819a34::before{border:1px solid \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Checkbox/Checkbox.scss.ts","export * from './components/ChoiceGroup/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/ChoiceGroup.ts","export * from './ChoiceGroup';\r\nexport * from './ChoiceGroup.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/ChoiceGroup/index.ts","import * as React from 'react';\r\nimport { Image } from '../../Image';\r\nimport { Label } from '../../Label';\r\nimport { Icon } from '../../Icon';\r\nimport { IChoiceGroupOption, IChoiceGroupProps } from './ChoiceGroup.Props';\r\nimport {\r\n assign,\r\n css,\r\n getId,\r\n BaseComponent\r\n} from '../../Utilities';\r\nimport * as stylesImport from './ChoiceGroup.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IChoiceGroupState {\r\n keyChecked: string | number;\r\n\r\n /** Is true when the control has focus. */\r\n keyFocused?: string | number;\r\n}\r\n\r\nexport class ChoiceGroup extends BaseComponent<IChoiceGroupProps, IChoiceGroupState> {\r\n public static defaultProps = {\r\n options: []\r\n };\r\n\r\n private _id: string;\r\n private _labelId: string;\r\n private _inputElement: HTMLInputElement;\r\n\r\n constructor(props: IChoiceGroupProps, ) {\r\n super(props);\r\n\r\n this._warnDeprecations({ 'onChanged': 'onChange' });\r\n this._warnMutuallyExclusive({\r\n selectedKey: 'defaultSelectedKey'\r\n });\r\n\r\n this.state = {\r\n keyChecked: (props.defaultSelectedKey === undefined) ?\r\n this._getKeyChecked(props) :\r\n props.defaultSelectedKey,\r\n keyFocused: undefined\r\n };\r\n\r\n this._id = getId('ChoiceGroup');\r\n this._labelId = getId('ChoiceGroupLabel');\r\n }\r\n\r\n public componentWillReceiveProps(newProps: IChoiceGroupProps) {\r\n const newKeyChecked = this._getKeyChecked(newProps);\r\n const oldKeyCheched = this._getKeyChecked(this.props);\r\n\r\n if (newKeyChecked !== oldKeyCheched) {\r\n this.setState({\r\n keyChecked: newKeyChecked,\r\n });\r\n }\r\n }\r\n\r\n public render() {\r\n let { label, options, className, required } = this.props;\r\n let { keyChecked, keyFocused } = this.state;\r\n\r\n return (\r\n // Need to assign role application on containing div because JAWS doesnt call OnKeyDown without this role\r\n <div role='application' className={ className }>\r\n <div\r\n className={ css('ms-ChoiceFieldGroup', styles.root) }\r\n role='radiogroup'\r\n aria-labelledby={ this.props.label ? this._id + '-label' : '' }\r\n >\r\n { this.props.label && (\r\n <Label className={ className } required={ required } id={ this._id + '-label' }>{ label }</Label>\r\n ) }\r\n\r\n { options.map((option: IChoiceGroupOption) => {\r\n let { onRenderField = this._onRenderField } = option;\r\n\r\n // Merge internal props into option\r\n assign(option, {\r\n checked: option.key === keyChecked,\r\n disabled: option.disabled || this.props.disabled,\r\n id: `${this._id}-${option.key}`,\r\n labelId: `${this._labelId}-${option.key}`\r\n });\r\n\r\n return (\r\n <div\r\n key={ option.key }\r\n className={ css('ms-ChoiceField', styles.choiceField, {\r\n ['ms-ChoiceField--image ' + styles.choiceFieldIsImage]: !!option.imageSrc,\r\n ['ms-ChoiceField--icon ' + styles.choiceFieldIsIcon]: !!option.iconProps,\r\n ['is-inFocus ' + styles.choiceFieldIsInFocus]: option.key === keyFocused\r\n })\r\n }\r\n >\r\n <input\r\n ref={ (c): HTMLInputElement => this._inputElement = c }\r\n id={ option.id }\r\n className={ css('ms-ChoiceField-input', styles.input) }\r\n type='radio'\r\n name={ this.props.name || this._id }\r\n disabled={ option.disabled || this.props.disabled }\r\n checked={ option.key === keyChecked }\r\n required={ required }\r\n onChange={ this._onChange.bind(this, option) }\r\n onFocus={ this._onFocus.bind(this, option) }\r\n onBlur={ this._onBlur.bind(this, option) }\r\n aria-labelledby={ option.id }\r\n />\r\n { onRenderField(option, this._onRenderField) }\r\n </div>\r\n );\r\n }) }\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n public focus() {\r\n if (this._inputElement) {\r\n this._inputElement.focus();\r\n }\r\n }\r\n\r\n private _onFocus(option: IChoiceGroupOption, ev: React.FocusEvent<HTMLElement>): void {\r\n this.setState({\r\n keyFocused: option.key,\r\n keyChecked: this.state.keyChecked\r\n });\r\n }\r\n\r\n private _onBlur(option: IChoiceGroupOption, ev: React.FocusEvent<HTMLElement>): void {\r\n this.setState({\r\n keyFocused: undefined,\r\n keyChecked: this.state.keyChecked\r\n });\r\n }\r\n\r\n private _onRenderField(option: IChoiceGroupOption) {\r\n\r\n return (\r\n <label\r\n htmlFor={ option.id }\r\n className={ css('ms-ChoiceField-field', styles.field, {\r\n ['ms-ChoiceField-field--image ' + styles.fieldIsImage]: !!option.imageSrc,\r\n ['ms-ChoiceField--icon ' + styles.fieldIsIcon]: !!option.iconProps,\r\n ['is-checked ' + styles.fieldIsChecked]: option.checked,\r\n ['is-disabled ' + styles.fieldIsDisabled]: option.disabled\r\n }) }\r\n >\r\n {\r\n option.imageSrc && (\r\n <div className={ css('ms-ChoiceField-innerField', styles.innerField) }>\r\n <div className={ css(\r\n 'ms-ChoiceField-imageWrapper',\r\n styles.imageWrapper,\r\n {\r\n ['is-hidden ' + styles.imageWrapperIsHidden]: option.checked\r\n }) }\r\n >\r\n <Image\r\n src={ option.imageSrc }\r\n width={ option.imageSize.width }\r\n height={ option.imageSize.height }\r\n />\r\n </div>\r\n <div className={ css(\r\n 'ms-ChoiceField-imageWrapper',\r\n styles.imageWrapper,\r\n {\r\n ['is-hidden ' + styles.imageWrapperIsHidden]: !option.checked\r\n }) }\r\n >\r\n <Image\r\n src={ option.selectedImageSrc }\r\n width={ option.imageSize.width }\r\n height={ option.imageSize.height }\r\n />\r\n </div>\r\n </div>\r\n )\r\n }\r\n {\r\n option.iconProps\r\n ? <div className={ css('ms-ChoiceField-innerField', styles.innerField) }>\r\n <div className={ css('ms-ChoiceField-iconWrapper', styles.iconWrapper) }>\r\n <Icon { ...option.iconProps } />\r\n </div>\r\n </div>\r\n : null\r\n }\r\n {\r\n option.imageSrc || option.iconProps\r\n ? (\r\n <div className={ css('ms-ChoiceField-labelWrapper', styles.labelWrapper) }>\r\n <span id={ option.labelId } className='ms-Label'>{ option.text }</span>\r\n </div>\r\n ) : (\r\n <span id={ option.labelId } className='ms-Label'>{ option.text }</span>\r\n )\r\n }\r\n </label>\r\n );\r\n }\r\n\r\n private _onChange(option: IChoiceGroupOption, evt: React.FormEvent<HTMLInputElement>) {\r\n let { onChanged, onChange, selectedKey } = this.props;\r\n\r\n // Only manage state in uncontrolled scenarios.\r\n if (selectedKey === undefined) {\r\n this.setState({\r\n keyChecked: option.key\r\n });\r\n }\r\n\r\n // TODO: onChanged deprecated, remove else if after 07/17/2017 when onChanged has been removed.\r\n if (onChange) {\r\n onChange(evt, option);\r\n } else if (onChanged) {\r\n onChanged(option);\r\n }\r\n }\r\n\r\n /**\r\n * If all the isChecked property of options are falsy values, return undefined;\r\n * Else return the key of the first option with the truthy isChecked property.\r\n */\r\n private _getKeyChecked(props: IChoiceGroupProps): string | number {\r\n if (props.selectedKey !== undefined) {\r\n return props.selectedKey;\r\n }\r\n\r\n const optionsChecked = props.options.filter((option: IChoiceGroupOption) => {\r\n return option.checked;\r\n });\r\n\r\n if (optionsChecked.length === 0) {\r\n return undefined;\r\n } else {\r\n return optionsChecked[0].key;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/ChoiceGroup/ChoiceGroup.tsx","export * from './components/Image/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Image.ts","export * from './Image';\r\nexport * from './Image.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Image/index.ts","export * from './components/Label/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Label.ts","export * from './Label';\r\nexport * from './Label.Props';\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Label/index.ts","import * as React from 'react';\r\nimport { BaseComponent, css, divProperties, getNativeProps } from '../../Utilities';\r\nimport { ILabelProps } from './Label.Props';\r\nimport * as stylesImport from './Label.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport class Label extends BaseComponent<ILabelProps, any> {\r\n public render() {\r\n let { disabled, required, children, className } = this.props;\r\n\r\n return (\r\n <label\r\n { ...getNativeProps(this.props, divProperties) }\r\n className={ css(styles.root, 'ms-Label', className, {\r\n 'is-disabled': disabled,\r\n 'is-required': required,\r\n [styles.isDisabled]: disabled,\r\n [styles.isRequired]: required\r\n }) }>\r\n { children }\r\n </label>\r\n );\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Label/Label.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_083d600e',\r\n isRequired: 'isRequired_083d600e',\r\n isDisabled: 'isDisabled_083d600e',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_083d600e{font-size:14px;font-weight:400;box-sizing:border-box;box-shadow:none;margin:0;padding:0;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";box-sizing:border-box;display:block;padding:5px 0;word-wrap:break-word;overflow-wrap:break-word}.isRequired_083d600e::after{content:' *';color:\"},{\"theme\":\"error\",\"defaultValue\":\"#a80000\"},{\"rawString\":\"}.isDisabled_083d600e{color:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\"}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Label/Label.scss.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_92027817',\r\n choiceField: 'choiceField_92027817',\r\n input: 'input_92027817',\r\n field: 'field_92027817',\r\n fieldIsChecked: 'fieldIsChecked_92027817',\r\n fieldIsDisabled: 'fieldIsDisabled_92027817',\r\n choiceFieldIsImage: 'choiceFieldIsImage_92027817',\r\n choiceFieldIsIcon: 'choiceFieldIsIcon_92027817',\r\n fieldIsImage: 'fieldIsImage_92027817',\r\n fieldIsIcon: 'fieldIsIcon_92027817',\r\n innerField: 'innerField_92027817',\r\n imageWrapper: 'imageWrapper_92027817',\r\n imageWrapperIsHidden: 'imageWrapperIsHidden_92027817',\r\n labelWrapper: 'labelWrapper_92027817',\r\n iconWrapper: 'iconWrapper_92027817',\r\n choiceFieldIsInFocus: 'choiceFieldIsInFocus_92027817',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_92027817{margin-bottom:4px}.choiceField_92027817{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;box-sizing:border-box;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";font-size:14px;font-weight:400;min-height:26px;border:none;position:relative;margin-top:8px}[dir=ltr] .choiceField_92027817{padding-left:8px}[dir=rtl] .choiceField_92027817{padding-right:8px}.choiceField_92027817 .ms-Label{font-size:14px;padding:0 0 0 26px;display:inline-block}[dir=rtl] .choiceField_92027817 .ms-Label{padding:0 26px 0 0}.input_92027817{position:absolute;opacity:0;top:8px}.field_92027817::before{content:'';display:inline-block;background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";border:1px solid \"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\";width:20px;height:20px;font-weight:400;position:absolute;top:-1px;box-sizing:border-box;transition-property:border-color;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.23,1);border-radius:50%}.field_92027817::after{content:'';width:0;height:0;border-radius:50%;position:absolute;transition-property:top,left,right,width,height;transition-duration:150ms;transition-timing-function:cubic-bezier(.4,0,.23,1);box-sizing:border-box}[dir=ltr] .field_92027817::after{left:10px}[dir=rtl] .field_92027817::after{right:10px}[dir=ltr] .field_92027817::after{right:0}[dir=rtl] .field_92027817::after{left:0}@media screen and (-ms-high-contrast:active){.field_92027817::after{color:#0f0}}@media screen and (-ms-high-contrast:black-on-white){.field_92027817::after{color:#600000}}.field_92027817{display:inline-block;cursor:pointer;margin-top:0;position:relative;vertical-align:top;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.field_92027817:focus::before,.field_92027817:hover::before{border-color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\"}.field_92027817:focus .ms-Label,.field_92027817:hover .ms-Label{color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}.field_92027817.fieldIsChecked_92027817::before{border:2px solid \"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.field_92027817.fieldIsChecked_92027817::before{border-color:#1aebff}}@media screen and (-ms-high-contrast:black-on-white){.field_92027817.fieldIsChecked_92027817::before{border-color:#37006e}}.field_92027817.fieldIsChecked_92027817::after{background-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";top:4px;width:10px;height:10px}[dir=ltr] .field_92027817.fieldIsChecked_92027817::after{left:5px}[dir=rtl] .field_92027817.fieldIsChecked_92027817::after{right:5px}@media screen and (-ms-high-contrast:active){.field_92027817.fieldIsChecked_92027817::after{background-color:#1aebff}}@media screen and (-ms-high-contrast:black-on-white){.field_92027817.fieldIsChecked_92027817::after{background-color:#37006e}}.field_92027817.fieldIsChecked_92027817:focus::before,.field_92027817.fieldIsChecked_92027817:hover::before{border-color:\"},{\"theme\":\"themeDarkAlt\",\"defaultValue\":\"#106ebe\"},{\"rawString\":\"}.field_92027817.fieldIsDisabled_92027817{cursor:default}.field_92027817.fieldIsDisabled_92027817::before{background-color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\";border-color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.field_92027817.fieldIsDisabled_92027817::before{border-color:#0f0}}@media screen and (-ms-high-contrast:black-on-white){.field_92027817.fieldIsDisabled_92027817::before{border-color:#600000}}.field_92027817.fieldIsDisabled_92027817 .ms-Label{color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.field_92027817.fieldIsDisabled_92027817 .ms-Label{color:#0f0}}@media screen and (-ms-high-contrast:black-on-white){.field_92027817.fieldIsDisabled_92027817 .ms-Label{color:#600000}}.field_92027817.fieldIsChecked_92027817.fieldIsDisabled_92027817::before{background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";border-color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}.field_92027817.fieldIsChecked_92027817.fieldIsDisabled_92027817::after{background-color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}.choiceFieldIsIcon_92027817,.choiceFieldIsImage_92027817{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-size:0;margin:0 4px 4px 0;background-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\"}[dir=rtl] .choiceFieldIsIcon_92027817,[dir=rtl] .choiceFieldIsImage_92027817{margin:0 0 4px 4px}[dir=ltr] .choiceFieldIsIcon_92027817,[dir=ltr] .choiceFieldIsImage_92027817{padding-left:0}[dir=rtl] .choiceFieldIsIcon_92027817,[dir=rtl] .choiceFieldIsImage_92027817{padding-right:0}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817,.choiceFieldIsImage_92027817 .fieldIsImage_92027817{display:inline-block;box-sizing:border-box;min-width:96px;cursor:pointer;padding:4px;padding-top:22px;margin:0;text-align:center;transition:all .2s ease;border:2px solid transparent}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817.fieldIsDisabled_92027817,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817.fieldIsDisabled_92027817,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817.fieldIsDisabled_92027817,.choiceFieldIsImage_92027817 .fieldIsImage_92027817.fieldIsDisabled_92027817{cursor:default}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817.fieldIsDisabled_92027817 .innerField_92027817,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817.fieldIsDisabled_92027817 .innerField_92027817,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817.fieldIsDisabled_92027817 .innerField_92027817,.choiceFieldIsImage_92027817 .fieldIsImage_92027817.fieldIsDisabled_92027817 .innerField_92027817{opacity:.25}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817 .innerField_92027817,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817 .innerField_92027817,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817 .innerField_92027817,.choiceFieldIsImage_92027817 .fieldIsImage_92027817 .innerField_92027817{position:relative;padding:0 28px}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817 .innerField_92027817 .imageWrapper_92027817,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817 .innerField_92027817 .imageWrapper_92027817,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817 .innerField_92027817 .imageWrapper_92027817,.choiceFieldIsImage_92027817 .fieldIsImage_92027817 .innerField_92027817 .imageWrapper_92027817{padding-bottom:2px;transition:opacity .2s ease}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817 .innerField_92027817 .imageWrapper_92027817.imageWrapperIsHidden_92027817,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817 .innerField_92027817 .imageWrapper_92027817.imageWrapperIsHidden_92027817,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817 .innerField_92027817 .imageWrapper_92027817.imageWrapperIsHidden_92027817,.choiceFieldIsImage_92027817 .fieldIsImage_92027817 .innerField_92027817 .imageWrapper_92027817.imageWrapperIsHidden_92027817{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;opacity:0}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817 .innerField_92027817 .imageWrapper_92027817 .ms-Image,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817 .innerField_92027817 .imageWrapper_92027817 .ms-Image,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817 .innerField_92027817 .imageWrapper_92027817 .ms-Image,.choiceFieldIsImage_92027817 .fieldIsImage_92027817 .innerField_92027817 .imageWrapper_92027817 .ms-Image{display:inline-block}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817 .labelWrapper_92027817,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817 .labelWrapper_92027817,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817 .labelWrapper_92027817,.choiceFieldIsImage_92027817 .fieldIsImage_92027817 .labelWrapper_92027817{display:inline-block;position:relative;margin:4px 0 0 0;height:32px;line-height:16px;overflow-y:hidden;font-size:14px;font-weight:400}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817 .labelWrapper_92027817 .ms-Label,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817 .labelWrapper_92027817 .ms-Label,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817 .labelWrapper_92027817 .ms-Label,.choiceFieldIsImage_92027817 .fieldIsImage_92027817 .labelWrapper_92027817 .ms-Label{padding:0}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817::before,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817::before,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817::before,.choiceFieldIsImage_92027817 .fieldIsImage_92027817::before{top:3px;opacity:0}[dir=ltr] .choiceFieldIsIcon_92027817 .fieldIsIcon_92027817::before,[dir=ltr] .choiceFieldIsIcon_92027817 .fieldIsImage_92027817::before,[dir=ltr] .choiceFieldIsImage_92027817 .fieldIsIcon_92027817::before,[dir=ltr] .choiceFieldIsImage_92027817 .fieldIsImage_92027817::before{right:3px}[dir=rtl] .choiceFieldIsIcon_92027817 .fieldIsIcon_92027817::before,[dir=rtl] .choiceFieldIsIcon_92027817 .fieldIsImage_92027817::before,[dir=rtl] .choiceFieldIsImage_92027817 .fieldIsIcon_92027817::before,[dir=rtl] .choiceFieldIsImage_92027817 .fieldIsImage_92027817::before{left:3px}[dir=ltr] .choiceFieldIsIcon_92027817 .fieldIsIcon_92027817::before,[dir=ltr] .choiceFieldIsIcon_92027817 .fieldIsImage_92027817::before,[dir=ltr] .choiceFieldIsImage_92027817 .fieldIsIcon_92027817::before,[dir=ltr] .choiceFieldIsImage_92027817 .fieldIsImage_92027817::before{left:auto}[dir=rtl] .choiceFieldIsIcon_92027817 .fieldIsIcon_92027817::before,[dir=rtl] .choiceFieldIsIcon_92027817 .fieldIsImage_92027817::before,[dir=rtl] .choiceFieldIsImage_92027817 .fieldIsIcon_92027817::before,[dir=rtl] .choiceFieldIsImage_92027817 .fieldIsImage_92027817::before{right:auto}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817::after,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817::after,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817::after,.choiceFieldIsImage_92027817 .fieldIsImage_92027817::after{top:13px}[dir=ltr] .choiceFieldIsIcon_92027817 .fieldIsIcon_92027817::after,[dir=ltr] .choiceFieldIsIcon_92027817 .fieldIsImage_92027817::after,[dir=ltr] .choiceFieldIsImage_92027817 .fieldIsIcon_92027817::after,[dir=ltr] .choiceFieldIsImage_92027817 .fieldIsImage_92027817::after{right:13px}[dir=rtl] .choiceFieldIsIcon_92027817 .fieldIsIcon_92027817::after,[dir=rtl] .choiceFieldIsIcon_92027817 .fieldIsImage_92027817::after,[dir=rtl] .choiceFieldIsImage_92027817 .fieldIsIcon_92027817::after,[dir=rtl] .choiceFieldIsImage_92027817 .fieldIsImage_92027817::after{left:13px}[dir=ltr] .choiceFieldIsIcon_92027817 .fieldIsIcon_92027817::after,[dir=ltr] .choiceFieldIsIcon_92027817 .fieldIsImage_92027817::after,[dir=ltr] .choiceFieldIsImage_92027817 .fieldIsIcon_92027817::after,[dir=ltr] .choiceFieldIsImage_92027817 .fieldIsImage_92027817::after{left:auto}[dir=rtl] .choiceFieldIsIcon_92027817 .fieldIsIcon_92027817::after,[dir=rtl] .choiceFieldIsIcon_92027817 .fieldIsImage_92027817::after,[dir=rtl] .choiceFieldIsImage_92027817 .fieldIsIcon_92027817::after,[dir=rtl] .choiceFieldIsImage_92027817 .fieldIsImage_92027817::after{right:auto}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817):focus,.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817):hover,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817):focus,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817):hover,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817):focus,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817):hover,.choiceFieldIsImage_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817):focus,.choiceFieldIsImage_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817):hover{border-color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817):focus::before,.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817):hover::before,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817):focus::before,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817):hover::before,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817):focus::before,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817):hover::before,.choiceFieldIsImage_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817):focus::before,.choiceFieldIsImage_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817):hover::before{opacity:1}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817,.choiceFieldIsImage_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817{border-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817::before,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817::before,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817::before,.choiceFieldIsImage_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817::before{opacity:1}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817::after,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817::after,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817::after,.choiceFieldIsImage_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817::after{top:8px}[dir=ltr] .choiceFieldIsIcon_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817::after,[dir=ltr] .choiceFieldIsIcon_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817::after,[dir=ltr] .choiceFieldIsImage_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817::after,[dir=ltr] .choiceFieldIsImage_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817::after{right:8px}[dir=rtl] .choiceFieldIsIcon_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817::after,[dir=rtl] .choiceFieldIsIcon_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817::after,[dir=rtl] .choiceFieldIsImage_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817::after,[dir=rtl] .choiceFieldIsImage_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817::after{left:8px}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:focus,.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:hover,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:focus,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:hover,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:focus,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:hover,.choiceFieldIsImage_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:focus,.choiceFieldIsImage_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:hover{border-color:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\"}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:focus::before,.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:hover::before,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:focus::before,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:hover::before,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:focus::before,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:hover::before,.choiceFieldIsImage_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:focus::before,.choiceFieldIsImage_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:hover::before{border-color:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\"}.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:focus::after,.choiceFieldIsIcon_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:hover::after,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:focus::after,.choiceFieldIsIcon_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:hover::after,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:focus::after,.choiceFieldIsImage_92027817 .fieldIsIcon_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:hover::after,.choiceFieldIsImage_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:focus::after,.choiceFieldIsImage_92027817 .fieldIsImage_92027817:not(.fieldIsDisabled_92027817).fieldIsChecked_92027817:hover::after{background-color:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\"}.choiceFieldIsIcon_92027817{height:96px;width:96px}.choiceFieldIsIcon_92027817 .iconWrapper_92027817{font-size:32px;line-height:32px;height:32px}.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817::-moz-focus-inner{border:0}.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817::after{content:'';position:absolute;top:1px;right:1px;bottom:1px;left:1px;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817::-moz-focus-inner{border:0}.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817::after{content:'';position:absolute;top:1px;right:1px;bottom:1px;left:1px;pointer-events:none;border:2px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817::-moz-focus-inner{border:0}.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817::after{content:'';position:absolute;top:1px;right:1px;bottom:1px;left:1px;pointer-events:none;border:2px solid \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817.choiceFieldIsIcon_92027817::-moz-focus-inner,.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817.choiceFieldIsImage_92027817::-moz-focus-inner{border:0}.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817.choiceFieldIsIcon_92027817,.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817.choiceFieldIsImage_92027817{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817.choiceFieldIsIcon_92027817::after,.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817.choiceFieldIsImage_92027817::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817.choiceFieldIsIcon_92027817::-moz-focus-inner,.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817.choiceFieldIsImage_92027817::-moz-focus-inner{border:0}.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817.choiceFieldIsIcon_92027817,.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817.choiceFieldIsImage_92027817{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817.choiceFieldIsIcon_92027817::after,.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817.choiceFieldIsImage_92027817::after{content:'';position:absolute;top:1px;right:1px;bottom:1px;left:1px;pointer-events:none;border:2px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817.choiceFieldIsIcon_92027817::-moz-focus-inner,.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817.choiceFieldIsImage_92027817::-moz-focus-inner{border:0}.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817.choiceFieldIsIcon_92027817,.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817.choiceFieldIsImage_92027817{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817.choiceFieldIsIcon_92027817::after,.ms-Fabric.is-focusVisible .choiceFieldIsInFocus_92027817.choiceFieldIsImage_92027817::after{content:'';position:absolute;top:1px;right:1px;bottom:1px;left:1px;pointer-events:none;border:3px solid \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/ChoiceGroup/ChoiceGroup.scss.ts","export * from './components/ColorPicker/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/ColorPicker.ts","export * from './ColorPicker';\r\nexport * from './ColorPicker.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/ColorPicker/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n autobind,\r\n css\r\n} from '../../Utilities';\r\nimport { IColorPickerProps } from './ColorPicker.Props';\r\nimport { TextField } from '../../TextField';\r\nimport { ColorRectangle } from './ColorRectangle';\r\nimport { ColorSlider } from './ColorSlider';\r\nimport {\r\n MAX_COLOR_HUE,\r\n IColor,\r\n getColorFromString,\r\n getColorFromRGBA,\r\n updateA,\r\n updateH,\r\n updateSV\r\n} from '../../utilities/color/colors';\r\nimport { FontClassNames } from '../../Styling';\r\nimport * as stylesImport from './ColorPicker.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IColorPickerState {\r\n isOpen: boolean;\r\n color: IColor;\r\n}\r\n\r\nexport class ColorPicker extends BaseComponent<IColorPickerProps, IColorPickerState> {\r\n private hexText: TextField;\r\n private rText: TextField;\r\n private gText: TextField;\r\n private bText: TextField;\r\n private aText: TextField;\r\n\r\n constructor(props: IColorPickerProps) {\r\n super(props);\r\n\r\n this.state = {\r\n color: getColorFromString(props.color)\r\n } as IColorPickerState;\r\n }\r\n\r\n public componentWillReceiveProps(newProps: IColorPickerProps) {\r\n if (newProps.color) {\r\n this._updateColor(getColorFromString(newProps.color));\r\n }\r\n }\r\n\r\n public render() {\r\n let { color } = this.state;\r\n\r\n return (\r\n <div className={ css('ms-ColorPicker', styles.root) }>\r\n <div className={ css('ms-ColorPicker-panel', styles.panel) }>\r\n <ColorRectangle color={ color } onSVChanged={ this._onSVChanged } />\r\n <ColorSlider\r\n className={ css('is-hue', styles.colorSliderIsHue) }\r\n minValue={ 0 }\r\n maxValue={ MAX_COLOR_HUE }\r\n value={ color.h }\r\n onChanged={ this._onHChanged }\r\n />\r\n { !this.props.alphaSliderHidden && (\r\n <ColorSlider\r\n className={ css('is-alpha', styles.colorSliderIsAlpha) }\r\n overlayStyle={ { background: `linear-gradient(to right, transparent 0, ${color.str} 100%)` } }\r\n minValue={ 0 }\r\n maxValue={ 100 }\r\n value={ color.a }\r\n onChanged={ this._onAChanged }\r\n />) }\r\n <table className='ms-ColorPicker-table' cellPadding='0' cellSpacing='0'>\r\n <thead>\r\n <tr className={ FontClassNames.small }>\r\n <td>Hex</td>\r\n <td>Red</td>\r\n <td>Green</td>\r\n <td>Blue</td>\r\n { !this.props.alphaSliderHidden && (\r\n <td>Alpha</td>) }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td>\r\n <TextField\r\n className={ css('ms-ColorPicker-input', styles.input) }\r\n value={ color.hex }\r\n ref={ (ref) => this.hexText = ref }\r\n onBlur={ this._onHexChanged }\r\n />\r\n </td>\r\n <td style={ { width: '18%' } }>\r\n <TextField\r\n className={ css('ms-ColorPicker-input', styles.input) }\r\n onBlur={ this._onRGBAChanged }\r\n value={ String(color.r) }\r\n ref={ (ref) => this.rText = ref }\r\n />\r\n </td>\r\n <td style={ { width: '18%' } }>\r\n <TextField\r\n className={ css('ms-ColorPicker-input', styles.input) }\r\n onBlur={ this._onRGBAChanged }\r\n value={ String(color.g) }\r\n ref={ (ref) => this.gText = ref }\r\n />\r\n </td>\r\n <td style={ { width: '18%' } }>\r\n <TextField\r\n className={ css('ms-ColorPicker-input', styles.input) }\r\n onBlur={ this._onRGBAChanged }\r\n value={ String(color.b) }\r\n ref={ (ref) => this.bText = ref }\r\n />\r\n </td>\r\n { !this.props.alphaSliderHidden && (\r\n <td style={ { width: '18%' } }>\r\n <TextField\r\n className={ css('ms-ColorPicker-input', styles.input) }\r\n onBlur={ this._onRGBAChanged }\r\n value={ String(color.a) }\r\n ref={ (ref) => this.aText = ref }\r\n />\r\n </td>\r\n ) }\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n @autobind\r\n private _onSVChanged(s: number, v: number) {\r\n this._updateColor(updateSV(this.state.color, s, v));\r\n }\r\n\r\n @autobind\r\n private _onHChanged(h: number) {\r\n this._updateColor(updateH(this.state.color, h));\r\n }\r\n\r\n @autobind\r\n private _onAChanged(a: number) {\r\n this._updateColor(updateA(this.state.color, a));\r\n }\r\n\r\n @autobind\r\n private _onHexChanged() {\r\n this._updateColor(getColorFromString('#' + this.hexText.value));\r\n }\r\n\r\n @autobind\r\n private _onRGBAChanged() {\r\n this._updateColor(getColorFromRGBA({\r\n r: Number(this.rText.value),\r\n g: Number(this.gText.value),\r\n b: Number(this.bText.value),\r\n a: Number(this.aText.value)\r\n }));\r\n }\r\n\r\n private _updateColor(newColor: IColor) {\r\n let { onColorChanged } = this.props;\r\n\r\n if (newColor.str !== this.state.color.str) {\r\n this.setState({\r\n color: newColor\r\n } as IColorPickerState, () => {\r\n if (onColorChanged) {\r\n onColorChanged(newColor.str);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/ColorPicker/ColorPicker.tsx","export * from './components/TextField/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/TextField.ts","export * from './TextField';\r\nexport * from './TextField.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/TextField/index.ts","import * as React from 'react';\r\nimport { ITextField, ITextFieldProps } from './TextField.Props';\r\nimport { Label } from '../../Label';\r\nimport { Icon } from '../../Icon';\r\nimport {\r\n DelayedRender,\r\n BaseComponent,\r\n getId,\r\n css,\r\n getNativeProps,\r\n inputProperties,\r\n textAreaProperties\r\n} from '../../Utilities';\r\nimport * as stylesImport from './TextField.scss';\r\nconst styles: any = stylesImport;\r\nimport { AnimationClassNames } from '../../Styling';\r\nexport interface ITextFieldState {\r\n value?: string;\r\n\r\n /** Is true when the control has focus. */\r\n isFocused?: boolean;\r\n\r\n /**\r\n * The validation error message.\r\n *\r\n * - If there is no validation error or we have not validated the input value, errorMessage is an empty string.\r\n * - If we have done the validation and there is validation error, errorMessage is the validation error message.\r\n */\r\n errorMessage?: string;\r\n}\r\n\r\nexport class TextField extends BaseComponent<ITextFieldProps, ITextFieldState> implements ITextField {\r\n public static defaultProps: ITextFieldProps = {\r\n multiline: false,\r\n resizable: true,\r\n autoAdjustHeight: false,\r\n underlined: false,\r\n borderless: false,\r\n onChanged: () => { /* noop */ },\r\n onBeforeChange: () => { /* noop */ },\r\n onNotifyValidationResult: () => { /* noop */ },\r\n onGetErrorMessage: () => undefined,\r\n deferredValidationTime: 200,\r\n errorMessage: '',\r\n validateOnFocusIn: false,\r\n validateOnFocusOut: false,\r\n validateOnLoad: true,\r\n };\r\n\r\n private _id: string;\r\n private _descriptionId: string;\r\n private _delayedValidate: (value: string) => void;\r\n private _isMounted: boolean;\r\n private _lastValidation: number;\r\n private _latestValue;\r\n private _latestValidateValue;\r\n private _isDescriptionAvailable: boolean;\r\n private _textElement: HTMLInputElement | HTMLTextAreaElement;\r\n\r\n public constructor(props: ITextFieldProps) {\r\n super(props);\r\n\r\n this._warnDeprecations({\r\n 'iconClass': 'iconProps'\r\n });\r\n\r\n this._warnMutuallyExclusive({\r\n 'value': 'defaultValue'\r\n });\r\n\r\n this._id = getId('TextField');\r\n this._descriptionId = getId('TextFieldDescription');\r\n\r\n this.state = {\r\n value: props.value || props.defaultValue || '',\r\n isFocused: false,\r\n errorMessage: ''\r\n };\r\n\r\n this._onInputChange = this._onInputChange.bind(this);\r\n this._onFocus = this._onFocus.bind(this);\r\n this._onBlur = this._onBlur.bind(this);\r\n\r\n this._delayedValidate = this._async.debounce(this._validate, this.props.deferredValidationTime);\r\n this._lastValidation = 0;\r\n this._isDescriptionAvailable = false;\r\n }\r\n\r\n /**\r\n * Gets the current value of the text field.\r\n */\r\n public get value(): string {\r\n return this.state.value;\r\n }\r\n\r\n public componentDidMount() {\r\n this._isMounted = true;\r\n this._adjustInputHeight();\r\n\r\n if (this.props.validateOnLoad) {\r\n this._validate(this.state.value);\r\n }\r\n }\r\n\r\n public componentWillReceiveProps(newProps: ITextFieldProps) {\r\n const { onBeforeChange } = this.props;\r\n\r\n if (newProps.value !== undefined && newProps.value !== this.state.value) {\r\n if (onBeforeChange) {\r\n onBeforeChange(newProps.value);\r\n }\r\n\r\n this._latestValue = newProps.value;\r\n this.setState({\r\n value: newProps.value,\r\n errorMessage: ''\r\n } as ITextFieldState);\r\n\r\n this._delayedValidate(newProps.value);\r\n }\r\n }\r\n\r\n public componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n public render() {\r\n let {\r\n className,\r\n description,\r\n disabled,\r\n iconClass,\r\n iconProps,\r\n label,\r\n multiline,\r\n required,\r\n underlined,\r\n borderless,\r\n addonString,\r\n onRenderAddon = this._onRenderAddon\r\n } = this.props;\r\n let { isFocused } = this.state;\r\n const errorMessage: string = this._errorMessage;\r\n this._isDescriptionAvailable = Boolean(description || errorMessage);\r\n\r\n const textFieldClassName = css('ms-TextField', styles.root, className, {\r\n ['is-required ' + styles.rootIsRequired]: required,\r\n ['is-disabled ' + styles.rootIsDisabled]: disabled,\r\n ['is-active ' + styles.rootIsActive]: isFocused,\r\n ['ms-TextField--multiline ' + styles.rootIsMultiline]: multiline,\r\n ['ms-TextField--underlined ' + styles.rootIsUnderlined]: underlined,\r\n ['ms-TextField--borderless ' + styles.rootIsBorderless]: borderless\r\n });\r\n\r\n return (\r\n <div className={ textFieldClassName }>\r\n { label && <Label htmlFor={ this._id }>{ label }</Label> }\r\n <div className={ css(styles.fieldGroup, isFocused && styles.fieldGroupIsFocused) }>\r\n { (addonString !== undefined || this.props.onRenderAddon) && (\r\n <div className={ css(styles.fieldAddon) }>\r\n { onRenderAddon(this.props, this._onRenderAddon) }\r\n </div>\r\n ) }\r\n { multiline ? this._renderTextArea() : this._renderInput() }\r\n { (iconClass || iconProps) && <Icon className={ css(iconClass, styles.icon) } { ...iconProps } /> }\r\n </div>\r\n { this._isDescriptionAvailable &&\r\n <span id={ this._descriptionId }>\r\n { description && <span className={ css('ms-TextField-description', styles.description) }>{ description }</span> }\r\n { errorMessage &&\r\n <div aria-live='assertive'>\r\n <DelayedRender>\r\n <p\r\n className={ css('ms-TextField-errorMessage', AnimationClassNames.slideDownIn20, styles.errorMessage) }\r\n data-automation-id='error-message'>\r\n <Icon iconName='error' className={ styles.errorIcon } />\r\n { errorMessage }\r\n </p>\r\n </DelayedRender>\r\n </div>\r\n }\r\n </span>\r\n }\r\n </div>\r\n );\r\n }\r\n\r\n /**\r\n * Sets focus on the text field\r\n */\r\n public focus() {\r\n if (this._textElement) {\r\n this._textElement.focus();\r\n }\r\n }\r\n\r\n /**\r\n * Selects the text field\r\n */\r\n public select() {\r\n if (this._textElement) {\r\n this._textElement.select();\r\n }\r\n }\r\n\r\n /**\r\n * Sets the selection start of the text field to a specified value\r\n */\r\n public setSelectionStart(value: number) {\r\n if (this._textElement) {\r\n this._textElement.selectionStart = value;\r\n }\r\n }\r\n\r\n /**\r\n * Sets the selection end of the text field to a specified value\r\n */\r\n public setSelectionEnd(value: number) {\r\n if (this._textElement) {\r\n this._textElement.selectionEnd = value;\r\n }\r\n }\r\n\r\n /**\r\n * Sets the start and end positions of a selection in a text field.\r\n * @param start Index of the start of the selection.\r\n * @param end Index of the end of the selection.\r\n */\r\n public setSelectionRange(start: number, end: number) {\r\n if (this._textElement) {\r\n this._textElement.setSelectionRange(start, end);\r\n }\r\n }\r\n\r\n private _onFocus(ev: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) {\r\n if (this.props.onFocus) {\r\n this.props.onFocus(ev);\r\n }\r\n\r\n this.setState({ isFocused: true });\r\n if (this.props.validateOnFocusIn) {\r\n this._validate(this.state.value);\r\n }\r\n }\r\n\r\n private _onBlur(ev: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) {\r\n if (this.props.onBlur) {\r\n this.props.onBlur(ev);\r\n }\r\n\r\n this.setState({ isFocused: false });\r\n if (this.props.validateOnFocusOut) {\r\n this._validate(this.state.value);\r\n }\r\n }\r\n\r\n private _onRenderAddon(props: ITextFieldProps): JSX.Element {\r\n let { addonString } = props;\r\n return (\r\n <span style={ { paddingBottom: '1px' } }>{ addonString }</span>\r\n );\r\n }\r\n\r\n private _getTextElementClassName(): string {\r\n const errorMessage: string = this._errorMessage;\r\n let textFieldClassName: string;\r\n\r\n if (this.props.multiline && !this.props.resizable) {\r\n textFieldClassName = css('ms-TextField-field ms-TextField-field--unresizable', styles.field, styles.fieldIsUnresizable);\r\n } else {\r\n textFieldClassName = css('ms-TextField-field', styles.field);\r\n }\r\n\r\n return css(textFieldClassName, this.props.inputClassName, {\r\n ['ms-TextField-invalid ' + styles.invalid]: !!errorMessage,\r\n [styles.hasIcon]: !!this.props.iconClass,\r\n });\r\n }\r\n\r\n private get _errorMessage(): string {\r\n let { errorMessage } = this.state;\r\n if (!errorMessage) {\r\n errorMessage = this.props.errorMessage;\r\n }\r\n\r\n return errorMessage;\r\n }\r\n\r\n private _renderTextArea(): React.ReactElement<React.HTMLProps<HTMLAreaElement>> {\r\n let textAreaProps = getNativeProps(this.props, textAreaProperties, ['defaultValue']);\r\n\r\n return (\r\n <textarea\r\n id={ this._id }\r\n { ...textAreaProps }\r\n ref={ this._resolveRef('_textElement') }\r\n value={ this.state.value }\r\n onInput={ this._onInputChange }\r\n onChange={ this._onInputChange }\r\n className={ this._getTextElementClassName() }\r\n aria-describedby={ this._isDescriptionAvailable ? this._descriptionId : null }\r\n aria-invalid={ !!this.state.errorMessage }\r\n aria-label={ this.props.ariaLabel }\r\n onFocus={ this._onFocus }\r\n onBlur={ this._onBlur }\r\n />\r\n );\r\n }\r\n\r\n private _renderInput(): React.ReactElement<React.HTMLProps<HTMLInputElement>> {\r\n let inputProps = getNativeProps<React.HTMLProps<HTMLInputElement>>(this.props, inputProperties, ['defaultValue']);\r\n\r\n return (\r\n <input\r\n type={ 'text' }\r\n id={ this._id }\r\n { ...inputProps }\r\n ref={ this._resolveRef('_textElement') }\r\n value={ this.state.value }\r\n onInput={ this._onInputChange }\r\n onChange={ this._onInputChange }\r\n className={ this._getTextElementClassName() }\r\n aria-label={ this.props.ariaLabel }\r\n aria-describedby={ this._isDescriptionAvailable ? this._descriptionId : null }\r\n aria-invalid={ !!this.state.errorMessage }\r\n onFocus={ this._onFocus }\r\n onBlur={ this._onBlur }\r\n />\r\n );\r\n }\r\n\r\n private _onInputChange(event: React.FormEvent<HTMLInputElement | HTMLTextAreaElement>): void {\r\n const element: HTMLInputElement = event.target as HTMLInputElement;\r\n const value: string = element.value;\r\n\r\n // Avoid doing unnecessary work when the value has not changed.\r\n if (value === this._latestValue) {\r\n return;\r\n }\r\n this._latestValue = value;\r\n\r\n this.setState({\r\n value: value,\r\n errorMessage: ''\r\n } as ITextFieldState,\r\n () => {\r\n this._adjustInputHeight();\r\n\r\n if (this.props.onChanged) {\r\n this.props.onChanged(value);\r\n }\r\n });\r\n\r\n const { validateOnFocusIn, validateOnFocusOut } = this.props;\r\n if (!(validateOnFocusIn || validateOnFocusOut)) {\r\n this._delayedValidate(value);\r\n }\r\n\r\n const { onBeforeChange } = this.props;\r\n onBeforeChange(value);\r\n }\r\n\r\n private _validate(value: string): void {\r\n // In case of _validate called multi-times during executing validate logic with promise return.\r\n if (this._latestValidateValue === value) {\r\n return;\r\n }\r\n\r\n this._latestValidateValue = value;\r\n let { onGetErrorMessage } = this.props;\r\n let result: string | PromiseLike<string> = onGetErrorMessage(value || '');\r\n\r\n if (result !== undefined) {\r\n if (typeof result === 'string') {\r\n this.setState({\r\n errorMessage: result\r\n } as ITextFieldState);\r\n this._notifyAfterValidate(value, result);\r\n } else {\r\n let currentValidation: number = ++this._lastValidation;\r\n\r\n result.then((errorMessage: string) => {\r\n if (this._isMounted && currentValidation === this._lastValidation) {\r\n this.setState({ errorMessage } as ITextFieldState);\r\n }\r\n this._notifyAfterValidate(value, errorMessage);\r\n });\r\n }\r\n } else {\r\n this._notifyAfterValidate(value, '');\r\n }\r\n }\r\n\r\n private _notifyAfterValidate(value: string, errorMessage: string): void {\r\n if (this._isMounted &&\r\n value === this.state.value &&\r\n this.props.onNotifyValidationResult) {\r\n this.props.onNotifyValidationResult(errorMessage, value);\r\n }\r\n }\r\n\r\n private _adjustInputHeight(): void {\r\n if (this._textElement && this.props.autoAdjustHeight && this.props.multiline) {\r\n const textField = this._textElement as HTMLElement;\r\n textField.style.height = '';\r\n let scrollHeight = textField.scrollHeight + 2; // +2 to avoid vertical scroll bars\r\n textField.style.height = scrollHeight + 'px';\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/TextField/TextField.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_020eac03',\r\n screenReaderOnly: 'screenReaderOnly_020eac03',\r\n fieldGroup: 'fieldGroup_020eac03',\r\n fieldGroupIsFocused: 'fieldGroupIsFocused_020eac03',\r\n rootIsDisabled: 'rootIsDisabled_020eac03',\r\n fieldAddon: 'fieldAddon_020eac03',\r\n field: 'field_020eac03',\r\n hasIcon: 'hasIcon_020eac03',\r\n rootIsRequired: 'rootIsRequired_020eac03',\r\n rootIsActive: 'rootIsActive_020eac03',\r\n errorIcon: 'errorIcon_020eac03',\r\n icon: 'icon_020eac03',\r\n description: 'description_020eac03',\r\n rootIsBorderless: 'rootIsBorderless_020eac03',\r\n rootIsUnderlined: 'rootIsUnderlined_020eac03',\r\n rootIsMultiline: 'rootIsMultiline_020eac03',\r\n errorMessage: 'errorMessage_020eac03',\r\n invalid: 'invalid_020eac03',\r\n fieldIsUnresizable: 'fieldIsUnresizable_020eac03',\r\n hidden: 'hidden_020eac03',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_020eac03{box-sizing:border-box;box-shadow:none;margin:0;padding:0;margin-bottom:8px;position:relative}.screenReaderOnly_020eac03{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fieldGroup_020eac03{border:1px solid \"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\";background:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";height:32px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;position:relative}.fieldGroup_020eac03:hover{border-color:\"},{\"theme\":\"neutralSecondaryAlt\",\"defaultValue\":\"#767676\"},{\"rawString\":\"}.fieldGroup_020eac03.fieldGroupIsFocused_020eac03{border-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.rootIsDisabled_020eac03>.fieldGroup_020eac03{background-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\";border-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\";pointer-events:none;cursor:default}@media screen and (-ms-high-contrast:active){.fieldGroup_020eac03.fieldGroupIsFocused_020eac03,.fieldGroup_020eac03:hover{border-color:#1aebff}}@media screen and (-ms-high-contrast:black-on-white){.fieldGroup_020eac03.fieldGroupIsFocused_020eac03,.fieldGroup_020eac03:hover{border-color:#37006e}}.fieldGroup_020eac03::-ms-clear{display:none}.root_020eac03.rootIsDisabled_020eac03 .field{background-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\";border-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\";pointer-events:none;cursor:default}.fieldAddon_020eac03{background:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\";color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\";display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 10px;line-height:1}.field_020eac03{box-sizing:border-box;box-shadow:none;margin:0;padding:0;font-size:14px;border-radius:0;border:none;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";padding:0 12px 0 12px;width:100%;text-overflow:ellipsis;outline:0}[dir=rtl] .field_020eac03{padding:0 12px 0 12px}.field_020eac03:active,.field_020eac03:focus,.field_020eac03:hover{outline:0}[dir=ltr] .field_020eac03.hasIcon_020eac03{padding-right:24px}[dir=rtl] .field_020eac03.hasIcon_020eac03{padding-left:24px}.field_020eac03[disabled]{background-color:transparent;border-color:transparent;pointer-events:none;cursor:default}.field_020eac03 .field_020eac03::-webkit-input-placeholder{color:\"},{\"theme\":\"neutralQuaternary\",\"defaultValue\":\"#d0d0d0\"},{\"rawString\":\"}.field_020eac03 .field_020eac03:-ms-input-placeholder{color:\"},{\"theme\":\"neutralQuaternary\",\"defaultValue\":\"#d0d0d0\"},{\"rawString\":\"}.field .field::-webkit-input-placeholder{color:\"},{\"theme\":\"neutralQuaternary\",\"defaultValue\":\"#d0d0d0\"},{\"rawString\":\"}.field .field:-ms-input-placeholder{color:\"},{\"theme\":\"neutralQuaternary\",\"defaultValue\":\"#d0d0d0\"},{\"rawString\":\"}.field_020eac03 .field_020eac03::placeholder{color:\"},{\"theme\":\"neutralQuaternary\",\"defaultValue\":\"#d0d0d0\"},{\"rawString\":\"}.root_020eac03.rootIsRequired_020eac03 .ms-Label::after{content:' *';color:\"},{\"theme\":\"error\",\"defaultValue\":\"#a80000\"},{\"rawString\":\"}.root_020eac03.rootIsActive_020eac03{border-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.errorIcon_020eac03{vertical-align:middle;font-size:14px}html[dir=ltr] .errorIcon_020eac03{margin-right:5px}html[dir=rtl] .errorIcon_020eac03{margin-left:5px}.icon_020eac03{position:absolute;bottom:8px;top:auto}html[dir=ltr] .icon_020eac03{right:8px}html[dir=rtl] .icon_020eac03{left:8px}.description_020eac03{color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\";font-size:11px}.rootIsBorderless_020eac03 .fieldGroup_020eac03{border-color:transparent}.root_020eac03.rootIsUnderlined_020eac03{border-bottom:1px solid \"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\";border-width:0;border-bottom-width:1px;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.root_020eac03.rootIsUnderlined_020eac03:hover:not(.rootIsDisabled_020eac03){border-color:\"},{\"theme\":\"neutralSecondaryAlt\",\"defaultValue\":\"#767676\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.root_020eac03.rootIsUnderlined_020eac03:hover:not(.rootIsDisabled_020eac03){border-color:#1aebff}}@media screen and (-ms-high-contrast:black-on-white){.root_020eac03.rootIsUnderlined_020eac03:hover:not(.rootIsDisabled_020eac03){border-color:#37006e}}.root_020eac03.rootIsUnderlined_020eac03 .ms-Label{font-size:14px;line-height:22px;height:32px}[dir=ltr] .root_020eac03.rootIsUnderlined_020eac03 .ms-Label{margin-right:8px}[dir=rtl] .root_020eac03.rootIsUnderlined_020eac03 .ms-Label{margin-left:8px}[dir=ltr] .root_020eac03.rootIsUnderlined_020eac03 .ms-Label{padding-left:12px}[dir=rtl] .root_020eac03.rootIsUnderlined_020eac03 .ms-Label{padding-right:12px}.root_020eac03.rootIsUnderlined_020eac03 .fieldGroup_020eac03{-webkit-box-flex:1;-ms-flex:1 1 0;flex:1 1 0;border:0}[dir=ltr] .root_020eac03.rootIsUnderlined_020eac03 .fieldGroup_020eac03{text-align:left}[dir=rtl] .root_020eac03.rootIsUnderlined_020eac03 .fieldGroup_020eac03{text-align:right}.root_020eac03.rootIsUnderlined_020eac03.rootIsDisabled_020eac03{border-bottom-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\"}.root_020eac03.rootIsUnderlined_020eac03.rootIsDisabled_020eac03 .ms-Label{color:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\"}.root_020eac03.rootIsUnderlined_020eac03.rootIsDisabled_020eac03 .field_020eac03{background-color:transparent;color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}.root_020eac03.rootIsUnderlined_020eac03.rootIsActive_020eac03{border-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.root_020eac03.rootIsUnderlined_020eac03.rootIsActive_020eac03{border-color:#1aebff}}@media screen and (-ms-high-contrast:black-on-white){.root_020eac03.rootIsUnderlined_020eac03.rootIsActive_020eac03{border-color:#37006e}}.root_020eac03.rootIsMultiline_020eac03 .fieldGroup_020eac03{min-height:60px;height:auto;display:-webkit-box;display:-ms-flexbox;display:flex}.root_020eac03.rootIsMultiline_020eac03 .field_020eac03{line-height:17px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding-top:6px;overflow:auto;width:100%}[dir=ltr] .root_020eac03.rootIsMultiline_020eac03 .field_020eac03.hasIcon_020eac03{padding-right:40px}[dir=rtl] .root_020eac03.rootIsMultiline_020eac03 .field_020eac03.hasIcon_020eac03{padding-left:40px}.errorMessage_020eac03{font-size:12px;font-weight:400;color:\"},{\"theme\":\"redDark\",\"defaultValue\":\"#a80000\"},{\"rawString\":\";margin:0;padding-top:5px}.invalid_020eac03,.invalid_020eac03:focus,.invalid_020eac03:hover{border-color:\"},{\"theme\":\"redDark\",\"defaultValue\":\"#a80000\"},{\"rawString\":\"}[dir=ltr] .root_020eac03.rootIsUnderlined_020eac03 .ms-Label{padding-left:12px}[dir=rtl] .root_020eac03.rootIsUnderlined_020eac03 .ms-Label{padding-right:12px}[dir=ltr] .root_020eac03.rootIsUnderlined_020eac03 .ms-Label{padding-right:0}[dir=rtl] .root_020eac03.rootIsUnderlined_020eac03 .ms-Label{padding-left:0}html[dir=ltr] .root_020eac03.rootIsUnderlined_020eac03 .field_020eac03{text-align:left}html[dir=rtl] .root_020eac03.rootIsUnderlined_020eac03 .field_020eac03{text-align:right}.root_020eac03.rootIsMultiline_020eac03 .icon_020eac03{padding-bottom:8px;-webkit-box-align:end;-ms-flex-align:end;-ms-grid-row-align:flex-end;align-items:flex-end}[dir=ltr] .root_020eac03.rootIsMultiline_020eac03 .icon_020eac03{padding-right:24px}[dir=rtl] .root_020eac03.rootIsMultiline_020eac03 .icon_020eac03{padding-left:24px}.root_020eac03.rootIsMultiline_020eac03 .field_020eac03.fieldIsUnresizable_020eac03{resize:none}.hidden_020eac03{display:none}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/TextField/TextField.scss.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n assign,\r\n autobind,\r\n css\r\n} from '../../Utilities';\r\nimport {\r\n IColor,\r\n MAX_COLOR_SATURATION,\r\n MAX_COLOR_VALUE,\r\n getFullColorString,\r\n hsv2hex\r\n} from '../../utilities/color/colors';\r\nimport * as stylesImport from './ColorPicker.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IColorRectangleProps {\r\n color: IColor;\r\n minSize?: number;\r\n\r\n onSVChanged?(s: number, v: number): void;\r\n}\r\n\r\nexport interface IColorPickerState {\r\n isAdjusting?: boolean;\r\n origin?: { x: number, y: number, color: IColor };\r\n color?: IColor;\r\n fullColorString?: string;\r\n}\r\n\r\nexport class ColorRectangle extends BaseComponent<IColorRectangleProps, IColorPickerState> {\r\n public static defaultProps = {\r\n minSize: 220\r\n };\r\n\r\n public refs: {\r\n [key: string]: React.ReactInstance;\r\n root: HTMLElement;\r\n };\r\n\r\n constructor(props: IColorRectangleProps) {\r\n super(props);\r\n\r\n let { color } = this.props;\r\n\r\n this.state = {\r\n isAdjusting: false,\r\n origin: null,\r\n color: color,\r\n fullColorString: getFullColorString(color)\r\n };\r\n }\r\n\r\n public componentWillUnmount() {\r\n this._events.dispose();\r\n }\r\n\r\n public componentWillReceiveProps(newProps: IColorRectangleProps) {\r\n let { color } = newProps;\r\n\r\n this.setState({\r\n color: color,\r\n fullColorString: getFullColorString(color)\r\n });\r\n }\r\n\r\n public render() {\r\n let { minSize } = this.props;\r\n let { color, fullColorString } = this.state;\r\n\r\n return (\r\n <div ref='root' className={ css('ms-ColorPicker-colorRect', styles.colorRect) } style={ { minWidth: minSize, minHeight: minSize, backgroundColor: fullColorString } } onMouseDown={ this._onMouseDown }>\r\n <div className={ css('ms-ColorPicker-light', styles.light) } />\r\n <div className={ css('ms-ColorPicker-dark', styles.dark) } />\r\n <div className={ css('ms-ColorPicker-thumb', styles.thumb) } style={ { left: color.s + '%', top: (MAX_COLOR_VALUE - color.v) + '%', backgroundColor: color.str } } />\r\n </div>\r\n );\r\n }\r\n\r\n @autobind\r\n private _onMouseDown(ev: React.MouseEvent<HTMLElement>) {\r\n this._events.on(window, 'mousemove', this._onMouseMove, true);\r\n this._events.on(window, 'mouseup', this._onMouseUp, true);\r\n\r\n this._onMouseMove(ev);\r\n }\r\n\r\n @autobind\r\n private _onMouseMove(ev: React.MouseEvent<HTMLElement>) {\r\n let { color, onSVChanged } = this.props;\r\n let rectSize = this.refs.root.getBoundingClientRect();\r\n\r\n let sPercentage = (ev.clientX - rectSize.left) / rectSize.width;\r\n let vPercentage = (ev.clientY - rectSize.top) / rectSize.height;\r\n\r\n let newColor = assign({}, color, {\r\n s: Math.min(MAX_COLOR_SATURATION, Math.max(0, sPercentage * MAX_COLOR_SATURATION)),\r\n v: Math.min(MAX_COLOR_VALUE, Math.max(0, MAX_COLOR_VALUE - (vPercentage * MAX_COLOR_VALUE))),\r\n });\r\n\r\n newColor.hex = hsv2hex(newColor.h, newColor.s, newColor.v);\r\n newColor.str = newColor.a === 100 ? '#' + newColor.hex : `rgba(${newColor.r}, ${newColor.g}, ${newColor.b}, ${newColor.a / 100})`;\r\n\r\n this.setState({\r\n isAdjusting: true,\r\n color: newColor\r\n });\r\n\r\n if (onSVChanged) {\r\n onSVChanged(newColor.s, newColor.v);\r\n }\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n\r\n @autobind\r\n private _onMouseUp(ev: React.MouseEvent<HTMLElement>) {\r\n this._events.off();\r\n\r\n this.setState({\r\n isAdjusting: false,\r\n origin: null\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/ColorPicker/ColorRectangle.tsx","import { assign } from '../../Utilities';\r\nimport { COLOR_VALUES } from './colorValues';\r\n\r\nexport const MAX_COLOR_SATURATION = 100;\r\nexport const MAX_COLOR_HUE = 359;\r\nexport const MAX_COLOR_VALUE = 100;\r\nexport const MAX_COLOR_RGBA = 255;\r\n\r\nexport interface IRGB {\r\n r: number;\r\n g: number;\r\n b: number;\r\n a?: number;\r\n}\r\n\r\nexport interface IHSV {\r\n h: number;\r\n s: number;\r\n v: number;\r\n}\r\n\r\nexport interface IColor extends IRGB, IHSV {\r\n hex: string;\r\n str: string;\r\n}\r\n\r\nexport function cssColor(color: string): IRGB {\r\n return _named(color)\r\n || _hex3(color)\r\n || _hex6(color)\r\n || _rgb(color)\r\n || _rgba(color)\r\n || _hsl(color)\r\n || _hsla(color);\r\n}\r\n\r\nexport function rgb2hex(r: number, g: number, b: number): string {\r\n return [\r\n _numberToPaddedHex(r),\r\n _numberToPaddedHex(g),\r\n _numberToPaddedHex(b)\r\n ].join('');\r\n}\r\n\r\nexport function hsv2hex(h: number, s: number, v: number): string {\r\n const { r, g, b } = hsv2rgb(h, s, v);\r\n\r\n return rgb2hex(r, g, b);\r\n}\r\n\r\nexport function rgb2hsv(r: number, g: number, b: number): IHSV {\r\n let h;\r\n let s;\r\n let v;\r\n const max = Math.max(r, g, b);\r\n const min = Math.min(r, g, b);\r\n const delta = max - min;\r\n\r\n // hue\r\n if (delta === 0) {\r\n h = 0;\r\n } else if (r === max) {\r\n h = ((g - b) / delta) % 6;\r\n } else if (g === max) {\r\n h = (b - r) / delta + 2;\r\n } else if (b === max) {\r\n h = (r - g) / delta + 4;\r\n }\r\n\r\n h = Math.round(h * 60);\r\n\r\n if (h < 0) {\r\n h += 360;\r\n }\r\n\r\n // saturation\r\n s = Math.round((max === 0 ? 0 : (delta / max)) * 100);\r\n\r\n // value\r\n v = Math.round(max / 255 * 100);\r\n\r\n return { h, s, v };\r\n}\r\n\r\nexport function hsl2hsv(h: number, s: number, l: number): IHSV {\r\n s *= ((l < 50) ? l : (100 - l)) / 100;\r\n\r\n return {\r\n h: h,\r\n s: 2 * s / (l + s) * 100,\r\n v: l + s\r\n };\r\n}\r\n\r\nexport function hsv2hsl(h: number, s: number, v: number): { h: number, s: number, l: number } {\r\n s /= MAX_COLOR_SATURATION;\r\n v /= MAX_COLOR_VALUE;\r\n\r\n let l = (2 - s) * v;\r\n let sl = s * v;\r\n sl /= (l <= 1) ? l : 2 - l;\r\n sl = sl || 0;\r\n l /= 2;\r\n\r\n return { h: h, s: sl * 100, l: l * 100 };\r\n}\r\n\r\nexport function hsl2rgb(h: number, s: number, l: number): IRGB {\r\n const hsv = hsl2hsv(h, s, l);\r\n\r\n return hsv2rgb(hsv.h, hsv.s, hsv.v);\r\n}\r\n\r\nexport function hsv2rgb(h: number, s: number, v: number): IRGB {\r\n s = s / 100;\r\n v = v / 100;\r\n\r\n let rgb: number[] = [];\r\n\r\n const c = v * s;\r\n const hh = h / 60;\r\n const x = c * (1 - Math.abs(hh % 2 - 1));\r\n const m = v - c;\r\n\r\n switch (Math.floor(hh)) {\r\n case 0:\r\n rgb = [c, x, 0];\r\n break;\r\n\r\n case 1:\r\n rgb = [x, c, 0];\r\n break;\r\n\r\n case 2:\r\n rgb = [0, c, x];\r\n break;\r\n\r\n case 3:\r\n rgb = [0, x, c];\r\n break;\r\n\r\n case 4:\r\n rgb = [x, 0, c];\r\n break;\r\n\r\n case 5:\r\n rgb = [c, 0, x];\r\n break;\r\n }\r\n\r\n return {\r\n r: Math.round(MAX_COLOR_RGBA * (rgb[0] + m)),\r\n g: Math.round(MAX_COLOR_RGBA * (rgb[1] + m)),\r\n b: Math.round(MAX_COLOR_RGBA * (rgb[2] + m))\r\n };\r\n}\r\n\r\nexport function getColorFromString(color: string): IColor {\r\n let { a, b, g, r } = cssColor(color);\r\n let { h, s, v } = rgb2hsv(r, g, b);\r\n\r\n return {\r\n a: a,\r\n b: b,\r\n g: g,\r\n h: h,\r\n hex: rgb2hex(r, g, b),\r\n r: r,\r\n s: s,\r\n str: color,\r\n v: v\r\n };\r\n}\r\n\r\nexport function getColorFromRGBA(rgba: { r: number, g: number, b: number, a: number }): IColor {\r\n let { a, b, g, r } = rgba;\r\n let { h, s, v } = rgb2hsv(r, g, b);\r\n\r\n let hex = rgb2hex(r, g, b);\r\n return {\r\n a: a,\r\n b: b,\r\n g: g,\r\n h: h,\r\n hex: hex,\r\n r: r,\r\n s: s,\r\n str: (a === 100) ? `#${hex}` : `rgba(${r}, ${g}, ${b}, ${a / 100})`,\r\n v: v\r\n };\r\n}\r\n\r\nexport function getFullColorString(color: IColor): string {\r\n return `#${hsv2hex(color.h, MAX_COLOR_SATURATION, MAX_COLOR_VALUE)}`;\r\n}\r\n\r\nexport function updateSV(color: IColor, s: number, v: number): IColor {\r\n let { r, g, b } = hsv2rgb(color.h, s, v);\r\n let hex = rgb2hex(r, g, b);\r\n\r\n return {\r\n a: color.a,\r\n b: b,\r\n g: g,\r\n h: color.h,\r\n hex: hex,\r\n r: r,\r\n s: s,\r\n str: (color.a === 100) ? `#${hex}` : `rgba(${r}, ${g}, ${b}, ${color.a / 100})`,\r\n v: v\r\n };\r\n}\r\n\r\nexport function updateH(color: IColor, h: number): IColor {\r\n let { r, g, b } = hsv2rgb(h, color.s, color.v);\r\n let hex = rgb2hex(r, g, b);\r\n\r\n return {\r\n a: color.a,\r\n b: b,\r\n g: g,\r\n h: h,\r\n hex: hex,\r\n r: r,\r\n s: color.s,\r\n str: (color.a === 100) ? `#${hex}` : `rgba(${r}, ${g}, ${b}, ${color.a / 100})`,\r\n v: color.v\r\n };\r\n}\r\n\r\nexport function updateA(color: IColor, a: number): IColor {\r\n return assign({}, color, {\r\n a: a,\r\n str: (a === 100) ? `#${color.hex}` : `rgba(${color.r}, ${color.g}, ${color.b}, ${a / 100})`\r\n });\r\n}\r\n\r\nfunction _numberToPaddedHex(num: number) {\r\n const hex = num.toString(16);\r\n\r\n return hex.length === 1 ? '0' + hex : hex;\r\n}\r\n\r\nfunction _named(str) {\r\n const c = COLOR_VALUES[str.toLowerCase()];\r\n\r\n if (c) {\r\n return {\r\n r: c[0],\r\n g: c[1],\r\n b: c[2],\r\n a: 100\r\n };\r\n }\r\n}\r\n\r\nfunction _rgb(str) {\r\n if (0 === str.indexOf('rgb(')) {\r\n str = str.match(/rgb\\(([^)]+)\\)/)[1];\r\n\r\n const parts = str.split(/ *, */).map(Number);\r\n\r\n return {\r\n r: parts[0],\r\n g: parts[1],\r\n b: parts[2],\r\n a: 100\r\n };\r\n }\r\n}\r\n\r\nfunction _rgba(str) {\r\n if (str.indexOf('rgba(') === 0) {\r\n str = str.match(/rgba\\(([^)]+)\\)/)[1];\r\n\r\n const parts = str.split(/ *, */).map(Number);\r\n\r\n return {\r\n r: parts[0],\r\n g: parts[1],\r\n b: parts[2],\r\n a: parts[3] * 100\r\n };\r\n }\r\n}\r\n\r\nfunction _hex6(str) {\r\n if ('#' === str[0] && 7 === str.length) {\r\n return {\r\n r: parseInt(str.slice(1, 3), 16),\r\n g: parseInt(str.slice(3, 5), 16),\r\n b: parseInt(str.slice(5, 7), 16),\r\n a: 100\r\n };\r\n }\r\n}\r\n\r\nfunction _hex3(str) {\r\n if ('#' === str[0] && 4 === str.length) {\r\n return {\r\n r: parseInt(str[1] + str[1], 16),\r\n g: parseInt(str[2] + str[2], 16),\r\n b: parseInt(str[3] + str[3], 16),\r\n a: 100\r\n };\r\n }\r\n}\r\n\r\nfunction _hsl(str) {\r\n if (str.indexOf('hsl(') === 0) {\r\n str = str.match(/hsl\\(([^)]+)\\)/)[1];\r\n const parts = str.split(/ *, */);\r\n\r\n const h = parseInt(parts[0], 10);\r\n const s = parseInt(parts[1], 10);\r\n const l = parseInt(parts[2], 10);\r\n\r\n const rgba = hsl2rgb(h, s, l);\r\n rgba.a = 100;\r\n\r\n return rgba;\r\n }\r\n}\r\n\r\nfunction _hsla(str) {\r\n if (str.indexOf('hsla(') === 0) {\r\n str = str.match(/hsla\\(([^)]+)\\)/)[1];\r\n\r\n const parts = str.split(/ *, */);\r\n const h = parseInt(parts[0], 10);\r\n const s = parseInt(parts[1], 10);\r\n const l = parseInt(parts[2], 10);\r\n const a = parseInt(parts[3], 10) * 100;\r\n const rgba = hsl2rgb(h, s, l);\r\n\r\n rgba.a = a;\r\n\r\n return rgba;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../src/utilities/color/colors.ts","export const COLOR_VALUES = {\r\n aliceblue: [240, 248, 255],\r\n antiquewhite: [250, 235, 215],\r\n aqua: [0, 255, 255],\r\n aquamarine: [127, 255, 212],\r\n azure: [240, 255, 255],\r\n beige: [245, 245, 220],\r\n bisque: [255, 228, 196],\r\n black: [0, 0, 0],\r\n blanchedalmond: [255, 235, 205],\r\n blue: [0, 0, 255],\r\n blueviolet: [138, 43, 226],\r\n brown: [165, 42, 42],\r\n burlywood: [222, 184, 135],\r\n cadetblue: [95, 158, 160],\r\n chartreuse: [127, 255, 0],\r\n chocolate: [210, 105, 30],\r\n coral: [255, 127, 80],\r\n cornflowerblue: [100, 149, 237],\r\n cornsilk: [255, 248, 220],\r\n crimson: [220, 20, 60],\r\n cyan: [0, 255, 255],\r\n darkblue: [0, 0, 139],\r\n darkcyan: [0, 139, 139],\r\n darkgoldenrod: [184, 132, 11],\r\n darkgray: [169, 169, 169],\r\n darkgreen: [0, 100, 0],\r\n darkgrey: [169, 169, 169],\r\n darkkhaki: [189, 183, 107],\r\n darkmagenta: [139, 0, 139],\r\n darkolivegreen: [85, 107, 47],\r\n darkorange: [255, 140, 0],\r\n darkorchid: [153, 50, 204],\r\n darkred: [139, 0, 0],\r\n darksalmon: [233, 150, 122],\r\n darkseagreen: [143, 188, 143],\r\n darkslateblue: [72, 61, 139],\r\n darkslategray: [47, 79, 79],\r\n darkslategrey: [47, 79, 79],\r\n darkturquoise: [0, 206, 209],\r\n darkviolet: [148, 0, 211],\r\n deeppink: [255, 20, 147],\r\n deepskyblue: [0, 191, 255],\r\n dimgray: [105, 105, 105],\r\n dimgrey: [105, 105, 105],\r\n dodgerblue: [30, 144, 255],\r\n firebrick: [178, 34, 34],\r\n floralwhite: [255, 255, 240],\r\n forestgreen: [34, 139, 34],\r\n fuchsia: [255, 0, 255],\r\n gainsboro: [220, 220, 220],\r\n ghostwhite: [248, 248, 255],\r\n gold: [255, 215, 0],\r\n goldenrod: [218, 165, 32],\r\n gray: [128, 128, 128],\r\n green: [0, 128, 0],\r\n greenyellow: [173, 255, 47],\r\n grey: [128, 128, 128],\r\n honeydew: [240, 255, 240],\r\n hotpink: [255, 105, 180],\r\n indianred: [205, 92, 92],\r\n indigo: [75, 0, 130],\r\n ivory: [255, 255, 240],\r\n khaki: [240, 230, 140],\r\n lavender: [230, 230, 250],\r\n lavenderblush: [255, 240, 245],\r\n lawngreen: [124, 252, 0],\r\n lemonchiffon: [255, 250, 205],\r\n lightblue: [173, 216, 230],\r\n lightcoral: [240, 128, 128],\r\n lightcyan: [224, 255, 255],\r\n lightgoldenrodyellow: [250, 250, 210],\r\n lightgray: [211, 211, 211],\r\n lightgreen: [144, 238, 144],\r\n lightgrey: [211, 211, 211],\r\n lightpink: [255, 182, 193],\r\n lightsalmon: [255, 160, 122],\r\n lightseagreen: [32, 178, 170],\r\n lightskyblue: [135, 206, 250],\r\n lightslategray: [119, 136, 153],\r\n lightslategrey: [119, 136, 153],\r\n lightsteelblue: [176, 196, 222],\r\n lightyellow: [255, 255, 224],\r\n lime: [0, 255, 0],\r\n limegreen: [50, 205, 50],\r\n linen: [250, 240, 230],\r\n magenta: [255, 0, 255],\r\n maroon: [128, 0, 0],\r\n mediumaquamarine: [102, 205, 170],\r\n mediumblue: [0, 0, 205],\r\n mediumorchid: [186, 85, 211],\r\n mediumpurple: [147, 112, 219],\r\n mediumseagreen: [60, 179, 113],\r\n mediumslateblue: [123, 104, 238],\r\n mediumspringgreen: [0, 250, 154],\r\n mediumturquoise: [72, 209, 204],\r\n mediumvioletred: [199, 21, 133],\r\n midnightblue: [25, 25, 112],\r\n mintcream: [245, 255, 250],\r\n mistyrose: [255, 228, 225],\r\n moccasin: [255, 228, 181],\r\n navajowhite: [255, 222, 173],\r\n navy: [0, 0, 128],\r\n oldlace: [253, 245, 230],\r\n olive: [128, 128, 0],\r\n olivedrab: [107, 142, 35],\r\n orange: [255, 165, 0],\r\n orangered: [255, 69, 0],\r\n orchid: [218, 112, 214],\r\n palegoldenrod: [238, 232, 170],\r\n palegreen: [152, 251, 152],\r\n paleturquoise: [175, 238, 238],\r\n palevioletred: [219, 112, 147],\r\n papayawhip: [255, 239, 213],\r\n peachpuff: [255, 218, 185],\r\n peru: [205, 133, 63],\r\n pink: [255, 192, 203],\r\n plum: [221, 160, 203],\r\n powderblue: [176, 224, 230],\r\n purple: [128, 0, 128],\r\n rebeccapurple: [102, 51, 153],\r\n red: [255, 0, 0],\r\n rosybrown: [188, 143, 143],\r\n royalblue: [65, 105, 225],\r\n saddlebrown: [139, 69, 19],\r\n salmon: [250, 128, 114],\r\n sandybrown: [244, 164, 96],\r\n seagreen: [46, 139, 87],\r\n seashell: [255, 245, 238],\r\n sienna: [160, 82, 45],\r\n silver: [192, 192, 192],\r\n skyblue: [135, 206, 235],\r\n slateblue: [106, 90, 205],\r\n slategray: [119, 128, 144],\r\n slategrey: [119, 128, 144],\r\n snow: [255, 255, 250],\r\n springgreen: [0, 255, 127],\r\n steelblue: [70, 130, 180],\r\n tan: [210, 180, 140],\r\n teal: [0, 128, 128],\r\n thistle: [216, 191, 216],\r\n tomato: [255, 99, 71],\r\n turquoise: [64, 224, 208],\r\n violet: [238, 130, 238],\r\n wheat: [245, 222, 179],\r\n white: [255, 255, 255],\r\n whitesmoke: [245, 245, 245],\r\n yellow: [255, 255, 0],\r\n yellowgreen: [154, 205, 5]\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/utilities/color/colorValues.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_d414ad46',\r\n panel: 'panel_d414ad46',\r\n colorRect: 'colorRect_d414ad46',\r\n rectContainer: 'rectContainer_d414ad46',\r\n capture: 'capture_d414ad46',\r\n rectContainerIsAdjusting: 'rectContainerIsAdjusting_d414ad46',\r\n thumb: 'thumb_d414ad46',\r\n thumbIsSlider: 'thumbIsSlider_d414ad46',\r\n light: 'light_d414ad46',\r\n dark: 'dark_d414ad46',\r\n slider: 'slider_d414ad46',\r\n colorSliderIsHue: 'colorSliderIsHue_d414ad46',\r\n colorSliderIsAlpha: 'colorSliderIsAlpha_d414ad46',\r\n sliderOverlay: 'sliderOverlay_d414ad46',\r\n input: 'input_d414ad46',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_d414ad46{position:relative;max-width:300px}.panel_d414ad46{padding:16px}.colorRect_d414ad46{position:relative;margin-bottom:10px}.rectContainer_d414ad46{position:relative}.capture_d414ad46{position:absolute;left:0;top:0;bottom:0;right:0;background:rgba(255,0,0,.1)}.rectContainer_d414ad46.rectContainerIsAdjusting_d414ad46 .capture_d414ad46{position:fixed}.thumb_d414ad46{position:absolute;width:20px;height:20px;background:#fff;border:1px solid rgba(255,255,255,.8);border-radius:50%;box-shadow:0 0 15px -5px #000;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.thumb_d414ad46.thumbIsSlider_d414ad46{top:50%}.light_d414ad46{position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient(to right,#fff 0,transparent 100%)}.dark_d414ad46{position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient(to bottom,transparent 0,#000 100%)}.slider_d414ad46{position:relative;height:20px;margin-bottom:5px;border:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\";box-sizing:border-box}.slider_d414ad46.colorSliderIsHue_d414ad46{background:linear-gradient(to left,red 0,#f09 10%,#cd00ff 20%,#3200ff 30%,#06f 40%,#00fffd 50%,#0f6 60%,#35ff00 70%,#cdff00 80%,#f90 90%,red 100%)}.slider_d414ad46.colorSliderIsAlpha_d414ad46{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAJUlEQVQYV2N89erVfwY0ICYmxoguxjgUFKI7GsTH5m4M3w1ChQC1/Ca8i2n1WgAAAABJRU5ErkJggg==)}.sliderOverlay_d414ad46{content:'';position:absolute;left:0;right:0;top:0;bottom:0}.input_d414ad46{width:100%;border:none;box-sizing:border-box;height:30px}.input_d414ad46.ms-TextField{padding-right:2px}.input_d414ad46 .input_d414ad46.ms-TextField-field{min-width:auto;padding:5px}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/ColorPicker/ColorPicker.scss.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n autobind,\r\n css\r\n} from '../../Utilities';\r\nimport * as stylesImport from './ColorPicker.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IColorSliderProps {\r\n minValue?: number;\r\n maxValue?: number;\r\n value?: number;\r\n thumbColor?: string;\r\n overlayStyle?: any;\r\n onChanged?: (newValue: number) => void;\r\n\r\n className?: string;\r\n style?: any;\r\n}\r\n\r\nexport interface IColorSliderState {\r\n isAdjusting?: boolean;\r\n origin?: { x: number, originalValue: number };\r\n currentValue?: number;\r\n}\r\n\r\nexport class ColorSlider extends BaseComponent<IColorSliderProps, IColorSliderState> {\r\n public static defaultProps = {\r\n minValue: 0,\r\n maxValue: 100,\r\n thumbColor: 'inherit',\r\n value: 0\r\n };\r\n\r\n public refs: {\r\n [key: string]: React.ReactInstance;\r\n root: HTMLElement;\r\n };\r\n\r\n constructor(props: IColorSliderProps) {\r\n super(props);\r\n\r\n let { value } = this.props;\r\n\r\n this.state = {\r\n isAdjusting: false,\r\n origin: null,\r\n currentValue: value\r\n };\r\n }\r\n\r\n public componentWillReceiveProps(newProps: IColorSliderProps) {\r\n if (newProps && newProps.value) {\r\n this.setState({ currentValue: newProps.value });\r\n }\r\n }\r\n\r\n public render() {\r\n let { className, minValue, maxValue, overlayStyle } = this.props;\r\n let { currentValue, isAdjusting } = this.state;\r\n\r\n let currentPercentage = 100 * (currentValue - minValue) / (maxValue - minValue);\r\n\r\n return (\r\n <div\r\n ref='root'\r\n className={ css('ms-ColorPicker-slider', styles.slider, className, {\r\n 'is-adjusting': isAdjusting\r\n }) }\r\n onMouseDown={ this._onMouseDown }>\r\n <div className={ css('ms-ColorPicker-sliderOverlay', styles.sliderOverlay) } style={ overlayStyle } />\r\n <div className={ css('ms-ColorPicker-thumb is-slider', styles.thumb, styles.thumbIsSlider) } style={ { left: currentPercentage + '%' } } />\r\n </div>\r\n );\r\n }\r\n\r\n @autobind\r\n private _onMouseDown(ev: React.MouseEvent<HTMLElement>) {\r\n this._events.on(window, 'mousemove', this._onMouseMove, true);\r\n this._events.on(window, 'mouseup', this._onMouseUp, true);\r\n\r\n this._onMouseMove(ev);\r\n }\r\n\r\n @autobind\r\n private _onMouseMove(ev: React.MouseEvent<HTMLElement>) {\r\n let { onChanged, minValue, maxValue } = this.props;\r\n let rectSize = this.refs.root.getBoundingClientRect();\r\n\r\n let currentPercentage = (ev.clientX - rectSize.left) / rectSize.width;\r\n let newValue = Math.min(maxValue, Math.max(minValue, currentPercentage * maxValue));\r\n\r\n this.setState({\r\n isAdjusting: true,\r\n currentValue: newValue\r\n });\r\n\r\n if (onChanged) {\r\n onChanged(newValue);\r\n }\r\n\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n\r\n @autobind\r\n private _onMouseUp(ev: React.MouseEvent<HTMLElement>) {\r\n this._events.off();\r\n\r\n this.setState({\r\n isAdjusting: false,\r\n origin: null\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/ColorPicker/ColorSlider.tsx","export * from './components/CommandBar/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/CommandBar.ts","export * from './CommandBar';\r\nexport * from './CommandBar.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/CommandBar/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n autobind,\r\n buttonProperties,\r\n anchorProperties,\r\n css,\r\n divProperties,\r\n getId,\r\n getNativeProps\r\n} from '../../Utilities';\r\nimport { ICommandBar, ICommandBarProps } from './CommandBar.Props';\r\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\r\nimport { ContextualMenu, IContextualMenuProps, IContextualMenuItem, hasSubmenuItems } from '../../ContextualMenu';\r\nimport { DirectionalHint } from '../../common/DirectionalHint';\r\nimport {\r\n Icon,\r\n IconName,\r\n IIconProps\r\n} from '../../Icon';\r\nimport { FontClassNames } from '../../Styling';\r\nimport * as stylesImport from './CommandBar.scss';\r\nconst styles: any = stylesImport;\r\n\r\nconst OVERFLOW_KEY = 'overflow';\r\nconst OVERFLOW_WIDTH = 41.5;\r\n\r\nexport interface ICommandBarState {\r\n renderedItems?: IContextualMenuItem[];\r\n renderedOverflowItems?: IContextualMenuItem[];\r\n expandedMenuItemKey?: string;\r\n expandedMenuId?: string;\r\n contextualMenuProps?: IContextualMenuProps;\r\n contextualMenuTarget?: HTMLElement;\r\n renderedFarItems?: IContextualMenuItem[];\r\n}\r\n\r\nexport class CommandBar extends BaseComponent<ICommandBarProps, ICommandBarState> implements ICommandBar {\r\n public static defaultProps = {\r\n items: [],\r\n overflowItems: [],\r\n farItems: []\r\n };\r\n\r\n public refs: {\r\n [key: string]: React.ReactInstance;\r\n commandSurface: HTMLElement;\r\n farCommandSurface: HTMLElement;\r\n commandBarRegion: HTMLElement;\r\n searchSurface: HTMLElement;\r\n focusZone: FocusZone;\r\n };\r\n\r\n private _id: string;\r\n private _overflowWidth: number;\r\n private _commandItemWidths: { [key: string]: number };\r\n\r\n constructor(props: ICommandBarProps) {\r\n super(props);\r\n\r\n this.state = this._getStateFromProps(props);\r\n\r\n this._id = getId('CommandBar');\r\n }\r\n\r\n public componentDidMount() {\r\n this._updateItemMeasurements();\r\n this._updateRenderedItems();\r\n\r\n this._events.on(window, 'resize', this._updateRenderedItems);\r\n }\r\n\r\n public componentWillReceiveProps(nextProps: ICommandBarProps) {\r\n this.setState(this._getStateFromProps(nextProps));\r\n this._commandItemWidths = null;\r\n }\r\n\r\n public componentDidUpdate(prevProps: ICommandBarProps, prevStates: ICommandBarState) {\r\n if (!this._commandItemWidths) {\r\n this._updateItemMeasurements();\r\n this._updateRenderedItems();\r\n }\r\n }\r\n\r\n public render() {\r\n const { isSearchBoxVisible, searchPlaceholderText, className } = this.props;\r\n const { renderedItems, contextualMenuProps, expandedMenuItemKey, expandedMenuId, renderedOverflowItems, contextualMenuTarget, renderedFarItems } = this.state;\r\n let searchBox;\r\n\r\n if (isSearchBoxVisible) {\r\n searchBox = (\r\n <div className={ css('ms-CommandBarSearch', styles.search) } ref='searchSurface'>\r\n <input className={ css('ms-CommandBarSearch-input', styles.searchInput) } type='text' placeholder={ searchPlaceholderText } />\r\n <div className={ css(\r\n 'ms-CommandBarSearch-iconWrapper ms-CommandBarSearch-iconSearchWrapper',\r\n styles.searchIconWrapper, styles.searchIconSearchWrapper) }>\r\n <Icon iconName='search' />\r\n </div>\r\n <div className={ css(\r\n 'ms-CommandBarSearch-iconWrapper ms-CommandBarSearch-iconClearWrapper',\r\n FontClassNames.small,\r\n styles.searchIconWrapper,\r\n styles.searchIconClearWrapper\r\n ) }>\r\n <Icon iconName='cancel' />\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div className={ css('ms-CommandBar', styles.root, className) } ref='commandBarRegion'>\r\n { searchBox }\r\n <FocusZone ref='focusZone' direction={ FocusZoneDirection.horizontal } role='menubar' >\r\n <div className={ css('ms-CommandBar-primaryCommands', styles.primaryCommands) } ref='commandSurface'>\r\n { renderedItems.map((item, index) => (\r\n this._renderItemInCommandBar(item, index, expandedMenuItemKey)\r\n )).concat((renderedOverflowItems && renderedOverflowItems.length) ? [\r\n <div className={ css('ms-CommandBarItem', styles.item) } key={ OVERFLOW_KEY } ref={ OVERFLOW_KEY }>\r\n <button\r\n type='button'\r\n id={ this._id + OVERFLOW_KEY }\r\n className={ css('ms-CommandBarItem-link', styles.itemLink, {\r\n ['is-expanded ' + styles.itemLinkIsExpanded]: (expandedMenuItemKey === OVERFLOW_KEY)\r\n }) }\r\n onClick={ this._onOverflowClick }\r\n role='menuitem'\r\n aria-label={ this.props.elipisisAriaLabel || '' }\r\n aria-haspopup={ true }\r\n data-automation-id='commandBarOverflow'\r\n >\r\n <Icon className={ css('ms-CommandBarItem-overflow', styles.itemOverflow) } iconName='more' />\r\n </button>\r\n </div>\r\n ] : []) }\r\n </div>\r\n <div className={ css('ms-CommandBar-sideCommands', styles.sideCommands) } ref='farCommandSurface'>\r\n { renderedFarItems.map((item, index) => (\r\n this._renderItemInCommandBar(item, index, expandedMenuItemKey, true)\r\n )) }\r\n </div>\r\n </FocusZone>\r\n { (contextualMenuProps) ?\r\n (<ContextualMenu\r\n className={ css('ms-CommandBar-menuHost') }\r\n isBeakVisible={ true }\r\n directionalHint={ DirectionalHint.bottomAutoEdge }\r\n { ...contextualMenuProps }\r\n targetElement={ contextualMenuTarget }\r\n labelElementId={ expandedMenuId }\r\n onDismiss={ this._onContextMenuDismiss }\r\n />\r\n ) : (null) }\r\n </div>\r\n );\r\n }\r\n\r\n public focus() {\r\n this.refs.focusZone.focus();\r\n }\r\n\r\n private _renderItemInCommandBar(item: IContextualMenuItem, index: number, expandedMenuItemKey: string, isFarItem?: boolean) {\r\n if (item.onRender) {\r\n return <div className={ css('ms-CommandBarItem', styles.item, item.className) } key={ item.key } ref={ item.key }>\r\n { item.onRender(item) }\r\n </div>;\r\n }\r\n\r\n const itemKey = item.key || String(index);\r\n const isLink = item.onClick || hasSubmenuItems(item);\r\n const className = css(\r\n isLink ? ('ms-CommandBarItem-link ' + styles.itemLink) : ('ms-CommandBarItem-text ' + styles.itemText),\r\n !item.name && ('ms-CommandBarItem--noName ' + styles.itemLinkIsNoName),\r\n (expandedMenuItemKey === item.key) && ('is-expanded ' + styles.itemLinkIsExpanded)\r\n );\r\n let hasIcon = !!item.icon || !!item.iconProps;\r\n\r\n return <div className={ css('ms-CommandBarItem', styles.item, item.className) } key={ itemKey } ref={ itemKey }>\r\n { (() => {\r\n if (isLink) {\r\n return <button\r\n { ...getNativeProps(item, buttonProperties) }\r\n id={ this._id + item.key }\r\n className={ className }\r\n onClick={ (ev) => this._onItemClick(ev, item) }\r\n data-command-key={ index }\r\n aria-haspopup={ hasSubmenuItems(item) }\r\n role='menuitem'\r\n aria-label={ item.ariaLabel || item.name }\r\n >\r\n { (hasIcon) ? this._renderIcon(item) : (null) }\r\n { (!!item.name) && (\r\n <span\r\n className={ css('ms-CommandBarItem-commandText', styles.itemCommandText) }\r\n >\r\n { item.name }\r\n </span>\r\n ) }\r\n { hasSubmenuItems(item) ? (\r\n <Icon className={ css('ms-CommandBarItem-chevronDown', styles.itemChevronDown) } iconName='chevronDown' />\r\n ) : (null) }\r\n </button>;\r\n } else if (item.href) {\r\n return <a\r\n { ...getNativeProps(item, anchorProperties) }\r\n id={ this._id + item.key }\r\n className={ className }\r\n href={ item.href }\r\n data-command-key={ index }\r\n aria-haspopup={ hasSubmenuItems(item) }\r\n role='menuitem'\r\n aria-label={ item.ariaLabel || item.name }\r\n >\r\n { (hasIcon) ? this._renderIcon(item) : (null) }\r\n { (!!item.name) && (\r\n <span\r\n className={ css('ms-CommandBarItem-commandText', styles.itemCommandText) }\r\n >\r\n { item.name }\r\n </span>\r\n ) }\r\n </a>;\r\n } else {\r\n return <div\r\n { ...getNativeProps(item, divProperties) }\r\n id={ this._id + item.key }\r\n className={ className }\r\n data-command-key={ index }\r\n aria-haspopup={ hasSubmenuItems(item) }\r\n >\r\n { (hasIcon) ? this._renderIcon(item) : (null) }\r\n <span className={ css(\r\n 'ms-CommandBarItem-commandText', styles.itemCommandText) } aria-hidden='true' role='presentation'>{ item.name }</span>\r\n </div>;\r\n }\r\n })() }\r\n </div>;\r\n }\r\n\r\n private _renderIcon(item: IContextualMenuItem) {\r\n // Only present to allow continued use of item.icon which is deprecated.\r\n let iconProps: IIconProps = item.iconProps ? item.iconProps : {\r\n iconName: item.icon as IconName\r\n };\r\n // Use the default icon color for the known icon names\r\n let iconColorClassName = iconProps.iconName === 'None' ? '' : ('ms-CommandBarItem-iconColor ' + styles.itemIconColor);\r\n let iconClassName = css('ms-CommandBarItem-icon', styles.itemIcon, iconColorClassName, iconProps.className);\r\n\r\n return <Icon { ...iconProps } className={ iconClassName } />;\r\n }\r\n\r\n private _updateItemMeasurements() {\r\n // the generated width for overflow is 35 in chrome, 38 in IE, but the actual value is 41.5\r\n if (this.refs[OVERFLOW_KEY] || (this.props.overflowItems && this.props.overflowItems.length)) {\r\n this._overflowWidth = OVERFLOW_WIDTH;\r\n } else {\r\n this._overflowWidth = 0;\r\n }\r\n\r\n if (!this._commandItemWidths) {\r\n this._commandItemWidths = {};\r\n }\r\n\r\n for (let i = 0; i < this.props.items.length; i++) {\r\n let item = this.props.items[i];\r\n\r\n if (!this._commandItemWidths[item.key]) {\r\n let el = this.refs[item.key] as HTMLElement;\r\n\r\n if (el) {\r\n this._commandItemWidths[item.key] = el.getBoundingClientRect().width;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _updateRenderedItems() {\r\n let { items, overflowItems } = this.props;\r\n let commandSurface = this.refs.commandSurface;\r\n let farCommandSurface = this.refs.farCommandSurface;\r\n let commandBarRegion = this.refs.commandBarRegion;\r\n let searchSurface = this.refs.searchSurface;\r\n let renderedItems = [].concat(items);\r\n let renderedOverflowItems = overflowItems;\r\n let consumedWidth = 0;\r\n let isOverflowVisible = overflowItems && overflowItems.length;\r\n\r\n let style = window.getComputedStyle(commandSurface);\r\n let availableWidth = commandBarRegion.clientWidth - parseInt(style.marginLeft, 10) - parseInt(style.marginRight, 10);\r\n if (searchSurface) {\r\n availableWidth -= searchSurface.getBoundingClientRect().width;\r\n }\r\n if (farCommandSurface) {\r\n availableWidth -= farCommandSurface.getBoundingClientRect().width;\r\n }\r\n\r\n if (isOverflowVisible) {\r\n availableWidth -= this._overflowWidth;\r\n }\r\n\r\n for (let i = 0; i < renderedItems.length; i++) {\r\n let item = renderedItems[i];\r\n let itemWidth = this._commandItemWidths[item.key];\r\n\r\n if ((consumedWidth + itemWidth) >= availableWidth) {\r\n if (i > 0 && !isOverflowVisible && (availableWidth - consumedWidth) < OVERFLOW_WIDTH) {\r\n i--;\r\n }\r\n\r\n renderedOverflowItems = renderedItems.splice(i).concat(overflowItems);\r\n break;\r\n } else {\r\n consumedWidth += itemWidth;\r\n }\r\n\r\n }\r\n\r\n let renderedContextualMenuProps = this._getContextualMenuPropsAfterUpdate(\r\n renderedItems.concat(this.state.renderedFarItems),\r\n renderedOverflowItems);\r\n\r\n this.setState({\r\n renderedItems: renderedItems,\r\n renderedOverflowItems: renderedOverflowItems,\r\n expandedMenuItemKey: renderedContextualMenuProps ? this.state.expandedMenuItemKey : null,\r\n contextualMenuProps: renderedContextualMenuProps,\r\n contextualMenuTarget: renderedContextualMenuProps ? this.state.contextualMenuTarget : null\r\n });\r\n }\r\n\r\n private _onItemClick(ev, item) {\r\n if (item.key === this.state.expandedMenuItemKey || !hasSubmenuItems(item)) {\r\n this._onContextMenuDismiss();\r\n } else {\r\n this.setState({\r\n expandedMenuId: ev.currentTarget.id,\r\n expandedMenuItemKey: item.key,\r\n contextualMenuProps: this._getContextualMenuPropsFromItem(item),\r\n contextualMenuTarget: ev.currentTarget\r\n });\r\n }\r\n if (item.onClick) {\r\n item.onClick(ev, item);\r\n }\r\n }\r\n\r\n @autobind\r\n private _onOverflowClick(ev) {\r\n if (this.state.expandedMenuItemKey === OVERFLOW_KEY) {\r\n this._onContextMenuDismiss();\r\n } else {\r\n this.setState({\r\n expandedMenuId: ev.currentTarget.id,\r\n expandedMenuItemKey: OVERFLOW_KEY,\r\n contextualMenuProps: { items: this.state.renderedOverflowItems },\r\n contextualMenuTarget: ev.currentTarget\r\n });\r\n }\r\n }\r\n\r\n @autobind\r\n private _onContextMenuDismiss(ev?: any) {\r\n if (!ev || !ev.relatedTarget || !this.refs.commandSurface.contains(ev.relatedTarget as HTMLElement)) {\r\n let { contextualMenuProps } = this.state;\r\n\r\n if (contextualMenuProps && contextualMenuProps.onDismiss) {\r\n this.state.contextualMenuProps.onDismiss(ev);\r\n }\r\n\r\n this.setState({\r\n expandedMenuItemKey: null,\r\n contextualMenuProps: null,\r\n contextualMenuTarget: null\r\n });\r\n } else {\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n }\r\n }\r\n\r\n private _getStateFromProps(nextProps: ICommandBarProps) {\r\n return {\r\n renderedItems: nextProps.items || [],\r\n renderedOverflowItems: null,\r\n contextualMenuProps: this._getContextualMenuPropsAfterUpdate(\r\n nextProps.items.concat(nextProps.farItems),\r\n nextProps.overflowItems),\r\n renderedFarItems: nextProps.farItems || null\r\n };\r\n }\r\n\r\n private _getContextualMenuPropsAfterUpdate(renderedItems: IContextualMenuItem[], overflowItems: IContextualMenuItem[]) {\r\n if (this.state && this.state.expandedMenuItemKey) {\r\n if (this.state.expandedMenuItemKey === OVERFLOW_KEY) {\r\n // Keep the overflow menu open\r\n return { items: overflowItems };\r\n } else {\r\n // Find the currently open key in the new props\r\n let matchingItem = renderedItems.filter(item => item.key === this.state.expandedMenuItemKey);\r\n\r\n if (matchingItem.length === 1) {\r\n return this._getContextualMenuPropsFromItem(matchingItem[0]);\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _getContextualMenuPropsFromItem(item: IContextualMenuItem) {\r\n return item.subMenuProps || (item.items && { items: item.items });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/CommandBar/CommandBar.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_0456bec6',\r\n primaryCommands: 'primaryCommands_0456bec6',\r\n sideCommands: 'sideCommands_0456bec6',\r\n item: 'item_0456bec6',\r\n itemChevronDown: 'itemChevronDown_0456bec6',\r\n itemCommandText: 'itemCommandText_0456bec6',\r\n itemText: 'itemText_0456bec6',\r\n itemLinkIsNoName: 'itemLinkIsNoName_0456bec6',\r\n itemLink: 'itemLink_0456bec6',\r\n itemLinkIsExpanded: 'itemLinkIsExpanded_0456bec6',\r\n itemIcon: 'itemIcon_0456bec6',\r\n itemOverflow: 'itemOverflow_0456bec6',\r\n itemIconColor: 'itemIconColor_0456bec6',\r\n search: 'search_0456bec6',\r\n searchInput: 'searchInput_0456bec6',\r\n searchIconSearchWrapper: 'searchIconSearchWrapper_0456bec6',\r\n searchIconArrowWrapper: 'searchIconArrowWrapper_0456bec6',\r\n searchIconClearWrapper: 'searchIconClearWrapper_0456bec6',\r\n searchIconWrapper: 'searchIconWrapper_0456bec6',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_0456bec6{font-size:14px;font-weight:400;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";position:relative;background-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\";height:40px;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.primaryCommands_0456bec6{position:absolute;overflow:hidden;display:inline;vertical-align:top;line-height:40px;max-width:100%;margin:0 20px}.sideCommands_0456bec6{position:absolute}[dir=ltr] .sideCommands_0456bec6{right:0}[dir=rtl] .sideCommands_0456bec6{left:0}html[dir=ltr] .sideCommands_0456bec6{text-align:right}html[dir=rtl] .sideCommands_0456bec6{text-align:left}html[dir=ltr] .sideCommands_0456bec6{padding-right:20px}html[dir=rtl] .sideCommands_0456bec6{padding-left:20px}.item_0456bec6{display:inline-block;color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";height:40px;outline:transparent;vertical-align:top;margin:0 4px}.item_0456bec6:hover{background-color:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\";color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\"}.itemChevronDown_0456bec6,.itemCommandText_0456bec6{display:inline-block;padding:0 4px;vertical-align:top}.itemText_0456bec6{font-size:14px;font-weight:400;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";position:relative;background:0 0;border:none;line-height:40px;min-width:20px;text-align:center;padding:0 4px;display:block;height:100%}.itemText_0456bec6::-moz-focus-inner{border:0}.itemText_0456bec6{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .itemText_0456bec6:focus:after{content:'';position:absolute;top:2px;right:2px;bottom:2px;left:2px;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}.itemText_0456bec6.itemLinkIsNoName_0456bec6{padding:0 8px}.itemLink_0456bec6{font-size:14px;font-weight:400;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";position:relative;background:0 0;border:none;line-height:40px;min-width:20px;text-align:center;padding:0 4px;display:block;height:100%;cursor:pointer}.itemLink_0456bec6::-moz-focus-inner{border:0}.itemLink_0456bec6{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .itemLink_0456bec6:focus:after{content:'';position:absolute;top:2px;right:2px;bottom:2px;left:2px;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}.itemLink_0456bec6.itemLinkIsNoName_0456bec6{padding:0 8px}@media screen and (-ms-high-contrast:active){.itemLink_0456bec6.itemLinkIsExpanded_0456bec6::-moz-focus-inner,.itemLink_0456bec6:hover::-moz-focus-inner{border:0}.itemLink_0456bec6.itemLinkIsExpanded_0456bec6,.itemLink_0456bec6:hover{outline:transparent;position:relative}.itemLink_0456bec6.itemLinkIsExpanded_0456bec6::after,.itemLink_0456bec6:hover::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.itemLink_0456bec6.itemLinkIsExpanded_0456bec6::-moz-focus-inner,.itemLink_0456bec6:hover::-moz-focus-inner{border:0}.itemLink_0456bec6.itemLinkIsExpanded_0456bec6,.itemLink_0456bec6:hover{outline:transparent;position:relative}.itemLink_0456bec6.itemLinkIsExpanded_0456bec6::after,.itemLink_0456bec6:hover::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}.itemLink_0456bec6:hover:not([disabled]){color:\"},{\"theme\":\"neutralDark\",\"defaultValue\":\"#212121\"},{\"rawString\":\";background-color:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}.itemLink_0456bec6:hover:not([disabled]) .itemIcon_0456bec6{color:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\"}.itemLink_0456bec6:hover:not([disabled]) .itemChevronDown_0456bec6{color:\"},{\"theme\":\"neutralPrimaryAlt\",\"defaultValue\":\"#3c3c3c\"},{\"rawString\":\"}.itemLink_0456bec6:hover:not([disabled]) .itemOverflow_0456bec6{color:\"},{\"theme\":\"neutralDark\",\"defaultValue\":\"#212121\"},{\"rawString\":\"}.itemLink_0456bec6.itemLinkIsExpanded_0456bec6{background-color:\"},{\"theme\":\"neutralQuaternaryAlt\",\"defaultValue\":\"#dadada\"},{\"rawString\":\";color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}.itemLink_0456bec6.itemLinkIsExpanded_0456bec6 .itemIcon_0456bec6{color:\"},{\"theme\":\"themeDarker\",\"defaultValue\":\"#004578\"},{\"rawString\":\"}.itemLink_0456bec6.itemLinkIsExpanded_0456bec6 .itemChevronDown_0456bec6{color:\"},{\"theme\":\"neutralDark\",\"defaultValue\":\"#212121\"},{\"rawString\":\"}.itemLink_0456bec6.itemLinkIsExpanded_0456bec6 .itemOverflow_0456bec6{color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}.itemLink_0456bec6.itemLinkIsExpanded_0456bec6:hover{background-color:\"},{\"theme\":\"neutralQuaternary\",\"defaultValue\":\"#d0d0d0\"},{\"rawString\":\"}.itemLink_0456bec6[disabled]{color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\";cursor:default;pointer-events:none}.itemLink_0456bec6[disabled] .itemIcon_0456bec6{color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}.itemIcon_0456bec6{font-size:16px;padding:0 4px}.itemIconColor_0456bec6{color:\"},{\"theme\":\"themeDarkAlt\",\"defaultValue\":\"#106ebe\"},{\"rawString\":\"}.itemChevronDown_0456bec6{color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\";font-size:12px}.itemOverflow_0456bec6{font-size:18px;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";padding:0 7px}.search_0456bec6{width:208px;max-width:208px;background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";height:40px;position:relative;box-sizing:border-box;border-color:transparent}html[dir=ltr] .search_0456bec6{float:left}html[dir=rtl] .search_0456bec6{float:right}html[dir=ltr] .search_0456bec6{border-right:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}html[dir=rtl] .search_0456bec6{border-left:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.search_0456bec6{z-index:10}html[dir=ltr] .search_0456bec6{border-right:1px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}html[dir=rtl] .search_0456bec6{border-left:1px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){html[dir=ltr] .search_0456bec6{border-right:1px solid \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}html[dir=rtl] .search_0456bec6{border-left:1px solid \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}.search_0456bec6:before{position:absolute;content:' ';right:0;bottom:0;left:0;margin:0 8px;border-bottom:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}.search_0456bec6:hover{color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.search_0456bec6:hover::-moz-focus-inner{border:0}.search_0456bec6:hover{outline:transparent;position:relative}.search_0456bec6:hover::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.search_0456bec6:hover::-moz-focus-inner{border:0}.search_0456bec6:hover{outline:transparent;position:relative}.search_0456bec6:hover::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}.searchInput_0456bec6{height:40px;padding:8px 8px 8px 0;border:none;background-color:transparent;width:100%;box-sizing:border-box;outline:0;cursor:pointer;font-size:14px;-webkit-appearance:none;-webkit-border-radius:0}html[dir=ltr] .searchInput_0456bec6{border-left:42px solid transparent}html[dir=rtl] .searchInput_0456bec6{border-right:42px solid transparent}@media screen and (-ms-high-contrast:active){html[dir=ltr] .searchInput_0456bec6{border-left:40px solid \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}html[dir=rtl] .searchInput_0456bec6{border-right:40px solid \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){html[dir=ltr] .searchInput_0456bec6{border-left:40px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}html[dir=rtl] .searchInput_0456bec6{border-right:40px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}.searchInput_0456bec6::-ms-clear{display:none}.searchIconSearchWrapper_0456bec6{display:block}.searchIconArrowWrapper_0456bec6{display:none}.searchIconArrowWrapper_0456bec6,.searchIconSearchWrapper_0456bec6{top:0}[dir=ltr] .searchIconArrowWrapper_0456bec6,[dir=ltr] .searchIconSearchWrapper_0456bec6{padding-left:17px}[dir=rtl] .searchIconArrowWrapper_0456bec6,[dir=rtl] .searchIconSearchWrapper_0456bec6{padding-right:17px}html[dir=ltr] .searchIconArrowWrapper_0456bec6,html[dir=ltr] .searchIconSearchWrapper_0456bec6{padding-right:8px}html[dir=rtl] .searchIconArrowWrapper_0456bec6,html[dir=rtl] .searchIconSearchWrapper_0456bec6{padding-left:8px}.searchIconClearWrapper_0456bec6{display:none;top:1px;z-index:10}[dir=ltr] .searchIconClearWrapper_0456bec6{right:0}[dir=rtl] .searchIconClearWrapper_0456bec6{left:0}.searchIconWrapper_0456bec6{height:40px;line-height:40px;cursor:pointer;position:absolute;text-align:center}.search_0456bec6 .ms-Icon:before{font-size:16px;color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.searchInput_0456bec6,.searchInput_0456bec6::-webkit-input-placeholder{font-size:14px}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/CommandBar/CommandBar.scss.ts","export * from './components/DatePicker/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/DatePicker.ts","export * from './DatePicker';\r\nexport * from './DatePicker.Props';\r\nexport * from '../Calendar/Calendar.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DatePicker/index.ts","import * as React from 'react';\r\nimport {\r\n IDatePickerProps,\r\n IDatePickerStrings\r\n} from './DatePicker.Props';\r\nimport {\r\n Calendar,\r\n DayOfWeek\r\n} from '../../Calendar';\r\nimport { Callout } from '../../Callout';\r\nimport { DirectionalHint } from '../../common/DirectionalHint';\r\nimport { TextField } from '../../TextField';\r\nimport {\r\n autobind,\r\n BaseComponent,\r\n KeyCodes,\r\n css\r\n} from '../../Utilities';\r\nimport { compareDates } from '../../utilities/dateMath/DateMath';\r\nimport * as stylesImport from './DatePicker.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IDatePickerState {\r\n /** The currently focused date in the drop down, but not necessarily selected */\r\n navigatedDate?: Date;\r\n selectedDate?: Date;\r\n formattedDate?: string;\r\n isDatePickerShown?: boolean;\r\n errorMessage?: string;\r\n}\r\n\r\nconst DEFAULT_STRINGS: IDatePickerStrings = {\r\n months: [\r\n 'January',\r\n 'February',\r\n 'March',\r\n 'April',\r\n 'May',\r\n 'June',\r\n 'July',\r\n 'August',\r\n 'September',\r\n 'October',\r\n 'November',\r\n 'December'\r\n ],\r\n\r\n shortMonths: [\r\n 'Jan',\r\n 'Feb',\r\n 'Mar',\r\n 'Apr',\r\n 'May',\r\n 'Jun',\r\n 'Jul',\r\n 'Aug',\r\n 'Sep',\r\n 'Oct',\r\n 'Nov',\r\n 'Dec'\r\n ],\r\n\r\n days: [\r\n 'Sunday',\r\n 'Monday',\r\n 'Tuesday',\r\n 'Wednesday',\r\n 'Thursday',\r\n 'Friday',\r\n 'Saturday'\r\n ],\r\n\r\n shortDays: [\r\n 'S',\r\n 'M',\r\n 'T',\r\n 'W',\r\n 'T',\r\n 'F',\r\n 'S'\r\n ],\r\n\r\n goToToday: 'Go to today',\r\n prevMonthAriaLabel: 'Go to previous month',\r\n nextMonthAriaLabel: 'Go to next month',\r\n prevYearAriaLabel: 'Go to previous year',\r\n nextYearAriaLabel: 'Go to next year'\r\n};\r\n\r\nexport class DatePicker extends BaseComponent<IDatePickerProps, IDatePickerState> {\r\n public static defaultProps: IDatePickerProps = {\r\n allowTextInput: false,\r\n formatDate: (date: Date) => {\r\n if (date) {\r\n return date.toDateString();\r\n }\r\n\r\n return '';\r\n },\r\n parseDateFromString: (dateStr: string) => {\r\n const date = Date.parse(dateStr);\r\n if (date) {\r\n return new Date(date);\r\n }\r\n\r\n return null;\r\n },\r\n firstDayOfWeek: DayOfWeek.Sunday,\r\n isRequired: false,\r\n isMonthPickerVisible: true,\r\n strings: DEFAULT_STRINGS,\r\n borderless: false,\r\n pickerAriaLabel: 'Calender',\r\n };\r\n\r\n public refs: {\r\n [key: string]: React.ReactInstance;\r\n root: HTMLElement;\r\n textField: TextField;\r\n };\r\n\r\n private _calendar: Calendar;\r\n private _datepicker: HTMLDivElement;\r\n private _preventFocusOpeningPicker: boolean;\r\n private _focusOnSelectedDateOnUpdate: boolean;\r\n\r\n constructor(props: IDatePickerProps) {\r\n super();\r\n\r\n let { formatDate, value } = props;\r\n\r\n this.state = {\r\n selectedDate: value || new Date(),\r\n formattedDate: (formatDate && value) ? formatDate(value) : '',\r\n isDatePickerShown: false,\r\n errorMessage: null\r\n };\r\n\r\n this._preventFocusOpeningPicker = false;\r\n }\r\n\r\n public componentWillReceiveProps(nextProps: IDatePickerProps) {\r\n let { formatDate, isRequired, strings, value } = nextProps;\r\n const errorMessage = (isRequired && !value) ? (strings.isRequiredErrorMessage || '*') : null;\r\n\r\n // Set error message\r\n this.setState({\r\n errorMessage: errorMessage\r\n });\r\n\r\n // Issue# 1274: Check if the date value changed from old props value, i.e., if indeed a new date is being\r\n // passed in or if the formatting function was modified. We only update the selected date if either of these\r\n // had a legit change. Note tha the bug will still repro when only the formatDate was passed in props and this\r\n // is the result of the onSelectDate callback, but this should be a rare scenario.\r\n let oldValue = this.props.value;\r\n if (!compareDates(oldValue, value) || this.props.formatDate !== formatDate) {\r\n this.setState({\r\n selectedDate: value || new Date(),\r\n formattedDate: (formatDate && value) ? formatDate(value) : '',\r\n });\r\n }\r\n }\r\n\r\n public render() {\r\n const {\r\n firstDayOfWeek,\r\n strings,\r\n label,\r\n isRequired,\r\n disabled,\r\n ariaLabel,\r\n pickerAriaLabel,\r\n placeholder,\r\n allowTextInput,\r\n borderless,\r\n className\r\n } = this.props;\r\n const { isDatePickerShown, formattedDate, selectedDate, errorMessage } = this.state;\r\n\r\n return (\r\n <div className={ css('ms-DatePicker', styles.root, className) } ref='root'>\r\n <div ref={ (c): HTMLElement => this._datepicker = c }>\r\n <TextField\r\n className={ styles.textField }\r\n ariaLabel={ ariaLabel }\r\n aria-haspopup='true'\r\n aria-expanded={ isDatePickerShown }\r\n required={ isRequired }\r\n disabled={ disabled }\r\n onKeyDown={ this._onTextFieldKeyDown }\r\n onFocus={ this._onTextFieldFocus }\r\n onBlur={ this._onTextFieldBlur }\r\n onClick={ this._onTextFieldClick }\r\n onChanged={ this._onTextFieldChanged }\r\n errorMessage={ errorMessage }\r\n label={ label }\r\n placeholder={ placeholder }\r\n borderless={ borderless }\r\n iconProps={ {\r\n iconName: 'calendar',\r\n className: css(\r\n label ? 'ms-DatePicker-event--with-label' : 'ms-DatePicker-event--without-label',\r\n label ? styles.eventWithLabel : styles.eventWithoutLabel\r\n )\r\n } }\r\n readOnly={ !allowTextInput }\r\n value={ formattedDate }\r\n ref='textField' />\r\n </div>\r\n { isDatePickerShown && (\r\n <Callout\r\n role='dialog'\r\n ariaLabel={ pickerAriaLabel }\r\n isBeakVisible={ false }\r\n className={ css('ms-DatePicker-callout') }\r\n gapSpace={ 0 }\r\n doNotLayer={ false }\r\n targetElement={ this._datepicker }\r\n directionalHint={ DirectionalHint.bottomLeftEdge }\r\n onDismiss={ this._calendarDismissed }\r\n onPositioned={ this._onCalloutPositioned }\r\n >\r\n <Calendar\r\n onSelectDate={ this._onSelectDate }\r\n onDismiss={ this._calendarDismissed }\r\n isMonthPickerVisible={ this.props.isMonthPickerVisible }\r\n value={ selectedDate }\r\n firstDayOfWeek={ firstDayOfWeek }\r\n strings={ strings }\r\n ref={ this._resolveRef('_calendar') }\r\n >\r\n </Calendar>\r\n </Callout>\r\n ) }\r\n </div>\r\n );\r\n }\r\n\r\n @autobind\r\n private _onSelectDate(date: Date) {\r\n let { formatDate, onSelectDate } = this.props;\r\n\r\n this.setState({\r\n selectedDate: date,\r\n isDatePickerShown: false,\r\n formattedDate: formatDate && date ? formatDate(date) : '',\r\n });\r\n\r\n if (onSelectDate) {\r\n onSelectDate(date);\r\n }\r\n }\r\n\r\n @autobind\r\n private _onCalloutPositioned() {\r\n this._calendar.focus();\r\n }\r\n\r\n @autobind\r\n private _onTextFieldFocus(ev: React.FocusEvent<HTMLElement>) {\r\n if (this.props.disableAutoFocus) {\r\n return;\r\n }\r\n\r\n if (!this.props.allowTextInput) {\r\n if (!this._preventFocusOpeningPicker) {\r\n this._showDatePickerPopup();\r\n } else {\r\n this._preventFocusOpeningPicker = false;\r\n }\r\n }\r\n }\r\n\r\n @autobind\r\n private _onTextFieldBlur(ev: React.FocusEvent<HTMLElement>) {\r\n this._validateTextInput();\r\n }\r\n\r\n @autobind\r\n private _onTextFieldChanged(newValue: string) {\r\n if (this.props.allowTextInput) {\r\n if (this.state.isDatePickerShown) {\r\n this._dismissDatePickerPopup();\r\n }\r\n\r\n let { isRequired, value, strings } = this.props;\r\n\r\n this.setState({\r\n errorMessage: (isRequired && !value) ? (strings.isRequiredErrorMessage || '*') : null,\r\n formattedDate: newValue\r\n });\r\n }\r\n }\r\n\r\n @autobind\r\n private _onTextFieldKeyDown(ev: React.KeyboardEvent<HTMLElement>) {\r\n switch (ev.which) {\r\n case KeyCodes.enter:\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n if (!this.state.isDatePickerShown) {\r\n this._showDatePickerPopup();\r\n } else {\r\n // When DatePicker allows input date string directly,\r\n // it is expected to hit another enter to close the popup\r\n if (this.props.allowTextInput) {\r\n this._dismissDatePickerPopup();\r\n }\r\n }\r\n break;\r\n\r\n case KeyCodes.escape:\r\n this._handleEscKey(ev);\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n @autobind\r\n private _onTextFieldClick(ev: React.MouseEvent<HTMLElement>) {\r\n if (!this.state.isDatePickerShown) {\r\n this._showDatePickerPopup();\r\n } else {\r\n if (this.props.allowTextInput) {\r\n this.setState({\r\n isDatePickerShown: false\r\n });\r\n }\r\n }\r\n }\r\n\r\n private _showDatePickerPopup() {\r\n if (!this.state.isDatePickerShown) {\r\n this._preventFocusOpeningPicker = true;\r\n this._focusOnSelectedDateOnUpdate = true;\r\n this.setState({\r\n isDatePickerShown: true,\r\n navigatedDate: this.state.selectedDate,\r\n errorMessage: ''\r\n });\r\n }\r\n }\r\n\r\n @autobind\r\n private _dismissDatePickerPopup() {\r\n if (this.state.isDatePickerShown) {\r\n this.setState({\r\n isDatePickerShown: false\r\n });\r\n\r\n this._validateTextInput();\r\n }\r\n }\r\n\r\n /**\r\n * Callback for closing the calendar callout\r\n */\r\n @autobind\r\n private _calendarDismissed() {\r\n this._preventFocusOpeningPicker = true;\r\n this._dismissDatePickerPopup();\r\n\r\n if (this.refs.textField) {\r\n this.refs.textField.focus();\r\n }\r\n }\r\n\r\n @autobind\r\n private _handleEscKey(ev: React.KeyboardEvent<HTMLElement>) {\r\n this._calendarDismissed();\r\n }\r\n\r\n @autobind\r\n private _validateTextInput() {\r\n let { isRequired, allowTextInput, strings, formatDate, parseDateFromString, onSelectDate } = this.props;\r\n const inputValue: string = this.state.formattedDate;\r\n\r\n // Do validation only if DatePicker's popup is dismissed\r\n if (this.state.isDatePickerShown) {\r\n return;\r\n }\r\n\r\n // Check when DatePicker is a required field but has NO input value\r\n if (isRequired && !inputValue) {\r\n this.setState({\r\n // Since fabic react doesn't have loc support yet\r\n // use the symbol '*' to represent error message\r\n errorMessage: strings.isRequiredErrorMessage || '*'\r\n });\r\n return;\r\n }\r\n\r\n if (allowTextInput) {\r\n let date = null;\r\n if (inputValue) {\r\n date = parseDateFromString(inputValue);\r\n if (!date) {\r\n this.setState({\r\n errorMessage: strings.invalidInputErrorMessage || '*'\r\n });\r\n } else {\r\n this.setState({\r\n selectedDate: date,\r\n errorMessage: ''\r\n });\r\n }\r\n } else {\r\n // No input date string shouldn't be an error if field is not required\r\n this.setState({\r\n errorMessage: ''\r\n });\r\n }\r\n\r\n // Execute onSelectDate callback\r\n if (onSelectDate) {\r\n // If no input date string or input date string is invalid\r\n // date variable will be null, callback should expect null value for this case\r\n onSelectDate(date);\r\n }\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DatePicker/DatePicker.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_13226a93',\r\n textField: 'textField_13226a93',\r\n eventWithLabel: 'eventWithLabel_13226a93',\r\n eventWithoutLabel: 'eventWithoutLabel_13226a93',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_13226a93{box-sizing:border-box;box-shadow:none;margin:0;padding:0;margin-bottom:17px}.textField_13226a93{position:relative}.textField_13226a93 input::-ms-clear{display:none}.textField_13226a93 input[readonly]{cursor:pointer}.eventWithLabel_13226a93{color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\";font-size:20px;line-height:20px;pointer-events:none;position:absolute;bottom:5px}[dir=ltr] .eventWithLabel_13226a93{right:9px}[dir=rtl] .eventWithLabel_13226a93{left:9px}.eventWithoutLabel_13226a93{color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\";font-size:20px;line-height:20px;pointer-events:none;position:absolute;top:7px}[dir=ltr] .eventWithoutLabel_13226a93{right:9px}[dir=rtl] .eventWithoutLabel_13226a93{left:9px}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DatePicker/DatePicker.scss.ts","export * from './components/DetailsList/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/DetailsList.ts","export * from '../../utilities/selection/index';\r\nexport * from '../GroupedList/GroupedList.Props';\r\nexport * from './DetailsList';\r\nexport * from './DetailsList.Props';\r\nexport * from './DetailsRow';\r\nexport * from './DetailsRowCheck';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DetailsList/index.ts","export * from './interfaces';\r\nexport * from './Selection';\r\nexport * from './SelectionLayout';\r\nexport * from './SelectionZone';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/utilities/selection/index.ts","export interface IObjectWithKey {\r\n key?: string;\r\n}\r\n\r\nexport const SELECTION_CHANGE = 'change';\r\n\r\nexport enum SelectionMode {\r\n none = 0,\r\n single = 1,\r\n multiple = 2\r\n}\r\n\r\nexport interface ISelection {\r\n count: number;\r\n canSelectItem?: (item: IObjectWithKey) => boolean;\r\n\r\n // Obesrvable methods.\r\n setChangeEvents(isEnabled: boolean, suppressChange?: boolean);\r\n\r\n // Initialization methods.\r\n\r\n setItems(items: IObjectWithKey[], shouldClear: boolean);\r\n getItems(): IObjectWithKey[];\r\n\r\n // Read selection methods.\r\n\r\n getSelection(): IObjectWithKey[];\r\n getSelectedCount(): number;\r\n isRangeSelected(fromIndex: number, count: number): boolean;\r\n\r\n isAllSelected(): boolean;\r\n isKeySelected(key: string): boolean;\r\n isIndexSelected(index: number): boolean;\r\n\r\n // Write selection methods.\r\n\r\n setAllSelected(isAllSelected: boolean);\r\n setKeySelected(key: string, isSelected: boolean, shouldAnchor: boolean);\r\n setIndexSelected(index: number, isSelected: boolean, shouldAnchor: boolean);\r\n\r\n // Write range selection methods.\r\n\r\n selectToKey(key: string, clearSelection?: boolean);\r\n selectToIndex(index: number, clearSelection?: boolean);\r\n\r\n // Toggle helpers.\r\n\r\n toggleAllSelected();\r\n toggleKeySelected(key: string);\r\n toggleIndexSelected(index: number);\r\n toggleRangeSelected(fromIndex: number, count: number);\r\n}\r\n\r\nexport interface ISelectionLayout {\r\n getItemIndexAbove(index: number, items: any[]): number;\r\n getItemIndexBelow(index: number, items: any[]): number;\r\n getItemIndexLeft(index: number, items: any[]): number;\r\n getItemIndexRight(index: number, items: any[]): number;\r\n}\r\n\r\nexport enum SelectionDirection {\r\n horizontal = 0,\r\n vertical = 1\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/utilities/selection/interfaces.ts","import { IObjectWithKey, ISelection, SELECTION_CHANGE } from './interfaces';\r\nimport { EventGroup } from '../../Utilities';\r\n\r\nexport interface ISelectionOptions {\r\n onSelectionChanged?: () => void;\r\n getKey?: (item: IObjectWithKey, index?: number) => string;\r\n canSelectItem?: (item: IObjectWithKey) => boolean;\r\n}\r\n\r\nexport class Selection implements ISelection {\r\n public count: number;\r\n public getKey: (item: IObjectWithKey, index?: number) => string;\r\n public canSelectItem: (item: IObjectWithKey) => boolean;\r\n\r\n private _changeEventSuppressionCount: number;\r\n private _items: IObjectWithKey[];\r\n private _selectedItems: IObjectWithKey[];\r\n private _isAllSelected: boolean;\r\n private _exemptedIndices: { [index: string]: boolean };\r\n private _exemptedCount: number;\r\n private _keyToIndexMap: { [key: string]: number };\r\n private _anchoredIndex: number;\r\n private _onSelectionChanged: () => void;\r\n private _hasChanged: boolean;\r\n private _unselectableIndices: { [index: string]: boolean };\r\n private _unselectableCount: number;\r\n\r\n constructor(options: ISelectionOptions = {}) {\r\n let {\r\n onSelectionChanged,\r\n getKey,\r\n canSelectItem = (item: IObjectWithKey) => { return true; }\r\n } = options;\r\n this.getKey = getKey || ((item: IObjectWithKey, index?: number) => (item ? item.key : String(index)));\r\n\r\n this._changeEventSuppressionCount = 0;\r\n this._exemptedCount = 0;\r\n this._anchoredIndex = 0;\r\n this._unselectableCount = 0;\r\n this.setItems([], true);\r\n\r\n this._onSelectionChanged = onSelectionChanged;\r\n this.canSelectItem = canSelectItem;\r\n }\r\n\r\n public setChangeEvents(isEnabled: boolean, suppressChange?: boolean) {\r\n this._changeEventSuppressionCount += isEnabled ? -1 : 1;\r\n\r\n if (this._changeEventSuppressionCount === 0 && this._hasChanged) {\r\n this._hasChanged = false;\r\n\r\n if (!suppressChange) {\r\n this._change();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Selection needs the items, call this method to set them. If the set\r\n * of items is the same, this will re-evaluate selection and index maps.\r\n * Otherwise, shouldClear should be set to true, so that selection is\r\n * cleared.\r\n */\r\n public setItems(items: IObjectWithKey[], shouldClear = true) {\r\n let newKeyToIndexMap: { [key: string]: number } = {};\r\n let newUnselectableIndices: { [key: string]: boolean } = {};\r\n let hasSelectionChanged = false;\r\n\r\n this.setChangeEvents(false);\r\n\r\n // Reset the unselectable count.\r\n this._unselectableCount = 0;\r\n\r\n // Build lookup table for quick selection evaluation.\r\n for (let i = 0; i < items.length; i++) {\r\n let item = items[i];\r\n\r\n if (item) {\r\n newKeyToIndexMap[this.getKey(item, i)] = i;\r\n }\r\n\r\n newUnselectableIndices[i] = item && !this.canSelectItem(item);\r\n if (newUnselectableIndices[i]) {\r\n this._unselectableCount++;\r\n }\r\n }\r\n\r\n if (shouldClear) {\r\n this.setAllSelected(false);\r\n }\r\n\r\n // Check the exemption list for discrepencies.\r\n let newExemptedIndicies: { [key: string]: boolean } = {};\r\n\r\n for (let indexProperty in this._exemptedIndices) {\r\n if (this._exemptedIndices.hasOwnProperty(indexProperty)) {\r\n let index = Number(indexProperty);\r\n let item = this._items[index];\r\n let exemptKey = item ? this.getKey(item, Number(index)) : undefined;\r\n let newIndex = exemptKey ? newKeyToIndexMap[exemptKey] : index;\r\n\r\n if (newIndex === undefined) {\r\n // We don't know the index of the item any more so it's either moved or removed.\r\n // In this case we reset the entire selection.\r\n this.setAllSelected(false);\r\n break;\r\n } else {\r\n // We know the new index of the item. update the existing exemption table.\r\n newExemptedIndicies[newIndex] = true;\r\n hasSelectionChanged = hasSelectionChanged || (newIndex !== index);\r\n }\r\n }\r\n }\r\n\r\n this._exemptedIndices = newExemptedIndicies;\r\n this._keyToIndexMap = newKeyToIndexMap;\r\n this._unselectableIndices = newUnselectableIndices;\r\n this._items = items || [];\r\n\r\n if (hasSelectionChanged) {\r\n this._change();\r\n }\r\n\r\n this.setChangeEvents(true);\r\n }\r\n\r\n public getItems(): IObjectWithKey[] {\r\n return this._items;\r\n }\r\n\r\n public getSelection(): IObjectWithKey[] {\r\n if (!this._selectedItems) {\r\n this._selectedItems = [];\r\n\r\n for (let i = 0; i < this._items.length; i++) {\r\n if (this.isIndexSelected(i)) {\r\n this._selectedItems.push(this._items[i]);\r\n }\r\n }\r\n }\r\n\r\n return this._selectedItems;\r\n }\r\n\r\n public getSelectedCount(): number {\r\n return this._isAllSelected ? (this._items.length - this._exemptedCount - this._unselectableCount) : (this._exemptedCount);\r\n }\r\n\r\n public isRangeSelected(fromIndex: number, count: number): boolean {\r\n let endIndex = fromIndex + count;\r\n\r\n for (let i = fromIndex; i < endIndex; i++) {\r\n if (!this.isIndexSelected(i)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n public isAllSelected(): boolean {\r\n let selectableCount = this._items.length - this._unselectableCount;\r\n\r\n return (\r\n (this.count > 0) &&\r\n (this._isAllSelected && this._exemptedCount === 0) ||\r\n (!this._isAllSelected && (this._exemptedCount === selectableCount) && selectableCount > 0));\r\n }\r\n\r\n public isKeySelected(key: string): boolean {\r\n let index = this._keyToIndexMap[key];\r\n\r\n return this.isIndexSelected(index);\r\n }\r\n\r\n public isIndexSelected(index: number): boolean {\r\n return !!(\r\n (this.count > 0) &&\r\n (this._isAllSelected && !this._exemptedIndices[index] && !this._unselectableIndices[index]) ||\r\n (!this._isAllSelected && this._exemptedIndices[index]));\r\n }\r\n\r\n public setAllSelected(isAllSelected: boolean) {\r\n let selectableCount = this._items ? (this._items.length - this._unselectableCount) : 0;\r\n\r\n if (selectableCount > 0 && (this._exemptedCount > 0 || isAllSelected !== this._isAllSelected)) {\r\n this._exemptedIndices = {};\r\n this._exemptedCount = 0;\r\n this._isAllSelected = isAllSelected;\r\n this._updateCount();\r\n }\r\n }\r\n\r\n public setKeySelected(key: string, isSelected: boolean, shouldAnchor: boolean) {\r\n let index = this._keyToIndexMap[key];\r\n\r\n if (index >= 0) {\r\n this.setIndexSelected(index, isSelected, shouldAnchor);\r\n }\r\n }\r\n\r\n public setIndexSelected(index: number, isSelected: boolean, shouldAnchor: boolean) {\r\n // Clamp the index.\r\n index = Math.min(Math.max(0, index), this._items.length - 1);\r\n\r\n // No-op on out of bounds selections.\r\n if (index < 0 || index >= this._items.length) {\r\n return;\r\n }\r\n\r\n let isExempt = this._exemptedIndices[index];\r\n let hasChanged = false;\r\n let canSelect = !this._unselectableIndices[index];\r\n\r\n if (canSelect) {\r\n // Determine if we need to remove the exemption.\r\n if (isExempt && (\r\n (isSelected && this._isAllSelected) ||\r\n (!isSelected && !this._isAllSelected)\r\n )) {\r\n hasChanged = true;\r\n delete this._exemptedIndices[index];\r\n this._exemptedCount--;\r\n }\r\n\r\n // Determine if we need to add the exemption.\r\n if (!isExempt && (\r\n (isSelected && !this._isAllSelected) ||\r\n (!isSelected && this._isAllSelected)\r\n )) {\r\n hasChanged = true;\r\n this._exemptedIndices[index] = true;\r\n this._exemptedCount++;\r\n }\r\n\r\n if (shouldAnchor) {\r\n this._anchoredIndex = index;\r\n }\r\n }\r\n\r\n if (hasChanged) {\r\n this._updateCount();\r\n }\r\n }\r\n\r\n public selectToKey(key: string, clearSelection?: boolean) {\r\n this.selectToIndex(this._keyToIndexMap[key], clearSelection);\r\n }\r\n\r\n public selectToIndex(index: number, clearSelection?: boolean) {\r\n let anchorIndex = this._anchoredIndex || 0;\r\n let startIndex = Math.min(index, anchorIndex);\r\n let endIndex = Math.max(index, anchorIndex);\r\n\r\n this.setChangeEvents(false);\r\n\r\n if (clearSelection) {\r\n this.setAllSelected(false);\r\n }\r\n\r\n for (; startIndex <= endIndex; startIndex++) {\r\n this.setIndexSelected(startIndex, true, false);\r\n }\r\n\r\n this.setChangeEvents(true);\r\n }\r\n\r\n public toggleAllSelected() {\r\n this.setAllSelected(!this.isAllSelected());\r\n }\r\n\r\n public toggleKeySelected(key: string) {\r\n this.setKeySelected(key, !this.isKeySelected(key), true);\r\n }\r\n\r\n public toggleIndexSelected(index: number) {\r\n this.setIndexSelected(index, !this.isIndexSelected(index), true);\r\n }\r\n\r\n public toggleRangeSelected(fromIndex: number, count: number) {\r\n let isRangeSelected = this.isRangeSelected(fromIndex, count);\r\n let endIndex = fromIndex + count;\r\n\r\n this.setChangeEvents(false);\r\n for (let i = fromIndex; i < endIndex; i++) {\r\n this.setIndexSelected(i, !isRangeSelected, false);\r\n }\r\n this.setChangeEvents(true);\r\n }\r\n\r\n private _updateCount() {\r\n this.count = this.getSelectedCount();\r\n this._change();\r\n }\r\n\r\n private _change() {\r\n if (this._changeEventSuppressionCount === 0) {\r\n this._selectedItems = null;\r\n\r\n EventGroup.raise(this, SELECTION_CHANGE);\r\n\r\n if (this._onSelectionChanged) {\r\n this._onSelectionChanged();\r\n }\r\n } else {\r\n this._hasChanged = true;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/utilities/selection/Selection.ts","import {\r\n ISelectionLayout,\r\n SelectionDirection\r\n} from './interfaces';\r\n\r\nexport class SelectionLayout implements ISelectionLayout {\r\n private _direction: SelectionDirection;\r\n\r\n constructor(direction: SelectionDirection) {\r\n this._direction = direction;\r\n }\r\n\r\n public getItemIndexAbove(focusIndex: number, items: any[]): number {\r\n return (this._direction === SelectionDirection.vertical) ? Math.max(0, focusIndex - 1) : focusIndex;\r\n }\r\n\r\n public getItemIndexBelow(focusIndex: number, items: any[]): number {\r\n return (this._direction === SelectionDirection.vertical) ? Math.min(items.length - 1, focusIndex + 1) : focusIndex;\r\n }\r\n\r\n public getItemIndexLeft(focusIndex: number, items: any[]): number {\r\n return (this._direction === SelectionDirection.vertical) ? focusIndex : Math.max(0, focusIndex - 1);\r\n }\r\n\r\n public getItemIndexRight(focusIndex: number, items: any[]): number {\r\n return (this._direction === SelectionDirection.vertical) ? focusIndex : Math.min(items.length - 1, focusIndex + 1);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/utilities/selection/SelectionLayout.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n KeyCodes,\r\n autobind,\r\n elementContains,\r\n findScrollableParent,\r\n getParent,\r\n getDocument,\r\n getWindow,\r\n isElementTabbable\r\n} from '../../Utilities';\r\nimport { SelectionLayout } from './SelectionLayout';\r\nimport {\r\n ISelection,\r\n ISelectionLayout,\r\n SelectionDirection,\r\n SelectionMode\r\n} from './interfaces';\r\n\r\n// Selection definitions:\r\n//\r\n// Anchor index: the point from which a range selection starts.\r\n// Focus index: the point from which layout movement originates from.\r\n//\r\n// These two can differ. Tests:\r\n//\r\n// If you start at index 5\r\n// Shift click to index 10\r\n// The focus is 10, the anchor is 5.\r\n// If you shift click at index 0\r\n// The anchor remains at 5, the items between 0 and 5 are selected and everything else is cleared.\r\n// If you click index 8\r\n// The anchor and focus are set to 8.\r\n\r\nconst SELECTION_DISABLED_ATTRIBUTE_NAME = 'data-selection-disabled';\r\nconst SELECTION_INDEX_ATTRIBUTE_NAME = 'data-selection-index';\r\nconst SELECTION_TOGGLE_ATTRIBUTE_NAME = 'data-selection-toggle';\r\nconst SELECTION_INVOKE_ATTRIBUTE_NAME = 'data-selection-invoke';\r\nconst SELECTALL_TOGGLE_ALL_ATTRIBUTE_NAME = 'data-selection-all-toggle';\r\n\r\nexport interface ISelectionZoneProps extends React.Props<SelectionZone> {\r\n selection: ISelection;\r\n layout?: ISelectionLayout;\r\n selectionMode?: SelectionMode;\r\n selectionPreservedOnEmptyClick?: boolean;\r\n isSelectedOnFocus?: boolean;\r\n onItemInvoked?: (item?: any, index?: number, ev?: Event) => void;\r\n onItemContextMenu?: (item?: any, index?: number, ev?: Event) => void;\r\n}\r\n\r\nexport class SelectionZone extends BaseComponent<ISelectionZoneProps, {}> {\r\n public static defaultProps = {\r\n layout: new SelectionLayout(SelectionDirection.vertical),\r\n isMultiSelectEnabled: true,\r\n isSelectedOnFocus: true,\r\n selectionMode: SelectionMode.multiple\r\n };\r\n\r\n public refs: {\r\n [key: string]: React.ReactInstance,\r\n root: HTMLElement\r\n };\r\n\r\n private _isCtrlPressed: boolean;\r\n private _isShiftPressed: boolean;\r\n private _isMetaPressed: boolean;\r\n private _shouldHandleFocus: boolean;\r\n\r\n public componentDidMount() {\r\n let win = getWindow(this.refs.root);\r\n let scrollElement = findScrollableParent(this.refs.root);\r\n\r\n // Track the latest modifier keys globally.\r\n this._events.on(win, 'keydown keyup', this._updateModifiers);\r\n this._events.on(scrollElement, 'click', this._tryClearOnEmptyClick);\r\n }\r\n\r\n public render() {\r\n return (\r\n <div\r\n className='ms-SelectionZone'\r\n ref='root'\r\n onKeyDown={ this._onKeyDown }\r\n onMouseDown={ this._onMouseDown }\r\n onClick={ this._onClick }\r\n\r\n onDoubleClick={ this._onDoubleClick }\r\n onContextMenu={ this._onContextMenu }\r\n { ...{\r\n onMouseDownCapture: this._onMouseDownCapture,\r\n onFocusCapture: this._onFocus\r\n } }\r\n >\r\n { this.props.children }\r\n </div>\r\n );\r\n }\r\n\r\n /**\r\n * In some cases, the consuming scenario requires to set focus on a row without having SelectionZone\r\n * react to the event. Note that focus events in IE <= 11 will occur asynchronously after .focus() has\r\n * been called on an element, so we need a flag to store the idea that we will bypass the \"next\"\r\n * focus event that occurs. This method does that.\r\n */\r\n @autobind\r\n public ignoreNextFocus() {\r\n this._shouldHandleFocus = false;\r\n }\r\n\r\n @autobind\r\n private _onMouseDownCapture(ev) {\r\n if (document.activeElement !== ev.target && !elementContains(document.activeElement as HTMLElement, ev.target)) {\r\n this.ignoreNextFocus();\r\n }\r\n }\r\n\r\n /**\r\n * When we focus an item, for single/multi select scenarios, we should try to select it immediately\r\n * as long as the focus did not originate from a mouse down/touch event. For those cases, we handle them\r\n * specially.\r\n */\r\n @autobind\r\n private _onFocus(ev: React.FocusEvent<HTMLElement>) {\r\n let target = ev.target as HTMLElement;\r\n let { selection, selectionMode } = this.props;\r\n let isToggleModifierPressed = this._isCtrlPressed || this._isMetaPressed;\r\n\r\n if (this._shouldHandleFocus && selectionMode !== SelectionMode.none) {\r\n let isToggle = this._hasAttribute(target, SELECTION_TOGGLE_ATTRIBUTE_NAME);\r\n let itemRoot = this._findItemRoot(target);\r\n\r\n if (!isToggle && itemRoot) {\r\n let index = this._getItemIndex(itemRoot);\r\n\r\n if (isToggleModifierPressed) {\r\n // set anchor only.\r\n selection.setIndexSelected(index, selection.isIndexSelected(index), true);\r\n } else {\r\n this._onItemSurfaceClick(ev, index);\r\n }\r\n }\r\n }\r\n\r\n this._shouldHandleFocus = false;\r\n }\r\n\r\n @autobind\r\n private _onMouseDown(ev: React.MouseEvent<HTMLElement>) {\r\n this._updateModifiers(ev);\r\n\r\n let target = ev.target as HTMLElement;\r\n let itemRoot = this._findItemRoot(target);\r\n\r\n while (target !== this.refs.root) {\r\n if (this._hasAttribute(target, SELECTALL_TOGGLE_ALL_ATTRIBUTE_NAME)) {\r\n break;\r\n } else if (itemRoot) {\r\n if (this._hasAttribute(target, SELECTION_TOGGLE_ATTRIBUTE_NAME)) {\r\n break;\r\n } else if (this._hasAttribute(target, SELECTION_INVOKE_ATTRIBUTE_NAME)) {\r\n this._onInvokeMouseDown(ev, this._getItemIndex(itemRoot));\r\n break;\r\n } else if (target === itemRoot) {\r\n break;\r\n }\r\n }\r\n\r\n target = getParent(target);\r\n }\r\n }\r\n\r\n @autobind\r\n private _onClick(ev: React.MouseEvent<HTMLElement>) {\r\n this._updateModifiers(ev);\r\n\r\n let target = ev.target as HTMLElement;\r\n let itemRoot = this._findItemRoot(target);\r\n\r\n // No-op if selection is disabled\r\n if (this._isSelectionDisabled(target)) {\r\n return;\r\n }\r\n\r\n while (target !== this.refs.root) {\r\n if (this._hasAttribute(target, SELECTALL_TOGGLE_ALL_ATTRIBUTE_NAME)) {\r\n this._onToggleAllClick(ev);\r\n break;\r\n } else if (itemRoot) {\r\n let index = this._getItemIndex(itemRoot);\r\n\r\n if (this._hasAttribute(target, SELECTION_TOGGLE_ATTRIBUTE_NAME)) {\r\n if (this._isShiftPressed) {\r\n this._onItemSurfaceClick(ev, index);\r\n } else {\r\n this._onToggleClick(ev, index);\r\n }\r\n break;\r\n } else if (this._hasAttribute(target, SELECTION_INVOKE_ATTRIBUTE_NAME)) {\r\n this._onInvokeClick(ev, index);\r\n break;\r\n } else if (target === itemRoot) {\r\n this._onItemSurfaceClick(ev, index);\r\n break;\r\n }\r\n }\r\n\r\n target = getParent(target);\r\n }\r\n }\r\n\r\n @autobind\r\n private _onContextMenu(ev: React.MouseEvent<HTMLElement>) {\r\n const target = ev.target as HTMLElement;\r\n\r\n const { onItemContextMenu, selection } = this.props;\r\n if (onItemContextMenu) {\r\n const itemRoot = this._findItemRoot(target);\r\n\r\n if (itemRoot) {\r\n const index = this._getItemIndex(itemRoot);\r\n onItemContextMenu(selection.getItems()[index], index, ev.nativeEvent);\r\n ev.preventDefault();\r\n }\r\n }\r\n }\r\n\r\n private _isSelectionDisabled(target: HTMLElement): boolean {\r\n while (target !== this.refs.root) {\r\n if (this._hasAttribute(target, SELECTION_DISABLED_ATTRIBUTE_NAME)) {\r\n return true;\r\n }\r\n target = getParent(target);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * In multi selection, if you double click within an item's root (but not within the invoke element or input elements),\r\n * we should execute the invoke handler.\r\n */\r\n @autobind\r\n private _onDoubleClick(ev: React.MouseEvent<HTMLElement>) {\r\n let target = ev.target as HTMLElement;\r\n\r\n if (this._isSelectionDisabled(target)) {\r\n return;\r\n }\r\n\r\n let { selectionMode, onItemInvoked } = this.props;\r\n let itemRoot = this._findItemRoot(target);\r\n\r\n if (itemRoot && onItemInvoked && selectionMode !== SelectionMode.none && !this._isInputElement(target)) {\r\n let index = this._getItemIndex(itemRoot);\r\n\r\n while (target !== this.refs.root) {\r\n if (\r\n this._hasAttribute(target, SELECTION_TOGGLE_ATTRIBUTE_NAME) ||\r\n this._hasAttribute(target, SELECTION_INVOKE_ATTRIBUTE_NAME)) {\r\n break;\r\n } else if (target === itemRoot) {\r\n this._onInvokeClick(ev, index);\r\n break;\r\n }\r\n\r\n target = getParent(target);\r\n }\r\n\r\n target = getParent(target);\r\n }\r\n }\r\n\r\n @autobind\r\n private _onKeyDown(ev: React.KeyboardEvent<HTMLElement>) {\r\n this._updateModifiers(ev);\r\n\r\n let target = ev.target as HTMLElement;\r\n\r\n if (this._isSelectionDisabled(target)) {\r\n return;\r\n }\r\n\r\n let { selection, selectionMode } = this.props;\r\n let isSelectAllKey = ev.which === KeyCodes.a && (this._isCtrlPressed || this._isMetaPressed);\r\n let isClearSelectionKey = ev.which === KeyCodes.escape;\r\n\r\n // Ignore key downs from input elements.\r\n if (this._isInputElement(target)) {\r\n // A key was pressed while an item in this zone was focused.\r\n this._shouldHandleFocus = true;\r\n return;\r\n }\r\n\r\n // If ctrl-a is pressed, select all (if all are not already selected.)\r\n if (isSelectAllKey && selectionMode === SelectionMode.multiple && !selection.isAllSelected()) {\r\n selection.setAllSelected(true);\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n return;\r\n }\r\n\r\n // If escape is pressed, clear selection (if any are selected.)\r\n if (isClearSelectionKey && selection.getSelectedCount() > 0) {\r\n selection.setAllSelected(false);\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n return;\r\n }\r\n\r\n let itemRoot = this._findItemRoot(target);\r\n\r\n // If a key was pressed within an item, we should treat \"enters\" as invokes and \"space\" as toggle\r\n if (itemRoot) {\r\n let index = this._getItemIndex(itemRoot);\r\n\r\n while (target !== this.refs.root) {\r\n if (this._hasAttribute(target, SELECTION_TOGGLE_ATTRIBUTE_NAME)) {\r\n // For toggle elements, assuming they are rendered as buttons, they will generate a click event,\r\n // so we can no-op for any keydowns in this case.\r\n break;\r\n } else if ((ev.which === KeyCodes.enter || ev.which === KeyCodes.space) &&\r\n (target.tagName === 'BUTTON' || target.tagName === 'A' || target.tagName === 'INPUT')) {\r\n return false;\r\n } else if (target === itemRoot) {\r\n if (ev.which === KeyCodes.enter) {\r\n this._onInvokeClick(ev, index);\r\n ev.preventDefault();\r\n return;\r\n } else if (ev.which === KeyCodes.space) {\r\n this._onToggleClick(ev, index);\r\n ev.preventDefault();\r\n return;\r\n }\r\n break;\r\n }\r\n\r\n target = getParent(target);\r\n }\r\n }\r\n\r\n // A key was pressed while an item in this zone was focused.\r\n this._shouldHandleFocus = true;\r\n }\r\n\r\n private _onToggleAllClick(ev: React.MouseEvent<HTMLElement>) {\r\n let { selection, selectionMode } = this.props;\r\n\r\n if (selectionMode === SelectionMode.multiple) {\r\n selection.toggleAllSelected();\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n }\r\n }\r\n\r\n private _onToggleClick(ev: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>, index: number) {\r\n let { selection, selectionMode } = this.props;\r\n\r\n if (selectionMode === SelectionMode.multiple) {\r\n selection.toggleIndexSelected(index);\r\n } else if (selectionMode === SelectionMode.single) {\r\n let isSelected = selection.isIndexSelected(index);\r\n selection.setChangeEvents(false);\r\n selection.setAllSelected(false);\r\n selection.setIndexSelected(index, !isSelected, true);\r\n selection.setChangeEvents(true);\r\n } else {\r\n return;\r\n }\r\n\r\n ev.stopPropagation();\r\n\r\n // NOTE: ev.preventDefault is not called for toggle clicks, because this will kill the browser behavior\r\n // for checkboxes if you use a checkbox for the toggle.\r\n }\r\n\r\n private _onInvokeClick(ev: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>, index: number) {\r\n let { selection, onItemInvoked } = this.props;\r\n\r\n if (onItemInvoked) {\r\n onItemInvoked(selection.getItems()[index], index, ev.nativeEvent);\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n }\r\n\r\n private _onItemSurfaceClick(ev: React.SyntheticEvent<HTMLElement>, index: number) {\r\n let { selection, selectionMode } = this.props;\r\n let isToggleModifierPressed = this._isCtrlPressed || this._isMetaPressed;\r\n\r\n if (selectionMode === SelectionMode.multiple) {\r\n if (this._isShiftPressed) {\r\n selection.selectToIndex(index, !isToggleModifierPressed);\r\n } else if (isToggleModifierPressed) {\r\n selection.toggleIndexSelected(index);\r\n } else {\r\n this._clearAndSelectIndex(index);\r\n }\r\n } else if (selectionMode === SelectionMode.single) {\r\n this._clearAndSelectIndex(index);\r\n }\r\n }\r\n\r\n private _onInvokeMouseDown(ev: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>, index: number) {\r\n let { selection } = this.props;\r\n\r\n // Only do work if item is not selected.\r\n if (selection.isIndexSelected(index)) {\r\n return;\r\n }\r\n\r\n this._clearAndSelectIndex(index);\r\n }\r\n\r\n private _tryClearOnEmptyClick(ev: MouseEvent) {\r\n if (\r\n !this.props.selectionPreservedOnEmptyClick &&\r\n this._isNonHandledClick(ev.target as HTMLElement)\r\n ) {\r\n this.props.selection.setAllSelected(false);\r\n }\r\n }\r\n\r\n private _clearAndSelectIndex(index: number) {\r\n let { selection } = this.props;\r\n let isAlreadySingleSelected = selection.getSelectedCount() === 1 && selection.isIndexSelected(index);\r\n\r\n if (!isAlreadySingleSelected) {\r\n selection.setChangeEvents(false);\r\n selection.setAllSelected(false);\r\n selection.setIndexSelected(index, true, true);\r\n selection.setChangeEvents(true);\r\n }\r\n }\r\n\r\n /**\r\n * We need to track the modifier key states so that when focus events occur, which do not contain\r\n * modifier states in the Event object, we know how to behave.\r\n */\r\n private _updateModifiers(ev: React.KeyboardEvent<HTMLElement> | React.MouseEvent<HTMLElement>) {\r\n this._isShiftPressed = ev.shiftKey;\r\n this._isCtrlPressed = ev.ctrlKey;\r\n this._isMetaPressed = ev.metaKey;\r\n }\r\n\r\n private _findItemRoot(target: HTMLElement): HTMLElement {\r\n let { selection } = this.props;\r\n\r\n while (target !== this.refs.root) {\r\n let indexValue = target.getAttribute(SELECTION_INDEX_ATTRIBUTE_NAME);\r\n let index = Number(indexValue);\r\n\r\n if (indexValue !== null && index >= 0 && index < selection.getItems().length) {\r\n break;\r\n }\r\n\r\n target = getParent(target);\r\n }\r\n\r\n if (target === this.refs.root) {\r\n return undefined;\r\n }\r\n\r\n return target;\r\n }\r\n\r\n private _getItemIndex(itemRoot: HTMLElement): number {\r\n return Number(itemRoot.getAttribute(SELECTION_INDEX_ATTRIBUTE_NAME));\r\n }\r\n\r\n private _hasAttribute(element: HTMLElement, attributeName: string): boolean {\r\n let isToggle = false;\r\n\r\n while (!isToggle && element !== this.refs.root) {\r\n isToggle = element.getAttribute(attributeName) === 'true';\r\n element = getParent(element);\r\n }\r\n\r\n return isToggle;\r\n }\r\n\r\n private _isInputElement(element: HTMLElement): boolean {\r\n return element.tagName === 'INPUT' || element.tagName === 'TEXTAREA';\r\n }\r\n\r\n private _isNonHandledClick(element: HTMLElement): boolean {\r\n let doc = getDocument();\r\n\r\n if (doc && element) {\r\n while (element && element !== doc.documentElement) {\r\n if (isElementTabbable(element)) {\r\n return false;\r\n }\r\n\r\n element = getParent(element);\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/utilities/selection/SelectionZone.tsx","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n KeyCodes,\r\n assign,\r\n autobind,\r\n css,\r\n getRTLSafeKeyCode\r\n} from '../../Utilities';\r\nimport {\r\n IDetailsListProps,\r\n ColumnActionsMode,\r\n ConstrainMode,\r\n DetailsListLayoutMode,\r\n IColumn,\r\n IDetailsList,\r\n CheckboxVisibility\r\n} from '../DetailsList/DetailsList.Props';\r\nimport { DetailsHeader, SelectAllVisibility } from '../DetailsList/DetailsHeader';\r\nimport { DetailsRow, IDetailsRowProps } from '../DetailsList/DetailsRow';\r\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\r\nimport { GroupedList } from '../../GroupedList';\r\nimport { List } from '../../List';\r\nimport { withViewport } from '../../utilities/decorators/withViewport';\r\nimport {\r\n IObjectWithKey,\r\n ISelection,\r\n Selection,\r\n SelectionMode,\r\n SelectionZone\r\n} from '../../utilities/selection/index';\r\nimport { DragDropHelper } from '../../utilities/dragdrop/DragDropHelper';\r\nimport * as stylesImport from './DetailsList.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IDetailsListState {\r\n lastWidth?: number;\r\n lastSelectionMode?: SelectionMode;\r\n adjustedColumns?: IColumn[];\r\n layoutMode?: DetailsListLayoutMode;\r\n isCollapsed?: boolean;\r\n isSizing?: boolean;\r\n isDropping?: boolean;\r\n isSomeGroupExpanded?: boolean;\r\n}\r\n\r\nconst MIN_COLUMN_WIDTH = 100; // this is the global min width\r\nconst CHECKBOX_WIDTH = 36;\r\nconst GROUP_EXPAND_WIDTH = 36;\r\nconst DEFAULT_INNER_PADDING = 16;\r\n\r\nconst DEFAULT_RENDERED_WINDOWS_AHEAD = 2;\r\nconst DEFAULT_RENDERED_WINDOWS_BEHIND = 2;\r\n\r\n@withViewport\r\nexport class DetailsList extends BaseComponent<IDetailsListProps, IDetailsListState> implements IDetailsList {\r\n public static defaultProps = {\r\n layoutMode: DetailsListLayoutMode.justified,\r\n selectionMode: SelectionMode.multiple,\r\n constrainMode: ConstrainMode.horizontalConstrained,\r\n checkboxVisibility: CheckboxVisibility.onHover,\r\n isHeaderVisible: true\r\n };\r\n\r\n public refs: {\r\n [key: string]: React.ReactInstance,\r\n header: DetailsHeader,\r\n root: HTMLElement,\r\n groupedList: GroupedList,\r\n list: List,\r\n focusZone: FocusZone,\r\n selectionZone: SelectionZone\r\n };\r\n\r\n private _selection: ISelection;\r\n private _activeRows: { [key: string]: DetailsRow };\r\n private _dragDropHelper: DragDropHelper;\r\n private _initialFocusedIndex: number;\r\n\r\n private _columnOverrides: {\r\n [key: string]: IColumn;\r\n };\r\n\r\n constructor(props: IDetailsListProps) {\r\n super(props);\r\n\r\n this._activeRows = {};\r\n this._columnOverrides = {};\r\n this._onColumnIsSizingChanged = this._onColumnIsSizingChanged.bind(this);\r\n this._onColumnResized = this._onColumnResized.bind(this);\r\n this._onColumnAutoResized = this._onColumnAutoResized.bind(this);\r\n this._onRowDidMount = this._onRowDidMount.bind(this);\r\n this._onRowWillUnmount = this._onRowWillUnmount.bind(this);\r\n this._onToggleCollapse = this._onToggleCollapse.bind(this);\r\n this._onActiveRowChanged = this._onActiveRowChanged.bind(this);\r\n this._onHeaderKeyDown = this._onHeaderKeyDown.bind(this);\r\n this._onContentKeyDown = this._onContentKeyDown.bind(this);\r\n this._onRenderCell = this._onRenderCell.bind(this);\r\n this._onGroupExpandStateChanged = this._onGroupExpandStateChanged.bind(this);\r\n\r\n this.state = {\r\n lastWidth: 0,\r\n adjustedColumns: this._getAdjustedColumns(props),\r\n layoutMode: props.layoutMode,\r\n isSizing: false,\r\n isDropping: false,\r\n isCollapsed: props.groupProps && props.groupProps.isAllGroupsCollapsed,\r\n isSomeGroupExpanded: props.groupProps && !props.groupProps.isAllGroupsCollapsed\r\n };\r\n\r\n this._selection = props.selection || new Selection({ onSelectionChanged: null, getKey: props.getKey });\r\n this._selection.setItems(props.items as IObjectWithKey[], false);\r\n this._dragDropHelper = props.dragDropEvents ? new DragDropHelper({\r\n selection: this._selection,\r\n minimumPixelsForDrag: props.minimumPixelsForDrag\r\n }) : null;\r\n this._initialFocusedIndex = props.initialFocusedIndex;\r\n }\r\n\r\n public componentWillUnmount() {\r\n if (this._dragDropHelper) {\r\n this._dragDropHelper.dispose();\r\n }\r\n }\r\n\r\n public componentDidUpdate(prevProps: any, prevState: any) {\r\n if (this._initialFocusedIndex !== undefined) {\r\n const row = this._activeRows[this._initialFocusedIndex];\r\n if (row) {\r\n this._setFocusToRowIfPending(row);\r\n }\r\n }\r\n\r\n if (this.props.onDidUpdate) {\r\n this.props.onDidUpdate(this);\r\n }\r\n }\r\n\r\n public componentWillReceiveProps(newProps: IDetailsListProps) {\r\n let {\r\n checkboxVisibility,\r\n items,\r\n setKey,\r\n selectionMode,\r\n columns,\r\n viewport\r\n } = this.props;\r\n let { layoutMode } = this.state;\r\n let shouldResetSelection = (newProps.setKey !== setKey) || newProps.setKey === undefined;\r\n let shouldForceUpdates = false;\r\n\r\n if (newProps.layoutMode !== this.props.layoutMode) {\r\n layoutMode = newProps.layoutMode;\r\n this.setState({ layoutMode: layoutMode });\r\n shouldForceUpdates = true;\r\n }\r\n\r\n if (shouldResetSelection) {\r\n this._initialFocusedIndex = newProps.initialFocusedIndex;\r\n }\r\n\r\n if (newProps.items !== items) {\r\n this._selection.setItems(newProps.items, shouldResetSelection);\r\n }\r\n\r\n if (\r\n newProps.checkboxVisibility !== checkboxVisibility ||\r\n newProps.columns !== columns ||\r\n newProps.viewport.width !== viewport.width\r\n ) {\r\n shouldForceUpdates = true;\r\n }\r\n\r\n this._adjustColumns(newProps, true, layoutMode);\r\n\r\n if (newProps.selectionMode !== selectionMode) {\r\n shouldForceUpdates = true;\r\n }\r\n\r\n if (shouldForceUpdates) {\r\n this._forceListUpdates();\r\n }\r\n }\r\n\r\n public render() {\r\n let {\r\n ariaLabelForListHeader,\r\n ariaLabelForSelectAllCheckbox,\r\n className,\r\n checkboxVisibility,\r\n constrainMode,\r\n dragDropEvents,\r\n groups,\r\n groupProps,\r\n items,\r\n isHeaderVisible,\r\n onItemInvoked,\r\n onItemContextMenu,\r\n onColumnHeaderClick,\r\n onColumnHeaderContextMenu,\r\n selectionMode,\r\n selectionPreservedOnEmptyClick,\r\n ariaLabel,\r\n ariaLabelForGrid,\r\n rowElementEventMap,\r\n shouldApplyApplicationRole = false,\r\n getKey\r\n } = this.props;\r\n let {\r\n adjustedColumns,\r\n isCollapsed,\r\n layoutMode,\r\n isSizing,\r\n isSomeGroupExpanded\r\n } = this.state;\r\n let {\r\n _selection: selection,\r\n _dragDropHelper: dragDropHelper\r\n } = this;\r\n let groupNestingDepth = this._getGroupNestingDepth();\r\n let additionalListProps = {\r\n renderedWindowsAhead: isSizing ? 0 : DEFAULT_RENDERED_WINDOWS_AHEAD,\r\n renderedWindowsBehind: isSizing ? 0 : DEFAULT_RENDERED_WINDOWS_BEHIND,\r\n getKey\r\n };\r\n let selectAllVisibility = SelectAllVisibility.none; // for SelectionMode.none\r\n if (selectionMode === SelectionMode.single) {\r\n selectAllVisibility = SelectAllVisibility.hidden;\r\n }\r\n if (selectionMode === SelectionMode.multiple) {\r\n // if isCollapsedGroupSelectVisible is false, disable select all when the list has all collapsed groups\r\n let isCollapsedGroupSelectVisible = groupProps && groupProps.headerProps && groupProps.headerProps.isCollapsedGroupSelectVisible;\r\n if (isCollapsedGroupSelectVisible === undefined) {\r\n isCollapsedGroupSelectVisible = true;\r\n }\r\n let isSelectAllVisible = isCollapsedGroupSelectVisible || !groups || isSomeGroupExpanded;\r\n selectAllVisibility = isSelectAllVisible ? SelectAllVisibility.visible : SelectAllVisibility.hidden;\r\n }\r\n\r\n if (checkboxVisibility === CheckboxVisibility.hidden) {\r\n selectAllVisibility = SelectAllVisibility.none;\r\n }\r\n\r\n return (\r\n // If shouldApplyApplicationRole is true, role application will be applied to make arrow keys work\r\n // with JAWS.\r\n <div\r\n ref='root'\r\n className={ css('ms-DetailsList', styles.root, className, {\r\n 'is-fixed': layoutMode === DetailsListLayoutMode.fixedColumns,\r\n ['is-horizontalConstrained ' + styles.rootIsHorizontalConstrained]: constrainMode === ConstrainMode.horizontalConstrained\r\n }) }\r\n data-automationid='DetailsList'\r\n data-is-scrollable='false'\r\n aria-label={ ariaLabel }\r\n { ...(shouldApplyApplicationRole ? { role: 'application' } : {}) }>\r\n <div role='grid' aria-label={ ariaLabelForGrid } aria-rowcount={ items ? items.length : 0 } aria-colcount={ adjustedColumns ? adjustedColumns.length : 0 }>\r\n <div onKeyDown={ this._onHeaderKeyDown } role='presentation'>\r\n { isHeaderVisible && (\r\n <DetailsHeader\r\n ref='header'\r\n selectionMode={ selectionMode }\r\n layoutMode={ layoutMode }\r\n selection={ selection }\r\n columns={ adjustedColumns }\r\n onColumnClick={ onColumnHeaderClick }\r\n onColumnContextMenu={ onColumnHeaderContextMenu }\r\n onColumnResized={ this._onColumnResized }\r\n onColumnIsSizingChanged={ this._onColumnIsSizingChanged }\r\n onColumnAutoResized={ this._onColumnAutoResized }\r\n groupNestingDepth={ groupNestingDepth }\r\n isAllCollapsed={ isCollapsed }\r\n onToggleCollapseAll={ this._onToggleCollapse }\r\n ariaLabel={ ariaLabelForListHeader }\r\n ariaLabelForSelectAllCheckbox={ ariaLabelForSelectAllCheckbox }\r\n selectAllVisibility={ selectAllVisibility }\r\n />\r\n ) }\r\n </div>\r\n <div ref='contentContainer' onKeyDown={ this._onContentKeyDown } role='presentation'>\r\n <FocusZone\r\n ref='focusZone'\r\n className={ styles.focusZone }\r\n direction={ FocusZoneDirection.vertical }\r\n isInnerZoneKeystroke={ (ev) => (ev.which === getRTLSafeKeyCode(KeyCodes.right)) }\r\n onActiveElementChanged={ this._onActiveRowChanged }\r\n >\r\n <SelectionZone\r\n ref='selectionZone'\r\n selection={ selection }\r\n selectionPreservedOnEmptyClick={ selectionPreservedOnEmptyClick }\r\n selectionMode={ selectionMode }\r\n onItemInvoked={ onItemInvoked }\r\n onItemContextMenu={ onItemContextMenu }\r\n >\r\n { groups ? (\r\n <GroupedList\r\n groups={ groups }\r\n groupProps={ groupProps }\r\n items={ items }\r\n onRenderCell={ this._onRenderCell }\r\n selection={ selection }\r\n selectionMode={ selectionMode }\r\n dragDropEvents={ dragDropEvents }\r\n dragDropHelper={ dragDropHelper }\r\n eventsToRegister={ rowElementEventMap }\r\n listProps={ additionalListProps }\r\n onGroupExpandStateChanged={ this._onGroupExpandStateChanged }\r\n ref='groupedList'\r\n />\r\n ) : (\r\n <List\r\n role={ null }\r\n items={ items }\r\n onRenderCell={ (item, itemIndex) => this._onRenderCell(0, item, itemIndex) }\r\n { ...additionalListProps }\r\n ref='list'\r\n />\r\n )\r\n }\r\n </SelectionZone>\r\n </FocusZone>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n public forceUpdate() {\r\n super.forceUpdate();\r\n this._forceListUpdates();\r\n }\r\n\r\n @autobind\r\n protected _onRenderRow(props: IDetailsRowProps, defaultRender?: any) {\r\n return <DetailsRow { ...props } />;\r\n }\r\n\r\n private _onRenderCell(nestingDepth: number, item: any, index: number): React.ReactNode {\r\n let {\r\n dragDropEvents,\r\n rowElementEventMap: eventsToRegister,\r\n onRenderMissingItem,\r\n onRenderItemColumn,\r\n onRenderRow = this._onRenderRow,\r\n selectionMode,\r\n viewport,\r\n checkboxVisibility,\r\n getRowAriaLabel,\r\n checkButtonAriaLabel\r\n } = this.props;\r\n let selection = this._selection;\r\n let dragDropHelper = this._dragDropHelper;\r\n let {\r\n adjustedColumns: columns\r\n } = this.state;\r\n\r\n if (!item) {\r\n if (onRenderMissingItem) {\r\n onRenderMissingItem(index);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n return onRenderRow({\r\n item: item,\r\n itemIndex: index,\r\n columns: columns,\r\n groupNestingDepth: nestingDepth,\r\n selectionMode: selectionMode,\r\n selection: selection,\r\n onDidMount: this._onRowDidMount,\r\n onWillUnmount: this._onRowWillUnmount,\r\n onRenderItemColumn: onRenderItemColumn,\r\n eventsToRegister: eventsToRegister,\r\n dragDropEvents: dragDropEvents,\r\n dragDropHelper: dragDropHelper,\r\n viewport: viewport,\r\n checkboxVisibility: checkboxVisibility,\r\n getRowAriaLabel: getRowAriaLabel,\r\n checkButtonAriaLabel: checkButtonAriaLabel\r\n }, this._onRenderRow);\r\n }\r\n\r\n private _onGroupExpandStateChanged(isSomeGroupExpanded: boolean) {\r\n this.setState({ isSomeGroupExpanded: isSomeGroupExpanded });\r\n }\r\n\r\n private _onColumnIsSizingChanged(column: IColumn, isSizing: boolean) {\r\n this.setState({ isSizing: isSizing });\r\n }\r\n\r\n private _onHeaderKeyDown(ev: React.KeyboardEvent<HTMLElement>) {\r\n if (ev.which === KeyCodes.down) {\r\n if (this.refs.focusZone && this.refs.focusZone.focus()) {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n }\r\n }\r\n\r\n private _onContentKeyDown(ev: React.KeyboardEvent<HTMLElement>) {\r\n if (ev.which === KeyCodes.up) {\r\n if (this.refs.header && this.refs.header.focus()) {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n }\r\n }\r\n\r\n private _getGroupNestingDepth(): number {\r\n let { groups } = this.props;\r\n let level = 0;\r\n let groupsInLevel = groups;\r\n\r\n while (groupsInLevel && groupsInLevel.length > 0) {\r\n level++;\r\n groupsInLevel = groupsInLevel[0].children;\r\n }\r\n\r\n return level;\r\n }\r\n\r\n private _onRowDidMount(row: DetailsRow) {\r\n let { onRowDidMount } = this.props;\r\n let index = row.props.itemIndex;\r\n\r\n this._activeRows[index] = row; // this is used for column auto resize\r\n\r\n this._setFocusToRowIfPending(row);\r\n\r\n if (onRowDidMount) {\r\n onRowDidMount(row.props.item, index);\r\n }\r\n }\r\n\r\n private _setFocusToRowIfPending(row: DetailsRow) {\r\n let index = row.props.itemIndex;\r\n if (this._initialFocusedIndex !== undefined && index === this._initialFocusedIndex) {\r\n if (this.refs.selectionZone) {\r\n this.refs.selectionZone.ignoreNextFocus();\r\n }\r\n this._async.setTimeout(() => row.focus(), 0);\r\n\r\n delete this._initialFocusedIndex;\r\n }\r\n }\r\n\r\n private _onRowWillUnmount(row: DetailsRow) {\r\n let { onRowWillUnmount } = this.props;\r\n let index = row.props.itemIndex;\r\n\r\n delete this._activeRows[index];\r\n this._events.off(row.refs.root);\r\n if (onRowWillUnmount) {\r\n onRowWillUnmount(row.props.item, index);\r\n }\r\n }\r\n\r\n private _onToggleCollapse(collapsed: boolean) {\r\n this.setState({\r\n isCollapsed: collapsed\r\n });\r\n if (this.refs.groupedList) {\r\n this.refs.groupedList.toggleCollapseAll(collapsed);\r\n }\r\n }\r\n\r\n private _forceListUpdates() {\r\n if (this.refs.groupedList) {\r\n this.refs.groupedList.forceUpdate();\r\n }\r\n if (this.refs.list) {\r\n this.refs.list.forceUpdate();\r\n }\r\n }\r\n\r\n private _adjustColumns(newProps: IDetailsListProps, forceUpdate?: boolean, layoutMode?: DetailsListLayoutMode) {\r\n let adjustedColumns = this._getAdjustedColumns(newProps, forceUpdate, layoutMode);\r\n let { viewport: { width: viewportWidth } } = this.props;\r\n\r\n if (adjustedColumns) {\r\n this.setState({\r\n adjustedColumns: adjustedColumns,\r\n lastWidth: viewportWidth,\r\n layoutMode: layoutMode\r\n });\r\n }\r\n }\r\n\r\n /** Returns adjusted columns, given the viewport size and layout mode. */\r\n private _getAdjustedColumns(newProps: IDetailsListProps, forceUpdate?: boolean, layoutMode?: DetailsListLayoutMode): IColumn[] {\r\n let { columns: newColumns, items: newItems, viewport: { width: viewportWidth }, selectionMode } = newProps;\r\n\r\n if (layoutMode === undefined) {\r\n layoutMode = newProps.layoutMode;\r\n }\r\n\r\n let columns = this.props ? this.props.columns : [];\r\n let lastWidth = this.state ? this.state.lastWidth : -1;\r\n let lastSelectionMode = this.state ? this.state.lastSelectionMode : undefined;\r\n\r\n if (viewportWidth !== undefined) {\r\n if (!forceUpdate &&\r\n lastWidth === viewportWidth &&\r\n lastSelectionMode === selectionMode &&\r\n (!columns || newColumns === columns)) {\r\n return;\r\n }\r\n } else {\r\n viewportWidth = this.props.viewport.width;\r\n }\r\n\r\n newColumns = newColumns || buildColumns(newItems, true);\r\n\r\n let adjustedColumns: IColumn[];\r\n\r\n if (layoutMode === DetailsListLayoutMode.fixedColumns) {\r\n adjustedColumns = this._getFixedColumns(newColumns);\r\n } else {\r\n adjustedColumns = this._getJustifiedColumns(newColumns, viewportWidth, newProps);\r\n }\r\n\r\n // Preserve adjusted column calculated widths.\r\n adjustedColumns.forEach(column => {\r\n let overrides = this._columnOverrides[column.key] = this._columnOverrides[column.key] || {} as IColumn;\r\n overrides.calculatedWidth = column.calculatedWidth;\r\n });\r\n\r\n return adjustedColumns;\r\n }\r\n\r\n /** Builds a set of columns based on the given columns mixed with the current overrides. */\r\n private _getFixedColumns(newColumns: IColumn[]) {\r\n return newColumns.map(column => {\r\n let newColumn = assign({}, column, this._columnOverrides[column.key]);\r\n\r\n if (!newColumn.calculatedWidth) {\r\n newColumn.calculatedWidth = newColumn.maxWidth || newColumn.minWidth || MIN_COLUMN_WIDTH;\r\n }\r\n\r\n return newColumn;\r\n });\r\n }\r\n\r\n /** Builds a set of columns to fix within the viewport width. */\r\n private _getJustifiedColumns(newColumns: IColumn[], viewportWidth: number, props: IDetailsListProps) {\r\n let {\r\n selectionMode,\r\n groups\r\n } = props;\r\n let outerPadding = DEFAULT_INNER_PADDING;\r\n let rowCheckWidth = (selectionMode !== SelectionMode.none) ? CHECKBOX_WIDTH : 0;\r\n let groupExpandWidth = groups ? GROUP_EXPAND_WIDTH : 0;\r\n let totalWidth = 0; // offset because we have one less inner padding.\r\n let availableWidth = viewportWidth - (outerPadding + rowCheckWidth + groupExpandWidth);\r\n let adjustedColumns: IColumn[] = newColumns.map((column, i) => {\r\n let newColumn = assign(\r\n {},\r\n column,\r\n {\r\n calculatedWidth: column.minWidth || MIN_COLUMN_WIDTH\r\n });\r\n\r\n totalWidth += newColumn.calculatedWidth + (i > 0 ? DEFAULT_INNER_PADDING : 0);\r\n\r\n return newColumn;\r\n });\r\n\r\n let lastIndex = adjustedColumns.length - 1;\r\n\r\n // Remove collapsable columns.\r\n while (lastIndex > 1 && totalWidth > availableWidth) {\r\n let column = adjustedColumns[lastIndex];\r\n\r\n if (column.isCollapsable) {\r\n totalWidth -= column.calculatedWidth + DEFAULT_INNER_PADDING;\r\n adjustedColumns.splice(lastIndex, 1);\r\n }\r\n lastIndex--;\r\n }\r\n\r\n // Then expand columns starting at the beginning, until we've filled the width.\r\n for (let i = 0; i < adjustedColumns.length && totalWidth < availableWidth; i++) {\r\n let column = adjustedColumns[i];\r\n let maxWidth = column.maxWidth;\r\n let minWidth = column.minWidth || maxWidth || MIN_COLUMN_WIDTH;\r\n let spaceLeft = availableWidth - totalWidth;\r\n let increment = maxWidth ? Math.min(spaceLeft, maxWidth - minWidth) : spaceLeft;\r\n\r\n // Add remaining space to the last column.\r\n if (i === (adjustedColumns.length - 1)) {\r\n increment = spaceLeft;\r\n }\r\n\r\n column.calculatedWidth += increment;\r\n totalWidth += increment;\r\n }\r\n\r\n // Mark the last column as not resizable to avoid extra scrolling issues.\r\n if (adjustedColumns.length) {\r\n adjustedColumns[adjustedColumns.length - 1].isResizable = false;\r\n }\r\n\r\n return adjustedColumns;\r\n }\r\n\r\n private _onColumnResized(resizingColumn: IColumn, newWidth: number) {\r\n let newCalculatedWidth = Math.max(resizingColumn.minWidth || MIN_COLUMN_WIDTH, newWidth);\r\n if (this.props.onColumnResize) {\r\n this.props.onColumnResize(resizingColumn, newCalculatedWidth);\r\n }\r\n this._columnOverrides[resizingColumn.key].calculatedWidth = newCalculatedWidth;\r\n this._adjustColumns(this.props, true, DetailsListLayoutMode.fixedColumns);\r\n this._forceListUpdates();\r\n }\r\n\r\n /**\r\n * Callback function when double clicked on the details header column resizer\r\n * which will measure the column cells of all the active rows and resize the\r\n * column to the max cell width.\r\n *\r\n * @private\r\n * @param {IColumn} column (double clicked column definition)\r\n * @param {number} columnIndex (double clicked column index)\r\n * @todo min width 100 should be changed to const value and should be consistent with the value used on _onSizerMove method in DetailsHeader\r\n */\r\n private _onColumnAutoResized(column: IColumn, columnIndex: number) {\r\n let max = 0;\r\n let count = 0;\r\n let totalCount = Object.keys(this._activeRows).length;\r\n\r\n for (let key in this._activeRows) {\r\n if (this._activeRows.hasOwnProperty(key)) {\r\n let currentRow = this._activeRows[key];\r\n currentRow.measureCell(columnIndex, (width: number) => {\r\n max = Math.max(max, width);\r\n count++;\r\n if (count === totalCount) {\r\n this._onColumnResized(column, max);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Call back function when an element in FocusZone becomes active. It will transalate it into item\r\n * and call onActiveItemChanged callback if specified.\r\n *\r\n * @private\r\n * @param {el} row element that became active in Focus Zone\r\n * @param {ev} focus event from Focus Zone\r\n */\r\n private _onActiveRowChanged(el?: HTMLElement, ev?: React.FocusEvent<HTMLElement>) {\r\n let { items, onActiveItemChanged } = this.props;\r\n\r\n if (!onActiveItemChanged || !el) {\r\n return;\r\n }\r\n let index = Number(el.getAttribute('data-item-index'));\r\n if (index >= 0) {\r\n onActiveItemChanged(items[index], index, ev);\r\n }\r\n };\r\n}\r\n\r\nexport function buildColumns(\r\n items: any[],\r\n canResizeColumns?: boolean,\r\n onColumnClick?: (ev: React.MouseEvent<HTMLElement>, column: IColumn) => any,\r\n sortedColumnKey?: string,\r\n isSortedDescending?: boolean,\r\n groupedColumnKey?: string,\r\n isMultiline?: boolean) {\r\n let columns: IColumn[] = [];\r\n\r\n if (items && items.length) {\r\n let firstItem = items[0];\r\n let isFirstColumn = true;\r\n\r\n for (let propName in firstItem) {\r\n if (firstItem.hasOwnProperty(propName)) {\r\n columns.push({\r\n key: propName,\r\n name: propName,\r\n fieldName: propName,\r\n minWidth: MIN_COLUMN_WIDTH,\r\n maxWidth: 300,\r\n isCollapsable: !!columns.length,\r\n isMultiline: (isMultiline === undefined) ? false : isMultiline,\r\n isSorted: sortedColumnKey === propName,\r\n isSortedDescending: !!isSortedDescending,\r\n isRowHeader: false,\r\n columnActionsMode: ColumnActionsMode.clickable,\r\n isResizable: canResizeColumns,\r\n onColumnClick,\r\n isGrouped: groupedColumnKey === propName\r\n });\r\n\r\n isFirstColumn = false;\r\n }\r\n }\r\n }\r\n\r\n return columns;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DetailsList/DetailsList.tsx","import * as React from 'react';\r\nimport { DetailsList } from './DetailsList';\r\nimport {\r\n ISelection,\r\n SelectionMode\r\n} from '../../utilities/selection/index';\r\nimport { IRenderFunction } from '../../Utilities';\r\nimport {\r\n IDragDropEvents,\r\n IDragDropContext,\r\n} from './../../utilities/dragdrop/index';\r\nimport { IconName } from '../../Icon';\r\nimport {\r\n IGroup,\r\n IGroupRenderProps\r\n} from '../GroupedList/index';\r\nimport { IDetailsRowProps } from '../DetailsList/DetailsRow';\r\nimport { IViewport } from '../../utilities/decorators/withViewport';\r\n\r\nexport interface IDetailsList {\r\n /**\r\n * Ensures that the list content is updated. Call this in cases where the list prop updates don't change, but the list\r\n * still needs to be re-evaluated. For example, if a sizer bar is adjusted and causes the list width to change, you can\r\n * call this to force a re-evaluation. Be aware that this can be an expensive operation and should be done sparingly.\r\n */\r\n forceUpdate: () => void;\r\n}\r\n\r\nexport interface IDetailsListProps extends React.Props<DetailsList> {\r\n /**\r\n * Optional callback to access the IDetailsList interface. Use this instead of ref for accessing\r\n * the public methods and properties of the component.\r\n */\r\n componentRef?: (component: IDetailsList) => void;\r\n\r\n /** A key that uniquely identifies the given items. If provided, the selection will be reset when the key changes. */\r\n setKey?: string;\r\n\r\n /** The items to render. */\r\n items: any[];\r\n\r\n /**\r\n * Optional default focused index to set focus to once the items have rendered and the index exists.\r\n */\r\n initialFocusedIndex?: number;\r\n\r\n /** Optional class name to add to the root element. */\r\n className?: string;\r\n\r\n /** Optional grouping instructions. The definition for IGroup can be found under the GroupedList component. */\r\n groups?: IGroup[];\r\n\r\n /** Optional override properties to render groups. The definition for IGroupRenderProps can be found under the GroupedList component. */\r\n groupProps?: IGroupRenderProps;\r\n\r\n /** Optional selection model to track selection state. */\r\n selection?: ISelection;\r\n\r\n /** Controls how/if the details list manages selection. */\r\n selectionMode?: SelectionMode;\r\n\r\n /**\r\n * By default, selection is cleared when clicking on an empty (non-focusable) section of the screen. Setting this value to true\r\n * overrides that behavior and maintains selection.\r\n * @default false\r\n **/\r\n selectionPreservedOnEmptyClick?: boolean;\r\n\r\n /** Controls how the columns are adjusted. */\r\n layoutMode?: DetailsListLayoutMode;\r\n\r\n /**\r\n * Controls the visibility of selection check box.\r\n * @default CheckboxVisibility.onHover\r\n */\r\n checkboxVisibility?: CheckboxVisibility;\r\n\r\n /**\r\n * Controls the visibility of the details header.\r\n * @default true\r\n */\r\n isHeaderVisible?: boolean;\r\n\r\n /** Given column defitions. If none are provided, default columns will be created based on the item's properties. */\r\n columns?: IColumn[];\r\n\r\n /** Controls how the list contrains overflow. */\r\n constrainMode?: ConstrainMode;\r\n\r\n /** Event names and corresponding callbacks that will be registered to rendered row elements. */\r\n rowElementEventMap?: { eventName: string, callback: (context: IDragDropContext, event?: any) => void }[];\r\n\r\n /** Callback for when the details list has been updated. Useful for telemetry tracking externally. */\r\n onDidUpdate?: (detailsList?: DetailsList) => any;\r\n\r\n /** Callback for when a given row has been mounted. Useful for identifying when a row has been rendered on the page. */\r\n onRowDidMount?: (item?: any, index?: number) => void;\r\n\r\n /** Callback for when a given row has been mounted. Useful for identifying when a row has been removed from the page. */\r\n onRowWillUnmount?: (item?: any, index?: number) => void;\r\n\r\n /** Callback for when the user clicks on the column header. */\r\n onColumnHeaderClick?: (ev?: React.MouseEvent<HTMLElement>, column?: IColumn) => void;\r\n\r\n /** Callback for when the user asks for a contextual menu (usually via right click) from a column header. */\r\n onColumnHeaderContextMenu?: (column?: IColumn, ev?: Event) => void;\r\n\r\n /** Callback fired on column resize */\r\n onColumnResize?: (column?: IColumn, newWidth?: number) => void;\r\n\r\n /** Callback for when a given row has been invoked (by pressing enter while it is selected.) */\r\n onItemInvoked?: (item?: any, index?: number, ev?: Event) => void;\r\n\r\n /** Callback for when the context menu of an item has been accessed. */\r\n onItemContextMenu?: (item?: any, index?: number, ev?: Event) => void;\r\n\r\n /**\r\n * If provided, will allow the caller to override the default row rendering.\r\n */\r\n onRenderRow?: IRenderFunction<IDetailsRowProps>;\r\n\r\n /**\r\n * If provided, will be the \"default\" item column renderer method. This affects cells within the rows; not the rows themselves.\r\n * If a column definition provides its own onRender method, that will be used instead of this.\r\n */\r\n onRenderItemColumn?: (item?: any, index?: number, column?: IColumn) => any;\r\n\r\n /** Map of callback functions related to drag and drop functionality. */\r\n dragDropEvents?: IDragDropEvents;\r\n\r\n /** Callback for what to render when the item is missing. */\r\n onRenderMissingItem?: (index?: number) => React.ReactNode;\r\n\r\n /** Viewport, provided by the withViewport decorator. */\r\n viewport?: IViewport;\r\n\r\n /** Callback for when an item in the list becomes active by clicking anywhere inside the row or navigating to it with keyboard. */\r\n onActiveItemChanged?: (item?: any, index?: number, ev?: React.FocusEvent<HTMLElement>) => void;\r\n\r\n /** The aria-label attribute to stamp out on the list header */\r\n ariaLabelForListHeader?: string;\r\n\r\n /** The aria-label attribute to stamp out on select all checkbox for the list */\r\n ariaLabelForSelectAllCheckbox?: string;\r\n\r\n /** Optional callback to get the aria-label string for a given item. */\r\n getRowAriaLabel?: (item: any) => string;\r\n\r\n /** Optional callback to get the item key, to be used in the selection and on render. */\r\n getKey?: (item: any, index?: number) => string;\r\n\r\n /** A text summary of the table set via aria-label. */\r\n ariaLabel?: string;\r\n\r\n /** Check button aria label for details list. */\r\n checkButtonAriaLabel?: string;\r\n\r\n /** Aria label for grid in details list. */\r\n ariaLabelForGrid?: string;\r\n\r\n /** Boolean value to indicate if the role application should be applied on details list. Set to false by default */\r\n shouldApplyApplicationRole?: boolean;\r\n\r\n /** \r\n * The minimum mouse move distance to interpret the action as drag event.\r\n * @defaultValue 5\r\n */\r\n minimumPixelsForDrag?: number;\r\n}\r\n\r\nexport interface IColumn {\r\n /**\r\n * A unique key for identifying the column.\r\n */\r\n key: string;\r\n\r\n /**\r\n * Name to render on the column header.\r\n */\r\n name: string;\r\n\r\n /**\r\n * The field to pull the text value from for the column. This can be null if a custom\r\n * onRender method is provided.\r\n */\r\n fieldName: string;\r\n\r\n /**\r\n * An optional class name to stick on the column cell within each row.\r\n */\r\n className?: string;\r\n\r\n /**\r\n * Minimum width for the column.\r\n */\r\n minWidth: number;\r\n\r\n /**\r\n * Optional accessibility label (aria-label) attribute that will be stamped on to the element.\r\n * If none is specified, the arai-label attribute will contain the column name\r\n */\r\n ariaLabel?: string;\r\n\r\n /**\r\n * Optional flag on whether the column is a header for the given row. There should be only one column with\r\n * row header set to true.\r\n * @default false\r\n */\r\n isRowHeader?: boolean;\r\n\r\n /**\r\n * Maximum width for the column, if stretching is allowed in justified scenarios.\r\n */\r\n maxWidth?: number;\r\n\r\n /**\r\n * Defines how the column's header should render.\r\n * @default ColumnActionsMode.clickable */\r\n columnActionsMode?: ColumnActionsMode;\r\n\r\n /**\r\n * Optional iconName to use for the column header.\r\n */\r\n iconName?: IconName;\r\n\r\n /**\r\n * Class name to add to the Icon component.\r\n */\r\n iconClassName?: string;\r\n\r\n /**\r\n * If specified will allow the column to be collapsed when rendered in justified layout.\r\n */\r\n isCollapsable?: boolean;\r\n\r\n /**\r\n * Determines if the column is currently sorted. Renders a sort arrow in the column header.\r\n */\r\n isSorted?: boolean;\r\n\r\n /**\r\n * Determines if the arrow is pointed down (descending) or up.\r\n */\r\n isSortedDescending?: boolean;\r\n\r\n /**\r\n * Determines if the column can be resized.\r\n */\r\n isResizable?: boolean;\r\n\r\n /**\r\n * Determines if the column can render multi-line text.\r\n */\r\n isMultiline?: boolean;\r\n\r\n /**\r\n * If provided uses this method to render custom cell content, rather than the default text rendering.\r\n */\r\n onRender?: (item?: any, index?: number, column?: IColumn) => any;\r\n\r\n /**\r\n * Determines if the column is filtered, and if so shows a filter icon.\r\n */\r\n isFiltered?: boolean;\r\n\r\n /**\r\n * If provided, will be executed when the user clicks on the column header.\r\n */\r\n onColumnClick?: (ev?: React.MouseEvent<HTMLElement>, column?: IColumn) => any;\r\n\r\n /**\r\n * If provided, will be executed when the user accesses the contextmenu on a column header.\r\n */\r\n onColumnContextMenu?: (column?: IColumn, ev?: React.MouseEvent<HTMLElement>) => any;\r\n\r\n /**\r\n * If set will show a grouped icon next to the column header name.\r\n */\r\n isGrouped?: boolean;\r\n\r\n /**\r\n * Arbitrary data passthrough which can be used by the caller.\r\n */\r\n data?: any;\r\n\r\n /**\r\n * Internal only value.\r\n */\r\n calculatedWidth?: number;\r\n\r\n /**\r\n * An optional class name to stick on the column cell within each header.\r\n */\r\n headerClassName?: string;\r\n}\r\n\r\n/**\r\n * Enum to describe how a particular column header behaves.... This enum is used to\r\n * to specify the property IColumn:columnActionsMode.\r\n * If IColumn:columnActionsMode is undefined, then it's equivalent to ColumnActionsMode.clickable\r\n */\r\nexport enum ColumnActionsMode {\r\n /**\r\n * Renders the column header as disabled.\r\n */\r\n disabled = 0,\r\n\r\n /**\r\n * Renders the column header is clickable.\r\n */\r\n clickable = 1,\r\n\r\n /**\r\n * Renders the column header ias clickable and displays the dropdown cheveron.\r\n */\r\n hasDropdown = 2\r\n}\r\n\r\nexport enum ConstrainMode {\r\n /** If specified, lets the content grow which allows the page to manage scrolling. */\r\n unconstrained = 0,\r\n\r\n /**\r\n * If specified, constrains the list to the given layout space.\r\n */\r\n horizontalConstrained = 1\r\n}\r\n\r\nexport enum DetailsListLayoutMode {\r\n /**\r\n * Lets the user resize columns and makes not attempt to fit them.\r\n */\r\n fixedColumns = 0,\r\n\r\n /**\r\n * Manages which columns are visible, tries to size them according to their min/max rules and drops\r\n * off columns that can't fit and have isCollapsable set.\r\n */\r\n justified = 1\r\n}\r\n\r\nexport enum CheckboxVisibility {\r\n /**\r\n * Visible on hover.\r\n */\r\n onHover = 0,\r\n\r\n /**\r\n * Visible always.\r\n */\r\n always = 1,\r\n\r\n /**\r\n * Hide checkboxes.\r\n */\r\n hidden = 2\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DetailsList/DetailsList.Props.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n autobind,\r\n css,\r\n getRTL\r\n} from '../../Utilities';\r\nimport { IColumn, DetailsListLayoutMode, ColumnActionsMode } from './DetailsList.Props';\r\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\r\nimport { Check } from '../../Check';\r\nimport { Icon } from '../../Icon';\r\nimport { Layer } from '../../Layer';\r\nimport { GroupSpacer } from '../GroupedList/GroupSpacer';\r\nimport { ISelection, SelectionMode, SELECTION_CHANGE } from '../../utilities/selection/interfaces';\r\nimport * as stylesImport from './DetailsHeader.scss';\r\nconst styles: any = stylesImport;\r\n\r\nconst MOUSEDOWN_PRIMARY_BUTTON = 0; // for mouse down event we are using ev.button property, 0 means left button\r\nconst MOUSEMOVE_PRIMARY_BUTTON = 1; // for mouse move event we are using ev.buttons property, 1 means left button\r\nconst INNER_PADDING = 16;\r\n\r\nexport interface IDetailsHeaderProps extends React.Props<DetailsHeader> {\r\n columns: IColumn[];\r\n selection: ISelection;\r\n selectionMode: SelectionMode;\r\n layoutMode: DetailsListLayoutMode;\r\n onColumnIsSizingChanged?: (column: IColumn, isSizing: boolean) => void;\r\n onColumnResized?: (column: IColumn, newWidth: number) => void;\r\n onColumnAutoResized?: (column: IColumn, columnIndex: number) => void;\r\n onColumnClick?: (ev: React.MouseEvent<HTMLElement>, column: IColumn) => void;\r\n onColumnContextMenu?: (column: IColumn, ev: Event) => void;\r\n groupNestingDepth?: number;\r\n isAllCollapsed?: boolean;\r\n onToggleCollapseAll?: (isAllCollapsed: boolean) => void;\r\n /** ariaLabel for the entire header */\r\n ariaLabel?: string;\r\n /** ariaLabel for the header checkbox that selects or deselects everything */\r\n ariaLabelForSelectAllCheckbox?: string;\r\n selectAllVisibility?: SelectAllVisibility;\r\n}\r\n\r\nexport enum SelectAllVisibility {\r\n none = 0,\r\n hidden = 1,\r\n visible = 2\r\n}\r\n\r\nexport interface IDetailsHeaderState {\r\n columnResizeDetails?: IColumnResizeDetails;\r\n isAllSelected?: boolean;\r\n isSizing?: boolean;\r\n groupNestingDepth?: number;\r\n isAllCollapsed?: boolean;\r\n}\r\n\r\nexport interface IColumnResizeDetails {\r\n columnIndex: number;\r\n originX: number;\r\n columnMinWidth: number;\r\n}\r\n\r\nexport class DetailsHeader extends BaseComponent<IDetailsHeaderProps, IDetailsHeaderState> {\r\n public static defaultProps = {\r\n isSelectAllVisible: SelectAllVisibility.visible\r\n };\r\n\r\n public refs: {\r\n [key: string]: React.ReactInstance;\r\n root: HTMLElement;\r\n focusZone: FocusZone;\r\n };\r\n\r\n constructor(props: IDetailsHeaderProps) {\r\n super(props);\r\n\r\n this.state = {\r\n columnResizeDetails: null,\r\n groupNestingDepth: this.props.groupNestingDepth,\r\n isAllCollapsed: this.props.isAllCollapsed\r\n };\r\n\r\n this._onToggleCollapseAll = this._onToggleCollapseAll.bind(this);\r\n this._onSelectAllClicked = this._onSelectAllClicked.bind(this);\r\n }\r\n\r\n public componentDidMount() {\r\n let { selection } = this.props;\r\n\r\n this._events.on(selection, SELECTION_CHANGE, this._onSelectionChanged);\r\n\r\n // We need to use native on this to avoid MarqueeSelection from handling the event before us.\r\n this._events.on(this.refs.root, 'mousedown', this._onRootMouseDown);\r\n }\r\n\r\n public componentWillReceiveProps(newProps) {\r\n let { groupNestingDepth } = this.state;\r\n\r\n if (newProps.groupNestingDepth !== groupNestingDepth) {\r\n this.setState({ groupNestingDepth: newProps.groupNestingDepth });\r\n }\r\n }\r\n\r\n public render() {\r\n let { columns, ariaLabel, ariaLabelForSelectAllCheckbox, selectAllVisibility } = this.props;\r\n let { isAllSelected, columnResizeDetails, isSizing, groupNestingDepth, isAllCollapsed } = this.state;\r\n\r\n return (\r\n <div\r\n role='row'\r\n aria-label={ ariaLabel }\r\n className={ css('ms-DetailsHeader', styles.root, {\r\n ['is-allSelected ' + styles.rootIsAllSelected]: isAllSelected,\r\n ['is-selectAllHidden ' + styles.rootIsSelectAllHidden]: selectAllVisibility === SelectAllVisibility.hidden,\r\n 'is-resizingColumn': !!columnResizeDetails && isSizing,\r\n }) }\r\n ref='root'\r\n onMouseMove={ this._onRootMouseMove }\r\n data-automationid='DetailsHeader'>\r\n <FocusZone ref='focusZone' direction={ FocusZoneDirection.horizontal }>\r\n { (selectAllVisibility !== SelectAllVisibility.none) ? (\r\n <div className={ css('ms-DetailsHeader-cellWrapper', styles.cellWrapper) } role='columnheader'>\r\n <button\r\n type='button'\r\n className={ css('ms-DetailsHeader-cell is-check', styles.cell, styles.cellIsCheck) }\r\n onClick={ this._onSelectAllClicked }\r\n aria-label={ ariaLabelForSelectAllCheckbox }\r\n aria-pressed={ isAllSelected }\r\n >\r\n <Check checked={ isAllSelected } />\r\n </button>\r\n </div>\r\n ) : null }\r\n { groupNestingDepth > 0 ? (\r\n <button\r\n type='button'\r\n className={ css('ms-DetailsHeader-cell', styles.cell) }\r\n onClick={ this._onToggleCollapseAll }>\r\n <Icon\r\n className={ css(\r\n 'ms-DetailsHeader-collapseButton',\r\n styles.collapseButton,\r\n isAllCollapsed && ('is-collapsed ' + styles.collapseButtonIsCollapsed)\r\n ) }\r\n iconName='ChevronDown'\r\n />\r\n </button>\r\n ) : (null) }\r\n { GroupSpacer({ count: groupNestingDepth - 1 }) }\r\n { columns.map((column, columnIndex) => (\r\n <div\r\n key={ column.key }\r\n className={ css('ms-DetailsHeader-cellWrapper', styles.cellWrapper) }\r\n role='columnheader'\r\n aria-sort={ column.isSorted ? (column.isSortedDescending ? 'descending' : 'ascending') : 'none' }\r\n >\r\n <button\r\n type='button'\r\n key={ column.fieldName }\r\n disabled={ column.columnActionsMode === ColumnActionsMode.disabled }\r\n className={ css(\r\n 'ms-DetailsHeader-cell',\r\n styles.cell,\r\n column.headerClassName, {\r\n ['is-actionable ' + styles.cellIsActionable]: column.columnActionsMode !== ColumnActionsMode.disabled,\r\n ['is-empty ' + styles.cellIsEmpty]: !column.name,\r\n 'is-icon-visible': column.isSorted || column.isGrouped || column.isFiltered\r\n }) }\r\n style={ { width: column.calculatedWidth + INNER_PADDING } }\r\n onClick={ this._onColumnClick.bind(this, column) }\r\n onContextMenu={ this._onColumnContextMenu.bind(this, column) }\r\n aria-haspopup={ column.columnActionsMode === ColumnActionsMode.hasDropdown }\r\n aria-label={ column.ariaLabel || column.name }\r\n data-automationid='ColumnsHeaderColumn'\r\n data-item-key={ column.key }\r\n >\r\n\r\n { column.isFiltered && (\r\n <Icon className={ styles.nearIcon } iconName='Filter' />\r\n ) }\r\n\r\n { column.isSorted && (\r\n <Icon className={ styles.nearIcon } iconName={ column.isSortedDescending ? 'SortDown' : 'SortUp' } />\r\n ) }\r\n\r\n { column.isGrouped && (\r\n <Icon className={ styles.nearIcon } iconName='GroupedDescending' />\r\n ) }\r\n\r\n { column.iconClassName && (\r\n <Icon className={ css(styles.nearIcon, column.iconClassName) } iconName={ column.iconName } />\r\n ) }\r\n\r\n { column.name }\r\n\r\n { column.columnActionsMode === ColumnActionsMode.hasDropdown && (\r\n <Icon\r\n className={ css('ms-DetailsHeader-filterChevron', styles.filterChevron) }\r\n iconName='ChevronDown'\r\n />\r\n ) }\r\n </button>\r\n { (column.isResizable) && (\r\n <div\r\n data-sizer-index={ columnIndex }\r\n className={ css(\r\n 'ms-DetailsHeader-cell is-sizer',\r\n styles.cell,\r\n styles.cellIsSizer,\r\n {\r\n ['is-resizing ' + styles.cellIsResizing]: isSizing && columnResizeDetails.columnIndex === columnIndex\r\n }) }\r\n onDoubleClick={ this._onSizerDoubleClick.bind(this, columnIndex) }\r\n />\r\n ) }\r\n </div>\r\n )) }\r\n </FocusZone>\r\n { isSizing && (\r\n <Layer>\r\n <div\r\n className={ css(isSizing && styles.sizingOverlay) }\r\n onMouseMove={ this._onSizerMouseMove }\r\n onMouseUp={ this._onSizerMouseUp }\r\n />\r\n </Layer>\r\n ) }\r\n </div>\r\n );\r\n }\r\n\r\n /** Set focus to the active thing in the focus area. */\r\n public focus(): boolean {\r\n return this.refs.focusZone.focus();\r\n }\r\n\r\n /**\r\n * double click on the column sizer will auto ajust column width\r\n * to fit the longest content among current rendered rows.\r\n *\r\n * @private\r\n * @param {number} columnIndex (index of the column user double clicked)\r\n * @param {React.MouseEvent} ev (mouse double click event)\r\n */\r\n private _onSizerDoubleClick(columnIndex: number, ev: React.MouseEvent<HTMLElement>) {\r\n let { onColumnAutoResized, columns } = this.props;\r\n if (onColumnAutoResized) {\r\n onColumnAutoResized(columns[columnIndex], columnIndex);\r\n }\r\n }\r\n\r\n /**\r\n * Called when the select all toggle is clicked.\r\n */\r\n\r\n @autobind\r\n private _onSelectAllClicked() {\r\n let { selection } = this.props;\r\n\r\n selection.toggleAllSelected();\r\n }\r\n\r\n @autobind\r\n private _onRootMouseDown(ev: MouseEvent) {\r\n let columnIndexAttr = (ev.target as HTMLElement).getAttribute('data-sizer-index');\r\n let columnIndex = Number(columnIndexAttr);\r\n let { columns } = this.props;\r\n\r\n if (columnIndexAttr === null || ev.button !== MOUSEDOWN_PRIMARY_BUTTON) {\r\n // Ignore anything except the primary button.\r\n return;\r\n }\r\n\r\n this.setState({\r\n columnResizeDetails: {\r\n columnIndex: columnIndex,\r\n columnMinWidth: columns[columnIndex].calculatedWidth,\r\n originX: ev.clientX\r\n }\r\n });\r\n\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n\r\n @autobind\r\n private _onRootMouseMove(ev: React.MouseEvent<HTMLElement>) {\r\n let { columnResizeDetails, isSizing } = this.state;\r\n\r\n if (columnResizeDetails && !isSizing && ev.clientX !== columnResizeDetails.originX) {\r\n this.setState({ isSizing: true });\r\n }\r\n }\r\n\r\n /**\r\n * mouse move event handler in the header\r\n * it will set isSizing state to true when user clicked on the sizer and move the mouse.\r\n *\r\n * @private\r\n * @param {React.MouseEvent} ev (mouse move event)\r\n */\r\n @autobind\r\n private _onSizerMouseMove(ev: React.MouseEvent<HTMLElement>) {\r\n let {\r\n // use buttons property here since ev.button in some edge case is not upding well during the move.\r\n // but firefox doesn't support it, so we set the default value when it is not defined.\r\n buttons\r\n } = ev;\r\n let { onColumnIsSizingChanged, onColumnResized, columns } = this.props;\r\n let { columnResizeDetails } = this.state;\r\n\r\n if (buttons !== undefined && buttons !== MOUSEMOVE_PRIMARY_BUTTON) {\r\n // cancel mouse down event and return early when the primary button is not pressed\r\n this._onSizerMouseUp(ev);\r\n return;\r\n }\r\n\r\n if (ev.clientX !== columnResizeDetails.originX) {\r\n if (onColumnIsSizingChanged) {\r\n onColumnIsSizingChanged(columns[columnResizeDetails.columnIndex], true);\r\n }\r\n }\r\n\r\n if (onColumnResized) {\r\n let movement = ev.clientX - columnResizeDetails.originX;\r\n\r\n if (getRTL()) {\r\n movement = -movement;\r\n }\r\n\r\n onColumnResized(\r\n columns[columnResizeDetails.columnIndex],\r\n columnResizeDetails.columnMinWidth + movement\r\n );\r\n }\r\n\r\n }\r\n\r\n /**\r\n * mouse up event handler in the header\r\n * clear the resize related state.\r\n * This is to ensure we can catch double click event\r\n *\r\n * @private\r\n * @param {React.MouseEvent} ev (mouse up event)\r\n */\r\n @autobind\r\n private _onSizerMouseUp(ev: React.MouseEvent<HTMLElement>) {\r\n let { columns, onColumnIsSizingChanged } = this.props;\r\n let { columnResizeDetails } = this.state;\r\n\r\n this.setState({\r\n columnResizeDetails: null,\r\n isSizing: false\r\n });\r\n\r\n if (onColumnIsSizingChanged) {\r\n onColumnIsSizingChanged(columns[columnResizeDetails.columnIndex], false);\r\n }\r\n }\r\n\r\n private _onSelectionChanged() {\r\n let isAllSelected = this.props.selection.isAllSelected();\r\n\r\n if (this.state.isAllSelected !== isAllSelected) {\r\n this.setState({\r\n isAllSelected: isAllSelected\r\n });\r\n }\r\n }\r\n\r\n private _onColumnClick(column, ev) {\r\n let { onColumnClick } = this.props;\r\n\r\n if (column.onColumnClick) {\r\n column.onColumnClick(ev, column);\r\n }\r\n\r\n if (onColumnClick) {\r\n onColumnClick(ev, column);\r\n }\r\n }\r\n\r\n private _onColumnContextMenu(column, ev) {\r\n let { onColumnContextMenu } = this.props;\r\n\r\n if (column.onContextMenu) {\r\n column.onColumnContextMenu(column, ev);\r\n }\r\n\r\n if (onColumnContextMenu) {\r\n onColumnContextMenu(column, ev);\r\n }\r\n }\r\n\r\n private _onToggleCollapseAll() {\r\n let { onToggleCollapseAll } = this.props;\r\n let newCollapsed = !this.state.isAllCollapsed;\r\n this.setState({\r\n isAllCollapsed: newCollapsed\r\n });\r\n if (onToggleCollapseAll) {\r\n onToggleCollapseAll(newCollapsed);\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DetailsList/DetailsHeader.tsx","export * from './components/Check/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Check.ts","export * from './Check';\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Check/index.ts","import * as React from 'react';\r\nimport { BaseComponent, css } from '../../Utilities';\r\nimport { Icon } from '../../Icon';\r\nimport * as stylesImport from './Check.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface ICheckProps extends React.Props<Check> {\r\n /**\r\n * Whether or not this menu item is currently checked.\r\n * @defaultvalue false\r\n */\r\n checked?: boolean;\r\n /**\r\n * Deprecated at v0.65.1 and will be removed by v 1.0. Use 'checked' instead.\r\n * @deprecated\r\n */\r\n isChecked?: boolean;\r\n\r\n alwaysShowCheck?: boolean;\r\n}\r\n\r\nexport class Check extends BaseComponent<ICheckProps, {}> {\r\n public static defaultProps = {\r\n isChecked: false\r\n };\r\n\r\n public shouldComponentUpdate(newProps: ICheckProps) {\r\n return this.props.isChecked !== newProps.isChecked || this.props.checked !== newProps.checked;\r\n }\r\n\r\n public render() {\r\n let { isChecked, checked } = this.props;\r\n\r\n isChecked = isChecked || checked;\r\n\r\n return (\r\n <div className={ css(\r\n 'ms-Check',\r\n styles.root,\r\n isChecked && ('is-checked ' + styles.rootIsChecked)\r\n ) }>\r\n <Icon\r\n className={ css('ms-Check-background', styles.background) }\r\n iconName='fullCircleMask'\r\n />\r\n <Icon\r\n className={ css('ms-Check-circle', styles.circle) }\r\n iconName='circleRing'\r\n />\r\n <Icon\r\n className={ css('ms-Check-check', styles.check) }\r\n iconName='checkMark'\r\n />\r\n </div>\r\n );\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Check/Check.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_62ed7d7f',\r\n rootIsChecked: 'rootIsChecked_62ed7d7f',\r\n background: 'background_62ed7d7f',\r\n circle: 'circle_62ed7d7f',\r\n check: 'check_62ed7d7f',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_62ed7d7f{line-height:1;width:24px;height:24px;vertical-align:top;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.rootIsChecked_62ed7d7f,.root_62ed7d7f:focus,.root_62ed7d7f:hover{opacity:1}.background_62ed7d7f,.check_62ed7d7f,.circle_62ed7d7f{position:absolute;height:24px;width:24px;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font-size:24px}.background_62ed7d7f{color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.rootIsChecked_62ed7d7f .background_62ed7d7f{color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.circle_62ed7d7f{color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}.rootIsChecked_62ed7d7f .circle_62ed7d7f{color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.check_62ed7d7f{width:auto;height:auto;color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\";font-size:12px}.rootIsChecked_62ed7d7f .check_62ed7d7f{color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";font-weight:900}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Check/Check.scss.ts","/* tslint:disable:no-unused-variable */\r\nimport * as React from 'react';\r\n/* tslint:enable:no-unused-variable */\r\nimport {\r\n css\r\n} from '../../Utilities';\r\nimport * as stylesImport from './GroupSpacer.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IGroupSpacerProps {\r\n count: number;\r\n}\r\n\r\nconst SPACER_WIDTH = 36;\r\n\r\nexport const GroupSpacer = (props: IGroupSpacerProps) =>\r\n props.count > 0 && (\r\n <span\r\n className={ css(\r\n 'ms-GroupSpacer',\r\n styles.root\r\n ) }\r\n style={ { width: props.count * SPACER_WIDTH } }\r\n />\r\n );\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/GroupedList/GroupSpacer.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_e4cefdbe',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_e4cefdbe{display:inline-block}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/GroupedList/GroupSpacer.scss.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_67d3f40a',\r\n rootIsSelectAllHidden: 'rootIsSelectAllHidden_67d3f40a',\r\n cell: 'cell_67d3f40a',\r\n cellIsCheck: 'cellIsCheck_67d3f40a',\r\n rootIsAllSelected: 'rootIsAllSelected_67d3f40a',\r\n cellWrapper: 'cellWrapper_67d3f40a',\r\n cellIsActionable: 'cellIsActionable_67d3f40a',\r\n cellIsSizer: 'cellIsSizer_67d3f40a',\r\n cellIsEmpty: 'cellIsEmpty_67d3f40a',\r\n cellIsResizing: 'cellIsResizing_67d3f40a',\r\n collapseButton: 'collapseButton_67d3f40a',\r\n collapseButtonIsCollapsed: 'collapseButtonIsCollapsed_67d3f40a',\r\n nearIcon: 'nearIcon_67d3f40a',\r\n filterChevron: 'filterChevron_67d3f40a',\r\n sizingOverlay: 'sizingOverlay_67d3f40a',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_67d3f40a{display:inline-block;min-width:100%;vertical-align:top;height:36px;line-height:36px;white-space:nowrap;padding-bottom:1px;border-bottom:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\";cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.root_67d3f40a.rootIsSelectAllHidden_67d3f40a .cell_67d3f40a.cellIsCheck_67d3f40a{visibility:hidden}.cell_67d3f40a.cellIsCheck_67d3f40a .ms-Check-circle{opacity:0}.cell_67d3f40a.cellIsCheck_67d3f40a:focus .ms-Check-circle,.cell_67d3f40a.cellIsCheck_67d3f40a:hover .ms-Check-circle,.root_67d3f40a.rootIsAllSelected_67d3f40a .ms-Check-circle{opacity:1}.cellWrapper_67d3f40a{display:inline-block;position:relative}.cell_67d3f40a{font-size:12px;font-weight:400;background:0 0;color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\";font-weight:400;position:relative;display:inline-block;box-sizing:border-box;padding:0 8px;border:none;line-height:inherit;margin:0;height:36px;vertical-align:top;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cell_67d3f40a::-moz-focus-inner{border:0}.cell_67d3f40a{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .cell_67d3f40a:focus:after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}html[dir=ltr] .cell_67d3f40a{text-align:left}html[dir=rtl] .cell_67d3f40a{text-align:right}html[dir=ltr] .cell_67d3f40a{text-align:left}html[dir=rtl] .cell_67d3f40a{text-align:right}.cell_67d3f40a.cellIsCheck_67d3f40a{position:relative;padding:6px;margin:0}.cell_67d3f40a.cellIsActionable_67d3f40a{color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}.cell_67d3f40a.cellIsActionable_67d3f40a:hover{color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";background:\"},{\"theme\":\"neutralLighterAlt\",\"defaultValue\":\"#f8f8f8\"},{\"rawString\":\"}.cell_67d3f40a.cellIsActionable_67d3f40a:active{background:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}.cell_67d3f40a.cellIsSizer_67d3f40a{position:absolute;width:16px;cursor:ew-resize;bottom:0;top:0;height:inherit;background:0 0}html[dir=ltr] .cell_67d3f40a.cellIsSizer_67d3f40a{margin-left:-10px}html[dir=rtl] .cell_67d3f40a.cellIsSizer_67d3f40a{margin-right:-10px}.cell_67d3f40a.cellIsEmpty_67d3f40a{text-overflow:clip}.cell_67d3f40a.cellIsSizer_67d3f40a:after{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\";opacity:0}.cell_67d3f40a.cellIsSizer_67d3f40a.cellIsResizing_67d3f40a:after,.cell_67d3f40a.cellIsSizer_67d3f40a:hover:after{opacity:1;transition:opacity .3s linear}.collapseButton_67d3f40a{text-align:center;-webkit-transform:rotate(-180deg);transform:rotate(-180deg);-webkit-transform-origin:50% 50%;transform-origin:50% 50%;transition:-webkit-transform .1s linear;transition:transform .1s linear;transition:transform .1s linear,-webkit-transform .1s linear;width:20px;outline:0}.collapseButton_67d3f40a.collapseButtonIsCollapsed_67d3f40a{-webkit-transform:rotate(0);transform:rotate(0)}.cell_67d3f40a .nearIcon_67d3f40a{color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\";opacity:1}html[dir=ltr] .cell_67d3f40a .nearIcon_67d3f40a{padding-right:4px}html[dir=rtl] .cell_67d3f40a .nearIcon_67d3f40a{padding-left:4px}.cell_67d3f40a .filterChevron_67d3f40a{color:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\";vertical-align:middle}[dir=ltr] .cell_67d3f40a .filterChevron_67d3f40a{padding-left:4px}[dir=rtl] .cell_67d3f40a .filterChevron_67d3f40a{padding-right:4px}.sizingOverlay_67d3f40a{position:absolute;left:0;top:0;right:0;bottom:0;cursor:ew-resize;background:rgba(255,255,255,0)}html[dir=ltr] .cell_67d3f40a .collapseButton_67d3f40a{padding-right:0}html[dir=rtl] .cell_67d3f40a .collapseButton_67d3f40a{padding-left:0}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DetailsList/DetailsHeader.scss.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n IDisposable,\r\n assign,\r\n css,\r\n shallowCompare,\r\n getNativeProps,\r\n divProperties\r\n} from '../../Utilities';\r\nimport { IColumn, CheckboxVisibility } from './DetailsList.Props';\r\nimport { DetailsRowCheck, IDetailsRowCheckProps } from './DetailsRowCheck';\r\nimport { GroupSpacer } from '../GroupedList/GroupSpacer';\r\nimport { DetailsRowFields } from './DetailsRowFields';\r\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\r\nimport { ISelection, SelectionMode, SELECTION_CHANGE } from '../../utilities/selection/interfaces';\r\nimport {\r\n IDragDropHelper,\r\n IDragDropEvents,\r\n IDragDropOptions,\r\n} from './../../utilities/dragdrop/interfaces';\r\nimport { IViewport } from '../../utilities/decorators/withViewport';\r\nimport * as stylesImport from './DetailsRow.scss';\r\nconst styles: any = stylesImport;\r\nimport { AnimationClassNames } from '../../Styling';\r\n\r\nexport interface IDetailsRowProps extends React.Props<DetailsRow> {\r\n item: any;\r\n itemIndex: number;\r\n columns: IColumn[];\r\n selectionMode: SelectionMode;\r\n selection: ISelection;\r\n eventsToRegister?: { eventName: string, callback: (item?: any, index?: number, event?: any) => void }[];\r\n onDidMount?: (row?: DetailsRow) => void;\r\n onWillUnmount?: (row?: DetailsRow) => void;\r\n onRenderCheck?: (props: IDetailsRowCheckProps) => JSX.Element;\r\n onRenderItemColumn?: (item?: any, index?: number, column?: IColumn) => any;\r\n dragDropEvents?: IDragDropEvents;\r\n dragDropHelper?: IDragDropHelper;\r\n groupNestingDepth?: number;\r\n viewport?: IViewport;\r\n checkboxVisibility?: CheckboxVisibility;\r\n getRowAriaLabel?: (item: any) => string;\r\n checkButtonAriaLabel?: string;\r\n}\r\n\r\nexport interface IDetailsRowSelectionState {\r\n isSelected: boolean;\r\n anySelected: boolean;\r\n}\r\n\r\nexport interface IDetailsRowState {\r\n selectionState?: IDetailsRowSelectionState;\r\n columnMeasureInfo?: {\r\n index: number;\r\n column: IColumn;\r\n onMeasureDone: (measuredWidth: number) => void;\r\n };\r\n isDropping?: boolean;\r\n groupNestingDepth?: number;\r\n}\r\n\r\nconst DEFAULT_DROPPING_CSS_CLASS = 'is-dropping';\r\n\r\nexport class DetailsRow extends BaseComponent<IDetailsRowProps, IDetailsRowState> {\r\n public refs: {\r\n [key: string]: React.ReactInstance,\r\n root: HTMLElement,\r\n cellMeasurer: HTMLElement\r\n };\r\n\r\n private _hasSetFocus: boolean;\r\n private _droppingClassNames: string;\r\n private _hasMounted: boolean;\r\n private _dragDropSubscription: IDisposable;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n selectionState: this._getSelectionState(props),\r\n columnMeasureInfo: null,\r\n isDropping: false,\r\n groupNestingDepth: props.groupNestingDepth\r\n };\r\n\r\n this._hasSetFocus = false;\r\n\r\n this._droppingClassNames = '';\r\n this._updateDroppingState = this._updateDroppingState.bind(this);\r\n }\r\n\r\n public componentDidMount() {\r\n let { dragDropHelper } = this.props;\r\n\r\n if (dragDropHelper) {\r\n this._dragDropSubscription = dragDropHelper.subscribe(this.refs.root, this._events, this._getRowDragDropOptions());\r\n }\r\n\r\n this._events.on(this.props.selection, SELECTION_CHANGE, this._onSelectionChanged);\r\n\r\n if (this.props.onDidMount && this.props.item) {\r\n // If the item appears later, we should wait for it before calling this method.\r\n this._hasMounted = true;\r\n this.props.onDidMount(this);\r\n }\r\n }\r\n\r\n public componentDidUpdate(previousProps: IDetailsRowProps) {\r\n let state = this.state;\r\n let { item, onDidMount } = this.props;\r\n let { columnMeasureInfo } = state;\r\n\r\n if (this.props.itemIndex !== previousProps.itemIndex ||\r\n this.props.item !== previousProps.item ||\r\n this.props.dragDropHelper !== previousProps.dragDropHelper) {\r\n if (this._dragDropSubscription) {\r\n this._dragDropSubscription.dispose();\r\n delete this._dragDropSubscription;\r\n }\r\n\r\n if (this.props.dragDropHelper) {\r\n this._dragDropSubscription = this.props.dragDropHelper.subscribe(this.refs.root, this._events, this._getRowDragDropOptions());\r\n }\r\n }\r\n\r\n if (columnMeasureInfo && columnMeasureInfo.index >= 0) {\r\n let newWidth = this.refs.cellMeasurer.getBoundingClientRect().width;\r\n\r\n columnMeasureInfo.onMeasureDone(newWidth);\r\n\r\n this.setState({\r\n columnMeasureInfo: null\r\n });\r\n }\r\n\r\n if (item && onDidMount && !this._hasMounted) {\r\n this._hasMounted = true;\r\n onDidMount(this);\r\n }\r\n }\r\n\r\n public componentWillUnmount() {\r\n let { item, onWillUnmount } = this.props;\r\n\r\n // Only call the onWillUnmount callback if we have an item.\r\n if (onWillUnmount && item) {\r\n onWillUnmount(this);\r\n }\r\n\r\n if (this._dragDropSubscription) {\r\n this._dragDropSubscription.dispose();\r\n delete this._dragDropSubscription;\r\n }\r\n }\r\n\r\n public componentWillReceiveProps(newProps: IDetailsRowProps) {\r\n this.setState({\r\n selectionState: this._getSelectionState(newProps),\r\n groupNestingDepth: newProps.groupNestingDepth\r\n });\r\n }\r\n\r\n public render() {\r\n const {\r\n columns,\r\n dragDropEvents,\r\n item,\r\n itemIndex,\r\n onRenderCheck = this._onRenderCheck,\r\n onRenderItemColumn,\r\n selectionMode,\r\n viewport,\r\n checkboxVisibility,\r\n getRowAriaLabel,\r\n checkButtonAriaLabel,\r\n selection\r\n } = this.props;\r\n const { selectionState: { isSelected, anySelected }, columnMeasureInfo, isDropping, groupNestingDepth } = this.state;\r\n const isDraggable = Boolean(dragDropEvents && dragDropEvents.canDrag && dragDropEvents.canDrag(item));\r\n const droppingClassName = isDropping ? (this._droppingClassNames ? this._droppingClassNames : DEFAULT_DROPPING_CSS_CLASS) : '';\r\n const ariaLabel = getRowAriaLabel ? getRowAriaLabel(item) : null;\r\n const canSelect = selection.canSelectItem(item);\r\n const isContentUnselectable = selectionMode === SelectionMode.multiple;\r\n\r\n return (\r\n <div\r\n {...getNativeProps(this.props, divProperties) }\r\n ref='root'\r\n role='row'\r\n aria-label={ ariaLabel }\r\n className={ css(\r\n 'ms-DetailsRow',\r\n AnimationClassNames.fadeIn400,\r\n styles.root,\r\n droppingClassName,\r\n {\r\n ['is-contentUnselectable ' + styles.rootIsContentUnselectable]: isContentUnselectable,\r\n ['is-selected ' + styles.rootIsSelected]: isSelected,\r\n ['is-check-visible ' + styles.rootIsCheckVisible]: checkboxVisibility === CheckboxVisibility.always\r\n }) }\r\n data-is-focusable={ true }\r\n data-selection-index={ itemIndex }\r\n data-item-index={ itemIndex }\r\n aria-rowindex={ itemIndex }\r\n data-is-draggable={ isDraggable }\r\n draggable={ isDraggable }\r\n data-automationid='DetailsRow'\r\n style={ { minWidth: viewport ? viewport.width : 0 } }\r\n aria-selected={ isSelected }\r\n >\r\n <FocusZone direction={ FocusZoneDirection.horizontal }>\r\n { (selectionMode !== SelectionMode.none && checkboxVisibility !== CheckboxVisibility.hidden) && (\r\n <span role='gridcell'>\r\n { onRenderCheck({\r\n isSelected,\r\n anySelected,\r\n ariaLabel: checkButtonAriaLabel,\r\n canSelect\r\n }) }\r\n </span>\r\n ) }\r\n\r\n { GroupSpacer({ count: groupNestingDepth }) }\r\n\r\n { item && (\r\n <DetailsRowFields\r\n columns={ columns }\r\n item={ item }\r\n itemIndex={ itemIndex }\r\n onRenderItemColumn={ onRenderItemColumn } />\r\n ) }\r\n\r\n { columnMeasureInfo && (\r\n <span\r\n className={ css('ms-DetailsRow-cellMeasurer ms-DetailsRow-cell', styles.cellMeasurer, styles.cell) }\r\n ref='cellMeasurer'\r\n >\r\n <DetailsRowFields\r\n columns={ [columnMeasureInfo.column] }\r\n item={ item }\r\n itemIndex={ itemIndex }\r\n onRenderItemColumn={ onRenderItemColumn } />\r\n </span>\r\n ) }\r\n </FocusZone>\r\n </div>\r\n );\r\n }\r\n\r\n /**\r\n * measure cell at index. and call the call back with the measured cell width when finish measure\r\n *\r\n * @param {number} index (the cell index)\r\n * @param {(width: number) => void} onMeasureDone (the call back function when finish measure)\r\n */\r\n public measureCell(index: number, onMeasureDone: (width: number) => void) {\r\n let column = assign({}, this.props.columns[index]) as IColumn;\r\n\r\n column.minWidth = 0;\r\n column.maxWidth = 999999;\r\n\r\n delete column.calculatedWidth;\r\n\r\n this.setState({\r\n columnMeasureInfo: {\r\n index,\r\n column,\r\n onMeasureDone\r\n }\r\n });\r\n }\r\n\r\n public focus() {\r\n if (this.refs && this.refs.root) {\r\n this.refs.root.tabIndex = 0;\r\n this.refs.root.focus();\r\n }\r\n }\r\n\r\n protected _onRenderCheck(props: IDetailsRowCheckProps) {\r\n return <DetailsRowCheck { ...props } />;\r\n }\r\n\r\n private _getSelectionState(props: IDetailsRowProps): IDetailsRowSelectionState {\r\n let { itemIndex, selection } = props;\r\n\r\n return {\r\n isSelected: selection.isIndexSelected(itemIndex),\r\n anySelected: selection.getSelectedCount() > 0\r\n };\r\n }\r\n\r\n private _onSelectionChanged() {\r\n let selectionState = this._getSelectionState(this.props);\r\n\r\n if (!shallowCompare(selectionState, this.state.selectionState)) {\r\n this.setState({\r\n selectionState: selectionState\r\n });\r\n }\r\n }\r\n\r\n private _getRowDragDropOptions(): IDragDropOptions {\r\n const {\r\n item,\r\n itemIndex,\r\n dragDropEvents,\r\n eventsToRegister\r\n } = this.props;\r\n let options = {\r\n eventMap: eventsToRegister,\r\n selectionIndex: itemIndex,\r\n context: { data: item, index: itemIndex },\r\n canDrag: dragDropEvents.canDrag,\r\n canDrop: dragDropEvents.canDrop,\r\n onDragStart: dragDropEvents.onDragStart,\r\n updateDropState: this._updateDroppingState,\r\n onDrop: dragDropEvents.onDrop,\r\n onDragEnd: dragDropEvents.onDragEnd,\r\n };\r\n\r\n return options;\r\n }\r\n\r\n /**\r\n * update isDropping state based on the input value, which is used to change style during drag and drop\r\n *\r\n * when change to true, that means drag enter. we will add default dropping class name\r\n * or the custom dropping class name (return result from onDragEnter) to the root elemet.\r\n *\r\n * when change to false, that means drag leave. we will remove the dropping class name from root element.\r\n *\r\n * @private\r\n * @param {boolean} newValue (new isDropping state value)\r\n * @param {DragEvent} event (the event trigger dropping state change which can be dragenter, dragleave etc)\r\n */\r\n private _updateDroppingState(newValue: boolean, event: DragEvent) {\r\n let { selectionState, isDropping } = this.state;\r\n let { dragDropEvents, item } = this.props;\r\n\r\n if (!newValue) {\r\n if (dragDropEvents.onDragLeave) {\r\n dragDropEvents.onDragLeave(item, event);\r\n }\r\n } else {\r\n if (dragDropEvents.onDragEnter) {\r\n this._droppingClassNames = dragDropEvents.onDragEnter(item, event);\r\n }\r\n }\r\n\r\n if (isDropping !== newValue) {\r\n this.setState({ selectionState: selectionState, isDropping: newValue });\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DetailsList/DetailsRow.tsx","/* tslint:disable:no-unused-variable */\r\nimport * as React from 'react';\r\n/* tslint:enable:no-unused-variable */\r\nimport { css } from '../../Utilities';\r\nimport { Check } from '../../Check';\r\nimport * as stylesImport from './DetailsRow.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IDetailsRowCheckProps {\r\n selected?: boolean;\r\n /**\r\n * Deprecated at v.65.1 and will be removed by v 1.0. Use 'selected' instead.\r\n * @deprecated\r\n */\r\n isSelected?: boolean;\r\n anySelected: boolean;\r\n ariaLabel: string;\r\n canSelect: boolean;\r\n}\r\n\r\nexport const DetailsRowCheck = (props: IDetailsRowCheckProps) => {\r\n let selected = props.isSelected || props.selected;\r\n return (\r\n <button\r\n type='button'\r\n className={ css('ms-DetailsRow-check', styles.check, {\r\n [styles.checkDisabled]: !props.canSelect,\r\n 'ms-DetailsRow-check--isDisabled': !props.canSelect\r\n }) }\r\n role='button'\r\n aria-pressed={ selected }\r\n data-selection-toggle={ true }\r\n data-automationid='DetailsRowCheck'\r\n aria-label={ props.ariaLabel }\r\n >\r\n <Check checked={ selected } />\r\n </button>\r\n );\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DetailsList/DetailsRowCheck.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_4b15dcc8',\r\n rootIsSelected: 'rootIsSelected_4b15dcc8',\r\n rootIsContentUnselectable: 'rootIsContentUnselectable_4b15dcc8',\r\n cell: 'cell_4b15dcc8',\r\n isMultiline: 'isMultiline_4b15dcc8',\r\n fields: 'fields_4b15dcc8',\r\n check: 'check_4b15dcc8',\r\n checkDisabled: 'checkDisabled_4b15dcc8',\r\n rootIsCheckVisible: 'rootIsCheckVisible_4b15dcc8',\r\n cellMeasurer: 'cellMeasurer_4b15dcc8',\r\n checkSpacer: 'checkSpacer_4b15dcc8',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_4b15dcc8{display:inline-block;min-width:100%;min-height:36px;margin:1px 0;vertical-align:top;white-space:nowrap;padding:0;box-sizing:border-box;background:0 0;border:none;vertical-align:top;line-height:16px}.root_4b15dcc8::-moz-focus-inner{border:0}.root_4b15dcc8{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .root_4b15dcc8:focus:after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}html[dir=ltr] .root_4b15dcc8{text-align:left}html[dir=rtl] .root_4b15dcc8{text-align:right}.root_4b15dcc8:hover{background:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\"}.rootIsSelected_4b15dcc8{background:\"},{\"theme\":\"neutralQuaternary\",\"defaultValue\":\"#d0d0d0\"},{\"rawString\":\"}.rootIsSelected_4b15dcc8:hover{background:\"},{\"theme\":\"neutralQuaternaryAlt\",\"defaultValue\":\"#dadada\"},{\"rawString\":\"}.rootIsContentUnselectable_4b15dcc8{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.cell_4b15dcc8{display:inline-block;position:relative;box-sizing:border-box;padding:10px 0;margin:0 8px;min-height:36px;vertical-align:top;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell_4b15dcc8>button{max-width:100%}.isMultiline_4b15dcc8{white-space:normal;word-break:break-word;text-overflow:clip}.fields_4b15dcc8{display:inline-block}.check_4b15dcc8{display:inline-block;cursor:default;padding:6px;box-sizing:border-box;vertical-align:top;background:0 0;border:none;opacity:0}.check_4b15dcc8::-moz-focus-inner{border:0}.check_4b15dcc8{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .check_4b15dcc8:focus:after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}.checkDisabled_4b15dcc8{visibility:hidden}.rootIsCheckVisible_4b15dcc8 .check_4b15dcc8,.rootIsSelected_4b15dcc8 .check_4b15dcc8,.root_4b15dcc8:hover .check_4b15dcc8{opacity:1}.cellMeasurer_4b15dcc8 .cell_4b15dcc8{overflow:visible;white-space:nowrap}.checkSpacer_4b15dcc8{display:inline-block;height:20px;width:20px}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DetailsList/DetailsRow.scss.ts","import * as React from 'react';\r\nimport { IColumn } from './DetailsList.Props';\r\nimport { BaseComponent, css } from '../../Utilities';\r\nimport * as stylesImport from './DetailsRow.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IDetailsRowFieldsProps {\r\n item: any;\r\n itemIndex: number;\r\n columns: IColumn[];\r\n onRenderItemColumn?: (item?: any, index?: number, column?: IColumn) => any;\r\n}\r\n\r\nexport interface IDetailsRowFieldsState {\r\n cellContent: React.ReactNode[];\r\n}\r\n\r\nexport class DetailsRowFields extends BaseComponent<IDetailsRowFieldsProps, IDetailsRowFieldsState> {\r\n constructor(props: IDetailsRowFieldsProps) {\r\n super();\r\n\r\n this.state = this._getState(props);\r\n }\r\n\r\n public componentWillReceiveProps(newProps: IDetailsRowFieldsProps) {\r\n this.setState(this._getState(newProps));\r\n }\r\n\r\n public render() {\r\n let { columns } = this.props;\r\n let { cellContent } = this.state;\r\n\r\n return (\r\n <div className={ css('ms-DetailsRow-fields', styles.fields) } data-automationid='DetailsRowFields'>\r\n { columns.map((column, columnIndex) => (\r\n <div\r\n key={ columnIndex }\r\n role={ column.isRowHeader ? 'rowheader' : 'gridcell' }\r\n aria-colindex={ columnIndex }\r\n className={ css('ms-DetailsRow-cell', styles.cell, column.className, {\r\n 'is-multiline': column.isMultiline,\r\n [styles.isMultiline]: column.isMultiline\r\n }) }\r\n style={ { width: column.calculatedWidth } }\r\n data-automationid='DetailsRowCell'\r\n data-automation-key={ column.key }>\r\n { cellContent[columnIndex] }\r\n </div>\r\n )) }\r\n </div>\r\n );\r\n }\r\n\r\n private _getState(props: IDetailsRowFieldsProps) {\r\n let { item, itemIndex, onRenderItemColumn } = props;\r\n\r\n return {\r\n cellContent: props.columns.map((column) => {\r\n let cellContent;\r\n\r\n try {\r\n let render = column.onRender || onRenderItemColumn;\r\n\r\n cellContent = render ? render(item, itemIndex, column) : this._getCellText(item, column);\r\n } catch (e) { /* no-op */ }\r\n\r\n return cellContent;\r\n })\r\n };\r\n }\r\n\r\n private _getCellText(item, column) {\r\n let value = (item && column && column.fieldName) ? item[column.fieldName] : '';\r\n\r\n if (value === null || value === undefined) {\r\n value = '';\r\n }\r\n\r\n return value;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DetailsList/DetailsRowFields.tsx","export * from './components/GroupedList/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/GroupedList.ts","export * from './GroupedList';\r\nexport * from './GroupedList.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/GroupedList/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n autobind,\r\n assign,\r\n css\r\n} from '../../Utilities';\r\nimport {\r\n IGroupedList,\r\n IGroupedListProps,\r\n IGroup\r\n} from './GroupedList.Props';\r\nimport {\r\n GroupedListSection\r\n} from './GroupedListSection';\r\nimport {\r\n List\r\n} from '../../List';\r\nimport {\r\n SelectionMode\r\n} from '../../utilities/selection/index';\r\nimport * as stylesImport from './GroupedList.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IGroupedListState {\r\n lastWidth?: number;\r\n lastSelectionMode?: SelectionMode;\r\n groups?: IGroup[];\r\n}\r\n\r\nexport class GroupedList extends BaseComponent<IGroupedListProps, IGroupedListState> implements IGroupedList {\r\n public static defaultProps = {\r\n selectionMode: SelectionMode.multiple,\r\n isHeaderVisible: true,\r\n groupProps: {}\r\n };\r\n\r\n public refs: {\r\n [key: string]: React.ReactInstance,\r\n root: HTMLElement,\r\n list: List\r\n };\r\n\r\n private _isSomeGroupExpanded: boolean;\r\n\r\n constructor(props: IGroupedListProps) {\r\n super(props);\r\n\r\n this._isSomeGroupExpanded = this._computeIsSomeGroupExpanded(props.groups);\r\n\r\n this.state = {\r\n lastWidth: 0,\r\n groups: props.groups\r\n };\r\n }\r\n\r\n public componentWillReceiveProps(newProps) {\r\n let {\r\n groups,\r\n selectionMode\r\n } = this.props;\r\n let shouldForceUpdates = false;\r\n\r\n if (newProps.groups !== groups) {\r\n this.setState({ groups: newProps.groups });\r\n shouldForceUpdates = true;\r\n }\r\n\r\n if (newProps.selectionMode !== selectionMode) {\r\n shouldForceUpdates = true;\r\n }\r\n\r\n if (shouldForceUpdates) {\r\n this._forceListUpdates();\r\n }\r\n }\r\n\r\n public render() {\r\n let {\r\n className\r\n } = this.props;\r\n let {\r\n groups\r\n } = this.state;\r\n\r\n return (\r\n <div\r\n ref='root'\r\n className={ css('ms-GroupedList', styles.root, className) }\r\n data-automationid='GroupedList'\r\n data-is-scrollable='false'\r\n role='grid'\r\n >\r\n { !groups ?\r\n this._renderGroup(null, 0) : (\r\n <List\r\n ref='list'\r\n items={ groups }\r\n onRenderCell={ this._renderGroup }\r\n getItemCountForPage={ () => 1 }\r\n />\r\n )\r\n }\r\n </div>\r\n );\r\n }\r\n\r\n public forceUpdate() {\r\n super.forceUpdate();\r\n this._forceListUpdates();\r\n }\r\n\r\n public toggleCollapseAll(allCollapsed: boolean) {\r\n let { groups } = this.state;\r\n let { groupProps } = this.props;\r\n let onToggleCollapseAll = groupProps && groupProps.onToggleCollapseAll;\r\n\r\n if (groups) {\r\n if (onToggleCollapseAll) {\r\n onToggleCollapseAll(allCollapsed);\r\n }\r\n\r\n for (let groupIndex = 0; groupIndex < groups.length; groupIndex++) {\r\n groups[groupIndex].isCollapsed = allCollapsed;\r\n }\r\n\r\n this._updateIsSomeGroupExpanded();\r\n\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n @autobind\r\n private _renderGroup(group, groupIndex) {\r\n let {\r\n dragDropEvents,\r\n dragDropHelper,\r\n eventsToRegister,\r\n groupProps,\r\n items,\r\n listProps,\r\n onRenderCell,\r\n selectionMode,\r\n selection,\r\n viewport\r\n } = this.props;\r\n\r\n // override group header/footer props as needed\r\n let dividerProps = {\r\n onToggleSelectGroup: this._onToggleSelectGroup,\r\n onToggleCollapse: this._onToggleCollapse,\r\n onToggleSummarize: this._onToggleSummarize\r\n };\r\n\r\n let headerProps = assign({}, groupProps.headerProps, dividerProps);\r\n let footerProps = assign({}, groupProps.footerProps, dividerProps);\r\n let groupNestingDepth = this._getGroupNestingDepth();\r\n\r\n return (!group || group.count > 0) ? (\r\n <GroupedListSection\r\n ref={ 'group_' + groupIndex }\r\n key={ this._getGroupKey(group, groupIndex) }\r\n dragDropEvents={ dragDropEvents }\r\n dragDropHelper={ dragDropHelper }\r\n eventsToRegister={ eventsToRegister }\r\n footerProps={ footerProps }\r\n getGroupItemLimit={ groupProps && groupProps.getGroupItemLimit }\r\n group={ group }\r\n groupIndex={ groupIndex }\r\n groupNestingDepth={ groupNestingDepth }\r\n headerProps={ headerProps }\r\n listProps={ listProps }\r\n items={ items }\r\n onRenderCell={ onRenderCell }\r\n onRenderGroupHeader={ groupProps.onRenderHeader }\r\n onRenderGroupFooter={ groupProps.onRenderFooter }\r\n selectionMode={ selectionMode }\r\n selection={ selection }\r\n viewport={ viewport }\r\n />\r\n ) : null;\r\n }\r\n\r\n private _getGroupKey(group: IGroup, index: number): string {\r\n return 'group-' + ((group && group.key) ? group.key : String(index));\r\n }\r\n\r\n private _getGroupNestingDepth(): number {\r\n let { groups } = this.state;\r\n let level = 0;\r\n let groupsInLevel = groups;\r\n\r\n while (groupsInLevel && groupsInLevel.length > 0) {\r\n level++;\r\n groupsInLevel = groupsInLevel[0].children;\r\n }\r\n\r\n return level;\r\n }\r\n\r\n @autobind\r\n private _onToggleCollapse(group: IGroup) {\r\n let { groupProps } = this.props;\r\n let onToggleCollapse = groupProps && groupProps.headerProps && groupProps.headerProps.onToggleCollapse;\r\n\r\n if (group) {\r\n if (onToggleCollapse) {\r\n onToggleCollapse(group);\r\n }\r\n\r\n group.isCollapsed = !group.isCollapsed;\r\n this._updateIsSomeGroupExpanded();\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n @autobind\r\n private _onToggleSelectGroup(group: IGroup) {\r\n if (group) {\r\n this.props.selection.toggleRangeSelected(group.startIndex, group.count);\r\n }\r\n }\r\n\r\n private _forceListUpdates(groups?: IGroup[]) {\r\n groups = groups || this.state.groups;\r\n\r\n let groupCount = groups ? groups.length : 1;\r\n\r\n if (this.refs.list) {\r\n this.refs.list.forceUpdate();\r\n\r\n for (let i = 0; i < groupCount; i++) {\r\n let group = this.refs.list.refs['group_' + String(i)] as GroupedListSection;\r\n if (group) {\r\n group.forceListUpdate();\r\n }\r\n }\r\n } else {\r\n let group = this.refs['group_' + String(0)] as GroupedListSection;\r\n if (group) {\r\n group.forceListUpdate();\r\n }\r\n }\r\n }\r\n\r\n @autobind\r\n private _onToggleSummarize(group: IGroup) {\r\n let { groupProps } = this.props;\r\n let onToggleSummarize = groupProps && groupProps.footerProps && groupProps.footerProps.onToggleSummarize;\r\n\r\n if (onToggleSummarize) {\r\n onToggleSummarize(group);\r\n } else {\r\n if (group) {\r\n group.isShowingAll = !group.isShowingAll;\r\n }\r\n\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n private _computeIsSomeGroupExpanded(groups: IGroup[]) {\r\n return groups && groups.some(group => group.children ? this._computeIsSomeGroupExpanded(group.children) : !group.isCollapsed);\r\n }\r\n\r\n private _updateIsSomeGroupExpanded() {\r\n let { groups } = this.state;\r\n let { onGroupExpandStateChanged } = this.props;\r\n\r\n let newIsSomeGroupExpanded = this._computeIsSomeGroupExpanded(groups);\r\n if (this._isSomeGroupExpanded !== newIsSomeGroupExpanded) {\r\n if (onGroupExpandStateChanged) {\r\n onGroupExpandStateChanged(newIsSomeGroupExpanded);\r\n }\r\n this._isSomeGroupExpanded = newIsSomeGroupExpanded;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/GroupedList/GroupedList.tsx","import * as React from 'react';\r\nimport {\r\n IGroup,\r\n IGroupDividerProps\r\n} from './GroupedList.Props';\r\n\r\nimport {\r\n IDragDropContext,\r\n IDragDropEvents,\r\n IDragDropHelper\r\n} from '../../utilities/dragdrop/index';\r\n\r\nimport {\r\n BaseComponent,\r\n IRenderFunction,\r\n IDisposable,\r\n autobind\r\n} from '../../Utilities';\r\n\r\nimport {\r\n ISelection,\r\n SelectionMode,\r\n SELECTION_CHANGE\r\n} from '../../utilities/selection/index';\r\n\r\nimport { GroupFooter } from './GroupFooter';\r\nimport { GroupHeader } from './GroupHeader';\r\n\r\nimport {\r\n List\r\n} from '../../List';\r\nimport {\r\n IDragDropOptions\r\n} from './../../utilities/dragdrop/interfaces';\r\nimport { assign, css } from '../../Utilities';\r\nimport { IViewport } from '../../utilities/decorators/withViewport';\r\nimport * as stylesImport from './GroupedList.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IGroupedListSectionProps extends React.Props<GroupedListSection> {\r\n /** Map of callback functions related to drag and drop functionality. */\r\n dragDropEvents?: IDragDropEvents;\r\n\r\n /** helper to manage drag/drop across item rows and groups */\r\n dragDropHelper?: IDragDropHelper;\r\n\r\n /** Event names and corresponding callbacks that will be registered to the group and the rendered elements */\r\n eventsToRegister?: { eventName: string, callback: (context: IDragDropContext, event?: any) => void }[];\r\n\r\n /** Information to pass in to the group footer. */\r\n footerProps?: IGroupDividerProps;\r\n\r\n /** Grouping item limit. */\r\n getGroupItemLimit?: (group: IGroup) => number;\r\n\r\n /** Optional grouping instructions. */\r\n groupIndex?: number;\r\n\r\n /** Optional group nesting level. */\r\n groupNestingDepth?: number;\r\n\r\n /** Optional grouping instructions. */\r\n group?: IGroup;\r\n\r\n /** Information to pass in to the group header. */\r\n headerProps?: IGroupDividerProps;\r\n\r\n /** List of items to render. */\r\n items: any[];\r\n\r\n /** Optional list props to pass to list renderer. */\r\n listProps?: any;\r\n\r\n /** Rendering callback to render the group items. */\r\n onRenderCell: (\r\n nestingDepth?: number,\r\n item?: any,\r\n index?: number\r\n ) => React.ReactNode;\r\n\r\n /** Optional selection model to track selection state. */\r\n selection?: ISelection;\r\n\r\n /** Controls how/if the details list manages selection. */\r\n selectionMode?: SelectionMode;\r\n\r\n /** Optional Viewport, provided by the parent component. */\r\n viewport?: IViewport;\r\n\r\n /** Override for rendering the group header. */\r\n onRenderGroupHeader?: IRenderFunction<IGroupDividerProps>;\r\n\r\n /** Override for rendering the group footer. */\r\n onRenderGroupFooter?: IRenderFunction<IGroupDividerProps>;\r\n}\r\n\r\nexport interface IGroupedListSectionState {\r\n isDropping?: boolean;\r\n isSelected?: boolean;\r\n}\r\n\r\nconst DEFAULT_DROPPING_CSS_CLASS = 'is-dropping';\r\n\r\nexport class GroupedListSection extends BaseComponent<IGroupedListSectionProps, IGroupedListSectionState> {\r\n public refs: {\r\n [key: string]: React.ReactInstance,\r\n root: HTMLElement,\r\n list: List\r\n };\r\n\r\n private _subGroups: {\r\n [key: string]: GroupedListSection;\r\n };\r\n private _dragDropSubscription: IDisposable;\r\n\r\n constructor(props: IGroupedListSectionProps) {\r\n super(props);\r\n\r\n let { selection, group } = props;\r\n\r\n this._subGroups = {};\r\n this.state = {\r\n isDropping: false,\r\n isSelected: (selection && group) ? selection.isRangeSelected(group.startIndex, group.count) : false\r\n };\r\n }\r\n\r\n public componentDidMount() {\r\n let { dragDropHelper, selection } = this.props;\r\n\r\n if (dragDropHelper) {\r\n this._dragDropSubscription = dragDropHelper.subscribe(this.refs.root, this._events, this._getGroupDragDropOptions());\r\n }\r\n\r\n if (selection) {\r\n this._events.on(selection, SELECTION_CHANGE, this._onSelectionChange);\r\n }\r\n }\r\n\r\n public componentWillUnmount() {\r\n if (this._dragDropSubscription) {\r\n this._dragDropSubscription.dispose();\r\n }\r\n }\r\n\r\n public componentDidUpdate(previousProps: IGroupedListSectionProps) {\r\n if (this.props.group !== previousProps.group ||\r\n this.props.groupIndex !== previousProps.groupIndex ||\r\n this.props.dragDropHelper !== previousProps.dragDropHelper) {\r\n if (this._dragDropSubscription) {\r\n this._dragDropSubscription.dispose();\r\n delete this._dragDropSubscription;\r\n }\r\n\r\n if (this.props.dragDropHelper) {\r\n this._dragDropSubscription = this.props.dragDropHelper.subscribe(this.refs.root, this._events, this._getGroupDragDropOptions());\r\n }\r\n }\r\n }\r\n\r\n public render() {\r\n let {\r\n getGroupItemLimit,\r\n group,\r\n groupIndex,\r\n headerProps,\r\n footerProps,\r\n viewport,\r\n selectionMode,\r\n onRenderGroupHeader = this._onRenderGroupHeader,\r\n onRenderGroupFooter = this._onRenderGroupFooter\r\n } = this.props;\r\n let { isSelected } = this.state;\r\n let renderCount = group && getGroupItemLimit ? getGroupItemLimit(group) : Infinity;\r\n let isFooterVisible = group && !group.children && !group.isCollapsed && !group.isShowingAll &&\r\n (group.count > renderCount || group.hasMoreData);\r\n let hasNestedGroups = group && group.children && group.children.length > 0;\r\n\r\n let dividerProps: IGroupDividerProps = {\r\n group: group,\r\n groupIndex: groupIndex,\r\n groupLevel: group ? group.level : 0,\r\n isSelected,\r\n viewport: viewport,\r\n selectionMode: selectionMode\r\n };\r\n let groupHeaderProps: IGroupDividerProps = assign({}, headerProps, dividerProps);\r\n let groupFooterProps: IGroupDividerProps = assign({}, footerProps, dividerProps);\r\n\r\n return (\r\n <div\r\n ref='root'\r\n className={ css('ms-GroupedList-group', styles.group, this._getDroppingClassName()) }\r\n >\r\n { onRenderGroupHeader(groupHeaderProps, this._onRenderGroupHeader) }\r\n {\r\n group && group.isCollapsed ?\r\n null :\r\n (\r\n hasNestedGroups ?\r\n (\r\n <List\r\n ref='list'\r\n items={ group.children }\r\n onRenderCell={ this._renderSubGroup }\r\n getItemCountForPage={ () => 1 }\r\n />\r\n ) :\r\n this._onRenderGroup(renderCount)\r\n )\r\n }\r\n { isFooterVisible && onRenderGroupFooter(groupFooterProps, this._onRenderGroupFooter) }\r\n </div>\r\n );\r\n }\r\n\r\n public forceUpdate() {\r\n super.forceUpdate();\r\n this.forceListUpdate();\r\n }\r\n\r\n public forceListUpdate() {\r\n let { group } = this.props;\r\n\r\n if (this.refs.list) {\r\n this.refs.list.forceUpdate();\r\n\r\n if (group && group.children && group.children.length > 0) {\r\n let subGroupCount = group.children.length;\r\n\r\n for (let i = 0; i < subGroupCount; i++) {\r\n let subGroup = this.refs.list.refs['subGroup_' + String(i)] as GroupedListSection;\r\n\r\n if (subGroup) {\r\n subGroup.forceListUpdate();\r\n }\r\n }\r\n }\r\n } else {\r\n let subGroup = this.refs['subGroup_' + String(0)] as GroupedListSection;\r\n\r\n if (subGroup) {\r\n subGroup.forceListUpdate();\r\n }\r\n }\r\n }\r\n\r\n @autobind\r\n private _onRenderGroupHeader(props: IGroupDividerProps) {\r\n return <GroupHeader { ...props } />;\r\n }\r\n\r\n @autobind\r\n private _onRenderGroupFooter(props: IGroupDividerProps) {\r\n return <GroupFooter { ...props } />;\r\n }\r\n\r\n private _onSelectionChange() {\r\n let { group, selection } = this.props;\r\n let isSelected = selection.isRangeSelected(group.startIndex, group.count);\r\n\r\n if (isSelected !== this.state.isSelected) {\r\n this.setState({ isSelected });\r\n }\r\n }\r\n\r\n private _onRenderGroup(renderCount: number) {\r\n let {\r\n group,\r\n items,\r\n onRenderCell,\r\n listProps,\r\n groupNestingDepth\r\n } = this.props;\r\n let count = group ? group.count : items.length;\r\n let startIndex = group ? group.startIndex : 0;\r\n\r\n return (\r\n <List\r\n items={ items }\r\n onRenderCell={ (item, itemIndex) => onRenderCell(groupNestingDepth, item, itemIndex) }\r\n ref={ 'list' }\r\n renderCount={ Math.min(count, renderCount) }\r\n startIndex={ startIndex }\r\n { ...listProps }\r\n />\r\n );\r\n }\r\n\r\n @autobind\r\n private _renderSubGroup(subGroup, subGroupIndex) {\r\n let {\r\n dragDropEvents,\r\n dragDropHelper,\r\n eventsToRegister,\r\n getGroupItemLimit,\r\n groupNestingDepth,\r\n items,\r\n headerProps,\r\n footerProps,\r\n listProps,\r\n onRenderCell,\r\n selection,\r\n selectionMode,\r\n viewport,\r\n onRenderGroupHeader,\r\n onRenderGroupFooter\r\n } = this.props;\r\n\r\n return (!subGroup || subGroup.count > 0) ? (\r\n <GroupedListSection\r\n ref={ 'subGroup_' + subGroupIndex }\r\n key={ this._getGroupKey(subGroup, subGroupIndex) }\r\n dragDropEvents={ dragDropEvents }\r\n dragDropHelper={ dragDropHelper }\r\n eventsToRegister={ eventsToRegister }\r\n footerProps={ footerProps }\r\n getGroupItemLimit={ getGroupItemLimit }\r\n group={ subGroup }\r\n groupIndex={ subGroupIndex }\r\n groupNestingDepth={ groupNestingDepth }\r\n headerProps={ headerProps }\r\n items={ items }\r\n listProps={ listProps }\r\n onRenderCell={ onRenderCell }\r\n selection={ selection }\r\n selectionMode={ selectionMode }\r\n viewport={ viewport }\r\n onRenderGroupHeader={ onRenderGroupHeader }\r\n onRenderGroupFooter={ onRenderGroupFooter }\r\n />\r\n ) : null;\r\n }\r\n\r\n private _getGroupKey(group, index) {\r\n return 'group-' + ((group && group.key) ? group.key : String(group.level) + String(index));\r\n }\r\n\r\n /**\r\n * collect all the data we need to enable drag/drop for a group\r\n */\r\n @autobind\r\n private _getGroupDragDropOptions(): IDragDropOptions {\r\n let { group, groupIndex, dragDropEvents, eventsToRegister } = this.props;\r\n let options = {\r\n eventMap: eventsToRegister,\r\n selectionIndex: -1,\r\n context: { data: group, index: groupIndex, isGroup: true },\r\n canDrag: () => false, // cannot drag groups\r\n canDrop: dragDropEvents.canDrop,\r\n onDragStart: null,\r\n updateDropState: this._updateDroppingState\r\n };\r\n return options;\r\n }\r\n\r\n /**\r\n * update groupIsDropping state based on the input value, which is used to change style during drag and drop\r\n *\r\n * @private\r\n * @param {boolean} newValue (new isDropping state value)\r\n * @param {DragEvent} event (the event trigger dropping state change which can be dragenter, dragleave etc)\r\n */\r\n @autobind\r\n private _updateDroppingState(newIsDropping: boolean, event: DragEvent) {\r\n let { isDropping } = this.state;\r\n let { dragDropEvents } = this.props;\r\n\r\n if (!isDropping) {\r\n if (dragDropEvents.onDragLeave) {\r\n dragDropEvents.onDragLeave(event, null);\r\n }\r\n } else {\r\n if (dragDropEvents.onDragEnter) {\r\n dragDropEvents.onDragEnter(event, null);\r\n }\r\n }\r\n\r\n if (isDropping !== newIsDropping) {\r\n this.setState({ isDropping: newIsDropping });\r\n }\r\n }\r\n\r\n /**\r\n * get the correct css class to reflect the dropping state for a given group\r\n *\r\n * If the group is the current drop target, return the default dropping class name\r\n * Otherwise, return '';\r\n *\r\n */\r\n private _getDroppingClassName(): string {\r\n let { isDropping } = this.state;\r\n let { group } = this.props;\r\n\r\n isDropping = !!(group && isDropping);\r\n\r\n return css(\r\n isDropping && DEFAULT_DROPPING_CSS_CLASS,\r\n isDropping && styles.groupIsDropping\r\n );\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/GroupedList/GroupedListSection.tsx","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n autobind,\r\n css\r\n} from '../../Utilities';\r\nimport { Link } from '../../Link';\r\nimport { IGroupDividerProps } from './GroupedList.Props';\r\nimport { GroupSpacer } from './GroupSpacer';\r\nimport * as stylesImport from './GroupFooter.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport class GroupFooter extends BaseComponent<IGroupDividerProps, {}> {\r\n public render() {\r\n let { group, groupLevel, showAllLinkText } = this.props;\r\n\r\n return group && (\r\n <div className={ css('ms-groupFooter', styles.root) }>\r\n { GroupSpacer({ count: groupLevel }) }\r\n <Link onClick={ this._onSummarizeClick }>{ showAllLinkText }</Link>\r\n </div>\r\n );\r\n }\r\n\r\n @autobind\r\n private _onSummarizeClick(ev: React.MouseEvent<HTMLElement>) {\r\n this.props.onToggleSummarize(this.props.group);\r\n\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/GroupedList/GroupFooter.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_22983be9',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_22983be9{position:relative;padding:10px 84px;cursor:pointer}.root_22983be9 .ms-Link{font-size:12px}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/GroupedList/GroupFooter.scss.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n autobind,\r\n css\r\n} from '../../Utilities';\r\nimport { IGroupDividerProps } from './GroupedList.Props';\r\nimport { SelectionMode } from '../../utilities/selection/index';\r\nimport { Check } from '../../Check';\r\nimport { Icon } from '../../Icon';\r\nimport { GroupSpacer } from './GroupSpacer';\r\nimport { Spinner } from '../../Spinner';\r\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\r\nimport * as stylesImport from './GroupHeader.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IGroupHeaderState {\r\n isCollapsed: boolean;\r\n isLoadingVisible: boolean;\r\n}\r\n\r\nexport class GroupHeader extends BaseComponent<IGroupDividerProps, IGroupHeaderState> {\r\n constructor(props: IGroupDividerProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isCollapsed: this.props.group && this.props.group.isCollapsed,\r\n isLoadingVisible: false\r\n };\r\n }\r\n\r\n public componentWillReceiveProps(newProps) {\r\n if (newProps.group) {\r\n let newCollapsed = newProps.group.isCollapsed;\r\n let isGroupLoading = newProps.headerProps && newProps.headerProps.isGroupLoading;\r\n let newLoadingVisible = !newCollapsed && isGroupLoading && isGroupLoading(newProps.group);\r\n\r\n this.setState({\r\n isCollapsed: newCollapsed,\r\n isLoadingVisible: newLoadingVisible\r\n });\r\n }\r\n }\r\n\r\n public render() {\r\n let {\r\n group,\r\n groupLevel,\r\n viewport,\r\n selectionMode,\r\n loadingText,\r\n isSelected,\r\n selected,\r\n isCollapsedGroupSelectVisible\r\n } = this.props;\r\n let { isCollapsed, isLoadingVisible } = this.state;\r\n\r\n if (isCollapsedGroupSelectVisible === undefined) {\r\n isCollapsedGroupSelectVisible = true;\r\n }\r\n let canSelectGroup = selectionMode === SelectionMode.multiple;\r\n let isSelectionCheckVisible = canSelectGroup && (isCollapsedGroupSelectVisible || !(group && group.isCollapsed));\r\n let currentlySelected = isSelected || selected;\r\n return group && (\r\n <div\r\n className={ css('ms-GroupHeader', styles.root, {\r\n ['is-selected ' + styles.rootIsSelected]: currentlySelected\r\n }) }\r\n style={ viewport ? { minWidth: viewport.width } : {} }\r\n onClick={ this._onHeaderClick }\r\n aria-label={ group.ariaLabel || group.name }\r\n data-is-focusable={ true } >\r\n\r\n <FocusZone direction={ FocusZoneDirection.horizontal }>\r\n\r\n { isSelectionCheckVisible ? (\r\n <button\r\n type='button'\r\n className={ css('ms-GroupHeader-check', styles.check) }\r\n data-selection-toggle={ true }\r\n onClick={ this._onToggleSelectGroupClick } >\r\n <Check checked={ currentlySelected } />\r\n </button>\r\n ) : (selectionMode !== SelectionMode.none ? GroupSpacer({ count: 1 }) : null)\r\n }\r\n\r\n { GroupSpacer({ count: groupLevel }) }\r\n\r\n <div className={ css('ms-GroupHeader-dropIcon', styles.dropIcon) }>\r\n <Icon iconName='Tag' />\r\n </div>\r\n <button\r\n type='button'\r\n className={ css('ms-GroupHeader-expand', styles.expand) }\r\n onClick={ this._onToggleCollapse }>\r\n <Icon\r\n className={ css(\r\n isCollapsed && ('is-collapsed ' + styles.expandIsCollapsed)\r\n ) }\r\n iconName='ChevronDown'\r\n />\r\n </button>\r\n\r\n <div className={ css('ms-GroupHeader-title', styles.title) }>\r\n <span>{ group.name }</span>\r\n {\r\n // hasMoreData flag is set when grouping is throttle by SPO server which in turn resorts to regular\r\n // sorting to simulate grouping behaviors, in which case group count is the number of items returned\r\n // so far. That's the reasons we need to use \"+\" to show we might have more items than count\r\n // indicates.\r\n }\r\n <span>({ group.count }{ group.hasMoreData && '+' })</span>\r\n </div>\r\n\r\n <div\r\n className={ css(\r\n 'ms-GroupHeader-loading',\r\n styles.loading,\r\n isLoadingVisible && ('is-loading ' + styles.loadingIsVisible)\r\n ) }\r\n >\r\n <Spinner label={ loadingText } />\r\n </div>\r\n\r\n </FocusZone>\r\n </div>\r\n );\r\n }\r\n\r\n @autobind\r\n private _onToggleCollapse(ev: React.MouseEvent<HTMLElement>) {\r\n let { group, onToggleCollapse, isGroupLoading } = this.props;\r\n let { isCollapsed } = this.state;\r\n\r\n let newCollapsed = !isCollapsed;\r\n let newLoadingVisible = !newCollapsed && isGroupLoading && isGroupLoading(group);\r\n\r\n this.setState({\r\n isCollapsed: newCollapsed,\r\n isLoadingVisible: newLoadingVisible\r\n });\r\n if (onToggleCollapse) {\r\n onToggleCollapse(group);\r\n }\r\n\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n }\r\n\r\n @autobind\r\n private _onToggleSelectGroupClick(ev: React.MouseEvent<HTMLElement>) {\r\n let { onToggleSelectGroup, group } = this.props;\r\n\r\n if (onToggleSelectGroup) {\r\n onToggleSelectGroup(group);\r\n }\r\n\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n\r\n @autobind\r\n private _onHeaderClick() {\r\n let { group, onGroupHeaderClick, onToggleSelectGroup } = this.props;\r\n\r\n if (onGroupHeaderClick) {\r\n onGroupHeaderClick(group);\r\n } else if (onToggleSelectGroup) {\r\n onToggleSelectGroup(group);\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/GroupedList/GroupHeader.tsx","export * from './components/Spinner/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Spinner.ts","export * from './Spinner';\r\nexport * from './Spinner.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Spinner/index.ts","import * as React from 'react';\r\nimport { BaseComponent, css, DelayedRender } from '../../Utilities';\r\nimport { ISpinnerProps, SpinnerType, SpinnerSize } from './Spinner.Props';\r\nimport * as stylesImport from './Spinner.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport class Spinner extends BaseComponent<ISpinnerProps, any> {\r\n public static defaultProps: ISpinnerProps = {\r\n size: SpinnerSize.medium,\r\n ariaLive: 'polite'\r\n };\r\n\r\n public render() {\r\n let { type, size, label, className, ariaLive, ariaLabel } = this.props; // TODO remove deprecated type property at >= 2.0.0\r\n const statusMessage = ariaLabel || label;\r\n\r\n return (\r\n <div className={ css('ms-Spinner', styles.root, className) }>\r\n <div className={ css('ms-Spinner-circle', styles.circle,\r\n {\r\n ['ms-Spinner--xSmall ' + styles.circleIsXSmall]: size === SpinnerSize.xSmall,\r\n ['ms-Spinner--small ' + styles.circleIsSmall]: size === SpinnerSize.small,\r\n ['ms-Spinner--medium ' + styles.circleIsMedium]: size === SpinnerSize.medium,\r\n ['ms-Spinner--large ' + styles.circleIsLarge]: size === SpinnerSize.large,\r\n ['ms-Spinner--normal ' + styles.circleIsTypeMedium]: type === SpinnerType.normal, // TODO remove deprecated value at >= 2.0.0\r\n ['ms-Spinner--large ' + styles.circleIsTypeLarge]: type === SpinnerType.large // TODO remove deprecated value at >= 2.0.0\r\n })\r\n }>\r\n </div>\r\n {\r\n label && <div className={ css('ms-Spinner-label', styles.label) }>{ label }</div>\r\n }\r\n {\r\n statusMessage &&\r\n <div role='status' aria-live={ this.props.ariaLive }>\r\n <DelayedRender>\r\n <div className={ styles.screenReaderOnly }>{ statusMessage }</div>\r\n </DelayedRender>\r\n </div>\r\n }\r\n </div>\r\n );\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Spinner/Spinner.tsx","import * as React from 'react';\r\nimport { Spinner } from './Spinner';\r\n\r\nexport interface ISpinner {\r\n\r\n}\r\n\r\nexport interface ISpinnerProps extends React.Props<Spinner> {\r\n /**\r\n * Optional callback to access the ISpinner interface. Use this instead of ref for accessing\r\n * the public methods and properties of the component.\r\n */\r\n componentRef?: (component: ISpinner) => void;\r\n\r\n /**\r\n * Deprecated and will be removed at >= 2.0.0. Use SpinnerSize instead.\r\n * @deprecated\r\n */\r\n type?: SpinnerType;\r\n\r\n /**\r\n * The size of Spinner to render. { extraSmall, small, medium, large }\r\n * @default SpinnerType.medium\r\n */\r\n size?: SpinnerSize;\r\n\r\n /**\r\n * The label to show next to the Spinner. Label updates will be announced to the screen readers.\r\n * Use ariaLive to control politeness level.\r\n */\r\n label?: string;\r\n\r\n /**\r\n * Additional CSS class(es) to apply to the Spinner.\r\n */\r\n className?: string;\r\n\r\n /**\r\n * Politeness setting for label update announcement.\r\n * @default polite\r\n */\r\n ariaLive?: 'assertive' | 'polite' | 'off';\r\n\r\n /**\r\n * Alternative status label for screen reader\r\n */\r\n ariaLabel?: string;\r\n}\r\n\r\nexport enum SpinnerSize {\r\n /**\r\n * 12px Spinner diameter\r\n */\r\n xSmall = 0,\r\n\r\n /**\r\n * 16px Spinner diameter\r\n */\r\n small = 1,\r\n\r\n /**\r\n * 20px Spinner diameter\r\n */\r\n medium = 2,\r\n\r\n /**\r\n * 28px Spinner diameter\r\n */\r\n large = 3\r\n}\r\n\r\n/**\r\n * Deprecated at v2.0.0, use 'SpinnerSize' instead.\r\n * @deprecated\r\n */\r\nexport enum SpinnerType {\r\n /**\r\n * Deprecated and will be removed at >= 2.0.0. Use SpinnerSize.medium instead.\r\n */\r\n normal = 0,\r\n\r\n /**\r\n * Deprecated and will be removed at >= 2.0.0. Use SpinnerSize.large instead.\r\n */\r\n large = 1\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Spinner/Spinner.Props.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_43227b55',\r\n circle: 'circle_43227b55',\r\n spinAnimation: 'spinAnimation_43227b55',\r\n circleIsXSmall: 'circleIsXSmall_43227b55',\r\n circleIsSmall: 'circleIsSmall_43227b55',\r\n circleIsTypeMedium: 'circleIsTypeMedium_43227b55',\r\n circleIsMedium: 'circleIsMedium_43227b55',\r\n circleIsTypeLarge: 'circleIsTypeLarge_43227b55',\r\n circleIsLarge: 'circleIsLarge_43227b55',\r\n label: 'label_43227b55',\r\n screenReaderOnly: 'screenReaderOnly_43227b55',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\"@-webkit-keyframes spinAnimation_43227b55{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinAnimation_43227b55{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.root_43227b55>.circle_43227b55{margin:auto;box-sizing:border-box;border-radius:50%;width:100%;height:100%;border:1.5px solid \"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\";border-top-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";-webkit-animation:spinAnimation_43227b55 1.3s infinite cubic-bezier(.53,.21,.29,.67);animation:spinAnimation_43227b55 1.3s infinite cubic-bezier(.53,.21,.29,.67)}.root_43227b55>.circle_43227b55.circleIsXSmall_43227b55{width:12px;height:12px}.root_43227b55>.circle_43227b55.circleIsSmall_43227b55{width:16px;height:16px}.root_43227b55>.circle_43227b55.circleIsMedium_43227b55,.root_43227b55>.circle_43227b55.circleIsTypeMedium_43227b55{width:20px;height:20px}.root_43227b55>.circle_43227b55.circleIsLarge_43227b55,.root_43227b55>.circle_43227b55.circleIsTypeLarge_43227b55{width:28px;height:28px}.root_43227b55 .label_43227b55{color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";margin-top:10px;text-align:center}.root_43227b55 .screenReaderOnly_43227b55{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media screen and (-ms-high-contrast:active){.root_43227b55>.circle_43227b55{border-top-style:none}}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Spinner/Spinner.scss.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_c6cb32ae',\r\n rootIsSelected: 'rootIsSelected_c6cb32ae',\r\n check: 'check_c6cb32ae',\r\n expand: 'expand_c6cb32ae',\r\n title: 'title_c6cb32ae',\r\n expandIsCollapsed: 'expandIsCollapsed_c6cb32ae',\r\n loading: 'loading_c6cb32ae',\r\n loadingIsVisible: 'loadingIsVisible_c6cb32ae',\r\n dropIcon: 'dropIcon_c6cb32ae',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_c6cb32ae{cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.root_c6cb32ae::-moz-focus-inner{border:0}.root_c6cb32ae{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .root_c6cb32ae:focus:after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}.root_c6cb32ae:hover{background:\"},{\"theme\":\"themeLighterAlt\",\"defaultValue\":\"#eff6fc\"},{\"rawString\":\"}.root_c6cb32ae.rootIsSelected_c6cb32ae{background:\"},{\"theme\":\"themeLighter\",\"defaultValue\":\"#deecf9\"},{\"rawString\":\"}.root_c6cb32ae.rootIsSelected_c6cb32ae:hover{background:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\"}.check_c6cb32ae,.expand_c6cb32ae{display:inline-block;cursor:default;padding:6px;-webkit-transform:translateY(50%);transform:translateY(50%);margin-top:-12px;box-sizing:border-box;vertical-align:top;background:0 0;border:none;font-size:12px;top:4px}.check_c6cb32ae::-moz-focus-inner,.expand_c6cb32ae::-moz-focus-inner{border:0}.check_c6cb32ae,.expand_c6cb32ae{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .check_c6cb32ae:focus:after,.ms-Fabric.is-focusVisible .expand_c6cb32ae:focus:after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}.check_c6cb32ae{opacity:0;margin-top:-10px}.check_c6cb32ae:focus{opacity:1}.root_c6cb32ae.rootIsSelected_c6cb32ae .check_c6cb32ae,.root_c6cb32ae:hover .check_c6cb32ae{opacity:1}.title_c6cb32ae{font-size:21px;font-weight:100;padding:14px 6px;display:inline-block;cursor:pointer;outline:0}.expand_c6cb32ae{width:36px;height:40px;color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}.expand_c6cb32ae .ms-Icon{-webkit-transform:rotate(-180deg);transform:rotate(-180deg);-webkit-transform-origin:50% 50%;transform-origin:50% 50%;transition:-webkit-transform .1s linear;transition:transform .1s linear;transition:transform .1s linear,-webkit-transform .1s linear}.expand_c6cb32ae .ms-Icon.expandIsCollapsed_c6cb32ae{-webkit-transform:rotate(0);transform:rotate(0)}.loading_c6cb32ae{display:inline-block;visibility:hidden;opacity:0;padding:0 16px;vertical-align:middle;transition:visibility 367ms,opacity 367ms}.loading_c6cb32ae.loadingIsVisible_c6cb32ae{visibility:visible;opacity:1}.dropIcon_c6cb32ae{display:inline-block;position:relative;top:-16px;font-size:20px;color:\"},{\"theme\":\"neutralSecondaryAlt\",\"defaultValue\":\"#767676\"},{\"rawString\":\";transition:opacity 467ms cubic-bezier(.39,.575,.565,1),-webkit-transform 267ms cubic-bezier(.6,-.28,.735,.045);transition:transform 267ms cubic-bezier(.6,-.28,.735,.045),opacity 467ms cubic-bezier(.39,.575,.565,1);transition:transform 267ms cubic-bezier(.6,-.28,.735,.045),opacity 467ms cubic-bezier(.39,.575,.565,1),-webkit-transform 267ms cubic-bezier(.6,-.28,.735,.045);opacity:0;-webkit-transform:rotate(.2deg) scale(.65);transform:rotate(.2deg) scale(.65);-webkit-transform-origin:10px 10px;transform-origin:10px 10px}[dir=ltr] .dropIcon_c6cb32ae{left:-26px}[dir=rtl] .dropIcon_c6cb32ae{right:-26px}.dropIcon_c6cb32ae .ms-Icon--Tag{position:absolute}.ms-GroupedList-group.is-dropping>.root_c6cb32ae .dropIcon_c6cb32ae{transition:opacity 167ms cubic-bezier(.39,.575,.565,1),-webkit-transform 467ms cubic-bezier(.075,.82,.165,1);transition:transform 467ms cubic-bezier(.075,.82,.165,1),opacity 167ms cubic-bezier(.39,.575,.565,1);transition:transform 467ms cubic-bezier(.075,.82,.165,1),opacity 167ms cubic-bezier(.39,.575,.565,1),-webkit-transform 467ms cubic-bezier(.075,.82,.165,1);transition-delay:367ms;opacity:1;-webkit-transform:rotate(.2deg) scale(1);transform:rotate(.2deg) scale(1)}.ms-GroupedList-group.is-dropping .check_c6cb32ae{opacity:0}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/GroupedList/GroupHeader.scss.ts","export * from './components/List/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/List.ts","export * from './List';\r\nexport * from './List.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/List/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n IRectangle,\r\n assign,\r\n css,\r\n findIndex,\r\n findScrollableParent,\r\n getParent,\r\n divProperties,\r\n getNativeProps\r\n} from '../../Utilities';\r\nimport { IList, IListProps, IPage } from './List.Props';\r\n\r\nconst RESIZE_DELAY = 16;\r\nconst MIN_SCROLL_UPDATE_DELAY = 100;\r\nconst MAX_SCROLL_UPDATE_DELAY = 500;\r\nconst IDLE_DEBOUNCE_DELAY = 200;\r\nconst DEFAULT_ITEMS_PER_PAGE = 10;\r\nconst DEFAULT_PAGE_HEIGHT = 30;\r\nconst DEFAULT_RENDERED_WINDOWS_BEHIND = 2;\r\nconst DEFAULT_RENDERED_WINDOWS_AHEAD = 2;\r\n\r\nexport interface IListState {\r\n pages?: IPage[];\r\n\r\n /** The last versionstamp for */\r\n measureVersion?: number;\r\n}\r\n\r\nconst EMPTY_RECT = {\r\n top: -1,\r\n bottom: -1,\r\n left: -1,\r\n right: -1,\r\n width: 0,\r\n height: 0\r\n};\r\n\r\n// Naming expensive measures so that they're named in profiles.\r\nconst _measurePageRect = (element: HTMLElement) => element.getBoundingClientRect();\r\nconst _measureSurfaceRect = _measurePageRect;\r\nconst _measureScrollRect = _measurePageRect;\r\n\r\n/**\r\n * The List renders virtualized pages of items. Each page's item count is determined by the getItemCountForPage callback if\r\n * provided by the caller, or 10 as default. Each page's height is determined by the getPageHeight callback if provided by\r\n * the caller, or by cached measurements if available, or by a running average, or a default fallback.\r\n *\r\n * The algorithm for rendering pages works like this:\r\n *\r\n * 1. Predict visible pages based on \"current measure data\" (page heights, surface position, visible window)\r\n * 2. If changes are necessary, apply changes (add/remove pages)\r\n * 3. For pages that are added, measure the page heights if we need to using getBoundingClientRect\r\n * 4. If measurements don't match predictions, update measure data and goto step 1 asynchronously\r\n *\r\n * Measuring too frequently can pull performance down significantly. To compensate, we cache measured values so that\r\n * we can avoid re-measuring during operations that should not alter heights, like scrolling.\r\n *\r\n * However, certain operations can make measure data stale. For example, resizing the list, or passing in new props,\r\n * or forcing an update change cause pages to shrink/grow. When these operations occur, we increment a measureVersion\r\n * number, which we associate with cached measurements and use to determine if a remeasure should occur.\r\n */\r\nexport class List extends BaseComponent<IListProps, IListState> implements IList {\r\n public static defaultProps = {\r\n startIndex: 0,\r\n onRenderCell: (item, index, containsFocus) => (<div>{ (item && item.name) || '' }</div>),\r\n renderedWindowsAhead: DEFAULT_RENDERED_WINDOWS_AHEAD,\r\n renderedWindowsBehind: DEFAULT_RENDERED_WINDOWS_BEHIND\r\n };\r\n\r\n public refs: {\r\n [key: string]: React.ReactInstance,\r\n root: HTMLElement,\r\n surface: HTMLElement\r\n };\r\n\r\n private _estimatedPageHeight: number;\r\n private _totalEstimates: number;\r\n private _cachedPageHeights: {\r\n [key: string]: {\r\n height: number,\r\n measureVersion: number\r\n }\r\n };\r\n private _focusedIndex: number;\r\n private _scrollElement: HTMLElement;\r\n private _scrollingToIndex: number;\r\n private _hasCompletedFirstRender: boolean;\r\n\r\n // surface rect relative to window\r\n private _surfaceRect: IRectangle;\r\n\r\n // The visible rect that we're required to render given the current list state.\r\n private _requiredRect: IRectangle;\r\n\r\n // The visible rect that we're allowed to keep rendered. Pages outside of this rect will be removed.\r\n private _allowedRect: IRectangle;\r\n\r\n // materialized rect around visible items, relative to surface\r\n private _materializedRect: IRectangle;\r\n\r\n private _requiredWindowsAhead: number;\r\n private _requiredWindowsBehind: number;\r\n\r\n private _measureVersion: number;\r\n private _scrollHeight: number;\r\n private _scrollTop: number;\r\n\r\n constructor(props: IListProps) {\r\n super(props);\r\n\r\n this.state = {\r\n pages: []\r\n };\r\n\r\n this._estimatedPageHeight = 0;\r\n this._totalEstimates = 0;\r\n this._requiredWindowsAhead = 0;\r\n this._requiredWindowsBehind = 0;\r\n\r\n // Track the measure version for everything.\r\n this._measureVersion = 0;\r\n\r\n // Ensure that scrolls are lazy updated.\r\n this._onAsyncScroll = this._async.debounce(\r\n this._onAsyncScroll,\r\n MIN_SCROLL_UPDATE_DELAY,\r\n {\r\n leading: false,\r\n maxWait: MAX_SCROLL_UPDATE_DELAY\r\n });\r\n\r\n this._onAsyncIdle = this._async.debounce(\r\n this._onAsyncIdle,\r\n IDLE_DEBOUNCE_DELAY, {\r\n leading: false\r\n });\r\n\r\n this._onAsyncResize = this._async.debounce(\r\n this._onAsyncResize,\r\n RESIZE_DELAY,\r\n {\r\n leading: false\r\n });\r\n\r\n this._cachedPageHeights = {};\r\n this._estimatedPageHeight = 0;\r\n this._focusedIndex = -1;\r\n this._scrollingToIndex = -1;\r\n }\r\n\r\n /**\r\n * Scroll to the given index. By default will bring the page the specified item is on into the view. If a callback\r\n * to measure the height of an individual item is specified, will only scroll to bring the specific item into view.\r\n *\r\n * Note: with items of variable height and no passed in `getPageHeight` method, the list might jump after scrolling\r\n * when windows before/ahead are being rendered, and the estimated height is replaced using actual elements.\r\n *\r\n * @param index Index of item to scroll to\r\n * @param measureItem Optional callback to measure the height of an individual item\r\n */\r\n public scrollToIndex(index: number, measureItem?: (itemIndex: number) => number): void {\r\n const { startIndex } = this.props;\r\n const renderCount = this._getRenderCount();\r\n const endIndex = startIndex + renderCount;\r\n\r\n let scrollTop = 0;\r\n\r\n let itemsPerPage = 1;\r\n for (let itemIndex = startIndex; itemIndex < endIndex; itemIndex += itemsPerPage) {\r\n itemsPerPage = this._getItemCountForPage(itemIndex, this._allowedRect);\r\n\r\n const requestedIndexIsInPage = itemIndex <= index && (itemIndex + itemsPerPage) > index;\r\n if (requestedIndexIsInPage) {\r\n // We have found the page. If the user provided a way to measure an individual item, we will try to scroll in just\r\n // the given item, otherwise we'll only bring the page into view\r\n if (measureItem) {\r\n // Adjust for actual item position within page\r\n const itemPositionWithinPage = index - itemIndex;\r\n for (let itemIndexInPage = 0; itemIndexInPage < itemPositionWithinPage; ++itemIndexInPage) {\r\n scrollTop += measureItem(itemIndex + itemIndexInPage);\r\n }\r\n const scrollBottom = scrollTop + measureItem(index);\r\n\r\n const scrollRect = _measureScrollRect(this._scrollElement);\r\n const scrollWindow = {\r\n top: this._scrollElement.scrollTop,\r\n bottom: this._scrollElement.scrollTop + scrollRect.height\r\n };\r\n\r\n const itemIsFullyVisible = scrollTop >= scrollWindow.top && scrollBottom <= scrollWindow.bottom;\r\n if (itemIsFullyVisible) {\r\n // Item is already visible, do nothing.\r\n return;\r\n }\r\n\r\n const itemIsPartiallyAbove = scrollTop < scrollWindow.top;\r\n const itemIsPartiallyBelow = scrollBottom > scrollWindow.bottom;\r\n\r\n if (itemIsPartiallyAbove) {\r\n // We will just scroll to 'scrollTop'\r\n // ______\r\n // |Item | - scrollTop\r\n // | ____|_\r\n // |_|____| | - scrollWindow.top\r\n // | |\r\n // |______|\r\n } else if (itemIsPartiallyBelow) {\r\n // Adjust scrollTop position to just bring in the element\r\n // ______ - scrollTop\r\n // | |\r\n // | ____|_ - scrollWindow.bottom\r\n // |_|____| |\r\n // | Item |\r\n // |______| - scrollBottom\r\n scrollTop = this._scrollElement.scrollTop + (scrollBottom - scrollWindow.bottom);\r\n }\r\n }\r\n\r\n this._scrollElement.scrollTop = scrollTop;\r\n break;\r\n }\r\n\r\n scrollTop += this._getPageHeight(itemIndex, itemsPerPage, this._surfaceRect);\r\n }\r\n }\r\n\r\n public componentDidMount() {\r\n\r\n this._updatePages();\r\n this._measureVersion++;\r\n this._scrollElement = findScrollableParent(this.refs.root);\r\n\r\n this._events.on(window, 'resize', this._onAsyncResize);\r\n this._events.on(this.refs.root, 'focus', this._onFocus, true);\r\n if (this._scrollElement) {\r\n this._events.on(this._scrollElement, 'scroll', this._onScroll);\r\n this._events.on(this._scrollElement, 'scroll', this._onAsyncScroll);\r\n }\r\n }\r\n\r\n public componentWillReceiveProps(newProps: IListProps) {\r\n if (newProps.items !== this.props.items ||\r\n newProps.renderCount !== this.props.renderCount ||\r\n newProps.startIndex !== this.props.startIndex) {\r\n\r\n this._measureVersion++;\r\n this._updatePages(newProps);\r\n }\r\n }\r\n\r\n public shouldComponentUpdate(newProps: IListProps, newState: IListState) {\r\n let { renderedWindowsAhead, renderedWindowsBehind } = this.props;\r\n let { pages: oldPages } = this.state;\r\n let { pages: newPages, measureVersion } = newState;\r\n let shouldComponentUpdate = false;\r\n\r\n if (\r\n this._measureVersion === measureVersion &&\r\n newProps.renderedWindowsAhead === renderedWindowsAhead,\r\n newProps.renderedWindowsBehind === renderedWindowsBehind,\r\n newProps.items === this.props.items &&\r\n oldPages.length === newPages.length) {\r\n for (let i = 0; i < oldPages.length; i++) {\r\n let oldPage = oldPages[i];\r\n let newPage = newPages[i];\r\n\r\n if ((oldPage.key !== newPage.key ||\r\n oldPage.itemCount !== newPage.itemCount)) {\r\n shouldComponentUpdate = true;\r\n break;\r\n }\r\n }\r\n } else {\r\n shouldComponentUpdate = true;\r\n }\r\n\r\n return shouldComponentUpdate;\r\n }\r\n\r\n public forceUpdate() {\r\n // Ensure that when the list is force updated we update the pages first before render.\r\n this._updateRenderRects(this.props, true);\r\n this._updatePages();\r\n this._measureVersion++;\r\n\r\n super.forceUpdate();\r\n }\r\n\r\n public render() {\r\n let { className, role } = this.props;\r\n let { pages } = this.state;\r\n let pageElements = [];\r\n let divProps = getNativeProps(this.props, divProperties);\r\n\r\n // assign list if no role\r\n role = (role === undefined) ? 'list' : role;\r\n\r\n for (let i = 0; i < pages.length; i++) {\r\n pageElements.push(this._renderPage(pages[i]));\r\n }\r\n\r\n return (\r\n <div ref='root' { ...divProps } role={ role } className={ css('ms-List', className) } >\r\n <div ref='surface' className='ms-List-surface'>\r\n { pageElements }\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n private _renderPage(page: IPage): any {\r\n let { onRenderCell, role } = this.props;\r\n let cells = [];\r\n let pageStyle = this._getPageStyle(page);\r\n\r\n // only assign list item role if no role is assigned\r\n role = (role === undefined) ? 'listitem' : null;\r\n\r\n for (let i = 0; page.items && i < page.items.length; i++) {\r\n let item = page.items[i];\r\n const index = page.startIndex + i;\r\n let itemKey =\r\n this.props.getKey\r\n ? this.props.getKey(item, index)\r\n : item && item.key;\r\n\r\n if (itemKey === null || itemKey === undefined) {\r\n itemKey = index;\r\n }\r\n\r\n cells.push(\r\n <div role={ role } className='ms-List-cell' key={ itemKey } data-list-index={ i + page.startIndex } data-automationid='ListCell'>\r\n { onRenderCell(item, page.startIndex + i) }\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div className='ms-List-page' key={ page.key } ref={ page.key } style={ pageStyle }>\r\n { cells }\r\n </div>\r\n );\r\n }\r\n\r\n /** Generate the style object for the page. */\r\n private _getPageStyle(page) {\r\n let style;\r\n let { getPageStyle } = this.props;\r\n\r\n if (getPageStyle) {\r\n style = getPageStyle(page);\r\n }\r\n\r\n if (!page.items) {\r\n style = style || {};\r\n style.height = page.height;\r\n }\r\n\r\n return style;\r\n }\r\n\r\n /** Track the last item index focused so that we ensure we keep it rendered. */\r\n private _onFocus(ev) {\r\n let target = ev.target as HTMLElement;\r\n\r\n while (target !== this.refs.surface) {\r\n let indexString = target.getAttribute('data-list-index');\r\n\r\n if (indexString) {\r\n this._focusedIndex = Number(indexString);\r\n break;\r\n }\r\n\r\n target = getParent(target);\r\n }\r\n }\r\n\r\n /**\r\n * Called synchronously to reset the required render range to 0 on scrolling. After async scroll has executed,\r\n * we will call onAsyncIdle which will reset it back to it's correct value.\r\n */\r\n private _onScroll() {\r\n this._requiredWindowsAhead = 0;\r\n this._requiredWindowsBehind = 0;\r\n }\r\n\r\n /**\r\n * Debounced method to asynchronously update the visible region on a scroll event.\r\n */\r\n private _onAsyncScroll() {\r\n this._updateRenderRects();\r\n\r\n // Only update pages when the visible rect falls outside of the materialized rect.\r\n if (!this._materializedRect || !_isContainedWithin(this._requiredRect, this._materializedRect)) {\r\n this._updatePages();\r\n } else {\r\n // console.log('requiredRect contained in materialized', this._requiredRect, this._materializedRect);\r\n }\r\n }\r\n\r\n /**\r\n * This is an async debounced method that will try and increment the windows we render. If we can increment\r\n * either, we increase the amount we render and re-evaluate.\r\n */\r\n private _onAsyncIdle() {\r\n const { renderedWindowsAhead, renderedWindowsBehind } = this.props;\r\n const {\r\n _requiredWindowsAhead: requiredWindowsAhead,\r\n _requiredWindowsBehind: requiredWindowsBehind\r\n } = this;\r\n const windowsAhead = Math.min(renderedWindowsAhead, requiredWindowsAhead + 1);\r\n const windowsBehind = Math.min(renderedWindowsBehind, requiredWindowsBehind + 1);\r\n\r\n if (windowsAhead !== requiredWindowsAhead || windowsBehind !== requiredWindowsBehind) {\r\n\r\n // console.log('idling', windowsBehind, windowsAhead);\r\n\r\n this._requiredWindowsAhead = windowsAhead;\r\n this._requiredWindowsBehind = windowsBehind;\r\n this._updateRenderRects();\r\n this._updatePages();\r\n }\r\n\r\n if (renderedWindowsAhead > windowsAhead || renderedWindowsBehind > windowsBehind) {\r\n // Async increment on next tick.\r\n this._onAsyncIdle();\r\n }\r\n }\r\n\r\n private _onAsyncResize() {\r\n this.forceUpdate();\r\n }\r\n\r\n private _updatePages(props?: IListProps) {\r\n let { items, startIndex, renderCount } = (props || this.props);\r\n\r\n renderCount = this._getRenderCount(props);\r\n\r\n // console.log('updating pages');\r\n\r\n if (!this._requiredRect) {\r\n this._updateRenderRects(props);\r\n }\r\n\r\n let newListState = this._buildPages(items, startIndex, renderCount);\r\n let oldListPages = this.state.pages;\r\n\r\n this.setState(newListState, () => {\r\n // If measured version is invalid since we've updated the DOM\r\n const heightsChanged = this._updatePageMeasurements(oldListPages, newListState.pages);\r\n\r\n // On first render, we should re-measure so that we don't get a visual glitch.\r\n if (heightsChanged) {\r\n this._materializedRect = null;\r\n if (!this._hasCompletedFirstRender) {\r\n this._hasCompletedFirstRender = true;\r\n this._updatePages();\r\n } else {\r\n this._onAsyncScroll();\r\n }\r\n } else {\r\n // Enqueue an idle bump.\r\n this._onAsyncIdle();\r\n }\r\n });\r\n }\r\n\r\n private _updatePageMeasurements(oldPages: IPage[], newPages: IPage[]) {\r\n let renderedIndexes = {};\r\n let heightChanged = false;\r\n let renderCount = this._getRenderCount();\r\n\r\n for (let i = 0; i < oldPages.length; i++) {\r\n let page = oldPages[i];\r\n\r\n if (page.items) {\r\n renderedIndexes[page.startIndex] = page;\r\n }\r\n }\r\n\r\n for (let i = 0; i < newPages.length; i++) {\r\n let page = newPages[i];\r\n\r\n if (page.items) {\r\n heightChanged = this._measurePage(page) || heightChanged;\r\n\r\n if (!renderedIndexes[page.startIndex]) {\r\n this._onPageAdded(page);\r\n } else {\r\n delete renderedIndexes[page.startIndex];\r\n }\r\n }\r\n }\r\n\r\n for (let index in renderedIndexes) {\r\n if (renderedIndexes.hasOwnProperty(index)) {\r\n this._onPageRemoved(renderedIndexes[index]);\r\n }\r\n }\r\n\r\n return heightChanged;\r\n }\r\n\r\n /**\r\n * Given a page, measure its dimensions, update cache.\r\n * @returns True if the height has changed.\r\n */\r\n private _measurePage(page: IPage): boolean {\r\n let hasChangedHeight = false;\r\n let pageElement = this.refs[page.key] as HTMLElement;\r\n let cachedHeight = this._cachedPageHeights[page.startIndex];\r\n\r\n // console.log(' * measure attempt', page.startIndex, cachedHeight);\r\n\r\n if (pageElement && (!cachedHeight || cachedHeight.measureVersion !== this._measureVersion)) {\r\n let newClientRect = {\r\n width: pageElement.clientWidth,\r\n height: pageElement.clientHeight\r\n };\r\n\r\n if (newClientRect.height || newClientRect.width) {\r\n hasChangedHeight = page.height !== newClientRect.height;\r\n\r\n // console.warn(' *** expensive page measure', page.startIndex, page.height, newClientRect.height);\r\n\r\n page.height = newClientRect.height;\r\n\r\n this._cachedPageHeights[page.startIndex] = {\r\n height: newClientRect.height,\r\n measureVersion: this._measureVersion\r\n };\r\n\r\n this._estimatedPageHeight = Math.round(\r\n ((this._estimatedPageHeight * this._totalEstimates) + newClientRect.height) /\r\n (this._totalEstimates + 1));\r\n\r\n this._totalEstimates++;\r\n }\r\n }\r\n\r\n return hasChangedHeight;\r\n }\r\n\r\n /** Called when a page has been added to the DOM. */\r\n private _onPageAdded(page: IPage) {\r\n let { onPageAdded } = this.props;\r\n\r\n // console.log('page added', page.startIndex, this.state.pages.map(page=>page.key).join(', '));\r\n\r\n if (onPageAdded) {\r\n onPageAdded(page);\r\n }\r\n }\r\n\r\n /** Called when a page has been removed from the DOM. */\r\n private _onPageRemoved(page: IPage) {\r\n let { onPageRemoved } = this.props;\r\n\r\n // console.log(' --- page removed', page.startIndex, this.state.pages.map(page=>page.key).join(', '));\r\n\r\n if (onPageRemoved) {\r\n onPageRemoved(page);\r\n }\r\n }\r\n\r\n /** Build up the pages that should be rendered. */\r\n private _buildPages(items: any[], startIndex: number, renderCount: number): IListState {\r\n let materializedRect = assign({}, EMPTY_RECT) as IRectangle;\r\n let itemsPerPage = 1;\r\n let pages = [];\r\n let pageTop = 0;\r\n let currentSpacer = null;\r\n let focusedIndex = this._focusedIndex;\r\n let endIndex = startIndex + renderCount;\r\n\r\n // First render is very important to track; when we render cells, we have no idea of estimated page height.\r\n // So we should default to rendering only the first page so that we can get information.\r\n // However if the user provides a measure function, let's just assume they know the right heights.\r\n let isFirstRender = this._estimatedPageHeight === 0 && !this.props.getPageHeight;\r\n\r\n for (let itemIndex = startIndex; itemIndex < endIndex; itemIndex += itemsPerPage) {\r\n itemsPerPage = this._getItemCountForPage(itemIndex, this._allowedRect);\r\n\r\n let pageHeight = this._getPageHeight(itemIndex, itemsPerPage, this._surfaceRect);\r\n let pageBottom = pageTop + pageHeight - 1;\r\n\r\n let isPageRendered = findIndex(this.state.pages, (page) => page.items && page.startIndex === itemIndex) > -1;\r\n let isPageInAllowedRange = pageBottom >= this._allowedRect.top && pageTop <= this._allowedRect.bottom;\r\n let isPageInRequiredRange = pageBottom >= this._requiredRect.top && pageTop <= this._requiredRect.bottom;\r\n let isPageVisible = !isFirstRender && (isPageInRequiredRange || (isPageInAllowedRange && isPageRendered));\r\n let isPageFocused = focusedIndex >= itemIndex && focusedIndex < (itemIndex + itemsPerPage);\r\n let isFirstPage = itemIndex === startIndex;\r\n\r\n // console.log('building page', itemIndex, 'pageTop: ' + pageTop, 'inAllowed: ' + isPageInAllowedRange, 'inRequired: ' + isPageInRequiredRange);\r\n\r\n // Only render whats visible, focused, or first page.\r\n if (isPageVisible || isPageFocused || isFirstPage) {\r\n if (currentSpacer) {\r\n pages.push(currentSpacer);\r\n currentSpacer = null;\r\n }\r\n\r\n let itemsInPage = Math.min(itemsPerPage, endIndex - itemIndex);\r\n let newPage = this._createPage(null, items.slice(itemIndex, itemIndex + itemsInPage), itemIndex);\r\n\r\n newPage.top = pageTop;\r\n newPage.height = pageHeight;\r\n\r\n pages.push(newPage);\r\n\r\n if (isPageInRequiredRange) {\r\n _mergeRect(materializedRect, {\r\n top: pageTop,\r\n bottom: pageBottom,\r\n height: pageHeight,\r\n left: this._allowedRect.left,\r\n right: this._allowedRect.right,\r\n width: this._allowedRect.width\r\n });\r\n }\r\n\r\n } else {\r\n if (!currentSpacer) {\r\n currentSpacer = this._createPage('spacer-' + itemIndex, null, itemIndex, 0);\r\n }\r\n currentSpacer.height = (currentSpacer.height || 0) + (pageBottom - pageTop) + 1;\r\n currentSpacer.itemCount += itemsPerPage;\r\n }\r\n pageTop += (pageBottom - pageTop + 1);\r\n\r\n if (isFirstRender) {\r\n break;\r\n }\r\n }\r\n\r\n if (currentSpacer) {\r\n currentSpacer.key = 'spacer-end';\r\n pages.push(currentSpacer);\r\n }\r\n\r\n this._materializedRect = materializedRect;\r\n\r\n // console.log('materialized: ', materializedRect);\r\n return {\r\n pages: pages,\r\n measureVersion: this._measureVersion\r\n };\r\n }\r\n\r\n /**\r\n * Get the pixel height of a give page. Will use the props getPageHeight first, and if not provided, fallback to\r\n * cached height, or estimated page height, or default page height.\r\n */\r\n private _getPageHeight(itemIndex: number, itemsPerPage: number, visibleRect: IRectangle): number {\r\n if (this.props.getPageHeight) {\r\n return this.props.getPageHeight(itemIndex, visibleRect);\r\n } else {\r\n let cachedHeight = (this._cachedPageHeights[itemIndex]);\r\n\r\n return cachedHeight ? cachedHeight.height : (this._estimatedPageHeight || DEFAULT_PAGE_HEIGHT);\r\n }\r\n }\r\n\r\n private _getItemCountForPage(itemIndex: number, visibileRect: IRectangle): number {\r\n let itemsPerPage = this.props.getItemCountForPage ? this.props.getItemCountForPage(itemIndex, visibileRect) : DEFAULT_ITEMS_PER_PAGE;\r\n\r\n return itemsPerPage ? itemsPerPage : DEFAULT_ITEMS_PER_PAGE;\r\n }\r\n\r\n private _createPage(pageKey: string, items: any[], startIndex?: number, count?: number, style?: any): IPage {\r\n pageKey = pageKey || ('page-' + startIndex);\r\n\r\n // Fill undefined cells because array.map will ignore undefined cells.\r\n if (items) {\r\n for (let i = 0; i < items.length; i++) {\r\n items[i] = items[i] || null;\r\n }\r\n }\r\n\r\n return {\r\n key: pageKey,\r\n startIndex: startIndex === undefined ? -1 : startIndex,\r\n itemCount: (count === undefined) ? (items ? items.length : 0) : count,\r\n items: items,\r\n style: style || {},\r\n top: 0,\r\n height: 0\r\n };\r\n }\r\n\r\n private _getRenderCount(props?: IListProps): number {\r\n let { items, startIndex, renderCount } = props || this.props;\r\n\r\n return (renderCount === undefined ? (items ? items.length - startIndex : 0) : renderCount);\r\n }\r\n\r\n /** Calculate the visible rect within the list where top: 0 and left: 0 is the top/left of the list. */\r\n private _updateRenderRects(props?: IListProps, forceUpdate?: boolean) {\r\n const { renderedWindowsAhead, renderedWindowsBehind } = (props || this.props);\r\n const { pages } = this.state;\r\n const renderCount = this._getRenderCount(props);\r\n let surfaceRect = this._surfaceRect;\r\n let scrollHeight = this._scrollElement && this._scrollElement.scrollHeight;\r\n let scrollTop = this._scrollElement ? this._scrollElement.scrollTop : 0;\r\n\r\n // WARNING: EXPENSIVE CALL! We need to know the surface top relative to the window.\r\n // This needs to be called to recalculate when new pages should be loaded.\r\n // We check to see how far we've scrolled and if it's further than a third of a page we run it again.\r\n if (\r\n forceUpdate ||\r\n !pages ||\r\n !this._surfaceRect ||\r\n !scrollHeight ||\r\n scrollHeight !== this._scrollHeight ||\r\n Math.abs(this._scrollTop - scrollTop) > this._estimatedPageHeight / 3) {\r\n surfaceRect = this._surfaceRect = _measureSurfaceRect(this.refs.surface);\r\n this._scrollTop = scrollTop;\r\n }\r\n\r\n // If the scroll height has changed, something in the container likely resized and\r\n // we should redo the page heights incase their content resized.\r\n if (forceUpdate ||\r\n !scrollHeight ||\r\n scrollHeight !== this._scrollHeight) {\r\n this._measureVersion++;\r\n }\r\n\r\n this._scrollHeight = scrollHeight;\r\n\r\n // If the surface is above the container top or below the container bottom, or if this is not the first\r\n // render return empty rect.\r\n // The first time the list gets rendered we need to calculate the rectangle. The width of the list is\r\n // used to calculate the width of the list items.\r\n const visibleTop = Math.max(0, -surfaceRect.top);\r\n const visibleRect = {\r\n top: visibleTop,\r\n left: surfaceRect.left,\r\n bottom: visibleTop + window.innerHeight,\r\n right: surfaceRect.right,\r\n width: surfaceRect.width,\r\n height: window.innerHeight\r\n };\r\n\r\n // The required/allowed rects are adjusted versions of the visible rect.\r\n this._requiredRect = _expandRect(visibleRect, this._requiredWindowsBehind, this._requiredWindowsAhead);\r\n this._allowedRect = _expandRect(visibleRect, renderedWindowsBehind, renderedWindowsAhead);\r\n }\r\n}\r\n\r\nfunction _expandRect(rect, pagesBefore, pagesAfter): IRectangle {\r\n const top = rect.top - (pagesBefore * rect.height);\r\n const height = rect.height + ((pagesBefore + pagesAfter) * rect.height);\r\n\r\n return {\r\n top: top,\r\n bottom: top + height,\r\n height: height,\r\n left: rect.left,\r\n right: rect.right,\r\n width: rect.width\r\n };\r\n}\r\n\r\nfunction _isContainedWithin(innerRect: IRectangle, outerRect: IRectangle): boolean {\r\n return (\r\n innerRect.top >= outerRect.top &&\r\n innerRect.left >= outerRect.left &&\r\n innerRect.bottom <= outerRect.bottom &&\r\n innerRect.right <= outerRect.right);\r\n}\r\n\r\nfunction _mergeRect(targetRect: IRectangle, newRect: IRectangle): IRectangle {\r\n targetRect.top = (newRect.top < targetRect.top || targetRect.top === -1) ? newRect.top : targetRect.top;\r\n targetRect.left = (newRect.left < targetRect.left || targetRect.left === -1) ? newRect.left : targetRect.left;\r\n targetRect.bottom = (newRect.bottom > targetRect.bottom || targetRect.bottom === -1) ? newRect.bottom : targetRect.bottom;\r\n targetRect.right = (newRect.right > targetRect.right || targetRect.right === -1) ? newRect.right : targetRect.right;\r\n targetRect.width = targetRect.right - targetRect.left + 1;\r\n targetRect.height = targetRect.bottom - targetRect.top + 1;\r\n\r\n return targetRect;\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/List/List.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_347f6a65',\r\n group: 'group_347f6a65',\r\n groupIsDropping: 'groupIsDropping_347f6a65',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_347f6a65{position:relative;font-size:12px}.root_347f6a65 BUTTON{background-color:transparent}.group_347f6a65{transition:background-color 267ms cubic-bezier(.445,.05,.55,.95)}.groupIsDropping_347f6a65{background-color:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}.root_347f6a65 .ms-List-cell{min-height:38px}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/GroupedList/GroupedList.scss.ts","import * as React from 'react';\r\nimport { BaseDecorator } from './BaseDecorator';\r\nimport {\r\n findScrollableParent,\r\n getRect\r\n} from '../../Utilities';\r\n\r\nexport interface IViewport {\r\n width: number;\r\n height: number;\r\n}\r\n\r\nexport interface IWithViewportState {\r\n viewport?: IViewport;\r\n}\r\n\r\nconst RESIZE_DELAY = 500;\r\nconst MAX_RESIZE_ATTEMPTS = 3;\r\n\r\nexport function withViewport<P extends { viewport?: IViewport }, S>(ComposedComponent: (new (props: P, ...args: any[]) => React.Component<P, S>)): any {\r\n\r\n return class WithViewportComponent extends BaseDecorator<P, IWithViewportState> {\r\n public refs: {\r\n [key: string]: React.ReactInstance;\r\n };\r\n\r\n private _resizeAttempts: number;\r\n\r\n constructor() {\r\n super();\r\n this._resizeAttempts = 0;\r\n\r\n this.state = {\r\n viewport: {\r\n width: 0,\r\n height: 0\r\n }\r\n };\r\n }\r\n\r\n public componentDidMount() {\r\n this._onAsyncResize = this._async.debounce(\r\n this._onAsyncResize,\r\n RESIZE_DELAY,\r\n {\r\n leading: false\r\n });\r\n\r\n this._events.on(window, 'resize', this._onAsyncResize);\r\n this._updateViewport();\r\n }\r\n\r\n public componentWillUnmount() {\r\n this._events.dispose();\r\n }\r\n\r\n public render() {\r\n let { viewport } = this.state;\r\n let isViewportVisible = viewport.width > 0 && viewport.height > 0;\r\n\r\n return (\r\n <div className='ms-Viewport' ref='root' style={ { minWidth: 1, minHeight: 1 } }>\r\n { isViewportVisible && (\r\n <ComposedComponent ref={ this._updateComposedComponentRef } viewport={ viewport } { ...this.props as any } />\r\n ) }\r\n </div>\r\n );\r\n }\r\n\r\n public forceUpdate() {\r\n this._updateViewport(true);\r\n }\r\n\r\n private _onAsyncResize() {\r\n this._updateViewport();\r\n }\r\n\r\n /* Note: using lambda here because decorators don't seem to work in decorators. */\r\n private _updateViewport = (withForceUpdate?: boolean) => {\r\n let { viewport } = this.state;\r\n let viewportElement = (this.refs as any).root;\r\n let scrollElement = findScrollableParent(viewportElement);\r\n let scrollRect = getRect(scrollElement);\r\n let clientRect = getRect(viewportElement);\r\n let updateComponent = () => {\r\n if (withForceUpdate && this._composedComponentInstance) {\r\n this._composedComponentInstance.forceUpdate();\r\n }\r\n };\r\n\r\n let isSizeChanged = (\r\n clientRect.width !== viewport.width ||\r\n scrollRect.height !== viewport.height);\r\n\r\n if (isSizeChanged && this._resizeAttempts < MAX_RESIZE_ATTEMPTS) {\r\n this._resizeAttempts++;\r\n this.setState({\r\n viewport: {\r\n width: clientRect.width,\r\n height: scrollRect.height\r\n }\r\n }, () => { this._updateViewport(withForceUpdate); });\r\n } else {\r\n this._resizeAttempts = 0;\r\n updateComponent();\r\n }\r\n }\r\n };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/utilities/decorators/withViewport.tsx","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n hoistMethods,\r\n unhoistMethods\r\n} from '../../Utilities';\r\n\r\nexport class BaseDecorator<P, S> extends BaseComponent<P, S> {\r\n protected _shouldUpdateComponentRef = false;\r\n\r\n protected _composedComponentInstance: React.Component<P, S>;\r\n\r\n private _hoisted: string[];\r\n\r\n constructor() {\r\n super();\r\n this._updateComposedComponentRef = this._updateComposedComponentRef.bind(this);\r\n }\r\n\r\n /**\r\n * Updates the ref to the component composed by the decorator, which will also take care of hoisting\r\n * (and unhoisting as appropriate) methods from said component.\r\n *\r\n * Pass this method as the argument to the 'ref' property of the composed component.\r\n */\r\n protected _updateComposedComponentRef(composedComponentInstance: React.Component<P, S>) {\r\n this._composedComponentInstance = composedComponentInstance;\r\n if (composedComponentInstance) {\r\n this._hoisted = hoistMethods(this, composedComponentInstance);\r\n } else if (this._hoisted) {\r\n unhoistMethods(this, this._hoisted);\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/utilities/decorators/BaseDecorator.ts","import * as React from 'react';\r\nimport * as ReactDOM from 'react-dom';\r\nimport { EventGroup } from '../../Utilities';\r\nimport {\r\n IDragDropHelper,\r\n IDragDropTarget,\r\n IDragDropOptions,\r\n IDragDropEvent,\r\n IDragDropContext\r\n} from './interfaces';\r\nimport { ISelection } from '../../utilities/selection/interfaces';\r\n\r\nconst DISTANCE_FOR_DRAG_SQUARED = 25; // the minimum mouse move distance to treat it as drag event\r\nconst MOUSEDOWN_PRIMARY_BUTTON = 0; // for mouse down event we are using ev.button property, 0 means left button\r\nconst MOUSEMOVE_PRIMARY_BUTTON = 1; // for mouse move event we are using ev.buttons property, 1 means left button\r\n\r\nexport interface IDragDropHelperParams {\r\n selection: ISelection;\r\n minimumPixelsForDrag?: number;\r\n}\r\n\r\nexport class DragDropHelper implements IDragDropHelper {\r\n private _dragEnterCounts: { [key: string]: number };\r\n private readonly _distanceSquaredForDrag: number;\r\n private _isDragging: boolean;\r\n private _dragData: {\r\n eventTarget: EventTarget;\r\n clientX: number;\r\n clientY: number;\r\n dataTransfer?: DataTransfer;\r\n dropTarget?: IDragDropTarget;\r\n dragTarget?: IDragDropTarget;\r\n };\r\n private _selection: ISelection;\r\n private _activeTargets: {\r\n [key: string]: {\r\n target: IDragDropTarget;\r\n dispose: () => void;\r\n };\r\n };\r\n private _events: EventGroup;\r\n private _lastId: number;\r\n\r\n constructor(params: IDragDropHelperParams) {\r\n this._selection = params.selection;\r\n this._dragEnterCounts = {};\r\n this._activeTargets = {};\r\n this._lastId = 0;\r\n this._distanceSquaredForDrag = typeof params.minimumPixelsForDrag === 'number' ?\r\n params.minimumPixelsForDrag * params.minimumPixelsForDrag : DISTANCE_FOR_DRAG_SQUARED;\r\n\r\n this._events = new EventGroup(this);\r\n // clear drag data when mouse up, use capture event to ensure it will be run\r\n this._events.on(document.body, 'mouseup', this._onMouseUp.bind(this), true);\r\n this._events.on(document, 'mouseup', this._onDocumentMouseUp.bind(this), true);\r\n }\r\n\r\n public dispose() {\r\n this._events.dispose();\r\n }\r\n\r\n public subscribe(root: HTMLElement, events: EventGroup, dragDropOptions: IDragDropOptions): {\r\n key: string;\r\n dispose(): void;\r\n } {\r\n const {\r\n key = `${++this._lastId}`\r\n } = dragDropOptions;\r\n\r\n const handlers: {\r\n callback: (context: IDragDropContext, event?: any) => void;\r\n eventName: string;\r\n }[] = [];\r\n\r\n let onDragLeave: (event: DragEvent) => void;\r\n let onDragEnter: (event: DragEvent) => void;\r\n let onDragEnd: (event: DragEvent) => void;\r\n let onDrop: (event: DragEvent) => void;\r\n let onDragOver: (event: DragEvent) => void;\r\n let onMouseDown: (event: MouseEvent) => void;\r\n\r\n let isDraggable: boolean;\r\n let isDroppable: boolean;\r\n\r\n let activeTarget: {\r\n target: IDragDropTarget;\r\n dispose: () => void;\r\n };\r\n\r\n if (dragDropOptions && root) {\r\n const {\r\n eventMap,\r\n context,\r\n updateDropState\r\n } = dragDropOptions;\r\n\r\n const dragDropTarget: IDragDropTarget = {\r\n root: root,\r\n options: dragDropOptions,\r\n key: key\r\n };\r\n\r\n isDraggable = this._isDraggable(dragDropTarget);\r\n isDroppable = this._isDroppable(dragDropTarget);\r\n\r\n if (isDraggable || isDroppable) {\r\n if (eventMap) {\r\n for (const event of eventMap) {\r\n const handler = {\r\n callback: event.callback.bind(null, context),\r\n eventName: event.eventName\r\n };\r\n\r\n handlers.push(handler);\r\n\r\n this._events.on(root, handler.eventName, handler.callback);\r\n }\r\n }\r\n }\r\n\r\n if (isDroppable) {\r\n // If the target is droppable, wire up global event listeners to track drop-related events.\r\n onDragLeave = (event: DragEvent) => {\r\n if (!(event as IDragDropEvent).isHandled) {\r\n (event as IDragDropEvent).isHandled = true;\r\n this._dragEnterCounts[key]--;\r\n if (this._dragEnterCounts[key] === 0) {\r\n updateDropState(false /* isDropping */, event);\r\n }\r\n }\r\n };\r\n\r\n onDragEnter = (event: DragEvent) => {\r\n event.preventDefault(); // needed for IE\r\n if (!(event as IDragDropEvent).isHandled) {\r\n (event as IDragDropEvent).isHandled = true;\r\n this._dragEnterCounts[key]++;\r\n if (this._dragEnterCounts[key] === 1) {\r\n updateDropState(true /* isDropping */, event);\r\n }\r\n }\r\n };\r\n\r\n onDragEnd = (event: DragEvent) => {\r\n this._dragEnterCounts[key] = 0;\r\n updateDropState(false /* isDropping */, event);\r\n };\r\n\r\n onDrop = (event: DragEvent) => {\r\n this._dragEnterCounts[key] = 0;\r\n updateDropState(false /* isDropping */, event);\r\n\r\n if (dragDropOptions.onDrop) {\r\n dragDropOptions.onDrop(dragDropOptions.context.data, event);\r\n }\r\n };\r\n\r\n onDragOver = (event: DragEvent) => {\r\n event.preventDefault();\r\n };\r\n\r\n this._dragEnterCounts[key] = 0;\r\n\r\n // dragenter and dragleave will be fired when hover to the child element\r\n // but we only want to change state when enter or leave the current element\r\n // use the count to ensure it.\r\n events.on(root, 'dragenter', onDragEnter);\r\n events.on(root, 'dragleave', onDragLeave);\r\n events.on(root, 'dragend', onDragEnd);\r\n events.on(root, 'drop', onDrop);\r\n events.on(root, 'dragover', onDragOver);\r\n }\r\n\r\n if (isDraggable) {\r\n // If the target is draggable, wire up local event listeners for mouse events.\r\n onMouseDown = this._onMouseDown.bind(this, dragDropTarget);\r\n onDragEnd = this._onDragEnd.bind(this, dragDropTarget);\r\n\r\n events.on(root, 'mousedown', onMouseDown);\r\n events.on(root, 'dragend', onDragEnd);\r\n }\r\n\r\n activeTarget = {\r\n target: dragDropTarget,\r\n dispose: () => {\r\n if (this._activeTargets[key] === activeTarget) {\r\n delete this._activeTargets[key];\r\n }\r\n\r\n if (root) {\r\n for (const handler of handlers) {\r\n this._events.off(root, handler.eventName, handler.callback);\r\n }\r\n\r\n if (isDroppable) {\r\n events.off(root, 'dragenter', onDragEnter);\r\n events.off(root, 'dragleave', onDragLeave);\r\n events.off(root, 'dragend', onDragEnd);\r\n events.off(root, 'dragover', onDragOver);\r\n events.off(root, 'drop', onDrop);\r\n }\r\n\r\n if (isDraggable) {\r\n events.off(root, 'mousedown', onMouseDown);\r\n events.off(root, 'dragend', onDragEnd);\r\n }\r\n }\r\n }\r\n };\r\n\r\n this._activeTargets[key] = activeTarget;\r\n }\r\n\r\n return {\r\n key: key,\r\n dispose: () => {\r\n if (activeTarget) {\r\n activeTarget.dispose();\r\n }\r\n }\r\n };\r\n }\r\n\r\n public unsubscribe(root: HTMLElement, key: string): void {\r\n const activeTarget = this._activeTargets[key];\r\n\r\n if (activeTarget) {\r\n activeTarget.dispose();\r\n }\r\n }\r\n\r\n private _onDragEnd(target: IDragDropTarget, event: DragEvent) {\r\n let { options } = target;\r\n if (options.onDragEnd) {\r\n options.onDragEnd(options.context.data, event);\r\n }\r\n }\r\n\r\n /**\r\n * clear drag data when mouse up on body\r\n */\r\n private _onMouseUp(event: MouseEvent) {\r\n this._isDragging = false;\r\n if (this._dragData) {\r\n for (const key of Object.keys(this._activeTargets)) {\r\n const activeTarget = this._activeTargets[key];\r\n\r\n if (activeTarget.target.root) {\r\n this._events.off(activeTarget.target.root, 'mousemove');\r\n this._events.off(activeTarget.target.root, 'mouseleave');\r\n }\r\n }\r\n\r\n if (this._dragData.dropTarget) {\r\n // raise dragleave event to let dropTarget know it need to remove dropping style\r\n EventGroup.raise(this._dragData.dropTarget.root, 'dragleave');\r\n EventGroup.raise(this._dragData.dropTarget.root, 'drop');\r\n }\r\n }\r\n this._dragData = null;\r\n }\r\n\r\n /**\r\n * clear drag data when mouse up outside of the document\r\n */\r\n private _onDocumentMouseUp(event: MouseEvent) {\r\n if (event.target === document.documentElement) {\r\n this._onMouseUp(event);\r\n }\r\n }\r\n\r\n /**\r\n * when mouse move over a new drop target while dragging some items,\r\n * fire dragleave on the old target and fire dragenter to the new target\r\n * The target will handle style change on dragenter and dragleave events.\r\n */\r\n private _onMouseMove(target: IDragDropTarget, event: MouseEvent) {\r\n let {\r\n // use buttons property here since ev.button in some edge case is not updating well during the move.\r\n // but firefox doesn't support it, so we set the default value when it is not defined.\r\n buttons = MOUSEMOVE_PRIMARY_BUTTON\r\n } = event;\r\n\r\n if (this._dragData && buttons !== MOUSEMOVE_PRIMARY_BUTTON) {\r\n // cancel mouse down event and return early when the primary button is not pressed\r\n this._onMouseUp(event);\r\n return;\r\n }\r\n\r\n let { root, options, key } = target;\r\n if (this._isDragging) {\r\n if (this._isDroppable(target)) {\r\n // we can have nested drop targets in the DOM, like a folder inside a group. In that case, when we drag into\r\n // the inner target (folder), we first set dropTarget to the inner element. But the same event is bubbled to the\r\n // outer target too, and we need to prevent the outer one from taking over.\r\n // So, check if the last dropTarget is not a child of the current.\r\n if (this._dragData.dropTarget &&\r\n this._dragData.dropTarget.key !== key &&\r\n !this._isChild(root, this._dragData.dropTarget.root)) {\r\n EventGroup.raise(this._dragData.dropTarget.root, 'dragleave');\r\n this._dragData.dropTarget = null;\r\n }\r\n\r\n if (!this._dragData.dropTarget) {\r\n EventGroup.raise(root, 'dragenter');\r\n this._dragData.dropTarget = target;\r\n }\r\n }\r\n } else if (this._dragData) {\r\n if (this._isDraggable(target)) {\r\n let xDiff = this._dragData.clientX - event.clientX;\r\n let yDiff = this._dragData.clientY - event.clientY;\r\n if (xDiff * xDiff + yDiff * yDiff >= this._distanceSquaredForDrag) {\r\n if (this._dragData.dragTarget) {\r\n this._isDragging = true;\r\n if (options.onDragStart) {\r\n options.onDragStart(options.context.data, options.context.index, this._selection.getSelection(), event);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * when mouse leave a target while dragging some items, fire dragleave to the target\r\n */\r\n private _onMouseLeave(target: IDragDropTarget, event: MouseEvent) {\r\n if (this._isDragging) {\r\n if (this._dragData && this._dragData.dropTarget && this._dragData.dropTarget.key === target.key) {\r\n EventGroup.raise(target.root, 'dragleave');\r\n this._dragData.dropTarget = null;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * when mouse down on a draggable item, we start to track dragdata.\r\n */\r\n private _onMouseDown(target: IDragDropTarget, event: MouseEvent) {\r\n if (event.button !== MOUSEDOWN_PRIMARY_BUTTON) {\r\n // Ignore anything except the primary button.\r\n return;\r\n }\r\n\r\n if (this._isDraggable(target)) {\r\n this._dragData = {\r\n clientX: event.clientX,\r\n clientY: event.clientY,\r\n eventTarget: event.target,\r\n dragTarget: target\r\n };\r\n\r\n for (const key of Object.keys(this._activeTargets)) {\r\n const activeTarget = this._activeTargets[key];\r\n if (activeTarget.target.root) {\r\n this._events.on(activeTarget.target.root, 'mousemove', this._onMouseMove.bind(this, activeTarget.target));\r\n this._events.on(activeTarget.target.root, 'mouseleave', this._onMouseLeave.bind(this, activeTarget.target));\r\n }\r\n }\r\n } else {\r\n this._dragData = null;\r\n }\r\n }\r\n\r\n /**\r\n * determine whether the child target is a descendant of the parent\r\n */\r\n private _isChild(parent: React.ReactInstance, child: React.ReactInstance): boolean {\r\n let parentElement = ReactDOM.findDOMNode(parent);\r\n let childElement = ReactDOM.findDOMNode(child);\r\n while (childElement && childElement.parentElement) {\r\n if (childElement.parentElement === parentElement) {\r\n return true;\r\n }\r\n childElement = childElement.parentElement;\r\n }\r\n return false;\r\n }\r\n\r\n private _isDraggable(target: IDragDropTarget): boolean {\r\n let { options } = target;\r\n return options.canDrag && options.canDrag(options.context.data);\r\n }\r\n\r\n private _isDroppable(target: IDragDropTarget): boolean {\r\n // TODO: take the drag item into consideration to prevent dragging an item into the same group\r\n let { options } = target;\r\n let dragContext = this._dragData && this._dragData.dragTarget ? this._dragData.dragTarget.options.context : null;\r\n return options.canDrop && options.canDrop(options.context, dragContext);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/utilities/dragdrop/DragDropHelper.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_a107e0e9',\r\n focusZone: 'focusZone_a107e0e9',\r\n rootIsHorizontalConstrained: 'rootIsHorizontalConstrained_a107e0e9',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_a107e0e9{position:relative;font-size:12px;background:0 0;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\"}.focusZone_a107e0e9{display:inline-block;vertical-align:top;min-width:100%;min-height:1px}.rootIsHorizontalConstrained_a107e0e9{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.root_a107e0e9 .ms-List-cell{min-height:38px;word-break:break-word}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DetailsList/DetailsList.scss.ts","export * from './components/Dialog/index';\r\nexport { Dialog as default } from './components/Dialog/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Dialog.ts","export * from './Dialog';\r\nexport * from './DialogContent';\r\nexport * from './DialogFooter';\r\nexport * from './Dialog.Props';\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Dialog/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n css,\r\n getId\r\n} from '../../Utilities';\r\nimport { IDialogProps, DialogType } from './Dialog.Props';\r\nimport { Modal } from '../../Modal';\r\nimport { withResponsiveMode } from '../../utilities/decorators/withResponsiveMode';\r\nimport * as stylesImport from './Dialog.scss';\r\nconst styles: any = stylesImport;\r\n\r\nimport { DialogContent } from './DialogContent';\r\n\r\nexport interface IDialogState {\r\n id?: string;\r\n}\r\n\r\n@withResponsiveMode\r\nexport class Dialog extends BaseComponent<IDialogProps, IDialogState> {\r\n\r\n public static defaultProps: IDialogProps = {\r\n isOpen: false,\r\n type: DialogType.normal,\r\n isDarkOverlay: true,\r\n isBlocking: false,\r\n className: '',\r\n containerClassName: '',\r\n contentClassName: '',\r\n topButtonsProps: []\r\n };\r\n\r\n constructor(props: IDialogProps) {\r\n super(props);\r\n\r\n this.state = {\r\n id: getId('Dialog'),\r\n };\r\n }\r\n\r\n public render() {\r\n let {\r\n elementToFocusOnDismiss,\r\n firstFocusableSelector,\r\n forceFocusInsideTrap,\r\n ignoreExternalFocusing,\r\n isBlocking,\r\n isClickableOutsideFocusTrap,\r\n isDarkOverlay,\r\n isOpen,\r\n onDismiss,\r\n onDismissed,\r\n onLayerDidMount,\r\n onLayerMounted,\r\n responsiveMode,\r\n subText,\r\n title,\r\n type,\r\n contentClassName,\r\n topButtonsProps\r\n } = this.props;\r\n let { id } = this.state;\r\n\r\n const dialogClassName = css(this.props.className, {\r\n ['ms-Dialog--lgHeader ' + styles.isLargeHeader]: type === DialogType.largeHeader,\r\n ['ms-Dialog--close ' + styles.isClose]: type === DialogType.close,\r\n });\r\n const containerClassName = css(this.props.containerClassName, styles.main);\r\n\r\n return (\r\n <Modal\r\n className={ dialogClassName }\r\n containerClassName={ containerClassName }\r\n elementToFocusOnDismiss={ elementToFocusOnDismiss }\r\n firstFocusableSelector={ firstFocusableSelector }\r\n forceFocusInsideTrap={ forceFocusInsideTrap }\r\n ignoreExternalFocusing={ ignoreExternalFocusing }\r\n isBlocking={ isBlocking }\r\n isClickableOutsideFocusTrap={ isClickableOutsideFocusTrap }\r\n isDarkOverlay={ isDarkOverlay }\r\n isOpen={ isOpen }\r\n onDismiss={ onDismiss }\r\n onDismissed={ onDismissed }\r\n onLayerDidMount={ onLayerDidMount }\r\n responsiveMode={ responsiveMode }\r\n subtitleAriaId={ subText && id + '-subText' }\r\n titleAriaId={ title && id + '-title' }\r\n >\r\n\r\n <DialogContent\r\n onDismiss={ onDismiss }\r\n showCloseButton={ !isBlocking && type !== DialogType.largeHeader }\r\n title={ title }\r\n subText={ subText }\r\n className={ contentClassName }\r\n topButtonsProps={ topButtonsProps }\r\n >\r\n { this.props.children }\r\n </DialogContent>\r\n\r\n </Modal>\r\n );\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Dialog/Dialog.tsx","import * as React from 'react';\r\nimport { Dialog } from './Dialog';\r\nimport { DialogContent } from './DialogContent';\r\nimport { IButtonProps } from '../Button/Button.Props';\r\nimport { IWithResponsiveModeState } from '../../utilities/decorators/withResponsiveMode';\r\nimport { IAccessiblePopupProps } from '../../common/IAccessiblePopupProps';\r\n\r\nexport interface IDialog {\r\n\r\n}\r\n\r\nexport interface IDialogContentProps extends React.Props<DialogContent>, IWithResponsiveModeState, IAccessiblePopupProps {\r\n /**\r\n * Show an 'x' close button in the upper-right corner\r\n */\r\n showCloseButton?: boolean;\r\n\r\n /**\r\n * Other top buttons that will show up next to the close button\r\n */\r\n topButtonsProps?: IButtonProps[];\r\n\r\n /**\r\n * Optional override class name\r\n */\r\n className?: string;\r\n\r\n /**\r\n * A callback function for when the Dialog is dismissed from the close button or light dismiss, before the animation completes.\r\n */\r\n onDismiss?: (ev?: React.MouseEvent<HTMLButtonElement>) => any;\r\n\r\n /**\r\n * The subtext to display in the dialog.\r\n */\r\n subText?: string;\r\n\r\n /**\r\n * The title text to display at the top of the dialog.\r\n */\r\n title?: string;\r\n}\r\n\r\nexport interface IDialogProps extends React.Props<Dialog>, IWithResponsiveModeState, IAccessiblePopupProps {\r\n /**\r\n * Optional callback to access the IDialog interface. Use this instead of ref for accessing\r\n * the public methods and properties of the component.\r\n */\r\n componentRef?: (component: IDialog) => void;\r\n\r\n /**\r\n * Whether the dialog is displayed.\r\n * @default false\r\n */\r\n isOpen?: boolean;\r\n\r\n /**\r\n * The type of Dialog to display.\r\n * @default DialogType.normal\r\n */\r\n type?: DialogType;\r\n\r\n /**\r\n * Whether the overlay is dark themed.\r\n * @default true\r\n */\r\n isDarkOverlay?: boolean;\r\n\r\n /**\r\n * A callback function for when the Dialog is dismissed from the close button or light dismiss, before the animation completes.\r\n */\r\n onDismiss?: (ev?: React.MouseEvent<HTMLButtonElement>) => any;\r\n\r\n /**\r\n * A callback function which is called after the Dialog is dismissed and the animation is complete.\r\n */\r\n onDismissed?: () => any;\r\n\r\n /**\r\n * The title text to display at the top of the dialog.\r\n */\r\n title?: string;\r\n\r\n /**\r\n * The subtext to display in the dialog.\r\n */\r\n subText?: string;\r\n\r\n /**\r\n * Whether the dialog can be light dismissed by clicking outside the dialog (on the overlay).\r\n * @default false\r\n */\r\n isBlocking?: boolean;\r\n\r\n /**\r\n * Optional class name to be added to the root class\r\n */\r\n className?: string;\r\n\r\n /**\r\n * Optional override for container class\r\n */\r\n containerClassName?: string;\r\n\r\n /**\r\n * Optional override content class\r\n */\r\n contentClassName?: string;\r\n\r\n /**\r\n * A callback function for when the Dialog content is mounted on the overlay layer\r\n */\r\n onLayerDidMount?: () => void;\r\n\r\n /**\r\n * Deprecated at 0.81.2, use 'onLayerDidMount' instead.\r\n * @deprecated\r\n */\r\n onLayerMounted?: () => void;\r\n\r\n /**\r\n * Other top buttons that will show up next to the close button\r\n */\r\n topButtonsProps?: IButtonProps[];\r\n}\r\n\r\nexport enum DialogType {\r\n /** Standard dialog */\r\n normal = 0,\r\n /** Dialog with large header banner */\r\n largeHeader = 1,\r\n /** Dialog with an 'x' close button in the upper-right corner */\r\n close = 2\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Dialog/Dialog.Props.ts","export * from './components/Modal/index';\r\nexport { Modal as default } from './components/Modal/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Modal.ts","export * from './Modal';\r\nexport * from './Modal.Props';\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Modal/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n css,\r\n getId\r\n} from '../../Utilities';\r\nimport { FocusTrapZone } from '../FocusTrapZone/index';\r\nimport { IModalProps } from './Modal.Props';\r\nimport { Overlay } from '../../Overlay';\r\nimport { Layer } from '../../Layer';\r\nimport { Popup } from '../Popup/index';\r\nimport { withResponsiveMode, ResponsiveMode } from '../../utilities/decorators/withResponsiveMode';\r\nimport * as stylesImport from './Modal.scss';\r\nconst styles: any = stylesImport;\r\n\r\n// @TODO - need to change this to a panel whenever the breakpoint is under medium (verify the spec)\r\n\r\nexport interface IDialogState {\r\n isOpen?: boolean;\r\n isVisible?: boolean;\r\n isVisibleClose?: boolean;\r\n id?: string;\r\n}\r\n\r\n@withResponsiveMode\r\nexport class Modal extends BaseComponent<IModalProps, IDialogState> {\r\n\r\n public static defaultProps: IModalProps = {\r\n isOpen: false,\r\n isDarkOverlay: true,\r\n isBlocking: false,\r\n className: '',\r\n containerClassName: '',\r\n };\r\n\r\n private _onModalCloseTimer: number;\r\n\r\n constructor(props: IModalProps) {\r\n super(props);\r\n this.state = {\r\n id: getId('Modal'),\r\n isOpen: props.isOpen,\r\n isVisible: props.isOpen,\r\n };\r\n }\r\n\r\n public componentWillReceiveProps(newProps: IModalProps) {\r\n clearTimeout(this._onModalCloseTimer);\r\n\r\n // Opening the dialog\r\n if (newProps.isOpen) {\r\n if (!this.state.isOpen) {\r\n // First Open\r\n this.setState({\r\n isOpen: true\r\n });\r\n } else {\r\n // Reopen during closing\r\n this.setState({\r\n isVisible: true\r\n });\r\n }\r\n }\r\n\r\n // Closing the dialog\r\n if (!newProps.isOpen && this.state.isOpen) {\r\n this._onModalCloseTimer = this._async.setTimeout(this._onModalClose, parseFloat(styles.duration) * 1000);\r\n this.setState({\r\n isVisible: false\r\n });\r\n }\r\n }\r\n\r\n public componentDidUpdate(prevProps: IModalProps, prevState: IDialogState) {\r\n if (!prevProps.isOpen && !prevState.isVisible) {\r\n this.setState({\r\n isVisible: true\r\n });\r\n }\r\n }\r\n\r\n public render() {\r\n let {\r\n elementToFocusOnDismiss,\r\n firstFocusableSelector,\r\n forceFocusInsideTrap,\r\n ignoreExternalFocusing,\r\n isBlocking,\r\n isClickableOutsideFocusTrap,\r\n isDarkOverlay,\r\n onDismiss,\r\n onLayerDidMount,\r\n responsiveMode,\r\n titleAriaId,\r\n subtitleAriaId,\r\n } = this.props;\r\n let { id, isOpen, isVisible } = this.state;\r\n\r\n const modalClassName = css('ms-Dialog', styles.root, this.props.className, {\r\n ['is-open']: isOpen,\r\n [styles.rootIsVisible]: isVisible,\r\n });\r\n\r\n if (!isOpen) {\r\n return null;\r\n }\r\n\r\n // @temp tuatology - Will adjust this to be a panel at certain breakpoints\r\n if (responsiveMode >= ResponsiveMode.small) {\r\n return (\r\n <Layer onLayerDidMount={ onLayerDidMount }>\r\n <Popup\r\n role={ isBlocking ? 'alertdialog' : 'dialog' }\r\n ariaLabelledBy={ titleAriaId }\r\n ariaDescribedBy={ subtitleAriaId }\r\n onDismiss={ onDismiss }\r\n >\r\n <div className={ modalClassName }>\r\n <Overlay isDarkThemed={ isDarkOverlay } onClick={ isBlocking ? null : onDismiss } />\r\n <FocusTrapZone\r\n className={ css('ms-Dialog-main', styles.main, this.props.containerClassName) }\r\n elementToFocusOnDismiss={ elementToFocusOnDismiss }\r\n isClickableOutsideFocusTrap={ isClickableOutsideFocusTrap ? isClickableOutsideFocusTrap : !isBlocking }\r\n ignoreExternalFocusing={ ignoreExternalFocusing }\r\n forceFocusInsideTrap={ forceFocusInsideTrap }\r\n firstFocusableSelector={ firstFocusableSelector }>\r\n { this.props.children }\r\n </FocusTrapZone>\r\n </div>\r\n </Popup>\r\n </Layer>\r\n );\r\n }\r\n }\r\n\r\n // Watch for completed animations and set the state\r\n private _onModalClose() {\r\n this.setState({\r\n isOpen: false\r\n });\r\n\r\n // Call the onDismiss callback\r\n if (this.props.onDismissed) {\r\n this.props.onDismissed();\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Modal/Modal.tsx","export * from './FocusTrapZone';\r\nexport * from './FocusTrapZone.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/FocusTrapZone/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n KeyCodes,\r\n autobind,\r\n elementContains,\r\n getNativeProps,\r\n divProperties,\r\n getFirstFocusable,\r\n getLastFocusable,\r\n getNextElement\r\n} from '../../Utilities';\r\nimport { IFocusTrapZone, IFocusTrapZoneProps } from './FocusTrapZone.Props';\r\n\r\nexport class FocusTrapZone extends BaseComponent<IFocusTrapZoneProps, {}> implements IFocusTrapZone {\r\n\r\n private static _focusStack: FocusTrapZone[] = [];\r\n private static _clickStack: FocusTrapZone[] = [];\r\n\r\n public refs: {\r\n [key: string]: React.ReactInstance,\r\n root: HTMLElement\r\n };\r\n\r\n private _previouslyFocusedElement: HTMLElement;\r\n private _isInFocusStack: boolean = false;\r\n private _isInClickStack: boolean = false;\r\n\r\n public componentWillMount() {\r\n let { isClickableOutsideFocusTrap = false, forceFocusInsideTrap = true } = this.props;\r\n if (forceFocusInsideTrap) {\r\n this._isInFocusStack = true;\r\n FocusTrapZone._focusStack.push(this);\r\n }\r\n if (!isClickableOutsideFocusTrap) {\r\n this._isInClickStack = true;\r\n FocusTrapZone._clickStack.push(this);\r\n }\r\n }\r\n\r\n public componentDidMount() {\r\n let { elementToFocusOnDismiss, isClickableOutsideFocusTrap = false, forceFocusInsideTrap = true } = this.props;\r\n\r\n this._previouslyFocusedElement = elementToFocusOnDismiss ? elementToFocusOnDismiss : document.activeElement as HTMLElement;\r\n\r\n if (!elementContains(this.refs.root, this._previouslyFocusedElement)) {\r\n this.focus();\r\n }\r\n\r\n if (forceFocusInsideTrap) {\r\n this._events.on(window, 'focus', this._forceFocusInTrap, true);\r\n }\r\n\r\n if (!isClickableOutsideFocusTrap) {\r\n this._events.on(window, 'click', this._forceClickInTrap, true);\r\n }\r\n }\r\n\r\n public componentWillUnmount() {\r\n let { ignoreExternalFocusing } = this.props;\r\n\r\n this._events.dispose();\r\n if (this._isInFocusStack || this._isInClickStack) {\r\n let filter = (value: FocusTrapZone) => {\r\n return this !== value;\r\n };\r\n if (this._isInFocusStack) {\r\n FocusTrapZone._focusStack = FocusTrapZone._focusStack.filter(filter);\r\n }\r\n if (this._isInClickStack) {\r\n FocusTrapZone._clickStack = FocusTrapZone._clickStack.filter(filter);\r\n }\r\n }\r\n\r\n if (!ignoreExternalFocusing && this._previouslyFocusedElement && typeof this._previouslyFocusedElement.focus === 'function') {\r\n this._previouslyFocusedElement.focus();\r\n }\r\n }\r\n\r\n public render() {\r\n let { className, ariaLabelledBy } = this.props;\r\n let divProps = getNativeProps(this.props, divProperties);\r\n\r\n return (\r\n <div\r\n { ...divProps }\r\n className={ className }\r\n ref='root'\r\n aria-labelledby={ ariaLabelledBy }\r\n onKeyDown={ this._onKeyboardHandler }>\r\n { this.props.children }\r\n </div>\r\n );\r\n }\r\n\r\n /**\r\n * Need to expose this method in case of popups since focus needs to be set when popup is opened\r\n */\r\n public focus() {\r\n let { firstFocusableSelector } = this.props;\r\n let _firstFocusableChild;\r\n let root = this.refs.root;\r\n\r\n if (firstFocusableSelector) {\r\n _firstFocusableChild = root.querySelector('.' + firstFocusableSelector);\r\n } else {\r\n _firstFocusableChild = getNextElement(root, root.firstChild as HTMLElement, true, false, false, true);\r\n }\r\n if (_firstFocusableChild) {\r\n _firstFocusableChild.focus();\r\n }\r\n }\r\n\r\n @autobind\r\n private _onKeyboardHandler(ev: React.KeyboardEvent<HTMLElement>) {\r\n if (ev.which !== KeyCodes.tab) {\r\n return;\r\n }\r\n\r\n let { root } = this.refs;\r\n\r\n const _firstFocusableChild = getFirstFocusable(root, root.firstChild as HTMLElement, true);\r\n const _lastFocusableChild = getLastFocusable(root, root.lastChild as HTMLElement, true);\r\n\r\n if (ev.shiftKey && _firstFocusableChild === ev.target) {\r\n _lastFocusableChild.focus();\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n } else if (!ev.shiftKey && _lastFocusableChild === ev.target) {\r\n _firstFocusableChild.focus();\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n }\r\n\r\n private _forceFocusInTrap(ev: FocusEvent) {\r\n if (FocusTrapZone._focusStack.length && this === FocusTrapZone._focusStack[FocusTrapZone._focusStack.length - 1]) {\r\n const focusedElement = document.activeElement as HTMLElement;\r\n\r\n if (!elementContains(this.refs.root, focusedElement)) {\r\n this.focus();\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n }\r\n }\r\n\r\n private _forceClickInTrap(ev: MouseEvent) {\r\n if (FocusTrapZone._clickStack.length && this === FocusTrapZone._clickStack[FocusTrapZone._clickStack.length - 1]) {\r\n const clickedElement = ev.target as HTMLElement;\r\n\r\n if (clickedElement && !elementContains(this.refs.root, clickedElement)) {\r\n this.focus();\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/FocusTrapZone/FocusTrapZone.tsx","export * from './components/Overlay/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Overlay.ts","export * from './Overlay';\r\nexport * from './Overlay.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Overlay/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n css,\r\n getNativeProps,\r\n divProperties,\r\n enableBodyScroll,\r\n disableBodyScroll\r\n} from '../../Utilities';\r\nimport { IOverlayProps } from './Overlay.Props';\r\n\r\nimport * as stylesImport from './Overlay.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport class Overlay extends BaseComponent<IOverlayProps, {}> {\r\n\r\n public componentDidMount() {\r\n disableBodyScroll();\r\n }\r\n\r\n public componentWillUnmount() {\r\n enableBodyScroll();\r\n }\r\n\r\n public render() {\r\n let { isDarkThemed, className } = this.props;\r\n let divProps = getNativeProps(this.props, divProperties);\r\n\r\n let modifiedClassName = css(\r\n 'ms-Overlay',\r\n styles.root,\r\n className,\r\n {\r\n ['ms-Overlay--dark ' + styles.rootIsDark]: isDarkThemed,\r\n });\r\n\r\n return (\r\n <div { ...divProps } className={ modifiedClassName } />\r\n );\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Overlay/Overlay.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_96cb34c6',\r\n rootIsNone: 'rootIsNone_96cb34c6',\r\n rootIsDark: 'rootIsDark_96cb34c6',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_96cb34c6{background-color:\"},{\"theme\":\"whiteTranslucent40\",\"defaultValue\":\"rgba(255,255,255,.4)\"},{\"rawString\":\";position:absolute;bottom:0;left:0;right:0;top:0}.root_96cb34c6.rootIsNone_96cb34c6{visibility:hidden}.root_96cb34c6.rootIsDark_96cb34c6{background-color:\"},{\"theme\":\"blackTranslucent40\",\"defaultValue\":\"rgba(0,0,0,.4)\"},{\"rawString\":\"}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Overlay/Overlay.scss.ts","import * as React from 'react';\r\nimport { BaseDecorator } from './BaseDecorator';\r\nimport { getWindow } from '../../Utilities';\r\n\r\nexport interface IWithResponsiveModeState {\r\n responsiveMode?: ResponsiveMode;\r\n}\r\n\r\nexport enum ResponsiveMode {\r\n small = 0,\r\n medium = 1,\r\n large = 2,\r\n xLarge = 3,\r\n xxLarge = 4,\r\n xxxLarge = 5\r\n}\r\n\r\nconst RESPONSIVE_MAX_CONSTRAINT = [\r\n 479,\r\n 639,\r\n 1023,\r\n 1365,\r\n 1919,\r\n 99999999\r\n];\r\n\r\nlet _defaultMode: ResponsiveMode;\r\n\r\n/**\r\n * Allows a server rendered scenario to provide a default responsive mode.\r\n */\r\nexport function setResponsiveMode(responsiveMode: ResponsiveMode) {\r\n _defaultMode = responsiveMode;\r\n}\r\n\r\nexport function withResponsiveMode<P extends { responsiveMode?: ResponsiveMode }, S>(ComposedComponent: (new (props: P, ...args: any[]) => React.Component<P, S>)): any {\r\n\r\n return class WithResponsiveMode extends BaseDecorator<P, IWithResponsiveModeState> {\r\n\r\n constructor() {\r\n super();\r\n this._updateComposedComponentRef = this._updateComposedComponentRef.bind(this);\r\n\r\n this.state = {\r\n responsiveMode: this._getResponsiveMode()\r\n };\r\n }\r\n\r\n public componentDidMount() {\r\n this._events.on(window, 'resize', () => {\r\n let responsiveMode = this._getResponsiveMode();\r\n\r\n if (responsiveMode !== this.state.responsiveMode) {\r\n this.setState({\r\n responsiveMode: responsiveMode\r\n });\r\n }\r\n });\r\n }\r\n\r\n public componentWillUnmount() {\r\n this._events.dispose();\r\n }\r\n\r\n public render() {\r\n let { responsiveMode } = this.state;\r\n\r\n return (\r\n <ComposedComponent ref={ this._updateComposedComponentRef } responsiveMode={ responsiveMode } { ...this.props as any } />\r\n );\r\n }\r\n\r\n private _getResponsiveMode(): ResponsiveMode {\r\n let responsiveMode = ResponsiveMode.small;\r\n let win = getWindow();\r\n\r\n if (typeof win !== 'undefined') {\r\n while (win.innerWidth > RESPONSIVE_MAX_CONSTRAINT[responsiveMode]) {\r\n responsiveMode++;\r\n }\r\n } else {\r\n if (_defaultMode !== undefined) {\r\n responsiveMode = _defaultMode;\r\n } else {\r\n throw new Error(\r\n 'Content was rendered in a server environment without providing a default responsive mode. ' +\r\n 'Call setResponsiveMode to define what the responsive mode is.'\r\n );\r\n }\r\n }\r\n\r\n return responsiveMode;\r\n }\r\n };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/utilities/decorators/withResponsiveMode.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n duration: '0.267s',\r\n root: 'root_a3f85f57',\r\n rootIsVisible: 'rootIsVisible_a3f85f57',\r\n main: 'main_a3f85f57',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_a3f85f57{background-color:transparent;position:fixed;height:100%;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 267ms}.root_a3f85f57 .ms-Button.ms-Button--compound{display:block}[dir=ltr] .root_a3f85f57 .ms-Button.ms-Button--compound{margin-left:0}[dir=rtl] .root_a3f85f57 .ms-Button.ms-Button--compound{margin-right:0}@media screen and (-ms-high-contrast:active){.root_a3f85f57 .ms-Overlay{opacity:0}}.rootIsVisible_a3f85f57{opacity:1;pointer-events:auto}.main_a3f85f57{box-shadow:0 0 5px 0 rgba(0,0,0,.4);background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";box-sizing:border-box;position:relative;outline:3px solid transparent;max-height:100%;overflow-y:auto}[dir=ltr] .main_a3f85f57{text-align:left}[dir=rtl] .main_a3f85f57{text-align:right}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Modal/Modal.scss.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n isOpen: 'isOpen_4755d2e8',\r\n main: 'main_4755d2e8',\r\n button: 'button_4755d2e8',\r\n isClose: 'isClose_4755d2e8',\r\n inner: 'inner_4755d2e8',\r\n header: 'header_4755d2e8',\r\n title: 'title_4755d2e8',\r\n topButton: 'topButton_4755d2e8',\r\n content: 'content_4755d2e8',\r\n subText: 'subText_4755d2e8',\r\n actions: 'actions_4755d2e8',\r\n actionsRight: 'actionsRight_4755d2e8',\r\n action: 'action_4755d2e8',\r\n isLargeHeader: 'isLargeHeader_4755d2e8',\r\n isMultiline: 'isMultiline_4755d2e8',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".isOpen_4755d2e8{display:-webkit-box;display:-ms-flexbox;display:flex}.main_4755d2e8{width:288px}.button_4755d2e8.isClose_4755d2e8{display:none}.button_4755d2e8.isClose_4755d2e8 .ms-Icon.ms-Icon--Cancel{color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\";font-size:16px}.inner_4755d2e8{padding:0 28px 20px}.header_4755d2e8{position:relative;width:100%;box-sizing:border-box}.title_4755d2e8{margin:0;font-size:21px;font-weight:100;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";padding:20px 36px 20px 28px}[dir=rtl] .title_4755d2e8{padding:20px 28px 20px 36px}.topButton_4755d2e8{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;position:absolute;top:0;padding:12px 12px 0 0}[dir=ltr] .topButton_4755d2e8{right:0}[dir=rtl] .topButton_4755d2e8{left:0}[dir=rtl] .topButton_4755d2e8{padding:12px 0 0 12px}.topButton_4755d2e8>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.content_4755d2e8{position:relative;width:100%}.content_4755d2e8 .ms-Button.ms-Button--compound{margin-bottom:20px}.content_4755d2e8 .ms-Button.ms-Button--compound:last-child{margin-bottom:0}.subText_4755d2e8{margin:0 0 20px 0;padding-top:8px;font-size:12px;font-weight:400;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";font-weight:300;line-height:1.5}.actions_4755d2e8{position:relative;width:100%;min-height:24px;line-height:24px;margin:20px 0 0;font-size:0}.actions_4755d2e8 .ms-Button{line-height:normal}.actionsRight_4755d2e8{font-size:0}[dir=ltr] .actionsRight_4755d2e8{text-align:right}[dir=rtl] .actionsRight_4755d2e8{text-align:left}[dir=ltr] .actionsRight_4755d2e8{margin-right:-4px}[dir=rtl] .actionsRight_4755d2e8{margin-left:-4px}.actionsRight_4755d2e8 .action_4755d2e8{margin:0 4px}.isClose_4755d2e8:not(.isLargeHeader_4755d2e8) .button_4755d2e8.isClose_4755d2e8{display:block}.isMultiline_4755d2e8 .title_4755d2e8{font-size:28px}.isMultiline_4755d2e8 .inner_4755d2e8{padding:0 20px 20px}.isLargeHeader_4755d2e8 .header_4755d2e8{background-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.isLargeHeader_4755d2e8 .title_4755d2e8{font-size:28px;font-weight:100;color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";padding:26px 28px 28px;margin-bottom:8px}.isLargeHeader_4755d2e8 .subText_4755d2e8{font-size:14px}@media (min-width:480px){.main_4755d2e8{width:auto;min-width:288px;max-width:340px}}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Dialog/Dialog.scss.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n css,\r\n getId\r\n} from '../../Utilities';\r\nimport { IDialogContentProps } from './Dialog.Props';\r\nimport { IconButton } from '../../Button';\r\nimport { DialogFooter } from './DialogFooter';\r\nimport { withResponsiveMode } from '../../utilities/decorators/withResponsiveMode';\r\nimport * as stylesImport from './Dialog.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IDialogContnetState {\r\n id?: string;\r\n}\r\n\r\n@withResponsiveMode\r\nexport class DialogContent extends BaseComponent<IDialogContentProps, IDialogContnetState> {\r\n\r\n public static defaultProps: IDialogContentProps = {\r\n showCloseButton: false,\r\n className: '',\r\n topButtonsProps: []\r\n };\r\n\r\n constructor(props: IDialogContentProps) {\r\n super(props);\r\n\r\n this.state = {\r\n id: getId('Dialog'),\r\n };\r\n }\r\n\r\n public render() {\r\n let {\r\n showCloseButton,\r\n closeButtonAriaLabel,\r\n onDismiss,\r\n subText,\r\n title\r\n } = this.props;\r\n let { id } = this.state;\r\n\r\n let groupings = this._groupChildren();\r\n let subTextContent;\r\n if (subText) {\r\n subTextContent = <p className={ css('ms-Dialog-subText', styles.subText) } id={ id + '-subText' }>{ subText }</p>;\r\n }\r\n\r\n return (\r\n <div>\r\n <div className={ css('ms-Dialog-header', styles.header) }>\r\n <p className={ css('ms-Dialog-title', styles.title) } id={ id + '-title' } role='heading'>{ title }</p>\r\n <div className={ css('ms-Dialog-topButton', styles.topButton) }>\r\n { this.props.topButtonsProps.map((props) => (\r\n <IconButton {...props} />\r\n )) }\r\n <IconButton\r\n className={ css(\r\n 'ms-Dialog-button ms-Dialog-button--close',\r\n styles.button,\r\n { [styles.isClose]: !showCloseButton }\r\n ) }\r\n iconProps={ { iconName: 'Cancel' } }\r\n ariaLabel={ closeButtonAriaLabel }\r\n onClick={ onDismiss }\r\n />\r\n </div>\r\n </div>\r\n <div className={ css('ms-Dialog-inner', styles.inner) }>\r\n <div className={ css('ms-Dialog-content', styles.content, this.props.className) }>\r\n { subTextContent }\r\n { groupings.contents }\r\n </div>\r\n { groupings.footers }\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n // @TODO - typing the footers as an array of DialogFooter is difficult because\r\n // casing \"child as DialogFooter\" causes a problem because\r\n // \"Neither type 'ReactElement<any>' nor type 'DialogFooter' is assignable to the other.\"\r\n private _groupChildren(): { footers: any[]; contents: any[]; } {\r\n\r\n let groupings: { footers: any[]; contents: any[]; } = {\r\n footers: [],\r\n contents: []\r\n };\r\n\r\n React.Children.map(this.props.children, child => {\r\n if (typeof child === 'object' && child !== null && child.type === DialogFooter) {\r\n groupings.footers.push(child);\r\n } else {\r\n groupings.contents.push(child);\r\n }\r\n });\r\n\r\n return groupings;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Dialog/DialogContent.tsx","import * as React from 'react';\r\nimport { BaseComponent, css } from '../../Utilities';\r\nimport * as stylesImport from './Dialog.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport class DialogFooter extends BaseComponent<any, any> {\r\n public render() {\r\n return (\r\n <div className={ css('ms-Dialog-actions', styles.actions) }>\r\n <div className={ css('ms-Dialog-actionsRight', styles.actionsRight) }>\r\n { this._renderChildrenAsActions() }\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n private _renderChildrenAsActions() {\r\n return React.Children.map(this.props.children, child =>\r\n <span className={ css('ms-Dialog-action', styles.action) }>{ child }</span>\r\n );\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Dialog/DialogFooter.tsx","export * from './components/DocumentCard/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/DocumentCard.ts","export * from './DocumentCard';\r\nexport * from './DocumentCard.Props';\r\nexport * from './DocumentCardActions';\r\nexport * from './DocumentCardActivity';\r\nexport * from './DocumentCardLocation';\r\nexport * from './DocumentCardPreview';\r\nexport * from './DocumentCardTitle';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DocumentCard/index.ts","import * as React from 'react';\r\nimport { IDocumentCardProps, DocumentCardType } from './DocumentCard.Props';\r\nimport {\r\n BaseComponent,\r\n KeyCodes,\r\n autobind,\r\n css\r\n} from '../../Utilities';\r\nimport * as stylesImport from './DocumentCard.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport class DocumentCard extends BaseComponent<IDocumentCardProps, any> {\r\n public static defaultProps: IDocumentCardProps = {\r\n type: DocumentCardType.normal\r\n };\r\n\r\n public render() {\r\n let { onClick, onClickHref, children, className, type, accentColor } = this.props;\r\n let actionable = (onClick || onClickHref) ? true : false;\r\n\r\n // Override the border color if an accent color was provided (compact card only)\r\n let style;\r\n if (type === DocumentCardType.compact && accentColor) {\r\n style = {\r\n borderBottomColor: accentColor\r\n };\r\n }\r\n\r\n // if this element is actionable it should have an aria role\r\n let role = actionable ? (onClick ? 'button' : 'link') : null;\r\n let tabIndex = actionable ? 0 : null;\r\n\r\n return (\r\n <div\r\n tabIndex={ tabIndex }\r\n role={ role }\r\n className={\r\n css(\r\n 'ms-DocumentCard',\r\n styles.root,\r\n {\r\n ['ms-DocumentCard--actionable ' + styles.rootIsActionable]: actionable,\r\n ['ms-DocumentCard--compact ' + styles.rootIsCompact]: type === DocumentCardType.compact ? true : false\r\n },\r\n className\r\n )\r\n }\r\n onKeyDown={ actionable ? this._onKeyDown : null }\r\n onClick={ actionable ? this._onClick : null }\r\n style={ style }>\r\n { children }\r\n </div>\r\n );\r\n }\r\n\r\n @autobind\r\n private _onClick(ev: React.MouseEvent<HTMLElement>): void {\r\n this._onAction(ev);\r\n }\r\n\r\n @autobind\r\n private _onKeyDown(ev: React.KeyboardEvent<HTMLElement>): void {\r\n if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {\r\n this._onAction(ev);\r\n }\r\n }\r\n\r\n @autobind\r\n private _onAction(ev: React.SyntheticEvent<HTMLElement>): void {\r\n let { onClick, onClickHref } = this.props;\r\n\r\n if (onClick) {\r\n onClick(ev);\r\n } else if (!onClick && onClickHref) {\r\n // If no onClick Function was provided and we do have an onClickHref, redirect to the onClickHref\r\n window.location.href = onClickHref;\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DocumentCard/DocumentCard.tsx","import * as React from 'react';\r\nimport { DocumentCard } from './DocumentCard';\r\nimport { DocumentCardTitle } from './DocumentCardTitle';\r\nimport { DocumentCardPreview } from './DocumentCardPreview';\r\nimport { DocumentCardLocation } from './DocumentCardLocation';\r\nimport { DocumentCardActivity } from './DocumentCardActivity';\r\nimport { DocumentCardActions } from './DocumentCardActions';\r\nimport { PersonaInitialsColor } from '../../Persona';\r\nimport { ImageFit } from '../../Image';\r\nimport { IButtonProps } from '../../Button';\r\n\r\nexport interface IDocumentCard {\r\n\r\n}\r\n\r\nexport interface IDocumentCardProps extends React.Props<DocumentCard> {\r\n /**\r\n * Optional callback to access the IDocumentCard interface. Use this instead of ref for accessing\r\n * the public methods and properties of the component.\r\n */\r\n componentRef?: (component: IDocumentCard) => void;\r\n\r\n /**\r\n * The type of DocumentCard to display.\r\n * @default DocumentCardType.normal\r\n */\r\n type?: DocumentCardType;\r\n\r\n /**\r\n * Function to call when the card is clicked or keyboard Enter/Space is pushed.\r\n */\r\n onClick?: (ev?: React.SyntheticEvent<HTMLElement>) => void;\r\n\r\n /**\r\n * A URL to navigate to when the card is clicked. If a function has also been provided,\r\n * it will be used instead of the URL.\r\n */\r\n onClickHref?: string;\r\n\r\n /**\r\n * Optional class for document card.\r\n */\r\n className?: string;\r\n\r\n /**\r\n * Hex color value of the line below the card, which should correspond to the document type.\r\n * This should only be supplied when using the 'compact' card layout.\r\n */\r\n accentColor?: string;\r\n}\r\n\r\nexport enum DocumentCardType {\r\n /**\r\n * Standard DocumentCard.\r\n */\r\n normal = 0,\r\n /**\r\n * Compact layout. Displays the preview beside the details, rather than above.\r\n */\r\n compact = 1\r\n}\r\n\r\nexport interface IDocumentCardPreviewProps extends React.Props<DocumentCardPreview> {\r\n /**\r\n * One or more preview images to display.\r\n */\r\n previewImages: IDocumentCardPreviewImage[];\r\n\r\n /**\r\n * The function return string that will describe the number of overflow documents.\r\n * such as (overflowCount: number) => `+${ overflowCount } more`,\r\n */\r\n getOverflowDocumentCountText?: (overflowCount: number) => string;\r\n}\r\n\r\nexport interface IDocumentCardPreviewImage {\r\n /**\r\n * File name for the document this preview represents.\r\n */\r\n name?: string;\r\n\r\n /**\r\n * URL to view the file.\r\n */\r\n url?: string;\r\n\r\n /**\r\n * Path to the preview image.\r\n */\r\n previewImageSrc?: string;\r\n\r\n /**\r\n * Deprecated at v1.3.6, to be removed at >= v2.0.0.\r\n * @deprecated\r\n */\r\n errorImageSrc?: string;\r\n\r\n /**\r\n * Path to the icon associated with this document type.\r\n */\r\n iconSrc?: string;\r\n\r\n /**\r\n * If provided, forces the preview image to be this width.\r\n */\r\n width?: number;\r\n\r\n /**\r\n * If provided, forces the preview image to be this height.\r\n */\r\n height?: number;\r\n\r\n /**\r\n * Used to determine how to size the image to fit the dimensions of the component.\r\n * If both dimensions are provided, then the image is fit using ImageFit.scale, otherwise ImageFit.none is used.\r\n */\r\n imageFit?: ImageFit;\r\n\r\n /**\r\n * Hex color value of the line below the preview, which should correspond to the document type.\r\n */\r\n accentColor?: string;\r\n}\r\n\r\nexport interface IDocumentCardTitleProps extends React.Props<DocumentCardTitle> {\r\n /**\r\n * Title text. If the card represents more than one document, this should be the title of one document and a \"+X\" string. For example, a collection of four documents would have a string of \"Document.docx +3\".\r\n */\r\n title: string;\r\n\r\n /**\r\n * Whether we truncate the title to fit within the box. May have a performance impact.\r\n * @defaultvalue true\r\n */\r\n shouldTruncate?: boolean;\r\n}\r\n\r\nexport interface IDocumentCardLocationProps extends React.Props<DocumentCardLocation> {\r\n /**\r\n * Text for the location of the document.\r\n */\r\n location: string;\r\n\r\n /**\r\n * URL to navigate to for this location.\r\n */\r\n locationHref?: string;\r\n\r\n /**\r\n * Function to call when the location is clicked.\r\n */\r\n onClick?: (ev?: React.MouseEvent<HTMLElement>) => void;\r\n\r\n /**\r\n * Aria label for the link to the document location.\r\n */\r\n ariaLabel?: string;\r\n}\r\n\r\nexport interface IDocumentCardActivityProps extends React.Props<DocumentCardActivity> {\r\n /**\r\n * Describes the activity that has taken place, such as \"Created Feb 23, 2016\".\r\n */\r\n activity: string;\r\n\r\n /**\r\n * One or more people who are involved in this activity.\r\n */\r\n people: IDocumentCardActivityPerson[];\r\n}\r\n\r\nexport interface IDocumentCardActivityPerson {\r\n /**\r\n * The name of the person.\r\n */\r\n name: string;\r\n\r\n /**\r\n * Path to the profile photo of the person.\r\n */\r\n profileImageSrc: string;\r\n\r\n /**\r\n * The user's initials to display in the profile photo area when there is no image.\r\n */\r\n initials?: string;\r\n\r\n /**\r\n * The background color when the user's initials are displayed.\r\n * @defaultvalue PersonaInitialsColor.blue\r\n */\r\n initialsColor?: PersonaInitialsColor;\r\n}\r\n\r\nexport interface IDocumentCardActionsProps extends React.Props<DocumentCardActions> {\r\n /**\r\n * The actions available for this document.\r\n */\r\n actions: IButtonProps[];\r\n\r\n /**\r\n * The number of views this document has received.\r\n */\r\n views?: Number;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DocumentCard/DocumentCard.Props.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_4e9b7730',\r\n rootIsActionable: 'rootIsActionable_4e9b7730',\r\n location: 'location_4e9b7730',\r\n title: 'title_4e9b7730',\r\n rootIsCompact: 'rootIsCompact_4e9b7730',\r\n preview: 'preview_4e9b7730',\r\n icon: 'icon_4e9b7730',\r\n activity: 'activity_4e9b7730',\r\n actions: 'actions_4e9b7730',\r\n action: 'action_4e9b7730',\r\n views: 'views_4e9b7730',\r\n activityIsMultiplePeople: 'activityIsMultiplePeople_4e9b7730',\r\n avatar: 'avatar_4e9b7730',\r\n activityDetails: 'activityDetails_4e9b7730',\r\n avatars: 'avatars_4e9b7730',\r\n name: 'name_4e9b7730',\r\n activityActivity: 'activityActivity_4e9b7730',\r\n previewIsFileList: 'previewIsFileList_4e9b7730',\r\n fileList: 'fileList_4e9b7730',\r\n fileListIcon: 'fileListIcon_4e9b7730',\r\n fileListMore: 'fileListMore_4e9b7730',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_4e9b7730{-webkit-font-smoothing:antialiased;background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";border:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\";box-sizing:border-box;max-width:320px;min-width:206px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative}.rootIsActionable_4e9b7730:hover{cursor:pointer;border-color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}.rootIsActionable_4e9b7730:hover:after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid \"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\";pointer-events:none}.location_4e9b7730+.title_4e9b7730{padding-top:4px}.rootIsCompact_4e9b7730{border-bottom:2px solid \"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\";display:-webkit-box;display:-ms-flexbox;display:flex;max-width:480px;height:109px}.rootIsCompact_4e9b7730 .ms-DocumentCard-details{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.rootIsCompact_4e9b7730 .preview_4e9b7730{border-bottom:none;max-height:106px;max-width:144px}.rootIsCompact_4e9b7730 .preview_4e9b7730 .icon_4e9b7730 .ms-Image-image{max-height:32px;max-width:32px}html[dir=ltr] .rootIsCompact_4e9b7730 .preview_4e9b7730{border-right:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}html[dir=rtl] .rootIsCompact_4e9b7730 .preview_4e9b7730{border-left:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}.rootIsCompact_4e9b7730 .title_4e9b7730{padding:12px 16px 8px 16px;font-size:15px;font-weight:400;line-height:16px}.rootIsCompact_4e9b7730 .activity_4e9b7730{padding-bottom:12px}.actions_4e9b7730{height:34px;padding:4px 12px;position:relative}.action_4e9b7730{color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\";cursor:pointer}html[dir=ltr] .action_4e9b7730{float:left}html[dir=rtl] .action_4e9b7730{float:right}[dir=ltr] .action_4e9b7730{margin-right:4px}[dir=rtl] .action_4e9b7730{margin-left:4px}.action_4e9b7730 .ms-Button{font-size:16px;height:34px;width:34px}.action_4e9b7730 .ms-Button:hover .ms-Button-icon{color:#1174c3;cursor:pointer}.views_4e9b7730{line-height:34px}html[dir=ltr] .views_4e9b7730{text-align:right}html[dir=rtl] .views_4e9b7730{text-align:left}.views_4e9b7730 .ms-Icon{font-size:16px;vertical-align:top}[dir=ltr] .views_4e9b7730 .ms-Icon{margin-right:4px}[dir=rtl] .views_4e9b7730 .ms-Icon{margin-left:4px}.activity_4e9b7730{padding:8px 16px;position:relative}html[dir=ltr] .activityIsMultiplePeople_4e9b7730 .avatar_4e9b7730:nth-of-type(2){margin-left:-16px}html[dir=rtl] .activityIsMultiplePeople_4e9b7730 .avatar_4e9b7730:nth-of-type(2){margin-right:-16px}[dir=ltr] .activityIsMultiplePeople_4e9b7730 .activityDetails_4e9b7730{left:72px}[dir=rtl] .activityIsMultiplePeople_4e9b7730 .activityDetails_4e9b7730{right:72px}.avatars_4e9b7730{height:32px}html[dir=ltr] .avatars_4e9b7730{margin-left:-2px}html[dir=rtl] .avatars_4e9b7730{margin-right:-2px}.avatar_4e9b7730{display:inline-block;vertical-align:top;position:relative;text-align:center;width:32px;height:32px}.avatar_4e9b7730:after{content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border:2px solid #fafafa;border-radius:50%}.activityDetails_4e9b7730{height:32px;position:absolute;top:8px;width:calc(100% - 72px)}[dir=ltr] .activityDetails_4e9b7730{left:56px}[dir=rtl] .activityDetails_4e9b7730{right:56px}.activityActivity_4e9b7730,.name_4e9b7730{display:block;font-size:12px;font-weight:400;color:\"},{\"theme\":\"neutralSecondaryAlt\",\"defaultValue\":\"#767676\"},{\"rawString\":\";line-height:15px;height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name_4e9b7730{color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";font-weight:600}.location_4e9b7730{font-size:12px;font-weight:400;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";display:block;padding:8px 16px;position:relative;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location_4e9b7730:hover{color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";cursor:pointer}.preview_4e9b7730{border-bottom:2px solid \"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\";position:relative;background-color:\"},{\"theme\":\"neutralLighterAlt\",\"defaultValue\":\"#f8f8f8\"},{\"rawString\":\";overflow:hidden}.preview_4e9b7730.previewIsFileList_4e9b7730{background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.icon_4e9b7730{bottom:10px;position:absolute}[dir=ltr] .icon_4e9b7730{left:10px}[dir=rtl] .icon_4e9b7730{right:10px}.fileList_4e9b7730{padding:16px 16px 0 16px;list-style-type:none;margin:0}html[dir=rtl] .fileList_4e9b7730{padding:16px 16px 0 16px}.fileList_4e9b7730 li{height:16px;line-height:16px;margin-bottom:8px;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap}[dir=ltr] .fileList_4e9b7730 li{padding-left:24px}[dir=rtl] .fileList_4e9b7730 li{padding-right:24px}.fileList_4e9b7730 a{font-size:12px;text-decoration:none;color:\"},{\"theme\":\"neutralDark\",\"defaultValue\":\"#212121\"},{\"rawString\":\"}.fileList_4e9b7730 a:hover{color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.fileListIcon_4e9b7730{position:absolute;top:0}[dir=ltr] .fileListIcon_4e9b7730{left:0}[dir=rtl] .fileListIcon_4e9b7730{right:0}.fileListMore_4e9b7730{padding:0 16px 8px 16px;display:block;font-size:12px}html[dir=rtl] .fileListMore_4e9b7730{padding:0 16px 8px 16px}.title_4e9b7730{padding:8px 16px;display:block;font-size:17px;font-weight:300;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";height:38px;line-height:21px;overflow:hidden;word-wrap:break-word}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DocumentCard/DocumentCard.scss.ts","import * as React from 'react';\r\nimport { BaseComponent, css } from '../../Utilities';\r\nimport { IDocumentCardActionsProps } from './DocumentCard.Props';\r\nimport { Icon } from '../../Icon';\r\nimport { IconButton } from '../../Button';\r\nimport * as stylesImport from './DocumentCard.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport class DocumentCardActions extends BaseComponent<IDocumentCardActionsProps, any> {\r\n public render() {\r\n let { actions, views } = this.props;\r\n\r\n return (\r\n <div className={ css('ms-DocumentCardActions', styles.actions) }>\r\n\r\n { actions && actions.map((action, index) => {\r\n return (\r\n <div className={ css('ms-DocumentCardActions-action', styles.action) } key={ index }>\r\n <IconButton { ...action } />\r\n </div>\r\n );\r\n }) }\r\n\r\n { views > 0 && (\r\n <div className={ css('ms-DocumentCardActions-views', styles.views) }>\r\n <Icon iconName='view' />\r\n { views }\r\n </div>\r\n ) }\r\n </div>\r\n );\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DocumentCard/DocumentCardActions.tsx","import * as React from 'react';\r\nimport { BaseComponent, css } from '../../Utilities';\r\nimport { IDocumentCardActivityProps, IDocumentCardActivityPerson } from './DocumentCard.Props';\r\nimport { Persona, PersonaSize } from '../../Persona';\r\nimport * as stylesImport from './DocumentCard.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport class DocumentCardActivity extends BaseComponent<IDocumentCardActivityProps, any> {\r\n public render() {\r\n let { activity, people } = this.props;\r\n\r\n return (\r\n people && people.length > 0 &&\r\n <div className={ css('ms-DocumentCardActivity', styles.activity, {\r\n ['ms-DocumentCardActivity--multiplePeople ' + styles.activityIsMultiplePeople]: people.length > 1\r\n }) }>\r\n { this._renderAvatars(people) }\r\n <div className={ css('ms-DocumentCardActivity-details', styles.activityDetails) }>\r\n <span className={ css('ms-DocumentCardActivity-name', styles.name) }>{ this._getNameString(people) }</span>\r\n <span className={ css('ms-DocumentCardActivity-activity', styles.activityActivity) }>{ activity }</span>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n private _renderAvatars(people: IDocumentCardActivityPerson[]): React.ReactElement<{}> {\r\n return (\r\n <div className={ css('ms-DocumentCardActivity-avatars', styles.avatars) }>\r\n { people.length > 1 ? this._renderAvatar(people[1]) : null }\r\n { this._renderAvatar(people[0]) }\r\n </div>\r\n );\r\n }\r\n\r\n private _renderAvatar(person: IDocumentCardActivityPerson) {\r\n\r\n return (\r\n <div className={ css('ms-DocumentCardActivity-avatar', styles.avatar) }>\r\n <Persona\r\n imageInitials={ person.initials }\r\n primaryText={ person.name }\r\n hidePersonaDetails={ true }\r\n imageUrl={ person.profileImageSrc }\r\n initialsColor={ person.initialsColor }\r\n role='persentation'\r\n size={ PersonaSize.extraSmall }\r\n />\r\n\r\n </div>\r\n );\r\n }\r\n\r\n private _getNameString(people: IDocumentCardActivityPerson[]): string {\r\n let nameString = people[0].name;\r\n\r\n if (people.length >= 2) {\r\n nameString += ' +' + (people.length - 1);\r\n }\r\n\r\n return nameString;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DocumentCard/DocumentCardActivity.tsx","export * from './components/Persona/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Persona.ts","export * from './Persona';\r\nexport * from './Persona.Props';\r\nexport * from './PersonaConsts';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Persona/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n autobind,\r\n css,\r\n divProperties,\r\n getInitials,\r\n getNativeProps,\r\n getRTL,\r\n IRenderFunction\r\n} from '../../Utilities';\r\nimport { Icon } from '../../Icon';\r\nimport { Image, ImageFit, ImageLoadState } from '../../Image';\r\nimport {\r\n IPersonaProps,\r\n PersonaInitialsColor,\r\n PersonaPresence,\r\n PersonaSize\r\n} from './Persona.Props';\r\nimport {\r\n PERSONA_INITIALS_COLOR,\r\n PERSONA_PRESENCE,\r\n PERSONA_SIZE\r\n} from './PersonaConsts';\r\nimport * as stylesImport from './Persona.scss';\r\nconst styles: any = stylesImport;\r\n\r\n// The RGB color swatches\r\nconst COLOR_SWATCHES_LOOKUP: PersonaInitialsColor[] = [\r\n PersonaInitialsColor.lightGreen,\r\n PersonaInitialsColor.lightBlue,\r\n PersonaInitialsColor.lightPink,\r\n PersonaInitialsColor.green,\r\n PersonaInitialsColor.darkGreen,\r\n PersonaInitialsColor.pink,\r\n PersonaInitialsColor.magenta,\r\n PersonaInitialsColor.purple,\r\n PersonaInitialsColor.black,\r\n PersonaInitialsColor.teal,\r\n PersonaInitialsColor.blue,\r\n PersonaInitialsColor.darkBlue,\r\n PersonaInitialsColor.orange,\r\n PersonaInitialsColor.darkRed,\r\n PersonaInitialsColor.red\r\n];\r\n\r\nconst COLOR_SWATCHES_NUM_ENTRIES = COLOR_SWATCHES_LOOKUP.length;\r\n\r\nexport interface IPersonaState {\r\n isImageLoaded?: boolean;\r\n}\r\n\r\nexport class Persona extends BaseComponent<IPersonaProps, IPersonaState> {\r\n public static defaultProps: IPersonaProps = {\r\n primaryText: '',\r\n size: PersonaSize.regular,\r\n presence: PersonaPresence.none\r\n };\r\n\r\n constructor(props: IPersonaProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isImageLoaded: false,\r\n };\r\n }\r\n\r\n public render() {\r\n let {\r\n className,\r\n size,\r\n imageUrl,\r\n initialsColor,\r\n presence,\r\n primaryText,\r\n secondaryText,\r\n tertiaryText,\r\n optionalText,\r\n hidePersonaDetails,\r\n imageShouldFadeIn,\r\n onRenderInitials = this._onRenderInitials,\r\n onRenderPrimaryText,\r\n onRenderSecondaryText,\r\n onRenderTertiaryText,\r\n onRenderOptionalText,\r\n imageShouldStartVisible\r\n } = this.props;\r\n\r\n initialsColor = initialsColor !== undefined && initialsColor !== null ? initialsColor : this._getColorFromName(primaryText);\r\n\r\n let presenceElement = null;\r\n if (presence !== PersonaPresence.none) {\r\n let userPresence = PersonaPresence[presence],\r\n statusIcon = null;\r\n switch (userPresence) {\r\n case 'online':\r\n userPresence = 'SkypeCheck';\r\n break;\r\n case 'away':\r\n userPresence = 'SkypeClock';\r\n break;\r\n case 'dnd':\r\n userPresence = 'SkypeMinus';\r\n break;\r\n default:\r\n userPresence = '';\r\n }\r\n if (userPresence) {\r\n statusIcon = (\r\n <Icon className={ css('ms-Persona-presenceIcon', styles.presenceIcon) } iconName={ userPresence } />\r\n );\r\n }\r\n presenceElement = <div className={ css('ms-Persona-presence', styles.presence) }>{ statusIcon }</div>;\r\n }\r\n\r\n let divProps = getNativeProps(this.props, divProperties);\r\n let personaDetails = <div className={ css('ms-Persona-details', styles.details) }>\r\n { this._renderElement(\r\n this.props.primaryText,\r\n css('ms-Persona-primaryText', styles.primaryText),\r\n onRenderPrimaryText) }\r\n { this._renderElement(\r\n this.props.secondaryText,\r\n css('ms-Persona-secondaryText', styles.secondaryText),\r\n onRenderSecondaryText) }\r\n { this._renderElement(\r\n this.props.tertiaryText,\r\n css('ms-Persona-tertiaryText', styles.tertiaryText),\r\n onRenderTertiaryText) }\r\n { this._renderElement(\r\n this.props.optionalText,\r\n css('ms-Persona-optionalText', styles.optionalText),\r\n onRenderOptionalText) }\r\n { this.props.children }\r\n </div>;\r\n\r\n return (\r\n <div\r\n { ...divProps }\r\n className={ css('ms-Persona', styles.root, className, PERSONA_SIZE[size], PERSONA_PRESENCE[presence], this.props.showSecondaryText ? styles.showSecondaryText : '') }\r\n >\r\n { size !== PersonaSize.tiny && (\r\n <div className={ css('ms-Persona-imageArea', styles.imageArea) }>\r\n {\r\n !this.state.isImageLoaded &&\r\n (\r\n <div\r\n className={ css(\r\n 'ms-Persona-initials',\r\n styles.initials,\r\n PERSONA_INITIALS_COLOR[initialsColor]\r\n ) }\r\n aria-hidden='true'\r\n >\r\n { onRenderInitials(this.props, this._onRenderInitials) }\r\n </div>\r\n )\r\n }\r\n <Image\r\n className={ css('ms-Persona-image', styles.image) }\r\n imageFit={ ImageFit.cover }\r\n src={ imageUrl }\r\n shouldFadeIn={ imageShouldFadeIn }\r\n shouldStartVisible={ imageShouldStartVisible }\r\n onLoadingStateChange={ this._onPhotoLoadingStateChange } />\r\n </div>\r\n ) }\r\n { presenceElement }\r\n { (!hidePersonaDetails || (size === PersonaSize.tiny)) && personaDetails }\r\n </div>\r\n );\r\n }\r\n\r\n @autobind\r\n private _renderElement(text: string, className: string, render?: IRenderFunction<IPersonaProps>): JSX.Element {\r\n return (\r\n <div className={ className }>\r\n { render ? render(this.props) : text }\r\n </div>\r\n );\r\n }\r\n\r\n @autobind\r\n private _onRenderInitials(props: IPersonaProps): JSX.Element {\r\n let {\r\n imageInitials,\r\n primaryText\r\n } = props;\r\n\r\n let isRTL = getRTL();\r\n\r\n imageInitials = imageInitials || getInitials(primaryText, isRTL);\r\n\r\n return (\r\n <span>{ imageInitials }</span>\r\n );\r\n }\r\n\r\n private _getColorFromName(displayName: string): PersonaInitialsColor {\r\n let color = PersonaInitialsColor.blue;\r\n if (!displayName) {\r\n return color;\r\n }\r\n\r\n let hashCode = 0;\r\n for (let iLen: number = displayName.length - 1; iLen >= 0; iLen--) {\r\n const ch: number = displayName.charCodeAt(iLen);\r\n const shift: number = iLen % 8;\r\n // tslint:disable-next-line:no-bitwise\r\n hashCode ^= (ch << shift) + (ch >> (8 - shift));\r\n }\r\n\r\n color = COLOR_SWATCHES_LOOKUP[hashCode % COLOR_SWATCHES_NUM_ENTRIES];\r\n\r\n return color;\r\n }\r\n\r\n @autobind\r\n private _onPhotoLoadingStateChange(loadState: ImageLoadState) {\r\n this.setState({\r\n isImageLoaded: loadState === ImageLoadState.loaded\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Persona/Persona.tsx","import * as React from 'react';\r\nimport { IRenderFunction } from '../../Utilities';\r\nimport { Persona } from './Persona';\r\n\r\nexport interface IPersona {\r\n\r\n}\r\n\r\nexport interface IPersonaProps extends React.HTMLProps<Persona> {\r\n /**\r\n * Optional callback to access the IPersona interface. Use this instead of ref for accessing\r\n * the public methods and properties of the component.\r\n */\r\n componentRef?: (component: IPersona) => void;\r\n\r\n /**\r\n * Primary text to display, usually the name of the person.\r\n */\r\n primaryText?: string;\r\n\r\n /**\r\n * Optional custom renderer for the primary text.\r\n */\r\n onRenderPrimaryText?: IRenderFunction<IPersonaProps>;\r\n\r\n /**\r\n * Decides the size of the control.\r\n * @defaultvalue PersonaSize.regular\r\n */\r\n size?: PersonaSize;\r\n\r\n /**\r\n * If true, adds the css class 'is-fadeIn' to the image.\r\n */\r\n imageShouldFadeIn?: boolean;\r\n\r\n /**\r\n * If true, the image starts as visible and is hidden on error. Otherwise, the image is hidden until\r\n * it is successfully loaded. This disables imageShouldFadeIn.\r\n * @defaultvalue false\r\n */\r\n imageShouldStartVisible?: boolean;\r\n\r\n /**\r\n * Url to the image to use, should be a square aspect ratio and big enough to fit in the image area.\r\n */\r\n imageUrl?: string;\r\n\r\n /**\r\n * The user's initials to display in the image area when there is no image.\r\n * @defaultvalue [Derived from primaryText]\r\n */\r\n imageInitials?: string;\r\n\r\n /**\r\n * Optional custom renderer for the initials\r\n */\r\n onRenderInitials?: IRenderFunction<IPersonaProps>;\r\n\r\n /**\r\n * The background color when the user's initials are displayed.\r\n * @defaultvalue [Derived from primaryText]\r\n */\r\n initialsColor?: PersonaInitialsColor;\r\n\r\n /**\r\n * Presence of the person to display - will not display presence if undefined.\r\n * @defaultvalue PersonaPresence.none\r\n */\r\n presence?: PersonaPresence;\r\n\r\n /**\r\n * Secondary text to display, usually the role of the user.\r\n */\r\n secondaryText?: string;\r\n\r\n /**\r\n * Optional custom renderer for the secondary text.\r\n */\r\n onRenderSecondaryText?: IRenderFunction<IPersonaProps>;\r\n\r\n /**\r\n * Tertiary text to display, usually the status of the user.\r\n */\r\n tertiaryText?: string;\r\n\r\n /**\r\n * Optional custom renderer for the tertiary text.\r\n */\r\n onRenderTertiaryText?: IRenderFunction<IPersonaProps>;\r\n\r\n /**\r\n * Optional text to display, usually a custom message set.\r\n */\r\n optionalText?: string;\r\n\r\n /**\r\n * Optional custom renderer for the optional text.\r\n */\r\n onRenderOptionalText?: IRenderFunction<IPersonaProps>;\r\n\r\n /**\r\n * Whether to not render persona details, and just render the persona image/initials.\r\n */\r\n hidePersonaDetails?: boolean;\r\n\r\n /**\r\n * Additional CSS class(es) to apply to the Persona\r\n */\r\n className?: string;\r\n\r\n /*\r\n * If true, show the secondary text line regardless of the size of the persona\r\n */\r\n showSecondaryText?: boolean;\r\n}\r\n\r\nexport enum PersonaSize {\r\n tiny = 0,\r\n extraExtraSmall = 1,\r\n extraSmall = 2,\r\n small = 3,\r\n regular = 4,\r\n large = 5,\r\n extraLarge = 6,\r\n size28 = 7\r\n}\r\n\r\nexport enum PersonaPresence {\r\n none = 0,\r\n offline = 1,\r\n online = 2,\r\n away = 3,\r\n dnd = 4,\r\n blocked = 5,\r\n busy = 6\r\n}\r\n\r\nexport enum PersonaInitialsColor {\r\n lightBlue = 0,\r\n blue = 1,\r\n darkBlue = 2,\r\n teal = 3,\r\n lightGreen = 4,\r\n green = 5,\r\n darkGreen = 6,\r\n lightPink = 7,\r\n pink = 8,\r\n magenta = 9,\r\n purple = 10,\r\n black = 11,\r\n orange = 12,\r\n red = 13,\r\n darkRed = 14\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Persona/Persona.Props.ts","import {\r\n PersonaInitialsColor,\r\n PersonaPresence,\r\n PersonaSize\r\n} from './Persona.Props';\r\nimport * as stylesImport from './Persona.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport const PERSONA_SIZE = {\r\n [PersonaSize.tiny]: 'ms-Persona--tiny ' + styles.rootIsTiny,\r\n [PersonaSize.extraExtraSmall]: 'ms-Persona--xxs ' + styles.rootIsExtraExtraSmall,\r\n [PersonaSize.extraSmall]: 'ms-Persona--xs ' + styles.rootIsExtraSmall,\r\n [PersonaSize.small]: 'ms-Persona--sm ' + styles.rootIsSmall,\r\n [PersonaSize.regular]: '',\r\n [PersonaSize.large]: 'ms-Persona--lg ' + styles.rootIsLarge,\r\n [PersonaSize.extraLarge]: 'ms-Persona--xl ' + styles.rootIsExtraLarge,\r\n [PersonaSize.size28]: 'ms-Persona--28 ' + styles.rootIs28\r\n};\r\n\r\nexport const PERSONA_PRESENCE = {\r\n [PersonaPresence.offline]: 'ms-Persona--offline ' + styles.rootIsOffline,\r\n [PersonaPresence.online]: 'ms-Persona--online ',\r\n [PersonaPresence.away]: 'ms-Persona--away ' + styles.rootIsAway,\r\n [PersonaPresence.dnd]: 'ms-Persona--dnd ' + styles.rootIsDoNotDisturb,\r\n [PersonaPresence.blocked]: 'ms-Persona--blocked ' + styles.rootIsBlocked,\r\n [PersonaPresence.busy]: 'ms-Persona--busy ' + styles.rootIsBusy\r\n};\r\n\r\nexport const PERSONA_INITIALS_COLOR = {\r\n [PersonaInitialsColor.lightBlue]: 'ms-Persona-initials--lightBlue ' + styles.initialsIsLightBlue,\r\n [PersonaInitialsColor.blue]: 'ms-Persona-initials--blue ' + styles.initialsIsBlue,\r\n [PersonaInitialsColor.darkBlue]: 'ms-Persona-initials--darkBlue ' + styles.initialsIsDarkBlue,\r\n [PersonaInitialsColor.teal]: 'ms-Persona-initials--teal ' + styles.initialsIsTeal,\r\n [PersonaInitialsColor.lightGreen]: 'ms-Persona-initials--lightGreen ' + styles.initialsIsLightGreen,\r\n [PersonaInitialsColor.green]: 'ms-Persona-initials--green ' + styles.initialsIsGreen,\r\n [PersonaInitialsColor.darkGreen]: 'ms-Persona-initials--darkGreen ' + styles.initialsIsDarkGreen,\r\n [PersonaInitialsColor.lightPink]: 'ms-Persona-initials--lightPink ' + styles.initialsIsLightPink,\r\n [PersonaInitialsColor.pink]: 'ms-Persona-initials--pink ' + styles.initialsIsPink,\r\n [PersonaInitialsColor.magenta]: 'ms-Persona-initials--magenta ' + styles.initialsIsMagenta,\r\n [PersonaInitialsColor.purple]: 'ms-Persona-initials--purple ' + styles.initialsIsPurple,\r\n [PersonaInitialsColor.black]: 'ms-Persona-initials--black ' + styles.initialsIsBlack,\r\n [PersonaInitialsColor.orange]: 'ms-Persona-initials--orange ' + styles.initialsIsGreen,\r\n [PersonaInitialsColor.red]: 'ms-Persona-initials--red ' + styles.initialsIsRed,\r\n [PersonaInitialsColor.darkRed]: 'ms-Persona-initials--darkRed ' + styles.initialsIsDarkRed\r\n};\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Persona/PersonaConsts.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_559e9a38',\r\n contextualHost: 'contextualHost_559e9a38',\r\n primaryText: 'primaryText_559e9a38',\r\n imageArea: 'imageArea_559e9a38',\r\n image: 'image_559e9a38',\r\n placeholder: 'placeholder_559e9a38',\r\n initials: 'initials_559e9a38',\r\n initialsIsLightBlue: 'initialsIsLightBlue_559e9a38',\r\n initialsIsBlue: 'initialsIsBlue_559e9a38',\r\n initialsIsDarkBlue: 'initialsIsDarkBlue_559e9a38',\r\n initialsIsTeal: 'initialsIsTeal_559e9a38',\r\n initialsIsLightGreen: 'initialsIsLightGreen_559e9a38',\r\n initialsIsGreen: 'initialsIsGreen_559e9a38',\r\n initialsIsDarkGreen: 'initialsIsDarkGreen_559e9a38',\r\n initialsIsLightPink: 'initialsIsLightPink_559e9a38',\r\n initialsIsPink: 'initialsIsPink_559e9a38',\r\n initialsIsMagenta: 'initialsIsMagenta_559e9a38',\r\n initialsIsPurple: 'initialsIsPurple_559e9a38',\r\n initialsIsBlack: 'initialsIsBlack_559e9a38',\r\n initialsIsOrange: 'initialsIsOrange_559e9a38',\r\n initialsIsRed: 'initialsIsRed_559e9a38',\r\n initialsIsDarkRed: 'initialsIsDarkRed_559e9a38',\r\n presence: 'presence_559e9a38',\r\n presenceIcon: 'presenceIcon_559e9a38',\r\n details: 'details_559e9a38',\r\n secondaryText: 'secondaryText_559e9a38',\r\n tertiaryText: 'tertiaryText_559e9a38',\r\n optionalText: 'optionalText_559e9a38',\r\n textContent: 'textContent_559e9a38',\r\n rootIsTiny: 'rootIsTiny_559e9a38',\r\n rootIsReadonly: 'rootIsReadonly_559e9a38',\r\n rootIsExtraExtraSmall: 'rootIsExtraExtraSmall_559e9a38',\r\n showSecondaryText: 'showSecondaryText_559e9a38',\r\n rootIs28: 'rootIs28_559e9a38',\r\n rootIsExtraSmall: 'rootIsExtraSmall_559e9a38',\r\n rootIsSmall: 'rootIsSmall_559e9a38',\r\n rootIsLarge: 'rootIsLarge_559e9a38',\r\n rootIsExtraLarge: 'rootIsExtraLarge_559e9a38',\r\n rootIsDarkText: 'rootIsDarkText_559e9a38',\r\n rootIsSelectable: 'rootIsSelectable_559e9a38',\r\n rootExtraLarge: 'rootExtraLarge_559e9a38',\r\n rootIsAvailable: 'rootIsAvailable_559e9a38',\r\n rootIsAway: 'rootIsAway_559e9a38',\r\n rootIsBlocked: 'rootIsBlocked_559e9a38',\r\n rootIsBusy: 'rootIsBusy_559e9a38',\r\n rootIsDoNotDisturb: 'rootIsDoNotDisturb_559e9a38',\r\n rootIsOffline: 'rootIsOffline_559e9a38',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_559e9a38{box-sizing:border-box;box-shadow:none;margin:0;padding:0;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";font-size:14px;font-weight:400;line-height:1;position:relative;height:48px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden}.root_559e9a38 .contextualHost_559e9a38{display:none}.root_559e9a38:hover .primaryText_559e9a38{color:\"},{\"theme\":\"neutralDark\",\"defaultValue\":\"#212121\"},{\"rawString\":\"}.imageArea_559e9a38{position:relative;overflow:hidden;text-align:center;-webkit-box-flex:0;-ms-flex:0 0 48px;flex:0 0 48px;height:48px;width:48px;border-radius:50%}@media screen and (-ms-high-contrast:active){.imageArea_559e9a38{border:1px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.imageArea_559e9a38{border:1px solid \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}.imageArea_559e9a38 .image_559e9a38{border:0}.placeholder_559e9a38{color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";position:absolute;right:0;left:0;font-size:47px;top:9px;z-index:5}.initials_559e9a38{color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";font-size:17px;font-weight:100;line-height:46px;height:48px}.initials_559e9a38.initialsIsLightBlue_559e9a38{background-color:#6ba5e7}.initials_559e9a38.initialsIsBlue_559e9a38{background-color:#2d89ef}.initials_559e9a38.initialsIsDarkBlue_559e9a38{background-color:#2b5797}.initials_559e9a38.initialsIsTeal_559e9a38{background-color:#00aba9}.initials_559e9a38.initialsIsLightGreen_559e9a38{background-color:#99b433}.initials_559e9a38.initialsIsGreen_559e9a38{background-color:#00a300}.initials_559e9a38.initialsIsDarkGreen_559e9a38{background-color:#1e7145}.initials_559e9a38.initialsIsLightPink_559e9a38{background-color:#e773bd}.initials_559e9a38.initialsIsPink_559e9a38{background-color:#ff0097}.initials_559e9a38.initialsIsMagenta_559e9a38{background-color:#7e3878}.initials_559e9a38.initialsIsPurple_559e9a38{background-color:#603cba}.initials_559e9a38.initialsIsBlack_559e9a38{background-color:#1d1d1d}.initials_559e9a38.initialsIsOrange_559e9a38{background-color:#da532c}.initials_559e9a38.initialsIsRed_559e9a38{background-color:#e11}.initials_559e9a38.initialsIsDarkRed_559e9a38{background-color:#b91d47}.image_559e9a38{position:absolute;top:0;width:100%;height:100%;border-radius:50%;-webkit-perspective:1px;perspective:1px}[dir=ltr] .image_559e9a38{margin-right:10px}[dir=rtl] .image_559e9a38{margin-left:10px}[dir=ltr] .image_559e9a38{left:0}[dir=rtl] .image_559e9a38{right:0}.image_559e9a38[src=\\\"\\\"]{display:none}.presence_559e9a38{background-color:#7fba00;position:absolute;height:12px;width:12px;border-radius:50%;top:auto;bottom:-1px;border:2px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";text-align:center;box-sizing:content-box;-ms-high-contrast-adjust:none}[dir=ltr] .presence_559e9a38{left:34px}[dir=rtl] .presence_559e9a38{right:34px}@media screen and (-ms-high-contrast:active){.presence_559e9a38{border-color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\";color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\";background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.presence_559e9a38{border-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";background-color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}.presence_559e9a38 .presenceIcon_559e9a38{color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";font-size:8px;line-height:12px;vertical-align:top}@media screen and (-ms-high-contrast:active){.presence_559e9a38 .presenceIcon_559e9a38{color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.presence_559e9a38 .presenceIcon_559e9a38{color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}.details_559e9a38{padding:0 24px 0 12px;min-width:0;width:100%}html[dir=rtl] .details_559e9a38{padding:0 12px 0 24px}html[dir=ltr] .details_559e9a38{text-align:left}html[dir=rtl] .details_559e9a38{text-align:right}.optionalText_559e9a38,.primaryText_559e9a38,.secondaryText_559e9a38,.tertiaryText_559e9a38,.textContent_559e9a38{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.primaryText_559e9a38{color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";font-weight:400;font-size:17px;margin-top:-3px;line-height:1.4}.optionalText_559e9a38,.secondaryText_559e9a38,.tertiaryText_559e9a38{color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\";font-weight:400;font-size:12px;white-space:nowrap;line-height:1.3}.secondaryText_559e9a38{padding-top:3px}.optionalText_559e9a38,.tertiaryText_559e9a38{padding-top:5px;display:none}.root_559e9a38.rootIsTiny_559e9a38{height:30px;min-width:30px}.root_559e9a38.rootIsTiny_559e9a38 .imageArea_559e9a38{overflow:visible;background:0 0;height:0;width:0}.root_559e9a38.rootIsTiny_559e9a38 .presence_559e9a38{top:10px;border:0}[dir=ltr] .root_559e9a38.rootIsTiny_559e9a38 .presence_559e9a38{right:auto}[dir=rtl] .root_559e9a38.rootIsTiny_559e9a38 .presence_559e9a38{left:auto}[dir=ltr] .root_559e9a38.rootIsTiny_559e9a38 .presence_559e9a38{left:0}[dir=rtl] .root_559e9a38.rootIsTiny_559e9a38 .presence_559e9a38{right:0}@media screen and (-ms-high-contrast:active){.root_559e9a38.rootIsTiny_559e9a38 .presence_559e9a38{top:9px;border:1px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.root_559e9a38.rootIsTiny_559e9a38 .presence_559e9a38{border:1px solid \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}[dir=ltr] .root_559e9a38.rootIsTiny_559e9a38 .details_559e9a38{padding-left:20px}[dir=rtl] .root_559e9a38.rootIsTiny_559e9a38 .details_559e9a38{padding-right:20px}.root_559e9a38.rootIsTiny_559e9a38 .primaryText_559e9a38{font-size:14px;padding-top:4px}.root_559e9a38.rootIsTiny_559e9a38 .secondaryText_559e9a38{display:none}.root_559e9a38.rootIsTiny_559e9a38.rootIsReadonly_559e9a38{padding:0;background-color:transparent}.root_559e9a38.rootIsTiny_559e9a38.rootIsReadonly_559e9a38 .primaryText_559e9a38:after{content:';'}.root_559e9a38.rootIsExtraExtraSmall_559e9a38{height:24px;line-height:24px;min-width:24px;margin-right:4px}.root_559e9a38.rootIsExtraExtraSmall_559e9a38 .imageArea_559e9a38,.root_559e9a38.rootIsExtraExtraSmall_559e9a38 .image_559e9a38{-webkit-box-flex:0;-ms-flex:0 0 24px;flex:0 0 24px;height:24px;width:24px}.root_559e9a38.rootIsExtraExtraSmall_559e9a38 .placeholder_559e9a38{font-size:18px;top:4px}.root_559e9a38.rootIsExtraExtraSmall_559e9a38 .initials_559e9a38{font-size:11px;height:24px;line-height:24px}.root_559e9a38.rootIsExtraExtraSmall_559e9a38 .presence_559e9a38{height:8px;width:8px;border:2px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}[dir=ltr] .root_559e9a38.rootIsExtraExtraSmall_559e9a38 .presence_559e9a38{left:16px}[dir=rtl] .root_559e9a38.rootIsExtraExtraSmall_559e9a38 .presence_559e9a38{right:16px}.root_559e9a38.rootIsExtraExtraSmall_559e9a38 .presenceIcon_559e9a38{font-size:6px;line-height:9px}.root_559e9a38.rootIsExtraExtraSmall_559e9a38 .primaryText_559e9a38{font-size:14px;padding-top:3px}.root_559e9a38.rootIsExtraExtraSmall_559e9a38 .secondaryText_559e9a38{display:none}.root_559e9a38.rootIsExtraExtraSmall_559e9a38.showSecondaryText_559e9a38{height:30px}.root_559e9a38.rootIsExtraExtraSmall_559e9a38.showSecondaryText_559e9a38 .primaryText_559e9a38,.root_559e9a38.rootIsExtraExtraSmall_559e9a38.showSecondaryText_559e9a38 .secondaryText_559e9a38{display:block;padding:0;line-height:1;overflow:visible}.root_559e9a38.rootIs28_559e9a38{height:28px;line-height:28px;min-width:28px;overflow:hidden}.root_559e9a38.rootIs28_559e9a38 .imageArea_559e9a38,.root_559e9a38.rootIs28_559e9a38 .image_559e9a38{-webkit-box-flex:0;-ms-flex:0 0 28px;flex:0 0 28px;height:28px;width:28px}.root_559e9a38.rootIs28_559e9a38 .placeholder_559e9a38{font-size:18px;top:4px}.root_559e9a38.rootIs28_559e9a38 .initials_559e9a38{font-size:11px;height:28px;line-height:28px}.root_559e9a38.rootIs28_559e9a38 .presence_559e9a38{height:8px;width:8px;border:2px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}[dir=ltr] .root_559e9a38.rootIs28_559e9a38 .presence_559e9a38{left:20px}[dir=rtl] .root_559e9a38.rootIs28_559e9a38 .presence_559e9a38{right:20px}.root_559e9a38.rootIs28_559e9a38 .presenceIcon_559e9a38{font-size:6px;line-height:9px}.root_559e9a38.rootIs28_559e9a38 .primaryText_559e9a38{font-size:14px;padding-top:3px}.root_559e9a38.rootIs28_559e9a38 .secondaryText_559e9a38{display:none}.root_559e9a38.rootIs28_559e9a38.showSecondaryText_559e9a38 .primaryText_559e9a38,.root_559e9a38.rootIs28_559e9a38.showSecondaryText_559e9a38 .secondaryText_559e9a38{display:block;padding:0;line-height:1;overflow:visible}.root_559e9a38.rootIsExtraSmall_559e9a38{height:32px;line-height:32px;min-width:32px}.root_559e9a38.rootIsExtraSmall_559e9a38 .imageArea_559e9a38,.root_559e9a38.rootIsExtraSmall_559e9a38 .image_559e9a38{-webkit-box-flex:0;-ms-flex:0 0 32px;flex:0 0 32px;height:32px;width:32px}.root_559e9a38.rootIsExtraSmall_559e9a38 .placeholder_559e9a38{font-size:28px;top:6px}.root_559e9a38.rootIsExtraSmall_559e9a38 .initials_559e9a38{font-size:14px;height:32px;line-height:32px}[dir=ltr] .root_559e9a38.rootIsExtraSmall_559e9a38 .presence_559e9a38{left:19px}[dir=rtl] .root_559e9a38.rootIsExtraSmall_559e9a38 .presence_559e9a38{right:19px}.root_559e9a38.rootIsExtraSmall_559e9a38 .primaryText_559e9a38{font-size:14px;padding-top:3px}.root_559e9a38.rootIsExtraSmall_559e9a38 .secondaryText_559e9a38{display:none}.root_559e9a38.rootIsExtraSmall_559e9a38.showSecondaryText_559e9a38 .primaryText_559e9a38,.root_559e9a38.rootIsExtraSmall_559e9a38.showSecondaryText_559e9a38 .secondaryText_559e9a38{display:block;padding:0;line-height:1;overflow:visible}.root_559e9a38.rootIsSmall_559e9a38{height:40px;line-height:40px;min-width:40px}.root_559e9a38.rootIsSmall_559e9a38 .imageArea_559e9a38,.root_559e9a38.rootIsSmall_559e9a38 .image_559e9a38{-webkit-box-flex:0;-ms-flex:0 0 40px;flex:0 0 40px;height:40px;width:40px}.root_559e9a38.rootIsSmall_559e9a38 .placeholder_559e9a38{font-size:38px;top:5px}.root_559e9a38.rootIsSmall_559e9a38 .initials_559e9a38{font-size:14px;height:40px;line-height:40px}[dir=ltr] .root_559e9a38.rootIsSmall_559e9a38 .presence_559e9a38{left:27px}[dir=rtl] .root_559e9a38.rootIsSmall_559e9a38 .presence_559e9a38{right:27px}.root_559e9a38.rootIsSmall_559e9a38 .primaryText_559e9a38{font-size:14px}.root_559e9a38.rootIsSmall_559e9a38 .primaryText_559e9a38,.root_559e9a38.rootIsSmall_559e9a38 .secondaryText_559e9a38{padding-top:1px}.root_559e9a38.rootIsLarge_559e9a38{height:72px;line-height:72px;min-width:72px}.root_559e9a38.rootIsLarge_559e9a38 .imageArea_559e9a38,.root_559e9a38.rootIsLarge_559e9a38 .image_559e9a38{-webkit-box-flex:0;-ms-flex:0 0 72px;flex:0 0 72px;height:72px;width:72px}.root_559e9a38.rootIsLarge_559e9a38 .placeholder_559e9a38{font-size:67px;top:10px}.root_559e9a38.rootIsLarge_559e9a38 .initials_559e9a38{font-size:28px;height:72px;line-height:70px}.root_559e9a38.rootIsLarge_559e9a38 .presence_559e9a38{height:20px;width:20px;border-width:3px}[dir=ltr] .root_559e9a38.rootIsLarge_559e9a38 .presence_559e9a38{left:49px}[dir=rtl] .root_559e9a38.rootIsLarge_559e9a38 .presence_559e9a38{right:49px}.root_559e9a38.rootIsLarge_559e9a38 .presenceIcon_559e9a38{line-height:20px;font-size:14px}.root_559e9a38.rootIsLarge_559e9a38 .secondaryText_559e9a38{padding-top:3px}.root_559e9a38.rootIsLarge_559e9a38 .tertiaryText_559e9a38{padding-top:5px;display:block}.root_559e9a38.rootIsExtraLarge_559e9a38{height:100px;line-height:100px;min-width:100px}.root_559e9a38.rootIsExtraLarge_559e9a38 .imageArea_559e9a38,.root_559e9a38.rootIsExtraLarge_559e9a38 .image_559e9a38{-webkit-box-flex:0;-ms-flex:0 0 100px;flex:0 0 100px;height:100px;width:100px}.root_559e9a38.rootIsExtraLarge_559e9a38 .placeholder_559e9a38{font-size:95px;top:12px}.root_559e9a38.rootIsExtraLarge_559e9a38 .initials_559e9a38{font-size:42px;height:100px;line-height:96px}.root_559e9a38.rootIsExtraLarge_559e9a38 .presence_559e9a38{height:28px;width:28px;border-width:4px}[dir=ltr] .root_559e9a38.rootIsExtraLarge_559e9a38 .presence_559e9a38{left:71px}[dir=rtl] .root_559e9a38.rootIsExtraLarge_559e9a38 .presence_559e9a38{right:71px}.root_559e9a38.rootIsExtraLarge_559e9a38 .presenceIcon_559e9a38{line-height:28px;font-size:21px;position:relative;top:1px}.root_559e9a38.rootIsExtraLarge_559e9a38 .primaryText_559e9a38{font-size:21px;font-weight:300;margin-top:0}.root_559e9a38.rootIsExtraLarge_559e9a38 .secondaryText_559e9a38{padding-top:2px}.root_559e9a38.rootIsExtraLarge_559e9a38 .optionalText_559e9a38,.root_559e9a38.rootIsExtraLarge_559e9a38 .tertiaryText_559e9a38{padding-top:5px;display:block}.root_559e9a38.rootIsDarkText_559e9a38 .primaryText_559e9a38{color:\"},{\"theme\":\"neutralDark\",\"defaultValue\":\"#212121\"},{\"rawString\":\"}.root_559e9a38.rootIsDarkText_559e9a38 .optionalText_559e9a38,.root_559e9a38.rootIsDarkText_559e9a38 .secondaryText_559e9a38,.root_559e9a38.rootIsDarkText_559e9a38 .tertiaryText_559e9a38{color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\"}.root_559e9a38.rootIsSelectable_559e9a38{cursor:pointer;padding:0 10px}.root_559e9a38.rootIsSelectable_559e9a38:not(.rootExtraLarge_559e9a38):focus,.root_559e9a38.rootIsSelectable_559e9a38:not(.rootExtraLarge_559e9a38):hover{background-color:\"},{\"theme\":\"themeLighter\",\"defaultValue\":\"#deecf9\"},{\"rawString\":\";outline:1px solid transparent}.root_559e9a38.rootIsAvailable_559e9a38 .presence_559e9a38{background-color:#7fba00}@media screen and (-ms-high-contrast:active){.root_559e9a38.rootIsAvailable_559e9a38 .presence_559e9a38{background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.root_559e9a38.rootIsAvailable_559e9a38 .presence_559e9a38{background-color:#600000}}.root_559e9a38.rootIsAway_559e9a38 .presence_559e9a38{background-color:#fcd116}@media screen and (-ms-high-contrast:active){.root_559e9a38.rootIsAway_559e9a38 .presence_559e9a38{background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.root_559e9a38.rootIsAway_559e9a38 .presence_559e9a38{background-color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}.root_559e9a38.rootIsAway_559e9a38 .presenceIcon_559e9a38{position:relative}[dir=ltr] .root_559e9a38.rootIsAway_559e9a38 .presenceIcon_559e9a38{left:1px}[dir=rtl] .root_559e9a38.rootIsAway_559e9a38 .presenceIcon_559e9a38{right:1px}.root_559e9a38.rootIsBlocked_559e9a38 .presence_559e9a38{background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.root_559e9a38.rootIsBlocked_559e9a38 .presence_559e9a38::before{content:'';width:100%;height:100%;position:absolute;top:0;box-shadow:0 0 0 2px #d93b3b inset;border-radius:50%}[dir=ltr] .root_559e9a38.rootIsBlocked_559e9a38 .presence_559e9a38::before{left:0}[dir=rtl] .root_559e9a38.rootIsBlocked_559e9a38 .presence_559e9a38::before{right:0}.root_559e9a38.rootIsBlocked_559e9a38 .presence_559e9a38::after{content:'';width:100%;height:2px;background-color:#d93b3b;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);position:absolute;top:40%}[dir=ltr] .root_559e9a38.rootIsBlocked_559e9a38 .presence_559e9a38::after{left:0}[dir=rtl] .root_559e9a38.rootIsBlocked_559e9a38 .presence_559e9a38::after{right:0}@media screen and (-ms-high-contrast:active){.root_559e9a38.rootIsBlocked_559e9a38 .presence_559e9a38{color:#0f0;background-color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}.root_559e9a38.rootIsBlocked_559e9a38 .presence_559e9a38::before{box-shadow:0 0 0 2px #0f0 inset}.root_559e9a38.rootIsBlocked_559e9a38 .presence_559e9a38::after{background-color:#0f0}}@media screen and (-ms-high-contrast:black-on-white){.root_559e9a38.rootIsBlocked_559e9a38 .presence_559e9a38{color:#600000;background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.root_559e9a38.rootIsBlocked_559e9a38 .presence_559e9a38::before{box-shadow:0 0 0 2px #600000 inset}.root_559e9a38.rootIsBlocked_559e9a38 .presence_559e9a38::after{background-color:#600000}}.root_559e9a38.rootIsBlocked_559e9a38.rootIsLarge_559e9a38 .presence_559e9a38::after{top:9px}.root_559e9a38.rootIsBlocked_559e9a38.rootIsExtraLarge_559e9a38 .presence_559e9a38::after{top:13px}.root_559e9a38.rootIsBusy_559e9a38 .presence_559e9a38{background-color:#d93b3b}@media screen and (-ms-high-contrast:active){.root_559e9a38.rootIsBusy_559e9a38 .presence_559e9a38{background-color:#0f0}}@media screen and (-ms-high-contrast:black-on-white){.root_559e9a38.rootIsBusy_559e9a38 .presence_559e9a38{background-color:#600000}}.root_559e9a38.rootIsDoNotDisturb_559e9a38 .presence_559e9a38{background-color:#e81123}@media screen and (-ms-high-contrast:active){.root_559e9a38.rootIsDoNotDisturb_559e9a38 .presence_559e9a38{color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\";background-color:#0f0}.root_559e9a38.rootIsDoNotDisturb_559e9a38 .presence_559e9a38::before{background-color:#0f0}.root_559e9a38.rootIsDoNotDisturb_559e9a38 .presence_559e9a38::after{background-color:#0f0}}@media screen and (-ms-high-contrast:black-on-white){.root_559e9a38.rootIsDoNotDisturb_559e9a38 .presence_559e9a38{background-color:#600000}}.root_559e9a38.rootIsOffline_559e9a38 .presence_559e9a38{background-color:#93abbd}@media screen and (-ms-high-contrast:active){.root_559e9a38.rootIsOffline_559e9a38 .presence_559e9a38{background-color:#0f0;box-shadow:0 0 0 1px \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\" inset}}@media screen and (-ms-high-contrast:black-on-white){.root_559e9a38.rootIsOffline_559e9a38 .presence_559e9a38{background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";box-shadow:0 0 0 1px \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\" inset}}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Persona/Persona.scss.ts","import * as React from 'react';\r\nimport { BaseComponent, css } from '../../Utilities';\r\nimport { IDocumentCardLocationProps } from './DocumentCard.Props';\r\nimport * as stylesImport from './DocumentCard.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport class DocumentCardLocation extends BaseComponent<IDocumentCardLocationProps, any> {\r\n public render() {\r\n let { location, locationHref, ariaLabel, onClick } = this.props;\r\n\r\n return (\r\n <a className={ css('ms-DocumentCardLocation', styles.location) }\r\n href={ locationHref } onClick={ onClick } aria-label={ ariaLabel }>{ location }</a>\r\n );\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DocumentCard/DocumentCardLocation.tsx","import * as React from 'react';\r\nimport { IDocumentCardPreviewProps, IDocumentCardPreviewImage } from './DocumentCard.Props';\r\nimport { Image } from '../../Image';\r\nimport {\r\n BaseComponent,\r\n autobind,\r\n css\r\n} from '../../Utilities';\r\nimport * as stylesImport from './DocumentCard.scss';\r\nconst styles: any = stylesImport;\r\n\r\nconst LIST_ITEM_COUNT = 3;\r\n\r\nexport class DocumentCardPreview extends BaseComponent<IDocumentCardPreviewProps, any> {\r\n public render() {\r\n let { previewImages } = this.props;\r\n let style, preview;\r\n let isFileList = false;\r\n\r\n if (previewImages.length > 1) {\r\n // Render a list of files\r\n preview = this._renderPreviewList(previewImages);\r\n isFileList = true;\r\n } else if (previewImages.length === 1) {\r\n // Render a single preview\r\n preview = this._renderPreviewImage(previewImages[0]);\r\n\r\n // Override the border color if an accent color was provided\r\n if (previewImages[0].accentColor) {\r\n style = {\r\n borderBottomColor: previewImages[0].accentColor\r\n };\r\n }\r\n }\r\n\r\n return (\r\n <div className={ css('ms-DocumentCardPreview', styles.preview, isFileList && ('is-fileList ' + styles.previewIsFileList)) } style={ style }>\r\n { preview }\r\n </div>\r\n );\r\n }\r\n\r\n private _renderPreviewImage(previewImage: IDocumentCardPreviewImage): React.ReactElement<React.HTMLProps<HTMLDivElement>> {\r\n let { width, height, imageFit } = previewImage;\r\n\r\n let image = (\r\n <Image\r\n width={ width }\r\n height={ height }\r\n imageFit={ imageFit }\r\n src={ previewImage.previewImageSrc }\r\n role='presentation' alt='' />\r\n );\r\n\r\n let icon;\r\n if (previewImage.iconSrc) {\r\n icon = <Image className={ css('ms-DocumentCardPreview-icon', styles.icon) } src={ previewImage.iconSrc } role='presentation' alt='' />;\r\n }\r\n\r\n return (\r\n <div>\r\n { image }\r\n { icon }\r\n </div>\r\n );\r\n }\r\n\r\n @autobind\r\n private _renderPreviewList(previewImages: IDocumentCardPreviewImage[]): React.ReactElement<React.HTMLProps<HTMLDivElement>> {\r\n let { getOverflowDocumentCountText } = this.props;\r\n\r\n // Determine how many documents we won't be showing\r\n let overflowDocumentCount = previewImages.length - LIST_ITEM_COUNT;\r\n\r\n // Determine the overflow text that will be rendered after the preview list.\r\n let overflowText = overflowDocumentCount ?\r\n (getOverflowDocumentCountText ?\r\n getOverflowDocumentCountText(overflowDocumentCount) :\r\n '+' + overflowDocumentCount) : null;\r\n\r\n // Create list items for the documents to be shown\r\n let fileListItems = previewImages.slice(0, LIST_ITEM_COUNT).map((file, fileIndex) => (\r\n <li key={ fileIndex }>\r\n <Image\r\n className={ css('ms-DocumentCardPreview-fileListIcon', styles.fileListIcon) }\r\n src={ file.iconSrc }\r\n role='presentation'\r\n alt=''\r\n width='16px'\r\n height='16px' />\r\n <a href={ file.url }>{ file.name }</a>\r\n </li>\r\n ));\r\n\r\n return (\r\n <div>\r\n <ul className={ css('ms-DocumentCardPreview-fileList', styles.fileList) }>\r\n { fileListItems }\r\n </ul>\r\n { overflowText &&\r\n <span className={ css('ms-DocumentCardPreview-fileListMore', styles.fileListMore) }>{ overflowText }</span>\r\n }\r\n </div>\r\n );\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DocumentCard/DocumentCardPreview.tsx","/* tslint:disable:no-unused-variable */\r\nimport * as React from 'react';\r\n/* tslint:enable:no-unused-variable */\r\n\r\nimport {\r\n BaseComponent,\r\n autobind,\r\n css\r\n} from '../../Utilities';\r\nimport { IDocumentCardTitleProps } from './DocumentCard.Props';\r\nimport * as stylesImport from './DocumentCard.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IDocumentCardTitleState {\r\n truncatedTitleFirstPiece?: string;\r\n truncatedTitleSecondPiece?: string;\r\n}\r\n\r\nconst TRUNCATION_SEPARATOR = '&hellip;';\r\nconst TRUNCATION_MINIMUM_LENGTH = 40; // This is the length we know can fit into the min width of DocumentCard.\r\nconst TRUNCATION_MAXIMUM_LENGTH = 90 - TRUNCATION_SEPARATOR.length;\r\nconst TRUNCATION_FIRST_PIECE_LONGER_BY = 10;\r\nconst TRUNCATION_VERTICAL_OVERFLOW_THRESHOLD = 5;\r\n\r\nexport class DocumentCardTitle extends BaseComponent<IDocumentCardTitleProps, IDocumentCardTitleState> {\r\n private _titleElement: HTMLDivElement;\r\n private _scrollTimerId: number;\r\n private _truncatedTitleAtWidth: number;\r\n private _isTruncated: boolean;\r\n\r\n constructor(props: IDocumentCardTitleProps) {\r\n super(props);\r\n\r\n this.state = {\r\n truncatedTitleFirstPiece: '',\r\n truncatedTitleSecondPiece: ''\r\n };\r\n }\r\n\r\n public componentDidMount() {\r\n let { title, shouldTruncate } = this.props;\r\n if (shouldTruncate && title && title.length > TRUNCATION_MINIMUM_LENGTH) {\r\n if (this._doesTitleOverflow()) {\r\n this._startTruncation(this.props);\r\n }\r\n this._events.on(window, 'resize', this._updateTruncation);\r\n }\r\n }\r\n\r\n public componentWillReceiveProps(newProps: IDocumentCardTitleProps) {\r\n this._events.off(window, 'resize');\r\n this._isTruncated = false;\r\n\r\n if (newProps.shouldTruncate && newProps.title && newProps.title.length > TRUNCATION_MINIMUM_LENGTH) {\r\n this._startTruncation(newProps);\r\n this._events.on(window, 'resize', this._updateTruncation);\r\n }\r\n }\r\n\r\n public componentDidUpdate() {\r\n // If we're truncating, make sure the title fits\r\n if (this.props.shouldTruncate) {\r\n this._shrinkTitle();\r\n }\r\n }\r\n\r\n public render() {\r\n let { title, shouldTruncate } = this.props;\r\n let { truncatedTitleFirstPiece, truncatedTitleSecondPiece } = this.state;\r\n\r\n let documentCardTitle;\r\n if (shouldTruncate && this._isTruncated) {\r\n documentCardTitle = (\r\n <div className={ css('ms-DocumentCardTitle', styles.title) } ref={ this._resolveRef('_titleElement') } title={ title }>{ truncatedTitleFirstPiece }&hellip;{ truncatedTitleSecondPiece }</div>\r\n );\r\n } else {\r\n documentCardTitle = (\r\n <div className={ css('ms-DocumentCardTitle', styles.title) } ref={ this._resolveRef('_titleElement') } title={ title }>{ title }</div>\r\n );\r\n }\r\n\r\n return documentCardTitle;\r\n }\r\n\r\n @autobind\r\n private _startTruncation(props: IDocumentCardTitleProps) {\r\n let originalTitle = props.title;\r\n this._isTruncated = false;\r\n\r\n // If the title is really short, there's no need to truncate it\r\n if (originalTitle && originalTitle.length >= TRUNCATION_MINIMUM_LENGTH) {\r\n\r\n // Break the text into two pieces for assembly later\r\n if (originalTitle.length > TRUNCATION_MAXIMUM_LENGTH) {\r\n // The text is really long, so we can take a chunk out of the middle so the two pieces combine for the maximum length\r\n this._isTruncated = true;\r\n this.setState({\r\n truncatedTitleFirstPiece: originalTitle.slice(0, TRUNCATION_MAXIMUM_LENGTH / 2 + TRUNCATION_FIRST_PIECE_LONGER_BY),\r\n truncatedTitleSecondPiece: originalTitle.slice(originalTitle.length - (TRUNCATION_MAXIMUM_LENGTH / 2 - TRUNCATION_FIRST_PIECE_LONGER_BY))\r\n });\r\n } else {\r\n // The text is not so long, so we'll just break it into two pieces\r\n this.setState({\r\n truncatedTitleFirstPiece: originalTitle.slice(0, Math.ceil(originalTitle.length / 2) + TRUNCATION_FIRST_PIECE_LONGER_BY),\r\n truncatedTitleSecondPiece: originalTitle.slice(originalTitle.length - Math.floor(originalTitle.length / 2) + TRUNCATION_FIRST_PIECE_LONGER_BY)\r\n });\r\n }\r\n }\r\n\r\n // Save the width we just started truncation at, so that later we will only update truncation if necessary\r\n this._truncatedTitleAtWidth = this._titleElement.clientWidth;\r\n\r\n }\r\n\r\n private _shrinkTitle() {\r\n if (this._doesTitleOverflow()) {\r\n let { truncatedTitleFirstPiece, truncatedTitleSecondPiece } = this.state;\r\n this._isTruncated = true;\r\n\r\n if (!truncatedTitleFirstPiece && !truncatedTitleSecondPiece) {\r\n this._startTruncation(this.props);\r\n }\r\n\r\n this.setState({\r\n truncatedTitleFirstPiece: truncatedTitleFirstPiece.slice(0, truncatedTitleFirstPiece.length - 1),\r\n truncatedTitleSecondPiece: truncatedTitleSecondPiece.slice(1)\r\n });\r\n }\r\n }\r\n\r\n private _doesTitleOverflow(): boolean {\r\n let titleElement = this._titleElement;\r\n return titleElement.scrollHeight > titleElement.clientHeight + TRUNCATION_VERTICAL_OVERFLOW_THRESHOLD || titleElement.scrollWidth > titleElement.clientWidth;\r\n }\r\n\r\n private _updateTruncation() {\r\n // Only update truncation if the title's size has changed since the last time we truncated\r\n if (this._titleElement.clientWidth !== this._truncatedTitleAtWidth) {\r\n // Throttle truncation so that it doesn't happen during a window resize\r\n clearTimeout(this._scrollTimerId);\r\n this._scrollTimerId = this._async.setTimeout(this._startTruncation.bind(this, this.props), 250);\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/DocumentCard/DocumentCardTitle.tsx","export * from './components/Dropdown/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Dropdown.ts","export * from './Dropdown';\r\nexport * from './Dropdown.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Dropdown/index.ts","import * as React from 'react';\r\nimport { IDropdownProps, IDropdownOption, DropdownMenuItemType } from './Dropdown.Props';\r\nimport { DirectionalHint } from '../../common/DirectionalHint';\r\nimport { Callout } from '../../Callout';\r\nimport { Label } from '../../Label';\r\nimport { CommandButton } from '../../Button';\r\nimport { Panel } from '../../Panel';\r\nimport { Icon } from '../../Icon';\r\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\r\nimport { withResponsiveMode, ResponsiveMode } from '../../utilities/decorators/withResponsiveMode';\r\nimport { IWithResponsiveModeState } from '../../utilities/decorators/withResponsiveMode';\r\nimport {\r\n BaseComponent,\r\n KeyCodes,\r\n autobind,\r\n css,\r\n findIndex,\r\n getId\r\n} from '../../Utilities';\r\nimport * as stylesImport from './Dropdown.scss';\r\nconst styles: any = stylesImport;\r\n\r\n// Internal only props iterface to support mixing in responsive mode\r\nexport interface IDropdownInternalProps extends IDropdownProps, IWithResponsiveModeState {\r\n\r\n}\r\n\r\nexport interface IDropdownState {\r\n isOpen?: boolean;\r\n selectedIndex?: number;\r\n}\r\n\r\n@withResponsiveMode\r\nexport class Dropdown extends BaseComponent<IDropdownInternalProps, IDropdownState> {\r\n\r\n public static defaultProps = {\r\n options: []\r\n };\r\n\r\n private static Option: string = 'option';\r\n\r\n public refs: {\r\n [key: string]: React.ReactInstance,\r\n root: HTMLElement,\r\n focusZone: FocusZone\r\n };\r\n\r\n private _focusZone: FocusZone;\r\n private _dropDown: HTMLDivElement;\r\n private _dropdownLabel: HTMLElement;\r\n private _id: string;\r\n\r\n constructor(props?: IDropdownProps) {\r\n super(props);\r\n\r\n this._warnDeprecations({\r\n 'isDisabled': 'disabled'\r\n });\r\n\r\n this._warnMutuallyExclusive({\r\n 'defaultSelectedKey': 'selectedKey'\r\n });\r\n\r\n this._id = props.id || getId('Dropdown');\r\n\r\n let selectedKey = props.defaultSelectedKey !== undefined ? props.defaultSelectedKey : props.selectedKey;\r\n\r\n this.state = {\r\n isOpen: false,\r\n selectedIndex: this._getSelectedIndex(props.options, selectedKey)\r\n };\r\n }\r\n\r\n public componentWillReceiveProps(newProps: IDropdownProps) {\r\n // In controlled component usage where selectedKey is provided, update the selectedIndex\r\n // state if the key or options change.\r\n if (newProps.selectedKey !== undefined &&\r\n (newProps.selectedKey !== this.props.selectedKey || newProps.options !== this.props.options)) {\r\n this.setState({\r\n selectedIndex: this._getSelectedIndex(newProps.options, newProps.selectedKey)\r\n });\r\n }\r\n }\r\n\r\n public componentDidUpdate(prevProps: IDropdownProps, prevState: IDropdownState) {\r\n if (prevState.isOpen === true && this.state.isOpen === false) {\r\n this._dropDown.focus();\r\n }\r\n }\r\n\r\n // Primary Render\r\n public render() {\r\n let id = this._id;\r\n let {\r\n className,\r\n label,\r\n options,\r\n disabled,\r\n isDisabled,\r\n ariaLabel,\r\n required,\r\n errorMessage,\r\n onRenderTitle = this._onRenderTitle,\r\n onRenderContainer = this._onRenderContainer\r\n } = this.props;\r\n let { isOpen, selectedIndex } = this.state;\r\n let selectedOption = options[selectedIndex];\r\n\r\n // Remove this deprecation workaround at 1.0.0\r\n if (isDisabled !== undefined) {\r\n disabled = isDisabled;\r\n }\r\n\r\n return (\r\n <div ref='root' className={ css('ms-Dropdown-container') }>\r\n { label && (\r\n <Label className={ css('ms-Dropdown-label') } id={ id + '-label' } ref={ this._resolveRef('_dropdownLabel') } required={ required }>{ label }</Label>\r\n ) }\r\n <div\r\n data-is-focusable={ !disabled }\r\n ref={ this._resolveRef('_dropDown') }\r\n id={ id }\r\n className={ css('ms-Dropdown', styles.root, className, {\r\n 'is-open': isOpen,\r\n ['is-disabled ' + styles.rootIsDisabled]: disabled,\r\n 'is-required ': required,\r\n }) }\r\n tabIndex={ disabled ? -1 : 0 }\r\n onKeyDown={ this._onDropdownKeyDown }\r\n onKeyUp={ this._onDropdownKeyUp }\r\n onClick={ this._onDropdownClick }\r\n aria-expanded={ isOpen ? 'true' : 'false' }\r\n role='combobox'\r\n aria-readonly={ true }\r\n aria-live={ disabled || isOpen ? 'off' : 'assertive' }\r\n aria-label={ ariaLabel || label }\r\n aria-describedby={ id + '-option' }\r\n aria-activedescendant={ isOpen && selectedIndex >= 0 ? (this._id + '-list' + selectedIndex) : null }\r\n aria-disabled={ disabled }\r\n aria-owns={ id + '-list' }\r\n >\r\n <span\r\n id={ id + '-option' }\r\n className={ css(\r\n 'ms-Dropdown-title', styles.title,\r\n !selectedOption && styles.titleIsPlaceHolder,\r\n (errorMessage && errorMessage.length > 0 ? styles.titleIsError : null))\r\n }\r\n key={ selectedIndex }\r\n aria-atomic={ true }\r\n >\r\n { // If option is selected render title, otherwise render the placeholder text\r\n selectedOption ? (\r\n onRenderTitle(selectedOption, this._onRenderTitle)\r\n ) :\r\n this._onRenderPlaceHolder(this.props)\r\n }\r\n </span>\r\n <Icon className={ css('ms-Dropdown-caretDown', styles.caretDown) } iconName='chevronDown' />\r\n </div>\r\n { isOpen && (\r\n onRenderContainer(this.props, this._onRenderContainer)\r\n ) }\r\n {\r\n errorMessage &&\r\n <div\r\n className={ css(styles.errorMessage) }>\r\n { errorMessage }\r\n </div>\r\n }\r\n </div>\r\n );\r\n }\r\n\r\n public focus() {\r\n if (this._dropDown && this._dropDown.tabIndex !== -1) {\r\n this._dropDown.focus();\r\n }\r\n }\r\n\r\n public setSelectedIndex(index: number) {\r\n let { onChanged, options } = this.props;\r\n let { selectedIndex } = this.state;\r\n\r\n index = Math.max(0, Math.min(options.length - 1, index));\r\n\r\n if (index !== selectedIndex) {\r\n // Set the selected option.\r\n this.setState({\r\n selectedIndex: index\r\n });\r\n\r\n if (onChanged) {\r\n onChanged(options[index], index);\r\n }\r\n }\r\n }\r\n\r\n // Render text in dropdown input\r\n @autobind\r\n private _onRenderTitle(item: IDropdownOption): JSX.Element {\r\n return <span>{ item.text }</span>;\r\n }\r\n\r\n // Render placeHolder text in dropdown input\r\n @autobind\r\n private _onRenderPlaceHolder(props): JSX.Element {\r\n if (!props.placeHolder) {\r\n return null;\r\n }\r\n return <span>{ props.placeHolder }</span>;\r\n }\r\n\r\n // Render Callout or Panel container and pass in list\r\n @autobind\r\n private _onRenderContainer(props: IDropdownProps): JSX.Element {\r\n let {\r\n onRenderList = this._onRenderList,\r\n responsiveMode,\r\n calloutProps\r\n } = this.props;\r\n\r\n let isSmall = responsiveMode <= ResponsiveMode.medium;\r\n\r\n return (\r\n isSmall ?\r\n <Panel\r\n className={ css('ms-Dropdown-panel', styles.panel) }\r\n isOpen={ true }\r\n isLightDismiss={ true }\r\n onDismissed={ this._onDismiss }\r\n hasCloseButton={ false }\r\n >\r\n { onRenderList(props, this._onRenderList) }\r\n </Panel>\r\n :\r\n <Callout\r\n isBeakVisible={ false }\r\n gapSpace={ 0 }\r\n doNotLayer={ false }\r\n directionalHint={ DirectionalHint.bottomLeftEdge }\r\n { ...calloutProps }\r\n className={ css('ms-Dropdown-callout', styles.callout, calloutProps ? calloutProps.className : undefined) }\r\n targetElement={ this._dropDown }\r\n onDismiss={ this._onDismiss }\r\n onPositioned={ this._onPositioned }\r\n >\r\n <div style={ { width: this._dropDown.clientWidth - 2 } }>\r\n { onRenderList(props, this._onRenderList) }\r\n </div>\r\n </Callout>\r\n );\r\n }\r\n\r\n // Render List of items\r\n @autobind\r\n private _onRenderList(props: IDropdownProps): JSX.Element {\r\n let {\r\n onRenderItem = this._onRenderItem\r\n } = this.props;\r\n\r\n let id = this._id;\r\n let { selectedIndex } = this.state;\r\n\r\n return (\r\n <FocusZone\r\n ref={ this._resolveRef('_focusZone') }\r\n direction={ FocusZoneDirection.vertical }\r\n defaultActiveElement={ '#' + id + '-list' + selectedIndex }\r\n id={ id + '-list' }\r\n className={ css('ms-Dropdown-items', styles.items) }\r\n aria-labelledby={ id + '-label' }\r\n onKeyDown={ this._onZoneKeyDown }\r\n role='listbox'\r\n >\r\n { this.props.options.map((item, index) => onRenderItem({ ...item, index }, this._onRenderItem)) }\r\n </FocusZone>\r\n );\r\n }\r\n\r\n // Render items\r\n @autobind\r\n private _onRenderItem(item: IDropdownOption): JSX.Element {\r\n switch (item.itemType) {\r\n case DropdownMenuItemType.Divider:\r\n return this._renderSeparator(item);\r\n case DropdownMenuItemType.Header:\r\n return this._renderHeader(item);\r\n default:\r\n return this._renderOption(item);\r\n }\r\n }\r\n\r\n // Render separator\r\n private _renderSeparator(item: IDropdownOption): JSX.Element {\r\n let { index, key } = item;\r\n if (index > 0) {\r\n return <div\r\n role='separator'\r\n key={ key }\r\n className={ css('ms-Dropdown-divider', styles.divider) } />;\r\n }\r\n return null;\r\n }\r\n\r\n private _renderHeader(item: IDropdownOption): JSX.Element {\r\n let { onRenderOption = this._onRenderOption } = this.props;\r\n return (\r\n <div className={ css('ms-Dropdown-header', styles.header) }>\r\n { onRenderOption(item, this._onRenderOption) }\r\n </div>);\r\n }\r\n\r\n // Render menu item\r\n @autobind\r\n private _renderOption(item: IDropdownOption): JSX.Element {\r\n let { onRenderOption = this._onRenderOption } = this.props;\r\n let id = this._id;\r\n return (\r\n <CommandButton\r\n id={ id + '-list' + item.index }\r\n ref={ Dropdown.Option + item.index }\r\n key={ item.key }\r\n data-index={ item.index }\r\n data-is-focusable={ true }\r\n className={ css(\r\n 'ms-Dropdown-item', styles.item, {\r\n ['is-selected ' + styles.itemIsSelected]: this.state.selectedIndex === item.index,\r\n ['is-disabled ' + styles.itemIsDisabled]: this.props.disabled === true\r\n }\r\n ) }\r\n onClick={ () => this._onItemClick(item.index) }\r\n role='option'\r\n aria-selected={ this.state.selectedIndex === item.index ? 'true' : 'false' }\r\n ariaLabel={ item.text }\r\n title={ item.text }\r\n > { onRenderOption(item, this._onRenderOption) }</CommandButton>\r\n );\r\n }\r\n\r\n // Render content of item (i.e. text/icon inside of button)\r\n @autobind\r\n private _onRenderOption(item: IDropdownOption): JSX.Element {\r\n return <span className={ css('ms-Dropdown-optionText', styles.optionText) }>{ item.text }</span>;\r\n }\r\n\r\n @autobind\r\n private _onPositioned() {\r\n this._focusZone.focus();\r\n }\r\n\r\n private _onItemClick(index) {\r\n this.setSelectedIndex(index);\r\n this.setState({\r\n isOpen: false\r\n });\r\n }\r\n\r\n @autobind\r\n private _onDismiss() {\r\n this.setState({ isOpen: false });\r\n this._dropDown.focus();\r\n }\r\n\r\n private _getSelectedIndex(options: IDropdownOption[], selectedKey: string | number) {\r\n return findIndex(options, (option => (option.isSelected || option.selected || (selectedKey != null) && option.key === selectedKey)));\r\n }\r\n\r\n @autobind\r\n private _onDropdownKeyDown(ev: React.KeyboardEvent<HTMLElement>) {\r\n switch (ev.which) {\r\n case KeyCodes.enter:\r\n this.setState({\r\n isOpen: !this.state.isOpen\r\n });\r\n break;\r\n\r\n case KeyCodes.escape:\r\n if (!this.state.isOpen) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n isOpen: false\r\n });\r\n break;\r\n\r\n case KeyCodes.up:\r\n this.setSelectedIndex(this.state.selectedIndex - 1);\r\n break;\r\n\r\n case KeyCodes.down:\r\n if (ev.altKey || ev.metaKey) {\r\n this.setState({ isOpen: true });\r\n } else {\r\n this.setSelectedIndex(this.state.selectedIndex + 1);\r\n }\r\n break;\r\n\r\n case KeyCodes.home:\r\n this.setSelectedIndex(0);\r\n break;\r\n\r\n case KeyCodes.end:\r\n this.setSelectedIndex(this.props.options.length - 1);\r\n break;\r\n\r\n case KeyCodes.space:\r\n // event handled in _onDropdownKeyUp\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n }\r\n\r\n @autobind\r\n private _onDropdownKeyUp(ev: React.KeyboardEvent<HTMLElement>) {\r\n switch (ev.which) {\r\n case KeyCodes.space:\r\n this.setState({\r\n isOpen: !this.state.isOpen\r\n });\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n }\r\n\r\n @autobind\r\n private _onZoneKeyDown(ev: React.KeyboardEvent<HTMLElement>) {\r\n switch (ev.which) {\r\n\r\n case KeyCodes.up:\r\n if (ev.altKey || ev.metaKey) {\r\n this.setState({ isOpen: false });\r\n break;\r\n }\r\n\r\n return;\r\n\r\n case KeyCodes.escape:\r\n this.setState({ isOpen: false });\r\n break;\r\n\r\n case KeyCodes.tab:\r\n this.setState({ isOpen: false });\r\n return;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n }\r\n\r\n @autobind\r\n private _onDropdownClick() {\r\n let { disabled, isDisabled } = this.props;\r\n let { isOpen } = this.state;\r\n\r\n // Remove this deprecation workaround at 1.0.0\r\n if (isDisabled !== undefined) {\r\n disabled = isDisabled;\r\n }\r\n\r\n if (!disabled) {\r\n this.setState({\r\n isOpen: !isOpen\r\n });\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Dropdown/Dropdown.tsx","import * as React from 'react';\r\nimport { IRenderFunction } from '../../Utilities';\r\nimport { Dropdown } from './Dropdown';\r\nimport { ICalloutProps } from '../../Callout';\r\n\r\nexport enum DropdownMenuItemType {\r\n Normal = 0,\r\n Divider = 1,\r\n Header = 2\r\n}\r\n\r\nexport interface IDropdown {\r\n\r\n}\r\n\r\nexport interface IDropdownProps extends React.Props<Dropdown> {\r\n /**\r\n * Optional callback to access the IDropdown interface. Use this instead of ref for accessing\r\n * the public methods and properties of the component.\r\n */\r\n componentRef?: (component: IDropdown) => void;\r\n\r\n /**\r\n * Descriptive label for the Dropdown\r\n */\r\n label?: string;\r\n\r\n /**\r\n * Input placeholder text. Displayed until option is selected.\r\n */\r\n placeHolder?: string;\r\n\r\n /**\r\n * Aria Label for the Dropdown for screen reader users.\r\n */\r\n ariaLabel?: string;\r\n\r\n /**\r\n * Id of the drop down\r\n */\r\n id?: string;\r\n\r\n /**\r\n * If provided, additional class name to provide on the root element.\r\n */\r\n className?: string;\r\n\r\n /**\r\n * The key that will be initially used to set a selected item.\r\n */\r\n defaultSelectedKey?: string | number;\r\n\r\n /**\r\n * The key of the selected item. If you provide this, you must maintain selection\r\n * state by observing onChange events and passing a new value in when changed.\r\n */\r\n selectedKey?: string | number;\r\n\r\n /**\r\n * Collection of options for this Dropdown\r\n */\r\n options?: IDropdownOption[];\r\n\r\n /**\r\n * Callback issues when the selected option changes\r\n */\r\n onChanged?: (option: IDropdownOption, index?: number) => void;\r\n\r\n /**\r\n * Optional custom renderer for placeholder text\r\n */\r\n onRenderPlaceHolder?: IRenderFunction<IDropdownProps>;\r\n\r\n /**\r\n * Optional custom renderer for selected option displayed in input\r\n */\r\n onRenderTitle?: IRenderFunction<IDropdownOption>;\r\n\r\n /**\r\n * Optional custom renderer for the dropdown container\r\n */\r\n onRenderContainer?: IRenderFunction<IDropdownProps>;\r\n\r\n /**\r\n * Optional custom renderer for the dropdown list\r\n */\r\n onRenderList?: IRenderFunction<IDropdownProps>;\r\n\r\n /**\r\n * Optional custom renderer for the dropdown options\r\n */\r\n onRenderItem?: IRenderFunction<IDropdownOption>;\r\n\r\n /**\r\n * Optional custom renderer for the dropdown option content\r\n */\r\n onRenderOption?: IRenderFunction<IDropdownOption>;\r\n\r\n /**\r\n * Whether or not the Dropdown is disabled.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Whether or not the Dropdown is required.\r\n */\r\n required?: boolean;\r\n\r\n /**\r\n * Custom properties for Dropdown's Callout used to render options.\r\n */\r\n calloutProps?: ICalloutProps;\r\n\r\n /**\r\n * Deprecated at v0.52.0, use 'disabled' instead.\r\n * @deprecated\r\n */\r\n isDisabled?: boolean;\r\n\r\n /**\r\n * Descriptive label for the Dropdown Error Message\r\n */\r\n errorMessage?: string;\r\n}\r\n\r\nexport interface IDropdownOption {\r\n /**\r\n * Arbitrary string associated with this option.\r\n */\r\n key: string | number;\r\n\r\n /**\r\n * Text to render for this option\r\n */\r\n text: string;\r\n\r\n /**\r\n * Text to render for this option\r\n */\r\n itemType?: DropdownMenuItemType;\r\n\r\n /**\r\n * Index for this option\r\n */\r\n index?: number;\r\n\r\n /** If option is selected. */\r\n selected?: boolean;\r\n\r\n /**\r\n * Deprecated at v.65.1, use 'selected' instead.\r\n * @deprecated\r\n */\r\n isSelected?: boolean;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Dropdown/Dropdown.Props.ts","export * from './components/Panel/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Panel.ts","export * from './Panel';\r\nexport * from './Panel.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Panel/index.ts","/* tslint:disable:no-unused-variable */\r\nimport * as React from 'react';\r\n/* tslint:enable:no-unused-variable */\r\n\r\nimport {\r\n BaseComponent,\r\n autobind,\r\n css,\r\n getId,\r\n getRTL\r\n} from '../../Utilities';\r\nimport { FocusTrapZone } from '../FocusTrapZone/index';\r\nimport { IPanel, IPanelProps, PanelType } from './Panel.Props';\r\nimport { Layer } from '../Layer/Layer';\r\nimport { Overlay } from '../../Overlay';\r\nimport { Popup } from '../../Popup';\r\nimport { IconButton } from '../../Button';\r\nimport { AnimationClassNames } from '../../Styling';\r\nimport * as stylesImport from './Panel.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IPanelState {\r\n isFooterSticky?: boolean;\r\n isOpen?: boolean;\r\n isAnimating?: boolean;\r\n id?: string;\r\n}\r\n\r\nexport class Panel extends BaseComponent<IPanelProps, IPanelState> implements IPanel {\r\n\r\n public static defaultProps: IPanelProps = {\r\n isOpen: false,\r\n isBlocking: true,\r\n hasCloseButton: true,\r\n type: PanelType.smallFixedFar,\r\n };\r\n\r\n private _content: HTMLElement;\r\n\r\n constructor(props: IPanelProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isFooterSticky: false,\r\n isOpen: false,\r\n isAnimating: false,\r\n id: getId('Panel')\r\n };\r\n }\r\n\r\n public componentDidMount() {\r\n this._events.on(window, 'resize', this._updateFooterPosition);\r\n\r\n if (this.props.isOpen) {\r\n this.open();\r\n }\r\n }\r\n\r\n public componentWillReceiveProps(newProps: IPanelProps) {\r\n if (newProps.isOpen !== this.state.isOpen) {\r\n if (newProps.isOpen) {\r\n this.open();\r\n } else {\r\n this.dismiss();\r\n }\r\n }\r\n }\r\n\r\n public render() {\r\n let {\r\n children,\r\n className = '',\r\n closeButtonAriaLabel,\r\n elementToFocusOnDismiss,\r\n firstFocusableSelector,\r\n forceFocusInsideTrap,\r\n hasCloseButton,\r\n headerText,\r\n ignoreExternalFocusing,\r\n isBlocking,\r\n isLightDismiss,\r\n layerProps,\r\n type,\r\n customWidth,\r\n onRenderNavigation = this._onRenderNavigation,\r\n onRenderHeader = this._onRenderHeader,\r\n onRenderBody = this._onRenderBody,\r\n onRenderFooter = this._onRenderFooter\r\n } = this.props;\r\n let { isOpen, isAnimating, id, isFooterSticky } = this.state;\r\n let isLeft = type === PanelType.smallFixedNear ? true : false;\r\n let isRTL = getRTL();\r\n let isOnRightSide = isRTL ? isLeft : !isLeft;\r\n const headerTextId = id + '-headerText';\r\n const customWidthStyles = (type === PanelType.custom) ? { width: customWidth } : {};\r\n\r\n if (!isOpen && !isAnimating) {\r\n return null;\r\n }\r\n\r\n let overlay;\r\n if (isBlocking) {\r\n overlay = (\r\n <Overlay\r\n className={ css(\r\n styles.overlay,\r\n isOpen && isAnimating && AnimationClassNames.fadeIn200,\r\n !isOpen && isAnimating && AnimationClassNames.fadeOut200\r\n ) }\r\n isDarkThemed={ false }\r\n onClick={ isLightDismiss ? this._onPanelClick : null }\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <Layer { ...layerProps }>\r\n <Popup\r\n role='dialog'\r\n ariaLabelledBy={ headerText && headerTextId }\r\n onDismiss={ this.dismiss }>\r\n <div\r\n className={\r\n css(\r\n 'ms-Panel',\r\n styles.root,\r\n className,\r\n // because the RTL animations are not being used, we need to set a class\r\n isOpen && ('is-open ' + styles.rootIsOpen),\r\n type === PanelType.smallFluid && ('ms-Panel--smFluid ' + styles.rootIsSmallFluid),\r\n type === PanelType.smallFixedNear && ('ms-Panel--smLeft ' + styles.rootIsSmallLeft),\r\n type === PanelType.smallFixedFar && ('ms-Panel--sm ' + styles.rootIsSmall),\r\n type === PanelType.medium && ('ms-Panel--md ' + styles.rootIsMedium),\r\n type === PanelType.large || type === PanelType.largeFixed && ('ms-Panel--lg ' + styles.rootIsLarge),\r\n type === PanelType.largeFixed && ('ms-Panel--fixed ' + styles.rootIsFixed),\r\n type === PanelType.extraLarge && ('ms-Panel--xl ' + styles.rootIsXLarge),\r\n type === PanelType.custom && ('ms-Panel--custom ' + styles.rootIsCustom),\r\n hasCloseButton && ('ms-Panel--hasCloseButton ' + styles.rootHasCloseButton)\r\n )\r\n }\r\n >\r\n { overlay }\r\n <FocusTrapZone\r\n className={\r\n css(\r\n 'ms-Panel-main',\r\n styles.main,\r\n isOpen && isAnimating && !isOnRightSide && AnimationClassNames.slideRightIn40,\r\n isOpen && isAnimating && isOnRightSide && AnimationClassNames.slideLeftIn40,\r\n !isOpen && isAnimating && !isOnRightSide && AnimationClassNames.slideLeftOut40,\r\n !isOpen && isAnimating && isOnRightSide && AnimationClassNames.slideRightOut40,\r\n ) }\r\n style={ customWidthStyles }\r\n elementToFocusOnDismiss={ elementToFocusOnDismiss }\r\n isClickableOutsideFocusTrap={ isLightDismiss }\r\n ignoreExternalFocusing={ ignoreExternalFocusing }\r\n forceFocusInsideTrap={ forceFocusInsideTrap }\r\n firstFocusableSelector={ firstFocusableSelector }\r\n >\r\n <div className={ css('ms-Panel-commands') } data-is-visible={ true } >\r\n { onRenderNavigation(this.props, this._onRenderNavigation) }\r\n </div>\r\n <div className={ css('ms-Panel-contentInner', styles.contentInner) } >\r\n { onRenderHeader(this.props, this._onRenderHeader) }\r\n { onRenderBody(this.props, this._onRenderBody) }\r\n { onRenderFooter(this.props, this._onRenderFooter) }\r\n </div>\r\n </FocusTrapZone>\r\n </div>\r\n </Popup>\r\n </Layer>\r\n );\r\n }\r\n\r\n public open() {\r\n if (!this.state.isOpen) {\r\n this.setState({\r\n isOpen: true,\r\n isAnimating: true\r\n }, () => {\r\n this._async.setTimeout(this._onTransitionComplete, 200);\r\n });\r\n }\r\n }\r\n\r\n @autobind\r\n public dismiss() {\r\n if (this.state.isOpen) {\r\n this.setState({\r\n isOpen: false,\r\n isAnimating: true\r\n }, () => {\r\n this._async.setTimeout(this._onTransitionComplete, 200);\r\n });\r\n\r\n if (this.props.onDismiss) {\r\n this.props.onDismiss();\r\n }\r\n }\r\n }\r\n\r\n @autobind\r\n private _onRenderNavigation(props): JSX.Element {\r\n let {\r\n closeButtonAriaLabel,\r\n hasCloseButton\r\n } = props;\r\n return (\r\n hasCloseButton &&\r\n <IconButton\r\n className={ css('ms-Panel-closeButton ms-PanelAction-close', styles.closeButton) }\r\n onClick={ this._onPanelClick }\r\n ariaLabel={ closeButtonAriaLabel }\r\n data-is-visible={ true }\r\n iconProps={ { iconName: 'Cancel' } }\r\n />\r\n );\r\n }\r\n\r\n @autobind\r\n private _onRenderHeader(props): JSX.Element {\r\n let {\r\n headerText,\r\n headerTextId,\r\n headerClassName = '',\r\n } = props;\r\n return (\r\n headerText &&\r\n <div className={ css('ms-Panel-header', styles.header) }>\r\n <p className={ css('ms-Panel-headerText', styles.headerText, headerClassName) } id={ headerTextId } role='heading'>\r\n { headerText }\r\n </p>\r\n </div>\r\n );\r\n }\r\n\r\n @autobind\r\n private _onRenderBody(props): JSX.Element {\r\n return (\r\n <div className={ css('ms-Panel-content', styles.content) } ref={ this._resolveRef('_content') }>\r\n { props.children }\r\n </div>\r\n );\r\n }\r\n\r\n @autobind\r\n private _onRenderFooter(props): JSX.Element {\r\n let { isFooterSticky } = this.state;\r\n let { onRenderFooterContent = null } = this.props;\r\n return (\r\n onRenderFooterContent != null &&\r\n <div className={ css('ms-Panel-footer', styles.footer, isFooterSticky && styles.footerIsSticky) } >\r\n <div className={ css('ms-Panel-footerInner', styles.footerInner) }>\r\n { onRenderFooterContent() }\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n private _updateFooterPosition() {\r\n let _content = this._content;\r\n if (_content) {\r\n let height = _content.clientHeight;\r\n let innerHeight = _content.scrollHeight;\r\n\r\n this.setState({\r\n isFooterSticky: height < innerHeight ? true : false\r\n });\r\n }\r\n }\r\n\r\n @autobind\r\n private _onPanelClick() {\r\n this.dismiss();\r\n }\r\n\r\n @autobind\r\n private _onTransitionComplete() {\r\n this.setState({\r\n isAnimating: false\r\n });\r\n\r\n if (!this.state.isOpen && this.props.onDismissed) {\r\n this.props.onDismissed();\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Panel/Panel.tsx","import * as React from 'react';\r\nimport { Panel } from './Panel';\r\nimport { IRenderFunction } from '../../Utilities';\r\nimport { ILayerProps } from '../../Layer';\r\n\r\nexport interface IPanel {\r\n /**\r\n * Forces the panel to open.\r\n */\r\n open: () => void;\r\n\r\n /**\r\n * Forces the panel to dismiss.\r\n */\r\n dismiss: () => void;\r\n}\r\nexport interface IPanelProps extends React.Props<Panel> {\r\n /**\r\n * Optional callback to access the IPanel interface. Use this instead of ref for accessing\r\n * the public methods and properties of the component.\r\n */\r\n componentRef?: (component: IPanel) => void;\r\n\r\n /**\r\n * Whether the panel is displayed.\r\n * @default false\r\n */\r\n isOpen?: boolean;\r\n\r\n /**\r\n * Has the close button visible.\r\n * @default true\r\n */\r\n hasCloseButton?: boolean;\r\n\r\n /**\r\n * Whether the panel can be light dismissed.\r\n * @default false\r\n */\r\n isLightDismiss?: boolean;\r\n\r\n /**\r\n * Whether the panel uses a modal overlay or not\r\n * @default true\r\n */\r\n isBlocking?: boolean;\r\n\r\n /**\r\n * Header text for the Panel.\r\n * @default \"\"\r\n */\r\n headerText?: string;\r\n\r\n /**\r\n * A callback function for when the panel is closed, before the animation completes.\r\n */\r\n onDismiss?: () => void;\r\n\r\n /**\r\n * A callback function which is called after the Panel is dismissed and the animation is complete.\r\n */\r\n onDismissed?: () => void;\r\n\r\n /**\r\n * Additional styling options.\r\n */\r\n className?: string;\r\n\r\n /**\r\n * Type of the panel.\r\n * @default PanelType.smallFixedRight\r\n */\r\n type?: PanelType;\r\n\r\n /**\r\n * Custom panel width, used only when type is set to PanelType.custom.\r\n */\r\n customWidth?: string;\r\n\r\n /**\r\n * Aria label on close button\r\n */\r\n closeButtonAriaLabel?: string;\r\n\r\n /**\r\n * Optional parameter to provider the class name for header text\r\n */\r\n headerClassName?: string;\r\n\r\n /**\r\n * Sets the HTMLElement to focus on when exiting the FocusTrapZone.\r\n * @default The element.target that triggered the Panel.\r\n */\r\n elementToFocusOnDismiss?: HTMLElement;\r\n\r\n /**\r\n * Indicates if this Panel will ignore keeping track of HTMLElement that activated the Zone.\r\n * @default false\r\n */\r\n ignoreExternalFocusing?: boolean;\r\n\r\n /**\r\n * Indicates whether Panel should force focus inside the focus trap zone\r\n * @default true\r\n */\r\n forceFocusInsideTrap?: boolean;\r\n\r\n /**\r\n * Indicates the selector for first focusable item\r\n */\r\n firstFocusableSelector?: string;\r\n\r\n /**\r\n * Optional props to pass to the Layer component hosting the panel.\r\n */\r\n layerProps?: ILayerProps;\r\n\r\n /**\r\n * Optional custom renderer navigation region. Replaces current close button.\r\n */\r\n onRenderNavigation?: IRenderFunction<IPanelProps>;\r\n\r\n /**\r\n * Optional custom renderer for header region. Replaces current title\r\n */\r\n onRenderHeader?: IRenderFunction<IPanelProps>;\r\n\r\n /**\r\n * Optional custom renderer for body region. Replaces any children passed into the component.\r\n */\r\n onRenderBody?: IRenderFunction<IPanelProps>;\r\n\r\n /**\r\n * Optional custom renderer for footer region. Replaces sticky footer.\r\n */\r\n onRenderFooter?: IRenderFunction<IPanelProps>;\r\n\r\n /**\r\n * Custom renderer for content in the sticky footer\r\n */\r\n onRenderFooterContent?: IRenderFunction<IPanelProps>;\r\n}\r\n\r\nexport enum PanelType {\r\n /**\r\n * Renders the panel in 'small' mode, anchored to the far side (right in LTR mode), and has a fluid width.\r\n * Only used on Small screen breakpoints.\r\n * Small: 320-479px width (full screen), 16px Left/Right padding\r\n * Medium: <unused>\r\n * Large: <unused>\r\n * XLarge: <unused>\r\n * XXLarge: <unused>\r\n */\r\n smallFluid = 0,\r\n\r\n /**\r\n * Renders the panel in 'small' mode, anchored to the far side (right in LTR mode), and has a fixed width.\r\n * Small: 272px width, 16px Left/Right padding\r\n * Medium: 340px width, 16px Left/Right padding\r\n * Large: 340px width, 32px Left/Right padding\r\n * XLarge: 340px width, 32px Left/Right padding\r\n * XXLarge: 340px width, 40px Left/Right padding\r\n */\r\n smallFixedFar = 1,\r\n\r\n /**\r\n * Renders the panel in 'small' mode, anchored to the near side (left in LTR mode), and has a fixed width.\r\n * Small: 272px width, 16px Left/Right padding\r\n * Medium: 272px width, 16px Left/Right padding\r\n * Large: 272px width, 32px Left/Right padding\r\n * XLarge: 272px width, 32px Left/Right padding\r\n * XXLarge: 272px width, 32px Left/Right padding\r\n */\r\n smallFixedNear = 2,\r\n\r\n /**\r\n * Renders the panel in 'medium' mode, anchored to the far side (right in LTR mode).\r\n * Small: <adapts to smallFluid>\r\n * Medium: <adapts to smallFixedFar>\r\n * Large: 48px fixed left margin, 32px Left/Right padding\r\n * XLarge: 644px width, 32px Left/Right padding\r\n * XXLarge: 643px width, 40px Left/Right padding\r\n */\r\n medium = 3,\r\n\r\n /**\r\n * Renders the panel in 'large' mode, anchored to the far side (right in LTR mode), and is fluid at XXX-Large breakpoint.\r\n * Small: <adapts to smallFluid>\r\n * Medium: <adapts to smallFixedFar>\r\n * Large: <adapts to medium>\r\n * XLarge: 48px fixed left margin, 32px Left/Right padding\r\n * XXLarge: 48px fixed left margin, 32px Left/Right padding\r\n * XXXLarge: 48px fixed left margin, (no redlines for padding, assuming previous breakpoint)\r\n */\r\n large = 4,\r\n\r\n /**\r\n * Renders the panel in 'large' mode, anchored to the far side (right in LTR mode), and is fixed at XXX-Large breakpoint.\r\n * Small: <adapts to smallFluid>\r\n * Medium: <adapts to smallFixedFar>\r\n * Large: <adapts to medium>\r\n * XLarge: 48px fixed left margin, 32px Left/Right padding\r\n * XXLarge: 48px fixed left margin, 32px Left/Right padding\r\n * XXXLarge: 940px width, (no redlines for padding, assuming previous breakpoint)\r\n */\r\n largeFixed = 5,\r\n\r\n /**\r\n * Renders the panel in 'extra large' mode, anchored to the far side (right in LTR mode).\r\n * Small: <adapts to smallFluid>\r\n * Medium: <adapts to smallFixedFar>\r\n * Large: <adapts to medium>\r\n * XLarge: <adapts to large>\r\n * XXLarge: 176px fixed left margin, 40px Left/Right padding\r\n * XXXLarge: 176px fixed left margin, 40px Left/Right padding\r\n */\r\n extraLarge = 6,\r\n\r\n /**\r\n * Renders the panel in 'custom' mode using customWidth, anchored to the far side (right in LTR mode).\r\n * Small: <adapts to smallFluid>\r\n * Medium: <adapts to smallFixedFar>\r\n * Large: 48px fixed left margin, 32px Left/Right padding\r\n * XLarge: 644px width, 32px Left/Right padding\r\n * XXLarge: 643px width, 40px Left/Right padding\r\n */\r\n custom = 7\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Panel/Panel.Props.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_6639629e',\r\n overlay: 'overlay_6639629e',\r\n main: 'main_6639629e',\r\n rootIsSmall: 'rootIsSmall_6639629e',\r\n rootIsSmallLeft: 'rootIsSmallLeft_6639629e',\r\n rootIsSmallFluid: 'rootIsSmallFluid_6639629e',\r\n rootIsMedium: 'rootIsMedium_6639629e',\r\n rootIsLarge: 'rootIsLarge_6639629e',\r\n rootIsXLarge: 'rootIsXLarge_6639629e',\r\n rootIsCustom: 'rootIsCustom_6639629e',\r\n rootIsFixed: 'rootIsFixed_6639629e',\r\n rootIsOpen: 'rootIsOpen_6639629e',\r\n closeButton: 'closeButton_6639629e',\r\n contentInner: 'contentInner_6639629e',\r\n rootHasCloseButton: 'rootHasCloseButton_6639629e',\r\n header: 'header_6639629e',\r\n content: 'content_6639629e',\r\n footerInner: 'footerInner_6639629e',\r\n footer: 'footer_6639629e',\r\n footerIsSticky: 'footerIsSticky_6639629e',\r\n headerText: 'headerText_6639629e',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_6639629e{pointer-events:none;position:absolute;top:0;left:0;right:0;bottom:0}.root_6639629e .overlay_6639629e{pointer-events:none;opacity:1;cursor:pointer;transition:opacity 367ms cubic-bezier(.1,.9,.2,1)}.main_6639629e{background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";position:absolute;width:100%;bottom:0;top:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}[dir=ltr] .main_6639629e{right:0}[dir=rtl] .main_6639629e{left:0}@media (min-width:480px){.main_6639629e{border-left:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\";border-right:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\";pointer-events:auto;width:340px;box-shadow:-30px 0 30px -30px rgba(0,0,0,.2)}[dir=ltr] .main_6639629e{left:auto}[dir=rtl] .main_6639629e{right:auto}}.root_6639629e.rootIsSmall_6639629e .main_6639629e{width:272px}@media (min-width:480px){.root_6639629e.rootIsSmall_6639629e .main_6639629e{width:340px}}.root_6639629e.rootIsSmallLeft_6639629e .main_6639629e{width:272px;box-shadow:30px 0 30px -30px rgba(0,0,0,.2)}[dir=ltr] .root_6639629e.rootIsSmallLeft_6639629e .main_6639629e{right:auto}[dir=rtl] .root_6639629e.rootIsSmallLeft_6639629e .main_6639629e{left:auto}[dir=ltr] .root_6639629e.rootIsSmallLeft_6639629e .main_6639629e{left:0}[dir=rtl] .root_6639629e.rootIsSmallLeft_6639629e .main_6639629e{right:0}.root_6639629e.rootIsSmallFluid_6639629e .main_6639629e{width:100%}@media (min-width:640px){.root_6639629e.rootIsCustom_6639629e .main_6639629e,.root_6639629e.rootIsLarge_6639629e .main_6639629e,.root_6639629e.rootIsMedium_6639629e .main_6639629e,.root_6639629e.rootIsXLarge_6639629e .main_6639629e{width:auto}[dir=ltr] .root_6639629e.rootIsCustom_6639629e .main_6639629e,[dir=ltr] .root_6639629e.rootIsLarge_6639629e .main_6639629e,[dir=ltr] .root_6639629e.rootIsMedium_6639629e .main_6639629e,[dir=ltr] .root_6639629e.rootIsXLarge_6639629e .main_6639629e{left:48px}[dir=rtl] .root_6639629e.rootIsCustom_6639629e .main_6639629e,[dir=rtl] .root_6639629e.rootIsLarge_6639629e .main_6639629e,[dir=rtl] .root_6639629e.rootIsMedium_6639629e .main_6639629e,[dir=rtl] .root_6639629e.rootIsXLarge_6639629e .main_6639629e{right:48px}}@media (min-width:1024px){.root_6639629e.rootIsMedium_6639629e .main_6639629e{width:643px}[dir=ltr] .root_6639629e.rootIsMedium_6639629e .main_6639629e{left:auto}[dir=rtl] .root_6639629e.rootIsMedium_6639629e .main_6639629e{right:auto}}@media (min-width:1366px){[dir=ltr] .root_6639629e.rootIsLarge_6639629e .main_6639629e{left:428px}[dir=rtl] .root_6639629e.rootIsLarge_6639629e .main_6639629e{right:428px}}@media (min-width:1366px){.root_6639629e.rootIsLarge_6639629e.rootIsFixed_6639629e .main_6639629e{width:940px}[dir=ltr] .root_6639629e.rootIsLarge_6639629e.rootIsFixed_6639629e .main_6639629e{left:auto}[dir=rtl] .root_6639629e.rootIsLarge_6639629e.rootIsFixed_6639629e .main_6639629e{right:auto}}@media (min-width:1366px){[dir=ltr] .root_6639629e.rootIsXLarge_6639629e .main_6639629e{left:176px}[dir=rtl] .root_6639629e.rootIsXLarge_6639629e .main_6639629e{right:176px}}@media (min-width:1024px){[dir=ltr] .root_6639629e.rootIsCustom_6639629e .main_6639629e{left:auto}[dir=rtl] .root_6639629e.rootIsCustom_6639629e .main_6639629e{right:auto}}.root_6639629e.rootIsOpen_6639629e .main_6639629e{pointer-events:auto}.root_6639629e.rootIsOpen_6639629e .overlay_6639629e{cursor:pointer;pointer-events:auto}@media screen and (-ms-high-contrast:active){.root_6639629e.rootIsOpen_6639629e .overlay_6639629e{opacity:0}}.closeButton_6639629e{background:0 0;border:0;cursor:pointer;position:absolute;top:0;height:44px;width:44px;line-height:44px;padding:0;color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\";font-size:20px}[dir=ltr] .closeButton_6639629e{right:4px}[dir=rtl] .closeButton_6639629e{left:4px}.closeButton_6639629e:hover{color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\"}.contentInner_6639629e{position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-overflow-scrolling:touch;-webkit-transform:translateZ(0);transform:translateZ(0)}.rootHasCloseButton_6639629e .contentInner_6639629e{top:44px}.content_6639629e,.footerInner_6639629e,.header_6639629e{padding-left:16px;padding-right:16px}@media (min-width:640px){.content_6639629e,.footerInner_6639629e,.header_6639629e{padding-left:32px;padding-right:32px}}@media (min-width:1366px){.content_6639629e,.footerInner_6639629e,.header_6639629e{padding-left:40px;padding-right:40px}}.header_6639629e{margin:14px 0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}@media (min-width:1024px){.header_6639629e{margin-top:30px}}.content_6639629e{margin-bottom:0;overflow-y:auto}.footer_6639629e{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;border-top:1px solid transparent;transition:border 367ms cubic-bezier(.1,.25,.75,.9)}.footerInner_6639629e{padding-bottom:20px;padding-top:20px}.footerIsSticky_6639629e{background:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";border-top-color:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}.headerText_6639629e{font-size:21px;font-weight:100;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";line-height:32px;margin:0}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Panel/Panel.scss.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_56083fec',\r\n title: 'title_56083fec',\r\n caretDown: 'caretDown_56083fec',\r\n titleIsPlaceHolder: 'titleIsPlaceHolder_56083fec',\r\n rootIsDisabled: 'rootIsDisabled_56083fec',\r\n titleIsError: 'titleIsError_56083fec',\r\n panel: 'panel_56083fec',\r\n callout: 'callout_56083fec',\r\n errorMessage: 'errorMessage_56083fec',\r\n items: 'items_56083fec',\r\n item: 'item_56083fec',\r\n itemIsDisabled: 'itemIsDisabled_56083fec',\r\n itemIsSelected: 'itemIsSelected_56083fec',\r\n header: 'header_56083fec',\r\n divider: 'divider_56083fec',\r\n optionText: 'optionText_56083fec',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_56083fec{box-sizing:border-box;box-shadow:none;margin:0;padding:0;font-size:14px;font-weight:400;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";margin-bottom:10px;position:relative;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.root_56083fec:active .caretDown_56083fec,.root_56083fec:active .title_56083fec,.root_56083fec:focus .caretDown_56083fec,.root_56083fec:focus .title_56083fec,.root_56083fec:hover .caretDown_56083fec,.root_56083fec:hover .title_56083fec{color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.root_56083fec:active .caretDown_56083fec,.root_56083fec:active .title_56083fec,.root_56083fec:focus .caretDown_56083fec,.root_56083fec:focus .title_56083fec,.root_56083fec:hover .caretDown_56083fec,.root_56083fec:hover .title_56083fec{color:#1aebff}}@media screen and (-ms-high-contrast:black-on-white){.root_56083fec:active .caretDown_56083fec,.root_56083fec:active .title_56083fec,.root_56083fec:focus .caretDown_56083fec,.root_56083fec:focus .title_56083fec,.root_56083fec:hover .caretDown_56083fec,.root_56083fec:hover .title_56083fec{color:#37006e}}.root_56083fec:active .titleIsPlaceHolder_56083fec,.root_56083fec:focus .titleIsPlaceHolder_56083fec,.root_56083fec:hover .titleIsPlaceHolder_56083fec{color:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\"}.root_56083fec:active .title_56083fec,.root_56083fec:hover .title_56083fec{border-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.root_56083fec:active .title_56083fec,.root_56083fec:hover .title_56083fec{border-color:#1aebff}}@media screen and (-ms-high-contrast:black-on-white){.root_56083fec:active .title_56083fec,.root_56083fec:hover .title_56083fec{border-color:#37006e}}.root_56083fec:focus .title_56083fec{border-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.root_56083fec:focus .title_56083fec{border-color:#1aebff}}@media screen and (-ms-high-contrast:black-on-white){.root_56083fec:focus .title_56083fec{border-color:#37006e}}.root_56083fec .ms-Label{display:inline-block;margin-bottom:8px}.root_56083fec.rootIsDisabled_56083fec .title_56083fec{background-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\";border-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\";color:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\";cursor:default}@media screen and (-ms-high-contrast:active){.root_56083fec.rootIsDisabled_56083fec .title_56083fec{border-color:#0f0;color:#0f0}}@media screen and (-ms-high-contrast:black-on-white){.root_56083fec.rootIsDisabled_56083fec .title_56083fec{border-color:#600000;color:#600000}}.root_56083fec.rootIsDisabled_56083fec .title_56083fec.titleIsError_56083fec{border-color:\"},{\"theme\":\"error\",\"defaultValue\":\"#a80000\"},{\"rawString\":\"}.root_56083fec.rootIsDisabled_56083fec .caretDown_56083fec{color:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.root_56083fec.rootIsDisabled_56083fec .caretDown_56083fec{color:#0f0}}@media screen and (-ms-high-contrast:black-on-white){.root_56083fec.rootIsDisabled_56083fec .caretDown_56083fec{color:#600000}}.caretDown_56083fec{color:\"},{\"theme\":\"neutralDark\",\"defaultValue\":\"#212121\"},{\"rawString\":\";font-size:12px;position:absolute;top:1px;pointer-events:none;height:32px;line-height:30px}[dir=ltr] .caretDown_56083fec{right:12px}[dir=rtl] .caretDown_56083fec{left:12px}.title_56083fec{box-sizing:border-box;box-shadow:none;margin:0;padding:0;background:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";border:1px solid \"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\";cursor:pointer;display:block;height:32px;line-height:30px;padding:0 32px 0 12px;position:relative;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}html[dir=rtl] .title_56083fec{padding:0 12px 0 32px}.title_56083fec.titleIsError_56083fec{border-color:\"},{\"theme\":\"error\",\"defaultValue\":\"#a80000\"},{\"rawString\":\"}.title_56083fec.titleIsPlaceHolder_56083fec{color:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\"}.panel_56083fec .ms-Panel-main{box-shadow:-30px 0 30px -30px rgba(0,0,0,.2)}.panel_56083fec .ms-Panel-contentInner{padding:0 0 20px}.callout_56083fec{box-shadow:0 0 5px 0 rgba(0,0,0,.4);border:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}.errorMessage_56083fec{color:\"},{\"theme\":\"error\",\"defaultValue\":\"#a80000\"},{\"rawString\":\"}.errorMessage_56083fec::before{content:'* '}.items_56083fec{display:block}.item_56083fec{background:0 0;box-sizing:border-box;cursor:pointer;display:block;width:100%;height:auto;min-height:36px;line-height:20px;padding:5px 16px;position:relative;border:1px solid transparent;word-wrap:break-word;overflow-wrap:break-word;text-align:left}@media screen and (-ms-high-contrast:active){.item_56083fec{border-color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.item_56083fec{border-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}.item_56083fec:hover{background-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\";color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.item_56083fec:hover{background-color:#1aebff;border-color:#1aebff;color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}.item_56083fec:hover:focus{border-color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.item_56083fec:hover{background-color:#37006e;border-color:#37006e;color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:active),screen and (-ms-high-contrast:black-on-white){.item_56083fec:hover{-ms-high-contrast-adjust:none}}.item_56083fec::-moz-focus-inner{border:0}.item_56083fec{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .item_56083fec:focus:after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}.item_56083fec:focus{background-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\"}.item_56083fec:active{background-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\";color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}.item_56083fec.itemIsDisabled_56083fec{background:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";color:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\";cursor:default}.item_56083fec .ms-Button-flexContainer{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.item_56083fec.itemIsSelected_56083fec{background-color:\"},{\"theme\":\"neutralQuaternaryAlt\",\"defaultValue\":\"#dadada\"},{\"rawString\":\";color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}.item_56083fec.itemIsSelected_56083fec:hover{background-color:\"},{\"theme\":\"neutralQuaternaryAlt\",\"defaultValue\":\"#dadada\"},{\"rawString\":\"}.item_56083fec.itemIsSelected_56083fec::-moz-focus-inner{border:0}.item_56083fec.itemIsSelected_56083fec{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .item_56083fec.itemIsSelected_56083fec:focus:after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.item_56083fec.itemIsSelected_56083fec{background-color:#1aebff;border-color:#1aebff;color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}.item_56083fec.itemIsSelected_56083fec:focus{border-color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.item_56083fec.itemIsSelected_56083fec{background-color:#37006e;border-color:#37006e;color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:active),screen and (-ms-high-contrast:black-on-white){.item_56083fec.itemIsSelected_56083fec{-ms-high-contrast-adjust:none}}.header_56083fec{font-size:14px;font-weight:400;font-weight:600;color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";background:0 0;border:none;height:36px;line-height:36px;cursor:default;padding:0 16px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html[dir=ltr] .header_56083fec{text-align:left}html[dir=rtl] .header_56083fec{text-align:right}.divider_56083fec{height:1px;background-color:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}.optionText_56083fec{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;word-wrap:break-word;overflow-wrap:break-word;margin:1px}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Dropdown/Dropdown.scss.ts","export * from './components/Facepile/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Facepile.ts","export * from './Facepile.Props';\r\nexport * from './Facepile';\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Facepile/index.ts","import * as React from 'react';\r\nimport { Facepile } from './Facepile';\r\nimport { IButtonProps } from '../Button/index';\r\nimport {\r\n IPersonaProps,\r\n PersonaInitialsColor,\r\n PersonaSize\r\n} from '../Persona/index';\r\n\r\nexport interface IFacepile {\r\n\r\n}\r\n\r\nexport interface IFacepileProps extends React.Props<Facepile> {\r\n /**\r\n * Optional callback to access the IFacepile interface. Use this instead of ref for accessing\r\n * the public methods and properties of the component.\r\n */\r\n componentRef?: (component: IFacepile) => void;\r\n\r\n /**\r\n * Array of IPersonaProps that define each Persona. Note that the size\r\n * is fixed at PersonaSize.extraSmall regardless of what is specified.\r\n */\r\n personas: IFacepilePersona[];\r\n\r\n /** Maximum number of personas to show */\r\n maxDisplayablePersonas?: number;\r\n\r\n /** Size to display the personas */\r\n personaSize?: PersonaSize;\r\n\r\n /** ARIA label for persona list */\r\n ariaDescription?: string;\r\n\r\n /** Show add person button */\r\n showAddButton?: boolean;\r\n\r\n /** Button properties for the add face button */\r\n addButtonProps?: IButtonProps;\r\n\r\n /**\r\n * Deprecated at v0.70, use 'overflowButtonProps' instead;\r\n * @deprecated\r\n */\r\n chevronButtonProps?: IButtonProps;\r\n\r\n /** Properties for the overflow icon */\r\n overflowButtonProps?: IButtonProps;\r\n\r\n /** Type of overflow icon to use */\r\n overflowButtonType?: OverflowButtonType;\r\n\r\n /** Method to access properties on the underlying Persona control */\r\n getPersonaProps?: (persona: IFacepilePersona) => IPersonaProps;\r\n \r\n /**\r\n * Optional class for Facepile root element.\r\n */\r\n className?: string;\r\n}\r\n\r\nexport interface IFacepilePersona extends React.HTMLProps<HTMLButtonElement | HTMLDivElement> {\r\n /**\r\n * Name of the person.\r\n */\r\n personaName?: string;\r\n\r\n /**\r\n * Url to the image to use, should be a square aspect ratio and big enough to fit in the image area.\r\n */\r\n imageUrl?: string;\r\n\r\n /**\r\n * The user's initials to display in the image area when there is no image.\r\n * @defaultvalue [Derived from personaName]\r\n */\r\n imageInitials?: string;\r\n\r\n /**\r\n * The background color when the user's initials are displayed.\r\n * @defaultvalue [Derived from personaName]\r\n */\r\n initialsColor?: PersonaInitialsColor;\r\n\r\n /**\r\n * If provided, persona will be rendered with cursor:pointer and the handler will be\r\n * called on click.\r\n */\r\n onClick?: (ev?: React.MouseEvent<HTMLElement>, persona?: IFacepilePersona) => void;\r\n\r\n /**\r\n * If provided, the handler will be called on mouse move.\r\n */\r\n onMouseMove?: (ev?: React.MouseEvent<HTMLElement>, persona?: IFacepilePersona) => void;\r\n\r\n /**\r\n * If provided, the handler will be called when mouse moves out of the component.\r\n */\r\n onMouseOut?: (ev?: React.MouseEvent<HTMLElement>, persona?: IFacepilePersona) => void;\r\n\r\n /**\r\n * Extra data - not used directly but can be handy for passing additional data to custom event\r\n * handlers.\r\n */\r\n data?: any;\r\n}\r\n\r\nexport enum OverflowButtonType {\r\n /** No overflow */\r\n none = 0,\r\n /** +1 overflow icon */\r\n descriptive = 1,\r\n /** More overflow icon */\r\n more = 2,\r\n /** Chevron overflow icon */\r\n downArrow = 3\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Facepile/Facepile.Props.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n buttonProperties,\r\n css,\r\n divProperties,\r\n getId,\r\n getNativeProps\r\n} from '../../Utilities';\r\nimport {\r\n IFacepileProps,\r\n IFacepilePersona,\r\n OverflowButtonType\r\n} from './Facepile.Props';\r\nimport {\r\n FocusZone,\r\n FocusZoneDirection\r\n} from '../../FocusZone';\r\nimport {\r\n BaseButton\r\n} from '../../Button';\r\nimport {\r\n Icon\r\n} from '../../Icon';\r\nimport {\r\n Persona,\r\n PersonaSize\r\n} from '../../Persona';\r\nimport * as stylesImport from './Facepile.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport class Facepile extends BaseComponent<IFacepileProps, {}> {\r\n public static defaultProps: IFacepileProps = {\r\n maxDisplayablePersonas: 5,\r\n personas: [],\r\n personaSize: PersonaSize.extraSmall\r\n };\r\n\r\n private _ariaDescriptionId: string;\r\n\r\n constructor(props: IFacepileProps) {\r\n super(props);\r\n\r\n this._ariaDescriptionId = getId();\r\n\r\n }\r\n public render(): JSX.Element {\r\n let {\r\n chevronButtonProps,\r\n maxDisplayablePersonas,\r\n overflowButtonProps,\r\n overflowButtonType,\r\n ariaDescription,\r\n className,\r\n personas,\r\n showAddButton\r\n } = this.props;\r\n let numPersonasToShow: number = Math.min(personas.length, maxDisplayablePersonas);\r\n\r\n // Added for deprecating chevronButtonProps. Can remove after v1.0\r\n if (chevronButtonProps && !overflowButtonProps) {\r\n overflowButtonProps = chevronButtonProps;\r\n overflowButtonType = OverflowButtonType.downArrow;\r\n }\r\n\r\n return (\r\n <div className={ css('ms-Facepile', styles.root, className) }>\r\n <div\r\n className={ css('ms-Facepile-itemContainer', styles.itemContainer) }\r\n >\r\n { showAddButton ? this._getAddNewElement() : null }\r\n { this.onRenderAriaDescription() }\r\n <FocusZone\r\n ariaDescribedBy={ this._ariaDescriptionId }\r\n role='listbox'\r\n className={ css('ms-Facepile-members', styles.members) }\r\n direction={ FocusZoneDirection.horizontal }\r\n >\r\n {\r\n personas.slice(0, numPersonasToShow).map((persona: IFacepilePersona, index: number) => {\r\n const personaControl: JSX.Element = this._getPersonaControl(persona);\r\n return persona.onClick ?\r\n this._getElementWithOnClickEvent(personaControl, persona, index) :\r\n this._getElementWithoutOnClickEvent(personaControl, persona, index);\r\n })\r\n }\r\n </FocusZone>\r\n { overflowButtonProps ? this._getOverflowElement(numPersonasToShow) : null }\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n protected onRenderAriaDescription() {\r\n const { ariaDescription } = this.props;\r\n\r\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan,\r\n // otherwise it will be assigned to descriptionSpan.\r\n return ariaDescription && (\r\n <span className={ styles.screenReaderOnly } id={ this._ariaDescriptionId }>{ ariaDescription }</span>\r\n );\r\n }\r\n\r\n private _getPersonaControl(persona: IFacepilePersona): JSX.Element {\r\n let { getPersonaProps, personaSize } = this.props;\r\n return <Persona\r\n imageInitials={ persona.imageInitials }\r\n imageUrl={ persona.imageUrl }\r\n initialsColor={ persona.initialsColor }\r\n primaryText={ persona.personaName }\r\n size={ personaSize }\r\n hidePersonaDetails={ true }\r\n {...(getPersonaProps ? getPersonaProps(persona) : null) }\r\n />;\r\n }\r\n\r\n private _getElementWithOnClickEvent(personaControl: JSX.Element, persona: IFacepilePersona, index: number): JSX.Element {\r\n return <BaseButton\r\n { ...getNativeProps(persona, buttonProperties) }\r\n key={ (!!persona.imageUrl ? 'i' : '') + index }\r\n data-is-focusable={ true }\r\n role='option'\r\n className={ css('ms-Facepile-itemButton ms-Facepile-person', styles.itemButton) }\r\n title={ persona.personaName }\r\n onClick={ this._onPersonaClick.bind(this, persona) }\r\n onMouseMove={ this._onPersonaMouseMove.bind(this, persona) }\r\n onMouseOut={ this._onPersonaMouseOut.bind(this, persona) }\r\n >\r\n { personaControl }\r\n </BaseButton>;\r\n }\r\n\r\n private _getElementWithoutOnClickEvent(personaControl: JSX.Element, persona: IFacepilePersona, index: number): JSX.Element {\r\n return <div\r\n { ...getNativeProps(persona, divProperties) }\r\n key={ (!!persona.imageUrl ? 'i' : '') + index }\r\n data-is-focusable={ true }\r\n role='option'\r\n className={ css('ms-Facepile-itemButton ms-Facepile-person', styles.itemButton) }\r\n title={ persona.personaName }\r\n onMouseMove={ this._onPersonaMouseMove.bind(this, persona) }\r\n onMouseOut={ this._onPersonaMouseOut.bind(this, persona) }\r\n >\r\n { personaControl }\r\n </div>;\r\n }\r\n\r\n private _getOverflowElement(numPersonasToShow: number): JSX.Element {\r\n switch (this.props.overflowButtonType) {\r\n case OverflowButtonType.descriptive:\r\n return this._getDescriptiveOverflowElement(numPersonasToShow);\r\n case OverflowButtonType.downArrow:\r\n return this._getIconElement('ChevronDown');\r\n case OverflowButtonType.more:\r\n return this._getIconElement('More');\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n private _getDescriptiveOverflowElement(numPersonasToShow: number): JSX.Element {\r\n let { overflowButtonProps, personas, personaSize } = this.props;\r\n let numPersonasNotPictured: number = personas.length - numPersonasToShow;\r\n\r\n if (!overflowButtonProps || numPersonasNotPictured < 1) { return null; }\r\n\r\n let personaNames: string = personas.slice(numPersonasToShow).map((p: IFacepilePersona) => p.personaName).join(', ');\r\n\r\n return <BaseButton\r\n { ...overflowButtonProps}\r\n ariaDescription={ personaNames }\r\n className={ css('ms-Facepile-descriptiveOverflowButton', 'ms-Facepile-itemButton', styles.descriptiveOverflowButton, styles.itemButton) }\r\n >\r\n <Persona\r\n title={ personaNames }\r\n size={ personaSize }\r\n hidePersonaDetails={ true }\r\n onRenderInitials={ () => {\r\n return (\r\n <span>{ '+' + numPersonasNotPictured }</span>\r\n );\r\n } }\r\n />\r\n </BaseButton>;\r\n }\r\n\r\n private _getIconElement(icon: string): JSX.Element {\r\n let { overflowButtonProps, personaSize } = this.props;\r\n\r\n return <BaseButton\r\n {...overflowButtonProps}\r\n className={ css('ms-Facepile-overflowButton', 'ms-Facepile-itemButton', styles.overflowButton, styles.itemButton) }\r\n >\r\n <Persona\r\n size={ personaSize }\r\n hidePersonaDetails={ true }\r\n onRenderInitials={ () => (\r\n <Icon iconName={ icon } />\r\n ) }\r\n />\r\n </BaseButton>;\r\n }\r\n\r\n private _getAddNewElement(): JSX.Element {\r\n let { addButtonProps, personaSize } = this.props;\r\n return <BaseButton\r\n {...addButtonProps}\r\n className={ css('ms-Facepile-addButton', 'ms-Facepile-itemButton', styles.itemButton, styles.addButton) }\r\n >\r\n <Persona\r\n size={ personaSize }\r\n hidePersonaDetails={ true }\r\n onRenderInitials={ () => (\r\n <Icon iconName='addFriend' />\r\n ) }\r\n />\r\n </BaseButton>;\r\n }\r\n\r\n private _onPersonaClick(persona: IFacepilePersona, ev?: React.MouseEvent<HTMLElement>): void {\r\n persona.onClick(ev, persona);\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n\r\n private _onPersonaMouseMove(persona: IFacepilePersona, ev?: React.MouseEvent<HTMLElement>): void {\r\n if (!!persona.onMouseMove) {\r\n persona.onMouseMove(ev, persona);\r\n }\r\n }\r\n\r\n private _onPersonaMouseOut(persona: IFacepilePersona, ev?: React.MouseEvent<HTMLElement>): void {\r\n if (!!persona.onMouseOut) {\r\n persona.onMouseOut(ev, persona);\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Facepile/Facepile.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_ec63745c',\r\n clear: 'clear_ec63745c',\r\n itemContainer: 'itemContainer_ec63745c',\r\n members: 'members_ec63745c',\r\n itemButton: 'itemButton_ec63745c',\r\n addButton: 'addButton_ec63745c',\r\n overflowButton: 'overflowButton_ec63745c',\r\n descriptiveOverflowButton: 'descriptiveOverflowButton_ec63745c',\r\n screenReaderOnly: 'screenReaderOnly_ec63745c',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_ec63745c{width:auto}.clear_ec63745c{clear:both}.itemContainer_ec63745c{display:-webkit-box;display:-ms-flexbox;display:flex}.members_ec63745c{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;overflow:hidden;margin:-2px}.members_ec63745c>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;margin:2px}.itemButton_ec63745c{text-align:center;padding:0;border-radius:50%;vertical-align:top}.itemButton_ec63745c::-moz-focus-inner{border:0}.itemButton_ec63745c{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .itemButton_ec63745c:focus:after{content:'';position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}.itemButton_ec63745c .ms-Persona-details{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}button.itemButton_ec63745c{display:inline;background:0 0;padding:0;cursor:pointer;border:none}button.itemButton_ec63745c::-moz-focus-inner{padding:0;border:0}button.addButton_ec63745c{font-size:14px;color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";background-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}html[dir=ltr] button.addButton_ec63745c{margin-right:4px}html[dir=rtl] button.addButton_ec63745c{margin-left:4px}button.addButton_ec63745c:focus,button.addButton_ec63745c:hover{background-color:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\"}button.addButton_ec63745c:active{background-color:\"},{\"theme\":\"themeDarker\",\"defaultValue\":\"#004578\"},{\"rawString\":\"}button.addButton_ec63745c:disabled{background-color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}button.overflowButton_ec63745c{font-size:14px;color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\";background-color:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}html[dir=ltr] button.overflowButton_ec63745c{margin-left:4px}html[dir=rtl] button.overflowButton_ec63745c{margin-right:4px}button.descriptiveOverflowButton_ec63745c{font-size:12px;color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\";background-color:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}html[dir=ltr] button.descriptiveOverflowButton_ec63745c{margin-left:4px}html[dir=rtl] button.descriptiveOverflowButton_ec63745c{margin-right:4px}.screenReaderOnly_ec63745c{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Facepile/Facepile.scss.ts","export * from './components/FocusTrapZone/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/FocusTrapZone.ts","export * from './components/MessageBar/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/MessageBar.ts","export * from './MessageBar';\r\nexport * from './MessageBar.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/MessageBar/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n DelayedRender,\r\n css,\r\n getId\r\n} from '../../Utilities';\r\nimport { IconButton } from '../../Button';\r\nimport { Icon } from '../../Icon';\r\nimport { IMessageBarProps, MessageBarType } from './MessageBar.Props';\r\nimport * as stylesImport from './MessageBar.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IMessageBarState {\r\n labelId?: string;\r\n showContent?: boolean;\r\n}\r\n\r\nexport class MessageBar extends BaseComponent<IMessageBarProps, IMessageBarState> {\r\n\r\n public static defaultProps: IMessageBarProps = {\r\n messageBarType: MessageBarType.info,\r\n onDismiss: null,\r\n isMultiline: true,\r\n };\r\n\r\n private ICON_MAP = {\r\n [MessageBarType.info]: 'Info',\r\n [MessageBarType.warning]: 'Info',\r\n [MessageBarType.error]: 'ErrorBadge',\r\n [MessageBarType.blocked]: 'Blocked',\r\n [MessageBarType.remove]: 'Blocked', // TODO remove deprecated value at >= 1.0.0\r\n [MessageBarType.severeWarning]: 'Warning',\r\n [MessageBarType.success]: 'Completed'\r\n };\r\n\r\n constructor(props: IMessageBarProps) {\r\n super(props);\r\n\r\n this.state = {\r\n labelId: getId('MessageBar'),\r\n showContent: false\r\n };\r\n }\r\n\r\n public render(): JSX.Element {\r\n let { isMultiline } = this.props;\r\n\r\n return isMultiline ? this._renderMultiLine() : this._renderSingleLine();\r\n }\r\n\r\n private _getActionsDiv(): JSX.Element {\r\n if (this.props.actions) {\r\n return <div className={ this.props.isMultiline ?\r\n ('ms-MessageBar-actions ' + styles.actions) :\r\n ('ms-MessageBar-actionsOneline ' + styles.actionsOneline) }>\r\n { this.props.actions }\r\n </div>;\r\n }\r\n return null;\r\n }\r\n\r\n private _getClassName(): string {\r\n return css(this.props.className, 'ms-MessageBar', styles.root, {\r\n ['ms-MessageBar ' + styles.root]: this.props.messageBarType === MessageBarType.info,\r\n ['ms-MessageBar--error ' + styles.rootIsError]: this.props.messageBarType === MessageBarType.error,\r\n ['ms-MessageBar--blocked ' + styles.rootIsBlocked]: (this.props.messageBarType === MessageBarType.blocked) ||\r\n (this.props.messageBarType === MessageBarType.remove), // TODO remove deprecated value at >= 1.0.0\r\n ['ms-MessageBar--severeWarning ' + styles.rootIsSevereWarning]: this.props.messageBarType === MessageBarType.severeWarning,\r\n ['ms-MessageBar--success ' + styles.rootIsSuccess]: this.props.messageBarType === MessageBarType.success,\r\n ['ms-MessageBar--warning ' + styles.rootIsWarning]: this.props.messageBarType === MessageBarType.warning\r\n });\r\n }\r\n\r\n private _getDismissDiv(): JSX.Element {\r\n if (this.props.onDismiss != null) {\r\n return (\r\n <IconButton\r\n disabled={ false }\r\n className={ css('ms-MessageBar-dismissal', styles.dismissal) }\r\n onClick={ this.props.onDismiss }\r\n iconProps={ { iconName: 'Cancel' } }\r\n ariaLabel={ this.props.dismissButtonAriaLabel }\r\n />\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n private _getIconSpan(): JSX.Element {\r\n return (\r\n <div className={ css('ms-MessageBar-icon', styles.icon) }>\r\n <Icon iconName={ this.ICON_MAP[this.props.messageBarType] } />\r\n </div>\r\n );\r\n }\r\n\r\n private _getInnerTextClassName(): string {\r\n return this.props.onDismiss || this.props.actions ?\r\n 'ms-MessageBar-innerTextPadding ' + styles.innerTextPadding : 'ms-MessageBar-innerText ' + styles.innerText;\r\n }\r\n\r\n private _renderMultiLine(): React.ReactElement<React.HTMLProps<HTMLAreaElement>> {\r\n return (\r\n <div\r\n className={ this._getClassName() + ' ms-MessageBar-multiline ' + styles.multiline }\r\n role='status'\r\n aria-live={ this._getAnnouncementPriority() }>\r\n <div className={ css('ms-MessageBar-content', styles.content) }>\r\n { this._getIconSpan() }\r\n <div className={ css('ms-MessageBar-actionables', styles.actionables) }>\r\n { this._renderInnerText() }\r\n { this._getActionsDiv() }\r\n { this._getDismissDiv() }\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n private _renderSingleLine(): React.ReactElement<React.HTMLProps<HTMLAreaElement>> {\r\n return (\r\n <div className={ this._getClassName() + ' ms-MessageBar-singleline ' + styles.singleline }>\r\n <div className={ css('ms-MessageBar-content', styles.content) }>\r\n { this._getIconSpan() }\r\n <div className={ css('ms-MessageBar-actionables', styles.actionables) }>\r\n { this._renderInnerText() }\r\n </div>\r\n { this._getActionsDiv() }\r\n <div className={ css('ms-MessageBar-dismissalOneline', styles.dismissalOneline) }>\r\n { this._getDismissDiv() }\r\n </div>\r\n </div>\r\n </div >\r\n );\r\n }\r\n\r\n private _renderInnerText(): JSX.Element {\r\n return (\r\n <div className={ css('ms-MessageBar-text', styles.text) } id={ this.state.labelId }>\r\n <span className={ this._getInnerTextClassName() } role='status' aria-live={ this._getAnnouncementPriority() }>\r\n <DelayedRender>\r\n <span>{ this.props.children }</span>\r\n </DelayedRender>\r\n </span>\r\n </div>\r\n );\r\n }\r\n\r\n private _getAnnouncementPriority(): string {\r\n switch (this.props.messageBarType) {\r\n case MessageBarType.blocked:\r\n case MessageBarType.error:\r\n case MessageBarType.severeWarning:\r\n return 'assertive';\r\n }\r\n return 'polite';\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/MessageBar/MessageBar.tsx","import * as React from 'react';\r\n\r\nexport interface IMessageBar {\r\n\r\n}\r\n\r\nexport interface IMessageBarProps extends React.HTMLProps<HTMLElement> {\r\n /**\r\n * Optional callback to access the IMessageBar interface. Use this instead of ref for accessing\r\n * the public methods and properties of the component.\r\n */\r\n componentRef?: (component: IMessageBar) => void;\r\n\r\n /**\r\n * The type of MessageBar to render.\r\n * @defaultvalue MessageBarType.info\r\n */\r\n messageBarType?: MessageBarType;\r\n\r\n /**\r\n * The actions you want to show on the other side.\r\n */\r\n actions?: JSX.Element;\r\n\r\n /**\r\n * A description of the message bar for the benefit of screen readers.\r\n */\r\n ariaLabel?: string;\r\n\r\n /**\r\n * Whether the message bar has a dismiss button and its callback.\r\n * If null, we don't show a dismiss button.\r\n * @defaultvalue null\r\n */\r\n onDismiss?: (ev?: React.MouseEvent<HTMLButtonElement>) => any;\r\n\r\n /**\r\n * Determines if the message bar is multi lined.\r\n * If false, and the text overflows over buttons or to another line, it is clipped.\r\n * @defaultvalue true\r\n */\r\n isMultiline?: boolean;\r\n\r\n /**\r\n * Aria label on dismiss button if onDismiss is defined.\r\n */\r\n dismissButtonAriaLabel?: string;\r\n}\r\n\r\nexport enum MessageBarType {\r\n /** Info styled MessageBar */\r\n info = 0,\r\n /** Error styled MessageBar */\r\n error = 1,\r\n /** Blocked styled MessageBar */\r\n blocked = 2,\r\n /** SevereWarning styled MessageBar */\r\n severeWarning = 3,\r\n /** Success styled MessageBar */\r\n success = 4,\r\n /** Warning styled MessageBar */\r\n warning = 5,\r\n /**\r\n * Deprecated at v0.48.0, to be removed at >= v1.0.0. Use 'blocked' instead.\r\n * @deprecated\r\n */\r\n remove = 90000\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/MessageBar/MessageBar.Props.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_56c7fc1c',\r\n icon: 'icon_56c7fc1c',\r\n text: 'text_56c7fc1c',\r\n rootIsWarning: 'rootIsWarning_56c7fc1c',\r\n rootIsSevereWarning: 'rootIsSevereWarning_56c7fc1c',\r\n rootIsError: 'rootIsError_56c7fc1c',\r\n rootIsBlocked: 'rootIsBlocked_56c7fc1c',\r\n rootIsSuccess: 'rootIsSuccess_56c7fc1c',\r\n content: 'content_56c7fc1c',\r\n actionables: 'actionables_56c7fc1c',\r\n dismissal: 'dismissal_56c7fc1c',\r\n actions: 'actions_56c7fc1c',\r\n actionsOneline: 'actionsOneline_56c7fc1c',\r\n dismissalOneline: 'dismissalOneline_56c7fc1c',\r\n innerTextPadding: 'innerTextPadding_56c7fc1c',\r\n innerText: 'innerText_56c7fc1c',\r\n multiline: 'multiline_56c7fc1c',\r\n singleline: 'singleline_56c7fc1c',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_56c7fc1c{background-color:\"},{\"theme\":\"infoBackground\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\";color:\"},{\"theme\":\"infoText\",\"defaultValue\":\"#333333\"},{\"rawString\":\";width:100%;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;position:relative}.root_56c7fc1c .icon_56c7fc1c{color:\"},{\"theme\":\"info\",\"defaultValue\":\"#767676\"},{\"rawString\":\"}html[dir=ltr] .root_56c7fc1c .icon_56c7fc1c{padding-right:8px}html[dir=rtl] .root_56c7fc1c .icon_56c7fc1c{padding-left:8px}.root_56c7fc1c .ms-Link{font-size:12px;color:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\"}html[dir=ltr] .root_56c7fc1c .ms-Button{margin-left:6px}html[dir=rtl] .root_56c7fc1c .ms-Button{margin-right:6px}.icon_56c7fc1c,.text_56c7fc1c{display:table-cell;vertical-align:top}.icon_56c7fc1c{font-size:16px;min-width:16px;min-height:16px;display:-webkit-box;display:-ms-flexbox;display:flex}.text_56c7fc1c{font-size:12px;font-weight:400;min-width:0;display:-webkit-box;display:-ms-flexbox;display:flex}.root_56c7fc1c.rootIsWarning_56c7fc1c{background-color:\"},{\"theme\":\"warningBackground\",\"defaultValue\":\"#fff4ce\"},{\"rawString\":\";color:\"},{\"theme\":\"warningText\",\"defaultValue\":\"#333333\"},{\"rawString\":\"}.root_56c7fc1c.rootIsSevereWarning_56c7fc1c{background-color:\"},{\"theme\":\"severeWarningBackground\",\"defaultValue\":\"#fed9cc\"},{\"rawString\":\";color:\"},{\"theme\":\"severeWarningText\",\"defaultValue\":\"#333333\"},{\"rawString\":\"}.root_56c7fc1c.rootIsSevereWarning_56c7fc1c .icon_56c7fc1c{color:\"},{\"theme\":\"severeWarning\",\"defaultValue\":\"#d83b01\"},{\"rawString\":\"}.root_56c7fc1c.rootIsError_56c7fc1c{background-color:\"},{\"theme\":\"errorBackground\",\"defaultValue\":\"#fde7e9\"},{\"rawString\":\";color:\"},{\"theme\":\"errorText\",\"defaultValue\":\"#333333\"},{\"rawString\":\"}.root_56c7fc1c.rootIsError_56c7fc1c .icon_56c7fc1c{color:\"},{\"theme\":\"error\",\"defaultValue\":\"#a80000\"},{\"rawString\":\"}.root_56c7fc1c.rootIsBlocked_56c7fc1c{background-color:\"},{\"theme\":\"errorBackground\",\"defaultValue\":\"#fde7e9\"},{\"rawString\":\";color:\"},{\"theme\":\"errorText\",\"defaultValue\":\"#333333\"},{\"rawString\":\"}.root_56c7fc1c.rootIsBlocked_56c7fc1c .icon_56c7fc1c{color:\"},{\"theme\":\"error\",\"defaultValue\":\"#a80000\"},{\"rawString\":\"}.root_56c7fc1c.rootIsSuccess_56c7fc1c{background-color:\"},{\"theme\":\"successBackground\",\"defaultValue\":\"#dff6dd\"},{\"rawString\":\";color:\"},{\"theme\":\"successText\",\"defaultValue\":\"#333333\"},{\"rawString\":\"}.root_56c7fc1c.rootIsSuccess_56c7fc1c .icon_56c7fc1c{color:\"},{\"theme\":\"green\",\"defaultValue\":\"#107c10\"},{\"rawString\":\"}.content_56c7fc1c{padding:16px;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;box-sizing:border-box}.content_56c7fc1c:before{pointer-events:none;position:absolute;right:0;bottom:0;left:0;top:0;margin:0}@media screen and (-ms-high-contrast:active){.content_56c7fc1c:before{border:1px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";content:' '}}@media screen and (-ms-high-contrast:black-on-white){.content_56c7fc1c:before{border:1px solid \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\";content:' '}}.actionables_56c7fc1c{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;min-width:0}.actionables_56c7fc1c>.dismissal_56c7fc1c{right:0;top:0;position:absolute!important}.actionsOneline_56c7fc1c,.actions_56c7fc1c{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.actionsOneline_56c7fc1c{position:relative}.dismissal_56c7fc1c{min-width:0}.dismissal_56c7fc1c::-moz-focus-inner{border:0}.dismissal_56c7fc1c{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .dismissal_56c7fc1c:focus:after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}[dir=ltr] .dismissalOneline_56c7fc1c .dismissal_56c7fc1c{margin-right:-8px}[dir=rtl] .dismissalOneline_56c7fc1c .dismissal_56c7fc1c{margin-left:-8px}.root_56c7fc1c+.root_56c7fc1c{margin-top:6px}html[dir=ltr] .innerTextPadding_56c7fc1c{padding-right:24px}html[dir=rtl] .innerTextPadding_56c7fc1c{padding-left:24px}html[dir=ltr] .innerTextPadding_56c7fc1c .innerText_56c7fc1c>span,html[dir=ltr] .innerTextPadding_56c7fc1c span{padding-right:4px}html[dir=rtl] .innerTextPadding_56c7fc1c .innerText_56c7fc1c>span,html[dir=rtl] .innerTextPadding_56c7fc1c span{padding-left:4px}.multiline_56c7fc1c>.content_56c7fc1c>.actionables_56c7fc1c{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.singleline_56c7fc1c .content_56c7fc1c .icon_56c7fc1c{-webkit-box-align:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center}.singleline_56c7fc1c .content_56c7fc1c .actionables_56c7fc1c>.text_56c7fc1c{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center}.singleline_56c7fc1c .content_56c7fc1c .actionables_56c7fc1c>.text_56c7fc1c .innerTextPadding_56c7fc1c,.singleline_56c7fc1c .content_56c7fc1c .actionables_56c7fc1c>.text_56c7fc1c .innerText_56c7fc1c{max-height:1.3em;line-height:1.3em;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.singleline_56c7fc1c .content_56c7fc1c>.actionables_56c7fc1c{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.root_56c7fc1c .ms-Icon--Cancel{font-size:14px}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/MessageBar/MessageBar.scss.ts","export * from './components/MarqueeSelection/MarqueeSelection';\r\nexport * from './components/MarqueeSelection/MarqueeSelection.Props';\r\nexport * from './utilities/selection/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/MarqueeSelection.ts","import * as React from 'react';\r\nimport {\r\n AutoScroll,\r\n BaseComponent,\r\n IPoint,\r\n IRectangle,\r\n autobind,\r\n css,\r\n findScrollableParent,\r\n getDistanceBetweenPoints,\r\n getRTL\r\n} from '../../Utilities';\r\nimport { IMarqueeSelectionProps } from './MarqueeSelection.Props';\r\nimport * as stylesImport from './MarqueeSelection.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IMarqueeSelectionState {\r\n dragOrigin?: IPoint;\r\n dragRect?: IRectangle;\r\n}\r\n\r\n// We want to make the marquee selection start when the user drags a minimum distance. Otherwise we'd start\r\n// the drag even if they just click an item without moving.\r\nconst MIN_DRAG_DISTANCE = 5;\r\n\r\n/**\r\n * MarqueeSelection component abstracts managing a draggable rectangle which sets items selected/not selected.\r\n * Elements which have data-selectable-index attributes are queried and measured once to determine if they\r\n * fall within the bounds of the rectangle. The measure is memoized during the drag as a performance optimization\r\n * so if the items change sizes while dragging, that could cause incorrect results.\r\n */\r\nexport class MarqueeSelection extends BaseComponent<IMarqueeSelectionProps, IMarqueeSelectionState> {\r\n public static defaultProps = {\r\n rootTagName: 'div',\r\n rootProps: {},\r\n isEnabled: true\r\n };\r\n\r\n public refs: {\r\n [key: string]: React.ReactInstance;\r\n root: HTMLElement;\r\n };\r\n\r\n private _dragOrigin: IPoint;\r\n private _rootRect: IRectangle;\r\n private _lastMouseEvent: MouseEvent;\r\n private _autoScroll: AutoScroll;\r\n private _selectedIndicies: { [key: string]: boolean };\r\n private _itemRectCache: { [key: string]: IRectangle };\r\n private _scrollableParent: HTMLElement;\r\n private _scrollableSurface: HTMLElement;\r\n private _scrollTop: number;\r\n\r\n constructor(props: IMarqueeSelectionProps) {\r\n super(props);\r\n\r\n this.state = {\r\n dragRect: undefined\r\n };\r\n }\r\n\r\n public componentDidMount() {\r\n this._scrollableParent = findScrollableParent(this.refs.root);\r\n this._scrollableSurface = this._scrollableParent === window as any ? document.body : this._scrollableParent;\r\n // When scroll events come from window, we need to read scrollTop values from the body.\r\n\r\n this._events.on(\r\n this.props.isDraggingConstrainedToRoot ? this.refs.root : this._scrollableSurface,\r\n 'mousedown',\r\n this._onMouseDown);\r\n }\r\n\r\n public componentWillUnmount() {\r\n if (this._autoScroll) {\r\n this._autoScroll.dispose();\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n let { rootProps, children } = this.props;\r\n let { dragRect } = this.state;\r\n\r\n return (\r\n <div\r\n { ...rootProps }\r\n className={ css('ms-MarqueeSelection', styles.root, rootProps.className) }\r\n ref='root'\r\n >\r\n { children }\r\n { dragRect && (<div className={ css('ms-MarqueeSelection-dragMask', styles.dragMask) } />) }\r\n { dragRect && (\r\n <div className={ css('ms-MarqueeSelection-box', styles.box) } style={ dragRect }>\r\n <div className={ css('ms-MarqueeSelection-boxFill', styles.boxFill) } />\r\n </div>\r\n ) }\r\n </div>\r\n );\r\n }\r\n\r\n /** Determine if the mouse event occured on a scrollbar of the target element. */\r\n private _isMouseEventOnScrollbar(ev: MouseEvent) {\r\n let targetElement = ev.target as HTMLElement;\r\n let targetScrollbarWidth = (targetElement.offsetWidth - targetElement.clientWidth);\r\n\r\n if (targetScrollbarWidth) {\r\n let targetRect = targetElement.getBoundingClientRect();\r\n\r\n // Check vertical scroll\r\n if (getRTL()) {\r\n if (ev.clientX < (targetRect.left + targetScrollbarWidth)) {\r\n return true;\r\n }\r\n } else {\r\n if (ev.clientX > (targetRect.left + targetElement.clientWidth)) {\r\n return true;\r\n }\r\n }\r\n\r\n // Check horizontal scroll\r\n if (ev.clientY > (targetRect.top + targetElement.clientHeight)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n @autobind\r\n private _onMouseDown(ev: MouseEvent) {\r\n let { isEnabled, onShouldStartSelection } = this.props;\r\n\r\n // Ensure the mousedown is within the boundaries of the target. If not, it may have been a click on a scrollbar.\r\n if (this._isMouseEventOnScrollbar(ev)) {\r\n return;\r\n }\r\n\r\n if (isEnabled && !this._isDragStartInSelection(ev) && (!onShouldStartSelection || onShouldStartSelection(ev))) {\r\n if (this._scrollableSurface && ev.button === 0) {\r\n this._selectedIndicies = {};\r\n this._events.on(window, 'mousemove', this._onMouseMove);\r\n this._events.on(this._scrollableParent, 'scroll', this._onMouseMove);\r\n this._events.on(window, 'click', this._onMouseUp, true);\r\n\r\n this._autoScroll = new AutoScroll(this.refs.root);\r\n this._scrollTop = this._scrollableSurface.scrollTop;\r\n this._rootRect = this.refs.root.getBoundingClientRect();\r\n }\r\n }\r\n }\r\n\r\n private _getRootRect(): IRectangle {\r\n return {\r\n left: this._rootRect.left,\r\n top: this._rootRect.top + (this._scrollTop - this._scrollableSurface.scrollTop),\r\n width: this._rootRect.width,\r\n height: this._rootRect.height\r\n };\r\n }\r\n\r\n private _onMouseMove(ev: MouseEvent) {\r\n if (ev.clientX !== undefined) {\r\n this._lastMouseEvent = ev;\r\n }\r\n\r\n let rootRect = this._getRootRect();\r\n let currentPoint = { x: ev.clientX - rootRect.left, y: ev.clientY - rootRect.top };\r\n\r\n if (!this._dragOrigin) {\r\n this._dragOrigin = currentPoint;\r\n }\r\n\r\n if (ev.buttons !== undefined && ev.buttons === 0) {\r\n this._onMouseUp(ev);\r\n } else {\r\n if (this.state.dragRect || getDistanceBetweenPoints(this._dragOrigin, currentPoint) > MIN_DRAG_DISTANCE) {\r\n // We need to constrain the current point to the rootRect boundaries.\r\n let constrainedPoint = this.props.isDraggingConstrainedToRoot ? {\r\n x: Math.max(0, Math.min(rootRect.width, this._lastMouseEvent.clientX - rootRect.left)),\r\n y: Math.max(0, Math.min(rootRect.height, this._lastMouseEvent.clientY - rootRect.top))\r\n } : {\r\n x: this._lastMouseEvent.clientX - rootRect.left,\r\n y: this._lastMouseEvent.clientY - rootRect.top\r\n };\r\n\r\n let dragRect = {\r\n left: Math.min(this._dragOrigin.x, constrainedPoint.x),\r\n top: Math.min(this._dragOrigin.y, constrainedPoint.y),\r\n width: Math.abs(constrainedPoint.x - this._dragOrigin.x),\r\n height: Math.abs(constrainedPoint.y - this._dragOrigin.y)\r\n };\r\n\r\n this.setState({ dragRect });\r\n this._evaluateSelection(dragRect);\r\n }\r\n }\r\n\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n\r\n return false;\r\n }\r\n\r\n private _onMouseUp(ev: MouseEvent) {\r\n this._events.off(window);\r\n this._events.off(this._scrollableParent, 'scroll');\r\n\r\n this._autoScroll.dispose();\r\n this._autoScroll = this._dragOrigin = this._lastMouseEvent = this._selectedIndicies = this._itemRectCache = undefined;\r\n\r\n if (this.state.dragRect) {\r\n\r\n this.setState({\r\n dragRect: undefined\r\n });\r\n\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n }\r\n\r\n private _isPointInRectangle(rectangle: IRectangle, point: IPoint): boolean {\r\n return rectangle.top < point.y &&\r\n rectangle.bottom > point.y &&\r\n rectangle.left < point.x &&\r\n rectangle.right > point.x;\r\n }\r\n\r\n /**\r\n * We do not want to start the marquee if we're trying to marquee\r\n * from within an existing marquee selection.\r\n */\r\n private _isDragStartInSelection(ev: MouseEvent): boolean {\r\n const selection = this.props.selection;\r\n if (selection && selection.getSelectedCount() === 0) {\r\n return false;\r\n }\r\n\r\n const allElements = this.refs.root.querySelectorAll('[data-selection-index]');\r\n for (let i = 0; i < allElements.length; i++) {\r\n const element = allElements[i];\r\n const index = Number(element.getAttribute('data-selection-index'));\r\n if (selection.isIndexSelected(index)) {\r\n const itemRect = element.getBoundingClientRect();\r\n if (this._isPointInRectangle(itemRect, { x: ev.x, y: ev.y })) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private _evaluateSelection(dragRect: IRectangle) {\r\n // Break early if we don't need to evaluate.\r\n if (!dragRect) {\r\n return;\r\n }\r\n\r\n let { selection } = this.props;\r\n let rootRect = this._getRootRect();\r\n let allElements = this.refs.root.querySelectorAll('[data-selection-index]');\r\n\r\n if (!this._itemRectCache) {\r\n this._itemRectCache = {};\r\n }\r\n\r\n // Stop change events, clear selection to re-populate.\r\n selection.setChangeEvents(false);\r\n selection.setAllSelected(false);\r\n\r\n for (let i = 0; i < allElements.length; i++) {\r\n let element = allElements[i];\r\n let index = element.getAttribute('data-selection-index');\r\n\r\n // Pull the memoized rectangle for the item, or the get the rect and memoize.\r\n let itemRect = this._itemRectCache[index];\r\n\r\n if (!itemRect) {\r\n itemRect = element.getBoundingClientRect();\r\n\r\n // Normalize the item rect to the dragRect coordinates.\r\n itemRect = {\r\n left: itemRect.left - rootRect.left,\r\n top: itemRect.top - rootRect.top,\r\n width: itemRect.width,\r\n height: itemRect.height,\r\n right: (itemRect.left - rootRect.left) + itemRect.width,\r\n bottom: (itemRect.top - rootRect.top) + itemRect.height\r\n };\r\n\r\n if (itemRect.width > 0 && itemRect.height > 0) {\r\n this._itemRectCache[index] = itemRect;\r\n }\r\n }\r\n\r\n if (\r\n itemRect.top < (dragRect.top + dragRect.height) &&\r\n itemRect.bottom > dragRect.top &&\r\n itemRect.left < (dragRect.left + dragRect.width) &&\r\n itemRect.right > dragRect.left\r\n ) {\r\n this._selectedIndicies[index] = true;\r\n } else {\r\n delete this._selectedIndicies[index];\r\n }\r\n }\r\n\r\n for (let index in this._selectedIndicies) {\r\n if (this._selectedIndicies.hasOwnProperty(index)) {\r\n selection.setIndexSelected(Number(index), true, false);\r\n }\r\n }\r\n\r\n selection.setChangeEvents(true);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/MarqueeSelection/MarqueeSelection.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_65d2317c',\r\n dragMask: 'dragMask_65d2317c',\r\n box: 'box_65d2317c',\r\n boxFill: 'boxFill_65d2317c',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_65d2317c{position:relative;cursor:default}.dragMask_65d2317c{position:absolute;background:rgba(255,0,0,0);left:0;top:0;right:0;bottom:0}.box_65d2317c{position:absolute;box-sizing:border-box;border:1px solid \"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";pointer-events:none}.boxFill_65d2317c{position:absolute;box-sizing:border-box;background-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";opacity:.1;left:0;top:0;right:0;bottom:0}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/MarqueeSelection/MarqueeSelection.scss.ts","export * from './components/Nav/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Nav.ts","export * from './Nav';\r\nexport * from './Nav.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Nav/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n css,\r\n getRTL\r\n} from '../../Utilities';\r\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\r\nimport { CommandButton } from '../../Button';\r\nimport { Icon } from '../../Icon';\r\nimport * as stylesImport from './Nav.scss';\r\nconst styles: any = stylesImport;\r\nimport { AnimationClassNames } from '../../Styling';\r\nimport {\r\n INav,\r\n INavProps,\r\n INavLinkGroup,\r\n INavLink\r\n} from './Nav.Props';\r\n\r\n// The number pixels per indentation level for Nav links.\r\nconst _indentationSize: number = 14;\r\n// Tne number of pixels of left margin when there is expand/collaps button\r\nconst _indentWithExpandButton: number = 28;\r\n// Tne number of pixels of left margin when there is expand/collaps button\r\nconst _indentNoExpandButton: number = 20;\r\n\r\n// global var used in _isLinkSelectedKey\r\nlet _urlResolver;\r\n\r\nexport interface INavState {\r\n isGroupCollapsed?: { [key: string]: boolean };\r\n isLinkExpandStateChanged?: boolean;\r\n selectedKey?: string;\r\n}\r\n\r\nexport class Nav extends BaseComponent<INavProps, INavState> implements INav {\r\n\r\n public static defaultProps: INavProps = {\r\n groups: null,\r\n onRenderLink: (link: INavLink) => (<span className={ css('ms-Nav-linkText', styles.linkText) }>{ link.name }</span>)\r\n };\r\n\r\n private _hasExpandButton: boolean;\r\n\r\n constructor(props: INavProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isGroupCollapsed: {},\r\n isLinkExpandStateChanged: false,\r\n selectedKey: props.initialSelectedKey || props.selectedKey,\r\n };\r\n this._hasExpandButton = false;\r\n }\r\n\r\n public render(): React.ReactElement<{}> {\r\n const { groups, className, isOnTop } = this.props;\r\n\r\n if (!groups) {\r\n return null;\r\n }\r\n\r\n // when this.props.groups[x].name is specified or Any of the link has child link, chevorn Expand/collaps button is shown,\r\n // different padding is needed. _hasExpandButton marks this condition.\r\n this._hasExpandButton = groups.some((group: INavLinkGroup, groupIndex: number) => {\r\n return !!group && !!group.name || group.links && group.links.some((link: INavLink, linkIndex: number) => {\r\n return !!link && !!link.links && link.links.length > 0;\r\n });\r\n });\r\n\r\n const groupElements: React.ReactElement<{}>[] = groups.map(\r\n (group: INavLinkGroup, groupIndex: number) => this._renderGroup(group, groupIndex));\r\n\r\n return (\r\n <FocusZone direction={ FocusZoneDirection.vertical }>\r\n <nav role='navigation'\r\n className={ css(\r\n 'ms-Nav',\r\n styles.root,\r\n className,\r\n isOnTop && css('is-onTop', styles.rootIsOnTop, AnimationClassNames.slideRightIn40)\r\n ) }>\r\n { groupElements }\r\n </nav>\r\n </FocusZone>\r\n );\r\n }\r\n\r\n public get selectedKey(): string {\r\n return this.state.selectedKey;\r\n }\r\n\r\n private _renderAnchorLink(link: INavLink, linkIndex: number, nestingLevel: number): React.ReactElement<{}> {\r\n // Determine the appropriate padding to add before this link.\r\n // In RTL, the \"before\" padding will go on the right instead of the left.\r\n const isRtl: boolean = getRTL();\r\n const paddingBefore: string = (_indentationSize * nestingLevel +\r\n (this._hasExpandButton ? _indentWithExpandButton : _indentNoExpandButton)).toString(10) + 'px';\r\n\r\n return (\r\n <a\r\n className={ css('ms-Nav-link', styles.link) }\r\n style={ { [isRtl ? 'paddingRight' : 'paddingLeft']: paddingBefore } }\r\n href={ link.url || 'javascript:' }\r\n onClick={ this._onNavAnchorLinkClicked.bind(this, link) }\r\n aria-label={ link.ariaLabel }\r\n title={ link.title || link.name }\r\n target={ link.target }\r\n >\r\n { link.iconClassName && (\r\n <Icon\r\n className={ css(link.iconClassName, styles.iconLink) }\r\n iconName='iconLink'\r\n />\r\n ) }\r\n { this.props.onRenderLink(link) }\r\n </a>\r\n );\r\n }\r\n\r\n private _renderButtonLink(link: INavLink, linkIndex: number) {\r\n return (\r\n <CommandButton\r\n className={ css('ms-Nav-link ms-Nav-linkButton', styles.link, {\r\n 'isOnExpanded': this._hasExpandButton,\r\n [styles.linkIsOnExpanded]: this._hasExpandButton\r\n }) }\r\n href={ link.url }\r\n iconProps={ { iconName: link.icon } }\r\n description={ link.title || link.name }\r\n onClick={ this._onNavButtonLinkClicked.bind(this, link) }>\r\n { link.name }\r\n </CommandButton>);\r\n }\r\n\r\n private _renderCompositeLink(link: INavLink, linkIndex: number, nestingLevel: number): React.ReactElement<{}> {\r\n const isLinkSelected: boolean = this._isLinkSelected(link);\r\n\r\n return (\r\n <div key={ link.key || linkIndex }\r\n className={ css('ms-Nav-compositeLink', styles.compositeLink, {\r\n ' is-expanded': link.isExpanded,\r\n 'is-selected': isLinkSelected,\r\n [styles.compositeLinkIsExpanded]: link.isExpanded,\r\n [styles.compositeLinkIsSelected]: isLinkSelected\r\n }) }>\r\n { (nestingLevel === 0 && link.links && link.links.length > 0 ?\r\n <button\r\n className={ css('ms-Nav-chevronButton ms-Nav-chevronButton--link', styles.chevronButton, styles.chevronButtonLink) }\r\n onClick={ this._onLinkExpandClicked.bind(this, link) }\r\n aria-label={ this.props.expandButtonAriaLabel }\r\n aria-expanded={ link.isExpanded ? 'true' : 'false' }\r\n >\r\n <Icon\r\n className={ css('ms-Nav-chevron', styles.chevronIcon, link.isExpanded) }\r\n iconName='chevronDown'\r\n />\r\n </button> : null\r\n ) }\r\n { !!link.onClick ? this._renderButtonLink(link, linkIndex) : this._renderAnchorLink(link, linkIndex, nestingLevel) }\r\n </div>\r\n );\r\n }\r\n\r\n private _renderLink(link: INavLink, linkIndex: number, nestingLevel: number): React.ReactElement<{}> {\r\n return (\r\n <li key={ link.key || linkIndex } role='listitem' className={ css(styles.navItem) }>\r\n { this._renderCompositeLink(link, linkIndex, nestingLevel) }\r\n { (link.isExpanded ? this._renderLinks(link.links, ++nestingLevel) : null) }\r\n </li>\r\n );\r\n }\r\n\r\n private _renderLinks(links: INavLink[], nestingLevel: number): React.ReactElement<{}> {\r\n if (!links || !links.length) {\r\n return null;\r\n }\r\n const linkElements: React.ReactElement<{}>[] = links.map(\r\n (link: INavLink, linkIndex: number) => this._renderLink(link, linkIndex, nestingLevel));\r\n\r\n return (\r\n <ul role='list' aria-label={ this.props.ariaLabel } className={ css(styles.navItems) }>\r\n { linkElements }\r\n </ul>\r\n );\r\n }\r\n\r\n private _renderGroup(group: INavLinkGroup, groupIndex: number): React.ReactElement<{}> {\r\n const isGroupExpanded: boolean = !this.state.isGroupCollapsed[group.name];\r\n\r\n return (\r\n <div key={ groupIndex } className={ css('ms-Nav-group', styles.group, {\r\n 'is-expanded': isGroupExpanded,\r\n [styles.groupIsExpanded]: isGroupExpanded\r\n }) }>\r\n { (group.name ?\r\n <button\r\n className={ css('ms-Nav-chevronButton ms-Nav-chevronButton--group ms-Nav-groupHeaderFontSize', styles.chevronButton, styles.chevronButtonIsGroup, styles.groupHeaderFontSize) }\r\n onClick={ this._onGroupHeaderClicked.bind(this, group.name) }\r\n >\r\n <Icon\r\n className={ css(\r\n 'ms-Nav-chevron',\r\n styles.chevronIcon,\r\n isGroupExpanded && styles.chevronIsExpanded\r\n ) }\r\n iconName='chevronDown'\r\n />\r\n { group.name }\r\n </button> : null)\r\n }\r\n <div className={ css('ms-Nav-groupContent', AnimationClassNames.slideDownIn20, styles.groupContent) }>\r\n { this._renderLinks(group.links, 0 /* nestingLevel */) }\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n private _onGroupHeaderClicked(groupKey: string, ev: React.MouseEvent<HTMLElement>): void {\r\n let { isGroupCollapsed } = this.state;\r\n\r\n isGroupCollapsed[groupKey] = !isGroupCollapsed[groupKey];\r\n this.setState({ isGroupCollapsed: isGroupCollapsed });\r\n\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n\r\n private _onLinkExpandClicked(link: INavLink, ev: React.MouseEvent<HTMLElement>): void {\r\n link.isExpanded = !link.isExpanded;\r\n this.setState({ isLinkExpandStateChanged: true });\r\n\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n\r\n private _onNavAnchorLinkClicked(link: INavLink, ev: React.MouseEvent<HTMLElement>): void {\r\n if (this.props.onLinkClick) {\r\n this.props.onLinkClick(ev, link);\r\n }\r\n\r\n this.setState({ selectedKey: link.key });\r\n }\r\n\r\n private _onNavButtonLinkClicked(link: INavLink, ev: React.MouseEvent<HTMLElement>): void {\r\n if (link.onClick) {\r\n link.onClick(ev, link);\r\n }\r\n\r\n this.setState({ selectedKey: link.key });\r\n }\r\n\r\n private _isLinkSelected(link: INavLink): boolean {\r\n // if caller passes in selectedKey, use it as first choice or\r\n // if current state.selectedKey (from addressbar) is match to the link\r\n if (this.props.selectedKey !== undefined) {\r\n return link.key === this.props.selectedKey;\r\n } else if (this.state.selectedKey !== undefined && link.key === this.state.selectedKey) {\r\n return true;\r\n }\r\n\r\n // resolve is not supported for ssr\r\n if (typeof (window) === 'undefined') {\r\n return false;\r\n }\r\n\r\n if (!link.url) {\r\n return false;\r\n }\r\n\r\n _urlResolver = _urlResolver || document.createElement('a');\r\n\r\n _urlResolver.href = link.url || '';\r\n const target: string = _urlResolver.href;\r\n\r\n if (location.href === target) {\r\n return true;\r\n }\r\n\r\n if (location.protocol + '//' + location.host + location.pathname === target) {\r\n return true;\r\n }\r\n\r\n if (location.hash) {\r\n // Match the hash to the url.\r\n if (location.hash === link.url) {\r\n return true;\r\n }\r\n\r\n // Match a rebased url. (e.g. #foo becomes http://hostname/foo)\r\n _urlResolver.href = location.hash.substring(1);\r\n\r\n return _urlResolver.href === target;\r\n }\r\n return false;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Nav/Nav.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_0f532585',\r\n rootIsOnTop: 'rootIsOnTop_0f532585',\r\n navItems: 'navItems_0f532585',\r\n navItem: 'navItem_0f532585',\r\n groupContent: 'groupContent_0f532585',\r\n group: 'group_0f532585',\r\n groupIsExpanded: 'groupIsExpanded_0f532585',\r\n icon: 'icon_0f532585',\r\n iconLink: 'iconLink_0f532585',\r\n chevronButton: 'chevronButton_0f532585',\r\n chevronButtonIsGroup: 'chevronButtonIsGroup_0f532585',\r\n chevronIcon: 'chevronIcon_0f532585',\r\n chevronIsExpanded: 'chevronIsExpanded_0f532585',\r\n linkText: 'linkText_0f532585',\r\n compositeLink: 'compositeLink_0f532585',\r\n chevronButtonLink: 'chevronButtonLink_0f532585',\r\n compositeLinkIsExpanded: 'compositeLinkIsExpanded_0f532585',\r\n compositeLinkIsSelected: 'compositeLinkIsSelected_0f532585',\r\n link: 'link_0f532585',\r\n groupHeaderFontSize: 'groupHeaderFontSize_0f532585',\r\n chevronButtonGroup: 'chevronButtonGroup_0f532585',\r\n linkIsOnExpanded: 'linkIsOnExpanded_0f532585',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_0f532585{overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.rootIsOnTop_0f532585{position:absolute}.navItems_0f532585{list-style-type:none}.navItems_0f532585,.navItems_0f532585>.navItem_0f532585{padding:0}.groupContent_0f532585{display:none;margin-bottom:40px}.group_0f532585.groupIsExpanded_0f532585 .groupContent_0f532585{display:block}.icon_0f532585{padding:0;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";background:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\";transition:-webkit-transform .1s linear;transition:transform .1s linear;transition:transform .1s linear,-webkit-transform .1s linear}[dir=ltr] .iconLink_0f532585{margin-right:4px}[dir=rtl] .iconLink_0f532585{margin-left:4px}.chevronButton_0f532585{display:block;font-weight:400;font-size:12px;line-height:36px;margin:5px 0;padding:0 20px 0 28px;background:0 0;border:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";background:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}html[dir=ltr] .chevronButton_0f532585{text-align:left}html[dir=rtl] .chevronButton_0f532585{text-align:right}html[dir=rtl] .chevronButton_0f532585{padding:0 28px 0 20px}.chevronButton_0f532585:visited{color:inherit}.chevronButton_0f532585:hover{color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";background:\"},{\"theme\":\"neutralLighterAlt\",\"defaultValue\":\"#f8f8f8\"},{\"rawString\":\"}.chevronButton_0f532585.chevronButtonIsGroup_0f532585{width:100%;height:36px;border-bottom:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}.chevronIcon_0f532585{position:absolute;height:36px;line-height:36px;font-size:12px;transition:-webkit-transform .1s linear;transition:transform .1s linear;transition:transform .1s linear,-webkit-transform .1s linear}[dir=ltr] .chevronIcon_0f532585{left:8px}[dir=rtl] .chevronIcon_0f532585{right:8px}.chevronIsExpanded_0f532585{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.linkText_0f532585{vertical-align:middle}.compositeLink_0f532585{display:block;position:relative;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";background:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.compositeLink_0f532585 .chevronButton_0f532585.chevronButtonLink_0f532585{display:block;width:26px;height:34px;position:absolute;top:1px;z-index:1;padding:0;margin:0}[dir=ltr] .compositeLink_0f532585 .chevronButton_0f532585.chevronButtonLink_0f532585{left:1px}[dir=rtl] .compositeLink_0f532585 .chevronButton_0f532585.chevronButtonLink_0f532585{right:1px}.compositeLink_0f532585 .chevronButton_0f532585.chevronButtonLink_0f532585 .chevronIcon_0f532585{top:0}.compositeLink_0f532585 a{color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\"}.compositeLink_0f532585:hover .chevronButton_0f532585,.compositeLink_0f532585:hover a{background:\"},{\"theme\":\"neutralLighterAlt\",\"defaultValue\":\"#f8f8f8\"},{\"rawString\":\";color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\"}.compositeLink_0f532585.compositeLinkIsExpanded_0f532585 .chevronIcon_0f532585{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.compositeLink_0f532585.compositeLinkIsSelected_0f532585 .chevronButton_0f532585,.compositeLink_0f532585.compositeLinkIsSelected_0f532585 a{color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";background:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\"}.compositeLink_0f532585.compositeLinkIsSelected_0f532585 .chevronButton_0f532585:after,.compositeLink_0f532585.compositeLinkIsSelected_0f532585 a:after{content:'';position:absolute;top:0;bottom:0}html[dir=ltr] .compositeLink_0f532585.compositeLinkIsSelected_0f532585 .chevronButton_0f532585:after,html[dir=ltr] .compositeLink_0f532585.compositeLinkIsSelected_0f532585 a:after{border-left:2px solid \"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}html[dir=rtl] .compositeLink_0f532585.compositeLinkIsSelected_0f532585 .chevronButton_0f532585:after,html[dir=rtl] .compositeLink_0f532585.compositeLinkIsSelected_0f532585 a:after{border-right:2px solid \"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}[dir=ltr] .compositeLink_0f532585.compositeLinkIsSelected_0f532585 .chevronButton_0f532585:after,[dir=ltr] .compositeLink_0f532585.compositeLinkIsSelected_0f532585 a:after{right:0}[dir=rtl] .compositeLink_0f532585.compositeLinkIsSelected_0f532585 .chevronButton_0f532585:after,[dir=rtl] .compositeLink_0f532585.compositeLinkIsSelected_0f532585 a:after{left:0}[dir=ltr] .compositeLink_0f532585.compositeLinkIsSelected_0f532585 .chevronButton_0f532585:after,[dir=ltr] .compositeLink_0f532585.compositeLinkIsSelected_0f532585 a:after{left:0}[dir=rtl] .compositeLink_0f532585.compositeLinkIsSelected_0f532585 .chevronButton_0f532585:after,[dir=rtl] .compositeLink_0f532585.compositeLinkIsSelected_0f532585 a:after{right:0}.link_0f532585{display:block;position:relative;height:36px;line-height:36px;text-decoration:none;padding:0 20px;cursor:pointer;text-overflow:ellipsis;text-decoration:none;white-space:nowrap;overflow:hidden}.groupHeaderFontSize_0f532585{font-size:17px;font-weight:300}.chevronButtonGroup_0f532585::-moz-focus-inner,.chevronButtonLink_0f532585::-moz-focus-inner,.chevronButton_0f532585::-moz-focus-inner,.link_0f532585::-moz-focus-inner{border:0}.chevronButtonGroup_0f532585,.chevronButtonLink_0f532585,.chevronButton_0f532585,.link_0f532585{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .chevronButtonGroup_0f532585:focus:after,.ms-Fabric.is-focusVisible .chevronButtonLink_0f532585:focus:after,.ms-Fabric.is-focusVisible .chevronButton_0f532585:focus:after,.ms-Fabric.is-focusVisible .link_0f532585:focus:after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}[dir=ltr] .root_0f532585 .link_0f532585{padding-left:20px}[dir=rtl] .root_0f532585 .link_0f532585{padding-right:20px}.root_0f532585 .link_0f532585 .ms-Button-label{font-size:14px;font-weight:400;color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}[dir=ltr] .root_0f532585 .link_0f532585.linkIsOnExpanded_0f532585{padding-left:28px}[dir=rtl] .root_0f532585 .link_0f532585.linkIsOnExpanded_0f532585{padding-right:28px}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Nav/Nav.scss.ts","export * from './components/pickers/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Pickers.ts","export * from './Suggestions/Suggestions';\r\nexport * from './Suggestions/Suggestions.Props';\r\nexport * from './Suggestions/SuggestionsController';\r\nexport * from './AutoFill/BaseAutoFill';\r\nexport * from './AutoFill/BaseAutoFill.Props';\r\nexport * from './BasePicker';\r\nexport * from './BasePicker.Props';\r\nexport * from './PickerItem.Props';\r\nexport * from './PeoplePicker/PeoplePicker';\r\nexport * from './TagPicker/TagPicker';\r\nexport * from './TagPicker/TagItem';\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/pickers/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n css,\r\n assign\r\n} from '../../../Utilities';\r\nimport { CommandButton, IconButton, IButton } from '../../../Button';\r\nimport { Spinner } from '../../../Spinner';\r\nimport { ISuggestionItemProps, ISuggestionsProps } from './Suggestions.Props';\r\nimport * as stylesImport from './Suggestions.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport class SuggestionsItem<T> extends BaseComponent<ISuggestionItemProps<T>, {}> {\r\n public render() {\r\n let {\r\n suggestionModel,\r\n RenderSuggestion,\r\n onClick,\r\n className,\r\n onRemoveItem,\r\n showRemoveButton,\r\n id\r\n } = this.props;\r\n let itemProps = assign({}, suggestionModel.item, { onRemoveItem });\r\n return (\r\n <div\r\n className={ css(\r\n 'ms-Suggestions-item',\r\n styles.suggestionsItem,\r\n {\r\n ['is-suggested ' + styles.suggestionsItemIsSuggested]: suggestionModel.selected\r\n },\r\n className\r\n ) }\r\n >\r\n <CommandButton\r\n onClick={ onClick }\r\n className={ css('ms-Suggestions-itemButton', styles.itemButton) }\r\n >\r\n { RenderSuggestion(suggestionModel.item, this.props) }\r\n </CommandButton>\r\n { this.props.showRemoveButton ? (\r\n <IconButton\r\n iconProps={ { iconName: 'Cancel' } }\r\n title='Remove'\r\n ariaLabel='Remove'\r\n onClick={ onRemoveItem }\r\n className={ css('ms-Suggestions-closeButton', styles.closeButton) }\r\n />) : (null)\r\n }\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport class Suggestions<T> extends BaseComponent<ISuggestionsProps<T>, {}> {\r\n\r\n protected _searchForMoreButton: IButton;\r\n protected _selectedElement: HTMLDivElement;\r\n private SuggestionsItemOfProperType = SuggestionsItem as new (props: ISuggestionItemProps<T>) => SuggestionsItem<T>;\r\n\r\n constructor(suggestionsProps: ISuggestionsProps<T>) {\r\n super(suggestionsProps);\r\n this._getMoreResults = this._getMoreResults.bind(this);\r\n }\r\n\r\n public componentDidUpdate() {\r\n this.scrollSelected();\r\n }\r\n\r\n public render() {\r\n let {\r\n suggestionsHeaderText,\r\n mostRecentlyUsedHeaderText,\r\n searchForMoreText,\r\n className,\r\n moreSuggestionsAvailable,\r\n noResultsFoundText,\r\n suggestions,\r\n isLoading,\r\n isSearching,\r\n loadingText,\r\n onRenderNoResultFound,\r\n searchingText,\r\n isMostRecentlyUsedVisible,\r\n resultsMaximumNumber,\r\n resultsFooterFull,\r\n resultsFooter,\r\n isResultsFooterVisible,\r\n showRemoveButtons,\r\n } = this.props;\r\n\r\n let noResults: () => JSX.Element = () => {\r\n return noResultsFoundText ?\r\n <div className={ css('ms-Suggestions-none', styles.suggestionsNone) }>\r\n { noResultsFoundText }\r\n </div> : null;\r\n };\r\n\r\n let headerText = isMostRecentlyUsedVisible && mostRecentlyUsedHeaderText ? mostRecentlyUsedHeaderText : null;\r\n let footerTitle = (suggestions.length >= resultsMaximumNumber) ? resultsFooterFull : resultsFooter;\r\n return (\r\n <div className={ css(\r\n 'ms-Suggestions',\r\n className ? className : '',\r\n styles.root) }>\r\n { headerText ?\r\n (<div className={ css('ms-Suggestions-title', styles.suggestionsTitle) }>\r\n { headerText }\r\n </div>) : (null) }\r\n { isLoading && (\r\n <Spinner\r\n className={ css('ms-Suggestions-spinner', styles.suggestionsSpinner) }\r\n label={ loadingText }\r\n />) }\r\n { (!suggestions || !suggestions.length) && !isLoading ?\r\n (onRenderNoResultFound ? onRenderNoResultFound(null, noResults) : noResults()) :\r\n this._renderSuggestions()\r\n }\r\n { searchForMoreText && moreSuggestionsAvailable && (\r\n <CommandButton\r\n componentRef={ this._resolveRef('_searchForMoreButton') }\r\n className={ css('ms-SearchMore-button', styles.searchMoreButton) }\r\n iconProps={ { iconName: 'Search' } }\r\n onClick={ this._getMoreResults.bind(this) }\r\n >\r\n { searchForMoreText }\r\n </CommandButton>\r\n ) }\r\n { isSearching ?\r\n (<Spinner\r\n className={ css('ms-Suggestions-spinner', styles.suggestionsSpinner) }\r\n label={ searchingText }\r\n />) : (null)\r\n }\r\n {\r\n !moreSuggestionsAvailable && !isMostRecentlyUsedVisible && !isSearching ?\r\n (<div className={ css('ms-Suggestions-title', styles.suggestionsTitle) }>\r\n { footerTitle(this.props) }\r\n </div>) : (null)\r\n }\r\n </div>\r\n );\r\n }\r\n\r\n public focusSearchForMoreButton() {\r\n if (this._searchForMoreButton) {\r\n this._searchForMoreButton.focus();\r\n }\r\n }\r\n\r\n // TODO get the element to scroll into view properly regardless of direction.\r\n public scrollSelected() {\r\n if (this._selectedElement) {\r\n this._selectedElement.scrollIntoView(false);\r\n }\r\n }\r\n\r\n private _renderSuggestions(): JSX.Element {\r\n let {\r\n suggestions,\r\n onRenderSuggestion,\r\n suggestionsItemClassName,\r\n resultsMaximumNumber,\r\n showRemoveButtons } = this.props;\r\n let TypedSuggestionsItem = this.SuggestionsItemOfProperType;\r\n\r\n if (resultsMaximumNumber) {\r\n suggestions = suggestions.slice(0, resultsMaximumNumber);\r\n }\r\n\r\n return (\r\n <div\r\n className={ css('ms-Suggestions-container', styles.suggestionsContainer) }\r\n id='suggestion-list'\r\n role='menu'>\r\n { suggestions.map((suggestion, index) =>\r\n <div ref={ this._resolveRef(suggestion.selected ? '_selectedElement' : '') }\r\n key={ index }\r\n id={ 'sug-' + index }\r\n role='menuitem'>\r\n <TypedSuggestionsItem\r\n id={ 'sug-item' + index }\r\n suggestionModel={ suggestion }\r\n RenderSuggestion={ onRenderSuggestion }\r\n onClick={ (ev: React.MouseEvent<HTMLElement>) => { this.props.onSuggestionClick(ev, suggestion.item, index); } }\r\n className={ suggestionsItemClassName }\r\n showRemoveButton={ showRemoveButtons }\r\n onRemoveItem={ (ev: React.MouseEvent<HTMLElement>) => {\r\n this.props.onSuggestionRemove(ev, suggestion.item, index);\r\n ev.stopPropagation();\r\n }\r\n }\r\n />\r\n </div>) }\r\n </div>);\r\n }\r\n\r\n private _getMoreResults() {\r\n if (this.props.onGetMoreResults) {\r\n this.props.onGetMoreResults();\r\n }\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/pickers/Suggestions/Suggestions.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_bc3cce41',\r\n suggestionsItem: 'suggestionsItem_bc3cce41',\r\n suggestionsItemIsSuggested: 'suggestionsItemIsSuggested_bc3cce41',\r\n closeButton: 'closeButton_bc3cce41',\r\n searchMoreButton: 'searchMoreButton_bc3cce41',\r\n suggestionsTitle: 'suggestionsTitle_bc3cce41',\r\n suggestionsContainer: 'suggestionsContainer_bc3cce41',\r\n suggestionsNone: 'suggestionsNone_bc3cce41',\r\n suggestionsSpinner: 'suggestionsSpinner_bc3cce41',\r\n itemButton: 'itemButton_bc3cce41',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_bc3cce41{min-width:260px}.suggestionsItem_bc3cce41{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;box-sizing:border-box;width:100%;position:relative}.suggestionsItem_bc3cce41:hover{background:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}.suggestionsItem_bc3cce41.suggestionsItemIsSuggested_bc3cce41{background:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}.suggestionsItem_bc3cce41.suggestionsItemIsSuggested_bc3cce41:hover{background:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}.suggestionsItem_bc3cce41.suggestionsItemIsSuggested_bc3cce41 .closeButton_bc3cce41:hover{background:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\";color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}.searchMoreButton_bc3cce41{background:0 0;border:0;cursor:pointer;margin:0;position:relative;border-top:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\";height:40px;width:100%}[dir=ltr] .searchMoreButton_bc3cce41{padding-left:8px}[dir=rtl] .searchMoreButton_bc3cce41{padding-right:8px}[dir=ltr] .searchMoreButton_bc3cce41{text-align:left}[dir=rtl] .searchMoreButton_bc3cce41{text-align:right}.searchMoreButton_bc3cce41:hover{background-color:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\";cursor:pointer}.searchMoreButton_bc3cce41:active,.searchMoreButton_bc3cce41:focus{background-color:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\"}.searchMoreButton_bc3cce41 .ms-Button-icon{font-size:16px;width:25px}.searchMoreButton_bc3cce41 .ms-Button-label{margin:0 4px 0 9px}html[dir=rtl] .searchMoreButton_bc3cce41 .ms-Button-label{margin:0 9px 0 4px}.suggestionsTitle_bc3cce41{padding:0 12px;color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";font-size:12px;text-transform:uppercase;line-height:40px;border-bottom:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}.suggestionsContainer_bc3cce41{overflow-y:auto;overflow-x:hidden;max-height:300px;border-bottom:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}.suggestionsNone_bc3cce41{text-align:center;color:\"},{\"theme\":\"info\",\"defaultValue\":\"#767676\"},{\"rawString\":\";font-size:12px;line-height:30px}.suggestionsSpinner_bc3cce41{margin:5px 0;white-space:nowrap;line-height:20px}html[dir=ltr] .suggestionsSpinner_bc3cce41{padding-left:14px}html[dir=rtl] .suggestionsSpinner_bc3cce41{padding-right:14px}html[dir=ltr] .suggestionsSpinner_bc3cce41{text-align:left}html[dir=rtl] .suggestionsSpinner_bc3cce41{text-align:right}.suggestionsSpinner_bc3cce41 .ms-Spinner-circle{display:inline-block;vertical-align:middle}.suggestionsSpinner_bc3cce41 .ms-Spinner-label{display:inline-block;margin:0 10px 0 16px;vertical-align:middle}html[dir=rtl] .suggestionsSpinner_bc3cce41 .ms-Spinner-label{margin:0 16px 0 10px}.itemButton_bc3cce41{height:100%;width:100%;padding:7px 12px}.closeButton_bc3cce41{padding:0 4px;height:auto;width:32px}.closeButton_bc3cce41:hover{background:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\";color:\"},{\"theme\":\"neutralDark\",\"defaultValue\":\"#212121\"},{\"rawString\":\"}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/pickers/Suggestions/Suggestions.scss.ts","export interface ISuggestionModel<T> {\r\n item: T;\r\n selected: boolean;\r\n}\r\n\r\nexport class SuggestionsController<T> {\r\n public currentIndex: number;\r\n public currentSuggestion: ISuggestionModel<T>;\r\n private suggestions: ISuggestionModel<T>[];\r\n constructor() {\r\n this.suggestions = [];\r\n this.currentIndex = -1;\r\n }\r\n\r\n public updateSuggestions(newSuggestions: T[], selectedIndex?: number) {\r\n if (newSuggestions && newSuggestions.length > 0) {\r\n this.suggestions = this._convertSuggestionsToSuggestionItems(newSuggestions);\r\n this.currentIndex = 0;\r\n if (selectedIndex !== undefined) {\r\n this.suggestions[selectedIndex].selected = true;\r\n this.currentSuggestion = this.suggestions[selectedIndex];\r\n }\r\n } else {\r\n this.suggestions = [];\r\n this.currentIndex = -1;\r\n this.currentSuggestion = undefined;\r\n }\r\n }\r\n\r\n /**\r\n * Increments the suggestion index and gets the next suggestion in the list.\r\n */\r\n public nextSuggestion(): boolean {\r\n if (this.suggestions && this.suggestions.length) {\r\n if (this.currentIndex < (this.suggestions.length - 1)) {\r\n this._setSelectedSuggestion(this.currentIndex + 1);\r\n return true;\r\n } else if (this.currentIndex === (this.suggestions.length - 1)) {\r\n this._setSelectedSuggestion(0);\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Decrements the suggestion index and gets the previous suggestion in the list.\r\n */\r\n public previousSuggestion(): boolean {\r\n if (this.suggestions && this.suggestions.length) {\r\n if (this.currentIndex > 0) {\r\n this._setSelectedSuggestion(this.currentIndex - 1);\r\n return true;\r\n } else if (this.currentIndex === 0) {\r\n this._setSelectedSuggestion(this.suggestions.length - 1);\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public getSuggestions(): ISuggestionModel<T>[] {\r\n return this.suggestions;\r\n }\r\n\r\n public getCurrentItem(): ISuggestionModel<T> {\r\n return this.currentSuggestion;\r\n }\r\n\r\n public getSuggestionAtIndex(index: number): ISuggestionModel<T> {\r\n return this.suggestions[index];\r\n }\r\n\r\n public hasSelectedSuggestion(): boolean {\r\n return this.currentSuggestion ? true : false;\r\n }\r\n\r\n public removeSuggestion(index: number) {\r\n this.suggestions.splice(index, 1);\r\n }\r\n\r\n private _convertSuggestionsToSuggestionItems(suggestions: any[]): ISuggestionModel<T>[] {\r\n let converted: ISuggestionModel<T>[] = [];\r\n suggestions.forEach((suggestion: any) => converted.push({ item: suggestion, selected: false }));\r\n return converted;\r\n }\r\n\r\n private _setSelectedSuggestion(index: number): void {\r\n if (index > this.suggestions.length - 1 || index < 0) {\r\n this.currentIndex = 0;\r\n this.currentSuggestion.selected = false;\r\n this.currentSuggestion = this.suggestions[0];\r\n this.currentSuggestion.selected = true;\r\n } else {\r\n if (this.currentIndex > -1) {\r\n this.suggestions[this.currentIndex].selected = false;\r\n }\r\n this.suggestions[index].selected = true;\r\n this.currentIndex = index;\r\n this.currentSuggestion = this.suggestions[index];\r\n }\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/pickers/Suggestions/SuggestionsController.ts","import * as React from 'react';\r\nimport { IBaseAutoFillProps, IBaseAutoFill } from './BaseAutoFill.Props';\r\nimport {\r\n BaseComponent,\r\n KeyCodes,\r\n autobind,\r\n getNativeProps,\r\n inputProperties\r\n} from '../../../Utilities';\r\n\r\nexport interface IBaseAutoFillState {\r\n displayValue?: string;\r\n}\r\n\r\nconst SELECTION_FORWARD = 'forward';\r\nconst SELECTION_BACKWARD = 'backward';\r\n\r\nexport class BaseAutoFill extends BaseComponent<IBaseAutoFillProps, IBaseAutoFillState> implements IBaseAutoFill {\r\n\r\n public static defaultProps = {\r\n enableAutoFillOnKeyPress: [KeyCodes.down, KeyCodes.up]\r\n };\r\n\r\n private _inputElement: HTMLInputElement;\r\n private _autoFillEnabled: boolean = true;\r\n private _value: string;\r\n\r\n constructor(props: IBaseAutoFillProps) {\r\n super(props);\r\n this._value = '';\r\n this.state = {\r\n displayValue: ''\r\n };\r\n }\r\n\r\n public get cursorLocation(): number {\r\n if (this._inputElement) {\r\n let inputElement = this._inputElement;\r\n if (inputElement.selectionDirection !== SELECTION_FORWARD) {\r\n return inputElement.selectionEnd;\r\n } else {\r\n return inputElement.selectionStart;\r\n }\r\n } else {\r\n return -1;\r\n }\r\n }\r\n\r\n public get isValueSelected(): boolean {\r\n return this.inputElement.selectionStart !== this.inputElement.selectionEnd;\r\n }\r\n\r\n public get value(): string {\r\n return this._value;\r\n }\r\n\r\n public get selectionStart(): number {\r\n return this._inputElement ? this._inputElement.selectionStart : -1;\r\n }\r\n\r\n public get selectionEnd(): number {\r\n return this._inputElement ? this._inputElement.selectionEnd : -1;\r\n }\r\n\r\n public get inputElement(): HTMLInputElement {\r\n return this._inputElement;\r\n }\r\n\r\n public componentWillReceiveProps(nextProps: IBaseAutoFillProps) {\r\n if (this._autoFillEnabled && this._doesTextStartWith(nextProps.suggestedDisplayValue, this._value)) {\r\n this.setState({ displayValue: nextProps.suggestedDisplayValue });\r\n }\r\n }\r\n\r\n public componentDidUpdate() {\r\n let value = this._value;\r\n let { suggestedDisplayValue } = this.props;\r\n let differenceIndex = 0;\r\n if (this._autoFillEnabled && value && suggestedDisplayValue && this._doesTextStartWith(suggestedDisplayValue, value)) {\r\n while (differenceIndex < value.length && value[differenceIndex].toLocaleLowerCase() === suggestedDisplayValue[differenceIndex].toLocaleLowerCase()) {\r\n differenceIndex++;\r\n }\r\n if (differenceIndex > 0) {\r\n this._inputElement.setSelectionRange(differenceIndex, suggestedDisplayValue.length, SELECTION_BACKWARD);\r\n }\r\n }\r\n }\r\n\r\n public render() {\r\n let {\r\n displayValue\r\n } = this.state;\r\n\r\n const nativeProps = getNativeProps(this.props, inputProperties);\r\n return <input { ...nativeProps}\r\n ref={ this._resolveRef('_inputElement') }\r\n value={ displayValue }\r\n autoCapitalize={ 'off' }\r\n autoComplete={ 'off' }\r\n onChange={ this._onChange }\r\n onKeyDown={ this._onKeyDown }\r\n onClick={ this._onClick }\r\n />;\r\n }\r\n\r\n public focus() {\r\n this._inputElement.focus();\r\n }\r\n\r\n public clear() {\r\n this._autoFillEnabled = true;\r\n this._updateValue('');\r\n this._inputElement.setSelectionRange(0, 0);\r\n }\r\n\r\n @autobind\r\n private _onClick() {\r\n if (this._value && this._value !== '' && this._autoFillEnabled) {\r\n this._autoFillEnabled = false;\r\n }\r\n }\r\n\r\n @autobind\r\n private _onKeyDown(ev: React.KeyboardEvent<HTMLElement>) {\r\n switch (ev.which) {\r\n case KeyCodes.backspace:\r\n this._autoFillEnabled = false;\r\n break;\r\n case KeyCodes.left:\r\n if (this._autoFillEnabled) {\r\n this._autoFillEnabled = false;\r\n }\r\n break;\r\n case KeyCodes.right:\r\n if (this._autoFillEnabled) {\r\n this._autoFillEnabled = false;\r\n }\r\n break;\r\n default:\r\n if (!this._autoFillEnabled) {\r\n if (this.props.enableAutoFillOnKeyPress.indexOf(ev.which) !== -1) {\r\n this._autoFillEnabled = true;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n\r\n @autobind\r\n private _onChange(ev: React.FormEvent<HTMLElement>) {\r\n let value: string = (ev.target as HTMLInputElement).value;\r\n if (value && (ev.target as HTMLInputElement).selectionStart === value.length && !this._autoFillEnabled && value.length > this._value.length) {\r\n this._autoFillEnabled = true;\r\n }\r\n this._updateValue(value);\r\n }\r\n\r\n private _notifyInputChange(newValue: string) {\r\n if (this.props.onInputValueChange) {\r\n this.props.onInputValueChange(newValue);\r\n }\r\n }\r\n\r\n private _updateValue(newValue: string) {\r\n this._value = newValue;\r\n let displayValue = newValue;\r\n if (this.props.suggestedDisplayValue &&\r\n this._doesTextStartWith(this.props.suggestedDisplayValue, displayValue)\r\n && this._autoFillEnabled) {\r\n displayValue = this.props.suggestedDisplayValue;\r\n }\r\n this.setState({\r\n displayValue: newValue\r\n }, () => this._notifyInputChange(newValue));\r\n }\r\n\r\n private _doesTextStartWith(text: string, startWith: string) {\r\n if (!text || !startWith) {\r\n return false;\r\n }\r\n return text.toLocaleLowerCase().indexOf(startWith.toLocaleLowerCase()) === 0;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/pickers/AutoFill/BaseAutoFill.tsx","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n KeyCodes,\r\n autobind,\r\n css,\r\n getRTL\r\n} from '../../Utilities';\r\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\r\nimport { Callout, DirectionalHint } from '../../Callout';\r\nimport { Selection, SelectionZone, SelectionMode } from '../../utilities/selection/index';\r\nimport { Suggestions } from './Suggestions/Suggestions';\r\nimport { ISuggestionsProps } from './Suggestions/Suggestions.Props';\r\nimport { SuggestionsController } from './Suggestions/SuggestionsController';\r\nimport { IBasePickerProps } from './BasePicker.Props';\r\nimport { BaseAutoFill } from './AutoFill/BaseAutoFill';\r\nimport { IPickerItemProps } from './PickerItem.Props';\r\nimport { IPersonaProps } from '../Persona/Persona.Props';\r\nimport * as stylesImport from './BasePicker.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IBasePickerState {\r\n items?: any;\r\n suggestedDisplayValue?: string;\r\n moreSuggestionsAvailable?: boolean;\r\n isSearching?: boolean;\r\n isMostRecentlyUsedVisible?: boolean;\r\n suggestionsVisible?: boolean;\r\n suggestionsLoading?: boolean;\r\n isResultsFooterVisible?: boolean;\r\n}\r\n\r\nexport class BasePicker<T, P extends IBasePickerProps<T>> extends BaseComponent<P, IBasePickerState> {\r\n\r\n protected selection: Selection;\r\n\r\n protected root: HTMLElement;\r\n protected input: BaseAutoFill;\r\n protected focusZone: FocusZone;\r\n protected suggestionElement: Suggestions<T>;\r\n\r\n protected suggestionStore: SuggestionsController<T>;\r\n protected SuggestionOfProperType = Suggestions as new (props: ISuggestionsProps<T>) => Suggestions<T>;\r\n protected loadingTimer: number;\r\n protected currentPromise: PromiseLike<any>;\r\n\r\n constructor(basePickerProps: P) {\r\n super(basePickerProps);\r\n\r\n let items: T[] = basePickerProps.defaultSelectedItems || [];\r\n\r\n this.suggestionStore = new SuggestionsController<T>();\r\n this.selection = new Selection({ onSelectionChanged: () => this.onSelectionChange() });\r\n this.selection.setItems(items);\r\n this.state = {\r\n items: items,\r\n suggestedDisplayValue: '',\r\n isMostRecentlyUsedVisible: false,\r\n moreSuggestionsAvailable: false,\r\n isSearching: false\r\n };\r\n }\r\n\r\n public get items(): T[] {\r\n return this.state.items;\r\n }\r\n\r\n public componentWillUpdate(newProps: P, newState: IBasePickerState) {\r\n if (newState.items && newState.items !== this.state.items) {\r\n this.selection.setItems(newState.items);\r\n }\r\n }\r\n\r\n public componentDidMount() {\r\n this.selection.setItems(this.state.items);\r\n }\r\n\r\n public focus() {\r\n this.focusZone.focus();\r\n }\r\n\r\n @autobind\r\n public dismissSuggestions() {\r\n this.setState({ suggestionsVisible: false });\r\n }\r\n\r\n public completeSuggestion() {\r\n if (this.suggestionStore.hasSelectedSuggestion()) {\r\n this.addItem(this.suggestionStore.currentSuggestion.item);\r\n this.updateValue('');\r\n this.input.clear();\r\n }\r\n }\r\n\r\n public render() {\r\n let { suggestedDisplayValue } = this.state;\r\n let {\r\n className,\r\n inputProps,\r\n disabled\r\n } = this.props;\r\n return (\r\n <div\r\n ref={ this._resolveRef('root') }\r\n className={ css(\r\n 'ms-BasePicker',\r\n className ? className : '') }\r\n onKeyDown={ this.onKeyDown }>\r\n <FocusZone\r\n ref={ this._resolveRef('focusZone') }\r\n direction={ FocusZoneDirection.horizontal }>\r\n <SelectionZone selection={ this.selection } selectionMode={ SelectionMode.multiple }>\r\n <div className={ css('ms-BasePicker-text', styles.pickerText) }>\r\n { this.renderItems() }\r\n <BaseAutoFill\r\n { ...inputProps as any }\r\n className={ css('ms-BasePicker-input', styles.pickerInput) }\r\n ref={ this._resolveRef('input') }\r\n onFocus={ this.onInputFocus }\r\n onInputValueChange={ this.onInputChange }\r\n suggestedDisplayValue={ suggestedDisplayValue }\r\n aria-activedescendant={ 'sug-' + this.suggestionStore.currentIndex }\r\n aria-owns='suggestion-list'\r\n aria-expanded='true'\r\n aria-haspopup='true'\r\n autoCapitalize='off'\r\n autoComplete='off'\r\n role='combobox'\r\n disabled={ disabled }\r\n />\r\n </div>\r\n </SelectionZone>\r\n </FocusZone>\r\n { this.renderSuggestions() }\r\n </div>\r\n );\r\n }\r\n\r\n protected renderSuggestions(): JSX.Element {\r\n let TypedSuggestion = this.SuggestionOfProperType;\r\n return this.state.suggestionsVisible ? (\r\n <Callout\r\n isBeakVisible={ false }\r\n gapSpace={ 0 }\r\n targetElement={ this.input.inputElement }\r\n onDismiss={ this.dismissSuggestions }\r\n directionalHint={ getRTL() ? DirectionalHint.bottomRightEdge : DirectionalHint.bottomLeftEdge }>\r\n <TypedSuggestion\r\n onRenderSuggestion={ this.props.onRenderSuggestionsItem }\r\n onSuggestionClick={ this.onSuggestionClick }\r\n onSuggestionRemove={ this.onSuggestionRemove }\r\n suggestions={ this.suggestionStore.getSuggestions() }\r\n ref={ this._resolveRef('suggestionElement') }\r\n onGetMoreResults={ this.onGetMoreResults }\r\n moreSuggestionsAvailable={ this.state.moreSuggestionsAvailable }\r\n isLoading={ this.state.suggestionsLoading }\r\n isSearching={ this.state.isSearching }\r\n isMostRecentlyUsedVisible={ this.state.isMostRecentlyUsedVisible }\r\n isResultsFooterVisible={ this.state.isResultsFooterVisible }\r\n { ...this.props.pickerSuggestionsProps as any }\r\n />\r\n </Callout>\r\n ) : (null);\r\n }\r\n\r\n protected renderItems(): JSX.Element[] {\r\n let { onRenderItem } = this.props;\r\n let { items } = this.state;\r\n return items.map((item, index) => onRenderItem({\r\n item,\r\n index,\r\n key: index + this._getTextFromItem(item),\r\n selected: this.selection.isIndexSelected(index),\r\n onRemoveItem: () => this.removeItem(item),\r\n onItemChange: this.onItemChange\r\n }));\r\n }\r\n\r\n protected resetFocus(index: number) {\r\n let { items } = this.state;\r\n\r\n if (items.length) {\r\n let newEl: HTMLElement = this.root.querySelectorAll('[data-selection-index]')[Math.min(index, items.length - 1)] as HTMLElement;\r\n\r\n if (newEl) {\r\n this.focusZone.focusElement(newEl);\r\n }\r\n } else {\r\n this.input.focus();\r\n }\r\n }\r\n\r\n protected onSuggestionSelect() {\r\n if (this.suggestionStore.currentSuggestion) {\r\n let currentValue: string = this.input.value;\r\n let itemValue: string = this._getTextFromItem(this.suggestionStore.currentSuggestion.item, currentValue);\r\n this.setState({ suggestedDisplayValue: itemValue });\r\n }\r\n }\r\n\r\n protected onSelectionChange() {\r\n this.forceUpdate();\r\n }\r\n\r\n protected updateSuggestions(suggestions: any[]) {\r\n this.suggestionStore.updateSuggestions(suggestions, 0);\r\n this.forceUpdate();\r\n }\r\n\r\n protected onEmptyInputFocus() {\r\n let suggestions: T[] | PromiseLike<T[]> = this.props.onEmptyInputFocus(this.state.items);\r\n this.updateSuggestionsList(suggestions);\r\n }\r\n\r\n protected updateValue(updatedValue: string) {\r\n let suggestions: T[] | PromiseLike<T[]> = this.props.onResolveSuggestions(updatedValue, this.state.items);\r\n this.updateSuggestionsList(suggestions, updatedValue);\r\n }\r\n\r\n protected updateSuggestionsList(suggestions: T[] | PromiseLike<T[]>, updatedValue?: string) {\r\n let suggestionsArray: T[] = suggestions as T[];\r\n let suggestionsPromiseLike: PromiseLike<T[]> = suggestions as PromiseLike<T[]>;\r\n\r\n // Check to see if the returned value is an array, if it is then just pass it into the next function.\r\n // If the returned value is not an array then check to see if it's a promise or PromiseLike. If it is then resolve it asynchronously.\r\n if (Array.isArray(suggestionsArray)) {\r\n if (updatedValue !== undefined) {\r\n this.resolveNewValue(updatedValue, suggestionsArray);\r\n } else {\r\n this.suggestionStore.updateSuggestions(suggestionsArray);\r\n }\r\n } else if (suggestionsPromiseLike && suggestionsPromiseLike.then) {\r\n if (!this.loadingTimer) {\r\n this.loadingTimer = this._async.setTimeout(() => this.setState({\r\n suggestionsLoading: true\r\n }), 500);\r\n }\r\n\r\n // Clear suggestions\r\n this.suggestionStore.updateSuggestions([]);\r\n\r\n if (updatedValue !== undefined) {\r\n this.setState({\r\n suggestionsVisible: this.input.value !== '' && this.input.inputElement === document.activeElement\r\n });\r\n } else {\r\n this.setState({\r\n suggestionsVisible: this.input.inputElement === document.activeElement\r\n });\r\n }\r\n\r\n // Ensure that the promise will only use the callback if it was the most recent one.\r\n let promise: PromiseLike<T[]> = this.currentPromise = suggestionsPromiseLike;\r\n promise.then((newSuggestions: T[]) => {\r\n if (promise === this.currentPromise) {\r\n if (updatedValue !== undefined) {\r\n this.resolveNewValue(updatedValue, newSuggestions);\r\n } else {\r\n this.suggestionStore.updateSuggestions(newSuggestions);\r\n this.setState({\r\n suggestionsLoading: false\r\n });\r\n }\r\n if (this.loadingTimer) {\r\n this._async.clearTimeout(this.loadingTimer);\r\n this.loadingTimer = undefined;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n protected resolveNewValue(updatedValue: string, suggestions: T[]) {\r\n this.suggestionStore.updateSuggestions(suggestions, 0);\r\n let itemValue: string = undefined;\r\n\r\n if (this.suggestionStore.currentSuggestion) {\r\n itemValue = this._getTextFromItem(this.suggestionStore.currentSuggestion.item, updatedValue);\r\n }\r\n\r\n this.setState({\r\n suggestionsLoading: false,\r\n suggestedDisplayValue: itemValue,\r\n suggestionsVisible: this.input.value !== '' && this.input.inputElement === document.activeElement\r\n });\r\n }\r\n\r\n protected onChange() {\r\n if (this.props.onChange) {\r\n this.props.onChange(this.state.items);\r\n }\r\n }\r\n\r\n @autobind\r\n protected onInputChange(value: string) {\r\n this.updateValue(value);\r\n this.setState({\r\n moreSuggestionsAvailable: true,\r\n isMostRecentlyUsedVisible: false\r\n });\r\n }\r\n\r\n @autobind\r\n protected onSuggestionClick(ev: React.MouseEvent<HTMLElement>, item: any, index: number) {\r\n this.addItemByIndex(index);\r\n }\r\n\r\n @autobind\r\n protected onSuggestionRemove(ev: React.MouseEvent<HTMLElement>, item: IPersonaProps, index: number) {\r\n if (this.props.onRemoveSuggestion) {\r\n this.props.onRemoveSuggestion(item);\r\n }\r\n this.suggestionStore.removeSuggestion(index);\r\n }\r\n\r\n @autobind\r\n protected onInputFocus(ev: React.FocusEvent<HTMLInputElement | BaseAutoFill>) {\r\n this.selection.setAllSelected(false);\r\n if (this.input.value === '' && this.props.onEmptyInputFocus) {\r\n this.onEmptyInputFocus();\r\n this.setState({\r\n isMostRecentlyUsedVisible: true,\r\n moreSuggestionsAvailable: false,\r\n suggestionsVisible: true\r\n });\r\n } else if (this.input.value) {\r\n this.setState({\r\n isMostRecentlyUsedVisible: false,\r\n suggestionsVisible: true\r\n });\r\n }\r\n }\r\n\r\n @autobind\r\n protected onKeyDown(ev: React.KeyboardEvent<HTMLElement>) {\r\n let value = this.input.value;\r\n switch (ev.which) {\r\n case KeyCodes.escape:\r\n if (this.state.suggestionsVisible) {\r\n this.dismissSuggestions();\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n break;\r\n\r\n case KeyCodes.tab:\r\n case KeyCodes.enter:\r\n if (!ev.shiftKey && this.suggestionStore.hasSelectedSuggestion() && this.state.suggestionsVisible) {\r\n this.completeSuggestion();\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n\r\n break;\r\n\r\n case KeyCodes.backspace:\r\n this.onBackspace(ev);\r\n break;\r\n\r\n case KeyCodes.del:\r\n if (ev.target === this.input.inputElement && this.state.suggestionsVisible && this.suggestionStore.currentIndex !== -1) {\r\n if (this.props.onRemoveSuggestion) {\r\n this.props.onRemoveSuggestion(this.suggestionStore.currentSuggestion.item);\r\n }\r\n this.suggestionStore.removeSuggestion(this.suggestionStore.currentIndex);\r\n this.forceUpdate();\r\n }\r\n break;\r\n\r\n case KeyCodes.up:\r\n if (ev.target === this.input.inputElement && this.suggestionStore.previousSuggestion() && this.state.suggestionsVisible) {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n this.onSuggestionSelect();\r\n }\r\n break;\r\n\r\n case KeyCodes.down:\r\n if (ev.target === this.input.inputElement && this.state.suggestionsVisible) {\r\n if (this.suggestionStore.nextSuggestion()) {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n this.onSuggestionSelect();\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n\r\n @autobind\r\n protected onItemChange(changedItem: T, index: number) {\r\n let { items } = this.state;\r\n\r\n if (index >= 0) {\r\n let newItems: T[] = items;\r\n newItems[index] = changedItem;\r\n\r\n this.setState({ items: newItems }, () => this.onChange());\r\n }\r\n }\r\n\r\n @autobind\r\n protected onGetMoreResults() {\r\n this.setState({\r\n isSearching: true\r\n }, () => {\r\n if (this.props.onGetMoreResults) {\r\n let suggestions: T[] | PromiseLike<T[]> = this.props.onGetMoreResults(this.input.value, this.state.items);\r\n let suggestionsArray: T[] = suggestions as T[];\r\n let suggestionsPromiseLike: PromiseLike<T[]> = suggestions as PromiseLike<T[]>;\r\n\r\n if (Array.isArray(suggestionsArray)) {\r\n this.updateSuggestions(suggestionsArray);\r\n this.setState({ isSearching: false });\r\n } else if (suggestionsPromiseLike.then) {\r\n suggestionsPromiseLike.then((newSuggestions: T[]) => {\r\n this.updateSuggestions(newSuggestions);\r\n this.setState({ isSearching: false });\r\n });\r\n }\r\n } else {\r\n this.setState({ isSearching: false });\r\n }\r\n this.input.focus();\r\n this.setState({\r\n moreSuggestionsAvailable: false,\r\n isResultsFooterVisible: true\r\n });\r\n });\r\n }\r\n\r\n @autobind\r\n protected addItemByIndex(index: number): void {\r\n this.addItem(this.suggestionStore.getSuggestionAtIndex(index).item);\r\n this.input.clear();\r\n this.updateValue('');\r\n }\r\n\r\n @autobind\r\n protected addItem(item: T) {\r\n let newItems: T[] = this.state.items.concat([item]);\r\n this.setState({ items: newItems }, () => this.onChange());\r\n }\r\n\r\n @autobind\r\n protected removeItem(item: IPickerItemProps<T>) {\r\n let { items } = this.state;\r\n let index: number = items.indexOf(item);\r\n\r\n if (index >= 0) {\r\n let newItems: T[] = items.slice(0, index).concat(items.slice(index + 1));\r\n this.setState({ items: newItems }, () => this.onChange());\r\n }\r\n }\r\n\r\n @autobind\r\n protected removeItems(itemsToRemove: any[]) {\r\n let { items } = this.state;\r\n let newItems: T[] = items.filter(item => itemsToRemove.indexOf(item) === -1);\r\n let firstItemToRemove = this.selection.getSelection()[0];\r\n let index: number = items.indexOf(firstItemToRemove);\r\n\r\n this.setState({ items: newItems }, () => {\r\n this.resetFocus(index);\r\n this.onChange();\r\n });\r\n }\r\n\r\n // This is protected because we may expect the backspace key to work differently in a different kind of picker.\r\n // This lets the subclass override it and provide it's own onBackspace. For an example see the BasePickerListBelow\r\n protected onBackspace(ev: React.KeyboardEvent<HTMLElement>) {\r\n if (this.state.items.length && !this.input.isValueSelected && this.input.cursorLocation === 0) {\r\n if (this.selection.getSelectedCount() > 0) {\r\n this.removeItems(this.selection.getSelection());\r\n } else {\r\n this.removeItem(this.state.items[this.state.items.length - 1]);\r\n }\r\n }\r\n }\r\n\r\n private _getTextFromItem(item: T, currentValue?: string): string {\r\n if (this.props.getTextFromItem) {\r\n return this.props.getTextFromItem(item, currentValue);\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class BasePickerListBelow<T, P extends IBasePickerProps<T>> extends BasePicker<T, P> {\r\n public render() {\r\n let { suggestedDisplayValue } = this.state;\r\n let {\r\n className,\r\n inputProps,\r\n disabled\r\n } = this.props;\r\n\r\n return (\r\n <div>\r\n <div ref={ this._resolveRef('root') }\r\n className={ css('ms-BasePicker', className ? className : '') }\r\n onKeyDown={ this.onKeyDown }>\r\n <SelectionZone selection={ this.selection }\r\n selectionMode={ SelectionMode.multiple }>\r\n <div className={ css('ms-BasePicker-text', styles.pickerText) }>\r\n <BaseAutoFill\r\n { ...inputProps as any }\r\n className={ css('ms-BasePicker-input', styles.pickerInput) }\r\n ref={ this._resolveRef('input') }\r\n onFocus={ this.onInputFocus }\r\n onInputValueChange={ this.onInputChange }\r\n suggestedDisplayValue={ suggestedDisplayValue }\r\n aria-activedescendant={ 'sug-' + this.suggestionStore.currentIndex }\r\n aria-owns='suggestion-list'\r\n aria-expanded='true'\r\n aria-haspopup='true'\r\n autoCapitalize='off'\r\n autoComplete='off'\r\n role='combobox'\r\n disabled={ disabled }\r\n />\r\n </div>\r\n </SelectionZone>\r\n </div>\r\n { this.renderSuggestions() }\r\n <FocusZone ref={ this._resolveRef('focusZone') }\r\n className='ms-BasePicker-selectedItems'\r\n isInnerZoneKeystroke={ this._isFocusZoneInnerKeystroke } >\r\n { this.renderItems() }\r\n </FocusZone>\r\n\r\n </div>\r\n );\r\n }\r\n\r\n protected onBackspace(ev: React.KeyboardEvent<HTMLElement>) {\r\n // override the existing backspace method to not do anything because the list items appear below.\r\n }\r\n\r\n @autobind\r\n private _isFocusZoneInnerKeystroke(ev: React.KeyboardEvent<HTMLElement>): boolean {\r\n switch (ev.which) {\r\n case KeyCodes.down:\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/pickers/BasePicker.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n pickerText: 'pickerText_f28c4353',\r\n inputFocused: 'inputFocused_f28c4353',\r\n pickerInput: 'pickerInput_f28c4353',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".pickerText_f28c4353{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;box-sizing:border-box;border:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\";min-width:180px;padding:1px;min-height:32px}.pickerText_f28c4353:hover{border-color:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\"}.pickerText_f28c4353.inputFocused_f28c4353{border-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.pickerInput_f28c4353{height:26px;border:none;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;outline:0;padding:0 6px 0;margin:1px}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/pickers/BasePicker.scss.ts","/* tslint:disable */\r\nimport * as React from 'react';\r\n/* tslint:enable */\r\nimport { BasePicker, BasePickerListBelow } from '../BasePicker';\r\nimport { IBasePickerProps } from '../BasePicker.Props';\r\nimport { SelectedItemDefault } from './PeoplePickerItems/SelectedItemDefault';\r\nimport { IPersonaProps } from '../../../Persona';\r\nimport { SuggestionItemSmall, SuggestionItemNormal } from './PeoplePickerItems/SuggestionItemDefault';\r\nimport './PeoplePicker.scss';\r\n\r\nexport interface IPeoplePickerProps extends IBasePickerProps<IPersonaProps> {\r\n}\r\n\r\nexport class BasePeoplePicker extends BasePicker<IPersonaProps, IPeoplePickerProps> {\r\n}\r\n\r\nexport class MemberListPeoplePicker extends BasePickerListBelow<IPersonaProps, IPeoplePickerProps> {\r\n}\r\n\r\n/**\r\n * Standard People Picker.\r\n */\r\nexport class NormalPeoplePicker extends BasePeoplePicker {\r\n public static defaultProps = {\r\n onRenderItem: (props) => <SelectedItemDefault {...props} />,\r\n onRenderSuggestionsItem: (props, itemProps?) => SuggestionItemNormal({ ...props }, { ...itemProps })\r\n };\r\n}\r\n\r\n/**\r\n* Compact layout. It uses small personas when displaying search results.\r\n*/\r\nexport class CompactPeoplePicker extends BasePeoplePicker {\r\n public static defaultProps = {\r\n onRenderItem: (props) => <SelectedItemDefault {...props} />,\r\n onRenderSuggestionsItem: (props, itemProps?) => SuggestionItemSmall({ ...props }, { ...itemProps })\r\n };\r\n}\r\n\r\n/**\r\n * MemberList layout. The selected people show up below the search box.\r\n */\r\nexport class ListPeoplePicker extends MemberListPeoplePicker {\r\n public static defaultProps = {\r\n onRenderItem: (props) => <SelectedItemDefault {...props} />,\r\n onRenderSuggestionsItem: (props, itemProps?) => SuggestionItemNormal({ ...props }, { ...itemProps })\r\n };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/pickers/PeoplePicker/PeoplePicker.tsx","/* tslint:disable */\r\nimport * as React from 'react';\r\n/* tslint:enable */\r\nimport { css } from '../../../../Utilities';\r\nimport { Persona, PersonaSize, PersonaPresence } from '../../../../Persona';\r\nimport { IPeoplePickerItemProps } from './PeoplePickerItem.Props';\r\nimport { IconButton } from '../../../../Button';\r\nimport * as stylesImport from './PickerItemsDefault.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport const SelectedItemDefault: (props: IPeoplePickerItemProps) => JSX.Element = (peoplePickerItemProps: IPeoplePickerItemProps) => {\r\n let {\r\n item,\r\n onRemoveItem,\r\n index,\r\n selected\r\n } = peoplePickerItemProps;\r\n return (\r\n <div\r\n className={ css('ms-PickerPersona-container', styles.personaContainer, {\r\n ['is-selected ' + styles.personaContainerIsSelected]: selected\r\n }) }\r\n data-is-focusable={ true }\r\n data-selection-index={ index } >\r\n <div className={ css('ms-PickerItem-content', styles.itemContent) } >\r\n <Persona\r\n { ...item }\r\n presence={ item.presence !== undefined ? item.presence : PersonaPresence.none }\r\n size={ PersonaSize.size28 }\r\n />\r\n </div>\r\n <IconButton\r\n onClick={ () => { if (onRemoveItem) { onRemoveItem(); } } }\r\n iconProps={ { iconName: 'Cancel' } }\r\n className={ css('ms-PickerItem-removeButton', styles.removeButton) }\r\n data-is-focusable={ false }\r\n />\r\n </div >\r\n );\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../../../src/components/pickers/PeoplePicker/PeoplePickerItems/SelectedItemDefault.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n personaContainer: 'personaContainer_96a1c5bb',\r\n removeButton: 'removeButton_96a1c5bb',\r\n personaContainerIsSelected: 'personaContainerIsSelected_96a1c5bb',\r\n itemContent: 'itemContent_96a1c5bb',\r\n personaDetails: 'personaDetails_96a1c5bb',\r\n itemContainer: 'itemContainer_96a1c5bb',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".personaContainer_96a1c5bb{border-radius:15px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\";margin:1px;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:180px}.personaContainer_96a1c5bb::-moz-focus-inner{border:0}.personaContainer_96a1c5bb{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .personaContainer_96a1c5bb:focus:after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}.personaContainer_96a1c5bb:hover{background:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}.personaContainer_96a1c5bb:hover .removeButton_96a1c5bb{color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\"}.personaContainer_96a1c5bb.personaContainerIsSelected_96a1c5bb{background:\"},{\"theme\":\"blue\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.personaContainer_96a1c5bb.personaContainerIsSelected_96a1c5bb .ms-Persona-primaryText{color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.personaContainer_96a1c5bb.personaContainerIsSelected_96a1c5bb .removeButton_96a1c5bb .ms-Button-icon{color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.personaContainer_96a1c5bb.personaContainerIsSelected_96a1c5bb .removeButton_96a1c5bb:hover{color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";background:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\"}.personaContainer_96a1c5bb .itemContent_96a1c5bb{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;min-width:0;max-width:100%;overflow-x:hidden}.personaContainer_96a1c5bb .removeButton_96a1c5bb{border-radius:15px;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:28px;height:28px;-ms-flex-preferred-size:28px;flex-basis:28px}.personaContainer_96a1c5bb .removeButton_96a1c5bb:hover{background:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\";color:\"},{\"theme\":\"neutralDark\",\"defaultValue\":\"#212121\"},{\"rawString\":\"}.personaContainer_96a1c5bb .personaDetails_96a1c5bb{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.itemContainer_96a1c5bb{display:inline-block;vertical-align:top}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../../../src/components/pickers/PeoplePicker/PeoplePickerItems/PickerItemsDefault.scss.ts","/* tslint:disable */\r\nimport * as React from 'react';\r\n/* tslint:enable */\r\nimport { css } from '../../../../Utilities';\r\nimport { Persona, PersonaSize, IPersonaProps, PersonaPresence } from '../../../../Persona';\r\nimport { IBasePickerSuggestionsProps, ISuggestionItemProps } from 'office-ui-fabric-react/lib/Pickers';\r\nimport * as stylesImport from '../PeoplePicker.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport const SuggestionItemNormal: (persona: IPersonaProps, suggestionProps?: IBasePickerSuggestionsProps) => JSX.Element = (personaProps: IPersonaProps, suggestionItemProps?: ISuggestionItemProps<any>) => {\r\n let { onRemoveItem, onClick, showRemoveButton } = suggestionItemProps;\r\n return (\r\n <div className={ css('ms-PeoplePicker-personaContent', styles.peoplePickerPersonaContent) }>\r\n <Persona\r\n { ...personaProps }\r\n presence={ personaProps.presence !== undefined ? personaProps.presence : PersonaPresence.none }\r\n size={ PersonaSize.extraExtraSmall }\r\n className={ css('ms-PeoplePicker-Persona', styles.peoplePickerPersona) }\r\n showSecondaryText={ true }\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport const SuggestionItemSmall: (persona: IPersonaProps, suggestionProps?: IBasePickerSuggestionsProps) => JSX.Element = (personaProps: IPersonaProps, suggestionItemProps?: ISuggestionItemProps<any>) => {\r\n let { onRemoveItem, onClick } = suggestionItemProps;\r\n return (\r\n <div className={ css('ms-PeoplePicker-personaContent', styles.peoplePickerPersonaContent) }>\r\n <Persona\r\n { ...personaProps }\r\n presence={ personaProps.presence !== undefined ? personaProps.presence : PersonaPresence.none }\r\n size={ PersonaSize.extraExtraSmall }\r\n className={ css('ms-PeoplePicker-Persona', styles.peoplePickerPersona) }\r\n />\r\n </div>\r\n );\r\n};\n\n\n// WEBPACK FOOTER //\n// ../../../../../src/components/pickers/PeoplePicker/PeoplePickerItems/SuggestionItemDefault.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n resultContent: 'resultContent_bee420eb',\r\n resultItem: 'resultItem_bee420eb',\r\n peoplePickerPersona: 'peoplePickerPersona_bee420eb',\r\n peoplePicker: 'peoplePicker_bee420eb',\r\n peoplePickerPersonaContent: 'peoplePickerPersonaContent_bee420eb',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".resultContent_bee420eb{display:table-row}.resultContent_bee420eb .resultItem_bee420eb{display:table-cell;vertical-align:bottom}.peoplePickerPersona_bee420eb{width:180px}.peoplePickerPersona_bee420eb .ms-Persona-details{width:100%}.peoplePicker_bee420eb .ms-BasePicker-text{min-height:40px}.peoplePickerPersonaContent_bee420eb{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/pickers/PeoplePicker/PeoplePicker.scss.ts","/* tslint:disable */\r\nimport * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n css\r\n} from '../../../Utilities';\r\n/* tslint:enable */\r\nimport { BasePicker } from '../BasePicker';\r\nimport { IBasePickerProps } from '../BasePicker.Props';\r\nimport { TagItem } from './TagItem';\r\nimport * as stylesImport from './TagItem.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface ITag {\r\n key: string;\r\n name: string;\r\n}\r\n\r\nexport interface ITagPickerProps extends IBasePickerProps<ITag> {\r\n}\r\n\r\nexport class TagPicker extends BasePicker<ITag, ITagPickerProps> {\r\n protected static defaultProps = {\r\n onRenderItem: (props) => { return <TagItem { ...props }>{ props.item.name }</TagItem>; },\r\n onRenderSuggestionsItem: (props: ITag) => <div className={ css('ms-TagItem-TextOverflow', styles.tagItemTextOverflow) }> { props.name } </div>\r\n };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/pickers/TagPicker/TagPicker.tsx","/* tslint:disable */\r\nimport * as React from 'react';\r\n/* tslint:enable */\r\nimport { css } from '../../../Utilities';\r\nimport { Icon } from '../../../Icon';\r\nimport { IPickerItemProps } from '../PickerItem.Props';\r\nimport { ITag } from './TagPicker';\r\nimport * as stylesImport from './TagItem.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport const TagItem = (props: IPickerItemProps<ITag>) => (\r\n <div\r\n className={ css('ms-TagItem',\r\n styles.root,\r\n { 'is-selected': props.selected },\r\n props.selected && styles.isSelected) }\r\n key={ props.index }\r\n data-selection-index={ props.index }\r\n data-is-focusable={ true }>\r\n <span className={ css('ms-TagItem-text', styles.tagItemText) }>{ props.children }</span>\r\n <span className={ css('ms-TagItem-close', styles.tagItemClose) } onClick={ props.onRemoveItem }>\r\n <Icon iconName='cancel' />\r\n </span>\r\n </div>\r\n);\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/pickers/TagPicker/TagItem.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_df64cf87',\r\n isSelected: 'isSelected_df64cf87',\r\n tagItemText: 'tagItemText_df64cf87',\r\n tagItemClose: 'tagItemClose_df64cf87',\r\n tagItemButton: 'tagItemButton_df64cf87',\r\n tagItemTextOverflow: 'tagItemTextOverflow_df64cf87',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_df64cf87{-ms-flex-negative:1;flex-shrink:1;background:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\";margin:1px;height:26px;line-height:26px;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;min-width:100px;max-width:100%}.root_df64cf87::-moz-focus-inner{border:0}.root_df64cf87{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .root_df64cf87:focus:after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}.root_df64cf87:hover{background:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}.root_df64cf87.isSelected_df64cf87{background:\"},{\"theme\":\"neutralQuaternary\",\"defaultValue\":\"#d0d0d0\"},{\"rawString\":\"}.root_df64cf87.isSelected_df64cf87:hover{background:\"},{\"theme\":\"neutralQuaternaryAlt\",\"defaultValue\":\"#dadada\"},{\"rawString\":\"}.tagItemText_df64cf87{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:100px;margin:0 8px}.tagItemClose_df64cf87{cursor:pointer;color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\";font-size:12px;display:inline-block;text-align:center;vertical-align:top;width:30px;height:100%;-ms-flex-negative:0;flex-shrink:0}.tagItemButton_df64cf87{width:100%;height:100%}.tagItemTextOverflow_df64cf87{overflow:hidden;text-overflow:ellipsis;max-width:60vw}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../../src/components/pickers/TagPicker/TagItem.scss.ts","export * from './components/Pivot/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Pivot.ts","export * from './Pivot';\r\nexport { PivotItem as PivotItem } from './PivotItem';\r\nexport * from './Pivot.Props';\r\nexport * from './PivotItem.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Pivot/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n KeyCodes,\r\n css,\r\n getId,\r\n autobind\r\n} from '../../Utilities';\r\nimport { CommandButton } from '../../Button';\r\nimport { IPivotProps } from './Pivot.Props';\r\nimport { IPivotItemProps } from './PivotItem.Props';\r\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\r\nimport { PivotItem } from './PivotItem';\r\nimport { PivotLinkFormat } from './Pivot.Props';\r\nimport { PivotLinkSize } from './Pivot.Props';\r\nimport { Icon } from '../../Icon';\r\nimport * as stylesImport from './Pivot.scss';\r\nconst styles: any = stylesImport;\r\n\r\n/**\r\n * Usage:\r\n *\r\n * <Pivot>\r\n * <PivotItem linkText=\"Foo\">\r\n * <Label>Pivot #1</Label>\r\n * </PivotItem>\r\n * <PivotItem linkText=\"Bar\">\r\n * <Label>Pivot #2</Label>\r\n * </PivotItem>\r\n * <PivotItem linkText=\"Bas\">\r\n * <Label>Pivot #3</Label>\r\n * </PivotItem>\r\n * </Pivot>\r\n */\r\n\r\nexport interface IPivotState {\r\n links: IPivotItemProps[];\r\n selectedKey: string;\r\n selectedTabId: string;\r\n}\r\n\r\nexport class Pivot extends BaseComponent<IPivotProps, IPivotState> {\r\n private _keyToIndexMapping: { [key: string]: number };\r\n private _keyToTabIds: { [key: string]: string };\r\n private _pivotId: string;\r\n\r\n constructor(props: IPivotProps) {\r\n super(props);\r\n this._pivotId = getId('Pivot');\r\n const links: IPivotItemProps[] = this._getPivotLinks(this.props);\r\n let selectedKey: string;\r\n\r\n if (props.initialSelectedKey) {\r\n selectedKey = props.initialSelectedKey;\r\n } else if (props.initialSelectedIndex) {\r\n selectedKey = links[props.initialSelectedIndex].itemKey;\r\n } else if (props.selectedKey) {\r\n selectedKey = props.selectedKey;\r\n } else if (links.length) {\r\n selectedKey = links[0].itemKey;\r\n }\r\n\r\n this.state = {\r\n links,\r\n selectedKey,\r\n selectedTabId: this._keyToTabIds[selectedKey],\r\n } as IPivotState;\r\n\r\n this._renderLink = this._renderLink.bind(this);\r\n }\r\n\r\n public componentWillReceiveProps(nextProps: IPivotProps) {\r\n const links: IPivotItemProps[] = this._getPivotLinks(nextProps);\r\n\r\n this.setState((prevState, props) => {\r\n let selectedKey: string;\r\n if (this._isKeyValid(nextProps.selectedKey)) {\r\n selectedKey = nextProps.selectedKey;\r\n } else if (this._isKeyValid(prevState.selectedKey)) {\r\n selectedKey = prevState.selectedKey;\r\n } else if (links.length) {\r\n selectedKey = links[0].itemKey;\r\n }\r\n\r\n return {\r\n links: links,\r\n selectedKey,\r\n selectedTabId: this._keyToTabIds[selectedKey],\r\n } as IPivotState;\r\n });\r\n }\r\n\r\n public render() {\r\n return (\r\n <div>\r\n { this._renderPivotLinks() }\r\n { this._renderPivotItem() }\r\n </div>\r\n );\r\n }\r\n\r\n /**\r\n * Renders the set of links to route between pivots\r\n */\r\n private _renderPivotLinks() {\r\n return (\r\n <FocusZone direction={ FocusZoneDirection.horizontal }>\r\n <ul className={ css('ms-Pivot', styles.root,\r\n { ['ms-Pivot--large ' + styles.rootIsLarge]: this.props.linkSize === PivotLinkSize.large },\r\n { ['ms-Pivot--tabs ' + styles.rootIsTabs]: this.props.linkFormat === PivotLinkFormat.tabs }) }\r\n role='tablist'>\r\n { this.state.links.map(this._renderLink) }\r\n </ul>\r\n </FocusZone>\r\n );\r\n }\r\n\r\n /**\r\n * Renders a pivot link\r\n */\r\n @autobind\r\n private _renderLink(link: IPivotItemProps) {\r\n const { itemKey } = link;\r\n const tabId = this._keyToTabIds[itemKey];\r\n const { onRenderItemLink } = link;\r\n let linkContent: JSX.Element | false;\r\n\r\n if (onRenderItemLink) {\r\n linkContent = onRenderItemLink(link, this._renderLinkContent);\r\n } else {\r\n linkContent = this._renderLinkContent(link);\r\n }\r\n\r\n return (\r\n <CommandButton\r\n id={ tabId }\r\n key={ itemKey }\r\n className={ css(\r\n 'ms-Pivot-link',\r\n styles.link,\r\n {\r\n ['is-selected ' + styles.linkIsSelected]: this.state.selectedKey === itemKey\r\n }\r\n ) }\r\n onClick={ this._onLinkClick.bind(this, itemKey) }\r\n onKeyPress={ this._onKeyPress.bind(this, itemKey) }\r\n ariaLabel={ link.ariaLabel }\r\n role='tab'\r\n aria-selected={ this.state.selectedKey === itemKey }>\r\n { linkContent }\r\n </CommandButton>\r\n );\r\n }\r\n\r\n @autobind\r\n private _renderLinkContent(link: IPivotItemProps): JSX.Element {\r\n const { itemCount, itemIcon, linkText } = link;\r\n\r\n return <span className={ css('ms-Pivot-link-content') }>\r\n { itemIcon !== undefined && (\r\n <span className={ css('ms-Pivot-icon', styles.icon) }>\r\n <Icon iconName={ itemIcon } />\r\n </span>\r\n ) }\r\n { linkText !== undefined && <span className={ css('ms-Pivot-text', styles.text) }> { link.linkText }</span> }\r\n { itemCount !== undefined && <span className={ css('ms-Pivot-count', styles.count) } > ({ itemCount })</span> }\r\n </span>;\r\n }\r\n\r\n /**\r\n * Renders the current Pivot Item\r\n */\r\n private _renderPivotItem() {\r\n if (this.props.headersOnly) {\r\n return null;\r\n }\r\n\r\n const itemKey: string = this.state.selectedKey;\r\n const index = this._keyToIndexMapping[itemKey];\r\n let { selectedTabId } = this.state;\r\n\r\n return (\r\n <div\r\n role='tabpanel'\r\n aria-labelledby={ selectedTabId }>\r\n { React.Children.toArray(this.props.children)[index] }\r\n </div>\r\n );\r\n }\r\n\r\n /**\r\n * Gets the set of PivotLinks as arrary of IPivotItemProps\r\n * The set of Links is determined by child components of type PivotItem\r\n */\r\n private _getPivotLinks(props: IPivotProps): IPivotItemProps[] {\r\n const links: IPivotItemProps[] = [];\r\n this._keyToIndexMapping = {};\r\n this._keyToTabIds = {};\r\n\r\n React.Children.map(props.children, (child: any, index: number) => {\r\n if (typeof child === 'object' && child.type === PivotItem) {\r\n const pivotItem = child as PivotItem;\r\n const itemKey = pivotItem.props.itemKey || index.toString();\r\n\r\n links.push({\r\n linkText: pivotItem.props.linkText,\r\n ariaLabel: pivotItem.props.ariaLabel,\r\n itemKey: itemKey,\r\n itemCount: pivotItem.props.itemCount,\r\n itemIcon: pivotItem.props.itemIcon,\r\n onRenderItemLink: pivotItem.props.onRenderItemLink\r\n });\r\n this._keyToIndexMapping[itemKey] = index;\r\n this._keyToTabIds[itemKey] = this.getTabId(itemKey, index);\r\n }\r\n });\r\n\r\n return links;\r\n }\r\n\r\n /**\r\n * Generates the Id for the tab button.\r\n */\r\n private getTabId(itemKey: string, index: number): string {\r\n if (this.props.getTabId) {\r\n return this.props.getTabId(itemKey, index);\r\n }\r\n\r\n return this._pivotId + `-Tab${index}`;\r\n }\r\n\r\n /**\r\n * whether the key exists in the pivot items.\r\n */\r\n private _isKeyValid(itemKey: string) {\r\n return itemKey !== undefined && this._keyToIndexMapping[itemKey] !== undefined;\r\n }\r\n\r\n /**\r\n * Handles the onClick event on PivotLinks\r\n */\r\n private _onLinkClick(itemKey: string, ev: React.MouseEvent<HTMLElement>) {\r\n ev.preventDefault();\r\n this._updateSelectedItem(itemKey, ev);\r\n }\r\n\r\n /**\r\n * Handle the onKeyPress eventon the PivotLinks\r\n */\r\n private _onKeyPress(itemKey: string, ev: React.KeyboardEvent<HTMLElement>) {\r\n ev.preventDefault();\r\n if (ev.which === KeyCodes.enter) {\r\n this._updateSelectedItem(itemKey);\r\n }\r\n }\r\n\r\n /**\r\n * Updates the state with the new selected index\r\n */\r\n private _updateSelectedItem(itemKey: string, ev?: React.MouseEvent<HTMLElement>) {\r\n this.setState({\r\n selectedKey: itemKey,\r\n selectedTabId: this._keyToTabIds[itemKey]\r\n } as IPivotState);\r\n\r\n if (this.props.onLinkClick && this._keyToIndexMapping[itemKey] >= 0) {\r\n const index = this._keyToIndexMapping[itemKey];\r\n\r\n // React.Element<any> cannot directly convert to PivotItem.\r\n const item = React.Children.toArray(this.props.children)[index] as any;\r\n\r\n if (typeof item === 'object' && item.type === PivotItem) {\r\n this.props.onLinkClick(item as PivotItem, ev);\r\n }\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Pivot/Pivot.tsx","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n getNativeProps,\r\n divProperties\r\n} from '../../Utilities';\r\nimport { IPivotItemProps } from './PivotItem.Props';\r\n\r\nexport class PivotItem extends BaseComponent<IPivotItemProps, {}> {\r\n\r\n public render() {\r\n return (\r\n <div\r\n { ...getNativeProps(this.props, divProperties) }>\r\n { this.props.children }\r\n </div>\r\n );\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Pivot/PivotItem.tsx","import * as React from 'react';\r\n\r\nimport { Pivot } from './Pivot';\r\nimport { PivotItem } from './PivotItem';\r\n\r\nexport interface IPivot {\r\n\r\n}\r\n\r\nexport interface IPivotProps extends React.Props<Pivot> {\r\n /**\r\n * Optional callback to access the IPivot interface. Use this instead of ref for accessing\r\n * the public methods and properties of the component.\r\n */\r\n componentRef?: (component: IPivot) => void;\r\n\r\n /**\r\n * The index of the pivot item initially selected.\r\n *\r\n * It only works when initialSelectedKey is not defined. You must not use them together.\r\n */\r\n initialSelectedIndex?: number;\r\n\r\n /**\r\n * The key of the pivot item initially selected.\r\n *\r\n * It will make initialSelectedIndex not work. You must not use them together.\r\n */\r\n initialSelectedKey?: string;\r\n\r\n /**\r\n * The key of the selected pivot item.\r\n *\r\n * If set, this will override the Pivot's selected item state.\r\n */\r\n selectedKey?: string;\r\n\r\n /**\r\n * Callback issued when the selected pivot item is changed\r\n */\r\n onLinkClick?: (item?: PivotItem, ev?: React.MouseEvent<HTMLElement>) => void;\r\n\r\n /**\r\n * Specify the PivotLinkSize to use (normal, large)\r\n */\r\n linkSize?: PivotLinkSize;\r\n\r\n /**\r\n * Specify the PivotLinkFormat to use (links, tabs)\r\n */\r\n linkFormat?: PivotLinkFormat;\r\n\r\n /**\r\n * Specify whether to skip rendering the tabpanel with the content of the selected tab.\r\n * Use this prop if you plan to separately render the tab content\r\n * and don't want to leave an empty tabpanel in the page that may confuse Screen Readers.\r\n */\r\n headersOnly?: boolean;\r\n\r\n /**\r\n * Optional. Specify how IDs are generated for each tab header.\r\n * Useful if you're rendering content outside and need to connect aria-labelledby.\r\n */\r\n getTabId?: (itemKey: string, index: number) => string;\r\n}\r\n\r\nexport enum PivotLinkFormat {\r\n /**\r\n * Display Pivot Links as links\r\n */\r\n links = 0,\r\n\r\n /**\r\n * Display Pivot Links as Tabs\r\n */\r\n tabs = 1\r\n}\r\n\r\nexport enum PivotLinkSize {\r\n\r\n /**\r\n * Display Link using normal font size\r\n */\r\n normal = 0,\r\n\r\n /**\r\n * Display links using large font size\r\n */\r\n large = 1\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Pivot/Pivot.Props.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_ca2b42d3',\r\n links: 'links_ca2b42d3',\r\n link: 'link_ca2b42d3',\r\n text: 'text_ca2b42d3',\r\n count: 'count_ca2b42d3',\r\n icon: 'icon_ca2b42d3',\r\n linkIsSelected: 'linkIsSelected_ca2b42d3',\r\n linkIsDisabled: 'linkIsDisabled_ca2b42d3',\r\n linkIsOverflow: 'linkIsOverflow_ca2b42d3',\r\n ellipsis: 'ellipsis_ca2b42d3',\r\n rootIsLarge: 'rootIsLarge_ca2b42d3',\r\n rootIsTabs: 'rootIsTabs_ca2b42d3',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_ca2b42d3{box-sizing:border-box;box-shadow:none;margin:0;padding:0;font-size:14px;font-weight:400;position:relative;color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";white-space:nowrap}.links_ca2b42d3{font-size:0;height:40px;list-style-type:none;padding:0;white-space:nowrap}.root_ca2b42d3 .link_ca2b42d3{color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";display:inline-block;font-size:14px;font-weight:400;line-height:40px;padding:0 8px;text-align:center;position:relative;background-color:transparent;border:0}[dir=ltr] .root_ca2b42d3 .link_ca2b42d3{margin-right:8px}[dir=rtl] .root_ca2b42d3 .link_ca2b42d3{margin-left:8px}.root_ca2b42d3 .link_ca2b42d3:hover{cursor:pointer}.root_ca2b42d3 .link_ca2b42d3:focus{outline:0}.root_ca2b42d3 .link_ca2b42d3::before{background-color:transparent;bottom:0;content:'';height:2px;left:8px;position:absolute;right:8px;transition:background-color 267ms cubic-bezier(.1,.25,.75,.9)}.root_ca2b42d3 .link_ca2b42d3::after{color:transparent;content:attr(title);display:block;font-weight:700;height:1px;overflow:hidden;visibility:hidden}.root_ca2b42d3 .link_ca2b42d3 .count_ca2b42d3,.root_ca2b42d3 .link_ca2b42d3 .text_ca2b42d3{display:inline-block;vertical-align:top}html[dir=ltr] .root_ca2b42d3 .link_ca2b42d3 .icon_ca2b42d3+.text_ca2b42d3{margin-left:4px}html[dir=rtl] .root_ca2b42d3 .link_ca2b42d3 .icon_ca2b42d3+.text_ca2b42d3{margin-right:4px}html[dir=ltr] .root_ca2b42d3 .link_ca2b42d3 .count_ca2b42d3{margin-left:4px}html[dir=rtl] .root_ca2b42d3 .link_ca2b42d3 .count_ca2b42d3{margin-right:4px}.root_ca2b42d3 .link_ca2b42d3.linkIsSelected_ca2b42d3{font-weight:600}.root_ca2b42d3 .link_ca2b42d3.linkIsSelected_ca2b42d3::before{background-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.root_ca2b42d3 .link_ca2b42d3.linkIsSelected_ca2b42d3::before{background-color:transparent;border-bottom:2px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.root_ca2b42d3 .link_ca2b42d3.linkIsSelected_ca2b42d3::before{background-color:transparent;border-bottom:2px solid \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}.root_ca2b42d3 .link_ca2b42d3.linkIsDisabled_ca2b42d3{color:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\"}.ms-Fabric.is-focusVisible .link_ca2b42d3:focus{outline:1px solid \"},{\"theme\":\"neutralSecondaryAlt\",\"defaultValue\":\"#767676\"},{\"rawString\":\"}.link_ca2b42d3.linkIsOverflow_ca2b42d3{color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}.link_ca2b42d3.linkIsOverflow_ca2b42d3.linkIsSelected_ca2b42d3{color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.link_ca2b42d3.linkIsOverflow_ca2b42d3:focus:not(.linkIsSelected_ca2b42d3),.link_ca2b42d3.linkIsOverflow_ca2b42d3:hover:not(.linkIsSelected_ca2b42d3){color:\"},{\"theme\":\"neutralDark\",\"defaultValue\":\"#212121\"},{\"rawString\":\"}.link_ca2b42d3.linkIsOverflow_ca2b42d3:active{color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.ellipsis_ca2b42d3{font-size:15px;position:relative;top:0}.root_ca2b42d3.rootIsLarge_ca2b42d3 .link_ca2b42d3{font-size:17px}.root_ca2b42d3.rootIsLarge_ca2b42d3 .link_ca2b42d3.linkIsOverflow_ca2b42d3::after{font-size:17px}.root_ca2b42d3.rootIsTabs_ca2b42d3 .link_ca2b42d3{height:40px;line-height:40px;background-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\";padding:0 10px;vertical-align:top}.root_ca2b42d3.rootIsTabs_ca2b42d3 .link_ca2b42d3::-moz-focus-inner{border:0}.root_ca2b42d3.rootIsTabs_ca2b42d3 .link_ca2b42d3{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .root_ca2b42d3.rootIsTabs_ca2b42d3 .link_ca2b42d3:focus:after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}[dir=ltr] .root_ca2b42d3.rootIsTabs_ca2b42d3 .link_ca2b42d3{margin-right:0}[dir=rtl] .root_ca2b42d3.rootIsTabs_ca2b42d3 .link_ca2b42d3{margin-left:0}.root_ca2b42d3.rootIsTabs_ca2b42d3 .link_ca2b42d3:focus:not(.linkIsSelected_ca2b42d3):not(.linkIsOverflow_ca2b42d3),.root_ca2b42d3.rootIsTabs_ca2b42d3 .link_ca2b42d3:hover:not(.linkIsSelected_ca2b42d3):not(.linkIsOverflow_ca2b42d3){color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}.root_ca2b42d3.rootIsTabs_ca2b42d3 .link_ca2b42d3:active{color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";background-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.root_ca2b42d3.rootIsTabs_ca2b42d3 .link_ca2b42d3.linkIsSelected_ca2b42d3{background-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";font-weight:300}.root_ca2b42d3.rootIsTabs_ca2b42d3 .link_ca2b42d3.linkIsSelected_ca2b42d3::before{background-color:transparent;transition:none;position:absolute;top:0;left:0;right:0;bottom:0;content:'';height:auto}@media screen and (-ms-high-contrast:active){.root_ca2b42d3.rootIsTabs_ca2b42d3 .link_ca2b42d3.linkIsSelected_ca2b42d3::before{border:1px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.root_ca2b42d3.rootIsTabs_ca2b42d3 .link_ca2b42d3.linkIsSelected_ca2b42d3::before{border:1px solid \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}.root_ca2b42d3.rootIsTabs_ca2b42d3 .link_ca2b42d3.linkIsOverflow_ca2b42d3:focus:not(.linkIsSelected_ca2b42d3),.root_ca2b42d3.rootIsTabs_ca2b42d3 .link_ca2b42d3.linkIsOverflow_ca2b42d3:hover:not(.linkIsSelected_ca2b42d3){background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.root_ca2b42d3.rootIsTabs_ca2b42d3 .link_ca2b42d3.linkIsOverflow_ca2b42d3:active{background-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.ms-Fabric.is-focusVisible .root_ca2b42d3.rootIsTabs_ca2b42d3 .link_ca2b42d3:focus:before{height:auto;background:0 0;transition:none}@media screen and (-ms-high-contrast:active){.root_ca2b42d3.rootIsTabs_ca2b42d3 .link_ca2b42d3.linkIsSelected_ca2b42d3{font-weight:600}}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Pivot/Pivot.scss.ts","export * from './components/ProgressIndicator/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/ProgressIndicator.ts","export * from './ProgressIndicator';\r\nexport * from './ProgressIndicator.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/ProgressIndicator/index.ts","/* tslint:disable:no-unused-variable */\r\nimport * as React from 'react';\r\n/* tslint:enable:no-unused-variable */\r\n\r\nimport {\r\n BaseComponent,\r\n css\r\n} from '../../Utilities';\r\nimport { IProgressIndicatorProps } from './ProgressIndicator.Props';\r\nimport * as stylesImport from './ProgressIndicator.scss';\r\nconst styles: any = stylesImport;\r\n\r\n// if the percentComplete is near 0, don't animate it.\r\n// This prevents animations on reset to 0 scenarios\r\nconst ZERO_THRESHOLD = 0.01;\r\n\r\nexport class ProgressIndicator extends BaseComponent<IProgressIndicatorProps, {}> {\r\n public static defaultProps = {\r\n label: '',\r\n description: '',\r\n percentComplete: 0,\r\n width: 180\r\n };\r\n\r\n constructor(props: IProgressIndicatorProps) {\r\n super(props);\r\n\r\n this._warnDeprecations({\r\n title: 'label'\r\n });\r\n\r\n }\r\n\r\n public render() {\r\n let { title, label, description, percentComplete, className, ariaValueText } = this.props;\r\n\r\n // Handle deprecated value.\r\n if (title) {\r\n label = title;\r\n }\r\n\r\n percentComplete = Math.min(100, Math.max(0, percentComplete * 100));\r\n\r\n return (\r\n <div className={ css('ms-ProgressIndicator', styles.root, className) }>\r\n <div className={ css('ms-ProgressIndicator-itemName', styles.itemName) }>{ label }</div>\r\n <div className={ css('ms-ProgressIndicator-itemProgress', styles.itemProgress) }>\r\n <div className={ css('ms-ProgressIndicator-progressTrack', styles.progressTrack) }></div>\r\n <div className={ css('ms-ProgressIndicator-progressBar', styles.progressBar, {\r\n 'smoothTransition': percentComplete > ZERO_THRESHOLD\r\n }) }\r\n style={ { width: percentComplete + '%' } }\r\n role='progressbar'\r\n aria-valuemin='0'\r\n aria-valuemax='100'\r\n aria-valuenow={ percentComplete.toFixed().toString() }\r\n aria-valuetext={ ariaValueText }>\r\n </div>\r\n </div>\r\n <div className={ css('ms-ProgressIndicator-itemDescription', styles.itemDescription) }>{ description }</div>\r\n </div>\r\n );\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/ProgressIndicator/ProgressIndicator.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_40e2def2',\r\n itemName: 'itemName_40e2def2',\r\n itemDescription: 'itemDescription_40e2def2',\r\n itemProgress: 'itemProgress_40e2def2',\r\n progressTrack: 'progressTrack_40e2def2',\r\n progressBar: 'progressBar_40e2def2',\r\n smoothTransition: 'smoothTransition_40e2def2',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_40e2def2{font-weight:400}.itemName_40e2def2{color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";font-size:14px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;padding-top:4px;line-height:20px}.itemDescription_40e2def2{color:\"},{\"theme\":\"neutralSecondaryAlt\",\"defaultValue\":\"#767676\"},{\"rawString\":\";font-size:11px;line-height:18px}.itemProgress_40e2def2{position:relative;height:2px;padding:8px 0}.progressTrack_40e2def2{position:absolute;width:100%;height:2px;background-color:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\";outline:1px solid transparent}.progressBar_40e2def2{background-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";height:2px;position:absolute;transition:width .3s ease;width:0}@media screen and (-ms-high-contrast:active){.progressBar_40e2def2{background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.progressBar_40e2def2{background-color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}.smoothTransition_40e2def2{transition-property:width;transition-timing-function:linear;transition-duration:150ms}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/ProgressIndicator/ProgressIndicator.scss.ts","export * from './components/Rating/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Rating.ts","export * from './Rating';\r\nexport * from './Rating.Props';\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Rating/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n css,\r\n getId\r\n} from '../../Utilities';\r\nimport { Icon } from '../../Icon';\r\nimport { IRatingProps, RatingSize } from './Rating.Props';\r\nimport * as stylesImport from './Rating.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface IRatingState {\r\n rating: number;\r\n focusedRating: number;\r\n}\r\n\r\nexport class Rating extends BaseComponent<IRatingProps, IRatingState> {\r\n public static defaultProps: IRatingProps = {\r\n min: 1,\r\n max: 5\r\n };\r\n\r\n private _id: string;\r\n private _labelId: string;\r\n\r\n constructor(props: IRatingProps) {\r\n super(props);\r\n\r\n this.state = {\r\n rating: this._getInitialValue(props),\r\n focusedRating: null\r\n };\r\n\r\n this._id = getId('Rating');\r\n this._labelId = getId('RatingLabel');\r\n }\r\n\r\n public componentWillReceiveProps(nextProps: IRatingProps) {\r\n if (typeof nextProps.rating !== 'undefined' && nextProps.rating !== this.state.rating) {\r\n this.setState({\r\n rating: this._getClampedRating(nextProps.rating)\r\n } as IRatingState);\r\n }\r\n }\r\n\r\n public render() {\r\n let stars: JSX.Element[] = [];\r\n for (let i = this.props.min; i <= this.props.max; ++i) {\r\n stars.push(this._renderStar(i));\r\n }\r\n\r\n return <div className={ css('ms-Rating', this.props.className, {\r\n ['ms-Rating--large ' + styles.rootIsLarge]: this.props.size === RatingSize.Large\r\n }) } role='application'>\r\n <div className={ css('ms-Rating-container', styles.container) } role='radiogroup' aria-labelledby={ this.props.ariaLabelId }>\r\n { stars }\r\n </div>\r\n </div>;\r\n }\r\n\r\n private _renderStar(rating: number): JSX.Element {\r\n const inputId = `${this._id}-${rating}`;\r\n\r\n return <div className={ css('ms-Rating-star', styles.star, {\r\n ['is-selected ' + styles.starIsSelected]: rating <= this.state.rating,\r\n ['is-inFocus ' + styles.starIsInFocus]: rating === this.state.focusedRating,\r\n ['is-disabled ' + styles.starIsDisabled]: this.props.disabled\r\n }) } key={ rating }>\r\n <input\r\n className={ css('ms-Rating-input', styles.input) }\r\n type='radio'\r\n name={ this._id }\r\n id={ inputId }\r\n value={ rating }\r\n aria-labelledby={ `${this._labelId}-${rating}` }\r\n disabled={ this.props.disabled }\r\n checked={ rating === this.state.rating }\r\n onChange={ this._onChange.bind(this, rating) }\r\n onFocus={ this._onFocus.bind(this, rating) }\r\n onBlur={ this._onBlur.bind(this, rating) }\r\n />\r\n <label className={ css('ms-Rating-label', styles.label) } htmlFor={ inputId }>\r\n { this._getLabel(rating) }\r\n { this._getIcon() }\r\n </label>\r\n </div>;\r\n }\r\n\r\n private _onFocus(value: number, ev: React.FocusEvent<HTMLElement>): void {\r\n this.setState({\r\n focusedRating: value\r\n } as IRatingState);\r\n }\r\n\r\n private _onBlur(option: number, ev: React.FocusEvent<HTMLElement>): void {\r\n this.setState({\r\n focusedRating: null\r\n } as IRatingState);\r\n }\r\n\r\n private _onChange(rating: number, evt: React.FormEvent<HTMLInputElement>) {\r\n this.setState({\r\n rating: rating\r\n } as IRatingState);\r\n\r\n const { onChanged } = this.props;\r\n if (onChanged) {\r\n onChanged(rating);\r\n }\r\n }\r\n\r\n private _getLabel(rating: number): JSX.Element {\r\n const text = this.props.ariaLabelIcon || 'Star';\r\n\r\n return (\r\n <span\r\n id={ `${this._labelId}-${rating}` }\r\n className={ css('ms-Rating-labelText', styles.labelText) }\r\n >\r\n { `${rating} ${text}` }\r\n </span>\r\n );\r\n }\r\n\r\n private _getIcon(): JSX.Element {\r\n return <Icon iconName={ this.props.icon || 'favoriteStarFill' } />;\r\n }\r\n\r\n private _getInitialValue(props: IRatingProps) {\r\n if (typeof props.rating === 'undefined') {\r\n return props.min;\r\n }\r\n\r\n if (props.rating === null) {\r\n return null;\r\n }\r\n\r\n return this._getClampedRating(props.rating);\r\n }\r\n\r\n private _getClampedRating(rating: number): number {\r\n rating = Math.floor(rating);\r\n\r\n return Math.min(Math.max(rating, this.props.min), this.props.max);\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Rating/Rating.tsx","import * as React from 'react';\r\n\r\nexport interface IRating {\r\n\r\n}\r\n\r\n/**\r\n * Rating component props.\r\n */\r\nexport interface IRatingProps extends React.HTMLProps<HTMLElement> {\r\n /**\r\n * Optional callback to access the IRating interface. Use this instead of ref for accessing\r\n * the public methods and properties of the component.\r\n */\r\n componentRef?: (component: IRating) => void;\r\n\r\n /**\r\n * Selected rating, has to be an integer between min and max\r\n */\r\n rating?: number;\r\n\r\n /**\r\n * Minimum rating, defaults to 1, has to be >= 0\r\n */\r\n min?: number;\r\n\r\n /**\r\n * Maximum rating, defaults to 5, has to be >= min\r\n */\r\n max?: number;\r\n\r\n /**\r\n * Custom icon, defaults to FavoriteStar\r\n */\r\n icon?: string;\r\n\r\n /**\r\n * Size of rating, defaults to small\r\n */\r\n size?: RatingSize;\r\n\r\n /**\r\n * Callback when the rating has changed\r\n */\r\n onChanged?: (rating: number) => void;\r\n\r\n /**\r\n * Optional label for star ratings, will be read by screen readers, defaults to 'Star'.\r\n */\r\n ariaLabelIcon?: string;\r\n\r\n /**\r\n * Optional id of label describing this instance of Rating\r\n */\r\n ariaLabelId?: string;\r\n}\r\n\r\nexport enum RatingSize {\r\n Small = 0,\r\n Large = 1\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Rating/Rating.Props.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n input: 'input_19b01ffa',\r\n container: 'container_19b01ffa',\r\n star: 'star_19b01ffa',\r\n starIsDisabled: 'starIsDisabled_19b01ffa',\r\n starIsSelected: 'starIsSelected_19b01ffa',\r\n label: 'label_19b01ffa',\r\n rootIsLarge: 'rootIsLarge_19b01ffa',\r\n labelText: 'labelText_19b01ffa',\r\n starIsInFocus: 'starIsInFocus_19b01ffa',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".input_19b01ffa{position:absolute;opacity:0;top:0}.container_19b01ffa{position:relative;display:inline-block}.container_19b01ffa:hover .star_19b01ffa:not(.starIsDisabled_19b01ffa){color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}.container_19b01ffa:hover .star_19b01ffa:not(.starIsDisabled_19b01ffa).star_19b01ffa:hover{color:\"},{\"theme\":\"themeDarkAlt\",\"defaultValue\":\"#106ebe\"},{\"rawString\":\"}.container_19b01ffa:hover .star_19b01ffa:not(.starIsDisabled_19b01ffa).star_19b01ffa:hover~.star_19b01ffa{color:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\"}.container_19b01ffa .star_19b01ffa{display:inline-block;text-align:center;color:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a6a6a6\"},{\"rawString\":\"}.container_19b01ffa .star_19b01ffa.starIsSelected_19b01ffa{color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}.container_19b01ffa .star_19b01ffa.starIsDisabled_19b01ffa{color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}.container_19b01ffa .star_19b01ffa.starIsDisabled_19b01ffa .label_19b01ffa{cursor:default}.container_19b01ffa .star_19b01ffa .label_19b01ffa{display:inline-block;cursor:pointer;font-size:16px;padding:12px 0;border:1px solid transparent}.rootIsLarge_19b01ffa .container_19b01ffa .label_19b01ffa{font-size:20px;padding:6px 2px 9px 2px}.labelText_19b01ffa{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.ms-Fabric.is-focusVisible .starIsInFocus_19b01ffa .label_19b01ffa{border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Rating/Rating.scss.ts","export * from './components/SearchBox/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/SearchBox.ts","export * from './SearchBox';\r\nexport * from './SearchBox.Props';\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/SearchBox/index.ts","import * as React from 'react';\r\nimport { ISearchBoxProps } from './SearchBox.Props';\r\nimport {\r\n BaseComponent,\r\n autobind,\r\n css,\r\n getId,\r\n KeyCodes\r\n} from '../../Utilities';\r\n\r\nimport { Icon } from '../../Icon';\r\nimport * as stylesImport from './SearchBox.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface ISearchBoxState {\r\n value?: string;\r\n hasFocus?: boolean;\r\n id?: string;\r\n}\r\n\r\nexport class SearchBox extends BaseComponent<ISearchBoxProps, ISearchBoxState> {\r\n public static defaultProps: ISearchBoxProps = {\r\n labelText: 'Search',\r\n };\r\n\r\n private _rootElement: HTMLElement;\r\n private _inputElement: HTMLInputElement;\r\n private _latestValue: string;\r\n\r\n public constructor(props: ISearchBoxProps) {\r\n super(props);\r\n\r\n this.state = {\r\n value: props.value || '',\r\n hasFocus: false,\r\n id: getId('SearchBox')\r\n };\r\n }\r\n\r\n public componentWillReceiveProps(newProps: ISearchBoxProps) {\r\n if (newProps.value !== undefined) {\r\n this._latestValue = newProps.value;\r\n this.setState({\r\n value: newProps.value\r\n });\r\n }\r\n }\r\n\r\n public render() {\r\n let { labelText, className } = this.props;\r\n let { value, hasFocus, id } = this.state;\r\n return (\r\n <div\r\n ref={ this._resolveRef('_rootElement') }\r\n className={ css('ms-SearchBox', className, styles.root, {\r\n ['is-active ' + styles.rootIsActive]: hasFocus,\r\n ['can-clear ' + styles.rootCanClear]: value.length > 0,\r\n }) }\r\n { ...{ onFocusCapture: this._onFocusCapture } }\r\n >\r\n <div\r\n className={ css('ms-SearchBox-iconContainer', styles.iconContainer) }\r\n >\r\n <Icon className={ css('ms-SearchBox-icon', styles.icon) } iconName='Search' />\r\n </div>\r\n <input\r\n id={ id }\r\n className={ css('ms-SearchBox-field', styles.field) }\r\n placeholder={ labelText }\r\n onChange={ this._onInputChange }\r\n onInput={ this._onInputChange }\r\n onKeyDown={ this._onKeyDown }\r\n value={ value }\r\n aria-label={ this.props.ariaLabel ? this.props.ariaLabel : this.props.labelText }\r\n ref={ this._resolveRef('_inputElement') }\r\n />\r\n <div\r\n className={ css('ms-SearchBox-clearButton', styles.clearButton) }\r\n onClick={ this._onClearClick }\r\n >\r\n <Icon iconName='Clear' />\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n /**\r\n * Sets focus to the search box input field\r\n */\r\n public focus() {\r\n if (this._inputElement) {\r\n this._inputElement.focus();\r\n }\r\n }\r\n\r\n @autobind\r\n private _onClearClick(ev?: any) {\r\n this.setState({\r\n value: ''\r\n });\r\n this._callOnChange('');\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n\r\n this._inputElement.focus();\r\n }\r\n\r\n @autobind\r\n private _onFocusCapture(ev: React.FocusEvent<HTMLElement>) {\r\n this.setState({\r\n hasFocus: true\r\n });\r\n\r\n this._events.on(this._rootElement, 'blur', this._onBlur, true);\r\n }\r\n\r\n @autobind\r\n private _onKeyDown(ev: React.KeyboardEvent<HTMLInputElement>) {\r\n switch (ev.which) {\r\n\r\n case KeyCodes.escape:\r\n this._onClearClick(ev);\r\n break;\r\n\r\n case KeyCodes.enter:\r\n if (this.props.onSearch && this.state.value.length > 0) {\r\n this.props.onSearch(this.state.value);\r\n }\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n // We only get here if the keypress has been handled.\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n\r\n @autobind\r\n private _onBlur(ev: React.ChangeEvent<HTMLInputElement>) {\r\n this._events.off(this._rootElement, 'blur');\r\n this.setState({\r\n hasFocus: false\r\n });\r\n }\r\n\r\n @autobind\r\n private _onInputChange(ev: React.ChangeEvent<HTMLInputElement>) {\r\n const value = this._inputElement.value;\r\n if (value === this._latestValue) {\r\n return;\r\n }\r\n this._latestValue = value;\r\n\r\n this.setState({ value });\r\n this._callOnChange(value);\r\n }\r\n\r\n private _callOnChange(newValue: string): void {\r\n let { onChange, onChanged } = this.props;\r\n\r\n // Call @deprecated method.\r\n if (onChanged) {\r\n onChanged(newValue);\r\n }\r\n\r\n if (onChange) {\r\n onChange(newValue);\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/SearchBox/SearchBox.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_ec2202a4',\r\n iconContainer: 'iconContainer_ec2202a4',\r\n icon: 'icon_ec2202a4',\r\n field: 'field_ec2202a4',\r\n clearButton: 'clearButton_ec2202a4',\r\n label: 'label_ec2202a4',\r\n rootIsActive: 'rootIsActive_ec2202a4',\r\n rootIsDisabled: 'rootIsDisabled_ec2202a4',\r\n rootCanClear: 'rootCanClear_ec2202a4',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_ec2202a4{font-size:14px;font-weight:400;box-sizing:border-box;box-shadow:none;margin:0;padding:0;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin-bottom:10px;padding:0 0 0 8px;border:1px solid \"},{\"theme\":\"themeTertiary\",\"defaultValue\":\"#71afe5\"},{\"rawString\":\";height:32px}html[dir=rtl] .root_ec2202a4{padding:0 8px 0 0}@media screen and (-ms-high-contrast:active){.root_ec2202a4{border:1px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.root_ec2202a4{border:1px solid \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}.iconContainer_ec2202a4{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0;color:\"},{\"theme\":\"neutralSecondaryAlt\",\"defaultValue\":\"#767676\"},{\"rawString\":\";font-size:16px;width:32px;text-align:center;transition:width 167ms;color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.icon_ec2202a4{opacity:1;transition:opacity 167ms 0s}.field_ec2202a4{box-sizing:border-box;box-shadow:none;margin:0;padding:0;border:none;outline:0;font-weight:inherit;font-family:inherit;font-size:inherit;color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\";background-color:transparent;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px;overflow:hidden;text-overflow:ellipsis;padding-bottom:.5px}.field_ec2202a4::-ms-clear{display:none}.clearButton_ec2202a4{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;display:none;cursor:pointer;text-align:center;font-size:12px;-ms-flex-preferred-size:32px;flex-basis:32px;-ms-flex-negative:0;flex-shrink:0;color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.root_ec2202a4:hover{border-color:\"},{\"theme\":\"themeDarker\",\"defaultValue\":\"#004578\"},{\"rawString\":\"}.root_ec2202a4:hover .label_ec2202a4{color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}.root_ec2202a4:hover .label_ec2202a4 .iconContainer_ec2202a4{color:\"},{\"theme\":\"themeDarker\",\"defaultValue\":\"#004578\"},{\"rawString\":\"}.rootIsActive_ec2202a4{border-color:\"},{\"theme\":\"themeDarker\",\"defaultValue\":\"#004578\"},{\"rawString\":\"}.rootIsActive_ec2202a4 .iconContainer_ec2202a4{width:4px;transition:width 167ms}.rootIsActive_ec2202a4 .icon_ec2202a4{opacity:0;opacity:0 0s 167ms}.rootIsDisabled_ec2202a4{border-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\"}.rootIsDisabled_ec2202a4 .iconContainer_ec2202a4{color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}.rootIsDisabled_ec2202a4 .field_ec2202a4{background-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f4f4f4\"},{\"rawString\":\";pointer-events:none;cursor:default}.rootCanClear_ec2202a4 .clearButton_ec2202a4{display:-webkit-box;display:-ms-flexbox;display:flex}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/SearchBox/SearchBox.scss.ts","export * from './components/Slider/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Slider.ts","export * from './Slider';\r\nexport * from './Slider.Props';\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Slider/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n KeyCodes,\r\n autobind,\r\n css,\r\n getId,\r\n getRTL,\r\n getRTLSafeKeyCode\r\n} from '../../Utilities';\r\nimport { ISliderProps, ISlider } from './Slider.Props';\r\nimport { Label } from '../../Label';\r\nimport * as stylesImport from './Slider.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface ISliderState {\r\n value?: number;\r\n renderedValue?: number;\r\n}\r\n\r\nexport enum ValuePosition {\r\n Previous = 0,\r\n Next = 1\r\n}\r\n\r\nexport class Slider extends BaseComponent<ISliderProps, ISliderState> implements ISlider {\r\n public static defaultProps: {} = {\r\n step: 1,\r\n min: 0,\r\n max: 10,\r\n showValue: true,\r\n disabled: false,\r\n buttonProps: {}\r\n };\r\n\r\n public refs: {\r\n [key: string]: React.ReactInstance,\r\n root: HTMLElement,\r\n sliderLine: HTMLElement,\r\n thumb: HTMLElement\r\n };\r\n\r\n private _id: string;\r\n\r\n constructor(props?: ISliderProps) {\r\n super(props);\r\n\r\n this._warnMutuallyExclusive({\r\n 'value': 'defaultValue'\r\n });\r\n\r\n this._id = getId('Slider');\r\n\r\n let value = props.value || props.defaultValue || props.min;\r\n\r\n this.state = {\r\n value: value,\r\n renderedValue: value\r\n };\r\n }\r\n\r\n /**\r\n * Invoked when a component is receiving new props. This method is not called for the initial render.\r\n */\r\n public componentWillReceiveProps(newProps: ISliderProps): void {\r\n\r\n if (newProps.value !== undefined) {\r\n let value = Math.max(newProps.min, Math.min(newProps.max, newProps.value));\r\n\r\n this.setState({\r\n value: value,\r\n renderedValue: value\r\n });\r\n }\r\n }\r\n\r\n public render(): React.ReactElement<{}> {\r\n const {\r\n ariaLabel,\r\n className,\r\n disabled,\r\n label,\r\n max,\r\n min,\r\n showValue,\r\n buttonProps\r\n } = this.props;\r\n const { value, renderedValue } = this.state;\r\n const thumbOffsetPercent: number = (renderedValue - min) / (max - min) * 100;\r\n\r\n const onMouseDownProp: {} = disabled ? {} : { onMouseDown: this._onMouseDownOrTouchStart };\r\n const onTouchStartProp: {} = disabled ? {} : { onTouchStart: this._onMouseDownOrTouchStart };\r\n const onKeyDownProp: {} = disabled ? {} : { onKeyDown: this._onKeyDown };\r\n\r\n return (\r\n <div\r\n className={ css('ms-Slider', styles.root, className, {\r\n ['ms-Slider-enabled ' + styles.rootIsEnabled]: !disabled,\r\n ['ms-Slider-disabled ' + styles.rootIsDisabled]: disabled\r\n }) }\r\n ref='root'>\r\n { label && (\r\n <Label className={ styles.titleLabel } { ...ariaLabel ? {} : { 'htmlFor': this._id } }>\r\n { label }\r\n </Label>\r\n ) }\r\n <div className={ css('ms-Slider-container', styles.container) }>\r\n <button\r\n aria-valuenow={ value }\r\n aria-valuemin={ min }\r\n aria-valuemax={ max }\r\n { ...onMouseDownProp }\r\n { ...onTouchStartProp }\r\n { ...onKeyDownProp }\r\n { ...buttonProps }\r\n className={ css('ms-Slider-slideBox', styles.slideBox, buttonProps.className, {\r\n 'ms-Slider-showValue': showValue,\r\n ['ms-Slider-showTransitions ' + styles.showTransitions]: (renderedValue === value)\r\n }) }\r\n id={ this._id }\r\n disabled={ disabled }\r\n type='button'\r\n role='slider'\r\n >\r\n <div\r\n ref='sliderLine'\r\n className={ css('ms-Slider-line', styles.line) }\r\n >\r\n <span\r\n ref='thumb'\r\n className={ css('ms-Slider-thumb', styles.thumb) }\r\n { ...ariaLabel ? { 'aria-label': ariaLabel } : {} }\r\n style={ getRTL() ?\r\n { 'right': thumbOffsetPercent + '%' } :\r\n { 'left': thumbOffsetPercent + '%' } }\r\n />\r\n <span className={ css('ms-Slider-active', styles.activeSection) } style={ { 'width': thumbOffsetPercent + '%' } }></span>\r\n <span className={ css('ms-Slider-inactive', styles.inactiveSection) } style={ { 'width': (100 - thumbOffsetPercent) + '%' } }></span>\r\n </div>\r\n </button>\r\n { showValue && <Label className={ css('ms-Slider-value', styles.valueLabel) }>{ value }</Label> }\r\n </div>\r\n </div>\r\n ) as React.ReactElement<{}>;\r\n }\r\n\r\n public focus(): void {\r\n if (this.refs.thumb) {\r\n this.refs.thumb.focus();\r\n }\r\n }\r\n\r\n public get value(): number {\r\n return this.state.value;\r\n }\r\n\r\n @autobind\r\n private _onMouseDownOrTouchStart(event: MouseEvent | TouchEvent): void {\r\n if (event.type === 'mousedown') {\r\n this._events.on(window, 'mousemove', this._onMouseMoveOrTouchMove, true);\r\n this._events.on(window, 'mouseup', this._onMouseUpOrTouchEnd, true);\r\n } else if (event.type === 'touchstart') {\r\n this._events.on(window, 'touchmove', this._onMouseMoveOrTouchMove, true);\r\n this._events.on(window, 'touchend', this._onMouseUpOrTouchEnd, true);\r\n }\r\n\r\n this._onMouseMoveOrTouchMove(event, true);\r\n }\r\n\r\n @autobind\r\n private _onMouseMoveOrTouchMove(event: MouseEvent | TouchEvent, suppressEventCancelation?: boolean): void {\r\n const { max, min, step } = this.props;\r\n const steps: number = (max - min) / step;\r\n const sliderPositionRect: ClientRect = this.refs.sliderLine.getBoundingClientRect();\r\n const sliderLength: number = sliderPositionRect.width;\r\n const stepLength: number = sliderLength / steps;\r\n let currentSteps: number;\r\n\r\n if (event.type === 'mousedown' || event.type === 'mousemove') {\r\n currentSteps = getRTL() ?\r\n (sliderPositionRect.right - (event as MouseEvent).clientX) / stepLength :\r\n ((event as MouseEvent).clientX - sliderPositionRect.left) / stepLength;\r\n } else if (event.type === 'touchstart' || event.type === 'touchmove') {\r\n currentSteps = getRTL() ?\r\n (sliderPositionRect.right - (event as TouchEvent).touches[0].clientX) / stepLength :\r\n ((event as TouchEvent).touches[0].clientX - sliderPositionRect.left) / stepLength;\r\n }\r\n\r\n let currentValue: number;\r\n let renderedValue: number;\r\n\r\n // The value shouldn't be bigger than max or be smaller than min.\r\n if (currentSteps > Math.floor(steps)) {\r\n renderedValue = currentValue = max;\r\n } else if (currentSteps < 0) {\r\n renderedValue = currentValue = min;\r\n } else {\r\n renderedValue = min + step * currentSteps;\r\n currentValue = min + step * Math.round(currentSteps);\r\n }\r\n\r\n this._updateValue(currentValue, renderedValue);\r\n\r\n if (!suppressEventCancelation) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n private _updateValue(value, renderedValue) {\r\n let valueChanged = value !== this.state.value;\r\n\r\n this.setState({\r\n value,\r\n renderedValue\r\n }, () => {\r\n if (valueChanged && this.props.onChange) {\r\n this.props.onChange(this.state.value);\r\n }\r\n });\r\n }\r\n\r\n @autobind\r\n private _onMouseUpOrTouchEnd(): void {\r\n\r\n // Synchronize the renderedValue to the actual value.\r\n this.setState({\r\n renderedValue: this.state.value\r\n });\r\n\r\n this._events.off();\r\n }\r\n\r\n @autobind\r\n private _onKeyDown(event: KeyboardEvent): void {\r\n let value: number = this.state.value;\r\n const { max, min, step } = this.props;\r\n\r\n let diff: number = 0;\r\n\r\n switch (event.which) {\r\n case getRTLSafeKeyCode(KeyCodes.left):\r\n case KeyCodes.down:\r\n diff = -step;\r\n break;\r\n case getRTLSafeKeyCode(KeyCodes.right):\r\n case KeyCodes.up:\r\n diff = step;\r\n break;\r\n\r\n case KeyCodes.home:\r\n value = min;\r\n break;\r\n\r\n case KeyCodes.end:\r\n value = max;\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n const newValue: number = Math.min(max, Math.max(min, value + diff));\r\n\r\n this._updateValue(newValue, newValue);\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Slider/Slider.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_6b213d59',\r\n titleLabel: 'titleLabel_6b213d59',\r\n line: 'line_6b213d59',\r\n activeSection: 'activeSection_6b213d59',\r\n inactiveSection: 'inactiveSection_6b213d59',\r\n showTransitions: 'showTransitions_6b213d59',\r\n thumb: 'thumb_6b213d59',\r\n slideBox: 'slideBox_6b213d59',\r\n container: 'container_6b213d59',\r\n valueLabel: 'valueLabel_6b213d59',\r\n rootIsEnabled: 'rootIsEnabled_6b213d59',\r\n rootIsDisabled: 'rootIsDisabled_6b213d59',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_6b213d59{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-bottom:8px}.titleLabel_6b213d59{padding:0}.line_6b213d59{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;width:100%}.line_6b213d59 span{height:4px;border-radius:4px;box-sizing:border-box}.activeSection_6b213d59{background:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.activeSection_6b213d59{background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.activeSection_6b213d59{background-color:\"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}.inactiveSection_6b213d59{background:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.inactiveSection_6b213d59{border:1px solid \"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}}@media screen and (-ms-high-contrast:black-on-white){.inactiveSection_6b213d59{border:1px solid \"},{\"theme\":\"black\",\"defaultValue\":\"#000000\"},{\"rawString\":\"}}.showTransitions_6b213d59 .thumb_6b213d59{transition:left 367ms cubic-bezier(.1,.9,.2,1)}.showTransitions_6b213d59 .activeSection_6b213d59,.showTransitions_6b213d59 .inactiveSection_6b213d59{transition:width 367ms cubic-bezier(.1,.9,.2,1)}.slideBox_6b213d59{background:0 0;border:none;padding:0;margin:0}.slideBox_6b213d59 .thumb_6b213d59{border:2px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\";box-sizing:border-box;background:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";display:block;width:16px;height:16px;position:absolute;top:-6px;border-radius:10px}html[dir=ltr] .slideBox_6b213d59 .thumb_6b213d59{-webkit-transform:translateX(-50%);transform:translateX(-50%)}html[dir=rtl] .slideBox_6b213d59 .thumb_6b213d59{-webkit-transform:translateX(50%);transform:translateX(50%)}.container_6b213d59{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.slideBox_6b213d59{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;height:28px;line-height:28px;padding:0 8px}.slideBox_6b213d59::-moz-focus-inner{border:0}.slideBox_6b213d59{outline:transparent;position:relative}.ms-Fabric.is-focusVisible .slideBox_6b213d59:focus:after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid \"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#666666\"},{\"rawString\":\"}.valueLabel_6b213d59{-ms-flex-negative:1;flex-shrink:1;width:30px;margin:0 8px;line-height:1}.rootIsEnabled_6b213d59 .slideBox_6b213d59:active .thumb_6b213d59,.rootIsEnabled_6b213d59 .slideBox_6b213d59:hover .thumb_6b213d59{border:2px solid \"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.rootIsEnabled_6b213d59 .slideBox_6b213d59:active .thumb_6b213d59,.rootIsEnabled_6b213d59 .slideBox_6b213d59:hover .thumb_6b213d59{border-color:#1aebff}}@media screen and (-ms-high-contrast:black-on-white){.rootIsEnabled_6b213d59 .slideBox_6b213d59:active .thumb_6b213d59,.rootIsEnabled_6b213d59 .slideBox_6b213d59:hover .thumb_6b213d59{border-color:#37006e}}.rootIsEnabled_6b213d59 .slideBox_6b213d59:active .activeSection_6b213d59,.rootIsEnabled_6b213d59 .slideBox_6b213d59:hover .activeSection_6b213d59{background-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.rootIsEnabled_6b213d59 .slideBox_6b213d59:active .activeSection_6b213d59,.rootIsEnabled_6b213d59 .slideBox_6b213d59:hover .activeSection_6b213d59{background-color:#1aebff}}@media screen and (-ms-high-contrast:black-on-white){.rootIsEnabled_6b213d59 .slideBox_6b213d59:active .activeSection_6b213d59,.rootIsEnabled_6b213d59 .slideBox_6b213d59:hover .activeSection_6b213d59{background-color:#37006e}}.rootIsEnabled_6b213d59 .slideBox_6b213d59:active .inactiveSection_6b213d59,.rootIsEnabled_6b213d59 .slideBox_6b213d59:hover .inactiveSection_6b213d59{background-color:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.rootIsEnabled_6b213d59 .slideBox_6b213d59:active .inactiveSection_6b213d59,.rootIsEnabled_6b213d59 .slideBox_6b213d59:hover .inactiveSection_6b213d59{border-color:#1aebff}}@media screen and (-ms-high-contrast:black-on-white){.rootIsEnabled_6b213d59 .slideBox_6b213d59:active .inactiveSection_6b213d59,.rootIsEnabled_6b213d59 .slideBox_6b213d59:hover .inactiveSection_6b213d59{border-color:#37006e}}.rootIsEnabled_6b213d59 .slideBox_6b213d59:active .thumb_6b213d59{border:2px solid \"},{\"theme\":\"themeDarkAlt\",\"defaultValue\":\"#106ebe\"},{\"rawString\":\"}.rootIsEnabled_6b213d59 .slideBox_6b213d59:active .activeSection_6b213d59{background-color:\"},{\"theme\":\"themeDarkAlt\",\"defaultValue\":\"#106ebe\"},{\"rawString\":\"}.rootIsDisabled_6b213d59 .thumb_6b213d59{border-color:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.rootIsDisabled_6b213d59 .thumb_6b213d59{border-color:#0f0}}@media screen and (-ms-high-contrast:black-on-white){.rootIsDisabled_6b213d59 .thumb_6b213d59{border-color:#600000}}@media screen and (-ms-high-contrast:active){.rootIsDisabled_6b213d59 .activeSection_6b213d59,.rootIsDisabled_6b213d59 .inactiveSection_6b213d59{background-color:#0f0;border-color:#0f0}}@media screen and (-ms-high-contrast:black-on-white){.rootIsDisabled_6b213d59 .activeSection_6b213d59,.rootIsDisabled_6b213d59 .inactiveSection_6b213d59{background-color:#600000;border-color:#600000}}.rootIsDisabled_6b213d59 .activeSection_6b213d59{background:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c8c8\"},{\"rawString\":\"}.rootIsDisabled_6b213d59 .inactiveSection_6b213d59{background:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#eaeaea\"},{\"rawString\":\"}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Slider/Slider.scss.ts","export * from './components/TeachingBubble/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/TeachingBubble.ts","export * from './TeachingBubble';\r\nexport * from './TeachingBubbleContent';\r\nexport * from './TeachingBubble.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/TeachingBubble/index.ts","/* tslint:disable:no-unused-variable */\r\nimport * as React from 'react';\r\n/* tslint:enable:no-unused-variable */\r\nimport { BaseComponent, css } from '../../Utilities';\r\nimport { TeachingBubbleContent } from './TeachingBubbleContent';\r\nimport { ITeachingBubbleProps } from './TeachingBubble.Props';\r\nimport { Callout } from '../../Callout';\r\nimport { DirectionalHint } from '../../common/DirectionalHint';\r\nimport * as stylesImport from './TeachingBubble.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface ITeachingBubbleState {\r\n isTeachingBubbleVisible?: boolean;\r\n}\r\n\r\nexport class TeachingBubble extends BaseComponent<ITeachingBubbleProps, ITeachingBubbleState> {\r\n\r\n // Specify default props values\r\n public static defaultProps = {\r\n calloutProps: {\r\n beakWidth: 16,\r\n gapSpace: 0,\r\n setInitialFocus: true,\r\n doNotLayer: false,\r\n directionalHint: DirectionalHint.rightCenter\r\n }\r\n };\r\n\r\n // Constructor\r\n constructor(props: ITeachingBubbleProps) {\r\n super(props);\r\n\r\n this.state = {\r\n };\r\n }\r\n\r\n public render() {\r\n let { calloutProps, targetElement } = this.props;\r\n\r\n return (\r\n <Callout\r\n className={ css('ms-TeachingBubble', styles.root) }\r\n ref={ this._resolveRef('_callout') }\r\n targetElement={ targetElement }\r\n {...calloutProps}\r\n >\r\n <TeachingBubbleContent { ...this.props } />\r\n </Callout>\r\n );\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/TeachingBubble/TeachingBubble.tsx","/* tslint:disable:no-unused-variable */\r\nimport * as React from 'react';\r\n/* tslint:enable:no-unused-variable */\r\nimport {\r\n BaseComponent,\r\n css,\r\n getId\r\n} from '../../Utilities';\r\nimport { ITeachingBubbleProps } from './TeachingBubble.Props';\r\nimport { ITeachingBubbleState } from './TeachingBubble';\r\nimport { PrimaryButton, DefaultButton, IconButton } from '../../Button';\r\nimport { Image, ImageFit } from '../../Image';\r\nimport * as stylesImport from './TeachingBubble.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport class TeachingBubbleContent extends BaseComponent<ITeachingBubbleProps, ITeachingBubbleState> {\r\n\r\n // Specify default props values\r\n public static defaultProps = {\r\n hasCondensedHeadline: false,\r\n imageProps: {\r\n imageFit: ImageFit.cover,\r\n width: 364,\r\n height: 130\r\n }\r\n };\r\n\r\n // Specify any private variables\r\n private _id: string;\r\n\r\n // Constructor\r\n constructor(props: ITeachingBubbleProps) {\r\n super(props);\r\n\r\n this._id = getId('TeachingBubble');\r\n this.state = {\r\n };\r\n }\r\n\r\n public render() {\r\n let { illustrationImage, primaryButtonProps, secondaryButtonProps, headline, hasCondensedHeadline, hasCloseIcon, onDismiss, closeButtonAriaLabel } = this.props;\r\n\r\n let imageContent;\r\n let headerContent;\r\n let bodyContent;\r\n let footerContent;\r\n let closeButton;\r\n\r\n if (illustrationImage && illustrationImage.src) {\r\n imageContent = (\r\n <div className={ 'ms-TeachingBubble-header' }>\r\n <Image { ...illustrationImage as any } />\r\n </div>\r\n );\r\n }\r\n\r\n if (headline) {\r\n headerContent = (\r\n <div className={ css(\r\n 'ms-TeachingBubble-header',\r\n hasCondensedHeadline ?\r\n 'ms-TeachingBubble-header--small ' + styles.headerIsSmall :\r\n 'ms-TeachingBubble-header--large ' + styles.headerIsLarge\r\n ) }>\r\n <p className={ css('ms-TeachingBubble-headline', styles.headline) } >\r\n { headline }\r\n </p>\r\n </div>\r\n );\r\n }\r\n\r\n if (this.props.children) {\r\n bodyContent = (\r\n <div className={ css('ms-TeachingBubble-body', styles.body) }>\r\n <p className={ css('ms-TeachingBubble-subText', styles.subText) }>\r\n { this.props.children }\r\n </p>\r\n </div>\r\n );\r\n }\r\n\r\n if (primaryButtonProps || secondaryButtonProps) {\r\n footerContent = (\r\n <div className={ css('ms-TeachingBubble-footer', styles.footer) }>\r\n { primaryButtonProps && (\r\n <PrimaryButton\r\n { ...primaryButtonProps }\r\n className={ css('ms-TeachingBubble-primaryButton', styles.primaryButton, primaryButtonProps.className) }\r\n />\r\n ) }\r\n { secondaryButtonProps && (\r\n <DefaultButton\r\n { ...secondaryButtonProps }\r\n className={ css('ms-TeachingBubble-secondaryButton', styles.secondaryButton, secondaryButtonProps.className) }\r\n />\r\n ) }\r\n </div>\r\n );\r\n }\r\n\r\n if (hasCloseIcon) {\r\n closeButton = (\r\n <IconButton\r\n className={ css('ms-TeachingBubble-closebutton', styles.closeButton) }\r\n iconProps={ { iconName: 'Cancel' } }\r\n title={ closeButtonAriaLabel }\r\n ariaLabel={ closeButtonAriaLabel }\r\n onClick={ onDismiss }\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <div className={ css('ms-TeachingBubble-content') }>\r\n { imageContent }\r\n { closeButton }\r\n <div className={ css('ms-TeachingBubble-bodycontent', styles.bodyContent) }>\r\n { headerContent }\r\n { bodyContent }\r\n { footerContent }\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/TeachingBubble/TeachingBubbleContent.tsx","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_f02ca86d',\r\n bodyContent: 'bodyContent_f02ca86d',\r\n headerIsLarge: 'headerIsLarge_f02ca86d',\r\n headline: 'headline_f02ca86d',\r\n headerIsSmall: 'headerIsSmall_f02ca86d',\r\n body: 'body_f02ca86d',\r\n subText: 'subText_f02ca86d',\r\n closeButton: 'closeButton_f02ca86d',\r\n footer: 'footer_f02ca86d',\r\n primaryButton: 'primaryButton_f02ca86d',\r\n secondaryButton: 'secondaryButton_f02ca86d',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_f02ca86d{display:block;max-width:364px}.bodyContent_f02ca86d{padding:20px}.headerIsLarge_f02ca86d:not(:last-child){margin-bottom:14px}.headline_f02ca86d{margin:0;color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.headerIsLarge_f02ca86d .headline_f02ca86d{font-size:28px;font-weight:100;font-weight:100}.headerIsSmall_f02ca86d .headline_f02ca86d{font-size:14px;font-weight:400;font-weight:600}[dir=ltr] .headerIsSmall_f02ca86d .headline_f02ca86d{margin-right:10px}[dir=rtl] .headerIsSmall_f02ca86d .headline_f02ca86d{margin-left:10px}.body_f02ca86d:not(:last-child){margin-bottom:20px}.subText_f02ca86d{margin:0;font-size:14px;color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";font-weight:300}.root_f02ca86d .closeButton_f02ca86d{position:absolute;top:0;color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";font-size:12px}[dir=ltr] .root_f02ca86d .closeButton_f02ca86d{right:0}[dir=rtl] .root_f02ca86d .closeButton_f02ca86d{left:0}html[dir=ltr] .footer_f02ca86d .ms-Button:not(:first-child){margin-left:20px}html[dir=rtl] .footer_f02ca86d .ms-Button:not(:first-child){margin-right:20px}.root_f02ca86d .ms-Callout-beak,.root_f02ca86d .ms-Callout-main,.root_f02ca86d .ms-Callout-smallbeak{background:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.root_f02ca86d .primaryButton_f02ca86d{background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";border-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.root_f02ca86d .primaryButton_f02ca86d .ms-Button-label{font-size:14px;font-weight:400;color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\"}.root_f02ca86d .primaryButton_f02ca86d:hover{background-color:\"},{\"theme\":\"themeLighter\",\"defaultValue\":\"#deecf9\"},{\"rawString\":\";border-color:\"},{\"theme\":\"themeLighter\",\"defaultValue\":\"#deecf9\"},{\"rawString\":\"}.root_f02ca86d .primaryButton_f02ca86d:focus{background-color:\"},{\"theme\":\"themeLighter\",\"defaultValue\":\"#deecf9\"},{\"rawString\":\";border-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.root_f02ca86d .primaryButton_f02ca86d:active{background-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";border-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.root_f02ca86d .secondaryButton_f02ca86d{background-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";border-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.root_f02ca86d .secondaryButton_f02ca86d .ms-Button-label{font-size:14px;font-weight:400;color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.root_f02ca86d .secondaryButton_f02ca86d:hover{background-color:\"},{\"theme\":\"themeDarkAlt\",\"defaultValue\":\"#106ebe\"},{\"rawString\":\";border-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.root_f02ca86d .secondaryButton_f02ca86d:focus{background-color:\"},{\"theme\":\"themeDarkAlt\",\"defaultValue\":\"#106ebe\"},{\"rawString\":\";border-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.root_f02ca86d .secondaryButton_f02ca86d:active{background-color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d7\"},{\"rawString\":\";border-color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/TeachingBubble/TeachingBubble.scss.ts","export * from './components/Toggle/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Toggle.ts","export * from './Toggle';\r\nexport * from './Toggle.Props';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Toggle/index.ts","import * as React from 'react';\r\nimport {\r\n BaseComponent,\r\n autobind,\r\n getId,\r\n inputProperties,\r\n getNativeProps,\r\n memoize\r\n} from '../../Utilities';\r\nimport {\r\n IToggleProps,\r\n IToggle,\r\n IToggleStyles\r\n} from './Toggle.Props';\r\nimport { Label } from '../../Label';\r\nimport {\r\n mergeStyles\r\n} from '../../Styling';\r\n\r\nimport { getStyles } from './Toggle.styles';\r\n\r\nexport interface IToggleState {\r\n isChecked: boolean;\r\n}\r\n\r\ninterface IToggleClassNames {\r\n root: string;\r\n label: string;\r\n container: string;\r\n pill: string;\r\n thumb: string;\r\n text: string;\r\n}\r\n\r\nexport class Toggle extends BaseComponent<IToggleProps, IToggleState> implements IToggle {\r\n\r\n private _id: string;\r\n private _toggleButton: HTMLButtonElement;\r\n\r\n constructor(props: IToggleProps) {\r\n super();\r\n\r\n this._warnMutuallyExclusive({\r\n checked: 'defaultChecked'\r\n });\r\n\r\n this.state = {\r\n isChecked: !!(props.checked || props.defaultChecked)\r\n };\r\n this._id = props.id || getId('Toggle');\r\n }\r\n\r\n /**\r\n * Gets the current checked state of the toggle.\r\n */\r\n public get checked(): boolean {\r\n return this.state.isChecked;\r\n }\r\n\r\n public componentWillReceiveProps(newProps: IToggleProps) {\r\n if (newProps.checked !== undefined) {\r\n this.setState({\r\n isChecked: !!newProps.checked // convert null to false\r\n });\r\n }\r\n }\r\n\r\n public render() {\r\n // This control is using an input element for more universal accessibility support.\r\n // Previously a button and the aria-pressed attribute were used. This technique works well with Narrator + Edge and NVDA + FireFox.\r\n // However, JAWS and VoiceOver did not announce anything when the toggle was checked or unchecked.\r\n // In the future when more screenreaders support aria-pressed it would be a good idea to change this control back to using it as it is\r\n // more semantically correct.\r\n\r\n let {\r\n className,\r\n styles: customStyles,\r\n disabled,\r\n label,\r\n offAriaLabel,\r\n offText,\r\n onAriaLabel,\r\n onText\r\n } = this.props;\r\n let { isChecked } = this.state;\r\n let stateText = isChecked ? onText : offText;\r\n const ariaLabel = isChecked ? onAriaLabel : offAriaLabel;\r\n const toggleNativeProps = getNativeProps(this.props, inputProperties, ['defaultChecked']);\r\n const classNames = this._getClassNames(\r\n getStyles(undefined, customStyles),\r\n className,\r\n disabled,\r\n isChecked\r\n );\r\n\r\n return (\r\n <div className={ classNames.root }>\r\n\r\n { label && (\r\n <Label htmlFor={ this._id } className={ classNames.label }>{ label }</Label>\r\n ) }\r\n\r\n <div className={ classNames.container } >\r\n <button\r\n { ...toggleNativeProps }\r\n className={ classNames.pill }\r\n ref={ (c): HTMLButtonElement => this._toggleButton = c }\r\n aria-disabled={ disabled }\r\n aria-pressed={ isChecked }\r\n id={ this._id }\r\n onChange={ () => { /* no-op */ } }\r\n disabled={ disabled }\r\n data-is-focusable={ true }\r\n onClick={ this._onClick }\r\n >\r\n <div className={ classNames.thumb } />\r\n </button>\r\n { stateText && (\r\n <Label className={ classNames.text }>{ stateText }</Label>\r\n ) }\r\n </div>\r\n </div >\r\n );\r\n }\r\n\r\n public focus() {\r\n if (this._toggleButton) {\r\n this._toggleButton.focus();\r\n }\r\n }\r\n\r\n @autobind\r\n private _onClick(ev: React.MouseEvent<HTMLElement>) {\r\n let { checked, onChanged, onClick } = this.props;\r\n let { isChecked } = this.state;\r\n\r\n // Only update the state if the user hasn't provided it.\r\n if (checked === undefined) {\r\n this.setState({\r\n isChecked: !isChecked\r\n });\r\n }\r\n\r\n if (onChanged) {\r\n onChanged(!isChecked);\r\n }\r\n\r\n if (onClick) {\r\n onClick(ev);\r\n }\r\n }\r\n\r\n @memoize\r\n private _getClassNames(\r\n styles: IToggleStyles,\r\n className: string,\r\n disabled: boolean,\r\n isChecked: boolean\r\n ): IToggleClassNames {\r\n\r\n return {\r\n root: mergeStyles(\r\n 'ms-Toggle',\r\n isChecked && 'is-checked',\r\n !disabled && 'is-enabled',\r\n disabled && 'is-disabled',\r\n className,\r\n styles.root\r\n ) as string,\r\n\r\n label: mergeStyles(\r\n 'ms-Toggle-label',\r\n styles.label\r\n ) as string,\r\n\r\n container: mergeStyles(\r\n 'ms-Toggle-innerContainer',\r\n styles.container\r\n ) as string,\r\n\r\n pill: mergeStyles(\r\n 'ms-Toggle-background',\r\n styles.pill,\r\n !disabled && [\r\n !isChecked && {\r\n ':hover': styles.pillHovered,\r\n ':hover .ms-Toggle-thumb': styles.thumbHovered\r\n },\r\n isChecked && [\r\n styles.pillChecked,\r\n {\r\n ':hover': styles.pillCheckedHovered,\r\n ':hover .ms-Toggle-thumb': styles.thumbCheckedHovered\r\n }\r\n ]\r\n ],\r\n disabled && [\r\n !isChecked && styles.pillDisabled,\r\n isChecked && styles.pillCheckedDisabled,\r\n ]\r\n ) as string,\r\n\r\n thumb: mergeStyles(\r\n 'ms-Toggle-thumb',\r\n styles.thumb,\r\n !disabled && isChecked && styles.thumbChecked,\r\n disabled && [\r\n !isChecked && styles.thumbDisabled,\r\n isChecked && styles.thumbCheckedDisabled\r\n ]\r\n ) as string,\r\n\r\n text: mergeStyles(\r\n 'ms-Toggle-stateText',\r\n styles.text\r\n ) as string,\r\n\r\n };\r\n };\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Toggle/Toggle.tsx","import { IToggleStyles } from './Toggle.Props';\r\nimport {\r\n ITheme,\r\n getTheme,\r\n mergeStyleSets,\r\n getFocusStyle\r\n} from '../../Styling';\r\nimport { memoizeFunction } from '../../Utilities';\r\n\r\nexport const getStyles = memoizeFunction((\r\n theme: ITheme = getTheme(),\r\n customStyles?: IToggleStyles\r\n): IToggleStyles => {\r\n const { semanticColors } = theme;\r\n const pillUncheckedBackground = semanticColors.bodyBackground;\r\n const pillCheckedBackground = semanticColors.inputBackgroundSelected;\r\n const pillCheckedHoveredBackground = semanticColors.inputBackgroundSelectedHovered;\r\n const pillCheckedDisabledBackground = semanticColors.disabledText;\r\n const thumbBackground = semanticColors.inputBorderHovered;\r\n const thumbCheckedBackground = semanticColors.inputForegroundSelected;\r\n const thumbDisabledBackground = semanticColors.disabledText;\r\n const thumbCheckedDisabledBackground = semanticColors.disabledBackground;\r\n const pillBorderColor = semanticColors.inputBorder;\r\n const pillBorderHoveredColor = semanticColors.inputBorderHovered;\r\n const pillBorderDisabledColor = semanticColors.disabledText;\r\n const toggleFocusBorderColor = semanticColors.focusBorder;\r\n\r\n const styles: IToggleStyles = {\r\n root: {\r\n marginBottom: '8px'\r\n },\r\n\r\n container: [\r\n {\r\n display: 'inline-flex',\r\n position: 'relative',\r\n }\r\n ],\r\n\r\n pill: [\r\n getFocusStyle(theme, '-1px'),\r\n {\r\n fontSize: '20px',\r\n lineHeight: '1em',\r\n boxSizing: 'border-box',\r\n position: 'relative',\r\n width: '2.2em',\r\n height: '1em',\r\n borderRadius: '1em',\r\n transition: 'all 0.1s ease',\r\n borderWidth: '1px',\r\n borderStyle: 'solid',\r\n background: pillUncheckedBackground,\r\n borderColor: pillBorderColor,\r\n }\r\n ],\r\n\r\n pillHovered: {\r\n borderColor: pillBorderHoveredColor\r\n },\r\n\r\n pillChecked: {\r\n background: pillCheckedBackground,\r\n borderColor: 'transparent',\r\n },\r\n\r\n pillCheckedHovered: {\r\n backgroundColor: pillCheckedHoveredBackground,\r\n borderColor: 'transparent'\r\n },\r\n\r\n pillDisabled: {\r\n borderColor: pillBorderDisabledColor\r\n },\r\n\r\n pillCheckedDisabled: {\r\n backgroundColor: pillCheckedDisabledBackground,\r\n borderColor: 'transparent'\r\n },\r\n\r\n thumb: {\r\n width: '.5em',\r\n height: '.5em',\r\n borderRadius: '.5em',\r\n position: 'absolute',\r\n top: '.2em',\r\n transition: 'all 0.1s ease',\r\n backgroundColor: thumbBackground,\r\n left: '.2em'\r\n },\r\n\r\n thumbChecked: {\r\n backgroundColor: thumbCheckedBackground,\r\n left: '1.4em'\r\n },\r\n\r\n thumbDisabled: {\r\n backgroundColor: thumbDisabledBackground,\r\n left: '.2em',\r\n },\r\n\r\n thumbCheckedDisabled: {\r\n backgroundColor: thumbCheckedDisabledBackground,\r\n left: '1.4em'\r\n },\r\n\r\n text: {\r\n // Workaround; until Label is converted and we can pass in custom styles, we need to make this\r\n // more specific. Once Label is converted, we should be able to just pull in the customized styling.\r\n '.ms-Toggle-stateText': {\r\n padding: '0',\r\n margin: '0 10px',\r\n userSelect: 'none'\r\n }\r\n }\r\n\r\n };\r\n\r\n return mergeStyleSets(styles, customStyles);\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Toggle/Toggle.styles.ts","export * from './components/Tooltip/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ../src/Tooltip.ts","export * from './Tooltip';\r\nexport * from './Tooltip.Props';\r\nexport * from './TooltipHost';\r\nexport * from './TooltipHost.Props';\r\nexport * from '../../common/DirectionalHint';\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Tooltip/index.ts","/* tslint:disable:no-unused-variable */\r\nimport * as React from 'react';\r\n/* tslint:enable:no-unused-variable */\r\nimport {\r\n BaseComponent,\r\n css,\r\n getNativeProps,\r\n divProperties\r\n} from '../../Utilities';\r\nimport { ITooltipProps, TooltipDelay } from './Tooltip.Props';\r\nimport { Callout } from '../../Callout';\r\nimport { DirectionalHint } from '../../common/DirectionalHint';\r\nimport * as stylesImport from './Tooltip.scss';\r\nconst styles: any = stylesImport;\r\nimport { AnimationClassNames } from '../../Styling';\r\n\r\nexport class Tooltip extends BaseComponent<ITooltipProps, any> {\r\n\r\n // Specify default props values\r\n public static defaultProps = {\r\n directionalHint: DirectionalHint.topCenter,\r\n delay: TooltipDelay.medium,\r\n calloutProps: {\r\n isBeakVisible: true,\r\n beakWidth: 16,\r\n gapSpace: 0,\r\n setInitialFocus: true,\r\n doNotLayer: false\r\n }\r\n };\r\n\r\n public render() {\r\n const {\r\n targetElement,\r\n content,\r\n calloutProps,\r\n directionalHint,\r\n delay,\r\n id,\r\n onRenderContent = this._onRenderContent\r\n } = this.props;\r\n\r\n return (\r\n <Callout\r\n className={ css(\r\n 'ms-Tooltip',\r\n AnimationClassNames.fadeIn200,\r\n styles.root, {\r\n [styles.hasMediumDelay]: delay === TooltipDelay.medium\r\n }\r\n ) }\r\n targetElement={ targetElement }\r\n directionalHint={ directionalHint }\r\n {...calloutProps}\r\n { ...getNativeProps(this.props, divProperties) }\r\n >\r\n <div className={ css('ms-Tooltip-content', styles.content) } id={ id } role='tooltip'>\r\n { onRenderContent(this.props, this._onRenderContent) }\r\n </div>\r\n </Callout >\r\n );\r\n }\r\n\r\n private _onRenderContent(props: ITooltipProps): JSX.Element {\r\n return (\r\n <p className={ css('ms-Tooltip-subText', styles.subText) }>\r\n { props.content }\r\n </p>\r\n );\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Tooltip/Tooltip.tsx","import * as React from 'react';\r\nimport { Tooltip } from './Tooltip';\r\nimport { ICalloutProps } from '../../Callout';\r\nimport { IRenderFunction } from '../../Utilities';\r\nimport { DirectionalHint } from '../../common/DirectionalHint';\r\n\r\nexport interface ITooltip {\r\n\r\n}\r\n\r\n/**\r\n * Tooltip component props.\r\n */\r\nexport interface ITooltipProps extends React.HTMLProps<HTMLDivElement | Tooltip> {\r\n /**\r\n * Optional callback to access the ITooltip interface. Use this instead of ref for accessing\r\n * the public methods and properties of the component.\r\n */\r\n componentRef?: (component: ITooltip) => void;\r\n\r\n /**\r\n * Properties to pass through for Callout, reference detail properties in ICalloutProps\r\n */\r\n calloutProps?: ICalloutProps;\r\n\r\n /**\r\n * String to be passed to the tooltip\r\n */\r\n content?: string;\r\n\r\n /**\r\n * Render function to populate content area\r\n */\r\n onRenderContent?: IRenderFunction<ITooltipProps>;\r\n\r\n /**\r\n * Length of delay. Can be set to zero if you do not want a delay.\r\n * @default medium\r\n */\r\n delay?: TooltipDelay;\r\n\r\n /**\r\n * Element to anchor the Tooltip to.\r\n */\r\n targetElement?: HTMLElement;\r\n\r\n /**\r\n * Indicator of how the tooltip should be anchored to its targetElement.\r\n * @default DirectionalHint.topCenter\r\n */\r\n directionalHint?: DirectionalHint;\r\n}\r\n\r\nexport enum TooltipDelay {\r\n zero = 0,\r\n medium = 1\r\n}\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Tooltip/Tooltip.Props.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n root: 'root_9f132af5',\r\n hasMediumDelay: 'hasMediumDelay_9f132af5',\r\n content: 'content_9f132af5',\r\n subText: 'subText_9f132af5',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".root_9f132af5{max-width:364px;background:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\";padding:8px;pointer-events:none}.root_9f132af5.hasMediumDelay_9f132af5{-webkit-animation-delay:.3s;animation-delay:.3s}.content_9f132af5{font-size:12px;color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#333333\"},{\"rawString\":\";word-wrap:break-word;overflow-wrap:break-word}.subText_9f132af5{margin:0}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Tooltip/Tooltip.scss.ts","/* tslint:disable:no-unused-variable */\r\nimport * as React from 'react';\r\n/* tslint:enable:no-unused-variable */\r\nimport {\r\n BaseComponent,\r\n autobind,\r\n css,\r\n divProperties,\r\n getNativeProps,\r\n getId,\r\n assign,\r\n hasOverflow\r\n} from '../../Utilities';\r\nimport { ITooltipHostProps, TooltipOverflowMode } from './TooltipHost.Props';\r\nimport { Tooltip } from './Tooltip';\r\nimport { TooltipDelay } from './Tooltip.Props';\r\n\r\nimport * as stylesImport from './TooltipHost.scss';\r\nconst styles: any = stylesImport;\r\n\r\nexport interface ITooltipHostState {\r\n isTooltipVisible?: boolean;\r\n}\r\n\r\nexport class TooltipHost extends BaseComponent<ITooltipHostProps, ITooltipHostState> {\r\n public static defaultProps = {\r\n delay: TooltipDelay.medium\r\n };\r\n\r\n // The wrapping div that gets the hover events\r\n private _tooltipHost: HTMLElement;\r\n\r\n // Constructor\r\n constructor(props: ITooltipHostProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isTooltipVisible: false\r\n };\r\n }\r\n\r\n // Render\r\n public render() {\r\n const {\r\n calloutProps,\r\n tooltipProps,\r\n content,\r\n children,\r\n directionalHint,\r\n delay,\r\n id,\r\n hostClassName\r\n } = this.props;\r\n const { isTooltipVisible } = this.state;\r\n const tooltipId = id || getId('tooltip');\r\n return (\r\n <div\r\n className={ css('ms-TooltipHost', styles.host, hostClassName) }\r\n ref={ this._resolveRef('_tooltipHost') }\r\n { ...{ onFocusCapture: this._onTooltipMouseEnter } }\r\n { ...{ onBlurCapture: this._onTooltipMouseLeave } }\r\n onMouseEnter={ this._onTooltipMouseEnter }\r\n onMouseLeave={ this._onTooltipMouseLeave }\r\n aria-describedby={ isTooltipVisible ? tooltipId : undefined }\r\n >\r\n { children }\r\n { isTooltipVisible && (\r\n <Tooltip\r\n { ...tooltipProps }\r\n id={ tooltipId }\r\n delay={ delay }\r\n content={ content }\r\n targetElement={ this._getTargetElement() }\r\n directionalHint={ directionalHint }\r\n calloutProps={ assign(calloutProps, { onDismiss: this._onTooltipCallOutDismiss }) }\r\n { ...getNativeProps(this.props, divProperties) }\r\n >\r\n </Tooltip>\r\n ) }\r\n </div>\r\n );\r\n }\r\n\r\n private _getTargetElement(): HTMLElement {\r\n const { overflowMode } = this.props;\r\n\r\n // Select target element based on overflow mode. For parent mode, you want to position the tooltip relative\r\n // to the parent element, otherwise it might look off.\r\n if (overflowMode !== undefined) {\r\n switch (overflowMode) {\r\n case TooltipOverflowMode.Parent:\r\n return this._tooltipHost.parentElement;\r\n\r\n case TooltipOverflowMode.Self:\r\n return this._tooltipHost;\r\n }\r\n }\r\n\r\n return this._tooltipHost;\r\n }\r\n\r\n // Show Tooltip\r\n @autobind\r\n private _onTooltipMouseEnter(ev: any) {\r\n const { overflowMode } = this.props;\r\n\r\n if (overflowMode !== undefined) {\r\n const overflowElement = this._getTargetElement();\r\n if (overflowElement && !hasOverflow(overflowElement)) {\r\n return;\r\n }\r\n }\r\n\r\n this.setState({\r\n isTooltipVisible: true\r\n });\r\n }\r\n\r\n // Hide Tooltip\r\n @autobind\r\n private _onTooltipMouseLeave(ev: any) {\r\n this.setState({\r\n isTooltipVisible: false\r\n });\r\n }\r\n\r\n // Hide Tooltip\r\n @autobind\r\n private _onTooltipCallOutDismiss() {\r\n this.setState({\r\n isTooltipVisible: false\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Tooltip/TooltipHost.tsx","import * as React from 'react';\r\nimport { TooltipHost } from './TooltipHost';\r\nimport { TooltipDelay, ITooltipProps } from './Tooltip.Props';\r\nimport { ICalloutProps } from '../../Callout';\r\nimport { DirectionalHint } from '../../common/DirectionalHint';\r\n\r\nexport interface ITooltipHost {\r\n\r\n}\r\n\r\nexport enum TooltipOverflowMode {\r\n /** Only show tooltip if parent DOM element is overflowing */\r\n Parent,\r\n\r\n /** Only show tooltip if tooltip host's content is overflowing */\r\n Self\r\n}\r\n\r\n/**\r\n * Tooltip component props.\r\n */\r\nexport interface ITooltipHostProps extends React.HTMLProps<HTMLDivElement | TooltipHost> {\r\n /**\r\n * Optional callback to access the ITooltipHost interface. Use this instead of ref for accessing\r\n * the public methods and properties of the component.\r\n */\r\n componentRef?: (component: ITooltipHost) => void;\r\n\r\n /**\r\n * Additional properties to pass through for Callout, reference detail properties in ICalloutProps\r\n */\r\n calloutProps?: ICalloutProps;\r\n\r\n /**\r\n * Additional properties to pass through for Tooltip, reference detail properties in ITooltipProps\r\n */\r\n tooltipProps?: ITooltipProps;\r\n\r\n /**\r\n * Length of delay\r\n * @default medium\r\n */\r\n delay?: TooltipDelay;\r\n\r\n /**\r\n * String to be passed to the tooltip\r\n */\r\n content?: string;\r\n\r\n /**\r\n * Indicator of how the tooltip should be anchored to its targetElement.\r\n * @default DirectionalHint.topCenter\r\n */\r\n directionalHint?: DirectionalHint;\r\n\r\n /**\r\n * Only show if there is overflow. If set, the tooltip hosts observes and only shows the tooltip if this element has overflow.\r\n * It also uses the parent as target element for the tooltip.\r\n */\r\n overflowMode?: TooltipOverflowMode;\r\n\r\n /**\r\n * Optional class name to apply to tooltip host.\r\n */\r\n hostClassName?: string;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Tooltip/TooltipHost.Props.ts","/* tslint:disable */\r\nimport { loadStyles } from '@microsoft/load-themed-styles';\r\n\r\nconst styles = {\r\n host: 'host_e1b7b906',\r\n};\r\n\r\nexport = styles;\r\n\r\nloadStyles([{\"rawString\":\".host_e1b7b906{display:inline}\"}]);\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/components/Tooltip/TooltipHost.scss.ts","/*\r\n\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\tAuthor Tobias Koppers @sokra\r\n*/\r\n// css base code, injected by the css-loader\r\nmodule.exports = function() {\r\n\tvar list = [];\r\n\r\n\t// return the list of modules as css string\r\n\tlist.toString = function toString() {\r\n\t\tvar result = [];\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar item = this[i];\r\n\t\t\tif(item[2]) {\r\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\r\n\t\t\t} else {\r\n\t\t\t\tresult.push(item[1]);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result.join(\"\");\r\n\t};\r\n\r\n\t// import a list of modules into the list\r\n\tlist.i = function(modules, mediaQuery) {\r\n\t\tif(typeof modules === \"string\")\r\n\t\t\tmodules = [[null, modules, \"\"]];\r\n\t\tvar alreadyImportedModules = {};\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar id = this[i][0];\r\n\t\t\tif(typeof id === \"number\")\r\n\t\t\t\talreadyImportedModules[id] = true;\r\n\t\t}\r\n\t\tfor(i = 0; i < modules.length; i++) {\r\n\t\t\tvar item = modules[i];\r\n\t\t\t// skip already imported module\r\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\r\n\t\t\t// when a module is imported multiple times with different media queries.\r\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\r\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\r\n\t\t\t\tif(mediaQuery && !item[2]) {\r\n\t\t\t\t\titem[2] = mediaQuery;\r\n\t\t\t\t} else if(mediaQuery) {\r\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\r\n\t\t\t\t}\r\n\t\t\t\tlist.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\treturn list;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 377\n// module chunks = 0 1 2 3","module.exports = __WEBPACK_EXTERNAL_MODULE_378__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@microsoft/sp-http\"\n// module id = 378\n// module chunks = 0 1 3","export interface ISearchQueryResponse {\n PrimaryQueryResult: IPrimaryQueryResult;\n}\n\nexport interface IPrimaryQueryResult {\n RelevantResults?: IRelevantResults;\n}\n\nexport interface IRelevantResults {\n RowCount: number;\n Table?: ITable;\n}\n\nexport interface ITable {\n Rows?: IRow[];\n}\n\nexport interface IRow {\n Cells: ICell[];\n}\n\nexport interface ICell {\n Key: string;\n Value: string;\n ValueType: string;\n}\n\nexport interface IEdge {\n ActorId: number;\n ObjectId: number;\n Properties: IEdgeProperties;\n}\n\nexport interface IEdgeProperties {\n Action: number;\n Blob: any[];\n BlobContent: string;\n ObjectSource: number;\n Time: string;\n Weight: number;\n}\n\nexport class SearchUtils {\n public static getValueFromResults(key: string, results: ICell[]): string {\n let value: string = undefined;\n\n if (results && results.length > 0 && key) {\n for (let i: number = 0; i < results.length; i++) {\n const resultItem: ICell = results[i];\n if (resultItem.Key === key) {\n value = resultItem.Value;\n break;\n }\n }\n }\n\n return value;\n }\n\n public static getPreviewImageUrl(result: ICell[], siteUrl: string): string {\n const uniqueID: string = SearchUtils.getValueFromResults('uniqueID', result);\n const siteId: string = SearchUtils.getValueFromResults('siteID', result);\n const webId: string = SearchUtils.getValueFromResults('webID', result);\n const docId: string = SearchUtils.getValueFromResults('DocId', result);\n if (uniqueID && siteId && webId && docId) {\n return `${siteUrl}/_layouts/15/getpreview.ashx?guidFile=${uniqueID}&guidSite=${siteId}&guidWeb=${webId}&docid=${docId}\n &metadatatoken=300x424x2&ClientType=CodenameOsloWeb&size=small`;\n }\n else {\n return '';\n }\n }\n\n public static getActionName(actionId: number): string {\n switch (actionId) {\n case 1001:\n return 'Viewed';\n case 1003:\n return 'Modified';\n default:\n return '';\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ../../src/webparts/SearchUtils.ts","export class Utils {\n public static getUserPhotoUrl(userEmail: string, siteUrl: string, size: string = 'S'): string {\n return `${siteUrl}/_layouts/15/userphoto.aspx?size=${size}&accountname=${userEmail}`;\n }\n\n public static trim(s: string): string {\n if (s && s.length > 0) {\n return s.replace(/^\\s+|\\s+$/gm, '');\n }\n else {\n return s;\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ../../src/webparts/Utils.ts","module.exports = __WEBPACK_EXTERNAL_MODULE_392__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"workingWithStrings\"\n// module id = 392\n// module chunks = 3","import * as React from 'react';\n\nimport styles from '../WorkingWith.module.scss';\nimport { IWorkingWithWebPartProps } from '../IWorkingWithWebPartProps';\nimport { SPHttpClient, SPHttpClientConfiguration, SPHttpClientResponse, ODataVersion, ISPHttpClientConfiguration } from '@microsoft/sp-http';\nimport { SearchUtils, ISearchQueryResponse, IRow } from '../../SearchUtils';\nimport { Utils } from '../../Utils';\nimport {\n css,\n Persona,\n PersonaSize,\n PersonaPresence,\n Spinner\n} from 'office-ui-fabric-react';\n\nexport interface IWorkingWithProps extends IWorkingWithWebPartProps {\n httpClient: SPHttpClient;\n siteUrl: string;\n}\n\nexport interface IPerson {\n name: string;\n email: string;\n jobTitle: string;\n department: string;\n photoUrl: string;\n profileUrl: string;\n}\n\nexport interface IWorkingWithState {\n loading: boolean;\n people: IPerson[];\n error: string;\n}\n\nexport default class WorkingWith extends React.Component<IWorkingWithProps, IWorkingWithState> {\n constructor(props: IWorkingWithProps, state: IWorkingWithState) {\n super(props);\n\n this.state = {\n people: [],\n loading: true,\n error: null\n };\n }\n\n public componentDidMount(): void {\n this.loadPeople(this.props.siteUrl, this.props.numberOfPeople);\n }\n\n public componentDidUpdate(prevProps: IWorkingWithProps, prevState: IWorkingWithState, prevContext: any): void {\n if (this.props.numberOfPeople !== prevProps.numberOfPeople ||\n this.props.siteUrl !== prevProps.siteUrl && (\n this.props.numberOfPeople && this.props.siteUrl\n )) {\n this.loadPeople(this.props.siteUrl, this.props.numberOfPeople);\n }\n }\n\n public render(): JSX.Element {\n const loading: JSX.Element = this.state.loading ? <div style={{ margin: '0 auto' }}><Spinner label={'Loading...'} /></div> : <div/>;\n const error: JSX.Element = this.state.error ? <div><strong>Error: </strong> {this.state.error}</div> : <div/>;\n const people: JSX.Element[] = this.state.people.map((person: IPerson, i: number) => {\n return (\n <Persona\n primaryText={person.name}\n secondaryText={person.jobTitle}\n tertiaryText={person.department}\n imageUrl={person.photoUrl}\n size={PersonaSize.large}\n presence={PersonaPresence.none}\n onClick={() => { this.navigateTo(person.profileUrl); } }\n key={person.email} />\n );\n });\n\n return (\n <div className={styles.workingWith}>\n <div className={css('ms-font-xl', styles.webPartTitle)}>{this.props.title}</div>\n {loading}\n {error}\n {people}\n </div>\n );\n }\n\n private navigateTo(url: string): void {\n window.open(url, '_blank');\n }\n\n private loadPeople(siteUrl: string, numberOfPeople: number): void {\n this.props.httpClient.get(`${siteUrl}/_api/search/query?querytext='*'&properties='GraphQuery:actor(me\\\\,action\\\\:1019)'&selectproperties='Title,WorkEmail,JobTitle,Department,Path'&rowlimit=${numberOfPeople}`, SPHttpClient.configurations.v1 , {\n headers: {\n 'Accept': 'application/json;odata=nometadata',\n 'odata-version': ''\n }\n })\n .then((response: SPHttpClientResponse): Promise<ISearchQueryResponse> => {\n return response.json();\n })\n .then((response: ISearchQueryResponse): void => {\n if (!response ||\n !response.PrimaryQueryResult ||\n !response.PrimaryQueryResult.RelevantResults ||\n response.PrimaryQueryResult.RelevantResults.RowCount === 0) {\n this.setState({\n loading: false,\n error: null,\n people: []\n });\n return;\n }\n\n const people: IPerson[] = [];\n for (let i: number = 0; i < response.PrimaryQueryResult.RelevantResults.Table.Rows.length; i++) {\n const personRow: IRow = response.PrimaryQueryResult.RelevantResults.Table.Rows[i];\n const email: string = SearchUtils.getValueFromResults('WorkEmail', personRow.Cells);\n people.push({\n name: SearchUtils.getValueFromResults('Title', personRow.Cells),\n email: email,\n jobTitle: SearchUtils.getValueFromResults('JobTitle', personRow.Cells),\n department: SearchUtils.getValueFromResults('Department', personRow.Cells),\n photoUrl: Utils.getUserPhotoUrl(email, siteUrl, 'L'),\n profileUrl: SearchUtils.getValueFromResults('Path', personRow.Cells)\n });\n }\n\n this.setState({\n loading: false,\n error: null,\n people: people\n });\n }, (error: any): void => {\n this.setState({\n loading: false,\n error: error,\n people: []\n });\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ../../../../src/webparts/workingWith/components/WorkingWith.tsx","/* tslint:disable */\r\nrequire('./WorkingWith.module.css');\r\nconst styles = {\r\n workingWith: 'workingWith_cca48a75',\r\n webPartTitle: 'webPartTitle_cca48a75',\r\n};\r\n\r\nexport default styles;\r\n/* tslint:enable */\n\n\n// WEBPACK FOOTER //\n// ../../../src/webparts/workingWith/WorkingWith.module.scss.ts","var content = require(\"!!../../../node_modules/css-loader/index.js?-minimize!./WorkingWith.module.css\");\nvar loader = require(\"E:\\\\spfx-demo\\\\react-officegraph\\\\node_modules\\\\@microsoft\\\\load-themed-styles\\\\lib\\\\index.js\");\n\nif(typeof content === \"string\") content = [[module.id, content]];\n\n// add the styles to the DOM\nfor (var i = 0; i < content.length; i++) loader.loadStyles(content[i][1]);\n\nif(content.locals) module.exports = content.locals;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/webparts/workingWith/WorkingWith.module.css\n// module id = 395\n// module chunks = 3","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".workingWith_cca48a75 .webPartTitle_cca48a75{margin-bottom:1em}.workingWith_cca48a75 .ms-Spinner{width:7em;margin:0 auto}.workingWith_cca48a75 .ms-Persona{cursor:pointer}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader?-minimize!./lib/webparts/workingWith/WorkingWith.module.css\n// module id = 396\n// module chunks = 3"],"sourceRoot":""}