{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/flux360/EmbeddedDialogues/SituationGallery.vue?5e98","webpack:///./src/assets/ic_join.png","webpack:///./src/components/flux360/Tooltip.vue?15a4","webpack:///./src/assets/panoramaThumbnail.jpg","webpack:///./src/components/flux360/EmbeddedDialogues/WebsiteDialogue.vue?ad2f","webpack:///./src/components/flux360/TransitionPreview.vue?ea0b","webpack:///./src/App.vue?7f5e","webpack:///./src/components/flux360/LoginComponents/AudioVideoDialogue.vue?20b2","webpack:///./src/components/flux360/EmbeddedDialogues/MapDialogue/MapDialogue.vue?3160","webpack:///./src/assets/seppeler_tooltip.svg","webpack:///./src/components/flux360/Watermark.vue?0fdc","webpack:///./src/assets/skip_previous_dark.svg","webpack:///./src/components/flux360/LoginComponents/AudioTest.vue?7458","webpack:///./src/assets/gyrosicon.png","webpack:///./src/assets sync ^\\.\\/.*$","webpack:///./src/assets/Map.svg","webpack:///./src/assets/ic_container_open.svg","webpack:///./src/components/flux360/LoginComponents/TroubleShooting.vue?ae7f","webpack:///./src/components/flux360/Flux360.vue?ffa0","webpack:///./src/components/flux360/Watermark.vue?9cb8","webpack:///./src/assets/ic_mediaControl.svg","webpack:///./src/assets/user Icon.svg","webpack:///./src/components/flux360/EmbeddedDialogues/ForcedDisconnect.vue?bb42","webpack:///./src/components/flux360/SidebarComponents/VideoSessionPanel.vue?6819","webpack:///./src/assets/flux360-360-viewer-Button.svg","webpack:///./src/assets/volume_off_dark.svg","webpack:///./src/assets/volume_off_white_24dp.svg","webpack:///./src/components/flux360/LoginComponents/TroubleShooting.vue?4694","webpack:///./src/components/flux360/Navigation.vue?919d","webpack:///./src/assets/play_dark.svg","webpack:///./src/components/flux360/LanguageSelection.vue?a7e4","webpack:///./src/components/flux360/EmbeddedDialogues/ForcedDisconnect.vue?1a04","webpack:///./src/assets/font/Linotype - DIN Next Rounded LT Pro Medium.ttf","webpack:///./src/assets/flux360-information-Button.svg","webpack:///./src/components/flux360/LoginComponents/TroubleShooting.vue?9bab","webpack:///./src/assets/play 3DViewer.png","webpack:///./src/components/flux360/LoginComponents/AudioTest.vue?9409","webpack:///./src/components/flux360/EmbeddedDialogues/WebsiteDialogue.vue?c677","webpack:///./src/components/flux360/SidebarComponents/ChatTab.vue?f8b3","webpack:///./src/components/flux360/EmbeddedDialogues/Viewer3D/Viewer3D.vue?3fa2","webpack:///./src/assets/pause 3DViewer.png","webpack:///./src/assets/seppeler_tooltip_cutted.svg","webpack:///./src/assets/flux360-Tutorial_scroll.svg","webpack:///./src/components/flux360/EmbeddedDialogues/CustomDialogue.vue?585b","webpack:///./src/components/flux360/Navigation.vue?a29e","webpack:///./src/components/flux360/EmbeddedDialogues/TutorialDialogue.vue?b5e2","webpack:///./src/assets/ic_container_open_bold.svg","webpack:///./src/assets/ic_container_close_bold.svg","webpack:///./src/assets/play-button.png","webpack:///./src/components/flux360/MediaController.vue?269f","webpack:///./src/assets/icon_explore-product.svg","webpack:///./src/components/flux360/SidebarComponents/VideoSessionPanel.vue?292d","webpack:///./src/components/flux360/SidebarComponents/Sidebar.vue?29ee","webpack:///./src/App.vue?0e4b","webpack:///./src/components/flux360/Tooltip.vue?0f49","webpack:///./src/components/flux360/LoginComponents/AudioVideoDialogue.vue?0986","webpack:///./src/assets/no-thumb.png","webpack:///./src/components/flux360/EmbeddedDialogues/ShareDialogue.vue?a580","webpack:///./src/assets/font/Linotype - DIN Next Rounded LT Pro Bold.ttf","webpack:///./src/components/babylonjs/Renderer.vue?0051","webpack:///./src/App.vue?4631","webpack:///./src/store/flux360/Request.js","webpack:///./src/store/flux360/PrefabDataTypes.js","webpack:///./src/components/flux360/Flux360.vue?6f02","webpack:///./src/components/babylonjs/Renderer.vue?7523","webpack:///src/components/babylonjs/Renderer.vue","webpack:///./src/components/babylonjs/Renderer.vue?9106","webpack:///./src/components/babylonjs/Renderer.vue","webpack:///./src/components/flux360/PanoramaScene.vue?6193","webpack:///./src/components/flux360/components/BasicComponent.js","webpack:///./src/store/flux360/MediaManagerDataTypes.js","webpack:///./src/api/MediaManager.js","webpack:///./src/components/flux360/components/Audio.js","webpack:///./src/components/flux360/components/VisualComponent.js","webpack:///./src/components/flux360/components/Image.js","webpack:///./src/components/flux360/components/ImageSphere.js","webpack:///./src/components/babylonjs/Materials.js","webpack:///./src/components/flux360/components/NotifyPosition.js","webpack:///./src/components/flux360/components/Text.js","webpack:///./src/components/flux360/components/Transition.js","webpack:///./src/components/flux360/components/URLButton.js","webpack:///./src/components/flux360/components/User.js","webpack:///./src/components/flux360/components/Video.js","webpack:///./src/components/flux360/components/VideoList.js","webpack:///./src/components/flux360/components/VideoSphere.js","webpack:///./src/components/flux360/components/Viewer3D.js","webpack:///./src/components/flux360/components/Constructor.js","webpack:///./src/store/flux360/EventDataTypes.js","webpack:///./src/components/flux360/CustomSituations/CustomSituations.vue?eef6","webpack:///./src/components/flux360/CustomSituations/VideoLink.vue?d2d7","webpack:///src/components/flux360/CustomSituations/VideoLink.vue","webpack:///./src/components/flux360/CustomSituations/VideoLink.vue?7945","webpack:///./src/components/flux360/CustomSituations/VideoLink.vue","webpack:///./src/components/flux360/CustomSituations/SituationOverlays.vue?424f","webpack:///src/components/flux360/CustomSituations/SituationOverlays.vue","webpack:///./src/components/flux360/CustomSituations/SituationOverlays.vue?21d6","webpack:///./src/components/flux360/CustomSituations/SituationOverlays.vue","webpack:///./src/components/flux360/CustomSituations/IntroMenu.vue?f67a","webpack:///src/components/flux360/CustomSituations/IntroMenu.vue","webpack:///./src/components/flux360/CustomSituations/IntroMenu.vue?06bc","webpack:///./src/components/flux360/CustomSituations/IntroMenu.vue","webpack:///src/components/flux360/CustomSituations/CustomSituations.vue","webpack:///./src/components/flux360/CustomSituations/CustomSituations.vue?43f0","webpack:///./src/components/flux360/CustomSituations/CustomSituations.vue","webpack:///src/components/flux360/PanoramaScene.vue","webpack:///./src/components/flux360/PanoramaScene.vue?564e","webpack:///./src/components/flux360/PanoramaScene.vue","webpack:///./src/components/babylonjs/RenderController.vue?5f33","webpack:///src/components/babylonjs/RenderController.vue","webpack:///./src/components/babylonjs/RenderController.vue?af67","webpack:///./src/components/babylonjs/RenderController.vue","webpack:///./src/components/flux360/PanoramaSceneUI.vue?a4b5","webpack:///./src/store/flux360/UserDataTypes.js","webpack:///src/components/flux360/PanoramaSceneUI.vue","webpack:///./src/components/flux360/PanoramaSceneUI.vue?f48f","webpack:///./src/components/flux360/PanoramaSceneUI.vue","webpack:///./src/store/error-handler.js","webpack:///src/components/flux360/Flux360.vue","webpack:///./src/components/flux360/Flux360.vue?0dd2","webpack:///./src/components/flux360/Flux360.vue","webpack:///./src/components/flux360/EmbeddedDialogues/MapDialogue/MapDialogue.vue?6094","webpack:///./src/components/flux360/EmbeddedDialogues/MapDialogue/SituationPin.vue?3cd8","webpack:///./src/components/flux360/EmbeddedDialogues/MapDialogue/SituationCard.vue?f33b","webpack:///src/components/flux360/EmbeddedDialogues/MapDialogue/SituationCard.vue","webpack:///./src/components/flux360/EmbeddedDialogues/MapDialogue/SituationCard.vue?3c5b","webpack:///./src/components/flux360/EmbeddedDialogues/MapDialogue/SituationCard.vue","webpack:///src/components/flux360/EmbeddedDialogues/MapDialogue/SituationPin.vue","webpack:///./src/components/flux360/EmbeddedDialogues/MapDialogue/SituationPin.vue?b288","webpack:///./src/components/flux360/EmbeddedDialogues/MapDialogue/SituationPin.vue","webpack:///src/components/flux360/EmbeddedDialogues/MapDialogue/MapDialogue.vue","webpack:///./src/components/flux360/EmbeddedDialogues/MapDialogue/MapDialogue.vue?743b","webpack:///./src/components/flux360/EmbeddedDialogues/MapDialogue/MapDialogue.vue","webpack:///./src/components/flux360/MediaController.vue?4251","webpack:///src/components/flux360/MediaController.vue","webpack:///./src/components/flux360/MediaController.vue?4f1f","webpack:///./src/components/flux360/MediaController.vue","webpack:///./src/components/flux360/EmbeddedDialogues/WaitForModeratorDialogue.vue?d60a","webpack:///src/components/flux360/EmbeddedDialogues/WaitForModeratorDialogue.vue","webpack:///./src/components/flux360/EmbeddedDialogues/WaitForModeratorDialogue.vue?0090","webpack:///./src/components/flux360/EmbeddedDialogues/WaitForModeratorDialogue.vue","webpack:///./src/components/flux360/Watermark.vue?a93c","webpack:///src/components/flux360/Watermark.vue","webpack:///./src/components/flux360/Watermark.vue?ae01","webpack:///./src/components/flux360/Watermark.vue","webpack:///./src/components/flux360/Navigation.vue?96e7","webpack:///src/components/flux360/Navigation.vue","webpack:///./src/components/flux360/Navigation.vue?5a2d","webpack:///./src/components/flux360/Navigation.vue","webpack:///./src/components/flux360/EmbeddedDialogues/ShareDialogue.vue?47a7","webpack:///src/components/flux360/EmbeddedDialogues/ShareDialogue.vue","webpack:///./src/components/flux360/EmbeddedDialogues/ShareDialogue.vue?df18","webpack:///./src/components/flux360/EmbeddedDialogues/ShareDialogue.vue","webpack:///./src/components/flux360/ModeratorMenu.vue?016a","webpack:///src/components/flux360/ModeratorMenu.vue","webpack:///./src/components/flux360/ModeratorMenu.vue?cd19","webpack:///./src/components/flux360/ModeratorMenu.vue","webpack:///./src/components/flux360/EmbeddedDialogues/ScreenSharingPanel.vue?876c","webpack:///src/components/flux360/EmbeddedDialogues/ScreenSharingPanel.vue","webpack:///./src/components/flux360/EmbeddedDialogues/ScreenSharingPanel.vue?1073","webpack:///./src/components/flux360/EmbeddedDialogues/ScreenSharingPanel.vue","webpack:///./src/components/flux360/LoginComponents/LoginDialogue.vue?e715","webpack:///./src/utils/string-utils.js","webpack:///./src/components/flux360/LoginComponents/AudioVideoDialogue.vue?e2e8","webpack:///./src/components/flux360/LoginComponents/TroubleShooting.vue?b590","webpack:///src/components/flux360/LoginComponents/TroubleShooting.vue","webpack:///./src/components/flux360/LoginComponents/TroubleShooting.vue?f225","webpack:///./src/components/flux360/LoginComponents/TroubleShooting.vue","webpack:///./src/components/flux360/LoginComponents/ConnectionTest.vue?80de","webpack:///./src/api/raumtaenzer.js","webpack:///src/components/flux360/LoginComponents/ConnectionTest.vue","webpack:///./src/components/flux360/LoginComponents/ConnectionTest.vue?ef7a","webpack:///./src/components/flux360/LoginComponents/ConnectionTest.vue","webpack:///./src/components/flux360/LoginComponents/AudioTest.vue?77ea","webpack:///src/components/flux360/LoginComponents/AudioTest.vue","webpack:///./src/components/flux360/LoginComponents/AudioTest.vue?c15a","webpack:///./src/components/flux360/LoginComponents/AudioTest.vue","webpack:///src/components/flux360/LoginComponents/AudioVideoDialogue.vue","webpack:///./src/components/flux360/LoginComponents/AudioVideoDialogue.vue?3ec4","webpack:///./src/components/flux360/LoginComponents/AudioVideoDialogue.vue","webpack:///src/components/flux360/LoginComponents/LoginDialogue.vue","webpack:///./src/components/flux360/LoginComponents/LoginDialogue.vue?cd7e","webpack:///./src/components/flux360/LoginComponents/LoginDialogue.vue","webpack:///./src/components/flux360/EmbeddedDialogues/WebsiteDialogue.vue?af16","webpack:///src/components/flux360/EmbeddedDialogues/WebsiteDialogue.vue","webpack:///./src/components/flux360/EmbeddedDialogues/WebsiteDialogue.vue?95a5","webpack:///./src/components/flux360/EmbeddedDialogues/WebsiteDialogue.vue","webpack:///./src/components/flux360/EmbeddedDialogues/CustomDialogue.vue?5d48","webpack:///./src/components/flux360/EmbeddedDialogues/Viewer3D/Viewer3D.vue?bdf4","webpack:///./src/components/flux360/EmbeddedDialogues/Viewer3D/interactables.js","webpack:///./src/components/flux360/EmbeddedDialogues/Viewer3D/util.js","webpack:///./src/components/flux360/EmbeddedDialogues/Viewer3D/loadMeshes.js","webpack:///./src/components/flux360/EmbeddedDialogues/Viewer3D/initialization.js","webpack:///./src/components/flux360/EmbeddedDialogues/Viewer3D/animations.js","webpack:///src/components/flux360/EmbeddedDialogues/Viewer3D/Viewer3D.vue","webpack:///./src/components/flux360/EmbeddedDialogues/Viewer3D/Viewer3D.vue?4996","webpack:///./src/components/flux360/EmbeddedDialogues/Viewer3D/Viewer3D.vue","webpack:///src/components/flux360/EmbeddedDialogues/CustomDialogue.vue","webpack:///./src/components/flux360/EmbeddedDialogues/CustomDialogue.vue?e7f3","webpack:///./src/components/flux360/EmbeddedDialogues/CustomDialogue.vue","webpack:///./src/components/flux360/EmbeddedDialogues/ForcedDisconnect.vue?67b0","webpack:///src/components/flux360/EmbeddedDialogues/ForcedDisconnect.vue","webpack:///./src/components/flux360/EmbeddedDialogues/ForcedDisconnect.vue?a7f8","webpack:///./src/components/flux360/EmbeddedDialogues/ForcedDisconnect.vue","webpack:///./src/components/flux360/EmbeddedDialogues/BugReportDialogue.vue?1a25","webpack:///src/components/flux360/EmbeddedDialogues/BugReportDialogue.vue","webpack:///./src/components/flux360/EmbeddedDialogues/BugReportDialogue.vue?7665","webpack:///./src/components/flux360/EmbeddedDialogues/BugReportDialogue.vue","webpack:///./src/components/flux360/Loadingscreen.vue?15e8","webpack:///src/components/flux360/Loadingscreen.vue","webpack:///./src/components/flux360/Loadingscreen.vue?0b66","webpack:///./src/components/flux360/Loadingscreen.vue","webpack:///./src/components/flux360/LanguageSelection.vue?3aa5","webpack:///src/components/flux360/LanguageSelection.vue","webpack:///./src/components/flux360/LanguageSelection.vue?9993","webpack:///./src/components/flux360/LanguageSelection.vue","webpack:///./src/components/flux360/TransitionPreview.vue?e8a2","webpack:///src/components/flux360/TransitionPreview.vue","webpack:///./src/components/flux360/TransitionPreview.vue?d461","webpack:///./src/components/flux360/TransitionPreview.vue","webpack:///./src/components/flux360/SidebarComponents/Sidebar.vue?c909","webpack:///./src/components/flux360/SidebarComponents/ChatTab.vue?b636","webpack:///src/components/flux360/SidebarComponents/ChatTab.vue","webpack:///./src/components/flux360/SidebarComponents/ChatTab.vue?0344","webpack:///./src/components/flux360/SidebarComponents/ChatTab.vue","webpack:///./src/components/flux360/SidebarComponents/ParticipantTab.vue?a585","webpack:///./src/components/flux360/SidebarComponents/ParticipantMenue.vue?8674","webpack:///src/components/flux360/SidebarComponents/ParticipantMenue.vue","webpack:///./src/components/flux360/SidebarComponents/ParticipantMenue.vue?6ed2","webpack:///./src/components/flux360/SidebarComponents/ParticipantMenue.vue","webpack:///src/components/flux360/SidebarComponents/ParticipantTab.vue","webpack:///./src/components/flux360/SidebarComponents/ParticipantTab.vue?3513","webpack:///./src/components/flux360/SidebarComponents/ParticipantTab.vue","webpack:///./src/components/flux360/SidebarComponents/VideoSessionPanel.vue?5911","webpack:///./src/api/ModeratorCommands.js","webpack:///src/components/flux360/SidebarComponents/VideoSessionPanel.vue","webpack:///./src/components/flux360/SidebarComponents/VideoSessionPanel.vue?77d3","webpack:///./src/components/flux360/SidebarComponents/VideoSessionPanel.vue","webpack:///src/components/flux360/SidebarComponents/Sidebar.vue","webpack:///./src/components/flux360/SidebarComponents/Sidebar.vue?918b","webpack:///./src/components/flux360/SidebarComponents/Sidebar.vue","webpack:///./src/components/flux360/EmbeddedDialogues/SituationGallery.vue?b6e1","webpack:///src/components/flux360/EmbeddedDialogues/SituationGallery.vue","webpack:///./src/components/flux360/EmbeddedDialogues/SituationGallery.vue?7db9","webpack:///./src/components/flux360/EmbeddedDialogues/SituationGallery.vue","webpack:///./src/components/flux360/EmbeddedDialogues/TutorialDialogue.vue?4bae","webpack:///src/components/flux360/EmbeddedDialogues/TutorialDialogue.vue","webpack:///./src/components/flux360/EmbeddedDialogues/TutorialDialogue.vue?c727","webpack:///./src/components/flux360/EmbeddedDialogues/TutorialDialogue.vue","webpack:///./src/components/flux360/Tooltip.vue?15e3","webpack:///src/components/flux360/Tooltip.vue","webpack:///./src/components/flux360/Tooltip.vue?2267","webpack:///./src/components/flux360/Tooltip.vue","webpack:///src/App.vue","webpack:///./src/App.vue?e1b7","webpack:///./src/App.vue","webpack:///./src/api/FluxCMS.js","webpack:///./src/components/babylonjs/Converter.js","webpack:///./src/store/flux360/CommandDataTypes.js","webpack:///./src/store/flux360/Flux360Store.js","webpack:///./src/store/index.js","webpack:///./src/plugins/i18n.js","webpack:///./src/main.js","webpack:///./src/components/flux360/Watermark.vue?a30a","webpack:///./src/assets/play.svg","webpack:///./src/assets/skip_next_dark.svg","webpack:///./src/components/flux360/Tooltip.vue?dd23","webpack:///./src/components/flux360/SidebarComponents/Sidebar.vue?cc91","webpack:///./src/assets/pause-button.png","webpack:///./src/components/flux360/EmbeddedDialogues/WaitForModeratorDialogue.vue?2b94","webpack:///./src/components/flux360/LoginComponents/ConnectionTest.vue?cb0b","webpack:///./src/components/babylonjs/Renderer.vue?4a07","webpack:///./src/components/flux360/Loadingscreen.vue?a10b","webpack:///./src/components/flux360/EmbeddedDialogues/BugReportDialogue.vue?8306","webpack:///./src/components/flux360/LoginComponents/LoginDialogue.vue?a619","webpack:///./src/components/flux360/SidebarComponents/ParticipantMenue.vue?749f","webpack:///./src/assets/Fullscreen.svg","webpack:///./src/components/flux360/EmbeddedDialogues/TutorialDialogue.vue?8cfd","webpack:///./src/components/flux360/Flux360.vue?b1b8","webpack:///./src/components/flux360/EmbeddedDialogues/MapDialogue/SituationPin.vue?b109","webpack:///./src/assets/highlight.png","webpack:///./src/assets/web_asset.svg","webpack:///./src/components/flux360/LanguageSelection.vue?4e45","webpack:///./src/assets/format_list_bulleted.svg","webpack:///./src/components/flux360/SidebarComponents/ParticipantMenue.vue?7d97","webpack:///./src/components/flux360/MediaController.vue?ca45","webpack:///./src/components/flux360/EmbeddedDialogues/MapDialogue/SituationCard.vue?6633","webpack:///./src/components/flux360/Flux360.vue?2bca","webpack:///./src/assets/icons8-adjust-50.png","webpack:///./src/components/flux360/LoginComponents/AudioTest.vue?a092","webpack:///./src/components/flux360/SidebarComponents/ParticipantTab.vue?2624","webpack:///./src/assets/pause_dark.svg","webpack:///./src/assets/skip_previous.svg","webpack:///./src/components/flux360/EmbeddedDialogues/MapDialogue/SituationPin.vue?77ae","webpack:///./src/components/flux360/EmbeddedDialogues/TutorialDialogue.vue?6900","webpack:///./src/assets/sounds/ripple.mp3","webpack:///./src/assets/disclaimer.png","webpack:///./src/components/flux360/EmbeddedDialogues/BugReportDialogue.vue?4d41","webpack:///./src/components/flux360/EmbeddedDialogues/BugReportDialogue.vue?1f32","webpack:///./src/assets/Tutorial.svg","webpack:///./src/components/flux360/SidebarComponents/ChatTab.vue?dc70","webpack:///./src/assets/Communication.svg","webpack:///./src/components/flux360/EmbeddedDialogues/Viewer3D/Viewer3D.vue?6f66","webpack:///./src/components/flux360/EmbeddedDialogues/SituationGallery.vue?c072","webpack:///./src/components/flux360/EmbeddedDialogues/ScreenSharingPanel.vue?c6d2","webpack:///./src/assets/format_list_bulleted_dark.svg","webpack:///./src/components/flux360/LanguageSelection.vue?f44d","webpack:///./src/components/flux360/LoginComponents/AudioVideoDialogue.vue?f0f2","webpack:///./src/components/flux360/EmbeddedDialogues/MapDialogue/SituationCard.vue?3954","webpack:///./src/assets/black_background_for_publisher.png","webpack:///./src/components/flux360/EmbeddedDialogues/CustomDialogue.vue?cd0b","webpack:///./src/components/flux360/EmbeddedDialogues/WaitForModeratorDialogue.vue?494b","webpack:///./src/components/flux360/EmbeddedDialogues/CustomDialogue.vue?ab27","webpack:///./src/components/flux360/LoginComponents/LoginDialogue.vue?d0be","webpack:///./src/assets/ic_hang_up.png","webpack:///./src/components/flux360/EmbeddedDialogues/MapDialogue/SituationCard.vue?958d","webpack:///./src/assets/bugreport icon.png","webpack:///./src/components/flux360/EmbeddedDialogues/MapDialogue/SituationPin.vue?9bc0","webpack:///./src/assets/ic_container_close.svg","webpack:///./src/components/flux360/EmbeddedDialogues/MapDialogue/MapDialogue.vue?fda1","webpack:///./src/components/flux360/EmbeddedDialogues/WaitForModeratorDialogue.vue?0035","webpack:///./src/components/flux360/EmbeddedDialogues/WebsiteDialogue.vue?a1a5","webpack:///./src/components/flux360/Loadingscreen.vue?e5f3","webpack:///./src/assets/sounds/sendMessage.mp3","webpack:///./src/components/flux360/MediaController.vue?16b5","webpack:///./src/assets/icons8-pdf-50.png","webpack:///./src/components/flux360/TransitionPreview.vue?b3eb","webpack:///./src/components/flux360/EmbeddedDialogues/ScreenSharingPanel.vue?65cb","webpack:///./src/components/flux360/EmbeddedDialogues/ShareDialogue.vue?6971","webpack:///./src/components/flux360/LoginComponents/ConnectionTest.vue?2257","webpack:///./src/components/flux360/EmbeddedDialogues/ShareDialogue.vue?b886","webpack:///./src/components/flux360/ModeratorMenu.vue?a584","webpack:///./src/assets/icon_open-lid.svg","webpack:///./src/components/flux360/EmbeddedDialogues/Viewer3D/Viewer3D.vue?0d75","webpack:///./src/assets/font/Linotype - DIN Next Rounded LT Pro Light.ttf","webpack:///./src/components/flux360/Navigation.vue?0b1c","webpack:///./src/assets/ic_loupe.png","webpack:///./src/assets/sounds/newMessage.mp3","webpack:///./src/components/flux360/SidebarComponents/VideoSessionPanel.vue?dd46","webpack:///./src/components/flux360/Loadingscreen.vue?d393","webpack:///./src/assets/skip_next.svg","webpack:///./src/components/flux360/ModeratorMenu.vue?4a9d","webpack:///./src/components/flux360/SidebarComponents/ChatTab.vue?0b61","webpack:///./src/components/flux360/SidebarComponents/ParticipantTab.vue?8e7a","webpack:///./src/components/flux360/EmbeddedDialogues/MapDialogue/MapDialogue.vue?3658","webpack:///./src/components/babylonjs/Renderer.vue?e66c","webpack:///./src/components/flux360/EmbeddedDialogues/ForcedDisconnect.vue?3a2c","webpack:///./src/components/flux360/TransitionPreview.vue?4d48","webpack:///./src/assets/play.png","webpack:///./src/components/flux360/LoginComponents/ConnectionTest.vue?c1ac","webpack:///./src/components/flux360/SidebarComponents/Sidebar.vue?eb01","webpack:///./src/assets/volume_up_white_24dp.svg","webpack:///./src/assets/font/Linotype - DIN Next Rounded LT Pro Regular.ttf","webpack:///./src/assets/icon_close-lid.svg","webpack:///./src/assets/volume_up_dark.svg","webpack:///./src/assets/pause.svg","webpack:///./src/App.vue?578c","webpack:///./src/components/flux360/ModeratorMenu.vue?047d","webpack:///./src/components/flux360/SidebarComponents/ParticipantTab.vue?3d5e","webpack:///./src/components/flux360/EmbeddedDialogues/SituationGallery.vue?344f","webpack:///./src/components/flux360/SidebarComponents/ParticipantMenue.vue?cbda","webpack:///./src/assets/web_asset_dark.svg","webpack:///./src/components/flux360/EmbeddedDialogues/ScreenSharingPanel.vue?ec8f","webpack:///./src/components/flux360/LoginComponents/LoginDialogue.vue?5e72","webpack:///./src/assets/chevron.png"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","content","default","locals","add","___CSS_LOADER_API_IMPORT___","___CSS_LOADER_GET_URL_IMPORT___","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","map","webpackContext","req","id","webpackContextResolve","e","Error","code","keys","resolve","render","_vm","this","_c","_self","ref","staticClass","attrs","on","fullscreenChange","directives","rawName","expression","mapVisible","fullScreen","loginDialogueVisible","gyrosSupported","gyrosActive","bugReportVisible","situationGalleryVisible","sharingVisible","loggedIn","comVisible","localUserIsModerator","tutorialVisible","_e","toggleLogin","enablePermanentPanoramaVideoControls","isVideoPanorama","mediaControlsVisible","staticStyle","$event","toggleDebugger","_v","staticRenderFns","Request","requestedBy","requestType","timeStamp","assign","RequestType","freeze","Play","Pause","Stop","Reset","JumpToTimePosition","ChangeVolume","paused","pauseType","duration","requests","user","console","log","playRequest","Date","getTime","pauseRequest","stopRequest","resetRequest","time","jumpToTimePositionRequest","timeToJumpTo","volume","changeVolumeRequest","PauseType","Explicit","Implicit","Prefab","type","runtimeState","json","idName","setID","setType","presetType","error","PrefabType","Situation","SituationImage","SituationVideo","VisualPrefab","ContentPrefab","AudioContent","ImageContent","VideoContent","VideoListContent","Transition","TextContent","URLButton","Application360","Viewer3D","packageName","description","startSituationID","backgroundColor","splashScreens","splashScreenDisplayTime","startInteractionType","super","isOfType","splashScreen","parseFromJSON","setStartSituationID","start_room","setBackgroundColor","background_color","setSplashScreen","splashscreens","setSplashScreenDisplayTime","splashscreen_display_time","setStartInteractionType","start_interaction_type","rv","toJSON","thumbnail","autoJump","autoJumpAtTime","autoJumpTarget","loop","videoWidth","videoHeight","exposedInUI","exposedUIHeader","getID","setName","display_name","setDescription","display_description","setThumbnail","setAutoJump","setAutoJumpAtTime","setAutoJumpTarget","setLoop","setVideoWidth","setVideoHeight","setExposedInUI","setExposedUIHeader","sphereImageID","setSphereImageID","roomSphereImage","contentIDs","getSphereImageID","sphereVideoID","setSphereVideoID","roomSphereVideo","getSphereVideoID","situation","position","rotation","positionPixel","rotationX","rotationY","rotationZ","setSituation","room","setPosition","room_relative_position","setPositionPixel","room_relative_position_pixel","setRotation","setRotationX","setRotationY","setRotationZ","scale","billboard","setScale","setBillboard","rotate_towards_user","contentId","iconID","undefined","autoplay","autoplayAtTime","looping","clickable","volumeScale","width","height","displayThumbnailBeforeStart","displayThumbnailWhenPaused","distance","displayControls","enlargeOnClick","setContentID","video","setIconID","setAutoplayAtTime","autoPlayAtTime","setAutoplay","setLooping","setDistance","setClickable","setVolumeScale","volume_scale","setDisplayThumbnailBeforeStart","setDisplayThumbnailWhenPaused","setWidth","setHeight","setDisplayControls","display_controls","setEnlargeOnClick","enlarge_on_click","contentID","getContentID","contentIds","titles","descriptionTexts","tiles","iconIDs","setContentIDs","videos","imageID","setImageID","image","getImageID","URLButtonContent","url","displayInternally","displayUrl","URL","setURL","Vorschaubild","setdisplayInternally","display_internally","setdisplayUrl","show_url","getIconID","audioID","isAmbient","is_ambient","setAudioID","audio","setIsAmbient","autoplay_at_time","getAudioID","scaleX","scaleY","scaleZ","setScaleX","setScaleY","setScaleZ","targetID","targetRotation","targetRotationOverwrite","automaticJump","targetLocationID","target","overwrite","jump","targetLocationId","setTargetID","target_location_id","Icon","setTargetRotation","target_rotation","setTargetRotationOverwrite","target_rotation_overwrite","setAutomaticJump","automatic_jump","displayedText","displayOnClick","previewText","textID","text","val","setDisplayedText","displayed_text","setDisplayOnClick","display_on_click","Image","setPreviewText","preview_text","PrefabBuilder","supportedPrefabTypes","Map","prefab","getType","set","has","createFromJSON","PrefabBuilderInstance","registerPrefabType","preventDefault","_t","computed","currentSituation","methods","customLoadingScreen","engine","$refs","renderCanvas","stencil","xrCompatible","setHardwareScalingLevel","devicePixelRatio","displayLoadingUI","setLoadingscreenVisible","setDialogueOpen","hideLoadingUI","setLoadingUIText","document","getElementsByClassName","innerHTML","loadingScreen","resizeObserver","ResizeObserver","setTimeout","resize","observe","initialize","situationID","rootNode","node","context","setSituationID","getSituationID","setRootNode","scene","setEnabled","dispose","Media","fileName","requiresDirectURL","fileSize","size","filename","setFileName","setFileSize","expected_file_size","MediaType","Texture","Video","VideoList","Audio","Text","Model3D","WebsiteURL","PDF","isReadable","mipmapping","linearColorSpace","filterMode","ansioLevel","alphaIsTransparency","texture","setIsReadable","setMipmapping","setLinearColorSpace","setFilterMode","setAnsioLevel","setAlphaIsTransparency","isThreeD","isStream","setIsThreeD","setStream","setRequiresDirectURL","MediaManager","media","supportedMediaTypes","oCanvas","createElement","find","x","hasMedia","getMedia","hasType","fluxCMS","retrievals","updateURL","includes","getURL","getRequiresDirectURL","getRawContentFileURLURL","then","catch","getRawContentFileURL","forEach","Promise","all","getColor","getAcronym","getContext","color","replace","fillStyle","fillRect","font","textAlign","fillText","toDataURL","setUserIcon","instance","registerMediaType","base","construct","getRootNode","audioFile","myVolume","parseFloat","getVolumeScale","myAudio","getAutoplay","play","getLooping","skipCodecCheck","play_on_entering","parent","getAudioBuffer","pause","isPlaying","reset","mute","getVolume","setVolume","unmute","jumpToTimePosition","currentTime","disable","enable","isPaused","muted","runtimeStae","playing","$store","commit","material","mesh","scaleFactor","getPosition","getRotationX","getRotationY","getRotationZ","Math","PI","lookAt","CreateRGBATexture","blob","TRILINEAR_SAMPLINGMODE","wrapU","wrapV","WRAP_ADDRESSMODE","uScale","vScale","disableLighting","emissiveTexture","opacityTexture","CreatePlane","getWidth","getScale","getHeight","sideOrientation","DOUBLESIDE","panoramaPhotoMedia","photoDomeTexture","TEXTUREFORMAT_RGBA","domeSize","photoDome","resolution","faceForward","photoTexture","materials","registerMaterial","createInfo2Material","setFloat","ShadersStore","shaderMaterial","vertex","fragment","attributes","uniforms","needAlphaBlending","setVector3","Zero","backFaceCulling","event","billboardMode","BILLBOARDMODE_ALL","absolutePosition","renderingGroupId","isPickable","open","self","displayPreviewText","getPreviewText","cameraX","getCameraByName","posCamera","textGUI","y","advancedTexture","CreateForMesh","rect","verticalAlignment","VERTICAL_ALIGNMENT_TOP","adaptWidthToChildren","adaptHeightToChildren","cornerRadius","background","alpha","addControl","fontSize","lineSpacing","textHorizontalAlignment","HORIZONTAL_ALIGNMENT_LEFT","textVerticalAlignment","textWrapping","WordWrap","resizeToFit","paddingTop","paddingLeft","paddingRight","paddingBottom","previewTextGui","visibility","HORIZONTAL_ALIGNMENT_CENTER","iconMedia","buttonTexture","buttonMaterial","button","z","ease","setEasingMode","EASINGMODE_EASEINOUT","actionManager","hoverCursor","registerAction","OnPickTrigger","CreateAndStartAnimation","scaling","One","dispatchEvent","CustomEvent","detail","OnPointerOutTrigger","OnPointerOverTrigger","addEventListener","situations","getTargetID","setScaleFactor","EASINGMODE_EASEIN","followModeratorMode","sendingFollowModerator","sendCommand","eventName","pos","Project","Identity","getTransformMatrix","querySelector","clientWidth","clientHeight","ease2","frameRate","pulse","ANIMATIONTYPE_VECTOR3","ANIMATIONLOOPMODE_CYCLE","setEasingFunction","keyFrames","frame","setKeys","animations","beginAnimation","create3DButton","button_wrapper","setAll","collider","circle_node","circle_texture","circle_background","createCircle","thickness","circle_border","borderColor","circle_center","loupe","getters","isMobile","getScene","ANIMATIONLOOPMODE_RELATIVE","circle","corderColor","classList","icon_wrapper","icon_circle","appendChild","icon_loupe","src","body","onBeforeRenderObservable","style","left","top","acronym","lastUpdate","currentRotation","currentPosition","info","JSON","stringify","getCurrentSituationID","getRotation","generateTextureForUser","hex","test","substring","split","join","uc","a","response","svgNew","encodedData","btoa","LoadFromDataString","diffuseTexture","_x","_y","_z","camera","activeCamera","timeStampInMs","performance","now","timing","navigationStart","frameTimeDifference","camRotation","absoluteRotation","targetRotationQuaternion","FromEulerAngles","currentRotationQuaternion","Slerp","min","toEulerAngles","userRotation","diff","multiply","Inverse","diffEuler","fov","ar","getEngine","getScreenAspectRatio","fov_y","fov_x","abs","sign","targetPosition","BABYON","Vector3","Lerp","base2","parseInt","videoTexture","autoPlay","autoUpdateTexture","promise","onPointerDown","getDisplayControls","createControlls","getEnlargeOnClick","getChildMeshes","playpauseButton","diffuseColor","videoControllsSize","videoControlls","advancedTexture2","rect1","grid","addColumnDefinition","addRowDefinition","minColWidth","seperatorWidth","gridControls","sliderUI","minimum","maximum","onloadedmetadata","barOffset","isThumbCircle","isThumbClamped","thumbColor","primaryColor","playpauseButton2","playpauseButton2Img","soundBtn","soundImage","volumeSlider","VERTICAL_ALIGNMENT_CENTER","openWindowBtn","openWindowBtnImg","drag","volDrag","volumeValue","onPointerClickObservable","onPointerDownObservable","detachControl","onPointerUpObservable","attachControl","getElementById","updateTime","removeControl","source","onPointerMoveObservable","cursor","ontimeupdate","onplay","onpause","currenTime","formatTime","mins","floor","secs","videoManager","videoList","listOrientation","controllSize","ratioX","ratioY","listGrid","currentVideoIndex","thumbnails","durrations","setVideoData","getMeshByName","createVideoList","updateVideo","publicPath","$browserDetect","isChrome","screenBackground","skipPrevBtn","skipPrevImg","skipNextBtn","skipNextImg","showListBtn","showListBtnImg","pauseVideo","playVideo","onvolumechange","listWinHeight","listWinWidth","listMesh","itemHeightInPx","itemPaddingInPx","advTextureVL","rect3","scrollPanel","verticalBar","barSize","scrollBackground","listWrapper","videoListItem","itemGrid","paddingTopInPixels","paddingBottomInPixels","paddingLeftInPixels","paddingRightInPixels","titleValue","maxLineLength","textTime","VERTICAL_ALIGNMENT_BOTTOM","btn","btnImg","videoListItemCopy","onPointerEnterObservable","onPointerOutObservable","setEnableZooming","string","maxLineLetterCount","maxTitleLetterCount","words","lineArray","lineLetterCount","totalLetterCount","lineString","children","currentSituationID","panoramaVideo","sphere","CreateSphere","arc","diameterX","diameterY","diameterZ","preload","enablePanoramaVideoAutoplay","videoMaterial","emissiveColor","White","myVideoDome","clickToPlay","poster","onprogress","bf","buffered","loadedPercentage","end","isFirefox","updateRuntimeState","percentageLoaded","onended","changeVolume","meshURL","getName","v","urlB","viewer","vSph","iSph","ConstructorManager","constructors","registerConstructor","userID","setUserID","setTime","setDuration","NotifyPositionEvent","rot","setColor","EventBuilder","supportedEventTypes","EventBuilderInstance","registerEventType","props","mainNode","interactableVideoButton","color_text","accentColor","accent","hover","active","border","watch","_name","BABYLON","TransformNode","getNodeByName","VideoTexture","mediaURL","previewVideo","StandardMaterial","videoPlane","screenSize","Mesh","int_base","GUI","AdvancedDynamicTexture","Color3","ActionManager","ExecuteCodeAction","Animation","initializeElement","isBuild","images","EASINGMODE_EASEOUT","overlaysNode","photoDome_overlay","filepath","hasAlpha","getChildren","alphaMode","ALPHA_ADD","situationName","fromSituation","toSituation","getShortSituationName","isTouch","initOverlaySphere","getfileName","container","overlay","mat","openMenuButton","closeMenuButton","morphAnimation","circles","circleMorph","buttonsCircle","isMenuOpen","ImportMesh","meshes","child","transparencyMode","MATERIAL_ALPHABLEND","particles","skeletons","animationgroups","stop","createButton","openMenu","closeMenu","createInteractable","iconURL","onTriggerFunction","isEnabled","positionY","TEXTURE_CLAMP_ADDRESSMODE","annotName","triggerPlaneSize","planeName","triggerPlane","plane","planeSize","rectangle","heightInPixels","horizontalAlignment","icon","annotNameTextBlock","start","components","VideoLink","SituationOverlays","IntroMenu","CustomSituations","debug","Boolean","required","gyrosCamera","mainCamera","situationsNode","usersNode","eventsNode","localUserPosition","localUserRotation","lastUserUpdateTimeStamp","userUpdateDeltaMS","tapedTwice","vrHelper","isOnboardingComplete","state","session","events","filter","initializeScene","initializeAssetsManager","initializeCamera","initializeLighting","initializeSceneGraph","initializeActionManager","useRightHandedSystem","clearColor","debugLayer","show","onBeforeCameraRenderObservable","update","flux360","localUserID","equalsWithEpsilon","round","onZoom","assetsManager","onTaskErrorObservable","task","errorObject","message","exception","onProgress","remainingCount","totalCount","toFixed","inputs","attached","mousewheel","lowerRadiusLimit","upperRadiusLimit","angularSensibilityX","angularSensibilityY","cameraZoom","minZ","keyboard","keysDown","keysUp","keysLeft","keysRight","dispatch","trigger","OnKeyDownTrigger","parameter","localUser","getRole","beta","newSituation","getSituationNodeName","componentsToCheck","component","enterSituationAnimation","preloadSituation","createSituation","isIOS","preloadAdjacentSituations","oldSituation","situationNode","getDescendants","loadInBackground","getContentIDs","prefabsForSituation","concat","texturesToLoad","loadedTextures","async","fetch","bitmap","createImageBitmap","setSize","prefabComponent","constructPrefabSubgraph","adjacentSituationsIDs","allPrefabs","roomRotations","roomRotation","trim","isRad","zoom","enableCommunication","pickResult","pick","pointerX","pointerY","hit","pickedPoint","enableZooming","deltaY","Number","isInteger","doRendering","runRenderLoop","stopRenderLoop","enablePreloadAllSituations","preloadAllMedia","getCurrentComponents","currentSituationRuntimeStateRequests","newValue","oldValue","leaveSituation","enterSituation","remoteUsersInCurrentSituation","userIDs","destruct","indexOf","usersToAdd","newUser","userComponent","currentEvents","eventIDs","eventsToAdd","newEvent","eventComponent","isVRMode","createDefaultVRExperience","enterVR","exitVR","exitFullscreen","hide","isGyrosActive","DeviceOrientationEvent","requestPermission","permissionState","isDialogueOpen","_s","panoramaTour","domProps","composing","addUser","_l","u","playSound","pauseSound","jumpTo","role","cmsID","isCMSUser","gazePosition","cursorPosition","userIcon","resetShouldSync","fullSync","getSharedProperties","shouldSync","isCMSUSer","setGazePosition","getGazePosition","setCursorPosition","getCursorPosition","setCurrentSituationID","setAcronym","random","g","b","toString","currentPrefabs","requestPlay","requestPause","requestJumpToTimePosition","errorHandler","alert","Renderer","PanoramaScene","PanoramaSceneUI","RenderController","queryParameterSituationID","queryParameterSessionID","automaticTitle","firstTitleChange","users","timers","housekeeping","autostart","repeat","networkSync","appVersion","decodeURL","handleSituationChange","onpopstate","onPopState","panoramaTourZIP","showLanguageSelection","zip","panoramaTourZIPEN","navigator","language","userLanguage","preview","handleGotoSituationTransition","search_params","location","searchParams","overwriteStartSituationID","setSessionID","title","flux360State","originalURL","search","newURL","history","pushState","timestamp","myEvents","getDuration","ifShouldSync","getUpdatedProperties","toggleMap","stopPropagation","mapURL","mapPins","showSituationCard","gotoSituation","class","usersLength","thumbnailType","SituationCard","inject","showCard","spContainer","mounted","getComputedStyle","spCard","$el","SituationPin","roomOrder","sortedSituations","e1","e2","togglePlayingState","changeSlider","format","toggleVolume","VolumeMuteIcon","VolumeMute","VolumeIcon","ResetIcon","PlayIcon","PauseIcon","VolumeHigh","VolumeMedium","VolumeLow","userVolume","oldUserVolume","oldDuration","firstTime","isNaN","progress","loaded","requestChangeVolume","playingState","moderatorInSession","enableWaitForModerator","$t","ClockTimeFiveOutline","logoURL","toggleGallery","buttonName","isFullscreen","toggleFullScreen","toggleSharing","toggleModeratorMenue","sessionID","toggleLoginDialogue","toggleTutorialDialogue","toggleBugReport","MapOutline","ChevronDown","ChevronUp","FullScreenIcon","FullScreenExitIcon","ShareIcon","LoginIcon","Login","ChevronRight","AccountGroup","MonitorShareIcon","MonitorShare","AccountCog","inputWidth","roomLink","copy","tourLink","LinkVariantIcon","LinkVariant","select","execCommand","screenSharingVisible","toggleScreenSharing","toggleFollowModeratorMode","muteAll","stopVideoAll","removeAll","VolumeOff","VideoOff","AccountOff","Eye","moderatorMenueVisible","openTokSession","openTokStreams","clearInterval","intervalID","setSendingFollowModerator","userControl","setInterval","engine3DViewer","activeRenderLoops","scene3DViewer","radius","connection","user_id","forceDisconnect","localUserName","getUserName","videoStreams","videoType","publishingProperties","videoProperties","CloseIcon","Close","videoPropertyDefault","fitMode","insertDefaultUI","showControls","audioLevelDisplayMode","buttonDisplayMode","nameDisplayMode","screen","maxResolution","stream","vp","videoDimensions","settingsVisible","toggleSettings","date","selectedTab","setTab","changeNickname","changeEmail","changePassword","cancel","btnDisabled","proceed","getInitials","toUpperCase","toggleProblemDialog","toggleConnectionTest","audioDeviceId","videoDeviceId","signIn","toggleAudioTestDialogue","videoDeviceList","videoOn","publisher","getUserIcon","getUserColor","isLoading","publisherAndSubscriberProperties","errors","askForPermission","cameraPermissionDenied","hasVideo","model","callback","$$v","saveDeviceIds","deviceId","getLabelForDevice","updateDeviceLists","microphonePermissionDenied","hasAudio","audioOn","audioDeviceList","from","disabled","slot","Function","connectionTest","connectionResult","failedTest","qualityTest","qualityResult","supported","_m","mos","bitrate","packetLossRatio","reason","qualityError","repeatTest","rp","defaults","jar","CALLSERVICE_URL","makeRequest","options","logToConsole","res","assertSuccess","jsonResponse","success","parse","getVideoSessionInfoForRoom","jwt","method","uri","qs","NetworkTest","connectionError","String","testOpenTok","user_name","room_id","accessToken","apiKey","api_key","sessionId","session_id","token","access_token","timeout","audioSource","videoSource","testConnectivity","results","testQuality","stats","stateOfEchoTest","toggleAudio","publisherDefaultBackground","VolumeOn","subscriber","echoTestSuccessful","setEchoTestState","runTests","cleanUp","setAudioVolume","echoTest","initializePublisher","initializeSession","publish","initializeSubscriber","logLevel","audioLevel","LN10","max","unsubscribe","unpublish","destroy","disconnect","getAudioDeviceId","initPublisher","subscriberOptions","backgroundImageURI","disableAudioProcessing","autoGainControl","echoCancellation","enableStereo","testNetwork","subscribe","openTokSessionInfo","initSession","connectionCreated","warn","connectionDestroyed","sessionConnected","sessionDisconnected","sessionReconnected","sessionReconnecting","streamCreated","streamDestroyed","connect","TroubleShooting","ConnectionTest","Autorenew","AlertCircle","CheckCircle","Wifi","AudioTest","movingAvg","ConnectionTestVisible","problemDialogVisible","audioTestDialogVisible","permissionDenied","toggleSettingsInLogin","getVideoDeviceId","getAudioSource","selectVideoDevice","handleAudioSelection","badge","transform","meter","onkeydown","isAudioOn","isVideoOn","$root","$on","addAudioLevelListenerForPublisher","element","display","getElementsByTagName","reject","pub","pub2","restoreSelectionFromSessionStore","pub3","device","label","getDevices","devices","videoDevices","kind","audioDevices","selectAudioDevice","videoSelect","audioSelect","selectedIndex","$emit","toggleCommunication","maxCycles","count","cycle","cycleVideo","requestAnimationFrame","isSelectingVideo","setAudioSource","signOut","logoff","AudioVideoDialogue","nickname","email","password","status","getDate","getMonth","getFullYear","isLoginValid","isNickValid","userToBeRemoved","isValid","valid","innerText","setRole","getUserAvatar","toggleWebsiteDialogue","websiteDialogueVisible","bool","toggleCustomDialogue","tab","index","activeTab","changeActiveTab","folder","gallery","activeImageID","moveImageID","changeImageID","toggleDebug","playOpenContainerAnimation","isContainerOpen","activeContainerIndex","product","switchMesh","annotation","rectHoverSize","rectDefaultSize","getLabel","sc","Distance","leftInPixels","defaultLeftValue","oldWidth","onAfterCameraRenderObservable","addOnce","widthInPixels","stackpanel","isVertical","circlesWrapper","circle1","circle2","fontFamily","fontWeight","closeAnimation","animateOpeningLabel","animateClosingLabel","isOpen","nodeName","toLowerCase","getCameraRadiusForContainer","boundingbox","getBoundingInfo","boundingBox","maxRad","setDefaultCameraRadiusLimits","getCameraTargetYForContainer","loadMeshes","meshTask","assetsManager3DViewer","addMeshTask","url_mobile","url_desktop","onSuccess","loadedMeshes","model3d","useRadianceOcclusion","createCollider","calculateBoundingInfo","loadedAnimationGroups","onError","annotations","annotTask","task2","cameraCenterNode","outsideAnnotations","insideAnnotations","onFinish","tasks","optimizeMeshPerformance","playStartAnimation","load","newMax","newMin","newBoundingInfo","maximumWorld","minimumWorld","Maximize","Minimize","alwaysSelectAsActiveMesh","cullingStrategy","CULLINGSTRATEGY_BOUNDINGSPHERE_ONLY","freezeWorldMatrix","doNotSyncBoundingInfo","animationGroups","animation","unfreezeWorldMatrix","boundingInfo","colliderMaterial","CreateBox","getMaterialByName","centerWorld","setBoundingInfo","init3DViewer","initEngine","initScene","createCamera","initAssetManager","canvas","doNotHandleContextLost","enableOfflineSupport","opacity","orientation","onchange","environmentTexture","CreateFromPrefilteredData","wheelPrecision","inertia","pointers","buttons","disableUI","annotationNode","animationGroup","upperBetaLimit","lowerAlphaLimit","upperAlphaLimit","perspective","radiusCalc","zoomedValue","lowerLimit","upperLimit","initAlphaValue","initValue","initBetaValue","lowerBetaLimit","oldIndex","newIndex","distanceOut","targetXOut","sin","targetZOut","cos","openContainerButton","pointerEvents","switchButtons","isActive","isVisible","$forceUpdate","particlesJS","Array","initParticleJS","clearCachedVertexData","cleanCachedTextureBuffer","customDialogeTabs","int","toggleforcedDisconnectDialogue","AlertCircleOutline","forcedDisconnectDialogueVisible","removeUser","setIsOnboardingComplete","send","subject","bugsummary","bugRepro","browser","getBrowser","viewportSize","documentElement","innerWidth","innerHeight","os","getOS","onMobile","checkIfOnMobile","quality","audioQuality","videoQuality","failedTests","consoleLog","logs","tem","ua","userAgent","M","match","exec","version","appName","OSName","check","substr","vendor","opera","backgroundImage","loadTour","languageSelectionVisible","showPreview","showTransitionPreview","hideTransitionPreview","numberOfUsers","computedParticipants","computeMyself","messages","chatTitle","placeholder","colors","borderStyle","hideCloseButton","closeButtonIconSize","submitIconSize","submitImageIconSize","toLoad","loadMoreMessages","asyncMode","scrollBottom","profilePictureConfig","timestampConfig","linkOptions","onImageClicked","onImageSelected","onMessageSubmit","onType","Chat","lastTimeMessageCheck","noMessagesYet","chatMessage","participantIDMap","participantsIDCounter","participants","cachedParticipants","myself","profilePicture","$i18n","header","bg","others","messagesDisplay","submitIcon","submitImageIcon","topLeft","topRight","bottomLeft","bottomRight","messageSent","messageReceived","displayHeader","styles","borderRadius","relative","className","unshift","uploaded","files","fluxID","participant","realID","currentChatRoom","signalController","siteHeader","getDelegate","chatMessages","messagesAdapted","participantId","mapFluxID2ParticipantID","userId","year","getUTCFullYear","month","day","getUTCDate","hour","getHours","minute","getMinutes","second","getSeconds","millisecond","getMilliseconds","millisecondsMessage","millisecondsLastCheck","cached","currentCommands","commands","oncontextmenu","remove","messageContainer","contextMenu","clientX","clientY","contextMenuEntry","isCompleted","command","setCompleted","closeParticipantMenue","openParticipantMenue","participantMenueUser","participantMenueBottom","bottom","isModerator","muteUser","stopVideo","removeUserFromSession","ArrowRightBoldHexagonOutline","includeUserIDs","ParticipantMenue","DotsVertical","participantMenueOpen","mousePosY","pageY","filteredUsers","searchName","savePos","properties","streamId","isUserWithIDModerator","createElementId","handleHoverOverStream","getUserOfId","help","getHoverStateOfStream","getHoverStateOfVolume","handleHoverOverVolume","getVolumeOfSubscriber","setVolumeOfSubscriber","initModeratorCommands","Command","callbackFunction","registerCommand","sourceUserID","signalData","signal","CommandSendModeratorPosition","comesFromModerator","CommandChangeUserControl","setFollowModeratorMode","CommandMute","publishAudio","CommandStopVideo","publishVideo","CommandSendEvent","commandSendModeratorPositionInstance","commandChangeUserControlInstance","commandMuteInstance","commandStopVideoInstance","commandSendEventInstance","executeCommand","err","enlargeSidebar","showAudioVideoSettings","layoutSizes","subscribers","isAdjustingSettings","isOpenTokSessionConnnected","list","hasUserStream","getVideoSource","handleAudioLevelUpdatedEventForPublisher","handleStreamPropertyChangedEvent","subscriberMovingAvg","sameSubscriber","$set","getAudioVolume","hoverOverStream","hoverOverVolume","addAudioLevelListenerForSubscriber","$off","off","prefix","avg","sub","getSubscriberWithID","newState","subscribeToAudio","toggleReRenderHelp","isHovering","changedProperty","activity","talking","order","getMovingAvgForSubscriber","setMovingAvgForSubscriber","ChatTab","ParticipantTab","VideoSessionPanel","slide","changeSituation","ArrowLeft","ArrowRight","arrowLeftVisible","arrowRightVisible","scrollLeft","findIndex","direction","startTime","scrolling","scrollBy","checkArrowVisibility","tutorialDialogueVisible","tutorialData","swiper","spaceBetween","observer","pagination","el","Fullscreen","Flux360","MapDialogue","MediaController","Sidebar","TransitionPreview","LanguageSelection","Navigation","Watermark","ShareDialogue","ForcedDisconnect","SituationGallery","TutorialDialogue","ScreenSharingPanel","LoginDialogue","WebsiteDialogue","Loadingscreen","BugReportDialogue","CustomDialogue","WaitForModeratorDialogue","ModeratorMenu","Tooltip","messageVisible","infoVisible","tooltipVisible","setProperty","secondaryColor","href","favIcon","websiteTitle","elem","requestFullscreen","webkitRequestFullscreen","msRequestFullscreen","webkitExitFullscreen","msExitFullscreen","overscrollBehaviorY","setScreenSharingVisible","setIsFullscreen","vrMode","fullscreen","mediaButtonVisible","returnValue","onbeforeunload","removeEventListener","defaultLog","arguments","platform","iphone","ipod","ipad","android","maxTouchPoints","setIsMobile","setIsIOS","msMaxTouchPoints","setIsTouch","toggleInfo","toggleMediaControls","toggleGyros","app_id","app_secret","baseURL","worldsPath","projectsPath","zipPath","rawContentFilePath","rawContentFileURLPath","setAppInformation","axios_app_instance","headers","post_data","worldsURL","appId","appSecret","request","config","projectID","projectsURL","zipURL","promisify","getBinaryContent","loadAsync","rawContentFileID","rawContentFileURL","rawContentFileURLURL","rotateByQuaternionToRef","RotationAxis","Up","completed","setSourceUserID","setTarget","DeleteMessage","setMessage","CommandBuilder","supportedCommandTypes","CommandBuilderInstance","registerCommandType","Flux360Store","flux360Version","enableWatermark","enableBugReport","enableMap","enableSharing","converter","prefabs","inSetup","sounds","loadingscreenVisible","framerate","audiobitrate","audioProcessingDeactivated","apps","getSituation","isInSetup","getFramerate","getAudiobitrate","isAudioProcessingDeactivated","mutations","boolean","setup","openTokTest","openTokConnectivityResult","openTokQualityResult","openTokConnectivityError","openTokQualityError","number","getStartSituationID","sit","setShouldSync","file","onlineStatus","setCMSID","setIsCMSUser","actions","messageToDelete","zipFile","getZIP","filenames","sort","contents","addMedia","package_name","package_display_name","package_description","setPackageName","convertPositionFromCMS","convertRotationFromCMS","defaultTransitionTextureID","getTargetRotation","resolveContent","tourId","use","store","Store","getNavigatorLanguage","languages","browserLanguage","i18n","locale","fallbackLocale","silentFallbackWarn","productionTip","h","App","$mount"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASS,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAU6B,QAGnC,IAAIC,EAASF,EAAiB5B,GAAY,CACzCK,EAAGL,EACH+B,GAAG,EACHF,QAAS,IAUV,OANAf,EAAQd,GAAUW,KAAKmB,EAAOD,QAASC,EAAQA,EAAOD,QAASH,GAG/DI,EAAOC,GAAI,EAGJD,EAAOD,QAKfH,EAAoBM,EAAIlB,EAGxBY,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,SAASL,EAASM,EAAMC,GAC3CV,EAAoBW,EAAER,EAASM,IAClC3B,OAAO8B,eAAeT,EAASM,EAAM,CAAEI,YAAY,EAAMC,IAAKJ,KAKhEV,EAAoBe,EAAI,SAASZ,GACX,qBAAXa,QAA0BA,OAAOC,aAC1CnC,OAAO8B,eAAeT,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DpC,OAAO8B,eAAeT,EAAS,aAAc,CAAEe,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKxC,OAAOyC,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBxC,OAAO8B,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBQ,EAAEc,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAAStB,GAChC,IAAIM,EAASN,GAAUA,EAAOiB,WAC7B,WAAwB,OAAOjB,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAJ,EAAoBQ,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRV,EAAoBW,EAAI,SAASgB,EAAQC,GAAY,OAAO9C,OAAOC,UAAUC,eAAeC,KAAK0C,EAAQC,IAGzG5B,EAAoB6B,EAAI,GAExB,IAAIC,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAW3C,KAAKsC,KAAKK,GAC5CA,EAAW3C,KAAOf,EAClB0D,EAAaA,EAAWG,QACxB,IAAI,IAAItD,EAAI,EAAGA,EAAImD,EAAWjD,OAAQF,IAAKP,EAAqB0D,EAAWnD,IAC3E,IAAIU,EAAsB2C,EAI1BzC,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,8ECvJT,W,qBCAAW,EAAOD,QAAU,ktC,oCCAjB,W,uBCAAC,EAAOD,QAAU,IAA0B,sC,uBCG3C,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,uBCN5E,IAAIA,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAkEF,QACvEE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,uBCR5E,IAAII,EAA8B,EAAQ,QACtCC,EAAkC,EAAQ,QAC1CC,EAAgC,EAAQ,QACxCC,EAAgC,EAAQ,QACxCC,EAAgC,EAAQ,QACxCC,EAAgC,EAAQ,QAC5CxC,EAAUmC,GAA4B,GACtC,IAAIM,EAAqCL,EAAgCC,GACrEK,EAAqCN,EAAgCE,GACrEK,EAAqCP,EAAgCG,GACrEK,EAAqCR,EAAgCI,GAEzExC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,2CAA6CiE,EAAqC,oDAAsDC,EAAqC,kDAAoDC,EAAqC,mDAAqDC,EAAqC,m5GAA45G,KAErxH3C,EAAOD,QAAUA,G,uBCZjB,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,uBCN5E,IAAIA,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAwEF,QAC7EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,uBCT5E9B,EAAOD,QAAU,IAA0B,qC,uBCC3C,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,mPAAoP,KAE7QyB,EAAOD,QAAUA,G,+ECNjBC,EAAOD,QAAU,IAA0B,uC,8ECC3C,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,o0EAAq0E,KAE91EyB,EAAOD,QAAUA,G,6DCNjBC,EAAOD,QAAU,IAA0B,8B,qBCA3C,IAAI6C,EAAM,CACT,sBAAuB,OACvB,mBAAoB,OACpB,YAAa,OACb,iBAAkB,OAClB,uCAAwC,OACxC,uBAAwB,OACxB,gBAAiB,OACjB,mBAAoB,OACpB,kCAAmC,OACnC,gCAAiC,OACjC,mCAAoC,OACpC,qDAAsD,OACtD,sDAAuD,OACvD,uDAAwD,OACxD,wDAAyD,OACzD,6BAA8B,OAC9B,kCAAmC,OACnC,kBAAmB,OACnB,kBAAmB,OACnB,2BAA4B,OAC5B,gCAAiC,OACjC,0BAA2B,OAC3B,+BAAgC,OAChC,mBAAoB,OACpB,gBAAiB,OACjB,iBAAkB,OAClB,wBAAyB,OACzB,uBAAwB,OACxB,6BAA8B,OAC9B,sBAAuB,OACvB,yBAA0B,OAC1B,sBAAuB,OACvB,iBAAkB,OAClB,0BAA2B,OAC3B,uBAAwB,OACxB,qBAAsB,OACtB,cAAe,OACf,mBAAoB,OACpB,sBAAuB,OACvB,oBAAqB,OACrB,aAAc,OACd,aAAc,OACd,kBAAmB,OACnB,yBAA0B,OAC1B,gCAAiC,OACjC,kBAAmB,OACnB,uBAAwB,OACxB,sBAAuB,OACvB,2BAA4B,OAC5B,0BAA2B,OAC3B,sBAAuB,OACvB,2BAA4B,OAC5B,kBAAmB,OACnB,wBAAyB,OACzB,8BAA+B,OAC/B,uBAAwB,OACxB,6BAA8B,OAC9B,kBAAmB,OACnB,uBAAwB,QAIzB,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOlD,EAAoBmD,GAE5B,SAASC,EAAsBF,GAC9B,IAAIlD,EAAoBW,EAAEqC,EAAKE,GAAM,CACpC,IAAIG,EAAI,IAAIC,MAAM,uBAAyBJ,EAAM,KAEjD,MADAG,EAAEE,KAAO,mBACHF,EAEP,OAAOL,EAAIE,GAEZD,EAAeO,KAAO,WACrB,OAAO1E,OAAO0E,KAAKR,IAEpBC,EAAeQ,QAAUL,EACzBhD,EAAOD,QAAU8C,EACjBA,EAAeE,GAAK,Q,uBChFpB/C,EAAOD,QAAU,IAA0B,wB,uBCA3CC,EAAOD,QAAU,IAA0B,sC,oCCA3C,W,uBCGA,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAkEF,QACvEE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,oCCT5E,W,uBCAA9B,EAAOD,QAAU,IAA0B,oC,uBCA3CC,EAAOD,QAAU,IAA0B,8B,oCCA3C,W,sDCAA,W,qBCAAC,EAAOD,QAAU,IAA0B,8C,uBCA3CC,EAAOD,QAAU,IAA0B,oC,qBCA3CC,EAAOD,QAAU,IAA0B,0C,qBCC3C,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,0lCAA2lC,KAEpnCyB,EAAOD,QAAUA,G,uBCHjB,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAkEF,QACvEE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,uBCT5E9B,EAAOD,QAAU,IAA0B,8B,oCCA3C,W,uBCGA,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,uBCT5E9B,EAAOD,QAAU,IAA0B,gE,uBCA3CC,EAAOD,QAAU,IAA0B,+C,uBCG3C,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,qBCT5E9B,EAAOD,QAAU,00I,sDCAjB,W,qBCCA,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,w8CAAy8C,KAEl+CyB,EAAOD,QAAUA,G,w4eCNjB,W,uBCCA,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,6sGAAgtG,KAEzuGyB,EAAOD,QAAUA,G,qBCNjBC,EAAOD,QAAU,08F,uBCAjBC,EAAOD,QAAU,IAA0B,4C,uBCA3CC,EAAOD,QAAU,IAA0B,4C,uBCG3C,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,oCCT5E,W,uCCGA,IAAIA,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,qBCT5E9B,EAAOD,QAAU,IAA0B,2C,uBCA3CC,EAAOD,QAAU,IAA0B,4C,qBCA3CC,EAAOD,QAAU,IAA0B,gC,uBCG3C,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAkEF,QACvEE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,qBCT5E9B,EAAOD,QAAU,IAA0B,yC,uBCC3C,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,k7JAAm7J,KAE58JyB,EAAOD,QAAUA,G,uCCHjB,IAAI+B,EAAU,EAAQ,SACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,kCCT5E,W,uBCCA,IAAII,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,kzDAAmzD,KAE50DyB,EAAOD,QAAUA,G,kCCNjB,W,mBCAAC,EAAOD,QAAU,k2H,qBCCjB,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,qwCAAswC,KAE/xCyB,EAAOD,QAAUA,G,qBCNjBC,EAAOD,QAAU,IAA0B,8D,uBCG3C,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAkEF,QACvEE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,sKCTxEwB,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,aAAa,CAACE,IAAI,aAAaC,YAAY,cAAcC,MAAM,CAAC,GAAK,eAAeC,GAAG,CAAC,OAASP,EAAIQ,mBAAmB,CAACN,EAAG,SAAS,CAACG,YAAY,cAAcC,MAAM,CAAC,GAAK,QAAQ,CAACJ,EAAG,iBAAiB,CAACG,YAAY,8BAA8B,CAACH,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,cAAc,CAACJ,EAAG,mBAAmB,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAAOyC,EAA2B,wBAAEW,WAAW,+BAA+B,GAAGT,EAAG,aAAa,CAACI,MAAM,CAAC,WAAaN,EAAIY,WAAW,WAAaZ,EAAIa,WAAW,qBAAuBb,EAAIc,qBAAqB,eAAiBd,EAAIe,eAAe,YAAcf,EAAIgB,YAAY,iBAAmBhB,EAAIiB,iBAAiB,wBAA0BjB,EAAIkB,wBAAwB,eAAiBlB,EAAImB,eAAe,SAAWnB,EAAIoB,SAAS,WAAapB,EAAIqB,WAAW,qBAAuBrB,EAAIsB,qBAAqB,gBAAkBtB,EAAIuB,mBAAmBrB,EAAG,WAAWA,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,sBAAsB,CAACJ,EAAG,gBAAgB,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAAOyC,EAAwB,qBAAEW,WAAW,4BAA4B,GAAGT,EAAG,qBAAqBA,EAAG,mBAAmBA,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,cAAc,CAACJ,EAAG,gBAAgB,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAAOyC,EAAyB,sBAAEW,WAAW,6BAA6B,GAAGT,EAAG,oBAAoBA,EAAG,4BAA4BA,EAAG,qBAAqBA,EAAG,kBAAkBA,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAAEN,EAAoB,iBAAEE,EAAG,qBAAqBF,EAAIwB,MAAM,GAAGtB,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAAEN,EAAmB,gBAAEE,EAAG,oBAAoBF,EAAIwB,MAAM,GAAGtB,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAAEN,EAAwB,qBAAEE,EAAG,gBAAgB,CAACI,MAAM,CAAC,YAAcL,KAAKwB,YAAY,qBAAuBzB,EAAIc,wBAAwBd,EAAIwB,MAAM,GAAGtB,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAAEN,EAAa,UAAEE,EAAG,cAAc,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAAOyC,EAAc,WAAEW,WAAW,iBAAiBX,EAAIwB,MAAM,GAAGtB,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAAEN,EAAkB,eAAEE,EAAG,iBAAiBF,EAAIwB,MAAM,GAAGtB,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAAEN,EAAwB,qBAAEE,EAAG,sBAAsBF,EAAIwB,MAAM,GAAGtB,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAACJ,EAAG,kBAAkB,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAAOyC,EAAI0B,qCAAuC1B,EAAI2B,gBAAkB3B,EAAI4B,qBAAsBjB,WAAW,qFAAqF,GAAGT,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAACJ,EAAG,UAAU,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAAOyC,EAAkB,eAAEW,WAAW,sBAAsB,GAAIX,EAAmB,gBAAEE,EAAG,aAAaF,EAAIwB,KAAMxB,EAAqB,kBAAEE,EAAG,SAAS,CAAC2B,YAAY,CAAC,UAAU,MAAM,SAAW,WAAW,IAAM,OAAO,MAAQ,QAAQtB,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAI+B,oBAAoB,CAAC/B,EAAIgC,GAAG,cAAchC,EAAIwB,MAAM,GAAIxB,EAAwB,qBAAEE,EAAG,gBAAgB,CAACI,MAAM,CAAC,YAAYN,EAAIqB,WAAW,WAAW,GAAG,gBAAgB,SAAS,CAACnB,EAAG,YAAY,GAAGF,EAAIwB,MAAM,IAAI,IAE7kGS,EAAkB,G,YCAtB,MAAMC,EAEF,aAAY,YACTC,EAAuB,YACvBC,EAAuB,UACvBC,GAAY,GACT,IACClH,OAAOmH,OAAQrC,KAAM,CAAEkC,cAAaC,iBAM/CF,EAAQK,YAAcpH,OAAOqH,OAAO,CAChCC,KAAM,OACNC,MAAO,QACPC,KAAM,OACNC,MAAO,QACPC,mBAAoB,qBACpBC,aAAc,iBChBlB,MAAM,EACF,aAAa,OACTC,EAAkB,UAClBC,EAAY,QAAO,SACnBC,GAAW,EAAE,UACbZ,GAAY,GACb,IAEClH,OAAOmH,OAAQrC,KAAM,CAAE8C,SAAQE,WAAUZ,YAAWW,cACpD/C,KAAKiD,SAAW,GAGpB,YAAYC,GACRC,QAAQC,IAAI,gBACZ,IAAIC,EAAc,IAAIpB,EAAQiB,EAAMjB,EAAQK,YAAYE,MACxDa,EAAYlB,YAAcF,EAAQK,YAAYE,KAC9Ca,EAAYnB,YAAcgB,EAC1BG,EAAYjB,WAAY,IAAIkB,MAAOC,UACnCvD,KAAKiD,SAAS1H,KAAK8H,GAEvB,aAAaH,GACTC,QAAQC,IAAI,iBACZ,IAAII,EAAe,IAAIvB,EAAQiB,EAAMjB,EAAQK,YAAYG,OACzDe,EAAarB,YAAeF,EAAQK,YAAYG,MAChDe,EAAapB,WAAY,IAAIkB,MAAOC,UACpCvD,KAAKiD,SAAS1H,KAAKiI,GAEvB,YAAYN,GACR,IAAIO,EAAc,IAAIxB,EACtBwB,EAAYtB,YAAcF,EAAQK,YAAYI,KAC9Ce,EAAYvB,YAAcgB,EAC1BO,EAAYrB,WAAY,IAAIkB,MAAOC,UACnCvD,KAAKiD,SAAS1H,KAAKkI,GAEvB,aAAaP,GACT,IAAIQ,EAAe,IAAIzB,EACvByB,EAAavB,YAAcF,EAAQK,YAAYK,MAC/Ce,EAAaxB,YAAcgB,EAC3BQ,EAAatB,WAAY,IAAIkB,MAAOC,UACpCvD,KAAKiD,SAAS1H,KAAKmI,GAEvB,0BAA2BR,EAAMS,GAC7B,IAAIC,EAA4B,IAAI3B,EACpC2B,EAA0BzB,YAAcF,EAAQK,YAAYM,mBAC5DgB,EAA0B1B,YAAcgB,EACxCU,EAA0BxB,WAAY,IAAIkB,MAAOC,UACjDK,EAA0BC,aAAeF,EACzC3D,KAAKiD,SAAS1H,KAAKqI,GAEvB,oBAAoBV,EAAKY,GACrB,IAAIC,EAAsB,IAAI9B,EAC9B8B,EAAoB5B,YAAcF,EAAQK,YAAYO,aACtDkB,EAAoB7B,YAAcgB,EAClCa,EAAoB3B,WAAY,IAAIkB,MAAOC,UAC3CQ,EAAoBD,OAASA,EAC7B9D,KAAKiD,SAAS1H,KAAKwI,IAI3B,EAAaC,UAAY9I,OAAOqH,OAAO,CACnC0B,SAAU,gBACVC,SAAU,kBAGd,MAAMC,EAEF,aAAa,GACT5E,GAAK,EAAE,KACP6E,GACD,IACClJ,OAAOmH,OAAQrC,KAAM,CAAET,KAAI6E,SAC3BpE,KAAKqE,aAAe,IAAI,EAG5B,MAAO/G,GAA2B,OAAjB0C,KAAKT,GAAKjC,EAAc0C,KACzC,QAAS1C,GAA6B,OAAnB0C,KAAKoE,KAAO9G,EAAc0C,KAE7C,QAAU,OAAOA,KAAKT,GACtB,UAAY,OAAOS,KAAKoE,KAIxB,cAAeE,GAWX,OATIA,GAAQA,EAAKC,OAEbvE,KACCwE,MAAOF,EAAKC,QACZE,QAASH,EAAKI,YAGfvB,QAAQwB,MAAM,oCAEX3E,KAGX,kBAIA,SACI,MAAO,CACHT,GAAIS,KAAKT,GACT6E,KAAMpE,KAAKoE,MAInB,WACI,OAAO,EAGX,gBACI,MAAO,IAIfD,EAAOS,WAAa1J,OAAOqH,OAAO,CAC9BsC,UAAW,YACXC,eAAgB,YAChBC,eAAgB,YAChBC,aAAc,eACdC,cAAe,gBACfC,aAAc,mBACdC,aAAc,mBACdC,aAAc,mBACdC,iBAAkB,uBAClBC,WAAY,oBACZC,YAAa,kBACbC,UAAW,mCACXC,eAAgB,iBAChBC,SAAU,wBAId,MAAMD,UAAuBtB,EAEzB,aAAa,GACT5E,GAAK,EAAE,KACP1C,EAAgB,YAChB8I,EAAuB,YACvBC,EAAuB,iBACvBC,EAA4B,gBAC5BC,EAA2B,cAC3BC,EAAyB,wBACzBC,EAAmC,qBACnCC,EAAgC,KAChC7B,GACA,IACA8B,MAAO,CAAE3G,KAAI6E,SACbpE,KAAKyE,QAASN,EAAOS,WAAWa,gBAChCvK,OAAOmH,OAAQrC,KAAM,CAAEnD,OAAM+I,cAAaD,cAAaE,mBAAkBC,kBAAiBC,gBAAeC,0BAAyBC,yBAGtI,SAAU7B,GACN,OAAOA,IAASD,EAAOS,WAAWa,gBAAkBS,MAAMC,SAAU/B,GAGxE,QAAS9G,GAA6B,OAAnB0C,KAAKnD,KAAOS,EAAc0C,KAC7C,eAAgB1C,GAAoC,OAA1B0C,KAAK4F,YAActI,EAAc0C,KAC3D,eAAgB1C,GAAoC,OAA1B0C,KAAK2F,YAAcrI,EAAc0C,KAC3D,oBAAqB1C,GAAyC,OAA/B0C,KAAK6F,iBAAmBvI,EAAc0C,KACrE,mBAAoB1C,GAAwC,OAA9B0C,KAAK8F,gBAAkBxI,EAAc0C,KACnE,gBAAiB1C,GAAqC,OAA3B0C,KAAKoG,aAAe9I,EAAc0C,KAC7D,2BAA4B1C,GAAgD,OAAtC0C,KAAKgG,wBAA0B1I,EAAc0C,KACnF,wBAAyB1C,GAA6C,OAAnC0C,KAAKiG,qBAAuB3I,EAAc0C,KAE7E,UAAY,OAAOA,KAAKnD,KACxB,iBAAmB,OAAOmD,KAAK4F,YAC/B,iBAAmB,OAAO5F,KAAK2F,YAC/B,sBAAwB,OAAO3F,KAAK6F,iBACpC,qBAAuB,OAAO7F,KAAK8F,gBACnC,kBAAoB,OAAO9F,KAAKoG,aAChC,6BAA+B,OAAOpG,KAAKgG,wBAC3C,0BAA4B,OAAOhG,KAAKiG,qBAGxC,cAAe3B,GAiBX,OAfIA,GAAQA,EAAKI,YAEbwB,MAAMG,cAAe/B,GAGrBtE,KACCsG,oBAAqBhC,EAAKiC,YAC1BC,mBAAoBlC,EAAKmC,kBACzBC,gBAAiBpC,EAAKqC,eACtBC,2BAA4BtC,EAAKuC,2BACjCC,wBAAyBxC,EAAKyC,yBAG/B5D,QAAQwB,MAAM,oCAEX3E,KAGX,eAAgBsE,GACZ,OAAO,IAAImB,GAAiBY,cAAe/B,GAG/C,SACI,IAAI0C,EAAKd,MAAMe,SASf,OARAD,EAAGnK,KAAOmD,KAAKnD,KACfmK,EAAGpB,YAAc5F,KAAK4F,YACtBoB,EAAGrB,YAAc3F,KAAK2F,YACtBqB,EAAGnB,iBAAmB7F,KAAK6F,iBAC3BmB,EAAGlB,gBAAkB9F,KAAK8F,gBAC1BkB,EAAGZ,aAAepG,KAAKoG,aACvBY,EAAGhB,wBAA0BhG,KAAKgG,wBAClCgB,EAAGf,qBAAuBjG,KAAKiG,qBACxBe,GAIf,MAAMnC,UAAkBV,EAEpB,aAAa,GACT5E,GAAK,EAAE,KACP1C,EAAgB,YAChB+I,EAAuB,UACvBsB,EAAqB,SACrBC,EAAoB,eACpBC,EAA0B,eAC1BC,EAA0B,KAC1BC,EAAgB,WAChBC,EAAsB,YACtBC,EAAuB,YACvBC,EAAuB,gBACvBC,EAA2B,KAC3BtD,GACA,IACA8B,MAAO,CAAE3G,KAAI6E,SACblJ,OAAOmH,OAAQrC,KAAM,CAACnD,OAAM+I,cAAasB,YAAWC,WAAUC,iBAAgBC,iBAAgBC,OAAMC,aAAYC,cAAaC,cAAaC,oBAE9I,SAAUtD,GACN,OAAOA,IAASD,EAAOS,WAAWC,WAAaqB,MAAMC,SAAU/B,GAGnE,QAAS9G,GAA6B,OAAnB0C,KAAKnD,KAAOS,EAAc0C,KAC7C,eAAgB1C,GAAoC,OAA1B0C,KAAK4F,YAActI,EAAc0C,KAC3D,aAAc1C,GAAkC,OAAxB0C,KAAKkH,UAAY5J,EAAc0C,KACvD,YAAa1C,GAAiC,OAAvB0C,KAAKmH,SAAW7J,EAAc0C,KACrD,kBAAmB1C,GAAuC,OAA7B0C,KAAKoH,eAAiB9J,EAAc0C,KACjE,kBAAmB1C,GAAuC,OAA7B0C,KAAKqH,eAAiB/J,EAAc0C,KACjE,QAAS1C,GAA6B,OAAnB0C,KAAKsH,KAAOhK,EAAc0C,KAC7C,cAAe1C,GAAmC,OAAzB0C,KAAKuH,WAAajK,EAAc0C,KACzD,eAAgB1C,GAAoC,OAA1B0C,KAAKwH,YAAclK,EAAc0C,KAC3D,eAAgB1C,GAAoC,OAA1B0C,KAAKyH,YAAcnK,EAAc0C,KAC3D,mBAAoB1C,GAAwC,OAA9B0C,KAAK0H,gBAAkBpK,EAAc0C,KAEnE,UAAY,OAAOA,KAAKnD,KACxB,iBAAmB,OAAOmD,KAAK4F,YAC/B,eAAiB,OAAO5F,KAAKkH,UAC7B,cAAgB,OAAOlH,KAAKmH,SAC5B,oBAAsB,OAAOnH,KAAKoH,eAClC,oBAAsB,OAAOpH,KAAKqH,eAClC,UAAY,OAAOrH,KAAKsH,KACxB,gBAAkB,OAAOtH,KAAKuH,WAC9B,iBAAmB,OAAOvH,KAAKwH,YAC/B,iBAAmB,OAAOxH,KAAKyH,YAC/B,qBAAuB,OAAOzH,KAAK0H,gBACnC,iBAAmB,OAAO1H,KAAK2H,QAG/B,cAAerD,GAuBX,OArBIA,GAAQA,EAAKI,YAEbwB,MAAMG,cAAe/B,GAGrBtE,KACC4H,QAAStD,EAAKuD,cACdC,eAAgBxD,EAAKyD,qBACrBC,aAAc1D,EAAK4C,WACnBe,YAAa3D,EAAK6C,UAClBe,kBAAmB5D,EAAK8C,gBACxBe,kBAAmB7D,EAAK+C,gBACxBe,QAAS9D,EAAKgD,MACde,cAAe/D,EAAKiD,YACpBe,eAAgBhE,EAAKkD,aACrBe,eAAgBjE,EAAKmD,aACrBe,mBAAoBlE,EAAKoD,kBAG1BvE,QAAQwB,MAAM,oCAEX3E,KAGX,eAAgBsE,GACZ,OAAO,IAAIO,GAAYwB,cAAe/B,GAG1C,SACI,IAAI0C,EAAKd,MAAMe,SAYf,OAXAD,EAAGnK,KAAOmD,KAAKnD,KACfmK,EAAGpB,YAAc5F,KAAK4F,YACtBoB,EAAGE,UAAYlH,KAAKkH,UACpBF,EAAGG,SAAWnH,KAAKmH,SACnBH,EAAGI,eAAiBpH,KAAKoH,eACzBJ,EAAGK,eAAiBrH,KAAKqH,eACzBL,EAAGM,KAAOtH,KAAKsH,KACfN,EAAGO,WAAavH,KAAKuH,WACrBP,EAAGQ,YAAcxH,KAAKwH,YACtBR,EAAGS,YAAczH,KAAKyH,YACtBT,EAAGU,gBAAkB1H,KAAK0H,gBACnBV,GAIf,MAAMlC,UAAuBD,EAEzB,aAAa,GACTtF,GAAK,EAAE,KACP1C,EAAgB,YAChB+I,EAAuB,UACvBsB,EAAqB,SACrBC,EAAoB,eACpBC,EAA0B,eAC1BC,EAA0B,KAC1BC,EAAgB,WAChBC,EAAsB,YACtBC,EAAuB,YACvBC,EAAuB,gBACvBC,EAA2B,cAC3Be,EAAyB,KACzBrE,GACA,IACA8B,MAAO,CAAE3G,KAAI6E,OAAMvH,OAAM+I,cAAasB,YAAWC,WAAUC,iBAAgBC,iBAAgBC,OAAMC,aAAYC,cAAaC,cAAaC,oBACvI1H,KAAKyE,QAASN,EAAOS,WAAWE,gBAChC9E,KACK0I,iBAAkBD,GAE3B,SAAUrE,GACN,OAAOA,IAASD,EAAOS,WAAWE,gBAAkBoB,MAAMC,SAAU/B,GAGxE,iBAAkB9G,GAAsC,OAA5B0C,KAAKyI,cAAgBnL,EAAc0C,KAC/D,mBAAqB,OAAOA,KAAKyI,cAGjC,cAAenE,GAaX,OAXIA,GAAQA,EAAKI,YAEbwB,MAAMG,cAAe/B,GAGrBtE,KAAK0I,iBAAkBpE,EAAKqE,kBAI5BxF,QAAQwB,MAAM,oCAEX3E,KAGX,eAAgBsE,GACZ,OAAO,IAAIQ,GAAiBuB,cAAe/B,GAG/C,SACI,IAAI0C,EAAKd,MAAMe,SAEf,OADAD,EAAGyB,cAAgBzI,KAAKyI,cACjBzB,EAGX,gBACG,IAAI4B,EAAa,GAEjB,OADAA,EAAWrN,KAAKyE,KAAK6I,oBACdD,GAId,MAAM7D,UAAuBF,EAEzB,aAAa,GACTtF,GAAK,EAAE,KACP1C,EAAgB,YAChB+I,EAAuB,UACvBsB,EAAqB,SACrBC,EAAoB,eACpBC,EAA0B,eAC1BC,EAA0B,KAC1BC,EAAgB,WAChBC,EAAsB,YACtBC,EAAuB,YACvBC,EAAuB,gBACvBC,EAA2B,cAC3BoB,EAAyB,KACzB1E,GACA,IACA8B,MAAO,CAAE3G,KAAI6E,OAAMvH,OAAM+I,cAAasB,YAAWC,WAAUC,iBAAgBC,iBAAgBC,OAAMC,aAAYC,cAAaC,cAAaC,oBACvI1H,KAAKyE,QAASN,EAAOS,WAAWG,gBAChC/E,KACK+I,iBAAkBD,GAE3B,SAAU1E,GACN,OAAOA,IAASD,EAAOS,WAAWG,gBAAkBmB,MAAMC,SAAU/B,GAGxE,iBAAkB9G,GAAsC,OAA5B0C,KAAK8I,cAAgBxL,EAAc0C,KAC/D,mBAAqB,OAAOA,KAAK8I,cAGjC,cAAexE,GAYX,OAVIA,GAAQA,EAAKI,YAEbwB,MAAMG,cAAe/B,GAGrBtE,KAAK+I,iBAAkBzE,EAAK0E,kBAG5B7F,QAAQwB,MAAM,oCAEX3E,KAGX,eAAgBsE,GACZ,OAAO,IAAIS,GAAiBsB,cAAe/B,GAG/C,SACI,IAAI0C,EAAKd,MAAMe,SAEf,OADAD,EAAG8B,cAAgB9I,KAAK8I,cACjB9B,EAGX,gBACI,IAAI4B,EAAa,GAEjB,OADAA,EAAWrN,KAAKyE,KAAKiJ,oBACdL,GAIf,MAAM3D,UAAsBd,EAExB,aAAa,GACT5E,GAAK,EAAE,UACP2J,EAAqB,UACrBhC,EAAY,KAAI,SAChBiC,EAAW,KAAI,SACfC,EAAW,KAAI,cACfC,EAAgB,KAAI,KACpBjF,GACA,IACA8B,MAAO,CAAE3G,KAAI6E,SACblJ,OAAOmH,OAAQrC,KAAM,CAAEkJ,YAAWhC,YAAWiC,WAAUC,WAAUC,kBAErE,SAAUjF,GACN,OAAOA,IAASD,EAAOS,WAAWK,eAAiBiB,MAAMC,SAAU/B,GAGvE,aAAc9G,GAAkC,OAAxB0C,KAAKkJ,UAAY5L,EAAc0C,KACvD,aAAckH,GAA0C,OAA5BlH,KAAKkH,UAAYA,EAAkBlH,KAC/D,YAAamJ,GAAuC,OAA1BnJ,KAAKmJ,SAAWA,EAAiBnJ,KAC3D,iBAAkBqJ,GAAsD,OAApCrJ,KAAKqJ,cAAgBA,EAAsBrJ,KAC/E,YAAaoJ,GAAuC,OAA1BpJ,KAAKoJ,SAAWA,EAAiBpJ,KAE3D,eAAiB,OAAOA,KAAKkJ,UAC7B,iBAAmB,OAAOlJ,KAAKkJ,UAC/B,eAAiB,OAAOlJ,KAAKkH,UAC7B,cAAgB,OAAOlH,KAAKmJ,SAC5B,mBAAqB,OAAOnJ,KAAKqJ,cACjC,cAAgB,OAAOrJ,KAAKoJ,SAE5B,aAAa9L,GAAiC,OAAxB0C,KAAKsJ,UAAYhM,EAAc0C,KACrD,aAAa1C,GAAiC,OAAxB0C,KAAKuJ,UAAYjM,EAAc0C,KACrD,aAAa1C,GAAiC,OAAxB0C,KAAKwJ,UAAYlM,EAAc0C,KAErD,eAAiB,OAAOA,KAAKsJ,UAC7B,eAAiB,OAAOtJ,KAAKuJ,UAC7B,eAAiB,OAAOvJ,KAAKwJ,UAI7B,cAAelF,GAqBX,OAnBIA,GAAQA,EAAKI,YAEbwB,MAAMG,cAAe/B,GAGrBtE,KACCyJ,aAAcnF,EAAKoF,MACnB1B,aAAc1D,EAAK4C,WACnByC,YAAarF,EAAKsF,wBAClBC,iBAAkBvF,EAAKwF,8BACvBC,YAAazF,EAAK8E,UAClBY,aAAc1F,EAAKgF,WACnBW,aAAc3F,EAAKiF,WACnBW,aAAc5F,EAAKkF,YAIpBrG,QAAQwB,MAAM,oCAEX3E,KAGX,kBAIA,SACI,IAAIgH,EAAKd,MAAMe,SAMf,OALAD,EAAGkC,UAAYlJ,KAAKkJ,UACpBlC,EAAGE,UAAYlH,KAAKkH,UACpBF,EAAGmC,SAAWnJ,KAAKmJ,SACnBnC,EAAGqC,cAAgBrJ,KAAKqJ,cACxBrC,EAAGoC,SAAWpJ,KAAKoJ,SACZpC,EAGX,gBACI,MAAO,IAIf,MAAMhC,UAAqBC,EAEvB,aAAa,GACT1F,GAAK,EAAE,UACP2J,EAAqB,UACrBhC,EAAY,KAAI,SAChBiC,EAAW,KAAI,cACfE,EAAgB,KAAI,SACpBD,EAAW,KAAI,MACfe,EAAQ,KAAI,UACZC,GAAY,EAAK,KACjBhG,GACA,IACA8B,MAAO,CAAE3G,KAAI2J,YAAWhC,YAAWiC,WAAUE,gBAAeD,WAAUhF,SACtElJ,OAAOmH,OAAQrC,KAAM,CAAEmK,QAAOC,cAElC,SAAUhG,GACN,OAAOA,IAASD,EAAOS,WAAWI,cAAgBkB,MAAMC,SAAU/B,GAGtE,SAAU+F,GAA8B,OAApBnK,KAAKmK,MAAQA,EAAcnK,KAC/C,aAAcoK,GAA0C,OAA5BpK,KAAKoK,UAAYA,EAAkBpK,KAE/D,WAAa,OAAOA,KAAKmK,MACzB,eAAiB,OAAOnK,KAAKoK,UAG7B,cAAe9F,GAQX,OANA4B,MAAMG,cAAe/B,GAGrBtE,KACCqK,SAAU/F,EAAK6F,OACfG,aAAchG,EAAKiG,qBACbvK,KAGX,kBAIA,SACI,IAAIgH,EAAKd,MAAMe,SAGf,OAFAD,EAAGoD,UAAYpK,KAAKoK,UACpBpD,EAAGmD,MAAQnK,KAAKmK,MACTnD,EAEX,gBACI,MAAO,IAIf,MAAM5B,UAAqBJ,EAEvB,aAAa,GACTzF,GAAK,EAAE,UACP2J,EAAqB,UACrBhC,EAAY,KAAI,SAChBiC,EAAW,KAAI,cACfE,EAAgB,KAAI,SACpBD,EAAW,KAAI,UACfgB,GAAY,EAAK,MACjBD,EAAQ,KAAI,UACZK,GAAY,EAAE,OACdC,GAAS,GACT,IAEAvE,MAAO,CAAE3G,KAAI2J,YAAWhC,YAAWiC,WAAUE,gBAAeD,WAAUgB,YAAWD,QAAOK,YAAWC,WACnGzK,KAAKyE,QAASN,EAAOS,WAAWQ,cAChCpF,KAAKmH,cAAWuD,EAChB1K,KAAKoH,oBAAiBsD,EACtB1K,KAAKqH,oBAAiBqD,EACtB1K,KAAK2K,cAAWD,EAChB1K,KAAK4K,oBAAiBF,EACtB1K,KAAK6K,aAAUH,EACf1K,KAAK8K,eAAYJ,EACjB1K,KAAK+K,iBAAcL,EACnB1K,KAAKsJ,eAAYoB,EACjB1K,KAAKuJ,eAAYmB,EACjB1K,KAAKwJ,eAAYkB,EACjB1K,KAAKgL,WAAQN,EACb1K,KAAKiL,YAASP,EACd1K,KAAKkL,iCAA8BR,EACnC1K,KAAKmL,gCAA6BT,EAClC1K,KAAKoL,cAAWV,EAChB1K,KAAKnD,UAAO6N,EACZ1K,KAAKqL,qBAAkBX,EACvB1K,KAAKsL,oBAAiBZ,EAE1B,SAAUtG,GACN,OAAOA,IAASD,EAAOS,WAAWQ,cAAgBc,MAAMC,SAAU/B,GAGtE,aAAcoG,GAA0C,OAA5BxK,KAAKwK,UAAYA,EAAkBxK,KAC/D,eAAiB,OAAOA,KAAKwK,UAE7B,UAAWC,GAAiC,OAAtBzK,KAAKyK,OAASA,EAAezK,KACnD,YAAc,OAAOA,KAAKyK,OAE1B,QAAS5N,GAA2B,OAAlBmD,KAAKnD,KAAOA,EAAamD,KAC3C,UAAY,OAAOA,KAAKnD,KAExB,YAAaS,GAAiC,OAAvB0C,KAAKmH,SAAW7J,EAAc0C,KACrD,kBAAmB1C,GAAuC,OAA7B0C,KAAKoH,eAAiB9J,EAAc0C,KACjE,kBAAmB1C,GAAuC,OAA7B0C,KAAKqH,eAAiB/J,EAAc0C,KAEjE,YAAa1C,GAAiC,OAAvB0C,KAAK2K,SAAWrN,EAAc0C,KACrD,kBAAmB1C,GAAuC,OAA7B0C,KAAK4K,eAAiBtN,EAAc0C,KACjE,WAAY1C,GAAgC,OAAtB0C,KAAK6K,QAAUvN,EAAc0C,KACnD,aAAc1C,GAAkC,OAAxB0C,KAAK8K,UAAYxN,EAAc0C,KACvD,eAAgB1C,GAAoC,OAA1B0C,KAAK+K,YAAczN,EAAc0C,KAC3D,+BAAgC1C,GAAoD,OAA1C0C,KAAKkL,4BAA8B5N,EAAc0C,KAC3F,8BAA+B1C,GAAmD,OAAzC0C,KAAKmL,2BAA6B7N,EAAc0C,KACzF,YAAa1C,GAAiC,OAAvB0C,KAAKoL,SAAW9N,EAAc0C,KACrD,mBAAoB1C,GAAwC,OAA9B0C,KAAKqL,gBAAkB/N,EAAc0C,KACnE,kBAAmB1C,GAAuC,OAA7B0C,KAAKsL,eAAiBhO,EAAc0C,KAEjE,aAAa1C,GAAiC,OAAxB0C,KAAKsJ,UAAYhM,EAAc0C,KACrD,aAAa1C,GAAiC,OAAxB0C,KAAKuJ,UAAYjM,EAAc0C,KACrD,aAAa1C,GAAiC,OAAxB0C,KAAKwJ,UAAYlM,EAAc0C,KACrD,SAAS1C,GAA6B,OAApB0C,KAAKgL,MAAQ1N,EAAc0C,KAC7C,UAAU1C,GAA8B,OAArB0C,KAAKiL,OAAS3N,EAAc0C,KAE/C,cAAgB,OAAOA,KAAKmH,SAC5B,oBAAsB,OAAOnH,KAAKoH,eAClC,oBAAsB,OAAOpH,KAAKqH,eAClC,cAAgB,OAAOrH,KAAK2K,SAC5B,oBAAsB,OAAO3K,KAAK4K,eAClC,aAAe,OAAO5K,KAAK6K,QAC3B,eAAiB,OAAO7K,KAAK8K,UAC7B,iBAAmB,OAAO9K,KAAK+K,YAC/B,qBAAuB,OAAO/K,KAAKqL,gBACnC,oBAAsB,OAAOrL,KAAKsL,eAElC,eAAiB,OAAOtL,KAAKsJ,UAC7B,eAAiB,OAAOtJ,KAAKuJ,UAC7B,eAAiB,OAAOvJ,KAAKwJ,UAC7B,WAAa,OAAOxJ,KAAKgL,MACzB,YAAc,OAAOhL,KAAKiL,OAE1B,iCAAmC,OAAOjL,KAAKkL,4BAC/C,gCAAkC,OAAOlL,KAAKmL,2BAC9C,cAAgB,OAAOnL,KAAKoL,SAI5B,cAAe9G,GA+BX,OA7BIA,GACA4B,MAAMG,cAAe/B,GAGrBtE,KAAKuL,aAAcjH,EAAKkH,OACxBxL,KAAKyL,UAAWnH,EAAKkH,OACrBxL,KAAKiI,YAAa3D,EAAK6C,UACvBnH,KAAKkI,kBAAmB5D,EAAK8C,gBAC7BpH,KAAKmI,kBAAmB7D,EAAK+C,gBAC7BrH,KAAK0L,kBAAmBpH,EAAKqH,gBAC7B3L,KAAK4L,YAAatH,EAAKqG,UACvB3K,KAAK6L,WAAYvH,EAAKuG,SACtB7K,KAAK8L,YAAcxH,EAAK8G,UACxBpL,KAAK+L,aAAezH,EAAKwG,WACzB9K,KAAKgM,eAAiB1H,EAAK2H,cAC3BjM,KAAKkM,+BAAiC5H,EAAK4G,6BAC3ClL,KAAKmM,8BAAgC7H,EAAK6G,4BAC1CnL,KAAKgK,aAAe1F,EAAKgF,WACzBtJ,KAAKiK,aAAe3F,EAAKiF,WACzBvJ,KAAKkK,aAAe5F,EAAKkF,WACzBxJ,KAAKoM,SAAW9H,EAAK0G,OACrBhL,KAAKqM,UAAY/H,EAAK2G,QACtBjL,KAAK4H,QAAQtD,EAAKzH,MAClBmD,KAAKsM,mBAAmBhI,EAAKiI,kBAC7BvM,KAAKwM,kBAAkBlI,EAAKmI,mBAG5BtJ,QAAQwB,MAAM,uCAEX3E,KAGX,eAAgBsE,GACZ,OAAO,IAAIc,GAAeiB,cAAe/B,GAG7C,SACI,IAAI0C,EAAKd,MAAMe,SAGf,OAFAD,EAAG0F,UAAY1M,KAAK0M,UACpB1F,EAAGyD,OAASzK,KAAKyK,OACVzD,EAGX,gBACI,IAAI4B,EAAa,GAEjB,OADAA,EAAWrN,KAAKyE,KAAK2M,gBACd/D,GAIf,MAAMvD,UAAyBL,EAE3B,aAAa,GACTzF,GAAK,EAAE,UACP2J,EAAqB,UACrBhC,EAAY,KAAI,SAChBiC,EAAW,KAAI,cACfE,EAAgB,KAAI,SACpBD,EAAW,KAAI,UACfgB,GAAY,EAAK,MACjBD,EAAQ,KAAI,WACZyC,EAAa,GAAE,OACfnC,GAAS,GACT,IAEAvE,MAAO,CAAE3G,KAAI2J,YAAWhC,YAAWiC,WAAUE,gBAAeD,WAAUgB,YAAWD,QAAOyC,aAAYnC,WACpGzK,KAAKyE,QAASN,EAAOS,WAAWS,kBAChCrF,KAAKmH,cAAWuD,EAChB1K,KAAKoH,oBAAiBsD,EACtB1K,KAAKqH,oBAAiBqD,EACtB1K,KAAK2K,cAAWD,EAChB1K,KAAK4K,oBAAiBF,EACtB1K,KAAK6K,aAAUH,EACf1K,KAAK8K,eAAYJ,EACjB1K,KAAK+K,iBAAcL,EACnB1K,KAAKsJ,eAAYoB,EACjB1K,KAAKuJ,eAAYmB,EACjB1K,KAAKwJ,eAAYkB,EACjB1K,KAAKgL,WAAQN,EACb1K,KAAKiL,YAASP,EACd1K,KAAKkL,iCAA8BR,EACnC1K,KAAKmL,gCAA6BT,EAClC1K,KAAKoL,cAAWV,EAEhB1K,KAAK6M,OAAS,GACd7M,KAAK8M,iBAAmB,GAG5B,SAAU1I,GACN,OAAOA,IAASD,EAAOS,WAAWS,kBAAoBa,MAAMC,SAAU/B,GAG1E,cAAewI,GAA6C,OAA9B5M,KAAK4M,WAAaA,EAAmB5M,KACnE,gBAAkB,OAAOA,KAAK4M,WAE9B,UAAWC,GAAiC,OAAtB7M,KAAK6M,OAASA,EAAe7M,KACnD,YAAc,OAAOA,KAAK+M,MAE1B,oBAAqBD,GAA+D,OAA1C9M,KAAK8M,iBAAmBA,EAAyB9M,KAC3F,sBAAwB,OAAOA,KAAK8M,iBAIpC,UAAWE,GAAkC,OAAtBhN,KAAKyK,OAASA,OAAezK,KACpD,YAAc,OAAOA,KAAKyK,OAG1B,YAAanN,GAAiC,OAAvB0C,KAAKmH,SAAW7J,EAAc0C,KACrD,kBAAmB1C,GAAuC,OAA7B0C,KAAKoH,eAAiB9J,EAAc0C,KACjE,kBAAmB1C,GAAuC,OAA7B0C,KAAKqH,eAAiB/J,EAAc0C,KAEjE,YAAa1C,GAAiC,OAAvB0C,KAAK2K,SAAWrN,EAAc0C,KACrD,kBAAmB1C,GAAuC,OAA7B0C,KAAK4K,eAAiBtN,EAAc0C,KACjE,WAAY1C,GAAgC,OAAtB0C,KAAK6K,QAAUvN,EAAc0C,KACnD,aAAc1C,GAAkC,OAAxB0C,KAAK8K,UAAYxN,EAAc0C,KACvD,eAAgB1C,GAAoC,OAA1B0C,KAAK+K,YAAczN,EAAc0C,KAC3D,+BAAgC1C,GAAoD,OAA1C0C,KAAKkL,4BAA8B5N,EAAc0C,KAC3F,8BAA+B1C,GAAmD,OAAzC0C,KAAKmL,2BAA6B7N,EAAc0C,KACzF,YAAa1C,GAAiC,OAAvB0C,KAAKoL,SAAW9N,EAAc0C,KAErD,aAAa1C,GAAiC,OAAxB0C,KAAKsJ,UAAYhM,EAAc0C,KACrD,aAAa1C,GAAiC,OAAxB0C,KAAKuJ,UAAYjM,EAAc0C,KACrD,aAAa1C,GAAiC,OAAxB0C,KAAKwJ,UAAYlM,EAAc0C,KACrD,SAAS1C,GAA6B,OAApB0C,KAAKgL,MAAQ1N,EAAc0C,KAC7C,UAAU1C,GAA8B,OAArB0C,KAAKiL,OAAS3N,EAAc0C,KAE/C,cAAgB,OAAOA,KAAKmH,SAC5B,oBAAsB,OAAOnH,KAAKoH,eAClC,oBAAsB,OAAOpH,KAAKqH,eAClC,cAAgB,OAAOrH,KAAK2K,SAC5B,oBAAsB,OAAO3K,KAAK4K,eAClC,aAAe,OAAO5K,KAAK6K,QAC3B,eAAiB,OAAO7K,KAAK8K,UAC7B,iBAAmB,OAAO9K,KAAK+K,YAE/B,eAAiB,OAAO/K,KAAKsJ,UAC7B,eAAiB,OAAOtJ,KAAKuJ,UAC7B,eAAiB,OAAOvJ,KAAKwJ,UAC7B,WAAa,OAAOxJ,KAAKgL,MACzB,YAAc,OAAOhL,KAAKiL,OAE1B,iCAAmC,OAAOjL,KAAKkL,4BAC/C,gCAAkC,OAAOlL,KAAKmL,2BAC9C,cAAgB,OAAOnL,KAAKoL,SAE5B,cAAe9G,GA6BX,OA3BIA,GACA4B,MAAMG,cAAe/B,GAGrBtE,KACCiN,cAAe3I,EAAK4I,QACrBlN,KACC4L,YAAatH,EAAKqG,UACnB3K,KACC6L,WAAYvH,EAAKuG,SAClB7K,KACCgM,eAAiB1H,EAAK2H,cACvBjM,KACCgK,aAAe1F,EAAKgF,WACrBtJ,KACCiK,aAAe3F,EAAKiF,WACrBvJ,KACCkK,aAAe5F,EAAKkF,WACrBxJ,KACCoM,SAAW9H,EAAK0G,OACjBhL,KACCqM,UAAY/H,EAAK2G,SAIlB9H,QAAQwB,MAAM,uCAEX3E,KAEX,eAAgBsE,GACZ,OAAO,IAAIe,GAAmBgB,cAAe/B,GAGjD,SACI,IAAI0C,EAAKd,MAAMe,SAGf,OAFAD,EAAG4B,WAAa5I,KAAK4I,WACrB5B,EAAGyD,OAASzK,KAAKyK,OACVzD,GAIf,MAAM7B,UAAqBH,EAEvB,aAAa,GACTzF,GAAK,EAAE,UACP2J,EAAqB,UACrBhC,EAAY,KAAI,SAChBiC,EAAW,KAAI,cACfE,EAAgB,KAAI,SACpBD,EAAW,KAAI,UACfgB,GAAY,EAAK,MACjBD,EAAQ,KAAI,QACZgD,GAAU,EAAE,OACZ1C,GAAS,GACT,IAEAvE,MAAO,CAAE3G,KAAI2J,YAAWhC,YAAWiC,WAAUE,gBAAeD,WAAUgB,YAAWD,QAAOgD,UAAS1C,WACjGzK,KAAKyE,QAASN,EAAOS,WAAWO,cAEpC,SAAUf,GACN,OAAOA,IAASD,EAAOS,WAAWO,cAAgBe,MAAMC,SAAU/B,GAGtE,WAAY+I,GAAoC,OAAxBnN,KAAKmN,QAAUA,EAAgBnN,KACvD,aAAe,OAAOA,KAAKmN,QAE3B,UAAW1C,GAAiC,OAAtBzK,KAAKyK,OAASA,EAAezK,KACnD,YAAc,OAAOA,KAAKyK,OAE1B,cAAenG,GAcX,OAZIA,GACA4B,MAAMG,cAAe/B,GAGrBtE,KACCoN,WAAY9I,EAAK+I,OAClBrN,KACCyL,UAAWnH,EAAK+I,QAGjBlK,QAAQwB,MAAM,uCAEX3E,KAGX,eAAgBsE,GACZ,OAAO,IAAIa,GAAekB,cAAe/B,GAG7C,SACI,IAAI0C,EAAKd,MAAMe,SAGf,OAFAD,EAAGmG,QAAUnN,KAAKmN,QAClBnG,EAAGyD,OAASzK,KAAKyK,OACVzD,EAGX,gBACI,IAAI4B,EAAa,GAEjB,OADAA,EAAWrN,KAAKyE,KAAKsN,cACd1E,GAIf,MAAM2E,UAAyBpI,EAE3B,aAAa,GACT5F,GAAK,EAAE,UACP2J,EAAqB,UACrBhC,EAAY,KAAI,SAChBiC,EAAW,KAAI,cACfE,EAAgB,KAAI,SACpBD,EAAW,KAAI,UACfgB,GAAY,EAAK,MACjBD,EAAQ,KAAI,QACZgD,GAAU,EAAE,IACZK,EAAe,kBACfC,EAA6B,WAC7BC,GACA,IAEAxH,MAAO,CAAE3G,KAAI2J,YAAWhC,YAAWiC,WAAUE,gBAAeD,WAAUgB,YAAW+C,UAAShD,UAC1FnK,KAAKyE,QAASN,EAAOS,WAAWY,WAChCxF,KAAK2N,IAAMH,EACXxN,KAAKyN,kBAAoBA,EACzBzN,KAAK0N,WAAaA,EAEtB,SAAUtJ,GACN,OAAOA,IAASD,EAAOS,WAAWY,WAAaU,MAAMC,SAAU/B,GAGnE,OAAQoJ,GAAwB,OAAhBxN,KAAK2N,IAAMH,EAAYxN,KACvC,SAAW,OAAOA,KAAK2N,IACvB,qBAAsBF,GAAkE,OAA5CzN,KAAKyN,kBAAoBA,EAA0BzN,KAC/F,uBAAyB,OAAOA,KAAKyN,kBACrC,cAAeC,GAA6C,OAA9B1N,KAAK0N,WAAaA,EAAmB1N,KACnE,gBAAkB,OAAOA,KAAK0N,WAE9B,cAAepJ,GAiBX,OAfIA,GACA4B,MAAMG,cAAe/B,GAGrBtE,KACC4N,OAAQtJ,EAAKqJ,KACblC,UAAUnH,EAAKuJ,cACfT,WAAW9I,EAAKuJ,cAChBC,qBAAqBxJ,EAAKyJ,oBAC1BC,cAAc1J,EAAK2J,WAIpB9K,QAAQwB,MAAM,uCAEX3E,KAGX,eAAgBsE,GACZ,OAAO,IAAIiJ,GAAmBlH,cAAe/B,GAGjD,SACI,IAAI0C,EAAKd,MAAMe,SAEf,OADAD,EAAGwG,IAAMxN,KAAK2N,IACP3G,EAGX,gBACI,IAAI4B,EAAa,GAEjB,OADAA,EAAWrN,KAAKyE,KAAKkO,aACdtF,GAIf,MAAM1D,UAAqBD,EAEvB,aAAa,GACT1F,GAAK,EAAE,UACP2J,EAAqB,UACrBhC,EAAY,KAAI,SAChBiC,EAAW,KAAI,cACfE,EAAgB,KAAI,QACpB8E,GAAU,EAAE,QACZtD,GAAU,EAAK,SACfF,GAAW,EAAI,eACfC,EAAiB,EAAC,UAClBE,GAAY,EAAK,YACjBC,EAAc,GAAE,SAChBK,EAAW,EAAC,UACZgD,GAAY,GACZ,IAEAlI,MAAO,CAAE3G,KAAI2J,YAAWhC,YAAWiC,WAAUE,kBAC7CrJ,KAAKyE,QAASN,EAAOS,WAAWM,cAChChK,OAAOmH,OAAQrC,KAAM,CAAEmO,UAAStD,UAASF,WAAUC,iBAAgBE,YAAWC,cAAaK,WAAUgD,cAEzG,SAAUhK,GACN,OAAOA,IAASD,EAAOS,WAAWM,cAAgBgB,MAAMC,SAAU/B,GAGtE,WAAY+J,GAAoC,OAAxBnO,KAAKmO,QAAUA,EAAgBnO,KACvD,WAAa6K,GAAoC,OAAxB7K,KAAK6K,QAAUA,EAAgB7K,KACxD,YAAa2K,GAAuC,OAA1B3K,KAAK2K,SAAWA,EAAiB3K,KAC3D,kBAAoB4K,GAAuD,OAAtC5K,KAAK4K,eAAiBA,EAAuB5K,KAClF,aAAe8K,GAAyC,OAA5B9K,KAAK8K,UAAYA,EAAkB9K,KAC/D,eAAiB+K,GAA+C,OAAhC/K,KAAK+K,YAAcA,EAAoB/K,KACvE,YAAcoL,GAAsC,OAA1BpL,KAAKoL,SAAWA,EAAiBpL,KAC3D,aAAcoO,GAA0C,OAA7BpO,KAAKqO,WAAaD,EAAkBpO,KAE/D,aAAe,OAAOA,KAAKmO,QAC3B,aAAgB,OAAOnO,KAAK6K,QAC5B,cAAgB,OAAO7K,KAAK2K,SAC5B,oBAAqB,OAAO3K,KAAK4K,eACjC,eAAkB,OAAO5K,KAAK8K,UAC9B,iBAAoB,OAAO9K,KAAK+K,YAChC,cAAiB,OAAO/K,KAAKoL,SAC7B,eAAiB,OAAOpL,KAAKoO,UAE7B,cAAe9J,GAwBX,OArBAnB,QAAQC,IAAI,uBACRkB,GACA4B,MAAMG,cAAe/B,GAGrBtE,KACCsO,WAAYhK,EAAKiK,OACjBC,aAAclK,EAAK+J,YACnBzC,YAAatH,EAAKqG,UAClBe,kBAAmBpH,EAAKmK,kBACxBhK,QAASH,EAAKI,YACdmH,WAAYvH,EAAKuG,SACjBkB,aAAczH,EAAKwG,WACnBkB,eAAgB1H,EAAK2H,cACrBH,YAAaxH,EAAK8G,UAClBoD,aAAclK,EAAK+J,aAIpBlL,QAAQwB,MAAM,uCAEX3E,KAGX,eAAgBsE,GAEZ,OADAnB,QAAQC,IAAI,SAAWkB,EAAKI,aACrB,IAAIQ,GAAemB,cAAe/B,GAG7C,SACI,IAAI0C,EAAKd,MAAMe,SASf,OARAD,EAAGmH,QAAUnO,KAAKmO,QAClBnH,EAAG6D,QAAU7K,KAAK6K,QAClB7D,EAAG2D,SAAW3K,KAAK2K,SACnB3D,EAAG4D,eAAiB5K,KAAK4K,eACzB5D,EAAG8D,UAAY9K,KAAK8K,UACpB9D,EAAG+D,YAAc/K,KAAK+K,YACtB/D,EAAGoE,SAAWpL,KAAKoL,SACnBpE,EAAGoH,UAAYpO,KAAKoO,UACbpH,EAEX,gBACI,IAAI4B,EAAa,GAEjB,OADAA,EAAWrN,KAAKyE,KAAK0O,cACd9F,GAIf,MAAM,UAAiBzD,EAEnB,aAAa,GACT5F,GAAK,EAAE,UACP2J,EAAqB,UACrBhC,EAAY,KAAI,SAChBiC,EAAW,KAAI,cACfE,EAAgB,KAAI,SACpBD,EAAW,KAAI,UACfgB,GAAY,EAAK,MACjBD,EAAQ,KAAI,QACZgD,GAAU,EAAE,IACZK,GACA,IAEAtH,MAAO,CAAE3G,KAAI2J,YAAWhC,YAAWiC,WAAUE,gBAAeD,WAAUgB,YAAW+C,UAAShD,UAC1FnK,KAAKyE,QAASN,EAAOS,WAAWc,UAChC1F,KAAK2N,IAAMH,EACXxN,KAAK2O,YAASjE,EACd1K,KAAK4O,YAASlE,EACd1K,KAAK6O,YAASnE,EACd1K,KAAKnD,UAAO6N,EAEhB,SAAUtG,GACN,OAAOA,IAASD,EAAOS,WAAWc,UAAYQ,MAAMC,SAAU/B,GAGlE,OAAQoJ,GAAwB,OAAhBxN,KAAK2N,IAAMH,EAAYxN,KACvC,SAAW,OAAOA,KAAK2N,IAEvB,UAAWgB,GAAiC,OAAtB3O,KAAK2O,OAASA,EAAe3O,KACnD,YAAc,OAAOA,KAAK2O,OAC1B,UAAWE,GAAiC,OAAtB7O,KAAK6O,OAASA,EAAe7O,KACnD,YAAc,OAAOA,KAAK6O,OAC1B,UAAWD,GAAiC,OAAtB5O,KAAK4O,OAASA,EAAe5O,KACnD,YAAc,OAAOA,KAAK4O,OAC1B,QAAS/R,GAA2B,OAAlBmD,KAAKnD,KAAOA,EAAamD,KAC3C,UAAY,OAAOA,KAAKnD,KAExB,cAAeyH,GAmBX,OAjBIA,GACA4B,MAAMG,cAAe/B,GAGrBtE,KACC4N,OAAQtJ,EAAKqJ,KACblC,UAAUnH,EAAKuJ,cACfT,WAAW9I,EAAKuJ,cAChBiB,UAAUxK,EAAKqK,QACfI,UAAUzK,EAAKsK,QACfI,UAAU1K,EAAKuK,QACfjH,QAAQtD,EAAKzH,OAIdsG,QAAQwB,MAAM,uCAEX3E,KAGX,eAAgBsE,GACZ,OAAO,IAAI,GAAW+B,cAAe/B,GAGzC,SACI,IAAI0C,EAAKd,MAAMe,SAEf,OADAD,EAAGwG,IAAMxN,KAAK2N,IACP3G,EAGX,gBACI,IAAI4B,EAAa,GAEjB,OADAA,EAAWrN,KAAKyE,KAAKkO,aACdtF,GAIf,MAAM,UAAmB5D,EAErB,aAAa,GACTzF,GAAK,EAAE,UACP2J,EAAqB,UACrBhC,EAAY,KAAI,SAChBiC,EAAW,KAAI,cACfE,EAAgB,KAAI,SACpBD,EAAW,KAAI,UACfgB,GAAY,EAAK,MACjBD,EAAQ,KAAI,SACZ8E,GAAW,EAAE,QACb9B,GAAU,EAAE,OACZ1C,GAAS,EAAE,eACXyE,EAAiB,KAAI,wBACrBC,EAA0B,KAAI,cAC9BC,EAAgB,KAAI,iBACpBC,EAAmB,MACnB,IAEAnJ,MAAO,CAAE3G,KAAI2J,YAAWhC,YAAWiC,WAAUE,gBAAeD,WAAUgB,YAAWD,UACjFnK,KAAKyE,QAASN,EAAOS,WAAWU,YAChCpK,OAAOmH,OAAQrC,KAAM,CAAEiP,WAAU9B,UAAS+B,iBAAgBC,0BAAyBE,mBAAkBD,gBAAe3E,WAExH,SAAUrG,GACN,OAAOA,IAASD,EAAOS,WAAWU,YAAcY,MAAMC,SAAU/B,GAGpE,YAAakL,GAAmC,OAAxBtP,KAAKiP,SAAWK,EAAetP,KACvD,WAAYT,GAA0B,OAAnBS,KAAKmN,QAAU5N,EAAWS,KAC7C,UAAWT,GAA0B,OAAnBS,KAAKyK,OAASlL,EAAYS,KAE5C,kBAAoBoJ,GAA4C,OAAhCpJ,KAAKkP,eAAiB9F,EAAiBpJ,KACvE,2BAA6BuP,GAAuD,OAA1CvP,KAAKmP,wBAA0BI,EAAkBvP,KAC3F,oBAAqBqP,GAA+D,OAA1CrP,KAAKqP,iBAAmBA,EAAyBrP,KAC3F,iBAAmBwP,GAAkC,OAA3BxP,KAAKoP,cAAgBI,EAAaxP,KAG5D,cAAgB,OAAOA,KAAKiP,SAC5B,aAAe,OAAOjP,KAAKmN,QAC3B,YAAc,OAAOnN,KAAKyK,OAC1B,oBAAsB,OAAOzK,KAAKkP,eAClC,6BAA+B,OAAOlP,KAAKmP,wBAC3C,sBAAwB,OAAOnP,KAAKyP,iBACpC,mBAAoB,OAAOzP,KAAKoP,cAEhC,cAAe9K,GAmBX,OAjBIA,GAAQA,EAAKI,aAAeP,EAAOS,WAAWU,YAC9CY,MAAMG,cAAe/B,GAGrBtE,KACC0P,YAAapL,EAAKqL,oBAClBvC,WAAY9I,EAAKsL,MACjBnE,UAAWnH,EAAKsL,MAChBC,kBAAmBvL,EAAKwL,gBAAkBxL,EAAKwL,qBAAkBpF,GACjEqF,2BAA2BzL,EAAK0L,0BAA4B1L,EAAK0L,+BAA4BtF,GAC7FjG,QAASH,EAAKI,YACduL,iBAAmB3L,EAAK4L,iBAIzB/M,QAAQwB,MAAM,uCAEX3E,KAGX,eAAgBsE,GACZ,OAAO,IAAI,GAAa+B,cAAe/B,GAI3C,SACI,IAAI0C,EAAKd,MAAMe,SAOf,OANAD,EAAGiI,SAAWjP,KAAKiP,SACnBjI,EAAGmG,QAAUnN,KAAKmN,QAClBnG,EAAGyD,OAASzK,KAAKyK,OACjBzD,EAAGkI,eAAiBlP,KAAKkP,eACzBlI,EAAGmI,wBAA0BnP,KAAKmP,wBAClCnI,EAAGoI,cAAgBpP,KAAKoP,cACjBpI,EAEX,gBACI,IAAI4B,EAAa,GAEjB,OADAA,EAAWrN,KAAKyE,KAAKsN,cACd1E,GAIf,MAAMrD,UAAoBP,EAEtB,aAAa,GACTzF,GAAK,EAAE,UACP2J,EAAqB,UACrBhC,EAAY,KAAI,SAChBiC,EAAW,KAAI,cACfE,EAAgB,KAAI,SACpBD,EAAW,KAAI,UACfgB,GAAY,EAAK,MACjBD,EAAQ,KAAI,cACZgG,EAAgB,KAAI,eACpBC,EAAiB,KAAI,YACrBC,EAAc,KAAI,OAClBC,GAAS,GACT,IAEApK,MAAO,CAAE3G,KAAI2J,YAAWhC,YAAWiC,WAAUE,gBAAeD,WAAUgB,YAAWD,UACjFnK,KAAKyE,QAASN,EAAOS,WAAWW,aAChCrK,OAAOmH,OAAQrC,KAAM,CAAEsQ,SAAQH,gBAAeC,iBAAgBC,gBAElE,SAAUjM,GACN,OAAOA,IAASD,EAAOS,WAAWW,aAAeW,MAAMC,SAAU/B,GAGrE,UAAWqG,GAAiC,OAAtBzK,KAAKyK,OAASA,EAAezK,KACnD,YAAc,OAAOA,KAAKyK,OAE1B,UAAW6F,GAAiC,OAAtBtQ,KAAKsQ,OAASA,EAAetQ,KACnD,iBAAkBuQ,GAAmC,OAA3BvQ,KAAKmQ,cAAgBI,EAAavQ,KAC5D,kBAAmBwQ,GAAkC,OAA3BxQ,KAAKoQ,eAAiBI,EAAYxQ,KAC5D,eAAgBwQ,GAA+B,OAAxBxQ,KAAKqQ,YAAcG,EAAYxQ,KAEtD,YAAc,OAAOA,KAAKsQ,OAC1B,mBAAqB,OAAOtQ,KAAKmQ,cACjC,oBAAsB,OAAOnQ,KAAKoQ,eAClC,iBAAmB,OAAOpQ,KAAKqQ,YAG/B,SACI,IAAIrJ,EAAKd,MAAMe,SAGf,OAFAD,EAAGsJ,OAAStQ,KAAKsQ,OAEVtJ,EAGX,cAAe1C,GAeX,OAbIA,GACA4B,MAAMG,cAAe/B,GAErBtE,KACCyQ,iBAAiBnM,EAAKoM,gBACtBC,kBAAkBrM,EAAKsM,kBACvBnF,UAAUnH,EAAKuM,OACfC,eAAexM,EAAKyM,eAIrB5N,QAAQwB,MAAM,uCAEX3E,KAIX,eAAgBsE,GACZ,OAAO,IAAIiB,GAAcc,cAAe/B,GAG5C,gBACI,IAAIsE,EAAa,GAEjB,OADAA,EAAWrN,KAAKyE,KAAKkO,aACdtF,GAIf,MAAMoI,EACF,cACIhR,KAAKiR,qBAAuB,IAAIC,IAGpC,mBAAoBC,GACZA,EAAOC,SACPpR,KAAKiR,qBAAqBI,IAAKF,EAAOC,UAAWD,GAIzD,eAAgB7M,GACZ,GAAIA,GAAQA,EAAKI,WAAa,CAC1B,GAAI1E,KAAKiR,qBAAqBK,IAAKhN,EAAKI,YACpC,OAAO1E,KAAKiR,qBAAqB/T,IAAKoH,EAAKI,YAAa6M,eAAgBjN,GAExEnB,QAAQC,IAAI,uBAAyBkB,EAAKI,iBAG9CvB,QAAQwB,MAAM,yCAK1B,MAAM6M,EAAwB,IAAIR,EAClC9V,OAAOqH,OAAOiP,GAEdA,EAAsBC,mBAAoB,IAAI,GAC9CD,EAAsBC,mBAAoB,IAAIhM,GAC9C+L,EAAsBC,mBAAoB,IAAIvM,GAC9CsM,EAAsBC,mBAAoB,IAAI,GAC9CD,EAAsBC,mBAAoB,IAAItM,GAC9CqM,EAAsBC,mBAAoB,IAAIrM,GAC9CoM,EAAsBC,mBAAoB,IAAIpM,GAC9CmM,EAAsBC,mBAAoB,IAAIlE,GAC9CiE,EAAsBC,mBAAoB,IAAI3M,GAC9C0M,EAAsBC,mBAAoB,IAAI1M,GAC9CyM,EAAsBC,mBAAoB,IAAIlM,G,gBC91C1C,EAAS,WAAkB,IAAIxF,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACI,MAAM,CAAC,GAAK,YAAY,CAACJ,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,oBAAoBA,EAAG,WAAW,CAACG,YAAY,eAAe,CAACH,EAAG,kBAAkB,IAAI,GAAGA,EAAG,MAAM,CAACG,YAAY,WAAWwB,YAAY,CAAC,WAAa,cAAc,QAAU,OAAO,iBAAiB,aAElV,EAAkB,GCFlB,EAAS,WAAkB,IAAI7B,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,SAAS,CAACE,IAAI,eAAeE,MAAM,CAAC,GAAK,gBAAgBC,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAOA,EAAO6P,oBAAqB,CAAC3R,EAAI4R,GAAG,YAAY,IAE/M,EAAkB,G,YCmBH,GACXC,SAAU,IACH,eAAW,CAAC,qBAIf,kBAEI,QAAO5R,KAAK6R,kBAAmB7R,KAAK6R,iBAAiBT,WAAajN,EAAOS,WAAWG,iBAG5F+M,QAAS,IACF,eAAa,CAAC,0BAA0B,oBAE3C,aAKI,SAASC,KAJT5O,QAAQC,IAAI,uBACZjF,OAAO6T,OAAS,IAAI,YAAehS,KAAKiS,MAAMC,cAAc,EAAM,CAAEC,SAAS,EAAMC,cAAc,IACjGjU,OAAO6T,OAAOK,wBAAwB,EAAIlU,OAAOmU,kBAGjDP,EAAoB5W,UAAUoX,iBAAmB,KAC7CvS,KAAKwS,yBAAwB,GAC7BxS,KAAKyS,iBAAgB,IAEzBV,EAAoB5W,UAAUuX,cAAgB,KAC1C1S,KAAKwS,yBAAwB,GAC7BxS,KAAKyS,iBAAgB,IAEzBV,EAAoB5W,UAAUwX,iBAAoBpC,IAC9CqC,SAASC,uBAAuB,WAAW,GAAGC,UAAYvC,GAE9DpS,OAAO6T,OAAOe,cAAgB,IAAIhB,EAElC,MAAMiB,EAAiB,IAAIC,eAAe,KAAQC,WAAW,KAAQ/U,OAAO6T,OAAOmB,UAAY,KAC/FH,EAAeI,QAAQpT,KAAKiS,MAAMC,gBAG1C,UACIlS,KAAKqT,eC3DqL,I,wBCQlM,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,I,QCnBX,EAAS,WAAkB,IAAItT,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACA,EAAG,qBAAqB,IAEjG,EAAkB,GCAtB,MAAM,EAEF,aAAa,GAAEV,EAAE,YAAE+T,EAAW,SAAEC,EAAW,MAAS,IAChDrY,OAAOmH,OAAQrC,KAAM,CAAET,KAAI+T,gBAE3BtT,KAAKuT,SAAWA,EAChBvT,KAAKmR,YAASzG,EAGlB,UAAY,MAAO,iBAEnB,MAAOnL,GAAqB,OAAdS,KAAKT,GAAKA,EAAWS,KACnC,QAAU,OAAOA,KAAKT,GACtB,iBAAmB,OAAOS,KAAKsT,YAC/B,cAAgB,OAAOtT,KAAKuT,SAE5B,eAAgBhU,GAA8B,OAAvBS,KAAKsT,YAAc/T,EAAWS,KACrD,YAAawT,GAA+B,OAAtBxT,KAAKuT,SAAWC,EAAaxT,KAGnD,UAAWyT,EAAStC,GAIhB,OAHAnR,KAAK0T,eAAgBvC,EAAOwC,kBAC5B3T,KAAK4T,YAAa,IAAI,mBAAsBzC,EAAOC,UAAY,IAAMD,EAAOxJ,QAASxJ,OAAO0V,QAC5F7T,KAAKmR,OAASA,EACPnR,KAIX,OAAQyT,EAAU,IACC,KAAZA,GACCtQ,QAAQC,IAAI,MAKpB,SACQpD,KAAKuT,UACLvT,KAAKuT,SAASO,YAAY,GAIlC,UACQ9T,KAAKuT,UACLvT,KAAKuT,SAASO,YAAY,GAIlC,WACQ9T,KAAKuT,UACLvT,KAAKuT,SAASQ,UAGtB,QAGA,SAGA,QAGA,SAGA,mBAAmBlQ,IAGnB,aAAaC,IAGb,aAGA,WAIW,QCvEf,MAAMkQ,EAEF,aAAY,GACRzU,GAAK,EAAE,UACPmN,EAAqB,SACrBuH,EAAoB,IACpBzG,EAAe,kBACf0G,GAAoB,EAAK,KACzB9P,EAAgB,SAChB+P,EAAW,GACX,IACAjZ,OAAOmH,OAAQrC,KAAM,CAAET,KAAImN,YAAWuH,WAAUzG,MAAK0G,oBAAmB9P,OAAM+P,aAGlF,MAAO5U,GAAqB,OAAdS,KAAKT,GAAKA,EAAWS,KACnC,QAAU,OAAOA,KAAKT,GAEtB,aAAcA,GAA4B,OAArBS,KAAK0M,UAAYnN,EAAWS,KACjD,eAAiB,OAAOA,KAAK0M,UAE7B,YAAa7P,GAA+B,OAAtBmD,KAAKiU,SAAWpX,EAAamD,KACnD,cAAgB,OAAOA,KAAKiU,SAE5B,OAAQzG,GAAwB,OAAhBxN,KAAKwN,IAAMA,EAAYxN,KACvC,SAAW,OAAOA,KAAKwN,IAEvB,qBAAsBlQ,GAA0C,OAAhC0C,KAAKkU,kBAAoB5W,EAAc0C,KACvE,uBAAyB,OAAOA,KAAKkU,kBAErC,QAAS9P,GAA2B,OAAlBpE,KAAKoE,KAAOA,EAAapE,KAC3C,UAAY,OAAOA,KAAKoE,KACxB,QAAS7E,GAAO,OAAOS,KAAKoE,OAAS7E,EAErC,YAAa6U,GAA+B,OAAtBpU,KAAKmU,SAAWC,EAAapU,KACnD,cAAgB,OAAOA,KAAKmU,SAG5B,cAAe7P,GAEPA,GAAQA,EAAKC,QAAUD,EAAK+P,UAAY/P,EAAKkG,WAE7CxK,KAAKwE,MAAOF,EAAKC,QACjBvE,KAAKsU,YAAahQ,EAAK+P,UACvBrU,KAAKuL,aAAcjH,EAAKkG,WACxBxK,KAAKuU,YAAajQ,EAAKkQ,qBAGvBrR,QAAQwB,MAAM,wCAA0CL,GAIhE,kBAIA,SACI,MAAO,CACH/E,GAAIS,KAAKT,GACTmN,UAAW1M,KAAK0M,UAChBuH,SAAUjU,KAAKiU,SACfzG,IAAKxN,KAAKwN,IACV2G,SAAUnU,KAAKmU,SACf/P,KAAMpE,KAAKoE,OAKvB4P,EAAMS,UAAYvZ,OAAOqH,OAAO,CAC5BmS,QAAS,KACTC,MAAO,KACPC,UAAW,IACXC,MAAO,KACPC,KAAM,KACNC,QAAS,EACTC,WAAY,KACZC,IAAK,KACL9Q,OAAQ,MAGZ,MAAMuQ,UAAgBV,EAElB,iCAAmC,OAAQ,EAE3C,aAAY,GACRzU,GAAK,EAAE,SACP0U,EAAoB,IACpBzG,EAAe,WACf0H,GAAa,EAAK,UAClBxI,EAAqB,WACrByI,GAAa,EAAI,iBACjBC,GAAmB,EAAK,WACxBC,EAAa,WAAU,WACvBC,EAAa,EAAC,oBACdC,GAAsB,EAAK,SAC3BpB,EAAW,EAAC,MACZnJ,EAAiB,OACjBC,EAAkB,QAClBuK,GACA,IACAtP,MAAO,CAAE3G,KAAI0U,WAAUzG,MAAKd,YAAWyH,aACvCnU,KAAKyE,QAASuP,EAAMS,UAAUC,SAC9BxZ,OAAOmH,OAAQrC,KAAM,CAAEkV,aAAYC,aAAYC,mBAAkBC,aAAYC,aAAYC,sBAAqBvK,QAAOC,SAAQuK,YAGjI,cAAelY,GAAmC,OAAzB0C,KAAKkV,WAAa5X,EAAc0C,KACzD,gBAAkB,OAAOA,KAAKkV,WAE9B,cAAe5X,GAAmC,OAAzB0C,KAAKmV,WAAa7X,EAAc0C,KACzD,gBAAkB,OAAOA,KAAKmV,WAE9B,oBAAqB7X,GAAyC,OAA/B0C,KAAKoV,iBAAmB9X,EAAc0C,KACrE,sBAAwB,OAAOA,KAAKoV,iBAEpC,cAAe9X,GAAmC,OAAzB0C,KAAKqV,WAAa/X,EAAc0C,KACzD,gBAAkB,OAAOA,KAAKqV,WAE9B,cAAe/X,GAAmC,OAAzB0C,KAAKsV,WAAahY,EAAc0C,KACzD,gBAAkB,OAAOA,KAAKsV,WAE9B,uBAAwBhY,GAA4C,OAAlC0C,KAAKuV,oBAAsBjY,EAAc0C,KAC3E,yBAA2B,OAAOA,KAAKuV,oBAEvC,WAAYC,GAAoC,OAAxBxV,KAAKwV,QAAUA,EAAgBxV,KACvD,aAAe,OAAOA,KAAKwV,QAE3B,QAASxK,EAAOC,GAAqD,OAA1CjL,KAAKgL,MAAQA,EAAOhL,KAAKiL,OAASA,EAAejL,KAC5E,SAAUgL,GAA8B,OAApBhL,KAAKgL,MAAQA,EAAchL,KAC/C,WAAa,OAAOA,KAAKgL,MAEzB,UAAWC,GAAiC,OAAtBjL,KAAKiL,OAASA,EAAejL,KACnD,YAAc,OAAOA,KAAKiL,OAE1B,cAAe3G,GAiBX,OAfIA,GAAQA,EAAKF,OAAS4P,EAAMS,UAAUC,SACtCxO,MAAMG,cAAe/B,GAGrBtE,KAAKyV,cAAenR,EAAK4Q,YACzBlV,KAAK0V,cAAepR,EAAK6Q,YACzBnV,KAAK2V,oBAAqBrR,EAAK8Q,kBAC/BpV,KAAK4V,cAAetR,EAAK+Q,YACzBrV,KAAK6V,cAAevR,EAAKgR,YACzBtV,KAAK8V,uBAAwBxR,EAAKiR,sBAIlCpS,QAAQwB,MAAM,iDAEX3E,KAGX,eAAgBsE,GACZ,OAAO,IAAIoQ,GAAUrO,cAAe/B,GAGxC,SACI,IAAI0C,EAAKd,MAAMe,SASf,OARAD,EAAGkO,WAAalV,KAAKkV,WACrBlO,EAAGmO,WAAanV,KAAKmV,WACrBnO,EAAGoO,iBAAmBpV,KAAKoV,iBAC3BpO,EAAGqO,WAAarV,KAAKqV,WACrBrO,EAAGsO,WAAatV,KAAKsV,WACrBtO,EAAGuO,oBAAsBvV,KAAKuV,oBAC9BvO,EAAGgE,MAAQhL,KAAKgL,MAChBhE,EAAGiE,OAASjL,KAAKiL,OACVjE,GAKf,MAAM,UAAcgN,EAEhB,aAAY,GACRzU,GAAK,EAAE,SACP0U,EAAoB,IACpBzG,EAAe,UACfd,EAAqB,SACrBqJ,GAAW,EAAK,SAChBC,GAAW,EAAK,SAChB7B,EAAW,GACX,IACAjO,MAAO,CAAE3G,KAAI0U,WAAUzG,MAAKd,YAAWyH,aACvCnU,KAAKyE,QAASuP,EAAMS,UAAUI,OAC9B3Z,OAAOmH,OAAQrC,KAAM,CAAE+V,WAAUC,aAGrC,YAAa1Y,GAAiC,OAAvB0C,KAAK+V,SAAWzY,EAAc0C,KACrD,cAAgB,OAAOA,KAAK+V,SAE5B,UAAWzY,GAAiC,OAAvB0C,KAAKgW,SAAW1Y,EAAc0C,KACnD,YAAc,OAAOA,KAAKgW,SAE1B,cAAe1R,GAYX,OAXIA,GAAQA,EAAKF,OAAS4P,EAAMS,UAAUI,OACtC3O,MAAMG,cAAe/B,GAGrBtE,KAAKiW,YAAa3R,EAAKyR,UACvB/V,KAAKkW,UAAW5R,EAAK0R,UACrBhW,KAAKmW,sBAAsB,IAG3BhT,QAAQwB,MAAM,oCAEX3E,KAGX,eAAgBsE,GACZ,OAAO,IAAI,GAAQ+B,cAAe/B,GAGtC,SACI,IAAI0C,EAAKd,MAAMe,SAGf,OAFAD,EAAG+O,SAAW/V,KAAK+V,SACnB/O,EAAGgP,SAAWhW,KAAKgW,SACZhP,GAIf,MAAM,UAAcgN,EAEhB,aAAY,GACRzU,GAAK,EAAE,SACP0U,EAAoB,IACpBzG,EAAe,UACfd,EAAqB,MACrB1B,EAAiB,OACjBC,EAAkB,SAClBkJ,EAAW,GACX,IACAjO,MAAO,CAAE3G,KAAI0U,WAAUzG,MAAKd,YAAWyH,aACvCnU,KAAKyE,QAASuP,EAAMS,UAAUE,OAC9BzZ,OAAOmH,OAAQrC,KAAM,CAAEgL,QAAOC,WAGlC,QAASD,EAAOC,GAAqD,OAA1CjL,KAAKgL,MAAQA,EAAOhL,KAAKiL,OAASA,EAAejL,KAC5E,SAAUgL,GAA8B,OAApBhL,KAAKgL,MAAQA,EAAchL,KAC/C,WAAa,OAAOA,KAAKgL,MAEzB,UAAWC,GAAiC,OAAtBjL,KAAKiL,OAASA,EAAejL,KACnD,YAAc,OAAOA,KAAKiL,OAE1B,cAAe3G,GAaX,OAXIA,GAAQA,EAAKF,OAAS4P,EAAMS,UAAUE,OACtCzO,MAAMG,cAAe/B,GAGrBtE,KAAKoM,SAAU9H,EAAK0G,OACpBhL,KAAKqM,UAAW/H,EAAK2G,QACrBjL,KAAKmW,sBAAsB,IAG3BhT,QAAQwB,MAAM,oCAEX3E,KAGX,eAAgBsE,GACZ,OAAO,IAAI,GAAQ+B,cAAe/B,GAItC,SACI,IAAI0C,EAAKd,MAAMe,SAGf,OAFAD,EAAGgE,MAAQhL,KAAKgL,MAChBhE,EAAGiE,OAASjL,KAAKiL,OACVjE,GAuDf,MAAM+N,UAAgBf,EAElB,aAAY,GACRzU,GAAK,EAAE,SACP0U,EAAoB,IACpBzG,EAAe,UACfd,EAAqB,SACrByH,EAAW,GACX,IACAjO,MAAO,CAAE3G,KAAI0U,WAAUzG,MAAKd,YAAWyH,aACvCnU,KAAKyE,QAASuP,EAAMS,UAAUM,SAC9B7Z,OAAOmH,OAAQrC,KAAM,IAGzB,cAAesE,GAUX,OATIA,GAAQA,EAAKF,OAAS4P,EAAMS,UAAUM,SACtC7O,MAAMG,cAAe/B,GAGrBtE,KAAKmW,sBAAsB,IAG3BhT,QAAQwB,MAAM,oCAEX3E,KAGX,eAAgBsE,GACZ,OAAO,IAAIyQ,GAAU1O,cAAe/B,GAGxC,SACI,IAAI0C,EAAKd,MAAMe,SACf,OAAOD,GC1Wf,MAAMoP,EAEF,iCAAmC,OAAQ,EAE3C,cACIpW,KAAKqW,MAAQ,GACbrW,KAAKsW,oBAAsB,IAAIpF,IAC/BlR,KAAKuW,QAAU3D,SAAS4D,cAAc,UACtCxW,KAAKuW,QAAQtL,OAAS,GACtBjL,KAAKuW,QAAQvL,MAAQ,GAGzB,QACIhL,KAAKqW,MAAQ,GAGjB,kBAAmBA,GACXA,EAAMjF,SACNpR,KAAKsW,oBAAoBjF,IAAKgF,EAAMjF,UAAWiF,GAIvD,SAAU9W,GAAO,YAAmDmL,GAA5C1K,KAAKqW,MAAMI,KAAMC,GAAKA,EAAE/O,UAAYpI,GAC5D,SAAUA,GAAO,OAAOS,KAAKqW,MAAMI,KAAMC,GAAKA,EAAE/O,UAAYpI,GAC5D,SAAU8W,GAEN,OADArW,KAAKqW,MAAM9a,KAAM8a,GACVrW,KAGX,iBAAkBT,EAAI6E,GAAS,OAAOpE,KAAK2W,SAAUpX,IAAQS,KAAK4W,SAAUrX,GAAKsX,QAASzS,GAI1F,eAAgB0S,EAASlO,GACrBzF,QAAQC,IAAI,gCAEZ,IAAI2T,EAAc,GACdC,EAAYX,IAERzN,IACKA,EAAWqO,SAAUZ,EAAM1J,iBAG/B0J,EAAMa,WACFb,EAAMc,uBAGPJ,EAAWxb,KAAKub,EAAQM,wBAAyBf,EAAM1J,gBAClD0K,KAAM7J,GAAO6I,EAAMzI,OAAQJ,IAC3B8J,MAAO,IAAMjB,EAAMzI,OAAQkJ,EAAQS,qBAAsBlB,EAAM1J,mBAJrE0J,EAAMzI,OAAQkJ,EAAQS,qBAAsBlB,EAAM1J,mBAW7D,OADA3M,KAAKqW,MAAMmB,QAASR,GACbS,QAAQC,IAAIX,GAAYM,KAAM,IAAMlU,QAAQC,IAAI,6BAG3D,UACI,MAAO,6EAGOpD,KAAKqW,MAAMjC,qBAI7B,SACI,MAAO,CACHiC,MAAOrW,KAAKqW,MAAMjX,IAAKsX,GAAKA,EAAEzP,WAItC,eAAgB3C,GACZ,GAAIA,GAAQA,EAAKF,MAAqB,GAAbE,EAAKF,MAC1B,GAAIpE,KAAKsW,oBAAoBhF,IAAKhN,EAAKF,MACnC,OAAOpE,KAAKsW,oBAAoBpZ,IAAKoH,EAAKF,MAAOmN,eAAgBjN,QAGrEnB,QAAQwB,MAAM,qCAAuCL,EAAKF,KAAO,OAASE,GAIlF,cAAepB,GACXC,QAAQC,IAAI,gCAAkCF,EAAKyU,WAAa,IAAMzU,EAAK0U,cACzE,IAAInE,EAAUzT,KAAKuW,QAAQsB,WAAW,MACtC,IAAIC,EAAQ,GAAK5U,EAAKyU,WACtBG,EAAQA,EAAMC,QAAQ,KAAM,KAC5BtE,EAAQuE,UAAYF,EACpBrE,EAAQwE,SAAS,EAAG,EAAG,GAAI,IAC3BxE,EAAQuE,UAAW,QACnBvE,EAAQyE,KAAO,0BACfzE,EAAQ0E,UAAY,SACpB1E,EAAQ2E,SAASlV,EAAK0U,aAAc,GAAI,GAAI,IAI5C,IAAIpK,EAAMxN,KAAKuW,QAAQ8B,UAAU,aAMjC,YAHwB3N,GAApBxH,EAAK0U,mBAA8ClN,GAAlBxH,EAAKyU,YACvCzU,EAAKoV,YAAY9K,GAEbA,GAIjB,MAAM+K,GAAW,IAAInC,EACrBlb,OAAOqH,OAAOgW,IAEdA,GAASC,kBAAmB,IAAI,GAChCD,GAASC,kBAAmB,IAAI,GAChCD,GAASC,kBAAmB,IAAI9D,GAChC6D,GAASC,kBAAmB,IAAIzD,GAEjB,UChHf,MAAM,WAAc,EAChB,UAAY,MAAO,QAEnB,aAAa,GAAExV,GAAO,IAClB2G,MAAO,CAAE3G,OACTS,KAAKmR,YAASzG,EACd1K,KAAKyT,aAAU/I,EACf1K,KAAKuO,WAAQ7D,EACb1K,KAAK8D,YAAS4G,EAGlB,UAAW+I,EAAStC,GAChBnR,KAAKyT,QAAUA,EACf,MAAMgF,EAAOvS,MAAMwS,UAAWjF,EAAStC,GAASwH,cAEhDxV,QAAQC,IAAI,qBAAuB+N,EAAOzC,cAC1C,IAAIkK,EAAY,GAAahC,SAASzF,EAAOzC,cAC7CvL,QAAQC,IAAI,uBAAyBwV,EAAU3E,SAAW,QAAU2E,EAAU1B,UAE9E,IAAIra,EAAO,SAAS+b,EAAUjR,QAE1BkR,EAAWC,WAAW3H,EAAO4H,kBAAoB,IAKhDC,EAAU,IAAI,WAAcnc,EAAM+b,EAAU1B,SAAU/Y,OAAO0V,MAAO1C,EAAO8H,cAAe,WAAYD,EAAQE,QAAU,KAAM,CAC/H5R,KAAM6J,EAAOgI,aACbxO,UAAU,EACV7G,OAAQ+U,EACRO,gBAAgB,IAOpB,OALAJ,EAAQK,kBAAmB,EAE3BrZ,KAAKuO,MAAQyK,EACbhZ,KAAKmR,OAASA,EACd6H,EAAQM,OAASb,EACVA,EAGX,YACI,OAAOzY,KAAKuO,MAAMgL,iBAAiBvW,SAGvC,QACIG,QAAQC,IAAI,iBACZ8C,MAAMsT,QACNxZ,KAAKuO,MAAMiL,QACXxZ,KAAKmR,OAAO9M,aAAatB,UAAU,EAAaiB,UAAUC,SAG9D,OACId,QAAQC,IAAI,gBACZ8C,MAAMgT,OACFlZ,KAAKuO,MAAMkL,WACXzZ,KAAKuO,MAAM2K,OAEflZ,KAAKmR,OAAO9M,aAAarB,SAAWhD,KAAKuO,MAAMgL,iBAAiBvW,SAChEhD,KAAKmR,OAAO9M,aAAatB,UAAU,EAAaiB,UAAUE,SAG9D,QACIgC,MAAMwT,QACNvW,QAAQC,IAAI,iBAIhB,OACI8C,MAAMyT,OACNxW,QAAQC,IAAI,eAEZpD,KAAK8D,OAAS9D,KAAKuO,MAAMqL,YACzBzW,QAAQC,IAAI,eAAiBpD,KAAK8D,QAClC9D,KAAKuO,MAAMsL,UAAU,GAGzB,SACI3T,MAAM4T,SACN3W,QAAQC,IAAI,kBACTpD,KAAK8D,OACJ9D,KAAKuO,MAAMsL,UAAU7Z,KAAK8D,QAG3B9D,KAAKuO,MAAMsL,UAAU,GAG5B,mBAAmBhW,GACfqC,MAAM6T,mBAAmBlW,GACzB7D,KAAKuO,MAAMgL,iBAAiBS,YAAcnW,EAG9C,UACIqC,MAAM+T,UACNja,KAAKuO,MAAMiL,QAGf,SACItT,MAAMgU,SACN/W,QAAQC,IAAI,kBACTpD,KAAKmR,QAAUnR,KAAKmR,OAAO9M,cAAgBrE,KAAKmR,OAAO9M,aAAatB,WAAW,EAAaiB,UAAUC,UACrGjE,KAAKuO,MAAM2K,OAOnB,SACSlZ,KAAKuO,MAAM4L,YAAcna,KAAKmR,OAAO9M,aAAavB,QACzB,IAAzB9C,KAAKuO,MAAMqL,aAAmB5Z,KAAKmR,OAAO9M,aAAa+V,OACvDpa,KAAKuO,MAAMkL,aAAezZ,KAAKmR,OAAOkJ,YAAYC,SAClDta,KAAKuO,MAAMgL,iBAAiBvW,UAAYhD,KAAKmR,OAAOkJ,YAAYrX,UACjE7E,OAAO0V,MAAM0G,OAAOC,OAAO,qBAAqB,CAACjb,GAAGS,KAAKmR,OAAOxJ,QAAS7E,OAAO9C,KAAKuO,MAAM4L,WACvFG,QAAQta,KAAKmR,OAAOkJ,YAAYC,QAASF,MAAgC,IAAzBpa,KAAKuO,MAAMqL,YAAkB5W,SAAShD,KAAKuO,MAAMgL,iBAAiBvW,YAKnH,UCvHf,MAAM,WAAwB,EAC1B,UAAY,MAAO,kBAEnB,aAAa,GAAEzD,GAAO,IAClB2G,MAAO,CAAE3G,OAETS,KAAKya,SAAW,KAChBza,KAAKwV,QAAU,KACfxV,KAAK0a,KAAO,KACZ1a,KAAK6T,MAAQ,KACb7T,KAAK2a,YAAc,EAGvB,eAAgBrd,GACZ0C,KAAK2a,YAAcrd,EAGvB,UAAWmW,EAAStC,GAEhB,MAAMsH,EAAOvS,MAAMwS,UAAWjF,EAAStC,GAASwH,cAUhD,GATAF,EAAKtP,SAAWgI,EAAOyJ,cACnBzJ,EAAO0J,gBAA2C,GAAzB1J,EAAO0J,gBAAyB1J,EAAO2J,gBAA2C,GAAzB3J,EAAO2J,gBAAyB3J,EAAO4J,gBAA2C,GAAzB5J,EAAO4J,eAClJtC,EAAKrP,SAAW,IAAI,aAAgB+H,EAAO0J,eAAgBG,KAAKC,GAAK,IAAK9J,EAAO2J,eAAgBE,KAAKC,GAAK,IAAK9J,EAAO4J,eAAgBC,KAAKC,GAAK,KAEjJxC,EAAKyC,OAAO,IAAI,aAAgB,EAAE,EAAE,IAGxClb,KAAK6T,MAAQ1V,OAAO0V,OAEhB1C,EAAOjD,YACP,OAGJlO,KAAKwV,QAAU,GAAaoB,SAASzF,EAAOjD,aAC5C,IAAIsH,EAAU,gBAAmB2F,kBAAkBnb,KAAKwV,QAAQ4F,KAAMpb,KAAKwV,QAAQ4F,KAAKpQ,MAAOhL,KAAKwV,QAAQ4F,KAAKnQ,OAAQ9M,OAAO0V,OAAO,GAAM,EAAM,aAAgBwH,wBAmBnK,OAlBA7F,EAAQ8F,MAAQ9F,EAAQ+F,MAAQ,eAAkBC,iBAClDhG,EAAQiG,OAASjG,EAAQiG,OAASjG,EAAQkG,OAASlG,EAAQkG,QAAU,EACrElG,EAAQ3Y,KAAOmD,KAAKwV,QAAQjW,GAG5BS,KAAKya,SAAW,IAAI,sBAAyB,wBAA0BtJ,EAAOjD,YAAc,YAAalO,KAAK6T,OAC9G7T,KAAKya,SAASkB,iBAAkB,EAChC3b,KAAKya,SAASmB,gBAAkB5b,KAAKya,SAASoB,eAAiBrG,EAG/DxV,KAAK0a,KAAO,iBAAoBoB,YAAY,wBAA0B3K,EAAOjD,YAAa,CACtFlD,MAAOhL,KAAKwV,QAAQuG,WAAa5K,EAAO6K,WAAahc,KAAK2a,YAC1D1P,OAAQjL,KAAKwV,QAAQyG,YAAc9K,EAAO6K,WAAYhc,KAAK2a,YAC3DuB,gBAAiB,UAAaC,YAC/Bhe,OAAO0V,OACV7T,KAAK0a,KAAKpB,OAASb,EACnBzY,KAAK0a,KAAKD,SAAWza,KAAKya,SAEnBhC,GAIA,UCzDf,MAAM,WAAc,GAChB,UAAY,MAAO,QAEnB,aAAa,GAAElZ,GAAO,IAClB2G,MAAO,CAAE3G,OAGb,UAAWkU,EAAStC,GAChB,MAAMsH,EAAOvS,MAAMwS,UAAWjF,EAAStC,GAGvC,OAAOsH,GAMA,UCjBf,MAAM,WAAoB,EACtB,UAAY,MAAO,QAEnB,aAAa,GAAElZ,GAAO,IAClB2G,MAAO,CAAE3G,OAGb,UAAWkU,EAAStC,GAChB,MAAMsH,EAAOvS,MAAMwS,UAAWjF,EAAStC,GAASwH,cAG1CyD,EAAqB,GAAaxF,SAASzF,EAAOtI,oBACxD,IAAIwT,EAAmB,gBAAmBlB,kBAAkBiB,EAAmBhB,KAAMgB,EAAmBhB,KAAKpQ,MAAOoR,EAAmBhB,KAAKnQ,OAAQ9M,OAAO0V,OAAO,GAAM,EAAM,YAAeyI,oBAC7LD,EAAiBf,MAAQe,EAAiBd,MAAQ,eAAkBC,iBACpEa,EAAiBxf,KAAOuf,EAAmB7c,GAG3CpB,OAAO0V,MAAM0I,SAAW,IACxB,MAAMC,EAAY,IAAI,eAAkB,kBAAmBrL,EAAOtI,mBAAoB,GAAI,CACtF4T,WAAW,GACXC,aAAa,EACbtI,KAAMjW,OAAO0V,MAAM0I,UACpBpe,OAAO0V,OAIV,OAHA2I,EAAUG,aAAeN,EACzBG,EAAUlD,OAASb,EAEZA,GAIA,UChCf,MAAM,GAEF,cACIzY,KAAK4c,UAAY,IAAI1L,IACrBlR,KAAK6T,WAAQnJ,EACb1K,KAAK2D,KAAO,EAIhB,WAAYkQ,GACR7T,KAAK6T,MAAQA,EACb7T,KAAK6c,iBAAkB,OAAQ7c,KAAK8c,uBAGxC,SACI9c,KAAK4c,UAAU1f,IAAI,QAAQ6f,SAAS,OAAQ/c,KAAK2D,MACjD3D,KAAK2D,MAAQ,IAGjB,iBAAkB9G,EAAM4d,GACpBza,KAAK4c,UAAUvL,IAAKxU,EAAM4d,GAG9B,IAAK5d,GACD,GAAImD,KAAK4c,UAAUtL,IAAKzU,GACpB,OAAOmD,KAAK4c,UAAU1f,IAAKL,GAKnC,qBACI,YAAemgB,aAAa,oBACpB,0QAiBA,YAAeA,aAAa,sBAC5B,gxEAiFR,IAAIC,EAAiB,IAAI,oBAAuB,SAAUjd,KAAK6T,MAAO,CAClEqJ,OAAQ,OACRC,SAAU,QAEd,CACIC,WAAY,CAAC,WAAY,SAAU,MACnCC,SAAU,CAAC,QAAS,YAAa,sBAAuB,OAAQ,cAChEC,mBAAmB,IAMvB,OAJAL,EAAeF,SAAS,OAAQ,GAChCE,EAAeM,WAAW,iBAAkB,aAAgBC,QAC5DP,EAAeQ,iBAAkB,EAE1BR,EAGX,sBACI,YAAeD,aAAa,qBACpB,0QAiBA,YAAeA,aAAa,uBAC5B,4nBAmBR,IAAIC,EAAiB,IAAI,oBAAuB,SAAUjd,KAAK6T,MAAO,CAClEqJ,OAAQ,QACRC,SAAU,SAEd,CACIC,WAAY,CAAC,WAAY,SAAU,MACnCC,SAAU,CAAC,QAAS,YAAa,sBAAuB,OAAQ,cAChEC,mBAAmB,IAMvB,OAJAL,EAAeF,SAAS,OAAQ,GAChCE,EAAeM,WAAW,iBAAkB,aAAgBC,QAC5DP,EAAeQ,iBAAkB,EAE1BR,GAIf,MAAM,GAAW,IAAI,GAGN,UC5Mf,MAAM,WAAuB,EACzB,UAAY,MAAO,iBAEnB,aAAa,GAAE1d,GAAO,IACpB2G,MAAO,CAAE3G,OAETS,KAAK0d,MAAQ,KACb1d,KAAKya,SAAW,KAChBza,KAAKwV,QAAU,KACfxV,KAAK0a,KAAO,KACZ1a,KAAK6T,MAAQ,KACb7T,KAAK2a,YAAc,EAGrB,UAAWlH,EAASiK,GAClB1d,KAAK6T,MAAQ1V,OAAO0V,MACpB7T,KAAK0d,MAAQA,EACb1d,KAAKwE,MAAOkZ,EAAM/V,SAElB,MAAM8Q,EAAO,IAAI,mBAAsBiF,EAAM/V,QAASxJ,OAAO0V,OAC7D7T,KAAK4T,YAAY6E,GACjBA,EAAKrP,SAAW,aAAgBoU,OAChC/E,EAAKkF,cAAgB,UAAaC,kBAE9BF,EAAM9C,cACRnC,EAAKtP,SAAWuU,EAAM9C,eAEtBnC,EAAKtP,SAAWsP,EAAKoF,iBACrBH,EAAM/T,YAAY+T,EAAMvU,WAG1B,MAAMtM,EAAO,SAAW6gB,EAAM/V,QAC9B3H,KAAK0a,KAAO,iBAAoBoB,YAAYjf,EAAK,CAC/CmO,MAAO,GACPC,OAAQ,GACRiR,gBAAiB,UAAaC,YAC7Bhe,OAAO0V,OACV7T,KAAK0a,KAAKoD,iBAAmB,EAC7B9d,KAAK0a,KAAKqD,YAAa,EACvB/d,KAAKya,SAAW,GAAgBvd,IAAI,QACpC8C,KAAK0a,KAAKD,SAAWza,KAAKya,SAC1Bza,KAAK0a,KAAKpB,OAASb,EAEnB,IAAIlK,EAAQ,IAAIsG,MAAM,EAAQ,SAG9B,OAFAtG,EAAM2K,OAEClZ,MAIE,U,aCjDf,MAAM,WAAa,EACf,UAAY,MAAO,OAEnB,aAAa,GAAET,GAAO,IAClB2G,MAAO,CAAE3G,OAETS,KAAKge,MAAO,EAGhB,UAAWvK,EAAStC,GAChBhO,QAAQC,IAAI,qBAEZ,IAAI6a,EAAOje,KAEPke,IAAqB/M,EAAOgN,kBAAmBhN,EAAOgN,iBAAiBljB,OAAS,EAEhF+P,EAAQ,GAAKmG,EAAO6K,WACpB/Q,EAAU,GAAKkG,EAAO6K,WAE1B,MAAMvD,EAAOvS,MAAMwS,UAAWjF,EAAStC,GAASwH,cAChDF,EAAKtP,SAAWgI,EAAOyJ,cACvB,IAAIwD,EAAWjgB,OAAO0V,MAAMwK,gBAAgB,cACxCC,EAAYF,EAAQjV,SACxBsP,EAAKyC,OAAOoD,GAEZ,IAAIC,EAAU,iBAAoBzC,YAAY,GAAI,CAC9C9Q,MAAO,IACPC,OAAQ,IACRiR,gBAAiB,UAAaC,YAC/Bhe,OAAO0V,OAEV0K,EAAQjF,OAASb,EACjB8F,EAAQR,YAAa,EACrBQ,EAAQT,iBAAmB,EAC3BS,EAAQnV,SAASoV,EAAIxD,KAAKC,GAC1BsD,EAAQpV,SAASqV,GAAK,GAAG,EAAErN,EAAO6K,WAGlC,IAAIyC,EAAkB,6BAA2BC,cAAcH,GAG3DI,EAAO,IAAI,gBACfA,EAAKC,kBAAoB,cAAYC,uBACrCF,EAAKG,sBAAuB,EAC5BH,EAAKI,uBAAwB,EAC7BJ,EAAKK,aAAe,GACpBL,EAAKM,WAAa,QAClBN,EAAKO,MAAQ,GACbP,EAAK3T,MAAQ,MACbyT,EAAgBU,WAAWR,GAG3B,IAAIpO,EAAO,IAAI,gBAgBf,GAfAA,EAAKA,KAAOY,EAAOhB,cACnBI,EAAK6O,SAAW,OAChB7O,EAAKuH,MAAQ,QACbvH,EAAK8O,YAAc,EACnB9O,EAAK+O,wBAA0B,cAAYC,0BAC3ChP,EAAKiP,sBAAwB,cAAYX,uBACzCtO,EAAKkP,aAAe,mBAAiBC,SACrCnP,EAAKoP,aAAc,EACnBpP,EAAKqP,WAAa,GAClBrP,EAAKsP,YAAc,GACnBtP,EAAKuP,aAAe,GACpBvP,EAAKwP,cAAgB,GAErBpB,EAAKQ,WAAW5O,GAEY,QAAzBY,EAAOf,eAAyB,CAE/B,IAAI4P,EACJ,GAAG9B,EAAmB,CAClB8B,EAAiB,iBAAoBlE,YAAY,GAAI,CACjD9Q,MAAO,IACPC,OAAQ,IACRiR,gBAAiB,UAAaC,YAC/Bhe,OAAO0V,OAEVmM,EAAe1G,OAASb,EACxBuH,EAAejC,YAAa,EAC5BiC,EAAelC,iBAAmB,EAClCkC,EAAe7W,SAASqV,EAAI,EAAI,EAAErN,EAAO6K,WACzCgE,EAAe5W,SAASoV,EAAIxD,KAAKC,GACjC+E,EAAeC,WAAa,EAExBxB,EAAkB,6BAA2BC,cAAcsB,GAE3DzP,EAAO,IAAI,gBACfA,EAAKA,KAAOY,EAAOgN,iBACnB5N,EAAK6O,SAAW,OAChB7O,EAAKuH,MAAQ,QACbvH,EAAK8O,YAAc,EACnB9O,EAAK+O,wBAA0B,cAAYY,4BAC3C3P,EAAKiP,sBAAwB,cAAYX,uBACzCtO,EAAKoP,aAAc,EACnBlB,EAAgBU,WAAW5O,GAG/BgO,EAAQ0B,WAAa,EAGrB,IAAIE,EAAY,GAAavJ,SAASzF,EAAOjD,aACzCkS,EAAgB,gBAAmBjF,kBAAkBgF,EAAU/E,KAAM+E,EAAU/E,KAAKpQ,MAAOmV,EAAU/E,KAAKnQ,OAAQ9M,OAAO0V,OAAO,GAAM,EAAM,YAAeyI,oBAC/J8D,EAAc9E,MAAQ8E,EAAc7E,MAAQ,eAAkBC,iBAC9D4E,EAAcvjB,KAAOsjB,EAAU5gB,GAG/B,IAAI8gB,EAAiB,IAAI,sBAAyB,GAAIliB,OAAO0V,OAC7DwM,EAAe1E,iBAAkB,EACjC0E,EAAexE,eAAiBwE,EAAezE,gBAAmBwE,EAGlE,IAAIE,EAAS,iBAAoBxE,YAAY,GAAI,CAC7C9Q,MAAOA,EACPC,OAAQA,EACRiR,gBAAiB,UAAaC,YAC/Bhe,OAAO0V,OACVyM,EAAOhH,OAASb,EAChB6H,EAAOlX,SAASoV,EAAIxD,KAAKC,GACzBqF,EAAOlX,SAASmX,EAAIvF,KAAKC,GACzBqF,EAAOxC,iBAAmB,EAC1BwC,EAAO7F,SAAW4F,EAElB,IAAIG,EAAO,IAAI,eACfA,EAAKC,cAAc,oBAAuBC,sBAE1CJ,EAAOK,cAAgB,IAAI,mBAAsBxiB,OAAO0V,OACxDyM,EAAOK,cAAcC,YAAc,UACnCN,EAAOK,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBC,eAAe,WACnG7C,EAAKD,MAAQC,EAAKD,KACfC,EAAKD,KACJ,eAAkB+C,wBAAwB,GAAIxC,EAAS,aAAc,GAAG,GAAI,EAAG,EAAG,EAAGiC,IAErF,eAAkBO,wBAAwB,GAAIT,EAAQ,UAAW,GAAG,GAAIA,EAAOU,QAAS,IAAI,aAAgBC,IAAO,EAAGT,GACtH,eAAkBO,wBAAwB,GAAIxC,EAAS,aAAc,GAAG,GAAI,EAAG,EAAG,EAAGiC,IAGzFriB,OAAO+iB,cAAc,IAAIC,YAAY,uBAAuB,CAACC,OAAO,CAACphB,KAAMie,UAG/EqC,EAAOK,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBQ,qBAAqB,WACrGpD,EAAKD,OACL,eAAkB+C,wBAAwB,GAAIT,EAAQ,UAAW,GAAG,GAAIA,EAAOU,QAAS,IAAI,aAAgBC,IAAO,EAAGT,GACnHtC,GACC,eAAkB6C,wBAAwB,GAAIf,EAAgB,aAAc,GAAG,GAAIA,EAAeC,WAAY,EAAG,EAAGO,QAKhIF,EAAOK,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBS,sBAAsB,WACtGrD,EAAKD,OACL,eAAkB+C,wBAAwB,GAAIT,EAAQ,UAAW,GAAG,GAAI,IAAI,aAAgBW,KAAO,IAAI,aAAgBA,KAAM9W,MAAM,KAAM,EAAEqW,GACxItC,GACC,eAAkB6C,wBAAwB,GAAIf,EAAgB,aAAc,GAAG,GAAIA,EAAeC,WAAY,EAAG,EAAGO,QAKhIriB,OAAOojB,iBAAiB,uBAAwB9hB,IACzCA,EAAE2hB,OAAOphB,MAAQA,OAChBie,EAAKD,MAAO,EACZ,eAAkB+C,wBAAwB,GAAIT,EAAQ,UAAW,GAAG,GAAIA,EAAOU,QAAS,IAAI,aAAgBC,IAAO,EAAGT,GACtH,eAAkBO,wBAAwB,GAAIxC,EAAS,aAAc,GAAG,GAAIA,EAAQ0B,WAAY,EAAG,EAAGO,GACnGR,GACC,eAAkBe,wBAAwB,GAAIf,EAAgB,aAAc,GAAG,GAAIA,EAAeC,WAAY,EAAG,EAAGO,MAKpI,OAAO/H,GAIA,UC/Kf,MAAM,WAAmB,GACrB,UAAY,MAAO,aAEnB,aAAa,GAAElZ,GAAO,IAClB2G,MAAO,CAAE3G,OAGb,UAAWkU,EAAStC,GAChB,IAAIjI,EACJ,IAAK,IAAInO,EAAI,EAAGA,EAAI0Y,EAAQ+N,WAAWvmB,OAAQF,IACxC0Y,EAAQ+N,WAAWzmB,GAAGwE,IAAM4R,EAAOsQ,gBAClCvY,EAAYuK,EAAQ+N,WAAWzmB,IAEvCmL,MAAMwb,eAAe,GAErB,MAAMjJ,EAAOvS,MAAMwS,UAAWjF,EAAStC,GAEvC,IAAIqP,EAAO,IAAI,eACfA,EAAKC,cAAc,oBAAuBkB,mBAE1C3hB,KAAK0a,KAAKiG,cAAgB,IAAI,mBAAsB3gB,KAAK6T,OAGzD7T,KAAK0a,KAAKiG,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBQ,oBAAoB,KACvG5N,EAAQmO,sBACLnO,EAAQoO,yBACPpO,EAAQqO,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,cAAe7Y,UAAWA,EAAUrM,QACrG4W,EAAQqO,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,kBAGrE5jB,OAAO+iB,cAAc,IAAIC,YAAY,cAAc,CAAEC,OAAO,CAAElY,UAAWA,EAAUrM,SACnFsB,OAAO+iB,cAAc,IAAIC,YAAY,oBAK7CnhB,KAAK0a,KAAKiG,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBS,qBAAqB,KAC5G,IAAI7N,EAAQmO,oBAAoB,CAC5B,IAAII,EAAM,aAAgBC,QACtBxJ,EAAKtP,SACL,YAAe+Y,WACf/jB,OAAO0V,MAAMsO,qBACb,CAACzL,EAAE,EAAG8H,EAAE,EAAGxT,MAAO4H,SAASwP,cAAc,iBAAiBC,YAAapX,OAAQ2H,SAASwP,cAAc,iBAAiBE,eAGxH7O,EAAQoO,yBACPpO,EAAQqO,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,cAAe7Y,UAAWA,EAAUrM,QACrG4W,EAAQqO,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,cAAellB,KAAMqM,EAAUrM,KAAMmlB,IAAKA,MAE/G7jB,OAAO+iB,cAAc,IAAIC,YAAY,cAAc,CAAEC,OAAO,CAAElY,UAAWA,EAAUrM,SACnFsB,OAAO+iB,cAAc,IAAIC,YAAY,cAAc,CAAEC,OAAO,CAAEvkB,KAAMqM,EAAUrM,KAAMmlB,IAAKA,UAKjGhiB,KAAK0a,KAAKiG,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBC,cAAc,KACjGrN,EAAQmO,sBACLnO,EAAQoO,yBACPpO,EAAQqO,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,cAAe7Y,UAAWA,EAAUrM,QACrG4W,EAAQqO,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,kBAGrE5jB,OAAO+iB,cAAc,IAAIC,YAAY,cAAc,CAAEC,OAAO,CAAElY,UAAWA,EAAUrM,SACnFsB,OAAO+iB,cAAc,IAAIC,YAAY,gBAErC1N,EAAQ8G,OAAOC,OAAO,gCAAgC,CAClDlH,YAAanC,EAAOsQ,oBA+DhC,IAAIc,EAAQ,IAAI,eAChBA,EAAM9B,cAAc,oBAAuBC,sBAE3C,MAAM8B,EAAY,GACZC,EAAQ,IAAI,eAAkB,QAAS,UAAWD,EAAW,eAAkBE,sBAAuB,eAAkBC,yBAC9HF,EAAMG,kBAAkBL,GACxB,MAAMM,EAAY,GAQlB,OAPAA,EAAUtnB,KAAK,CAACunB,MAAO,EAAGxlB,MAAO,IAAI,aAAgB,EAAE,EAAE,KACzDulB,EAAUtnB,KAAK,CAACunB,MAAON,EAAWllB,MAAO,IAAI,aAAgB,KAAK,KAAK,QACvEulB,EAAUtnB,KAAK,CAACunB,MAAO,EAAIN,EAAWllB,MAAO,IAAI,aAAgB,EAAE,EAAE,KACrEmlB,EAAMM,QAAQF,GACd7iB,KAAK0a,KAAKsI,WAAWznB,KAAKknB,GAC1BtkB,OAAO0V,MAAMoP,eAAejjB,KAAK0a,KAAM,EAAG,EAAI8H,GAAW,GAElD/J,GAiEA,U,aC5Mf,MAAM,WAAkB,GACpB,UAAY,MAAO,YAEnB,aAAa,GAAElZ,GAAO,IAClB2G,MAAO,CAAE3G,OAETS,KAAKyY,KAAO,KAGhB,UAAWhF,EAAStC,GAchB,OAbAnR,KAAKyY,KAAOvS,MAAMwS,UAAWjF,EAAStC,GAEtCnR,KAAKwgB,KAAO,IAAI,eAChBxgB,KAAKwgB,KAAKC,cAAc,oBAAuBC,sBAE/C1gB,KAAK0a,KAAK3G,UAEV/T,KAAKyY,KAAKtP,SAAWnJ,KAAKmR,OAAOyJ,cACjC5a,KAAKyY,KAAKyC,OAAO,IAAI,aAAgBsC,MAErCxd,KAAKkjB,eAAezP,EAAQtC,GAGrBnR,KAAKyY,KAGhB,eAAehF,EAAQtC,GAEnB,MAAMgS,EAAiB,IAAI,mBAAsB,iBAAkBhlB,OAAO0V,OAC1EsP,EAAe7J,OAAStZ,KAAKyY,KAC7B0K,EAAe/Z,SAASoV,EAAIxD,KAAKC,GACjCkI,EAAenC,QAAQoC,OAAO,GAE9B,MAAMC,EAAW,IAAI,iBAAoBvH,YAAY,uBAAuB,CAAC1H,KAAM,IAAIjW,OAAO0V,OAC9FwP,EAAS5I,SAAW,IAAI,sBAAyB,eAAgBtc,OAAO0V,OACxEwP,EAAS5I,SAASyE,MAAQ,EAC1BmE,EAAS/J,OAAS6J,EAElB,MAAMG,EAAc,iBAAoBxH,YAAY,cAAe,CAAC7Q,OAAQ,GAAID,MAAO,GAAIkR,gBAAiB,UAAaC,YAAahe,OAAO0V,OAC7IyP,EAAYvF,YAAa,EACzBuF,EAAYhK,OAAS6J,EAErB,IAAII,EAAiB,6BAA2B7E,cAAc4E,EAAa,GAAI,IAAI,GACnF,IAAIE,EAAoBxjB,KAAKyjB,aAAa,CACtC3d,gBAAiB,UACjB4d,UAAW,EACXxE,MAAO,KAEXqE,EAAepE,WAAWqE,GAE1B,IAAIG,EAAgB3jB,KAAKyjB,aAAa,CAClCG,YAAa,UACbF,UAAW,IAEfH,EAAepE,WAAWwE,GAE1B,IAAIE,EAAgB7jB,KAAKyjB,aAAa,CAClC3d,gBAAiB,UACjB4d,UAAW,EACX1C,QAAQ,IAEZuC,EAAepE,WAAW0E,GAE1B,IAAIC,EAAQ,IAAI,YAAU,aAAa,EAAQ,SAM/C,GALAA,EAAM7Y,OAAS,MACf6Y,EAAM9Y,MAAQ,MACduY,EAAepE,WAAW2E,GAGvB3S,EAAO+F,SAAU,CAChB,IAAIsJ,EAAO,IAAI,eACfA,EAAKC,cAAc,oBAAuBC,sBAE1C2C,EAAS1C,cAAgB,IAAI,mBAAsB3gB,KAAK6T,OAGxDwP,EAAS1C,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBC,cAAe,KACrG,IAAIrN,EAAQmO,oBAAoB,CAC5B,IAAInnB,EAAO,GAAYgc,KAAKhc,GAAQA,EAAK8E,IAAMS,KAAKmR,OAAO+F,UAC3D/Y,OAAO+iB,cAAc,IAAIC,YAAY,oBAAoB,CAAEC,OAAQ,CAAC3mB,KAAMA,UAG9EgZ,EAAQ8G,OAAOwJ,QAAQC,WAEvBX,EAAS1C,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBS,qBAAsB,KAC5G,IAAI7N,EAAQmO,oBAAoB,CAC5B,cAAYzmB,UAAU8oB,SAAW,IAAe9lB,OAAO0V,MAEvD,IAAIpZ,EAAO,GAAYgc,KAAKhc,GAAQA,EAAK8E,IAAMS,KAAKmR,OAAO+F,UAC3D,IAAI8K,EAAM,aAAgBC,QACtBkB,EAAe7J,OAAOnQ,SACtB,YAAe+Y,WACf/jB,OAAO0V,MAAMsO,qBACb,CAACzL,EAAE,EAAG8H,EAAE,EAAGxT,MAAO4H,SAASwP,cAAc,iBAAiBC,YAAapX,OAAQ2H,SAASwP,cAAc,iBAAiBE,eAGxH7O,EAAQoO,wBACPpO,EAAQqO,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,cAAellB,KAAMpC,EAAKoC,KAAMmlB,IAAKA,KAC1G7jB,OAAO+iB,cAAc,IAAIC,YAAY,cAAc,CAAEC,OAAO,CAAEvkB,KAAMpC,EAAKoC,KAAMmlB,IAAKA,MAGpF,eAAkBjB,wBAAwB,GAAI+C,EAAO,QAAS,GAAG,GAAIA,EAAM5E,MAAO,EAAG,eAAkBgF,2BAA4B1D,GACnI,eAAkBO,wBAAwB,GAAI+C,EAAO,SAAU,GAAG,GAAIA,EAAMnV,OAAQ,EAAG,eAAkBuV,2BAA4B1D,GACrI,eAAkBO,wBAAwB,GAAI+C,EAAO,SAAU,GAAG,GAAIA,EAAMlV,OAAQ,EAAG,eAAkBsV,2BAA4B1D,GAErI,eAAkBO,wBAAwB,GAAI4C,EAAe,SAAU,GAAG,GAAIA,EAAchV,OAAQ,GAAK,eAAkBuV,2BAA4B1D,GACvJ,eAAkBO,wBAAwB,GAAI4C,EAAe,SAAU,GAAG,GAAIA,EAAc/U,OAAQ,GAAK,eAAkBsV,2BAA4B1D,GACvJ,eAAkBO,wBAAwB,GAAI4C,EAAe,YAAa,GAAG,GAAIA,EAAcD,UAAYC,EAAcD,UAAU,GAAM,eAAkBQ,2BAA4B1D,GAEvL,eAAkBO,wBAAwB,GAAIyC,EAAmB,SAAU,GAAG,GAAIA,EAAkB7U,OAAQ,GAAK,eAAkBuV,2BAA4B1D,GAC/J,eAAkBO,wBAAwB,GAAIyC,EAAmB,SAAU,GAAG,GAAIA,EAAkB5U,OAAQ,GAAK,eAAkBsV,2BAA4B1D,GAE/J,eAAkBO,wBAAwB,GAAI8C,EAAe,SAAU,GAAG,GAAIA,EAAclV,OAAQ,IAAM,eAAkBuV,2BAA4B1D,GACxJ,eAAkBO,wBAAwB,GAAI8C,EAAe,SAAU,GAAG,GAAIA,EAAcjV,OAAQ,IAAM,eAAkBsV,2BAA4B1D,OAKhK6C,EAAS1C,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBQ,oBAAqB,KACvG5N,EAAQmO,sBACR,cAAYzmB,UAAU8oB,SAAW,IAAe9lB,OAAO0V,MAEpDJ,EAAQoO,wBACPpO,EAAQqO,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,iBACrE5jB,OAAO+iB,cAAc,IAAIC,YAAY,gBAGrC,eAAkBJ,wBAAwB,GAAI+C,EAAO,QAAS,GAAG,GAAIA,EAAM5E,MAAO,EAAG,eAAkBgF,2BAA4B1D,GACnI,eAAkBO,wBAAwB,GAAI+C,EAAO,SAAU,GAAG,GAAIA,EAAMnV,OAAQ,EAAG,eAAkBuV,2BAA4B1D,GACrI,eAAkBO,wBAAwB,GAAI+C,EAAO,SAAU,GAAG,GAAIA,EAAMlV,OAAQ,EAAG,eAAkBsV,2BAA4B1D,GAErI,eAAkBO,wBAAwB,GAAI4C,EAAe,SAAU,GAAG,GAAIA,EAAchV,OAAQ,EAAG,eAAkBuV,2BAA4B1D,GACrJ,eAAkBO,wBAAwB,GAAI4C,EAAe,SAAU,GAAG,GAAIA,EAAc/U,OAAQ,EAAG,eAAkBsV,2BAA4B1D,GACrJ,eAAkBO,wBAAwB,GAAI4C,EAAe,YAAa,GAAG,GAAIA,EAAcD,UAAW,EAAG,eAAkBQ,2BAA4B1D,GAE3J,eAAkBO,wBAAwB,GAAIyC,EAAmB,SAAU,GAAG,GAAIA,EAAkB7U,OAAQ,EAAG,eAAkBuV,2BAA4B1D,GAC7J,eAAkBO,wBAAwB,GAAIyC,EAAmB,SAAU,GAAG,GAAIA,EAAkB5U,OAAQ,EAAG,eAAkBsV,2BAA4B1D,GAE7J,eAAkBO,wBAAwB,GAAI8C,EAAe,SAAU,GAAG,GAAIA,EAAclV,OAAQ,EAAG,eAAkBuV,2BAA4B1D,GACrJ,eAAkBO,wBAAwB,GAAI8C,EAAe,SAAU,GAAG,GAAIA,EAAcjV,OAAQ,EAAG,eAAkBsV,2BAA4B1D,SAOzK,aAAa/lB,GACT,IAAI0pB,EAAS,IAAI,cAAY,UAM7B,OALAA,EAAOlF,WAAqC,MAAxBxkB,EAAKqL,gBAA0BrL,EAAKqL,gBAAkB,YAC1Eqe,EAAOT,UAA8B,MAAlBjpB,EAAKipB,UAAoBjpB,EAAKipB,UAAY,KAC7DS,EAAOrM,MAA4B,MAApBrd,EAAK2pB,YAAsB3pB,EAAKmpB,YAAc,KAC7DO,EAAOxV,OAASwV,EAAOvV,OAAyB,MAAhBnU,EAAKumB,QAAkBvmB,EAAKumB,QAAU,EACtEmD,EAAOjF,MAAsB,MAAdzkB,EAAKykB,MAAgBzkB,EAAKykB,MAAQ,EAC1CiF,EAGX,iBACI,IACInC,EADAvnB,EAAO,GAAYgc,KAAKhc,GAAQA,EAAK8E,IAAMS,KAAKmR,OAAO+F,UAE3D,MAAM9C,EAAO,GAEbjR,QAAQC,IAAI,6BAA8B3I,EAAKoC,MAC/C,IAAIyjB,EAAS1N,SAAS4D,cAAc,OACpC8J,EAAO+D,UAAU5lB,IAAI,YAErB,IAAI6lB,EAAe1R,SAAS4D,cAAc,OAC1C8N,EAAaD,UAAU5lB,IAAI,gBAC3B,IAAI8lB,EAAc3R,SAAS4D,cAAc,OACzC+N,EAAYF,UAAU5lB,IAAI,UAC1B6lB,EAAaE,YAAYD,GACzB,IAAIE,EAAa7R,SAAS4D,cAAc,OACxCiO,EAAWC,IAAM,EAAQ,QACzBJ,EAAaE,YAAYC,GACzBnE,EAAOkE,YAAYF,GAEnBhE,EAAOiB,iBAAiB,aAAa,KACjCpjB,OAAO+iB,cAAc,IAAIC,YAAY,cAAc,CAAEC,OAAO,CAAE3mB,KAAMA,EAAMunB,IAAKA,QAEnF1B,EAAOiB,iBAAiB,aAAa,KACjCpjB,OAAO+iB,cAAc,IAAIC,YAAY,kBAEzCvO,SAAS+R,KAAKH,YAAYlE,GAK1BniB,OAAO0V,MAAM+Q,yBAAyBnmB,IAAK,KAEvCujB,EAAM,aAAgBC,QAClBjiB,KAAKyY,KAAKtP,SACV,YAAe+Y,WACf/jB,OAAO0V,MAAMsO,qBACb,CAACzL,EAAE,EAAG8H,EAAE,EAAGxT,MAAO4H,SAAS+R,KAAKtC,YAAapX,OAAQ2H,SAAS+R,KAAKrC,eAGvEhC,EAAOuE,MAAMC,KAAQ9C,EAAItL,EAAItC,EAAK,EAAK,KACvCkM,EAAOuE,MAAME,IAAO/C,EAAIxD,EAAIpK,EAAK,EAAK,QAMnC,U,wBC7Mf,MAAM,WAAa,EACjB,UACE,MAAO,OAGT,aAAa,GAAC7U,GAAM,IAClB2G,MAAM,CAAC3G,OAEPS,KAAKya,SAAW,KAChBza,KAAKwV,QAAU,KACfxV,KAAK0a,KAAO,KACZ1a,KAAK6T,MAAQ,KACb7T,KAAKkD,KAAO,KACZlD,KAAKglB,QAAU,KACfhlB,KAAK8X,MAAQ,UACb9X,KAAKilB,WAAa,EAClBjlB,KAAKkP,eAAiB,IAAI,aAC1BlP,KAAKklB,gBAAkB,IAAI,aAC3BllB,KAAKmlB,gBAAkB,IAAI,aAG7B,UAAW1R,EAASvQ,GAClBC,QAAQiiB,KAAK,uDAAuDC,KAAKC,UAAUpiB,IACnFlD,KAAK0T,eAAexQ,EAAKqiB,yBACzBvlB,KAAK6T,MAAQ1V,OAAO0V,MACpB7T,KAAKkD,KAAOA,EACZlD,KAAKwE,MAAOtB,EAAKyE,SAEjB,MAAM8Q,EAAO,IAAI,mBAAsBvV,EAAKyE,QAASxJ,OAAO0V,OAC5D7T,KAAK4T,YAAY6E,GAEbvV,EAAK0X,cACPnC,EAAKtP,SAAWjG,EAAK0X,eAErBnC,EAAKtP,SAAWsP,EAAKoF,iBACrB3a,EAAKyG,YAAY8O,EAAKtP,WAExBsP,EAAKrP,SAAWlG,EAAKsiB,cAErB,MAAM3oB,EAAO,QAAUqG,EAAKyE,QAkB5B,OAjBA3H,KAAK0a,KAAO,iBAAoBoB,YAAYjf,EAC1C,CACEmO,MAAO,IACPC,OAAQ,IACRiR,gBAAiB,UAAaC,YAC7Bhe,OAAO0V,OAEZ7T,KAAKya,SAAW,IAAI,sBAAyB5d,EAAO,YAAasB,OAAO0V,OACxE7T,KAAKya,SAASkB,iBAAkB,EAChC3b,KAAK0a,KAAKD,SAAWza,KAAKya,SAC1Bza,KAAK0a,KAAKvR,SAAW,IAAI,aAAgB,EAAG,EAAG,KAC/CnJ,KAAK0a,KAAKtR,SAAW,aAAgBoU,OACrCxd,KAAK0a,KAAK5G,YAAW,GACrB9T,KAAK0a,KAAKpB,OAASb,EAEnBzY,KAAKylB,uBAAuBviB,GAErBlD,KAGT,UAAW0lB,GACT,IAAI/oB,EACJ,GAAI,2BAA2BgpB,KAAKD,GAMlC,OALA/oB,EAAI+oB,EAAIE,UAAU,GAAGC,MAAM,IACX,GAAZlpB,EAAE1B,SACJ0B,EAAI,CAACA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,KAEvCA,EAAI,KAAOA,EAAEmpB,KAAK,IACX,QAAU,CAAEnpB,GAAK,GAAM,IAAMA,GAAK,EAAK,IAAS,IAAJA,GAASmpB,KAAK,KAAO,MAE1E,MAAM,IAAIpmB,MAAM,WAGlB,uBAAwBwD,GACtB,IAAI6iB,EAAK/lB,KACT+lB,EAAGjO,MAAQ5U,EAAKyU,WAChBoO,EAAGf,QAAU9hB,EAAK0U,aAClB,GAAAoO,EAAM9oB,IAAI,EAAQ,SAA2Bma,KAAM4O,IACjD,IAAInO,EAAQ,GAAKiO,EAAGjO,MACpBA,EAAQA,EAAMC,QAAQ,KAAM,KAC5B5U,QAAQC,IAAI,4BAA8BF,EAAKyE,QAAU,WAAamQ,EAAQ,aAAeiO,EAAGf,SAIhG,IAAIkB,EAASD,EAASxrB,KAEtByrB,EAASA,EAAOL,MAAM,cAAcC,KAAKhO,GAKzC,IAAIqO,EAAchoB,OAAOioB,KAAKF,GAG9BC,EAAc,6BAA+BA,EAC7C,MAAMvoB,EAAM,GAAGsF,EAAK3D,MAAM2D,EAAK4U,gBAC/BiO,EAAGvQ,QAAU,aAAgB6Q,mBAAmBzoB,EAAKuoB,EAAanmB,KAAK6T,OACvEkS,EAAGtL,SAAS6L,eAAiBtmB,KAAKwV,QAGlCuQ,EAAGtL,SAASoB,eAAiB7b,KAAKwV,QAClCuQ,EAAGtL,SAASmB,gBAAkB5b,KAAKwV,QAEnCuQ,EAAGrL,KAAK5G,YAAW,KAIvB,SAEE,IAAI1K,EAAW,IAAI,aAAgBpJ,KAAKkD,KAAKsiB,cAAce,GAAGvmB,KAAKkD,KAAKsiB,cAAcgB,GAAGxmB,KAAKkD,KAAKsiB,cAAciB,IAG7GjT,EAAOxT,KAAK2Y,cAEZ+N,EAAS1mB,KAAK6T,MAAM8S,aAEpBC,EAAgBzoB,OAAO0oB,aAAe1oB,OAAO0oB,YAAYC,KAAO3oB,OAAO0oB,YAAYE,QAAU5oB,OAAO0oB,YAAYE,OAAOC,gBAAkB7oB,OAAO0oB,YAAYC,MAAQ3oB,OAAO0oB,YAAYE,OAAOC,gBAAkB1jB,KAAKwjB,MACrNG,GAAuBL,EAAgB5mB,KAAKilB,YAAc,IAE9D,GAAIyB,EAAS,CAEX,IAAIQ,EAAcR,EAAOS,iBAEzB,GAAInnB,KAAKkD,KAAKsiB,cAAgB,CAGxBxlB,KAAKkP,eAAewH,GAAKtN,EAASsN,GAAK1W,KAAKkP,eAAesP,GAAKpV,EAASoV,GAAIxe,KAAKkP,eAAeqR,GAAKnX,EAASmX,IACjHvgB,KAAKkP,eAAiB9F,EACtBpJ,KAAKilB,WAAa2B,EAClBK,GAAuBL,EAAgB5mB,KAAKilB,YAAc,KAG5D,IAAImC,EAA2B,gBAAmBC,gBAAiBrnB,KAAKkP,eAAewH,EAAG1W,KAAKkP,eAAesP,EAAGxe,KAAKkP,eAAeqR,GACjI+G,EAA4B,gBAAmBD,gBAAiBrnB,KAAKklB,gBAAgBxO,EAAG1W,KAAKklB,gBAAgB1G,EAAGxe,KAAKklB,gBAAgB3E,GAErI0G,GAAuB,GACzBK,EAA4BF,EAC5BpnB,KAAKklB,gBAAkBllB,KAAKkP,iBAE5BoY,EAA4B,gBAAmBC,MAAOD,EAA2BF,EAA0BpM,KAAKwM,IAAKP,EAAqB,IAC1IjnB,KAAKklB,gBAAkBoC,EAA0BG,iBAGnD,IAAIC,EAAeJ,EAKfK,EAAOT,EAAYU,SAAU,gBAAmBC,QAASH,IACzDI,EAAYH,EAAKF,gBAEjBM,EAAMrB,EAAOqB,IAAM,EACnBC,EAAKhoB,KAAK6T,MAAMoU,YAAYC,uBAC5BC,EAAQJ,EAAMC,EAAK,IACnBI,EAAc,IAANL,EAER/M,KAAKqN,IAAIP,EAAUpR,IAAM0R,GAASpN,KAAKqN,IAAIP,EAAUtJ,IAAM2J,GAC7D3U,EAAKpK,SAAWpJ,KAAKklB,gBACjBllB,KAAKya,UAAYza,KAAKya,SAAS6L,iBACjCtmB,KAAKya,SAASyE,MAAQ,KAGxBwI,EAAe1nB,KAAKklB,gBACpBgC,EAAcA,EAAYO,gBACtBzM,KAAKqN,IAAIP,EAAUpR,GAAK0R,IAC1BV,EAAahR,EAAIwQ,EAAYxQ,EAAIsE,KAAKsN,KAAKR,EAAUpR,GAAK0R,GACxDpN,KAAKqN,IAAIP,EAAUtJ,GAAK2J,IAC1BT,EAAalJ,EAAI0I,EAAY1I,EAAIxD,KAAKsN,KAAKR,EAAUtJ,GAAK2J,GAC5D3U,EAAKpK,SAAWse,EACZ1nB,KAAKya,UAAYza,KAAKya,SAAS6L,iBACjCtmB,KAAKya,SAASyE,MAAQ,UAIvB,CACL,GAAIlf,KAAKkD,KAAK0X,cAAe,CAC3B,IAAI2N,EAAiBvoB,KAAKkD,KAAK0X,cAC/B5a,KAAKmlB,gBAAkBqD,OAAOC,QAAQC,KAAM1oB,KAAKmlB,gBAAiBoD,EAAgBvN,KAAKwM,IAAKP,EAAqB,IACjHzT,EAAKrK,SAAWnJ,KAAKmlB,gBAEnBnlB,KAAKkD,KAAKsiB,gBACZhS,EAAKpK,SAAWA,GAGpBpJ,KAAK0T,eAAe1T,KAAKkD,KAAKqiB,yBAC1BvlB,KAAKkD,KAAK0U,eAAiB5X,KAAKglB,SAAWhlB,KAAKkD,KAAKyU,aAAe3X,KAAK8X,QAC3E3U,QAAQC,IAAI,wCACZpD,KAAKylB,uBAAuBzlB,KAAKkD,QAKxB,UC/Lf,MAAM,WAAc,EAChB,UAAY,MAAO,QAEnB,aAAa,GAAE3D,GAAO,IAClB2G,MAAO,CAAE3G,OAETS,KAAKya,cAAW/P,EAChB1K,KAAKwV,aAAU9K,EACf1K,KAAK0a,UAAOhQ,EACZ1K,KAAK6T,WAAQnJ,EACb1K,KAAKwL,WAAQd,EACb1K,KAAKmR,YAASzG,EACd1K,KAAKyT,aAAU/I,EACf1K,KAAKgL,WAAQN,EACb1K,KAAKiL,YAASP,EAGlB,UAAW+I,EAAStC,GAChBnR,KAAKyT,QAAUA,EACfzT,KAAK6T,MAAQ1V,OAAO0V,MACpB7T,KAAKmR,OAASA,EAGd,MAAMsH,EAAOvS,MAAMwS,UAAWjF,EAAStC,GAASwH,cAChDF,EAAKtP,SAAWgI,EAAOyJ,cAGvB,IAAI+N,EAAQ,IAAI,mBAAsB,GAAIxqB,OAAO0V,OACjD8U,EAAMvf,SAASsN,GAAKvF,EAAO0J,eAAiBG,KAAKC,GAAK,IACtD0N,EAAMvf,SAASoV,GAAKrN,EAAO2J,eAAiBE,KAAKC,GAAK,IACtD0N,EAAMvf,SAASmX,GAAKpP,EAAO4J,eAAiBC,KAAKC,GAAK,IACtD0N,EAAMrP,OAASb,EAEfzY,KAAKgL,MAAQ4d,SAASzX,EAAO4K,YAC7B/b,KAAKiL,OAAS2d,SAASzX,EAAO8K,aAG9B,MAAMzQ,EAAQ,GAAaoL,SAASzF,EAAOxE,gBAC3C,IAAIkc,EAAe,IAAI,kBAAqB,6BAA8Brd,EAAM0L,SAAUlX,KAAK6T,OAAO,GAAO,EAAO,4BAAgC,CAChJuG,MAAkC,GAA3BjJ,EAAO4H,iBACdzR,KAA8B,SAAxB6J,EAAOgI,aACb2P,SAAmC,SAAzB3X,EAAO8H,cACjB8P,mBAAmB,EACnBjlB,OAAQqN,EAAO4H,iBAAiB,MAQpC,GAJA/Y,KAAKwV,QAAUqT,EACf7oB,KAAKwL,MAASqd,EAAard,MAGxBxL,KAAKwL,MAAM1I,OAAO,CACjBK,QAAQC,IAAI,wCAIZpD,KAAKwL,MAAM4O,OAAQ,EACnB,IAAI4O,EAAUhpB,KAAKwL,MAAM0N,OAGzB8P,EAAQ3R,KAAM,KACVrX,KAAKwL,MAAMgO,QACXxZ,KAAKwL,MAAM4O,OAAQ,EAGS,SAAzBjJ,EAAO8H,gBACN9a,OAAO0V,MAAMoV,cAAgB,KACzBjpB,KAAKwL,MAAM0N,OACX/a,OAAO0V,MAAMoV,mBAAiBve,MAsC9C,OA/BA1K,KAAKya,SAAW,IAAI,sBAAyB,8CAAoDza,KAAK6T,OACtG7T,KAAKya,SAASmB,gBAAkB5b,KAAKwV,QACrCxV,KAAKya,SAASkB,iBAAkB,EAChC3b,KAAKya,SAASoB,eAAiB7b,KAAKwV,QAGpCxV,KAAK0a,KAAO,iBAAoBoB,YAAY,QAAS,CAAC9Q,MAAQhL,KAAKgL,MAAQC,OAAQjL,KAAKiL,OAASiR,gBAAiB,UAAaC,YAAche,OAAO0V,OACpJ7T,KAAK0a,KAAKD,SAAWza,KAAKya,SAC1Bza,KAAK0a,KAAKtR,SAASoV,EAAIxD,KAAKC,GAC5Bjb,KAAK0a,KAAKpB,OAASqP,EAGgB,SAAhCxX,EAAO+X,qBACNlpB,KAAKmpB,kBAE6B,SAA/BhY,EAAOiY,qBACNppB,KAAK0a,KAAKiG,cAAgB,IAAI,mBAAsB3gB,KAAK6T,OAEzD7T,KAAK0a,KAAKiG,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBC,cAAe,KAClGrN,EAAQmO,qBACRzjB,OAAO+iB,cAAc,IAAIC,YAAY,UAAU,CAACC,OAAO,CAAC5T,IAAKhC,EAAM0L,iBAG3ElX,KAAK0a,KAAKqD,YAAa,EAI/BtF,EAAK4Q,iBAAiB7R,QAAQkD,IAC1BA,EAAKoD,iBAAmB,IAGrBrF,EAIX,kBACI,IAAI+H,EAAO,IAAI,eACfA,EAAKC,cAAc,oBAAuBC,sBAI1C,IAAI4I,EAAkB,UAAaxN,YAAY,mBAAoB,GAAI9b,KAAK6T,OAC5EyV,EAAgBlgB,SAASoV,EAAIxD,KAAKC,GAClCqO,EAAgBhQ,OAAUtZ,KAAK0a,KAAKpB,OACpCgQ,EAAgBxV,YAAW,GAC3B,IAAI2K,EAAkB,6BAA2BC,cAAc4K,GAC3Djc,EAAQ,IAAI,YAAU,GAAI,EAAQ,SACtCoR,EAAgBU,WAAW9R,GAC3Bic,EAAgBvL,YAAa,EAU7B,IAAIkB,EAAa,iBAAoBnD,YAAY,aAAa,CAAC9Q,MAAOhL,KAAKgL,MAAOC,OAAQjL,KAAKiL,OAAQiR,gBAAiB,UAAaC,YAAYnc,KAAK6T,OACtJoL,EAAWxE,SAAW,IAAI,sBAAyB,GAAIza,KAAK6T,OAC5DoL,EAAWxE,SAAS8O,aAAe,IAAI,YAAe,EAAG,EAAG,GAC5DtK,EAAW3F,OAAStZ,KAAK0a,KAAKpB,OAC9B2F,EAAWnL,YAAW,GACtBmL,EAAWlB,YAAa,EAGxB,IAAI3S,EAAwB,MAAZpL,KAAKiL,OACjBue,EAAmF,KAA9DZ,SAAS5oB,KAAKgL,MAAQhL,KAAKiL,OAASjL,KAAKgL,MAAQhL,KAAKiL,QAC/E,IAAIwe,EAAiB,iBAAoB3N,YAAY,iBAAkB,CAAC9Q,MAAOwe,EAAoBve,OAAQue,EAAmBtN,gBAAiB,UAAaC,YAAanc,KAAK6T,OAC9K4V,EAAenQ,OAAStZ,KAAK0a,KAAKpB,OAClCmQ,EAAetgB,SAASqV,EAAIpT,EAC5Bqe,EAAetgB,SAASoX,EAAI,EAC5BkJ,EAAergB,SAASoV,EAAIxD,KAAKC,GAEjC,IAAIyO,EAAmB,6BAA2BhL,cAAc+K,GAE5DE,EAAQ,IAAI,gBAChBA,EAAM/K,kBAAoB,cAAYC,uBACtC8K,EAAM5E,IAAM,OACZ4E,EAAM1e,OAAS,QACf0e,EAAM3K,aAAe,GACrB2K,EAAMjG,UAAY,EAClBiG,EAAM1K,WAAa0K,EAAM7R,MAAQ,UACjC4R,EAAiBvK,WAAWwK,GAE5B,IAAIC,EAAO,IAAI,WACfA,EAAKC,oBAAoB,GACzBD,EAAKE,iBAAiB,IAAG,GACzBF,EAAKE,iBAAiB,IACtBH,EAAMxK,WAAWyK,GAEjB,IAAIG,EAAc,IACdC,EAAiB,EAAiB,KAAZD,EACtBE,EAAe,IAAI,WACvBA,EAAaJ,oBAAgC,IAAZE,GACjCE,EAAaJ,oBAAgC,EAAZE,GACjCE,EAAaJ,oBAAgC,EAAZE,GACjCE,EAAaJ,oBAAgC,EAAZE,GACjCE,EAAaJ,oBAAoBE,GACjCE,EAAaJ,oBAAoBG,GACjCC,EAAaJ,oBAAoBE,GACjCE,EAAaJ,oBAAoBE,GACjCE,EAAapK,YAAc,OAC3BoK,EAAanK,aAAe,OAC5B8J,EAAKzK,WAAW8K,EAAa,EAAE,GAI/B,IAAIC,EAAW,IAAI,aACnBA,EAAStJ,YAAc,UACvBsJ,EAAS5sB,MAAQ,EACjB4sB,EAASC,QAAU,EACnBD,EAASE,QAAU,EACnBpqB,KAAKwL,MAAM6e,iBAAmB,WAAaH,EAASE,QAAUpqB,KAAKgD,UACnEknB,EAASjf,OAAS,OAClBif,EAASI,UAAY,MACrBJ,EAASK,eAAgB,EACzBL,EAASM,gBAAiB,EAC1BN,EAASO,WAAazqB,KAAKyT,QAAQiX,aACnCR,EAAStG,YAAc5jB,KAAKyT,QAAQiX,aACpCR,EAASjL,WAAa,UACtBiL,EAASpS,MAAQ9X,KAAKyT,QAAQiX,aAC9Bd,EAAKzK,WAAW+K,EAAS,EAAE,GAG3B,IAAIS,EAAmB,IAAI,aAAW,iBACtCA,EAAiB/J,YAAc,UAC/B+J,EAAiBjH,UAAY,EAC7B,IAAIkH,EAAsB,IAAI,YAAU,GAAG,EAAQ,SACnDD,EAAiB3f,MAAQ,OACzB2f,EAAiB1f,OAAS,OAC1B0f,EAAiBxL,WAAWyL,GAC5BX,EAAa9K,WAAWwL,EAAkB,EAAG,GAG7C,IAAIE,EAAW,IAAI,aAAW,YAC9BA,EAASjK,YAAc,UACvBiK,EAASnH,UAAY,EACrB,IAAIoH,EAAc,IAAI,YAAU,GAAoC,GAAhC9qB,KAAKmR,OAAO4H,iBAAwB,EAAQ,QAAwC,EAAQ,SAChI+R,EAAW9f,MAAQ,OACnB8f,EAAW7f,OAAS,OACpB4f,EAAS1L,WAAW2L,GACpBb,EAAa9K,WAAW0L,EAAU,EAAG,GAGrC,IAAIE,EAAe,IAAI,aAAW,gBAClCA,EAAanK,YAAc,UAC3BmK,EAAaztB,MAAQ0C,KAAKwL,MAAM1H,OAChCinB,EAAaZ,QAAU,EACvBY,EAAaX,QAAU,EACvBW,EAAa9f,OAAS,OACtB8f,EAAaT,UAAY,MACzBS,EAAaR,eAAgB,EAC7BQ,EAAaP,gBAAiB,EAC9BO,EAAaN,WAAazqB,KAAKyT,QAAQiX,aACvCK,EAAanH,YAAc5jB,KAAKyT,QAAQiX,aACxCK,EAAa9L,WAAa,UAC1B8L,EAAajT,MAAQ9X,KAAKyT,QAAQiX,aAClCT,EAAa9K,WAAW4L,EAAa,EAAE,GAIvC,IAAIpnB,EAAO,IAAI,gBAEfA,EAAKmhB,KAAO,OACZnhB,EAAK4M,KAAO,YACZ5M,EAAKmU,MAAQ,UACbnU,EAAKyb,SAAW,GAChBzb,EAAK2b,wBAA0B,cAAYC,0BAC3C5b,EAAK6b,sBAAwB,cAAYwL,0BACzCf,EAAa9K,WAAWxb,EAAM,EAAG,GAGjC,IAAIsnB,EAAgB,IAAI,aAAW,cACnCA,EAAcrK,YAAc,UAC5BqK,EAAcvH,UAAY,EAC1B,IAAIwH,EAAmB,IAAI,YAAU,GAAG,EAAQ,SAChDD,EAAcjgB,MAAQ,OACtBigB,EAAchgB,OAAS,OACvBggB,EAAc9L,WAAW+L,GACzBjB,EAAa9K,WAAW8L,EAAe,EAAG,GAG1CjrB,KAAK0a,KAAKiG,cAAgB,IAAI,mBAAsB3gB,KAAK6T,OAIzD,IAAIsX,GAAO,EACPC,GAAU,EAEd,IAAIC,EAAc,EAGlBJ,EAAcK,yBAAyB7sB,IAAI,KACvCuB,KAAKwL,MAAMgO,QACXrb,OAAO+iB,cAAc,IAAIC,YAAY,UAAU,CAACC,OAAO,CAAC5T,IAAKxN,KAAKwL,MAAMkZ,UAK5EwF,EAASqB,wBAAwB9sB,IAAI,KACjC0sB,GAAO,EACPnrB,KAAK6T,MAAMwK,gBAAgB,cAAcmN,gBACzCxrB,KAAKwL,MAAMgO,UAKf0Q,EAASuB,sBAAsBhtB,IAAI,KAC/B0sB,GAAO,EACPnrB,KAAK6T,MAAMwK,gBAAgB,cAAcqN,cAAc9Y,SAAS+Y,eAAe,iBAAiB,GAAM,EAAM,GAC5G3rB,KAAKwL,MAAMwO,YAAckQ,EAAS5sB,MAClCqG,EAAK4M,KAAOvQ,KAAK4rB,aACjB5rB,KAAKwL,MAAM0N,SAIf2R,EAASS,yBAAyB7sB,IAAK,KAC/BuB,KAAKwL,MAAM4O,OAMXyQ,EAASgB,cAAcf,GACvBA,EAAWgB,OAAS,EAAQ,QAC5BjB,EAAS1L,WAAW2L,GAEhBC,EAAaztB,MADd+tB,EAAc,IACQ,EAEAA,IAXzBR,EAASgB,cAAcf,GACvBA,EAAWgB,OAAS,EAAQ,QAC5BjB,EAAS1L,WAAW2L,GACpBC,EAAaztB,MAAQ,GAWzB0C,KAAKwL,MAAM1H,OAASinB,EAAaztB,MACjC0C,KAAKwL,MAAM4O,OAASpa,KAAKwL,MAAM4O,QAInC2Q,EAAaQ,wBAAwB9sB,IAAI,KACrC2sB,GAAU,EACVprB,KAAK6T,MAAMwK,gBAAgB,cAAcmN,kBAE7CT,EAAaU,sBAAsBhtB,IAAI,KACnC2sB,GAAU,EACVprB,KAAK6T,MAAMwK,gBAAgB,cAAcqN,cAAc9Y,SAAS+Y,eAAe,iBAAiB,GAAM,EAAM,GAC5G3rB,KAAKwL,MAAM1H,OAASinB,EAAaztB,MACT,GAArB0C,KAAKwL,MAAM1H,SACV+mB,EAASgB,cAAcf,GACvBA,EAAWgB,OAAS,EAAQ,QAC5BjB,EAAS1L,WAAW2L,GACpB9qB,KAAKwL,MAAM4O,OAAQ,KAG3B2Q,EAAagB,wBAAwBttB,IAAI,KAClC2sB,IACCxY,SAAS+Y,eAAe,gBAAgB9G,MAAMmH,OAAS,UACvDhsB,KAAKwL,MAAM1H,OAASinB,EAAaztB,MACR,GAAtBytB,EAAaztB,OACZutB,EAASgB,cAAcf,GACvBA,EAAWgB,OAAS,EAAQ,QAC5BjB,EAAS1L,WAAW2L,GACpB9qB,KAAKwL,MAAM4O,OAAQ,IAEhBpa,KAAKwL,MAAM4O,QACVyQ,EAASgB,cAAcf,GACvBA,EAAWgB,OAAS,EAAQ,QAC5BjB,EAAS1L,WAAW2L,GACpB9qB,KAAKwL,MAAM4O,OAAQ,GAEvBiR,EAAcN,EAAaztB,UAOvC4sB,EAAS6B,wBAAwBttB,IAAI,KAC9B0sB,IACCvY,SAAS+Y,eAAe,gBAAgB9G,MAAMmH,OAAS,UACvDhsB,KAAKwL,MAAMwO,YAAckQ,EAAS5sB,MAClCqG,EAAK4M,KAAOvQ,KAAK4rB,gBAMzB5rB,KAAKwL,MAAMygB,aAAe,KAClBd,IACAxnB,EAAK4M,KAAOvQ,KAAK4rB,aACjB1B,EAAS5sB,MAAQ0C,KAAKwL,MAAMwO,cAKpCha,KAAKwL,MAAM0gB,OAAS,WAChBzN,EAAgBoN,cAAcxe,GAC9BA,EAAQ,IAAI,YAAU,GAAI,EAAQ,SAClCoR,EAAgBU,WAAW9R,GAC3Bsd,EAAiBkB,cAAcjB,GAC/BA,EAAsB,IAAI,YAAU,GAAG,EAAQ,SAC/CD,EAAiBxL,WAAWyL,IAIhC5qB,KAAKwL,MAAM2gB,QAAU,WACjB1N,EAAgBoN,cAAcxe,GAC9BA,EAAQ,IAAI,YAAU,GAAI,EAAQ,SAClCoR,EAAgBU,WAAW9R,GAC3Bsd,EAAiBkB,cAAcjB,GAC/BA,EAAsB,IAAI,YAAU,GAAG,EAAQ,SAC/CD,EAAiBxL,WAAWyL,IAIhC5qB,KAAK0a,KAAKiG,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBC,cAAe,KACtG9gB,KAAKwL,MAAM1I,OAAS9C,KAAKwL,MAAM0N,OAASlZ,KAAKwL,MAAMgO,WAGvDmR,EAAiBW,yBAAyB7sB,IAAI,KAC1CuB,KAAKwL,MAAM1I,OAAS9C,KAAKwL,MAAM0N,OAASlZ,KAAKwL,MAAMgO,UAIvDxZ,KAAK0a,KAAKiG,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBQ,qBAAqB,WAC5G,eAAkBN,wBAAwB,GAAIuI,EAAiB,aAAc,GAAG,EAAGA,EAAgBrJ,WAAY,EAAG,EAAGO,GAAM,WACvH8I,EAAgBxV,YAAW,MAE/B,eAAkBiN,wBAAwB,GAAI9B,EAAY,aAAc,GAAG,EAAGA,EAAWgB,WAAY,EAAG,EAAGO,GAAM,WAC7GvB,EAAWnL,YAAW,UAK9B9T,KAAK0a,KAAKiG,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBS,sBAAsB,WAC7GgI,EAAgBxV,YAAW,GAC3B,eAAkBiN,wBAAwB,GAAIuI,EAAiB,aAAc,GAAG,EAAG,EAAG,EAAG,EAAG9I,GAC5FvB,EAAWnL,YAAW,GACtB,eAAkBiN,wBAAwB,GAAI9B,EAAY,aAAc,GAAG,EAAG,EAAG,GAAK,EAAGuB,OAIjG,aACI,IAAI4L,EAAcpsB,KAAKqsB,WAAWrsB,KAAKwL,MAAMwO,aACzChX,EAAWhD,KAAKqsB,WAAWrsB,KAAKwL,MAAMxI,UAC1C,OAAOopB,EAAa,IAAMppB,EAG9B,WAAWW,GACP,IAAI2oB,EAAOtR,KAAKuR,MAAM5oB,EAAO,IACzB6oB,EAAOxR,KAAKuR,MAAM5oB,EAAc,GAAP2oB,GAC7B,OAAOA,EAAO,KAAOE,EAAO,GAAK,IAAM,IAAMA,EAGjD,SACItmB,MAAMgU,SAC0B,SAA7Bla,KAAKmR,OAAO8H,eAA2BjZ,KAAKwL,OAC3CxL,KAAKwL,MAAM0N,OAGnB,UACIhT,MAAM+T,UACHja,KAAKwL,OACJxL,KAAKwL,MAAMgO,SAKR,UC3bf,MAAM,WAAc,EAChB,UAAY,MAAO,QAEnB,aAAa,GAAEja,GAAO,IAClB2G,MAAO,CAAE3G,OAETS,KAAKya,cAAW/P,EAChB1K,KAAKwV,aAAU9K,EACf1K,KAAK0a,UAAOhQ,EACZ1K,KAAKwL,WAAQd,EACb1K,KAAKmR,YAASzG,EACd1K,KAAKyT,aAAU/I,EACf1K,KAAKgL,WAAQN,EACb1K,KAAKiL,YAASP,EAEd1K,KAAKysB,kBAAe/hB,EACpB1K,KAAK0sB,eAAYhiB,EACjB1K,KAAKkN,YAASxC,EACd1K,KAAK2sB,qBAAkBjiB,EACvB1K,KAAK4sB,kBAAeliB,EACpB1K,KAAK6sB,YAASniB,EACd1K,KAAK8sB,YAASpiB,EAEd1K,KAAK+sB,cAAWriB,EAChB1K,KAAKgtB,kBAAoB,EAG7B,eACIhtB,KAAKkN,OAAS,CACV,wEACA,6CAEA,wEACA,6CAEA,wEACA,6CAEA,wEACA,8CAGJlN,KAAKitB,WAAa,CACd,iCACA,iCAEA,iCACA,iCAEA,iCACA,iCAEA,iCACA,kCAGJjtB,KAAKktB,WAAa,CACd,OACA,OAEA,OACA,OAEA,OACA,OAEA,OACA,QAGJltB,KAAK6M,OAAS,CACV,mBACA,gBAEA,mBACA,gBAEA,mBACA,gBAEA,mBACA,iBAIR,UAAW4G,EAAStC,GAChBnR,KAAKyT,QAAUA,EACfzT,KAAKmR,OAASA,EAGd,MAAMsH,EAAOvS,MAAMwS,UAAWjF,EAAStC,GAASwH,cAChDF,EAAKtP,SAAWgI,EAAOyJ,cACvBnC,EAAKyC,OAAO,IAAI,aAAgB,EAAE,EAAE,IAEpC,IAAIyN,EAAQ,IAAI,mBAAsB,GAAIxqB,OAAO0V,OACjD8U,EAAMvf,SAASsN,GAAKvF,EAAO0J,eAAiBG,KAAKC,GAAK,IACtD0N,EAAMvf,SAASoV,GAAKrN,EAAO2J,eAAiBE,KAAKC,GAAK,IACtD0N,EAAMvf,SAASmX,GAAKpP,EAAO4J,eAAiBC,KAAKC,GAAK,IACtD0N,EAAMrP,OAASb,EAEfzY,KAAKgL,MAAQ4d,SAASzX,EAAO4K,YAC7B/b,KAAKiL,OAAS2d,SAASzX,EAAO8K,aAE9Bjc,KAAKmtB,eAELhvB,OAAOojB,iBAAiB,iBAAkB,KACtCvhB,KAAKmtB,eAELhvB,OAAO0V,MAAMuZ,cAAc,aAAarZ,UACxC/T,KAAKqtB,kBAELrtB,KAAKstB,gBAGT,IAAIzE,EAAe,IAAI,kBAAqB,6BAA8BpV,EAAQ8Z,WAAavtB,KAAKkN,OAAO,GAAI/O,OAAO0V,OAAO,GAAO,EAAO,4BAAgC,CACvKvM,KAA8B,SAAxB6J,EAAOgI,aACb2P,UAAU,EACVC,mBAAmB,IAUvB,GANA/oB,KAAKwV,QAAUqT,EACf7oB,KAAKwL,MAASqd,EAAard,MAC3BxL,KAAKwL,MAAM1H,OAASqN,EAAO4H,iBAAiB,IAIzC/Y,KAAKwL,MAAM1I,QAAU2Q,EAAQ+Z,eAAeC,SAAS,CACpDtqB,QAAQC,IAAI,wCAIZpD,KAAKwL,MAAM4O,OAAQ,EACnB,IAAI4O,EAAUhpB,KAAKwL,MAAM0N,OAGzB8P,EAAQ3R,KAAM,KACVrX,KAAKwL,MAAMgO,QACXxZ,KAAKwL,MAAM4O,OAAQ,EAGS,SAAzBjJ,EAAO8H,gBACN9a,OAAO0V,MAAMoV,cAAgB,KACzBjpB,KAAKwL,MAAM0N,OACX/a,OAAO0V,MAAMoV,mBAAiBve,MAO9C1K,KAAKya,SAAW,IAAI,sBAAyB,8CAAoDtc,OAAO0V,OACxG7T,KAAKya,SAASmB,gBAAkB5b,KAAKwV,QACrCxV,KAAKya,SAASkB,iBAAkB,EAChC3b,KAAKya,SAASoB,eAAiB7b,KAAKwV,QAGpCxV,KAAK0a,KAAO,iBAAoBoB,YAAY,QAAS,CAAC9Q,MAAQhL,KAAKgL,MAAQC,OAAQjL,KAAKiL,OAASiR,gBAAiB,UAAaC,YAAche,OAAO0V,OACpJ7T,KAAK0a,KAAKD,SAAWza,KAAKya,SAC1Bza,KAAK0a,KAAKtR,SAASoV,EAAIxD,KAAKC,GAC5Bjb,KAAK0a,KAAKpB,OAASqP,EAEnB,IAAI+E,EAAmB,iBAAoB5R,YAAY,aAAa,CAAC9Q,MAAOhL,KAAKgL,MAAOC,OAAQjL,KAAKiL,OAAQiR,gBAAiB,UAAaC,YAAYhe,OAAO0V,OAe9J,OAdA6Z,EAAiBjT,SAAW,IAAI,sBAAyB,GAAItc,OAAO0V,OACpE6Z,EAAiBjT,SAAS8O,aAAe,IAAI,YAAe,EAAG,EAAG,GAClEmE,EAAiBtkB,SAASoV,EAAIxD,KAAKC,GACnCyS,EAAiBvkB,SAASoX,GAAK,GAC/BmN,EAAiB5Z,YAAW,GAC5B4Z,EAAiBpU,OAAStZ,KAAK0a,KAAKpB,OAEpCtZ,KAAKmpB,kBACLnpB,KAAKqtB,kBAEL5U,EAAK4Q,iBAAiB7R,QAAQkD,IAC1BA,EAAKoD,iBAAmB,IAGrBrF,EAIX,kBACI,IAAI+H,EAAO,IAAI,eACfA,EAAKC,cAAc,oBAAuBC,sBAI1C,IAAI4I,EAAkB,UAAaxN,YAAY,mBAAoB,GAAI3d,OAAO0V,OAC9EyV,EAAgBlgB,SAASoV,EAAIxD,KAAKC,GAClCqO,EAAgBhQ,OAAUtZ,KAAK0a,KAAKpB,OACpCgQ,EAAgBxV,YAAW,GAC3B,IAAI2K,EAAkB,6BAA2BC,cAAc4K,GAC3Djc,EAAQ,IAAI,YAAU,GAAI,EAAQ,SACtCoR,EAAgBU,WAAW9R,GAC3Bic,EAAgBvL,YAAa,EAG7B,IAAIkB,EAAa,iBAAoBnD,YAAY,aAAa,CAAC9Q,MAAOhL,KAAKgL,MAAOC,OAAQjL,KAAKiL,OAAQiR,gBAAiB,UAAaC,YAAYhe,OAAO0V,OACxJoL,EAAWxE,SAAW,IAAI,sBAAyB,GAAItc,OAAO0V,OAC9DoL,EAAWxE,SAAS8O,aAAe,IAAI,YAAe,EAAG,EAAG,GAC5DtK,EAAW3F,OAAStZ,KAAK0a,KAAKpB,OAC9B2F,EAAWnL,YAAW,GACtBmL,EAAWlB,YAAa,EAGxB,IAAI3S,EAA0B,KAAdpL,KAAKiL,OACjBue,EAAqBxpB,KAAK4sB,aAAe,GAAKhE,SAAS5oB,KAAKgL,MAAQhL,KAAKiL,OAASjL,KAAKgL,MAAQhL,KAAKiL,QACxG,IAAIwe,EAAiB,iBAAoB3N,YAAY,iBAAkB,CAAC9Q,MAAOwe,EAAoBve,OAAQue,EAAmBtN,gBAAiB,UAAaC,YAAahe,OAAO0V,OAChL4V,EAAenQ,OAAStZ,KAAK0a,KAAKpB,OAClCmQ,EAAetgB,SAASqV,EAAIpT,EAC5Bqe,EAAetgB,SAASoX,EAAI,EAC5BkJ,EAAergB,SAASoV,EAAIxD,KAAKC,GAEjC,IAAIyO,EAAmB,6BAA2BhL,cAAc+K,GAE5DE,EAAQ,IAAI,gBAChBA,EAAM/K,kBAAoB,cAAYC,uBACtC8K,EAAM5E,IAAM,OACZ4E,EAAM1e,OAAS,QACf0e,EAAM3K,aAAe,GACrB2K,EAAMjG,UAAY,EAClBiG,EAAM1K,WAAa0K,EAAM7R,MAAQ,UACjC4R,EAAiBvK,WAAWwK,GAE5B,IAAIC,EAAO,IAAI,WACfA,EAAKC,oBAAoB,GACzBD,EAAKE,iBAAiB,IAAG,GACzBF,EAAKE,iBAAiB,IACtBH,EAAMxK,WAAWyK,GAEjB,IAAIG,EAAc,IACdC,EAAiB,EAAiB,KAAZD,EACtBE,EAAe,IAAI,WACvBA,EAAaJ,oBAAoBE,GACjCE,EAAaJ,oBAAgC,IAAZE,GACjCE,EAAaJ,oBAAoBE,GACjCE,EAAaJ,oBAAoBE,GACjCE,EAAaJ,oBAAgC,EAAZE,GACjCE,EAAaJ,oBAAgC,EAAZE,GACjCE,EAAaJ,oBAAoBG,GACjCC,EAAaJ,oBAAoBE,GACjCE,EAAaJ,oBAAoBE,GACjCE,EAAapK,YAAc,OAC3BoK,EAAanK,aAAe,OAC5B8J,EAAKzK,WAAW8K,EAAa,EAAE,GAI/B,IAAIC,EAAW,IAAI,aACnBA,EAAStJ,YAAc,UACvBsJ,EAAS5sB,MAAQ,EACjB4sB,EAASC,QAAU,EACnBD,EAASE,QAAU,EACnBpqB,KAAKwL,MAAM6e,iBAAmB,WAAaH,EAASE,QAAUpqB,KAAKgD,UACnEknB,EAASjf,OAAS,OAClBif,EAASI,UAAY,MACrBJ,EAASK,eAAgB,EACzBL,EAASM,gBAAiB,EAC1BN,EAASO,WAAazqB,KAAKyT,QAAQiX,aACnCR,EAAStG,YAAc5jB,KAAKyT,QAAQiX,aACpCR,EAASjL,WAAa,UACtBiL,EAASpS,MAAQ9X,KAAKyT,QAAQiX,aAC9Bd,EAAKzK,WAAW+K,EAAS,EAAE,GAG3B,IAAIyD,EAAc,IAAI,aAAW,eACjCA,EAAY/M,YAAc,UAC1B+M,EAAYjK,UAAY,EACxB,IAAIkK,EAAc,IAAI,YAAU,GAAI,EAAQ,SAC5CD,EAAY3iB,MAAQ,OACpB2iB,EAAY1iB,OAAS,OACrB0iB,EAAYxO,WAAWyO,GACvB3D,EAAa9K,WAAWwO,EAAa,EAAG,GAExC,IAAIE,EAAc,IAAI,aAAW,eACjCA,EAAYjN,YAAc,UAC1BiN,EAAYnK,UAAY,EACxB,IAAIoK,EAAc,IAAI,YAAU,GAAI,EAAQ,SAC5CD,EAAY7iB,MAAQ,OACpB6iB,EAAY5iB,OAAS,OACrB4iB,EAAY1O,WAAW2O,GACvB7D,EAAa9K,WAAW0O,EAAa,EAAG,GAGxC,IAAIlD,EAAmB,IAAI,aAAW,iBACtCA,EAAiB/J,YAAc,UAC/B+J,EAAiBjH,UAAY,EAC7B,IAAIkH,EAAsB,IAAI,YAAU,GAAG,EAAQ,SACnDD,EAAiB3f,MAAQ,OACzB2f,EAAiB1f,OAAS,OAC1B0f,EAAiBxL,WAAWyL,GAC5BX,EAAa9K,WAAWwL,EAAkB,EAAG,GAG7C,IAAIE,EAAW,IAAI,aAAW,YAC9BA,EAASjK,YAAc,UACvBiK,EAASnH,UAAY,EACrB,IAAIoH,EAAa,IAAI,YAAU,GAAI,EAAQ,SAC3CA,EAAW9f,MAAQ,OACnB8f,EAAW7f,OAAS,OACpB4f,EAAS1L,WAAW2L,GACpBb,EAAa9K,WAAW0L,EAAU,EAAG,GAGrC,IAAIE,EAAe,IAAI,aAAW,gBAClCA,EAAanK,YAAc,UAC3BmK,EAAaztB,MAAQ,EACrBytB,EAAaZ,QAAU,EACvBY,EAAaX,QAAU,EACvBW,EAAa9f,OAAS,OACtB8f,EAAaT,UAAY,MACzBS,EAAaR,eAAgB,EAC7BQ,EAAaP,gBAAiB,EAC9BO,EAAaN,WAAazqB,KAAKyT,QAAQiX,aACvCK,EAAanH,YAAc5jB,KAAKyT,QAAQiX,aACxCK,EAAa9L,WAAa,UAC1B8L,EAAajT,MAAQ9X,KAAKyT,QAAQiX,aAClCT,EAAa9K,WAAW4L,EAAa,EAAE,GAGvC,IAAIpnB,EAAO,IAAI,gBAEfA,EAAKmhB,KAAO,OACZnhB,EAAK4M,KAAO,YACZ5M,EAAKmU,MAAQ,UACbnU,EAAKyb,SAAW,GAChBzb,EAAK2b,wBAA0B,cAAYC,0BAC3C5b,EAAK6b,sBAAwB,cAAYwL,0BACzCf,EAAa9K,WAAWxb,EAAM,EAAG,GAGjC,IAAIoqB,EAAc,IAAI,aAAW,YACjCA,EAAYnN,YAAc,UAC1BmN,EAAYrK,UAAY,EACxB,IAAIsK,EAAiB,IAAI,YAAU,GAAG,EAAQ,SAC9CD,EAAY/iB,MAAQ,OACpB+iB,EAAY9iB,OAAS,OACrB8iB,EAAY5O,WAAW6O,GAIvB,IAAI/C,EAAgB,IAAI,aAAW,cACnCA,EAAcrK,YAAc,UAC5BqK,EAAcvH,UAAY,EAC1B,IAAIwH,EAAmB,IAAI,YAAU,GAAI,EAAQ,SACjDD,EAAcjgB,MAAQ,OACtBigB,EAAchgB,OAAS,OACvBggB,EAAc9L,WAAW+L,GACzBjB,EAAa9K,WAAW8L,EAAe,EAAG,GAE1CjrB,KAAK0a,KAAKiG,cAAgB,IAAI,mBAAsBxiB,OAAO0V,OAI3D,IAAIsX,GAAO,EACPC,GAAU,EAEd,IAAIC,EAAc,EAGlBJ,EAAcK,yBAAyB7sB,IAAI,KACvCuB,KAAKwL,MAAMgO,QACXrb,OAAO+iB,cAAc,IAAIC,YAAY,UAAU,CAACC,OAAQ,CAAC5T,IAAKxN,KAAKwL,MAAMkZ,UAI7EqJ,EAAYzC,yBAAyB7sB,IAAI,KACL,GAA7BuB,KAAK0sB,UAAUzM,YACd,eAAkBc,wBAAwB,GAAI/gB,KAAK0sB,UAAW,aAAc,GAAG,GAAI1sB,KAAK0sB,UAAUzM,WAAY,EAAG,EAAGO,GACpH,eAAkBO,wBAAwB,GAAI/gB,KAAK0sB,UAAW,aAAc,GAAG,GAAI1sB,KAAK0sB,UAAUvjB,SAASqV,EAAGxe,KAAK0sB,UAAUvjB,SAASqV,EAAE,GAAI,EAAGgC,KAE/I,eAAkBO,wBAAwB,GAAI/gB,KAAK0sB,UAAW,aAAc,GAAG,GAAI1sB,KAAK0sB,UAAUzM,WAAY,EAAG,EAAGO,GACpH,eAAkBO,wBAAwB,GAAI/gB,KAAK0sB,UAAW,aAAc,GAAG,GAAI1sB,KAAK0sB,UAAUvjB,SAASqV,EAAE,GAAIxe,KAAK0sB,UAAUvjB,SAASqV,EAAE,GAAI,EAAGgC,MAK1JmN,EAAYrC,yBAAyB7sB,IAAI,KACrCuB,KAAKgtB,kBAA8C,GAA1BhtB,KAAKgtB,kBAAyBhtB,KAAKkN,OAAOjS,OAAO,EAAI+E,KAAKgtB,kBAAkB,EACrGhtB,KAAKstB,gBAETO,EAAYvC,yBAAyB7sB,IAAI,KACrCuB,KAAKgtB,kBAAoBhtB,KAAKgtB,mBAAqBhtB,KAAKkN,OAAOjS,OAAO,EAAI,EAAI+E,KAAKgtB,kBAAkB,EACrGhtB,KAAKstB,gBAMTpD,EAASqB,wBAAwB9sB,IAAI,KACjC0sB,GAAO,EACPhtB,OAAO0V,MAAM8S,aAAa6E,gBAC1BxrB,KAAKiuB,eAKT/D,EAASuB,sBAAsBhtB,IAAI,KAC/B0sB,GAAO,EACPhtB,OAAO0V,MAAM8S,aAAa+E,cAAc9Y,SAAS+Y,eAAe,iBAAiB,GAAM,EAAM,GAC7F3rB,KAAKwL,MAAMwO,YAAckQ,EAAS5sB,MAClCqG,EAAK4M,KAAOvQ,KAAK4rB,aACjB5rB,KAAKkuB,cAKThE,EAAS6B,wBAAwBttB,IAAI,KAC9B0sB,IACCvY,SAAS+Y,eAAe,gBAAgB9G,MAAMmH,OAAS,UACvDhsB,KAAKwL,MAAMwO,YAAckQ,EAAS5sB,MAClCqG,EAAK4M,KAAOvQ,KAAK4rB,gBAKzBf,EAASS,yBAAyB7sB,IAAK,KAC/BuB,KAAKwL,MAAM4O,OAMXyQ,EAASgB,cAAcf,GACvBA,EAAWgB,OAAS,EAAQ,QAC5BjB,EAAS1L,WAAW2L,GAEhBC,EAAaztB,MADd+tB,EAAc,IACQ,EAEAA,IAXzBR,EAASgB,cAAcf,GACvBA,EAAWgB,OAAS,EAAQ,QAC5BjB,EAAS1L,WAAW2L,GACpBC,EAAaztB,MAAQ,GAWzB0C,KAAKwL,MAAM1H,OAASinB,EAAaztB,MACjC0C,KAAKwL,MAAM4O,OAASpa,KAAKwL,MAAM4O,QAInC2Q,EAAaQ,wBAAwB9sB,IAAI,KACrC2sB,GAAU,EACVjtB,OAAO0V,MAAM8S,aAAa6E,kBAE9BT,EAAaU,sBAAsBhtB,IAAI,KACnC2sB,GAAU,EACVjtB,OAAO0V,MAAM8S,aAAa+E,cAAc9Y,SAAS+Y,eAAe,iBAAiB,GAAM,EAAM,GAC7FN,EAAcN,EAAaztB,MAC3B0C,KAAKwL,MAAM1H,OAASunB,IAExBN,EAAagB,wBAAwBttB,IAAI,KAClC2sB,IACCxY,SAAS+Y,eAAe,gBAAgB9G,MAAMmH,OAAS,UACvDhsB,KAAKwL,MAAM1H,OAASinB,EAAaztB,MACR,GAAtBytB,EAAaztB,OACZutB,EAASgB,cAAcf,GACvBA,EAAWgB,OAAS,EAAQ,QAC5BjB,EAAS1L,WAAW2L,GACpB9qB,KAAKwL,MAAM4O,OAAQ,IAEhBpa,KAAKwL,MAAM4O,QACVyQ,EAASgB,cAAcf,GACvBA,EAAWgB,OAAS,EAAQ,QAC5BjB,EAAS1L,WAAW2L,GACpB9qB,KAAKwL,MAAM4O,OAAQ,GAEvBiR,EAAcN,EAAaztB,UAOvC0C,KAAKwL,MAAMygB,aAAe,KAClBd,IACAxnB,EAAK4M,KAAOvQ,KAAK4rB,aACjB1B,EAAS5sB,MAAQ0C,KAAKwL,MAAMwO,cAKpCha,KAAKwL,MAAM2iB,eAAkB,KACzBpD,EAAaztB,MAAQ0C,KAAKwL,MAAM1H,QAIpC9D,KAAKwL,MAAM0gB,OAAS,KAChBzN,EAAgBoN,cAAcxe,GAC9BA,EAAQ,IAAI,YAAU,GAAI,EAAQ,SAClCoR,EAAgBU,WAAW9R,GAC3Bsd,EAAiBkB,cAAcjB,GAC/BA,EAAsB,IAAI,YAAU,GAAI,EAAQ,SAChDD,EAAiBxL,WAAWyL,IAIhC5qB,KAAKwL,MAAM2gB,QAAU,KACjB1N,EAAgBoN,cAAcxe,GAC9BA,EAAQ,IAAI,YAAU,GAAI,EAAQ,SAClCoR,EAAgBU,WAAW9R,GAC3Bsd,EAAiBkB,cAAcjB,GAC/BA,EAAsB,IAAI,YAAU,GAAI,EAAQ,SAChDD,EAAiBxL,WAAWyL,IAIhC5qB,KAAK0a,KAAKiG,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBC,cAAe,KACtG9gB,KAAKwL,MAAM1I,OAAS9C,KAAKkuB,YAAcluB,KAAKiuB,gBAGhDtD,EAAiBW,yBAAyB7sB,IAAI,KAC1CuB,KAAKwL,MAAM1I,OAAS9C,KAAKkuB,YAAcluB,KAAKiuB,eAIhDjuB,KAAK0a,KAAKiG,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBQ,qBAAqB,WAC5G,eAAkBN,wBAAwB,GAAIuI,EAAiB,aAAc,GAAG,EAAGA,EAAgBrJ,WAAY,EAAG,EAAGO,GAAM,WACvH8I,EAAgBxV,YAAW,MAE/B,eAAkBiN,wBAAwB,GAAI9B,EAAY,aAAc,GAAG,EAAGA,EAAWgB,WAAY,EAAG,EAAGO,GAAM,WAC7GvB,EAAWnL,YAAW,UAK9B9T,KAAK0a,KAAKiG,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBS,sBAAsB,WAC7GgI,EAAgBxV,YAAW,GAC3B,eAAkBiN,wBAAwB,GAAIuI,EAAiB,aAAc,GAAG,EAAG,EAAG,EAAG,EAAG9I,GAC5FvB,EAAWnL,YAAW,GACtB,eAAkBiN,wBAAwB,GAAI9B,EAAY,aAAc,GAAG,EAAG,EAAG,GAAK,EAAGuB,OAIjG,kBACI,IAAI4N,EAAgBpuB,KAAKiL,OAAS,GAC9BojB,EAAeruB,KAAKiL,OAAS,GAC7BqjB,EAAW,iBAAoBxS,YAAY,YAAa,CAAC9Q,MAAOqjB,EAAcpjB,OAAQmjB,EAAelS,gBAAiB,UAAaC,YAAahe,OAAO0V,OAC3Jya,EAASnlB,SAASuN,GAAK1W,KAAKgL,MAAM,EAAIqjB,EAAa,EAAI,EACvDC,EAASnlB,SAASqV,GAAK,EACvB8P,EAASnlB,SAASoX,EAAI,GACtB+N,EAASllB,SAASoV,EAAI,IAAMxD,KAAKC,GACjCqT,EAAShV,OAAStZ,KAAK0a,KAAKpB,OAE5BtZ,KAAK6sB,OAAS7sB,KAAK4sB,aAAeyB,EAClCruB,KAAK8sB,OAAS9sB,KAAK4sB,aAAewB,EAElC,IAAIG,EAAiB,IACjBC,EAAkB,EAElBC,EAAe,6BAA2B/P,cAAc4P,GAExDI,EAAQ,IAAI,gBAChBA,EAAM1P,aAAe,GAAGhf,KAAK6sB,OAC7B6B,EAAMhL,UAAY,EAClBgL,EAAMxP,MAAQ,EACdwP,EAAMzP,WAAayP,EAAM5W,MAAQ,UACjC2W,EAAatP,WAAWuP,GAExB,IAAIC,EAAc,IAAI,mBACtBA,EAAYjL,UAAY,EACxBiL,EAAY7W,MAAQ,cACpB6W,EAAY/O,WAAa,GAAG5f,KAAK8sB,OAAO,KACxC6B,EAAY5O,cAAgB,GAAG/f,KAAK8sB,OAAO,KAC3C6B,EAAY9O,YAAc,GAAG7f,KAAK6sB,OAAO,KACzC8B,EAAY7O,aAAe,MAC3B6O,EAAYC,YAAYlL,UAAY,EACpCiL,EAAYE,QAAU,GAAG7uB,KAAK6sB,OAC9B8B,EAAYG,iBAAmB,cAC/BL,EAAatP,WAAWwP,GAExB,IAAII,EAAc,IAAI,gBACtBA,EAAYrL,UAAY,EAExBqL,EAAY9jB,OAASjL,KAAKkN,OAAOjS,QAAUszB,EAAiBvuB,KAAK8sB,QAAU,KAC3E6B,EAAYxP,WAAW4P,GAEvB,IAAIhC,EAAW,IAAI,WACnBA,EAASjN,aAAe,GAAG9f,KAAK6sB,OAAO,KACvC,IAAI,IAAI9xB,EAAE,EAAGA,EAAIiF,KAAKkN,OAAOjS,OAAQF,IACjCgyB,EAASjD,iBAAiB,EAAiB9pB,KAAK8sB,QAAO,GAE3DiC,EAAY5P,WAAW4N,GAEvB,IAAQhyB,EAAE,EAAGA,EAAIiF,KAAKkN,OAAOjS,OAAQF,IAAI,CACrC,IAAIi0B,EAAgB,IAAI,gBAAc,iBACtCA,EAActL,UAAY1jB,KAAKgtB,mBAAqBjyB,EAAI,EAAI,EAC5Di0B,EAAcpP,WAAa4O,EAAgBxuB,KAAK8sB,OAAS,KACzDkC,EAAcjP,cAAgByO,EAAgBxuB,KAAK8sB,OAAS,KAC5DkC,EAAchQ,aAAe,EAC7BgQ,EAAclX,MAAQ9X,KAAKyT,QAAQiX,aACnCsE,EAAcpO,YAAc,UAE5B,IAAIqO,EAAW,IAAI,WACnBA,EAASC,mBAAqBV,EAAgBxuB,KAAK8sB,OACnDmC,EAASE,sBAAwBX,EAAgBxuB,KAAK8sB,OACtDmC,EAASG,oBAAsBZ,EAAgBxuB,KAAK6sB,OACpDoC,EAASI,qBAAuBb,EAAgBxuB,KAAK6sB,OACrDoC,EAASpF,oBAAoB,IAC7BoF,EAASpF,oBAAoB,IAC7BoF,EAASpF,oBAAoB,IAC7BmF,EAAc7P,WAAW8P,GAEzB,IAAI5hB,EAAQ,IAAI,YAAU,GAAGrN,KAAKyT,QAAQ8Z,WAAavtB,KAAKitB,WAAWlyB,IACvEk0B,EAAS9P,WAAW9R,EAAM,EAAE,GAE5B,IAAIiiB,EAAatvB,KAAK6M,OAAO9R,GAEzBwV,EAAO,IAAI,gBACXgf,EAAgBD,EAAWr0B,OAAwB,EAAds0B,EAAmB,GAAK,GACjEhf,EAAK6O,SAAWkQ,EAAWr0B,OAAwB,EAAds0B,EAAmB,GAAGvvB,KAAK8sB,OAAS,GAAG9sB,KAAK8sB,OACjFvc,EAAKA,KAAO+e,EACZ/e,EAAKiP,sBAAwB,cAAYX,uBACzCtO,EAAK+O,wBAA0B,cAAYC,0BAC3ChP,EAAKuU,KAAO,GAAG9kB,KAAK6sB,OAAS,KAC7Btc,EAAKuH,MAAQ,QACbmX,EAAS9P,WAAW5O,EAAK,EAAE,GAE3B,IAAIif,EAAW,IAAI,gBACnBA,EAAShQ,sBAAwB,cAAYiQ,0BAC7CD,EAASlQ,wBAA0B,cAAYC,0BAC/CiQ,EAASpQ,SAAW,GAAGpf,KAAK8sB,OAC5B0C,EAAS1K,KAAO,GAAG9kB,KAAK6sB,OAAS,KACjC2C,EAASjf,KAAOvQ,KAAKktB,WAAWnyB,GAChCy0B,EAAS1X,MAAQ,UACjBmX,EAAS9P,WAAWqQ,EAAS,EAAE,GAE/B,IAAIE,EAAM,IAAI,aACdA,EAAI9O,YAAa,UACjB8O,EAAI1kB,MAAQ,GAAGhL,KAAK6sB,OAAO,KAC3B6C,EAAIzkB,OAAS,GAAGjL,KAAK8sB,OAAO,KAC5B4C,EAAIhM,UAAY,EAChB,IAAIiM,EAAS,IAAI,YAAU,GAAI,EAAQ,SACvCD,EAAIvQ,WAAWwQ,GAEfV,EAAS9P,WAAWuQ,EAAI,EAAE,GAE1B3C,EAAS5N,WAAW6P,EAAcj0B,EAAE,GAGpC,MAAMwC,EAAIxC,EACVi0B,EAAc1D,yBAAyB7sB,IAAI,KACvCuB,KAAKgtB,kBAAoBzvB,EACzByC,KAAKstB,aAAY,KAGrB,MAAMsC,EAAoBZ,EAC1BA,EAAca,yBAAyBpxB,IAAI,KACvCmxB,EAAkB3Q,WAAa,YAEnC+P,EAAcc,uBAAuBrxB,IAAI,KACrCmxB,EAAkB3Q,WAAa,gBAGvCjf,KAAK+sB,SAAWA,EAChB/sB,KAAK0sB,UAAY4B,EAGjBA,EAAS3N,cAAgB,IAAI,mBAAsBxiB,OAAO0V,OAC1Dya,EAAS3N,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBS,qBAAsB,KAC5GthB,KAAKyT,QAAQsc,kBAAiB,MAElCzB,EAAS3N,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBQ,oBAAqB,KAC3GrhB,KAAKyT,QAAQsc,kBAAiB,MAIlCpB,EAAYC,YAAYrD,wBAAwB9sB,IAAI,KAChDN,OAAO0V,MAAM8S,aAAa6E,kBAE9BmD,EAAYC,YAAYnD,sBAAsBhtB,IAAI,KAC9CN,OAAO0V,MAAM8S,aAAa+E,cAAc9Y,SAAS+Y,eAAe,iBAAiB,GAAM,EAAO,KAItG,SAASqE,EAAQC,EAAoBC,GAKjC,IAJA,IAAIC,EAAQH,EAAOnK,MAAM,KACrBuK,EAAY,GACZC,EAAkB,EAClBC,EAAmB,EACfv1B,EAAI,EAAGA,EAAEo1B,EAAMl1B,OAAQF,IAAI,CAC/B,KAAIu1B,EAAmBH,EAAMp1B,GAAGE,OAAS,EAAKi1B,GAUvC,CACHE,EAAU70B,KAAK,OACf,MAXI80B,EAAkBF,EAAMp1B,GAAGE,OAAUg1B,GACrCG,EAAU70B,KAAK,MACf80B,EAAkB,GAElBA,GAAmBF,EAAMp1B,GAAGE,OAGhCq1B,GAAoBH,EAAMp1B,GAAGE,OAC7Bm1B,EAAU70B,KAAK40B,EAAMp1B,IAQ7B,IADA,IAAIw1B,EAAa,GACTt0B,EAAI,EAAGA,EAAEm0B,EAAUn1B,OAAQgB,IAC/Bs0B,GAAcH,EAAUn0B,GACP,MAAdm0B,EAAUn0B,KACTs0B,GAAc,KAGtB,OAAOA,EAGX,YAAYrC,GACR,IAAK,IAAInzB,EAAI,EAAGA,EAAIiF,KAAK+sB,SAASyD,SAASv1B,OAAQF,IAC/CiF,KAAK+sB,SAASyD,SAASz1B,GAAG2oB,UAAY3oB,GAAKiF,KAAKgtB,kBAAoB,GAAK,EACzEhtB,KAAK+sB,SAASyD,SAASz1B,GAAGy1B,SAAS,GAAGA,SAAS,GAAGA,SAAS,GAAG1E,OAAS/wB,GAAKiF,KAAKgtB,kBAAoB,EAAQ,QAAwB,EAAQ,QAGjJhtB,KAAKwL,MAAMb,UAAW,EAClB3K,KAAKwL,MAAM1I,QACXoQ,WAAW,KAAQlT,KAAKkuB,aAAgB,KAEzCA,GACChb,WAAW,KAAQlT,KAAKkuB,aAAgB,KAE5CluB,KAAKwL,MAAMkZ,IAAM1kB,KAAKyT,QAAQ8Z,WAAavtB,KAAKkN,OAAOlN,KAAKgtB,mBAGhE,aACI,IAAIZ,EAAcpsB,KAAKqsB,WAAWrsB,KAAKwL,MAAMwO,aACzChX,EAAWhD,KAAKqsB,WAAWrsB,KAAKwL,MAAMxI,UAC1C,OAAOopB,EAAa,IAAMppB,EAG9B,WAAWW,GACP,IAAI2oB,EAAOtR,KAAKuR,MAAM5oB,EAAO,IACzB6oB,EAAOxR,KAAKuR,MAAM5oB,EAAc,GAAP2oB,GAC7B,OAAOA,EAAO,KAAOE,EAAO,GAAK,IAAM,IAAMA,EAGjD,SACItmB,MAAMgU,SACNla,KAAKkuB,YAGT,UACIhoB,MAAM+T,UACNja,KAAKiuB,aAGT,YACI,IAAK,IAAIlzB,EAAI,EAAGA,EAAIiF,KAAK+sB,SAASyD,SAASv1B,OAAQF,IAC5CA,GAAKiF,KAAKgtB,oBACThtB,KAAK+sB,SAASyD,SAASz1B,GAAGy1B,SAAS,GAAGA,SAAS,GAAGA,SAAS,GAAG1E,OAAS,EAAQ,SAGvF9rB,KAAKwL,MAAM0N,OAGf,aACI,IAAK,IAAIne,EAAI,EAAGA,EAAIiF,KAAK+sB,SAASyD,SAASv1B,OAAQF,IAC5CA,GAAKiF,KAAKgtB,oBACThtB,KAAK+sB,SAASyD,SAASz1B,GAAGy1B,SAAS,GAAGA,SAAS,GAAGA,SAAS,GAAG1E,OAAS,EAAQ,SAGvF9rB,KAAKwL,MAAMgO,SAIJ,UCxvBf,MAAM,WAAoB,EACtB,UAAY,MAAO,cAEnB,aAAa,GAAEja,GAAO,IAClB2G,MAAO,CAAE3G,OACTS,KAAKyT,aAAS/I,EACd1K,KAAKmR,YAASzG,EACd1K,KAAKwL,WAAQd,EAEb1K,KAAKsT,iBAAc5I,EAGvB,UAAW+I,EAAStC,GAChBhO,QAAQC,IAAI,yBAEZqQ,EAAQjB,yBAAwB,GAEhCxS,KAAKmR,OAASA,EACdnR,KAAKyT,QAAUA,EACfzT,KAAKsT,YAAcG,EAAQgd,mBAE3B,MAAMhY,EAAOvS,MAAMwS,UAAWjF,EAAStC,GAASwH,cAC1C9b,EAAO,kBAAmBsU,EAAOlI,mBACjCynB,EAAgB,GAAa9Z,SAASzF,EAAOlI,oBAEnD,GAAiC,QAA9BwK,EAAQgd,mBAA6B,CAEpC,MAAMjU,EAAY,IAAI,eAAkB3f,EAAM4W,EAAQ8Z,WAAW,sCAAsC,CACnG9Q,WAAW,GACXC,aAAa,EACbtI,KAAM,KACPjW,OAAO0V,OACV2I,EAAUlD,OAASb,EAEnB,IAAIkY,EAAS,iBAAoBC,aAAa,SAAU,CAACC,IAAK,IAAKC,UAAW,MAAOC,UAAW,MAAOC,UAAW,QAClHL,EAAO3P,QAAQxC,GAAK,EACpBmS,EAAOvnB,SAASoV,EAAI,UACpBmS,EAAOrX,OAASb,EAEhB,IAAIoQ,EAAe,IAAI,kBAAqB,GAAIpV,EAAQ8Z,WAAW,0BAA2BpvB,OAAO0V,OAAO,GAAO,EAAO,4BAAgC,CACtJiV,UAAU,EACVC,mBAAmB,EACnB3O,OAAO,EACP6W,QAAS,aAEbpI,EAAard,MAAMylB,QAAU,WAC7BpI,EAAard,MAAMsd,SAAWrV,EAAQyd,4BAEtC,IAAIC,EAAgB,IAAI,sBAAyB,gBAAiBhzB,OAAO0V,OACzEsd,EAAc7K,eAAiBuC,EAC/BsI,EAAcC,cAAgB,YAAeC,QAC7CF,EAActV,eAAiB,IAAI,aAAgBpI,EAAQ8Z,WAAW,0BAA2BpvB,OAAO0V,OACxGsd,EAAcxV,iBAAkB,EAChCwV,EAAc1T,iBAAkB,EAChCkT,EAAOlW,SAAW0W,EAElBnxB,KAAKwL,MAAQqd,EAAard,UAEzB,CACD,MAAM8lB,EAAc,IAAI,eAAkBz0B,EAAM6zB,EAAcxZ,SAAU,CACpEuF,WAAW,GACX8U,aAAa,EACbjqB,MAAM,EACNwhB,SAAUrV,EAAQyd,4BAClBM,OAAO,GACPpd,KAAM,IACNsI,aAAa,GACdve,OAAO0V,OACVyd,EAAYhY,OAASb,EAErBzY,KAAKwL,MAAQ8lB,EAAYzI,aAAard,MAsC1C,GAlCAxL,KAAKwL,MAAMimB,WAAa,WACpB,IAAIC,EAAK1xB,KAAK2xB,SACVC,EAAmBF,EAAGz2B,OAAS,EAAKy2B,EAAGG,IAAIH,EAAGz2B,OAAO,GAAK+E,KAAKgD,SAAW,IAAK,EACnF4uB,EAAmBne,EAAQ+Z,eAAesE,WAAaF,EAAmB,GAAK,IAAMA,EACrFne,EAAQse,mBAAmB,CAACxyB,GAAI4R,EAAOxJ,QAAQqqB,iBAAkBJ,KAKrE5xB,KAAKwL,MAAMygB,aAAe,KACtBxY,EAAQse,mBAAmB,CAACxyB,GAAIS,KAAKmR,OAAOxJ,QAAQqS,YAAaha,KAAKwL,MAAMwO,eAIhFha,KAAKwL,MAAM6e,iBAAmB,KAC1B5W,EAAQse,mBAAmB,CAACxyB,GAAIS,KAAKmR,OAAOxJ,QAAQ3E,SAAUhD,KAAKwL,MAAMxI,WACzEkQ,WAAW,KACPO,EAAQjB,yBAAwB,IACjC,MAIPxS,KAAKwL,MAAMymB,QAAU,KACjBjyB,KAAKwZ,SAIT/F,EAAQse,mBAAmB,CAACxyB,GAAIS,KAAKmR,OAAOxJ,QAAQ7E,QAAS2Q,EAAQyd,8BAOlElxB,KAAKwL,MAAM1I,QAAU2Q,EAAQ+Z,eAAeC,SAAS,CACpDtqB,QAAQC,IAAI,wCAIZpD,KAAKwL,MAAM4O,OAAQ,EACnB,IAAI4O,EAAUhpB,KAAKwL,MAAM0N,OAGzB8P,EAAQ3R,KAAM,KACVrX,KAAKwZ,QACLxZ,KAAKwL,MAAM4O,OAAQ,EAGhB3G,EAAQyd,8BACPlxB,KAAKkZ,OACL/V,QAAQC,IAAI,8DACZjF,OAAO0V,MAAMoV,cAAgB,KACtBjpB,KAAKsT,aAAetT,KAAKyT,QAAQgd,oBAChCzwB,KAAKkZ,WAsBzB,OAXAlZ,KAAKwL,MAAM+V,iBAAiB,iBAAiB,KACtCvhB,KAAKwL,MAAM1I,QAAU2Q,EAAQyd,8BAC5B/tB,QAAQC,IAAI,qDACZpD,KAAKwZ,QACLrb,OAAO0V,MAAMoV,cAAgB,KACtBjpB,KAAKsT,aAAetT,KAAKyT,QAAQgd,oBAChCzwB,KAAKkZ,WAKdT,EAIX,SACIvS,MAAMgU,SACHla,KAAKyT,QAAQyd,6BACZlxB,KAAKkZ,OAGb,UACIhT,MAAM+T,UACNja,KAAKwZ,QAGT,QACItT,MAAMsT,QACNxZ,KAAKwL,MAAMgO,QACXxZ,KAAKyT,QAAQse,mBAAmB,CAACxyB,GAAIS,KAAKmR,OAAOxJ,QAAQ7E,OAAQ9C,KAAKwL,MAAM1I,SAGhF,OACIoD,MAAMgT,OACNlZ,KAAKwL,MAAM0N,OACXlZ,KAAKyT,QAAQse,mBAAmB,CAACxyB,GAAIS,KAAKmR,OAAOxJ,QAAQ7E,OAAQ9C,KAAKwL,MAAM1I,SAGzE3E,OAAO0V,MAAMoV,gBACZ9qB,OAAO0V,MAAMoV,mBAAiBve,GAGtC,mBAAmB/G,GACfuC,MAAM6T,mBAAmBpW,GACzB3D,KAAKwL,MAAMwO,YAAcrW,EACzB3D,KAAKyT,QAAQse,mBAAmB,CAACxyB,GAAIS,KAAKmR,OAAOxJ,QAAQqS,YAAarW,IAG1E,aAAaG,GACToC,MAAMgsB,aAAapuB,GACnB9D,KAAKwL,MAAM1H,OAASA,EACpB9D,KAAKwL,MAAM4O,MAAkB,GAAVtW,EACnB9D,KAAKyT,QAAQse,mBAAmB,CAACxyB,GAAIS,KAAKmR,OAAOxJ,QAAQ7D,OAAQA,IAGrE,WAKW,UCtMf,MAAM,WAAiB,GACnB,UAAY,MAAO,WAEnB,aAAa,GAAEvE,GAAO,IAClB2G,MAAO,CAAE3G,OAGb,UAAUkU,EAAStC,GACf,MAAMsH,EAAOvS,MAAMwS,UAAWjF,EAAStC,GAEvC,GAAGA,EAAO+F,SAAS,CAEflX,KAAK0a,KAAKiG,cAAgB,IAAI,mBAAsB3gB,KAAK6T,OAEzD7T,KAAK0a,KAAKiG,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBC,cAAe,KACtG3iB,OAAO+iB,cAAc,IAAIC,YAAY,eAAe,CAACC,OAAO,CACxD+Q,QAAS,GAAavb,SAASzF,EAAO+F,UAAUA,SAChDra,KAAMsU,EAAOihB,iBAIrB,IAAI5R,EAAO,IAAI,eACfA,EAAKC,cAAc,oBAAuBC,sBAE1C1gB,KAAK0a,KAAKiG,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBQ,oBAAqB,KAC5G,eAAkBN,wBAAwB,GAAI/gB,KAAK0a,KAAM,UAAW,GAAG,GAAI1a,KAAK0a,KAAKsG,QAAS,IAAI,aAAgBC,IAAO,EAAGT,MAGhIxgB,KAAK0a,KAAKiG,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBS,qBAAsB,KAC7G,eAAkBP,wBAAwB,GAAI/gB,KAAK0a,KAAM,UAAW,GAAG,GAAI1a,KAAK0a,KAAKsG,SAAS,IAAI,aAAgBC,KAAM9W,MAAM,KAAM,EAAGqW,MAI/I,OAAO/H,GAKA,UCrCf,MAAM,GACF,UAAY,MAAO,SAEnB,UAAWhF,EAAStC,GAChB,OAAO,IAAI,EACP,CACI5R,GAAI4R,EAAOwC,eAAiBxC,EAAOwC,sBAAmBjJ,EACtD6I,SAAU,IAAI,mBAAsBpC,EAAOC,UAAY,IAAMD,EAAOxJ,QAASxJ,OAAO0V,UAKpG,MAAM,WAAwB,GAC1B,UAAY,OAAO1P,EAAOS,WAAWW,YAEjC,UAAWkO,EAAStC,GAChB,IAAI5T,EAAI,IAAI,GAEZ,OADAA,EAAEmb,UAAWjF,EAAStC,GACf5T,GAKnB,MAAM,WAAyB,GAC3B,UAAY,OAAO4G,EAAOS,WAAWQ,aAErC,UAAWqO,EAAStC,GAChBhO,QAAQC,IAAI,+CACZ,IAAIivB,EAAI,IAAI,GAEZ,OADAA,EAAE3Z,UAAWjF,EAAStC,GACfkhB,GAKf,MAAM,WAA6B,GAC/B,UAAY,OAAOluB,EAAOS,WAAWS,iBAErC,UAAWoO,EAAStC,GAChBhO,QAAQC,IAAI,mDACZ,IAAIivB,EAAI,IAAI,GAEZ,OADAA,EAAE3Z,UAAWjF,EAAStC,GACfkhB,GAKf,MAAM,WAAyB,GAC3B,UAAY,OAAOluB,EAAOS,WAAWO,aAErC,UAAWsO,EAAStC,GAChBhO,QAAQC,IAAI,+CACZ,IAAIrI,EAAI,IAAI,GAEZ,OADAA,EAAE2d,UAAWjF,EAAStC,GACfpW,GAKf,MAAM,WAAkC,GACpC,UAAY,MAAO,sBAEnB,UAAW0Y,EAASiK,GAChB,IAAI3iB,EAAI,IAAI,GAEZ,OADAA,EAAE2d,UAAWjF,EAASiK,GACf3iB,GAMf,MAAM,WAA8B,GAChC,UAAY,OAAOoJ,EAAOS,WAAWU,WAErC,UAAWmO,EAAStC,GAChB,IAAI5T,EAAI,IAAI,GAEZ,OADAA,EAAEmb,UAAWjF,EAAStC,GACf5T,GAKf,MAAM,WAA6B,GAC/B,UAAY,OAAO4G,EAAOS,WAAWY,UAErC,UAAWiO,EAAStC,GAChB,IAAImhB,EAAO,IAAI,GAEf,OADAA,EAAK5Z,UAAWjF,EAAStC,GAClBmhB,GAIf,MAAM,WAA4B,GAC9B,UAAY,OAAOnuB,EAAOS,WAAWc,SAErC,UAAW+N,EAAStC,GAChB,IAAIohB,EAAS,IAAI,GAEjB,OADAA,EAAO7Z,UAAWjF,EAAStC,GACpBohB,GAIf,MAAM,WAAkC,GACpC,UAAY,OAAOpuB,EAAOS,WAAWG,eAErC,UAAW0O,EAAStC,GAChB,IAAIqhB,EAAO,IAAI,GAEf,OADAA,EAAK9Z,UAAWjF,EAAStC,GAClBqhB,GAKf,MAAM,WAAyB,GAC3B,UAAY,OAAOruB,EAAOS,WAAWM,aAErC,UAAWuO,EAAStC,GAChB,IAAI5C,EAAQ,IAAI,GAEhB,OADAA,EAAMmK,UAAWjF,EAAStC,GACnB5C,GAKf,MAAM,WAAkC,GACpC,UAAY,OAAOpK,EAAOS,WAAWE,eAErC,UAAW2O,EAAStC,GAChB,IAAIshB,EAAO,IAAI,GAEf,OADAA,EAAK/Z,UAAWjF,EAAStC,GAClBshB,GAKf,MAAM,WAA8B,GAChC,UAAY,MAAO,OAEnB,UAAWhf,EAASvQ,GAChB,IAAI3F,EAAI,IAAI,GAEZ,OADAA,EAAEmb,UAAWjF,EAASvQ,GACf3F,GAIf,MAAMm1B,GAEF,cACI1yB,KAAK2yB,aAAe,IAAIzhB,IAG5B,oBAAqBvU,GACbA,EAAEyU,SACFpR,KAAK2yB,aAAathB,IAAK1U,EAAEyU,UAAWzU,GAI5C,wBAAyB8W,EAAStC,GAC9B,OAAInR,KAAK2yB,aAAarhB,IAAKH,EAAOC,WACvBpR,KAAK2yB,aAAaz1B,IAAIiU,EAAOC,WAAWsH,UAAWjF,EAAStC,GAEhEnR,KAAK2yB,aAAaz1B,IAAI,UAAUwb,UAAWjF,EAAStC,IAInE,MAAM,GAAW,IAAIuhB,GAErB,GAASE,oBAAqB,IAAI,IAClC,GAASA,oBAAqB,IAAI,IAClC,GAASA,oBAAqB,IAAI,IAClC,GAASA,oBAAqB,IAAI,IAClC,GAASA,oBAAqB,IAAI,IAClC,GAASA,oBAAqB,IAAI,IAClC,GAASA,oBAAqB,IAAI,IAClC,GAASA,oBAAqB,IAAI,IAClC,GAASA,oBAAqB,IAAI,IAClC,GAASA,oBAAqB,IAAI,IAClC,GAASA,oBAAqB,IAAI,IAClC,GAASA,oBAAqB,IAAI,IAClC,GAASA,oBAAqB,IAAI,IAElC13B,OAAOqH,OAAO,IAEC,U,aC1Lf,MAAM,GAEF,aAAY,GAAEhD,EAAE,OAAEszB,EAAM,YAAEvf,EAAW,KAAE3P,EAAI,KAAES,EAAI,SAAEpB,IAC/ChD,KAAKT,GAAKA,GAAU,kBACpBrE,OAAOmH,OAAOrC,KAAM,CAAE6yB,SAAQvf,gBAC9BtT,KAAKoE,KAAOA,GAAc,QAC1BpE,KAAK2D,KAAOA,GAAcL,KAAKwjB,MAC/B9mB,KAAKgD,SAAWA,GAAsB,IAG1C,UAAY,OAAOhD,KAAKoE,KAExB,MAAM7E,GAAoB,OAAdS,KAAKT,GAAKA,EAAWS,KACjC,QAAU,OAAOA,KAAKT,GAEtB,UAAUA,GAAwB,OAAlBS,KAAK6yB,OAAStzB,EAAWS,KACzC,YAAc,OAAOA,KAAK6yB,OAE1B,eAAetzB,GAA6B,OAAvBS,KAAKsT,YAAc/T,EAAWS,KACnD,iBAAmB,OAAOA,KAAKsT,YAE/B,QAAQ3P,GAA0B,OAAlB3D,KAAK2D,KAAOA,EAAa3D,KACzC,UAAY,OAAOA,KAAK2D,KAExB,YAAYX,GAAsC,OAA1BhD,KAAKgD,SAAWA,EAAiBhD,KACzD,cAAgB,OAAOA,KAAKgD,SAE5B,SAASoB,GACL,OAAOA,IAASpE,KAAKoE,KAGzB,cAAcE,GAWV,OAVIA,GAAQA,EAAK/E,GACbS,KACKwE,MAAMF,EAAK/E,IACXuzB,UAAUxuB,EAAKuuB,QACfnf,eAAepP,EAAKgP,aACpByf,QAAQzuB,EAAKX,MACbqvB,YAAY1uB,EAAKtB,UAEtBG,QAAQwB,MAAM,sCAEX3E,MAIf,MAAMizB,WAA4B,GAC9B,aAAY,GAAE1zB,EAAE,OAAEszB,EAAM,YAAEvf,EAAW,KAAE3P,EAAI,SAAEX,EAAQ,SACjDmG,EAAQ,SACRC,EAAQ,MACR0O,GACA,IACA5R,MAAM,CAAE3G,KAAIszB,SAAQvf,cAAa3P,OAAMX,WAAUoB,KAAM,wBACvDlJ,OAAOmH,OAAOrC,KAAM,CAAEmJ,WAAUC,WAAU0O,UAG9C,SAAS1T,GACL,OAAOA,IAASpE,KAAKoE,MAAQ8B,MAAMC,SAAS/B,GAGhD,YAAY4d,GAA4B,OAArBhiB,KAAKmJ,SAAW6Y,EAAYhiB,KAC/C,cAAgB,OAAOA,KAAKmJ,SAE5B,YAAY+pB,GAA4B,OAArBlzB,KAAKoJ,SAAW8pB,EAAYlzB,KAC/C,cAAgB,OAAOA,KAAKoJ,SAE5B,SAAS0O,GAA6B,OAApB9X,KAAK8X,MAAQA,EAAc9X,KAC7C,WAAa,OAAOA,KAAK8X,MAEzB,cAAcxT,GASV,OARIA,GAAQA,EAAK/E,GACb2G,MAAMG,cAAe/B,GAChBqF,YAAYrF,EAAK6E,UACjBY,YAAYzF,EAAK8E,UACjB+pB,SAAS7uB,EAAKwT,OAEnB3U,QAAQwB,MAAM,sCAEX3E,KAGX,eAAgBsE,GACZ,OAAO,IAAI2uB,IAAsB5sB,cAAe/B,IAIxD,MAAM8uB,GACF,cACIpzB,KAAKqzB,oBAAsB,IAAIniB,IAGnC,kBAAmBwM,GACXA,EAAMtM,SACNpR,KAAKqzB,oBAAoBhiB,IAAKqM,EAAMtM,UAAWsM,GAIvD,eAAgBpZ,GACZ,GAAIA,GAAQA,EAAKF,KAAO,CAEpB,GADAjB,QAAQC,IAAI,2CAA6CkB,EAAKF,MAC1DpE,KAAKqzB,oBAAoB/hB,IAAKhN,EAAKF,MACnC,OAAOpE,KAAKqzB,oBAAoBn2B,IAAKoH,EAAKF,MAAOmN,eAAgBjN,GAEjEnB,QAAQC,IAAI,sBAAwBkB,EAAKF,WAG7CjB,QAAQwB,MAAM,wCAK1B,MAAM2uB,GAAuB,IAAIF,GACjCl4B,OAAOqH,OAAO+wB,IAEdA,GAAqBC,kBAAmB,IAAIN,ICpH5C,IAAI,GAAS,WAAkB,IAAIlzB,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACA,EAAG,qBAAqBA,EAAG,YAAY,CAACI,MAAM,CAAC,YAAc,OAAO,MAAQ,cAAc,aAAe,+BAA+B,MAAQ,CAACxD,KAAK,YAAY2Q,IAAI,gFAAgF,WAAa,CAACxC,MAAM,IAAIC,OAAO,IAAI,SAAW,CAACyL,GAAG,MAAM8H,EAAE,GAAG+B,GAAG,QAAQtgB,EAAG,YAAY,CAACI,MAAM,CAAC,YAAc,OAAO,SAAW,CAACqW,GAAG,IAAK8H,EAAE,EAAG+B,GAAG,IAAI,QAAU,OAAQ,IAEre,GAAkB,GCFlB,GAAS,WAAkB,IAAIxgB,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,QAElE,GAAkB,GCKR,IACduzB,MAAO,CACH,cAAc,QAAQ,eAAe,QAAQ,WAAW,WAAW,UAAU,cACjF/4B,KAAK,KAAI,CACL8yB,WAAY,GACZkG,SAAU,KACVC,wBAAwB,KACxB72B,KAAM,GACNoO,OAAQ,EACRD,MAAO,EACP6hB,OAAQ,EACRC,OAAQ,EACRE,kBAAmB,EAGnB2G,WAAY,UACZC,YAAa,UACb9b,MAAM,CACF+b,OAAO,CACHt1B,QAAQ,UACRu1B,MAAO,KACPC,OAAQ,MAEZxjB,KAAK,CACDhS,QAAS,UACTu1B,MAAO,KACPC,OAAQ,WAEZ9U,WAAW,CACP1gB,QAAS,UACTu1B,MAAO,UACPC,OAAQ,YAGhBC,OAAO,CACHtQ,UAAW,EACX5L,MAAO,WAEXkH,aAAc,IAElBpN,SAAU,IACH,eAAW,CAAC,qBAAqB,eAAe,eAAe,sBAAsB,yBAAyB,cAErHqiB,MAAO,GAEPniB,QAAQ,IACD,eAAW,CAAC,mBACZ,eAAa,CAAC,qBACjB,oBAEI9R,KAAK4zB,YAAc5zB,KAAK4zB,YAAc5zB,KAAK4zB,YAAc5zB,KAAK0qB,aAG9D1qB,KAAKnD,KAAO,aAAamD,KAAKk0B,MAAM,IAAIl0B,KAAKsT,YAC7CtT,KAAKyzB,SAAW,IAAIU,QAAQC,cAAcp0B,KAAKnD,KAAKsB,OAAO0V,OAC3D7T,KAAKyzB,SAASna,OAASnb,OAAO0V,MAAMwgB,cAAc,aAAar0B,KAAKsT,aACjEtT,KAAKoJ,WACDpJ,KAAKoJ,SAASsN,IAAG1W,KAAKyzB,SAASrqB,SAASsN,EAAI1W,KAAKoJ,SAASsN,EAAIsE,KAAKC,GAAK,KACxEjb,KAAKoJ,SAASoV,IAAGxe,KAAKyzB,SAASrqB,SAASoV,EAAIxe,KAAKoJ,SAASoV,EAAIxD,KAAKC,GAAK,KACxEjb,KAAKoJ,SAASmX,IAAGvgB,KAAKyzB,SAASrqB,SAASmX,EAAIvgB,KAAKoJ,SAASmX,EAAIvF,KAAKC,GAAK,MAE5Ejb,KAAKmJ,WACDnJ,KAAKmJ,SAASuN,IAAG1W,KAAKyzB,SAAStqB,SAASuN,EAAI1W,KAAKmJ,SAASuN,GAC1D1W,KAAKmJ,SAASqV,IAAGxe,KAAKyzB,SAAStqB,SAASqV,EAAIxe,KAAKmJ,SAASqV,GAC1Dxe,KAAKmJ,SAASoX,IAAGvgB,KAAKyzB,SAAStqB,SAASoX,EAAIvgB,KAAKmJ,SAASoX,IAE9DvgB,KAAKghB,UACDhhB,KAAKghB,QAAQxC,IAAGxe,KAAKyzB,SAASzS,QAAQxC,EAAIxe,KAAKghB,QAAQxC,GACvDxe,KAAKghB,QAAQtK,IAAG1W,KAAKyzB,SAASzS,QAAQtK,EAAI1W,KAAKghB,QAAQtK,IAG9D,MAAM+B,EAAO,IAAI0b,QAAQC,cAAc,gBAAgBp0B,KAAKk0B,MAAM/1B,OAAO0V,OACzE4E,EAAKa,OAAStZ,KAAKyzB,SAInB,IAAI5K,EAAe,IAAIsL,QAAQG,aAAa,8BAA8Bt0B,KAAKk0B,MAC3El0B,KAAKutB,WAAa,UAAYvtB,KAAKu0B,SAAW,UAAYv0B,KAAKw0B,aAC/Dr2B,OAAO0V,OAAO,GAAO,EAAOsgB,QAAQ9Y,uBAAwB,CACxD/T,MAAM,EACNwhB,UAAU,EACV1O,OAAO,EACP2O,mBAAmB,IAI3B,MAAMoI,EAAgB,IAAIgD,QAAQM,iBAAiB,gBAAgBt2B,OAAO0V,OAC1Esd,EAAcvV,gBAAkBiN,EAChCsI,EAActV,eAAiBgN,EAC/BsI,EAAcxV,iBAAkB,EAEhC,MAAM+Y,EAAa,IAAIP,QAAQrY,YAAY,QAAS,CAAC9Q,MAAMhL,KAAK20B,WAAW3pB,MAAMC,OAAOjL,KAAK20B,WAAW1pB,OAAOiR,gBAAgBiY,QAAQS,KAAKzY,YAAYhe,OAAO0V,OAC/J6gB,EAAWtrB,SAASoV,EAAI,IAAMxD,KAAKC,GAAK,IACxCyZ,EAAWja,SAAW0W,EACtBuD,EAAWpb,OAASb,EAGpB,MAAMoc,EAAW,IAAIV,QAAQC,cAAc,sBAAuBj2B,OAAO0V,OACzEghB,EAAS1rB,SAASoX,EAAI,IACtBsU,EAASvb,OAASb,EAElB,MAAM6Q,EAAkB6K,QAAQS,KAAK9Y,YAAY,mBAAoB,GAAI3d,OAAO0V,OAChFyV,EAAgBlgB,SAASoV,EAAIxD,KAAKC,GAClCqO,EAAgBhQ,OAAUob,EAAWpb,OACrC,IAAImF,EAAkB0V,QAAQW,IAAIC,uBAAuBrW,cAAc4K,EAAiB,GAAI,IAAI,GAC5Fjc,EAAQ,IAAI8mB,QAAQW,IAAIjkB,MAAM,GAAI,EAAQ,SAC9C4N,EAAgBU,WAAW9R,GAC3Bic,EAAgBvL,YAAa,EAE7B,MAAM2V,EAA0B,IAAIS,QAAQrY,YAAY,QAAQ,CAAC9Q,MAAMhL,KAAK20B,WAAW3pB,MAAMC,OAAOjL,KAAK20B,WAAW1pB,OAAOiR,gBAAgBiY,QAAQS,KAAKzY,YAAYhe,OAAO0V,OAC3K6f,EAAwBjZ,SAAW,IAAI0Z,QAAQM,iBAAiB,kCAAmCt2B,OAAO0V,OAC1G6f,EAAwBjZ,SAAS8O,aAAe,IAAI4K,QAAQa,OAAO,EAAG,EAAG,GACzEtB,EAAwBjZ,SAASyE,MAAQ,GACzCwU,EAAwBzT,WAAa,EACrCyT,EAAwBpa,OAASub,EACjCnB,EAAwB3V,YAAc/d,KAAK4hB,oBAE3C8R,EAAwB/S,cAAgB,IAAIwT,QAAQc,cAAc92B,OAAO0V,OACzE6f,EAAwB/S,cAAcE,eAAe,IAAIsT,QAAQe,kBAAkBf,QAAQc,cAAc3T,qBAAsB,KAC3H6S,QAAQgB,UAAUpU,wBAAwB,GAAIuI,EAAiB,aAAc,GAAI,GAAIA,EAAgBrJ,WAAY,EAAG,EAAGjgB,KAAKwgB,MAC5H2T,QAAQgB,UAAUpU,wBAAwB,GAAI2S,EAAyB,aAAc,GAAI,GAAIA,EAAwBzT,WAAY,EAAG,EAAGjgB,KAAKwgB,SAEhJkT,EAAwB/S,cAAcE,eAAe,IAAIsT,QAAQe,kBAAkBf,QAAQc,cAAc5T,oBAAqB,KAC1H8S,QAAQgB,UAAUpU,wBAAwB,GAAIuI,EAAiB,aAAc,GAAI,GAAIA,EAAgBrJ,WAAY,EAAG,EAAGjgB,KAAKwgB,MAC5H2T,QAAQgB,UAAUpU,wBAAwB,GAAI2S,EAAyB,aAAc,GAAI,GAAIA,EAAwBzT,WAAY,EAAG,EAAGjgB,KAAKwgB,SAEhJkT,EAAwB/S,cAAcE,eAAe,IAAIsT,QAAQe,kBAAkBf,QAAQc,cAAcnU,cAAe,KACpH3iB,OAAO+iB,cAAc,IAAIC,YAAY,UAAU,CAACC,OAAO,CACnD5T,IAAKxN,KAAKwL,MAAMgC,IAChB3Q,KAAMmD,KAAKwL,MAAM3O,KAAOmD,KAAKwL,MAAM3O,KAAO,GAC1CuH,KAAM,iBAOtB,UACIjG,OAAOojB,iBAAiB,+BAAgC9hB,IACjDA,EAAE2hB,OAAO7hB,IAAMS,KAAKsT,aACnBtT,KAAKo1B,wBCnJ4L,MCOzM,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAkB,IAAIr1B,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACI,MAAM,CAAC,GAAK,wBAErF,GAAkB,GCKP,IACX5F,KAAK,KAAM,CACP8yB,WAAY,GACZ/M,KAAK,KACL6U,SAAS,EACTC,OAAQ,CACJ,wCACA,0BACA,2BACA,0BACA,wCACA,2BACA,wCACA,wCACA,yCACA,2BACA,yCACA,2BACA,2BACA,yCACA,2BACA,+BAGR1jB,SAAS,IACF,eAAW,CAAC,mBAAmB,WAAW,YAC7C,WACI,OAAO5R,KAAKutB,WAAW,UAAUvtB,KAAKu0B,SAAS,cAGvDziB,QAAQ,CACJ,oBACI9R,KAAKwgB,KAAO,IAAI,eAChBxgB,KAAKwgB,KAAKC,cAAc,oBAAuB8U,oBAE/C,IAAIC,EAAe,IAAI,mBAAsB,WAAWr3B,OAAO0V,OAC/D2hB,EAAaxU,QAAQxC,GAAK,EAE1Bxe,KAAKs1B,OAAO9d,QAAQnK,IAChB,IAAIooB,EAAoB,IAAI,eAAkB,aAAepoB,EAAO,GAAG,CACnEoP,WAAY,GACZC,aAAa,EACbtI,KAAMjW,OAAO0V,MAAM0I,SAAS,KAC7Bpe,OAAO0V,OACV4hB,EAAkB9Y,aAAe,IAAI,aAAgB3c,KAAK01B,SAAWroB,GACrEooB,EAAkB9Y,aAAagZ,UAAW,EAC1CF,EAAkB9Y,aAAa9f,KAAO,aAAewQ,EACrDooB,EAAkBG,cAAc,GAAG7X,YAAa,EAChD0X,EAAkBG,cAAc,GAAGnb,SAASyE,MAAQ,EACpDuW,EAAkBG,cAAc,GAAGnb,SAASob,UAAY,YAAeC,UACvEL,EAAkB3hB,YAAW,GAE7B2hB,EAAkBnc,OAASkc,IAE/Bx1B,KAAKq1B,SAAU,GAEnB,sBAAsBU,GAClB,OAAOA,GACH,IAAK,oBAAqB,MAAO,SACjC,IAAK,yBAA0B,MAAO,UACtC,IAAK,kCAAmC,MAAO,uBAC/C,IAAK,oBAAqB,MAAO,SACjC,IAAK,UAAW,MAAO,UACvB,QAAS,OAAO,OAGxB,YAAYC,EAAcC,GACtB,MAAO,SAASj2B,KAAKk2B,sBAAsBF,GAAe,IAAIh2B,KAAKk2B,sBAAsBD,GAAa,SAG9G,UAEQj2B,KAAKm2B,UACLh4B,OAAOojB,iBAAiB,+BAA+B,KAC/CvhB,KAAKq1B,SAASr1B,KAAKo2B,sBAG3Bj4B,OAAOojB,iBAAiB,cAAe9hB,IACnC0D,QAAQC,IAAI,oBAAsB3D,EAAE2hB,OAAOlY,WAC3C,IAAI+K,EAAWjU,KAAKq2B,YAAYr2B,KAAK6R,iBAAiBugB,UAAU3yB,EAAE2hB,OAAOlY,WACrEotB,EAAYn4B,OAAO0V,MAAMwgB,cAAc,YACvCkC,EAAUD,EAAUV,cAAcnf,KAAKjD,GAAQA,EAAK3W,KAAKoa,SAAShD,IAEtE,GAAGsiB,EAAQ,CACPA,EAAQziB,YAAW,GACnB,IAAI0iB,EAAMD,EAAQX,cAAc,GAAGnb,SACnC,eAAkBsG,wBAAwB,GAAIyV,EAAK,QAAS,GAAI,GAAIA,EAAItX,MAAO,EAAG,EAAGlf,KAAKwgB,SAGlGriB,OAAOojB,iBAAiB,cAAgB9hB,IACpC0D,QAAQC,IAAI,gBACZ,IAAI6Q,EAAWjU,KAAKq2B,YAAYr2B,KAAK6R,iBAAiBugB,UAAU3yB,EAAE2hB,OAAOlY,WACrEotB,EAAYn4B,OAAO0V,MAAMwgB,cAAc,YACvCkC,EAAUD,EAAUV,cAAcnf,KAAKjD,GAAQA,EAAK3W,KAAKoa,SAAShD,IAEtE,GAAGsiB,EAAQ,CACP,IAAIC,EAAMD,EAAQX,cAAc,GAAGnb,SACnC,eAAkBsG,wBAAwB,GAAIyV,EAAK,QAAS,GAAI,GAAIA,EAAItX,MAAO,EAAG,EAAGlf,KAAKwgB,KAAM,KAC5F+V,EAAQziB,YAAW,WCzG0K,MCOjN,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAkB,IAAI/T,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,QAElE,GAAkB,GCUP,IACXuzB,MAAO,CAAC,cAAc,WAAW,WACjC,OASI,OARAxzB,KAAKyzB,SAAW,KAChBzzB,KAAKy2B,eAAiB,KACtBz2B,KAAK02B,gBAAkB,KACvB12B,KAAK22B,eAAiB,KACtB32B,KAAK42B,QAAU,KACf52B,KAAK62B,YAAc,KACnB72B,KAAK82B,cAAgB,KAEd,CACHC,YAAY,IAGpBnlB,SAAU,IACH,eAAW,CAAC,sBAAsB,4BAEzCqiB,MAAO,CACH,sBACOj0B,KAAKy2B,iBACJz2B,KAAKy2B,eAAe1Y,YAAc/d,KAAK4hB,qBAExC5hB,KAAK02B,kBACJ12B,KAAK02B,gBAAgB3Y,YAAc/d,KAAK4hB,uBAGpD9P,QAAS,IACF,eAAW,CAAC,gBACf,oBACI9R,KAAKyzB,SAAW,IAAI,mBAAsB,YAAat1B,OAAO0V,OAC9D7T,KAAKyzB,SAASna,OAASnb,OAAO0V,MAAMwgB,cAAc,aAAar0B,KAAKsT,aACpEtT,KAAKyzB,SAAStqB,SAAW,IAAI,aAAgBnJ,KAAKmJ,SAASuN,EAAG1W,KAAKmJ,SAASqV,EAAGxe,KAAKmJ,SAASoX,GAC7FvgB,KAAKyzB,SAASrqB,SAASoV,EAAIxD,KAAKC,GAAG,EACnCjb,KAAKyzB,SAASzS,QAAU,IAAI,aAAgBhhB,KAAKghB,QAAShhB,KAAKghB,QAAShhB,KAAKghB,SAE7E,iBAAoBgW,WAAW,GAAI,GAAI,6DAA8D74B,OAAO0V,MAAQojB,IAChHj3B,KAAK42B,QAAUK,EAAO,GACtBj3B,KAAK42B,QAAQ/5B,KAAO,WACpBmD,KAAK42B,QAAQ5V,QAAU,IAAI,aAAgB,IAAM,IAAM,KACvDhhB,KAAK42B,QAAQtd,OAAStZ,KAAKyzB,SAC3BzzB,KAAK42B,QAAQvN,iBAAiB7R,QAAQ0f,IAClCA,EAAMzc,SAASyE,MAAQ,GACvBgY,EAAMzc,SAAS0c,iBAAmB,eAAkBC,wBAK5D,iBAAoBJ,WAAW,GAAI,GAAI,iEAAkE74B,OAAO0V,MAAO,CAACojB,EAAQI,EAAWC,EAAWC,KAClJv3B,KAAK62B,YAAcI,EAAO,GAC1Bj3B,KAAK62B,YAAY7V,QAAU,IAAI,aAAgB,IAAM,IAAM,KAC3DhhB,KAAK62B,YAAY1tB,SAASoX,EAAI,IAC9BvgB,KAAK62B,YAAYvd,OAAStZ,KAAKyzB,SAC/BzzB,KAAK62B,YAAYh6B,KAAO,eACxBmD,KAAK62B,YAAY9Y,YAAa,EAC9BkZ,EAAO,GAAGljB,UACV,IAAI0G,EAAWza,KAAK62B,YAAYpc,SAChCA,EAASkB,iBAAkB,EAC3BlB,EAAS2W,cAAgB,YAAeC,QAExCrxB,KAAK22B,eAAiBY,EAAgB,GACtCv3B,KAAK22B,eAAe95B,KAAO,eAC3BmD,KAAK22B,eAAea,SAGxBx3B,KAAKy2B,eAAiBz2B,KAAKy3B,aAAa,iBAAkB,wEAAyEz3B,KAAK03B,UAAU,EAAM,EAAG,IAC3J13B,KAAK02B,gBAAkB12B,KAAKy3B,aAAa,kBAAmB,oEAAqEz3B,KAAK23B,WAAW,EAAO,KAAM,GAE9J33B,KAAK82B,cAAgB,iBAAoBhb,YAAY,gBAAiB,CAAE9Q,MAAO,GAAIC,OAAQ,GAAIiR,gBAAiB,UAAaC,YAAche,OAAO0V,OAClJ7T,KAAK82B,cAAcxd,OAAStZ,KAAKyzB,SACjCzzB,KAAK82B,cAAc3tB,SAASoX,EAAI,EAChCvgB,KAAK82B,cAAc3tB,SAASqV,EAAI,GAChCxe,KAAK82B,cAAcrc,SAAW,IAAI,sBAAyB,GAAItc,OAAO0V,OACtE7T,KAAK82B,cAAcrc,SAASkB,iBAAkB,EAC9C3b,KAAK82B,cAAc7W,WAAa,EAChCjgB,KAAK82B,cAAcrc,SAASmB,gBAAkB5b,KAAK82B,cAAcrc,SAASoB,eAAiB,IAAI,aAAgB,yEAA0E1d,OAAO0V,OAAO,GAAO,GAC9M7T,KAAK82B,cAAchjB,YAAW,GAE9B9T,KAAK82B,cAAcrc,SAASmB,gBAAgBH,QAAU,EAEtDzb,KAAK43B,mBAAmB53B,KAAK82B,cAAe,IAAI,cAAiB,KAAK,KAAK,GAAI,WAAY,uEAAuE,wEAClK92B,KAAK43B,mBAAmB53B,KAAK82B,cAAe,IAAI,cAAiB,KAAK,IAAI,GAAI,aAAc,uEAAuE,0EACnK92B,KAAK43B,mBAAmB53B,KAAK82B,cAAe,IAAI,cAAiB,IAAI,EAAE,GAAI,iCAAkC,+EAA+E,mFAC5L92B,KAAK43B,mBAAmB53B,KAAK82B,cAAe,IAAI,cAAiB,IAAI,GAAG,GAAI,iCAAkC,+EAA+E,qFAC7L92B,KAAK43B,mBAAmB53B,KAAK82B,cAAe,IAAI,aAAgB,GAAG,KAAK,GAAI,+BAAgC,iEAAiE,wFAC7K92B,KAAK43B,mBAAmB53B,KAAK82B,cAAe,IAAI,aAAgB,MAAM,KAAK,GAAI,uBAAwB,4EAA4E,oFACnL92B,KAAK43B,mBAAmB53B,KAAK82B,cAAe,IAAI,aAAgB,MAAM,EAAE,GAAI,mBAAoB,uEAAuE,iFAE3K,aAAaj6B,EAAMg7B,EAASC,EAAmBC,EAAWC,EAAW5jB,GACjE,IAAIkM,EAAS,iBAAoBxE,YAAYjf,EAAM,CAAEmO,MAAOoJ,EAAMnJ,OAAQmJ,EAAM8H,gBAAiB,UAAaC,YAAche,OAAO0V,OA4BnI,OA3BAyM,EAAOhH,OAAStZ,KAAKyzB,SACrBnT,EAAOnX,SAASoX,EAAI,EACpBD,EAAOnX,SAASqV,EAAIwZ,EACpB1X,EAAO7F,SAAW,IAAI,sBAAyB,GAAItc,OAAO0V,OAC1DyM,EAAO7F,SAASkB,iBAAkB,EAClC2E,EAAO7F,SAASmB,gBAAkB0E,EAAO7F,SAASoB,eAAiB,IAAI,aAAgBgc,EAAS15B,OAAO0V,OAAO,GAAO,EAAM,aAAgBwH,wBAC3IiF,EAAO7F,SAASmB,gBAAgBL,MAAQ+E,EAAO7F,SAASoB,eAAeN,MAAQ,eAAkB0c,0BACjG3X,EAAO7F,SAASmB,gBAAgBH,QAAU,EAC1C6E,EAAOxM,WAAWikB,GAClBzX,EAAOL,WAAa8X,EAAY,EAAI,EACpCzX,EAAOvC,WAAaga,EAEpBzX,EAAOK,cAAgB,IAAI,mBAAsBxiB,OAAO0V,OACxDyM,EAAOK,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBC,cAAe,KACnGgX,OAIJxX,EAAOK,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBQ,oBAAqB,KACzG,eAAkBN,wBAAwB,GAAIT,EAAQ,UAAW,GAAG,GAAIA,EAAOU,QAAS,IAAI,aAAgBC,IAAO,EAAGjhB,KAAKwgB,SAI/HF,EAAOK,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBS,qBAAsB,KAC1G,eAAkBP,wBAAwB,GAAIT,EAAQ,UAAW,GAAG,GAAIA,EAAOU,SAAS,IAAI,aAAgBC,KAAM9W,MAAM,KAAM,EAAGnK,KAAKwgB,SAGnIF,GAEX,mBAAmBmT,EAAUtqB,EAAU+uB,EAAW1qB,EAAKqqB,GACnD,IAAIM,EAAmB,EAEnBC,EAAa,WAAaF,EAAY,aAGtCG,EAAe,iBAAoBvc,YAAY,gBAAkBoc,EAAW,CAACltB,MAAOmtB,EAAkBltB,OAAQktB,GAAoBh6B,OAAO0V,OAC7IwkB,EAAa/e,OAASma,EACtB4E,EAAalvB,SAAWA,EACxBkvB,EAAalvB,SAASoX,EAAI,EAC1B8X,EAAapY,WAAa,EAE1BoY,EAAa1X,cAAgB,IAAI,mBAAsBxiB,OAAO0V,OAC9DwkB,EAAa1X,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBC,cAAe,KACrG9gB,KAAK4hB,qBACLzjB,OAAO+iB,cAAc,IAAIC,YAAY,UAAW,CAACC,OAAO,CAAC5T,IAAKA,MAE9D8qB,EAAMrY,WAAa,KAG3BoY,EAAa1X,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBS,qBAAsB,KAC5GthB,KAAK4hB,sBACF5hB,KAAK6hB,wBACJ7hB,KAAK8hB,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,qBAAsBllB,KAAMu7B,KAE9F,eAAkBrX,wBAAwB,GAAIuX,EAAO,aAAc,GAAI,GAAIA,EAAMrY,WAAY,EAAG,EAAGjgB,KAAKwgB,UAIhH6X,EAAa1X,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBQ,oBAAqB,KAC3GrhB,KAAK4hB,sBACF5hB,KAAK6hB,wBACJ7hB,KAAK8hB,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,sBAAuBllB,KAAMu7B,KAE/F,eAAkBrX,wBAAwB,GAAIuX,EAAO,aAAc,GAAI,GAAIA,EAAMrY,WAAY,EAAG,EAAGjgB,KAAKwgB,UAIhH,IAAI+X,EAAY,GAEZD,EAAQ,iBAAoBxc,YAAYsc,EAAW,CAACptB,MAAOutB,EAAWttB,OAAQstB,GAAYp6B,OAAO0V,OACrGykB,EAAMrY,WAAa,EACnBqY,EAAMva,YAAa,EACnBua,EAAMhf,OAAS+e,EACfC,EAAMtX,QAAQtK,GAAK,EACnB4hB,EAAMnvB,SAASuN,GAAK6hB,EAAU,EAAIJ,EAAmB,EAGrD,IAAI1Z,EAAkB,6BAAkCC,cAAc4Z,GAGlEE,EAAY,IAAI,gBAAqB,aACzCA,EAAUvZ,WAAa,YACvBuZ,EAAU1Z,sBAAuB,EACjC0Z,EAAUC,eAAiB,IAC3BD,EAAUE,oBAAsB,cAAmBnZ,0BACnDiZ,EAAUxZ,aAAe,EACzBwZ,EAAU9U,UAAY,EACtB8U,EAAU1gB,MAAQ,QAClB2G,EAAgBU,WAAWqZ,GAG3B,IAAIG,EAAO,IAAI,YAAiB,GAAId,GACpCc,EAAK3tB,MAAQ,QACb2tB,EAAK1tB,OAAS,OACd0tB,EAAK9Y,YAAc,OACnB8Y,EAAKD,oBAAsB,cAAmBnZ,0BAC9CiZ,EAAUrZ,WAAWwZ,GAGrB,IAAIC,EAAqB,IAAI,gBAAqB,YAAaV,GAC/DU,EAAmB9gB,MAAQ,QAE3B8gB,EAAmBxZ,SAAW,OAE9BwZ,EAAmBF,oBAAsB,cAAmBnZ,0BAC5DqZ,EAAmB/Y,YAAc,QACjC+Y,EAAmB9Y,aAAe,OAClC8Y,EAAmBjZ,aAAc,EACjC6Y,EAAUrZ,WAAWyZ,IAGzB,YACO54B,KAAK6hB,wBACJ7hB,KAAK8hB,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,oBAElE/hB,KAAK+2B,YAAa,EAElB/2B,KAAK02B,gBAAgB3Y,YAAa,EAElC/d,KAAK22B,eAAea,OACpBx3B,KAAK22B,eAAekC,OAAM,GAAQ,GAElC,eAAkB9X,wBAAwB,GAAI/gB,KAAK62B,YAAa,UAAW,GAAI,GAAI72B,KAAK62B,YAAY7V,QAAS,IAAI,aAAgB,IAAK,IAAK,KAAO,EAAGhhB,KAAKwgB,MAC1J,eAAkBO,wBAAwB,GAAI/gB,KAAK42B,QAAS,UAAW,GAAI,GAAI52B,KAAK42B,QAAQ5V,QAAS,IAAI,aAAgB,IAAK,IAAK,KAAO,EAAGhhB,KAAKwgB,MAClJ,eAAkBO,wBAAwB,GAAI/gB,KAAK42B,QAAS,aAAc,GAAI,GAAI52B,KAAK42B,QAAQztB,SAASqV,EAAGxe,KAAK42B,QAAQztB,SAASqV,EAAI,GAAI,EAAGxe,KAAKwgB,MACjJ,eAAkBO,wBAAwB,GAAI/gB,KAAK62B,YAAa,aAAc,GAAI,GAAI72B,KAAK62B,YAAY1tB,SAASqV,EAAGxe,KAAK62B,YAAY1tB,SAASqV,EAAI,EAAG,EAAGxe,KAAKwgB,MAG5J,eAAkBO,wBAAwB,GAAI/gB,KAAK02B,gBAAiB,aAAc,GAAI,GAAI12B,KAAK02B,gBAAgBzW,WAAY,EAAG,EAAGjgB,KAAKwgB,KAAM,KACxIxgB,KAAK02B,gBAAgB5iB,YAAW,KAGpC,eAAkBiN,wBAAwB,GAAI/gB,KAAK82B,cAAe,aAAc,GAAI,GAAI92B,KAAK82B,cAAc7W,WAAY,EAAG,EAAGjgB,KAAKwgB,KAAM,KACpIxgB,KAAK82B,cAAchjB,YAAW,KAIlCZ,WAAW,KACPlT,KAAKy2B,eAAe3iB,YAAW,GAC/B,eAAkBiN,wBAAwB,GAAI/gB,KAAKy2B,eAAgB,aAAc,GAAI,GAAIz2B,KAAKy2B,eAAexW,WAAY,EAAG,EAAGjgB,KAAKwgB,KAAM,KAClIxgB,KAAK4hB,sBACL5hB,KAAKy2B,eAAe1Y,YAAa,MAE1C,MAEP,WACO/d,KAAK6hB,wBACJ7hB,KAAK8hB,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,mBAElE/hB,KAAK+2B,YAAa,EAElB/2B,KAAKy2B,eAAe1Y,YAAa,EAEjC/d,KAAK22B,eAAea,OACpBx3B,KAAK22B,eAAekC,OAAM,EAAO,IAEjC,eAAkB9X,wBAAwB,GAAI/gB,KAAK62B,YAAa,UAAW,GAAI,GAAI72B,KAAK62B,YAAY7V,QAAS,IAAI,aAAgB,IAAK,IAAK,KAAO,EAAGhhB,KAAKwgB,MAC1J,eAAkBO,wBAAwB,GAAI/gB,KAAK42B,QAAS,UAAW,GAAI,GAAI52B,KAAK42B,QAAQ5V,QAAS,IAAI,aAAgB,IAAK,IAAK,KAAO,EAAGhhB,KAAKwgB,MAClJ,eAAkBO,wBAAwB,GAAI/gB,KAAK42B,QAAS,aAAc,GAAI,GAAI52B,KAAK42B,QAAQztB,SAASqV,EAAGxe,KAAK42B,QAAQztB,SAASqV,EAAI,GAAI,EAAGxe,KAAKwgB,MACjJ,eAAkBO,wBAAwB,GAAI/gB,KAAK62B,YAAa,aAAc,GAAI,GAAI72B,KAAK62B,YAAY1tB,SAASqV,EAAGxe,KAAK62B,YAAY1tB,SAASqV,EAAI,EAAG,EAAGxe,KAAKwgB,MAG5J,eAAkBO,wBAAwB,GAAI/gB,KAAKy2B,eAAgB,aAAc,GAAI,GAAIz2B,KAAKy2B,eAAexW,WAAY,EAAG,EAAGjgB,KAAKwgB,KAAM,KACtIxgB,KAAKy2B,eAAe3iB,YAAW,KAInCZ,WAAW,KACPlT,KAAK02B,gBAAgB5iB,YAAW,GAChC,eAAkBiN,wBAAwB,GAAI/gB,KAAK02B,gBAAiB,aAAc,GAAI,GAAI12B,KAAK02B,gBAAgBzW,WAAY,EAAG,EAAGjgB,KAAKwgB,KAAM,KACpIxgB,KAAK4hB,sBACL5hB,KAAK02B,gBAAgB3Y,YAAa,KAG1C/d,KAAK82B,cAAchjB,YAAW,GAC9B,eAAkBiN,wBAAwB,GAAI/gB,KAAK82B,cAAe,aAAc,GAAI,GAAI92B,KAAK82B,cAAc7W,WAAY,EAAG,EAAGjgB,KAAKwgB,OACnI,OAGX,UACIxgB,KAAKwgB,KAAO,IAAI,eAChBxgB,KAAKwgB,KAAKC,cAAc,oBAAuBC,sBAE/CviB,OAAOojB,iBAAiB,+BAAgC9hB,IACjDA,EAAE2hB,OAAO7hB,IAAMS,KAAKsT,aACnBtT,KAAKo1B,sBAGbj3B,OAAOojB,iBAAiB,gBAAiB,KAAQvhB,KAAK03B,aACtDv5B,OAAOojB,iBAAiB,iBAAkB,KAAQvhB,KAAK23B,cAEvDx5B,OAAOojB,iBAAiB,sBAAwB9hB,IAC5C,IAAI64B,EAAQn6B,OAAO0V,MAAMwgB,cAAc50B,EAAE2hB,OAAOvkB,MAChD,eAAkBkkB,wBAAwB,GAAIuX,EAAO,aAAc,GAAI,GAAIA,EAAMrY,WAAY,EAAG,EAAGjgB,KAAKwgB,QAE5GriB,OAAOojB,iBAAiB,qBAAuB9hB,IAC3C,IAAI64B,EAAQn6B,OAAO0V,MAAMwgB,cAAc50B,EAAE2hB,OAAOvkB,MAChD,eAAkBkkB,wBAAwB,GAAIuX,EAAO,aAAc,GAAI,GAAIA,EAAMrY,WAAY,EAAG,EAAGjgB,KAAKwgB,UC3SyF,MCOzM,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCGA,IACXsY,WAAY,CAACC,aAAWC,qBAAmBC,cAC3CrnB,SAAU,IACH,eAAW,CAAC,yBCxB6L,MCOhN,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCAA,IACdknB,WAAY,CAACI,qBACb1F,MAAO,CACN2F,MAAO,CACN/0B,KAAMg1B,QACN76B,SAAS,EACT86B,UAAU,IAGZ,OAmBO,OAlBNr5B,KAAKutB,WAAa,GAGlBvtB,KAAKs5B,YAAc,KACnBt5B,KAAKu5B,WAAa,KAClBv5B,KAAKw5B,oBAAiB9uB,EACtB1K,KAAKy5B,eAAY/uB,EACjB1K,KAAK05B,gBAAahvB,EAClB1K,KAAK84B,WAAa,GAGlB94B,KAAK25B,kBAAoB,IAAI,aAAgBnc,KAC7Cxd,KAAK45B,kBAAoB,IAAI,aAAgBpc,KAC7Cxd,KAAK65B,wBAA0B,EAC/B75B,KAAK85B,kBAAoB,IAEzB95B,KAAK+5B,YAAa,EAClB/5B,KAAKg6B,cAAWtvB,EACH,IAEdkH,SAAU,IACN,eAAS,CAAC,cACV,eAAW,CACb,aAAa,iBAAkB,mBAAoB,qBAAsB,eAAgB,sBAAuB,gCAChH,cAAc,iBAAiB,eAAe,gBAAiB,sBAAuB,YAAa,SAAS,WAAW,WAAY,QACnI,gBAAgB,sBAAsB,gBAAgB,8BAA8B,aAAa,gBAAgB,aACjH,6BAA8B,aAAc,yBAA0B,aAEpE,eAAS,CAACqoB,qBAAuBC,GAAUA,EAAMC,QAAQF,uBAC5D,gBACC,OAAOj6B,KAAKo6B,OAAOC,OAAQ3jB,GAAKA,EAAE/C,mBAAqB3T,KAAKywB,qBAE7D,uCACC,OAAOzwB,KAAK6R,iBAAmB7R,KAAK6R,iBAAiBxN,aAAapB,cAAUyH,IAG9E,UACCwI,WAAW,KAAQlT,KAAKqT,cAAgB,IAEzCvB,QAAS,IACL,eAAa,CAAC,aAAa,qBAAqB,0BAA0B,wBAC1E,eAAW,CAAC,gBAKf,aACC9R,KAAKs6B,kBACLt6B,KAAKu6B,0BACLv6B,KAAKw6B,mBACLx6B,KAAKy6B,qBACLz6B,KAAK06B,uBACL16B,KAAK26B,0BACL,GAAgBtnB,WAAWlV,OAAO0V,QAEnC,kBACC1V,OAAO0V,MAAQ,IAAI,WAAc1V,OAAO6T,QACxC7T,OAAO0V,MAAM+mB,sBAAuB,EACpCz8B,OAAO0V,MAAMgnB,WAAa,YAAexJ,QAEtCrxB,KAAKm5B,OACPh7B,OAAO0V,MAAMinB,WAAWC,OAEzB58B,OAAO0V,MAAMmnB,+BAA+Bv8B,IAAKioB,IAChD,IAAIE,EAAgBzoB,OAAO0oB,aAAe1oB,OAAO0oB,YAAYC,KAAO3oB,OAAO0oB,YAAYE,QAAU5oB,OAAO0oB,YAAYE,OAAOC,gBAAkB7oB,OAAO0oB,YAAYC,MAAQ3oB,OAAO0oB,YAAYE,OAAOC,gBAAkB1jB,KAAKwjB,MACzN,GAAGF,EAAgB5mB,KAAK65B,wBAA0B75B,KAAK85B,mBAAsD,IAAjC95B,KAAK65B,wBAA8B,CAC9G,IAAI1wB,EAAWud,EAAOvd,SAClBC,EAAWsd,EAAOS,iBAAiBM,gBACnCwT,EAAS,CACZ17B,GAAIS,KAAKua,OAAO2f,MAAMgB,QAAQC,YAC9B1K,mBAAoBzwB,KAAKua,OAAOwJ,QAAQ0M,oBAErCtnB,EAASiyB,kBAAkBp7B,KAAK25B,kBAAmB,QACtD35B,KAAK25B,kBAAoB,IAAKxwB,GAC9B8xB,EAAO9xB,SAAW,IAAKA,GACvB8xB,EAAO9xB,SAASuN,EAAIsE,KAAKqgB,MAA0B,IAApBJ,EAAO9xB,SAASuN,GAAS,IACxDukB,EAAO9xB,SAASqV,EAAIxD,KAAKqgB,MAA0B,IAApBJ,EAAO9xB,SAASqV,GAAS,IACxDyc,EAAO9xB,SAASoX,EAAIvF,KAAKqgB,MAA0B,IAApBJ,EAAO9xB,SAASoX,GAAS,KAErDnX,EAASgyB,kBAAmBp7B,KAAK45B,kBAAmB,QACvD55B,KAAK45B,kBAAoB,IAAKxwB,GAC9B6xB,EAAO7xB,SAAW,IAAKA,GACvB6xB,EAAO7xB,SAASsN,EAAIsE,KAAKqgB,MAA0B,IAApBJ,EAAO7xB,SAASsN,GAAS,IACxDukB,EAAO7xB,SAASoV,EAAIxD,KAAKqgB,MAA0B,IAApBJ,EAAO7xB,SAASoV,GAAS,IACxDyc,EAAO7xB,SAASmX,EAAIvF,KAAKqgB,MAA0B,IAApBJ,EAAO7xB,SAASmX,GAAS,KAEtDrlB,OAAO0E,KAAKq7B,GAAQhgC,OAAS,IAC/B+E,KAAKua,OAAOC,OAAO,aAAcygB,GACjCj7B,KAAK65B,wBAA0BjT,MASlChU,SAAS+Y,eAAe,gBAAgBpK,iBAAiB,QAAU9hB,IAClEO,KAAKs7B,OAAO77B,KAGbmT,SAAS+Y,eAAe,gBAAgBpK,iBAAiB,aAAe9hB,IACvEO,KAAKs7B,OAAO77B,MAad,0BACCtB,OAAOo9B,cAAgB,IAAI,mBAAsBp9B,OAAO0V,OACxD1V,OAAOo9B,cAAcC,sBAAsB/8B,KAAI,SAAUg9B,GACxDt4B,QAAQC,IAAI,qCAAsCq4B,EAAKC,YAAYC,QAASF,EAAKC,YAAYE,cAE9Fz9B,OAAOo9B,cAAcM,WAAa,CAACC,EAAgBC,KAClD59B,OAAO6T,OAAOe,cAAcJ,kBAAkB,KAAOopB,EAAaD,GAAkBC,GAAYC,QAAQ,GAAK,OAI/G,mBACCh8B,KAAKu5B,WAAa,IAAI,qBAAwB,aAAave,KAAKC,GAAK,EAAED,KAAKC,GAAK,EAAE,EAAE,aAAgBuC,OAAOrf,OAAO0V,OACnH7T,KAAKu5B,WAAW7N,cAAc9Y,SAAS+Y,eAAe,iBAAiB,GAAM,EAAM,GACnF3rB,KAAKu5B,WAAW0C,OAAOC,SAASC,WAAW3Q,cAAc5Y,SAAS+Y,eAAe,iBAEjF3rB,KAAKu5B,WAAW6C,iBAAmB,EACnCp8B,KAAKu5B,WAAW8C,iBAAmB,EACnCr8B,KAAKu5B,WAAW+C,oBAAsB,IACtCt8B,KAAKu5B,WAAWgD,oBAAsB,IACtCv8B,KAAKu5B,WAAWxR,IAAM/nB,KAAKw8B,WAC3Bx8B,KAAKu5B,WAAWkD,KAAO,GACvBz8B,KAAKu5B,WAAW0C,OAAOC,SAASQ,SAASC,SAAW,CAAC,IACrD38B,KAAKu5B,WAAW0C,OAAOC,SAASQ,SAASE,OAAS,CAAC,IACnD58B,KAAKu5B,WAAW0C,OAAOC,SAASQ,SAASG,SAAW,CAAC,IACrD78B,KAAKu5B,WAAW0C,OAAOC,SAASQ,SAASI,UAAY,CAAC,IAEtD98B,KAAKs5B,YAAc,IAAI,6BAAgC,cAAc,aAAgB9b,OAAOrf,OAAO0V,OACnG7T,KAAKs5B,YAAY5N,cAAc9Y,SAAS+Y,eAAe,iBAAiB,IAEzE,qBACC,IAAI,sBAAyB,SAAU,IAAI,aAAgB,EAAG,EAAG,GAAIxtB,OAAO0V,QAE7E,uBAEM7T,KAAKw5B,iBACTx5B,KAAKw5B,eAAiB,IAAI,mBAAsB,aAAcr7B,OAAO0V,QACjE7T,KAAKy5B,YACTz5B,KAAKy5B,UAAY,IAAI,mBAAsB,QAASt7B,OAAO0V,QACvD7T,KAAK05B,aACT15B,KAAK05B,WAAa,IAAI,mBAAsB,SAAUv7B,OAAO0V,QAC9D4D,QAAQ5X,QAAQG,KAAKua,OAAOwiB,SAAS,sBAAuB/8B,KAAKkD,QAElE,0BACC/E,OAAO0V,MAAM8M,cAAgB,IAAI,mBAAsBxiB,OAAO0V,OAG9D1V,OAAO0V,MAAM8M,cAAcE,eAAe,IAAI,uBAA0B,CAACmc,QAAS,mBAAsBC,iBAAkBC,UAAW,KAAM,KAC1I,GAAgC,cAA7Bl9B,KAAKm9B,UAAUC,UAA0B,CAC3C,IAAI1W,EAASvoB,OAAO0V,MAAM8S,aAC1B3mB,KAAKua,OAAOwiB,SAAS,cAAc,CAAC34B,KAAM,+BAAgC3J,KAAM,CAAC2J,KAAM,UAAW8a,MAAOwH,EAAOxH,MAAOme,KAAM3W,EAAO2W,KAAMtV,IAAKrB,EAAOqB,YAIzJ,SAEC/nB,KAAK84B,WAAWuB,OAAO3jB,GAAKA,EAAE/C,mBAAqB3T,KAAKywB,oBAAoBjZ,QAAQd,IACnFA,EAAEukB,OAAOj7B,QAEV,GAAgBi7B,SAChB98B,OAAO0V,MAAM/T,UAOd,eAAew9B,GACd,GAAIA,EAGJ,GAAIn/B,OAAO0V,MAAMwgB,cAAcr0B,KAAKu9B,qBAAqBD,EAAa31B,UAWjE,CAEJ,MAAM6xB,EAAiBx5B,KAAKw5B,eACzBA,GACFA,EAAe5D,cAAcpe,QAAQ0f,IAChCA,EAAMr6B,OAASmD,KAAKu9B,qBAAqBD,EAAa31B,UACzDuvB,EAAMpjB,YAAW,KAKpB,MAAM0pB,EAAoBx9B,KAAK84B,WAAWuB,OAAO3jB,GAAKA,EAAE/C,mBAAqB2pB,EAAa3pB,kBAC1F6pB,EAAkBhmB,QAAQimB,IAAcA,EAAUvjB,WAElDla,KAAK09B,wBAAwBJ,QAxB7Bt9B,KAAK29B,iBAAiBL,GAAc,GAAOjmB,KAAK,KAC/CrX,KAAK49B,gBAAgBN,GAAc,GACnCt9B,KAAK09B,wBAAwBJ,GAEzBt9B,KAAK69B,OACR3qB,WAAW,KACVlT,KAAK89B,0BAA0BR,IAC7B,QAoBP,eAAeS,GACd,GAAIA,EAGJ,GAAG/9B,KAAK69B,MAEJ79B,KAAKw5B,gBACPx5B,KAAKw5B,eAAe5D,cAAcpe,QAAQwmB,IACrCA,EAAcnhC,OAASmD,KAAKu9B,qBAAqBQ,EAAap2B,WACjEq2B,EAAcC,gBAAe,GAAOzmB,QAAQhE,IACxCA,EAAKiH,UAAYjH,EAAKiH,SAASmB,iBACjCpI,EAAKiH,SAASmB,gBAAgB7H,UAC5BP,EAAKiH,UAAYjH,EAAKiH,SAASoB,gBACjCrI,EAAKiH,SAASoB,eAAe9H,UAC3BP,EAAKiH,UAAYjH,EAAKiH,SAAS6L,gBACjC9S,EAAKiH,SAAS6L,eAAevS,UAC3BP,EAAKiH,UACPjH,EAAKiH,SAAS1G,UACfP,EAAKO,YAENiqB,EAAcjqB,aAKjB,GAAasC,MAAMmB,QAAQnB,IACvBA,EAAM+E,OACR/E,EAAM+E,UAAO1Q,SAEX,CAGJ,MAAM8uB,EAAiBx5B,KAAKw5B,eACzBA,GACFA,EAAe5D,cAAcpe,QAAQ0f,IAChCA,EAAMr6B,OAASmD,KAAKu9B,qBAAqBQ,EAAap2B,UACzDuvB,EAAMpjB,YAAW,KAKpB,IAAI0pB,EAAoBx9B,KAAK84B,WAAWuB,OAAO3jB,GAAKA,EAAE/C,mBAAqBoqB,EAAapqB,kBACxF6pB,EAAkBhmB,QAAQimB,IACzBA,EAAUxjB,cAIb,iBAAiB/Q,EAAWg1B,GAC3B/6B,QAAQC,IAAI,qBAAuB8F,EAAUrM,KAAO,QAGpD,IAAI+L,EAAaM,EAAUi1B,gBAC3Bn+B,KAAKo+B,oBAAoBl1B,EAAUvB,SAASvI,IAAIsX,IAC3CA,EAAEynB,kBACLv1B,EAAaA,EAAWy1B,OAAO3nB,EAAEynB,oBAGnC,IAAIG,EAAiB,GAQrB,OAPA,GAAajoB,MAAMmB,QAAQnB,IACvBA,EAAMjF,YAAc4C,EAAMS,UAAUC,UAAY2B,EAAM+E,MAAQxS,EAAWqO,SAASZ,EAAM9W,KAC1F++B,EAAe/iC,KAAK8a,KAGtBlT,QAAQC,IAAIk7B,EAAerjC,OAAS,0BAA4BiO,EAAUrM,MAEnE,IAAI4a,QAAS5X,KACfq+B,GAAoBI,EAAerjC,OAAS,GAC/CkD,OAAO6T,OAAOO,mBAEa,GAAzB+rB,EAAerjC,QACjB4E,IAED,IAAI0+B,EAAiB,EACrBD,EAAe9mB,QAAQgnB,MAAOhpB,IAE7B,IAAIyQ,QAAiBwY,MAAMjpB,EAAQ0B,UACnC,MAAMkE,QAAa6K,EAAS7K,OAC5B,IAAIsjB,QAAeC,kBAAkBvjB,GACrC5F,EAAQ4F,KAAOsjB,EACflpB,EAAQopB,QAAQF,EAAO1zB,MAAQ,GAAI0zB,EAAOzzB,OAAS,IAEnDszB,IACGA,GAAkBD,EAAerjC,SACnCkI,QAAQC,IAAI,oBAAsB8F,EAAUrM,KAAO,KAE/CqhC,GACH//B,OAAO6T,OAAOU,gBAEf7S,UAKJ,gBAAgBqJ,EAAWgR,GAC1B/W,QAAQC,IAAI,mBAAqB8F,EAAUrM,MAE3C,IAAImhC,EAAgB,IAAI,mBAAsBh+B,KAAKu9B,qBAAqBr0B,EAAUvB,SAAUxJ,OAAO0V,OACnGmqB,EAAc1kB,OAAStZ,KAAKw5B,eAC5BwE,EAAclqB,WAAWoG,GAGzB,IAAI2kB,EAAkB,GAAYC,wBAAwB9+B,KAAMkJ,GAChElJ,KAAK84B,WAAWv9B,KAAKsjC,GACrBA,EAAgBlmB,cAAcW,OAAS0kB,EACvCa,EAAgBlmB,cAAc7E,WAAWoG,GAGzCla,KAAKo+B,oBAAoBl1B,EAAUvB,SAASvI,IAAIsX,IAC/C,IAAImoB,EAAkB,GAAYC,wBAAwB9+B,KAAM0W,GAChE1W,KAAK84B,WAAWv9B,KAAKsjC,GACrBA,EAAgBlmB,cAAcW,OAAS0kB,EACvCa,EAAgBlmB,cAAc7E,WAAWoG,KAG1C/b,OAAO+iB,cAAc,IAAIC,YAAY,+BAA+B,CAACC,OAAO,CAAE7hB,GAAG2J,EAAUvB,aAE5F,0BAA0BuB,GACzB/F,QAAQC,IAAI,mCAEZ,IAAI27B,EAAwB,GAC5B/+B,KAAKo+B,oBAAoBl1B,EAAUvB,SAAS6P,QAAQrG,IACjC,qBAAfA,EAAO/M,MACT26B,EAAsBxjC,KAAK4V,EAAOsQ,iBAGpCsd,EAAsBvnB,QAAQlE,IAC7B,IAAIpK,EAAYlJ,KAAKg/B,WAAWvoB,KAAKtF,GAAUA,EAAOxJ,SAAW2L,GACjEtT,KAAK29B,iBAAiBz0B,GAAW,MAGnC,kBACC/F,QAAQC,IAAI,0BAGZ,IAAIwF,EAAa,GACjB5I,KAAKwhB,WAAWhK,QAAQtO,IACvBN,EAAaA,EAAWy1B,OAAOn1B,EAAUi1B,iBACzCn+B,KAAKo+B,oBAAoBl1B,EAAUvB,SAASvI,IAAIsX,IAC3CA,EAAEynB,kBACLv1B,EAAaA,EAAWy1B,OAAO3nB,EAAEynB,sBAIpC,IAAIG,EAAiB,GAQrB,OAPA,GAAajoB,MAAMmB,QAAQnB,IACvBA,EAAMjF,YAAc4C,EAAMS,UAAUC,UAAY2B,EAAM+E,MAAQxS,EAAWqO,SAASZ,EAAM9W,KAC1F++B,EAAe/iC,KAAK8a,KAGtBlT,QAAQC,IAAIk7B,EAAerjC,OAAS,qBAE7B,IAAIwc,QAAS5X,IACnB,IAAI0+B,EAAiB,EACrBD,EAAe9mB,QAAQgnB,MAAOhpB,IAE7B,IAAIyQ,QAAiBwY,MAAMjpB,EAAQ0B,UACnC,MAAMkE,QAAa6K,EAAS7K,OAC5B,IAAIsjB,QAAeC,kBAAkBvjB,GACrC5F,EAAQ4F,KAAOsjB,EACflpB,EAAQopB,QAAQF,EAAO1zB,MAAQ,GAAI0zB,EAAOzzB,OAAS,IAEnDszB,IACGA,GAAkBD,EAAerjC,SACnCkI,QAAQC,IAAI,kCACZjF,OAAO6T,OAAOU,gBACd7S,UAKJ,wBAAwBqJ,GACvB,IAAIwd,EAASvoB,OAAO0V,MAAM8S,aAE1B3mB,KAAKi/B,cAAcznB,QAAQ0nB,IACvBA,EAAariC,MAAQqM,EAAUrM,KAAKsiC,cAEbz0B,GAAtBw0B,EAAahgB,MACfwH,EAAOxH,MAAQggB,EAAaE,MAAQF,EAAahgB,MAAQggB,EAAahgB,MAAQlE,KAAKC,GAAK,IAExFyL,EAAOxH,MAAQ,OAGQxU,GAArBw0B,EAAa7B,KACf3W,EAAO2W,KAAO6B,EAAaE,MAAQF,EAAa7B,KAAO6B,EAAa7B,KAAOriB,KAAKC,GAAK,IAErFyL,EAAO2W,KAAOriB,KAAKC,GAAG,OAGCvQ,GAArBw0B,EAAaG,KACf3Y,EAAOqB,IAAMmX,EAAaG,KAE1B3Y,EAAOqB,IAAM/nB,KAAKw8B,eAiEtB,aACC,GAAGx8B,KAAKs/B,oBAAoB,CAE3B,IAAIC,EAAaphC,OAAO0V,MAAM2rB,KAAKrhC,OAAO0V,MAAM4rB,SAAUthC,OAAO0V,MAAM6rB,UACvE,GAAIH,EAAWI,IAAM,CAEpB,IAAI3d,EAAMud,EAAWK,YACrB5d,EAAItL,EAAIsE,KAAKqgB,MAAc,IAARrZ,EAAItL,GAAS,IAChCsL,EAAIxD,EAAIxD,KAAKqgB,MAAc,IAARrZ,EAAIxD,GAAS,IAChCwD,EAAIzB,EAAIvF,KAAKqgB,MAAc,IAARrZ,EAAIzB,GAAS,IAEhC,IAAI7C,EAAQ,IAAIuV,GAAqB,CACpCJ,OAAQ7yB,KAAKua,OAAO2f,MAAMgB,QAAQC,YAClC7nB,YAAatT,KAAKua,OAAOwJ,QAAQ0M,mBACjCtnB,SAAU6Y,EACVhf,SAAU,IACVoG,SAAUjL,OAAO0V,MAAMzK,SACvB0O,MAAO9X,KAAKm9B,UAAUxlB,aAEvB3X,KAAKua,OAAOC,OAAQ,YAAakD,IAMhC1d,KAAKi6B,sBAMT,OAAOx6B,GACN,GAAGO,KAAK6/B,cAAc,CACrB,IAAI11B,EAAQ1K,EAAEqgC,OAASrgC,EAAEqgC,OAAQrgC,EAAE0K,MAC/B4d,EAAM/nB,KAAKu5B,WAAWxR,IACvBA,EAAM,MAAQ,EAAI5d,IACpBnK,KAAKu5B,WAAWxR,KAAe,KAAR5d,GACrB,GAAM4d,GAAO5d,EAAQ,IACvBnK,KAAKu5B,WAAWxR,KAAe,KAAR5d,KAO1B,uBACC,OAAOnK,KAAK84B,WAAWuB,OAAO3jB,GAAKA,EAAE/C,mBAAqB3T,KAAKywB,qBAEhE,qBAAqBvnB,GACpB,IAAIrM,EAAOqM,EAGX,OAFK62B,OAAOC,UAAU92B,KACrBrM,EAAOqM,EAAUvB,SACX,aAAe9K,IAGxBo3B,MAAM,CACL,cACIj0B,KAAKigC,YACP9hC,OAAO6T,OAAOkuB,cAAc,IAAMlgC,KAAKF,UAEvC3B,OAAO6T,OAAOmuB,kBAEhB,sBACangC,KAAK4hB,oBACJzjB,OAAO0V,MAAM8S,aAAa6E,iBAE1BrtB,OAAO0V,MAAM8S,aAAa+E,cAAc9Y,SAAS+Y,eAAe,iBAAiB,GAAM,EAAM,GAC7FxtB,OAAO0V,MAAM8S,aAAasV,OAAOC,SAASC,WAAW3Q,cAAc5Y,SAAS+Y,eAAe,mBAGzG,aACI3rB,KAAKogC,4BACPpgC,KAAKqgC,mBAEP,uCACCrgC,KAAKsgC,uBAAuB9oB,QAAQd,IACjB,eAAfA,EAAEtF,WACJpR,KAAKugC,qCAAqC/oB,QAAQra,IAC7CA,EAAEgF,cAAgBF,EAAQK,YAAYG,OACzCiU,EAAE8C,QAECrc,EAAEgF,cAAgBF,EAAQK,YAAYE,MACzCkU,EAAEwC,OAEC/b,EAAEgF,cAAgBF,EAAQK,YAAYK,OACzC+T,EAAEgD,QAECvc,EAAEgF,cAAgBF,EAAQK,YAAYM,oBACzC8T,EAAEqD,mBAAmB5c,EAAE0G,cAEpB1G,EAAEgF,cAAgBF,EAAQK,YAAYO,cACzC6T,EAAEwb,aAAa/0B,EAAE2G,UAGpB9D,KAAKugC,qCAAqCtlC,OAAS,KAGrD4W,iBAAkB,SAAU2uB,EAAUC,GAEjCA,GAAYD,GAAYA,EAAS74B,UAAY84B,EAAS94B,UAE1DxE,QAAQC,IAAI,2BAA2BiiB,KAAKC,UAAUkb,EAAS3jC,YAAY4jC,EAAWpb,KAAKC,UAAUmb,EAAS5jC,MAAQ,eACrG6N,IAAb+1B,GAA0BD,EAASjhC,KAAOkhC,EAASlhC,MACpC,IAAdkhC,GACHzgC,KAAK0gC,eAAeD,GACrBzgC,KAAK2gC,eAAeH,MAGtBrD,UAAW,SAAUqD,EAAUC,GAC1BA,GAAYD,GAAYC,EAAS94B,UAAY64B,EAAS74B,SAE1DxE,QAAQC,IAAI,yBAA2Bo9B,EAAS74B,UAEjDi5B,8BAA+B,SAAUJ,EAAUC,GAClDt9B,QAAQiiB,KAAK,qDAAqDC,KAAKC,UAAUmb,WAAkBpb,KAAKC,UAAUkb,MAElH,IAAI/G,EAAYt7B,OAAO0V,MAAMwgB,cAAc,SAE3C,GAAIoF,EAAW,CAEd,IAAIoH,EAAUL,EAASphC,IAAIsX,GAAKA,EAAE/O,SAClC8xB,EAAUwE,gBAAe,EAAMngC,IAAM+iC,EAAQ5pB,SAASnZ,EAAEjB,OAAO2a,QAAQd,IACtEA,EAAE5C,YAAW,GAEb,IAAI2pB,EAAYz9B,KAAK84B,WAAWuB,OAAQ7b,GAAKA,EAAE7W,UAAY+O,EAAE7Z,MAC7DsG,QAAQC,IAAI,SAAWq6B,EAAUxiC,OAAS,6BACvCwiC,GACFA,EAAUjmB,QAASd,IAClBvT,QAAQC,IAAI,YAAcsT,EAAE/O,SAC5B+O,EAAEoqB,WACF9gC,KAAK84B,WAAW38B,OAAQ6D,KAAK84B,WAAWiI,QAASrqB,GAAK,OAIzD+iB,EAAUwE,gBAAe,EAAMngC,GAAK+iC,EAAQ5pB,SAASnZ,EAAEjB,OAAO2a,QAAQd,IACrEA,EAAE5C,YAAW,GAEb+sB,EAAUA,EAAQxG,OAAO7b,GAAKA,IAAM9H,EAAE7Z,QAEvC,MAAMmkC,EAAaR,EAASnG,OAAO3jB,GAAKmqB,EAAQ5pB,SAASP,EAAE/O,UACxDq5B,GACFA,EAAWxpB,QAAQypB,IAClB,IAAIC,EAAgB,GAAYpC,wBAAwB9+B,KAAMihC,GAC9DjhC,KAAK84B,WAAWv9B,KAAK2lC,GACrBA,EAAcvoB,cAAcW,OAASmgB,MAKzC0H,cAAe,SAAUX,EAAUC,GAGlC,IAAItiC,OAAO0V,MACV,OAGD,IAAI6lB,EAAav7B,OAAO0V,MAAMwgB,cAAc,UAE5C,GAAIqF,EAAY,CAEf,IAAI0H,EAAWZ,EAASphC,IAAIsX,GAAKA,EAAE/O,SAEnC+xB,EAAWuE,gBAAe,EAAMngC,IAAMsjC,EAASnqB,SAASnZ,EAAEjB,OAAO2a,QAAQd,IACxEA,EAAE5C,YAAW,GAEb,IAAI2pB,EAAYz9B,KAAK84B,WAAWuB,OAAQ7b,GAAKA,EAAE7W,UAAY+O,EAAE7Z,MAC7DsG,QAAQC,IAAI,SAAWq6B,EAAUxiC,OAAS,6BACtCwiC,GACHA,EAAUjmB,QAASd,IAClBvT,QAAQC,IAAI,YAAcsT,EAAE/O,SAC5B+O,EAAEoqB,WACF9gC,KAAK84B,WAAW38B,OAAQ6D,KAAK84B,WAAWiI,QAASrqB,GAAK,OAKzDgjB,EAAWuE,gBAAe,EAAMngC,GAAKsjC,EAASnqB,SAASnZ,EAAEjB,OAAO2a,QAAQd,IACvEA,EAAE5C,YAAW,GAEbstB,EAAWA,EAAS/G,OAAO7b,GAAKA,IAAM9H,EAAE7Z,QAGzC,MAAMwkC,EAAcb,EAASnG,OAAO3jB,GAAK0qB,EAASnqB,SAASP,EAAE/O,UAC1D05B,GACFA,EAAY7pB,QAAQ8pB,IAEnB,IAAIC,EAAiB,GAAYzC,wBAAwB9+B,KAAMshC,GAC/DthC,KAAK84B,WAAWv9B,KAAKgmC,GACrBA,EAAe5oB,cAAcW,OAASogB,MAK1C8H,SAAU,SAAShB,EAAUC,GAC5Bt9B,QAAQC,IAAI,oBACTo9B,GACExgC,KAAKg6B,WACRh6B,KAAKg6B,SAAW77B,OAAO0V,MAAM4tB,6BAC9BzhC,KAAKg6B,SAAS0H,YAEd1hC,KAAKg6B,SAAS2H,SACd/uB,SAASgvB,mBAGXzI,MAAO,SAAS3oB,GACZrS,OAAO0V,OAASrD,EAClBrS,OAAO0V,MAAMinB,WAAWC,OAExB58B,OAAO0V,MAAMinB,WAAW+G,QAE1B,aACI1jC,OAAO0V,OAAS1V,OAAO0V,MAAM8S,eAC/BxoB,OAAO0V,MAAM8S,aAAaoB,IAAM/nB,KAAKw8B,aAEvC,gBACIx8B,KAAK8hC,eACiD,oBAA7CC,uBAAuBC,mBACjCD,uBAAuBC,oBAAoB3qB,KAAK4qB,IACvB,YAApBA,GACH9jC,OAAOojB,iBAAiB,oBAAqB,UAE5CjK,MAAMnU,QAAQwB,OAClBxG,OAAO0V,MAAM8S,aAAe3mB,KAAKs5B,aAEjCn7B,OAAO0V,MAAM8S,aAAe3mB,KAAKu5B,cCjtBsK,MCOvM,GAAY,eACd,GACA,EACA,GACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAkB,IAAIx5B,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,QAElE,GAAkB,GCOP,IACX2R,SAAU,IACH,eAAW,CAAC,oBAEnBqiB,MAAO,CAGH,iBACIj0B,KAAKua,OAAOC,OAAO,eAAexa,KAAKkiC,mBCjB2J,MCO1M,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAkB,IAAIniC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,SAAS,CAAC2B,YAAY,CAAC,MAAQ,SAAS,CAAC3B,EAAG,gBAAgB,CAAC2B,YAAY,CAAC,iBAAiB,QAAQvB,MAAM,CAAC,eAAe,SAAS,CAACJ,EAAG,aAAa,CAACG,YAAY,iBAAiBC,MAAM,CAAC,eAAe,MAAM,CAAEN,EAAgB,aAAEE,EAAG,IAAI,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIqiC,aAAahQ,cAAcryB,EAAIwB,OAAOtB,EAAG,UAAU,CAACG,YAAY,kBAAkB,CAACH,EAAG,eAAe,CAACF,EAAIgC,GAAG,eAAe9B,EAAG,eAAe,CAACA,EAAG,MAAM,CAACG,YAAY,qBAAqB,CAAEL,EAAoB,iBAAEE,EAAG,OAAO,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAI8R,iBAAiBugB,cAAcryB,EAAIwB,KAAKtB,EAAG,OAAO,CAACF,EAAIgC,GAAG,cAAc9B,EAAG,cAAcA,EAAG,eAAe,CAACF,EAAIgC,GAAG,UAAU9B,EAAG,eAAe,CAACA,EAAG,MAAM,CAACG,YAAY,qBAAqB,CAACH,EAAG,OAAO,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIo9B,UAAUx1B,SAAS,OAAO1H,EAAG,OAAO,CAACF,EAAIgC,GAAG,aAAa9B,EAAG,eAAe,CAACA,EAAG,MAAM,CAACG,YAAY,qBAAqB,CAACH,EAAG,QAAQ,CAACO,WAAW,CAAC,CAAC3D,KAAK,QAAQ4D,QAAQ,UAAUnD,MAAOyC,EAAW,QAAEW,WAAW,YAAY2hC,SAAS,CAAC,MAAStiC,EAAW,SAAGO,GAAG,CAAC,MAAQ,SAASuB,GAAWA,EAAOyN,OAAOgzB,YAAiBviC,EAAIilB,QAAQnjB,EAAOyN,OAAOhS,WAAU2C,EAAG,OAAO,CAACF,EAAIgC,GAAG,iBAAiB9B,EAAG,eAAe,CAACA,EAAG,MAAM,CAACG,YAAY,qBAAqB,CAACH,EAAG,OAAO,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIo9B,UAAU3X,eAAe,OAAOvlB,EAAG,OAAO,CAACF,EAAIgC,GAAG,mBAAmB9B,EAAG,eAAe,CAACF,EAAIgC,GAAG,WAAW9B,EAAG,eAAe,CAACA,EAAG,SAAS,CAACK,GAAG,CAAC,MAAQP,EAAIwiC,UAAU,CAACxiC,EAAIgC,GAAG,gBAAgBhC,EAAIyiC,GAAIziC,EAAiC,+BAAE,SAAS0iC,GAAG,OAAOxiC,EAAG,eAAe,CAACrC,IAAI6kC,EAAE96B,SAAS,CAAC5H,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGM,EAAE96B,SAAS,WAAU,GAAG1H,EAAG,eAAe,CAACA,EAAG,SAAS,CAACK,GAAG,CAAC,MAAQP,EAAI2iC,YAAY,CAAC3iC,EAAIgC,GAAG,YAAY9B,EAAG,eAAe,CAACA,EAAG,SAAS,CAACK,GAAG,CAAC,MAAQP,EAAI4iC,aAAa,CAAC5iC,EAAIgC,GAAG,aAAa9B,EAAG,eAAe,CAACA,EAAG,SAAS,CAACK,GAAG,CAAC,MAAQP,EAAI6iC,SAAS,CAAC7iC,EAAIgC,GAAG,eAAe,IAAI,IAEhyD,GAAkB,GCAtB,MAAM,GAEJ,aAAa,GAACxC,EAAE,KAAE1C,EAAI,QAAEmoB,EAAO,MAAElN,EAAK,mBAAE2Y,EAA8B,KAAEoS,EAAO,UAAS,MAAEC,EAAK,UAAEC,GAAa,IAC5G/iC,KAAKT,GAAKA,GAAU,kBACpBrE,OAAOmH,OAAQrC,KAAM,CAAEnD,OAAMmoB,UAASlN,QAAO+qB,OAAMC,QAAOC,cAC1D/iC,KAAKywB,mBAAqBA,EAC1BzwB,KAAKoJ,cAAWsB,EAChB1K,KAAKmJ,cAAWuB,EAChB1K,KAAKgjC,kBAAet4B,EACpB1K,KAAKijC,oBAAiBv4B,EACtB1K,KAAKkjC,cAAWx4B,EAChB1K,KAAKmjC,kBAGP,UAAY,MAAO,OAEnB,cAAeC,GAKb,OAJIA,IACFpjC,KAAKi7B,OAASj7B,KAAKqjC,uBAErBrjC,KAAKsjC,YAAa,EACXtjC,KAGT,kBAKE,OAJAA,KAAKsjC,YAAa,EAClBtjC,KAAKi7B,OAAS,CACZ17B,GAAIS,KAAKT,IAEJS,KAET,eAAiB,OAAOA,KAAKsjC,WAG7B,MAAO/jC,GAGL,OAFAS,KAAKT,GAAKA,EACVS,KAAKi7B,OAAO17B,GAAKA,EACVS,KAGT,YAAaoJ,GAIX,OAFApJ,KAAKoJ,SAAWA,EAChBpJ,KAAKi7B,OAAO7xB,SAAWA,EAChBpJ,KAGT,YAAamJ,GAGX,OAFAnJ,KAAKmJ,SAAWA,EAChBnJ,KAAKi7B,OAAO9xB,SAAWA,EAChBnJ,KAGT,gBAAiBmJ,GAGf,OAFAnJ,KAAKgjC,aAAe75B,EACpBnJ,KAAKi7B,OAAO+H,aAAe75B,EACpBnJ,KAGT,kBAAmBmJ,GAGjB,OAFAnJ,KAAKijC,eAAiB95B,EACtBnJ,KAAKi7B,OAAOgI,eAAiB95B,EACtBnJ,KAGT,QAAS1C,GAGP,OAFA0C,KAAKnD,KAAOS,EACZ0C,KAAKi7B,OAAOp+B,KAAOS,EACZ0C,KAGT,SAAUT,GAER,OADAS,KAAK8iC,MAAQvjC,EACNS,KAGT,aAAc1C,GAEZ,OADA0C,KAAK+iC,UAAYzlC,EACV0C,KAGT,WAAY1C,GAGV,OAFA0C,KAAKglB,QAAU1nB,EACf0C,KAAKi7B,OAAOjW,QAAU1nB,EACf0C,KAGT,YAAa1C,GAEX,OADA0C,KAAKkjC,SAAW5lC,EACT0C,KAGT,SAAU1C,GAGR,OAFA0C,KAAK8X,MAAQxa,EACb0C,KAAKi7B,OAAOnjB,MAAQxa,EACb0C,KAGT,QAAS1C,GAGP,OAFA0C,KAAK6iC,KAAOvlC,EACZ0C,KAAKi7B,OAAO4H,KAAOvlC,EACZ0C,KAGT,QACE,OAAOA,KAAKT,GAGd,cACE,OAAOS,KAAKoJ,SAGd,cACE,OAAOpJ,KAAKmJ,SAGd,kBACE,OAAOnJ,KAAKgjC,aAGd,oBACE,OAAOhjC,KAAKijC,eAGd,UACE,OAAOjjC,KAAKnD,KAGd,aACE,OAAOmD,KAAKglB,QAGd,WACE,OAAOhlB,KAAK8X,MAGd,UACE,OAAO9X,KAAK6iC,KAGd,cACE,OAAO7iC,KAAKkjC,SAGd,WACE,OAAOljC,KAAK8iC,MAGd,YACE,OAAO9iC,KAAKujC,UAGd,sBAAuBhkC,GAChBwgC,OAAOC,UAAUzgC,KACpBA,EAAKqpB,SAASrpB,IAChB,MAAMw+B,EAAe/9B,KAAKywB,mBAO1B,OANIlxB,IAAOS,KAAKywB,qBAEdzwB,KAAKywB,mBAAqBlxB,EAC1BS,KAAKi7B,OAAOxK,mBAAqBlxB,EACjCS,KAAKsjC,YAAa,GAEbvF,EAGT,wBACE,OAAO/9B,KAAKywB,mBAId,sBACE,MAAO,CACLlxB,GAAIS,KAAKT,GACT1C,KAAMmD,KAAKnD,KACXmoB,QAAShlB,KAAKglB,QACdlN,MAAO9X,KAAK8X,MACZ2Y,mBAAoBzwB,KAAKywB,mBACzBoS,KAAM7iC,KAAK6iC,KACXz5B,SAAUpJ,KAAKoJ,SACfD,SAAUnJ,KAAKmJ,SACf65B,aAAchjC,KAAKgjC,aACnBC,eAAgBjjC,KAAKijC,gBAIzB,uBACE,OAAOjjC,KAAKi7B,QCrHG,QACXxgC,KAAM,KAAM,IAEZmX,SAAU,IACH,eAAW,CAAC,iBAAkB,mBAAoB,YAAa,eAAgB,gCAAiC,kBACnHoT,QAAS,CACL,MACI,OAAOhlB,KAAKua,OAAOwJ,QAAQoZ,UAAUvlB,cAEzC,IAAKta,GACD0C,KAAKua,OAAOC,OAAO,aAAc,CAAEjb,GAAIS,KAAKm9B,UAAUx1B,QAASqd,QAAS1nB,OAIpFwU,QAAS,CACP,UACE,MAAM2wB,EAAI,IAAI,GACd,GAAIziC,KAAKm9B,UAAY,CACnBsF,EAAE94B,YAAa3J,KAAKm9B,UAAUviB,eAC9B6nB,EAAEe,gBAAiBxjC,KAAKm9B,UAAUsG,mBAClChB,EAAEiB,kBAAmB1jC,KAAKm9B,UAAUwG,qBACpClB,EAAE14B,YAAa/J,KAAKm9B,UAAU3X,eAC9Bid,EAAEmB,sBAAuB5jC,KAAKm9B,UAAU5X,yBACxCkd,EAAEoB,WAAW,OAAO7oB,KAAKuR,MAAsB,IAAhBvR,KAAK8oB,WAGpC,IAAI3mC,EAAI,EACJ4mC,EAAI,EACJC,EAAI,EACR,MAAM7mC,EAAE4mC,EAAEC,GAAK,GAAK7mC,EAAE4mC,EAAEC,EAAI,IAC1B7mC,EAAI6d,KAAKuR,MAAoB,IAAdvR,KAAK8oB,UAAcG,SAAS,IAC3CF,EAAI/oB,KAAKuR,MAAoB,IAAdvR,KAAK8oB,UAAcG,SAAS,IAC3CD,EAAIhpB,KAAKuR,MAAoB,IAAdvR,KAAK8oB,UAAcG,SAAS,IAE9B,GAAZ9mC,EAAElC,SAAakC,GAAK,IAAIA,GAAG8mC,SAAS,KACxB,GAAZF,EAAE9oC,SAAa8oC,GAAK,IAAIA,GAAGE,SAAS,KACxB,GAAZD,EAAE/oC,SAAa+oC,GAAK,IAAIA,GAAGC,SAAS,KACvC9gC,QAAQC,IAAI,2CAA6CiiB,KAAKC,UAAUmd,EAAE7nB,eAAiB,MAAQyK,KAAKC,UAAUmd,EAAEjd,gBACpHriB,QAAQC,IAAI,aAAeq/B,EAAE9qB,YAE/B3X,KAAKua,OAAOC,OAAO,UAAWioB,IAEhC,YACEziC,KAAKkkC,eAAe1sB,QAASd,IACR,MAAhBA,EAAErS,cACHqS,EAAErS,aAAa8/B,YAAY,qBAKjC,aACEnkC,KAAKkkC,eAAe1sB,QAASd,IACR,MAAhBA,EAAErS,cACHqS,EAAErS,aAAa+/B,aAAa,qBAKlC,SACEpkC,KAAKkkC,eAAe1sB,QAASd,IACR,MAAhBA,EAAErS,cACHqS,EAAErS,aAAaggC,0BAA0B,iBAAkB,SAInEpQ,MAAO,ICxI8L,MCOzM,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCbR,MAAMqQ,GAAgB3/B,IAEzBxB,QAAQwB,MAAMA,GACd4/B,MAAM5/B,EAAMg3B,UC4CD,QACd7C,WAAY,CAAC0L,WAAUC,iBAAeC,mBAAiBC,qBACvDlqC,KAAM,KAAM,CACXmqC,0BAA2B,cAC3BC,wBAAyB,YACzBC,gBAAgB,EACVC,kBAAkB,IAEzBnzB,SAAU,IACN,eAAW,CAAC,YAAa,SAAU,WAAY,QAAS,eAAgB,aAAa,kBAAkB,oBAAoB,6BACxH,eAAS,CAAC,gBAChB,UACC,OAAO5R,KAAKua,OAAO2f,MAAM8K,QAG3BC,OAAQ,CACPC,aAAc,CAAEvhC,KAAM,IAAMwhC,WAAW,EAAMC,QAAQ,GACrDC,YAAa,CAAE1hC,KAAM,IAAKwhC,WAAW,EAAMC,QAAQ,IAEpD,UACCjiC,QAAQC,IAAI,mDACZD,QAAQC,IAAI,oBAAsBpD,KAAKua,OAAOwJ,QAAQuhB,YACtDniC,QAAQC,IAAI,wBACZpD,KAAKulC,YAELvlC,KAAKua,OAAO0Z,MAAM,CAACiG,EAAOnW,IAAYA,EAAQlS,iBAAkB,CAAC2uB,EAAUC,KAC1EzgC,KAAKwlC,sBAAuB/E,EAAUD,KAGvCriC,OAAOsnC,WAAazlC,KAAK0lC,WAAW7nC,KAAKmC,MAEzCA,KAAKua,OAAOwiB,SAAS,0BAA0B1lB,KAAM,KACpD,GAAGrX,KAAK2lC,kBAAoB3lC,KAAK4lC,sBAAsB,CACtD,IAAIC,EAAM7lC,KAAK8lC,mBAAqBC,UAAUC,UAAYD,UAAUE,cAAchvB,SAAS,MAAQjX,KAAK2lC,gBAAkB3lC,KAAK8lC,kBAAmB9lC,KAAK2lC,gBACvJ3lC,KAAKua,OAAOwiB,SAAS,mBAAoB,CAAC8I,IAAKA,EAAKK,SAAS,IAAQ7uB,KAAK,KACzElU,QAAQC,IAAI,8BACVkU,MAAMgtB,OAIXnhC,QAAQC,IAAI,4BAEb0O,QAAS,IACL,eAAa,CAAC,gCAAgC,4BAA4B,iBAC7E,aACC9R,KAAKmmC,8BAA8B,CAClC7yB,YAAaoK,MAAMwc,MAAM5mB,YACzBlK,SAAUsU,MAAMwc,MAAM9wB,SAAWsU,MAAMwc,MAAM9wB,cAAWsB,KAG1D,YACO,IAAI07B,EAAgB,IAAIz4B,IAAIxP,OAAOkoC,UAAUC,aAC1CF,EAAclpC,IAAI8C,KAAK4kC,4BAC/B5kC,KAAKumC,0BAA0B,CAACjzB,YAAa8yB,EAAclpC,IAAI8C,KAAK4kC,6BAElEwB,EAAclpC,IAAI8C,KAAK6kC,0BACzB7kC,KAAKwmC,aAAaJ,EAAclpC,IAAI8C,KAAK6kC,2BAE3C,sBAAsBpE,EAAUD,GAC/B,MAAMt3B,EAAYs3B,EAClB,IAAKt3B,EACJ,QAE4B,IAA1BlJ,KAAK+kC,mBAC2B,OAAnBnyB,SAAS6zB,OAA2C,KAAzB7zB,SAAS6zB,MAAMnpC,OAAmC,cAAjBsV,SAAS6zB,MACvEzmC,KAAK8kC,gBAAiB,EAGtB9kC,KAAK8kC,gBAAiB,EAE1B9kC,KAAK+kC,kBAAmB,IAED,IAAxB/kC,KAAK8kC,iBAC+B,YAAhC9kC,KAAKoiC,aAAahQ,YACjBxf,SAAS6zB,MAAOzmC,KAAKoiC,aAAahQ,WAEX,YAAxBlpB,EAAUkpB,YACTxf,SAAS6zB,OAASv9B,EAAUkpB,WAEK,YAAhCpyB,KAAKoiC,aAAahQ,WAAqD,YAAxBlpB,EAAUkpB,YAC1Dxf,SAAS6zB,MAAQ,qBAErBtjC,QAAQC,IAAI,UAAYwP,SAAS6zB,QAG3C,IAAIC,EAAe,CAAEpzB,YAAapK,EAAUvB,SAClCg/B,EAAc,IAAIh5B,IAAIxP,OAAOkoC,UACnCD,EAAgBO,EAAYL,aAE1B,GAAIF,EAAclpC,IAAI8C,KAAK4kC,4BAA8BwB,EAAclpC,IAAI8C,KAAK4kC,4BAA8B17B,EAAUvB,QACpH,OAEJy+B,EAAc/0B,IAAIrR,KAAK4kC,0BAA2B17B,EAAUvB,SAE5Dg/B,EAAYC,OAASR,EAAcnC,WACzC,IAAI4C,EAASF,EAAY1C,WAEnB9lC,OAAO2oC,QAAQC,UAAUL,EAAcx9B,EAAUkpB,UAAWyU,IAEnE,eAEC,MAAMG,EAAY1jC,KAAKwjB,MACvB,IAAImgB,EAAWjnC,KAAKo6B,OAAO/7B,QAC3B4oC,EAASzvB,QAASd,IAGbA,EAAEnT,UAAYmT,EAAEwwB,cAAgBF,GAEnChnC,KAAKua,OAAOC,OAAO,kBAAmB,CAAEjb,GAAImX,EAAE/O,aAKjD,cACK3H,KAAKm9B,WAAan9B,KAAKm9B,UAAUgK,gBACpCnnC,KAAKua,OAAOwiB,SAAS,sBAAuB/8B,KAAKm9B,UAAUiK,wBAAwB/vB,KAClFX,IAEC1W,KAAKm9B,UAAUgG,uBC1KgL,MCQjM,I,UAAY,eACd,GACA,EACA,GACA,EACA,KACA,KACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAIpjC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,cAAcE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIsnC,eAAgB,CAAEtnC,EAAU,OAAEE,EAAG,MAAM,CAACG,YAAY,wBAAwBE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAOA,EAAOylC,qBAAqB,CAACrnC,EAAG,MAAM,CAACG,YAAY,SAASC,MAAM,CAAC,IAAMN,EAAIwtB,WAAW,UAAUxtB,EAAIwnC,OAAO,IAAM,MAAMxnC,EAAIyiC,GAAIziC,EAAoB,kBAAE,SAAS1D,EAAEtB,GAAG,OAAOkF,EAAG,eAAe,CAACrC,IAAIvB,EAAEkD,GAAGa,YAAY,QAAQykB,MAAM,CAAE,KAAQ9kB,EAAIynC,QAAQzsC,GAAKgF,EAAIynC,QAAQzsC,GAAG+pB,KAAO,GAAI,IAAQ/kB,EAAIynC,QAAQzsC,GAAKgF,EAAIynC,QAAQzsC,GAAGgqB,IAAM,IAAK1kB,MAAM,CAAC,UAAYhE,SAAQ,GAAG4D,EAAG,MAAM,CAACG,YAAY,wBAAwBL,EAAIyiC,GAAIziC,EAAoB,kBAAE,SAAS1D,GAAG,OAAO4D,EAAG,gBAAgB,CAACrC,IAAIvB,EAAEkD,GAAGa,YAAY,UAAUC,MAAM,CAAC,UAAYhE,QAAO,MAE/wB,GAAkB,GCFlB,GAAS,WAAkB,IAAI0D,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,IAAI,cAAcC,YAAY,eAAeE,GAAG,CAAC,WAAa,SAASuB,GAAQ,OAAO9B,EAAI0nC,qBAAqB,WAAa,SAAS5lC,GAAQ,OAAO9B,EAAI0nC,uBAAuB,CAACxnC,EAAG,MAAM,CAACK,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAI2nC,mBAAmB,CAACznC,EAAG,MAAM,CAACG,YAAY,SAASunC,MAAM,CAAE,sBAAuB5nC,EAAI0wB,oBAAsB1wB,EAAImJ,UAAU3J,MAAOQ,EAAI6nC,aAAe7nC,EAAIu/B,oBAAqBr/B,EAAG,MAAM,CAACG,YAAY,UAAU,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAI6nC,gBAAgB7nC,EAAIwB,OAAOtB,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAACJ,EAAG,gBAAgB,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAAOyC,EAAY,SAAEW,WAAW,aAAaP,IAAI,SAASC,YAAY,UAAUykB,MAAO9kB,EAAgB,aAAEM,MAAM,CAAC,UAAYN,EAAImJ,cAAc,IAAI,IAE/xB,GAAkB,GCFlB,GAAS,WAAkB,IAAInJ,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,gBAAgBE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIomC,8BAA8B,CAAC7yB,YAAavT,EAAImJ,UAAU3J,QAAQ,CAACU,EAAG,MAAM,CAACG,YAAY,eAAeunC,MAAM,CAAC,yBAA0B5nC,EAAI0wB,oBAAsB1wB,EAAImJ,UAAU3J,IAAIc,MAAM,CAAC,IAAMN,EAAIwtB,WAAW,UAAUxtB,EAAIqiC,aAAahQ,UAAU,IAAIryB,EAAImJ,UAAUrM,KAAKsiC,OAAO,IAAIp/B,EAAI8nC,cAAc,IAAM,MAAM5nC,EAAG,OAAO,CAACG,YAAY,WAAW,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAImJ,UAAUrM,YAElgB,GAAkB,GCQP,IACb22B,MAAO,CAAC,aACR/4B,KAAM,KAAM,CACV8yB,WAAY,KAEdzb,QAAQ,IACH,eAAa,CAAC,mCAEnBF,SAAU,IACL,eAAW,CAAC,eAAe,gBAAgB,yBCnBqK,MCQnN,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCFA,IACXknB,WAAY,CAACgP,kBACbtU,MAAO,CAAC,aACRuU,OAAQ,CAAC,aACZttC,KAAM,KAAM,CACLutC,UAAU,IAEjBl2B,QAAS,IACC,eAAa,CAAC,kCACvB,oBACU9R,KAAKgoC,UAAYhoC,KAAKgoC,UAE1B,gBACIhoC,KAAKqnC,YACLrnC,KAAKmmC,8BAA8B,CAAC7yB,YAAatT,KAAKkJ,UAAU3J,OAGxEqS,SAAU,IACH,eAAW,CAAC,qBAAqB,QAAQ,wBAC5C,cACI,OAAO5R,KAAKglC,MAAM3K,OAAQ3jB,GAAKA,EAAE6O,yBAA2BvlB,KAAKkJ,UAAU3J,IAAItE,QAEnF,eAEQ+E,KAAKiS,MAAMg2B,cAKvBC,QAAS,WACL/kC,QAAQC,MACR,IAAIyhB,EAAQsjB,iBAAiBnoC,KAAKiS,MAAMg2B,aACpCnjB,EAAO8D,SAAS/D,EAAMC,MACtBC,EAAM6D,SAAS/D,EAAME,KACtBA,EAAI,KACH/kB,KAAKiS,MAAMm2B,OAAOC,IAAIxjB,MAAME,IAAM,UACnCD,EAAK,KACJ9kB,KAAKiS,MAAMm2B,OAAOC,IAAIxjB,MAAMC,KAAO,YCtDuK,MCQlN,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCmEA,IACbgU,WAAY,CAACwP,gBAAcR,kBAC3BC,OAAQ,CAAC,aACTttC,KAAM,KAAM,CACV8yB,WAAY,KAEf3b,SAAU,IACJ,eAAW,CAAC,aAAa,SAAS,UAAU,YAAY,iBAC3D,mBACE,GAAG5R,KAAKoiC,cAAgBpiC,KAAKuoC,UAAU,CACrC,IAAIC,EAAmB,GASvB,OARAxoC,KAAKuoC,UAAU/wB,QAAQixB,IACrBzoC,KAAKwhB,WAAWhK,QAAQkxB,IACjBD,GAAMC,EAAGtW,UAAU+M,QACpBqJ,EAAiBjtC,KAAKmtC,OAKvBF,EAGT,OAAOxoC,KAAKwhB,cC5GmM,MCQjN,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAIzhB,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,kBAAkBunC,MAAM,CAAC,qBAAqB5nC,EAAI0B,uCAAuC,CAACxB,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAACH,EAAG,YAAY,CAACG,YAAY,+BAA+BE,GAAG,CAAC,MAAQP,EAAI4oC,qBAAqB,CAAE5oC,EAAgB,aAAEE,EAAG,aAAaA,EAAG,aAAa,GAAGA,EAAG,OAAO,CAACG,YAAY,sDAAsD,CAACH,EAAG,QAAQ,CAACG,YAAY,iCAAiCykB,MAAO9kB,EAA4B,yBAAEM,MAAM,CAAC,KAAO,SAASgiC,SAAS,CAAC,MAAQtiC,EAAIia,YAAYja,EAAIiD,SAAS,KAAK1C,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAI6oC,aAAa/mC,SAAc5B,EAAG,OAAO,CAACG,YAAY,gBAAgB,CAACH,EAAG,OAAO,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAI8oC,OAAO9oC,EAAIia,cAAc,SAAS/Z,EAAG,OAAO,CAACG,YAAY,0BAA0B,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAI8oC,OAAO9oC,EAAIiD,gBAAgB/C,EAAG,OAAO,CAACG,YAAY,cAAc,CAACH,EAAG,YAAY,CAACG,YAAY,mCAAmCE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAI+oC,kBAAkB,CAAE/oC,EAAI+D,OAAS,IAAK7D,EAAG,cAAeF,EAAI+D,OAAS,IAAK7D,EAAG,gBAAiBF,EAAI+D,OAAS,EAAG7D,EAAG,aAAaA,EAAG,mBAAmB,GAAGA,EAAG,OAAO,CAACG,YAAY,oDAAoD,CAACH,EAAG,QAAQ,CAACG,YAAY,+BAA+BykB,MAAO9kB,EAA0B,uBAAEM,MAAM,CAAC,KAAO,SAASgiC,SAAS,CAAC,MAAmB,IAAXtiC,EAAI+D,QAAYxD,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAImyB,aAAarwB,UAAe,IAAI,MAEz7C,GAAkB,G,2FCqMP,IACbi3B,WAAY,CAAEiQ,eAAAC,GAAA,KAAgBC,WAAA,QAAYC,UAAA,QAAWC,SAAA3mC,GAAA,KAAU4mC,UAAA3mC,GAAA,KAAU4mC,cAAA,KAAWC,gBAAA,KAAaC,aAAA,MACjG9uC,KAAM,KAAM,CAKV+uC,WAAY,EAIZC,cAAe,EAIfC,YAAa,EAEbC,WAAW,IAEb/3B,SAAU,IACL,eAAW,CAAC,iBAAkB,aAAc,mBAAmB,uCAAuC,gCAIzG,eACE,IAAI0I,GAAU,EAKd,OAJIta,KAAK6R,kBAC0C,GAA7C7R,KAAK6R,iBAAiBxN,aAAavB,aAA+D4H,GAA7C1K,KAAK6R,iBAAiBxN,aAAavB,SAC1FwX,GAAU,GAEPA,GAIT,WACE,IAAItX,EAAW,EAUf,OARIhD,KAAK6R,kBACH7R,KAAK6R,iBAAiBT,YAAcjN,EAAOS,WAAWG,iBACxD/B,EAAWhD,KAAK6R,iBAAiBxN,aAAarB,UAG/CA,EAAW,IACZA,EAAWhD,KAAK0pC,aAEX1mC,GAKT,mBACE,IAAIgvB,EAAmB,EAMvB,OAJIhyB,KAAK6R,kBACH7R,KAAK6R,iBAAiBT,YAAcjN,EAAOS,WAAWG,iBACxDitB,EAAmBhyB,KAAK6R,iBAAiBxN,aAAa2tB,kBAEnDA,GAIT,cACE,IAAIhY,EAAc,EAUlB,OARIha,KAAK6R,kBACH7R,KAAK6R,iBAAiBT,YAAcjN,EAAOS,WAAWG,iBACvDiV,EAAcha,KAAK6R,iBAAiBxN,aAAa2V,aAGnD4vB,MAAM5vB,KACPA,EAAc,GAETA,GAIT,SACE,IAAIlW,EAAS,EAUb,OARI9D,KAAK6R,kBACH7R,KAAK6R,iBAAiBT,YAAcjN,EAAOS,WAAWG,iBACxDjB,EAAS9D,KAAK6R,iBAAiBxN,aAAaP,aAGnC4G,GAAV5G,IACDA,EAAS9D,KAAKwpC,YAET1lC,GAGT,2BACE,IAAI+lC,EAAW7uB,KAAKuR,MAAsB,GAAhBvsB,KAAKgD,SAAgBhD,KAAKga,YAAYha,KAAKgD,SAAS,IAAI,GAAM,GACpF8mC,EAAS9uB,KAAKuR,MAAMvsB,KAAKgyB,kBAC7B,MAAO,qFAAuF6X,EAAU,YAAcA,EAAU,YAAcC,EAAS,WAAaA,EAAS,OAG/K,yBACE,IAAIhmC,EAAqB,IAAZ9D,KAAK8D,OAAW,GAC7B,MAAO,qFAAuFA,EAAS,WAAaA,EAAS,oBAGjIgO,QAAS,CAEP,OAAOnO,GACL,IAAI2oB,EAAOtR,KAAKuR,MAAM5oB,EAAO,IACzB6oB,EAAOxR,KAAKuR,MAAM5oB,EAAc,GAAP2oB,GAC7B,OAAOA,EAAO,KAAOE,EAAO,GAAK,IAAM,IAAMA,GAO/C,aAAa/sB,GACX,IAAIkE,EAAOlE,EAAE6P,OAAOhS,MAAQ,IAAM0C,KAAKgD,SAEpChD,KAAK6R,iBAAiBT,YAAcjN,EAAOS,WAAWG,gBACvD/E,KAAK6R,iBAAiBxN,aAAaggC,0BAA0B,iBAAkB1gC,IAInF,aAAalE,GACX,IAAIqE,EAASrE,EAAE6P,OAAS7P,EAAE6P,OAAOhS,MAAM,IAAMmC,EAE7CO,KAAKwpC,WAAa1lC,EAEf9D,KAAK6R,iBAAiBT,YAAcjN,EAAOS,WAAWG,gBACvD/E,KAAK6R,iBAAiBxN,aAAa0lC,oBAAoB,iBAAkBjmC,IAM7E,eACE9D,KAAK8D,OAAS,EAAI9D,KAAKkyB,aAAa,GAAIlyB,KAAKkyB,aAAalyB,KAAKypC,eAAgBzpC,KAAKypC,cAAgBzpC,KAAK8D,QAO3G,qBACE9D,KAAKgqC,aAAehqC,KAAKwZ,QAASxZ,KAAKkZ,QAIzC,QAC4C,MAAtClZ,KAAK6R,iBAAiBxN,cACxBrE,KAAK6R,iBAAiBxN,aAAa+/B,aAAa,mBAIpD,OAC4C,MAAtCpkC,KAAK6R,iBAAiBxN,cACxBrE,KAAK6R,iBAAiBxN,aAAa8/B,YAAY,oBAIrDlQ,MAAO,CAGLpiB,iBAAkB,WAChB7R,KAAK2pC,UAAY3pC,KAAK2pC,WAAY,EAAO3pC,KAAKkyB,aAAalyB,KAAKwpC,YAChExpC,KAAK0pC,YAAc1pC,KAAKgD,YC1W+K,MCQzM,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAIjD,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAACJ,EAAG,MAAM,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,OAAQyC,EAAIkqC,oBAAsBlqC,EAAIk6B,sBAAwBl6B,EAAImqC,uBAAwBxpC,WAAW,0EAA0EN,YAAY,4BAA4B,CAACH,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,wBAAwBA,EAAG,KAAK,CAACG,YAAY,YAAY,CAACL,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,sCAAsC,QAEvhB,GAAkB,G,aC2DP,IACXrR,WAAW,CAACsR,wBAAA,MACZx4B,SAAU,IACH,eAAS,CAACqoB,qBAAuBC,GAAUA,EAAMC,QAAQF,0BACzD,eAAW,CAAC,qBAAqB,6BCjEgL,MCQxN,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAIl6B,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,aAAa,CAACH,EAAG,MAAM,CAACI,MAAM,CAAC,IAAMN,EAAIwtB,WAAW,UAAUxtB,EAAIw0B,SAASx0B,EAAIsqC,cAEpK,GAAkB,GC0BP,IACd5vC,KAAM,KAAM,CACR8yB,WAAY,KAEhB3b,SAAU,IACN,eAAW,CAAC,UAAU,eCjC4K,MCQnM,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAI7R,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,SAAS,CAACG,YAAY,aAAaunC,MAAM,CAAC,OAAS5nC,EAAIkB,yBAAyBX,GAAG,CAAC,MAAQP,EAAIuqC,gBAAgB,CAACrqC,EAAG,MAAM,CAACG,YAAY,kBAAkBH,EAAG,OAAO,CAACG,YAAY,iBAAiB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAI8R,iBAAmB9R,EAAI8R,iBAAiBugB,UAAY,gBAAgBnyB,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAAGL,EAAIkB,wBAA2ChB,EAAG,aAArBA,EAAG,gBAAgC,KAAKA,EAAG,MAAM,CAACG,YAAY,aAAa,CAACH,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,OAAO,KAAO,WAAW,CAACJ,EAAG,MAAM,CAACrC,IAAImC,EAAIwqC,WAAWnqC,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIwqC,iBAAiBtqC,EAAG,MAAM,CAACG,YAAY,qBAAqB,CAAEL,EAAa,UAAEE,EAAG,YAAY,CAACG,YAAY,iBAAiBunC,MAAM,CAAE,cAAe5nC,EAAIY,YAAaN,MAAM,CAAC,aAAY,GAAOC,GAAG,CAAC,MAAQP,EAAIsnC,UAAU,UAAY,SAASxlC,GAAQ9B,EAAIwqC,WAAa,mBAAmB,CAACtqC,EAAG,MAAM,CAACG,YAAY,uBAAuBC,MAAM,CAAC,IAAM,EAAQ,QAAoB,IAAM,QAAQN,EAAIwB,KAAOxB,EAAI89B,MAAsU99B,EAAIwB,KAAnUtB,EAAG,YAAY,CAACG,YAAY,iBAAiBunC,MAAM,CAAE,cAAe5nC,EAAIyqC,cAAenqC,MAAM,CAAC,aAAY,GAAOC,GAAG,CAAC,MAAQP,EAAI0qC,iBAAiB,UAAY,SAAS5oC,GAAQ9B,EAAIwqC,WAAa,mBAAmB,CAACtqC,EAAG,MAAM,CAACG,YAAY,uBAAuBC,MAAM,CAAC,IAAM,EAAQ,QAA2B,IAAM,QAAkBN,EAAiB,cAAEE,EAAG,YAAY,CAACG,YAAY,iBAAiBunC,MAAM,CAAE,cAAe5nC,EAAImB,gBAAiBb,MAAM,CAAC,aAAY,GAAOC,GAAG,CAAC,MAAQP,EAAI2qC,cAAc,UAAY,SAAS7oC,GAAQ9B,EAAIwqC,WAAa,YAAY,CAACtqC,EAAG,cAAc,GAAGF,EAAIwB,KAAMxB,EAAwB,qBAAEE,EAAG,YAAY,CAACG,YAAY,iBAAiBC,MAAM,CAAC,aAAY,GAAOC,GAAG,CAAC,MAAQP,EAAI4qC,qBAAqB,UAAY,SAAS9oC,GAAQ9B,EAAIwqC,WAAa,yBAAyB,CAACtqC,EAAG,eAAe,GAAGF,EAAIwB,MAAOxB,EAAIoB,UAAYpB,EAAIu/B,qBAAuBv/B,EAAI6qC,UAAW3qC,EAAG,YAAY,CAACG,YAAY,iBAAiBunC,MAAM,CAAE,cAAe5nC,EAAIc,sBAAsBR,MAAM,CAAC,aAAY,GAAOC,GAAG,CAAC,MAAQP,EAAI8qC,oBAAoB,UAAY,SAAShpC,GAAQ9B,EAAIwqC,WAAa,mBAAmB,CAACtqC,EAAG,MAAM,CAACG,YAAY,uBAAuBC,MAAM,CAAC,IAAM,EAAQ,QAA8B,IAAM,QAAQN,EAAIwB,KAAKtB,EAAG,YAAY,CAACG,YAAY,iBAAiBunC,MAAM,CAAE,cAAe5nC,EAAIuB,iBAAiBjB,MAAM,CAAC,aAAY,GAAOC,GAAG,CAAC,MAAQP,EAAI+qC,uBAAuB,UAAY,SAASjpC,GAAQ9B,EAAIwqC,WAAa,WAAW,CAACtqC,EAAG,MAAM,CAACG,YAAY,uBAAuBC,MAAM,CAAC,IAAM,EAAQ,QAAyB,IAAM,QAASN,EAAmB,gBAAEE,EAAG,YAAY,CAACG,YAAY,iBAAiBunC,MAAM,CAAE,cAAe5nC,EAAIiB,kBAAmBX,MAAM,CAAC,aAAY,GAAOC,GAAG,CAAC,MAAQP,EAAIgrC,gBAAgB,UAAY,SAASlpC,GAAQ9B,EAAIwqC,WAAa,mBAAmB,CAACtqC,EAAG,MAAM,CAACG,YAAY,uBAAuBC,MAAM,CAAC,IAAM,EAAQ,QAA+B,IAAM,QAAQN,EAAIwB,MAAM,IAAI,MAE15F,GAAkB,G,+ICqEP,IACdu3B,WAAY,CAACkS,cAAA,KAAYC,eAAA,KAAaC,aAAA,KAAWC,eAAA,QAAgBC,mBAAA,QAAoBC,UAAA,QAAWC,UAAAC,GAAA,KAAWC,gBAAA,KAAcC,gBAAA,KAAcC,iBAAAC,GAAA,KAAkBC,cAAA,MACzJ7D,OAAQ,CAAC,YAAY,gBAAgB,sBAAsB,gBAAgB,cAAc,kBAAkB,kBAAkB,uBAAuB,mBAAmB,0BACvKvU,MAAO,CAAC,aAAa,aAAa,uBAAuB,cAAc,mBAAmB,0BAA0B,iBAAiB,WAAW,aAAa,iBAAiB,uBAAuB,mBACrM/4B,KAAM,KAAM,CACR8vC,WAAY,KAEhB34B,SAAU,IACN,eAAW,CAAC,mBAAmB,YAAY,gBAAgB,sBAAsB,kBAAkB,YAAY,YAAY,eAAe,WAE9I,UACC,IAAI,IAAIslB,KAAStkB,SAASC,uBAAuB,qBAAqB,GAAG2d,SACxE0G,EAAM3V,iBAAiB,aAAc,KACpCvhB,KAAKuqC,WAAa,OCpFkL,MCQpM,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAIxqC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,gBAAgBE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAI2qC,mBAAmB,CAACzqC,EAAG,MAAM,CAACG,YAAY,eAAeE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAOA,EAAOylC,qBAAqB,CAACrnC,EAAG,KAAK,CAACG,YAAY,WAAW,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,mBAAmBlqC,EAAG,QAAQ,CAACG,YAAY,UAAUykB,MAAM,CAAE,MAAS9kB,EAAI8rC,YAAaxrC,MAAM,CAAC,KAAO,OAAO,GAAK,WAAW,SAAW,IAAIgiC,SAAS,CAAC,MAAQtiC,EAAI+rC,YAAY7rC,EAAG,YAAY,CAACG,YAAY,oCAAoCE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIgsC,KAAK,eAAe,CAAC9rC,EAAG,oBAAoB,GAAGA,EAAG,KAAK,CAACG,YAAY,UAAUwB,YAAY,CAAC,aAAa,SAAS,CAAC7B,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,mBAAmBlqC,EAAG,QAAQ,CAACG,YAAY,UAAUykB,MAAM,CAAE,MAAS9kB,EAAI8rC,YAAaxrC,MAAM,CAAC,KAAO,OAAO,GAAK,WAAW,SAAW,IAAIgiC,SAAS,CAAC,MAAQtiC,EAAIisC,YAAY/rC,EAAG,YAAY,CAACG,YAAY,yBAAyBE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIgsC,KAAK,eAAe,CAAC9rC,EAAG,oBAAoB,IAAI,MAEnhC,GAAkB,G,aCkGP,IACX8nC,OAAQ,CAAC,iBACTjP,WAAY,CAACmT,gBAAAC,GAAA,MACbt6B,SAAU,CAEN,WACI,OAAOzT,OAAOkoC,SAASpC,YAI3B,WACI,OAAO9lC,OAAOkoC,SAASpC,WAAWpe,MAAM,KAAK,GAAGxnB,MAAM,GAAI,IAK9D,aACI,OAAOF,OAAOkoC,SAASpC,WAAWhpC,OAAO,EAAI,OAGxD6W,QAAS,CAEF,KAAKvS,GACDqT,SAAS+Y,eAAepsB,GAAI4sC,SAC5Bv5B,SAASw5B,YAAY,WC5HgL,MCQ7M,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAIrsC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,UAAU,CAACG,YAAY,kBAAkB,CAACH,EAAG,eAAe,CAAC0nC,MAAM,CAAC,sBAAuB5nC,EAAIssC,sBAAsB/rC,GAAG,CAAC,MAAQ,SAASuB,GAAQ9B,EAAIusC,sBAAuBvsC,EAAI4qC,0BAA2B,CAAC1qC,EAAG,mBAAmB,CAACG,YAAY,sBAAwBL,EAAIssC,qBAAiHpsC,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,mCAA7JlqC,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,0BAA+H,GAAGlqC,EAAG,eAAe,CAAC0nC,MAAM,CAAC,sBAAuB5nC,EAAI8hB,wBAAwBvhB,GAAG,CAAC,MAAQ,SAASuB,GAAQ9B,EAAIwsC,4BAA6BxsC,EAAI4qC,0BAA2B,CAAC1qC,EAAG,MAAM,CAACG,YAAY,sBAAwBL,EAAI8hB,uBAA4H5hB,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,oCAAtKlqC,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,mCAAyI,GAAGlqC,EAAG,eAAe,CAACK,GAAG,CAAC,MAAQ,SAASuB,GAAQ9B,EAAIysC,UAAWzsC,EAAI4qC,0BAA2B,CAAC1qC,EAAG,YAAY,CAACG,YAAY,sBAAsBH,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,sCAAsC,GAAGlqC,EAAG,eAAe,CAACK,GAAG,CAAC,MAAQ,SAASuB,GAAQ9B,EAAI0sC,eAAgB1sC,EAAI4qC,0BAA2B,CAAC1qC,EAAG,WAAW,CAACG,YAAY,sBAAsBH,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,2CAA2C,GAAGlqC,EAAG,eAAe,CAACK,GAAG,CAAC,MAAQ,SAASuB,GAAQ9B,EAAI2sC,YAAa3sC,EAAI4qC,0BAA2B,CAAC1qC,EAAG,aAAa,CAACG,YAAY,sBAAsBH,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,kCAAkC,IAAI,IAExuD,GAAkB,G,oDC8CP,IACXrR,WAAW,CAAC4S,iBAAAC,GAAA,KAAiBgB,aAAA,KAAUC,YAAA,KAASC,cAAA,KAAWC,OAAA,MAC3D/E,OAAQ,CAAC,sBAAsB,wBAC/BttC,KAAM,KAAM,CACRsyC,uBAAuB,IAE3Bn7B,SAAS,IACF,eAAW,CAAC,QAAQ,cAAc,yBAAyB,qBAAqB,4BAChF,eAAS,CACRuoB,QAAUD,GAAUA,EAAMC,QAAQ6S,eAClCC,eAAiB/S,GAAUA,EAAMC,QAAQ8S,kBAGjDhZ,MAAO,CACH,WACQj0B,KAAKm6B,SAAWn6B,KAAK6hB,wBACrBqrB,cAAcltC,KAAKmtC,cAG/Br7B,QAAQ,IACD,eAAW,CAAC,mBACZ,eAAa,CAAC,8BACjB,4BACI9R,KAAKotC,2BAA2BptC,KAAK6hB,wBAGrC7hB,KAAK8hB,YAAY,CAAC1d,KAAM,2BAA2B3J,KAAM,CAAC4yC,aAAcrtC,KAAK6hB,0BAG1E7hB,KAAK6hB,uBACJ7hB,KAAKmtC,WAAaG,YAAY,KAE1B,GAAGnvC,OAAOovC,gBAAkBpvC,OAAOovC,eAAeC,kBAAkBvyC,OAAS,EAAE,CAC3E,IAAIyrB,EAASvoB,OAAOsvC,cAAc9mB,aAClC3mB,KAAK8hB,YAAY,CAAC1d,KAAM,+BAAgC3J,KAAM,CAAC2J,KAAM,WAAY8a,MAAOwH,EAAOxH,MAAOme,KAAM3W,EAAO2W,KAAMqQ,OAAQhnB,EAAOgnB,OAAQp+B,OAAQoX,EAAOpX,cAC9J,CACD,IAAIoX,EAASvoB,OAAO0V,MAAM8S,aAC1B3mB,KAAK8hB,YAAY,CAAC1d,KAAM,+BAAgC3J,KAAM,CAAC2J,KAAM,UAAW8a,MAAOwH,EAAOxH,MAAOme,KAAM3W,EAAO2W,KAAMtV,IAAKrB,EAAOqB,IAAKzY,OAAQoX,EAAOpX,OAAQmhB,mBAAoBzwB,KAAKywB,wBAE9L,IAEHyc,cAAcltC,KAAKmtC,aAG3B,UACIntC,KAAK8hB,YAAY,CAAC1d,KAAM,cAAc3J,KAAM,MAEhD,eACIuF,KAAK8hB,YAAY,CAAC1d,KAAM,mBAAmB3J,KAAM,MAErD,YACIuF,KAAKglC,MAAMxtB,QAAQirB,IACf,GAAGA,EAAEljC,IAAMS,KAAKm7B,YAAY,CACxB,IAAIwS,EAAa3tC,KAAKitC,eAAe5S,OAAQ3jB,GAAKA,EAAEi3B,WAAWlzC,KAAKmzC,SAAWnL,EAAEljC,IAAK,GAAGouC,WACzF3tC,KAAKm6B,QAAQ0T,gBAAgBF,SCtG0J,MCQvM,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAI5tC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,OAAQyC,EAAIsB,qBAAsBX,WAAW,0BAA0BN,YAAY,4BAA4BwB,YAAY,CAAC,MAAQ,OAAO,OAAS,SAAS,CAAC3B,EAAG,MAAM,CAACG,YAAY,sBAAsB,CAACH,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAACH,EAAG,MAAM,CAACG,YAAY,WAAW,CAACH,EAAG,IAAI,CAACG,YAAY,gBAAgB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAG,8BAAgCpiC,EAAIsB,qBAAuBtB,EAAI+tC,cAAgB/tC,EAAIguC,YAAYhuC,EAAIiuC,aAAa,GAAGL,WAAWlzC,KAAKmzC,cAAc3tC,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAACH,EAAG,YAAY,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAAOyC,EAAwB,qBAAEW,WAAW,yBAAyBN,YAAY,iBAAiBwB,YAAY,CAAC,eAAe,KAAKtB,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIusC,yBAAyB,CAACrsC,EAAG,YAAY,CAACG,YAAY,eAAe,IAAI,KAAKH,EAAG,MAAM,CAACG,YAAY,eAAe,CAAEL,EAAIsB,uBAAyBtB,EAAIktC,eAAex2B,KAAMC,GAAqB,WAAhBA,EAAEu3B,WAAyBhuC,EAAG,mBAAmB,CAACI,MAAM,CAAC,WAAa,GAAG,KAAON,EAAImuC,qBAAqB,MAAQ,mBAAmBjuC,EAAG,oBAAoB,CAACI,MAAM,CAAC,OAASN,EAAIiuC,aAAa,GAAG,KAAOjuC,EAAIouC,gBAAgBpuC,EAAIiuC,aAAa,QAAQ,UAE/vC,GAAkB,G,aC2FP,IACblV,WAAY,CAACsV,UAAAC,GAAA,MACbtG,OAAQ,CAAC,uBACVttC,KAAM,KAAM,CACT6zC,qBAAsB,CACpBC,QAAS,UACTC,iBAAiB,EACjB/xB,WAAY,UACZgyB,cAAc,EACdC,sBAAuB,OACvBC,kBAAmB,OACnBC,gBAAiB,SAGtBh9B,SAAU,IACN,eAAS,CACXq7B,eAAiB/S,GAAUA,EAAMC,QAAQ8S,oBAEvC,eAAW,CAAC,YAAY,UAC3B,gBACC,OAAOjtC,KAAKm9B,UAAU/K,WAEvB,eACC,OAAOpyB,KAAKitC,eAAe5S,OAAQ3jB,GAAqB,WAAhBA,EAAEu3B,YAEzC,uBACE,MAAO,CACLjjC,MAA6B,GAAtB7M,OAAO0wC,OAAO7jC,MACrBC,OAA+B,GAAvB9M,OAAO0wC,OAAO5jC,OACtB6jC,cAAe,CAAE9jC,MAAO,KAAMC,OAAQ,MACtCuX,UAAW,KAGf,uBACD,OAAOxiB,KAAKm9B,WAA0C,cAA7Bn9B,KAAKm9B,UAAUC,YAG1CtrB,QAAS,CACR,YAAY+gB,GACX,IAAI3vB,EAAOlD,KAAKglC,MAAM3K,OAAO3jB,GAAKA,EAAE/O,UAAYkrB,GAChD,OAAI3vB,EAAKjI,OAAS,EACViI,EAAK,GAAGkvB,UAET,IAER,gBAAgB2c,GACf,IAAIC,EAAK,IAAIhvC,KAAKsuC,sBAMlB,OALIS,EAAOE,kBACVD,EAAGhkC,MAAQgQ,KAAKwM,IAAKunB,EAAOE,gBAAgBjkC,MAA6B,GAAtB7M,OAAO0wC,OAAO7jC,OACjEgkC,EAAG/jC,OAAS+P,KAAKwM,IAAKunB,EAAOE,gBAAgBhkC,OAA+B,GAAvB9M,OAAO0wC,OAAO5jC,SAG7D+jC,KCjJ4M,MCQlN,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAIjvC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAAGL,EAAImvC,gBAA2nEjvC,EAAG,qBAAqB,CAACI,MAAM,CAAC,KAAO,QAAQ,qBAAuBL,KAAKa,qBAAqB,gBAAkBb,KAAKkvC,gBAAgB,YAAclvC,KAAKwB,YAAY,sBAAwBxB,KAAKmvC,kBAA7yElvC,EAAG,MAAM,CAACG,YAAY,UAAU,CAACH,EAAG,MAAM,CAACG,YAAY,UAAUC,MAAM,CAAC,IAAMN,EAAIwtB,WAAW,UAAUxtB,EAAIw0B,SAASx0B,EAAIsqC,QAAQ,IAAM,MAAMpqC,EAAG,MAAM,CAACI,MAAM,CAAC,GAAK,SAAS,CAACN,EAAIgC,GAAGhC,EAAIoiC,GAAGniC,KAAKovC,SAASnvC,EAAG,UAAU,CAACG,YAAY,YAAYwB,YAAY,CAAC,WAAa,cAAc,MAAQ,eAAevB,MAAM,CAAC,GAAK,aAAa,gBAAgBN,EAAIsvC,YAAY,eAAe,SAAS/uC,GAAG,CAAC,aAAaP,EAAIuvC,SAAS,CAACrvC,EAAG,SAAS,CAAC2B,YAAY,CAAC,WAAa,cAAc,MAAQ,eAAevB,MAAM,CAAC,GAAK,UAAU,WAAWN,EAAIoqC,GAAG,UAAU,CAAClqC,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,WAAW,CAACA,EAAG,QAAQ,CAACG,YAAY,WAAWC,MAAM,CAAC,GAAK,WAAW,aAAe,MAAM,UAAY,KAAK,SAAW,GAAG,YAAcN,EAAIoqC,GAAG,gBAAgB7pC,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIwvC,wBAAwB,KAAKtvC,EAAG,SAAS,CAAC2B,YAAY,CAAC,mBAAmB,eAAevB,MAAM,CAAC,GAAK,YAAY,WAAWN,EAAIoqC,GAAG,eAAe,CAAClqC,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,MAAM,CAACG,YAAY,sBAAsB,CAACH,EAAG,WAAW,CAACA,EAAG,QAAQ,CAACG,YAAY,kBAAkBC,MAAM,CAAC,GAAK,QAAQ,aAAe,MAAM,KAAO,QAAQ,SAAW,GAAG,YAAcN,EAAIoqC,GAAG,UAAU7pC,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIyvC,qBAAqB,GAAGvvC,EAAG,MAAM,CAACG,YAAY,yBAAyB,CAACH,EAAG,WAAW,CAACA,EAAG,QAAQ,CAACG,YAAY,kBAAkBC,MAAM,CAAC,GAAK,WAAW,YAAcN,EAAIoqC,GAAG,YAAY,KAAO,WAAW,SAAW,IAAI7pC,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAI0vC,wBAAwB,QAAQ,GAAGxvC,EAAG,OAAO,CAACG,YAAY,QAAQC,MAAM,CAAC,GAAK,iBAAiBJ,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAAGL,EAAImqC,uBAAuPnqC,EAAIwB,KAAnOtB,EAAG,YAAY,CAACG,YAAY,mBAAmBwB,YAAY,CAAC,YAAY,OAAO,OAAS,OAAO,MAAQ,MAAM,eAAe,QAAQtB,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAI2vC,YAAY,CAAC3vC,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,iBAA0BlqC,EAAG,YAAY,CAACG,YAAY,mBAAmBwB,YAAY,CAAC,YAAY,OAAO,OAAS,QAAQijB,MAAM,CAAE7Z,MAAOjL,EAAImqC,uBAAyB,OAAS,OAAQ7pC,MAAM,CAAC,UAAYN,EAAI4vC,aAAarvC,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAI6vC,aAAa,CAAC7vC,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,eAAe,IAAI,IAAyN,IAE77E,GAAkB,GCGd,SAAS0F,GAAYhzC,GAC3B,OAAOA,EAAKgpB,MAAM,KAAKzmB,IAAKtB,GAAIA,EAAE,IAAIgoB,KAAK,IAAIgqB,cCNjD,IAAI,GAAS,WAAkB,IAAI/vC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACI,MAAM,CAAC,GAAK,yBAAyB,CAACJ,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAAEN,EAAa,UAAEE,EAAG,MAAM,CAACG,YAAY,8BAA8B,CAACH,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACH,EAAG,MAAM,CAACG,YAAY,oDAAoDH,EAAG,MAAM,CAACG,YAAY,oDAAoDH,EAAG,MAAM,CAACG,YAAY,0DAA0DL,EAAIwB,OAAOtB,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAAEN,EAAwB,qBAAEE,EAAG,kBAAkB,CAACI,MAAM,CAAC,oBAAsBN,EAAIgwC,uBAAuBhwC,EAAIwB,MAAM,GAAGtB,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAAEN,EAAyB,sBAAEE,EAAG,iBAAiB,CAACI,MAAM,CAAC,qBAAuBL,KAAKgwC,qBAAqB,cAAgBhwC,KAAKiwC,cAAc,cAAgBjwC,KAAKkwC,cAAc,OAASlwC,KAAKmwC,UAAUpwC,EAAIwB,MAAM,GAAGtB,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAAEN,EAA0B,uBAAEE,EAAG,YAAY,CAACI,MAAM,CAAC,wBAA0BN,EAAIqwC,2BAA2BrwC,EAAIwB,MAAM,GAAGtB,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACH,EAAG,MAAM,CAACG,YAAY,aAAa,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,yCAAyClqC,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACH,EAAG,MAAM,CAACI,MAAM,CAAC,GAAK,oBAAoB,CAAiC,IAA/BN,EAAIswC,gBAAgBp1C,QAAiB8E,EAAIuwC,SAAYvwC,EAAIwwC,UAA+RxwC,EAAIwB,KAAxRtB,EAAG,MAAM,CAACG,YAAY,sBAAsB,CAACH,EAAG,MAAM,CAACG,YAAY,mBAAmBC,MAAM,CAAC,IAAML,KAAKm9B,UAAUqT,iBAAiBvwC,EAAG,MAAM,CAACG,YAAY,yBAAyBykB,MAAM,CAAE,mBAAmB9kB,EAAI0wC,aAAazwC,KAAKm9B,YAAa98B,MAAM,CAAC,GAAK,yBAAmCN,EAAImwC,gBAAiBnwC,EAAIkwC,eAAmBlwC,EAAI2wC,UAAwK3wC,EAAIwB,KAAjKtB,EAAG,mBAAmB,CAACI,MAAM,CAAC,QAAUN,EAAIuwC,QAAQ,GAAK,sBAAsB,MAAQ,uBAAuB,KAAOvwC,EAAI4wC,qCAA8C,GAAG1wC,EAAG,YAAY,CAACG,YAAY,iCAAiCE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIqwC,6BAA6B,CAACrwC,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,kBAAkB,GAAGlqC,EAAG,MAAM,CAACG,YAAY,qBAAqB,CAACH,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAAGL,EAAI2wC,UAAwqB3wC,EAAIwB,KAAjqBtB,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAAEL,EAAI6wC,OAA6B,uBAAE3wC,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACL,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,qEAAqE,KAAKlqC,EAAG,OAAO,CAACG,YAAY,6BAA6BE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAI8wC,sBAAsB,CAAC9wC,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,YAAYpqC,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,6CAA6C,OAAOpqC,EAAIwB,KAAqC,IAA/BxB,EAAIswC,gBAAgBp1C,QAAiB8E,EAAI6wC,OAAOE,uBAA4I/wC,EAAIwB,KAAxHtB,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,kCAAkC,SAA2BlqC,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACH,EAAG,OAAO,CAACG,YAAY,cAAc,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,WAAW,OAAOlqC,EAAG,YAAY,CAACG,YAAY,aAAaC,MAAM,CAAC,UAAYN,EAAIwwC,YAAcxwC,EAAIgxC,UAAUC,MAAM,CAAC1zC,MAAOyC,EAAW,QAAEkxC,SAAS,SAAUC,GAAMnxC,EAAIuwC,QAAQY,GAAKxwC,WAAW,cAAc,GAAGT,EAAG,MAAM,CAACA,EAAG,SAAS,CAACI,MAAM,CAAC,GAAK,kBAAkB,SAA0C,IAA/BN,EAAIswC,gBAAgBp1C,SAAiB8E,EAAIuwC,SAAShwC,GAAG,CAAC,OAAS,SAASuB,GAAQ,OAAO9B,EAAIoxC,mBAAoBpxC,EAAIyiC,GAAIziC,EAAmB,iBAAE,SAASyL,GAAO,OAAOvL,EAAG,SAAS,CAACoiC,SAAS,CAAC,MAAQ72B,EAAM4lC,WAAW,CAACrxC,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIsxC,kBAAkB7lC,UAAa,GAAGvL,EAAG,YAAY,CAACG,YAAY,yBAAyBC,MAAM,CAAC,SAA0C,IAA/BN,EAAIswC,gBAAgBp1C,SAAiB8E,EAAIuwC,SAAShwC,GAAG,CAAC,MAAQP,EAAIuxC,oBAAoB,CAACrxC,EAAG,cAAc,IAAI,KAAKA,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAAGL,EAAI2wC,UAAmrB3wC,EAAIwB,KAA5qBtB,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAAEL,EAAI6wC,OAAiC,2BAAE3wC,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACL,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,sEAAsE,KAAKlqC,EAAG,OAAO,CAACG,YAAY,6BAA6BE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAI8wC,sBAAsB,CAAC9wC,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,YAAYpqC,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,6CAA6C,OAAOpqC,EAAIwB,KAAqC,IAA/BxB,EAAIswC,gBAAgBp1C,QAAiB8E,EAAI6wC,OAAOW,2BAAkJxxC,EAAIwB,KAA1HtB,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,oCAAoC,SAA2BlqC,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACH,EAAG,OAAO,CAACG,YAAY,cAAc,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,aAAa,OAAOlqC,EAAG,YAAY,CAACG,YAAY,aAAaC,MAAM,CAAC,UAAYN,EAAIwwC,YAAcxwC,EAAIyxC,UAAUR,MAAM,CAAC1zC,MAAOyC,EAAW,QAAEkxC,SAAS,SAAUC,GAAMnxC,EAAI0xC,QAAQP,GAAKxwC,WAAW,cAAc,GAAGT,EAAG,MAAM,CAACA,EAAG,SAAS,CAACI,MAAM,CAAC,GAAK,kBAAkB,SAA0C,IAA/BN,EAAI2xC,gBAAgBz2C,SAAiB8E,EAAI0xC,SAASnxC,GAAG,CAAC,OAAS,SAASuB,GAAQ,OAAO9B,EAAIoxC,mBAAoBpxC,EAAIyiC,GAAIziC,EAAmB,iBAAE,SAASwO,GAAO,OAAOtO,EAAG,SAAS,CAACoiC,SAAS,CAAC,MAAQ9zB,EAAM6iC,WAAW,CAACrxC,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIsxC,kBAAkB9iC,UAAa,GAAGtO,EAAG,YAAY,CAACG,YAAY,yBAAyBC,MAAM,CAAC,SAA0C,IAA/BN,EAAI2xC,gBAAgBz2C,SAAiB8E,EAAI0xC,SAASnxC,GAAG,CAAC,MAAQP,EAAIuxC,oBAAoB,CAACrxC,EAAG,cAAc,IAAI,GAAGA,EAAG,QAAQ,CAACI,MAAM,CAAC,GAAK,cAAc,KAAO,IAAI,IAAM,MAAM,QAAU,MAAM,MAAQ,IAAI,IAAM,IAAI,IAAM,WAAyB,UAAbN,EAAI4xC,KAAkB1xC,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACH,EAAG,YAAY,CAACG,YAAY,oCAAoCE,GAAG,CAAC,MAAQ,SAASuB,GAAQ9B,EAAIoxC,gBAAiBpxC,EAAIowC,YAAY,CAACpwC,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,qBAAqB,OAAOlqC,EAAG,MAAM,CAAC2B,YAAY,CAAC,iBAAiB,SAAS,CAAC3B,EAAG,YAAY,CAACG,YAAY,8CAA8CC,MAAM,CAAC,GAAK,kBAAkBC,GAAG,CAAC,MAAQP,EAAIgwC,sBAAsB,CAAC9vC,EAAG,eAAeA,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,0BAA0B,GAAGlqC,EAAG,YAAY,CAACG,YAAY,6CAA6CunC,MAAM,CAACiK,UAAW7xC,EAAImwC,gBAAkBnwC,EAAIkwC,eAAe5vC,MAAM,CAAC,GAAK,0BAA0BC,GAAG,CAAC,MAAQ,SAASuB,GAAQ9B,EAAIoxC,gBAAiBpxC,EAAIiwC,0BAA2B,CAAC/vC,EAAG,QAAQA,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,wBAAwB,IAAI,IAAI,GAAGpqC,EAAIwB,QAAQ,IAEzpM,GAAkB,G,wBCFlB,GAAS,WAAkB,IAAIxB,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,kBAAkBE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIgwC,yBAAyB,CAAC9vC,EAAG,MAAM,CAACG,YAAY,eAAeE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAOA,EAAOylC,qBAAqB,CAACrnC,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,MAAM,CAACG,YAAY,YAAY,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,yBAAyBlqC,EAAG,UAAU,CAACI,MAAM,CAAC,oBAAmB,IAAO,CAACJ,EAAG,eAAe,CAACI,MAAM,CAAC,YAAY,KAAK,CAACJ,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,0BAA0BlqC,EAAG,UAAU,CAACI,MAAM,CAAC,KAAO,YAAY,oBAAmB,GAAMwxC,KAAK,aAAa,CAAC5xC,EAAG,UAAU,CAACG,YAAY,WAAWC,MAAM,CAAC,oBAAmB,IAAO,CAACJ,EAAG,eAAe,CAACI,MAAM,CAAC,YAAY,KAAK,CAACJ,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,8DAA8DlqC,EAAG,UAAU,CAACI,MAAM,CAAC,KAAO,YAAY,oBAAmB,GAAMwxC,KAAK,aAAa,CAAC5xC,EAAG,eAAe,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACL,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,wfAAwf,UAAU,IAAI,IAAI,IAAI,IAAI,GAAGlqC,EAAG,eAAe,CAACI,MAAM,CAAC,YAAY,KAAK,CAACJ,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,8BAA8BlqC,EAAG,UAAU,CAACI,MAAM,CAAC,KAAO,YAAY,oBAAmB,GAAMwxC,KAAK,aAAa,CAAC5xC,EAAG,UAAU,CAACG,YAAY,WAAWC,MAAM,CAAC,oBAAmB,IAAO,CAACJ,EAAG,eAAe,CAACI,MAAM,CAAC,YAAY,KAAK,CAACJ,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,6BAA6BlqC,EAAG,UAAU,CAACI,MAAM,CAAC,KAAO,YAAY,oBAAmB,GAAMwxC,KAAK,aAAa,CAAC5xC,EAAG,eAAe,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACL,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,6XAA6X,UAAU,IAAI,GAAGlqC,EAAG,eAAe,CAACI,MAAM,CAAC,YAAY,KAAK,CAACJ,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,kEAAkElqC,EAAG,UAAU,CAACI,MAAM,CAAC,KAAO,YAAY,oBAAmB,GAAMwxC,KAAK,aAAa,CAAC5xC,EAAG,eAAe,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACL,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,6TAA6T,UAAU,IAAI,IAAI,IAAI,IAAI,GAAGlqC,EAAG,eAAe,CAACI,MAAM,CAAC,YAAY,KAAK,CAACJ,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,gDAAgDlqC,EAAG,UAAU,CAACI,MAAM,CAAC,KAAO,YAAY,oBAAmB,GAAMwxC,KAAK,aAAa,CAAC5xC,EAAG,UAAU,CAACG,YAAY,WAAWC,MAAM,CAAC,oBAAmB,IAAO,CAACJ,EAAG,eAAe,CAACI,MAAM,CAAC,YAAY,KAAK,CAACJ,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,gCAAgClqC,EAAG,UAAU,CAACI,MAAM,CAAC,KAAO,YAAY,oBAAmB,GAAMwxC,KAAK,aAAa,CAAC5xC,EAAG,eAAe,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACL,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,6TAA6T,UAAU,IAAI,GAAGlqC,EAAG,eAAe,CAACI,MAAM,CAAC,YAAY,KAAK,CAACJ,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,+CAA+ClqC,EAAG,UAAU,CAACI,MAAM,CAAC,KAAO,YAAY,oBAAmB,GAAMwxC,KAAK,aAAa,CAAC5xC,EAAG,eAAe,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACL,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,wNAAwN,UAAU,IAAI,GAAGlqC,EAAG,eAAe,CAACI,MAAM,CAAC,YAAY,KAAK,CAACJ,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,4CAA4ClqC,EAAG,UAAU,CAACI,MAAM,CAAC,KAAO,YAAY,oBAAmB,GAAMwxC,KAAK,aAAa,CAAC5xC,EAAG,eAAe,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACL,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,4QAA4Q,UAAU,IAAI,IAAI,IAAI,IAAI,GAAGlqC,EAAG,eAAe,CAACI,MAAM,CAAC,YAAY,KAAK,CAACJ,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,wDAAwDlqC,EAAG,UAAU,CAACI,MAAM,CAAC,KAAO,YAAY,oBAAmB,GAAMwxC,KAAK,aAAa,CAAC5xC,EAAG,UAAU,CAACG,YAAY,WAAWC,MAAM,CAAC,oBAAmB,IAAO,CAACJ,EAAG,eAAe,CAACI,MAAM,CAAC,YAAY,KAAK,CAACJ,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,2CAA2ClqC,EAAG,UAAU,CAACI,MAAM,CAAC,KAAO,YAAY,oBAAmB,GAAMwxC,KAAK,aAAa,CAAC5xC,EAAG,eAAe,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACL,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,0QAA0Q,UAAU,IAAI,GAAGlqC,EAAG,eAAe,CAACI,MAAM,CAAC,YAAY,KAAK,CAACJ,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,wCAAwClqC,EAAG,UAAU,CAACI,MAAM,CAAC,KAAO,YAAY,oBAAmB,GAAMwxC,KAAK,aAAa,CAAC5xC,EAAG,eAAe,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACL,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,iOAAiO,UAAU,IAAI,IAAI,IAAI,IAAI,GAAGlqC,EAAG,eAAe,CAACI,MAAM,CAAC,YAAY,KAAK,CAACJ,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,iBAAiBlqC,EAAG,UAAU,CAACI,MAAM,CAAC,KAAO,YAAY,oBAAmB,GAAMwxC,KAAK,aAAa,CAAC5xC,EAAG,UAAU,CAACG,YAAY,WAAWC,MAAM,CAAC,oBAAmB,IAAO,CAACJ,EAAG,eAAe,CAACI,MAAM,CAAC,YAAY,KAAK,CAACJ,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,4BAA4BlqC,EAAG,UAAU,CAACI,MAAM,CAAC,KAAO,YAAY,oBAAmB,GAAMwxC,KAAK,aAAa,CAAC5xC,EAAG,eAAe,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACL,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,kRAAkR,UAAU,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAGlqC,EAAG,YAAY,CAACG,YAAY,mBAAmBwB,YAAY,CAAC,aAAa,OAAO,MAAQ,QAAQ,OAAS,QAAQtB,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIgwC,yBAA0B,CAAChwC,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,eAAe,MAEroQ,GAAkB,GC6KP,IACfttC,KAAM,kBACJ22B,MAAO,CACLuc,oBAAqB+B,WClL0L,MCQ/M,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAI/xC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,cAAcE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIiwC,0BAA0B,CAAC/vC,EAAG,MAAM,CAACG,YAAY,eAAeE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAOA,EAAOylC,qBAAqB,CAACrnC,EAAG,KAAK,CAACG,YAAY,YAAY,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,uBAAuBlqC,EAAG,MAAM,CAACA,EAAG,MAAM,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAA6B,MAAtByC,EAAIgyC,eAAwBrxC,WAAW,2BAA2BN,YAAY,cAAc,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,mCAAmC,SAAgC,WAAtBpqC,EAAIgyC,eAA6B9xC,EAAG,MAAM,CAACG,YAAY,cAAc,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,6CAA6CpqC,EAAIwB,KAA4B,UAAtBxB,EAAIgyC,eAA4B9xC,EAAG,MAAM,CAACA,EAAG,MAAM,CAACG,YAAY,aAAa,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,mDAAmDlqC,EAAG,MAAM,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,yCAAyCpqC,EAAIyiC,GAAIxiC,KAAKgyC,iBAA4B,aAAE,SAASC,GAAY,OAAOhyC,EAAG,QAAQ,CAACrC,IAAIq0C,EAAWttC,MAAMg3B,SAAS,CAAC17B,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAG8P,EAAWttC,MAAMg3B,kBAAiB,GAAG57B,EAAIwB,KAAKtB,EAAG,MAAM,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAA0B,MAAnByC,EAAImyC,YAAqBxxC,WAAW,wBAAwBN,YAAY,cAAc,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,4CAA4C,SAA6B,WAAnBpqC,EAAImyC,YAA0BjyC,EAAG,MAAM,CAACA,EAAG,MAAM,CAACG,YAAY,cAAc,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,iEAAiElqC,EAAG,MAAM,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,4BAA4BlqC,EAAG,QAAQ,CAACA,EAAG,MAAM,CAACG,YAAY,YAAY,EAAyC,IAAvCJ,KAAKmyC,cAAc3mC,MAAM4mC,UAAoBnyC,EAAG,QAAQ,CAACF,EAAIsyC,GAAG,GAAGpyC,EAAG,KAAK,CAACA,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,aAAa,OAAOlqC,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGniC,KAAKmyC,cAAc3mC,MAAM8mC,IAAItW,QAAQ,IAAI,cAAc/7B,EAAG,KAAK,CAACA,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,8BAA8B,OAAOlqC,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGniC,KAAKmyC,cAAc3mC,MAAM+mC,QAAQvW,QAAQ,IAAI,aAAa/7B,EAAG,KAAK,CAACA,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,gCAAgC,OAAOlqC,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGniC,KAAKmyC,cAAc3mC,MAAMgX,UAAUwZ,QAAQ,IAAI,YAAY/7B,EAAG,KAAK,CAACA,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,2BAA2B,OAAOlqC,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGniC,KAAKmyC,cAAc3mC,MAAMgnC,gBAAgBxW,QAAQ,IAAI,WAAWj8B,EAAIwB,OAAOtB,EAAG,MAAM,CAACG,YAAY,YAAY,EAAyC,IAAvCJ,KAAKmyC,cAAc3mC,MAAM4mC,UAAqBnyC,EAAG,QAAQ,CAACF,EAAIsyC,GAAG,GAAGpyC,EAAG,KAAK,CAACA,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,yCAAyClqC,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGniC,KAAKmyC,cAAc3mC,MAAMinC,eAAe1yC,EAAIwB,OAAOtB,EAAG,MAAM,CAACG,YAAY,YAAY,EAAyC,IAAvCJ,KAAKmyC,cAAc5jC,MAAM6jC,UAAoBnyC,EAAG,QAAQ,CAACF,EAAIsyC,GAAG,GAAGpyC,EAAG,KAAK,CAACA,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,aAAa,OAAOlqC,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGniC,KAAKmyC,cAAc5jC,MAAM+jC,IAAItW,QAAQ,IAAI,cAAc/7B,EAAG,KAAK,CAACA,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,8BAA8B,OAAOlqC,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGniC,KAAKmyC,cAAc5jC,MAAMgkC,QAAQvW,QAAQ,IAAI,aAAa/7B,EAAG,KAAK,CAACA,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,2BAA2B,OAAOlqC,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGniC,KAAKmyC,cAAc5jC,MAAMikC,gBAAgBxW,QAAQ,IAAI,WAAWj8B,EAAIwB,OAAOtB,EAAG,MAAM,CAACG,YAAY,YAAY,EAAyC,IAAvCJ,KAAKmyC,cAAc5jC,MAAM6jC,UAAqBnyC,EAAG,QAAQ,CAACF,EAAIsyC,GAAG,GAAGpyC,EAAG,KAAK,CAACA,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,yCAAyClqC,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGniC,KAAKmyC,cAAc5jC,MAAMkkC,eAAe1yC,EAAIwB,WAAWxB,EAAIwB,KAAyB,UAAnBxB,EAAImyC,YAAyBjyC,EAAG,MAAM,CAACA,EAAG,MAAM,CAACG,YAAY,aAAa,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,4DAA4DlqC,EAAG,MAAM,CAACF,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,yCAAyClqC,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGniC,KAAK0yC,qBAAqB3yC,EAAIwB,KAAKtB,EAAG,MAAM,CAACG,YAAY,cAAc,CAAqB,MAAnBL,EAAImyC,aAA6C,MAAtBnyC,EAAIgyC,eAAwB9xC,EAAG,YAAY,CAACG,YAAY,mBAAmBwB,YAAY,CAAC,mBAAmB,mBAAmBtB,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAI4yC,gBAAgB,CAAC5yC,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,qBAAqB,OAAOpqC,EAAIwB,KAAyB,MAAnBxB,EAAImyC,aAA6C,MAAtBnyC,EAAIgyC,eAAwB9xC,EAAG,YAAY,CAACG,YAAY,mBAAmBwB,YAAY,CAAC,mBAAmB,mBAAmBtB,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIiwC,0BAA2B,CAACjwC,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,cAAc,OAAOpqC,EAAIwB,KAAyB,MAAnBxB,EAAImyC,aAA6C,MAAtBnyC,EAAIgyC,eAAwB9xC,EAAG,YAAY,CAACG,YAAY,mBAAmBwB,YAAY,CAAC,cAAc,MAAM,mBAAmB,uBAAuBtB,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIiwC,0BAA2B,CAACjwC,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,WAAW,OAAOpqC,EAAIwB,MAAM,UAEl/I,GAAkB,CAAC,WAAY,IAAIxB,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACI,MAAM,CAAC,QAAU,MAAM,CAACN,EAAIgC,GAAG,cACtH,WAAY,IAAIhC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACI,MAAM,CAAC,QAAU,MAAM,CAACN,EAAIgC,GAAG,cACjG,WAAY,IAAIhC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACI,MAAM,CAAC,QAAU,MAAM,CAACN,EAAIgC,GAAG,cACjG,WAAY,IAAIhC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACI,MAAM,CAAC,QAAU,MAAM,CAACN,EAAIgC,GAAG,eCDnG,MAAM6wC,GAAK,EAAQ,QAAmBC,SAAS,CAACC,KAAK,IAI/CC,GAAkB,6CAkBxBvU,eAAewU,GAAaC,EAASC,GAAe,GAC9CA,GACF/vC,QAAQg2B,MAAM,kBAAkB9T,KAAKC,UAAU2tB,EAAS,OAE1D,IAAIE,EAAM,KACV,IACEA,QAAYP,GAAGK,GACf,MAAMxzC,GAEN0D,QAAQC,IAAI,UAAY3D,GAK1B,OAHIyzC,GACF/vC,QAAQg2B,MAAM,qBAAqB9T,KAAKC,UAAU6tB,EAAK,OAElDA,EAYT,MAAMC,GAAiBC,IACrB,MAAMC,EAAUjuB,KAAKkuB,MAAMF,EAAaC,SACxC,IAAKA,EAAS,CACZ,MAAM3uC,EAAQ,IAAIjF,MAAM2zC,EAAaztC,aAOrC,MANIytC,EAAax2C,OACf8H,EAAM9H,KAAOw2C,EAAax2C,MAExBw2C,EAAa1zC,OACfgF,EAAMhF,KAAO0zC,EAAa1zC,MAEtBgF,IAgFH65B,eAAegV,GAA4BC,EAAKh5C,GACrD,MAAMwrB,QAAiB+sB,GAAY,CACjCU,OAAQ,MACRC,IAAQZ,GAAH,8BACLa,GAAIn5C,EACJ6J,MAAM,IAGR,OADA8uC,GAAcntB,GACPA,EC2CT,MAAM4tB,GAAc,EAAQ,QAA2Bt1C,QAExC,QACb1B,KAAM,cACNpC,KAAM,KAAM,CACVkrB,KAAM,KACNusB,YAAa,KACbC,cAAe,KACfO,aAAc,KACdX,eAAgB,KAChBC,iBAAkB,KAClB8B,gBAAiB,OAEnBtgB,MAAO,CACLwc,qBAAsB8B,SACtB3B,OAAQ2B,SACR7B,cAAe8D,OACf7D,cAAe6D,QAEjB,UACE/zC,KAAKg0C,eAEPpiC,SAAU,IACL,eAAW,CAAC,eAEjBE,QAAS,CAEP,oBACE,IAAImM,EAAOje,KACX,MAAMvF,EAAO,CACXmzC,QAAS5tC,KAAKm9B,UAAU59B,GACxB00C,UAAWj0C,KAAKm9B,UAAU/K,UAC1ByQ,KAAM7iC,KAAKqvC,YACX6E,QAASl0C,KAAKm9B,UAAU59B,GAAK,SAEzB40C,EAAc,OACdr4C,QAAe,GAA0Cq4C,EAAa15C,GAC5EuF,KAAK2lB,KAAO,IAAIkuB,GAAY,KAAI,CAC1BO,OAAQt4C,EAAOu4C,QACfC,UAAWx4C,EAAOy4C,WAClBC,MAAO14C,EAAO24C,cAEhB,CACEC,QAAS,IACTC,YAAa30C,KAAKiwC,cAClB2E,YAAa50C,KAAKkwC,gBAGxBjyB,EAAK0H,KAAKkvB,mBAAmBx9B,KAAMy9B,IAEjC72B,EAAK+zB,iBAAmB8C,EACxB72B,EAAK8zB,eAAiB,UAEtB9zB,EAAK0H,KAAKovB,aAAY,SAAwBC,OAAW39B,KAAMy9B,IAE7D72B,EAAKk0B,cAAgB2C,EACrB72B,EAAKi0B,YAAc,YAElB56B,MAAO3S,IAERsZ,EAAKy0B,aAAe/tC,EACpBsZ,EAAKi0B,YAAc,aAEpB56B,OAAM,SAAU3S,GAEjBsZ,EAAK61B,gBAAkBnvC,EACvBsZ,EAAK8zB,eAAiB,SACtB9zB,EAAKi0B,YAAc,aAGvB,aACElyC,KAAKkyC,YAAc,KACnBlyC,KAAKmyC,cAAgB,KACrBnyC,KAAK0yC,aAAe,KACpB1yC,KAAK+xC,eAAiB,KACtB/xC,KAAKgyC,iBAAmB,KACxBhyC,KAAK8zC,gBAAkB,KACvB9zC,KAAKg0C,eAEP,aACEh0C,KAAK2lB,KAAK6R,UCjRkM,MCQ9M,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAIz3B,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,YAAYE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIqwC,6BAA6B,CAACnwC,EAAG,MAAM,CAACG,YAAY,eAAeE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAOA,EAAOylC,qBAAqB,CAACrnC,EAAG,KAAK,CAACG,YAAY,YAAY,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,iBAAiBlqC,EAAG,IAAI,CAAC2B,YAAY,CAAC,YAAY,OAAO,aAAa,WAAW,CAAC7B,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,6HAA6H,OAAOlqC,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACH,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAAGN,EAAIk1C,gBAA+Tl1C,EAAIwB,KAAlTtB,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,MAAM,CAACG,YAAY,oDAAoDH,EAAG,MAAM,CAACG,YAAY,oDAAoDH,EAAG,MAAM,CAACG,YAAY,4DAAqEH,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAAyB,YAAvBN,EAAIk1C,gBAA+Bh1C,EAAG,MAAM,CAACG,YAAY,yBAAyB,CAACH,EAAG,YAAY,CAACG,YAAY,yCAAyCE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIm1C,iBAAiB,CAAEn1C,EAAW,QAAEE,EAAG,YAAYA,EAAG,cAAc,GAAGA,EAAG,QAAQ,CAACG,YAAY,gBAAgBC,MAAM,CAAC,KAAO,MAAM,IAAM,MAAM,QAAU,MAAM,MAAQ,IAAI,IAAM,IAAI,IAAM,QAAQ,GAAGN,EAAIwB,OAAOtB,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAAyB,UAAvBN,EAAIk1C,gBAA6Bh1C,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACH,EAAG,IAAI,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,6CAA6ClqC,EAAG,YAAY,CAACG,YAAY,mBAAmBwB,YAAY,CAAC,gBAAgB,QAAQtB,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAI4yC,gBAAgB,CAAC5yC,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,gBAAgB,QAAQ,GAAGpqC,EAAIwB,QAAQ,GAAGtB,EAAG,YAAY,CAACG,YAAY,mBAAmBE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIqwC,6BAA6B,CAACrwC,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,cAAclqC,EAAG,MAAM,CAAC2B,YAAY,CAAC,QAAU,QAAQvB,MAAM,CAAC,GAAK,0BAA0BJ,EAAG,MAAM,CAAC2B,YAAY,CAAC,QAAU,QAAQvB,MAAM,CAAC,GAAK,0BAA0B,MAE5lE,GAAkB,GC6OtB,MAAM80C,GAA6B,EAAQ,QACvB,EAAQ,QAA2B52C,QAExC,QACbu6B,WAAY,CAACsc,SAAA,QAASzI,aAAA,MACtBlyC,KAAM,KAAM,CACV0/B,QAAS,KACToW,UAAW,KACX8E,WAAY,KACZC,oBAAoB,EACpBL,gBAAiB,KACjBxD,SAAS,IAEXje,MAAO,CACL+hB,iBAAkBzD,SAClB1B,wBAAyB0B,UAE3BlgC,SAAU,IACL,eAAW,CAAC,mBAAoB,eAErC,UACEzO,QAAQC,IAAI,uBACZpD,KAAKw1C,YAEP,YACEryC,QAAQC,IAAI,0BACZpD,KAAKy1C,WAEP3jC,QAAS,CACP,aACE9R,KAAKi1C,gBAAkB,KACvBj1C,KAAKy1C,UACLz1C,KAAKw1C,YAEP,cACEx1C,KAAKyxC,SAAWzxC,KAAKyxC,QACrBzxC,KAAKq1C,WAAWK,eAAe11C,KAAKyxC,QAAU,IAAO,IAEvD,WACEzxC,KAAK21C,YAEP,iBACE,IAAI13B,EAAOje,KACXA,KAAK41C,sBAAsBv+B,KAAMk5B,IAC/BvwC,KAAK61C,oBAAoBx+B,KAAM8iB,IAC7Blc,EAAKkc,QAAUA,EACflc,EAAKsyB,UAAYtyB,EAAKkc,QAAQ2b,QAAQvF,EAAY5rC,IAC5CA,GACFxB,QAAQwB,MAAMA,GACdsZ,EAAKg3B,gBAAkB,WAEvB9xC,QAAQC,IAAI,kCACZpD,KAAK+1C,qBAAqB93B,EAAKsyB,UAAWtyB,EAAKkc,SAAS9iB,KAAMg+B,IAC5Dp3B,EAAKo3B,WAAaA,EAClBp3B,EAAKg3B,gBAAkB,WACvBh3B,EAAKo3B,WAAW/0C,GAAG,qBAAqB,SAASod,GAE/C,IAAIs4B,EAAYh7B,KAAK5X,IAAIsa,EAAMu4B,YAAcj7B,KAAKk7B,KAAQ,IAAM,EAChEF,EAAWh7B,KAAKwM,IAAIxM,KAAKm7B,IAAIH,EAAU,GAAI,GAAK,EAChDpjC,SAASC,uBAAuB,iBAAiB,GAAGvV,MAAQ04C,EAAS,OAEtE1+B,OAAM,SAAU7X,GACjB0D,QAAQwB,MAAMlF,WAInB6X,OAAM,SAAU7X,GACjBwe,EAAKg3B,gBAAkB,SACvB9xC,QAAQwB,MAAMlF,QAEf6X,OAAM,SAAU7X,GACjBwe,EAAKg3B,gBAAkB,SACvB9xC,QAAQwB,MAAMlF,OAGlB,UACKO,KAAKm6B,UACNn6B,KAAKm6B,QAAQic,YAAYp2C,KAAKq1C,YAC9Br1C,KAAKm6B,QAAQkc,UAAUr2C,KAAKuwC,YAE3BvwC,KAAKuwC,WACNvwC,KAAKuwC,UAAU+F,UAEdt2C,KAAKm6B,SACNn6B,KAAKm6B,QAAQoc,cAEjBX,oBAAqBpX,iBACnB,MAAMvgB,EAAOje,KACb,OAAO,IAAIyX,QAAS5X,IAClB,MAAMozC,EAAU,CACd2B,YAAa,KACbD,YAAa30C,KAAKw2C,kBAEpB,IAAIjG,EAAY,KAAGkG,cAAc,sBAAuBxD,EAAUtuC,IAC5DA,GACFxB,QAAQC,IAAIuB,GACZsZ,EAAKg3B,gBAAkB,WAEvB9xC,QAAQC,IAAI,kCACZvD,EAAQ0wC,SAKhBwF,qBAAsBvX,eAAe+R,EAAWpW,GAC9C,MAAMlc,EAAOje,KACb,OAAO,IAAIyX,QAAS5X,IAClB,MAAM62C,EAAoB,CACxB7xB,MAAO,CACL6pB,sBAAuB,OACvBiI,mBAAoBxB,GACpBvG,gBAAiB,OACjBgI,wBAAwB,EACxBC,iBAAiB,EACjBC,kBAAkB,EAClBC,cAAc,GAQhBC,aAAa,GAEf,IAAI3B,EAAalb,EAAQ8c,UACrB1G,EAAUxB,OACV,uBACA2H,EACA/xC,IACMA,GACFxB,QAAQwB,MAAMA,GACdsZ,EAAKg3B,gBAAkB,WAEvB9xC,QAAQC,IAAI,mCACZvD,EAAQw1C,SAKpBQ,kBAAmBrX,iBACjB,MAAMvgB,EAAOje,KACb,OAAO,IAAIyX,QAAQ5X,IACjB,MAAMpF,EAAO,CACXmzC,QAAS5tC,KAAKm9B,UAAU59B,GACxB00C,UAAWj0C,KAAKm9B,UAAU/K,UAC1ByQ,KAAM7iC,KAAKm9B,UAAUC,UACrB8W,QAASl0C,KAAKm9B,UAAU59B,GAAK,SAEzB40C,EAAc,OACpB,GAA0CA,EAAa15C,GAAM4c,KAAMvb,IACjE,MAAMo7C,EAAqB,CACzB9C,OAAQt4C,EAAOu4C,QACfC,UAAWx4C,EAAOy4C,WAClBC,MAAO14C,EAAO24C,cAEVta,EAAU,KAAGgd,YAAYD,EAAmB9C,OAAQ8C,EAAmB5C,WAC7Ena,EAAQ75B,GAAG,CACT82C,kBAAmB,KACjBj0C,QAAQk0C,KAAK,uBAEfC,oBAAqB,KACnBn0C,QAAQk0C,KAAK,yBAEfE,iBAAkB,KAChBp0C,QAAQk0C,KAAK,sBAEfG,oBAAqB,KACnBr0C,QAAQk0C,KAAK,yBAEfI,mBAAoB,KAClBt0C,QAAQk0C,KAAK,uBAEfK,oBAAqB,KACnBv0C,QAAQk0C,KAAK,wBAEfM,cAAe,KACbx0C,QAAQk0C,KAAK,kBAEfO,gBAAiB,KACfz0C,QAAQk0C,KAAK,sBAGjBld,EAAQ0d,QAAQX,EAAmB1C,MAAO7vC,IACpCA,GACFxB,QAAQwB,MAAMA,GACdsZ,EAAKg3B,gBAAkB,UAEvBp1C,EAAQs6B,YC3auL,MCQzM,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,4DC+Kf,MAAM,GAA6B,EAAQ,QAE5B,QACb4N,OAAQ,CAAC,uBACTjP,WAAY,CAACgf,mBAAgBC,kBAAeC,aAAA,KAAUC,YAAA,QAAYC,eAAA,KAAYC,QAAA,KAAKC,cACnF39C,KAAM,KAAM,CACV61C,SAAS,EACTmB,SAAS,EACTpB,gBAAiB,GACjBqB,gBAAiB,GACjB2G,UAAW,KACXC,uBAAuB,EACvBC,sBAAsB,EACtBC,wBAAwB,EACxBjI,UAAW,KACXG,WAAW,EACXC,iCAAkC,CAChC3lC,MAAO,OACPC,OAAQ,OACRsjC,QAAS,UACT/rB,UAAW,GACXgsB,iBAAiB,EACjB/xB,WAAY,UACZgyB,cAAc,EACd5pB,MAAO,CACL6pB,sBAAuB,MACvBC,kBAAmB,MACnBC,gBAAiB,MACjB+H,mBAAoB,KAGxB/F,OAAQ,CACN6H,kBAAkB,EAClBlH,4BAA4B,EAC5BT,wBAAwB,KAG5Btd,MAAO,CACLklB,sBAAuB5G,SACvBtwC,YAAaswC,SACb5C,gBAAiB9V,QACjBv4B,qBAAsBu4B,QACtBuY,KAAMoC,QAERniC,SAAU,IACL,eAAS,CACVqoB,qBAAuBC,GAAUA,EAAMC,QAAQF,0BAE9C,eAAW,CAAC,mBAAoB,mBAAoB,YAAa,YAAa,cACjF,gBACE,OAAOj6B,KAAK24C,kBAEd,gBACE,OAAO34C,KAAKw2C,kBAEd,WACE,QAAGx2C,KAAKuwC,WAAkBvwC,KAAKuwC,UAAUqI,kBAG3C,WACE,OAAO54C,KAAKuwC,WAAavwC,KAAKuwC,UAAU/oC,cAAgB,IAG5DysB,MAAO,CACL,cAAcuM,GACRA,GAAYxgC,KAAKuwC,WAAWvwC,KAAK64C,qBAEvC,cAAcrY,GACRA,GAAYxgC,KAAKuwC,WAAWvwC,KAAK84C,wBAEvC,QAAQtY,GACNxgC,KAAKua,OAAOC,OAAO,aAAcgmB,IAEnC,QAAQA,GAEN,GADAxgC,KAAKua,OAAOC,OAAO,aAAcgmB,IAC5BA,EAAU,CACb,GAAI5tB,SAAS+Y,eAAe,oBAAqB,CAC/C,IAAIotB,EAAQnmC,SAAS+Y,eAAe,oBACpCotB,EAAMl0B,MAAMm0B,UAAY,aAE1B,GAAIpmC,SAAS+Y,eAAe,eAAgB,CAC1C,IAAIstB,EAAQrmC,SAAS+Y,eAAe,eACpCstB,EAAM37C,MAAQ,MAKtB,UACE,MAAM2gB,EAAOje,KACb4S,SAASsmC,UAAY,SAAUx7B,GACX,UAAdA,EAAM9f,KAAmBgV,SAAS+Y,eAAe,0BACnD1N,EAAKkzB,gBACLlzB,EAAKkyB,WAGLnwC,KAAKm5C,UACPn5C,KAAKyxC,QAAUzxC,KAAKm5C,UAEpBn5C,KAAKua,OAAOC,OAAO,aAAcxa,KAAKyxC,SAEpCzxC,KAAKo5C,UACPp5C,KAAKswC,QAAUtwC,KAAKo5C,UAEpBp5C,KAAKua,OAAOC,OAAO,aAAcxa,KAAKswC,SAExCtwC,KAAKq5C,MAAMC,IAAI,qBAAuB/I,IACpCtyB,EAAKsyB,UAAYA,EACjBtyB,EAAKs7B,sCAEP,IAAIC,EAAU5mC,SAAS4D,cAAc,OACrCgjC,EAAQ30B,MAAM40B,QAAU,OACxB7mC,SAAS8mC,qBAAqB,QAAQ,GAAGl1B,YAAYg1B,GACrDx5C,KAAK6wC,mBAAmBx5B,KAAMvb,IACvBmiB,EAAK2yB,OAAOW,6BACftzB,EAAKwzB,SAAU,EACfxzB,EAAK1D,OAAOC,OAAO,aAAcxa,KAAKyxC,UAEpCxzB,EAAK2yB,OAAOE,yBACd7yB,EAAKqyB,SAAU,EACfryB,EAAK1D,OAAOC,OAAO,aAAcxa,KAAKswC,UAExCp9B,YAAW,WACT+K,EAAKyyB,WAAY,IAChB,QAGP5+B,QAAS,CAcP++B,iBAAkBrS,iBAChB,MAAMvgB,EAAOje,KACb,OAAO,IAAIyX,QAAQ,CAAC5X,EAAS85C,KAC3B,IAAIH,EAAU5mC,SAAS4D,cAAc,OACrCgjC,EAAQ30B,MAAM40B,QAAU,OAExB,IAAIG,EAAM,KAAGnD,cAAc+C,EAAS,CAAC7E,aAAa,EAAMC,aAAa,IAAO,SAAUjwC,GACpF,GAAGA,EAED,GADAxB,QAAQwB,MAAMA,GACK,OAAfA,EAAMhF,MAAgC,gCAAfgF,EAAM9H,KAAwC,CACvEsG,QAAQC,IAAI,0BACZ6a,EAAK2yB,OAAO6H,kBAAmB,EAC/B,IAAIoB,EAAO,KAAGpD,cAAc+C,EAAS,CAAC7E,aAAa,EAAMC,aAAa,IAAQ,SAAUjwC,GAClFA,GACFxB,QAAQwB,MAAM,sCACdsZ,EAAK2yB,OAAOW,4BAA6B,IAEzCsI,EAAKvD,UACLr4B,EAAKqzB,oBACAj6B,MAAK,WACJ4G,EAAK67B,mCACAziC,MAAK,WACJ4G,EAAKkzB,0BAKjB4I,EAAO,KAAGtD,cAAc+C,EAAS,CAAC7E,aAAa,EAAOC,aAAa,IAAO,SAAUjwC,GAClFA,GACFxB,QAAQwB,MAAM,kCACdsZ,EAAK2yB,OAAOE,wBAAyB,EACrCjxC,EAAQ,KAERk6C,EAAKzD,UACLr4B,EAAKqzB,oBACAj6B,MAAK,WACJ4G,EAAK67B,mCACAziC,MAAK,WACJ4G,EAAKkzB,gBACLtxC,EAAQ,kBAMxBA,EAAQ,QAGV+5C,EAAItD,UACJr4B,EAAKqzB,oBACAj6B,MAAK,WACJ4G,EAAK67B,mCACAziC,MAAK,WACJ4G,EAAKkzB,gBACLtxC,EAAQ,eAO5B,kBAAkBm6C,GAChB,OAAOA,EAAOC,MAAQD,EAAOC,MAAQD,EAAO5I,UAE9CE,kBAAmB9S,iBACjB,OAAO,IAAI/mB,QAAS5X,IAClB,KAAGq6C,WAAW,CAACv1C,EAAOw1C,KACjBx1C,GAAOxB,QAAQwB,MAAMA,GACxB,IAAIy1C,EAAeD,EAAQ9f,OAAO2f,GAA0B,eAAhBA,EAAOK,MAC/CC,EAAeH,EAAQ9f,OAAO2f,GAA0B,eAAhBA,EAAOK,MACnDr6C,KAAKqwC,gBAAkB+J,EACvBp6C,KAAK0xC,gBAAkB4I,EACvBz6C,SAIN,uBACEG,KAAKmxC,gBACLnxC,KAAKu6C,qBAEPT,iCAAkCtb,iBAChC,MAAMvgB,EAAOje,KACb,OAAO,IAAIyX,QAAS5X,IAClB,IAAI26C,EAAc5nC,SAAS+Y,eAAe,mBACtC8uB,EAAc7nC,SAAS+Y,eAAe,mBAC1C,GAAI3rB,KAAKw2C,iBACP,IAAK,IAAIxwB,EAAI,EAAGA,EAAIy0B,EAAYxH,QAAQh4C,OAAQ+qB,IAC9C,GAAIy0B,EAAYxH,QAAQjtB,GAAG1oB,QAAU2gB,EAAKu4B,iBAAkB,CAC1DiE,EAAYC,cAAgB10B,EAC5B,MAIN,GAAIhmB,KAAK24C,iBACP,IAAK,IAAI3yB,EAAI,EAAGA,EAAIw0B,EAAYv/C,OAAQ+qB,IACtC,GAAIw0B,EAAYvH,QAAQjtB,GAAG1oB,QAAU2gB,EAAK06B,iBAAkB,CAC1D6B,EAAYE,cAAgB10B,EAC5B,MAINnmB,OAGJsxC,cAAe,WACb,IAAIqJ,EAAc5nC,SAAS+Y,eAAe,mBACtC8uB,EAAc7nC,SAAS+Y,eAAe,mBACtC8uB,EAAYxH,QAAQwH,EAAYC,gBAAgB16C,KAAKua,OAAOC,OAAO,mBAAoBigC,EAAYxH,QAAQwH,EAAYC,eAAep9C,OACtIk9C,EAAYvH,QAAQuH,EAAYE,gBAAgB16C,KAAKua,OAAOC,OAAO,mBAAoBggC,EAAYvH,QAAQuH,EAAYE,eAAep9C,QAE5I6yC,OAAQ,WACNnwC,KAAKq5C,MAAMsB,MAAM,oBACjB36C,KAAKwB,cACLxB,KAAK46C,sBACL56C,KAAK04C,wBACL14C,KAAKua,OAAOC,OAAO,2BAA2B,IAEhD,oCACE,MAAMyD,EAAOje,KACbA,KAAKuwC,UAAUjwC,GAAG,qBAAqB,SAAUod,GAO/C,GANuB,OAAnBO,EAAKo6B,WAAsBp6B,EAAKo6B,WAAa36B,EAAMu4B,WACrDh4B,EAAKo6B,UAAY36B,EAAMu4B,WAEvBh4B,EAAKo6B,UAAY,GAAMp6B,EAAKo6B,UAAY,GAAM36B,EAAMu4B,WAGlDh4B,EAAKwzB,QAAS,CAEhB,IAAIuE,EAAYh7B,KAAK5X,IAAI6a,EAAKo6B,WAAar9B,KAAKk7B,KAAQ,IAAM,EAG9D,GAFAF,EAAWh7B,KAAKwM,IAAIxM,KAAKm7B,IAAIH,EAAU,GAAI,GAAK,EAE5CpjC,SAAS+Y,eAAe,oBAAqB,CAC/C,IAAIotB,EAAQnmC,SAAS+Y,eAAe,oBACpCotB,EAAMl0B,MAAMm0B,UAAY,SAAWhD,EAAW,KAAOA,EAAW,IAElE,GAAIpjC,SAAS+Y,eAAe,eAAgB,CAC1C,IAAIstB,EAAQrmC,SAAS+Y,eAAe,eACpCstB,EAAM37C,MAAQ04C,EAAW,QAMjC,aAAa9yC,GACX,MAAQ,IAAMA,EAAKyU,WAAWiO,UAAU,EAAG,IAE7C,oBACE,MAAM3H,EAAOje,KACb,IAAI66C,EAA0C,EAA9B76C,KAAKqwC,gBAAgBp1C,OACjC6/C,EAAQ,EAIZ,SAASC,IACP98B,EAAKsyB,UAAUyK,aACV3jC,KAAK2iC,IACJ/7B,EAAK1D,OAAOC,OAAO,gCAAiCw/B,GACpDc,IACI78B,EAAK06B,mBAAqBqB,EAAO5I,UAAY0J,EAAQD,EACvDI,sBAAsBF,GACb98B,EAAK06B,mBAAqBqB,EAAO5I,WAC1CnzB,EAAKi9B,kBAAmB,KAG3B5jC,MAAM7X,IACL0D,QAAQwB,MAAMlF,KAfjBwe,EAAKi9B,kBACRH,KAkBJ,oBACE,MAAM98B,EAAOje,KACb,IACE,GAAIA,KAAK0xC,gBAAgBz2C,OAAS,EAAG,CACnC,MAAM++C,EAASh6C,KAAK0xC,gBAAgBrX,OAAOz9B,GAAKA,EAAEw0C,WAAapxC,KAAKw2C,kBAAkB,GACtFx2C,KAAKuwC,UAAU4K,eAAenB,EAAO5I,UAChC/5B,KAAK,KACJ4G,EAAK1D,OAAOC,OAAO,gCAAiCw/B,KAErD1iC,MAAM7X,IACL0D,QAAQwB,MAAMlF,MAGtB,MAAOA,GACP0D,QAAQwB,MAAMlF,KAGlB27C,QAAS,WACP,MAAMn9B,EAAOje,KACb,IAAIq7C,EAAS,KAEXA,EAD+B,cAA7Br7C,KAAKm9B,UAAUC,UACRp9B,KAAKua,OAAOwiB,SAAS,iBAErB/8B,KAAKua,OAAOwiB,SAAS,qBAEhC/8B,KAAKq5C,MAAMsB,MAAM,yBACjBx3C,QAAQC,IAAI,qBAAqBpD,KAAK6iC,MACtCwY,EACKhkC,KAAK,IACGrX,KAAKua,OAAOwiB,SAAS,eAE7B1lB,KAAK,KACJ4G,EAAKy6B,wBACLv1C,QAAQC,IAAI,gBAEbkU,MAAO7X,IACN0D,QAAQwB,MAAMlF,MAGtB,uBACEO,KAAKs4C,uBAAyBt4C,KAAKs4C,uBAErC,sBACEt4C,KAAKu4C,sBAAwBv4C,KAAKu4C,sBAEpC,0BACEv4C,KAAKw4C,wBAA0Bx4C,KAAKw4C,0BCriB4K,MCQlN,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCyBA,IACb1f,WAAY,CAACwiB,uBACbvT,OAAQ,CAAC,sBAAuB,uBAChCvU,MAAO,CACLhyB,YAAaswC,SACbjH,oBAAqBiH,SACrBjxC,qBAAsBu4B,SAEzB3+B,KAAM,KAAM,CACT8yB,WAAY,GACZguB,SAAU,KACVC,MAAO,KACPC,SAAU,KACVpM,YAAa,UACbqM,OAAQ,QACRxM,iBAAiB,EACjB2I,aAASntC,EACTilC,aAAa,IAEf/9B,SAAU,IACL,eAAW,CAAC,YAAa,QAAS,cAAc,WAAW,UAAU,2BACxEw9B,KAAM,WACJ,IAAIA,EAAO,IAAI9rC,KACf,OAAQ,IAAM8rC,EAAKuM,WAAWt9C,OAAO,GAAK,KAAO,KAAO+wC,EAAKwM,WAAa,IAAIv9C,OAAO,GAAK,IAAM+wC,EAAKyM,gBAGzG,UACE,IAAI59B,EAAOje,KACX4S,SAASsmC,UAAY,SAASx7B,GACX,UAAdA,EAAM9f,KAAmBqgB,EAAKpd,uBAAyBod,EAAKixB,iBAAmBt8B,SAAS+Y,eAAe,iBAAmB1N,EAAK69B,gBAAkB79B,EAAK89B,gBACvJ99B,EAAK2xB,WAGT5vC,KAAKua,OAAOC,OAAO,cAAc,GACjCxa,KAAKua,OAAOC,OAAO,cAAc,IAEnC1I,QAAS,CACP,SACE,MAAMmM,EAAOje,KACb,IAAIg8C,EAAkB,GACtBh8C,KAAKglC,MAAMxtB,QAASirB,IACfA,EAAEljC,KAAO0e,EAAKkd,aACf6gB,EAAgBzgD,KAAKknC,EAAEljC,MAG3By8C,EAAgBxkC,QAASjY,IACvB0e,EAAK1D,OAAOC,OAAO,aAAcjb,KAEnCS,KAAK6qC,uBAEP,UACE,MAAwB,YAArB7qC,KAAKqvC,YACCrvC,KAAK+7C,cAEL/7C,KAAK87C,gBAEhB,iBACE97C,KAAKu7C,SAAW3oC,SAAS+Y,eAAe,YAAc/Y,SAAS+Y,eAAe,YAAYruB,MAAQ,KAClG0C,KAAKi8C,WAEP,cACEj8C,KAAKw7C,MAAQ5oC,SAAS+Y,eAAe,SAAW/Y,SAAS+Y,eAAe,SAASruB,MAAQ,KACzF0C,KAAKi8C,WAEP,iBACEj8C,KAAKy7C,SAAW7oC,SAAS+Y,eAAe,YAAc/Y,SAAS+Y,eAAe,YAAYruB,MAAQ,KAClG0C,KAAKi8C,WAEP,cACE,IAAIC,EAAQl8C,KAAKu7C,UAAYv7C,KAAKu7C,SAAStgD,QAAU,EAErD,OADA+E,KAAK2vC,YAAcuM,EACZA,GAET,eACE,IAAIA,EAAQl8C,KAAKw7C,OAASx7C,KAAKy7C,SAE/B,OADAz7C,KAAK2vC,YAAcuM,EACZA,GAET,OAAO38C,GACLS,KAAKqvC,YAAc9vC,EACnBS,KAAKi8C,WAEP,iBACEj8C,KAAKkvC,iBAAmBlvC,KAAKkvC,iBAE/B,UAGE,OAFAt8B,SAAS+Y,eAAe,eAAewwB,UAAY,GACnDn8C,KAAKm9B,UAAUif,QAAQp8C,KAAKqvC,aACpBrvC,KAAKqvC,aACX,IAAK,UAAW,CACd,MAAMxyC,EAAOmD,KAAKu7C,SACZv2B,EAAU6qB,GAAYhzC,GAE5BmD,KAAK63C,QAAU73C,KAAKua,OAAOwiB,SAAS,uBAAwB,CAAClgC,OAAMmoB,YAEnE,MAEF,IAAK,YACHhlB,KAAK63C,QAAU73C,KAAKua,OAAOwiB,SAAS,aAAc,CAChDye,MAAOx7C,KAAKw7C,MACZC,SAAUz7C,KAAKy7C,WAGjB,MAEJz7C,KAAK63C,QAAQxgC,KAAK,KAChBlU,QAAQC,IAAI,gBAAgBpD,KAAKqvC,aACjC,GAAagN,cAAcr8C,KAAKm9B,WAChCn9B,KAAK07C,OAAS,WACd17C,KAAKu7C,SAAW,GAChBv7C,KAAKw7C,MAAQ,GACbx7C,KAAKy7C,SAAW,GAChBz7C,KAAKmvC,mBACJ73B,OAAM,SAAU7X,GACA,gBAAdA,EAAEk8B,UACH/oB,SAAS+Y,eAAe,eAAewwB,UAAY,+CAErDh5C,QAAQC,IAAI3D,SCjK6L,MCQ7M,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAIM,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAACJ,EAAG,MAAM,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAAOyC,EAA0B,uBAAEW,WAAW,2BAA2BN,YAAY,mBAAmB,CAACH,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,UAAU,CAACH,EAAG,YAAY,CAACG,YAAY,8BAA8BunC,MAAM,CAAC,6BAAgC5nC,EAAI6hB,qBAAqBvhB,MAAM,CAAC,aAAY,GAAOC,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIu8C,uBAAsB,MAAU,CAACr8C,EAAG,cAAc,IAAI,GAAgB,OAAZF,EAAIqE,KAAenE,EAAG,SAAS,CAACG,YAAY,YAAYC,MAAM,CAAC,GAAK,YAAY,IAAMN,EAAIyN,OAAOzN,EAAIwB,KAAKxB,EAAIgC,GAAG,KAAkB,OAAZhC,EAAIqE,KAAenE,EAAG,SAAS,CAACG,YAAY,YAAYC,MAAM,CAAC,IAAMN,EAAIyN,IAAI,YAAc,OAAOzN,EAAIwB,KAAkB,SAAZxB,EAAIqE,KAAiBnE,EAAG,MAAM,CAACG,YAAY,qBAAqBC,MAAM,CAAC,IAAMN,EAAIyN,IAAI,IAAM,MAAMzN,EAAIwB,KAAkB,SAAZxB,EAAIqE,KAAiBnE,EAAG,QAAQ,CAACG,YAAY,YAAYC,MAAM,CAAC,SAAW,GAAG,SAAW,GAAG,IAAMN,EAAIyN,OAAOzN,EAAIwB,YAElgC,GAAkB,GCoCP,IACXu3B,WAAY,CAACsV,UAAAC,GAAA,MACbtG,OAAQ,CAAC,uBACTttC,KAAM,WACF,MAAO,CACH8hD,wBAAwB,EACxB/uC,IAAK,GACLpJ,KAAM,QAGdwN,SAAU,IACH,eAAW,CAAC,sBAAsB,4BAEzCqiB,MAAO,CACH,sBACOj0B,KAAK4hB,qBAAuB5hB,KAAKu8C,wBAChCv8C,KAAKs8C,uBAAsB,KAG1CxqC,QAAS,IACC,eAAW,CAAC,mBACZ,eAAa,CAAC,oBACjB,sBAAsB0qC,GACfx8C,KAAK6hB,wBACJ7hB,KAAK8hB,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,UAAWmY,MAAOsiB,EAAMhvC,IAAKxN,KAAKwN,OAEjGgvC,GAAQx8C,KAAKu8C,yBACZv8C,KAAKu8C,uBAAyBC,EAC9Bx8C,KAAKyS,gBAAgBzS,KAAKu8C,wBAEtBC,IACAx8C,KAAKwN,IAAM,GACXxN,KAAKoE,KAAO,SAIxB,WACIjG,OAAO6f,KAAKhe,KAAKwN,IAAK,YAG9B,UACIrP,OAAOojB,iBAAiB,UAAW9hB,IAC/BO,KAAKwN,IAAM/N,EAAE2hB,OAAO5T,KAEjBxN,KAAKwN,IAAIyJ,SAAS,SAAWjX,KAAKwN,IAAIyJ,SAAS,SAAWjX,KAAKwN,IAAIyJ,SAAS,YAC3EjX,KAAKoE,KAAO,SAEbpE,KAAKwN,IAAIyJ,SAAS,UACjBjX,KAAKoE,KAAO,SAEbpE,KAAKwN,IAAIyJ,SAAS,UACjBjX,KAAKoE,KAAO,OAEhBpE,KAAKs8C,2BAAwC5xC,GAAlBjL,EAAE2hB,OAAO8Y,OAA4Bz6B,EAAE2hB,OAAO8Y,SAG7E/7B,OAAOojB,iBAAiB,eAAe,KAChCvhB,KAAKu8C,wBACJv8C,KAAK8hB,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,UAAWvU,IAAKxN,KAAKwN,WChGgH,MCQ/M,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAIzN,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAACJ,EAAG,MAAM,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAAOyC,EAAa,UAAEW,WAAW,cAAcN,YAAY,kBAAkBunC,MAAM,CAAC,OAAU5nC,EAAIikB,WAAW,CAAC/jB,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,aAAa,CAACH,EAAG,MAAM,CAAC2B,YAAY,CAAC,MAAQ,UAAW7B,EAAQ,KAAEE,EAAG,IAAI,CAACG,YAAY,eAAe,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAItF,KAAKoC,SAASkD,EAAIwB,KAAKtB,EAAG,MAAM,CAACG,YAAY,iBAAiBunC,MAAM,CAAC,6BAAgC5nC,EAAI6hB,sBAAsB,CAAC3hB,EAAG,SAAS,CAACG,YAAY,gBAAgBwB,YAAY,CAAC,SAAW,YAAYtB,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAI08C,sBAAqB,WAAgB18C,EAAQ,KAAEE,EAAG,MAAM,CAACG,YAAY,UAAU,CAACH,EAAG,MAAM,CAACG,YAAY,UAAUunC,MAAM,CAAC,6BAAgC5nC,EAAI6hB,sBAAsB7hB,EAAIyiC,GAAIziC,EAAItF,KAAsB,mBAAE,SAASiiD,EAAIC,GAAO,OAAO18C,EAAG,IAAI,CAACrC,IAAI++C,EAAMv8C,YAAY,eAAeunC,MAAM,CAAC,OAAU5nC,EAAI68C,WAAaD,GAAQr8C,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAI88C,gBAAgBF,MAAU,CAAC58C,EAAIgC,GAAGhC,EAAIoiC,GAAGua,EAAI7/C,YAAW,KAAKkD,EAAIwB,KAAMxB,EAAQ,KAAEE,EAAG,MAAM,CAACG,YAAY,WAAWL,EAAIyiC,GAAIziC,EAAItF,KAAsB,mBAAE,SAASiiD,EAAIC,GAAO,OAAO18C,EAAG,MAAM,CAACrC,IAAI++C,EAAMv8C,YAAY,iBAAiBunC,MAAM,CAAC,OAAU5nC,EAAI68C,WAAaD,IAAS,CAAc,SAAZD,EAAIt4C,KAAiBnE,EAAG,SAAS,CAACG,YAAY,mBAAmBC,MAAM,CAAC,IAAMq8C,EAAIjiD,KAAK+S,IAAI,YAAc,OAAOzN,EAAIwB,KAAgB,OAAVm7C,EAAIt4C,MAAgBrE,EAAI89B,MAAmJ99B,EAAIwB,KAAhJtB,EAAG,SAAS,CAACG,YAAY,iBAAiBC,MAAM,CAAC,IAAM,WAAYN,EAAIw0B,SAAWx0B,EAAItF,KAAKqiD,OAAS,OAASJ,EAAIjiD,KAAK+S,IAAM,gBAAoC,OAAVkvC,EAAIt4C,MAAerE,EAAI89B,MAAO59B,EAAG,MAAM,CAACG,YAAY,sBAAsB,CAACH,EAAG,MAAM,CAACI,MAAM,CAAC,IAAM,EAAQ,QAA8B,IAAM,MAAMJ,EAAG,IAAI,CAACF,EAAIgC,GAAGhC,EAAIoiC,GAAGua,EAAI7/C,SAASoD,EAAG,IAAI,CAACI,MAAM,CAAC,KAAO,WAAYN,EAAIw0B,SAAWx0B,EAAItF,KAAKqiD,OAAS,OAASJ,EAAIjiD,KAAK+S,IAAM,aAAa,OAAS,WAAW,CAACvN,EAAG,SAAS,CAACK,GAAG,CAAC,MAAQ,SAASuB,OAAY,CAAC9B,EAAIgC,GAAG,gBAAgBhC,EAAIwB,KAAkB,eAAZm7C,EAAIt4C,KAAuBnE,EAAG,MAAM,CAACG,YAAY,sBAAsB,CAACH,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACH,EAAG,MAAM,CAACG,YAAY,kBAAkBC,MAAM,CAAC,IAAM,WAAYN,EAAIw0B,SAAWx0B,EAAItF,KAAKqiD,OAAS,UAAYJ,EAAIjiD,KAAKsF,EAAIg9C,QAAQC,eAAexvC,IAAI,IAAM,MAAMvN,EAAG,MAAM,CAACG,YAAY,kBAAkBunC,MAAM,CAAC,6BAAgC5nC,EAAI6hB,qBAAqBthB,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIk9C,aAAa,MAAM,CAACh9C,EAAG,MAAM,CAAC2B,YAAY,CAAC,OAAS,QAAQvB,MAAM,CAAC,IAAM,EAAQ,aAA6BJ,EAAG,MAAM,CAACG,YAAY,mBAAmBunC,MAAM,CAAC,6BAAgC5nC,EAAI6hB,qBAAqBthB,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIk9C,YAAY,MAAM,CAACh9C,EAAG,MAAM,CAAC2B,YAAY,CAAC,OAAS,QAAQvB,MAAM,CAAC,IAAM,EAAQ,eAA+BJ,EAAG,MAAM,CAACG,YAAY,0BAA0B,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGua,EAAIjiD,KAAKsF,EAAIg9C,QAAQC,eAAengD,SAAWkD,EAAIikB,SAAsdjkB,EAAIwB,KAAhdtB,EAAG,MAAM,CAACG,YAAY,mBAAmBunC,MAAM,CAAC,6BAAgC5nC,EAAI6hB,sBAAsB7hB,EAAIyiC,GAAIka,EAAQ,MAAE,SAASrvC,EAAMsvC,GAAO,OAAO18C,EAAG,MAAM,CAACrC,IAAI++C,EAAMv8C,YAAY,wBAAwBunC,MAAM,CAAC,OAAU5nC,EAAIg9C,QAAQC,eAAiBL,GAAQr8C,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIm9C,cAAcP,MAAU,CAAC18C,EAAG,MAAM,CAACI,MAAM,CAAC,IAAMN,EAAIwtB,WAAY,UAAWxtB,EAAIw0B,SAAWx0B,EAAItF,KAAKqiD,OAAS,UAAYzvC,EAAMG,IAAI,IAAMH,EAAMxQ,aAAY,KAAckD,EAAIwB,KAAkB,YAAZm7C,EAAIt4C,KAAoBnE,EAAG,WAAW,CAACI,MAAM,CAAC,KAAOq8C,EAAIjiD,KAAK,SAAWsF,EAAI68C,WAAaD,KAAS58C,EAAIwB,MAAM,MAAK,GAAGxB,EAAIwB,YAE98G,GAAkB,GCFlB,GAAS,WAAkB,IAAIxB,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,YAAY,CAAEL,EAAqB,kBAAEE,EAAG,SAAS,CAAC2B,YAAY,CAAC,SAAW,WAAW,IAAM,OAAO,MAAQ,OAAO,UAAU,OAAOtB,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIo9C,iBAAiB,CAACp9C,EAAIgC,GAAG,WAAWhC,EAAIwB,KAAKtB,EAAG,MAAM,CAACG,YAAY,4BAA4BC,MAAM,CAAC,GAAK,8BAA8B,CAACJ,EAAG,MAAM,CAACG,YAAY,iCAAiCC,MAAM,CAAC,IAAM,sCAAwCN,EAAIsqC,QAAQ,IAAM,MAAMpqC,EAAG,MAAM,CAACG,YAAY,iCAAiCC,MAAM,CAAC,GAAK,YAAY,CAACN,EAAIgC,GAAG,QAAQ9B,EAAG,MAAM,CAACG,YAAY,sCAAsCC,MAAM,CAAC,QAAU,MAAM,GAAK,KAAK,MAAQ,6BAA6B,cAAc,+BAA+B,EAAI,MAAM,EAAI,MAAM,QAAU,cAAc,oBAAoB,cAAc,YAAY,aAAa,CAACJ,EAAG,OAAO,CAACI,MAAM,CAAC,EAAI,mGAAmG,CAACJ,EAAG,mBAAmB,CAACI,MAAM,CAAC,cAAgB,YAAY,cAAgB,MAAM,KAAO,SAAS,IAAM,KAAK,KAAO,UAAU,GAAK,YAAY,YAAc,iBAAiB,OAAOJ,EAAG,MAAM,CAACG,YAAY,0CAA0C,CAACH,EAAG,MAAM,CAACG,YAAY,+CAA+CunC,MAAM,CAAC,6BAAgC5nC,EAAI6hB,qBAAqBthB,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIq9C,gCAAgC,CAACn9C,EAAG,MAAM,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAAOyC,EAAIs9C,gBAAgBt9C,EAAIu9C,sBAAuB58C,WAAW,0CAA0CL,MAAM,CAAC,IAAM,EAAQ,QAA+B,IAAM,MAAMJ,EAAG,MAAM,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,OAAQyC,EAAIs9C,gBAAgBt9C,EAAIu9C,sBAAuB58C,WAAW,2CAA2CL,MAAM,CAAC,IAAM,EAAQ,QAA8B,IAAM,UAAWN,EAAItF,KAAKQ,OAAS,EAAGgF,EAAG,MAAM,CAACG,YAAY,gCAAgCunC,MAAM,CAAC,6BAAgC5nC,EAAI6hB,sBAAsB7hB,EAAIyiC,GAAIziC,EAAQ,MAAE,SAASw9C,EAAQxiD,GAAG,OAAOkF,EAAG,MAAM,CAACrC,IAAI2/C,EAAQ1gD,KAAKuD,YAAY,6BAA6BykB,MAAM,CAAE/e,gBAAiB/F,EAAIu9C,sBAAwBviD,EAAI,UAAY,GAAI+c,MAAO/X,EAAIu9C,sBAAwBviD,EAAI,QAAU,GAAI6oB,YAAa7jB,EAAIu9C,sBAAwBviD,EAAI,UAAY,IAAKuF,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIy9C,WAAWziD,MAAM,CAACgF,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGob,EAAQ1gD,MAAM,UAAS,GAAGkD,EAAIwB,KAAKtB,EAAG,MAAM,CAACG,YAAY,0BAA0BC,MAAM,CAAC,GAAK,6BAA6BJ,EAAG,MAAM,CAACG,YAAY,sBAAsB,CAACH,EAAG,SAAS,CAAC2B,YAAY,CAAC,MAAQ,OAAO,OAAS,OAAO,QAAU,QAAQvB,MAAM,CAAC,GAAK,yBAAyB,GAAGJ,EAAG,MAAM,CAAC2B,YAAY,CAAC,MAAQ,OAAO,OAAS,OAAO,SAAW,WAAW,IAAM,IAAI,KAAO,IAAI,OAAS,mBAAmBvB,MAAM,CAAC,IAAM,gEAAgEJ,EAAG,MAAM,CAAC2B,YAAY,CAAC,MAAQ,OAAO,OAAS,OAAO,SAAW,WAAW,IAAM,IAAI,KAAO,IAAI,UAAU,KAAKvB,MAAM,CAAC,GAAK,qBAE1+F,GAAkB,G,UCCtB,IAAI,GAAO,IAAI,eAGR,SAASu3B,GAAmBnkB,EAASgqC,GACxCt6C,QAAQC,IAAI,uBAEZ,IAAIs6C,EAAgB,GAChBC,EAAkB,GAElBplB,EAAY,IACZL,EAAY0lB,GAASH,EAAW5gD,MAChC6mB,EAAY,EAEZ4U,EAAQ,iBAAoBxc,YAAY,cAAgBoc,EAAW,CAACltB,MAAOutB,EAAWttB,OAAQstB,GAAYp6B,OAAOsvC,eACrHnV,EAAM3a,cAAgB,UAAaC,kBACnC0a,EAAMxkB,WAAW2pC,EAAWnkC,OAAOzc,KAAKoa,SAAS,WACjDqhB,EAAMva,YAAa,EACnBua,EAAMnvB,SAAWs0C,EAAWt0C,SAASye,SAAS,IAAI,cAAiB,EAAE,EAAE,IACvE0Q,EAAMhf,OAASmkC,EAAWnkC,OAC1BmkC,EAAW1pC,UAGX5V,OAAOsvC,cAAczS,+BAA+Bv8B,IAAI,KACpD,IAAIo/C,EAAK,GAAM,aAAgBC,SAAS3/C,OAAOsvC,cAAc9mB,aAAaxd,SAAUmvB,EAAMza,kBAC1Fya,EAAMtX,QAAQoC,OAAOy6B,KAIzB,IAAIp/B,EAAkB,6BAAkCC,cAAc4Z,GAGlEE,EAAY,IAAI,gBAAqB,aACzCA,EAAUvZ,WAAa,YACvBuZ,EAAUC,eAAiBklB,EAC3BnlB,EAAUulB,aAA4B,IAAZxlB,EAAkB,EAAMolB,EAAkB,EAAK,EACzE,IAAIK,EAAmBxlB,EAAUulB,aACjCvlB,EAAU1Z,sBAAuB,EACjC0Z,EAAUE,oBAAsB,cAAmBnZ,0BACnDiZ,EAAUxZ,aAAe2+B,EAAgB,EACzCnlB,EAAU9U,UAAY,EACtB8U,EAAU1gB,MAAQ,QAClB,IAAImmC,EAAW,EACf9/C,OAAOsvC,cAAcyQ,8BAA8BC,QAAQ,KACvDF,EAAWzlB,EAAU4lB,cACrB5lB,EAAU1Z,sBAAuB,EACjC0Z,EAAU4lB,cAAgBT,IAE9Bl/B,EAAgBU,WAAWqZ,GAG3B,IAAI6lB,EAAa,IAAI,iBAAsB,cAC3CA,EAAW3lB,oBAAuB,cAAmBnZ,0BACrD8+B,EAAWC,YAAa,EACxB9lB,EAAUrZ,WAAWk/B,GAGrB,IAAIE,EAAiB,IAAI,gBAAqB,kBAC9CA,EAAe9lB,eAAiB8lB,EAAeH,cAAgBT,EAC/DY,EAAe76B,UAAY,EAC3B26B,EAAWl/B,WAAWo/B,GAEtB,IAAIC,EAAU,IAAI,gBAAqB,gBACvCA,EAAQv/B,WAAa,YACrBu/B,EAAQ/lB,eAAiB+lB,EAAQJ,cAAgC,IAAhBT,EACjDa,EAAQ96B,UAAY,EACpB86B,EAAQ1mC,MAAQ,QAChB0mC,EAAQt/B,MAAQ,GAChBs/B,EAAQx/B,aAA+B,IAAhB2+B,EAAqB,GAC5CY,EAAep/B,WAAWq/B,GAE1B,IAAIC,EAAU,IAAI,gBAAqB,gBACvCA,EAAQx/B,WAAa,OACrBw/B,EAAQhmB,eAAiBgmB,EAAQL,cAAgC,IAAhBT,EACjDc,EAAQz/B,aAA+B,IAAhB2+B,EAAqB,GAC5CY,EAAep/B,WAAWs/B,GAG1B,IAAI7lB,EAAqB,IAAI,gBAAqB,YAAaV,GAC/DU,EAAmB9gB,MAAQ,QAC3B8gB,EAAmB8lB,WAAa,iBAChC9lB,EAAmBxZ,SAAW,OAC9BwZ,EAAmB+lB,WAAa,OAChC/lB,EAAmBF,oBAAsB,cAAmBnZ,0BAC5DqZ,EAAmB/Y,YAAc,MACjC+Y,EAAmB9Y,aAAe,OAClC8Y,EAAmBhZ,WAAa,MAChCgZ,EAAmBjZ,aAAc,EACjC0+B,EAAWl/B,WAAWyZ,GAGtB,IAMIgmB,EANAvmB,EAAe,iBAAoBvc,YAAY,WAAaoc,EAAW,CAACltB,MAAO2yC,EAAkBplB,EAAY,KAAOttB,OAAQ0yC,EAAkBplB,EAAY,MAASp6B,OAAOsvC,eAQ9K,SAASoR,IACDprC,EAAQmO,sBACLg9B,GACCA,EAAepnB,OACnB,cAAmBr8B,UAAU8oB,SAAW,IAAe9lB,OAAOsvC,cAC9DnV,EAAMxa,iBAAmB,EACzB,eAAkBiD,wBAAwB,GAAIs9B,EAAY,sBAAuB,GAAI,GAAIA,EAAWjvB,qBAAuBsuB,EAAcC,GAAmB,EAAI,eAAkBz5B,2BAA4B,IAC9M,eAAkBnD,wBAAwB,GAAIyX,EAAW,YAAa,GAAI,GAAIA,EAAU9U,UAAWA,EAAW,eAAkBQ,2BAA4B,IAC5J,eAAkBnD,wBAAwB,GAAIyX,EAAW,eAAgB,GAAI,GAAIA,EAAUulB,aAAgBC,GAAqBN,EAAcC,GAAmB,EAAKj6B,EAAW,eAAkBQ,2BAA4B,IAC/N,eAAkBnD,wBAAwB,GAAIyX,EAAW,gBAAiB,GAAI,GAAIA,EAAU4lB,cAAeH,EAAU,eAAkB/5B,2BAA4B,IACnK,eAAkBnD,wBAAwB,GAAIyX,EAAW,iBAAkB,GAAI,GAAIA,EAAUC,eAAgBilB,EAAe,eAAkBx5B,2BAA4B,IAC1K,eAAkBnD,wBAAwB,GAAIyX,EAAW,eAAgB,GAAI,GAAIA,EAAUxZ,aAAc,GAAI,eAAkBkF,2BAA4B,IAC3J,eAAkBnD,wBAAwB,GAAIy9B,EAAS,YAAa,GAAI,GAAIA,EAAQ96B,UAAW,EAAG,eAAkBQ,2BAA4B,KAIxJ,SAAS46B,IACDrrC,EAAQmO,sBACR,cAAmBzmB,UAAU8oB,SAAW,IAAe9lB,OAAOsvC,cAC9D,eAAkB1sB,wBAAwB,GAAIs9B,EAAY,sBAAuB,GAAI,GAAIA,EAAWjvB,oBAAqB,EAAG,eAAkBlL,2BAA4B,IAC1K,eAAkBnD,wBAAwB,GAAIyX,EAAW,YAAa,GAAI,GAAIA,EAAU9U,UAAW,EAAG,eAAkBQ,2BAA4B,IACpJ,eAAkBnD,wBAAwB,GAAIyX,EAAW,eAAgB,GAAI,GAAIA,EAAUulB,aAAcC,EAAkB,eAAkB95B,2BAA4B,IACzK,eAAkBnD,wBAAwB,GAAIyX,EAAW,gBAAiB,GAAI,GAAIA,EAAU4lB,cAAeT,EAAiB,eAAkBz5B,2BAA4B,IAC1K,eAAkBnD,wBAAwB,GAAIyX,EAAW,iBAAkB,GAAI,GAAIA,EAAUC,eAAgBklB,EAAiB,eAAkBz5B,2BAA4B,IAC5K,eAAkBnD,wBAAwB,GAAIy9B,EAAS,YAAa,GAAI,GAAIA,EAAQ96B,UAAW,EAAG,eAAkBQ,2BAA4B,IAChJ06B,EAAiB,eAAkB79B,wBAAwB,GAAIyX,EAAW,eAAgB,GAAI,GAAIA,EAAUxZ,aAA8B,GAAhB2+B,EAAqB,eAAkBz5B,2BAA4B,GAAM,KAC/LoU,EAAMxa,iBAAmB,KAKrC,GAtCAua,EAAa/e,OAASgf,EACtBD,EAAapY,WAAa,EAE1BoY,EAAa1X,cAAgB,IAAI,mBAAsBxiB,OAAOsvC,eAmC1Dh6B,EAAQuQ,SAQP,CACD,IAAI+6B,GAAS,EACb1mB,EAAa1X,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBC,cAAe,KACtGi+B,GACCD,IACAC,GAAS,IAETF,IACAE,GAAS,WAfjB1mB,EAAa1X,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBS,qBAAsB,KAChHu9B,OAGJxmB,EAAa1X,cAAcE,eAAe,IAAI,uBAA0B,mBAAsBQ,oBAAqB,KAC/Gy9B,OAiBZ,SAASlB,GAASoB,GACd,IAAIlhD,EAAIkhD,EAASC,cACbhF,EAAQ,GAmDZ,OA9CGn8C,EAAEmZ,SAAS,uBAAsBgjC,EAAQ,mBACzCn8C,EAAEmZ,SAAS,2BAA0BgjC,EAAQ,wBAC7Cn8C,EAAEmZ,SAAS,mBAAkBgjC,EAAQ,gBACrCn8C,EAAEmZ,SAAS,UAASgjC,EAAQ,+BAC5Bn8C,EAAEmZ,SAAS,oBAAmBgjC,EAAQ,sCACtCn8C,EAAEmZ,SAAS,iCAAgCgjC,EAAQ,+BACnDn8C,EAAEmZ,SAAS,kBAAoBnZ,EAAEmZ,SAAS,qBAAmBgjC,EAAQ,eACrEn8C,EAAEmZ,SAAS,kBAAiBgjC,EAAQ,4BACpCn8C,EAAEmZ,SAAS,uBAAyBnZ,EAAEmZ,SAAS,wBAA0BnZ,EAAEmZ,SAAS,yBAAuBgjC,EAAQ,oBACnHn8C,EAAEmZ,SAAS,+BAA8BgjC,EAAQ,gCACjDn8C,EAAEmZ,SAAS,mBAAkBgjC,EAAQ,eACrCn8C,EAAEmZ,SAAS,oBAAmBgjC,EAAQ,kBACtCn8C,EAAEmZ,SAAS,oBAAmBgjC,EAAQ,kBACtCn8C,EAAEmZ,SAAS,iCAAgCgjC,EAAQ,iCACnDn8C,EAAEmZ,SAAS,yBAAwBgjC,EAAQ,2BAC3Cn8C,EAAEmZ,SAAS,2BAA0BgjC,EAAQ,sBAC7Cn8C,EAAEmZ,SAAS,qBAAoBgjC,EAAQ,kBACvCn8C,EAAEmZ,SAAS,wBAAuBgjC,EAAQ,uBAC1Cn8C,EAAEmZ,SAAS,kBAAiBgjC,EAAQ,gCACpCn8C,EAAEmZ,SAAS,gBAAegjC,EAAQ,WAClCn8C,EAAEmZ,SAAS,kBAAiBgjC,EAAQ,uBACpCn8C,EAAEmZ,SAAS,aAAYgjC,EAAQ,WAC/Bn8C,EAAEmZ,SAAS,sBAAwBnZ,EAAEmZ,SAAS,yBAAuBgjC,EAAQ,wCAC7En8C,EAAEmZ,SAAS,6BAA4BgjC,EAAQ,gCAC/Cn8C,EAAEmZ,SAAS,2BAA0BgjC,EAAQ,wBAC7Cn8C,EAAEmZ,SAAS,gCAA+BgjC,EAAQ,oCAClDn8C,EAAEmZ,SAAS,eAAcgjC,EAAQ,YACjCn8C,EAAEmZ,SAAS,yBAAwBgjC,EAAQ,sBAC3Cn8C,EAAEmZ,SAAS,mBAAkBgjC,EAAQ,iBACrCn8C,EAAEmZ,SAAS,cAAgBnZ,EAAEmZ,SAAS,eAAiBnZ,EAAEmZ,SAAS,0BAAwBgjC,EAAQ,qBAClGn8C,EAAEmZ,SAAS,kBAAiBgjC,EAAQ,oCACpCn8C,EAAEmZ,SAAS,mBAAkBgjC,EAAQ,gBACrCn8C,EAAEmZ,SAAS,8BAA6BgjC,EAAQ,mCAChDn8C,EAAEmZ,SAAS,iBAAgBgjC,EAAQ,cACnCn8C,EAAEmZ,SAAS,wBAAuBgjC,EAAQ,qBAC1Cn8C,EAAEmZ,SAAS,qBAAoBgjC,EAAQ,kBACvCn8C,EAAEmZ,SAAS,kBAAiBgjC,EAAQ,eACpCn8C,EAAEmZ,SAAS,uBAAsBgjC,EAAQ,mBACzCn8C,EAAEmZ,SAAS,uBAAsBgjC,EAAQ,oBACzCn8C,EAAEmZ,SAAS,gBAAegjC,EAAQ,YAClCn8C,EAAEmZ,SAAS,mBAAkBgjC,EAAQ,gBACrCn8C,EAAEmZ,SAAS,uBAAsBgjC,EAAQ,6CACzCn8C,EAAEmZ,SAAS,qBAAuBnZ,EAAEmZ,SAAS,wBAAsBgjC,EAAQ,oBAC3En8C,EAAEmZ,SAAS,eAAcgjC,EAAQ,WAExB,IAATA,GAAa92C,QAAQC,IAAI,uBAAyBtF,GACrC,IAATm8C,EAAc,kBAAoBA,EC9MtC,SAASiF,GAA4BriD,GACxC,MAAMm0C,EAAQ7yC,OAAOsvC,cAAcpZ,cAAcx3B,GAAM+4B,cAAcnf,KAAKiE,GAAqB,WAAbA,EAAK7d,MAAmB+4B,cAAcnf,KAAKiE,GAAqB,YAAbA,EAAK7d,MAC1I,IAAIsiD,EAAcnO,EAAMoO,kBAAkBC,YACtCC,EAASH,EAAY/0B,QAAQnvB,SAAWkkD,EAAYh1B,QAAQlvB,SAAWkkD,EAAY/0B,QAAQnvB,SAAWkkD,EAAYh1B,QAAQlvB,SAE9H,OAAgB,IAATqkD,EAGJ,SAASC,KACZ,IAAI74B,EAASvoB,OAAOsvC,cAAc9mB,aAClCD,EAAO0V,iBAAmC,GAAhB1V,EAAOgnB,OACjChnB,EAAO2V,iBAAmC,IAAhB3V,EAAOgnB,OAG9B,SAAS8R,GAA6B3iD,GACzC,MAAMm0C,EAAQ7yC,OAAOsvC,cAAcpZ,cAAcx3B,GAAM+4B,cAAcnf,KAAKiE,GAAqB,WAAbA,EAAK7d,MAAmB+4B,cAAcnf,KAAKiE,GAAqB,YAAbA,EAAK7d,MAC1I,IAAIsiD,EAAcnO,EAAMoO,kBAAkBC,YACtCC,EAASH,EAAY/0B,QAAQnvB,SAAWkkD,EAAYh1B,QAAQlvB,SAAWkkD,EAAY/0B,QAAQnvB,SAAWkkD,EAAYh1B,QAAQlvB,SAE9H,OAAO,IAAI,aAAgB,EAAGqkD,EAAO,EAAG,GDjB5C,GAAK7+B,cAAc,oBAAuBC,sBEE1C,IAAI,GAAO,IAAI,eAGR,SAAS++B,GAAWhsC,GACvBtQ,QAAQC,IAAI,eAEZjF,OAAOovC,eAAeh7B,mBAGtBkB,EAAQhZ,KAAK+c,QAAQ,CAAC/c,EAAKM,KACvBoI,QAAQC,IAAI,4BAA8B3I,EAAKoC,MAE/C,IAAI42B,EAAW,IAAI,mBAAsBh5B,EAAKoC,KAAMsB,OAAOsvC,eAG3D,GAFAha,EAAS3f,WAAgB,GAAL/Y,GAEL,IAAZN,EAAK+S,IAAU,CAEdrK,QAAQC,IAAI,iBAAmB3I,EAAK+S,KAEpC,IAAIkyC,EAAWvhD,OAAOwhD,sBAAsBC,YAAY,GAAI,GAAI,uDAAyDnsC,EAAQuQ,SAAW,UAAY,YAAavQ,EAAQuQ,SAAWvpB,EAAKolD,WAAaplD,EAAKqlD,aA8C/M,GA7CAJ,EAASK,UAAatkB,IAClBt4B,QAAQC,IAAI,yBAA2B3I,EAAK+S,KAE5C,IAAI8oB,EAAYmF,EAAKukB,aAAa,GAClC1pB,EAAUhd,OAASma,EAGnBtwB,QAAQC,IAAI,qBACZ,MAAM68C,EAAU,IAAI,mBAAsB,UAAU9hD,OAAOsvC,eAC3DwS,EAAQ3mC,OAASma,EACjBwsB,EAAQj/B,QAAQtK,GAAK,EACrB4f,EAAUV,cAAcpe,QAAQhE,IAC5BA,EAAK8F,OAAS2mC,IAOlB3pB,EAAUviB,UAEV5Q,QAAQC,IAAI,2CACZ68C,EAAQ52B,iBAAiB7R,QAAQkD,IAC7BA,EAAKD,SAASylC,sBAAuB,IAIzC/8C,QAAQC,IAAI,mBACZ,IAAIigB,EAAW88B,GAAeC,GAAsBH,GAAS9hD,OAAOsvC,eACpEpqB,EAAS/J,OAAS2mC,EAElB98C,QAAQC,IAAI,qBACTs8C,EAASW,sBAAsB,KAC9BX,EAASW,sBAAsB,GAAGxjD,KAAO,iBAAmB9B,GAC7D2kD,EAASW,sBAAsB,KAC9BX,EAASW,sBAAsB,GAAGxjD,KAAO,kBAAoB9B,GAEjEoI,QAAQC,IAAI,gBACZD,QAAQC,IAAI,KAEhBs8C,EAASY,QAAU,SAAU7kB,EAAME,EAASC,GACxCz4B,QAAQC,IAAIu4B,EAASC,IAItBnhC,EAAK8lD,YAAY,CAChBp9C,QAAQC,IAAI,2BAA4B3I,EAAK8lD,aAC7C,IAAIC,EAAYriD,OAAOwhD,sBAAsBC,YAAY,GAAI,GAAG,qEAAsEnlD,EAAK8lD,aAC3IC,EAAUT,UAAaU,IACnBt9C,QAAQC,IAAI,sBAAwB3I,EAAK8lD,aACzC,IAAIjqB,EAAYmqB,EAAMT,aAAa,GACnC1pB,EAAUhd,OAASma,EAGnB,MAAM8sB,EAAc,IAAI,mBAAsB,cAAcpiD,OAAOsvC,eACnE8S,EAAYjnC,OAASma,EACrB6C,EAAUV,cAAcpe,QAAQhE,IAC5BA,EAAK8F,OAASinC,IAElBjqB,EAAUviB,UAEV,IAAI2sC,EAAmBH,EAAY3qB,cAAcnf,KAAKygB,GAASA,EAAMr6B,KAAKoa,SAAS,iBACnFypC,EAAiBv3C,SAAWu3C,EAAiBv3C,SAASye,SAAS,IAAI,cAAiB,EAAE,EAAE,IAIpF,IAAI+4B,EAAqBJ,EAAY3qB,cAAcnf,KAAKygB,GAASA,EAAMr6B,KAAKoa,SAAS,WACrF0pC,EAAmB/qB,cAAcpe,QAAQimC,IACrC7lB,GAAmBnkB,EAASgqC,KAGhC,IAAImD,EAAoBL,EAAY3qB,cAAcnf,KAAKygB,GAASA,EAAMr6B,KAAKoa,SAAS,UACpF2pC,EAAkBhrB,cAAcpe,QAAQimC,IACpC7lB,GAAmBnkB,EAASgqC,KAIpCt6C,QAAQC,IAAI,6BAEhBo9C,EAAUF,QAAU,SAAU7kB,EAAME,EAASC,GACzCz4B,QAAQC,IAAIu4B,EAASC,QAMrCz4B,QAAQC,IAAI,wBAEZjF,OAAOwhD,sBAAsBkB,SAAYC,IACrC39C,QAAQC,IAAI,yBAGZ29C,GAAwBD,GAExB3iD,OAAOovC,eAAe76B,gBAGtBvP,QAAQC,IAAI,wBACZ49C,GAAmBvtC,EAAQhZ,MAE3B0I,QAAQC,IAAI,qBACZjF,OAAOovC,eAAerN,cAAc,KAAO/hC,OAAOsvC,cAAc3tC,YAGpEqD,QAAQC,IAAI,uBACZjF,OAAOwhD,sBAAsBsB,OAGjC,SAASD,GAAmBvmD,GAExB,MAAMisB,EAASvoB,OAAOsvC,cAAc9mB,aACpCD,EAAOpX,OAASkwC,GAA6B/kD,EAAK,GAAGoC,MACrD6pB,EAAOgnB,OAASwR,GAA4BzkD,EAAK,GAAGoC,MAEpD,eAAkBkkB,wBAAwB,GAAI2F,EAAQ,QAAS,GAAI,IAAK,GAAK,EAAG,EAAG,IACnF,eAAkB3F,wBAAwB,GAAI2F,EAAQ,OAAQ,GAAI,IAAK,GAAK,IAAK,EAAG,IACpF,eAAkB3F,wBAAwB,GAAI2F,EAAQ,SAAU,GAAI,IAAqB,IAAhBA,EAAOgnB,OAAehnB,EAAOgnB,OAAQ,EAAG,GAAM,KACnH6R,OAIR,SAASa,GAAsB5sC,GAC3B,MAAMyjB,EAASzjB,EAAK6V,iBACpB,IAAI63B,EACAC,EACAC,EAaJ,OAXAnqB,EAAOzf,QAAQ,CAACkD,EAAKiiC,KACL,GAATA,GACCuE,EAASxmC,EAAK0kC,kBAAkBC,YAAYgC,aAC5CF,EAASzmC,EAAK0kC,kBAAkBC,YAAYiC,eAE5CJ,EAAS,IAAI,aAAgBK,SAASL,EAAQxmC,EAAK0kC,kBAAkBC,YAAYgC,cACjFF,EAAS,IAAI,aAAgBK,SAASL,EAAQzmC,EAAK0kC,kBAAkBC,YAAYiC,eAErFF,EAAkB,IAAI,kBAAqBD,EAAOD,KAG/CE,EAGX,SAASL,GAAwBD,GAC7B39C,QAAQC,IAAI,6BAEZ09C,EAAMtpC,QAAQikB,IACVA,EAAKukB,aAAaxoC,QAAQkD,IACtBA,EAAK+mC,0BAA2B,EAChC/mC,EAAKqD,YAAa,EAClBrD,EAAKgnC,gBAAkB,kBAAqBC,oCAC5CjnC,EAAKknC,oBACLlnC,EAAKmnC,uBAAwB,EAC1BnnC,EAAKD,WACJC,EAAKD,SAASgD,iBAAkB,EAEN,sBAAtB/C,EAAKD,SAAS5d,MACQ,sBAAtB6d,EAAKD,SAAS5d,MACQ,iBAAtB6d,EAAKD,SAAS5d,MACQ,iBAAtB6d,EAAKD,SAAS5d,OAEd6d,EAAKD,SAASgD,iBAAkB,QAQhDtf,OAAOsvC,cAAcqU,gBAAgBtqC,QAAQuqC,IACzCA,EAAUvqB,OACVuqB,EAAUvxB,SAAShZ,QAAQgZ,IACvBA,EAASlhB,OAAO0yC,sBAChBxxB,EAASlhB,OAAO2uB,gBAAe,GAAOzmB,QAAQhE,IAC1CA,EAAKwuC,4BAKjB7+C,QAAQC,IAAI,0BAGhB,SAAS+8C,GAAe8B,EAAapuC,GACjC,IACIquC,EADA7+B,EAAW,iBAAoB8+B,UAAU,WAAW,CAACl3C,OAAO,GAAG4I,GAanE,OAXIA,EAAMuuC,kBAAkB,oBAIxBF,EAAmBruC,EAAMuuC,kBAAkB,qBAH3CF,EAAmB,IAAI,sBAAyB,mBAAoB/jD,OAAO0V,OAC3EquC,EAAiBhjC,MAAQ,GAI7BmE,EAAS5I,SAAWynC,EACpB7+B,EAASla,SAAW84C,EAAa5C,YAAYgD,YAC7Ch/B,EAASi/B,gBAAgBL,GACzB5+B,EAAStF,YAAa,EAEfsF,ECzNJ,SAASk/B,GAAa9uC,GACzBtQ,QAAQC,IAAI,kBAEZo/C,GAAW/uC,GACXgvC,KACAC,KACAC,KAGAlD,GAAWhsC,GAGf,SAAS+uC,GAAW/uC,GAChBtQ,QAAQC,IAAI,gBAEZ,MAAMw/C,EAAShwC,SAAS+Y,eAAe,sBAMvC,SAAS5Z,KAMT,GAXA5T,OAAOovC,eAAiB,IAAI,YAAeqV,GAAQ,EAAM,CAAEzwC,SAAS,EAAMC,cAAc,EAAOywC,wBAAwB,IAAQ,GAC/H1kD,OAAOovC,eAAel7B,wBAAwB,EAAIlU,OAAOmU,kBACzDnU,OAAOovC,eAAeuV,sBAAuB,EAI7C/wC,EAAoB5W,UAAUoX,iBAAmB,WAAcK,SAAS+Y,eAAe,6BAA6B9G,MAAMk+B,QAAU,GACpIhxC,EAAoB5W,UAAUuX,cAAgB,WAAcQ,WAAW,KAAQN,SAAS+Y,eAAe,6BAA6B9G,MAAMk+B,QAAU,GAAM,MAC1J5kD,OAAOovC,eAAex6B,cAAgB,IAAIhB,EAE1C5O,QAAQC,IAAI,oBACRqQ,EAAQuQ,SAIR7lB,OAAO0wC,OAAOmU,YAAYC,SAAW,KACjC9/C,QAAQC,IAAI,uBACZ8P,WAAW,KAAQ/U,OAAOovC,eAAep6B,UAAa,SANzC,CACjB,MAAMH,EAAiB,IAAIC,eAAe,KAAOC,WAAW,KAAO/P,QAAQC,IAAI,iBAAkBjF,OAAOovC,eAAep6B,UAAc,KACrIH,EAAeI,QAAQwvC,GAe3Bz/C,QAAQC,IAAI,kBAGhB,SAASq/C,KACLt/C,QAAQC,IAAI,cAEZjF,OAAOsvC,cAAgB,IAAI,WAActvC,OAAOovC,gBAChDpvC,OAAOsvC,cAAcyV,mBAAqB,IAAI,iBAAoBC,0BAA0B,yEAA0EhlD,OAAOsvC,eAE7KtvC,OAAOsvC,cAAc5S,WAAa,IAAI,YAAe,EAAG,EAAG,EAAG,GAI9D13B,QAAQC,IAAI,iBAGhB,SAASu/C,KACLx/C,QAAQC,IAAI,qBAEZjF,OAAOwhD,sBAAwB,IAAI,mBAAsBxhD,OAAOsvC,eAChEtvC,OAAOwhD,sBAAsBnkB,sBAAsB/8B,KAAI,SAAUg9B,GAC7Dt4B,QAAQC,IAAI,0BAA2Bq4B,EAAKC,YAAYC,QAASF,EAAKC,YAAYE,cAEtFz9B,OAAOwhD,sBAAsB9jB,WAAa,CAACC,EAAgBC,KACvDnpB,SAAS+Y,eAAe,WAAW7Y,WAAa,KAAOipB,EAAaD,GAAkBC,GAAYC,QAAQ,GAAK,KAGnH74B,QAAQC,IAAI,wBAGhB,SAASs/C,KACLv/C,QAAQC,IAAI,eAEZ,IAAIsjB,EAAS,IAAI,qBAAwB,SAAS,EAAG,EAAG,EAAG,aAAgBlJ,OAAQrf,OAAOsvC,eAC1F/mB,EAAO+V,KAAO,IACd/V,EAAO08B,eAAiB,GACxB18B,EAAO28B,QAAU,IACjB38B,EAAOuV,OAAOC,SAASonB,SAASC,QAAU,CAAC,EAAE,GAE7C78B,EAAOgF,cAAc9Y,SAAS+Y,eAAe,uBAAuB,GAAO,GAK3ExoB,QAAQC,IAAI,iBDpFhB,GAAKqd,cAAc,oBAAuBC,sBEH1C,IAAI,GAAO,IAAI,eAGR8d,eAAe4e,GAA2B3iD,EAAM6iD,EAAsBD,GACzE,OAAO,IAAI5lC,QAAS5X,IAChB2jD,IAAU,GAEV,IAAI/vB,EAAWt1B,OAAOsvC,cAAcpZ,cAAc55B,EAAK6iD,GAAsBzgD,MACzE4mD,EAAiBhwB,EAASmC,cAAcnf,KAAKygB,GAAuB,eAAdA,EAAMr6B,MAC5D+jD,EAAoB6C,EAAe7tB,cAAcnf,KAAKygB,GAASA,EAAMr6B,KAAKoa,SAAS,UAAU2e,cAG7FlP,EAASvoB,OAAOsvC,cAAc9mB,aAElC,GADAD,EAAOxH,MAAQwH,EAAOxH,OAAmB,EAAVlE,KAAKC,IACjCoiC,EAAgB,CAEf,IAAIqG,EAAiBvlD,OAAOsvC,cAAcqU,gBAAgBrrC,KAAKitC,GAAkBA,EAAe7mD,MAAS,kBAAoBygD,GAC7HoG,EAAe7qB,QAEfnS,EAAOi9B,eAAiBj9B,EAAOk9B,gBAAkBl9B,EAAOm9B,gBAAkB,KAC1En9B,EAAO2V,iBAAmB3V,EAAO0V,iBAAmB,KAGpDwkB,EAAkBppC,QAAQimC,IACtB,eAAkB18B,wBAAwB,GAAI08B,EAAY,aAAc,GAAI,GAAI,IAAM,EAAG,EAAG,GAAM,KAAQA,EAAW3pC,YAAW,OAGpI,IAAIxE,EAASkwC,GAA6B/kD,EAAK,GAAGoC,MAC9C6wC,EAASwR,GAA4BzkD,EAAK6iD,GAAsBzgD,MAEpE,eAAkBkkB,wBAAwB,GAAI2F,EAAQ,SAAU,GAAI,IAAKA,EAAOgnB,OAAQA,EAAQ,EAAG,IACnG,eAAkB3sB,wBAAwB,GAAI2F,EAAQ,SAAU,GAAI,IAAKA,EAAOpX,OAAQA,EAAQ,EAAG,IACnG,eAAkByR,wBAAwB,GAAI2F,EAAQ,QAAS,GAAI,IAAKA,EAAOxH,MAAO,EAAG,EAAG,IAC5F,eAAkB6B,wBAAwB,GAAI2F,EAAQ,OAAQ,GAAI,IAAKA,EAAO2W,KAAM,EAAG,EAAG,GAAM,KAC5FkiB,WAEH,CAED,IAAImE,EAAiBvlD,OAAOsvC,cAAcqU,gBAAgBrrC,KAAKitC,GAAkBA,EAAe7mD,MAAS,iBAAmBygD,GAC5HoG,EAAe7qB,QAEfnS,EAAO0V,iBAAmB,EAG1BwkB,EAAkBppC,QAAQimC,IACtBA,EAAW3pC,YAAW,GACtB,eAAkBiN,wBAAwB,GAAI08B,EAAY,aAAc,GAAI,GAAI,EAAG,IAAM,EAAG,MAGhG,IAAInuC,EAASm0C,EAAe7tB,cAAcnf,KAAKygB,GAASA,EAAMr6B,KAAKoa,SAAS,iBAAiB9N,SACzF26C,EAAcrpD,EAAK6iD,GAAsBwG,YAAcrpD,EAAK6iD,GAAsBwG,YAAc,KACpG3gD,QAAQC,IAAI,uBAAuB3I,EAAK6iD,GAAsBzgD,KAAOinD,GAGrE,IAAIC,EAAa7E,GAA4BzkD,EAAK6iD,GAAsBzgD,MAAQ,EAC5E6wC,EAAUoW,EAAYpW,OAAOsW,YAAcF,EAAYpW,OAAOsW,YAAcD,EAC5E3nB,EAAmB0nB,EAAYpW,OAAOuW,WAAaH,EAAYpW,OAAOuW,WAAsB,GAATvW,EACnFrR,EAAmBynB,EAAYpW,OAAOwW,WAAaJ,EAAYpW,OAAOwW,WAAsB,IAATxW,EAGnFyW,EAAiBL,EAAY5kC,MAAMklC,UAAYN,EAAY5kC,MAAMklC,UAAY,EAC7EC,EAAgBP,EAAYzmB,KAAK+mB,UAAYN,EAAYzmB,KAAK+mB,UAAY,GAE9E,eAAkBrjC,wBAAwB,GAAI2F,EAAQ,SAAU,GAAI,IAAKA,EAAOpX,OAAQA,EAAQ,EAAG,IACnG,eAAkByR,wBAAwB,GAAI2F,EAAQ,SAAU,GAAI,IAAKA,EAAOgnB,OAAQA,EAAQ,EAAG,IACnG,eAAkB3sB,wBAAwB,GAAI2F,EAAQ,QAAS,GAAI,IAAKA,EAAOxH,MAAOilC,EAAgB,EAAG,IACzG,eAAkBpjC,wBAAwB,GAAI2F,EAAQ,OAAQ,GAAI,IAAKA,EAAO2W,KAAMgnB,EAAe,EAAG,GAAM,KACxG39B,EAAO49B,eAAiBR,EAAYzmB,KAAK4mB,WAAaH,EAAYzmB,KAAK4mB,WAAa,EACpFv9B,EAAOi9B,eAAiBG,EAAYzmB,KAAK6mB,WAAaJ,EAAYzmB,KAAK6mB,WAAa,IACpFx9B,EAAOk9B,gBAAkBE,EAAY5kC,MAAM+kC,WAAaH,EAAY5kC,MAAM+kC,YAAc,IACxFv9B,EAAOm9B,gBAAkBC,EAAY5kC,MAAMglC,WAAaJ,EAAY5kC,MAAMglC,WAAa,IACvFx9B,EAAO0V,iBAAmBA,EAC1B1V,EAAO2V,iBAAmBA,IAIlCnpB,WAAW,KACPswC,IAAU,GACV3jD,KACD,QAIJ2+B,eAAegf,GAAW/iD,EAAM8pD,EAAUC,GAC7C,OAAO,IAAI/sC,QAAS5X,IAChB2jD,IAAU,GAEV,IAAI98B,EAASvoB,OAAOsvC,cAAc9mB,aAG9Bvb,EAAW,EACXq5C,EAAcD,EAAWD,EAAWn5C,GAAYA,EAChDs5C,EAAa1pC,KAAK2pC,IAAIj+B,EAAOxH,OAASulC,EACtCG,GAAc5pC,KAAK6pC,IAAIn+B,EAAOxH,OAASulC,EAC3C,eAAkB1jC,wBAAwB,GAAI2F,EAAQ,WAAY,GAAI,GAAIA,EAAOpX,OAAOoH,EAAGguC,EAAY,EAAG,IAC1G,eAAkB3jC,wBAAwB,GAAI2F,EAAQ,WAAY,GAAI,GAAIA,EAAOpX,OAAOiR,EAAGqkC,EAAY,EAAG,IAG1G1xC,WAAW,KAAQN,SAAS+Y,eAAe,2BAA2B9G,MAAMk+B,QAAU,GAAM,KAE5F7vC,WAAW,KAEPN,SAAS+Y,eAAe,2BAA2B9G,MAAMk+B,QAAU,EAGnEr8B,EAAOgnB,OAASwR,GAA4BzkD,EAAK+pD,GAAU3nD,MAC3D0iD,KAGAphD,OAAOsvC,cAAcpZ,cAAc55B,EAAK8pD,GAAU1nD,MAAMiX,YAAW,GACnE3V,OAAOsvC,cAAcpZ,cAAc55B,EAAK+pD,GAAU3nD,MAAMiX,YAAW,GAGnE4S,EAAOpX,OAAOoH,GAAKguC,EACnBh+B,EAAOpX,OAAOiR,GAAKqkC,EACnB,eAAkB7jC,wBAAwB,GAAI2F,EAAQ,WAAY,GAAI,GAAIA,EAAOpX,OAAOoH,EAAI,EAAG,EAAG,IAClG,eAAkBqK,wBAAwB,GAAI2F,EAAQ,WAAY,GAAI,GAAIA,EAAOpX,OAAOiR,EAAI,EAAG,EAAG,GAAM,KACpGijC,IAAU,KAGd3jD,KACD,OAKX,SAAS2jD,GAAUtpC,GACf,IAAI4qC,EAAsBlyC,SAASC,uBAAuB,0CAA0C,GACpGiyC,EAAoBjgC,MAAMk+B,QAAU7oC,EAAS,GAAK,GAClD4qC,EAAoBjgC,MAAMkgC,cAAgB7qC,EAAS,GAAK,OAExD,IAAI8qC,EAAgBpyC,SAASC,uBAAuB,gCAAgC,GACjFmyC,IACCA,EAAcngC,MAAMk+B,QAAU7oC,EAAS,GAAK,GAC5C8qC,EAAcngC,MAAMkgC,cAAgB7qC,EAAS,GAAK,QArI1D,GAAKuG,cAAc,oBAAuBC,sB,cCiD3B,IACX8S,MAAO,CAAC,OAAO,YAClB/4B,KAAM,KAAM,CACL6iD,qBAAsB,EACtBD,gBAAiB,KAErBzrC,SAAU,IACH,eAAW,CAAC,UAAU,sBAAsB,yBAAyB,WAAW,UACnF,oBACL,OAAO,IAGNqiB,MAAO,CACH,WACOj0B,KAAKilD,SACJ9mD,OAAOovC,eAAerN,cAAc,KAC7B/hC,OAAOsvC,eAAiBtvC,OAAOsvC,cAAc9mB,cAC5CxoB,OAAOsvC,cAAc3tC,WAG7B3B,OAAOovC,eAAepN,mBAGrCruB,QAAS,IACC,eAAa,CAAC,uBACd,eAAW,CAAC,gBACf,cACI3T,OAAOsvC,cAAc3S,WAAWoqB,YAAc/mD,OAAOsvC,cAAc3S,WAAW+G,OAAS1jC,OAAOsvC,cAAc3S,WAAWC,QAE3H,iBAAiB4hB,GACVA,GAAS38C,KAAKs9C,uBAEVt9C,KAAKq9C,gBAAgBr9C,KAAKs9C,6BACnBt9C,KAAKo9C,6BAEZp9C,KAAK6hB,wBACJ7hB,KAAK8hB,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,qBAAsB46B,MAAOA,WAEzFa,GAAWx9C,KAAKvF,KAAMuF,KAAKs9C,qBAAsBX,GAEvD38C,KAAKs9C,qBAAuBX,IAGpC,mCACO38C,KAAK6hB,wBACJ7hB,KAAK8hB,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,8CAI5Dq7B,GAA2Bp9C,KAAKvF,KAAMuF,KAAKs9C,qBAAsBt9C,KAAKq9C,gBAAgBr9C,KAAKs9C,uBAEjGt9C,KAAKq9C,gBAAgBr9C,KAAKs9C,uBAAyBt9C,KAAKq9C,gBAAgBr9C,KAAKs9C,sBAC7EpqC,WAAW,KAAQlT,KAAKmlD,gBAAmB,IAE/C,iBACIC,YAAYnE,KAAK,eAAgB,6DAA8D,KAC3F99C,QAAQC,IAAI,6CAIxB,UACIpD,KAAKq9C,gBAAkB,IAAIgI,MAAMrlD,KAAKvF,KAAKQ,QAC3C,IAAI,IAAIwnC,EAAI,EAAGA,EAAIziC,KAAKq9C,gBAAgBpiD,OAAQwnC,IAC5CziC,KAAKq9C,gBAAgB5a,IAAK,EAE9B8f,GAAaviD,MACbA,KAAKslD,iBAEFtlD,KAAK4hB,qBACJzjB,OAAOsvC,cAAc9mB,aAAa6E,gBAEtCrtB,OAAOojB,iBAAiB,qBAAuB9hB,IAAQO,KAAKw9C,WAAW/9C,EAAE2hB,OAAOu7B,SAChFx+C,OAAOojB,iBAAiB,qCAAsC,KAAQvhB,KAAKo9C,gCAE/E,YACIj6C,QAAQC,IAAI,qBACZjF,OAAOovC,eAAex5B,UACtB5V,OAAOsvC,cAAc8X,wBACrBpnD,OAAOsvC,cAAc+X,2BACrBrnD,OAAOsvC,cAAc15B,UACrB5V,OAAOsvC,mBAAgB/iC,EACvBvM,OAAOovC,oBAAiB7iC,EACxBvM,OAAOwhD,2BAAwBj1C,ICxI2K,MCQ9M,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QC6DI,IACXouB,WAAY,CAACpzB,SAAA,IACbjL,KAAM,KAAM,CACR8yB,WAAY,GACZ1wB,KAAM,KACNqoD,WAAW,EACXtI,UAAW,EACXniD,KAAM,KAENsiD,QAAQ,CACJC,cAAe,EACf/hD,OAAQ,KAGhB2W,SAAS,IACF,eAAW,CAAC,sBAAsB,yBAAyB,WAAW,WAAW,WAExFqiB,MAAM,CACF,UAAUuM,EAAUC,GACA,MAAbzgC,KAAKvF,OAG+C,eAApDuF,KAAKvF,KAAKgrD,kBAAkBzlD,KAAK48C,WAAWx4C,OAC3CpE,KAAK+8C,QAAQ9hD,OAAS+E,KAAKvF,KAAKgrD,kBAAkBzlD,KAAK48C,WAAWniD,KAAKQ,QAE1B,SAA9C+E,KAAKvF,KAAKgrD,kBAAkBhlB,GAAUr8B,MACrCwO,SAAS+Y,eAAe,oBAAoBnS,UAEpD,sBACOxZ,KAAK4hB,qBAAuB5hB,KAAKklD,WAChCllD,KAAKy8C,sBAAqB,KAGtC3qC,QAAQ,IACD,eAAa,CAAC,uBACd,eAAW,CAAC,gBACf,gBAAgB6qC,GACT38C,KAAK6hB,wBACJ7hB,KAAK8hB,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,gCAAiC46B,MAAOA,KAE1G38C,KAAK48C,UAAYD,GAErB,qBAAqBH,GACdx8C,KAAK6hB,wBACJ7hB,KAAK8hB,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,oBAAqBmY,MAAOsiB,EAAM/hD,KAAMuF,KAAKvF,QAE5GuF,KAAKklD,WAAa1I,IACjBx8C,KAAKklD,WAAallD,KAAKklD,UACvBllD,KAAKyS,gBAAgBzS,KAAKklD,WAEtBllD,KAAKklD,UAIkD,eAApDllD,KAAKvF,KAAKgrD,kBAAkBzlD,KAAK48C,WAAWx4C,OAC3CpE,KAAK+8C,QAAQ9hD,OAAS+E,KAAKvF,KAAKgrD,kBAAkBzlD,KAAK48C,WAAWniD,KAAKQ,SAJ3E+E,KAAKvF,KAAO,KACZuF,KAAK48C,UAAY,KAO7B,YAAY8I,GACL1lD,KAAK+8C,QAAQC,cAAgB0I,EAAM,EAClC1lD,KAAK+8C,QAAQC,cAAgBh9C,KAAK+8C,QAAQ9hD,OAAS,EAC7C+E,KAAK+8C,QAAQC,cAAgB0I,GAAO1lD,KAAK+8C,QAAQ9hD,OACvD+E,KAAK+8C,QAAQC,cAAgB,EAE7Bh9C,KAAK+8C,QAAQC,cAAgBh9C,KAAK+8C,QAAQC,cAAgB0I,EAG3D1lD,KAAK6hB,wBACJ7hB,KAAK8hB,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,8BAA+BxiB,GAAIS,KAAK+8C,QAAQC,kBAEtH,cAAcL,GACP38C,KAAK6hB,wBACJ7hB,KAAK8hB,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,8BAA+BxiB,GAAIo9C,KAErG38C,KAAK+8C,QAAQC,cAAgBL,IAGrC,UACIx+C,OAAOojB,iBAAiB,oBAAqB9hB,IACzCO,KAAKvF,KAAOgF,EAAE2hB,OAAO3mB,KACrBuF,KAAKy8C,0BAAuC/xC,GAAlBjL,EAAE2hB,OAAO8Y,OAA4Bz6B,EAAE2hB,OAAO8Y,SAG5E/7B,OAAOojB,iBAAiB,eAAe,KAChCvhB,KAAKklD,WACJllD,KAAK8hB,YAAY,CAAC1d,KAAM,mBAAoB3J,KAAM,CAACsnB,UAAW,oBAAqBmY,MAAOl6B,KAAKklD,UAAWzqD,KAAMuF,KAAKvF,UAG7H0D,OAAOojB,iBAAiB,gCAAiC9hB,IAAQO,KAAK68C,gBAAgBp9C,EAAE2hB,OAAOu7B,SAC/Fx+C,OAAOojB,iBAAiB,8BAA+B9hB,IAAQO,KAAK+8C,QAAQC,cAAgBv9C,EAAE2hB,OAAO7hB,OC1KiG,MCQ9M,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAIQ,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAACJ,EAAG,MAAM,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAAOyC,EAAmC,gCAAEW,WAAW,oCAAoCN,YAAY,kBAAkBE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAI4lD,oCAAoC,CAAC1lD,EAAG,MAAM,CAACG,YAAY,eAAeE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAOA,EAAOylC,qBAAqB,CAACrnC,EAAG,sBAAsBA,EAAG,KAAK,CAACG,YAAY,YAAY,CAACL,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,2DAA2D,QAEvlB,GAAkB,G,aCgDP,IACXrR,WAAW,CAAC8sB,sBAAA,MACZ7d,OAAQ,CAAC,sBAAsB,eAC/BttC,KAAM,WACF,MAAO,CACHorD,iCAAiC,IAGzCj0C,SAAU,IACH,eAAS,CAACuoB,QAAUD,GAAUA,EAAMC,QAAQ6S,oBAC5C,eAAW,CAAC,QAAQ,iBAE9Bl7B,QAAS,IACC,eAAa,CAAC,kBAAkB,0BAA0B,eAG7D,iCACI9R,KAAK6lD,iCAAiC7lD,KAAK6lD,gCAC3C7lD,KAAKyS,gBAAgBzS,KAAK6lD,mCAGlC5xB,MAAO,CAGHkG,QAAS,WACL,IAAIlc,EAAOje,KACXA,KAAKm6B,QAAQ75B,GAAG,uBAAuB,SAASod,GACzB,qBAAhBA,EAAM+0B,SAELx0B,EAAK+mB,MAAMxtB,QAASirB,IACbA,EAAEljC,KAAO0e,EAAKkd,aACbld,EAAK6nC,WAAWrjB,EAAEljC,MAI1B0e,EAAK0nC,iCAGL1nC,EAAK28B,sBACL38B,EAAKzc,cACLyc,EAAK8nC,yBAAwB,UC1FmK,MCQhN,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAIhmD,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,oBAAoBE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIgrC,qBAAqB,CAAC9qC,EAAG,MAAM,CAACG,YAAY,eAAeE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAOA,EAAOylC,qBAAqB,CAACrnC,EAAG,KAAK,CAACG,YAAY,aAAa,CAACL,EAAIgC,GAAG,uBAAuB9B,EAAG,KAAK,CAACG,YAAY,gBAAgB,CAACL,EAAIgC,GAAG,+CAA+C9B,EAAG,WAAW,CAACG,YAAY,cAAcC,MAAM,CAAC,GAAK,aAAa,KAAO,MAAMJ,EAAG,KAAK,CAACG,YAAY,gBAAgB,CAACL,EAAIgC,GAAG,yCAAyC9B,EAAG,WAAW,CAACG,YAAY,cAAcC,MAAM,CAAC,GAAK,WAAW,KAAO,MAAMJ,EAAG,MAAM,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAA0B,MAAnByC,EAAImyC,aAA6C,MAAtBnyC,EAAIgyC,eAAwBrxC,WAAW,kDAAkDN,YAAY,cAAc,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,mCAAmC,SAASlqC,EAAG,YAAY,CAACG,YAAY,UAAUE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIimD,UAAW,CAACjmD,EAAIgC,GAAG,YAAY9B,EAAG,IAAI,CAACG,YAAY,cAAc,CAACL,EAAIgC,GAAG,oBAAoBhC,EAAIoiC,GAAGpiC,EAAIulC,gBAAgB,MAE7mC,GAAkB,GCsGtB,MAAM,GAAc,EAAQ,QAA2B/mC,QAExC,QACX1B,KAAM,sBACNkrC,OAAQ,CAAC,mBACTttC,KAAM,KAAM,CACRkrB,KAAM,KACNusB,YAAa,KACbC,cAAe,KACfO,aAAc,KACdX,eAAgB,KAChBC,iBAAkB,KAClB8B,gBAAiB,OAErBliC,SAAU,IACH,eAAW,CAAC,YAAY,gBAE/Bs2B,QAAS,WACLloC,KAAKg0C,eAETliC,QAAS,CAEL,oBACI,IAAImM,EAAOje,KACX,MAAMvF,EAAO,CACTmzC,QAAS5tC,KAAKm9B,UAAU59B,GACxB00C,UAAWj0C,KAAKm9B,UAAU/K,UAC1ByQ,KAAM7iC,KAAKqvC,YACX6E,QAASl0C,KAAKm9B,UAAU59B,GAAK,SAE3B40C,EAAc,OACdr4C,QAAe,GAA0Cq4C,EAAa15C,GAC5EuF,KAAK2lB,KAAO,IAAI,GAAY,KAAI,CACxByuB,OAAQt4C,EAAOu4C,QACfC,UAAWx4C,EAAOy4C,WAClBC,MAAO14C,EAAO24C,cAElB,CACIC,QAAS,IACTC,YAAa30C,KAAKiwC,cAClB2E,YAAa50C,KAAKkwC,gBAG1BjyB,EAAK0H,KAAKkvB,mBAAmBx9B,KAAMy9B,IAE/B72B,EAAK+zB,iBAAmB8C,EACxB72B,EAAK8zB,eAAiB,UAEtB9zB,EAAK0H,KAAKovB,aAAY,SAAwBC,OAAW39B,KAAMy9B,IAE/D72B,EAAKk0B,cAAgB2C,EACrB72B,EAAKi0B,YAAc,YAEhB56B,MAAO3S,IAEVsZ,EAAKy0B,aAAe/tC,EACpBsZ,EAAKi0B,YAAc,aAEpB56B,OAAM,SAAU3S,GAEfsZ,EAAK61B,gBAAkBnvC,EACvBsZ,EAAK8zB,eAAiB,SACtB9zB,EAAKi0B,YAAc,aAG3B,OACI,IAAI+T,EAAU,sBACVC,EAAatzC,SAAS+Y,eAAe,cAAcruB,MACnD6oD,EAAWvzC,SAAS+Y,eAAe,YAAYruB,MACnDsV,SAAS+Y,eAAe,cAAcruB,MAAQ,GAC9CsV,SAAS+Y,eAAe,YAAYruB,MAAQ,GAE5C,IAAI8oD,EAAUpmD,KAAKqmD,aACf1xB,EAAax2B,OAAO0wC,OAAO7jC,MAAM,MAAM7M,OAAO0wC,OAAO5jC,OACrDq7C,EAAetrC,KAAKm7B,IAAIvjC,SAAS2zC,gBAAgBlkC,aAAe,EAAGlkB,OAAOqoD,YAAc,GAAG,MAAOxrC,KAAKm7B,IAAIvjC,SAAS2zC,gBAAgBjkC,cAAgB,EAAGnkB,OAAOsoD,aAAe,GAC7KC,EAAK1mD,KAAK2mD,QACVC,EAAW5mD,KAAK6mD,kBAEhBC,EAAU,wDACd,GAAG9mD,KAAKkyC,YAEJ,GADA4U,EAAU,6CACa,WAApB9mD,KAAKkyC,YAAyB,CAC7B,IAAI6U,EAQAC,EANAD,EADD/mD,KAAKmyC,cAAc5jC,MAAM6jC,UACV,YAAapyC,KAAKmyC,cAAc5jC,MAAM+jC,IAAItW,QAAQ,GAAlD,wBACgBh8B,KAAKmyC,cAAc5jC,MAAMgkC,QAAQvW,QAAQ,GADzD,iCAEyBh8B,KAAKmyC,cAAc5jC,MAAMikC,gBAAgBxW,QAAQ,GAAG,YAE5E,sCAAsCh8B,KAAKmyC,cAAc5jC,MAAMkkC,OAI9EuU,EADDhnD,KAAKmyC,cAAc3mC,MAAM4mC,UACV,YAAapyC,KAAKmyC,cAAc3mC,MAAM8mC,IAAItW,QAAQ,GAAlD,wBACgBh8B,KAAKmyC,cAAc3mC,MAAM+mC,QAAQvW,QAAQ,GADzD,yBAEmBh8B,KAAKmyC,cAAc3mC,MAAMgX,UAAUwZ,QAAQ,GAF9D,iCAGyBh8B,KAAKmyC,cAAc3mC,MAAMgnC,gBAAgBxW,QAAQ,GAAG,YAE5E,sCAAsCh8B,KAAKmyC,cAAc3mC,MAAMinC,OAElFqU,GAAW,eACEE,EADF,qBAIED,OAEbD,EAAU,6EAEG9mD,KAAK0yC,aAI1B,IAAI/E,EAAa,2DACjB,GAAG3tC,KAAK+xC,eAAe,CAEnB,GADApE,EAAa,yCACV3tC,KAAKgyC,iBAAiBiV,YAAY,CACc,GAA5CjnD,KAAKgyC,iBAAiBiV,YAAYhsD,SACrC0yC,GAAY,uCACZ,IAAK,IAAI5yC,EAAI,EAAGA,EAAIiF,KAAKgyC,iBAAiBiV,YAAYhsD,OAAQF,IAC1D4yC,GAAa3tC,KAAKgyC,iBAAiBiV,YAAYlsD,GAAG4J,MAAMg3B,QAAS,SAGzE,GAA0B,UAAvB37B,KAAK+xC,eAA2B,CAC/BpE,EAAa,0EAEb,IAAK,IAAI5yC,EAAI,EAAGA,EAAIiF,KAAKgyC,iBAAiBiV,YAAYhsD,OAAQF,IAC1D4yC,GAAa3tC,KAAKgyC,iBAAiBiV,YAAYlsD,GAAG4J,MAAMg3B,QAAS,UAK7E,IAAIurB,EAAa,uBACjB,IAAK,IAAInsD,EAAI,EAAGA,EAAIoI,QAAQgkD,KAAKlsD,OAAQF,IACtCmsD,GAAa/jD,QAAQgkD,KAAKhkD,QAAQgkD,KAAKlsD,OAAOF,EAAE,GAAG,UAEtD,IAAI4pB,EAAO,6BACEuhC,EADF,2CAIEC,EAJF,wBAMcC,EANd,sBAOkBzxB,EAPlB,wBAQoB2xB,EARpB,yBASqBI,EATrB,yBAUqBE,EAVrB,eAYEjZ,EAAa,SACbmZ,EAbF,eAeEI,EAEVviC,EAAK1pB,OAAS,OACb0pB,EAAOA,EAAKiB,UAAU,EAAE,OAE5BznB,OAAO6f,KAAK,4CAA4CioC,EAAQ,SAASthC,GAEzE3kB,KAAK+qC,mBAET,aACI,IAA2Bqc,EAAvBC,EAAGthB,UAAUuhB,UAAcC,EAAEF,EAAGG,MAAM,iEAAmE,GAC7G,MAAG,WAAW7hC,KAAK4hC,EAAE,KACjBH,EAAI,kBAAkBK,KAAKJ,IAAO,GAC3B,CAACxqD,KAAK,KAAK6qD,QAASN,EAAI,IAAI,KAE7B,WAAPG,EAAE,KACDH,EAAIC,EAAGG,MAAM,qBACL,MAALJ,GAAqB,CAACvqD,KAAK,QAAS6qD,QAAQN,EAAI,KAEvDG,EAAEA,EAAE,GAAI,CAACA,EAAE,GAAIA,EAAE,IAAK,CAACxhB,UAAU4hB,QAAS5hB,UAAUT,WAAY,MAC1B,OAAlC8hB,EAAIC,EAAGG,MAAM,qBAA4BD,EAAEprD,OAAO,EAAE,EAAEirD,EAAI,IACvDG,EAAE,GAAG,IAAIA,EAAE,KAEtB,QACI,IAAIK,EAAS,UAUb,OAT6D,GAAzDzpD,OAAO4nC,UAAUuhB,UAAUvmB,QAAQ,qBAAyB6mB,EAAO,eACV,GAAzDzpD,OAAO4nC,UAAUuhB,UAAUvmB,QAAQ,oBAAyB6mB,EAAO,cACV,GAAzDzpD,OAAO4nC,UAAUuhB,UAAUvmB,QAAQ,oBAAyB6mB,EAAO,cACV,GAAzDzpD,OAAO4nC,UAAUuhB,UAAUvmB,QAAQ,oBAAyB6mB,EAAO,kBACV,GAAzDzpD,OAAO4nC,UAAUuhB,UAAUvmB,QAAQ,oBAAyB6mB,EAAO,eACV,GAAzDzpD,OAAO4nC,UAAUuhB,UAAUvmB,QAAQ,oBAAyB6mB,EAAO,iBACV,GAAzDzpD,OAAO4nC,UAAUuhB,UAAUvmB,QAAQ,SAAyB6mB,EAAO,YACV,GAAzDzpD,OAAO4nC,UAAUuhB,UAAUvmB,QAAQ,SAAyB6mB,EAAO,SACV,GAAzDzpD,OAAO4nC,UAAUuhB,UAAUvmB,QAAQ,WAAyB6mB,EAAO,SAChEA,GAEX,kBACI,IAAIC,GAAQ,EAEZ,OADA,SAAU7hC,IAAM,sVAAsVL,KAAKK,IAAI,0kDAA0kDL,KAAKK,EAAE8hC,OAAO,EAAE,OAAKD,GAAQ,GAAt9D,CAA89D9hB,UAAUuhB,WAAWvhB,UAAUgiB,QAAQ5pD,OAAO6pD,OACrgEH,KCpSkM,MCQjN,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAI9nD,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAACH,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,gBAAgBC,MAAM,CAAC,IAAMN,EAAIkoD,gBAAgB,IAAM,MAAMhoD,EAAG,MAAM,CAACG,YAAY,cAAc,CAAiB,oBAAfL,EAAIsqC,QAA+BpqC,EAAG,QAAQ,CAACG,YAAY,WAAWC,MAAM,CAAC,IAAMN,EAAIwtB,WAAW,4BAA4B,KAAO,GAAG,SAAW,GAAG,MAAQ,IAAI8U,SAAS,CAAC,OAAQ,KAAQpiC,EAAG,MAAM,CAACA,EAAG,MAAM,CAACG,YAAY,UAAUC,MAAM,CAAC,IAAMN,EAAIwtB,WAAW,UAAUxtB,EAAIw0B,SAASx0B,EAAIsqC,QAAQ,IAAM,MAAMpqC,EAAG,MAAM,CAACG,YAAY,eAAeC,MAAM,CAAC,QAAU,MAAM,MAAQ,6BAA6B,cAAc,+BAA+B,EAAI,MAAM,EAAI,MAAM,QAAU,YAAY,YAAY,aAAa,CAACJ,EAAG,OAAO,CAACI,MAAM,CAAC,GAAK,UAAU,EAAI,kLAAkL,CAACJ,EAAG,mBAAmB,CAACI,MAAM,CAAC,cAAgB,MAAM,cAAgB,YAAY,KAAO,SAAS,KAAO,UAAU,GAAK,YAAY,IAAM,KAAK,YAAc,iBAAiB,OAAOJ,EAAG,IAAI,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAAOyC,EAA8B,2BAAEW,WAAW,+BAA+BN,YAAY,WAAW,CAACL,EAAIgC,GAAG,eAEvzC,GAAkB,GC6BP,IACXtH,KAAM,KAAM,CACR8yB,WAAY,KAEhB3b,SAAU,IACH,eAAW,CAAC,WAAW,UAAU,mBAAmB,gBAAgB,eAAe,+BACtF,kBACI,OAAG5R,KAAKoiC,aACGpiC,KAAKutB,WAAW,UAAUvtB,KAAKu0B,SAAS,IAAIv0B,KAAK6R,iBAAiBhV,KAAKsiC,OAAO,IAAIn/B,KAAK6nC,cAC3F,OAGf,UACIj1B,SAASC,uBAAuB,gBAAgB,GAAGgS,MAAMk+B,QAAU,IC5CgI,MCQvM,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAIhjD,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAACJ,EAAG,MAAM,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAAOyC,EAA4B,yBAAEW,WAAW,6BAA6BN,YAAY,qBAAqB,CAACH,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,UAAUC,MAAM,CAAC,IAAMN,EAAIwtB,WAAW,UAAUxtB,EAAIw0B,SAASx0B,EAAIsqC,QAAQ,IAAM,MAAMpqC,EAAG,MAAM,CAACG,YAAY,YAAY,CAACL,EAAIgC,GAAG,wCAAwC9B,EAAG,MAAM,CAACG,YAAY,cAAcE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAImoD,SAAS,SAAS,CAACjoD,EAAG,MAAM,CAACG,YAAY,UAAUC,MAAM,CAAC,IAAM,+GAA+G,IAAM,MAAMJ,EAAG,OAAO,CAACF,EAAIgC,GAAG,eAAe9B,EAAG,MAAM,CAACG,YAAY,cAAcE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAImoD,SAAS,SAAS,CAACjoD,EAAG,MAAM,CAACG,YAAY,UAAUC,MAAM,CAAC,IAAM,yJAAyJ,IAAM,MAAMJ,EAAG,OAAO,CAACF,EAAIgC,GAAG,sBAE1lC,GAAkB,GCoBP,IACXtH,KAAM,KAAM,CACR8yB,WAAY,GACZ46B,0BAA0B,IAE9Bv2C,SAAU,IACH,eAAW,CAAC,oBAAoB,WAAW,kBAAkB,wBAAwB,aAE5FE,QAAS,CACL,SAASk0B,GACL,IAAIH,EAAkB,MAAZG,EAAmBhmC,KAAK2lC,gBAAkB3lC,KAAK8lC,kBACzD9lC,KAAKua,OAAOwiB,SAAS,mBAAoB,CAAC8I,IAAKA,EAAKK,SAAS,IAAQ7uB,KAAK,KACtElU,QAAQC,IAAI,8BAEhBpD,KAAKmoD,0BAA2B,IAGxCl0B,MAAO,CACH,wBACIj0B,KAAKmoD,yBAA2BnoD,KAAK4lC,wBAG7C,UACIhzB,SAASC,uBAAuB,gBAAgB,GAAGgS,MAAMk+B,QAAU,IC7CoI,MCQ3M,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAIhjD,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAACJ,EAAG,MAAM,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAAO0C,KAAgB,YAAEU,WAAW,qBAAqBN,YAAY,cAAc,CAACH,EAAG,MAAM,CAACG,YAAY,SAASC,MAAM,CAAC,IAAML,KAAKwN,IAAI,IAAM,MAAMvN,EAAG,IAAI,CAACG,YAAY,WAAW,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGniC,KAAK+1B,uBAEpW,GAAkB,GCsCP,IACXl5B,KAAM,oBACNpC,KAAM,KAAM,CACR2tD,aAAa,EACb56C,IAAK,KACLuoB,cAAe,OAEtBjkB,QAAS,CACF,wBACI9R,KAAKooD,aAAc,GAEvBC,sBAAuB,SAAS5oD,GAC5BO,KAAKwN,IAAM/N,EAAE2hB,OAAO5T,IACpBxN,KAAK+1B,cAAgBt2B,EAAE2hB,OAAOvkB,KAC9BmD,KAAKooD,aAAc,IAG3BlgB,QAAS,WACL/pC,OAAOojB,iBAAiB,wBAAwBvhB,KAAKsoD,uBACrDnqD,OAAOojB,iBAAiB,wBAAwBvhB,KAAKqoD,yBC3DkJ,MCQ3M,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAItoD,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,WAAW,CAACH,EAAG,oBAAoB,CAACG,YAAY,kBAAkBH,EAAG,UAAU,CAACG,YAAY,WAAW,CAACH,EAAG,SAAS,CAACI,MAAM,CAAC,GAAK,eAAe,WAAWN,EAAIoqC,GAAG,eAAe,MAAQ,KAAK,CAAClqC,EAAG,YAAY,GAAGA,EAAG,SAAS,CAACI,MAAM,CAAC,GAAK,mBAAmB,WAAWN,EAAIoqC,GAAG,gBAAkB,KAAKpqC,EAAIwoD,cAAc,IAAI,GAAK,mBAAmB,MAAQ,KAAK,CAACtoD,EAAG,mBAAmB,IAAI,IAAI,IAErd,GAAkB,GCFlB,GAAS,WAAkB,IAAIF,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,OAAO,CAACI,MAAM,CAAC,aAAeN,EAAIyoD,qBAAqB,OAASzoD,EAAI0oD,cAAc,SAAW1oD,EAAI2oD,SAAS,aAAa3oD,EAAI4oD,UAAU,YAAc5oD,EAAI6oD,YAAY,OAAS7oD,EAAI8oD,OAAO,eAAe9oD,EAAI+oD,YAAY,oBAAoB/oD,EAAIgpD,gBAAgB,yBAAyBhpD,EAAIipD,oBAAoB,mBAAmBjpD,EAAIkpD,eAAe,yBAAyBlpD,EAAImpD,oBAAoB,qBAAqBnpD,EAAIopD,OAAOluD,OAAS,EAAI8E,EAAIqpD,iBAAmB,KAAK,aAAarpD,EAAIspD,UAAU,gBAAgBtpD,EAAIupD,aAAa,kBAAiB,EAAM,eAAc,EAAM,yBAAyBvpD,EAAIwpD,qBAAqB,mBAAmBxpD,EAAIypD,gBAAgB,eAAezpD,EAAI0pD,YAAY,qBAAqB,eAAenpD,GAAG,CAAC,eAAiBP,EAAI2pD,eAAe,gBAAkB3pD,EAAI4pD,gBAAgB,gBAAkB5pD,EAAI6pD,gBAAgB,OAAS7pD,EAAI8pD,WAEr5B,GAAkB,G,aC+BP,IACX/wB,WAAY,CACRgxB,KAAA,YAEJ,OACI,MAAO,CACHC,0BAAsBr/C,EACtBs/C,eAAe,EACfC,YAAa,KACbC,iBAAmB,IAAIh5C,IACvBi5C,sBAAuB,EACvBC,aAAc,GAcdC,mBAAoB,GACpBC,OAAQ,CACJztD,KAAM,SACN0C,GAAI,EACJgrD,eAAgB,kIAapB5B,UAAW,gBACXC,YAAa5oD,KAAKwqD,MAAMjtD,EAAE,8BAC1BsrD,OAAQ,CACJ4B,OAAQ,CACJC,GAAI,UACJn6C,KAAM,QAEVorB,QAAS,CACL2uB,OAAQ,CACJI,GAAI,OACJn6C,KAAM,WAEVo6C,OAAQ,CACJD,GAAI,OACJn6C,KAAM,WAEVq6C,gBAAiB,CACbF,GAAI,YAGZG,WAAY,UACZC,gBAAiB,WAErBhC,YAAa,CACTiC,QAAS,OACTC,SAAU,OACVC,WAAY,OACZC,YAAa,QAEjBnC,iBAAiB,EACjBE,eAAgB,GAChBC,oBAAqB,GACrBF,oBAAqB,OACrBK,WAAW,EACXF,OAAQ,GAsBRG,aAAc,CACV6B,aAAa,EACbC,iBAAiB,GAErBC,eAAc,EACd9B,qBAAsB,CAClBoB,QAAQ,EACRL,QAAQ,EACRgB,OAAQ,CACJtgD,MAAO,OACPC,OAAQ,OACRsgD,aAAc,QAGtB/B,gBAAiB,CACb3gB,OAAQ,QACR2iB,UAAU,GAId/B,YAAa,CACTa,OAAQ,CACJmB,UAAW,cACXrxB,OAAQ,GAWRyO,OAAQ,SAAUvrC,EAAO8G,GAIrB,MAHa,QAATA,GAAkB9G,EAAMrC,OAAS,KACjCqC,EAAQA,EAAMe,MAAM,EAAG,IAAM,KAE1Bf,IAGfqtD,OAAQ,CACJc,UAAW,kBACXrxB,OAAQ,GAURyO,OAAQ,SAAUvrC,EAAO8G,GAIrB,MAHa,QAATA,GAAkB9G,EAAMrC,OAAS,KACjCqC,EAAQA,EAAMe,MAAM,EAAG,IAAM,KAE1Bf,OAM3BwU,QAAS,CACL+3C,OAAQ,SAAUnsC,GAEdva,QAAQC,IAAI,SAAUsa,IAE1B,iBAAiB7d,GACbqT,WAAW,KACPrT,EAAQG,KAAKmpD,QAEbnpD,KAAK0oD,SAASgD,WAAW1rD,KAAKmpD,QAC9BnpD,KAAKmpD,OAAS,IACf,MAEPS,gBAAiB,SAAUjuB,GACnBA,GACZ37B,KAAKua,OAAOwiB,SAAS,uBAAwBpB,EAAQr9B,SAKtD0B,KAAKiqD,YAAc,KAKV/2C,WAAW,KACPyoB,EAAQgwB,UAAW,GACpB,MAEP,gBAAgBC,EAAOjwB,GACnB,IAAIjX,EAAM,2EACV1kB,KAAK0oD,SAASntD,KAAKogC,GAMnBzoB,WAAYigC,IACRxX,EAAQgwB,UAAW,EACnBhwB,EAAQjX,IAAMyuB,EAAIzuB,KACnB,IAAM,CAACA,SAEd,eAAeiX,GAKXx4B,QAAQC,IAAI,gBAAiBu4B,EAAQjX,MAEzC,wBAAyBmnC,GACrB,GAAIA,IAAW7rD,KAAKm7B,YAChB,OAAO,EACX,IAAI2wB,EAAc9rD,KAAKqqD,mBAAmB5zC,KAAMC,GAAKA,EAAEm1C,SAAWA,GAClE,OAAIC,EACOA,EAAYvsD,GAEhB,GAEX,WAAWwsD,EAAQxsD,GACfS,KAAKkqD,iBAAiB74C,IAAI06C,EAAQxsD,IAErC,qBAEG,OADAS,KAAKmqD,sBAAwBnqD,KAAKmqD,sBAAwB,EACnDnqD,KAAKmqD,wBAIpBv4C,SAAU,IACH,eAAW,CAAC,QAAS,cAAe,YAAa,gBACjD,eAAS,CACjBo6C,gBAAkB9xB,GAAUA,EAAMC,QAAQ6xB,gBAC1CC,iBAAmB/xB,GAAUA,EAAMC,QAAQ8xB,mBAEtCvD,SAAU,SAASxuB,GAIlB,GAHG/2B,QAAQC,IAAI,yBAA0BpD,KAAKgqD,eAC3C7mD,QAAQC,IAAI,uBAAyBpD,KAAKgqD,gBAErB,IAArBhqD,KAAKgqD,cAAqB,CACtB7mD,QAAQC,IAAI,0BAEhB,IAAI8oD,EAAat5C,SAASC,uBAAuB,eAEjD1P,QAAQC,IAAI,gBAAkB8oD,GAY/B,IAAIjuC,EAAOje,KACV,GAAGk6B,EAAM+xB,kBAAoB/xB,EAAM+xB,iBAAiBE,YAAY,SAAWjyB,EAAM+xB,iBAAiBE,YAAY,QAAQC,aAAa,CAG/H,IAAIC,EAAkBnyB,EAAM+xB,iBAAiBE,YAAY,QAAQC,aAAahtD,IAC1EsX,IACIvT,QAAQC,IAAI,cAAgBsT,EAAEswB,WAC9B,IAAIoI,EAAO,IAAI9rC,KAAKoT,EAAEswB,WAEtB,MAAO,CACH1oC,QAASoY,EAAEilB,QACX2wB,cAAetsD,KAAKusD,wBAAwB71C,EAAE81C,QAC9CpoD,KAAM,OACN4iC,UAAW,CAACylB,KAAMrd,EAAKsd,iBAAkBC,MAAOvd,EAAKwM,WAAW,EAAGgR,IAAKxd,EAAKyd,aAAcC,KAAM1d,EAAK2d,WAAYC,OAAQ5d,EAAK6d,aAAcC,OAAQ9d,EAAK+d,aAAcC,YAAahe,EAAKie,mBAC1L/C,OAAQ5zC,EAAE81C,SAASxsD,KAAKm7B,eAGpCkxB,EAAgB70C,SAAQ,SAAUmkB,GAChC,GAAG1d,EAAK8rC,qBAAqB,CAC3B,IAAIuD,EAA+C,SAAzB3xB,EAAQqL,UAAUylB,KAA+C,QAA1B9wB,EAAQqL,UAAU2lB,MAA6C,MAAxBhxB,EAAQqL,UAAU4lB,IAA0C,KAAzBjxB,EAAQqL,UAAU8lB,KAA4C,IAA3BnxB,EAAQqL,UAAUgmB,OAA+C,KAA3BrxB,EAAQqL,UAAUkmB,OAAgBvxB,EAAQqL,UAAUomB,YACpQG,EAAyD,SAAjCtvC,EAAK8rC,qBAAqB0C,KAAuD,QAAlCxuC,EAAK8rC,qBAAqB4C,MAAqD,MAAhC1uC,EAAK8rC,qBAAqB6C,IAAkD,KAAjC3uC,EAAK8rC,qBAAqB+C,KAAoD,IAAnC7uC,EAAK8rC,qBAAqBiD,OAAuD,KAAnC/uC,EAAK8rC,qBAAqBmD,OAAgBjvC,EAAK8rC,qBAAqBqD,YAC/TE,GAAuBC,GAA0B5xB,EAAQ2uB,YAKxD3uB,EAAQ2uB,UAMhB,IAAIlb,EAAO,IAAI9rC,KAEf,OADA2a,EAAK8rC,qBAAuB,CAAC0C,KAAMrd,EAAKsd,iBAAkBC,MAAOvd,EAAKwM,WAAYgR,IAAKxd,EAAKyd,aAAcC,KAAM1d,EAAK2d,WAAYC,OAAQ5d,EAAK6d,aAAcC,OAAQ9d,EAAK+d,aAAcC,YAAahe,EAAKie,mBAClMhB,EAGP,MAAO,IAEf,uBACI,IAAIjC,EAAepqD,KAAKqqD,mBAmBxB,OAlBArqD,KAAKglC,MAAMxtB,QAAQtU,IAEf,IAAIsqD,EAASxtD,KAAKqqD,mBAAmB5zC,KAAMC,GAAKA,EAAEm1C,QAAU3oD,EAAKyE,SACjE,IAAK6lD,EAAS,CAEV,IAAIvvD,EAAG,GACPA,EAAEpB,KAAOqG,EAAKkvB,UACdn0B,EAAE4tD,OAAS3oD,EAAKyE,QACbzE,EAAKstC,cACJvyC,EAAEssD,eAAiBrnD,EAAKstC,cAEzBvyC,EAAEssD,eAAiB,GAAalO,cAAcn5C,GAEjDjF,EAAEsB,GAAKS,KAAKqqD,mBAAmBpvD,OAAS,EAExC+E,KAAKqqD,mBAAmB9uD,KAAK0C,MAG9BmsD,GAEX,gBACIjnD,QAAQC,IAAI,6BAEZ,IAAInF,EAAI,CACR,KAAS,OACT,GAAO,GAGHiF,EAAOlD,KAAKglC,MAAM3K,OAAQ3jB,GAAKA,EAAE/O,SAAW3H,KAAKm7B,aAcrD,OAbIj4B,GAAQA,EAAKjI,OAAS,IACtBgD,EAAEpB,KAAOqG,EAAK,GAAGkvB,UACjBn0B,EAAE4tD,OAAS3oD,EAAK,GAAGyE,QACfzE,EAAK,GAAGstC,eACPrtC,QAAQC,IAAI,kBAAoBF,EAAK,GAAGstC,eACrCvyC,EAAEssD,eAAiBrnD,EAAK,GAAGstC,gBAI3BrtC,QAAQC,IAAI,0CACbnF,EAAEssD,eAAiB,GAAalO,cAAcn5C,EAAK,MAGvDjF,GAEbwvD,gBAAiB,WACf,OAAOztD,KAAK0tD,WAGlB,UACIvvD,OAAOwvD,cAAgB,WACrB,GAAG/6C,SAASC,uBAAuB,gBAAgB5X,OAAS,EAC1D,IAAI,IAAI+qB,EAAI,EAAGA,EAAIpT,SAASC,uBAAuB,gBAAgB5X,OAAS,EAAG+qB,IAC7EpT,SAASC,uBAAuB,gBAAgBmT,GAAG4nC,SAGvD,OAAO,GAEXzvD,OAAOojB,iBAAiB,SAAS,WAC/B,GAAG3O,SAASC,uBAAuB,gBAAgB5X,OAAS,EAC1D,IAAI,IAAI+qB,EAAI,EAAGA,EAAIpT,SAASC,uBAAuB,gBAAgB5X,OAAQ+qB,IACzEpT,SAASC,uBAAuB,gBAAgBmT,GAAG4nC,aAK3D35B,MAAO,CACHy0B,SAAU,SAAUloB,GAClB,GAAGxgC,KAAKm9B,WAA0C,cAA7Bn9B,KAAKm9B,UAAUC,UAA2B,CAC/D,MAAMnf,EAAOje,KACXkT,YAAW,WACT,IAAI26C,EAAmBj7C,SAASC,uBAAuB,qBAAqB2tB,EAASvlC,OAAS,GAC3F4yD,GACDA,EAAiBtsC,iBAAiB,eAAe,SAAU7D,GACzD,MAAMowC,EAAcl7C,SAAS4D,cAAc,OAC3Cs3C,EAAYzpC,UAAU5lB,IAAI,gBAC1BqvD,EAAYjpC,MAAMC,KAAapH,EAAMqwC,QAAU,IAAO,KACtDD,EAAYjpC,MAAME,IAAWrH,EAAMswC,QAAU,KAE7C,MAAMC,EAAmBr7C,SAAS4D,cAAc,OAChDy3C,EAAiB5pC,UAAU5lB,IAAI,sBAC/BwvD,EAAiB9R,UAAY,oBAC7B8R,EAAiB1sC,iBAAiB,SAAS,WAIzC,GAHAtD,EAAK1D,OAAOwiB,SAAS,gBAAiB9e,EAAKyqC,SAASloB,EAASvlC,OAAS,IACtEgjB,EAAK1D,OAAOC,OAAO,oBAAqBgmB,EAASvlC,OAAS,GAEtD2X,SAASC,uBAAuB,gBAAgB5X,OAAS,EAC3D,IAAK,IAAI+qB,EAAI,EAAGA,EAAIpT,SAASC,uBAAuB,gBAAgB5X,OAAQ+qB,IAC1EpT,SAASC,uBAAuB,gBAAgBmT,GAAG4nC,YAIzDE,EAAYtpC,YAAYypC,GACxBr7C,SAAS8mC,qBAAqB,QAAQ,GAAGl1B,YAAYspC,QAGxD,OAGTL,gBAAiB,SAAUjtB,GACvB,MAAMviB,EAAOje,KACXwgC,GACFA,EAASnG,OAAQ19B,IAAMA,EAAEuxD,eAAgB12C,QAAS22C,IAChD,GAAyB,kBAAtBA,EAAQ/8C,UAA+B,CACxC,IAAIurC,GAAS,EAEb,IAAI,IAAI32B,EAAI,EAAGA,EAAI/H,EAAKyqC,SAASztD,OAAQ+qB,IACvC,GAAG/H,EAAKyqC,SAAS1iC,GAAGghB,YAAcmnB,EAAQxyB,QAAQqL,UAAU,CAC1D2V,EAAQ32B,EACR,OAGU,IAAX22B,GACDx5C,QAAQC,IAAI,kCAAoC6a,EAAKyqC,SAAS/L,GAAO3V,WACrE/oB,EAAKyqC,SAASvsD,OAAOwgD,EAAO,GAC5B1+B,EAAK1D,OAAOC,OAAO,oBAAqBmiC,GACxCwR,EAAQC,gBAERjrD,QAAQC,IAAI,+CC9biL,MCQvM,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAIrD,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,kBAAkB,CAACH,EAAG,QAAQ,CAACO,WAAW,CAAC,CAAC3D,KAAK,QAAQ4D,QAAQ,UAAUnD,MAAOyC,EAAU,OAAEW,WAAW,WAAWN,YAAY,YAAYC,MAAM,CAAC,KAAO,OAAO,YAAcN,EAAIoqC,GAAG,wBAAwB9H,SAAS,CAAC,MAAStiC,EAAU,QAAGO,GAAG,CAAC,MAAQ,SAASuB,GAAWA,EAAOyN,OAAOgzB,YAAiBviC,EAAI6mC,OAAO/kC,EAAOyN,OAAOhS,WAAU2C,EAAG,MAAM,CAACG,YAAY,WAAWE,GAAG,CAAC,OAAS,SAASuB,GAAQ,OAAO9B,EAAIsuD,2BAA2B,CAACpuD,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,eAAeC,MAAM,CAAC,IAAMN,EAAIo9B,UAAUqT,iBAAiBvwC,EAAG,OAAO,CAACG,YAAY,eAAeunC,MAAM,CAAC,yBAAsD,cAA5B5nC,EAAIo9B,UAAUC,YAA6B,CAACr9B,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIo9B,UAAU/K,gBAAgBnyB,EAAG,MAAM,CAACG,YAAY,iBAAiBL,EAAIyiC,GAAIxiC,KAAkB,eAAE,SAASkD,GAAM,OAAOjD,EAAG,MAAM,CAACrC,IAAIsF,EAAK3D,GAAGa,YAAY,eAAeC,MAAM,CAAC,MAAQ6C,EAAK3D,KAAK,CAACU,EAAG,MAAM,CAACG,YAAY,eAAeC,MAAM,CAAC,IAAM6C,EAAKstC,iBAAiBvwC,EAAG,OAAO,CAACG,YAAY,eAAeunC,MAAM,CAAC,yBAA6C,cAAnBzkC,EAAKk6B,YAA6B,CAACr9B,EAAIgC,GAAGhC,EAAIoiC,GAAGj/B,EAAKkvB,cAAcnyB,EAAG,YAAY,CAACG,YAAY,gCAAgCE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIuuD,qBAAqBprD,MAAS,CAACjD,EAAG,iBAAiB,IAAI,MAAK,KAAMF,EAAwB,qBAAEE,EAAG,mBAAmB,CAACI,MAAM,CAAC,KAAON,EAAIwuD,qBAAqB,OAASxuD,EAAIyuD,0BAA0BzuD,EAAIwB,MAAM,IAEx8C,GAAkB,GCFlB,GAAS,WAAkB,IAAIxB,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAACH,EAAG,UAAU,CAACG,YAAY,YAAYykB,MAAM,CAAE4pC,OAAQ1uD,EAAI0uD,SAAU,CAACxuD,EAAG,eAAe,CAACK,GAAG,CAAC,MAAQ,SAASuB,GAAQ9B,EAAI2nC,gBAAiB3nC,EAAIsuD,2BAA4B,CAACpuD,EAAG,+BAA+B,CAACG,YAAY,sBAAsBH,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,qCAAqC,GAAIpqC,EAAI2uD,cAAezuD,EAAG,eAAe,CAACK,GAAG,CAAC,MAAQ,SAASuB,GAAQ9B,EAAI4uD,WAAY5uD,EAAIsuD,2BAA4B,CAACpuD,EAAG,YAAY,CAACG,YAAY,sBAAsBH,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,iCAAiC,GAAGpqC,EAAIwB,KAAMxB,EAAI2uD,cAAezuD,EAAG,eAAe,CAACK,GAAG,CAAC,MAAQ,SAASuB,GAAQ9B,EAAI6uD,YAAa7uD,EAAIsuD,2BAA4B,CAACpuD,EAAG,WAAW,CAACG,YAAY,sBAAsBH,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,wCAAwC,GAAGpqC,EAAIwB,KAAMxB,EAAI2uD,cAAezuD,EAAG,eAAe,CAACK,GAAG,CAAC,MAAQ,SAASuB,GAAQ9B,EAAI8uD,wBAAyB9uD,EAAIsuD,2BAA4B,CAACpuD,EAAG,aAAa,CAACG,YAAY,sBAAsBH,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,6BAA6B,GAAGpqC,EAAIwB,MAAM,IAAI,IAE3xC,GAAkB,G,aCsCP,IACbu3B,WAAW,CAAC6T,aAAA,KAAUmiB,gCAAA,KAA6BjiB,cAAA,KAAWD,YAAA,MAC9DpZ,MAAO,CAAC,OAAO,UACfuU,OAAQ,CAAC,yBACTj2B,QAAQ,IACH,eAAa,CAAC,qCACd,eAAW,CAAC,gBACf,WACE9R,KAAK8hB,YAAY,CAAC1d,KAAM,cAAc3J,KAAM,CAACs0D,eAAgB,CAAC/uD,KAAKkD,KAAK3D,QAE1E,YACES,KAAK8hB,YAAY,CAAC1d,KAAM,mBAAmB3J,KAAM,CAACs0D,eAAgB,CAAC/uD,KAAKkD,KAAK3D,QAE/E,gBACES,KAAKmmC,8BAA8B,CAAC7yB,YAAatT,KAAKkD,KAAKutB,sBAE7D,wBACE,IAAIkd,EAAa3tC,KAAKitC,eAAe5S,OAAQ3jB,GAAKA,EAAEi3B,WAAWlzC,KAAKmzC,SAAW5tC,KAAKkD,KAAK3D,IAAK,GAAGouC,WACjG3tC,KAAKm6B,QAAQ0T,gBAAgBF,GAAY,SAAUhpC,GAC9CA,EACDxB,QAAQC,IAAIuB,GAEZxB,QAAQC,IAAI,oCAAsCuqC,EAAWpuC,QAGnE,cACE,MAAoC,cAA7BS,KAAKm9B,UAAUC,YAG1BxrB,SAAS,IACJ,eAAW,CAAC,iBACZ,eAAS,CACVuoB,QAAUD,GAAUA,EAAMC,QAAQ6S,eAClCC,eAAiB/S,GAAUA,EAAMC,QAAQ8S,mBCzEqK,MCQhN,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,qBCkBA,IACbnU,WAAW,CAACk2B,oBAAiBC,gBAAA,MAC7Bx0D,KAAM,KAAM,CACVmsC,OAAQ,GACRsoB,sBAAsB,EACtBX,qBAAsB,KACtBC,uBAAwB,EACxBW,UAAW,IAEbr9C,QAAS,CACP,qBAAqB5O,GAChBA,GAASlD,KAAKuuD,sBACfvuD,KAAKuuD,qBAAuBrrD,EAC5BlD,KAAKwuD,uBAAyBrwD,OAAOsoD,YAAczmD,KAAKmvD,UAAY,GAAK,KACzEnvD,KAAKkvD,sBAAuB,GAE5BlvD,KAAKquD,yBAGT,wBACEruD,KAAKkvD,sBAAuB,EAC5BlvD,KAAKuuD,qBAAuB,MAE9B,QAAQtwD,GACN+B,KAAKmvD,UAAYlxD,EAAEmxD,QAGvBx9C,SAAS,IACJ,eAAW,CAAC,QAAS,cACxBy9C,cAAe,WACb,OAAOrvD,KAAKglC,MAAM3K,OAAQn3B,IACxB,IAAIrG,EAAOqG,EAAKkvB,UAAU6sB,cACtBqQ,EAAatvD,KAAK4mC,OAAOqY,cAC7B,OAAOpiD,GAAQA,EAAK2qD,MAAM8H,IAAepsD,EAAKyE,SAAW3H,KAAKm9B,UAAUx1B,YAI9EugC,QAAS,WACP3mB,iBAAiB,YAAavhB,KAAKuvD,UAErC,UACA,MAAO,CACNlB,sBAAuBruD,KAAKquD,yBC/EmL,MCQ9M,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAItuD,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACH,EAAG,MAAM,CAACG,YAAY,cAAcC,MAAM,CAAC,GAAK,iBAAiBC,GAAG,CAAC,MAAQP,EAAIukC,eAAe,CAACrkC,EAAG,MAAM,CAACG,YAAY,cAAcunC,MAAM,CAAE,UAAa5nC,EAAIsB,uBAAwB,SAAYtB,EAAIsB,yBAA0B,CAACpB,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAAEL,EAAIwwC,WAAaxwC,EAAIyvD,WAAWze,UAAYhxC,EAAIq5C,UAAWn5C,EAAG,MAAM,CAACG,YAAY,oBAAoBC,MAAM,CAAC,IAAMN,EAAIywC,YAAYzwC,EAAIo9B,cAAcp9B,EAAIwB,KAAMxB,EAAIwwC,WAAaxwC,EAAIyvD,WAAWze,UAAYhxC,EAAIq5C,UAAWn5C,EAAG,MAAM,CAACG,YAAY,gCAAgCykB,MAAM,CAAE,mBAAmB9kB,EAAI0wC,aAAa1wC,EAAIo9B,YAAa98B,MAAM,CAAC,GAAK,kCAAkCN,EAAIwB,KAAMxB,EAAIsB,uBAAwBpB,EAAG,OAAO,CAACG,YAAY,mBAAmB,CAACL,EAAIgC,GAAG,gBAAgBhC,EAAIwB,KAAKtB,EAAG,OAAO,CAACG,YAAY,aAAa,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAI+tC,oBAAoB7tC,EAAG,mBAAmB,CAACI,MAAM,CAAC,MAAQ,gBAAgB,KAAON,EAAIouC,qBAAuBpuC,EAAIwwC,WAAcxwC,EAAIyvD,WAAWze,UAAahxC,EAAIq5C,UAA8Sr5C,EAAIwB,KAAvStB,EAAG,MAAM,CAACA,EAAG,MAAM,CAACG,YAAY,+CAA+CC,MAAM,CAAC,IAAMN,EAAIywC,YAAYzwC,EAAIo9B,cAAcl9B,EAAG,MAAM,CAACG,YAAY,8CAA8CykB,MAAM,CAAE,mBAAmB9kB,EAAI0wC,aAAa1wC,EAAIo9B,YAAa98B,MAAM,CAAC,GAAK,yBAAkC,GAAGN,EAAIyiC,GAAIziC,EAAW,SAAE,SAASgvC,GAAQ,OAAO9uC,EAAG,MAAM,CAACrC,IAAImxC,EAAO0gB,SAASrvD,YAAY,eAAeunC,MAAM,CAAC,UAAa5nC,EAAI2vD,sBAAsB3gB,EAAOpB,WAAWlzC,KAAKmzC,SAAS,SAAY7tC,EAAI2vD,sBAAsB3gB,EAAOpB,WAAWlzC,KAAKmzC,UAAUvtC,MAAM,CAAC,GAAKN,EAAI4vD,gBAAgB,SAAU5gB,EAAOpB,WAAWlzC,KAAKmzC,UAAUttC,GAAG,CAAC,WAAa,SAASuB,GAAQ,OAAO9B,EAAI6vD,sBAAsB7gB,EAAOpB,WAAWlzC,KAAKmzC,SAAS,IAAO,WAAa,SAAS/rC,GAAQ,OAAO9B,EAAI6vD,sBAAsB7gB,EAAOpB,WAAWlzC,KAAKmzC,SAAS,MAAU,CAAC3tC,EAAG,OAAO,CAACG,YAAY,mBAAmB,CAAE2uC,EAAOgC,UAAYhxC,EAAIywC,YAAYzwC,EAAI8vD,YAAY9gB,EAAOpB,WAAWlzC,KAAKmzC,UAAW3tC,EAAG,MAAM,CAACG,YAAY,oBAAoBC,MAAM,CAAC,IAAMN,EAAIywC,YAAYzwC,EAAI8vD,YAAY9gB,EAAOpB,WAAWlzC,KAAKmzC,aAAa7tC,EAAIwB,KAAMwtC,EAAOgC,WAAahxC,EAAIywC,YAAYzwC,EAAI8vD,YAAY9gB,EAAOpB,WAAWlzC,KAAKmzC,WAC5sE7tC,EAAI0wC,aAAa1wC,EAAI8vD,YAAY9vD,EAAI8vD,YAAY9gB,EAAOpB,WAAWlzC,KAAKmzC,YACxE7tC,EAAI8vD,YAAY9gB,EAAOpB,WAAWlzC,KAAKmzC,SAASh2B,WAAY3X,EAAG,MAAM,CAACG,YAAY,8CAA8CykB,MAAM,CAAE,mBAAmB9kB,EAAI0wC,aAAa1wC,EAAI8vD,YAAY9gB,EAAOpB,WAAWlzC,KAAKmzC,YAAa,CAAC7tC,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAI8vD,YAAY9gB,EAAOpB,WAAWlzC,KAAKmzC,SAASh2B,YAAY,OAAO7X,EAAIwB,KAAMwtC,EAAe,SAAE9uC,EAAG,MAAM,CAACG,YAAY,gCAAgCykB,MAAM,CAAE,mBAAmB9kB,EAAI0wC,aAAa1wC,EAAI8vD,YAAY9gB,EAAOpB,WAAWlzC,KAAKmzC,WAAYvtC,MAAM,CAAC,GAAKN,EAAI4vD,gBAAgB,QAAS5gB,EAAOpB,WAAWlzC,KAAKmzC,YAAY7tC,EAAIwB,KAAMxB,EAAI2vD,sBAAsB3gB,EAAOpB,WAAWlzC,KAAKmzC,SAAU3tC,EAAG,OAAO,CAACG,YAAY,mBAAmB,CAACL,EAAIgC,GAAG,gBAAgBhC,EAAIwB,KAAKtB,EAAG,OAAO,CAACG,YAAY,aAAa,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIguC,YAAYgB,EAAOpB,WAAWlzC,KAAKmzC,eAAgB7tC,EAAIo6B,SAAWp6B,EAAIo6B,QAAQwT,WAAY1tC,EAAG,oBAAoB,CAACI,MAAM,CAAC,OAAS0uC,EAAO,KAAOhvC,EAAIouC,gBAAgBY,EAAOpB,WAAWlzC,KAAKmzC,YAAY7tC,EAAIwB,KAAOwtC,EAAOgC,SAA2ZhxC,EAAIwB,KAArZtB,EAAG,MAAM,CAACA,EAAG,MAAM,CAACG,YAAY,+CAA+CC,MAAM,CAAC,IAAMN,EAAIywC,YAAYzwC,EAAI8vD,YAAY9gB,EAAOpB,WAAWlzC,KAAKmzC,aAAa3tC,EAAG,MAAM,CAACG,YAAY,8CAA8CykB,MAAM,CAAE,mBAAmB9kB,EAAI0wC,aAAa1wC,EAAI8vD,YAAY9gB,EAAOpB,WAAWlzC,KAAKmzC,WAAYvtC,MAAM,CAAC,GAAKN,EAAI4vD,gBAAgB,QAAS5gB,EAAOpB,WAAWlzC,KAAKmzC,cAAuB3tC,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAAEN,EAAI+vD,MAAQ/vD,EAAIgwD,sBAAsBhhB,EAAOpB,WAAWlzC,KAAKmzC,SAAU3tC,EAAG,MAAM,CAACG,YAAY,oCAAoC,CAAEL,EAAI+vD,MAAQ/vD,EAAIiwD,sBAAsBjhB,EAAOpB,WAAWlzC,KAAKmzC,SAAU3tC,EAAG,MAAM,CAACG,YAAY,0BAA0BE,GAAG,CAAC,WAAa,SAASuB,GAAQ,OAAO9B,EAAIkwD,sBAAsBlhB,EAAOpB,WAAWlzC,KAAKmzC,SAAS,IAAO,WAAa,SAAS/rC,GAAQ,OAAO9B,EAAIkwD,sBAAsBlhB,EAAOpB,WAAWlzC,KAAKmzC,SAAS,MAAU,CAAC3tC,EAAG,QAAQ,CAACG,YAAY,2BAA2BC,MAAM,CAAC,KAAO,SAASgiC,SAAS,CAAC,MAAQtiC,EAAImwD,sBAAsBnhB,EAAOpB,WAAWlzC,KAAKmzC,UAAUttC,GAAG,CAAC,OAAS,SAASuB,GAAQ,OAAO9B,EAAIowD,sBAAsBphB,EAAOpB,WAAWlzC,KAAKmzC,eAAe7tC,EAAIwB,KAAKtB,EAAG,MAAM,CAACG,YAAY,0BAA0B,CAACH,EAAG,MAAM,CAACG,YAAY,mBAAmBE,GAAG,CAAC,WAAa,SAASuB,GAAQ,OAAO9B,EAAIkwD,sBAAsBlhB,EAAOpB,WAAWlzC,KAAKmzC,SAAS,IAAO,WAAa,SAAS/rC,GAAQ,OAAO9B,EAAIkwD,sBAAsBlhB,EAAOpB,WAAWlzC,KAAKmzC,SAAS,MAAU,CAAE7tC,EAAI+vD,MAAQ/vD,EAAImwD,sBAAsBnhB,EAAOpB,WAAWlzC,KAAKmzC,SAAW,EAAG3tC,EAAG,YAAY,CAACK,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIowD,sBAAsBphB,EAAOpB,WAAWlzC,KAAKmzC,QAAS,WAAW,CAAC3tC,EAAG,eAAe,GAAGA,EAAG,YAAY,CAACK,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIowD,sBAAsBphB,EAAOpB,WAAWlzC,KAAKmzC,QAAS,aAAa,CAAC3tC,EAAG,cAAc,IAAI,OAAOF,EAAIwB,QAAQ,MAAKxB,EAAIyiC,GAAIziC,EAAsB,oBAAE,SAASmD,GAAM,OAAOjD,EAAG,MAAM,CAACrC,IAAIsF,EAAK3D,GAAGa,YAAY,eAAeunC,MAAM,CAAC,UAAa5nC,EAAI2vD,sBAAsBxsD,EAAK3D,IAAK,SAAYQ,EAAI2vD,sBAAsBxsD,EAAK3D,MAAM,CAACU,EAAG,OAAO,CAACG,YAAY,cAAc,CAAEL,EAAI2vD,sBAAsBxsD,EAAK3D,IAAKU,EAAG,OAAO,CAACG,YAAY,mBAAmB,CAACL,EAAIgC,GAAG,gBAAgBhC,EAAIwB,KAAKtB,EAAG,OAAO,CAACG,YAAY,aAAa,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGj/B,EAAKrG,WAAYkD,EAAIywC,YAAYttC,GAAOjD,EAAG,MAAM,CAACG,YAAY,+CAA+CC,MAAM,CAAC,IAAMN,EAAIywC,YAAYttC,GAAM,IAAM,gBAAgBnD,EAAIwB,MAAOxB,EAAIywC,YAAYttC,IACh4GnD,EAAI0wC,aAAavtC,IACjBnD,EAAI8vD,YAAY3sD,GAAM0U,WAAY3X,EAAG,MAAM,CAACG,YAAY,8CAA8CykB,MAAM,CAAE,mBAAmB9kB,EAAI0wC,aAAa1wC,EAAI8vD,YAAY3sD,MAAU,CAACnD,EAAIgC,GAAG,IAAIhC,EAAIoiC,GAAGpiC,EAAI8vD,YAAY9vD,EAAIgvC,OAAOpB,WAAWlzC,KAAKmzC,SAASh2B,YAAY,OAAO7X,EAAIwB,WAAU,GAAGtB,EAAG,MAAM,CAACG,YAAY,aAAaC,MAAM,CAAC,GAAK,kBAAkB,CAACJ,EAAG,uBAAuB,CAACI,MAAM,CAAC,UAAYN,EAAIwwC,cAAc,MAE5a,GAAkB,GCNtB,IAAI6f,GAAyB38C,IACzB,MAAM48C,EACF,YAAY58C,EAASrP,EAAMksD,GACvBtwD,KAAKyT,QAAUA,EACfzT,KAAKoE,KAAOA,EACZpE,KAAKswD,iBAAmBA,EACxBtwD,KAAKuwD,kBAIT,kBACIptD,QAAQC,IAAI,YAAYpD,KAAKoE,MAC7BpE,KAAKyT,QAAQ0mB,QAAQ75B,GAAG,UAAUN,KAAKoE,KAAMsZ,IACzC,IAAIjjB,EAAO4qB,KAAKkuB,MAAM71B,EAAMjjB,MAGzBA,EAAK+1D,cAAgBxwD,KAAKyT,QAAQ0nB,cAC9B1gC,EAAKs0D,oBACiErkD,GAAlEjQ,EAAKs0D,eAAet4C,KAAKlX,GAAMA,GAAMS,KAAKyT,QAAQ0nB,cAGjDn7B,KAAKswD,iBAAiB71D,GAK1BuF,KAAKswD,iBAAiB71D,MAQtC,eAAeA,GAGX,MAAMg2D,EAAa,CACfrsD,KAAMpE,KAAKoE,KACX3J,KAAM4qB,KAAKC,UAAU7qB,IAEzBuF,KAAKyT,QAAQ0mB,QAAQu2B,OAAOD,GAAY,SAAU9rD,GAC1CA,GACAxB,QAAQC,IAAI,CAAC,iBAAkBuB,EAAMhF,KAAM,MAAOgF,EAAMg3B,SAAS7V,KAAK,SAMtF,MAAM6qC,UAAqCN,EACvC,YAAY58C,GACRvN,MAAMuN,EAAQ,+BAAiChZ,IAC3C,IAAIisB,EAEY,WAAbjsB,EAAK2J,OACJsiB,EAASvoB,OAAO0V,MAAM8S,aACtBD,EAAOqB,IAAMttB,EAAKstB,IACftU,EAAQgd,oBAAsBh2B,EAAKg2B,oBAClChd,EAAQ0yB,8BAA8B,CAAC7yB,YAAa7Y,EAAKg2B,mBAAoBmgC,oBAAoB,KAGzF,YAAbn2D,EAAK2J,OACJsiB,EAASvoB,OAAOsvC,cAAc9mB,aAC9BD,EAAOgnB,OAASjzC,EAAKizC,QAGzBhnB,EAAOxH,MAAQzkB,EAAKykB,MACpBwH,EAAO2W,KAAO5iC,EAAK4iC,KACnB3W,EAAOpX,OAAOoH,EAAIjc,EAAK6U,OAAOiX,GAC9BG,EAAOpX,OAAOkP,EAAI/jB,EAAK6U,OAAOkX,GAC9BE,EAAOpX,OAAOiR,EAAI9lB,EAAK6U,OAAOmX,MAM1C,MAAMoqC,UAAiCR,EACnC,YAAY58C,GACRvN,MAAMuN,EAAQ,2BAA6BhZ,IACvCgZ,EAAQq9C,wBAAwBr2D,EAAK4yC,gBAMjD,MAAM0jB,UAAoBV,EACtB,YAAY58C,GACRvN,MAAMuN,EAAQ,mBAAoB,KAC9BA,EAAQ88B,UAAUygB,cAAa,GAC/Bv9C,EAAQ8G,OAAOC,OAAO,cAAc,MAMhD,MAAMy2C,UAAyBZ,EAC3B,YAAY58C,GACRvN,MAAMuN,EAAQ,mBAAoB,KAC9BA,EAAQ88B,UAAU2gB,cAAa,GAC/Bz9C,EAAQ8G,OAAOC,OAAO,cAAc,MAMhD,MAAM22C,UAAyBd,EAC3B,YAAY58C,GACRvN,MAAMuN,EAAQ,mBAAqBhZ,IAC/B0I,QAAQC,IAAI,YAAY3I,EAAKsnB,WAC7B5jB,OAAO+iB,cAAc,IAAIC,YAAY1mB,EAAKsnB,UAAU,CAACX,OAAQ3mB,QAMzE0I,QAAQC,IAAI,iCACZ,IAAIguD,EAAuC,IAAIT,EAA6Bl9C,GACxE49C,EAAmC,IAAIR,EAAyBp9C,GAChE69C,EAAsB,IAAIP,EAAYt9C,GACtC89C,EAA2B,IAAIN,EAAiBx9C,GAChD+9C,EAA2B,IAAIL,EAAiB19C,GAEpDtV,OAAOojB,iBAAiB,cAAgB9hB,IACpC,IAAIhF,EAAOgF,EAAE2hB,OAAO3mB,KACpBA,EAAK+1D,aAAe/wD,EAAE2hB,OAAOovC,aAER,iCAAlB/wD,EAAE2hB,OAAOhd,MACRgtD,EAAqCK,eAAeh3D,GACnC,6BAAlBgF,EAAE2hB,OAAOhd,MACRitD,EAAiCI,eAAeh3D,GAC/B,gBAAlBgF,EAAE2hB,OAAOhd,MACRktD,EAAoBG,eAAeh3D,GAClB,qBAAlBgF,EAAE2hB,OAAOhd,MACRmtD,EAAyBE,eAAeh3D,GACvB,qBAAlBgF,EAAE2hB,OAAOhd,MACRotD,EAAyBC,eAAeh3D,MAIrC,UCHf,MAAM,GAA6B,EAAQ,QAErC,GAAgBi3D,IACpBvuD,QAAQwB,MAAM+sD,GACdntB,MAAMmtB,EAAI/1B,UAGG,QACb7C,WAAY,CAACuQ,cAAA,KAAYsD,aAAA,MACzBlyC,KAAM,KAAM,CACVk3D,gBAAiB,EACjBC,wBAAwB,EACxBC,YAAa,GACblhB,iCAAkC,CAChC3lC,MAAO,IACPC,OAAQ,IACRsjC,QAAS,UACT/rB,UAAW,GACXgsB,iBAAiB,EACjB/xB,WAAY,UACZgyB,cAAc,EACd5pB,MAAO,CACL6pB,sBAAuB,MACvBC,kBAAmB,MACnBC,gBAAiB,MACjB+H,mBAAoB,KAGxBpG,UAAW,KACXif,WAAY,CACVhe,UAAU,EACVT,UAAU,GAEZsH,UAAW,KACXyZ,YAAa,GACbrjB,cAAc,EACdqhB,MAAM,IAERl+C,SAAU,IACL,eAAS,CACVmgD,oBAAsB73B,GAAUA,EAAMC,QAAQ43B,oBAC9C93B,qBAAuBC,GAAUA,EAAMC,QAAQF,qBAC/CgT,eAAiB/S,GAAUA,EAAMC,QAAQ8S,eACzC+kB,2BAA6B93B,GAAUA,EAAMC,QAAQ63B,2BACrD73B,QAAUD,GAAUA,EAAMC,QAAQ6S,oBAEjC,eAAW,CAAC,YAAY,YAAY,QAAQ,cAAc,cAAc,YAAY,YAAY,mBAAmB,sBAAsB,yBAAyB,uBACrK,gBACE,OAAOhtC,KAAKm9B,UAAU/K,WAExB,qBACE,IAAI6/B,EAAO,GACX,IAAI,IAAIjsC,EAAI,EAAGA,EAAIhmB,KAAKglC,MAAM/pC,OAAQ+qB,IAChChmB,KAAKkyD,cAAclyD,KAAKglC,MAAMhf,GAAGzmB,KAAOS,KAAKglC,MAAMhf,GAAGzmB,KAAOS,KAAKm7B,aACpE82B,EAAK12D,KAAKyE,KAAKglC,MAAMhf,IAGzB,OAAOisC,GAET,UACE,OAAOjyD,KAAKitC,eAAe5S,OAAQ0U,GAAwC,WAArBA,EAAOd,aAGjE,UAEE,GAAsBjuC,MAElBA,KAAKi6B,uBACPj6B,KAAK4xD,wBAAyB,GAEhC5xD,KAAKq5C,MAAMC,IAAI,qBAAuB/I,IACE,UAAnCA,EAAU4hB,iBAAiB/tD,OAC5BpE,KAAKuwC,UAAYA,EAGjBvwC,KAAKuwC,UAAUjwC,GAAG,oBAAsBod,IACtC1d,KAAKoyD,yCAAyC10C,KAIhD1d,KAAKm6B,QAAQ75B,GAAG,wBAA0Bod,IACxC1d,KAAKqyD,iCAAiC30C,QAK5C1d,KAAKq5C,MAAMC,IAAI,wBAAyB,KACtCt5C,KAAK8hB,YAAY,CAAC1d,KAAM,2BAA2B3J,KAAM,CAAC4yC,aAAa,KACpErtC,KAAK4hB,qBACN5hB,KAAK8wD,wBAAuB,KAGhC9wD,KAAKsyD,oBAAsB,IAAIphD,IAC/BlR,KAAKq5C,MAAMC,IAAI,sBAAwBjE,IAGlCr1C,KAAK6hB,yBACN7hB,KAAK8hB,YAAY,CAAC1d,KAAM,2BAA2B3J,KAAM,CAAC4yC,aAAa,EAAO/9B,OAAQnR,OAAO0V,MAAM8S,aAAarX,OAAQ4P,MAAO/gB,OAAO0V,MAAM8S,aAAazH,MAAOme,KAAMl/B,OAAO0V,MAAM8S,aAAa0W,QAChMnqB,WAAW,KAAQ/U,OAAO+iB,cAAc,IAAIC,YAAY,eAAe,CAACC,OAAO,CAAC7hB,GAAI81C,EAAWtG,OAAOpB,WAAWlzC,KAAKmzC,aAAe,MAGvI,IAAI2kB,EAAiBvyD,KAAK8xD,YAAYz3B,OAAQh+B,GACrCA,EAAEkD,KAAO81C,EAAWtG,OAAOpB,WAAWlzC,KAAKmzC,SAEjD2kB,EAAet3D,OAAS,GACzB+E,KAAKwyD,KAAKxyD,KAAK8xD,YAAa9xD,KAAK8xD,YAAY72D,OAAQ,CACnDsE,GAAI81C,EAAWtG,OAAOpB,WAAWlzC,KAAKmzC,QACtCyH,WAAYA,EACZvxC,OAAQuxC,EAAWod,iBACnBC,iBAAiB,EACjBC,iBAAiB,EACjBta,UAAW,IAGfr4C,KAAK4yD,mCAAmCvd,MAG5C,YACEr1C,KAAKq5C,MAAMwZ,KAAK,qBAAuBtiB,IACrCvwC,KAAKuwC,UAAYA,EACjBvwC,KAAKu5C,sCAEPv5C,KAAKq5C,MAAMwZ,KAAK,sBAAwBxd,IACtCr1C,KAAKsyD,oBAAoBjhD,IAAIgkC,EAAWtG,OAAOpB,WAAWlzC,KAAKmzC,QAAS,GACxE5tC,KAAK4yD,mCAAmCvd,KAGvCr1C,KAAKuwC,WACNvwC,KAAKuwC,UAAUuiB,MAEd9yD,KAAKm6B,SACNn6B,KAAKm6B,QAAQ24B,IAAI,0BAErBhhD,QAAS,IACJ,eAAW,CAAC,mBACZ,eAAa,CAAC,gCAAgC,2BACjD,YAAa2wB,GACX,OAAO,GAAa4Z,cAAc5Z,IAEpC,gBAAgBswB,EAAQxzD,GACtB,OAAQwzD,EAAO,IAAIxzD,GAErB,oBAAoBA,GAClB,OAAOS,KAAK8xD,YAAYz3B,OAAQh+B,GACvBA,EAAEkD,KAAOA,GACf,IAEL,0BAA0BA,EAAIyzD,GAC5B,IAAIC,EAAMjzD,KAAKkzD,oBAAoB3zD,GAChC0zD,IAAKA,EAAI5a,UAAY2a,IAE1B,0BAA0BzzD,GACxB,IAAI0zD,EAAMjzD,KAAKkzD,oBAAoB3zD,GACnC,GAAG0zD,EAAK,OAAOA,EAAI5a,WAGrB,sBAAsB94C,EAAI4zD,GACxB,IAAI92D,EAAI2D,KAAK8xD,YAAYz3B,OAAQh+B,GACxBA,EAAEkD,KAAOA,GACf,GACH,GAAIlD,GAAK82D,EACU,SAAbA,EAAqB92D,EAAEg5C,WAAW+d,kBAAiB,GAClD/2D,EAAEg5C,WAAW+d,kBAAiB,QAEnC,GAAI/2D,GAAKuW,SAASC,uBAAuB,4BAA4B,GAAI,CACvE,IAAIvV,EAAQyiC,OAAOntB,SAASC,uBAAuB,4BAA4B,GAAGvV,OAClFjB,EAAEg5C,WAAWK,eAAep4C,GAGhC0C,KAAKqzD,sBAEP,sBAAsB9zD,GACpB,IAAIlD,EAAI2D,KAAK8xD,YAAYz3B,OAAQh+B,GACxBA,EAAEkD,KAAOA,GACf,GACH,OAAIlD,EAAUA,EAAEg5C,WAAWod,iBACpB,GAET,sBAAsBlzD,EAAI+zD,GACxB,IAAIj3D,EAAI2D,KAAK8xD,YAAYz3B,OAAQh+B,GACxBA,EAAEkD,KAAOA,GACf,GACClD,IAAGA,EAAEg5C,WAAWsd,gBAAkBW,GACtCtzD,KAAKqzD,sBAGP,sBAAsB9zD,GACpB,IAAIlD,EAAI2D,KAAK8xD,YAAYz3B,OAAQh+B,GACxBA,EAAEkD,KAAOA,GACf,GACH,QAAIlD,GAAUA,EAAEg5C,WAAWsd,iBAI7B,sBAAsBpzD,GACpB,IAAIlD,EAAI2D,KAAK8xD,YAAYz3B,OAAQh+B,GACxBA,EAAEkD,KAAOA,GACf,GACH,QAAIlD,GAAUA,EAAEg5C,WAAWqd,iBAG7B,sBAAsBnzD,EAAI+zD,GACxB,IAAIj3D,EAAI2D,KAAK8xD,YAAYz3B,OAAQh+B,GACxBA,EAAEkD,KAAOA,GACf,GACClD,IAAGA,EAAEg5C,WAAWqd,gBAAkBY,GACtCtzD,KAAKqzD,sBAGP,qBACErzD,KAAK8vD,MAAO,EACZ9vD,KAAK8vD,MAAO,GAEduC,iCAAkC,SAAS30C,GACzC,GAAIO,KAAKsyB,WAAa7yB,EAAMqxB,QAAUrxB,EAAMqxB,OAAOxvC,KAAO0e,KAAKsyB,UAAUkf,SACvE,IACEzvD,KAAKwvD,WAAW9xC,EAAM61C,iBAAmB71C,EAAM8iB,SAChD,MAAO/gC,GACN0D,QAAQwB,MAAMlF,KAIpB,mCAAmC41C,GACjC,MAAMp3B,EAAOje,KACb,IAAIwzD,EAAW,KACfne,EAAW/0C,GAAG,qBAAqB,SAASod,GAC1C,IAAIoJ,EAAMxjB,KAAKwjB,MAmBf,GAlBIpJ,EAAMu4B,WAAa,GAChBud,EAEMA,EAASC,QAClBD,EAASxsB,UAAYlgB,EACZA,EAAK0sC,EAASxsB,UAAY,MAGnCwsB,EAASC,SAAU,EACnB7gD,SAAS+Y,eAAe,UAAY0pB,EAAWtG,OAAOpB,WAAWlzC,KAAKmzC,SAAS/oB,MAAM6uC,MAAQ,KAP7FF,EAAW,CAACxsB,UAAWlgB,EAAK2sC,SAAS,GAS9BD,GAAY1sC,EAAM0sC,EAASxsB,UAAY,MAE5CwsB,EAASC,UACX7gD,SAAS+Y,eAAe,UAAY0pB,EAAWtG,OAAOpB,WAAWlzC,KAAKmzC,SAAS/oB,MAAM6uC,MAAQ,KAE/FF,EAAW,MAEV5gD,SAAS+Y,eAAe,SAAW0pB,EAAWtG,OAAOpB,WAAWlzC,KAAKmzC,UAAYh7B,SAAS+Y,eAAe,SAAW0pB,EAAWtG,OAAOpB,WAAWlzC,KAAKmzC,SAAU,CACjK,IACImL,EADAV,EAAYp6B,EAAK01C,0BAA0Bte,EAAWtG,OAAOpB,WAAWlzC,KAAKmzC,SAG/EmL,EADCnmC,SAAS+Y,eAAe,SAAW0pB,EAAWtG,OAAOpB,WAAWlzC,KAAKmzC,SAC9Dh7B,SAAS+Y,eAAe,SAAW0pB,EAAWtG,OAAOpB,WAAWlzC,KAAKmzC,SAErEh7B,SAAS+Y,eAAe,SAAW0pB,EAAWtG,OAAOpB,WAAWlzC,KAAKmzC,SAI7EyK,EADgB,OAAdA,GAAsBA,GAAa36B,EAAMu4B,WAC/Bv4B,EAAMu4B,WAEN,GAAMoC,EAAY,GAAM36B,EAAMu4B,WAI5C,IAAID,EAAYh7B,KAAK5X,IAAIi1C,GAAar9B,KAAKk7B,KAAQ,IAAM,EAEvDF,EADCpjC,SAAS+Y,eAAe,oBACd3Q,KAAKwM,IAAIxM,KAAKm7B,IAAIH,EAAU,GAAI,GAAK,EAErCh7B,KAAKwM,IAAIxM,KAAKm7B,IAAIH,EAAU,GAAI,GAAK,GAElD/3B,EAAK21C,0BAA0Bve,EAAWtG,OAAOpB,WAAWlzC,KAAKmzC,QAASyK,GAC1EU,EAAMl0B,MAAMm0B,UAAY,SAAWhD,EAAW,KAAOA,EAAW,SAItEoc,yCAA0C,SAAS10C,GACjD,MAAMO,EAAOje,KACb,GAAG4S,SAAS+Y,eAAe,qBAAuB/Y,SAAS+Y,eAAe,gCAAiC,CACzG,IAAIotB,EAEFA,EADCnmC,SAAS+Y,eAAe,oBACjB/Y,SAAS+Y,eAAe,oBAExB/Y,SAAS+Y,eAAe,gCAGX,OAAnB1N,EAAKo6B,WAAsBp6B,EAAKo6B,WAAa36B,EAAMu4B,WACrDh4B,EAAKo6B,UAAY36B,EAAMu4B,WAEvBh4B,EAAKo6B,UAAY,GAAMp6B,EAAKo6B,UAAY,GAAM36B,EAAMu4B,WAItD,IAAID,EAAYh7B,KAAK5X,IAAI6a,EAAKo6B,WAAar9B,KAAKk7B,KAAQ,IAAM,EAE5DF,EADCpjC,SAAS+Y,eAAe,oBACd3Q,KAAKwM,IAAIxM,KAAKm7B,IAAIH,EAAU,GAAI,GAAK,EAErCh7B,KAAKwM,IAAIxM,KAAKm7B,IAAIH,EAAU,GAAI,GAAK,GAElD+C,EAAMl0B,MAAMm0B,UAAY,SAAWhD,EAAW,KAAOA,EAAW,MAGpE,aAAa9yC,GACX,OAAGA,EAAc,IAAMA,EAAKyU,WAAWiO,UAAU,EAAG,GAC7C,WAET,cAAc4mC,GACZ,IAAI,IAAIxmC,EAAI,EAAGA,EAAIhmB,KAAKitC,eAAehyC,OAAQ+qB,IAC7C,GAAGhmB,KAAKitC,eAAejnB,GAAG2nB,WAAWlzC,KAAKmzC,UAAY4e,EACpD,OAAO,EAGX,OAAO,GAET,YAAYjtD,GACV,IAAI,IAAIymB,EAAI,EAAGA,EAAIhmB,KAAKglC,MAAM/pC,OAAQ+qB,IACpC,GAAGhmB,KAAKglC,MAAMhf,GAAGzmB,KAAOA,EAAI,OAAOS,KAAKglC,MAAMhf,IAIlDse,aAAY,GACZ,sBAAsBzR,GACpB,IAAI3vB,EAAOlD,KAAKglC,MAAM3K,OAAQ3jB,GAAMA,EAAE/O,UAAYkrB,GAClD,OAAI3vB,EAAKjI,OAAS,GACa,cAAtBiI,EAAK,GAAGk6B,WAInB,YAAYvK,GACV,IAAI3vB,EAAOlD,KAAKglC,MAAM3K,OAAQ3jB,GAAMA,EAAE/O,UAAYkrB,GAClD,OAAI3vB,EAAKjI,OAAS,EACTiI,EAAK,GAAGkvB,UAEV,IAET,uBACE,SAAIpyB,KAAKm9B,WAA0C,cAA7Bn9B,KAAKm9B,UAAUC,YAIvC,gBAAgB79B,GACd,IAAIyvC,EAAK,IAAKhvC,KAAK2wC,kCAEf9d,EAAStzB,GAAUS,KAAKm7B,YAM5B,OALIn7B,KAAK0vD,sBAAsB78B,KAC7Bmc,EAAGhkC,MAAmB,EAAXgkC,EAAGhkC,MACdgkC,EAAG/jC,OAAqB,EAAZ+jC,EAAG/jC,QAGV+jC,KCjewM,MCQjN,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCiBA,IACXlW,WAAY,CAAC+6B,WAASC,kBAAeC,sBACrCniD,SAAS,IACF,eAAW,CAAC,UACf,gBACI,OAAO5R,KAAKglC,MAAM/pC,UCzC6K,MCQvM,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAI8E,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,mBAAmBE,GAAG,CAAC,MAAQ,SAASuB,GAAQA,EAAO6P,iBAAkB3R,EAAIi0D,MAAMnyD,EAAOi+B,WAAW,CAAC7/B,EAAG,MAAM,CAACG,YAAY,YAAYL,EAAIyiC,GAAIziC,EAAoB,kBAAE,SAAS1D,GAAG,OAAO4D,EAAG,MAAM,CAACrC,IAAIvB,EAAEkD,GAAGa,YAAY,UAAUunC,MAAM,CAAC,oBAAqB5nC,EAAI0wB,oBAAsBp0B,EAAEkD,IAAIe,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAIk0D,gBAAgB53D,MAAO,CAAE0D,EAAuB,oBAAEE,EAAG,MAAM,CAACO,WAAW,CAAC,CAAC3D,KAAK,OAAO4D,QAAQ,SAASnD,MAAOyC,EAAIwoD,cAAclsD,EAAEkD,IAAM,GAAKQ,EAAIu/B,qBAAuBv/B,EAAIilC,MAAM/pC,OAAS,EAAGyF,WAAW,uEAAuEN,YAAY,iBAAiB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIwoD,cAAclsD,EAAEkD,QAAQQ,EAAIwB,KAAKtB,EAAG,MAAM,CAACG,YAAY,oBAAoBC,MAAM,CAAC,IAAMN,EAAIwtB,WAAW,UAAUxtB,EAAIw0B,SAAWl4B,EAAEQ,KAAKsiC,OAAO,IAAIp/B,EAAI8nC,cAAc,IAAM,MAAM5nC,EAAG,OAAO,CAACG,YAAY,gBAAgB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAG9lC,EAAEQ,cAAa,MAE/8B,GAAkB,G,0BCsJP,IACbkrC,OAAQ,CAAC,iBACTjP,WAAY,CACVo7B,aAAA,KAAWC,cAAA,MAEb15D,KAAM,KAAM,CACV8yB,WAAY,GACZ6mC,kBAAkB,EAClBC,mBAAmB,IAErBziD,SAAU,IACL,eAAW,CAAC,aAAa,eAAe,WAAW,QAAQ,qBAAqB,sBAAsB,gBAAgB,cAEzH,mBACE,GAAG5R,KAAKoiC,cAAgBpiC,KAAKuoC,UAAU,CACrC,IAAIC,EAAmB,GASvB,OARAxoC,KAAKuoC,UAAU/wB,QAAQixB,IACrBzoC,KAAKwhB,WAAWhK,QAAQkxB,IACjBD,GAAMC,EAAGtW,UAAU+M,QACpBqJ,EAAiBjtC,KAAKmtC,OAKvBF,EAGT,OAAOxoC,KAAKwhB,aAGhByS,MAAM,CACJ,qBAEE/gB,WAAW,KACTN,SAASC,uBAAuB,YAAY,GAAGyhD,WAA8G,KAAhGt0D,KAAKwoC,iBAAiB+rB,UAAUrrD,GAAaA,EAAU3J,KAAOS,KAAKywB,oBAAsB,MACrJ,OAQP3e,QAAQ,IACH,eAAa,CAAC,kCAGjB,gBAAiB5I,GACflJ,KAAKmmC,8BAA8B,CAAC7yB,YAAapK,EAAU3J,KAC3DS,KAAKsqC,iBAIP,cAAc/qC,GACZ,OAAOS,KAAKglC,MAAM3K,OAAQ3jB,GAAKA,EAAE6O,0BAA4BhmB,GAAItE,QAInE,yBAUA,MAAMu5D,EAAUppD,EAAS,EAAEpI,EAAS,KAClC,IAAIib,EAAOje,KACXoL,GAAWopD,EAAY,EAAI,GAAK,EAChC,IAAIC,GAAY,IAAInxD,MAAOC,UAE3B,SAASmxD,IACP,IAAIn3D,GAAI,IAAI+F,MAAOC,UAAYkxD,EAC5Bl3D,EAAIyF,IACLzF,GAAKyF,EACL4P,SAASC,uBAAuB,YAAY,GAAG8hD,UAAU,EAAI35C,KAAK2pC,IAAIpnD,EAAIyd,KAAKC,GAAG,IAAM7P,EAAU,GAClG6S,EAAK22C,uBACL3Z,sBAAsByZ,IAP1BA,OChO8M,MCQhN,I,WAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAI30D,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACH,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,WAAWE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAI+qC,6BAA6B7qC,EAAG,MAAM,CAACG,YAAY,oBAAoBC,MAAM,CAAC,GAAK,aAAa,CAACJ,EAAG,MAAM,CAACG,YAAY,kBAAkBL,EAAIyiC,GAAIziC,EAAgB,cAAE,SAAStF,GAAM,OAAOwF,EAAG,MAAM,CAACrC,IAAInD,EAAKgsC,MAAMrmC,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,gBAAgBC,MAAM,CAAC,IAAM,UAAQ,KAAc5F,EAAKk+B,MAAM,IAAM,MAAM14B,EAAG,MAAM,CAACG,YAAY,kBAAkB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG1vC,EAAKgsC,WAAWxmC,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG1vC,EAAKmL,wBAAuB,KAAK3F,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAACH,EAAG,MAAM,CAACG,YAAY,2BAA2B,CAACH,EAAG,MAAM,CAACI,MAAM,CAAC,GAAK,uBAAuBJ,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,MAAM,CAACG,YAAY,oBAAoBE,GAAG,CAAC,MAAQ,SAASuB,GAAQ,OAAO9B,EAAI+qC,4BAA4B,CAAC/qC,EAAIgC,GAAGhC,EAAIoiC,GAAGpiC,EAAIoqC,GAAG,eAAe,kBAEvjC,GAAkB,G,aCkCP,I,oBAAA,CACXpC,OAAQ,CAAC,0BACTttC,KAAM,WACF,MAAO,CACHo6D,yBAAyB,EACzBC,aAAc,CACV,CACIruB,MAAO,yBACP7gC,YAAa,yDACb+yB,KAAM,+BAEV,CACI8N,MAAO,gBACP7gC,YAAa,wFACb+yB,KAAM,kBAEV,CACI8N,MAAO,QACP7gC,YAAa,wFACb+yB,KAAM,mBAyBtB,UACIzlB,WAAW,KACPlT,KAAK+0D,OAAS,IAAI,QAAO,YAAY,CACjCv5D,QAAS,CAAC,SACVw5D,aAAc,GACdR,UAAW,aACX1pD,WAAW,EACXqxB,YAAY,EACZ84B,UAAU,EACVC,WAAY,CACRC,GAAI,qBACJrqD,WAAW,MAGpB,MC9FyM,MCQhN,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAI/K,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACI,MAAM,CAAC,GAAK,YAAY,CAACN,EAAIsyC,GAAG,GAAGpyC,EAAG,MAAM,CAACG,YAAY,SAAS,CAACL,EAAIgC,GAAGhC,EAAIoiC,GAAGniC,KAAKi6C,aAE/J,GAAkB,CAAC,WAAY,IAAIl6C,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,UAAU,CAACH,EAAG,MAAM,CAACG,YAAY,qBAAqBH,EAAG,MAAM,CAACG,YAAY,qBAAqBH,EAAG,MAAM,CAACG,YAAY,UAAU,CAACH,EAAG,MAAM,CAACG,YAAY,cAAcH,EAAG,MAAM,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,WAAWH,EAAG,MAAM,CAACG,YAAY,cAAcH,EAAG,MAAM,CAACG,YAAY,YAAYH,EAAG,MAAM,CAACG,YAAY,qBAAqBH,EAAG,MAAM,CAACG,YAAY,0BCqB/b,IACX04B,WAAW,GACXr+B,KAAM,KAAM,CACRw/C,MAAO,UAEX,UACI97C,OAAOojB,iBAAiB,cAAe7D,IACnC1d,KAAKi6C,MAAQv8B,EAAM0D,OAAOvkB,KAC1B,IAAImlB,EAAMtE,EAAM0D,OAAOY,IACnBA,EAAItL,IACJsL,EAAM,IAAI,aAAgBA,EAAIuE,GAAIvE,EAAIwE,GAAIxE,EAAIyE,KAClDvT,WAAW,KACPN,SAASwP,cAAc,YAAYyC,MAAME,IAAO/C,EAAIxD,EAAG,GAAM,KAC7D5L,SAASwP,cAAc,YAAYyC,MAAMC,KAAQ9C,EAAItL,EAAK9D,SAASwP,cAAc,YAAYC,YAAY,EAAM,MAChH,KAEPlkB,OAAOojB,iBAAiB,cAAc,KAClCpe,QAAQC,IAAI,oBCxC6K,MCQjM,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCiHA,IACd01B,WAAY,CACXs8B,WAAA,OAAYC,WAASC,eAAaC,mBAAiBC,WAASC,qBAAmBC,qBAAmBC,cAAYC,aAAWC,iBAAeC,oBAAkBC,oBAAkBC,oBAC5KC,sBAAoBC,iBAAeC,mBAAiBC,iBAAeC,qBAAmBC,kBAAgBC,4BAA0BC,iBAAeC,YAEhJh8D,KAAM,KAAM,CACX8yB,WAAY,GACZnsB,YAAY,EACZR,YAAY,EACZM,gBAAgB,EAChBw1D,gBAAgB,EAChBz1D,yBAAyB,EACzB01D,aAAa,EACbh1D,sBAAsB,EACtBhB,YAAY,EACZ0rC,sBAAsB,EACtBxrC,sBAAsB,EACtBM,UAAU,EACVH,kBAAkB,EAClBD,aAAa,EACbD,gBAAgB,EAChBisC,uBAAuB,EACvBzrC,iBAAiB,EACjBs1D,gBAAgB,IAEdhlD,SAAU,IAET,eAAS,CACXq7B,eAAiB/S,GAAUA,EAAMC,QAAQ8S,oBAEpC,eAAW,CAChB,mBAAmB,WAAW,uBAAwB,YAAa,iBAAiB,YAAY,uCAAuC,kBAAmB,QAAS,qBACnK,eAAe,iBAAiB,aAAa,iBAAiB,uBAAuB,UAAU,eAAe,sBAAsB,YAAY,UAAU,WAAW,oBAE9J,eAAS,CAChBhT,qBAAuBC,GAAUA,EAAMC,QAAQF,uBAKhD,kBAEC,SAAKj6B,KAAK6R,kBAAoB7R,KAAK6R,iBAAiBT,WAAajN,EAAOS,WAAWG,iBAI5E/E,KAAK6R,iBAAiBxN,aAAarB,SAAW,GAEtD,uBACC,OAAOhD,KAAKm9B,WAA0C,cAA7Bn9B,KAAKm9B,UAAUC,WAEzC,uBACC,OAAOp9B,KAAKitC,eAAex2B,KAAMC,GAAqB,WAAhBA,EAAEu3B,YAEzC,oBACC,OAAO,IAGTha,MAAO,CACN,uBACCj0B,KAAKssC,uBAEN,YACItsC,KAAK4qC,WAAa5qC,KAAKs/B,qBACzBt/B,KAAK6qC,uBAEP,eACCj4B,SAAS2zC,gBAAgB1hC,MAAMgyC,YAAY,iBAAkB72D,KAAK0qB,eAEnE,iBACC9X,SAAS2zC,gBAAgB1hC,MAAMgyC,YAAY,mBAAoB72D,KAAK82D,iBAErE,aACClkD,SAAS2zC,gBAAgB1hC,MAAMgyC,YAAY,gBAAiB72D,KAAK0+C,aAElE,UACC9rC,SAASwP,cAAc,qBAAqB20C,KAAO/2D,KAAKutB,WAAW,UAAUvtB,KAAKu0B,SAASv0B,KAAKg3D,SAEjG,eACCpkD,SAAS6zB,MAAQzmC,KAAKi3D,cAEvB,eACC,IAAIC,EAAOtkD,SAAS+R,KAEjB3kB,KAAKwqC,aACH0sB,EAAKC,kBACRD,EAAKC,oBACKD,EAAKE,wBACfF,EAAKE,0BACKF,EAAKG,qBACfH,EAAKG,sBAGFzkD,SAASgvB,eACZhvB,SAASgvB,iBACChvB,SAAS0kD,qBACnB1kD,SAAS0kD,uBACC1kD,SAAS2kD,kBACnB3kD,SAAS2kD,qBAKbzlD,QAAS,IACL,eAAa,CAAC,kBAAkB,0BAA0B,cAAc,aAAa,kBAAkB,aAC1G,sBACC9R,KAAKa,sBAAwBb,KAAKa,qBAE/Bb,KAAKa,uBACPb,KAAKiB,yBAA0B,EAC/BjB,KAAK2B,sBAAuB,EAC5B3B,KAAKkB,gBAAiB,EACtBlB,KAAKW,YAAa,EAClBX,KAAKgB,kBAAmB,EACxBhB,KAAKsB,iBAAkB,IAGzB,sBACCtB,KAAK2B,sBAAwB3B,KAAK2B,qBAClC3B,KAAKyS,iBAAgB,GAClBzS,KAAK2B,uBACP3B,KAAKiB,yBAA0B,EAC/BjB,KAAKkB,gBAAiB,EACtBlB,KAAKW,YAAa,EAClBX,KAAKgB,kBAAmB,EACxBhB,KAAKsB,iBAAkB,IAGzB,gBACCtB,KAAKiB,yBAA2BjB,KAAKiB,wBACrCjB,KAAKyS,iBAAgB,GAClBzS,KAAKiB,0BACPjB,KAAK2B,sBAAuB,EAC5B3B,KAAKkB,gBAAiB,EACtBlB,KAAKW,YAAa,EAClBX,KAAKgB,kBAAmB,EACxBhB,KAAKsB,iBAAkB,IAGzB,yBACCtB,KAAKsB,iBAAmBtB,KAAKsB,gBAE1BtB,KAAKsB,kBACPtB,KAAKiB,yBAA0B,EAC/BjB,KAAK2B,sBAAuB,EAC5B3B,KAAKkB,gBAAiB,EACtBlB,KAAKW,YAAa,EAClBX,KAAKgB,kBAAmB,IAG1B,kBACChB,KAAKgB,kBAAoBhB,KAAKgB,iBAC9BhB,KAAKyS,gBAAgBzS,KAAKgB,kBACvBhB,KAAKgB,mBACPhB,KAAKiB,yBAA0B,EAC/BjB,KAAK2B,sBAAuB,EAC5B3B,KAAKkB,gBAAiB,EACtBlB,KAAKW,YAAa,EAClBX,KAAKsB,iBAAkB,IAGzB,gBACCtB,KAAKkB,gBAAkBlB,KAAKkB,eAC5BlB,KAAKyS,gBAAgBzS,KAAKkB,gBACvBlB,KAAKkB,iBACPlB,KAAKiB,yBAA0B,EAC/BjB,KAAK2B,sBAAuB,EAC5B3B,KAAKW,YAAa,EAClBX,KAAKgB,kBAAmB,EACxBhB,KAAKsB,iBAAkB,IAGzB,YACCtB,KAAKW,YAAcX,KAAKW,WACnBX,KAAKyS,gBAAgBzS,KAAKW,YAC/BX,KAAKW,WAAaiS,SAAS+R,KAAKE,MAAM2yC,oBAAsB,UAAW5kD,SAAS+R,KAAKE,MAAM2yC,oBAAsB,OAC9Gx3D,KAAKW,aACPX,KAAKiB,yBAA0B,EAC/BjB,KAAK2B,sBAAuB,EAC5B3B,KAAKkB,gBAAiB,EACtBlB,KAAKgB,kBAAmB,EACxBhB,KAAKsB,iBAAkB,IAGzB,uBACCtB,KAAK+sC,uBAAyB/sC,KAAK+sC,uBAEpC,sBACC/sC,KAAKqsC,sBAAwBrsC,KAAKqsC,qBAClCrsC,KAAKy3D,wBAAwBz3D,KAAKqsC,sBAC9BrsC,KAAKqsC,uBACRrsC,KAAK2B,sBAAuB,EAC5B3B,KAAKkB,gBAAiB,EACtBlB,KAAKgB,kBAAmB,IAG1B,mBAEChB,KAAK03D,iBAAiB13D,KAAKwqC,eAE5B,sBACCxqC,KAAKoB,YAAcpB,KAAKoB,YAEzB,eACCpB,KAAKua,OAAOC,OAAO,aAAcxa,KAAK23D,SAEvC,iBAAiBC,GAChB53D,KAAKY,WAAag3D,GAEnB,kBAAkBt6D,GACjB0C,KAAK63D,mBAAqBv6D,GAE3B,iBACCa,OAAO0V,MAAMinB,WAAWoqB,YAAc/mD,OAAO0V,MAAMinB,WAAW+G,OAAS1jC,OAAO0V,MAAMinB,WAAWC,QAEhG,eAAet7B,GAAqE,OAAjEA,EAAEiS,iBAAkBjS,EAAEq4D,YAAc,IAAI35D,OAAO25D,YAAc,IAAW,KAC3F,cACC93D,KAAKmB,UAAYnB,KAAKmB,SACtBnB,KAAK6qC,sBACF7qC,KAAKmB,SACPhD,OAAOojB,iBAAiB,eAAevhB,KAAK+3D,gBAE5C55D,OAAO65D,oBAAoB,eAAeh4D,KAAK+3D,iBAEjD,cACC/3D,KAAKe,aAAef,KAAKe,YACzBf,KAAKua,OAAOC,OAAO,gBAAgBxa,KAAKe,eAG1C,UACCoC,QAAQ80D,WAAa90D,QAAQC,IAAIvF,KAAKsF,SAChCA,QAAQgkD,KAAO,GACfhkD,QAAQwB,MAAQ,WACZxB,QAAQ80D,WAAWr8D,MAAMuH,QAAS+0D,WAClC/0D,QAAQgkD,KAAK5rD,KAAK8pD,MAAM1T,KAAKumB,aAIpC/5D,OAAO4jC,wBAA0B,iBAAkB5jC,SACrD6B,KAAKc,gBAAiB,GAEvB,IAAIkjB,EAAW,WACd,IAAIqjC,EAAKthB,UAAUuhB,UACfrpD,EAAI8nC,UAAUoyB,SACdC,EAAS/Q,EAAGtmB,QAAQ,WAAa,EACjCs3B,EAAOhR,EAAGtmB,QAAQ,SAAW,EAC7Bu3B,EAAOjR,EAAGtmB,QAAQ,SAAW,EAC7Bw3B,EAAU,0BAA0B5yC,KAAK0hC,GAC7C,SAAI,mBAAmB1hC,KAAK1nB,GAAMm6D,EAASE,EAAOD,EAAOE,IAIjDxyB,UAAUyyB,gBAAkBzyB,UAAUyyB,eAAiB,GAAK,WAAW7yC,KAAK1nB,GAXtE,GAcf+lB,IAAWA,EACXhkB,KAAKy4D,YAAYz0C,GACjB7gB,QAAQC,IAAI,qBAAuB4gB,GAEnC,IAAI6Z,EAAQ,mBAAmBlY,KAAKogB,UAAUoyB,WAAqC,aAAvBpyB,UAAUoyB,UAA2BpyB,UAAUyyB,eAAiB,EAC5Hx4D,KAAK04D,SAAS76B,GACd16B,QAAQC,IAAI,kBAAoBy6B,GAEhC,IAAI1H,EAAW,iBAAkBh4B,QAAY4nC,UAAUyyB,eAAiB,GAAMzyB,UAAU4yB,iBAAmB,EAC3G34D,KAAK44D,WAAWziC,GAChBhzB,QAAQC,IAAI,oBAAsB+yB,GAElC,IAAIiQ,EAAgB,IAAIz4B,IAAIxP,OAAOkoC,UAAUC,aAC1CF,EAAclpC,IAAI,gBACpB8C,KAAK8qC,0BAEP,UACK9qC,KAAKm2B,UACRh4B,OAAOojB,iBAAiB,cAAc,KACrCvhB,KAAK42D,gBAAiB,IAEvBz4D,OAAOojB,iBAAiB,cAAc,KACrCvhB,KAAK42D,gBAAiB,MAIzB,UACC,MAAO,CACNvvB,UAAWrnC,KAAKqnC,UAChBqD,cAAe1qC,KAAK0qC,cACpBJ,cAAetqC,KAAKsqC,cACpBuuB,WAAY74D,KAAK64D,WACjBhuB,oBAAqB7qC,KAAK6qC,oBAC1BrpC,YAAaxB,KAAKwB,YAClBo5C,oBAAqB56C,KAAK46C,oBAC1B7P,gBAAiB/qC,KAAK+qC,gBACtBuB,oBAAqBtsC,KAAKssC,oBAC1BwsB,oBAAqB94D,KAAK84D,oBAC1BruB,iBAAkBzqC,KAAKyqC,iBACvBsuB,YAAa/4D,KAAK+4D,YAClBr3D,gBAAiB1B,KAAK0B,gBACtBipC,qBAAsB3qC,KAAK2qC,qBAC3BG,uBAAwB9qC,KAAK8qC,0BC7aqJ,MCQjL,I,UAAY,eACd,GACAhrC,EACAkC,GACA,EACA,KACA,KACA,OAIa,M,wDCdf,MAAM,GACF,aACI,OACIg3D,EAAS,qBAAoB,WAC7BC,EAAa,yBAAwB,QACrCC,EAAU,8BAA6B,WACvCC,EAAa,uBAAsB,aACnCC,EAAe,mCAAkC,QACjDC,EAAU,oBAAmB,mBAC7BC,EAAqB,sBAAqB,sBAC1CC,EAAwB,uCACxB,IAEJv5D,KAAKk5D,QAAUA,EACfl5D,KAAKm5D,WAAaA,EAClBn5D,KAAKo5D,aAAeA,EACpBp5D,KAAKq5D,QAAUA,EACfr5D,KAAKs5D,mBAAqBA,EAC1Bt5D,KAAKu5D,sBAAwBA,EAE7Bv5D,KAAKw5D,kBAAmBR,EAAQC,GAGpC,gBACI,OAAOj5D,KAAKk5D,QAAUl5D,KAAKm5D,WAG/B,kBACI,OAAOn5D,KAAKk5D,QAAUl5D,KAAKo5D,aAG/B,wBACI,OAAOp5D,KAAKk5D,QAAUl5D,KAAKs5D,mBAG/B,2BACI,OAAOt5D,KAAKk5D,QAAUl5D,KAAKu5D,sBAG/B,aACI,OAAOv5D,KAAKk5D,QAAUl5D,KAAKq5D,QAG/B,kBAAmBL,EAAQC,GACvBj5D,KAAKg5D,OAASA,EACdh5D,KAAKi5D,WAAaA,EAClBj5D,KAAKy5D,mBAAqB,GAAAzzC,EAAMroB,OAAO,CACnC+7D,QAAS,CAAC,cAAe15D,KAAKi5D,WAAY,eAAgB,sBAE9Dj5D,KAAK25D,UAAY,CAAC,MAAS35D,KAAKg5D,OAAQ,UAAah5D,KAAKi5D,YAG9D,YACI,IAAIniD,EAAU9W,KACd,OAAO,IAAIyX,SAAS,SAAU5X,EAAS85C,GACnCx2C,QAAQC,IAAI,uBAAyB0T,EAAQ8iD,WAC7Cz2D,QAAQC,IAAI,cAAgB0T,EAAQ6iD,UAAUE,MAAQ,OAAS/iD,EAAQ6iD,UAAUG,WAEjFhjD,EAAQ2iD,mBAAmBv8D,IAAI4Z,EAAQ8iD,UAAW9iD,EAAQ6iD,WAAWtiD,KAAM4O,IACvE9iB,QAAQC,IAAI6iB,EAASxrB,KAAK6D,SAC1BuB,EAASomB,EAASxrB,KAAK6D,WACxBgZ,OAAM,SAAU3S,GACXA,EAAMshB,UAGN9iB,QAAQC,IAAIuB,EAAMshB,SAASxrB,MAC3B0I,QAAQC,IAAIuB,EAAMshB,SAASy1B,QAC3Bv4C,QAAQC,IAAIuB,EAAMshB,SAASyzC,SAC3B/f,EAAOj6C,MAAMiF,EAAMshB,YAChBthB,EAAMo1D,SAIb52D,QAAQC,IAAIuB,EAAMo1D,SAClBpgB,EAAOj6C,MAAMiF,EAAMo1D,YAGnB52D,QAAQC,IAAI,QAASuB,EAAMg3B,SAC3Bge,EAAOj6C,MAAMiF,EAAMg3B,WAEnBx4B,QAAQC,IAAIuB,EAAMq1D,cAK9B,YAAaC,GACT,IAAInjD,EAAU9W,KACd,OAAO,IAAIyX,SAAS,SAAU5X,EAAS85C,GACnCx2C,QAAQC,IAAI,yBAA2B0T,EAAQojD,YAAcD,GAC7D92D,QAAQC,IAAI,cAAgB0T,EAAQ6iD,UAAUE,MAAQ,OAAS/iD,EAAQ6iD,UAAUG,WAEjFhjD,EAAQ2iD,mBAAmBv8D,IAAI4Z,EAAQojD,YAAcD,EAAWnjD,EAAQ6iD,WAAWtiD,KAAM4O,IACrF9iB,QAAQC,IAAI6iB,EAASxrB,KAAK6D,SAC1BuB,EAASomB,EAASxrB,KAAK6D,WACxBgZ,OAAM,SAAU3S,GACXA,EAAMshB,UAGN9iB,QAAQC,IAAIuB,EAAMshB,SAASxrB,MAC3B0I,QAAQC,IAAIuB,EAAMshB,SAASy1B,QAC3Bv4C,QAAQC,IAAIuB,EAAMshB,SAASyzC,SAC3B/f,EAAOj6C,MAAMiF,EAAMshB,YAChBthB,EAAMo1D,SAIb52D,QAAQC,IAAIuB,EAAMo1D,SAClBpgB,EAAOj6C,MAAMiF,EAAMo1D,YAGnB52D,QAAQC,IAAI,QAASuB,EAAMg3B,SAC3Bge,EAAOj6C,MAAMiF,EAAMg3B,WAEnBx4B,QAAQC,IAAIuB,EAAMq1D,cAK9B,aAAcC,EAAW/zB,GACrB,MAAM14B,EAAI,GAAGxN,KAAKm6D,SAASF,IAAY/zB,EAAU,gBAAkB,MAC7D,UAACk0B,GAAa,EAAQ,QACtBC,EAAmBD,EAAU,KAAWC,kBACxC5/D,QAAa4/D,EAAiB7sD,GACpC,OAAO,KAAM8sD,UAAU7/D,GAG3B,kBAAmB8/D,GACf,IAAIzjD,EAAU9W,KACd,OAAO,IAAIyX,SAAS,SAAU5X,EAAS85C,GACnCx2C,QAAQC,IAAI,+BAAiC0T,EAAQ0jD,kBAAoBD,GACzEzjD,EAAQ2iD,mBAAmBv8D,IAAI4Z,EAAQ0jD,kBAAoBD,GAAkBljD,KAAM4O,IAE/EpmB,EAASomB,EAASxrB,KAAK6D,WACxBgZ,OAAM,SAAU3S,GACXA,EAAMshB,UAGN9iB,QAAQC,IAAIuB,EAAMshB,SAASxrB,MAC3B0I,QAAQC,IAAIuB,EAAMshB,SAASy1B,QAC3Bv4C,QAAQC,IAAIuB,EAAMshB,SAASyzC,SAC3B/f,EAAOj6C,MAAMiF,EAAMshB,YAChBthB,EAAMo1D,SAIb52D,QAAQC,IAAIuB,EAAMo1D,SAClBpgB,EAAOj6C,MAAMiF,EAAMo1D,YAGnB52D,QAAQC,IAAI,QAASuB,EAAMg3B,SAC3Bge,EAAOj6C,MAAMiF,EAAMg3B,WAEnBx4B,QAAQC,IAAIuB,EAAMq1D,cAK9B,qBAAsBO,GAClB,OAAOv6D,KAAKw6D,kBAAoBD,EAGpC,wBAAyBA,GACrB,IAAIzjD,EAAU9W,KACd,OAAO,IAAIyX,SAAS,SAAU5X,EAAS85C,GAEnC7iC,EAAQ2iD,mBAAmBv8D,IAAI4Z,EAAQ2jD,qBAAuBF,GAAkBljD,KAAM4O,IAGlFpmB,EAASomB,EAASxrB,KAAK6D,QAAQkP,OAChC8J,OAAM,SAAU3S,GACXA,EAAMshB,UAGN9iB,QAAQC,IAAIuB,EAAMshB,SAASxrB,MAC3B0I,QAAQC,IAAIuB,EAAMshB,SAASy1B,QAC3Bv4C,QAAQC,IAAIuB,EAAMshB,SAASyzC,SAC3B/f,EAAOj6C,MAAMiF,EAAMshB,YACZthB,EAAMo1D,SAIb52D,QAAQC,IAAIuB,EAAMo1D,SAClBpgB,EAAOj6C,MAAMiF,EAAMo1D,YAGnB52D,QAAQC,IAAI,QAASuB,EAAMg3B,SAC3Bge,EAAOj6C,MAAMiF,EAAMg3B,WAEvBx4B,QAAQC,IAAIuB,EAAMq1D,eC/LlC,MAAM,GAGF,uBAAwB/7D,GACpB,IAAIo0B,EAAI,IAAI,aAAiBp0B,EAAEyY,EAAGzY,EAAEugB,GAAI,EAAMvgB,EAAEsiB,GAEhD,OADA8R,EAAIA,EAAEqoC,wBAAwB,gBAAmBC,aAAc,aAAgBC,KAAM5/C,KAAKC,IAAMoX,GACzFA,EAGX,uBAAwBl1B,GAEpB,GAAKysC,MAAMzsC,GAOP,OAAOA,EAPK,CACZ,IAAIrB,EAAS,gBAAmBurB,gBAAgB,EAAGlqB,EAAIA,EAAI6d,KAAKC,GAAI,IAAM,GAAGD,KAAKC,GAAK,IAAK,GAAGD,KAAKC,GAAK,IAAK,GAE9G,OAAOnf,IASnB,MAAM,GAAW,IAAI,GACrBZ,OAAOqH,OAAO,IAEC,UC1Bf,MAAM,GAEF,aAAY,GAAEhD,EAAE,aAAEixD,EAAY,OAAElhD,EAAM,KAAE3L,EAAI,KAAES,IAC1CpE,KAAKT,GAAKA,GAAU,kBACpBrE,OAAOmH,OAAOrC,KAAM,CAAEwwD,eAAclhD,WACpCtP,KAAKoE,KAAOA,GAAc,UAC1BpE,KAAK2D,KAAOA,GAAcL,KAAKwjB,MAC/B9mB,KAAK66D,WAAY,EAGrB,UAAY,OAAO76D,KAAKoE,KAExB,MAAM7E,GAAoB,OAAdS,KAAKT,GAAKA,EAAWS,KACjC,QAAU,OAAOA,KAAKT,GAEtB,gBAAgBA,GAA8B,OAAxBS,KAAKwwD,aAAejxD,EAAWS,KACrD,kBAAoB,OAAOA,KAAKwwD,aAEhC,UAAUjxD,GAAwB,OAAlBS,KAAKsP,OAAS/P,EAAWS,KACzC,YAAc,OAAOA,KAAKsP,OAE1B,QAAQ3L,GAA0B,OAAlB3D,KAAK2D,KAAOA,EAAa3D,KACzC,UAAY,OAAOA,KAAK2D,KAExB,SAASS,GACL,OAAOA,IAASpE,KAAKoE,KAGzB,eAAwC,OAAvBpE,KAAK66D,WAAY,EAAa76D,KAC/C,cAAgB,OAAOA,KAAK66D,UAE5B,cAAcv2D,GAUV,OATIA,GAAQA,EAAK/E,GACbS,KACKwE,MAAMF,EAAK/E,IACXu7D,gBAAgBx2D,EAAKksD,cACrBuK,UAAUz2D,EAAKgL,QACfyjB,QAAQzuB,EAAKX,MAElBR,QAAQwB,MAAM,wCAEX3E,MAIf,MAAMg7D,WAAsB,GACxB,aAAY,GAAEz7D,EAAE,aAAEixD,EAAY,KAAE7sD,EAAI,QAAEg4B,GAAW,IAC7Cz1B,MAAM,CAAE3G,KAAIixD,eAAc7sD,OAAMS,KAAM,kBACtClJ,OAAOmH,OAAOrC,KAAM,CAAC27B,YAGzB,SAASv3B,GACL,OAAOA,IAASpE,KAAKoE,MAAQ8B,MAAMC,SAAS/B,GAGhD,WAAWu3B,GAAmC,OAAxB37B,KAAK27B,QAAUA,EAAgB37B,KACrD,aAAe,OAAOA,KAAK27B,QAE3B,cAAcr3B,GAOV,OANIA,GAAQA,EAAK/E,GACb2G,MAAMG,cAAc/B,GACf22D,WAAW32D,EAAKq3B,SAErBx4B,QAAQwB,MAAM,wCAEX3E,KAGX,eAAgBsE,GACZ,OAAO,IAAI02D,IAAgB30D,cAAe/B,IAIlD,MAAM42D,GACF,cACIl7D,KAAKm7D,sBAAwB,IAAIjqD,IAGrC,oBAAqBi9C,GACbA,EAAQ/8C,SACRpR,KAAKm7D,sBAAsB9pD,IAAK88C,EAAQ/8C,UAAW+8C,GAI3D,eAAgB7pD,GACZ,GAAIA,GAAQA,EAAKF,KAAO,CAEpB,GAAIpE,KAAKm7D,sBAAsB7pD,IAAKhN,EAAKF,MACrC,OAAOpE,KAAKm7D,sBAAsBj+D,IAAKoH,EAAKF,MAAOmN,eAAgBjN,GAEnEnB,QAAQC,IAAI,wBAA0BkB,EAAKF,WAG/CjB,QAAQwB,MAAM,0CAK1B,MAAMy2D,GAAyB,IAAIF,GACnChgE,OAAOqH,OAAO64D,IAEdA,GAAuBC,oBAAoB,IAAIL,IC5F/C,MAAMM,GAAe,CACnBphC,MAAO,CACLqhC,eAAgB,QAIhBvB,OAAQ,CACNpvB,eAAWlgC,EACXi7B,qBAAiBj7B,EACjBo7B,uBAAmBp7B,EACnBk7B,uBAAuB,EACvB41B,iBAAiB,EACjBnxB,QAAS,mBACT9V,SAAU,KACV+K,qBAAqB,EACrBm8B,iBAAiB,EACjB57B,eAAe,EACfp+B,sCAAsC,EACtCq1D,eAAgB,UAChBpsC,aAAc,UACdg0B,WAAY,SACZgd,WAAW,EACXxqC,6BAA6B,EAC7ByqC,eAAe,EACfp0B,OAAQ,KACRC,QAAS,GACTwvB,QAAS,eACTC,aAAc,YACd/sB,wBAAwB,EACxBjL,cAAe,GACf4I,cAAe,MACfU,UAAW,KACX/L,WAAY,GACZ4D,4BAA4B,GAG9Bw7B,UAAW,GACXC,QAAS,GACT72B,MAAO,GACP5K,OAAQ,GACRszB,SAAU,GACVvyB,iBAAazwB,EACb2L,MAAO,GACPylD,SAAS,EACTnE,QAAQ,EACR52D,aAAa,EACbg7D,OAAQ,gBACRx1B,+BAA2B77B,EAC3Bu1B,aAAa,EACbiC,gBAAgB,EAChB85B,sBAAsB,EACtBp6C,qBAAqB,EACrBC,wBAAwB,EACxB2oB,cAAc,EAGdyF,mBAAevlC,EACfwlC,mBAAexlC,EACf+mC,SAAS,EACTnB,SAAS,EACT2rB,UAAW,GACXC,kBAAcxxD,EACdyxD,4BAA4B,EAC5B9vB,sBAAsB,EAGtBlW,SAAS,EACTnS,UAAU,EACV6Z,OAAO,GAET9Z,QAAS,CACPuhB,WAAapL,GACJA,EAAMqhC,eAEfn5B,aAAelI,IACb,MAAMkiC,EAAOliC,EAAM2hC,QAAQxhC,OAAQ3jB,GAAKA,EAAEvQ,SAAUhC,EAAOS,WAAWa,iBACzE,GAAmB,GAAf22D,EAAKnhE,OACR,OAAOmhE,EAAK,GAEZj5D,QAAQwB,MAAM,oBAEd8rB,mBAAoB,CAACyJ,EAAOnW,IACnBA,EAAQoZ,UAAYpZ,EAAQoZ,UAAU5X,6BAA0B7a,EAEzE8W,WAAY0Y,GACHA,EAAM2hC,QAAQxhC,OAAQ3jB,GAAKA,EAAEvQ,SAAUhC,EAAOS,WAAWC,YAElEmgC,MAAO9K,GACEA,EAAM8K,MAEf5K,OAAQF,GACCA,EAAME,OAEfszB,SAAUxzB,GACDA,EAAMwzB,SAEfvyB,YAAajB,GACJA,EAAMiB,YAEftpB,iBAAkB,CAACqoB,EAAOnW,IACjBmW,EAAM2hC,QAAQplD,KAAKC,GAAKA,EAAE/O,UAAYoc,EAAQ0M,oBAEvDyT,eAAgB,CAAChK,EAAOnW,IACfmW,EAAM2hC,QAAQxhC,OAAO3jB,GAAKA,EAAE2lD,cAAgB3lD,EAAE2lD,iBAAmBt4C,EAAQ0M,oBAElF2N,oBAAsBlE,GAAW5mB,GACxB4mB,EAAM2hC,QAAQxhC,OAAO3jB,GAAKA,EAAE2lD,cAAgB3lD,EAAE2lD,iBAAmB/oD,GAE1EstB,8BAA+B,CAAC1G,EAAOnW,IAC9BmW,EAAM8K,MAAM3K,OAAO3jB,GAAMA,EAAE6O,0BAA4BxB,EAAQ0M,oBAAwB/Z,EAAE/O,UAAYuyB,EAAMiB,aAEpHgC,UAAYjD,GACHA,EAAM8K,MAAMvuB,KAAKC,GAAKA,EAAE/O,UAAYuyB,EAAMiB,aAEnD6D,WAAa9E,GACJA,EAAM2hC,QAEf5xB,mBAAqB/P,QAC+CxvB,GAA3DwvB,EAAM8K,MAAMvuB,KAAKvT,GAA0B,aAAlBA,EAAKk6B,WAEvCpZ,SAAWkW,GAAmBA,EAAMlW,SACpC6Z,MAAQ3D,GAAmBA,EAAM2D,MACjC1H,QAAU+D,GAAmBA,EAAM/D,QACnCqU,aAActQ,GAAkBA,EAAMsQ,aACtC3oB,uBAAyBqY,GAAmBA,EAAMrY,uBAClDD,oBAAsBsY,GAAmBA,EAAMtY,oBAC/C+jB,gBAAkBzL,GAAmBA,EAAM8/B,OAAOr0B,gBAClDG,kBAAoB5L,GAAmBA,EAAM8/B,OAAOl0B,kBACpD8E,UAAY1Q,GAAmBA,EAAM8/B,OAAOpvB,UAC5CyB,qBAAuBnS,GAAkBA,EAAMmS,qBAC/CzG,sBAAwB1L,GAAmBA,EAAM8/B,OAAOp0B,sBACxD2C,UAAYrO,GAAmBA,EAAM8/B,OAAOzxB,UAC5C/L,WAAatC,GAAmBA,EAAM8/B,OAAOx9B,WAC7CqL,cAAgB3N,GAAmBA,EAAM8/B,OAAOnyB,cAChDtT,SAAU2F,GAAmBA,EAAM8/B,OAAOzlC,SAC1C0K,cAAgB/E,GAAmBA,EAAM8/B,OAAO/6B,cAChDiL,uBAAyBhQ,GAAmBA,EAAM8/B,OAAO9vB,uBACzDyxB,cAAgBzhC,GAAmBA,EAAM8/B,OAAO2B,cAChDz5B,eAAiBhI,GAAmBA,EAAMgI,eAC1CjC,YAAc/F,GAAmBA,EAAM+F,YACvC+7B,qBAAuB9hC,GAAmBA,EAAM8hC,qBAChDtd,WAAaxkB,GAAmBA,EAAM8/B,OAAOtb,WAC7CnX,OAASrN,GAAmBA,EAAM8/B,OAAOzyB,OACzCyvB,QAAU98B,GAAmBA,EAAM8/B,OAAOhD,QAC1CC,aAAe/8B,GAAmBA,EAAM8/B,OAAO/C,aAC/CzvB,QAAUtN,GAAmBA,EAAM8/B,OAAOxyB,QAC1CtW,4BAA8BgJ,GAAmBA,EAAM8/B,OAAO9oC,4BAC9DwqC,UAAYxhC,GAAmBA,EAAM8/B,OAAO0B,UAC5ChxC,aAAewP,GAAmBA,EAAM8/B,OAAOtvC,aAC/CosC,eAAiB58B,GAAmBA,EAAM8/B,OAAOlD,eACjDj3B,cAAgB3F,GAAmBA,EAAM8/B,OAAOn6B,cAChDp+B,qCAAuCy4B,GAAmBA,EAAM8/B,OAAOv4D,qCACvE+5D,gBAAkBthC,GAAmBA,EAAM8/B,OAAOwB,gBAClDnxB,QAAUnQ,GAAmBA,EAAM8/B,OAAO3vB,QAC1C/K,oBAAsBpF,GAAmBA,EAAM8/B,OAAO16B,oBACtDm8B,gBAAkBvhC,GAAmBA,EAAM8/B,OAAOyB,gBAClDj6B,SAAWtH,GAAmBA,EAAMy9B,OACpC2E,UAAYpiC,GAAmBA,EAAM4hC,QACrCtlB,iBAAmBtc,GAAkBA,EAAM+V,cAC3C0I,iBAAmBze,GAAkBA,EAAMgW,cAC3CiJ,UAAYjf,GAAkBA,EAAMuX,QACpC2H,UAAYlf,GAAkBA,EAAMoW,QACpCisB,aAAeriC,GAAkBA,EAAM+hC,UACvCO,gBAAkBtiC,GAAkBA,EAAMgiC,aAC1CO,6BAA+BviC,GAAkBA,EAAMiiC,2BACvDr6B,cAAgB5H,GAAkBA,EAAMn5B,YACxCq/B,2BAA6BlG,GAAkBA,EAAM8/B,OAAO55B,4BAE9Ds8B,UAAW,CACT,gBAAgBxiC,EAAO5mB,GACrB,IAAIpK,EAAYgxB,EAAM2hC,QAAQplD,KAAKC,GAAKA,EAAE/O,UAAYoc,QAAQzQ,aAC9D,IAAIqpC,EAAQziB,EAAM2hC,QAAQ96B,QAAQ73B,GAC9ByzC,GAAS,GACXziB,EAAM2hC,QAAQ1/D,OAAOwgD,EAAO,IAGhC,wBAAwBziB,EAAOyiC,GAC7BziC,EAAM8hC,qBAAuBW,GAE/B,iBAAiBziC,EAAOyiC,GACtBziC,EAAM8/B,OAAOn6B,cAAgB88B,GAE/B,0BAA2BziC,GAAO,YAAE5mB,GAAgB,IAC9CA,IACF4mB,EAAMqM,0BAA4BjzB,IAEtC,wBAAwB4mB,EAAOsiB,GAC7BtiB,EAAMmS,qBAAuBmQ,GAE/B,aAActiB,EAAO36B,GACnB26B,EAAM8/B,OAAOpvB,UAAYrrC,GAE3B,UAAW26B,EAAO18B,GAChB08B,EAAMy9B,OAASn6D,GAEjB,WAAY08B,EAAOsiB,GACjBtiB,EAAM/D,QAAUqmB,GAElB,YAAatiB,EAAOsiB,GAClBtiB,EAAMlW,SAAWw4B,GAEnB,SAAUtiB,EAAOsiB,GACftiB,EAAM2D,MAAQ2e,GAEhB,gBAAiBtiB,EAAOsiB,GACtBtiB,EAAMsQ,aAAegS,GAEvB,aAActiB,EAAO0iC,GACnB1iC,EAAM4hC,QAAUc,GAElB,eAAe1iC,EAAOwhB,GACpBxhB,EAAM2iC,YAAcnhB,GAEtB,6BAA6BxhB,EAAOp+B,GAClCo+B,EAAM4iC,0BAA4BhhE,GAEpC,wBAAwBo+B,EAAOp+B,GAC7Bo+B,EAAM6iC,qBAAuBjhE,GAE/B,4BAA4Bo+B,EAAOv1B,GACjCu1B,EAAM8iC,yBAA2Br4D,GAEnC,uBAAuBu1B,EAAOv1B,GAC5Bu1B,EAAM+iC,oBAAsBt4D,GAE9B,iBAAiBu1B,EAAO36B,GACtB26B,EAAM+V,cAAgB1wC,GAExB,uBAAwB26B,EAAO18B,GAC7B08B,EAAMtY,oBAAsBpkB,GAE9B,0BAA2B08B,EAAO18B,GAChC08B,EAAMrY,uBAAyBrkB,GAEjC,iBAAiB08B,EAAO36B,GACtB26B,EAAMgW,cAAgB3wC,GAExB,WAAW26B,EAAOyiC,GAChBziC,EAAMuX,QAAUkrB,GAElB,WAAWziC,EAAOyiC,GAChBziC,EAAMoW,QAAUqsB,GAElB,aAAaziC,EAAOgjC,GAClBhjC,EAAM+hC,UAAYiB,GAEpB,gBAAgBhjC,EAAOgjC,GACrBhjC,EAAMgiC,aAAegB,GAEvB,8BAA8BhjC,EAAOgjC,GACnChjC,EAAMiiC,2BAA6Be,GAErC,WAAYhjC,EAAO2hC,GACjB3hC,EAAM2hC,QAAUA,EAChB,MAAMO,EAAOliC,EAAM2hC,QAAQxhC,OAAO3jB,GAAKA,EAAEvQ,SAAShC,EAAOS,WAAWa,iBACpE,GAAK22D,EAAKnhE,QAGR,GAAIi/B,EAAMiB,YAAa,CACrBh4B,QAAQC,IAAI,oEACZD,QAAQC,IAAI,SAAWg5D,EAAK,GAAGz0D,QAAU,aAAey0D,EAAK,GAAGe,uBAChE,IAAIhgC,EAAYjD,EAAM8K,MAAMvuB,KAAKC,GAAKA,EAAE/O,UAAYuyB,EAAMiB,aAM1D,GALIgC,IACFn9B,KAAKwa,OAAO,aAAc,CAACjb,GAAI26B,EAAMiB,cACrCgC,EAAYjD,EAAM8K,MAAMvuB,KAAKC,GAAKA,EAAE/O,UAAYuyB,EAAMiB,cAGpDjB,EAAMqM,0BAA4B,CAGpC,MAAM62B,EAAMljC,EAAM2hC,QAAQplD,KAAMC,GAAKA,EAAE/O,SAAWuyB,EAAMqM,2BAA6B7vB,EAAEvQ,SAAShC,EAAOS,WAAWC,YAC9Gu4D,EACFjgC,EAAUyG,sBAAsB1J,EAAMqM,4BAEtCpjC,QAAQC,IAAI,6BAA+B82B,EAAMqM,0BAA4B,oEAAsE61B,EAAK,GAAGe,uBAC3JhgC,EAAUyG,sBAAsBw4B,EAAK,GAAGe,6BAI1ChgC,EAAUyG,sBAAsBw4B,EAAK,GAAGe,6BAvB5Ch6D,QAAQk0C,KAAK,oBA2BjB,oBAAqBnd,EAAOhxB,GAE1B,MAAMhG,EAAOg3B,EAAM8K,MAAMvuB,KAAKC,GAAKA,EAAE/O,UAAYuyB,EAAMiB,aACjD1K,EAAqBvnB,EAAYA,EAAU3J,QAAKmL,EAGlDxH,GACFA,EAAK0gC,sBAAsBnT,IAG/B,aAAcyJ,EAAOh3B,GACfA,IACFg3B,EAAM8K,MAAMzpC,KAAK2H,GACjBg3B,EAAMiB,YAAcj4B,EAAKyE,UAG7B,eAAgBuyB,EAAO36B,GACrB26B,EAAMiB,YAAc57B,GAEtB,QAAS26B,EAAOh3B,GAId,GAHAC,QAAQiiB,KAAK,0BAA0BC,KAAKC,UAAUpiB,IACtDg3B,EAAM8K,MAAMzpC,KAAK2H,GAEbA,EAAKyE,UAAY3H,KAAKm7B,YAAc,CACtCh4B,QAAQC,IAAI,6BACZ,IAAI+5B,EAAYjD,EAAM8K,MAAMvuB,KAAKC,GAAKA,EAAE/O,UAAYuyB,EAAMiB,aACtDgC,GACFA,EAAUkgC,eAAc,KAI9B,WAAWnjC,EAAOojC,GAChBn6D,QAAQiiB,KAAK,iBAAmBk4C,IAGlC,WAAWpjC,EAAO36B,GAChB,MAAM2D,EAAOg3B,EAAM8K,MAAMvuB,KAAKgsB,GAAKA,EAAEljC,KAAOA,GACxC2D,GACFg3B,EAAM8K,MAAM7oC,OAAO+9B,EAAM8K,MAAMjE,QAAQ79B,GAAO,IAGlD,mBAAmBg3B,EAAOz/B,EAAK,IAC7B,MAAM,GACJ8E,EAAE,OACFuD,EAAM,MACNsX,EAAK,QACLE,EAAO,SACPtX,EAAQ,YACRgX,EAAW,OACXlW,EAAM,iBACNkuB,GACEv3B,EAEJ,IAAI0W,EAAS+oB,EAAM2hC,QAAQplD,KAAKC,GAAMA,EAAE/O,UAAYpI,GACjD4R,IACE,WAAY1W,IAAM0W,EAAO9M,aAAavB,OAASA,GAC/C,UAAWrI,IAAM0W,EAAO9M,aAAa+V,MAAQA,GAC7C,YAAa3f,IAAM0W,EAAO9M,aAAaiW,QAAUA,GACjD,aAAc7f,IAAM0W,EAAO9M,aAAarB,SAAWA,GACnD,gBAAiBvI,GAAM,aAAI4W,IAAIF,EAAO9M,aAAc,cAAe2V,GACnE,WAAYvf,GAAM,aAAI4W,IAAIF,EAAO9M,aAAc,SAAUP,GACzD,qBAAsBrJ,GAAM,aAAI4W,IAAIF,EAAO9M,aAAc,mBAAoB2tB,KAIpF,WAAYkI,EAAOz/B,EAAO,IAGxB,MAAM,GACJ8E,EAAE,SACF4J,EAAQ,SACRC,EAAQ,aACR45B,EAAY,eACZC,EAAc,KACdpmC,EAAI,MACJib,EAAK,KACL+qB,EAAI,QACJ7d,EAAO,SACPke,EAAQ,MACRJ,EAAK,UACLC,EAAS,mBACTtS,EAAkB,aAClB8sC,GACE9iE,EACJ,IAAIyI,EAAOg3B,EAAM8K,MAAMvuB,KAAKC,GAAMA,EAAE/O,UAAYpI,GA2BhD,GA1BK2D,IACHA,EAAO,IAAI,GAAKzI,GAChBuF,KAAKwa,OAAO,UAAWtX,IAErB,aAAczI,GAAMyI,EAAKyG,YAAYR,GACrC,aAAc1O,GAAMyI,EAAK6G,YAAYX,GACrC,iBAAkB3O,GAAMyI,EAAKsgC,gBAAgBR,GAC7C,mBAAoBvoC,GAAMyI,EAAKwgC,kBAAkBT,GACjD,SAAUxoC,GAAMyI,EAAK0E,QAAQ/K,GAC7B,UAAWpC,GAAMyI,EAAKiwB,SAASrb,GAC/B,YAAard,GAAMyI,EAAK2gC,WAAW7e,GACnC,aAAcvqB,GAAMyI,EAAKoV,YAAY4qB,GACrC,SAAUzoC,GAAMyI,EAAKk5C,QAAQvZ,GAC7B,UAAWpoC,GAAMyI,EAAKs6D,SAAS16B,GAC/B,cAAeroC,GAAMyI,EAAKu6D,aAAa16B,GACvC,uBAAwBtoC,GAAMyI,EAAK0gC,sBAAsBnT,GAWzDlxB,IAAO26B,EAAMiB,YACfn7B,KAAKwa,OAAO,iBAAkBtX,IAC1BrG,GAAQmoB,GAAWlN,GAAS+qB,GAAQpS,IACtCvtB,EAAKm6D,qBAGP,GAAkB,kBAAfE,EAAgC,CACjCp6D,QAAQC,IAAI,uBACZ,IAAI+5B,EAAYjD,EAAM8K,MAAMvuB,KAAKC,GAAMA,EAAE/O,UAAYuyB,EAAMiB,aAC3DgC,EAAUkgC,eAAc,KAI9B,8BAA+BnjC,GAAO,YAAC5mB,EAAW,SAAElK,EAAQ,mBAAEwnD,GAAqB,GAAS,IAC1F,IAAI12B,EAAMtY,qBAAuBgvC,EAAmB,CAClD,MAAM1tD,EAAOg3B,EAAM8K,MAAMvuB,KAAKC,GAAKA,EAAE/O,UAAYuyB,EAAMiB,aACnDj4B,IACiB,cAAbkG,QAAyCsB,IAAbtB,GAChCjG,QAAQC,IAAI,uDAAyDiiB,KAAKC,UAAUlc,IACpFlG,EAAK6G,YAAYX,IAEjBjG,QAAQC,IAAI,kEACdF,EAAK0gC,sBAAsBtwB,MAIjC,UAAW4mB,EAAOxc,GAChBva,QAAQiiB,KAAK,4BAA4BC,KAAKC,UAAU5H,IAExD,IAAIje,EAAIie,EACS,kBAANje,IACTA,EAAI4lB,KAAKkuB,MAAM71B,GACfva,QAAQC,IAAI,wCAA0CiiB,KAAKC,UAAU7lB,KAElEA,EAAE2R,UACL3R,EAAI6zB,GAAqB/hB,eAAe9R,GACxC0D,QAAQC,IAAI,4CAA8CiiB,KAAKC,UAAU7lB,KAE3Ey6B,EAAME,OAAO7+B,KAAKkE,GACdA,EAAEozB,SAAWqH,EAAMiB,aAErBn7B,KAAK+8B,SAAS,qBAAsBt9B,IAGxC,gBAAgBy6B,GAAO,GAAE36B,IACvB,MAAMme,EAAQwc,EAAME,OAAO3jB,KAAKgsB,GAAKA,EAAE96B,UAAYpI,GAC/Cme,GACFwc,EAAME,OAAOj+B,OAAO+9B,EAAME,OAAO2G,QAAQrjB,GAAQ,IAGrD,cAAcwc,EAAO58B,GACnB48B,EAAMn5B,YAAczD,GAEtB,YAAY48B,EAAO58B,GACjB48B,EAAM+F,YAAc3iC,GAEtB,gBAAgB48B,EAAM58B,GACpB48B,EAAMgI,eAAiB5kC,GAKzB,YAAY48B,EAAOi0B,GACjBhrD,QAAQiiB,KAAK,8BAA8BC,KAAKC,UAAU6oC,IAE1D,IAAIxxD,EAAIwxD,EACRhrD,QAAQC,WAAWzG,GACF,kBAANA,IACTA,EAAI0oB,KAAKkuB,MAAM4a,IAGZxxD,EAAEyU,UACLzU,EAAIy+D,GAAuB7pD,eAAe5U,IAG5Cu9B,EAAMwzB,SAASnyD,KAAKoB,KAGxB+gE,QAAS,CAIP,YAAYjqD,GAAQ,KAACrP,EAAI,KAAC3J,IACxB0D,OAAO+iB,cAAc,IAAIC,YAAY,cAAc,CAACC,OAAO,CACzDhd,KAAMA,EACN3J,KAAMA,EACN+1D,aAAc/8C,EAAQymB,MAAMiB,iBAGhC,cAAc1nB,EAASkqD,GAGnBx6D,QAAQC,IAAI,wDAEZ,IAAI+5B,EAAY1pB,EAAQsQ,QAAQoZ,UAE5BgxB,EAAU,IAAI6M,GACd,CACExK,aAAcrzB,EAAUx1B,QACxBg0B,QAASgiC,EACTv5D,KAAM,kBAIZpE,KAAK+8B,SAAS,mBAAoBoxB,IAUtC,gBAAiB16C,GACf,MAAMgvB,EAAI,IAAI,GAAK,CAAC5lC,KAAM,mBAAoBmoB,QAAS,OACvDvR,EAAQ+G,OAAO,UAAWioB,GAC1B,MAAMljC,EAAKkjC,EAAE96B,QAEb,GADA8L,EAAQ+G,OAAO,iBAAkBjb,GAC7BkU,EAAQsQ,QAAQqe,aAAc,CAChC,IAAI3R,EAAqBhd,EAAQsQ,QAAQqe,aAAa+6B,sBAClD1pD,EAAQymB,MAAMqM,4BAChB9V,EAAqBhd,EAAQymB,MAAMqM,2BACrC9yB,EAAQ+G,OAAO,aAAc,CAACjb,KAAIkxB,uBAGpChd,EAAQ+G,OAAO,iBAAkBioB,IAEnC,YAAahvB,GACX,MAAMgvB,EAAI,IAAI,GACjB,GAAIhvB,EAAQsQ,QAAQoZ,UAAY,CAC3B,IAAIA,EAAY1pB,EAAQsQ,QAAQoZ,UAChCsF,EAAE94B,YAAawzB,EAAUviB,eACzB6nB,EAAEe,gBAAiBrG,EAAUsG,mBAC7BhB,EAAEiB,kBAAmBvG,EAAUwG,qBAC/BlB,EAAE14B,YAAaozB,EAAU3X,eACzBid,EAAEmB,sBAAuBzG,EAAU5X,yBACvCkd,EAAE76B,QAAQ,OAAOoT,KAAKuR,MAAsB,IAAhBvR,KAAK8oB,WAChC,IAAI3mC,EAAI,EACL4mC,EAAI,EACJC,EAAI,EACR,MAAO7mC,EAAE4mC,EAAEC,GAAK,GAAK7mC,EAAE4mC,EAAEC,EAAI,IAC5B7mC,EAAI6d,KAAKuR,MAAoB,IAAdvR,KAAK8oB,UAAcG,SAAS,IAC3CF,EAAI/oB,KAAKuR,MAAoB,IAAdvR,KAAK8oB,UAAcG,SAAS,IAC3CD,EAAIhpB,KAAKuR,MAAoB,IAAdvR,KAAK8oB,UAAcG,SAAS,IAE7B,GAAZ9mC,EAAElC,SAAakC,GAAK,IAAIA,GAAG8mC,SAAS,KACxB,GAAZF,EAAE9oC,SAAa8oC,GAAK,IAAIA,GAAGE,SAAS,KACxB,GAAZD,EAAE/oC,SAAa+oC,GAAK,IAAIA,GAAGC,SAAS,KACvCxB,EAAEtP,SAAS,IAAIh2B,EAAE4mC,EAAEC,GACjB7gC,QAAQC,IAAI,2CAA6CiiB,KAAKC,UAAUmd,EAAE7nB,eAAiB,MAAQyK,KAAKC,UAAUmd,EAAEjd,gBACpHriB,QAAQC,IAAI,aAAeq/B,EAAE9qB,YAE9BlE,EAAQ+G,OAAO,UAAWioB,IAM3B,6BAA+BhvB,GAE7B,OADAtQ,QAAQC,IAAI,sCACL,GAAA4iB,EAAM9oB,IAAI,sBAAsBma,KAAM4O,IAC3C9iB,QAAQC,IAAI,sCAAwCiiB,KAAKC,UAAUW,EAASxrB,OAC5E,MAAMu/D,EAAS/zC,EAASxrB,KACxB0I,QAAQC,IAAI42D,GACZ72D,QAAQC,IAAI,YACZlI,OAAOmH,OAAQoR,EAAQymB,MAAM8/B,OAAQA,KACpC1iD,OAAM,SAAU3S,GAEjBxB,QAAQC,IAAIuB,OAIhB,uBAAwB8O,GAAS,IAACoyB,EAAG,QAAEK,IACrC/iC,QAAQC,IAAI,iCAAmCyiC,GAC/C,MAAM/uB,EAAU,IAAI,GACpB,IAAI+kD,EAAU,GACVh/D,EAAO,UACP8I,EAAc,UACdC,EAAc,UAGlBzC,QAAQC,IAAI,uBACZ,MAAMw6D,QAAgB9mD,EAAQ+mD,OAAOh4B,EAAKK,GAIpC43B,EAAY5iE,OAAO0E,KAAKg+D,EAAQhS,OAAOmS,OACvCC,QAAiBvmD,QAAQC,IAAIomD,EAAU1+D,IAAI6U,GAAY2pD,EAAQN,KAAKrpD,GAAUuqB,MAAM,YAC1F,IAAK,IAAIlgC,KAAW0/D,EAAU,CAC5B,MAAM15D,EAAO+gB,KAAKkuB,MAAMj1C,GACxB,GAAIgG,EAAKC,OAKP,GAAkB,MAAdD,EAAKF,KAAgB,CACvB,MAAM+M,EAASK,EAAsBD,eAAejN,GAChD6M,GACF0qD,EAAQtgE,KAAK4V,OACV,CACL,MAAMkF,EAAQ,GAAa9E,eAAejN,GACtC+R,GACF,GAAa4nD,SAAS5nD,QAGtB/R,EAAK45D,cAEPv4D,EAAcrB,EAAK45D,aACnBrhE,EAAOyH,EAAK65D,qBACZv4D,EAActB,EAAK85D,sBAInBj7D,QAAQC,IAAI,4BACZD,QAAQC,IAAI9E,IAMlB,MAAM89D,EAAOP,EAAQxhC,OAAO3jB,GAAKA,EAAEvQ,SAAShC,EAAOS,WAAWa,iBAC1C,IAAhB22D,EAAKnhE,SACPmhE,EAAK,GAAGx0D,QAAQ/K,GAChBu/D,EAAK,GAAGt0D,eAAelC,GACvBw2D,EAAK,GAAGiC,eAAe14D,IAEzBk2D,EAAUA,EAAQz8D,IAAIsX,IAEhBA,EAAEvQ,SAAShC,EAAOS,WAAWK,iBAE/ByR,EAAE/M,YAAY8J,EAAQymB,MAAM0hC,UAAU0C,uBAAuB5nD,EAAEkE,gBAE/DlE,EAAE3M,YAAY0J,EAAQymB,MAAM0hC,UAAU2C,uBAAuB7nD,EAAE8O,iBAE1D9O,IAETmlD,EAAUA,EAAQz8D,IAAIsX,IAChBA,EAAEvQ,SAAShC,EAAOS,WAAWU,mBACRoF,IAAnBgM,EAAEpJ,cACJoJ,EAAEtJ,WAAW,GAAaoxD,4BAC5B9nD,EAAE7G,kBAAkB4D,EAAQymB,MAAM0hC,UAAU2C,uBAAuB7nD,EAAE+nD,uBAEhE/nD,UAEH,GAAagoD,eAAe5nD,GAE/BrD,EAAQymB,MAAMlW,WACf7gB,QAAQC,IAAI,kCACZy4D,EAAQrkD,QAAQrG,IACd,GAAkB,aAAfA,EAAO/M,KAAoB,CAC5B,IAAIiS,EAAQ,GAAaO,SAASzF,EAAO1I,eAEvB,WAAf0I,EAAOtU,OACRwZ,EAAM7I,IAAM,0DACI,qBAAf2D,EAAOtU,OACRwZ,EAAM7I,IAAM,oEACI,mCAAf2D,EAAOtU,OACRwZ,EAAM7I,IAAM,kFACI,qBAAf2D,EAAOtU,OACRwZ,EAAM7I,IAAM,oEACI,0BAAf2D,EAAOtU,OACRwZ,EAAM7I,IAAM,yEACI,WAAf2D,EAAOtU,OACRwZ,EAAM7I,IAAM,8DAKpBiG,EAAQ+G,OAAO,aAAcqhD,GAG7B,MAAM8C,EAASlrD,EAAQsQ,QAAQqe,aAAa7iC,GAExCkU,EAAQymB,MAAM8/B,OAAOpvB,WACvBznC,QAAQC,IAAI,wCAA0CqQ,EAAQymB,MAAM8/B,OAAOr0B,gBAAkB,IAAMlyB,EAAQymB,MAAM8/B,OAAOpvB,iBAClH5qC,KAAK+8B,SAAS,wBAAyBtpB,EAAQymB,MAAM8/B,OAAOr0B,gBAAkB,IAAMlyB,EAAQymB,MAAM8/B,OAAOpvB,aAE/GznC,QAAQC,IAAI,oCAAsCu7D,SAC5C3+D,KAAK+8B,SAAS,wBAAyB4hC,OAOtC,UCjrBf,aAAIC,IAAI,QAGR,MAAMC,GAAQ,IAAI,OAAKC,MAAM,CACzBtjE,QAAS,CACL0/B,QAAS,MAKX,GAAU,CACZ2jC,UAGJ,aAAID,IAAI,IAAsB,IAEf,U,aCff,aAAIA,IAAI,SAER,MAAMlW,GAAW,CACb,GAAM,CACF,UAAc,YAEd,0BAA4B,0BAC5B,qDAAuD,yCACvD,gCAAkC,6BAGlC,YAAgB,iBAChB,MAAU,QACV,SAAa,WACb,KAAQ,QACR,UAAc,OACd,UAAc,SACd,OAAW,WACX,8CAAgD,+CAGhD,oCAAsC,iCACtC,UAAc,aACd,mEAAqE,gEACrE,KAAS,OACT,2CAA6C,gCAC7C,gCAAiC,yBACjC,OAAW,SACX,oEAAsE,oEACtE,kCAAmC,6BACnC,SAAa,aACb,SAAW,OACX,mBAAoB,QACpB,kBAAsB,kBACtB,gBAAoB,kBAGpB,iCAAmC,2BACnC,wCAA0C,wCAC1C,8CAAgD,4CAChD,oCAAqC,iCACrC,0CAA4C,yCAC5C,4DAA8D,wDAC9D,uBAAwB,uBACxB,oCAAsC,4BACtC,oCAAsC,4BACtC,oCAAsC,gCACtC,uDAAwD,4DACxD,mBAAoB,cACpB,WAAa,UACb,OAAW,OAGX,uBAAyB,oBACzB,qBAAuB,qBACvB,4BAA8B,kBAC9B,8BAAgC,oBAChC,yBAA2B,oBAC3B,sBAAwB,iBACxB,4CAA8C,uCAC9C,4CAA8C,uCAC9C,MAAU,SAGV,kCAAoC,6BACpC,oCAAsC,6BAGtC,YAAe,WACf,6BAA+B,+BAG/B,aAAiB,eACjB,sBAAuB,0BACvB,+BAAiC,+BACjC,2BAA6B,mBAC7B,uBAAyB,qBACzB,kCAAoC,qCAGpC,oBAAsB,eACtB,8BAAgC,sBAChC,gCAAkC,wBAClC,6BAA+B,uBAC/B,+BAAiC,yBACjC,qCAAuC,wCACvC,4BAA8B,0BAG9B,2HAA6H,gHAC7H,SAAW,OACX,YAAgB,QAChB,wCAAyC,mCAGzC,cAAe,aACf,cAAe,aAGf,qBAAsB,sBACtB,yDAA0D,uDAC1D,sfAAwf,qYACxf,yBAA2B,qBAC3B,wBAA0B,gBAC1B,2XAA6X,oUAC7X,6DAA+D,+CAC/D,2TAA6T,gQAC7T,2CAA6C,2CAC7C,2BAA6B,eAC7B,2TAA6T,mRAC7T,0CAA4C,0BAC5C,sNAAuN,0MACvN,uCAAyC,4CACzC,0QAA4Q,gPAC5Q,mDAAqD,oDACrD,sCAAwC,+BACxC,wQAA0Q,0PAC1Q,mCAAqC,4BACrC,+NAAiO,+LACjO,UAAc,QACd,uBAAyB,qBACzB,gRAAkR,oPAGlR,WAAe,aACf,yBAA0B,wBAC1B,yDAA0D,uCAC1D,cAAiB,aACjB,wFAAyF,yEACzF,MAAS,OACT,wFAAyF,sEAWzF,QAAU,WAEd,GAAM,CACF,UAAc,YAEd,0BAA4B,0BAC5B,qDAAuD,qDACvD,gCAAkC,gCAGlC,YAAgB,cAChB,MAAU,QACV,SAAa,WACb,KAAQ,OACR,UAAc,YACd,UAAc,YACd,OAAW,SACX,8CAAgD,8CAGhD,oCAAsC,oCACtC,UAAc,YACd,mEAAqE,mEACrE,KAAS,OACT,2CAA6C,2CAC7C,gCAAiC,gCACjC,OAAW,SACX,oEAAsE,oEACtE,kCAAmC,kCACnC,SAAa,WACb,SAAW,SACX,mBAAoB,mBACpB,kBAAsB,oBACtB,gBAAoB,kBAGpB,iCAAmC,iCACnC,wCAA0C,wCAC1C,8CAAgD,8CAChD,oCAAqC,oCACrC,0CAA4C,0CAC5C,4DAA8D,4DAC9D,uBAAwB,uBACxB,oCAAsC,oCACtC,oCAAsC,oCACtC,oCAAsC,oCACtC,uDAAwD,uDACxD,mBAAoB,mBACpB,WAAa,WACb,OAAW,SAGX,uBAAyB,uBACzB,4BAA8B,4BAC9B,8BAAgC,8BAChC,yBAA2B,yBAC3B,sBAAwB,sBACxB,4CAA8C,4CAC9C,4CAA8C,4CAG9C,kCAAoC,kCACpC,oCAAsC,oCAGtC,YAAe,cACf,6BAA+B,6BAG/B,sBAAuB,sBACvB,+BAAiC,+BACjC,2BAA6B,2BAC7B,uBAAyB,uBACzB,kCAAoC,kCACpC,aAAiB,eAGjB,oBAAsB,oBACtB,8BAAgC,8BAChC,gCAAkC,gCAClC,6BAA+B,6BAC/B,+BAAiC,+BACjC,qCAAuC,qCACvC,4BAA8B,4BAG9B,2HAA6H,2HAC7H,SAAW,SACX,YAAgB,cAChB,wCAAyC,wCAGzC,cAAe,cACf,cAAe,cAGf,qBAAsB,qBACtB,yDAA0D,yDAC1D,sfAAwf,sfACxf,yBAA2B,yBAC3B,wBAA0B,wBAC1B,2XAA6X,2XAC7X,6DAA+D,6DAC/D,2TAA6T,2TAC7T,2CAA6C,2CAC7C,2BAA6B,2BAC7B,2TAA6T,2TAC7T,0CAA4C,0CAC5C,sNAAuN,sNACvN,uCAAyC,uCACzC,0QAA4Q,0QAC5Q,mDAAqD,mDACrD,sCAAwC,sCACxC,wQAA0Q,wQAC1Q,mCAAqC,mCACrC,+NAAiO,+NACjO,UAAc,YACd,uBAAyB,uBACzB,gRAAkR,gRAGlR,WAAe,aACf,yBAA0B,yBAC1B,yDAA0D,wDAC1D,cAAiB,gBACjB,wFAAyF,wFACzF,MAAS,QACT,wFAAyF,wFAWzF,QAAU,UAKZqW,GAAuB,IACrBh5B,UAAUi5B,WAAaj5B,UAAUi5B,UAAU/jE,OACpC8qC,UAAUi5B,UAAU,GAGpBj5B,UAAUE,cAAgBF,UAAUC,UAAYD,UAAUk5B,iBAAmB,KAItFC,GAAO,IAAI,QAAQ,CACrBC,OAAQJ,KAAyBA,KAAyB,KAC1DK,eAAgB,KAChBC,oBAAoB,EACpB3W,cC3SJ,aAAIsR,OAAOsF,eAAgB,EAG3B,aAAIV,IAAI,KAOR,aAAIA,IAAI,KAGR,aAAIA,IAAI,QAGR,aAAIA,IAAI,KAMR,IAAI,aAAI,CACNM,QACAL,MAAA,GACA/+D,OAAQy/D,GAAKA,EAAEC,MACdC,OAAO,S,uBCxBV,IAAInhE,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAkEF,QACvEE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,qBCT5E9B,EAAOD,QAAU,IAA0B,yB,uBCA3CC,EAAOD,QAAU,IAA0B,mC,uBCG3C,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAkEF,QACvEE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,oDCT5E,W,uBCAA9B,EAAOD,QAAU,IAA0B,iC,kCCA3C,W,uBCGA,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,uBCR5E,IAAII,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,yGAA0G,KAEnIyB,EAAOD,QAAUA,G,uCCLjB,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,4vBAA6vB,KAEtxByB,EAAOD,QAAUA,G,uBCLjB,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,gnCAAinC,KAE1oCyB,EAAOD,QAAUA,G,qBCLjB,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,03GAA23G,KAEp5GyB,EAAOD,QAAUA,G,oCCNjB,W,qBCAAC,EAAOD,QAAU,IAA0B,+B,kCCA3C,W,qBCCA,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,2VAA4V,KAErXyB,EAAOD,QAAUA,G,oCCNjB,W,yCCAAC,EAAOD,QAAU,IAA0B,8B,qBCA3CC,EAAOD,QAAU,IAA0B,8B,uBCC3C,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,gtBAAitB,KAE1uByB,EAAOD,QAAUA,G,uBCNjBC,EAAOD,QAAU,IAA0B,yC,qBCG3C,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,qBCR5E,IAAII,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,2rFAA4rF,KAErtFyB,EAAOD,QAAUA,G,kCCNjB,W,oCCAA,W,qBCAAC,EAAOD,QAAU,kf,uBCGjB,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,uBCR5E,IAAII,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,87BAA+7B,KAEx9ByB,EAAOD,QAAUA,G,uBCNjBC,EAAOD,QAAU,IAA0B,+B,uCCA3CC,EAAOD,QAAU,IAA0B,kC,qBCC3C,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,ugCAAwgC,KAEjiCyB,EAAOD,QAAUA,G,uBCLjB,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,0mEAA6mE,KAEtoEyB,EAAOD,QAAUA,G,qBCNjBC,EAAOD,QAAU,27I,qBCAjBC,EAAOD,QAAU,smK,uBCGjB,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,oCCT5E,W,uBCAA9B,EAAOD,QAAU,IAA0B,6B,uBCG3C,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,uBCT5E9B,EAAOD,QAAU,IAA0B,kC,oCCA3C,W,uBCGA,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,oCCT5E,W,uBCAA9B,EAAOD,QAAU,IAA0B,8C,qBCG3C,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAkEF,QACvEE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,qBCR5E,IAAII,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,0xNAA2xN,KAEpzNyB,EAAOD,QAAUA,G,qBCLjB,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,2hBAA4hB,KAErjByB,EAAOD,QAAUA,G,mBCNjBC,EAAOD,QAAU,8M,qBCCjB,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,g6FAAi6F,KAE17FyB,EAAOD,QAAUA,G,qBCLjB,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,irBAAkrB,KAE3sByB,EAAOD,QAAUA,G,kCCNjB,W,qBCGA,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,mBCT5E9B,EAAOD,QAAU,suC,qBCGjB,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAwEF,QAC7EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,qBCT5E9B,EAAOD,QAAU,IAA0B,mC,qBCG3C,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAwEF,QAC7EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,qBCT5E9B,EAAOD,QAAU,IAA0B,uC,qBCC3C,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,g+BAAi+B,KAE1/ByB,EAAOD,QAAUA,G,qBCHjB,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,kCCT5E,W,qBCGA,IAAIA,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAkEF,QACvEE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,qBCT5E9B,EAAOD,QAAU,IAA0B,kC,kCCA3C,W,mBCAAC,EAAOD,QAAU,stB,qBCCjB,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,saAAua,KAEhcyB,EAAOD,QAAUA,G,qBCHjB,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,qBCN5E,IAAIA,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,qBCR5E,IAAII,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,w+BAAy+B,KAElgCyB,EAAOD,QAAUA,G,kCCNjB,W,qBCGA,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAkEF,QACvEE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,qBCT5E9B,EAAOD,QAAU,IAA0B,kC,qBCG3C,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAwEF,QAC7EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,qBCT5E9B,EAAOD,QAAU,IAA0B,+D,qBCC3C,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,swHAA2wH,KAEpyHyB,EAAOD,QAAUA,G,mBCNjBC,EAAOD,QAAU,s4G,qBCAjBC,EAAOD,QAAU,IAA0B,iC,qBCG3C,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,kCCT5E,W,qBCAA9B,EAAOD,QAAU,IAA0B,8B,qBCC3C,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,0uBAA2uB,KAEpwByB,EAAOD,QAAUA,G,qBCLjB,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,whPAA2hP,KAEpjPyB,EAAOD,QAAUA,G,qBCHjB,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAAqEF,QAC1EE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,kCCT5E,W,kCCAA,W,qBCCA,IAAII,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,6hBAA8hB,KAEvjByB,EAAOD,QAAUA,G,kCCNjB,W,mBCAAC,EAAOD,QAAU,0tM,kCCAjB,W,sBCCA,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,skBAAukB,KAEhmByB,EAAOD,QAAUA,G,qBCNjBC,EAAOD,QAAU,IAA0B,yC,qBCA3CC,EAAOD,QAAU,IAA0B,iE,qBCA3CC,EAAOD,QAAU,IAA0B,mC,qBCA3CC,EAAOD,QAAU,IAA0B,mC,qBCA3CC,EAAOD,QAAU,IAA0B,0B,qBCG3C,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAA4DF,QACjEE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,kCCT5E,W,kCCAA,W,qBCCA,IAAII,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,4lEAA6lE,KAEtnEyB,EAAOD,QAAUA,G,qBCLjB,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,2cAA4c,KAEreyB,EAAOD,QAAUA,G,qBCNjBC,EAAOD,QAAU,IAA0B,mC,qBCC3C,IAAImC,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,ihCAAkhC,KAE3iCyB,EAAOD,QAAUA,G,kCCNjB,W,mBCAAC,EAAOD,QAAU","file":"js/app.7e4dd91b.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\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 \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\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.l = 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// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SituationGallery.vue?vue&type=style&index=0&id=7f055921&prod&scoped=true&lang=css\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAADpHAAA6RwFi72/oAAADPElEQVR4nO2d63HTQBSFT5j8xx2EDoAKCB2kgyQdhAowFUAHOB1QQujAriCkA1OBMzuzGkKs8d6VdqR7rs43o5+Spf28j7vPs8PhAOGHN3LhCwlxhoQ4Q0KcISHOkBBnnI98nXf5Ev94GJMWQ4QkAXcArgBcSEQvOwCbfO1rbqwNDJOINYC3o195GTwBuKnJNTVCku3rpafwQG5z+hWxCkm54quzj2TjI4Bt6Z0tQlKd8bjEFGzMk6UBZGn2rr19GSkXuT45iUXI1dJTsiHFtCwJuVSLqimXpYcpUp+W4p97bKTecQ/gj69vn5z07/809kdbCdmM7TIIwLqFEBVZzpAQZ0iIMyTEGRLiDAlxhoQ4g11IsbOODWYhKRj9aR34YYFVyMvRy+tIUhiF9A0lh5HCJuTUuH4IKUxCLJMs6KWwCKmZ8UIthUHICsCHyntopTAI2efBn13lfZRSWIqsxUgpjRimUcCzid6lRCdlWzmnuKt7KKJ6tmbvPk+l+Vt5H01OYQwMtzmnhJTC2nUSVgpz52JIKezd7+GkRBigCiUlyohhGCmRhnBDSCkFhqkP6cdE79KK/YAZ+26Cx5KQVYv5qiS4kKJZJ/8ze/ElIcfMKkVC+plNioQ4Q0L6uZ+rcpeQY2aTAQk5YlYZMMQhKcj6PdG7tCLFTu8HPGx2GTAI2VrWVjtiNXDxqQsZCFZkdTJqc4cbGQgkJIQMBBESRgYCCAklA+RCwskAsZCQMkAqJKwMEAoJLQPGDcwOhmuK4DG8DBDlkEXIANGCnUXIANGCneJ+t6+glAGiIusmJ7IFWhkga2VZpFDLAGGz95QUehkgDQz7pISQAeKuk5dSwshAw21i56A7l0O7ATkilAxo1ok/JMQZEuIMCXGGhDhDQpwhIc5oFRjWbjAWkSZH0LYS8r3RcxaPiqxpKa6hLwl5GLAQX5xOz5NYcsgvJXAzimmpo1eno9nRq+k4vG9EH+4V04mp1kp9XTHJQBxza505U9PKSgNCX1TJV5GKqc814zY1B9x3pHLwLmfBmu1al8QuS9jkeWVmhgh5LadJhBqIUSeejhUiGqNI3RkS4gwJcYaEOENCnCEhngDwDDXrsYQ2mMvgAAAAAElFTkSuQmCC\"","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tooltip.vue?vue&type=style&index=0&id=a5c369a0&prod&lang=scss\"","module.exports = __webpack_public_path__ + \"img/panoramaThumbnail.ffffe2e6.jpg\";","// style-loader: Adds some css to the DOM by adding a \n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Renderer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Renderer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Renderer.vue?vue&type=template&id=49088f9e\"\nimport script from \"./Renderer.vue?vue&type=script&lang=js\"\nexport * from \"./Renderer.vue?vue&type=script&lang=js\"\nimport style0 from \"./Renderer.vue?vue&type=style&index=0&id=49088f9e&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('CustomSituations')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import * as BABYLON from 'babylonjs';\n\nclass BasicComponent {\n\n constructor( { id, situationID, rootNode = null } = {} ) {\n Object.assign( this, { id, situationID } );\n\n this.rootNode = rootNode;\n this.prefab = undefined;\n }\n\n getType() { return \"BasicComponent\"; }\n\n setID( id ) { this.id = id; return this; }\n getID() { return this.id; }\n getSituationID() { return this.situationID; }\n getRootNode() { return this.rootNode; }\n\n setSituationID( id ) { this.situationID = id; return this; }\n setRootNode( node ) { this.rootNode = node; return this; }\n\n // Constructs scene graph elements based on this component...\n construct( context, prefab ) {\n this.setSituationID( prefab.getSituationID() );\n this.setRootNode( new BABYLON.TransformNode(prefab.getType() + \"_\" + prefab.getID(), window.scene) );\n this.prefab = prefab;\n return this;\n }\n\n // Update this component...\n update( context = {} ) {\n if(context === 42){\n console.log(\"42\");\n }\n }\n\n // Enable this component in the scene graph\n enable() {\n if( this.rootNode )\n this.rootNode.setEnabled( true );\n }\n\n // Disable this component in the scene graph\n disable() {\n if( this.rootNode )\n this.rootNode.setEnabled( false );\n }\n\n // Destructs the scene graph for this component\n destruct() {\n if( this.rootNode )\n this.rootNode.dispose();\n }\n\n play(){\n }\n\n pause(){\n }\n\n stop(){\n }\n\n reset(){\n }\n\n jumpToTimePosition(timeToJumpTo){\n }\n\n changeVolume(volume){\n }\n\n isPlaying(){\n }\n\n isMute(){\n }\n}\n\nexport default BasicComponent;\n","//\n// Media Management\n//\n//\n// Main class of this package is the MediaManager. It is supposed to be used as a singleton.\n// Import the module with \n// > import MediaManager from './flux-mediamanager.js';\n\nclass Media \n{\n constructor({ \n id = -1,\n contentID = undefined,\n fileName = undefined,\n url = undefined,\n requiresDirectURL = false,\n type = undefined,\n fileSize = 0\n } = {}) {\n Object.assign( this, { id, contentID, fileName, url, requiresDirectURL, type, fileSize } );\n }\n\n setID( id ) { this.id = id; return this; }\n getID() { return this.id; }\n\n setContentID( id ) { this.contentID = id; return this; }\n getContentID() { return this.contentID; }\n\n setFileName( name ) { this.fileName = name; return this; }\n getFileName() { return this.fileName; }\n\n setURL( url ) { this.url = url; return this; }\n getURL() { return this.url; }\n\n setRequiresDirectURL( value ) { this.requiresDirectURL = value; return this; }\n getRequiresDirectURL() { return this.requiresDirectURL; }\n\n setType( type ) { this.type = type; return this; }\n getType() { return this.type; }\n hasType( id ) { return this.type === id; }\n\n setFileSize( size ) { this.fileSize = size; return this; }\n getFileSize() { return this.fileSize; }\n\n // Parses this media type from the given JSON object\n parseFromJSON( json ) {\n // not implemented...\n if( json && json.idName && json.filename && json.contentId ) {\n // Seems to be a datatype from the CMS...\n this.setID( json.idName );\n this.setFileName( json.filename );\n this.setContentID( json.contentId );\n this.setFileSize( json.expected_file_size );\n } else {\n // Unknown datatype...\n console.error(\"Trying to parse unknown filetype for \" + json);\n }\n }\n\n createFromJSON() {\n\n }\n\n toJSON() {\n return {\n id: this.id,\n contentID: this.contentID,\n fileName: this.fileName,\n url: this.url,\n fileSize: this.fileSize,\n type: this.type\n }\n }\n}\n\nMedia.MediaType = Object.freeze({\n Texture: 1001,\n Video: 1002,\n VideoList: 3000,\n Audio: 1003,\n Text: 1004,\n Model3D: 0,\n WebsiteURL: 1008,\n PDF: 1009,\n Prefab: 30000\n })\n\nclass Texture extends Media\n{\n get defaultTransitionTextureID() { return -1; }\n \n constructor({ \n id = -1,\n fileName = undefined,\n url = undefined,\n isReadable = false,\n contentID = undefined,\n mipmapping = true,\n linearColorSpace = false,\n filterMode = \"BiLinear\",\n ansioLevel = 1,\n alphaIsTransparency = false,\n fileSize = 0,\n width = undefined,\n height = undefined,\n texture = undefined\n } = {}) {\n super( { id, fileName, url, contentID, fileSize });\n this.setType( Media.MediaType.Texture );\n Object.assign( this, { isReadable, mipmapping, linearColorSpace, filterMode, ansioLevel, alphaIsTransparency, width, height, texture } );\n }\n\n setIsReadable( value ) { this.isReadable = value; return this; }\n getIsReadable() { return this.isReadable; }\n\n setMipmapping( value ) { this.mipmapping = value; return this; }\n getMipmapping() { return this.mipmapping; }\n\n setLinearColorSpace( value ) { this.linearColorSpace = value; return this; }\n getLinearColorSpace() { return this.linearColorSpace; }\n\n setFilterMode( value ) { this.filterMode = value; return this; }\n getFilterMode() { return this.filterMode; }\n\n setAnsioLevel( value ) { this.ansioLevel = value; return this; }\n getAnsioLevel() { return this.ansioLevel; }\n\n setAlphaIsTransparency( value ) { this.alphaIsTransparency = value; return this; }\n getAlphaIsTransparency() { return this.alphaIsTransparency; }\n\n setTexture( texture ) { this.texture = texture; return this; }\n getTexture() { return this.texture; }\n\n setSize( width, height ) { this.width = width; this.height = height; return this; }\n setWidth( width ) { this.width = width; return this; }\n getWidth() { return this.width; }\n\n setHeight( height ) { this.height = height; return this; }\n getHeight() { return this.height; }\n\n parseFromJSON( json ) {\n // not implemented...\n if( json && json.type === Media.MediaType.Texture ) {\n super.parseFromJSON( json );\n\n // Seems to be a datatype from the CMS...\n this.setIsReadable( json.isReadable );\n this.setMipmapping( json.mipmapping );\n this.setLinearColorSpace( json.linearColorSpace );\n this.setFilterMode( json.filterMode );\n this.setAnsioLevel( json.ansioLevel );\n this.setAlphaIsTransparency( json.alphaIsTransparency );\n //this.setRequiresDirectURL( true );\n } else {\n // Unknown datatype...\n console.error(\"Trying to parse unknown filetype into texture\");\n }\n return this;\n }\n\n createFromJSON( json ) {\n return new Texture().parseFromJSON( json );\n }\n\n toJSON() {\n var rv = super.toJSON();\n rv.isReadable = this.isReadable;\n rv.mipmapping = this.mipmapping;\n rv.linearColorSpace = this.linearColorSpace;\n rv.filterMode = this.filterMode;\n rv.ansioLevel = this.ansioLevel;\n rv.alphaIsTransparency = this.alphaIsTransparency; \n rv.width = this.width;\n rv.height = this.height;\n return rv;\n }\n}\n\n\nclass Audio extends Media\n{\n constructor({ \n id = -1,\n fileName = undefined,\n url = undefined,\n contentID = undefined,\n isThreeD = false,\n isStream = false,\n fileSize = 0\n } = {}) {\n super( { id, fileName, url, contentID, fileSize} );\n this.setType( Media.MediaType.Audio );\n Object.assign( this, { isThreeD, isStream } );\n }\n\n setIsThreeD( value ) { this.isThreeD = value; return this; }\n getIsThreed() { return this.isThreeD; }\n\n setStream( value ) { this.isStream = value; return this; }\n getStream() { return this.isStream; } \n\n parseFromJSON( json ) {\n if( json && json.type === Media.MediaType.Audio ) {\n super.parseFromJSON( json );\n\n // Seems to be a datatype from the CMS...\n this.setIsThreeD( json.isThreeD );\n this.setStream( json.isStream );\n this.setRequiresDirectURL( true );\n } else {\n // Unknown datatype...\n console.error(\"Trying to parse unknown filetype\");\n }\n return this;\n }\n\n createFromJSON( json ) {\n return new Audio().parseFromJSON( json );\n }\n \n toJSON() {\n var rv = super.toJSON();\n rv.isThreeD = this.isThreeD;\n rv.isStream = this.isStream;\n return rv;\n }\n}\n\nclass Video extends Media\n{\n constructor({ \n id = -1,\n fileName = undefined,\n url = undefined,\n contentID = undefined,\n width = undefined,\n height = undefined,\n fileSize = 0\n } = {}) {\n super( { id, fileName, url, contentID, fileSize });\n this.setType( Media.MediaType.Video );\n Object.assign( this, { width, height } );\n }\n\n setSize( width, height ) { this.width = width; this.height = height; return this; }\n setWidth( width ) { this.width = width; return this; }\n getWidth() { return this.width; }\n\n setHeight( height ) { this.height = height; return this; }\n getHeight() { return this.height; }\n\n parseFromJSON( json ) {\n // not implemented...\n if( json && json.type === Media.MediaType.Video ) {\n super.parseFromJSON( json );\n\n // Seems to be a datatype from the CMS...\n this.setWidth( json.width );\n this.setHeight( json.height );\n this.setRequiresDirectURL( true );\n } else {\n // Unknown datatype...\n console.error(\"Trying to parse unknown filetype\");\n }\n return this;\n }\n\n createFromJSON( json ) {\n return new Video().parseFromJSON( json );\n }\n \n\n toJSON() {\n var rv = super.toJSON();\n rv.width = this.width;\n rv.height = this.height;\n return rv;\n }\n}\n\nclass VideoList extends Media\n{\n constructor({ \n id = -1,\n fileName = undefined,\n url = undefined,\n contentID = undefined,\n width = undefined,\n height = undefined,\n fileSize = 0\n } = {}) {\n super( { id, fileName, url, contentID, fileSize });\n this.setType( Media.MediaType.Video );\n Object.assign( this, { width, height } );\n }\n\n setSize( width, height ) { this.width = width; this.height = height; return this; }\n setWidth( width ) { this.width = width; return this; }\n getWidth() { return this.width; }\n\n setHeight( height ) { this.height = height; return this; }\n getHeight() { return this.height; }\n\n parseFromJSON( json ) {\n // not implemented...\n if( json && json.type === Media.MediaType.Video ) {\n super.parseFromJSON( json );\n\n // Seems to be a datatype from the CMS...\n this.setWidth( json.width );\n this.setHeight( json.height );\n this.setRequiresDirectURL( true );\n } else {\n // Unknown datatype...\n console.error(\"Trying to parse unknown filetype\");\n }\n return this;\n }\n\n createFromJSON( json ) {\n return new Video().parseFromJSON( json );\n }\n \n toJSON() {\n var rv = super.toJSON();\n rv.width = this.width;\n rv.height = this.height;\n return rv;\n }\n}\n\nclass Model3D extends Media\n{\n constructor({ \n id = -1,\n fileName = undefined,\n url = undefined,\n contentID = undefined,\n fileSize = 0\n } = {}) {\n super( { id, fileName, url, contentID, fileSize} );\n this.setType( Media.MediaType.Model3D );\n Object.assign( this, { } );\n }\n\n parseFromJSON( json ) {\n if( json && json.type === Media.MediaType.Model3D ) {\n super.parseFromJSON( json );\n\n // Seems to be a datatype from the CMS...\n this.setRequiresDirectURL( true );\n } else {\n // Unknown datatype...\n console.error(\"Trying to parse unknown filetype\");\n }\n return this;\n }\n\n createFromJSON( json ) {\n return new Model3D().parseFromJSON( json );\n }\n \n toJSON() {\n var rv = super.toJSON();\n return rv;\n }\n}\n\n\nexport { Media, Texture, Audio, Video, VideoList, Model3D}","import {Audio, Video, Texture ,Model3D} from '@/store/flux360/MediaManagerDataTypes';\n\nclass MediaManager \n{\n get defaultTransitionTextureID() { return -1; }\n \n constructor() {\n this.media = [];\n this.supportedMediaTypes = new Map();\n this.oCanvas = document.createElement('canvas');\n this.oCanvas.height = 83;\n this.oCanvas.width = 83; \n }\n\n clear() {\n this.media = [];\n }\n\n registerMediaType( media ) {\n if( media.getType ) {\n this.supportedMediaTypes.set( media.getType(), media );\n }\n }\n\n hasMedia( id ) { return this.media.find( x => x.getID() === id ) != undefined; }\n getMedia( id ) { return this.media.find( x => x.getID() === id ); }\n addMedia( media ) {\n this.media.push( media );\n return this;\n }\n\n hasMediaWithType( id, type ) { return this.hasMedia( id ) && this.getMedia( id ).hasType( type ); }\n\n // Go through the content and resolve the content\n // using the CMS...\n resolveContent( fluxCMS, contentIDs = undefined ) {\n console.log(\"MediaManager::resolveContent\");\n // Iterate through all media...\n var retrievals = [];\n var updateURL = media => \n { \n if( contentIDs )\n if( !contentIDs.includes( media.getContentID() ) )\n return;\n \n if( !media.getURL() ) {\n if( !media.getRequiresDirectURL() ) {\n media.setURL( fluxCMS.getRawContentFileURL( media.getContentID() ) );\n } else {\n retrievals.push(fluxCMS.getRawContentFileURLURL( media.getContentID() )\n .then( url => media.setURL( url ))\n .catch( () => media.setURL( fluxCMS.getRawContentFileURL( media.getContentID() ) ))\n )\n }\n }\n }\n\n this.media.forEach( updateURL );\n return Promise.all(retrievals).then( () => console.log(\"All direct URLS resolved\") );\n }\n\n summary() {\n return `\n MediaManager\n ::::::::::::\n Medien: ${this.media.size}\n `;\n }\n\n toJSON() {\n return {\n media: this.media.map( x => x.toJSON() ),\n }\n }\n\n createFromJSON( json ) {\n if( json && json.type || json.type == 0) {\n if( this.supportedMediaTypes.has( json.type ) ) \n return this.supportedMediaTypes.get( json.type ).createFromJSON( json );\n } else {\n // Unknown datatype...\n console.error(\"Trying to parse unknown filetype: \" + json.type + \" in \" + json);\n }\n }\n\n getUserAvatar( user ){\n console.log(\"MediaManager getUserAvatar!! \" + user.getColor() + \" \" + user.getAcronym());\n var context = this.oCanvas.getContext(\"2d\");\n let color = \"\" + user.getColor();\n color = color.replace(\"0x\", \"#\");\n context.fillStyle = color;\n context.fillRect(0, 0, 83, 83);\n context.fillStyle= \"white\";\n context.font = '40px roboto, sans-serif';\n context.textAlign = 'center'; \n context.fillText(user.getAcronym(), 41 ,57, 76);\n \n // no argument defaults to image/png; image/jpeg, etc also work on some\n // implementations -- image/png is the only one that must be supported per spec.\n let url = this.oCanvas.toDataURL(\"image/png\");\n\n //only set value if it is valid\n if( user.getAcronym()!= undefined && user.getColor()!= undefined){\n user.setUserIcon(url);\n }\n return url;\n }\n}\n\nconst instance = new MediaManager();\nObject.freeze(instance);\n\ninstance.registerMediaType( new Audio() );\ninstance.registerMediaType( new Video() );\ninstance.registerMediaType( new Texture() );\ninstance.registerMediaType( new Model3D() );\n\nexport default instance;\n","import * as BABYLON from 'babylonjs';\nimport BasicComponent from './BasicComponent';\nimport MediaManager from '@/api/MediaManager';\nimport { RuntimeState } from \"@/store/flux360/PrefabDataTypes\";\n\nclass Audio extends BasicComponent {\n getType() { return \"Audio\"; }\n\n constructor( { id } = {} ) {\n super( { id });\n this.prefab = undefined,\n this.context = undefined,\n this.audio = undefined,\n this.volume = undefined\n }\n\n construct( context, prefab ) {\n this.context = context;\n const base = super.construct( context, prefab ).getRootNode();\n\n console.log(\"Getting Audio for \" + prefab.getAudioID() );\n var audioFile = MediaManager.getMedia(prefab.getAudioID());\n console.log(\"audioFile.fileName: \" + audioFile.fileName + \"url: \" + audioFile.getURL());\n \n var name = \"Audio_\"+audioFile.getID();\n\n var myVolume = parseFloat(prefab.getVolumeScale()) / 100;\n \n // var myAudio = new BABYLON.Sound(name, audioFile.getURL(), window.scene, prefab.getAutoplay()? function() {if(myAudio.isInCurrentRoom)\n // Sound has been downloaded & decoded\n // myAudio.play();} :null, {\n var myAudio = new BABYLON.Sound(name, audioFile.getURL(), window.scene, prefab.getAutoplay()? function() {myAudio.play();} :null, {\n loop: prefab.getLooping(),\n autoplay: false,\n volume: myVolume,\n skipCodecCheck: true \n });\n myAudio.play_on_entering = true; //prefab.getAutoplay();\n \n this.audio = myAudio;\n this.prefab = prefab;\n myAudio.parent = base;\n return base;\n }\n\n getLength(){\n return this.audio.getAudioBuffer().duration;\n }\n \n pause(){\n console.log(\"Audio - pause\");\n super.pause(); \n this.audio.pause();\n this.prefab.runtimeState.pauseType=RuntimeState.PauseType.Explicit;\n }\n\n play(){\n console.log(\"Audio - play\");\n super.play();\n if(!this.audio.isPlaying){\n this.audio.play();\n }\n this.prefab.runtimeState.duration = this.audio.getAudioBuffer().duration;\n this.prefab.runtimeState.pauseType=RuntimeState.PauseType.Implicit;\n }\n\n reset(){\n super.reset();\n console.log(\"Audio - reset\");\n //this.audio.updateOptions({offset:0.0});\n }\n\n mute(){\n super.mute();\n console.log(\"Audio -Mute\");\n \n this.volume = this.audio.getVolume();\n console.log(\"Volume was: \" + this.volume);\n this.audio.setVolume(0);\n }\n\n unmute(){\n super.unmute();\n console.log(\"Audio - UnMute\");\n if(this.volume){\n this.audio.setVolume(this.volume);\n }\n else\n this.audio.setVolume(1);\n }\n\n jumpToTimePosition(timeToJumpTo){\n super.jumpToTimePosition(timeToJumpTo); \n this.audio.getAudioBuffer().currentTime = timeToJumpTo;\n }\n\n disable(){\n super.disable();\n this.audio.pause();\n }\n\n enable(){ \n super.enable();\n console.log(\"Audio - Enable\"); \n if(this.prefab && this.prefab.runtimeState && this.prefab.runtimeState.pauseType!=RuntimeState.PauseType.Explicit){\n this.audio.play();\n }\n //if(this.audio.play_on_entering === true){\n // this.audio.play();\n //}\n }\n\n update () {\n if( (this.audio.isPaused() != this.prefab.runtimeState.paused) || \n (this.audio.getVolume()===0 != this.prefab.runtimeState.muted) ||\n (this.audio.isPlaying() != this.prefab.runtimeStae.playing) ||\n (this.audio.getAudioBuffer().duration != this.prefab.runtimeStae.duration) ){\n window.scene.$store.commit('updateRuntimeState',{id:this.prefab.getID(), paused:this.audio.isPaused(), \n playing:this.prefab.runtimeStae.playing, muted:(this.audio.getVolume()===0), duration:this.audio.getAudioBuffer().duration}); \n }\n }\n}\n\nexport default Audio;\n","import * as BABYLON from 'babylonjs';\nimport BasicComponent from './BasicComponent';\nimport MediaManager from '@/api/MediaManager';\n\nclass VisualComponent extends BasicComponent {\n getType() { return \"VisualComponent\"; }\n\n constructor( { id } = {} ) {\n super( { id });\n\n this.material = null;\n this.texture = null;\n this.mesh = null;\n this.scene = null;\n this.scaleFactor = 1;\n }\n\n setScaleFactor( value ){\n this.scaleFactor = value;\n }\n\n construct( context, prefab ) {\n // Base\n const base = super.construct( context, prefab ).getRootNode();\n base.position = prefab.getPosition();\n if((prefab.getRotationX() && prefab.getRotationX() != 0) || (prefab.getRotationY() && prefab.getRotationY() != 0) || (prefab.getRotationZ() && prefab.getRotationZ() != 0)){\n base.rotation = new BABYLON.Vector3(prefab.getRotationX()* Math.PI / 180, prefab.getRotationY()* Math.PI / 180, prefab.getRotationZ()* Math.PI / 180);\n }else{\n base.lookAt(new BABYLON.Vector3(0,0,0));\n }\n\n this.scene = window.scene;\n \n if(!prefab.getIconID())\n return undefined;\n \n // Texture (Creat texture out of Bitmap that was loaded inside preloadSituation() in PanoramaScene.vue)\n this.texture = MediaManager.getMedia(prefab.getIconID());\n let texture = BABYLON.RawTexture.CreateRGBATexture(this.texture.blob, this.texture.blob.width, this.texture.blob.height, window.scene, true, true, BABYLON.Texture.TRILINEAR_SAMPLINGMODE);\n texture.wrapU = texture.wrapV = BABYLON.Constants.WRAP_ADDRESSMODE;\n texture.uScale = texture.uScale = texture.vScale = texture.vScale = -1;\n texture.name = this.texture.id;\n\n // Material\n this.material = new BABYLON.StandardMaterial(\"VisualComponentImage_\" + prefab.getIconID() + \"_material\", this.scene);\n this.material.disableLighting = true; \n this.material.emissiveTexture = this.material.opacityTexture = texture;\n\n // Mesh\n this.mesh = BABYLON.MeshBuilder.CreatePlane(\"VisualComponentImage_\" + prefab.getIconID(), { \n width: this.texture.getWidth() * prefab.getScale() * this.scaleFactor, \n height: this.texture.getHeight() * prefab.getScale() *this.scaleFactor,\n sideOrientation: BABYLON.Mesh.DOUBLESIDE \n }, window.scene);\n this.mesh.parent = base;\n this.mesh.material = this.material;\n\n return base;\n }\n}\n\nexport default VisualComponent;\n\n","//import * as BABYLON from 'babylonjs';\nimport VisualComponent from './VisualComponent';\n//import MediaManager from '@/api/MediaManager';\n\nclass Image extends VisualComponent {\n getType() { return \"Image\"; }\n\n constructor( { id } = {} ) {\n super( { id });\n }\n\n construct( context, prefab ) {\n const base = super.construct( context, prefab );\n\n //console.log(\"Image construct...\");\n return base;\n }\n \n\n}\n\nexport default Image;\n\n","import * as BABYLON from 'babylonjs';\nimport BasicComponent from './BasicComponent';\nimport MediaManager from '@/api/MediaManager';\n\nclass ImageSphere extends BasicComponent {\n getType() { return \"Image\"; }\n\n constructor( { id } = {} ) {\n super( { id });\n }\n\n construct( context, prefab ) {\n const base = super.construct( context, prefab ).getRootNode();\n\n // Texture\n const panoramaPhotoMedia = MediaManager.getMedia(prefab.getSphereImageID());\n let photoDomeTexture = BABYLON.RawTexture.CreateRGBATexture(panoramaPhotoMedia.blob, panoramaPhotoMedia.blob.width, panoramaPhotoMedia.blob.height, window.scene, true, true, BABYLON.Engine.TEXTUREFORMAT_RGBA);\n photoDomeTexture.wrapU = photoDomeTexture.wrapV = BABYLON.Constants.WRAP_ADDRESSMODE;\n photoDomeTexture.name = panoramaPhotoMedia.id;\n\n // PhotoDome\n window.scene.domeSize = 4000;\n const photoDome = new BABYLON.PhotoDome(\"SituationImage_\"+ prefab.getSphereImageID(), \"\", { \n resolution:32,\n faceForward: false,\n size: window.scene.domeSize \n }, window.scene);\n photoDome.photoTexture = photoDomeTexture;\n photoDome.parent = base;\n\n return base;\n }\n}\n\nexport default ImageSphere;","import * as BABYLON from 'babylonjs';\n\nclass MaterialManager\n{\n constructor() {\n this.materials = new Map();\n this.scene = undefined;\n this.time = 0;\n }\n \n\n initialize( scene ) {\n this.scene = scene;\n this.registerMaterial( \"info\", this.createInfo2Material());\n }\n\n update() {\n this.materials.get(\"info\").setFloat(\"time\", this.time);\n this.time += 0.02;\n }\n\n registerMaterial( name, material ) {\n this.materials.set( name, material );\n }\n\n get( name ) {\n if( this.materials.has( name )){\n return this.materials.get( name );\n }\n return undefined;\n }\n \n createInfoMaterial() {\n BABYLON.Effect.ShadersStore[\"infoVertexShader\"]=\n \"precision highp float;\\r\\n\"+\n \"precision highp int;\\r\\n\"+\n\n \"uniform mat4 worldViewProjection;\\r\\n\"+\n\n \"attribute vec3 position;\\r\\n\"+\n \"attribute vec2 uv;\\r\\n\"+\n\n \"varying vec2 vUV;\\r\\n\"+\n\n \"void main() {\\r\\n\"+\n\n \" vUV = uv;\\r\\n\"+\n \" gl_Position = worldViewProjection * vec4( position, 1.0 );\\r\\n\"+\n\n \"}\\r\\n\";\n\n BABYLON.Effect.ShadersStore[\"infoFragmentShader\"]= \n \"precision highp float;\\r\\n\"+\n \"precision highp int;\\r\\n\"+\n\n \"varying vec2 vUV;\\r\\n\"+\n \"uniform float time;\\r\\n\"+\n\n \"const float F3 = 0.3333333;\\r\\n\"+\n \"const float G3 = 0.1666667;\\r\\n\"+\n\n \"const float waverSpeed = 0.47451395;\\r\\n\"+\n \"const float turbulence = 2.6210;\\r\\n\"+\n \"const float flashSpeed = 0.0;\\r\\n\"+\n \"const float electricitySpeed = 0.271695;\\r\\n\"+\n \"const float contrast = 19.07;\\r\\n\"+\n \"const float thickness = 0.8;\\r\\n\"+\n \"const float phaseSpeed = 10.0;\\r\\n\"+\n\n \"const vec3 color = vec3(100.0, 0.0, 0.0);\\r\\n\"+\n\n \"vec3 random3(vec3 c) {\\r\\n\"+\n \" float j = 4096.0*sin(dot(c,vec3(17.0, 59.4, 15.0)));\\r\\n\"+\n \" vec3 r;\\r\\n\"+\n \" r.z = fract(512.0*j);\\r\\n\"+\n \" j *= .125;\\r\\n\"+\n \" r.x = fract(512.0*j);\\r\\n\"+\n \" j *= .125;\\r\\n\"+\n \" r.y = fract(512.0*j);\\r\\n\"+\n \" return r-0.5;\\r\\n\"+\n \"}\\r\\n\"+\n\n \"float simplex3d(vec3 p) {\\r\\n\"+\n \" vec3 s = floor(p + dot(p, vec3(F3)));\\r\\n\"+\n \" vec3 x = p - s + dot(s, vec3(G3));\\r\\n\"+\n \" vec3 e = step(vec3(0.0), x - x.yzx);\\r\\n\"+\n \" vec3 i1 = e*(1.0 - e.zxy);\\r\\n\"+\n \" vec3 i2 = 1.0 - e.zxy*(1.0 - e);\\r\\n\"+\n \" vec3 x1 = x - i1 + G3;\\r\\n\"+\n \" vec3 x2 = x - i2 + 2.0*G3;\\r\\n\"+\n \" vec3 x3 = x - 1.0 + 3.0*G3;\\r\\n\"+\n \" vec4 w, d;\\r\\n\"+\n \" w.x = dot(x, x);\\r\\n\"+\n \" w.y = dot(x1, x1);\\r\\n\"+\n \" w.z = dot(x2, x2);\\r\\n\"+\n \" w.w = dot(x3, x3);\\r\\n\"+\n \" w = max(0.6 - w, 0.0);\\r\\n\"+\n \" d.x = dot(random3(s), x);\\r\\n\"+\n \" d.y = dot(random3(s + i1), x1);\\r\\n\"+\n \" d.z = dot(random3(s + i2), x2);\\r\\n\"+\n \" d.w = dot(random3(s + 1.0), x3);\\r\\n\"+\n \" w *= w;\\r\\n\"+\n \" w *= w;\\r\\n\"+\n \" d *= w;\\r\\n\"+\n\n \" return dot(d, vec4(52.0));\\r\\n\"+\n \"}\\r\\n\"+\n\n \"// Add or remove octaves for more granular noise\\r\\n\"+\n \"float noise(vec3 m) {\\r\\n\"+\n \" return 0.5333333 * simplex3d( m )\\r\\n\"+\n \" + 0.2666667 * simplex3d( 2.0 * m )\\r\\n\"+\n \" + 0.1333333 * simplex3d( 4.0 * m )\\r\\n\"+\n \" + 0.0666667 * simplex3d( 8.0 * m );\\r\\n\"+\n \"}\\r\\n\"+\n\n \"void main(void) {\\r\\n\"+\n \" vec2 uvScaled = vUV.xy * 2.0 - 1.0;\\r\\n\"+\n \" uvScaled.y += waverSpeed * 4.0 * ( -0.5 + mod( time * waverSpeed, 1.0 ) );\\r\\n\"+\n \" vec3 p3 = vec3( vUV.xy * turbulence, time * electricitySpeed );\\r\\n\"+\n\n \" float simplexNoise = noise( vec3( p3 * 12.0 + 12.0 ) );\\r\\n\"+\n\n \" float t = clamp( ( uvScaled.x * -uvScaled.x * 0.16 ) + 0.15, 0.0, 1.0 );\\r\\n\"+\n \" float y = abs( simplexNoise * -t + uvScaled.y ) * ( 0.6 + sin( time * flashSpeed ) );\\r\\n\"+\n\n \" float g = pow( y, thickness );\\r\\n\"+\n\n \" float pixel = pow(1.0 - g, contrast);\\r\\n\"+\n \" float alpha = round(pixel + 0.4);\\r\\n\"+\n \" gl_FragColor = vec4( pixel * color, alpha );\\r\\n\"+\n \"}\\r\\n\";\t\n\n let shaderMaterial = new BABYLON.ShaderMaterial(\"shader\", this.scene, {\n vertex: \"info\",\n fragment: \"info\",\n },\n {\n attributes: [\"position\", \"normal\", \"uv\"],\n uniforms: [\"world\", \"worldView\", \"worldViewProjection\", \"view\", \"projection\"],\n needAlphaBlending: true\n });\t\n shaderMaterial.setFloat(\"time\", 0);\n shaderMaterial.setVector3(\"cameraPosition\", BABYLON.Vector3.Zero());\n shaderMaterial.backFaceCulling = false;\n\n return shaderMaterial;\t\t\t\n }\n\n createInfo2Material() {\n BABYLON.Effect.ShadersStore[\"info2VertexShader\"]=\n \"precision highp float;\\r\\n\"+\n \"precision highp int;\\r\\n\"+\n\n \"uniform mat4 worldViewProjection;\\r\\n\"+\n\n \"attribute vec3 position;\\r\\n\"+\n \"attribute vec2 uv;\\r\\n\"+\n\n \"varying vec2 vUV;\\r\\n\"+\n\n \"void main() {\\r\\n\"+\n\n \" vUV = uv;\\r\\n\"+\n \" gl_Position = worldViewProjection * vec4( position, 1.0 );\\r\\n\"+\n\n \"}\\r\\n\";\n\n BABYLON.Effect.ShadersStore[\"info2FragmentShader\"]= \n \"precision mediump float;\\r\\n\"+\n \"uniform float time;\\r\\n\"+\n \"varying vec2 vUV;\\r\\n\"+\n \"void main( void ) {\\r\\n\"+\n //\" vec2 position = ( gl_FragCoord.xy );\\r\\n\"+ \n \" vec2 uvScaled = vUV.xy * 100.0 - 50.0;\\r\\n\"+ \n \" vec2 position = ( uvScaled.xy );\\r\\n\"+ \n \" float color = 0.0;\\r\\n\"+\n \" float alpha = max( 1.0 - 4.0 * sqrt((vUV.x-0.5)*(vUV.x-0.5) + (vUV.y-0.5)*(vUV.y-0.5)), 0.0);\\r\\n\"+\n \" for(float i = 0.0; i < 1.0; i++){\\r\\n\"+\n \" float v = 10.0;\\r\\n\"+\n \" float dx1 = pow(position.x,2.0);\\r\\n\"+\n \" float dy1 = pow(position.y,2.0);\\r\\n\"+\n \" float r1 = sqrt(dx1+dy1);\\r\\n\"+\n \" color += sin( r1 * 0.3 - time*v);\\r\\n\"+\n \" }\\r\\n\"+\n \" gl_FragColor = vec4( vec3( color, color, color), alpha * color );\\r\\n\"+\n \"}\\r\\n\";\t\n\n let shaderMaterial = new BABYLON.ShaderMaterial(\"shader\", this.scene, {\n vertex: \"info2\",\n fragment: \"info2\",\n },\n {\n attributes: [\"position\", \"normal\", \"uv\"],\n uniforms: [\"world\", \"worldView\", \"worldViewProjection\", \"view\", \"projection\"],\n needAlphaBlending: true\n });\t\n shaderMaterial.setFloat(\"time\", 0);\n shaderMaterial.setVector3(\"cameraPosition\", BABYLON.Vector3.Zero());\n shaderMaterial.backFaceCulling = false;\n\n return shaderMaterial;\t\t\t\n } \n}\n\nconst instance = new MaterialManager();\n//Object.freeze(instance);\n\nexport default instance;\n","import * as BABYLON from 'babylonjs';\nimport BasicComponent from './BasicComponent';\nimport MaterialManager from \"@/components/babylonjs/Materials\";\n\nclass NotifyPosition extends BasicComponent {\n getType() { return \"NotifyPosition\"; }\n\n constructor( { id } = {} ) {\n super( { id });\n\n this.event = null;\n this.material = null;\n this.texture = null;\n this.mesh = null;\n this.scene = null;\n this.scaleFactor = 1; \n }\n\n construct( context, event ) {\n this.scene = window.scene;\n this.event = event;\n this.setID( event.getID() );\n\n const base = new BABYLON.TransformNode(event.getID(), window.scene);\n this.setRootNode(base);\n base.rotation = BABYLON.Vector3.Zero(); //rotation;\n base.billboardMode = BABYLON.Mesh.BILLBOARDMODE_ALL;\n\n if (event.getPosition()) {\n base.position = event.getPosition(); //BABYLON.Vector3.Lerp( event.getPosition(), this.scene.activeCamera.position, 0.1 );\n } else {\n base.position = base.absolutePosition;\n event.setPosition(event.position);\n }\n\n const name = \"Event_\" + event.getID();\n this.mesh = BABYLON.MeshBuilder.CreatePlane(name,{\n width: 15,\n height: 15,\n sideOrientation: BABYLON.Mesh.DOUBLESIDE\n }, window.scene);\n this.mesh.renderingGroupId = 3;\n this.mesh.isPickable = false; // Disable picking, otherwise we could click on Notifications... Gives nice effect but unintended\n this.material = MaterialManager.get(\"info\");\n this.mesh.material = this.material;\n this.mesh.parent = base;\n\n let audio = new Audio(require('@/assets/sounds/ripple.mp3'));\n audio.play();\n\n return this;\n }\n}\n\nexport default NotifyPosition;\n","import * as BABYLON from 'babylonjs';\nimport BasicComponent from './BasicComponent';\nimport MediaManager from '@/api/MediaManager';\nimport * as GUI from 'babylonjs-gui';\n\nclass Text extends BasicComponent {\n getType() { return \"Text\"; }\n\n constructor( { id } = {} ) {\n super( { id });\n\n this.open = false;\n }\n\n construct( context, prefab ) {\n console.log(\"Text construct...\");\n\n let self = this;\n \n let displayPreviewText = prefab.getPreviewText() ? prefab.getPreviewText().length > 0: false;\n\n let width = 15 * prefab.getScale();\n let height = 15 * prefab.getScale();\n\n const base = super.construct( context, prefab ).getRootNode();\n base.position = prefab.getPosition();\n let cameraX = window.scene.getCameraByName(\"MainCamera\");\n let posCamera = cameraX.position;\n base.lookAt(posCamera);\n \n let textGUI = BABYLON.MeshBuilder.CreatePlane(\"\", { \n width: 180,\n height: 180,\n sideOrientation: BABYLON.Mesh.DOUBLESIDE \n }, window.scene);\n\n textGUI.parent = base;\n textGUI.isPickable = false;\n textGUI.renderingGroupId = 1;\n textGUI.rotation.y = Math.PI;\n textGUI.position.y = -90-7*prefab.getScale();\n\n // GUI\n var advancedTexture = GUI.AdvancedDynamicTexture.CreateForMesh(textGUI);\t\n\n // Rectangle\n var rect = new GUI.Rectangle();\n rect.verticalAlignment = GUI.Control.VERTICAL_ALIGNMENT_TOP;\n rect.adaptWidthToChildren = true;\n rect.adaptHeightToChildren = true;\n rect.cornerRadius = 20;\n rect.background = \"white\";\n rect.alpha = 0.9;\n rect.width = \"90%\";\n advancedTexture.addControl(rect);\n\n // Text ontop of Rectanble\n var text = new GUI.TextBlock();\n text.text = prefab.displayedText;\n text.fontSize = \"26pt\";\n text.color = \"black\";\n text.lineSpacing = 2;\n text.textHorizontalAlignment = GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;\n text.textVerticalAlignment = GUI.Control.VERTICAL_ALIGNMENT_TOP;\n text.textWrapping = GUI.TextWrapping.WordWrap;\n text.resizeToFit = true;\n text.paddingTop = 20;\n text.paddingLeft = 20;\n text.paddingRight = 20;\n text.paddingBottom = 20;\n \n rect.addControl(text);\n\n if(prefab.displayOnClick == \"true\"){\n\n let previewTextGui;\n if(displayPreviewText){\n previewTextGui = BABYLON.MeshBuilder.CreatePlane(\"\", { \n width: 180,\n height: 180,\n sideOrientation: BABYLON.Mesh.DOUBLESIDE \n }, window.scene);\n\n previewTextGui.parent = base;\n previewTextGui.isPickable = false;\n previewTextGui.renderingGroupId = 1;\n previewTextGui.position.y = 5 + 5*prefab.getScale();\n previewTextGui.rotation.y = Math.PI;\n previewTextGui.visibility = 0;\n \n var advancedTexture = GUI.AdvancedDynamicTexture.CreateForMesh(previewTextGui);\n \n var text = new GUI.TextBlock();\n text.text = prefab.getPreviewText();\n text.fontSize = \"35pt\";\n text.color = \"White\";\n text.lineSpacing = 2;\n text.textHorizontalAlignment = GUI.Control.HORIZONTAL_ALIGNMENT_CENTER;\n text.textVerticalAlignment = GUI.Control.VERTICAL_ALIGNMENT_TOP;\n text.resizeToFit = true;\n advancedTexture.addControl(text);\n }\n\n textGUI.visibility = 0;\n\n // Texture\n let iconMedia = MediaManager.getMedia(prefab.getIconID());\n let buttonTexture = BABYLON.RawTexture.CreateRGBATexture(iconMedia.blob, iconMedia.blob.width, iconMedia.blob.height, window.scene, true, true, BABYLON.Engine.TEXTUREFORMAT_RGBA);\n buttonTexture.wrapU = buttonTexture.wrapV = BABYLON.Constants.WRAP_ADDRESSMODE;\n buttonTexture.name = iconMedia.id;\n\n // Material\n let buttonMaterial = new BABYLON.StandardMaterial(\"\", window.scene);\n buttonMaterial.disableLighting = true; \n buttonMaterial.opacityTexture = buttonMaterial.emissiveTexture = buttonTexture;\n\n //Button - OnHover Open Text\n let button = BABYLON.MeshBuilder.CreatePlane(\"\", { \n width: width,\n height: height,\n sideOrientation: BABYLON.Mesh.DOUBLESIDE \n }, window.scene);\n button.parent = base;\n button.rotation.y = Math.PI;\n button.rotation.z = Math.PI;\n button.renderingGroupId = 2;\n button.material = buttonMaterial;\n \n var ease = new BABYLON.CubicEase();\n ease.setEasingMode(BABYLON.EasingFunction.EASINGMODE_EASEINOUT);\n \n button.actionManager = new BABYLON.ActionManager(window.scene);\n button.actionManager.hoverCursor = \"pointer\";\n button.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPickTrigger, function(){ \n self.open = !self.open;\n if(self.open){\n BABYLON.Animation.CreateAndStartAnimation(\"\", textGUI, \"visibility\", 30,10, 0, 1, 0, ease);\n }else{\n BABYLON.Animation.CreateAndStartAnimation(\"\", button, \"scaling\", 30,10, button.scaling, new BABYLON.Vector3.One(), 0, ease);\n BABYLON.Animation.CreateAndStartAnimation(\"\", textGUI, \"visibility\", 30,10, 1, 0, 0, ease);\n }\n \n window.dispatchEvent(new CustomEvent(\"closeAllTextElements\",{detail:{this: self}}));\n }));\n\n button.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOutTrigger, function(){ \n if(!self.open){\n BABYLON.Animation.CreateAndStartAnimation(\"\", button, \"scaling\", 30,10, button.scaling, new BABYLON.Vector3.One(), 0, ease);\n if(displayPreviewText)\n BABYLON.Animation.CreateAndStartAnimation(\"\", previewTextGui, \"visibility\", 30,10, previewTextGui.visibility, 0, 0, ease);\n }\n \n }));\n\n button.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOverTrigger, function(){\n if(!self.open){\n BABYLON.Animation.CreateAndStartAnimation(\"\", button, \"scaling\", 30,10, new BABYLON.Vector3.One(), new BABYLON.Vector3.One().scale(1.2), 0,ease);\n if(displayPreviewText)\n BABYLON.Animation.CreateAndStartAnimation(\"\", previewTextGui, \"visibility\", 30,10, previewTextGui.visibility, 1, 0, ease);\n }\n \n }));\n\n window.addEventListener('closeAllTextElements',(e) =>{\n if(e.detail.this != this){\n self.open = false;\n BABYLON.Animation.CreateAndStartAnimation(\"\", button, \"scaling\", 30,10, button.scaling, new BABYLON.Vector3.One(), 0, ease);\n BABYLON.Animation.CreateAndStartAnimation(\"\", textGUI, \"visibility\", 30,10, textGUI.visibility, 0, 0, ease);\n if(previewTextGui)\n BABYLON.Animation.CreateAndStartAnimation(\"\", previewTextGui, \"visibility\", 30,10, previewTextGui.visibility, 0, 0, ease);\n }\n });\n }\n\n return base;\n }\n}\n\nexport default Text;\n\n","import * as BABYLON from 'babylonjs';\nimport VisualComponent from './VisualComponent';\n\nclass Transition extends VisualComponent {\n getType() { return \"Transition\"; }\n\n constructor( { id } = {} ) {\n super( { id });\n }\n\n construct( context, prefab ) {\n let situation;\n for (let i = 0; i < context.situations.length; i++) \n if(context.situations[i].id == prefab.getTargetID())\n situation = context.situations[i];\n \n super.setScaleFactor(1);\n \n const base = super.construct( context, prefab );\n\n var ease = new BABYLON.CubicEase();\n ease.setEasingMode(BABYLON.EasingFunction.EASINGMODE_EASEIN);\n \n this.mesh.actionManager = new BABYLON.ActionManager(this.scene);\n\n // Hover-out\n this.mesh.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOutTrigger,() => { \n if(!context.followModeratorMode){\n if(context.sendingFollowModerator){\n context.sendCommand({type: \"CommandSendEvent\", data: {eventName: \"hideOverlay\", situation: situation.name}});\n context.sendCommand({type: \"CommandSendEvent\", data: {eventName: \"hideTooltip\"}});\n }\n\n window.dispatchEvent(new CustomEvent(\"hideOverlay\",{ detail:{ situation: situation.name}}));\n window.dispatchEvent(new CustomEvent(\"hideTooltip\"));\n }\n }));\n\n // Hover-over\n this.mesh.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOverTrigger,() => {\n if(!context.followModeratorMode){\n var pos = BABYLON.Vector3.Project(\n base.position,\n BABYLON.Matrix.Identity(),\n window.scene.getTransformMatrix(),\n {x:0, y:0, width: document.querySelector('#renderCanvas').clientWidth, height: document.querySelector('#renderCanvas').clientHeight}\n )\n\n if(context.sendingFollowModerator){\n context.sendCommand({type: \"CommandSendEvent\", data: {eventName: \"showOverlay\", situation: situation.name}});\n context.sendCommand({type: \"CommandSendEvent\", data: {eventName: \"showTooltip\", name: situation.name, pos: pos}});\n }\n window.dispatchEvent(new CustomEvent(\"showOverlay\",{ detail:{ situation: situation.name}}));\n window.dispatchEvent(new CustomEvent(\"showTooltip\",{ detail:{ name: situation.name, pos: pos}}));\n }\n }));\n\n // Click\n this.mesh.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPickTrigger,() => {\n if(!context.followModeratorMode){\n if(context.sendingFollowModerator){\n context.sendCommand({type: \"CommandSendEvent\", data: {eventName: \"hideOverlay\", situation: situation.name}});\n context.sendCommand({type: \"CommandSendEvent\", data: {eventName: \"hideTooltip\"}});\n }\n\n window.dispatchEvent(new CustomEvent(\"hideOverlay\",{ detail:{ situation: situation.name}}));\n window.dispatchEvent(new CustomEvent(\"hideTooltip\"));\n \n context.$store.commit('handleGotoSituationTransition',{ \n situationID: prefab.getTargetID()\n }); \n \n // Leave Situation Animation\n // let camera = window.scene.activeCamera;\n // let fps = 60;\n // let duration = 1000;\n\n // var clickedMeshPos = base.position;\n // let vec = new BABYLON.Vector3(clickedMeshPos.x,0,clickedMeshPos.z);\n // let unitVec = vec.clone().normalize();\n // var transitionEndPoint = camera.target.add(unitVec.scale(vec.length()*0.3));\n\n // var coordinates = BABYLON.Vector3.Project(\n // clickedMeshPos,\n // BABYLON.Matrix.Identity(),\n // window.scene.getTransformMatrix(),\n // camera.viewport.toGlobal(\n // window.scene.getEngine().getRenderWidth(),\n // window.scene.getEngine().getRenderHeight(),\n // ));\n // var vec_target_n = new BABYLON.Vector3(clickedMeshPos.x, 0 ,clickedMeshPos.z);\n // var vec_camDirection_n = camera.getForwardRay().direction;\n // vec_camDirection_n.y = 0;\n // var dotProduct = vec_target_n.x*vec_camDirection_n.x + vec_target_n.y*vec_camDirection_n.y + vec_target_n.z*vec_camDirection_n.z;\n // var newAngle = Math.acos(dotProduct/(vec_target_n.length()*vec_camDirection_n.length()));\n // var newCamAlpha = coordinates.x > (this.scene.getEngine().getRenderWidth()/2) ? camera.alpha-newAngle : camera.alpha+newAngle\n\n // // Blur Screen\n // setTimeout(() => {\n // document.getElementById(\"renderCanvas\").style.filter = \"blur(20px)\";\n // setTimeout(() => {\n // document.getElementById(\"renderCanvas\").style.filter = \"blur(0px)\";\n // }, 400);\n // }, duration-300);\n\n // // Fadeout Content\n // console.log(base.parent);\n // base.parent.getChildMeshes().forEach(childMesh => {\n // if(!childMesh.name.includes(\"SituationImage\") && childMesh.name != \"\"){\n // console.log(childMesh.name,childMesh.id);\n // BABYLON.Animation.CreateAndStartAnimation(\"\",childMesh,\"visibility\",fps,((duration/3)/1000)*fps,childMesh.visibility,0,0,ease,function(){\n // childMesh.parent.setEnabled(false);\n // setTimeout(() => {\n // childMesh.visibility = 1;\n // childMesh.parent.setEnabled(true);\n // },(duration));\n // });\n // }\n // })\n\n // // Move Camera\n // BABYLON.Animation.CreateAndStartAnimation(\"\",camera,\"alpha\",fps,(duration/1000)*fps,camera.alpha,newCamAlpha,0,ease);\n // BABYLON.Animation.CreateAndStartAnimation(\"\",camera,\"target\",fps,(duration/1000)*fps,camera.target,transitionEndPoint,0,ease);\n // BABYLON.Animation.CreateAndStartAnimation(\"\",camera,\"beta\",fps,(duration/1000)*fps,camera.beta,camera.beta,0,ease,function(){\n // context.$store.commit('handleGotoSituationTransition',{ \n // situationID: prefab.getTargetID()\n // }); \n // });\n }\n }));\n\n // Pulse Animation\n var ease2 = new BABYLON.CubicEase();\n ease2.setEasingMode(BABYLON.EasingFunction.EASINGMODE_EASEINOUT);\n\n const frameRate = 10;\n const pulse = new BABYLON.Animation(\"pulse\", \"scaling\", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE);\n pulse.setEasingFunction(ease2);\n const keyFrames = []; \n keyFrames.push({frame: 0, value: new BABYLON.Vector3(1,1,1)});\n keyFrames.push({frame: frameRate, value: new BABYLON.Vector3(1.08,1.08,1.08)});\n keyFrames.push({frame: 2 * frameRate, value: new BABYLON.Vector3(1,1,1)});\n pulse.setKeys(keyFrames);\n this.mesh.animations.push(pulse);\n window.scene.beginAnimation(this.mesh, 0, 2 * frameRate, true);\n\n return base;\n }\n\n // createThumbnail(context,situation,base,prefab){\n // //CREATE THUMBNAIL\n // let texture = new BABYLON.Texture(context.publicPath + \"/media/\" +context.panoramaTour.getName()+ \"/\" + situation.name.trim() + \".jpg\", window.scene);\n // let name = \"VisualComponentImage_\"+prefab.getIconID();\n // let thumbnail = BABYLON.MeshBuilder.CreatePlane(\n // name, \n // {\n // width: 50, \n // height: 25,\n // sideOrientation: BABYLON.Mesh.DOUBLESIDE \n // }, window.scene);\n // let thumbnailMaterial = new BABYLON.StandardMaterial(name + \"_material\", window.scene);\n // thumbnailMaterial.emissiveTexture = texture;\n // thumbnailMaterial.emissiveTexture.uScale = -1;\n // thumbnailMaterial.emissiveTexture.vScale = 1;\n // thumbnailMaterial.disableLighting = true; \n // thumbnailMaterial.opacityTexture = texture;\n // thumbnailMaterial.opacityTexture.uScale = -1;\n // thumbnailMaterial.opacityTexture.vScale = 1;\n // thumbnailMaterial.emissiveTexture.hasAlpha = true;\n // thumbnail.material = thumbnailMaterial;\n // thumbnail.position.y = 30;\n // thumbnail.position.z = -10;\n // thumbnail.visibility = 0;\n\n // //CREATE TEXT\n // var plane = BABYLON.MeshBuilder.CreatePlane(\n // \"plane\",{ \n // width: 60, \n // height: 60,\n // sideOrientation: BABYLON.Mesh.DOUBLESIDE \n // },window.scene);\n // plane.position.y = 40;\n // plane.position.z = -15;\n // plane.visibility = 0;\n \n // var advancedTexture = BABYLONGUI.AdvancedDynamicTexture.CreateForMesh(plane);\n // var text1 = new BABYLONGUI.TextBlock();\n // text1.text = situation.name;\n // text1.color = \"white\";\n // text1.fontSize = 60;\n // text1.drawOutline = true;\n // text1.outlineColor = \"black\";\n // text1.outlineWidth = 4;\n // advancedTexture.addControl(text1);\n \n // let thumbnailRoot = new BABYLON.TransformNode();\n // thumbnailRoot.parent = base;\n // this.mesh.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOutTrigger, function(){ \n // BABYLON.Animation.CreateAndStartAnimation(\"hide\", thumbnail, \"visibility\", 10,2, 1, 0, 0) \n // BABYLON.Animation.CreateAndStartAnimation(\"hide\", plane, \"visibility\", 10, 2, 1, 0, 0) \n // }));\n // this.mesh.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOverTrigger, function(){\n // BABYLON.Animation.CreateAndStartAnimation(\"hide\", thumbnail, \"visibility\", 10,2, 0, 1, 0)\n // BABYLON.Animation.CreateAndStartAnimation(\"hide\", plane, \"visibility\",10,2, 0, 1, 0)\n // }));\n\n // thumbnail.parent = thumbnailRoot;\n // plane.parent = thumbnailRoot;\n // }\n}\n\nexport default Transition;\n","import * as BABYLON from 'babylonjs';\nimport * as GUI from 'babylonjs-gui';\nimport VisualComponent from './VisualComponent';\nimport productData from \"../../../../public/media/Seppeler-Rietbergbehaelter/products/products.json\"\n\n\n\nclass URLButton extends VisualComponent {\n getType() { return \"URLButton\"; }\n\n constructor( { id } = {} ) {\n super( { id });\n\n this.base = null;\n }\n\n construct( context, prefab ) {\n this.base = super.construct( context, prefab );\n\n this.ease = new BABYLON.CubicEase();\n this.ease.setEasingMode(BABYLON.EasingFunction.EASINGMODE_EASEINOUT);\n\n this.mesh.dispose();\n\n this.base.position = this.prefab.getPosition();\n this.base.lookAt(new BABYLON.Vector3.Zero());\n\n this.create3DButton(context,prefab);\n // this.create2DButton();\n\n return this.base;\n }\n\n create3DButton(context,prefab){\n\n const button_wrapper = new BABYLON.TransformNode(\"Button_Wrapper\", window.scene);\n button_wrapper.parent = this.base;\n button_wrapper.rotation.y = Math.PI;\n button_wrapper.scaling.setAll(1);\n\n const collider = new BABYLON.MeshBuilder.CreatePlane(\"Interaction_Collider\",{size: 10},window.scene);\n collider.material = new BABYLON.StandardMaterial(\"InvisibleMat\", window.scene);\n collider.material.alpha = 0;\n collider.parent = button_wrapper;\n\n const circle_node = BABYLON.MeshBuilder.CreatePlane(\"Circle_Node\", {height: 10, width: 10, sideOrientation: BABYLON.Mesh.DOUBLESIDE}, window.scene);\n circle_node.isPickable = false;\n circle_node.parent = button_wrapper;\n\n var circle_texture = GUI.AdvancedDynamicTexture.CreateForMesh(circle_node, 64, 64, false); \n let circle_background = this.createCircle({\n backgroundColor: \"#002853\",\n thickness: 0,\n alpha: 0.5\n });\n circle_texture.addControl(circle_background);\n\n let circle_border = this.createCircle({\n borderColor: \"#ffffff\",\n thickness: 4\n });\n circle_texture.addControl(circle_border);\n\n let circle_center = this.createCircle({\n backgroundColor: \"#ffffff\",\n thickness: 0,\n scaling:0\n });\n circle_texture.addControl(circle_center);\n\n var loupe = new GUI.Image(\"Icon_Loupe\",require(\"@/assets/ic_loupe.png\"));\n loupe.height = \"50%\";\n loupe.width = \"50%\";\n circle_texture.addControl(loupe);\n\n \n if(prefab.getURL()) {\n var ease = new BABYLON.CubicEase();\n ease.setEasingMode(BABYLON.EasingFunction.EASINGMODE_EASEINOUT);\n\n collider.actionManager = new BABYLON.ActionManager(this.scene);\n\n // Click\n collider.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPickTrigger, () => {\n if(!context.followModeratorMode){\n let data = productData.find(data => data.id == this.prefab.getURL());\n window.dispatchEvent(new CustomEvent(\"openCustomElement\",{ detail: {data: data}})); \n }\n }));\n if(!context.$store.getters.isMobile){\n // Hover over\n collider.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOverTrigger, () => {\n if(!context.followModeratorMode){\n GUI.Control.prototype.getScene = () => { return window.scene };\n\n let data = productData.find(data => data.id == this.prefab.getURL());\n var pos = BABYLON.Vector3.Project(\n button_wrapper.parent.position,\n BABYLON.Matrix.Identity(),\n window.scene.getTransformMatrix(),\n {x:0, y:0, width: document.querySelector('#renderCanvas').clientWidth, height: document.querySelector('#renderCanvas').clientHeight}\n )\n\n if(context.sendingFollowModerator)\n context.sendCommand({type: \"CommandSendEvent\", data: {eventName: \"showTooltip\", name: data.name, pos: pos}});\n window.dispatchEvent(new CustomEvent(\"showTooltip\",{ detail:{ name: data.name, pos: pos}}));\n\n // Changing Buttonstyle\n BABYLON.Animation.CreateAndStartAnimation(\"\", loupe, \"alpha\", 30,10, loupe.alpha, 0, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n BABYLON.Animation.CreateAndStartAnimation(\"\", loupe, \"scaleX\", 30,10, loupe.scaleX, 0, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n BABYLON.Animation.CreateAndStartAnimation(\"\", loupe, \"scaleY\", 30,10, loupe.scaleY, 0, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n\n BABYLON.Animation.CreateAndStartAnimation(\"\", circle_border, \"scaleX\", 30,10, circle_border.scaleX, 0.7, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n BABYLON.Animation.CreateAndStartAnimation(\"\", circle_border, \"scaleY\", 30,10, circle_border.scaleY, 0.7, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n BABYLON.Animation.CreateAndStartAnimation(\"\", circle_border, \"thickness\", 30,10, circle_border.thickness, (circle_border.thickness/0.7), BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n \n BABYLON.Animation.CreateAndStartAnimation(\"\", circle_background, \"scaleX\", 30,10, circle_background.scaleX, 0.7, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n BABYLON.Animation.CreateAndStartAnimation(\"\", circle_background, \"scaleY\", 30,10, circle_background.scaleY, 0.7, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n \n BABYLON.Animation.CreateAndStartAnimation(\"\", circle_center, \"scaleX\", 30,10, circle_center.scaleX, 0.25, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n BABYLON.Animation.CreateAndStartAnimation(\"\", circle_center, \"scaleY\", 30,10, circle_center.scaleY, 0.25, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n } \n }));\n \n // Hover-out\n collider.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOutTrigger, () => {\n if(!context.followModeratorMode){\n GUI.Control.prototype.getScene = () => { return window.scene };\n\n if(context.sendingFollowModerator)\n context.sendCommand({type: \"CommandSendEvent\", data: {eventName: \"hideTooltip\"}});\n window.dispatchEvent(new CustomEvent(\"hideTooltip\"));\n\n // Changing Buttonstyle\n BABYLON.Animation.CreateAndStartAnimation(\"\", loupe, \"alpha\", 30,10, loupe.alpha, 1, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n BABYLON.Animation.CreateAndStartAnimation(\"\", loupe, \"scaleX\", 30,10, loupe.scaleX, 1, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n BABYLON.Animation.CreateAndStartAnimation(\"\", loupe, \"scaleY\", 30,10, loupe.scaleY, 1, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n\n BABYLON.Animation.CreateAndStartAnimation(\"\", circle_border, \"scaleX\", 30,10, circle_border.scaleX, 1, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n BABYLON.Animation.CreateAndStartAnimation(\"\", circle_border, \"scaleY\", 30,10, circle_border.scaleY, 1, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n BABYLON.Animation.CreateAndStartAnimation(\"\", circle_border, \"thickness\", 30,10, circle_border.thickness, 4, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n\n BABYLON.Animation.CreateAndStartAnimation(\"\", circle_background, \"scaleX\", 30,10, circle_background.scaleX, 1, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n BABYLON.Animation.CreateAndStartAnimation(\"\", circle_background, \"scaleY\", 30,10, circle_background.scaleY, 1, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n \n BABYLON.Animation.CreateAndStartAnimation(\"\", circle_center, \"scaleX\", 30,10, circle_center.scaleX, 0, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n BABYLON.Animation.CreateAndStartAnimation(\"\", circle_center, \"scaleY\", 30,10, circle_center.scaleY, 0, BABYLON.Animation.ANIMATIONLOOPMODE_RELATIVE, ease);\n }\n }));\n }\n }\n }\n \n createCircle(data){\n let circle = new GUI.Ellipse(\"Circle\");\n circle.background = data.backgroundColor != null ? data.backgroundColor : \"#00000000\";\n circle.thickness = data.thickness != null ? data.thickness : null;\n circle.color = data.corderColor != null ? data.borderColor : null;\n circle.scaleX = circle.scaleY = data.scaling != null ? data.scaling : 1;\n circle.alpha = data.alpha != null ? data.alpha : 1;\n return circle;\n }\n\n create2DButton(){\n let data = productData.find(data => data.id == this.prefab.getURL());\n let pos;\n const size = 48;\n // Create 2D Button\n console.log(\"Create 2D HTML Button for \"+ data.name);\n var button = document.createElement('div');\n button.classList.add(\"button2d\");\n\n var icon_wrapper = document.createElement('div');\n icon_wrapper.classList.add(\"icon-wrapper\")\n var icon_circle = document.createElement('div');\n icon_circle.classList.add(\"circle\");\n icon_wrapper.appendChild(icon_circle);\n var icon_loupe = document.createElement('img');\n icon_loupe.src = require(\"@/assets/icon_explore-product.svg\");\n icon_wrapper.appendChild(icon_loupe);\n button.appendChild(icon_wrapper);\n\n button.addEventListener('mouseenter',()=>{\n window.dispatchEvent(new CustomEvent(\"showTooltip\",{ detail:{ data: data, pos: pos}}));\n })\n button.addEventListener('mouseleave',()=>{\n window.dispatchEvent(new CustomEvent(\"hideTooltip\"));\n })\n document.body.appendChild(button);\n\n\n\n // Project position of base to 2D screenspace\n window.scene.onBeforeRenderObservable.add( () => {\n // console.log(1);\n pos = BABYLON.Vector3.Project(\n this.base.position, //vector to project\n BABYLON.Matrix.Identity(), //world matrix\n window.scene.getTransformMatrix(), //transform matrix\n {x:0, y:0, width: document.body.clientWidth, height: document.body.clientHeight} //viewport\n );\n // console.log(pos);\n button.style.left = (pos.x - size/2) + \"px\";\n button.style.top = (pos.y - size/2) + \"px\";\n })\n\n }\n}\n\nexport default URLButton;\n","import * as BABYLON from 'babylonjs';\nimport BasicComponent from './BasicComponent';\nimport axios from 'axios';\n\nclass User extends BasicComponent {\n getType () {\n return \"User\";\n }\n\n constructor ({id} = {}) {\n super({id});\n\n this.material = null;\n this.texture = null;\n this.mesh = null;\n this.scene = null;\n this.user = null;\n this.acronym = \"NN\";\n this.color = \"#E76101\"\n this.lastUpdate = 0;\n this.targetRotation = new BABYLON.Vector3();\n this.currentRotation = new BABYLON.Vector3();\n this.currentPosition = new BABYLON.Vector3();\n }\n\n construct (context, user) {\n console.info(`User::construct: constructing scene graph for user: ${JSON.stringify(user)}`);\n this.setSituationID(user.getCurrentSituationID());\n this.scene = window.scene;\n this.user = user;\n this.setID( user.getID() );\n\n const base = new BABYLON.TransformNode(user.getID(), window.scene);\n this.setRootNode(base);\n \n if (user.getPosition()) {\n base.position = user.getPosition();\n } else {\n base.position = base.absolutePosition;\n user.setPosition(base.position);\n }\n base.rotation = user.getRotation();\n\n const name = \"User_\" + user.getID();\n this.mesh = BABYLON.MeshBuilder.CreatePlane(name,\n {\n width: 3.8,\n height: 3.8,\n sideOrientation: BABYLON.Mesh.DOUBLESIDE\n }, window.scene);\n\n this.material = new BABYLON.StandardMaterial(name + \"_material\", window.scene);\n this.material.disableLighting = true;\n this.mesh.material = this.material;\n this.mesh.position = new BABYLON.Vector3(0, 0, 100);\n this.mesh.rotation = BABYLON.Vector3.Zero(); //rotation;\n this.mesh.setEnabled(false);\n this.mesh.parent = base;\n\n this.generateTextureForUser(user);\n\n return this;\n }\n\n hexToRgbA (hex) {\n var c;\n if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {\n c = hex.substring(1).split('');\n if (c.length == 3) {\n c = [c[0], c[0], c[1], c[1], c[2], c[2]];\n }\n c = '0x' + c.join('');\n return 'rgba(' + [(c >> 16) & 255, (c >> 8) & 255, c & 255].join(',') + ',1)';\n }\n throw new Error('Bad Hex');\n }\n\n generateTextureForUser (user) {\n let uc = this;\n uc.color = user.getColor();\n uc.acronym = user.getAcronym();\n axios.get(require(\"@/assets/user Icon.svg\")).then((response) => {\n let color = \"\" + uc.color; \n color = color.replace(\"0x\", \"#\");\n console.log(\"Generating user icon for \" + user.getID() + \" Color: \" + color + \" Acronym: \" + uc.acronym);\n //console.log(\"SVG: \" + JSON.stringify(response));\n // response = response.data;\n // let svgNew = response.replace(\"#ACRONYM\", uc.acronym); \n let svgNew = response.data;\n // COLOR setzen... \n svgNew = svgNew.split(\"#USERCOLOR\").join(color); //replaceAll(\"#USERCOLOR\", \"orange\");\n // svgNew = svgNew.replace(\"#CIRCLE_STYLE\", \" stroke-dasharray='20,20' \");\n // svgNew = svgNew.replace(\"#CIRCLE_STYLE\", \" \");\n \n // console.log(\"NEW SVG:\" + svgNew)\n let encodedData = window.btoa(svgNew);\n // let decodedData = window.atob(encodedData);\n // console.log(decodedData);\n encodedData = \"data:image/svg+xml;base64,\" + encodedData;\n const key = `${user.id}-${user.color}-texture`;\n uc.texture = BABYLON.Texture.LoadFromDataString(key, encodedData, this.scene);\n uc.material.diffuseTexture = this.texture;\n //uc.material.diffuseTexture.hasAlpha = true;\n //uc.material.diffuseTexture.useAlphaFromDiffuseTexture = true; \n uc.material.opacityTexture = this.texture;\n uc.material.emissiveTexture = this.texture; \n //uc.material.emissiveTexture.hasAlpha = true;\n uc.mesh.setEnabled(true);\n });\n }\n\n update () {\n \n let rotation = new BABYLON.Vector3(this.user.getRotation()._x,this.user.getRotation()._y,this.user.getRotation()._z)\n\n // console.info(`Updating user node (${this.user.acronym} id: ${this.user.id} color: ${this.user.color})`);\n let node = this.getRootNode();\n //console.log(\"Update \" + this.user.getID() + \" - \" + JSON.stringify(this.user.getRotation()) );\n let camera = this.scene.activeCamera;\n\n let timeStampInMs = window.performance && window.performance.now && window.performance.timing && window.performance.timing.navigationStart ? window.performance.now() + window.performance.timing.navigationStart : Date.now();\n let frameTimeDifference = (timeStampInMs - this.lastUpdate) / 1000;\n //this.lastUpdate = timeStampInMs;\n if( camera ) {\n\n let camRotation = camera.absoluteRotation;\n\n if( this.user.getRotation() ) {\n \n // Check if we receive a new rotation value...\n if( this.targetRotation.x != rotation.x || this.targetRotation.y != rotation.y ||this.targetRotation.z != rotation.z ) {\n this.targetRotation = rotation;\n this.lastUpdate = timeStampInMs;\n frameTimeDifference = (timeStampInMs - this.lastUpdate) / 1000;\n } \n\n let targetRotationQuaternion = BABYLON.Quaternion.FromEulerAngles( this.targetRotation.x, this.targetRotation.y, this.targetRotation.z );\n let currentRotationQuaternion = BABYLON.Quaternion.FromEulerAngles( this.currentRotation.x, this.currentRotation.y, this.currentRotation.z );\n // Compute new target rotation...\n if( frameTimeDifference >= 1.0 ) {\n currentRotationQuaternion = targetRotationQuaternion;\n this.currentRotation = this.targetRotation;\n } else {\n currentRotationQuaternion = BABYLON.Quaternion.Slerp( currentRotationQuaternion, targetRotationQuaternion, Math.min( frameTimeDifference, 1.0 ));\n this.currentRotation = currentRotationQuaternion.toEulerAngles();\n }\n\n let userRotation = currentRotationQuaternion;\n //let userRotation = BABYLON.Quaternion.FromEulerAngles( this.currentRotation.x, this.currentRotation.y, this.currentRotation.z );\n // We have to rotate that, due to the user looking in the wrong direction...\n //userRotation.multiplyInPlace( BABYLON.Quaternion.FromEulerAngles(0,Math.PI,0) );\n // Now let's see what the angles are...\n let diff = camRotation.multiply( BABYLON.Quaternion.Inverse( userRotation ) );\n let diffEuler = diff.toEulerAngles();\n //console.log(\"Difference vector is \" + diffEuler.x, \" / \" + diffEuler.y + \" / \" + diffEuler.z );\n let fov = camera.fov / 2;\n let ar = this.scene.getEngine().getScreenAspectRatio(); \n let fov_y = fov * ar * 0.85;\n let fov_x = fov * 0.95;\n // If we are within the field of view, everything is fine...\n if( Math.abs(diffEuler.x) <= fov_x && Math.abs(diffEuler.y) <= fov_y ) {\n node.rotation = this.currentRotation;\n if( this.material && this.material.diffuseTexture ) {\n this.material.alpha = 1.0;\n }\n } else {\n userRotation = this.currentRotation;\n camRotation = camRotation.toEulerAngles();\n if( Math.abs(diffEuler.x) > fov_x )\n userRotation.x = camRotation.x + Math.sign(diffEuler.x) * fov_x;\n if( Math.abs(diffEuler.y) > fov_y )\n userRotation.y = camRotation.y - Math.sign(diffEuler.y) * fov_y;\n node.rotation = userRotation;\n if( this.material && this.material.diffuseTexture ) {\n this.material.alpha = 0.3;\n }\n }\n }\n } else {\n if (this.user.getPosition()) {\n let targetPosition = this.user.getPosition();\n this.currentPosition = BABYON.Vector3.Lerp( this.currentPosition, targetPosition, Math.min( frameTimeDifference, 1.0 ));\n node.position = this.currentPosition;\n }\n if (this.user.getRotation()) {\n node.rotation = rotation;\n }\n }\n this.setSituationID(this.user.getCurrentSituationID());\n if (this.user.getAcronym() !== this.acronym || this.user.getColor() !== this.color) {\n console.log(\"###### Acronym or Color has changed.\")\n this.generateTextureForUser(this.user);\n }\n }\n}\n\nexport default User;\n\n","import * as BABYLON from 'babylonjs';\nimport BasicComponent from './BasicComponent';\nimport MediaManager from '@/api/MediaManager';\nimport * as GUI from 'babylonjs-gui';\n\nclass Video extends BasicComponent {\n getType() { return \"Video\"; }\n\n constructor( { id } = {} ) {\n super( { id });\n\n this.material = undefined;\n this.texture = undefined;\n this.mesh = undefined;\n this.scene = undefined;\n this.video = undefined;\n this.prefab = undefined;\n this.context = undefined;\n this.width = undefined;\n this.height = undefined;\n }\n\n construct( context, prefab ) { \n this.context = context;\n this.scene = window.scene;\n this.prefab = prefab;\n\n // Create Base\n const base = super.construct( context, prefab ).getRootNode();\n base.position = prefab.getPosition();\n // base.lookAt(new BABYLON.Vector3(0,0,0));\n\n let base2 = new BABYLON.TransformNode(\"\", window.scene);\n base2.rotation.x += prefab.getRotationX() * Math.PI / 180;\n base2.rotation.y += prefab.getRotationY() * Math.PI / 180;\n base2.rotation.z += prefab.getRotationZ() * Math.PI / 180;\n base2.parent = base;\n\n this.width = parseInt(prefab.getWidth());\n this.height = parseInt(prefab.getHeight());\n \n // Create Video\n const video = MediaManager.getMedia(prefab.getContentID());\n let videoTexture = new BABYLON.VideoTexture(\"VisualComponentVideo_Video\", video.getURL(), this.scene, false, false, BABYLON.TRILINEAR_SAMPLINGMODE, { \n muted: prefab.getVolumeScale() == 0, \n loop: prefab.getLooping() === \"true\",\n autoPlay: prefab.getAutoplay() === \"true\",\n autoUpdateTexture: true,\n volume: prefab.getVolumeScale()/100,\n // poster: prefab.getPoster(), //TODO Poster from CMS\n });\n\n this.texture = videoTexture;\n this.video = videoTexture.video;\n \n // quickly play and pause video to get first frame as thumbnail\n if(this.video.paused){\n console.log(\"VideoSphere: fixing Chrome thumbnail\");\n\n // muted videos can be autoplayed\n // mute and play Video to get thumbnail, \n this.video.muted = true;\n let promise = this.video.play();\n \n // After play is successful pause and unmute video again\n promise.then( ()=>{\n this.video.pause();\n this.video.muted = false;\n \n // Ensure autoplay after user interaction for chrome\n if(prefab.getAutoplay() === \"true\"){\n window.scene.onPointerDown = () => {\n this.video.play();\n window.scene.onPointerDown = undefined;\n }\n }\n })\n }\n\n // Create Material\n this.material = new BABYLON.StandardMaterial(\"VisualComponentVideo_VideoMaterial\" + \"_material\", this.scene);\n this.material.emissiveTexture = this.texture;\n this.material.disableLighting = true; \n this.material.opacityTexture = this.texture; \n \n // Create Mesh\n this.mesh = BABYLON.MeshBuilder.CreatePlane(\"Video\", {width: this.width , height: this.height , sideOrientation: BABYLON.Mesh.DOUBLESIDE }, window.scene);\n this.mesh.material = this.material;\n this.mesh.rotation.y = Math.PI;\n this.mesh.parent = base2;\n \n // Create controls if checked in CMS\n if(prefab.getDisplayControls() === \"true\"){\n this.createControlls();\n }else{\n if(prefab.getEnlargeOnClick() === \"true\"){\n this.mesh.actionManager = new BABYLON.ActionManager(this.scene);\n\n this.mesh.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPickTrigger, () =>{ \n if(!context.followModeratorMode) \n window.dispatchEvent(new CustomEvent(\"openURL\",{detail:{url: video.getURL()}}));\n }));\n }else{\n this.mesh.isPickable = false;\n }\n }\n\n base.getChildMeshes().forEach(mesh => {\n mesh.renderingGroupId = 2;\n });\n \n return base;\n }\n \n\n createControlls(){\n var ease = new BABYLON.CubicEase();\n ease.setEasingMode(BABYLON.EasingFunction.EASINGMODE_EASEINOUT);\n \n // Create Play/Pause Button\n // shows play/pause button when you hover over the video element\n var playpauseButton = BABYLON.Mesh.CreatePlane(\"Play/PauseButton\", 20, this.scene);\n playpauseButton.rotation.y = Math.PI;\n playpauseButton.parent = this.mesh.parent;\n playpauseButton.setEnabled(false);\n var advancedTexture = GUI.AdvancedDynamicTexture.CreateForMesh(playpauseButton);\n var image = new GUI.Image(\"\", require(\"@/assets/play-button.png\"));\n advancedTexture.addControl(image);\n playpauseButton.isPickable = false;\n\n // var videoName = new GUI.TextBlock(\"videoName\");\n // videoName.parent = this.mesh.parent;\n // videoName.text = \"abc\";\n // videoName.height = \"40px\";\n // videoName.width = \"200px\";\n // advancedTexture.addControl(videoName);\n \n // Black plane before Video that will be visible when you hover over the video\n let background = BABYLON.MeshBuilder.CreatePlane(\"Background\",{width: this.width, height: this.height ,sideOrientation: BABYLON.Mesh.DOUBLESIDE},this.scene);\n background.material = new BABYLON.StandardMaterial(\"\", this.scene);\n background.material.diffuseColor = new BABYLON.Color3(0, 0, 0);\n background.parent = this.mesh.parent;\n background.setEnabled(false);\n background.isPickable = false;\n\n // videoControlls: slider/timer\n let distance = -this.height*1.38;\n let videoControllsSize = parseInt(this.width > this.height ? this.width : this.height)*1.05;\n var videoControlls = BABYLON.MeshBuilder.CreatePlane(\"VideoControlls\", {width: videoControllsSize, height: videoControllsSize,sideOrientation: BABYLON.Mesh.DOUBLESIDE}, this.scene);\n videoControlls.parent = this.mesh.parent;\n videoControlls.position.y = distance;\n videoControlls.position.z = 5;\n videoControlls.rotation.y = Math.PI;\n\n var advancedTexture2 = GUI.AdvancedDynamicTexture.CreateForMesh(videoControlls);\n \n var rect1 = new GUI.Rectangle();\n rect1.verticalAlignment = GUI.Control.VERTICAL_ALIGNMENT_TOP;\n rect1.top = \"60px\";\n rect1.height = \"100px\";\n rect1.cornerRadius = 10;\n rect1.thickness = 0;\n rect1.background = rect1.color = \"#333333\";\n advancedTexture2.addControl(rect1); \n\n var grid = new GUI.Grid(); \n grid.addColumnDefinition(1);\n grid.addRowDefinition(20,true);\n grid.addRowDefinition(0.5);\n rect1.addControl(grid); \n\n var minColWidth = 0.06;\n var seperatorWidth = 1 - (minColWidth*11.5);\n var gridControls = new GUI.Grid();\n gridControls.addColumnDefinition(minColWidth*1.5);\n gridControls.addColumnDefinition(minColWidth*2);\n gridControls.addColumnDefinition(minColWidth*3);\n gridControls.addColumnDefinition(minColWidth*3);\n gridControls.addColumnDefinition(minColWidth);\n gridControls.addColumnDefinition(seperatorWidth);\n gridControls.addColumnDefinition(minColWidth);\n gridControls.addColumnDefinition(minColWidth);\n gridControls.paddingLeft = \"20px\";\n gridControls.paddingRight = \"20px\";\n grid.addControl(gridControls,1,0);\n\n\n // Zeitleiste\n var sliderUI = new GUI.Slider();\n sliderUI.hoverCursor = \"pointer\";\n sliderUI.value = 0;\n sliderUI.minimum = 0;\n sliderUI.maximum = 1;\n this.video.onloadedmetadata = function() { sliderUI.maximum = this.duration;};\n sliderUI.height = \"20px\";\n sliderUI.barOffset = \"0px\";\n sliderUI.isThumbCircle = true; \n sliderUI.isThumbClamped = true;\n sliderUI.thumbColor = this.context.primaryColor;\n sliderUI.borderColor = this.context.primaryColor;\n sliderUI.background = \"#111111\";\n sliderUI.color = this.context.primaryColor;\n grid.addControl(sliderUI,0,0); \n \n //Play/Pause Button \n var playpauseButton2 = new GUI.Button(\"playPauseBtn2\");\n playpauseButton2.hoverCursor = \"pointer\";\n playpauseButton2.thickness = 0;\n var playpauseButton2Img = new GUI.Image(\"\",require(\"@/assets/pause.svg\"));\n playpauseButton2.width = \"48px\";\n playpauseButton2.height = \"48px\";\n playpauseButton2.addControl(playpauseButton2Img);\n gridControls.addControl(playpauseButton2, 0, 0);\n\n // Sound Button\n var soundBtn = new GUI.Button(\"soundBtn\");\n soundBtn.hoverCursor = \"pointer\";\n soundBtn.thickness = 0;\n var soundImage = new GUI.Image(\"\", this.prefab.getVolumeScale() == 0 ? require(\"@/assets/volume_off_white_24dp.svg\") : require(\"@/assets/volume_up_white_24dp.svg\"));\n soundImage.width = \"48px\";\n soundImage.height = \"48px\";\n soundBtn.addControl(soundImage);\n gridControls.addControl(soundBtn, 0, 1);\n \n //Volume Slider\n var volumeSlider = new GUI.Slider(\"volumeSlider\");\n volumeSlider.hoverCursor = \"pointer\";\n volumeSlider.value = this.video.volume;\n volumeSlider.minimum = 0;\n volumeSlider.maximum = 1;\n volumeSlider.height = \"14px\";\n volumeSlider.barOffset = \"0px\";\n volumeSlider.isThumbCircle = true; \n volumeSlider.isThumbClamped = true;\n volumeSlider.thumbColor = this.context.primaryColor;\n volumeSlider.borderColor = this.context.primaryColor;\n volumeSlider.background = \"#111111\";\n volumeSlider.color = this.context.primaryColor;\n gridControls.addControl(volumeSlider,0,2)\n\n\n //Video Laufzeit Text\n var time = new GUI.TextBlock();\n // time.fontFamily = this.context.fontFamily;\n time.left = \"28px\";\n time.text = \"0:00/0:00\";\n time.color = \"#ffffff\";\n time.fontSize = 26;\n time.textHorizontalAlignment = GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;\n time.textVerticalAlignment = GUI.Control.VERTICAL_ALIGNMENT_CENTER;\n gridControls.addControl(time, 0, 3);\n\n //Popup Video Window\n var openWindowBtn = new GUI.Button(\"openWindow\");\n openWindowBtn.hoverCursor = \"pointer\";\n openWindowBtn.thickness = 0;\n var openWindowBtnImg = new GUI.Image(\"\",require(\"@/assets/web_asset.svg\"));\n openWindowBtn.width = \"48px\";\n openWindowBtn.height = \"48px\";\n openWindowBtn.addControl(openWindowBtnImg);\n gridControls.addControl(openWindowBtn, 0, 8);\n\n\n this.mesh.actionManager = new BABYLON.ActionManager(this.scene);\n\n\n // INTERACTIONS ------------------------------\n let drag = false;\n let volDrag = false;\n\n var volumeValue = 0;\n\n // Open Video Gallery inside Pop-Up\n openWindowBtn.onPointerClickObservable.add(() => {\n this.video.pause();\n window.dispatchEvent(new CustomEvent(\"openURL\",{detail:{url: this.video.src}}));\n });\n\n // When user starts dragging pause video\n // Detach camera otherwise camera will move while dragging the slider\n sliderUI.onPointerDownObservable.add(() => {\n drag = true;\n this.scene.getCameraByName(\"MainCamera\").detachControl();\n this.video.pause();\n }); \n\n // When user stops dragging play video\n // attach camera again\n sliderUI.onPointerUpObservable.add(() => {\n drag = false;\n this.scene.getCameraByName(\"MainCamera\").attachControl(document.getElementById(\"renderCanvas\"), true, false,4);\n this.video.currentTime = sliderUI.value;\n time.text = this.updateTime();\n this.video.play();\n });\n \n // Volume Behavior\n soundBtn.onPointerClickObservable.add( () => {\n if(!this.video.muted){\n soundBtn.removeControl(soundImage);\n soundImage.source = require(\"@/assets/volume_off_white_24dp.svg\");\n soundBtn.addControl(soundImage);\n volumeSlider.value = 0;\n } else {\n soundBtn.removeControl(soundImage);\n soundImage.source = require(\"@/assets/volume_up_white_24dp.svg\");\n soundBtn.addControl(soundImage);\n if(volumeValue < 0.01){\n volumeSlider.value = 1;\n } else {\n volumeSlider.value = volumeValue;\n }\n }\n this.video.volume = volumeSlider.value;\n this.video.muted = !this.video.muted;\n });\n\n\n volumeSlider.onPointerDownObservable.add(() => {\n volDrag = true;\n this.scene.getCameraByName(\"MainCamera\").detachControl();\n });\n volumeSlider.onPointerUpObservable.add(() => {\n volDrag = false;\n this.scene.getCameraByName(\"MainCamera\").attachControl(document.getElementById(\"renderCanvas\"), true, false,4);\n this.video.volume = volumeSlider.value;\n if(this.video.volume != 0){\n soundBtn.removeControl(soundImage);\n soundImage.source = require(\"@/assets/volume_up_white_24dp.svg\");\n soundBtn.addControl(soundImage);\n this.video.muted = false;\n }\n }); \n volumeSlider.onPointerMoveObservable.add(() => {\n if(volDrag){\n document.getElementById(\"renderCanvas\").style.cursor = \"pointer\";\n this.video.volume = volumeSlider.value;\n if(volumeSlider.value == 0){\n soundBtn.removeControl(soundImage);\n soundImage.source = require(\"@/assets/volume_off_white_24dp.svg\");\n soundBtn.addControl(soundImage);\n this.video.muted = true;\n } else {\n if(this.video.muted){\n soundBtn.removeControl(soundImage);\n soundImage.source = require(\"@/assets/volume_up_white_24dp.svg\");\n soundBtn.addControl(soundImage);\n this.video.muted = false;\n }\n volumeValue = volumeSlider.value;\n }\n }\n }); \n\n // change currentTime of video when user is dragging the slider \n // changing cursor to pointer because the cursor somehow changes to default when dragging\n sliderUI.onPointerMoveObservable.add(() => {\n if(drag){\n document.getElementById(\"renderCanvas\").style.cursor = \"pointer\";\n this.video.currentTime = sliderUI.value;\n time.text = this.updateTime();\n }\n }); \n\n // Refresh slider value when currentTime of video changes\n // Dont update slider when user interacts with it\n this.video.ontimeupdate = () =>{\n if(!drag){\n time.text = this.updateTime();\n sliderUI.value = this.video.currentTime;\n }\n };\n \n // Switch pause to play Button when video is playing\n this.video.onplay = function() {\n advancedTexture.removeControl(image);\n image = new GUI.Image(\"\", require(\"@/assets/pause-button.png\"));\n advancedTexture.addControl(image);\n playpauseButton2.removeControl(playpauseButton2Img);\n playpauseButton2Img = new GUI.Image(\"\",require(\"@/assets/pause.svg\"));\n playpauseButton2.addControl(playpauseButton2Img);\n };\n\n // Switch play to pause Button when video is paused\n this.video.onpause = function() {\n advancedTexture.removeControl(image);\n image = new GUI.Image(\"\", require(\"@/assets/play-button.png\"));\n advancedTexture.addControl(image);\n playpauseButton2.removeControl(playpauseButton2Img);\n playpauseButton2Img = new GUI.Image(\"\",require(\"@/assets/play.svg\"));\n playpauseButton2.addControl(playpauseButton2Img);\n };\n\n // Click: play/pause video\n this.mesh.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPickTrigger, () =>{ \n this.video.paused ? this.video.play() : this.video.pause();\n }));\n\n playpauseButton2.onPointerClickObservable.add(()=>{\n this.video.paused ? this.video.play() : this.video.pause();\n })\n \n // hover out: Hide play/pause Button\n this.mesh.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOutTrigger, function(){ \n BABYLON.Animation.CreateAndStartAnimation(\"\", playpauseButton, \"visibility\", 10,2, playpauseButton.visibility, 0, 0, ease, function(){ \n playpauseButton.setEnabled(false);\n }) \n BABYLON.Animation.CreateAndStartAnimation(\"\", background, \"visibility\", 10,2, background.visibility, 0, 0, ease, function(){ \n background.setEnabled(false);\n }) \n }));\n \n // hover over: Display play/pause Button\n this.mesh.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOverTrigger, function(){\n playpauseButton.setEnabled(true);\n BABYLON.Animation.CreateAndStartAnimation(\"\", playpauseButton, \"visibility\", 10,2, 0, 1, 0, ease);\n background.setEnabled(true);\n BABYLON.Animation.CreateAndStartAnimation(\"\", background, \"visibility\", 10,2, 0, 0.7, 0, ease);\n }));\n }\n\n updateTime(){ \n let currenTime = this.formatTime(this.video.currentTime);\n let duration = this.formatTime(this.video.duration);\n return currenTime + \"/\" + duration;\n }\n\n formatTime(time){\n var mins = Math.floor(time / 60);\n var secs = Math.floor(time - mins * 60);\n return mins + \":\" + (secs < 10 ? \"0\" : \"\") + secs;\n }\n \n enable(){\n super.enable(); \n if(this.prefab.getAutoplay() ===\"true\" && this.video)\n this.video.play();\n }\n\n disable(){\n super.disable();\n if(this.video)\n this.video.pause();\n }\n\n}\n\nexport default Video;\n\n","import * as BABYLON from 'babylonjs';\nimport BasicComponent from './BasicComponent';\nimport * as GUI from 'babylonjs-gui';\n\nclass Video extends BasicComponent {\n getType() { return \"Video\"; }\n\n constructor( { id } = {} ) {\n super( { id });\n\n this.material = undefined;\n this.texture = undefined;\n this.mesh = undefined;\n this.video = undefined;\n this.prefab = undefined;\n this.context = undefined;\n this.width = undefined;\n this.height = undefined;\n\n this.videoManager = undefined;\n this.videoList = undefined;\n this.videos = undefined; \n this.listOrientation = undefined;\n this.controllSize = undefined;\n this.ratioX = undefined;\n this.ratioY = undefined;\n\n this.listGrid = undefined;\n this.currentVideoIndex = 0;\n } \n\n setVideoData(){\n this.videos = [\n \"/media/eku-Kabel-POP/data/Betonbau_Sicherheit_Zutrit/Keypad2_long.mp4\",\n \"/media/eku-Kabel-POP/data/ODF/IMG_2727.mp4\",\n\n \"/media/eku-Kabel-POP/data/Betonbau_Sicherheit_Zutrit/Keypad2_long.mp4\",\n \"/media/eku-Kabel-POP/data/ODF/IMG_2727.mp4\",\n\n \"/media/eku-Kabel-POP/data/Betonbau_Sicherheit_Zutrit/Keypad2_long.mp4\",\n \"/media/eku-Kabel-POP/data/ODF/IMG_2727.mp4\",\n\n \"/media/eku-Kabel-POP/data/Betonbau_Sicherheit_Zutrit/Keypad2_long.mp4\",\n \"/media/eku-Kabel-POP/data/ODF/IMG_2727.mp4\",\n ];\n\n this.thumbnails = [\n \"/media/eku-Kabel-POP/POP 1.jpg\",\n \"/media/eku-Kabel-POP/POP 2.jpg\",\n\n \"/media/eku-Kabel-POP/POP 1.jpg\",\n \"/media/eku-Kabel-POP/POP 2.jpg\",\n\n \"/media/eku-Kabel-POP/POP 1.jpg\",\n \"/media/eku-Kabel-POP/POP 2.jpg\",\n\n \"/media/eku-Kabel-POP/POP 1.jpg\",\n \"/media/eku-Kabel-POP/POP 2.jpg\",\n ];\n\n this.durrations = [\n \"0:19\",\n \"0:10\",\n\n \"0:19\",\n \"0:10\",\n\n \"0:19\",\n \"0:10\",\n\n \"0:19\",\n \"0:10\",\n ];\n\n this.titles = [\n \"Eku-Kabel Keypad\",\n \"Eku-Kabel ODF\",\n\n \"Eku-Kabel Keypad\",\n \"Eku-Kabel ODF\",\n\n \"Eku-Kabel Keypad\",\n \"Eku-Kabel ODF\",\n\n \"Eku-Kabel Keypad\",\n \"Eku-Kabel ODF\",\n ];\n }\n\n construct( context, prefab ) { \n this.context = context;\n this.prefab = prefab;\n \n // Create Base\n const base = super.construct( context, prefab ).getRootNode();\n base.position = prefab.getPosition();\n base.lookAt(new BABYLON.Vector3(0,0,0));\n\n let base2 = new BABYLON.TransformNode(\"\", window.scene);\n base2.rotation.x += prefab.getRotationX() * Math.PI / 180;\n base2.rotation.y += prefab.getRotationY() * Math.PI / 180;\n base2.rotation.z += prefab.getRotationZ() * Math.PI / 180;\n base2.parent = base;\n\n this.width = parseInt(prefab.getWidth());\n this.height = parseInt(prefab.getHeight());\n \n this.setVideoData();\n \n window.addEventListener(\"languageChange\", () => {\n this.setVideoData();\n\n window.scene.getMeshByName(\"VideoList\").dispose();\n this.createVideoList();\n \n this.updateVideo();\n });\n\n let videoTexture = new BABYLON.VideoTexture(\"VisualComponentVideo_Video\", context.publicPath + this.videos[0], window.scene, false, false, BABYLON.TRILINEAR_SAMPLINGMODE, { \n loop: prefab.getLooping() === \"true\",\n autoPlay: true,\n autoUpdateTexture: true,\n // poster: prefab.getPoster(), //TODO Poster from CMS\n });\n \n this.texture = videoTexture;\n this.video = videoTexture.video;\n this.video.volume = prefab.getVolumeScale()/100;\n \n\n // quickly play and pause video to get first frame as thumbnail\n if(this.video.paused && context.$browserDetect.isChrome){\n console.log(\"VideoSphere: fixing Chrome thumbnail\");\n\n // muted videos can be autoplayed\n // mute and play Video to get thumbnail, \n this.video.muted = true;\n let promise = this.video.play();\n \n // After play is successful pause and unmute video again\n promise.then( ()=>{\n this.video.pause();\n this.video.muted = false;\n \n // Ensure autoplay after user interaction for chrome\n if(prefab.getAutoplay() === \"true\"){\n window.scene.onPointerDown = () => {\n this.video.play();\n window.scene.onPointerDown = undefined;\n }\n }\n })\n }\n\n // Create Material\n this.material = new BABYLON.StandardMaterial(\"VisualComponentVideo_VideoMaterial\" + \"_material\", window.scene);\n this.material.emissiveTexture = this.texture;\n this.material.disableLighting = true; \n this.material.opacityTexture = this.texture; \n\n // Create Mesh\n this.mesh = BABYLON.MeshBuilder.CreatePlane(\"Video\", {width: this.width , height: this.height , sideOrientation: BABYLON.Mesh.DOUBLESIDE }, window.scene);\n this.mesh.material = this.material;\n this.mesh.rotation.y = Math.PI;\n this.mesh.parent = base2;\n \n let screenBackground = BABYLON.MeshBuilder.CreatePlane(\"Background\",{width: this.width, height: this.height ,sideOrientation: BABYLON.Mesh.DOUBLESIDE},window.scene);\n screenBackground.material = new BABYLON.StandardMaterial(\"\", window.scene);\n screenBackground.material.diffuseColor = new BABYLON.Color3(0, 0, 0);\n screenBackground.rotation.y = Math.PI;\n screenBackground.position.z = -0.1;\n screenBackground.setEnabled(true);\n screenBackground.parent = this.mesh.parent;\n\n this.createControlls();\n this.createVideoList();\n \n base.getChildMeshes().forEach(mesh => {\n mesh.renderingGroupId = 2;\n });\n\n return base;\n }\n \n\n createControlls(){\n var ease = new BABYLON.CubicEase();\n ease.setEasingMode(BABYLON.EasingFunction.EASINGMODE_EASEINOUT);\n \n // Create Play/Pause Button\n // shows play/pause button when you hover over the video element\n var playpauseButton = BABYLON.Mesh.CreatePlane(\"Play/PauseButton\", 20, window.scene);\n playpauseButton.rotation.y = Math.PI;\n playpauseButton.parent = this.mesh.parent;\n playpauseButton.setEnabled(false);\n var advancedTexture = GUI.AdvancedDynamicTexture.CreateForMesh(playpauseButton);\n var image = new GUI.Image(\"\", require(\"@/assets/play-button.png\"));\n advancedTexture.addControl(image);\n playpauseButton.isPickable = false;\n\n // Black plane before Video that will be visible when you hover over the video\n let background = BABYLON.MeshBuilder.CreatePlane(\"Background\",{width: this.width, height: this.height ,sideOrientation: BABYLON.Mesh.DOUBLESIDE},window.scene);\n background.material = new BABYLON.StandardMaterial(\"\", window.scene);\n background.material.diffuseColor = new BABYLON.Color3(0, 0, 0);\n background.parent = this.mesh.parent;\n background.setEnabled(false);\n background.isPickable = false;\n\n // videoControlls: slider/timer\n let distance = -this.height * 1.5;\n let videoControllsSize = this.controllSize = 10 + parseInt(this.width > this.height ? this.width : this.height);\n var videoControlls = BABYLON.MeshBuilder.CreatePlane(\"VideoControlls\", {width: videoControllsSize, height: videoControllsSize,sideOrientation: BABYLON.Mesh.DOUBLESIDE}, window.scene);\n videoControlls.parent = this.mesh.parent;\n videoControlls.position.y = distance;\n videoControlls.position.z = 5;\n videoControlls.rotation.y = Math.PI;\n\n var advancedTexture2 = GUI.AdvancedDynamicTexture.CreateForMesh(videoControlls);\n \n var rect1 = new GUI.Rectangle();\n rect1.verticalAlignment = GUI.Control.VERTICAL_ALIGNMENT_TOP;\n rect1.top = \"60px\";\n rect1.height = \"100px\";\n rect1.cornerRadius = 10;\n rect1.thickness = 0;\n rect1.background = rect1.color = \"#333333\";\n advancedTexture2.addControl(rect1); \n\n var grid = new GUI.Grid(); \n grid.addColumnDefinition(1);\n grid.addRowDefinition(20,true);\n grid.addRowDefinition(0.5);\n rect1.addControl(grid); \n\n var minColWidth = 0.06;\n var seperatorWidth = 1 - (minColWidth*11.5);\n var gridControls = new GUI.Grid();\n gridControls.addColumnDefinition(minColWidth);\n gridControls.addColumnDefinition(minColWidth*1.5);\n gridControls.addColumnDefinition(minColWidth);\n gridControls.addColumnDefinition(minColWidth);\n gridControls.addColumnDefinition(minColWidth*2);\n gridControls.addColumnDefinition(minColWidth*3);\n gridControls.addColumnDefinition(seperatorWidth);\n gridControls.addColumnDefinition(minColWidth);\n gridControls.addColumnDefinition(minColWidth);\n gridControls.paddingLeft = \"20px\";\n gridControls.paddingRight = \"20px\";\n grid.addControl(gridControls,1,0);\n\n\n // Zeitleiste\n var sliderUI = new GUI.Slider();\n sliderUI.hoverCursor = \"pointer\";\n sliderUI.value = 0;\n sliderUI.minimum = 0;\n sliderUI.maximum = 1;\n this.video.onloadedmetadata = function() { sliderUI.maximum = this.duration;};\n sliderUI.height = \"20px\";\n sliderUI.barOffset = \"0px\";\n sliderUI.isThumbCircle = true; \n sliderUI.isThumbClamped = true;\n sliderUI.thumbColor = this.context.primaryColor;\n sliderUI.borderColor = this.context.primaryColor;\n sliderUI.background = \"#111111\";\n sliderUI.color = this.context.primaryColor;\n grid.addControl(sliderUI,0,0); \n \n // Skip Buttons\n var skipPrevBtn = new GUI.Button(\"skipPrevBtn\");\n skipPrevBtn.hoverCursor = \"pointer\";\n skipPrevBtn.thickness = 0;\n var skipPrevImg = new GUI.Image(\"\", require(\"@/assets/skip_previous.svg\"));\n skipPrevBtn.width = \"48px\";\n skipPrevBtn.height = \"48px\";\n skipPrevBtn.addControl(skipPrevImg);\n gridControls.addControl(skipPrevBtn, 0, 0);\n\n var skipNextBtn = new GUI.Button(\"skipNextBtn\");\n skipNextBtn.hoverCursor = \"pointer\";\n skipNextBtn.thickness = 0;\n var skipNextImg = new GUI.Image(\"\", require(\"@/assets/skip_next.svg\"));\n skipNextBtn.width = \"48px\";\n skipNextBtn.height = \"48px\";\n skipNextBtn.addControl(skipNextImg);\n gridControls.addControl(skipNextBtn, 0, 2);\n\n //Play/Pause Button \n var playpauseButton2 = new GUI.Button(\"playPauseBtn2\");\n playpauseButton2.hoverCursor = \"pointer\";\n playpauseButton2.thickness = 0;\n var playpauseButton2Img = new GUI.Image(\"\",require(\"@/assets/play.svg\"));\n playpauseButton2.width = \"48px\";\n playpauseButton2.height = \"48px\";\n playpauseButton2.addControl(playpauseButton2Img);\n gridControls.addControl(playpauseButton2, 0, 1);\n\n // Sound Button\n var soundBtn = new GUI.Button(\"soundBtn\");\n soundBtn.hoverCursor = \"pointer\";\n soundBtn.thickness = 0;\n var soundImage = new GUI.Image(\"\", require(\"@/assets/volume_up_white_24dp.svg\"));\n soundImage.width = \"48px\";\n soundImage.height = \"48px\";\n soundBtn.addControl(soundImage);\n gridControls.addControl(soundBtn, 0, 3);\n \n //Volume Slider\n var volumeSlider = new GUI.Slider(\"volumeSlider\");\n volumeSlider.hoverCursor = \"pointer\";\n volumeSlider.value = 1;\n volumeSlider.minimum = 0;\n volumeSlider.maximum = 1;\n volumeSlider.height = \"14px\";\n volumeSlider.barOffset = \"0px\";\n volumeSlider.isThumbCircle = true; \n volumeSlider.isThumbClamped = true;\n volumeSlider.thumbColor = this.context.primaryColor;\n volumeSlider.borderColor = this.context.primaryColor;\n volumeSlider.background = \"#111111\";\n volumeSlider.color = this.context.primaryColor;\n gridControls.addControl(volumeSlider,0,4)\n\n //Video Laufzeit Text\n var time = new GUI.TextBlock();\n // time.fontFamily = this.context.fontFamily;\n time.left = \"28px\";\n time.text = \"0:00/0:00\";\n time.color = \"#ffffff\";\n time.fontSize = 26;\n time.textHorizontalAlignment = GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;\n time.textVerticalAlignment = GUI.Control.VERTICAL_ALIGNMENT_CENTER;\n gridControls.addControl(time, 0, 5);\n\n // Galerie Button\n var showListBtn = new GUI.Button(\"showList\");\n showListBtn.hoverCursor = \"pointer\";\n showListBtn.thickness = 0;\n var showListBtnImg = new GUI.Image(\"\",require(\"@/assets/format_list_bulleted.svg\"));\n showListBtn.width = \"48px\";\n showListBtn.height = \"48px\";\n showListBtn.addControl(showListBtnImg);\n // gridControls.addControl(showListBtn, 0, 7);\n\n //Popup Video Window\n var openWindowBtn = new GUI.Button(\"openWindow\");\n openWindowBtn.hoverCursor = \"pointer\";\n openWindowBtn.thickness = 0;\n var openWindowBtnImg = new GUI.Image(\"\", require(\"@/assets/web_asset.svg\"));\n openWindowBtn.width = \"48px\";\n openWindowBtn.height = \"48px\";\n openWindowBtn.addControl(openWindowBtnImg);\n gridControls.addControl(openWindowBtn, 0, 8);\n\n this.mesh.actionManager = new BABYLON.ActionManager(window.scene);\n\n\n // INTERACTIONS ------------------------------\n let drag = false;\n let volDrag = false;\n\n var volumeValue = 0;\n\n // Open Video Gallery inside Pop-Up\n openWindowBtn.onPointerClickObservable.add(() => {\n this.video.pause();\n window.dispatchEvent(new CustomEvent(\"openURL\",{detail: {url: this.video.src}}));\n });\n\n // Open Video Gallery List\n showListBtn.onPointerClickObservable.add(()=>{\n if(this.videoList.visibility == 1){\n BABYLON.Animation.CreateAndStartAnimation(\"\", this.videoList, \"visibility\", 30,10, this.videoList.visibility, 0, 0, ease);\n BABYLON.Animation.CreateAndStartAnimation(\"\", this.videoList, \"position.y\", 30,10, this.videoList.position.y, this.videoList.position.y+10, 0, ease);\n } else {\n BABYLON.Animation.CreateAndStartAnimation(\"\", this.videoList, \"visibility\", 30,10, this.videoList.visibility, 1, 0, ease);\n BABYLON.Animation.CreateAndStartAnimation(\"\", this.videoList, \"position.y\", 30,10, this.videoList.position.y-30, this.videoList.position.y-10, 0, ease);\n }\n });\n\n //Skip Button Function\n skipPrevBtn.onPointerClickObservable.add(()=>{\n this.currentVideoIndex = this.currentVideoIndex == 0 ? this.videos.length-1 : this.currentVideoIndex-1;\n this.updateVideo();\n });\n skipNextBtn.onPointerClickObservable.add(()=>{\n this.currentVideoIndex = this.currentVideoIndex == this.videos.length-1 ? 0 : this.currentVideoIndex+1;\n this.updateVideo();\n });\n\n\n // When user starts dragging pause video\n // Detach camera otherwise camera will move while dragging the slider\n sliderUI.onPointerDownObservable.add(() => {\n drag = true;\n window.scene.activeCamera.detachControl();\n this.pauseVideo();\n }); \n\n // When user stops dragging play video\n // attach camera again\n sliderUI.onPointerUpObservable.add(() => {\n drag = false;\n window.scene.activeCamera.attachControl(document.getElementById(\"renderCanvas\"), true, false,4);\n this.video.currentTime = sliderUI.value;\n time.text = this.updateTime();\n this.playVideo();\n });\n\n // change currentTime of video when user is dragging the slider \n // changing cursor to pointer because the cursor somehow changes to default when dragging\n sliderUI.onPointerMoveObservable.add(() => {\n if(drag){\n document.getElementById(\"renderCanvas\").style.cursor = \"pointer\";\n this.video.currentTime = sliderUI.value;\n time.text = this.updateTime();\n }\n }); \n \n // Volume Behavior\n soundBtn.onPointerClickObservable.add( () => {\n if(!this.video.muted){\n soundBtn.removeControl(soundImage);\n soundImage.source = require(\"@/assets/volume_off_white_24dp.svg\");\n soundBtn.addControl(soundImage);\n volumeSlider.value = 0;\n } else {\n soundBtn.removeControl(soundImage);\n soundImage.source = require(\"@/assets/volume_up_white_24dp.svg\");\n soundBtn.addControl(soundImage);\n if(volumeValue < 0.01){\n volumeSlider.value = 1;\n } else {\n volumeSlider.value = volumeValue;\n }\n }\n this.video.volume = volumeSlider.value;\n this.video.muted = !this.video.muted;\n });\n\n\n volumeSlider.onPointerDownObservable.add(() => {\n volDrag = true;\n window.scene.activeCamera.detachControl();\n });\n volumeSlider.onPointerUpObservable.add(() => {\n volDrag = false;\n window.scene.activeCamera.attachControl(document.getElementById(\"renderCanvas\"), true, false,4);\n volumeValue = volumeSlider.value;\n this.video.volume = volumeValue;\n }); \n volumeSlider.onPointerMoveObservable.add(() => {\n if(volDrag){\n document.getElementById(\"renderCanvas\").style.cursor = \"pointer\";\n this.video.volume = volumeSlider.value;\n if(volumeSlider.value == 0){\n soundBtn.removeControl(soundImage);\n soundImage.source = require(\"@/assets/volume_off_white_24dp.svg\");\n soundBtn.addControl(soundImage);\n this.video.muted = true;\n } else {\n if(this.video.muted){\n soundBtn.removeControl(soundImage);\n soundImage.source = require(\"@/assets/volume_up_white_24dp.svg\");\n soundBtn.addControl(soundImage);\n this.video.muted = false;\n }\n volumeValue = volumeSlider.value;\n }\n }\n }); \n \n // Refresh slider value when currentTime of video changes\n // Dont update slider when user interacts with it\n this.video.ontimeupdate = () =>{\n if(!drag){\n time.text = this.updateTime();\n sliderUI.value = this.video.currentTime;\n }\n };\n\n // Refrech volume slider value when video volume changes\n this.video.onvolumechange = () =>{\n volumeSlider.value = this.video.volume; \n };\n \n // Switch pause to play Button when video is playing\n this.video.onplay = () =>{\n advancedTexture.removeControl(image);\n image = new GUI.Image(\"\", require(\"@/assets/pause-button.png\"));\n advancedTexture.addControl(image);\n playpauseButton2.removeControl(playpauseButton2Img);\n playpauseButton2Img = new GUI.Image(\"\", require(\"@/assets/pause.svg\"));\n playpauseButton2.addControl(playpauseButton2Img);\n };\n\n // Switch play to pause Button when video is paused\n this.video.onpause = () =>{\n advancedTexture.removeControl(image);\n image = new GUI.Image(\"\", require(\"@/assets/play-button.png\"));\n advancedTexture.addControl(image);\n playpauseButton2.removeControl(playpauseButton2Img);\n playpauseButton2Img = new GUI.Image(\"\", require(\"@/assets/play.svg\"));\n playpauseButton2.addControl(playpauseButton2Img);\n };\n\n // Click: play/pause video\n this.mesh.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPickTrigger, () =>{\n this.video.paused ? this.playVideo() : this.pauseVideo();\n }));\n\n playpauseButton2.onPointerClickObservable.add(()=>{\n this.video.paused ? this.playVideo() : this.pauseVideo();\n })\n \n // hover out: Hide play/pause Button\n this.mesh.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOutTrigger, function(){ \n BABYLON.Animation.CreateAndStartAnimation(\"\", playpauseButton, \"visibility\", 10,2, playpauseButton.visibility, 0, 0, ease, function(){ \n playpauseButton.setEnabled(false);\n }) \n BABYLON.Animation.CreateAndStartAnimation(\"\", background, \"visibility\", 10,2, background.visibility, 0, 0, ease, function(){ \n background.setEnabled(false);\n }) \n }));\n \n // hover over: Display play/pause Button\n this.mesh.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOverTrigger, function(){\n playpauseButton.setEnabled(true);\n BABYLON.Animation.CreateAndStartAnimation(\"\", playpauseButton, \"visibility\", 10,2, 0, 1, 0, ease);\n background.setEnabled(true);\n BABYLON.Animation.CreateAndStartAnimation(\"\", background, \"visibility\", 10,2, 0, 0.7, 0, ease);\n }));\n }\n\n createVideoList(){\n var listWinHeight = this.height + 25;\n var listWinWidth = this.height + 25;\n var listMesh = BABYLON.MeshBuilder.CreatePlane(\"VideoList\", {width: listWinWidth, height: listWinHeight, sideOrientation: BABYLON.Mesh.DOUBLESIDE}, window.scene);\n listMesh.position.x = -this.width/2 - listWinWidth/2 - 2;\n listMesh.position.y = -6;\n listMesh.position.z = 30;\n listMesh.rotation.y = 1.1 * Math.PI;\n listMesh.parent = this.mesh.parent;\n\n this.ratioX = this.controllSize / listWinWidth;\n this.ratioY = this.controllSize / listWinHeight;\n\n var itemHeightInPx = 130;\n var itemPaddingInPx = 5;\n\n var advTextureVL = GUI.AdvancedDynamicTexture.CreateForMesh(listMesh);\n\n var rect3 = new GUI.Rectangle();\n rect3.cornerRadius = 20*this.ratioX;\n rect3.thickness = 1;\n rect3.alpha = 1;\n rect3.background = rect3.color = \"#333333\";\n advTextureVL.addControl(rect3);\n\n var scrollPanel = new GUI.ScrollViewer();\n scrollPanel.thickness = 0;\n scrollPanel.color = \"transparent\";\n scrollPanel.paddingTop = 20*this.ratioY+\"px\";\n scrollPanel.paddingBottom = 20*this.ratioY+\"px\";\n scrollPanel.paddingLeft = 30*this.ratioX+\"px\";\n scrollPanel.paddingRight = \"0px\";\n scrollPanel.verticalBar.thickness = 0;\n scrollPanel.barSize = 20*this.ratioX;\n scrollPanel.scrollBackground = \"transparent\";\n advTextureVL.addControl(scrollPanel);\n\n var listWrapper = new GUI.Rectangle();\n listWrapper.thickness = 0;\n\n listWrapper.height = this.videos.length * (itemHeightInPx * this.ratioY) + \"px\";\n scrollPanel.addControl(listWrapper);\n\n var listGrid = new GUI.Grid();\n listGrid.paddingRight = 20*this.ratioX+\"px\";\n for(var i=0; i < this.videos.length; i++){\n listGrid.addRowDefinition((itemHeightInPx)*this.ratioY,true);\n };\n listWrapper.addControl(listGrid);\n \n for(var i=0; i < this.videos.length; i++){\n var videoListItem = new GUI.Rectangle(\"videoListItem\");\n videoListItem.thickness = this.currentVideoIndex == i ? 5 : 0;\n videoListItem.paddingTop = itemPaddingInPx*this.ratioY + \"px\";\n videoListItem.paddingBottom = itemPaddingInPx*this.ratioY + \"px\";\n videoListItem.cornerRadius = 5;\n videoListItem.color = this.context.primaryColor;\n videoListItem.hoverCursor = \"Pointer\";\n\n var itemGrid = new GUI.Grid();\n itemGrid.paddingTopInPixels = itemPaddingInPx*this.ratioY;\n itemGrid.paddingBottomInPixels = itemPaddingInPx*this.ratioY;\n itemGrid.paddingLeftInPixels = itemPaddingInPx*this.ratioX;\n itemGrid.paddingRightInPixels = itemPaddingInPx*this.ratioX;\n itemGrid.addColumnDefinition(0.3);\n itemGrid.addColumnDefinition(0.6);\n itemGrid.addColumnDefinition(0.1);\n videoListItem.addControl(itemGrid);\n\n var image = new GUI.Image(\"\",this.context.publicPath + this.thumbnails[i]);\n itemGrid.addControl(image,0,0);\n\n var titleValue = this.titles[i];\n\n var text = new GUI.TextBlock();\n var maxLineLength = titleValue.length > (maxLineLength*2) ? 18 : 16;\n text.fontSize = titleValue.length > (maxLineLength*2) ? 22*this.ratioY : 24*this.ratioY;\n text.text = titleValue; //this.wrapText(titleValue,maxLineLength,maxLineLength*2);\n text.textVerticalAlignment = GUI.Control.VERTICAL_ALIGNMENT_TOP;\n text.textHorizontalAlignment = GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;\n text.left = 20*this.ratioX + \"px\";\n text.color = \"white\";\n itemGrid.addControl(text,0,1);\n\n var textTime = new GUI.TextBlock();\n textTime.textVerticalAlignment = GUI.Control.VERTICAL_ALIGNMENT_BOTTOM;\n textTime.textHorizontalAlignment = GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;\n textTime.fontSize = 20*this.ratioY;\n textTime.left = 20*this.ratioX + \"px\";\n textTime.text = this.durrations[i]; // ZEIT hier ändern!\n textTime.color = \"#ffffff\";\n itemGrid.addControl(textTime,0,1);\n\n var btn = new GUI.Button();\n btn.hoverCursor =\"pointer\";\n btn.width = 48*this.ratioX+\"px\";\n btn.height = 48*this.ratioY+\"px\";\n btn.thickness = 0;\n var btnImg = new GUI.Image(\"\", require(\"@/assets/play.svg\"));\n btn.addControl(btnImg);\n\n itemGrid.addControl(btn,0,2);\n\n listGrid.addControl(videoListItem,i,0);\n\n // Interactions\n const t = i;\n videoListItem.onPointerClickObservable.add(()=>{\n this.currentVideoIndex = t;\n this.updateVideo(true);\n });\n\n const videoListItemCopy = videoListItem;\n videoListItem.onPointerEnterObservable.add(()=>{\n videoListItemCopy.background = \"#444444\";\n });\n videoListItem.onPointerOutObservable.add(()=>{\n videoListItemCopy.background = \"transparent\";\n });\n };\n this.listGrid = listGrid;\n this.videoList = listMesh;\n\n // Block Zooming on scroll\n listMesh.actionManager = new BABYLON.ActionManager(window.scene);\n listMesh.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOverTrigger, () => {\n this.context.setEnableZooming(false);\n }));\n listMesh.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOutTrigger, () => {\n this.context.setEnableZooming(true);\n }));\n\n //detach and attach Camera on scrollbar-hover\n scrollPanel.verticalBar.onPointerDownObservable.add(()=>{\n window.scene.activeCamera.detachControl();\n });\n scrollPanel.verticalBar.onPointerUpObservable.add(()=>{\n window.scene.activeCamera.attachControl(document.getElementById(\"renderCanvas\"), true, false, 4);\n });\n }\n\n wrapText(string, maxLineLetterCount, maxTitleLetterCount){\n var words = string.split(\" \");\n var lineArray = [];\n var lineLetterCount = 0;\n var totalLetterCount = 0;\n for(var i = 0; i maxLineLetterCount){\n lineArray.push(\"\\n\");\n lineLetterCount = 0;\n } else {\n lineLetterCount += words[i].length;\n \n }\n totalLetterCount += words[i].length;\n lineArray.push(words[i]);\n } else {\n lineArray.push(\"...\");\n break;\n }\n }\n \n var lineString = \"\";\n for(var j = 0; j { this.playVideo(); }, 500);\n \n if(playVideo)\n setTimeout(() => { this.playVideo(); }, 500);\n \n this.video.src = this.context.publicPath + this.videos[this.currentVideoIndex];\n }\n\n updateTime(){ \n let currenTime = this.formatTime(this.video.currentTime);\n let duration = this.formatTime(this.video.duration);\n return currenTime + \"/\" + duration;\n }\n\n formatTime(time){\n var mins = Math.floor(time / 60);\n var secs = Math.floor(time - mins * 60);\n return mins + \":\" + (secs < 10 ? \"0\" : \"\") + secs;\n }\n \n enable(){\n super.enable(); \n this.playVideo();\n }\n\n disable(){\n super.disable();\n this.pauseVideo();\n }\n\n playVideo(){\n for (let i = 0; i < this.listGrid.children.length; i++) {\n if(i == this.currentVideoIndex){\n this.listGrid.children[i].children[0].children[3].children[0].source = require(\"@/assets/pause.svg\");\n }\n }\n this.video.play();\n }\n\n pauseVideo(){\n for (let i = 0; i < this.listGrid.children.length; i++) {\n if(i == this.currentVideoIndex){\n this.listGrid.children[i].children[0].children[3].children[0].source = require(\"@/assets/play.svg\");\n }\n }\n this.video.pause();\n }\n}\n\nexport default Video;\n\n","import * as BABYLON from 'babylonjs';\nimport BasicComponent from './BasicComponent';\nimport MediaManager from '@/api/MediaManager';\n\nclass VideoSphere extends BasicComponent {\n getType() { return \"VideoSphere\"; }\n\n constructor( { id } = {} ) {\n super( { id });\n this.context= undefined;\n this.prefab = undefined;\n this.video = undefined;\n\n this.situationID = undefined;\n }\n\n construct( context, prefab ) {\n console.log(\"Construct VideoSphere\");\n\n context.setLoadingscreenVisible(true);\n\n this.prefab = prefab;\n this.context = context;\n this.situationID = context.currentSituationID;\n\n const base = super.construct( context, prefab ).getRootNode();\n const name = \"SituationVideo_\"+ prefab.getSphereVideoID();\n const panoramaVideo = MediaManager.getMedia(prefab.getSphereVideoID());\n \n if(context.currentSituationID == 308271){\n \n const photoDome = new BABYLON.PhotoDome(name, context.publicPath+\"/media/Jabil/Video Empfang Test.jpg\",{ \n resolution:32,\n faceForward: false,\n size: 400 \n }, window.scene);\n photoDome.parent = base;\n\n let sphere = BABYLON.MeshBuilder.CreateSphere(\"Sphere\", {arc: 0.25,diameterX: 399.5, diameterY: 399.5, diameterZ: 399.5});\n sphere.scaling.y = -1;\n sphere.rotation.y = 4.6355945;\n sphere.parent = base;\n\n let videoTexture = new BABYLON.VideoTexture(\"\", context.publicPath+\"/media/Jabil/Video1.mp4\", window.scene, false, false, BABYLON.TRILINEAR_SAMPLINGMODE, { \n autoPlay: false,\n autoUpdateTexture: true,\n muted: true,\n preload: \"metadata\"\n })\n videoTexture.video.preload = \"metadata\";\n videoTexture.video.autoPlay = context.enablePanoramaVideoAutoplay;\n\n let videoMaterial = new BABYLON.StandardMaterial(\"videoMaterial\", window.scene);\n videoMaterial.diffuseTexture = videoTexture; \n videoMaterial.emissiveColor = BABYLON.Color3.White();\n videoMaterial.opacityTexture = new BABYLON.Texture(context.publicPath+\"/media/Jabil/Alpha1.png\", window.scene); \n videoMaterial.disableLighting = true; \n videoMaterial.backFaceCulling = false;\n sphere.material = videoMaterial;\n\n this.video = videoTexture.video;\n\n }else{\n const myVideoDome = new BABYLON.VideoDome(name, panoramaVideo.getURL(), { \n resolution:32, \n clickToPlay: false, \n loop: false,\n autoPlay: context.enablePanoramaVideoAutoplay,\n poster:\"\",\n size: 400, \n faceForward: false,\n }, window.scene);\n myVideoDome.parent = base;\n \n this.video = myVideoDome.videoTexture.video;\n }\n\n // update runtimestate: update loaded data of video in %\n this.video.onprogress = function() {\n var bf = this.buffered;\n var loadedPercentage = bf.length > 0 ? (bf.end(bf.length-1) / this.duration) *100: 0;\n loadedPercentage = context.$browserDetect.isFirefox && loadedPercentage > 70 ? 100 : loadedPercentage; //Firefox wont trigger progress again when video completely loaded\n context.updateRuntimeState({id: prefab.getID(),percentageLoaded: loadedPercentage});\n }\n\n // update runtimestate: change currenTime when the panorama video currenttime changed\n // timeupdate event fires when the panorama video attribute currentTime changed\n this.video.ontimeupdate = () => {\n context.updateRuntimeState({id: this.prefab.getID(),currentTime: this.video.currentTime});\n };\n \n // update runtimestate: change duration when the panorama video meta data are loaded (meta data include duration of video)\n this.video.onloadedmetadata = () => {\n context.updateRuntimeState({id: this.prefab.getID(),duration: this.video.duration});\n setTimeout(() => {\n context.setLoadingscreenVisible(false); //Disable loadingscreen when meta data is loaded to prevent white screen\n }, 500);\n };\n \n // update runtimestate: change playstate of video to paused when video ended\n this.video.onended = () => {\n this.pause();\n };\n \n // update runtimestate: set playing state based on video autoplay\n context.updateRuntimeState({id: this.prefab.getID(),paused: !context.enablePanoramaVideoAutoplay}); \n\n\n /** Edge cases **/ \n \n // Chrome shows blackscreen as thumbnail -> happens when video is not autoplayed or browser stops autoplaying\n // quickly play and pause video to get first frame as thumbnail\n if(this.video.paused && context.$browserDetect.isChrome){\n console.log(\"VideoSphere: fixing Chrome thumbnail\");\n\n // muted videos can be autoplayed\n // mute and play Video to get thumbnail, \n this.video.muted = true;\n let promise = this.video.play();\n \n // After play is successful pause and unmute video again\n promise.then( ()=>{\n this.pause(); \n this.video.muted = false;\n \n // Ensure autoplay after user interaction for chrome\n if(context.enablePanoramaVideoAutoplay){\n this.play();\n console.log(\"VideoSphere: adding function to simulate Autoplay - Chrome\");\n window.scene.onPointerDown = () => {\n if(this.situationID == this.context.currentSituationID)\n this.play();\n }\n }\n })\n }\n\n\n // if autoplay is enabled and video is paused the browser stopped autoplay -> happens when first situation contains a video and the video is not muted\n // Modern Browsers stop autoplay of videos with sound on when the user didnt interact with the document first\n // Runs when meta data is loaded because safari stops video when metacdata is loaded\n /* TODO: Display an Overlay to force the user to interact with the document first. With that we can get Autoplay with sound on */\n this.video.addEventListener(\"loadedmetadata\",() => {\n if(this.video.paused && context.enablePanoramaVideoAutoplay){\n console.log(\"VideoSphere: adding function to simulate Autoplay\");\n this.pause(); //Call pause again to update runtimestate\n window.scene.onPointerDown = () => {\n if(this.situationID == this.context.currentSituationID)\n this.play();\n }\n }\n });\n\n return base;\n }\n\n \n enable(){\n super.enable();\n if(this.context.enablePanoramaVideoAutoplay)\n this.play(); \n }\n\n disable(){\n super.disable();\n this.pause();\n }\n\n pause(){\n super.pause();\n this.video.pause();\n this.context.updateRuntimeState({id: this.prefab.getID(),paused: this.video.paused}); \n }\n\n play(){\n super.play();\n this.video.play(); \n this.context.updateRuntimeState({id: this.prefab.getID(),paused: this.video.paused}); \n \n // Remove onPointerDown when user plays video\n if(window.scene.onPointerDown)\n window.scene.onPointerDown = undefined;\n }\n\n jumpToTimePosition(time){\n super.jumpToTimePosition(time);\n this.video.currentTime = time;\n this.context.updateRuntimeState({id: this.prefab.getID(),currentTime: time}); \n }\n\n changeVolume(volume){\n super.changeVolume(volume);\n this.video.volume = volume;\n this.video.muted = volume == 0;\n this.context.updateRuntimeState({id: this.prefab.getID(),volume: volume}); \n }\n\n update () {\n\n }\n}\n\nexport default VideoSphere;\n\n","import * as BABYLON from 'babylonjs';\nimport VisualComponent from './VisualComponent';\nimport MediaManager from '@/api/MediaManager';\n\nclass Viewer3D extends VisualComponent {\n getType() { return \"Viewer3D\"; }\n\n constructor( { id } = {} ) {\n super( { id });\n }\n\n construct(context, prefab) {\n const base = super.construct( context, prefab );\n\n if(prefab.getURL()){\n\n this.mesh.actionManager = new BABYLON.ActionManager(this.scene);\n \n this.mesh.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPickTrigger, () => {\n window.dispatchEvent(new CustomEvent(\"openViewer3D\",{detail:{\n meshURL: MediaManager.getMedia(prefab.getURL()).getURL(), \n name: prefab.getName(),\n }}));\n }));\n\n var ease = new BABYLON.CubicEase();\n ease.setEasingMode(BABYLON.EasingFunction.EASINGMODE_EASEINOUT);\n\n this.mesh.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOutTrigger, () => {\n BABYLON.Animation.CreateAndStartAnimation(\"\", this.mesh, \"scaling\", 30,10, this.mesh.scaling, new BABYLON.Vector3.One(), 0, ease); \n }));\n\n this.mesh.actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOverTrigger, () => {\n BABYLON.Animation.CreateAndStartAnimation(\"\", this.mesh, \"scaling\", 30,10, this.mesh.scaling, new BABYLON.Vector3.One().scale(1.1), 0, ease);\n }));\n }\n\n return base;\n }\n \n}\n\nexport default Viewer3D;\n","import * as BABYLON from 'babylonjs';\nimport { Prefab } from '@/store/flux360/PrefabDataTypes';\n\nimport { Audio, BasicComponent, Text, Transition, URLButton, User, Image, Video, VideoList, ImageSphere, VideoSphere, NotifyPosition, Viewer3D } from '@/components/flux360/components';\n\nclass Constructor {\n getType() { return \"Prefab\"; }\n\n construct( context, prefab ) {\n return new BasicComponent( \n { \n id: prefab.getSituationID ? prefab.getSituationID() : undefined,\n rootNode: new BABYLON.TransformNode(prefab.getType() + \"_\" + prefab.getID(), window.scene)\n });\n }\n}\n\nclass TextConstructor extends Constructor {\n getType() { return Prefab.PrefabType.TextContent; }\n\n construct( context, prefab ) {\n let t = new Text();\n t.construct( context, prefab );\n return t;\n }\n \n}\n\nclass VideoConstructor extends Constructor {\n getType() { return Prefab.PrefabType.VideoContent; }\n\n construct( context, prefab ) {\n console.log(\"VideoConstructor - starting to construct...\");\n let v = new Video();\n v.construct( context, prefab );\n return v;\n }\n \n}\n\nclass VideoListConstructor extends Constructor {\n getType() { return Prefab.PrefabType.VideoListContent; }\n\n construct( context, prefab ) {\n console.log(\"VideoListConstructor - starting to construct...\");\n let v = new VideoList();\n v.construct( context, prefab );\n return v;\n }\n \n}\n\nclass ImageConstructor extends Constructor {\n getType() { return Prefab.PrefabType.ImageContent; }\n\n construct( context, prefab ) {\n console.log(\"ImageConstructor - starting to construct...\");\n let i = new Image();\n i.construct( context, prefab );\n return i;\n }\n \n}\n\nclass NotifyPositionConstructor extends Constructor {\n getType() { return \"NotifyPositionEvent\"; }\n\n construct( context, event ) {\n let i = new NotifyPosition();\n i.construct( context, event );\n return i;\n }\n \n}\n\n\nclass TransitionConstructor extends Constructor {\n getType() { return Prefab.PrefabType.Transition; }\n\n construct( context, prefab ) {\n let t = new Transition();\n t.construct( context, prefab );\n return t;\n }\n}\n\n\nclass URLButtonConstructor extends Constructor {\n getType() { return Prefab.PrefabType.URLButton }\n\n construct( context, prefab ) {\n let urlB = new URLButton();\n urlB.construct( context, prefab );\n return urlB;\n }\n}\n\nclass Viewer3DConstructor extends Constructor {\n getType() { return Prefab.PrefabType.Viewer3D }\n\n construct( context, prefab ) {\n let viewer = new Viewer3D();\n viewer.construct( context, prefab );\n return viewer;\n }\n}\n\nclass SituationVideoConstructor extends Constructor {\n getType() { return Prefab.PrefabType.SituationVideo; }\n\n construct( context, prefab ) {\n let vSph = new VideoSphere();\n vSph.construct( context, prefab );\n return vSph;\n }\n\n}\n\nclass AudioConstructor extends Constructor {\n getType() { return Prefab.PrefabType.AudioContent; }\n\n construct( context, prefab ) {\n let audio = new Audio();\n audio.construct( context, prefab );\n return audio;\n }\n \n}\n\nclass SituationImageConstructor extends Constructor {\n getType() { return Prefab.PrefabType.SituationImage; }\n\n construct( context, prefab ) {\n let iSph = new ImageSphere();\n iSph.construct( context, prefab );\n return iSph;\n }\n \n}\n\nclass UserCursorConstructor extends Constructor {\n getType() { return \"User\"; }\n\n construct( context, user ) {\n let t = new User();\n t.construct( context, user );\n return t;\n }\n}\n\nclass ConstructorManager\n{\n constructor() {\n this.constructors = new Map();\n }\n\n registerConstructor( c ) {\n if( c.getType ) {\n this.constructors.set( c.getType(), c );\n }\n }\n\n constructPrefabSubgraph( context, prefab ) {\n if( this.constructors.has( prefab.getType() )){\n return this.constructors.get(prefab.getType()).construct( context, prefab );\n }\n return this.constructors.get(\"Prefab\").construct( context, prefab );\n }\n}\n\nconst instance = new ConstructorManager();\n\ninstance.registerConstructor( new TextConstructor() );\ninstance.registerConstructor( new ImageConstructor() );\ninstance.registerConstructor( new VideoConstructor() );\ninstance.registerConstructor( new VideoListConstructor() );\ninstance.registerConstructor( new TransitionConstructor() );\ninstance.registerConstructor( new SituationImageConstructor() );\ninstance.registerConstructor( new SituationVideoConstructor() );\ninstance.registerConstructor( new UserCursorConstructor() );\ninstance.registerConstructor( new AudioConstructor() );\ninstance.registerConstructor( new URLButtonConstructor() );\ninstance.registerConstructor( new Viewer3DConstructor() );\ninstance.registerConstructor( new NotifyPositionConstructor() );\ninstance.registerConstructor( new Constructor() );\n\nObject.freeze(instance);\n\nexport default instance;","import { v4 as uuidv4 } from 'uuid';\n\nclass Event {\n\n constructor({ id, userID, situationID, time, type, duration }) {\n this.id = id ? id : uuidv4();\n Object.assign(this, { userID, situationID });\n this.type = type ? type : \"Event\";\n this.time = time ? time : Date.now();\n this.duration = duration ? duration : 1000\n }\n\n getType() { return this.type; }\n\n setID(id) { this.id = id; return this; }\n getID() { return this.id; }\n\n setUserID(id) { this.userID = id; return this; }\n getUserID() { return this.userID; }\n\n setSituationID(id) { this.situationID = id; return this; }\n getSituationID() { return this.situationID; }\n\n setTime(time) { this.time = time; return this; }\n getTime() { return this.time; }\n\n setDuration(duration) { this.duration = duration; return this; }\n getDuration() { return this.duration; }\n\n isOfType(type) {\n return type === this.type;\n }\n\n parseFromJSON(json) {\n if (json && json.id) {\n this\n .setID(json.id)\n .setUserID(json.userID)\n .setSituationID(json.situationID)\n .setTime(json.time)\n .setDuration(json.duration)\n } else {\n console.error(\"Trying to parse unknown event type\");\n }\n return this;\n }\n}\n\nclass NotifyPositionEvent extends Event {\n constructor({ id, userID, situationID, time, duration,\n position,\n rotation,\n color\n } = {}) {\n super({ id, userID, situationID, time, duration, type: \"NotifyPositionEvent\" });\n Object.assign(this, { position, rotation, color });\n }\n\n isOfType(type) {\n return type === this.type || super.isOfType(type);\n }\n\n setPosition(pos) { this.position = pos; return this; }\n getPosition() { return this.position; }\n\n setRotation(rot) { this.rotation = rot; return this; }\n getRotation() { return this.rotation; }\n\n setColor(color) { this.color = color; return this; }\n getColor() { return this.color; }\n\n parseFromJSON(json) {\n if (json && json.id) {\n super.parseFromJSON( json )\n .setPosition(json.position)\n .setRotation(json.rotation)\n .setColor(json.color)\n } else {\n console.error(\"Trying to parse unknown event type\");\n }\n return this;\n }\n\n createFromJSON( json ) {\n return new NotifyPositionEvent().parseFromJSON( json );\n } \n}\n\nclass EventBuilder {\n constructor() {\n this.supportedEventTypes = new Map();\n }\n\n registerEventType( event ) {\n if( event.getType ) {\n this.supportedEventTypes.set( event.getType(), event );\n }\n }\n\n createFromJSON( json ) {\n if( json && json.type ) {\n console.log(\"Trying to instantiate an event for type \" + json.type);\n if( this.supportedEventTypes.has( json.type ) ) \n return this.supportedEventTypes.get( json.type ).createFromJSON( json );\n else\n console.log(\"Unknown event type \" + json.type );\n } else {\n // Unknown datatype...\n console.error(\"Trying to parse unknown event type \");\n }\n }\n}\n\nconst EventBuilderInstance = new EventBuilder();\nObject.freeze(EventBuilderInstance);\n\nEventBuilderInstance.registerEventType( new NotifyPositionEvent() );\n\nexport { Event, EventBuilder, EventBuilderInstance, NotifyPositionEvent }\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('SituationOverlays'),_c('VideoLink',{attrs:{\"situationID\":637535,\"_name\":'Imagefilme2',\"previewVideo\":'GB_IF_Imagefilm 20190906.mp4',\"video\":{name:'Imagefilm',url:'https://www.youtube.com/embed/videos?list=PL6KoTp9p58uC6sQK1Gsk2bv5EpnjzHAW4'},\"screenSize\":{width:156,height:89},\"position\":{x:-242.2,y:43,z:-400}}}),_c('IntroMenu',{attrs:{\"situationID\":637535,\"position\":{x:-180, y:8, z:-22},\"scaling\":0.7}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VideoLink.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VideoLink.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VideoLink.vue?vue&type=template&id=ef6ac732\"\nimport script from \"./VideoLink.vue?vue&type=script&lang=js\"\nexport * from \"./VideoLink.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"SituationOverlays\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SituationOverlays.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SituationOverlays.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SituationOverlays.vue?vue&type=template&id=d242abd8\"\nimport script from \"./SituationOverlays.vue?vue&type=script&lang=js\"\nexport * from \"./SituationOverlays.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntroMenu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntroMenu.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./IntroMenu.vue?vue&type=template&id=c14430b0\"\nimport script from \"./IntroMenu.vue?vue&type=script&lang=js\"\nexport * from \"./IntroMenu.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomSituations.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomSituations.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CustomSituations.vue?vue&type=template&id=07127632\"\nimport script from \"./CustomSituations.vue?vue&type=script&lang=js\"\nexport * from \"./CustomSituations.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PanoramaScene.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PanoramaScene.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PanoramaScene.vue?vue&type=template&id=7162e62e\"\nimport script from \"./PanoramaScene.vue?vue&type=script&lang=js\"\nexport * from \"./PanoramaScene.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RenderController.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RenderController.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RenderController.vue?vue&type=template&id=b40f4afe\"\nimport script from \"./RenderController.vue?vue&type=script&lang=js\"\nexport * from \"./RenderController.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('md-app',{staticStyle:{\"width\":\"100%\"}},[_c('md-app-drawer',{staticStyle:{\"pointer-events\":\"auto\"},attrs:{\"md-permanent\":\"full\"}},[_c('md-toolbar',{staticClass:\"md-transparent\",attrs:{\"md-elevation\":\"1\"}},[(_vm.panoramaTour)?_c('p',[_vm._v(_vm._s(_vm.panoramaTour.getName()))]):_vm._e()]),_c('md-list',{staticClass:\"md-double-line\"},[_c('md-subheader',[_vm._v(\"Situation\")]),_c('md-list-item',[_c('div',{staticClass:\"md-list-item-text\"},[(_vm.currentSituation)?_c('span',[_vm._v(_vm._s(_vm.currentSituation.getName()))]):_vm._e(),_c('span',[_vm._v(\"Name\")])])]),_c('md-divider'),_c('md-subheader',[_vm._v(\"User\")]),_c('md-list-item',[_c('div',{staticClass:\"md-list-item-text\"},[_c('span',[_vm._v(_vm._s(_vm.localUser.getID())+\" \")]),_c('span',[_vm._v(\"ID \")])])]),_c('md-list-item',[_c('div',{staticClass:\"md-list-item-text\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.acronym),expression:\"acronym\"}],domProps:{\"value\":(_vm.acronym)},on:{\"input\":function($event){if($event.target.composing)return;_vm.acronym=$event.target.value}}}),_c('span',[_vm._v(\"Acronym\")])])]),_c('md-list-item',[_c('div',{staticClass:\"md-list-item-text\"},[_c('span',[_vm._v(_vm._s(_vm.localUser.getRotation())+\" \")]),_c('span',[_vm._v(\"Rotation \")])])]),_c('md-subheader',[_vm._v(\"Users\")]),_c('md-list-item',[_c('button',{on:{\"click\":_vm.addUser}},[_vm._v(\"Add User\")])]),_vm._l((_vm.remoteUsersInCurrentSituation),function(u){return _c('md-list-item',{key:u.getID()},[_vm._v(\" \"+_vm._s(u.getID())+\" \")])})],2),_c('md-list-item',[_c('button',{on:{\"click\":_vm.playSound}},[_vm._v(\"Play\")])]),_c('md-list-item',[_c('button',{on:{\"click\":_vm.pauseSound}},[_vm._v(\"Pause\")])]),_c('md-list-item',[_c('button',{on:{\"click\":_vm.jumpTo}},[_vm._v(\"JumpTo\")])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {v4 as uuidv4} from 'uuid';\n\nclass User {\n\n constructor ({id, name, acronym, color, currentSituationID = undefined, role = 'visitor', cmsID, isCMSUser} = {}) {\n this.id = id ? id : uuidv4();\n Object.assign( this, { name, acronym, color, role, cmsID, isCMSUser } );\n this.currentSituationID = currentSituationID;\n this.rotation = undefined;\n this.position = undefined;\n this.gazePosition = undefined;\n this.cursorPosition = undefined;\n this.userIcon = undefined;\n this.resetShouldSync();\n }\n\n getType() { return \"User\"; }\n\n setShouldSync( fullSync ) { \n if( fullSync ) {\n this.update = this.getSharedProperties();\n }\n this.shouldSync = true; \n return this; \n }\n\n resetShouldSync() { \n this.shouldSync = false; \n this.update = {\n id: this.id\n };\n return this; \n }\n ifShouldSync() { return this.shouldSync; }\n\n // TODO: consider if this would be better as immutable property?\n setID (id) {\n this.id = id;\n this.update.id = id;\n return this;\n }\n\n setRotation (rotation) {\n //console.log(\"Setting user rotation \" + JSON.stringify(rotation));\n this.rotation = rotation;\n this.update.rotation = rotation;\n return this;\n }\n\n setPosition (position) {\n this.position = position;\n this.update.position = position;\n return this;\n }\n\n setGazePosition (position) {\n this.gazePosition = position;\n this.update.gazePosition = position;\n return this;\n }\n\n setCursorPosition (position) {\n this.cursorPosition = position;\n this.update.cursorPosition = position;\n return this;\n }\n\n setName (value) {\n this.name = value;\n this.update.name = value;\n return this;\n }\n\n setCMSID( id ) {\n this.cmsID = id;\n return this;\n }\n\n setIsCMSUser( value ) {\n this.isCMSUser = value;\n return this;\n }\n\n setAcronym (value) {\n this.acronym = value;\n this.update.acronym = value;\n return this;\n }\n\n setUserIcon (value) {\n this.userIcon = value;\n return this;\n }\n\n setColor (value) {\n this.color = value;\n this.update.color = value;\n return this;\n }\n\n setRole( value ) {\n this.role = value;\n this.update.role = value;\n return this;\n }\n\n getID () {\n return this.id;\n }\n\n getRotation () {\n return this.rotation;\n }\n\n getPosition () {\n return this.position;\n }\n\n getGazePosition () {\n return this.gazePosition;\n }\n\n getCursorPosition () {\n return this.cursorPosition;\n }\n\n getName () {\n return this.name;\n }\n\n getAcronym () {\n return this.acronym;\n }\n\n getColor () {\n return this.color;\n }\n\n getRole() {\n return this.role;\n }\n\n getUserIcon(){\n return this.userIcon;\n }\n\n getCMSID() {\n return this.cmsID;\n }\n\n isCMSUSer() {\n return this.isCMSUSer;\n }\n\n setCurrentSituationID (id) {\n if (!Number.isInteger(id))\n id = parseInt(id);\n const oldSituation = this.currentSituationID;\n if( id !== this.currentSituationID ) {\n // console.log(\"User(\" + this.id + \"): Changing Situation ID from \" + this.currentSituationID + \" to \" + id);\n this.currentSituationID = id;\n this.update.currentSituationID = id;\n this.shouldSync = true;\n }\n return oldSituation;\n }\n\n getCurrentSituationID () {\n return this.currentSituationID;\n }\n\n // Returns those properties that are supposed to be shared over the network\n getSharedProperties() {\n return {\n id: this.id,\n name: this.name,\n acronym: this.acronym,\n color: this.color,\n currentSituationID: this.currentSituationID,\n role: this.role,\n rotation: this.rotation,\n position: this.position,\n gazePosition: this.gazePosition,\n cursorPosition: this.cursorPosition\n }\n }\n\n getUpdatedProperties() {\n return this.update;\n }\n}\n\nexport {User}\n","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PanoramaSceneUI.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PanoramaSceneUI.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PanoramaSceneUI.vue?vue&type=template&id=24ecc1af\"\nimport script from \"./PanoramaSceneUI.vue?vue&type=script&lang=js\"\nexport * from \"./PanoramaSceneUI.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * Called by vuex stores in case of exceptions/errors.\n *\n * @param error\n */\nexport const errorHandler = (error) => {\n // TODO: emit an event indicating login failure\n console.error(error);\n alert(error.message);\n};\n\n","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Flux360.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Flux360.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Flux360.vue?vue&type=template&id=724727fb\"\nimport script from \"./Flux360.vue?vue&type=script&lang=js\"\nexport * from \"./Flux360.vue?vue&type=script&lang=js\"\nimport style0 from \"./Flux360.vue?vue&type=style&index=0&id=724727fb&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"MapDialogue\",on:{\"click\":function($event){return _vm.toggleMap();}}},[(_vm.mapURL)?_c('div',{staticClass:\"md-container-specific\",on:{\"click\":function($event){return $event.stopPropagation()}}},[_c('img',{staticClass:\"md-map\",attrs:{\"src\":_vm.publicPath+'/media/'+_vm.mapURL,\"alt\":\"\"}}),_vm._l((_vm.sortedSituations),function(s,i){return _c('SituationPin',{key:s.id,staticClass:\"md-sp\",style:({'left': _vm.mapPins[i] ? _vm.mapPins[i].left : '', 'top': _vm.mapPins[i] ? _vm.mapPins[i].top : ''}),attrs:{\"situation\":s}})})],2):_c('div',{staticClass:\"md-container-generic\"},_vm._l((_vm.sortedSituations),function(s){return _c('SituationCard',{key:s.id,staticClass:\"md-card\",attrs:{\"situation\":s}})}),1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"spContainer\",staticClass:\"sp-container\",on:{\"mouseenter\":function($event){return _vm.showSituationCard()},\"mouseleave\":function($event){return _vm.showSituationCard()}}},[_c('div',{on:{\"click\":function($event){return _vm.gotoSituation()}}},[_c('div',{staticClass:\"sp-dot\",class:{ 'sp-currentSituation': _vm.currentSituationID == _vm.situation.id}}),(_vm.usersLength && _vm.enableCommunication)?_c('div',{staticClass:\"sp-ppl\"},[_vm._v(_vm._s(_vm.usersLength))]):_vm._e()]),_c('transition',{attrs:{\"name\":\"fade\"}},[_c('SituationCard',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showCard),expression:\"showCard\"}],ref:\"spCard\",staticClass:\"sp-card\",style:(_vm.cardPosition),attrs:{\"situation\":_vm.situation}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"SituationCard\",on:{\"click\":function($event){return _vm.handleGotoSituationTransition({situationID: _vm.situation.id})}}},[_c('img',{staticClass:\"sc-thumbnail\",class:{'sc-thumbnail-highlight': _vm.currentSituationID == _vm.situation.id},attrs:{\"src\":_vm.publicPath+'/media/'+_vm.panoramaTour.getName()+'/'+_vm.situation.name.trim()+'.'+_vm.thumbnailType,\"alt\":\"\"}}),_c('span',{staticClass:\"sc-name\"},[_vm._v(_vm._s(_vm.situation.name))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SituationCard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SituationCard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SituationCard.vue?vue&type=template&id=40f08ad4&scoped=true\"\nimport script from \"./SituationCard.vue?vue&type=script&lang=js\"\nexport * from \"./SituationCard.vue?vue&type=script&lang=js\"\nimport style0 from \"./SituationCard.vue?vue&type=style&index=0&id=40f08ad4&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"40f08ad4\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SituationPin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SituationPin.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SituationPin.vue?vue&type=template&id=93c46e92\"\nimport script from \"./SituationPin.vue?vue&type=script&lang=js\"\nexport * from \"./SituationPin.vue?vue&type=script&lang=js\"\nimport style0 from \"./SituationPin.vue?vue&type=style&index=0&id=93c46e92&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n \n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapDialogue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapDialogue.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MapDialogue.vue?vue&type=template&id=5e90d808&scoped=true\"\nimport script from \"./MapDialogue.vue?vue&type=script&lang=js\"\nexport * from \"./MapDialogue.vue?vue&type=script&lang=js\"\nimport style0 from \"./MapDialogue.vue?vue&type=style&index=0&id=5e90d808&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5e90d808\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"MediaController\",class:{'mcp-permanentPanel':_vm.enablePermanentPanoramaVideoControls}},[_c('div',{staticClass:\"mcp-container\"},[_c('md-button',{staticClass:\"md-icon-button mcp-playpause\",on:{\"click\":_vm.togglePlayingState}},[(_vm.playingState)?_c('PauseIcon'):_c('PlayIcon')],1),_c('span',{staticClass:\"mcp-slider-container mcp-progress-slider-container\"},[_c('input',{staticClass:\"mcp-slider mcp-progress-slider\",style:(_vm.progressSliderBackground),attrs:{\"type\":\"range\"},domProps:{\"value\":_vm.currentTime/_vm.duration*100},on:{\"input\":function($event){return _vm.changeSlider($event)}}})]),_c('span',{staticClass:\"mcp-progress\"},[_c('span',[_vm._v(_vm._s(_vm.format(_vm.currentTime))+\" / \")]),_c('span',{staticClass:\"mcp-progress-durration\"},[_vm._v(_vm._s(_vm.format(_vm.duration)))])]),_c('span',{staticClass:\"mcp-volume\"},[_c('md-button',{staticClass:\"md-icon-button mcp-volume-button\",on:{\"click\":function($event){return _vm.toggleVolume()}}},[(_vm.volume > .66)?_c('VolumeHigh'):(_vm.volume > .33)?_c('VolumeMedium'):(_vm.volume > 0)?_c('VolumeLow'):_c('VolumeMuteIcon')],1),_c('span',{staticClass:\"mcp-slider-container mcp-volume-slider-container\"},[_c('input',{staticClass:\"mcp-slider mcp-volume-slider\",style:(_vm.volumeSliderBackground),attrs:{\"type\":\"range\"},domProps:{\"value\":_vm.volume*100},on:{\"input\":function($event){return _vm.changeVolume($event)}}})])],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaController.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaController.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MediaController.vue?vue&type=template&id=5bce7096&scoped=true\"\nimport script from \"./MediaController.vue?vue&type=script&lang=js\"\nexport * from \"./MediaController.vue?vue&type=script&lang=js\"\nimport style0 from \"./MediaController.vue?vue&type=style&index=0&id=5bce7096&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5bce7096\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('transition',{attrs:{\"name\":\"fade\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.moderatorInSession && _vm.isOnboardingComplete && _vm.enableWaitForModerator),expression:\"!moderatorInSession && isOnboardingComplete && enableWaitForModerator\"}],staticClass:\"WaitForModeratorDialogue\"},[_c('div',{staticClass:\"wm-container\"},[_c('ClockTimeFiveOutline'),_c('h1',{staticClass:\"wm-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('Auf einen Moderator warten...')))])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n \n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WaitForModeratorDialogue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WaitForModeratorDialogue.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./WaitForModeratorDialogue.vue?vue&type=template&id=457aaded&scoped=true\"\nimport script from \"./WaitForModeratorDialogue.vue?vue&type=script&lang=js\"\nexport * from \"./WaitForModeratorDialogue.vue?vue&type=script&lang=js\"\nimport style0 from \"./WaitForModeratorDialogue.vue?vue&type=style&index=0&id=457aaded&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"457aaded\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"watermark\"},[_c('img',{attrs:{\"src\":_vm.publicPath+'/media/'+_vm.mediaURL+_vm.logoURL}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Watermark.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Watermark.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Watermark.vue?vue&type=template&id=18e3a49f\"\nimport script from \"./Watermark.vue?vue&type=script&lang=js\"\nexport * from \"./Watermark.vue?vue&type=script&lang=js\"\nimport style0 from \"./Watermark.vue?vue&type=style&index=0&id=18e3a49f&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"Navigation\"},[_c('button',{staticClass:\"na-gallery\",class:{'active':_vm.situationGalleryVisible},on:{\"click\":_vm.toggleGallery}},[_c('div',{staticClass:\"na-gallery-bg\"}),_c('span',{staticClass:\"situationName\"},[_vm._v(_vm._s(_vm.currentSituation ? _vm.currentSituation.getName() : \"undefined\"))]),_c('div',{staticClass:\"chevron-wrapper\"},[(!_vm.situationGalleryVisible)?_c('ChevronDown'):_c('ChevronUp')],1)]),_c('div',{staticClass:\"na-navbar\"},[_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[_c('div',{key:_vm.buttonName,staticClass:\"na-navbar-tooltip\"},[_vm._v(_vm._s(_vm.buttonName))])]),_c('div',{staticClass:\"na-navbar-buttons\"},[(_vm.enableMap)?_c('md-button',{staticClass:\"md-icon-button\",class:{ 'active-Icon': _vm.mapVisible },attrs:{\"md-ripple\":false},on:{\"click\":_vm.toggleMap,\"mouseover\":function($event){_vm.buttonName = 'Zur Übersicht'}}},[_c('img',{staticClass:\"na-navbar-button-img\",attrs:{\"src\":require(\"@/assets/Map.svg\"),\"alt\":\"\"}})]):_vm._e(),(!_vm.isIOS)?_c('md-button',{staticClass:\"md-icon-button\",class:{ 'active-Icon': _vm.isFullscreen },attrs:{\"md-ripple\":false},on:{\"click\":_vm.toggleFullScreen,\"mouseover\":function($event){_vm.buttonName = 'Vollbildmodus'}}},[_c('img',{staticClass:\"na-navbar-button-img\",attrs:{\"src\":require(\"@/assets/Fullscreen.svg\"),\"alt\":\"\"}})]):_vm._e(),(_vm.enableSharing)?_c('md-button',{staticClass:\"md-icon-button\",class:{ 'active-Icon': _vm.sharingVisible },attrs:{\"md-ripple\":false},on:{\"click\":_vm.toggleSharing,\"mouseover\":function($event){_vm.buttonName = 'Teilen'}}},[_c('ShareIcon')],1):_vm._e(),(_vm.localUserIsModerator)?_c('md-button',{staticClass:\"md-icon-button\",attrs:{\"md-ripple\":false},on:{\"click\":_vm.toggleModeratorMenue,\"mouseover\":function($event){_vm.buttonName = 'Moderatorfunktionen'}}},[_c('AccountCog')],1):_vm._e(),(!_vm.loggedIn && _vm.enableCommunication && _vm.sessionID)?_c('md-button',{staticClass:\"md-icon-button\",class:{ 'active-Icon': _vm.loginDialogueVisible},attrs:{\"md-ripple\":false},on:{\"click\":_vm.toggleLoginDialogue,\"mouseover\":function($event){_vm.buttonName = 'Kommunikation'}}},[_c('img',{staticClass:\"na-navbar-button-img\",attrs:{\"src\":require(\"@/assets/Communication.svg\"),\"alt\":\"\"}})]):_vm._e(),_c('md-button',{staticClass:\"md-icon-button\",class:{ 'active-Icon': _vm.tutorialVisible},attrs:{\"md-ripple\":false},on:{\"click\":_vm.toggleTutorialDialogue,\"mouseover\":function($event){_vm.buttonName = 'Hilfe'}}},[_c('img',{staticClass:\"na-navbar-button-img\",attrs:{\"src\":require(\"@/assets/Tutorial.svg\"),\"alt\":\"\"}})]),(_vm.enableBugReport)?_c('md-button',{staticClass:\"md-icon-button\",class:{ 'active-Icon': _vm.bugReportVisible },attrs:{\"md-ripple\":false},on:{\"click\":_vm.toggleBugReport,\"mouseover\":function($event){_vm.buttonName = 'Fehlermeldung'}}},[_c('img',{staticClass:\"na-navbar-button-img\",attrs:{\"src\":require(\"@/assets/bugreport icon.png\"),\"alt\":\"\"}})]):_vm._e()],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Navigation.vue?vue&type=template&id=38743b5e&scoped=true\"\nimport script from \"./Navigation.vue?vue&type=script&lang=js\"\nexport * from \"./Navigation.vue?vue&type=script&lang=js\"\nimport style0 from \"./Navigation.vue?vue&type=style&index=0&id=38743b5e&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"38743b5e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"ShareDialogue\",on:{\"click\":function($event){return _vm.toggleSharing()}}},[_c('div',{staticClass:\"sd-container\",on:{\"click\":function($event){return $event.stopPropagation()}}},[_c('h1',{staticClass:\"sd-text\"},[_vm._v(_vm._s(_vm.$t('Raum teilen')))]),_c('input',{staticClass:\"sd-link\",style:({'width': _vm.inputWidth}),attrs:{\"type\":\"text\",\"id\":\"roomlink\",\"readonly\":\"\"},domProps:{\"value\":_vm.roomLink}}),_c('md-button',{staticClass:\"md-icon-button md-primary sd-copy\",on:{\"click\":function($event){return _vm.copy('roomlink')}}},[_c('LinkVariantIcon')],1),_c('h1',{staticClass:\"sd-text\",staticStyle:{\"margin-top\":\"25px\"}},[_vm._v(_vm._s(_vm.$t('Tour teilen')))]),_c('input',{staticClass:\"sd-link\",style:({'width': _vm.inputWidth}),attrs:{\"type\":\"text\",\"id\":\"tourlink\",\"readonly\":\"\"},domProps:{\"value\":_vm.tourLink}}),_c('md-button',{staticClass:\"md-icon-button sd-copy\",on:{\"click\":function($event){return _vm.copy('tourlink')}}},[_c('LinkVariantIcon')],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n \n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareDialogue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareDialogue.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ShareDialogue.vue?vue&type=template&id=9e10ec4e&scoped=true\"\nimport script from \"./ShareDialogue.vue?vue&type=script&lang=js\"\nexport * from \"./ShareDialogue.vue?vue&type=script&lang=js\"\nimport style0 from \"./ShareDialogue.vue?vue&type=style&index=0&id=9e10ec4e&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9e10ec4e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('md-list',{staticClass:\"ModeratorMenue\"},[_c('md-list-item',{class:{'mm-list-item-active': _vm.screenSharingVisible},on:{\"click\":function($event){_vm.toggleScreenSharing(); _vm.toggleModeratorMenue();}}},[_c('MonitorShareIcon',{staticClass:\"md-list-item-icon\"}),(!_vm.screenSharingVisible)?_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t('Bildschirm teilen')))]):_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t('Bildschirm teilen abbrechen')))])],1),_c('md-list-item',{class:{'mm-list-item-active': _vm.sendingFollowModerator},on:{\"click\":function($event){_vm.toggleFollowModeratorMode(); _vm.toggleModeratorMenue();}}},[_c('Eye',{staticClass:\"md-list-item-icon\"}),(!_vm.sendingFollowModerator)?_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t('Geführter Modus aktivieren')))]):_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t('Geführter Modus deaktivieren')))])],1),_c('md-list-item',{on:{\"click\":function($event){_vm.muteAll(); _vm.toggleModeratorMenue();}}},[_c('VolumeOff',{staticClass:\"md-list-item-icon\"}),_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t('Alle Teilnehmer stummschalten')))])],1),_c('md-list-item',{on:{\"click\":function($event){_vm.stopVideoAll(); _vm.toggleModeratorMenue();}}},[_c('VideoOff',{staticClass:\"md-list-item-icon\"}),_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t('Videos aller Teilnehmer ausstellen')))])],1),_c('md-list-item',{on:{\"click\":function($event){_vm.removeAll(); _vm.toggleModeratorMenue();}}},[_c('AccountOff',{staticClass:\"md-list-item-icon\"}),_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t('Alle Teilnehmer Entfernen')))])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModeratorMenu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModeratorMenu.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ModeratorMenu.vue?vue&type=template&id=27889df1&scoped=true\"\nimport script from \"./ModeratorMenu.vue?vue&type=script&lang=js\"\nexport * from \"./ModeratorMenu.vue?vue&type=script&lang=js\"\nimport style0 from \"./ModeratorMenu.vue?vue&type=style&index=0&id=27889df1&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"27889df1\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.localUserIsModerator),expression:\"!localUserIsModerator\"}],staticClass:\"ScreenSharingPanel-Parent\",staticStyle:{\"width\":\"100%\",\"height\":\"100%\"}},[_c('div',{staticClass:\"ScreenSharingPanel\"},[_c('div',{staticClass:\"scs-container\"},[_c('div',{staticClass:\"scs-bar\"},[_c('p',{staticClass:\"scs-bar-name\"},[_vm._v(_vm._s(\"Bildschirmübertragung von \" + (_vm.localUserIsModerator ? _vm.localUserName : _vm.getUserName(_vm.videoStreams[0].connection.data.user_id))))]),_c('div',{staticClass:\"scs-bar-buttons\"},[_c('md-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.localUserIsModerator),expression:\"localUserIsModerator\"}],staticClass:\"md-icon-button\",staticStyle:{\"margin-right\":\"0\"},on:{\"click\":function($event){return _vm.toggleScreenSharing()}}},[_c('CloseIcon',{staticClass:\"closeIcon\"})],1)],1)]),_c('div',{staticClass:\"scs-content\"},[(_vm.localUserIsModerator && !_vm.openTokStreams.find( x => x.videoType === 'screen'))?_c('FluxComPublisher',{attrs:{\"screencast\":\"\",\"opts\":_vm.publishingProperties,\"where\":\"video-session\"}}):_c('FluxComSubscriber',{attrs:{\"stream\":_vm.videoStreams[0],\"opts\":_vm.videoProperties(_vm.videoStreams[0])}})],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n \n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScreenSharingPanel.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScreenSharingPanel.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ScreenSharingPanel.vue?vue&type=template&id=29a528b5&scoped=true\"\nimport script from \"./ScreenSharingPanel.vue?vue&type=script&lang=js\"\nexport * from \"./ScreenSharingPanel.vue?vue&type=script&lang=js\"\nimport style0 from \"./ScreenSharingPanel.vue?vue&type=style&index=0&id=29a528b5&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"29a528b5\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"login-screen\"},[(!_vm.settingsVisible)?_c('div',{staticClass:\"layout\"},[_c('img',{staticClass:\"ld-logo\",attrs:{\"src\":_vm.publicPath+'/media/'+_vm.mediaURL+_vm.logoURL,\"alt\":\"\"}}),_c('div',{attrs:{\"id\":\"date\"}},[_vm._v(_vm._s(this.date))]),_c('md-tabs',{staticClass:\"md-accent\",staticStyle:{\"background\":\"transparent\",\"color\":\"transparent\"},attrs:{\"id\":\"login-tabs\",\"md-active-tab\":_vm.selectedTab,\"md-alignment\":\"fixed\"},on:{\"md-changed\":_vm.setTab}},[_c('md-tab',{staticStyle:{\"background\":\"transparent\",\"color\":\"transparent\"},attrs:{\"id\":\"visitor\",\"md-label\":_vm.$t('Gast')}},[_c('div',{staticClass:\"ld-content\"},[_c('md-field',[_c('input',{staticClass:\"ld-input\",attrs:{\"id\":\"nickname\",\"autocomplete\":\"off\",\"maxlength\":\"30\",\"required\":\"\",\"placeholder\":_vm.$t('Anzeigename')},on:{\"input\":function($event){return _vm.changeNickname()}}})])],1)]),_c('md-tab',{staticStyle:{\"background-color\":\"transparent\"},attrs:{\"id\":\"moderator\",\"md-label\":_vm.$t('Moderator')}},[_c('div',{staticClass:\"ld-content\"},[_c('div',{staticClass:\"ld-email-container\"},[_c('md-field',[_c('input',{staticClass:\"ld-input inline\",attrs:{\"id\":\"email\",\"autocomplete\":\"off\",\"type\":\"email\",\"required\":\"\",\"placeholder\":_vm.$t('Email')},on:{\"input\":function($event){return _vm.changeEmail()}}})])],1),_c('div',{staticClass:\"ld-password-container\"},[_c('md-field',[_c('input',{staticClass:\"ld-input inline\",attrs:{\"id\":\"password\",\"placeholder\":_vm.$t('Passwort'),\"type\":\"password\",\"required\":\"\"},on:{\"input\":function($event){return _vm.changePassword()}}})])],1)])])],1),_c('span',{staticClass:\"error\",attrs:{\"id\":\"login-error\"}}),_c('div',{staticClass:\"button-container\"},[(!_vm.enableWaitForModerator)?_c('md-button',{staticClass:\"normal-md-button\",staticStyle:{\"font-size\":\"16px\",\"height\":\"45px\",\"width\":\"80%\",\"margin-right\":\"20px\"},on:{\"click\":function($event){return _vm.cancel()}}},[_vm._v(_vm._s(_vm.$t('Abbrechen')))]):_vm._e(),_c('md-button',{staticClass:\"accent-md-button\",staticStyle:{\"font-size\":\"16px\",\"height\":\"45px\"},style:({width: _vm.enableWaitForModerator ? '100%' : '80%'}),attrs:{\"disabled\":!_vm.btnDisabled},on:{\"click\":function($event){return _vm.proceed()}}},[_vm._v(_vm._s(_vm.$t('Weiter')))])],1)],1):_c('AudioVideoDialogue',{attrs:{\"from\":'login',\"loginDialogueVisible\":this.loginDialogueVisible,\"settingsVisible\":this.settingsVisible,\"toggleLogin\":this.toggleLogin,\"toggleSettingsInLogin\":this.toggleSettings}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * Takes a string representing a name and turns it into initials.\n * @param name\n * @return {string}\n */\n export function getInitials(name){\n return name.split(\" \").map((n)=>n[0]).join(\"\").toUpperCase();\n}","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"audio-video-dialogue\"}},[_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.isLoading)?_c('div',{staticClass:\"audio-video-loading-screen\"},[_c('div',{staticClass:\"big-symbol-container\"},[_c('div',{staticClass:\"flux-animation-circle-one flux-animation-circle\"}),_c('div',{staticClass:\"flux-animation-circle-two flux-animation-circle\"}),_c('div',{staticClass:\"flux-animation-circle-three flux-animation-circle\"})])]):_vm._e()]),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.problemDialogVisible)?_c('TroubleShooting',{attrs:{\"toggleProblemDialog\":_vm.toggleProblemDialog}}):_vm._e()],1),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.ConnectionTestVisible)?_c('ConnectionTest',{attrs:{\"toggleConnectionTest\":this.toggleConnectionTest,\"audioDeviceId\":this.audioDeviceId,\"videoDeviceId\":this.videoDeviceId,\"signIn\":this.signIn}}):_vm._e()],1),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.audioTestDialogVisible)?_c('AudioTest',{attrs:{\"toggleAudioTestDialogue\":_vm.toggleAudioTestDialogue}}):_vm._e()],1),_c('div',{staticClass:\"audio-video-content\"},[_c('div',{staticClass:\"avd-title\"},[_vm._v(_vm._s(_vm.$t('Mikrofon- und Kameraeinstellungen')))]),_c('div',{staticClass:\"avd-content-left\"},[_c('div',{attrs:{\"id\":\"video-container\"}},[(_vm.videoDeviceList.length === 0 || !_vm.videoOn || !_vm.publisher)?_c('div',{staticClass:\"camera-placeholder\"},[_c('img',{staticClass:\"user-badge badge\",attrs:{\"src\":this.localUser.getUserIcon()}}),_c('div',{staticClass:\"user-badge-audio badge\",style:({'background-color':_vm.getUserColor(this.localUser)}),attrs:{\"id\":\"local-user-badge\"}})]):_vm._e(),((_vm.videoDeviceId || _vm.audioDeviceId) && !_vm.isLoading)?_c('FluxComPublisher',{attrs:{\"hidden\":!_vm.videoOn,\"id\":\"publisher-container\",\"where\":\"audio-video-dialogue\",\"opts\":_vm.publisherAndSubscriberProperties}}):_vm._e()],1),_c('md-button',{staticClass:\"normal-md-button avd-audiotest\",on:{\"click\":function($event){return _vm.toggleAudioTestDialogue()}}},[_vm._v(_vm._s(_vm.$t('Audiotest')))])],1),_c('div',{staticClass:\"avd-content-right\"},[_c('div',{staticClass:\"settings-section\"},[(!_vm.isLoading)?_c('div',{staticClass:\"error-access-denied\"},[(_vm.errors.cameraPermissionDenied)?_c('div',{staticClass:\"error-access-denied-content\"},[_vm._v(\" \"+_vm._s(_vm.$t('Browser-Zugriff auf Ihre Kamera wurde nicht erlaubt. Klicken Sie'))+\" \"),_c('span',{staticClass:\"error-access-denied-button\",on:{\"click\":function($event){return _vm.askForPermission()}}},[_vm._v(_vm._s(_vm.$t('hier')))]),_vm._v(\" \"+_vm._s(_vm.$t(', um nach dem Zugriff gefragt zu werden.'))+\" \")]):_vm._e(),(_vm.videoDeviceList.length === 0 && !_vm.errors.cameraPermissionDenied)?_c('div',{staticClass:\"error-access-denied-content\"},[_vm._v(_vm._s(_vm.$t('Es wurde keine Kamera erkannt'))+\".\")]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"avd-switch-container\"},[_c('span',{staticClass:\"subheading\"},[_vm._v(_vm._s(_vm.$t('Kamera'))+\":\")]),_c('md-switch',{staticClass:\"avd-switch\",attrs:{\"disabled\":!_vm.publisher || !_vm.hasVideo},model:{value:(_vm.videoOn),callback:function ($$v) {_vm.videoOn=$$v},expression:\"videoOn\"}})],1),_c('div',[_c('select',{attrs:{\"id\":\"video-selection\",\"disabled\":_vm.videoDeviceList.length === 0 || !_vm.videoOn},on:{\"change\":function($event){return _vm.saveDeviceIds();}}},_vm._l((_vm.videoDeviceList),function(video){return _c('option',{domProps:{\"value\":video.deviceId}},[_vm._v(_vm._s(_vm.getLabelForDevice(video)))])}),0),_c('md-button',{staticClass:\"normal-md-button renew\",attrs:{\"disabled\":_vm.videoDeviceList.length === 0 || !_vm.videoOn},on:{\"click\":_vm.updateDeviceLists}},[_c('Autorenew')],1)],1)]),_c('div',{staticClass:\"settings-section\"},[(!_vm.isLoading)?_c('div',{staticClass:\"error-access-denied\"},[(_vm.errors.microphonePermissionDenied)?_c('div',{staticClass:\"error-access-denied-content\"},[_vm._v(\" \"+_vm._s(_vm.$t('Browser-Zugriff auf Ihr Mikrofon wurde nicht erlaubt. Klicken Sie'))+\" \"),_c('span',{staticClass:\"error-access-denied-button\",on:{\"click\":function($event){return _vm.askForPermission()}}},[_vm._v(_vm._s(_vm.$t('hier')))]),_vm._v(\" \"+_vm._s(_vm.$t(', um nach dem Zugriff gefragt zu werden.'))+\" \")]):_vm._e(),(_vm.videoDeviceList.length === 0 && !_vm.errors.microphonePermissionDenied)?_c('div',{staticClass:\"error-access-denied-content\"},[_vm._v(_vm._s(_vm.$t('Es wurde keine Mikrofon erkannt'))+\".\")]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"avd-switch-container\"},[_c('span',{staticClass:\"subheading\"},[_vm._v(_vm._s(_vm.$t('Mikrofon'))+\":\")]),_c('md-switch',{staticClass:\"avd-switch\",attrs:{\"disabled\":!_vm.publisher || !_vm.hasAudio},model:{value:(_vm.audioOn),callback:function ($$v) {_vm.audioOn=$$v},expression:\"audioOn\"}})],1),_c('div',[_c('select',{attrs:{\"id\":\"audio-selection\",\"disabled\":_vm.audioDeviceList.length === 0 || !_vm.audioOn},on:{\"change\":function($event){return _vm.saveDeviceIds();}}},_vm._l((_vm.audioDeviceList),function(audio){return _c('option',{domProps:{\"value\":audio.deviceId}},[_vm._v(_vm._s(_vm.getLabelForDevice(audio)))])}),0),_c('md-button',{staticClass:\"normal-md-button renew\",attrs:{\"disabled\":_vm.audioDeviceList.length === 0 || !_vm.audioOn},on:{\"click\":_vm.updateDeviceLists}},[_c('Autorenew')],1)],1),_c('meter',{attrs:{\"id\":\"audio-meter\",\"high\":\"1\",\"low\":\"0.2\",\"optimum\":\"0.8\",\"value\":\"0\",\"min\":\"0\",\"max\":\"1\"}})])]),(_vm.from === 'login')?_c('div',{staticClass:\"avd-button-container\"},[_c('md-button',{staticClass:\"accent-md-button avd-login-button\",on:{\"click\":function($event){_vm.saveDeviceIds(); _vm.signIn()}}},[_vm._v(\" \"+_vm._s(_vm.$t('Jetzt teilnehmen'))+\" \")]),_c('div',{staticStyle:{\"padding-bottom\":\"20px\"}},[_c('md-button',{staticClass:\"normal-md-button avd-troubleshooting-button\",attrs:{\"id\":\"problem-button\"},on:{\"click\":_vm.toggleProblemDialog}},[_c('AlertCircle'),_c('div',{staticClass:\"avd-button-text\"},[_vm._v(_vm._s(_vm.$t('Problembehandlung')))])],1),_c('md-button',{staticClass:\"normal-md-button avd-connectiontest-button\",class:{disabled: !_vm.videoDeviceId && !_vm.audioDeviceId},attrs:{\"id\":\"connection-test-button\"},on:{\"click\":function($event){_vm.saveDeviceIds(); _vm.toggleConnectionTest();}}},[_c('Wifi'),_c('div',{staticClass:\"avd-button-text\"},[_vm._v(_vm._s(_vm.$t('Verbindungstest')))])],1)],1)],1):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"TroubleShooting\",on:{\"click\":function($event){return _vm.toggleProblemDialog()}}},[_c('div',{staticClass:\"tr-container\",on:{\"click\":function($event){return $event.stopPropagation()}}},[_c('div',{staticClass:\"tr-wrapper\"},[_c('div',{staticClass:\"ts-title\"},[_vm._v(_vm._s(_vm.$t('Problembehandlung')))]),_c('md-list',{attrs:{\"md-expand-single\":true}},[_c('md-list-item',{attrs:{\"md-expand\":\"\"}},[_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t('Ich höre niemanden')))]),_c('md-list',{attrs:{\"slot\":\"md-expand\",\"md-expand-single\":true},slot:\"md-expand\"},[_c('md-list',{staticClass:\"sub-list\",attrs:{\"md-expand-single\":true}},[_c('md-list-item',{attrs:{\"md-expand\":\"\"}},[_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t('Das Standardkommunikationsgerät umstellen (Windows 10)')))]),_c('md-list',{attrs:{\"slot\":\"md-expand\",\"md-expand-single\":true},slot:\"md-expand\"},[_c('md-list-item',{staticClass:\"md-inset\"},[_c('div',{staticClass:\"solution-description\"},[_vm._v(\" \"+_vm._s(_vm.$t(`Öffnen Sie die Soundeinstellungen (am besten direkt in die Suche eingeben). Scrollen Sie nach unten, bis Sie zur Überschrift \"Verwandte Einstellungen\" gelangen. Darunter klicken Sie auf \"Sound-Systemsteuerung\". Es öffnet sich ein kleines Fenster, in dem verschiedene Ausgabegeräte zu sehen sind. Machen Sie einen Rechtsklick auf das Gerät, das Sie verwenden möchten und klicken Sie dann auf \"Als Standardkommunikationsgerät auswählen\". Nun sollte das korrekte Gerät für die Ausgabe verwendet werden.`))+\" \")])])],1)],1)],1)],1)],1),_c('md-list-item',{attrs:{\"md-expand\":\"\"}},[_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t(`Ich höre Echogeräusche`)))]),_c('md-list',{attrs:{\"slot\":\"md-expand\",\"md-expand-single\":true},slot:\"md-expand\"},[_c('md-list',{staticClass:\"sub-list\",attrs:{\"md-expand-single\":true}},[_c('md-list-item',{attrs:{\"md-expand\":\"\"}},[_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t(`Ein Headset verwenden`)))]),_c('md-list',{attrs:{\"slot\":\"md-expand\",\"md-expand-single\":true},slot:\"md-expand\"},[_c('md-list-item',{staticClass:\"md-inset\"},[_c('div',{staticClass:\"solution-description\"},[_vm._v(\" \"+_vm._s(_vm.$t(`Wenn Sie ein Notebook oder ein ähnliches Gerät verwenden, kann es sein, dass der Lautsprecher und das Mikrofon zu nah beieinander sind und der Ton aus dem Lautsprecher direkt vom Mikrofon aufgenommen wird. Dadurch hört Ihr Gegenüber die eigene Stimme, was es schwieriger macht, sich auf das Gespräch zu konzentrieren. Wenn dies der Fall ist, schießen Sie bitte ein Headset an.`))+\" \")])])],1)],1),_c('md-list-item',{attrs:{\"md-expand\":\"\"}},[_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t(`Nur ein Mikrofon und einen Lautsprecher pro Raum verwenden`)))]),_c('md-list',{attrs:{\"slot\":\"md-expand\",\"md-expand-single\":true},slot:\"md-expand\"},[_c('md-list-item',{staticClass:\"md-inset\"},[_c('div',{staticClass:\"solution-description\"},[_vm._v(\" \"+_vm._s(_vm.$t(`Wenn Sie mit weiteren Personen an einer Tour teilnehmen und sich diese Personen im selben Raum befinden wie Sie, kann es sein, dass das ihre Stimme mehrmals aufgenommen wird und Echo Geräusche entstehen. Achten Sie daher darauf, dass nur ein Microfon aktiviert ist oder die Personen weitgenug auseinander sitzen.`))+\" \")])])],1)],1)],1)],1)],1),_c('md-list-item',{attrs:{\"md-expand\":\"\"}},[_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t(`Meine Kamera/Mikrofon wird nicht erkannt`)))]),_c('md-list',{attrs:{\"slot\":\"md-expand\",\"md-expand-single\":true},slot:\"md-expand\"},[_c('md-list',{staticClass:\"sub-list\",attrs:{\"md-expand-single\":true}},[_c('md-list-item',{attrs:{\"md-expand\":\"\"}},[_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t(`Erlauben Sie den Zugriff`)))]),_c('md-list',{attrs:{\"slot\":\"md-expand\",\"md-expand-single\":true},slot:\"md-expand\"},[_c('md-list-item',{staticClass:\"md-inset\"},[_c('div',{staticClass:\"solution-description\"},[_vm._v(\" \"+_vm._s(_vm.$t(`Beim Öffnen der Mikrofon- und Kameraeinstellungen fragt der Browser nach dem Zugriff auf Ihre Mikrofone und Kameras. Ohne Ihre Erlaubnis kann die Anwendung ihre Kamera und Mikrofon nicht nutzen. Überprüfen Sie die Mikrofon- und Kameraeinstellungen ihres Browsers, falls Sie nicht nach dem Zugriff gefragt werden.`))+\" \")])])],1)],1),_c('md-list-item',{attrs:{\"md-expand\":\"\"}},[_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t(`Ändern Sie die Datenschutzeinstellungen`)))]),_c('md-list',{attrs:{\"slot\":\"md-expand\",\"md-expand-single\":true},slot:\"md-expand\"},[_c('md-list-item',{staticClass:\"md-inset\"},[_c('div',{staticClass:\"solution-description\"},[_vm._v(\" \"+_vm._s(_vm.$t(`Ihr Betriebssystem kann dem Browser den generellen Zugriff auf die Kamera und Mikrofon blockieren. Überprüfen sie die Datenschutzeinstellungen ihres Betriebssystemes, und erlauben Sie ihrem Browser ggf. Zugriff!`))+\" \")])])],1)],1),_c('md-list-item',{attrs:{\"md-expand\":\"\"}},[_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t(`Kamera/Mikrofon wird bereits genutzt`)))]),_c('md-list',{attrs:{\"slot\":\"md-expand\",\"md-expand-single\":true},slot:\"md-expand\"},[_c('md-list-item',{staticClass:\"md-inset\"},[_c('div',{staticClass:\"solution-description\"},[_vm._v(\" \"+_vm._s(_vm.$t(`Es könnte sein, dass andere Anwendungen wie Microsoft Teams oder ein anderer geöffneter Browser bereits Kamera oder Mikrofon nutzen. Stellen Sie sicher, das ihre Kamera nicht von anderen Anwendungen genutzt wird und schließen Sie diese Anwendungen gegebenenfalls.`))+\" \")])])],1)],1)],1)],1)],1),_c('md-list-item',{attrs:{\"md-expand\":\"\"}},[_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t(`Beim Audiotest wird meine Audio nicht übertragen`)))]),_c('md-list',{attrs:{\"slot\":\"md-expand\",\"md-expand-single\":true},slot:\"md-expand\"},[_c('md-list',{staticClass:\"sub-list\",attrs:{\"md-expand-single\":true}},[_c('md-list-item',{attrs:{\"md-expand\":\"\"}},[_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t(`Die Firewall-Einstellungen anpassen`)))]),_c('md-list',{attrs:{\"slot\":\"md-expand\",\"md-expand-single\":true},slot:\"md-expand\"},[_c('md-list-item',{staticClass:\"md-inset\"},[_c('div',{staticClass:\"solution-description\"},[_vm._v(\" \"+_vm._s(_vm.$t(`Zur Kommunikation mit dem Server ist es notwendig, dass Sie den TCP Port 443 freigeben. Wenn Sie eine Whitelist für Domains pflegen, ist es außerdem wichtig, dass Sie die Domains \"*.tokbox.com\" und \"*.opentok.com\" (ohne Anführungszeichen) in die Liste einfügen.`))+\" \")])])],1)],1),_c('md-list-item',{attrs:{\"md-expand\":\"\"}},[_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t(`Die Proxy-Einstellungen anpassen`)))]),_c('md-list',{attrs:{\"slot\":\"md-expand\",\"md-expand-single\":true},slot:\"md-expand\"},[_c('md-list-item',{staticClass:\"md-inset\"},[_c('div',{staticClass:\"solution-description\"},[_vm._v(\" \"+_vm._s(_vm.$t(`Am besten funktioniert der Videochat ohne einen Proxy. Wenn Sie ohne Proxy keinen Zugang zum Internet haben, sollten Sie einen transparenten Proxy verwenden oder den Proxy im Browser für HTTPS-Verbindungen konfigurieren.`))+\" \")])])],1)],1)],1)],1)],1),_c('md-list-item',{attrs:{\"md-expand\":\"\"}},[_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t(`Sonstiges`)))]),_c('md-list',{attrs:{\"slot\":\"md-expand\",\"md-expand-single\":true},slot:\"md-expand\"},[_c('md-list',{staticClass:\"sub-list\",attrs:{\"md-expand-single\":true}},[_c('md-list-item',{attrs:{\"md-expand\":\"\"}},[_c('span',{staticClass:\"md-list-item-text\"},[_vm._v(_vm._s(_vm.$t(`Unterstützte Browser`)))]),_c('md-list',{attrs:{\"slot\":\"md-expand\",\"md-expand-single\":true},slot:\"md-expand\"},[_c('md-list-item',{staticClass:\"md-inset\"},[_c('div',{staticClass:\"solution-description\"},[_vm._v(\" \"+_vm._s(_vm.$t(`Am besten wird die Anwendung von den Browsern Firefox, Chrome, Safari, Opera und Edge unterstützt. Achten Sie bitte darauf, dass Sie die jeweils aktuelle Version installiert haben und aktualisieren Sie diese ggf. manuel, da die Browser dies nicht immer automatisch tun.`))+\" \")])])],1)],1)],1)],1)],1)],1)],1),_c('md-button',{staticClass:\"normal-md-button\",staticStyle:{\"margin-top\":\"15px\",\"width\":\"150px\",\"height\":\"45px\"},on:{\"click\":function($event){return _vm.toggleProblemDialog();}}},[_vm._v(_vm._s(_vm.$t('Zurück')))])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TroubleShooting.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TroubleShooting.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TroubleShooting.vue?vue&type=template&id=22736b90&scoped=true\"\nimport script from \"./TroubleShooting.vue?vue&type=script&lang=js\"\nexport * from \"./TroubleShooting.vue?vue&type=script&lang=js\"\nimport style0 from \"./TroubleShooting.vue?vue&type=style&index=0&id=22736b90&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"22736b90\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"TestResults\",on:{\"click\":function($event){return _vm.toggleConnectionTest()}}},[_c('div',{staticClass:\"tr-container\",on:{\"click\":function($event){return $event.stopPropagation()}}},[_c('h1',{staticClass:\"tr-title\"},[_vm._v(_vm._s(_vm.$t('Verbindungstest')))]),_c('div',[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.connectionTest == null),expression:\"connectionTest == null\"}],staticClass:\"tr-waiting\"},[_vm._v(_vm._s(_vm.$t('Ihre Verbindung wird überprüft'))+\"...\")]),(_vm.connectionTest == 'success')?_c('div',{staticClass:\"tr-success\"},[_vm._v(_vm._s(_vm.$t('Der Verbindungsaufbau war erfolgreich')))]):_vm._e(),(_vm.connectionTest == 'failed')?_c('div',[_c('div',{staticClass:\"tr-failed\"},[_vm._v(_vm._s(_vm.$t('Der Verbindungsaufbau war nicht erfolgreich')))]),_c('div',[_vm._v(_vm._s(_vm.$t('Folgende Fehler sind aufgetreten:')))]),_vm._l((this.connectionResult.failedTests),function(failedTest){return _c('tbody',{key:failedTest.error.message},[_c('td',[_vm._v(_vm._s(failedTest.error.message))])])})],2):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.qualityTest == null),expression:\"qualityTest == null\"}],staticClass:\"tr-waiting\"},[_vm._v(_vm._s(_vm.$t('Ihre Verbindungsqualität wird überprüft'))+\"...\")]),(_vm.qualityTest == 'success')?_c('div',[_c('div',{staticClass:\"tr-success\"},[_vm._v(_vm._s(_vm.$t('Die Überprüfung ihrer Verbindungsqualität war erfolgreich')))]),_c('div',[_vm._v(_vm._s(_vm.$t('Ergebniss des Tests:')))]),_c('table',[_c('div',{staticClass:\"tr-table\"},[(this.qualityResult.video.supported === true)?_c('tbody',[_vm._m(0),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Qualität'))+\":\")]),_c('td',[_vm._v(_vm._s(this.qualityResult.video.mos.toFixed(1))+\" / 4.5\")])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Durchschnittliche Bitrate'))+\":\")]),_c('td',[_vm._v(_vm._s(this.qualityResult.video.bitrate.toFixed(0))+\" kbps\")])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Durchschnittliche Framerate'))+\":\")]),_c('td',[_vm._v(_vm._s(this.qualityResult.video.frameRate.toFixed(0))+\" fps\")])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Verlustrate der Pakete'))+\":\")]),_c('td',[_vm._v(_vm._s(this.qualityResult.video.packetLossRatio.toFixed(2))+\"%\")])])]):_vm._e()]),_c('div',{staticClass:\"tr-table\"},[(this.qualityResult.video.supported === false)?_c('tbody',[_vm._m(1),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Fehler bei der Video Übertragung:')))]),_c('td',[_vm._v(_vm._s(this.qualityResult.video.reason))])])]):_vm._e()]),_c('div',{staticClass:\"tr-table\"},[(this.qualityResult.audio.supported === true)?_c('tbody',[_vm._m(2),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Qualität'))+\":\")]),_c('td',[_vm._v(_vm._s(this.qualityResult.audio.mos.toFixed(1))+\" / 4.5\")])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Durchschnittliche Bitrate'))+\":\")]),_c('td',[_vm._v(_vm._s(this.qualityResult.audio.bitrate.toFixed(0))+\" kbps\")])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Verlustrate der Pakete'))+\":\")]),_c('td',[_vm._v(_vm._s(this.qualityResult.audio.packetLossRatio.toFixed(2))+\"%\")])])]):_vm._e()]),_c('div',{staticClass:\"tr-table\"},[(this.qualityResult.audio.supported === false)?_c('tbody',[_vm._m(3),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Fehler bei der Audio Übertragung:')))]),_c('td',[_vm._v(_vm._s(this.qualityResult.audio.reason))])])]):_vm._e()])])]):_vm._e(),(_vm.qualityTest == 'failed')?_c('div',[_c('div',{staticClass:\"tr-failed\"},[_vm._v(_vm._s(_vm.$t('Der Qualitäts Test konnte nicht durchgeführt werden!')))]),_c('div',[_vm._v(\"F\"+_vm._s(_vm.$t('Folgender Fehler ist aufgetreten:')))]),_c('tbody',[_c('td',[_vm._v(_vm._s(this.qualityError))])])]):_vm._e(),_c('div',{staticClass:\"tr-buttons\"},[(_vm.qualityTest != null && _vm.connectionTest != null)?_c('md-button',{staticClass:\"normal-md-button\",staticStyle:{\"background-color\":\"rgb(50, 50, 50)\"},on:{\"click\":function($event){return _vm.repeatTest()}}},[_vm._v(\" \"+_vm._s(_vm.$t('Test Wiederholen'))+\" \")]):_vm._e(),(_vm.qualityTest == null || _vm.connectionTest == null)?_c('md-button',{staticClass:\"normal-md-button\",staticStyle:{\"background-color\":\"rgb(50, 50, 50)\"},on:{\"click\":function($event){return _vm.toggleConnectionTest();}}},[_vm._v(\" \"+_vm._s(_vm.$t('Abbrechen'))+\" \")]):_vm._e(),(_vm.qualityTest != null && _vm.connectionTest != null)?_c('md-button',{staticClass:\"accent-md-button\",staticStyle:{\"margin-left\":\"5px\",\"background-color\":\"var(--primaryColor)\"},on:{\"click\":function($event){return _vm.toggleConnectionTest();}}},[_vm._v(\" \"+_vm._s(_vm.$t('Fertig'))+\" \")]):_vm._e()],1)])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('tr',[_c('th',{attrs:{\"colspan\":\"2\"}},[_vm._v(\"Video\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('tr',[_c('th',{attrs:{\"colspan\":\"2\"}},[_vm._v(\"Video\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('tr',[_c('th',{attrs:{\"colspan\":\"2\"}},[_vm._v(\"Audio\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('tr',[_c('th',{attrs:{\"colspan\":\"2\"}},[_vm._v(\"Audio\")])])\n}]\n\nexport { render, staticRenderFns }","//\n// Module for communicating with Raumtaenzer's backend services\n//\n\nconst rp = require('request-promise').defaults({jar: true})\n// import * as rp from 'request-promise';\n\nconst CMS_BASE_URL = \"https://rt-ar-app.ar-cms.de\"\nconst CALLSERVICE_URL = \"https://flux-360-call-server.ar-cms.de:443\" // \"https://flux-360-call-server.ar-cms.de:8002\"\n\n/**\n * Take uri as relative path and return complete url to\n * CMS backend.\n * @param uri\n */\nexport function cmsUrl (uri) {\n return `${CMS_BASE_URL}${uri}`;\n}\n\n/**\n * Make a request asynchronously.\n *\n * @param options\n * @logToConsole {boolean} Log request to console? Defaults to true\n * @return {Promise<*>}\n */\nasync function makeRequest (options, logToConsole = true) {\n if (logToConsole) {\n console.debug(`Making request ${JSON.stringify(options, null)}`);\n }\n let res = null;\n try {\n res = await rp(options);\n } catch(e ) {\n // Safari is always throwing type errors when connecting the ar-cms\n console.log(\"Error: \" + e);\n }\n if (logToConsole) {\n console.debug(`Received response ${JSON.stringify(res, null)}`);\n }\n return res;\n}\n\n/**\n * Take the given json response and make sure that the\n * 'success' flag is true. If not, create an error from\n * the 'description' field. Only for calls that follow\n * the scheme (success flag etc.)\n *\n * @param jsonResponse {Object} Parsed JSON response\n * @throws {Error}\n */\nconst assertSuccess = (jsonResponse) => {\n const success = JSON.parse(jsonResponse.success);\n if (!success) {\n const error = new Error(jsonResponse.description);\n if (jsonResponse.name) {\n error.name = jsonResponse.name;\n }\n if (jsonResponse.code) {\n error.code = jsonResponse.code;\n }\n throw error;\n }\n}\n\n/**\n * Log in with the CMS.\n *\n * @param email\n * @param password\n * @return {Promise<*>}\n */\nexport async function login (email, password) {\n const response = await makeRequest({\n method: 'POST',\n uri: `${CMS_BASE_URL}/flux/api/login`,\n form: {\n 'mail': email,\n 'password': password\n },\n json: true\n });\n assertSuccess(response);\n return response.content;\n}\n\n/**\n * Log off from CMS.\n *\n * @param accessToken\n * @return {Promise<*>}\n */\nexport async function logout (accessToken) {\n return await makeRequest({\n method: 'POST',\n headers: {\n \"x-auth-token\": accessToken\n },\n uri: `${CMS_BASE_URL}/flux/api/logout`,\n json: true\n });\n}\n\nexport async function getRooms (jwt, userId) {\n console.debug(`making call with ${jwt} for ${userId}`);\n // TODO: replace with API call\n return [\n {\n id: 103591,\n name: \"Reception\"\n },\n {\n id: 103592,\n name: \"White\"\n },\n {\n id: 103593,\n name: \"Clivia\"\n },\n {\n id: 103594,\n name: \"Vigour Vogue\"\n },\n ]\n}\n\n/**\n * Get access data to join a tour video session.\n *\n * @param jwt {string} JWT auth token\n * @param data {Object} Necessary information of the structure:\n * \n * {\n * user_id: {string}\n * user_name: {string},\n * role: {string},\n * room_id: {string}\n * }\n * \n * @return {Promise<*>}\n */\nexport async function getVideoSessionInfoForRoom (jwt, data) {\n const response = await makeRequest({\n method: 'GET',\n uri: `${CALLSERVICE_URL}/request_session_connection`,\n qs: data,\n json: true\n });\n assertSuccess(response);\n return response;\n}\n\n/**\n * Sends a heartbeat to the call-service to inform that the given user\n * is still online.\n * @param userId {string} The user_id field given to this OpenTok user\n * when calling @see {getVideoSessionInfoForRoom}\n * @return {Promise}\n */\nexport async function heartbeat (userId) {\n await makeRequest({\n method: 'POST',\n uri: `${CALLSERVICE_URL}/check_for_call?callee=${userId}`,\n json: true\n }, false);\n}\n\n/**\n * Obtain information on the users connected to the rooms listed.\n * The rooms are identified by their room ids as entered in the call\n * to @see #getVideoSessionInfoForRoom\n *\n * @param roomIds {Array<{String}>} room ids\n * @return {Array}\n */\nexport async function getSessionInfo (roomIds) {\n const response = await makeRequest({\n method: 'POST',\n uri: `${CALLSERVICE_URL}/get_session_info`,\n body: {\n room_ids: roomIds\n },\n json: true\n }, true);\n if(!response)\n return [];\n assertSuccess(response);\n return response.rooms;\n}\n\n/**\n * Retrieves contact status for the given list of users.\n *\n * @param callerId {string} user_id of the requesting party\n * @param contactIds {Array} user_ids of the contacts of interest.\n * @return {Array} List of contact infos.\n */\nexport async function getOnlineStatus (callerId, contactIds) {\n const response = await makeRequest({\n method: 'POST',\n uri: `${CALLSERVICE_URL}/request_contact_status`,\n body: {\n id: callerId,\n contact_ids: contactIds\n },\n json: true\n }, true);\n if( !response )\n return [];\n assertSuccess(response);\n return response.contacts;\n}","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionTest.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionTest.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ConnectionTest.vue?vue&type=template&id=568fd15c&scoped=true\"\nimport script from \"./ConnectionTest.vue?vue&type=script&lang=js\"\nexport * from \"./ConnectionTest.vue?vue&type=script&lang=js\"\nimport style0 from \"./ConnectionTest.vue?vue&type=style&index=0&id=568fd15c&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"568fd15c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"AudioTest\",on:{\"click\":function($event){return _vm.toggleAudioTestDialogue()}}},[_c('div',{staticClass:\"at-container\",on:{\"click\":function($event){return $event.stopPropagation()}}},[_c('h1',{staticClass:\"at-title\"},[_vm._v(_vm._s(_vm.$t('Audiotest')))]),_c('p',{staticStyle:{\"font-size\":\"16px\",\"text-align\":\"center\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Der Audiotest simuliert eine Verbindung zum Server. Sie können ihre Audioübertragung dann abhören, um sie zu überprüfen.'))+\" \")]),_c('div',{staticClass:\"at-content-container\"},[_c('transition',{attrs:{\"name\":\"fade\"}},[(!_vm.stateOfEchoTest)?_c('div',{staticClass:\"at-content\"},[_c('div',{staticClass:\"at-loading\"},[_c('div',{staticClass:\"flux-animation-circle-one flux-animation-circle\"}),_c('div',{staticClass:\"flux-animation-circle-two flux-animation-circle\"}),_c('div',{staticClass:\"flux-animation-circle-three flux-animation-circle\"})])]):_vm._e()]),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.stateOfEchoTest == 'finished')?_c('div',{staticClass:\"at-content at-success\"},[_c('md-button',{staticClass:\"normal-md-button at-success-muteButton\",on:{\"click\":function($event){return _vm.toggleAudio()}}},[(_vm.audioOn)?_c('VolumeOn'):_c('VolumeOff')],1),_c('meter',{staticClass:\"at-audioMeter\",attrs:{\"high\":\"0.8\",\"low\":\"0.1\",\"optimum\":\"0.5\",\"value\":\"0\",\"min\":\"0\",\"max\":\"1\"}})],1):_vm._e()]),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.stateOfEchoTest == 'failed')?_c('div',{staticClass:\"at-content at-failed\"},[_c('p',[_vm._v(_vm._s(_vm.$t('Verbindung zum Server fehlgeschlagen!')))]),_c('md-button',{staticClass:\"normal-md-button\",staticStyle:{\"margin-bottom\":\"10px\"},on:{\"click\":function($event){return _vm.repeatTest()}}},[_vm._v(\" \"+_vm._s(_vm.$t('Wiederholen'))+\" \")])],1):_vm._e()])],1),_c('md-button',{staticClass:\"normal-md-button\",on:{\"click\":function($event){return _vm.toggleAudioTestDialogue()}}},[_vm._v(_vm._s(_vm.$t('Zurück')))]),_c('div',{staticStyle:{\"display\":\"none\"},attrs:{\"id\":\"subscriber-echo-test\"}}),_c('div',{staticStyle:{\"display\":\"none\"},attrs:{\"id\":\"publisher-echo-test\"}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioTest.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioTest.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AudioTest.vue?vue&type=template&id=1541ca22&scoped=true\"\nimport script from \"./AudioTest.vue?vue&type=script&lang=js\"\nexport * from \"./AudioTest.vue?vue&type=script&lang=js\"\nimport style0 from \"./AudioTest.vue?vue&type=style&index=0&id=1541ca22&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1541ca22\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioVideoDialogue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioVideoDialogue.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AudioVideoDialogue.vue?vue&type=template&id=6ef7eb06&scoped=true\"\nimport script from \"./AudioVideoDialogue.vue?vue&type=script&lang=js\"\nexport * from \"./AudioVideoDialogue.vue?vue&type=script&lang=js\"\nimport style0 from \"./AudioVideoDialogue.vue?vue&type=style&index=0&id=6ef7eb06&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6ef7eb06\",\n null\n \n)\n\nexport default component.exports","\n \n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginDialogue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginDialogue.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LoginDialogue.vue?vue&type=template&id=62271516\"\nimport script from \"./LoginDialogue.vue?vue&type=script&lang=js\"\nexport * from \"./LoginDialogue.vue?vue&type=script&lang=js\"\nimport style0 from \"./LoginDialogue.vue?vue&type=style&index=0&id=62271516&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('transition',{attrs:{\"name\":\"fade\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.websiteDialogueVisible),expression:\"websiteDialogueVisible\"}],staticClass:\"WebsiteDialogue\"},[_c('div',{staticClass:\"wd-container\"},[_c('div',{staticClass:\"wd-bar\"},[_c('md-button',{staticClass:\"md-icon-button wd-bar-close\",class:{'followModeratorDisableButton': _vm.followModeratorMode},attrs:{\"md-ripple\":false},on:{\"click\":function($event){return _vm.toggleWebsiteDialogue(false)}}},[_c('CloseIcon')],1)],1),(_vm.type == 'pdf')?_c('iframe',{staticClass:\"wd-iframe\",attrs:{\"id\":\"wd-iframe\",\"src\":_vm.url}}):_vm._e(),_vm._v(\" \"),(_vm.type == 'web')?_c('iframe',{staticClass:\"wd-iframe\",attrs:{\"src\":_vm.url,\"frameborder\":\"0\"}}):_vm._e(),(_vm.type == 'image')?_c('img',{staticClass:\"wd-image wd-iframe\",attrs:{\"src\":_vm.url,\"alt\":\"\"}}):_vm._e(),(_vm.type == 'video')?_c('video',{staticClass:\"wd-iframe\",attrs:{\"autoplay\":\"\",\"controls\":\"\",\"src\":_vm.url}}):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","