{"version":3,"sources":["webpack:///webpack/bootstrap afb85b5ac121e101e573","webpack:///delegated ./node_modules/pug-runtime/index.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./node_modules/jquery/dist/jquery.js from dll-reference girder_plugin_slicer_cli_web","webpack:///external \"girder_plugin_slicer_cli_web\"","webpack:///delegated ./node_modules/underscore/modules/index-all.js from dll-reference girder_plugin_slicer_cli_web","webpack:///external \"girder_plugin_large_image_annotation\"","webpack:///delegated ./src/rest.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/events.js","webpack:///./node_modules/@girder/histomicsui/router.js","webpack:///delegated ./src/views/View.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./src/auth.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/views/View.js","webpack:///delegated ./src/events.js from dll-reference girder_plugin_slicer_cli_web","webpack:///external \"girder_lib\"","webpack:///delegated ./node_modules/@girder/slicer_cli_web/views/Panel.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./node_modules/backbone/backbone.js from dll-reference girder_plugin_slicer_cli_web","webpack:///external \"girder_plugin_large_image\"","webpack:///./node_modules/@girder/histomicsui/views/utils.js","webpack:///delegated ./src/utilities/PluginUtils.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./src/constants.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/collections/StyleCollection.js","webpack:///./node_modules/@girder/histomicsui/models/StyleModel.js","webpack:///./node_modules/@girder/histomicsui/node_modules/tinycolor2/tinycolor.js","webpack:///delegated ./src/utilities/jquery/girderModal.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./src/misc.js from dll-reference girder_plugin_large_image","webpack:///delegated ./node_modules/webpack/buildin/global.js from dll-reference girder_plugin_large_image","webpack:///./node_modules/@girder/histomicsui/dialogs/editElement.js","webpack:////opt/HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///delegated ./src/router.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./src/utilities/EventStream.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/views/layout/HeaderView.js","webpack:///./node_modules/@girder/histomicsui/views/layout/HeaderUserView.js","webpack:///./node_modules/@girder/histomicsui/views/body/ImageView.js","webpack:///delegated ./src/models/ItemModel.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./node_modules/@girder/large_image_annotation/models/AnnotationModel.js from dll-reference girder_plugin_large_image_annotation","webpack:///./node_modules/@girder/histomicsui/views/popover/AnnotationContextMenu.js","webpack:///./node_modules/@girder/histomicsui/stylesheets/popover/annotationContextMenu.styl","webpack:///./node_modules/@girder/histomicsui/views/popover/AnnotationPopover.js","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/rectangle.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/ellipse.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/circle.js from dll-reference girder_plugin_large_image_annotation","webpack:///./node_modules/@girder/histomicsui/panels/AnnotationSelector.js","webpack:///./node_modules/@girder/histomicsui/dialogs/saveAnnotation.js","webpack:///./node_modules/@girder/histomicsui/panels/MetadataWidget.js","webpack:///./node_modules/@girder/histomicsui/dialogs/editRegionOfInterest.js","webpack:///./node_modules/@girder/histomicsui/stylesheets/panels/zoomWidget.styl","webpack:///./node_modules/@girder/histomicsui/dialogs/metadataPlot.js","webpack:///./node_modules/@girder/histomicsui/panels/DrawWidget.js","webpack:///./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue?d1fb","webpack:///node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue","webpack:///./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue?9957","webpack:///node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue","webpack:///./node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue?6a29","webpack:///node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue","webpack:///./node_modules/@girder/histomicsui/templates/panels/drawWidgetElement.pug","webpack:///delegated ./src/collections/UserCollection.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./src/collections/ItemCollection.js from dll-reference girder_lib","webpack:///delegated ./src/views/widgets/BrowserWidget.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/views/body/ConfigView.js","webpack:///./node_modules/@girder/histomicsui/stylesheets/views/itemList.styl","webpack:///./node_modules/@girder/histomicsui/main.js","webpack:///delegated ./src/pluginUtils.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/index.js","webpack:///./node_modules/@girder/histomicsui/app.js","webpack:///delegated ./node_modules/@girder/fontello/dist/css/animation.css from dll-reference girder_lib","webpack:///delegated ./node_modules/@girder/fontello/dist/css/fontello.css from dll-reference girder_lib","webpack:///delegated ./src/views/App.js from dll-reference girder_lib","webpack:///./node_modules/@girder/histomicsui/views/layout/HeaderAnalysesView.js","webpack:///./node_modules/@girder/histomicsui/templates/layout/headerAnalyses.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/layout/headerAnalyses.styl","webpack:///./node_modules/@girder/histomicsui/node_modules/bootstrap-submenu/dist/js/bootstrap-submenu.js","webpack:///./node_modules/@girder/histomicsui/node_modules/bootstrap-submenu/dist/css/bootstrap-submenu.css","webpack:///delegated ./src/views/layout/HeaderUserView.js from dll-reference girder_lib","webpack:///./node_modules/@girder/histomicsui/templates/layout/headerUser.pug","webpack:///./node_modules/@girder/histomicsui/views/layout/HeaderImageView.js","webpack:///./node_modules/@girder/histomicsui/templates/layout/headerImage.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/layout/headerImage.styl","webpack:///./node_modules/@girder/histomicsui/templates/layout/header.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/layout/header.styl","webpack:///./node_modules/@girder/histomicsui/routes.js","webpack:///delegated ./src/models/FileModel.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./src/collections/FolderCollection.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./node_modules/@girder/large_image_annotation/views/index.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./node_modules/@girder/slicer_cli_web/views/PanelGroup.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./node_modules/@girder/large_image_annotation/collections/AnnotationCollection.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/index.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/geojs/index.js from dll-reference girder_plugin_large_image_annotation","webpack:///./node_modules/@girder/histomicsui/node_modules/backbone.localstorage/build/backbone.localStorage.js","webpack:///./node_modules/@girder/histomicsui/templates/popover/annotationContextMenu.pug","webpack:///delegated ./node_modules/@girder/large_image_annotation/collections/ElementCollection.js from dll-reference girder_plugin_large_image_annotation","webpack:///./node_modules/@girder/histomicsui/templates/popover/annotationPopover.pug","webpack:///./node_modules/@girder/histomicsui/templates/popover/annotationPopoverMetadata.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/popover/annotationPopover.styl","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/convert.js from dll-reference girder_plugin_large_image_annotation","webpack:///./node_modules/@girder/histomicsui/views/popover/PixelmapContextMenu.js","webpack:///./node_modules/@girder/histomicsui/templates/popover/pixelmapContextMenu.pug","webpack:///delegated ./src/index.js from dll-reference girder_lib","webpack:///delegated ./src/views/widgets/AccessWidget.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./node_modules/@girder/large_image/views/metadataWidget.js from dll-reference girder_plugin_large_image","webpack:///./node_modules/@girder/histomicsui/templates/panels/metadataWidgetPanel.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/panels/metadataWidget.styl","webpack:///./node_modules/@girder/histomicsui/stylesheets/dialogs/saveAnnotation.styl","webpack:///./node_modules/@girder/histomicsui/templates/dialogs/saveAnnotation.pug","webpack:///./node_modules/@girder/histomicsui/templates/panels/annotationSelector.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/panels/annotationSelector.styl","webpack:///./node_modules/@girder/histomicsui/panels/OverviewWidget.js","webpack:///delegated ./node_modules/@girder/large_image/views/imageViewerWidget/setFrameQuad.js from dll-reference girder_plugin_large_image","webpack:///./node_modules/@girder/histomicsui/templates/panels/overviewWidget.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/panels/overviewWidget.styl","webpack:///./node_modules/@girder/histomicsui/panels/ZoomWidget.js","webpack:///./node_modules/@girder/histomicsui/node_modules/url-search-params-polyfill/index.js","webpack:///./node_modules/@girder/histomicsui/templates/dialogs/editRegionOfInterest.pug","webpack:///./node_modules/@girder/histomicsui/templates/panels/zoomWidget.pug","webpack:///./node_modules/@girder/histomicsui/panels/FrameSelectorWidget.js","webpack:///delegated ./node_modules/@girder/large_image/vue/components/FrameSelector.vue from dll-reference girder_plugin_large_image","webpack:///./node_modules/@girder/histomicsui/templates/panels/frameSelectorWidget.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/panels/frameSelectorWidget.styl","webpack:///./node_modules/@girder/histomicsui/panels/MetadataPlot.js","webpack:///./node_modules/@girder/histomicsui/templates/dialogs/metadataPlot.pug","webpack:///./node_modules/@girder/histomicsui/templates/panels/metadataPlot.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/panels/metadataPlot.styl","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/geojs/convert.js from dll-reference girder_plugin_large_image_annotation","webpack:///./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue","webpack:///./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue?a62f","webpack:///./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue?cd82","webpack:///./node_modules/@girder/histomicsui/node_modules/vue/dist/vue.js","webpack:///delegated ./node_modules/timers-browserify/main.js from dll-reference girder_plugin_large_image","webpack:///./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue","webpack:///./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue?5539","webpack:///./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue?6b67","webpack:///./node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue","webpack:///./node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue?ad39","webpack:///./node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue?d0b9","webpack:///./node_modules/@girder/histomicsui/node_modules/vue-color/dist/vue-color.min.js","webpack:///./node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue?208b","webpack:///./node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue?075e","webpack:///./node_modules/@girder/histomicsui/templates/dialogs/editElement.pug","webpack:///./node_modules/@girder/histomicsui/dialogs/editStyleGroups.js","webpack:///./node_modules/@girder/histomicsui/templates/dialogs/editStyleGroups.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/dialogs/editStyleGroups.styl","webpack:///./node_modules/@girder/histomicsui/templates/panels/drawWidget.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/panels/drawWidget.styl","webpack:///./node_modules/@girder/histomicsui/templates/body/image.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/body/image.styl","webpack:///./node_modules/@girder/histomicsui/templates/layout/layout.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/layout/layout.styl","webpack:///./node_modules/@girder/histomicsui/collections/index.js","webpack:///./node_modules/@girder/histomicsui/collections/UserCollection.js","webpack:///./node_modules/@girder/histomicsui/dialogs/index.js","webpack:///./node_modules/@girder/histomicsui/dialogs/confirmDialog.js","webpack:///./node_modules/@girder/histomicsui/templates/dialogs/confirmDialog.pug","webpack:///./node_modules/@girder/histomicsui/dialogs/openAnnotatedImage.js","webpack:///./node_modules/@girder/histomicsui/templates/dialogs/annotatedImageList.pug","webpack:///./node_modules/@girder/histomicsui/templates/dialogs/openAnnotatedImage.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/dialogs/openAnnotatedImage.styl","webpack:///./node_modules/@girder/histomicsui/dialogs/openImage.js","webpack:///delegated ./src/models/FolderModel.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/models/index.js","webpack:///./node_modules/@girder/histomicsui/panels/index.js","webpack:///./node_modules/@girder/histomicsui/views/index.js","webpack:///./node_modules/@girder/histomicsui/views/layout/index.js","webpack:///./node_modules/@girder/histomicsui/views/body/index.js","webpack:///delegated ./src/views/widgets/PluginConfigBreadcrumbWidget.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/templates/body/configView.pug","webpack:///./node_modules/@girder/histomicsui/stylesheets/body/configView.styl","webpack:///./node_modules/@girder/histomicsui/views/popover/index.js","webpack:///./node_modules/@girder/histomicsui/views/itemList.js","webpack:///delegated ./src/views/widgets/ItemListWidget.js from dll-reference girder_plugin_large_image_annotation","webpack:///./node_modules/@girder/histomicsui/views/itemPage.js","webpack:///delegated ./src/views/body/ItemView.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/views/HierarchyWidget.js","webpack:///delegated ./src/views/widgets/HierarchyWidget.js from dll-reference girder_plugin_slicer_cli_web","webpack:///./node_modules/@girder/histomicsui/views/searchResultsView.js","webpack:///delegated ./src/views/body/SearchResultsView.js from dll-reference girder_lib","webpack:///./node_modules/@girder/histomicsui/stylesheets/views/searchResultsView.styl"],"names":["girderEvents","router","Backbone","Router","setQuery","name","value","options","curRoute","history","fragment","routeParts","queryString","undefined","unparsedQueryString","$","param","length","_lastQueryString","navigate","base","getQuery","execute","callback","args","query","pop","push","apply","_","each","key","has","events","trigger","__super__","View","initialize","oldInitialize","result","arguments","document","on","evt","dialogContainer","off","target","closest","modal","oldGirderModal","fn","girderModal","view","call","prop","HuiSettings","_hui_settings","_hui_settings_result","type","url","then","resp","Deferred","resolve","elementAreaAndEdgeLength","element","geojson","features","geogeom","geometry","area","edge","lens","j","coordinates","i","v0","v1","len","Math","abs","properties","annotationType","PI","a","b","h","localStorage","LocalStorage","e","StyleCollection","Collection","extend","model","StyleModel","Model","defaults","lineWidth","lineColor","fillColor","EditElement","render","$el","html","annotationElement","toJSON","createVueModal","el","get","vm","EditHeatmapOrGridDataContainer","propsData","parentView","vueApp","closeVueModal","$destroy","getData","preventDefault","data","validation","label","val","group","_defaultGroup","parseFloat","isFinite","parent","addClass","convertColor","text","removeClass","edited","set","endEdit","toRgbString","dialog","show","defaultGroup","setElement","HeaderView","params","settings","prototype","brandName","brandColor","bannerColor","helpURL","trim","helpTooltip","helpText","tooltip","placement","delay","HeaderUserView","HeaderImageView","HeaderAnalysesView","GirderHeaderUserView","user","ImageView","click","viewerWidget","_mouseClickQueue","_openId","_displayedRegion","_currentMousePosition","_selectElementsByRegionCanceled","_debounceUpdatePixelmapValues","debounce","_updatePixelmapValues","_overlayLayers","selectedAnnotation","AnnotationModel","_id","selectedElements","elements","_increaseZoom2x","_increaseZoom2xRange","min","max","ItemModel","listenTo","_setImageInput","_allowRootSelection","_setDefaultFileOutputs","_resetRegion","_redrawSelection","_widgetDrawRegion","_drawRegionUpdate","_drawModeChange","openImage","annotations","AnnotationCollection","controlPanel","SlicerPanelGroup","closeButton","overviewWidget","OverviewWidget","zoomWidget","ZoomWidget","frameSelectorWidget","FrameSelectorWidget","metadataWidget","MetadataWidget","metadataPlot","MetadataPlot","annotationSelector","AnnotationSelector","collection","image","popover","AnnotationPopover","contextMenu","AnnotationContextMenu","pixelmapContextMenu","PixelmapContextMenu","refetchStyles","obj","setGroupCount","showRegion","toggleAnnotation","toggleLabels","_toggleInteractiveMode","_editAnnotation","_deleteAnnotation","_setAnnotationOpacity","_setAnnotationFillOpacity","_redrawAnnotation","_highlightAnnotationForInteractiveMode","_selectElementsByRegion","_selectElementsByRegionCancel","_editElement","_editElementShape","_closeContextMenu","_handlePixelmapContextMenu","_closePixelmapContextMenu","_saveSelection","_removeSelection","_deselectAnnotationElements","widgetRegion","_knownPanels","clearSettingsCache","parents","keyCode","mouseResetAnnotation","_removeDrawWidget","id","_orderPanels","_getConfig","destroy","ViewerWidget","geojs","itemId","hoverEvents","highlightFeatureSizeLimit","scale","position","bottom","right","setUnclampBoundsForOverlay","mouseOverAnnotation","mouseOutAnnotation","mouseOnAnnotation","mouseOffAnnotation","mouseClickAnnotation","mouseClickOverlay","mouseOverOverlay","overlayLayerDrawn","overlayLayerRemoved","viewer","interactor","removeAction","geo","geo_action","zoomselect","currentOptions","cancelOnMove","imageWidth","maxBounds","imageHeight","extraPanWidth","extraPanHeight","left","top","setImageBounds","setBoundsQuery","_originalZoomRange","zoomRange","geoOn","event","pan","mousemove","showCoordinates","setViewer","setItem","drawWidget","setAnnotationSelector","_resetSelection","clear","silent","fetch","getItemFile","limit","offset","files","Error","FileModel","getTilesDef","tiles","setMaxMagnification","magnification","setImage","getFileModel","fileId","file","largeImage","promise","when","originalId","models","forEach","Object","values","_panelViews","panel","_widgets","_getDefaultInputResource","resource","path","_path","_getDefaultOutputFolder","userFolders","FolderCollection","parentId","parentType","isEmpty","at","chain","pluck","flatten","entry","_rootPath","done","folder","filter","analysis","last","split","find","extension","folderId","_clearTooltips","remove","_closeAnalysis","bounds","rotation","toFixed","join","replace","_updatePixelmapElements","pixelmapElements","annotation","groups","defaultStyle","add","save","pixelmap","_reconcilePixelmapCategories","drawAnnotation","_updatePixelmapsWithCategories","pixelmapId","existingCategories","newCategories","newStyleGroups","category","correspondingStyle","newStyle","strokeColor","correspondingCategory","originalDefaultIndex","findIndex","updatedCategories","where","concat","reject","originalData","newData","map","_pageElements","setView","zoom","once","unset","removeAnnotation","interactiveMode","highlightAnnotation","slice","points","idx","pts","closed","center","hasRegionParameter","region","width","height","pt","x","y","annotationId","_lastMouseOnElement","elementModel","reset","getPixelmapElements","allPixelmaps","pixelmaps","_getCategoryIndexFromStyleGroup","styleGroup","categories","groupId","newIndex","pixelmapElementModel","layer","d","_pixelmapContextMenuActive","updatePixelmap","dataIndex","categoryIndex","pixelmapLayer","layers","layerDataIndex","newValue","indexModified","draw","overlayElement","overlayLayer","overlayAnnotationIsSelected","activeAnnotation","index","mouse","buttonsDown","modifiers","shift","style","getStyleGroup","_queueMouseClickAction","window","requestAnimationFrame","_processMouseClickQueue","_canOpenContextMenu","setTimeout","$window","menu","page","belowWindow","windowWidth","menuWidth","css","buttons","_openContextMenu","ctrl","annotationLayer","mode","_toggleSelectElement","allowClickSelection","_selectSingleElement","toggle","minimumDistance","Number","POSITIVE_INFINITY","point","dx","dy","distance","sorted","sortBy","property","interactive","_lastDrawingType","drawingType","cancelDrawMode","stopListening","attr","appendTo","DrawWidget","opacity","setGlobalAnnotationOpacity","setGlobalAnnotationFillOpacity","_onKeyDown","test","activeElement","tagName","toLowerCase","drawModes","o","r","c","p","l","_showOrHideAnnotations","selectAnnotationByRegion","originalAnnotation","createAnnotation","nextBrushShape","adjustBrushSize","setToPrevStyleGroup","setToNextStyleGroup","_drawingType","includes","state","modified","drawElement","_trackMousePosition","pageX","pageY","client","clientX","clientY","any","hideAllAnnotations","showAllAnnotations","drawRegion","polygon","coord","found","boundingBox","getElementsInBox","z","getElementsInPolygon","_selectElement","autoRegionContextMenu","poly","results","featureLayer","feature","polygonSearch","partial","_contextMenuActive","force","selectAnnotationByRegionActive","node","focus","_currentAnnotationEditShape","hideAnnotation","removeAllAnnotations","count","annot","geoOff","modes","edit","_editElementShapeFinishBound","bind","_editElementShapeFinish","update","AccessType","WRITE","attributes","_unselectElement","_highlightAnnotation","_selectElementsByGroup","groupedAnnotations","groupBy","annotationData","elementsCollection","getSettings","layout","_folderConfig","panelLayout","JSON","parse","panels","info","substr","spec","reverse","prependTo","processed","modelId","_folderConfigId","viewMode","annotationGroups","replaceGroups","first","submit","hasClass","originalEvent","eq","_cachedGroupCount","styles","_getAnnotationGroups","numberSelected","groupCount","_removeElements","stopPropagation","updateCount","countPixelmap","_editElements","_setStyleDefinition","styleAttrs","assign","refresh","sort","countA","countB","_setGroup","currentTarget","_removeGroup","parseInt","ceil","scaleWidget","gui","formatUnit","scaleresult","areaStr","areaUnitsTable","formatDate","s","Date","toLocaleString","_position","_hide","_show","_hidden","visible","_users","ElementCollection","_getUser","_bindMoveEvent","_recomputeClosestElementThrottled","throttle","_recomputeClosestElement","_closestElement","users","elementProperties","_elementProperties","elementAdditionalValues","_elementAdditionalValues","_visible","_height","uid","_popover","setIf","func","v","Array","props","_scale","_lastPositionEvt","_distanceToElement","_lastCenter","lastElement","MAX_ELEMENTS_LIST_LENGTH","Panel","_expandedGroups","Set","_opacity","_fillOpacity","fillOpacity","_showAllAnnotationsState","_debounceRender","_changeAnnotationHighlight","eventStream","_onJobUpdate","_refreshAnnotations","_saveAnnotation","_parentId","_settingsFromConfig","_showLabels","annotationLabels","_interactiveMode","interactiveHover","toggleInteractiveMode","_debounceRenderRequest","parentItem","empty","title","_activeAnnotation","showLabels","creationAccess","writeAccessLevel","writeAccess","_writeAccess","expandedGroups","annotationAccess","_annotationAccess","collapsed","_changeGlobalOpacity","_changeGlobalFillOpacity","_setCreationAccess","item","_setCreationRequest","display","_deactivateAnnotation","deleteAnnotation","message","submitButton","onSubmit","_saving","_saveAgain","editAnnotationMetadata","listenToOnce","root","error","createResp","toggleClass","fail","status","_norefresh","keys","indexBy","activeId","refreshed","_centroids","_elements","displayed","_setActiveAnnotation","editAnnotation","timeout","icon","_setActiveAnnotationWithoutLoad","always","numElements","vsaving","_inFetch","lastSaveAgain","needsOwn","ADMIN","btn","selectAnnotationByRegionCancel","_unhighlightAnnotation","_toggleExpandGroup","delete","groupObject","union","groupList","contains","_triggerGroupCountChange","collectStyleableProps","styleableFuncs","maxCategories","children","proplist","substring","k","categoric","indexOf","manyValues","subkey","subroot","rangeStyleableProps","needsArea","entries","calc","perimeter","colorFromFunc","colorParam","funcInfo","range","minColor","maxColor","clr","g","util","convertColorToRGBA","SaveAnnotation","colorpicker","elementTypes","types","elementTypeProps","line","rectangle","arrow","circle","ellipse","annotationHasEditableElements","showStyleEditor","defaultStyles","firstElement","every","_showStyleEditor","_styleableFuncs","_styleFuncs","hasAdmin","DATE_SECOND","styleFuncs","meta","_meta","fieldName","accessLevel","noSave","_updateFuncValues","access","AccessWidget","hideRecurseOption","noAccessFlag","cancel","changeFillColorFunc","changeLineColorFunc","checkFixedIfPresent","names","curfunc","mintext","maxtext","_getFunctionalProps","valueParam","setValue","color","valueFunc","useFunc","minSet","minValue","maxSet","maxValue","setFillColor","setLineColor","setLineWidth","fillColorParam","lineColorParam","description","MetadataWidgetPanel","expand","panelElem","maximize","renderMetadataWidgetHeader","getAccessLevel","_renderHeader","contents","firstKey","_sortedMetaKeys","firstValue","_renderedMetaDict","_limetadata","isObject","stringify","_accessLevel","getModeFromValue","addMetadata","collapse","addMetadataByKey","EditRegionOfInterest","_sizeCte","_format","_compressionRatio","_magnification","areaElement","maxMag","scaleBounds","scaleWidth","scaleHeight","numberOfPixel","getNumberPixels","fileSize","getConvertFileSize","updateform","zoomToMagnification","round","pow","maxZoom","magnificationToZoom","log2","factor","pixelNumber","getFileSize","bytesNumber","convertedSize","downloadDisable","bool","unbind","ev","removeAttr","selectedOption","getUrl","regionWidth","regionHeight","encoding","contentDisposition","urlView","frameAndUrl","URLSearchParams","MetadataPlotDialog","plotConfig","plotOptions","_submit","configOptions","is","series","newElementDisplayIdStart","_localId","_editOptions","_getEditOptions","_verifyEditOptions","_highlighted","_groups","_style","_handleStyleGroupsUpdate","_recalculateGroupAggregation","_setStyleGroup","updatedElement","_skipRenderHTML","highlighted","opts","firstRender","displayIdStart","append","hide","_boundHUIModeChange","oldmode","_updateConstraintValueInputs","editElement","origGroup","_getId","elemType","newLabel","labelElement","oldLabel","oldnum","viewElement","_byId","pointAnnot","xCoords","yCoords","originalZoomRange","NEGATIVE_INFINITY","newView","zoomAndCenterFromBounds","origMin","transition","duration","endClamp","interp","d3","interpolateZoom","ease","easeExpInOut","deleteElement","addElements","_pixelTolerance","_applyBooleanOp","evtOpts","asPolygonList","toPolygonList","op","currentBooleanOperation","existing","_annotations","f","featureType","polylist","pixelTolerance","searchPoly","near","some","n","oldids","correspond","keepAnnotations","polyops","newAnnot","_guid","omit","_brushPan","_brushZoom","size","brush_size","unitsPerPixel","_setBrushCoordinates","mapgcs","_coordinates","_brushAction","operation","cursor_action","_lastBrushState","stateId","shape","brush_shape","brush_screen","bbox1","bbox2","bbox","blur","order","c1x","c1y","c2x","c2y","ang","atan2","cos","sin","_addDrawnElements","_setBrushMode","forceRefresh","_brushPanBound","cursor_click","registries","addAnnotation","cursor","currentAnnotation","modeOptions","size_mode","constraint","fixed_width","fixed_height","startDrawMode","hui","getItem","err","_saveEditOptions","console","warn","log","raiseOnError","groupName","change","groupElem","newCount","toArray","before","after","span","outerHTML","newrecord","toChange","ix","_setToSelectedStyleGroup","selectElementsInGroup","_dropdownControlClick","stopImmediatePropagation","content","isCollapsed","dropdown","parentNode","_changeBrush","_changeShapeConstraint","delta","newval","nextGroup","next","prevGroup","prev","_styleGroupEditor","dlg","_highlightElement","annotType","_unhighlightElement","used","__null__","pug","require","template","locals","pug_html","pug_mixins","pug_interp","pug_debug_filename","pug_debug_line","pug_debug_sources","locals_for_with","counts","displayIdOffset","typeCounts","$$obj","pug_index0","$$l","classes","displayId","escape","rethrow","module","exports","ConfigView","settingsKeys","_saveSettings","breadcrumb","PluginConfigBreadcrumbWidget","pluginName","method","list","default","_browserWidgetView","BrowserWidget","titleText","submitText","validate","isValid","responseJSON","_openBrowser","histomicsui","configRoute","route","collections","dialogs","views","App","location","search","decodeURIComponent","GirderApp","token","huiHeader","plv","progressListView","_origHandleProgress","_handleProgress","progress","_map","resourceName","login","close","open","navigateTo","bodyView","bindRoutes","analyses","submenupicker","_setAnalysis","api","imageName","versionName","version","cliName","cli","run","imageModel","parentChain","_setNextPreviousImage","getRootPath","nextImageLink","_nextImage","previousImageLink","_previousImage","previousImageName","_previousName","nextImageName","_nextName","previous","parts","object","titlePre","titleNext","annotationCount","upuser","firstName","lastName","elementCount","pug_index1","pug_index4","String","toPrecision","dtaIndex","pixelmapElement","_setCategory","removeButton","attrs","class","merge","moment","block","anyFuncs","sfunc","timestamp","format","defaultName","expanded","expandedClass","loading","downloadUrl","pug_index2","_createOverview","parentViewer","_boundOnParentPan","isEqual","_tiles","exit","pixelCoordinateParams","sizeX","sizeY","tileWidth","tileHeight","useCredentials","getFrameAndUrl","renderer","mapInteractor","actions","action","input","owner","selectionRectangle","keyboard","ResizeObserver","_observer","observe","autoshareRenderer","_tileLayer","createLayer","_layer","setFrameQuad","tileinfo","_featureLayer","_outlineFeature","createFeature","stroke","strokeWidth","fill","_panOutlineDistance","mouseclick","actiondown","_downState","rotate","distanceToOutline","distanceToPolygon2d","actionmove","actionselection","lowerLeft","upperRight","mapsize","gcsToDisplay","displayToGcs","scaling","_onParentPan","frame","_maxMag","_maxZoom","_minZoom","_cancelSelection","_zoomChanged","step","floor","title_download_view","title_download_area","maxNaturalMag","_maxNaturalMag","minMag","disabled","_zoomRangeControls","_zoomSliderInput","increase","increaseRange","setMagnification","_setSliderValue","_getSliderValue","_inZoomChange","_zoomButton","_downloadView","innerWidth","innerHeight","href","_downloadArea","mag","areaParams","_increaseZoomRange","oldmax","_decreaseZoomRange","frames","FrameSelector","_itemId","imageMetadata","frameUpdate","getPlotOptions","plotPanel","getSiblingItems","chunk","parentFolderId","siblingItems","siblingItemsPromise","parentMeta","parentFolderPromise","abort","siblingItemPromise","collectedPlotData","hasPlot","midx","isArray","isString","localeCompare","getPlotData","optDict","opt","plotData","fieldToPlot","plotToOpt","ranges","usedFields","usedOptions","items","expected","unshift","itemIdx","end","_roots","distinct","onHover","adjustHoverText","plotDataToPlotly","colorBrewerPaired12","viridis","colorScale","linear","domain","plotlyData","hovertext","hoverinfo","marker","symbol","Plotly","ajax","dataType","cache","lastPlotData","elem","maximized","margin","t","hovermode","xaxis","yaxis","newPlot","seriesList","number","string","selected","EditStyleGroups","_newStyle","_setStyle","_updateStyle","_createNewStyle","_saveNewStyle","create","_deleteStyle","_resetDefaults","styleJSON","oldid","styleModels","_setDefaults","_exportGroups","Blob","URL","createObjectURL","_selectImportGroups","_toggleImportReplace","_importGroups","girderEnable","fr","FileReader","onload","onerror","readAsText","EditStyleGroupsDialog","originalCollectionData","originalModelData","originalModelId","form","_cancelChanges","UserCollection","origCollFetch","confirmDialog","openAnnotatedImage","saveAnnotation","editRegionOfInterest","defaultOptions","noop","ConfirmDialog","_options","setOptions","paths","AnnotatedImageList","inFetch","OpenAnnotatedImage","ItemCollection","comparator","_query","backbone","creator","_nextQuery","sortField","pageLimit","_usersIsFetched","_fetchImages","_queueFetchImages","_items","promises","_getResourcePath","creatorId","_updateQuery","createDialog","itemParent","widget","showItems","selectItem","rootSelectorSettings","selectByResource","highlightItem","paginated","defaultSelectedResource","isVirtual","FolderModel","body","ItemListWidget","adjustView","cid","quarantine","setCurrentModel","parentModel","setRoute","webrootPath","delegateEvents","ItemView","success","HierarchyWidget","addResourcePaths","_results","payload","_type","resources","contentType","processData","doc","SearchResultsView","_request","_subviews","_origrender"],"mappings":"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;;AAED,IAAMC,0CAAkBxF,mBAASyF,UAAT,CAAoBC,MAApB,CAA2B;AAC/CC,WAAOC,oBADwC;AAE/CP,kBAAcA;AAFiC,CAA3B,CAAlB,CAAN;;kBAKeG,e;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBf;;;;;;AAEA,IAAMI,qCAAa5F,mBAAS6F,KAAT,CAAeH,MAAf,CAAsB;AACrCI,cAAU;AACNC,mBAAW,CADL;AAENC,mBAAW,YAFL;AAGNC,mBAAW;AAHL;AAD2B,CAAtB,CAAb,CAAN;;kBAQeL,U;;;;;;ACVf;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,8BAA8B;AACpD,sBAAsB,8BAA8B;AACpD,sBAAsB,8BAA8B;;AAEpD;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,mBAAmB,OAAO;AACzD,+BAA+B,mBAAmB,OAAO;AACzD,+BAA+B,mBAAmB,OAAO;AACzD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD,wCAAwC;AACxC,wCAAwC;AACxC;;AAEA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA,sDAAsD;AACtD,wCAAwC;AACxC,wCAAwC;AACxC;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yCAAyC;AAC5D,mBAAmB,yCAAyC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wCAAwC;AAC3D,mBAAmB,yCAAyC;AAC5D,mBAAmB,yCAAyC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uCAAuC;AAC1D,mBAAmB,wCAAwC;AAC3D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+DAA+D,WAAW;AAC1E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2DAA2D,wBAAwB;;AAEnF;AACA;AACA,2CAA2C,wBAAwB;AACnE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,8EAA8E,4BAA4B,gBAAgB;AAC1H,8EAA8E,2BAA2B,gBAAgB;AACzH,qDAAqD,oDAAoD,gBAAgB;AACzH,qDAAqD,oDAAoD,gBAAgB;AACzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,0BAA0B;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA,KAAK,kBAAkB,YAAY,kBAAkB;AACrD;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4BAA4B,YAAY;;AAExC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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AAL;AACH;AAjR+B,CAAZ,CAApB,CAAJ;;kBAoRe6G,iB;;;;;;AClWf,8C;;;;;;ACAA,8C;;;;;;ACAA,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;AACA;;;;AAEA;;AACA;;AACA;;;;AACA;;AACA;;;;AACA;;;;AACA;;AAEA;;;;AACA;;;;AAEA;;;;AACA;;;;;;AAEA;AACA;AACA;AACA,IAAMwb,mDAA2B,IAA3B,CAAN;;AAEA;;;;AAIA,IAAI5b,6CAAqB6b,gBAAM/iB,MAAN,CAAa;AAClC3D,YAAQJ,qBAAE+D,MAAF,CAAS+iB,gBAAM7f,SAAN,CAAgB7G,MAAzB,EAAiC;AACrC,oCAA4B,iBADS;AAErC,sCAA8B,kBAFO;AAGrC,sCAA8B,kBAHO;AAIrC,sCAA8B,kBAJO;AAKrC,6CAAqC,wBALA;AAMrC,yCAAiC,oBANI;AAOrC,yCAAiC,oBAPI;AAQrC,oCAA4B,sBARS;AASrC,oCAA4B,wBATS;AAUrC,mCAA2B,cAVU;AAWrC,wCAAgC,uBAXK;AAYrC,uCAA+B,sBAZM;AAarC,4CAAoC,0BAbC;AAcrC,gDAAwC,0BAdH;AAerC,0CAAkC;AAfG,KAAjC,CAD0B;;AAmBlC;;;;;;;;AAQAI,cA3BkC,wBA2BR;AAAA;;AAAA,YAAfwG,QAAe,kGAAJ,EAAI;AAAA;;AACtB,aAAK+f,eAAL,GAAuB,IAAIC,GAAJ,EAAvB;AADsB;AAEtB,aAAKC,QAAL,GAAgB,oCAAS1K,OAAT,gCAAoB,GAApB,CAAhB;AAFsB;AAGtB,aAAK2K,YAAL,GAAoB,oCAASC,WAAT,gCAAwB,GAAxB,CAApB;AAHsB;AAItB,aAAKC,wBAAL,GAAgC,KAAhC;AAJsB;AAKtB,aAAK7d,QAAL,CAAc,KAAK2B,UAAnB,EAA+B,0DAA/B,EAA2F,KAAKmc,eAAhG;AALsB;AAMtB,aAAK9d,QAAL,CAAc,KAAK2B,UAAnB,EAA+B,kBAA/B,EAAmD,KAAKoc,0BAAxD;AANsB;AAOtB,aAAK/d,QAAL,CAAcge,qBAAd,EAA2B,oBAA3B,EAAiDvnB,qBAAE0I,QAAF,CAAW,KAAK8e,YAAhB,EAA8B,GAA9B,CAAjD;AAPsB;AAQtB,aAAKje,QAAL,CAAcge,qBAAd,EAA2B,qBAA3B,EAAkD,KAAKE,mBAAvD;AARsB;AAStB,aAAKle,QAAL,CAAcge,qBAAd,EAA2B,uCAA3B,EAAoE,KAAKE,mBAAzE;AATsB;AAUtB,aAAKle,QAAL,CAAcge,qBAAd,EAA2B,uCAA3B,EAAoE,KAAKE,mBAAzE;AAVsB;AAWtB,aAAKle,QAAL,CAAc,KAAK2B,UAAnB,EAA+B,iCAA/B,EAAkE,KAAKwc,eAAvE;AAXsB;AAYtB,aAAKne,QAAL,CAAcpL,YAAd,EAA4B,SAA5B,EAAuC,YAAM;AAAA;AAAA;;AACzC,kBAAK+M,UAAL,CAAgB4M,KAAhB;AADyC;AAEzC,kBAAK6P,SAAL,GAAiB3oB,SAAjB;AACH,SAHD;AAIH,KA3CiC;AA6ClC4oB,uBA7CkC,iCA6CZ;AAAA;;AAClB,YAAI,4BAAC,KAAKziB,UAAN,gCAAoB,CAAC,KAAKA,UAAL,CAAgBqc,aAArC,gCAAsD,CAAC,KAAKrc,UAAL,CAAgBqc,aAAhB,CAA8Bxa,QAArF,CAAJ,EAAmG;AAAA;AAAA;;AAC/F;AACH,SAFD;AAAA;AAAA;AAGA,YAAMA,oCAAW,KAAK7B,UAAL,CAAgBqc,aAAhB,CAA8Bxa,QAAzC,CAAN;AAJkB;AAKlB,YAAI,gCAAK6gB,WAAL,KAAqB7oB,SAArB,gCAAkCgI,SAAS8gB,gBAAT,KAA8B9oB,SAAhE,CAAJ,EAA+E;AAAA;AAAA;;AAC3E,gBAAI,KAAK6oB,WAAL,MAAsB7gB,SAAS8gB,gBAAT,KAA8B,IAApD,CAAJ,EAA+D;AAAA;AAAA;;AAC3D,qBAAK/b,YAAL;AACH,aAFD;AAAA;AAAA;AAGH,SAJD;AAAA;AAAA;AALkB;AAUlB,YAAI,gCAAKgc,gBAAL,KAA0B/oB,SAA1B,gCAAuCgI,SAASghB,gBAAT,KAA8BhpB,SAArE,CAAJ,EAAoF;AAAA;AAAA;;AAChF,gBAAI,KAAK+oB,gBAAL,MAA2B/gB,SAASghB,gBAAT,KAA8B,IAAzD,CAAJ,EAAoE;AAAA;AAAA;;AAChE,qBAAKC,qBAAL;AACH,aAFD;AAAA;AAAA;AAGH,SAJD;AAAA;AAAA;AAKH,KA5DiC;AA8DlCzjB,UA9DkC,oBA8DzB;AAAA;;AACL,aAAKojB,mBAAL;AADK;AAEL,aAAKM,sBAAL,GAA8B,IAA9B;AAFK;AAGL,YAAI,iCAAKC,UAAL,iCAAmB,KAAKA,UAAL,CAAgBpjB,GAAhB,CAAoB,UAApB,CAAnB,CAAJ,EAAwD;AAAA;;AACpD,gBAAMud,4CAAmB,KAAKS,oBAAL,EAAnB,CAAN;AADoD;AAEpD,gBAAI,CAAC,KAAKhU,MAAV,EAAkB;AAAA;AAAA;;AACd,qBAAKtK,GAAL,CAAS2jB,KAAT;AADc;AAEd;AACH,aAHD;AAAA;AAAA;AAFoD;AAMpD,iBAAK3jB,GAAL,CAASC,IAAT,CAAc,kCAAyB;AACnC8I,oBAAI,4BAD+B;AAEnC6a,uBAAO,aAF4B;AAGnC9O,kCAAkB,KAAK+O,iBAAL,+BAAyB,KAAKA,iBAAL,CAAuB9a,EAAhD,gCAAqD,EAArD,CAHiB;AAInC+a,4BAAY,KAAKV,WAJkB;AAKnC7f,sBAAM,wFAAoB,EAApB,CAL6B;AAMnCwgB,gCAAgB,KAAKA,cANc;AAOnCC,kCAAkB7H,sBAAWC,KAPM;AAQnC6H,6BAAa,KAAKC,YARiB;AASnCpM,yBAAS,KAAK0K,QATqB;AAUnCE,6BAAa,KAAKD,YAViB;AAWnCtQ,iCAAiB,KAAKmR,gBAXa;AAYnCa,gCAAgB,KAAK7B,eAZc;AAanCzE,kDAbmC;AAcnCuG,kCAAkB,KAAKC,iBAdY;AAenCC,2BAAW,iCAAK7pB,CAAL,CAAO,2BAAP,EAAoCE,MAApC,iCAA8C,CAAC,KAAKF,CAAL,CAAO,kBAAP,EAA2BwjB,QAA3B,CAAoC,IAApC,CAA/C,CAfwB;AAgBnC1iB;AAhBmC,aAAzB,CAAd;AANoD;AAwBpD,iBAAKgpB,oBAAL;AAxBoD;AAyBpD,iBAAKC,wBAAL;AAzBoD;AA0BpD,gBAAI,KAAK7B,wBAAT,EAAmC;AAAA;AAAA;;AAC/B,qBAAK1I,kBAAL;AACH,aAFD;AAAA;AAAA;AA1BoD;AA6BpD,gBAAI,KAAKoK,iBAAL,KAA2B9pB,SAA/B,EAA0C;AAAA;AAAA;;AACtC,qBAAKkqB,kBAAL,CAAwB,IAAxB,EAA8B,KAAKf,UAAL,CAAgBpjB,GAAhB,CAAoB,UAApB,CAA9B;AACH,aAFD;AAAA;AAAA;AAGH,SAhCD;AAAA;AAAA;AAHK;AAoCL,eAAO,IAAP;AACH,KAnGiC;AAqGlCsiB,mBArGkC,6BAqGhB;AAAA;;AAAA;;AACd,YAAI,CAAC,KAAKa,sBAAV,EAAkC;AAAA;AAAA;;AAC9B,iBAAKA,sBAAL,GAA8BlO,OAAOC,qBAAP,CAA6B,YAAM;AAAA;AAAA;AAAE,uBAAKzV,MAAL;AAAgB,aAArD,CAA9B;AACH,SAFD;AAAA;AAAA;AADc;AAId,eAAO,IAAP;AACH,KA1GiC;;;AA4GlC;;;;;;;;AAQAgM,WApHkC,mBAoH1B2Y,IApH0B,EAoHpB;AAAA;;AAAA;;AACV,YAAI,KAAKxB,SAAL,KAAmBwB,KAAK3b,EAA5B,EAAgC;AAAA;AAAA;;AAC5B;AACH,SAFD;AAAA;AAAA;AADU;AAIV,aAAK2a,UAAL,GAAkBgB,IAAlB;AAJU;AAKV,aAAKxB,SAAL,GAAiBwB,KAAK3b,EAAtB;AALU;AAMV,eAAO,KAAK4b,mBAAZ;AANU;AAOV,eAAO,KAAKN,iBAAZ;;AAPU;AASV,YAAI,CAAC,KAAKnB,SAAV,EAAqB;AAAA;AAAA;;AACjB,iBAAKzc,UAAL,CAAgB4M,KAAhB;AADiB;AAEjB,iBAAKuP,eAAL;AAFiB;AAGjB;AACH,SAJD;AAAA;AAAA;AATU;AAcV,aAAKnc,UAAL,CAAgB+F,MAAhB,GAAyB,CAAzB;AAdU;AAeV,aAAK/F,UAAL,CAAgB4M,KAAhB;AAfU;AAgBV,aAAK5M,UAAL,CAAgB4F,KAAhB,CAAsB,EAAChD,QAAQ,KAAK6Z,SAAd,EAAtB,EAAgD5lB,IAAhD,CAAqD,YAAM;AAAA;;AACvD,gBAAI4e,eAAJ;AADuD;AAEvD,mBAAKzV,UAAL,CAAgBjL,IAAhB,CAAqB,UAAC+D,KAAD,EAAW;AAAA;AAAA;;AAC5B,oBAAI,CAAC,6BAAC,kCAAMe,GAAN,CAAU,YAAV,kCAA2B,EAA3B,CAAD,EAAgCskB,OAAhC,iCAA2C,EAA3C,CAAD,EAAgDpE,OAAhD,KAA4D,IAAhE,EAAsE;AAAA;AAAA;;AAClEjhB,0BAAMuC,GAAN,CAAU,WAAV,EAAuB,IAAvB;AADkE;AAElEoa,6BAAS,IAAT;AACH,iBAHD;AAAA;AAAA;AAIH,aALD;AAFuD;AAQvD,gBAAIA,MAAJ,EAAY;AAAA;AAAA;;AACR,uBAAK0G,eAAL;AACH,aAFD;AAAA;AAAA;AARuD;AAWvD,mBAAO,IAAP;AACH,SAZD;AAhBU;AA6BV,eAAO,IAAP;AACH,KAlJiC;;;AAoJlC;;;;;AAKA9W,aAzJkC,qBAyJxBxB,MAzJwB,EAyJhB;AAAA;;AACd,aAAKA,MAAL,GAAcA,MAAd;AADc;AAEd,eAAO,IAAP;AACH,KA5JiC;;;AA8JlC;;;;AAIAjD,oBAlKkC,4BAkKjBhL,GAlKiB,EAkKZ;AAClB,YAAI0M,8BAAK,sBAAE1M,IAAIijB,aAAN,EAAqB3W,OAArB,CAA6B,eAA7B,EAA8C3H,IAA9C,CAAmD,IAAnD,CAAL,CAAJ;AACA,YAAIzB,iCAAQ,KAAKkH,UAAL,CAAgBnG,GAAhB,CAAoByI,EAApB,CAAR,CAAJ;;AAEA;AAJkB;AAKlB,aAAK4Z,wBAAL,GAAgC,KAAhC;AALkB;AAMlBpjB,cAAMuC,GAAN,CAAU,WAAV,EAAuB,CAACvC,MAAMe,GAAN,CAAU,WAAV,CAAxB;AANkB;AAOlB,YAAI,CAACf,MAAMe,GAAN,CAAU,WAAV,CAAL,EAA6B;AAAA;AAAA;;AACzBf,kBAAM0S,KAAN,CAAY,WAAZ;AADyB;AAEzB,iBAAK1J,2BAAL,CAAiChJ,KAAjC;AAFyB;AAGzB,iBAAKslB,qBAAL,CAA2BtlB,KAA3B;AACH,SAJD;AAAA;AAAA;AAKH,KA9KiC;;;AAgLlC;;;AAGAulB,oBAnLkC,4BAmLjBzoB,GAnLiB,EAmLZ;AAAA;;AAClB,YAAM0M,8BAAK,sBAAE1M,IAAIijB,aAAN,EAAqB3W,OAArB,CAA6B,eAA7B,EAA8C3H,IAA9C,CAAmD,IAAnD,CAAL,CAAN;AACA,YAAMzB,iCAAQ,KAAKkH,UAAL,CAAgBnG,GAAhB,CAAoByI,EAApB,CAAR,CAAN;;AAFkB;AAIlB,YAAIxJ,KAAJ,EAAW;AAAA;;AACP,gBAAMxF,gCAAO,6BAAC,kCAAMuG,GAAN,CAAU,YAAV,kCAA2B,EAA3B,CAAD,EAAgCvG,IAAhC,iCAAwC,oBAAxC,CAAP,CAAN;AADO;AAEP4B,6BAAOC,OAAP,CAAe,iBAAf,EAAkC;AAC9BgoB,uBAAO,SADuB;AAE9BmB,8DAA4ChrB,IAA5C,MAF8B;AAG9BirB,8BAAc,QAHgB;AAI9BC,0BAAU,oBAAM;AAAA;AAAA;;AACZ,2BAAKrpB,OAAL,CAAa,oBAAb,EAAmC2D,KAAnC;AADY;AAEZA,0BAAM0S,KAAN,CAAY,WAAZ;AAFY;AAGZ1S,0BAAM0S,KAAN,CAAY,WAAZ;AAHY;AAIZ,2BAAKxL,UAAL,CAAgBgJ,MAAhB,CAAuBlQ,KAAvB;AAJY;AAKZ,wBAAIA,MAAM2lB,OAAV,EAAmB;AAAA;AAAA;;AACf3lB,8BAAM4lB,UAAN,GAAmB,QAAnB;AACH,qBAFD,MAEO;AAAA;AAAA;;AACH5lB,8BAAM2J,OAAN;AACH;AACJ;AAd6B,aAAlC;AAgBH,SAlBD;AAAA;AAAA;AAmBH,KA1MiC;AA4MlCkc,0BA5MkC,kCA4MX/oB,GA5MW,EA4MN;AAAA;;AACxB,YAAM0M,8BAAK,sBAAE1M,IAAIijB,aAAN,EAAqB3W,OAArB,CAA6B,eAA7B,EAA8C3H,IAA9C,CAAmD,IAAnD,CAAL,CAAN;AACA,YAAMzB,iCAAQ,KAAKkH,UAAL,CAAgBnG,GAAhB,CAAoByI,EAApB,CAAR,CAAN;AAFwB;AAGxB,aAAKsc,YAAL,CACI,8BAAyB9lB,KAAzB,EAAgC,EAACqkB,OAAO,iBAAR,EAA2BtZ,QAAQ,KAAKA,MAAxC,EAAhC,CADJ,EAEI,UAFJ,EAGI,YAAM;AAAA;AAAA;;AACF,gBAAI/K,MAAMe,GAAN,CAAU,WAAV,CAAJ,EAA4B;AAAA;AAAA;;AACxB,uBAAK1E,OAAL,CAAa,UAAb,EAAyB2D,KAAzB;AACH,aAFD;AAAA;AAAA;AAGH,SAPL;AASH,KAxNiC;AA0NlCklB,sBA1NkC,8BA0Nfa,IA1Ne,EA0NT/V,QA1NS,EA0NC;AAAA;;AAAA;;AAC/B,YAAI,CAAC,KAAKoV,mBAAV,EAA+B;AAAA;AAAA;;AAC3B,iBAAKA,mBAAL,GAA2B,uBAAY;AACnCvnB,sBAAM,KAD6B;AAEnCC,qBAAK,uBAAuBkS,QAAvB,GAAkC,SAFJ;AAGnCgW,uBAAO;AAH4B,aAAZ,CAA3B;AAKH,SAND;AAAA;AAAA;AAD+B;AAQ/B,aAAKZ,mBAAL,CAAyB5V,IAAzB,CAA8B,UAACyW,UAAD,EAAgB;AAAA;AAAA;;AAC1CF,iBAAKvB,cAAL,GAAsByB,UAAtB;AAD0C;AAE1CF,iBAAK7qB,CAAL,CAAO,sBAAP,EAA+BgrB,WAA/B,CAA2C,QAA3C,EAAqD,CAACD,UAAtD;AAF0C;AAG1C,gBAAI,mCAAK9B,UAAL,iCAAmB,OAAKA,UAAL,CAAgBpjB,GAAhB,CAAoB,UAApB,MAAoCiP,QAAvD,CAAJ,EAAqE;AAAA;AAAA;;AACjE,uBAAK8U,iBAAL,GAAyB,IAAzB;AACH,aAFD;AAAA;AAAA;AAGH,SAND,EAMGqB,IANH,CAMQ,YAAM;AAAA;AAAA;;AACVJ,iBAAK7qB,CAAL,CAAO,sBAAP,EAA+BgrB,WAA/B,CAA2C,QAA3C,EAAqD,IAArD;AADU;AAEV,gBAAI,mCAAK/B,UAAL,iCAAmB,OAAKA,UAAL,CAAgBpjB,GAAhB,CAAoB,UAApB,MAAoCiP,QAAvD,CAAJ,EAAqE;AAAA;AAAA;;AACjE,uBAAK8U,iBAAL,GAAyB,KAAzB;AACH,aAFD;AAAA;AAAA;AAGH,SAXD;AAYH,KA9OiC;AAgPlCtB,gBAhPkC,wBAgPrB1mB,GAhPqB,EAgPhB;AAAA;;AACd,YAAI,iCAAKqnB,UAAL,iCAAmBrnB,IAAI2E,IAAJ,CAAS2kB,MAAT,GAAkB,CAArC,CAAJ,EAA4C;AAAA;AAAA;;AACxC,iBAAK3C,mBAAL;AACH,SAFD;AAAA;AAAA;AAGH,KApPiC;AAsPlCA,uBAtPkC,iCAsPZ;AAAA;;AAAA;;AAClB,YAAI,KAAK4C,UAAT,EAAqB;AAAA;AAAA;;AACjB,mBAAO,KAAKA,UAAZ;AADiB;AAEjB;AACH,SAHD;AAAA;AAAA;AADkB;AAKlB,YAAI,6BAAC,KAAKlC,UAAN,iCAAoB,CAAC,KAAKA,UAAL,CAAgB3a,EAArC,iCAA2C,CAAC,KAAKuB,MAAjD,CAAJ,EAA6D;AAAA;AAAA;;AACzD;AACH,SAFD;AAAA;AAAA;AAGA;AARkB;AASlB,YAAI,CAAC,KAAKA,MAAL,CAAY4a,OAAjB,EAA0B;AAAA;AAAA;;AACtB,iBAAK5a,MAAL,CAAY4a,OAAZ,GAAsB,EAAtB;AACH,SAFD;AAAA;AAAA;AATkB;AAYlB,eAAO,KAAK5a,MAAL,CAAY4a,OAAZ,CAAoBjG,OAA3B;AAZkB;AAalB,YAAIvR,OAAOmY,IAAP,CAAY,KAAKvb,MAAL,CAAY4a,OAAxB,EAAiCvqB,MAArC,EAA6C;AAAA;AAAA;;AACzC,iBAAK2P,MAAL,CAAY4a,OAAZ,CAAoBjG,OAApB,GAA8B,IAA9B;AADyC;AAEzC;AACH,SAHD;AAAA;AAAA;AAIA,YAAIzR,mCAAS,KAAK/G,UAAL,CAAgBqf,OAAhB,CAAwBvqB,qBAAE8b,QAAF,CAAW,IAAX,CAAxB,CAAT,CAAJ;AAjBkB;AAkBlB,aAAK5Q,UAAL,CAAgB+F,MAAhB,GAAyB,CAAzB;AAlBkB;AAmBlB,aAAK/F,UAAL,CAAgB4F,KAAhB,CAAsB,EAAChD,QAAQ,KAAKqa,UAAL,CAAgB3a,EAAzB,EAAtB,EAAoDzL,IAApD,CAAyD,YAAM;AAAA;;AAC3D,gBAAIyoB,qCAAW,CAAC,mCAAKlC,iBAAL,iCAA0B,EAA1B,CAAD,EAA+B9a,EAA1C,CAAJ;AAD2D;AAE3D,mBAAKtC,UAAL,CAAgBjL,IAAhB,CAAqB,UAAC+D,KAAD,EAAW;AAAA;AAAA;;AAC5B,oBAAI,CAAChE,qBAAEG,GAAF,CAAM8R,MAAN,EAAcjO,MAAMwJ,EAApB,CAAL,EAA8B;AAAA;AAAA;;AAC1B,wBAAI,CAAC,6BAAC,kCAAMzI,GAAN,CAAU,YAAV,kCAA2B,EAA3B,CAAD,EAAgCskB,OAAhC,iCAA2C,EAA3C,CAAD,EAAgDpE,OAAhD,KAA4D,KAAhE,EAAuE;AAAA;AAAA;;AACnEjhB,8BAAMuC,GAAN,CAAU,WAAV,EAAuB,IAAvB;AACH,qBAFD;AAAA;AAAA;AAGH,iBAJD,MAIO;AAAA;;AACH,wBAAIkkB,sCAAY,KAAZ,CAAJ;AADG;AAEH,wBAAIxY,OAAOjO,MAAMwJ,EAAb,EAAiBzI,GAAjB,CAAqB,WAArB,CAAJ,EAAuC;AAAA;AAAA;;AACnC,4BAAIf,MAAMe,GAAN,CAAU,UAAV,MAA0BkN,OAAOjO,MAAMwJ,EAAb,EAAiBzI,GAAjB,CAAqB,UAArB,CAA9B,EAAgE;AAAA;AAAA;;AAC5Df,kCAAM0f,OAAN,CAAc,IAAd;AAD4D;AAE5D1f,kCAAMuC,GAAN,CAAU,WAAV,EAAuB,IAAvB;AAF4D;AAG5DkkB,wCAAY,IAAZ;AACH,yBAJD,MAIO;AAAA;AAAA;;AACHzmB,kCAAM0mB,UAAN,GAAmBzY,OAAOjO,MAAMwJ,EAAb,EAAiBkd,UAApC;AADG;AAEH1mB,kCAAM2mB,SAAN,GAAkB1Y,OAAOjO,MAAMwJ,EAAb,EAAiBmd,SAAnC;AACH;AACJ,qBATD;AAAA;AAAA;AAFG;AAYH,wBAAI,CAACF,SAAL,EAAgB;AAAA;AAAA;;AACZ;AACA;AACA;AACAzmB,8BAAM8c,UAAN,CAAiB8J,SAAjB,GAA6B3Y,OAAOjO,MAAMwJ,EAAb,EAAiBzI,GAAjB,CAAqB,WAArB,CAA7B;AACH,qBALD;AAAA;AAAA;AAMH;AACJ,aAxBD;AAF2D;AA2B3D,mBAAKsiB,eAAL;AA3B2D;AA4B3D,mBAAKiB,iBAAL,GAAyB,IAAzB;AA5B2D;AA6B3D,gBAAIkC,QAAJ,EAAc;AAAA;AAAA;;AACV,uBAAKK,oBAAL,CAA0B,OAAK3f,UAAL,CAAgBnG,GAAhB,CAAoBylB,QAApB,CAA1B;AACH,aAFD;AAAA;AAAA;AAGA;AAhC2D;AAiC3DrY,mBAAOmY,IAAP,CAAYrY,MAAZ,EAAoBC,OAApB,CAA4B,UAAC1E,EAAD,EAAQ;AAAA;AAAA;;AAChC,oBAAI,6BAAC,OAAKtC,UAAL,CAAgBnG,GAAhB,CAAoByI,EAApB,CAAD,iCAA4ByE,OAAOzE,EAAP,EAAWzI,GAAX,CAAe,WAAf,CAA5B,CAAJ,EAA6D;AAAA;AAAA;;AACzD,2BAAKiI,2BAAL,CAAiCiF,OAAOzE,EAAP,CAAjC;AADyD;AAEzD,2BAAKuB,MAAL,CAAY4H,gBAAZ,CAA6B1E,OAAOzE,EAAP,CAA7B;AACH,iBAHD;AAAA;AAAA;AADgC;AAKhC,oBAAIgd,aAAahd,EAAjB,EAAqB;AAAA;AAAA;;AACjB,2BAAKnN,OAAL,CAAa,oBAAb,EAAmC4R,OAAOzE,EAAP,CAAnC;AACH,iBAFD;AAAA;AAAA;AAGH,aARD;AAjC2D;AA0C3D,mBAAO,IAAP;AACH,SA3CD;AA4CH,KArTiC;AAuTlCzB,gBAvTkC,wBAuTrBjL,GAvTqB,EAuThB;AAAA;;AACd,aAAK+mB,WAAL,GAAmB,CAAC,KAAKA,WAAzB;AADc;AAEd,aAAKxnB,OAAL,CAAa,gBAAb,EAA+B;AAC3BsG,kBAAM,KAAKkhB;AADgB,SAA/B;AAGH,KA5TiC;AA8TlCI,yBA9TkC,iCA8TZnnB,GA9TY,EA8TP;AAAA;;AACvB,aAAKinB,gBAAL,GAAwB,CAAC,KAAKA,gBAA9B;AADuB;AAEvB,aAAK1nB,OAAL,CAAa,yBAAb,EAAwC,KAAK0nB,gBAA7C;AACH,KAjUiC;AAmUlCnR,mBAnUkC,6BAmUhB;AAAA;;AACd,eAAO,KAAKmR,gBAAZ;AACH,KArUiC;AAuUlC9b,mBAvUkC,2BAuUlBnL,GAvUkB,EAuUb;AACjB,YAAI0M,+BAAK,sBAAE1M,IAAIijB,aAAN,EAAqB3W,OAArB,CAA6B,eAA7B,EAA8C3H,IAA9C,CAAmD,IAAnD,CAAL,CAAJ;AADiB;AAEjB,aAAKqlB,cAAL,CAAoB,KAAK5f,UAAL,CAAgBnG,GAAhB,CAAoByI,EAApB,CAApB;AACH,KA1UiC;AA4UlCsd,kBA5UkC,0BA4UnB9mB,KA5UmB,EA4UZ;AAAA;;AAClB;AACA,YAAI,iCAAKskB,iBAAL,iCAA0BtkB,KAA1B,iCAAmC,KAAKskB,iBAAL,CAAuB9a,EAAvB,KAA8BxJ,MAAMwJ,EAAvE,CAAJ,EAA+E;AAAA;AAAA;;AAC3E,iBAAK8a,iBAAL,GAAyB,IAAzB;AAD2E;AAE3E,iBAAKjoB,OAAL,CAAa,kBAAb,EAAiC,IAAjC;AAF2E;AAG3E,iBAAKgnB,eAAL;AAH2E;AAI3E;AACH,SALD;AAAA;AAAA;;AAFkB;AASlB,YAAI,CAAC,KAAKsB,YAAL,CAAkB3kB,KAAlB,CAAL,EAA+B;AAAA;AAAA;;AAC3B5D,6BAAOC,OAAP,CAAe,SAAf,EAA0B;AACtB+F,sBAAM,kDADgB;AAEtBvE,sBAAM,SAFgB;AAGtBkpB,yBAAS,IAHa;AAItBC,sBAAM;AAJgB,aAA1B;AAD2B;AAO3B;AACH,SARD;AAAA;AAAA;AATkB;AAkBlB,aAAKH,oBAAL,CAA0B7mB,KAA1B;AACH,KA/ViC;AAiWlC6mB,wBAjWkC,gCAiWb7mB,KAjWa,EAiWN;AAAA;;AAAA;;AACxB,aAAKskB,iBAAL,GAAyB,kEAAS,IAAT,CAAzB;AADwB;AAExB,YAAI,KAAKA,iBAAL,KAA2B,IAA/B,EAAqC;AAAA;AAAA;;AACjC;AACH,SAFD;AAAA;AAAA;;AAFwB;AAMxB,YAAI,CAAC,CAAC,6BAAC,kCAAMvjB,GAAN,CAAU,YAAV,kCAA2B,EAA3B,CAAD,EAAgCkE,QAAhC,iCAA4C,EAA5C,CAAD,EAAiD7J,MAAtD,EAA8D;AAAA;AAAA;;AAC1D;AACA;AACA;AACA;AACA4E,kBAAMuC,GAAN,CAAU,SAAV,EAAqB,IAArB;AAL0D;AAM1DvC,kBAAM8M,KAAN,GAAc0C,IAAd,CAAmB,YAAM;AAAA;AAAA;;AACrB,uBAAKyX,+BAAL,CAAqCjnB,KAArC;AACH,aAFD,EAEGknB,MAFH,CAEU,YAAM;AAAA;AAAA;;AACZlnB,sBAAM0S,KAAN,CAAY,SAAZ;AACH,aAJD;AAKH,SAXD,MAWO;AAAA;AAAA;;AACH,iBAAKuU,+BAAL,CAAqCjnB,KAArC;AACH;AACJ,KArXiC;AAuXlCinB,mCAvXkC,2CAuXFjnB,KAvXE,EAuXK;AACnC,YAAMmnB,wCAAc,CAAC,6BAAC,kCAAMpmB,GAAN,CAAU,YAAV,kCAA2B,EAA3B,CAAD,EAAgCkE,QAAhC,iCAA4C,EAA5C,CAAD,EAAiD7J,MAA/D,CAAN;AADmC;AAEnC,YAAI,iCAAKkpB,iBAAL,iCAA0B,KAAKA,iBAAL,CAAuB9a,EAAvB,KAA8BxJ,MAAMwJ,EAA9D,CAAJ,EAAsE;AAAA;AAAA;;AAClE;AACH,SAFD;AAAA;AAAA;AAFmC;AAKnCxJ,cAAMuC,GAAN,CAAU,WAAV,EAAuB,IAAvB;;AALmC;AAOnC,YAAI,0CAAcsgB,wBAAd,iCAA0C7iB,MAAMsS,aAAhD,CAAJ,EAAmE;AAAA;AAAA;;AAC/DlW,6BAAOC,OAAP,CAAe,SAAf,EAA0B;AACtB+F,sBAAM,qDADgB;AAEtBvE,sBAAM,SAFgB;AAGtBkpB,yBAAS,IAHa;AAItBC,sBAAM;AAJgB,aAA1B;AAD+D;AAO/D,iBAAK1C,iBAAL,GAAyB,IAAzB;AAP+D;AAQ/D,iBAAKjoB,OAAL,CAAa,kBAAb,EAAiC,IAAjC;AACH,SATD,MASO;AAAA;AAAA;;AACH,iBAAKA,OAAL,CAAa,kBAAb,EAAiC2D,KAAjC;AACH;AACJ,KA1YiC;AA4YlCwZ,oBA5YkC,4BA4YjB1c,GA5YiB,EA4YZ;AAAA;;AAClB,YAAIkD,kCAAQ,IAAI8E,yBAAJ,CAAoB;AAC5BgF,oBAAQ,KAAKqa,UAAL,CAAgB3a,EADI;AAE5BmH,wBAAY;AAFgB,SAApB,CAAR,CAAJ;AADkB;AAKlB,aAAKmV,YAAL,CACI,8BAAyB9lB,KAAzB,EAAgC,EAACqkB,OAAO,mBAAR,EAAhC,CADJ,EAEI,UAFJ,EAGI,YAAM;AAAA;AAAA;;AACF,mBAAKgC,UAAL,GAAkB,IAAlB;AADE;AAEFrmB,kBAAM+Q,IAAN,GAAavB,IAAb,CAAkB,YAAM;AAAA;AAAA;;AACpBxP,sBAAMuC,GAAN,CAAU,WAAV,EAAuB,IAAvB;AADoB;AAEpB,uBAAK2E,UAAL,CAAgB4J,GAAhB,CAAoB9Q,KAApB;AAFoB;AAGpB,uBAAK3D,OAAL,CAAa,kBAAb,EAAiC2D,KAAjC;AAHoB;AAIpB,uBAAKskB,iBAAL,GAAyBtkB,KAAzB;AACH,aALD;AAMH,SAXL;AAaH,KA9ZiC;AAgalC0jB,mBAhakC,2BAgalB/S,UAhakB,EAgaN;AAAA;;AAAA;;AACxB,YAAI,iCAAK5F,MAAL,iCAAe,CAAC,KAAKA,MAAL,CAAY4a,OAA5B,CAAJ,EAAyC;AAAA;AAAA;;AACrC,iBAAK5a,MAAL,CAAY4a,OAAZ,GAAsB,EAAtB;AACH,SAFD;AAAA;AAAA;AAGA,YAAMyB,oCAAU,6BAAC,iCAAKrc,MAAL,iCAAe,EAAf,CAAD,EAAoB4a,OAApB,iCAA+B,EAA/B,CAAV,CAAN;AAJwB;AAKxB,YAAI,6BAAChV,WAAWgV,OAAZ,iCAAuB,CAAChV,WAAW0W,QAAnC,iCAA+C,CAAC1W,WAAW5P,GAAX,CAAe,SAAf,CAAhD,CAAJ,EAA+E;AAAA;AAAA;;AAC3EqmB,oBAAQzW,WAAWnH,EAAnB,IAAyB,IAAzB;AAD2E;AAE3E,iBAAK/I,GAAL,CAASyB,QAAT,CAAkB,QAAlB;AACA,gBAAMolB,0CAAgB3W,WAAWiV,UAA3B,CAAN;AAH2E;AAI3EjV,uBAAWgV,OAAX,GAAqB,IAArB;AAJ2E;AAK3EhV,uBAAWiV,UAAX,GAAwB,KAAxB;AAL2E;AAM3E,gBAAIjV,WAAW1L,QAAX,GAAsBgJ,MAAtB,CAA6ByB,MAA7B,CAAoC,UAAC1P,KAAD,EAAW;AAAA;AAAA;AAAA,6BAAMe,GAAN,CAAU,MAAV,MAAsB,UAAtB;AAAgC,aAA/E,EAAiF3F,MAAjF,KAA4F,CAAhG,EAAmG;AAAA;AAAA;;AAC/F,qBAAKiB,OAAL,CAAa,UAAb,EAAyBsU,UAAzB;AACH,aAFD;AAAA;AAAA;AAN2E;AAS3EA,uBAAWI,IAAX,GAAkBoV,IAAlB,CAAuB,YAAM;AAAA;AAAA;;AACzB;;;AAGAxV,2BAAWiV,UAAX,GAAwB1mB,KAAKkG,GAAL,CAASkiB,4CAAgBA,gBAAgB,CAAhC,gCAAoC,CAApC,CAAT,EAAgD,GAAhD,CAAxB;AACH,aALD,EAKGJ,MALH,CAKU,YAAM;AAAA;AAAA;;AACZvW,2BAAWgV,OAAX,GAAqB,KAArB;AADY;AAEZ,uBAAOyB,QAAQzW,WAAWnH,EAAnB,CAAP;AAFY;AAGZ,oBAAI,uCAAWoc,UAAX,KAA0B5qB,SAA1B,iCAAuC2V,WAAWiV,UAAX,KAA0B,KAAjE,CAAJ,EAA4E;AAAA;AAAA;;AACxE,wBAAIjV,WAAWiV,UAAX,KAA0B,QAA9B,EAAwC;AAAA;AAAA;;AACpCjV,mCAAWhH,OAAX;AACH,qBAFD,MAEO;AAAA;AAAA;AAAA,gCAAI,CAACgH,WAAWiV,UAAhB,EAA4B;AAAA;AAAA;;AAC/B,wCAAKlC,eAAL,CAAqB/S,UAArB;AACH,6BAFM,MAEA;AAAA;AAAA;;AACHyW,wCAAQzW,WAAWnH,EAAnB,IAAyB,IAAzB;AADG;AAEHwM,uCAAOI,UAAP,CAAkB,YAAM;AAAA;AAAA;;AACpB,wCAAI,uCAAWwP,UAAX,KAA0B5qB,SAA1B,iCAAuC2V,WAAWiV,UAAX,KAA0B,KAAjE,CAAJ,EAA4E;AAAA;AAAA;;AACxE,gDAAKlC,eAAL,CAAqB/S,UAArB;AACH,qCAFD;AAAA;AAAA;AAGH,iCAJD,EAIGA,WAAWiV,UAAX,GAAwB,IAJ3B;AAKH;AAAA;AACJ,iBAbD;AAAA;AAAA;AAHY;AAiBZ,oBAAI,mCAAOU,IAAP,CAAYc,OAAZ,EAAqBhsB,MAArB,KAAgC,CAAhC,iCAAqCgsB,QAAQ1H,OAA7C,CAAJ,EAA0D;AAAA;AAAA;;AACtD,4BAAK+D,mBAAL;AACH,iBAFD;AAAA;AAAA;AAjBY;AAoBZ,oBAAI,6BAACtV,OAAOmY,IAAP,CAAYc,OAAZ,EAAqBhsB,MAAtB,KAAiC,mCAAOkrB,IAAP,CAAYc,OAAZ,EAAqBhsB,MAArB,KAAgC,CAAhC,iCAAqCgsB,QAAQ1H,OAA7C,CAArC,EAA4F;AAAA;AAAA;;AACxF,4BAAKjf,GAAL,CAAS4B,WAAT,CAAqB,QAArB;AACH,iBAFD;AAAA;AAAA;AAGH,aA5BD;AA6BH,SAtCD,MAsCO;AAAA;AAAA;AAAA,oBAAI,6BAACsO,WAAW0W,QAAZ,iCAAwB,CAAC1W,WAAW5P,GAAX,CAAe,SAAf,CAAzB,CAAJ,EAAwD;AAAA;AAAA;;AAC3D;;AAEA,wBAAI4P,WAAWiV,UAAX,KAA0B,QAA9B,EAAwC;AAAA;AAAA;;AACpCjV,mCAAWiV,UAAX,GAAwB,CAAxB;AACH,qBAFD;AAAA;AAAA;AAH2D;AAM3D,wBAAIjV,WAAW1L,QAAX,GAAsBgJ,MAAtB,CAA6ByB,MAA7B,CAAoC,UAAC1P,KAAD,EAAW;AAAA;AAAA;AAAA,qCAAMe,GAAN,CAAU,MAAV,MAAsB,UAAtB;AAAgC,qBAA/E,EAAiF3F,MAAjF,KAA4F,CAAhG,EAAmG;AAAA;AAAA;;AAC/F,6BAAKiB,OAAL,CAAa,UAAb,EAAyBsU,UAAzB;AACH,qBAFD;AAAA;AAAA;AAGH,iBATM,MASA;AAAA;AAAA;;AACHA,+BAAWiV,UAAX,GAAwB,KAAxB;AADG;AAEH,2BAAOwB,QAAQzW,WAAWnH,EAAnB,CAAP;AAFG;AAGH,wBAAImH,WAAW1L,QAAX,GAAsBgJ,MAAtB,CAA6ByB,MAA7B,CAAoC,UAAC1P,KAAD,EAAW;AAAA;AAAA;AAAA,qCAAMe,GAAN,CAAU,MAAV,MAAsB,UAAtB;AAAgC,qBAA/E,EAAiF3F,MAAjF,KAA4F,CAAhG,EAAmG;AAAA;AAAA;;AAC/F,6BAAKiB,OAAL,CAAa,UAAb,EAAyBsU,UAAzB;AACH,qBAFD;AAAA;AAAA;AAHG;AAMH,wBAAI,mCAAO2V,IAAP,CAAYc,OAAZ,EAAqBhsB,MAArB,KAAgC,CAAhC,iCAAqCgsB,QAAQ1H,OAA7C,CAAJ,EAA0D;AAAA;AAAA;;AACtD,6BAAK+D,mBAAL;AACH,qBAFD;AAAA;AAAA;AANG;AASH,wBAAI,6BAACtV,OAAOmY,IAAP,CAAYc,OAAZ,EAAqBhsB,MAAtB,KAAiC,mCAAOkrB,IAAP,CAAYc,OAAZ,EAAqBhsB,MAArB,KAAgC,CAAhC,iCAAqCgsB,QAAQ1H,OAA7C,CAArC,EAA4F;AAAA;AAAA;;AACxF,6BAAKjf,GAAL,CAAS4B,WAAT,CAAqB,QAArB;AACH,qBAFD;AAAA;AAAA;AAGH;AAAA;AACJ,KAjeiC;AAmelCsiB,gBAnekC,wBAmerBhU,UAneqB,EAmeT4W,QAneS,EAmeC;AAAA;;AAC/B,YAAIA,QAAJ,EAAc;AAAA;AAAA;;AACV,mBAAO5W,WAAW5P,GAAX,CAAe,cAAf,KAAkC6b,sBAAW4K,KAApD;AACH,SAFD;AAAA;AAAA;AAD+B;AAI/B,eAAO7W,WAAW5P,GAAX,CAAe,cAAf,KAAkC6b,sBAAWC,KAApD;AACH,KAxeiC;AA0elCyI,yBA1ekC,iCA0eZtlB,KA1eY,EA0eL;AAAA;;AACzB,YAAI,iCAAKskB,iBAAL,iCAA0B,KAAKA,iBAAL,CAAuB9a,EAAvB,KAA8BxJ,MAAMwJ,EAA9D,CAAJ,EAAsE;AAAA;AAAA;;AAClE,iBAAK8a,iBAAL,GAAyB,IAAzB;AADkE;AAElE,iBAAKjoB,OAAL,CAAa,kBAAb,EAAiC,IAAjC;AAFkE;AAGlE,iBAAKgnB,eAAL;AACH,SAJD;AAAA;AAAA;AAKH,KAhfiC;AAkflCra,+BAlfkC,uCAkfNhJ,KAlfM,EAkfC;AAAA;;AAC/B,aAAKmB,UAAL,CAAgB9E,OAAhB,CAAwB,8BAAxB,EAAwD,EAAC2D,YAAD,EAAxD;AACH,KApfiC;AAsflC0a,sBAtfkC,gCAsfb;AAAA;;AACjB,aAAK0I,wBAAL,GAAgC,IAAhC;AADiB;AAEjB,aAAKlc,UAAL,CAAgBjL,IAAhB,CAAqB,UAAC+D,KAAD,EAAW;AAAA;AAAA;;AAC5BA,kBAAMuC,GAAN,CAAU,WAAV,EAAuB,IAAvB;AACH,SAFD;AAGH,KA3fiC;AA6flCkY,sBA7fkC,gCA6fb;AAAA;;AAAA;;AACjB,aAAK2I,wBAAL,GAAgC,KAAhC;AADiB;AAEjB,aAAKlc,UAAL,CAAgBjL,IAAhB,CAAqB,UAAC+D,KAAD,EAAW;AAAA;AAAA;;AAC5BA,kBAAMuC,GAAN,CAAU,WAAV,EAAuB,KAAvB;AAD4B;AAE5B,oBAAKyG,2BAAL,CAAiChJ,KAAjC;AAF4B;AAG5B,oBAAKslB,qBAAL,CAA2BtlB,KAA3B;AACH,SAJD;AAKH,KApgBiC;AAsgBlC6b,kCAtgBkC,4CAsgBD;AAC7B,YAAM4L,gCAAM,KAAKvsB,CAAL,CAAO,gCAAP,CAAN,CAAN;AAD6B;AAE7B,eAAO,CAAC,CAACusB,IAAI/I,QAAJ,CAAa,QAAb,CAAT;AACH,KAzgBiC;AA2gBlCpF,4BA3gBkC,oCA2gBTsB,OA3gBS,EA2gBA;AAAA;;AAC9B,YAAM6M,gCAAM,KAAKvsB,CAAL,CAAO,gCAAP,CAAN,CAAN;AACA;AAF8B;AAG9B,8BAAE0B,QAAF,EAAYC,EAAZ,CAAe,uCAAf,EAAwD,UAACC,GAAD,EAAS;AAAA;AAAA;;AAC7D,gBAAIA,IAAIuM,OAAJ,KAAgB,EAApB,EAAwB;AAAA;AAAA;;AACpB,wBAAKqe,8BAAL;AACH,aAFD;AAAA;AAAA;AAGH,SAJD;AAH8B;AAQ9B,aAAK5B,YAAL,CAAkB,KAAK3kB,UAAvB,EAAmC,4BAAnC,EAAiE,YAAM;AAAA;AAAA;;AACnEsmB,gBAAIplB,WAAJ,CAAgB,QAAhB;AADmE;AAEnE,kCAAEzF,QAAF,EAAYI,GAAZ,CAAgB,uCAAhB;AACH,SAHD;;AAR8B;AAa9B,YAAI,CAACyqB,IAAI/I,QAAJ,CAAa,QAAb,CAAL,EAA6B;AAAA;AAAA;;AACzB+I,gBAAIvlB,QAAJ,CAAa,QAAb;AADyB;AAEzB,iBAAKf,UAAL,CAAgB9E,OAAhB,CAAwB,0BAAxB,EAAoD,EAACue,SAASA,YAAY,IAAtB,EAApD;AACH,SAHD,MAGO;AAAA;AAAA;;AACH,iBAAK8M,8BAAL;AACH;AACJ,KA9hBiC;AAgiBlCA,kCAhiBkC,4CAgiBD;AAC7B,YAAMD,gCAAM,KAAKvsB,CAAL,CAAO,gCAAP,CAAN,CAAN;AAD6B;AAE7B,YAAIusB,IAAI/I,QAAJ,CAAa,QAAb,CAAJ,EAA4B;AAAA;AAAA;;AACxB+I,gBAAIplB,WAAJ,CAAgB,QAAhB;AADwB;AAExB,kCAAEzF,QAAF,EAAYI,GAAZ,CAAgB,uCAAhB;AAFwB;AAGxB,iBAAKmE,UAAL,CAAgB9E,OAAhB,CAAwB,gCAAxB;AACH,SAJD;AAAA;AAAA;AAKH,KAviBiC;AAyiBlC2gB,wBAziBkC,gCAyiBblgB,GAziBa,EAyiBR;AACtB,YAAM0M,+BAAK,sBAAE1M,IAAIijB,aAAN,EAAqBte,IAArB,CAA0B,IAA1B,CAAL,CAAN;AACA,YAAMzB,kCAAQ,KAAKkH,UAAL,CAAgBnG,GAAhB,CAAoByI,EAApB,CAAR,CAAN;AAFsB;AAGtB,YAAIxJ,MAAMe,GAAN,CAAU,WAAV,CAAJ,EAA4B;AAAA;AAAA;;AACxB,iBAAKI,UAAL,CAAgB9E,OAAhB,CAAwB,uBAAxB,EAAiDmN,EAAjD;AACH,SAFD;AAAA;AAAA;AAGH,KA/iBiC;AAijBlCme,0BAjjBkC,oCAijBT;AAAA;;AACrB,aAAKxmB,UAAL,CAAgB9E,OAAhB,CAAwB,uBAAxB;AACH,KAnjBiC;AAqjBlCinB,8BArjBkC,sCAqjBPtjB,KArjBO,EAqjBA;AAAA;;AAC9B,aAAK9E,CAAL,6BAAiC8E,MAAMwJ,EAAvC,SAA+C0c,WAA/C,CAA2D,wBAA3D,EAAqFlmB,MAAMe,GAAN,CAAU,aAAV,CAArF;AACH,KAvjBiC;AAyjBlCikB,wBAzjBkC,kCAyjBX;AAAA;;AACnB,aAAK/B,QAAL,GAAgB,KAAK/nB,CAAL,CAAO,uBAAP,EAAgC0G,GAAhC,EAAhB;AADmB;AAEnB,aAAK1G,CAAL,CAAO,iCAAP,EACKkd,IADL,CACU,OADV,gCAC+C,CAAC,KAAK6K,QAAL,GAAgB,GAAjB,EAAsB3S,OAAtB,EAD/C;AAFmB;AAInB,aAAKjU,OAAL,CAAa,qBAAb,EAAoC,KAAK4mB,QAAzC;AACH,KA9jBiC;AAgkBlCgC,4BAhkBkC,sCAgkBP;AAAA;;AACvB,aAAK/B,YAAL,GAAoB,KAAKhoB,CAAL,CAAO,4BAAP,EAAqC0G,GAArC,EAApB;AADuB;AAEvB,aAAK1G,CAAL,CAAO,sCAAP,EACKkd,IADL,CACU,OADV,+BAC8C,CAAC,KAAK8K,YAAL,GAAoB,GAArB,EAA0B5S,OAA1B,EAD9C;AAFuB;AAIvB,aAAKjU,OAAL,CAAa,yBAAb,EAAwC,KAAK6mB,YAA7C;AACH,KArkBiC;AAukBlC0E,sBAvkBkC,8BAukBf9qB,GAvkBe,EAukBV;AACpB,YAAMtC,iCAAO,sBAAEsC,IAAIijB,aAAN,EAAqB9d,MAArB,GAA8BR,IAA9B,CAAmC,WAAnC,CAAP,CAAN;AADoB;AAEpB,YAAI,KAAKshB,eAAL,CAAqB5mB,GAArB,CAAyB3B,IAAzB,CAAJ,EAAoC;AAAA;AAAA;;AAChC,iBAAKuoB,eAAL,CAAqB8E,MAArB,CAA4BrtB,IAA5B;AACH,SAFD,MAEO;AAAA;AAAA;;AACH,iBAAKuoB,eAAL,CAAqBjS,GAArB,CAAyBtW,IAAzB;AACH;AANmB;AAOpB,aAAK6oB,eAAL;AACH,KA/kBiC;AAilBlCtE,wBAjlBkC,kCAilBX;AAAA;;AAAA;;AACnB;AACA;AACA,aAAK7X,UAAL,CAAgBjL,IAAhB,CAAqB,UAACsD,CAAD,EAAO;AAAA;;AACxB,gBAAMqR,mCAAS,+BAAE7P,GAAF,CAAM,QAAN,mCAAmB,EAAnB,CAAT,CAAN;AADwB;AAExB,gBAAI,CAAC6P,OAAOxV,MAAZ,EAAoB;AAAA;AAAA;;AAChBwV,uBAAO9U,IAAP,CAAY,IAAZ;AACH,aAFD;AAAA;AAAA;AAGH,SALD;AAMA,YAAMgsB,wCAAc,EAAd,CAAN;AACA,YAAMlX,mCAAS5U,qBAAE+rB,KAAF,gDAAW,KAAK7gB,UAAL,CAAgBmL,GAAhB,CAAoB,UAAC9S,CAAD,EAAO;AAAA;AAAA;AAAA,qBAAEwB,GAAF,CAAM,QAAN;AAAe,SAA1C,CAAX,EAAT,CAAN;AAVmB;AAWnB/E,6BAAEC,IAAF,CAAO2U,MAAP,EAAe,UAAC/O,KAAD,EAAW;AAAA;;AACtB,gBAAMmmB,sCAAY,QAAK9gB,UAAL,CAAgBwI,MAAhB,CACd,UAACnQ,CAAD,EAAO;AAAA;AAAA;AAAA,4CAAE0oB,QAAF,CAAW1oB,EAAEwB,GAAF,CAAM,QAAN,CAAX,EAA4Bc,KAA5B;AAAkC,aAD3B,CAAZ,CAAN;;AADsB;AAItB,gBAAIA,UAAU,IAAd,EAAoB;AAAA;AAAA;;AAChBA,wBAAQ,OAAR;AACH,aAFD;AAAA;AAAA;AAJsB;AAOtBimB,wBAAYjmB,KAAZ,IAAqB7F,qBAAE6b,MAAF,CAASmQ,SAAT,EAAoB,UAACzoB,CAAD,EAAO;AAAA;AAAA;AAAA,yBAAEwB,GAAF,CAAM,SAAN;AAAgB,aAA3C,CAArB;AACH,SARD;AAXmB;AAoBnB,aAAKmnB,wBAAL,CAA8BJ,WAA9B;AApBmB;AAqBnB,eAAOA,WAAP;AACH,KAvmBiC;AAymBlCI,4BAzmBkC,oCAymBTtX,MAzmBS,EAymBD;AAAA;;AAC7B,YAAMqO,uCAAa,EAAb,CAAN;AAD6B;AAE7BjjB,6BAAEC,IAAF,CAAO2U,MAAP,EAAe,UAAC3K,WAAD,EAAczL,IAAd,EAAuB;AAAA;AAAA;;AAClC,gBAAIA,SAAS,OAAb,EAAsB;AAAA;AAAA;;AAClBykB,2BAAWzkB,IAAX,IAAmByL,YAAY7K,MAA/B;AACH,aAFD,MAEO;AAAA;AAAA;;AACH6jB,2BAAW,qCAAK9d,UAAL,CAAgBW,aAAhB,kCAAiC,SAAjC,CAAX,IAAyDmE,YAAY7K,MAArE;AACH;AACJ,SAND;AAF6B;AAS7B,aAAKiB,OAAL,CAAa,cAAb,EAA6B4iB,UAA7B;AACH;AAnnBiC,CAAb,CAArB,CAAJ;;kBAsnBehY,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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C;AACA,IAAI,iCAAO,CAAC,sBAAQ,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;AClMD,yC;;;;;;ACAA,gD;;;;;;;;;ACAA,IAAIF,MAAMC,mBAAOA,CAAC,CAAR,CAAV;;AAEA,SAASC,QAAT,CAAkBC,MAAlB,EAA0B;AAAC,MAAIC,WAAW,EAAf;AAAA,MAAmBC,aAAa,EAAhC;AAAA,MAAoCC,UAApC,CAA+C,IAAIC,kBAAJ,EAAwBC,cAAxB,CAAuC,IAAI;AAAC,QAAIC,oBAAoB,EAAC,kGAAmJ,2pBAApJ,EAAxB;AACtH,KAAC,IAAIC,kBAAmBP,UAA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AuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,MAAM;AACvB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB;AACjB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,QAAQ;AACzB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB;AACjB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB,iBAAiB;AACjB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;AAGA,OAAO;AACP;AACA;;AAEA;;;AAGA,OAAO;AACP;AACA,CAAC,E;;;;;;;;;AC9jBD,IAAIjE,MAAMC,mBAAOA,CAAC,CAAR,CAAV;;AAEA,SAASC,QAAT,CAAkBC,MAAlB,EAA0B;AAAC,MAAIC,WAAW,EAAf;AAAA,MAAmBC,aAAa,EAAhC;AAAA,MAAoCC,UAApC,CAA+C,IAAIC,kBAAJ,EAAwBC,cAAxB,CAAuC,IAAI;AAAC,QAAIC,oBAAoB,EAAC,8GAA+J,klBAAh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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KCAA;;;;;;;AACA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AACA;;;;AAEA,IAAIp1B,yCAAiBuc,gBAAM/iB,MAAN,CAAa;AAC9BS,UAD8B,oBACrB;AAAA;;AAAA;;AACL,aAAKC,GAAL,CAASC,IAAT,CAAc,8BAAe;AACzB8I,gBAAI,0BADqB;AAEzBub,uBAAW,gCAAK7pB,CAAL,CAAO,2BAAP,EAAoCE,MAApC,gCAA8C,CAAC,KAAKF,CAAL,CAAO,kBAAP,EAA2BwjB,QAA3B,CAAoC,IAApC,CAA/C;AAFc,SAAf,CAAd;AADK;AAKL1I,eAAOI,UAAP,CAAkB,YAAM;AAAA;AAAA;;AACpB,kBAAK8sB,eAAL;AACH,SAFD,EAEG,CAFH;AALK;AAQL,eAAO,IAAP;AACH,KAV6B;;;AAY9B;;;;AAIA32B,aAhB8B,qBAgBpBxB,MAhBoB,EAgBZ;AAAA;;AACd,YAAIA,WAAW,KAAKo4B,YAApB,EAAkC;AAAA;AAAA;;AAC9B,gBAAI,gCAAKA,YAAL,gCAAqB,KAAKA,YAAL,CAAkBp4B,MAAvC,gCAAiD,KAAKq4B,iBAAtD,CAAJ,EAA6E;AAAA;AAAA;;AACzE,qBAAKD,YAAL,CAAkBp4B,MAAlB,CAAyBsR,MAAzB,CAAgCnR,IAAIiB,KAAJ,CAAUC,GAA1C,EAA+C,KAAKg3B,iBAApD;AADyE;AAEzE,qBAAKA,iBAAL,GAAyB,IAAzB;AACH,aAHD;AAAA;AAAA;AAD8B;AAK9B,iBAAKD,YAAL,GAAoBp4B,MAApB;AAL8B;AAM9B,iBAAKm4B,eAAL;AACH,SAPD;AAAA;AAAA;AADc;AASd,eAAO,IAAP;AACH,KA1B6B;AA4B9Bz1B,YA5B8B,oBA4BrBH,KA5BqB,EA4Bd;AAAA;;AACZ,YAAI,CAACtR,qBAAEqnC,OAAF,CAAU/1B,KAAV,EAAiB,KAAKg2B,MAAtB,CAAL,EAAoC;AAAA;AAAA;;AAChC,iBAAKA,MAAL,GAAch2B,KAAd;AADgC;AAEhC,iBAAK41B,eAAL;AACH,SAHD;AAAA;AAAA;AADY;AAKZ,eAAO,IAAP;AACH,KAlC6B;AAoC9BA,mBApC8B,6BAoCZ;AAAA;;AAAA;;AACd,YAAI,4BAAC,KAAKI,MAAN,gCAAgB,CAAC,KAAKH,YAAtB,gCAAsC,CAAC,KAAKA,YAAL,CAAkBp4B,MAAzD,gCAAmE,CAAC,KAAKtK,GAAL,CAASqP,IAAT,CAAc,mBAAd,EAAmC1U,MAAvG,CAAJ,EAAmH;AAAA;AAAA;;AAC/G,gBAAI,KAAK2P,MAAT,EAAiB;AAAA;AAAA;;AACb,qBAAKA,MAAL,CAAYw4B,IAAZ;AADa;AAEb,qBAAKx4B,MAAL,GAAc,IAAd;AACH,aAHD;AAAA;AAAA;AAD+G;AAK/G;AACH,SAND;AAAA;AAAA;AAOA,YAAMuC,iCAAQ,KAAKg2B,MAAb,CAAN;;AAEA,YAAMvgC,kCAASmI,IAAI0e,IAAJ,CAAS4Z,qBAAT,CACX,KAAK/iC,GAAL,CAASqP,IAAT,CAAc,mBAAd,CADW,EACyBxC,MAAMm2B,KAD/B,EACsCn2B,MAAMo2B,KAD5C,EACmDp2B,MAAMq2B,SADzD,EACoEr2B,MAAMs2B,UAD1E,CAAT,CAAN;AAVc;AAYd7gC,eAAOyR,KAAP,CAAaqvB,cAAb,GAA8B,IAA9B;AAZc;AAad9gC,eAAOyR,KAAP,CAAa1W,GAAb,GAAmB,KAAKqlC,YAAL,CAAkBW,cAAlB,GAAmChmC,GAAtD;AAbc;AAcd,YAAI,iCAAM6lC,SAAN,GAAkB,IAAlB,gCAA0Br2B,MAAMs2B,UAAN,GAAmB,IAA7C,CAAJ,EAAuD;AAAA;AAAA;;AACnD7gC,mBAAOyR,KAAP,CAAauvB,QAAb,GAAwB,QAAxB;AACH,SAFD;AAAA;AAAA;AAGA;;AAjBc;AAmBdhhC,eAAOsP,GAAP,CAAWrH,UAAX,GAAwBE,IAAI84B,aAAJ,CAAkB;AACtCC,qBAAS,CAAC;AACNC,wBAAQ,cADF;AAENC,uBAAO,MAFD;AAGNxuB,2BAAW,EAACC,OAAO,KAAR,EAAekB,MAAM,KAArB,EAHL;AAINstB,uBAAO,sBAJD;AAKN5pC,sBAAM;AALA,aAAD,EAMN;AACC0pC,wBAAQ,qBADT;AAECC,uBAAO,MAFR;AAGCxuB,2BAAW,EAACC,OAAO,IAAR,EAAckB,MAAM,KAApB,EAHZ;AAICutB,oCAAoBn5B,IAAIiB,KAAJ,CAAUf,UAJ/B;AAKCg5B,uBAAO,sBALR;AAMC5pC,sBAAM;AANP,aANM,CAD6B;AAetC8pC,sBAAU;AACNL,yBAAS;AADH;AAf4B,SAAlB,CAAxB;AAnBc;AAsCd,aAAKl5B,MAAL,GAAcG,IAAImH,GAAJ,CAAQtP,OAAOsP,GAAf,CAAd;;AAtCc;AAwCd,YAAI2D,OAAOuuB,cAAX,EAA2B;AAAA;AAAA;;AACvB,iBAAKC,SAAL,GAAiB,IAAIxuB,OAAOuuB,cAAX,CAA0B,YAAM;AAAA;AAAA;;AAC7C,oBAAI,OAAKx5B,MAAL,CAAY+Q,IAAZ,GAAmBxI,KAAnB,EAAJ,EAAgC;AAAA;AAAA;;AAC5B,2BAAKvI,MAAL,CAAYqrB,IAAZ,CAAiB,EAAC9iB,OAAO,OAAKvI,MAAL,CAAY+Q,IAAZ,GAAmBxI,KAAnB,EAAR,EAAoCC,QAAQ,OAAKxI,MAAL,CAAY+Q,IAAZ,GAAmBvI,MAAnB,EAA5C,EAAjB;AACH,iBAFD;AAAA;AAAA;AAGH,aAJgB,CAAjB;AADuB;AAMvB,iBAAKixB,SAAL,CAAeC,OAAf,CAAuB,KAAK15B,MAAL,CAAY+Q,IAAZ,GAAmB,CAAnB,CAAvB;AACH,SAPD;AAAA;AAAA;;AAxCc;AAiDd/Y,eAAOyR,KAAP,CAAakwB,iBAAb,GAAiC,KAAjC;AAjDc;AAkDd,aAAKC,UAAL,GAAkB,KAAK55B,MAAL,CAAY65B,WAAZ,CAAwB,KAAxB,EAA+B7hC,OAAOyR,KAAtC,CAAlB;AAlDc;AAmDd,YAAI,iCAAK2uB,YAAL,CAAkB0B,MAAlB,iCAA4B,KAAK1B,YAAL,CAAkB0B,MAAlB,CAAyBC,YAArD,CAAJ,EAAuE;AAAA;AAAA;;AACnE,wCAAa,CAAC,iCAAK3B,YAAL,CAAkB0B,MAAlB,CAAyBC,YAAzB,CAAsC1e,MAAtC,iCAAgD,EAAhD,CAAD,EAAqD2e,QAAlE,EAA4E,KAAKJ,UAAjF,EAA6F,CAAC,iCAAKxB,YAAL,CAAkB0B,MAAlB,CAAyBC,YAAzB,CAAsC1e,MAAtC,iCAAgD,EAAhD,CAAD,EAAqD1rB,OAAlJ;AADmE;AAEnE,iBAAKiqC,UAAL,CAAgBG,YAAhB,CAA6B,CAA7B;AACH,SAHD;AAAA;AAAA;AAnDc;AAuDd,aAAKE,aAAL,GAAqB,KAAKj6B,MAAL,CAAY65B,WAAZ,CAAwB,SAAxB,EAAmC,EAACtmC,UAAU,CAAC,SAAD,CAAX,EAAnC,CAArB;AAvDc;AAwDd,aAAK2mC,eAAL,GAAuB,KAAKD,aAAL,CAAmBE,aAAnB,CAAiC,SAAjC,EAA4C;AAC/DrvB,mBAAO;AACHsvB,wBAAQ,IADL;AAEHxzB,6BAAa,OAFV;AAGHyzB,6BAAa,CAHV;AAIHC,sBAAM;AAJH;AADwD,SAA5C,CAAvB;AAxDc;AAgEd,aAAKC,mBAAL,GAA2B,CAA3B;AACA;AAjEc;AAkEd,aAAKN,aAAL,CAAmB94B,KAAnB,CAAyBhB,IAAIiB,KAAJ,CAAUo5B,UAAnC,EAA+C,UAACzoC,GAAD,EAAS;AAAA;AAAA;;AACpD,mBAAKqmC,YAAL,CAAkBp4B,MAAlB,CAAyBoI,MAAzB,CAAgCrW,IAAIoO,GAApC;AACH,SAFD;AAlEc;AAqEd,aAAK85B,aAAL,CAAmB94B,KAAnB,CAAyBhB,IAAIiB,KAAJ,CAAUq5B,UAAnC,EAA+C,UAAC1oC,GAAD,EAAS;AAAA;AAAA;;AACpD,mBAAK2oC,UAAL,GAAkB;AACd1rB,uBAAOjd,IAAIid,KADG;AAEdtE,uBAAO3Y,IAAI2Y,KAFG;AAGdtC,wBAAQ,OAAKgwB,YAAL,CAAkBp4B,MAAlB,CAAyBoI,MAAzB,EAHM;AAIdX,sBAAM,OAAK2wB,YAAL,CAAkBp4B,MAAlB,CAAyByH,IAAzB,EAJQ;AAKdkzB,wBAAQ,OAAKvC,YAAL,CAAkBp4B,MAAlB,CAAyBsF,QAAzB,EALM;AAMds1B,mCAAmBz6B,IAAI0e,IAAJ,CAASgc,mBAAT,CAA6B9oC,IAAI2Y,KAAJ,CAAUvK,GAAvC,EAA4C,OAAK+5B,eAAL,CAAqBxjC,IAArB,GAA4B,CAA5B,CAA5C,IAA8E,OAAKsJ,MAAL,CAAYurB,aAAZ,CAA0B,OAAKvrB,MAAL,CAAYyH,IAAZ,EAA1B;AANnF,aAAlB;AAQH,SATD;AArEc;AA+Ed,aAAKwyB,aAAL,CAAmB94B,KAAnB,CAAyBhB,IAAIiB,KAAJ,CAAU05B,UAAnC,EAA+C,UAAC/oC,GAAD,EAAS;AAAA;AAAA;;AACpD,oBAAQA,IAAIid,KAAJ,CAAUmqB,MAAlB;AACI,qBAAK,cAAL;AAAA;AAAqB;AAAA;;AACjB,4BAAI,6BAAC,OAAKuB,UAAN,iCAAoB,OAAKA,UAAL,CAAgBE,iBAAhB,GAAoC,CAAC,OAAKL,mBAA9D,CAAJ,EAAuF;AAAA;AAAA;;AACnF;AACH,yBAFD;AAAA;AAAA;AAGA,4BAAM1K,iCAAQ;AACVnnB,+BAAG3W,IAAI2Y,KAAJ,CAAUvK,GAAV,CAAcuI,CAAd,GAAkB,OAAKgyB,UAAL,CAAgBhwB,KAAhB,CAAsBvK,GAAtB,CAA0BuI,CADrC;AAEVC,+BAAG5W,IAAI2Y,KAAJ,CAAUvK,GAAV,CAAcwI,CAAd,GAAkB,OAAK+xB,UAAL,CAAgBhwB,KAAhB,CAAsBvK,GAAtB,CAA0BwI;AAFrC,yBAAR,CAAN;AAIA,4BAAMP,kCAAS,OAAKgwB,YAAL,CAAkBp4B,MAAlB,CAAyBoI,MAAzB,EAAT,CAAN;AARiB;AASjBynB,8BAAMnnB,CAAN,IAAWN,OAAOM,CAAP,GAAW,OAAKgyB,UAAL,CAAgBtyB,MAAhB,CAAuBM,CAA7C;AATiB;AAUjBmnB,8BAAMlnB,CAAN,IAAWP,OAAOO,CAAP,GAAW,OAAK+xB,UAAL,CAAgBtyB,MAAhB,CAAuBO,CAA7C;AAViB;AAWjB,4BAAI,kCAAMD,CAAN,iCAAWmnB,MAAMlnB,CAAjB,CAAJ,EAAwB;AAAA;AAAA;;AACpB,mCAAKyvB,YAAL,CAAkBp4B,MAAlB,CAAyBoI,MAAzB,CAAgC;AAC5BM,mCAAGN,OAAOM,CAAP,GAAWmnB,MAAMnnB,CADQ;AAE5BC,mCAAGP,OAAOO,CAAP,GAAWknB,MAAMlnB;AAFQ,6BAAhC;AAIH,yBALD;AAAA;AAAA;AAMH;AAjBD;AAkBI;AAnBR;AAqBH,SAtBD;AA/Ec;AAsGd,aAAKsxB,aAAL,CAAmB94B,KAAnB,CAAyBhB,IAAIiB,KAAJ,CAAU25B,eAAnC,EAAoD,UAAChpC,GAAD,EAAS;AAAA;AAAA;;AACzD,gBAAI,gCAAIipC,SAAJ,CAActyB,CAAd,KAAoB3W,IAAIkpC,UAAJ,CAAevyB,CAAnC,iCAAwC3W,IAAIipC,SAAJ,CAAcryB,CAAd,KAAoB5W,IAAIkpC,UAAJ,CAAetyB,CAA3E,CAAJ,EAAkF;AAAA;AAAA;;AAC9E;AACH,aAFD;AAAA;AAAA;AAGA,gBAAMrB,+BAAM,OAAK8wB,YAAL,CAAkBp4B,MAAxB,CAAN;AACA,gBAAMk7B,mCAAU5zB,IAAI+jB,IAAJ,EAAV,CAAN;AACA,gBAAM2P,qCAAY1zB,IAAI6zB,YAAJ,CAAiB,OAAKn7B,MAAL,CAAYo7B,YAAZ,CAAyBrpC,IAAIipC,SAA7B,CAAjB,CAAZ,CAAN;AACA,gBAAMC,sCAAa3zB,IAAI6zB,YAAJ,CAAiB,OAAKn7B,MAAL,CAAYo7B,YAAZ,CAAyBrpC,IAAIkpC,UAA7B,CAAjB,CAAb,CAAN;AACA,gBAAMI,mCAAU;AACZ3yB,mBAAGvU,KAAKC,GAAL,CAAS,CAAC6mC,WAAWvyB,CAAX,GAAesyB,UAAUtyB,CAA1B,IAA+BwyB,QAAQ3yB,KAAhD,CADS;AAEZI,mBAAGxU,KAAKC,GAAL,CAAS,CAAC6mC,WAAWtyB,CAAX,GAAeqyB,UAAUryB,CAA1B,IAA+BuyB,QAAQ1yB,MAAhD;AAFS,aAAV,CAAN;AAIA,gBAAMJ,kCAASd,IAAI8zB,YAAJ,CAAiB;AAC5B1yB,mBAAG,CAACsyB,UAAUtyB,CAAV,GAAcuyB,WAAWvyB,CAA1B,IAA+B,CADN;AAE5BC,mBAAG,CAACqyB,UAAUryB,CAAV,GAAcsyB,WAAWtyB,CAA1B,IAA+B;AAFN,aAAjB,EAGZ,IAHY,CAAT,CAAN;AAIA,gBAAMlB,gCAAOH,IAAIG,IAAJ,KAAatT,KAAK2wB,IAAL,CAAU3wB,KAAKmG,GAAL,CAAS+gC,QAAQ3yB,CAAjB,EAAoB2yB,QAAQ1yB,CAA5B,CAAV,CAApB,CAAN;AAhByD;AAiBzDrB,gBAAIG,IAAJ,CAASA,IAAT;AAjByD;AAkBzDH,gBAAIc,MAAJ,CAAWA,MAAX,EAAmB,IAAnB;AACH,SAnBD;AAtGc;AA0Hd,aAAKpI,MAAL,CAAYoK,IAAZ;AA1Hc;AA2Hd,aAAKiuB,iBAAL,GAAyBpnC,qBAAEygB,IAAF,CAAO,KAAK4pB,YAAZ,EAA0B,IAA1B,CAAzB;AA3Hc;AA4Hd,aAAKlD,YAAL,CAAkBp4B,MAAlB,CAAyBmB,KAAzB,CAA+BhB,IAAIiB,KAAJ,CAAUC,GAAzC,EAA8C,KAAKg3B,iBAAnD;AA5Hc;AA6Hd,aAAKiD,YAAL;AA7Hc;AA8Hd,aAAKlD,YAAL,CAAkBtmC,EAAlB,CAAqB,qBAArB,EAA4C,YAAM;AAAA;AAAA;;AAC9C,mBAAK8nC,UAAL,CAAgB7mC,GAAhB,CAAoB,OAAKqlC,YAAL,CAAkBW,cAAlB,GAAmChmC,GAAvD;AAD8C;AAE9C,gBAAI,mCAAKqlC,YAAL,CAAkB0B,MAAlB,iCAA4B,OAAK1B,YAAL,CAAkB0B,MAAlB,CAAyBC,YAArD,CAAJ,EAAuE;AAAA;AAAA;;AACnE,uBAAKH,UAAL,CAAgBG,YAAhB,CAA6B,CAAC,mCAAK3B,YAAL,CAAkB0B,MAAlB,CAAyBC,YAAzB,CAAsC1e,MAAtC,iCAAgD,EAAhD,CAAD,EAAqDkgB,KAAlF;AACH,aAFD;AAAA;AAAA;AAGH,SALD;AAMH,KAxK6B;AA0K9BD,gBA1K8B,0BA0Kf;AACX,YAAMpkC,kCAAS,KAAKkhC,YAAL,CAAkBp4B,MAA3B,CAAN;AADW;AAEX,YAAI9I,OAAOoO,QAAP,OAAsB,KAAKtF,MAAL,CAAYsF,QAAZ,EAA1B,EAAkD;AAAA;AAAA;;AAC9C,iBAAKtF,MAAL,CAAYsF,QAAZ,CAAqBpO,OAAOoO,QAAP,EAArB;AAD8C;AAE9C,iBAAKtF,MAAL,CAAYyH,IAAZ,CAAiB,KAAKzH,MAAL,CAAYyH,IAAZ,KAAqB,CAAtC;AACH,SAHD;AAAA;AAAA;AAIA,YAAM4jB,gCAAOn0B,OAAOm0B,IAAP,EAAP,CAAN;AANW;AAOX,aAAK6O,eAAL,CAAqBxjC,IAArB,CAA0B,CAAC,CACvBQ,OAAOkkC,YAAP,CAAoB,EAAC1yB,GAAG,CAAJ,EAAOC,GAAG,CAAV,EAApB,CADuB,EAEvBzR,OAAOkkC,YAAP,CAAoB,EAAC1yB,GAAG2iB,KAAK9iB,KAAT,EAAgBI,GAAG,CAAnB,EAApB,CAFuB,EAGvBzR,OAAOkkC,YAAP,CAAoB,EAAC1yB,GAAG2iB,KAAK9iB,KAAT,EAAgBI,GAAG0iB,KAAK7iB,MAAxB,EAApB,CAHuB,EAIvBtR,OAAOkkC,YAAP,CAAoB,EAAC1yB,GAAG,CAAJ,EAAOC,GAAG0iB,KAAK7iB,MAAf,EAApB,CAJuB,CAAD,CAA1B,EAKI4B,IALJ;AAMH;AAvL6B,CAAb,CAAjB,CAAJ;;kBA0Le5O,c;;;;;;ACpMf,gD;;;;;;;;;ACAA,IAAIk1B,MAAMC,mBAAOA,CAAC,CAAR,CAAV;;AAEA,SAASC,QAAT,CAAkBC,MAAlB,EAA0B;AAAC,MAAIC,WAAW,EAAf;AAAA,MAAmBC,aAAa,EAAhC;AAAA,MAAoCC,UAApC,CAA+C,IAAIC,kBAAJ,EAAwBC,cAAxB,CAAuC,IAAI;AAAC,QAAIC,oBAAoB,EAAC,sGAAuJ,+GAAxJ,EAA6Q,6FAA8I,kaAA3Z,EAAxB;AACtH,KAAC,IAAIC,kBAAmBP,UAAU,EAAjC,CAAsC,WAAU7W,SAAV,EAAqBvb,EAArB,EAAyB04B,YAAzB,EAAuC;AAAC,OAACjG,iBAAiB,CAAjB,CAAmBD,qBAAqB,2FAArB;AACnGH,iBAAWA,WAAW,yCAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,2FAArB;AACpBH,iBAAWA,WAAW,8CAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,2FAArB;AACpB,OAACC,iBAAiB,CAAjB,CAAmBD,qBAAqB,oGAArB;AACpBH,iBAAWA,WAAW,EAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,oGAArB;AACpBH,iBAAWA,WAAW,sCAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,oGAArB;AACpBH,iBAAWA,WAAW,kBAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,2FAArB;AACpBH,iBAAWA,WAAW,mCAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,2FAArB;AACpB,OAACC,iBAAiB,CAAjB,CAAmBD,qBAAqB,2FAArB;AACpB,UAAIjX,SAAJ,EAAe;AACf,SAACkX,iBAAiB,CAAjB,CAAmBD,qBAAqB,2FAArB;AACpBH,mBAAWA,WAAW,kCAAtB;AACC,OAHD,MAIK;AACL,SAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,2FAArB;AACrBH,mBAAWA,WAAW,gCAAtB;AACC;AACD,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,2FAArB;AACrB,UAAIkG,YAAJ,EAAkB;AAClB,SAACjG,iBAAiB,EAAjB,CAAoBD,qBAAqB,2FAArB;AACrBH,mBAAWA,WAAW,IAAX,IAAwB,0CAAwCJ,IAAIrjB,IAAJ,CAAS,aAAT,QAA4B5O,EAA5B,EAAkC,IAAlC,EAAwC,IAAxC,CAAhE,IAAiH,OAA5H;AACC;AACDqyB,iBAAWA,WAAW,eAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,2FAArB;AACrB,UAAImG,QAAQ,EAAZ,CACClG,iBAAiB,EAAjB,CAAoBD,qBAAqB,2FAArB;AACrB,UAAI,CAACjX,SAAL,EAAgB;AAChB,SAACkX,iBAAiB,EAAjB,CAAoBD,qBAAqB,2FAArB;AACrBmG,cAAMC,KAAN,GAAc,IAAd;AACC;AACD,OAACnG,iBAAiB,EAAjB,CAAoBD,qBAAqB,2FAArB;AACrBH,iBAAWA,WAAW,MAAX,GAA0BJ,IAAI0G,KAAJ,CAAU1G,IAAI4G,KAAJ,CAAU,CAAC,EAAC,SAAS,0BAAV,EAAD,EAAuCF,KAAvC,CAAV,CAAV,EAAoE,IAApE,CAA1B,GAAuG,GAAlH;AACA,OAAClG,iBAAiB,EAAjB,CAAoBD,qBAAqB,2FAArB;AACrB,OAACC,iBAAiB,CAAjB,CAAmBD,qBAAqB,oGAArB;AACpBH,iBAAWA,WAAW,8CAAtB;AAA8G,KAxCvE,EAwCwEr+B,IAxCxE,CAwC6E,IAxC7E,EAwCkF,eAAe2+B,eAAf,GAA+BA,gBAAgBpX,SAA/C,GAAyD,OAAOA,SAAP,KAAmB,WAAnB,GAA+BA,SAA/B,GAAyC/pB,SAxCpL,EAwC8L,QAAQmhC,eAAR,GAAwBA,gBAAgB3yB,EAAxC,GAA2C,OAAOA,EAAP,KAAY,WAAZ,GAAwBA,EAAxB,GAA2BxO,SAxCpQ,EAwC8Q,kBAAkBmhC,eAAlB,GAAkCA,gBAAgB+F,YAAlD,GAA+D,OAAOA,YAAP,KAAsB,WAAtB,GAAkCA,YAAlC,GAA+ClnC,SAxC5X,CAAD;AAwC0Y,GAzC/T,CAyCgU,OAAOg+B,GAAP,EAAY;AAACyC,QAAIoB,OAAJ,CAAY7D,GAAZ,EAAiBgD,kBAAjB,EAAqCC,cAArC,EAAqDC,kBAAkBF,kBAAlB,CAArD;AAA6F,IAAC,OAAOH,QAAP;AAAiB;AAC7iBiB,OAAOC,OAAP,GAAiBpB,QAAjB,C;;;;;;AC5CA,yC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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A;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT,0FAA0F,KAAK;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA,eAAe,8BAA8B;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,0CAA0C,kBAAkB;AAC5D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,iCAAiC,EAAE;AACnC;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B,mBAAmB;AAClD;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;;AAEA;AACA;;AAEA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,CAAC;;;;;;;;;;;AC5XD,IAAIg1B,MAAMC,mBAAOA,CAAC,CAAR,CAAV;;AAEA,SAASC,QAAT,CAAkBC,MAAlB,EAA0B;AAAC,MAAIC,WAAW,EAAf;AAAA,MAAmBC,aAAa,EAAhC;AAAA,MAAoCC,UAApC,CAA+C,IAAIC,kBAAJ,EAAwBC,cAAxB,CAAuC,IAAI;AAAC,QAAIC,oBAAoB,EAAC,6GAA8J,4uDAA/J,EAAxB;AACtH,KAAC,IAAIC,kBAAmBP,UAAU,EAAjC,CA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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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3D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,KAA4D;AAC9D;AACA;AACA,CAAC,oBAAoB;;AAErB;;AAEA,oCAAoC;;AAEpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA,wBAAwB,+BAA+B;AACvD,wBAAwB,iBAAiB;AACzC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAoD,iCAAiC,EAAE;AACvF,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B,cAAc;;AAE7C;;AAEA;AACA;AACA;AACA,+BAA+B,UAAU;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC,oCAAoC;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C,mBAAmB;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,GAAG;AACV;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA,sCAAsC;AACtC;;AAEA;AACA;AACA;AACA,mCAAmC;AACnC,yCAAyC,wBAAwB,EAAE;AACnE,4BAA4B;;AAE5B;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B,YAAY;AACtC,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,0CAA0C,EAAE;AAC5C;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,oBAAoB,EAAE;AACvD;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,SAAS,qBAAqB;;AAE1D;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mDAAmD,OAAO;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,uBAAuB;AAC3D,mCAAmC,sBAAsB;AACzD;AACA,oBAAoB;AACpB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,qBAAqB,mBAAmB;AACxC,iCAAiC;AACjC;AACA,KAAK;AACL;AACA;AACA;AACA,oBAAoB,YAAY;AAChC,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,sCAAsC;AACtC;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;AACA;;AAEA,6DAA6D,UAAU,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,kDAAkD,qCAAqC,EAAE;AACzF;;AAEA;AACA;AACA;;AAEA,sCAAsC,yCAAyC,EAAE;AACjF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA,8BAA8B;AAC9B,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,sDAAsD,EAAE;AACxF;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,uBAAuB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,iCAAiC;AACrE,gBAAgB,6BAA6B;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,iCAAiC;AACrE,gBAAgB,6BAA6B;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C,KAAK;AACL;AACA;AACA,mBAAmB,+BAA+B;AAClD;AACA;;AAEA;;AAEA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,qBAAqB;AACpC;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,iBAAiB;AACtC;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,wBAAwB,mBAAmB;AAC3C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO;AACxC;AACA;AACA,KAAK;AACL;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,8CAA8C,eAAe;AAC7D,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,oDAAoD;AACpD,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,uCAAuC,gEAAgE;AACvG;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,8BAA8B,+BAA+B;AAC7D,8BAA8B,+BAA+B;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,uFAAuF;AAC9F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4CAA4C;AAC5C,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,+BAA+B;AACpC,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,sBAAsB,oBAAoB;AAC1C,wBAAwB,4BAA4B;AACpD;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB;AACrB,2BAA2B;AAC3B;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,6CAA6C;AAChF;AACA;AACA,+CAA+C,4CAA4C;;AAE3F;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,OAAO,2CAA2C,8BAA8B,EAAE;;AAElF;AACA,0CAA0C,OAAO;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,SAAS;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;;AAE5B,oBAAoB;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0BAA0B;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oBAAoB,EAAE;;AAEtD;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,sBAAsB;AACtB;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD,uBAAuB,+BAA+B;AACtD;AACA;AACA,KAAK;AACL,2BAA2B;AAC3B;AACA,wBAAwB,iCAAiC;AACzD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,oBAAoB;AAC3C;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;;;;;AAMA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,4CAA4C,2BAA2B,EAAE;AACzE,OAAO;AACP;AACA,4CAA4C,4BAA4B,EAAE;AAC1E,OAAO;AACP,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iCAAiC,eAAe;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,sBAAsB;;AAEvD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;;AAElC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,aAAa;AACnC;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,kBAAkB;AACjC;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA,6DAA6D;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA,0BAA0B;AAC1B;AACA,8BAA8B,4BAA4B;AAC1D,8BAA8B,gCAAgC;AAC9D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2DAA2D,UAAU;AACrE,mBAAmB,wBAAwB,OAAO,uBAAuB;AACzE;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA;;AAEA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,+CAA+C;AAC/C,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS,kDAAkD;AAC3D;AACA;AACA;AACA;AACA,SAAS,kDAAkD;AAC3D;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,gEAAgE;AACrG;AACA;AACA;AACA,kCAAkC;AAClC;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,SAAS;AAClC;AACA,6CAA6C;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,uBAAuB,OAAO,gCAAgC;AACjF,0DAA0D,oBAAoB;AAC9E;AACA;AACA;AACA,6BAA6B,gEAAgE;AAC7F,SAAS;AACT;AACA;AACA;AACA,qCAAqC,iCAAiC;AACtE;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,6DAA6D,oBAAoB;AACjF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gCAAgC;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,+BAA+B,uBAAuB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,6BAA6B;AAC3D;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B,wBAAwB;AACrD;AACA;AACA;AACA;AACA,iCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,2BAA2B;AAClD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,8BAA8B;AACrD;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8EAA8E;AAC9E;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA,0CAA0C,kBAAkB;AAC5D,OAAO;AACP,0CAA0C,kBAAkB;AAC5D,OAAO;AACP,0CAA0C,0BAA0B;AACpE,OAAO;AACP,0CAA0C,iBAAiB;AAC3D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,qCAAqC;AACrC,qCAAqC;AACrC,6CAA6C;AAC7C,6BAA6B;AAC7B,6BAA6B;AAC7B,8BAA8B;AAC9B,8BAA8B;AAC9B,6BAA6B;AAC7B,6BAA6B;AAC7B;AACA,yBAAyB;AACzB;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kCAAkC,eAAe,EAAE,uBAAuB,UAAU,EAAE;AACtF;AACA;;AAEA;AACA,qDAAqD,6CAA6C;AAClG;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,6CAA6C;AAC1E;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,2BAA2B;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uDAAuD;AACvD,KAAK;AACL,2CAA2C;AAC3C;;AAEA,mCAAmC,wCAAwC;AAC3E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0DAA0D,mBAAmB;AAC7E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,aAAa;AACtC,yBAAyB,aAAa;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF;AACnF,8BAA8B;AAC9B;AACA,6BAA6B;AAC7B,0BAA0B,iEAAiE;AAC3F,cAAc,0FAA0F;AACxG,QAAQ,KAAK,0CAA0C;AACvD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,kBAAkB;AACjE,wBAAwB,+CAA+C;AACvE,mDAAmD;;AAEnD;AACA,wDAAwD;AACxD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,2BAA2B;AACxD,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,6CAA6C,EAAE;AACxD;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY;AACZ;AACA,yCAAyC,SAAS;AAClD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wBAAwB;AAC3C;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sDAAsD,4BAA4B,EAAE;AACpF,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sDAAsD,+BAA+B,EAAE;AACvF,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD,aAAa;;AAE7D;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,mCAAmC,qCAAqC;;AAExE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,uCAAuC,EAAE;AACtF;AACA;AACA;AACA,+CAA+C,2CAA2C,EAAE;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,8BAA8B,EAAE;AACvE;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oCAAoC,uCAAuC;;AAE3E,uCAAuC,0BAA0B;;AAEjE;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gDAAgD;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,0CAA0C,gBAAgB;AAC1D;AACA;AACA,kEAAkE,sBAAsB,EAAE;AAC1F;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;AACA,aAAa,uBAAuB;AACpC,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,2BAA2B;AACpD;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,yBAAyB,EAAE;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA,wBAAwB,EAAE,iBAAiB,EAAE;AAC7C,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA,GAAG;;;;AAIH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT,SAAS;AACT,WAAW;AACX,UAAU;AACV,UAAU;AACV,SAAS;AACT,UAAU;AACV;AACA,6CAA6C;AAC7C,gEAAgE;;AAEhE;AACA;AACA,uDAAuD,2DAA2D;;AAElH;AACA;AACA,+CAA+C,2BAA2B,EAAE;AAC5E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oFAAoF,6BAA6B;AACjH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,uGAAuG;AAC3H;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,eAAe;AACzC,wBAAwB,aAAa;;AAErC;AACA;AACA;AACA,oCAAoC,UAAU;AAC9C;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,UAAU;AAChD;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,8BAA8B,eAAe;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa,6DAA6D;AAC1E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+DAA+D,uBAAuB,EAAE;AACxF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA,uBAAuB,0BAA0B;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,oBAAoB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS,4BAA4B;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC,wBAAwB,EAAE;AAC5D;AACA;AACA;;AAEA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,OAAO;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,WAAW;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA,yDAAyD,WAAW;AACpE;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,2CAA2C,GAAG;;AAErF;AACA,oCAAoC;AACpC,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,uBAAuB,sCAAsC;AAC7D;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;AAC1B;;AAEA;AACA,qDAAqD,4BAA4B,EAAE;AACnF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,+EAA+E;AAC/G,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,8CAA8C,gCAAgC,EAAE;AAChF,2CAA2C,0CAA0C,EAAE;AACvF;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,2BAA2B;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,wCAAwC,iDAAiD;AACzF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;AAMA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,yCAAyC,iDAAiD;AAC1F;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,oBAAoB;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,uCAAuC;AACnF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA,uDAAuD;AACvD;AACA,QAAQ;AACR;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,eAAe,oBAAoB;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,6BAA6B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,6GAA6G;AACnI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,sUAAsU;AACvV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB,iCAAiC,4EAA4E,qBAAqB,aAAa,GAAG,EAAE,kBAAkB;AACvN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,yCAAyC,EAAE;AACtE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,cAAc,0EAA0E;AACxF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,sBAAsB,EAAE;AACxE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA,iEAAiE,oCAAoC,EAAE;AACvG;AACA;AACA;AACA;AACA,iEAAiE,gCAAgC,EAAE;AACnG;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,2DAA2D,wBAAwB;AACnF;AACA,qFAAqF;AACrF;AACA;AACA;AACA;AACA,SAAS,EAAE,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,oBAAoB,mCAAmC;AACvD;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+EAA+E,GAAG;;AAElF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA,+BAA+B,+BAA+B;AAC9D,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB,oBAAoB,eAAe;AACnC;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA,KAAK;AACL,mBAAmB,uBAAuB;AAC1C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA,gDAAgD,mBAAmB,EAAE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,uBAAuB,EAAE;AACzE,WAAW;AACX,kDAAkD,qBAAqB,EAAE;AACzE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,CAAC;;;;;;;;AC7uXD,gD;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAoG;AAC3B;AACL;;;AAGpE;AAC+I;AAC/I,gBAAgB,+IAAU;AAC1B,EAAE,4FAAM;AACR,EAAE,iGAAM;AACR,EAAE,0GAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU;AACd;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACe,gF;;;;;;;ACtCf;AAAA;AAAA;AAAA;;;;;;;;ACAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA,iBAAiB,8BAA8B;AAC/C,mBAAmB,+BAA+B;AAClD,sBAAsB,4BAA4B;AAClD,uBAAuB,8BAA8B;AACrD;AACA;AACA;AACA;AACA;AACA,0BAA0B,iBAAiB;AAC3C;AACA;AACA;AACA,qBAAqB;AACrB,mBAAmB;AACnB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,4BAA4B;AACnD;AACA,6BAA6B,wBAAwB;AACrD;AACA;AACA;AACA;AACA;AACA,yCAAyC,aAAa;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,4BAA4B;AACzD,iCAAiC,SAAS,2BAA2B,EAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,iCAAiC,oBAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,uBAAuB;AACvB,qBAAqB;AACrB;AACA;AACA;AACA,yBAAyB,4BAA4B;AACrD,6BAA6B,SAAS,0BAA0B,EAAE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yBAAyB;AACrD,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,+BAA+B;AAC/B,6BAA6B;AAC7B;AACA;AACA;AACA,wCAAwC,+BAA+B;AACvE,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,sBAAsB;AAClE;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,qCAAqC;AACrC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,iBAAiB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,wCAAwC,8BAA8B;AACtE,2CAA2C,qBAAqB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,iCAAiC;AACjC,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,2BAA2B;AACrE;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,mCAAmC;AACnC,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,mCAAmC;AACnC,iCAAiC;AACjC;AACA;AACA;AACA,4CAA4C,yBAAyB;AACrE,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,mCAAmC;AACnC,iCAAiC;AACjC;AACA;AACA;AACA,4CAA4C,2BAA2B;AACvE,mCAAmC;AACnC;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,sBAAsB;AAClE;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,qCAAqC;AACrC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,0BAA0B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,4BAA4B,mBAAmB;AAC/C;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,uBAAuB;AACvB,qBAAqB;AACrB,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,0BAA0B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,gCAAgC,mBAAmB;AACnD;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,2BAA2B;AAC3B,yBAAyB;AACzB,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,0BAA0B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,gCAAgC,mBAAmB;AACnD;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,2BAA2B;AAC3B,yBAAyB;AACzB,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,8BAA8B;AACrD;AACA;AACA;AACA;AACA,0BAA0B,8BAA8B;AACxD;AACA;AACA;AACA;AACA,qBAAqB;AACrB,mBAAmB;AACnB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,iBAAiB;AAC3C;AACA;AACA;AACA;AACA,qBAAqB;AACrB,mBAAmB;AACnB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrdA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2G;AACvC;AACL;AACqC;;;AAGpG;AAC+I;AAC/I,gBAAgB,+IAAU;AAC1B,EAAE,uFAAM;AACR,EAAE,wGAAM;AACR,EAAE,iHAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU;AACd;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACe,gF;;;;;;;ACvCf;AAAA;AAAA;AAAA;;;;;;;;ACAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,8DAA8D;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,gBAAgB,eAAe;AAC/B,mBAAmB,wBAAwB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,aAAa,0DAA0D;AACvE;AACA;AACA;AACA;AACA;AACA,0BAA0B,qCAAqC;AAC/D,uBAAuB,0BAA0B;AACjD,iBAAiB;AACjB,0BAA0B,SAAS,qCAAqC,EAAE;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yBAAyB;AACrD,yBAAyB,8BAA8B;AACvD,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjEA,6DAAe,KAAiD,oIAAoI,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxGA;;;;AACA;;;;AACA;;;;AAEA;;;;AACA;;;;AACA;;AACA;;AAEA;;;;AACA;;;;AACA;;AACA;;;;AAEA;;;;AAIA,IAAMgR,0CAAkBpwC,eAAKwD,MAAL,CAAY;AAChC3D,YAAQ;AACJ,qCAA6B,iBADzB;AAEJ,mCAA2B,eAFvB;AAGJ,iCAAyB,cAHrB;AAIJ,mCAA2B,gBAJvB;AAKJ,iCAAyB,cALrB;AAMJ,2BAAmB,eANf;AAOJ,2BAAmB,qBAPf;AAQJ,mCAA2B,sBARvB;AASJ,mCAA2B,eATvB;AAUJ,+BAAuB,cAVnB;AAWJ,sCAA8B,cAX1B;AAYJ,yBAAiB;AAZb,KADwB;;AAgBhCoE,UAhBgC,oBAgBvB;AAAA;;AACL,aAAKtF,CAAL,CAAO,gBAAP,EAAyB6uB,WAAzB,CAAqC,SAArC;AADK;AAEL,aAAKtpB,GAAL,CAASC,IAAT,CACI,+BAAgB;AACZwG,wBAAY,KAAKA,UADL;AAEZlH,mBAAO,KAAKA,KAFA;AAGZ0R,sBAAU,KAAKk7B,SAHH;AAIZ5oC,kBAAM,sFAAoB,EAApB;AAJM,SAAhB,CADJ;AAFK;AAUL,aAAK9I,CAAL,CAAO,gBAAP,EAAyB6uB,WAAzB;AAVK;AAWL,eAAO,IAAP;AACH,KA5B+B;AA8BhC8iB,aA9BgC,qBA8BtB/vC,GA9BsB,EA8BjB;AAAA;;AACXA,YAAI0E,cAAJ;AADW;AAEX,aAAKxB,KAAL,CAAWuC,GAAX,CACI,KAAK2E,UAAL,CAAgBnG,GAAhB,CAAoB,KAAK7F,CAAL,CAAO,eAAP,EAAwB0G,GAAxB,EAApB,EAAmDhB,MAAnD,EADJ;AAFW;AAKX,aAAKJ,MAAL;AACH,KApC+B;AAsChCssC,gBAtCgC,wBAsCnBhwC,GAtCmB,EAsCd;AAAA;;AACdA,YAAI0E,cAAJ;;AAEA,YAAMC,+BAAO,EAAP,CAAN;AACA,YAAME,iCAAQ,KAAKzG,CAAL,CAAO,kBAAP,EAA2B0G,GAA3B,EAAR,CAAN;AACA,YAAIF,sCAAa,EAAb,CAAJ;;AALc;AAOdD,aAAK+H,EAAL,GAAU,gCAAKtO,CAAL,CAAO,yBAAP,EAAkC0G,GAAlC,kCAA2C,KAAK1G,CAAL,CAAO,mBAAP,EAA4B0G,GAA5B,GAAkC0B,IAAlC,EAA3C,CAAV;AAPc;AAQd,YAAI,CAAC7B,KAAK+H,EAAV,EAAc;AAAA;AAAA;;AACV9H,0BAAc,0BAAd;AADU;AAEV,iBAAKxG,CAAL,CAAO,mBAAP,EAA4B+G,MAA5B,GAAqCC,QAArC,CAA8C,WAA9C;AACH,SAHD;AAAA;AAAA;AARc;AAYdT,aAAKE,KAAL,GAAaA,mCAAQ,EAAClH,OAAOkH,KAAR,EAAR,+BAAyB,EAAzB,CAAb;AACA,YAAME,iCAAQJ,KAAK+H,EAAb,CAAN;AAbc;AAcd/H,aAAKI,KAAL,GAAa,gEAASA,UAAU,KAAKC,aAAxB,+BAAwCD,KAAxC,+BAAgD7G,SAAhD,CAAb;;AAEA,YAAMoF,qCAAY,KAAKlF,CAAL,CAAO,uBAAP,EAAgC0G,GAAhC,EAAZ,CAAN;AAhBc;AAiBd,YAAIxB,SAAJ,EAAe;AAAA;AAAA;;AACXqB,iBAAKrB,SAAL,GAAiB2B,WAAW3B,SAAX,CAAjB;AADW;AAEX,gBAAI,gCAAKA,SAAL,GAAiB,CAAjB,gCAAsB,CAAC4B,SAASP,KAAKrB,SAAd,CAAvB,CAAJ,EAAqD;AAAA;AAAA;;AACjDsB,8BAAc,sBAAd;AADiD;AAEjD,qBAAKxG,CAAL,CAAO,uBAAP,EAAgC+G,MAAhC,GAAyCC,QAAzC,CAAkD,WAAlD;AACH,aAHD;AAAA;AAAA;AAIH,SAND;AAAA;AAAA;;AAQA,YAAM7B,qCAAY,KAAKnF,CAAL,CAAO,uBAAP,EAAgC0G,GAAhC,EAAZ,CAAN;AAzBc;AA0Bd,YAAIvB,SAAJ,EAAe;AAAA;AAAA;;AACXoB,iBAAKpB,SAAL,GAAiB,KAAK8B,YAAL,CAAkB9B,SAAlB,CAAjB;AACH,SAFD;AAAA;AAAA;;AAIA,YAAMC,qCAAY,KAAKpF,CAAL,CAAO,uBAAP,EAAgC0G,GAAhC,EAAZ,CAAN;AA9Bc;AA+Bd,YAAItB,SAAJ,EAAe;AAAA;AAAA;;AACXmB,iBAAKnB,SAAL,GAAiB,KAAK6B,YAAL,CAAkB7B,SAAlB,CAAjB;AACH,SAFD;AAAA;AAAA;;AA/Bc;AAmCd,YAAIoB,UAAJ,EAAgB;AAAA;AAAA;;AACZ,iBAAKxG,CAAL,CAAO,8BAAP,EAAuCkH,IAAvC,CAA4CV,UAA5C,EACKW,WADL,CACiB,QADjB;AAEH,SAHD;AAAA;AAAA;;AAnCc;AAwCd,aAAKrC,KAAL,CAAWuC,GAAX,CAAed,IAAf;AACH,KA/E+B;;;AAiFhC;;;;;AAKAU,gBAtFgC,wBAsFnBP,GAtFmB,EAsFd;AAAA;;AACd,YAAI,CAACA,GAAL,EAAU;AAAA;AAAA;;AACN,mBAAO,eAAP;AACH,SAFD;AAAA;AAAA;AADc;AAId,eAAO,yBAAUA,GAAV,EAAea,WAAf,EAAP;AACH,KA3F+B;AA6FhCsqC,mBA7FgC,2BA6FhBjwC,GA7FgB,EA6FX;AAAA;;AACjBA,YAAI0E,cAAJ;AADiB;AAEjB,aAAKorC,SAAL,GAAiB,IAAjB;AAFiB;AAGjB,aAAKpsC,MAAL;AACH,KAjG+B;AAmGhCwsC,iBAnGgC,yBAmGlBlwC,GAnGkB,EAmGb;AAAA;;AACf,aAAKgwC,YAAL,CAAkBhwC,GAAlB;AADe;AAEf,aAAK8vC,SAAL,GAAiB,KAAjB;AAFe;AAGf,aAAK1lC,UAAL,CAAgB+lC,MAAhB,CAAuB,KAAKjtC,KAAL,CAAWY,MAAX,EAAvB;AAHe;AAIf,aAAKJ,MAAL;AACH,KAxG+B;AA0GhC0sC,gBA1GgC,wBA0GnBpwC,GA1GmB,EA0Gd;AAAA;;AACdA,YAAI0E,cAAJ;AACA;AACA;AAHc;AAId,YAAI,KAAKorC,SAAT,EAAoB;AAAA;AAAA;;AAChB,iBAAKA,SAAL,GAAiB,KAAjB;AACH,SAFD,MAEO;AAAA;;AACH,gBAAMpjC,8BAAK,KAAKtO,CAAL,CAAO,yBAAP,EAAkC0G,GAAlC,EAAL,CAAN;AACA,gBAAI5B,iCAAQ,KAAKkH,UAAL,CAAgBnG,GAAhB,CAAoByI,EAApB,CAAR,CAAJ;AAFG;AAGHxJ,kBAAM2J,OAAN;AAHG;AAIH,iBAAKzC,UAAL,CAAgBgJ,MAAhB,CAAuBlQ,KAAvB;AACH;AAXa;AAYd,aAAKA,KAAL,CAAWuC,GAAX,CAAe,KAAK2E,UAAL,CAAgBgI,EAAhB,CAAmB,CAAnB,EAAsBtO,MAAtB,EAAf;AAZc;AAad,aAAKJ,MAAL;AACH,KAxH+B;AA0HhC2sC,kBA1HgC,0BA0HjBrwC,GA1HiB,EA0HZ;AAAA;;AAAA;;AAChB,+BAAY;AACRwgC,oBAAQ,KADA;AAERx/B,iBAAK;AAFG,SAAZ,EAGG0R,IAHH,CAGQ,UAACxR,IAAD,EAAU;AAAA;;AACd,gBAAIovC,qCAAYpvC,KAAK,iCAAL,CAAZ,CAAJ;AAAA,gBACIqvC,iCAAQ,kCAAKrtC,KAAL,iCAAc,MAAKA,KAAL,CAAWwJ,EAAzB,CAAR,CADJ;AAAA,gBAEIsV,kCAAS,EAAT,CAFJ;AAAA,gBAEiBwuB,WAFjB;AADc;AAIdxuB,qBAASsuB,wCAAY1vB,KAAKC,KAAL,CAAWyvB,SAAX,CAAZ,gCAAoC,EAApC,CAAT;AAJc;AAKdE,0BAActxC,qBAAEqW,GAAF,CAAMyM,MAAN,EAAc,UAAUjJ,KAAV,EAAiB;AAAA;AAAA;;AACzC,uBAAO,IAAI5V,oBAAJ,CAAe4V,KAAf,CAAP;AACH,aAFa,CAAd;AALc;AAQd,mBAAO,MAAK3O,UAAL,CAAgB9L,MAAvB,EAA+B;AAAA;;AAC3B,sBAAK8L,UAAL,CAAgBsX,KAAhB,GAAwB7U,OAAxB;AACH;AAVa;AAWd,kBAAKzC,UAAL,CAAgB4M,KAAhB,CAAsBw5B,WAAtB;AACA;AAZc;AAad,gBAAI,CAAC,MAAKpmC,UAAL,CAAgBnG,GAAhB,CAAoB,MAAKe,aAAzB,CAAL,EAA8C;AAAA;AAAA;;AAC1C,sBAAKoF,UAAL,CAAgBpL,IAAhB,CAAqB,IAAImE,oBAAJ,CAAe,EAACuJ,IAAI,MAAK1H,aAAV,EAAf,CAArB;AACH,aAFD;AAAA;AAAA;AAbc;AAgBd,kBAAK9B,KAAL,CAAWuC,GAAX,CAAe,MAAK2E,UAAL,CAAgBgI,EAAhB,CAAmB,CAAnB,EAAsBtO,MAAtB,EAAf;AAhBc;AAiBd,gBAAI,kEAAS,MAAKsG,UAAL,CAAgBnG,GAAhB,CAAoBssC,KAApB,CAAT,CAAJ,EAAyC;AAAA;AAAA;;AACrC,sBAAKrtC,KAAL,CAAWuC,GAAX,CAAe,MAAK2E,UAAL,CAAgBnG,GAAhB,CAAoBssC,KAApB,EAA2BzsC,MAA3B,EAAf;AACH,aAFD;AAAA;AAAA;AAjBc;AAoBd,kBAAKsG,UAAL,CAAgBjL,IAAhB,CAAqB,UAAC+D,KAAD,EAAW;AAAA;AAAA;AAAEA,sBAAM+Q,IAAN;AAAe,aAAjD;AApBc;AAqBd,kBAAK67B,SAAL,GAAiB,KAAjB;AArBc;AAsBd,kBAAKpsC,MAAL;AACH,SA1BD;AA2BH,KAtJ+B;AAwJhC+sC,gBAxJgC,wBAwJnBzwC,GAxJmB,EAwJd;AAAA;;AACd,eAAO,uBAAY;AACfwgC,oBAAQ,KADO;AAEfx/B,iBAAK,gBAFU;AAGf2D,kBAAM;AACF87B,sBAAM7f,KAAKyQ,SAAL,CAAe,CAAC;AAClBjyB,yBAAK,iCADa;AAElBzB,2BAAOijB,KAAKyQ,SAAL,CAAe,KAAKjnB,UAAL,CAAgBtG,MAAhB,EAAf;AAFW,iBAAD,CAAf;AADJ;AAHS,SAAZ,EASJ4O,IATI,CASC,YAAM;AAAA;AAAA;;AACVpT,6BAAOC,OAAP,CAAe,SAAf,EAA0B;AACtB2qB,sBAAM,IADgB;AAEtB5kB,sBAAM,iBAFgB;AAGtBvE,sBAAM,SAHgB;AAItBkpB,yBAAS;AAJa,aAA1B;AAMH,SAhBM,CAAP;AAiBH,KA1K+B;AA4KhCymB,iBA5KgC,yBA4KlB1wC,GA5KkB,EA4Kb;AAAA;;AACf,aAAKoK,UAAL,CAAgB4J,GAAhB,CAAoB,KAAK9Q,KAAL,CAAWY,MAAX,EAApB,EAAyC,EAACyhC,OAAO,IAAR,EAAzC;AACA,YAAI5gC,gCAAO,IAAIgsC,IAAJ,CAAS,CAAC/vB,KAAKyQ,SAAL,CAAe,KAAKjnB,UAAL,CAAgBtG,MAAhB,EAAf,EAAyC5F,SAAzC,EAAoD,CAApD,CAAD,CAAT,EAAmE,EAAC6C,MAAM,YAAP,EAAnE,CAAP,CAAJ;AACA,YAAIC,+BAAMkY,OAAO03B,GAAP,CAAWC,eAAX,CAA2BlsC,IAA3B,CAAN,CAAJ;AAHe;AAIf,aAAKhB,GAAL,CAASqP,IAAT,CAAc,gBAAd,EAAgCsI,IAAhC,CAAqC,MAArC,EAA6Cta,GAA7C;AAJe;AAKf,aAAK2C,GAAL,CAASqP,IAAT,CAAc,gBAAd,EAAgC,CAAhC,EAAmC5L,KAAnC;AACH,KAlL+B;AAoLhC0pC,uBApLgC,+BAoLZ9wC,GApLY,EAoLP;AAAA;;AACrB,aAAK2D,GAAL,CAASqP,IAAT,CAAc,kBAAd,EAAkC5L,KAAlC;AACH,KAtL+B;AAwLhC2pC,wBAxLgC,gCAwLX/wC,GAxLW,EAwLN;AAAA;;AACtBA,YAAIqiB,eAAJ;AACH,KA1L+B;AA4LhC2uB,iBA5LgC,yBA4LlBhxC,GA5LkB,EA4Lb;AAAA;;AAAA;;AACf;AACA,aAAK2D,GAAL,CAASqP,IAAT,CAAc,OAAd,EAAuBi+B,YAAvB,CAAoC,KAApC;AACA,YAAIv9B,mCAAU,KAAK/P,GAAL,CAASqP,IAAT,CAAc,mBAAd,EAAmCrS,IAAnC,CAAwC,SAAxC,CAAV,CAAJ;AACA,YAAIyP,iCAAQpQ,IAAIG,MAAJ,CAAWiQ,KAAnB,CAAJ;AAJe;AAKf,YAAIA,MAAM9R,MAAN,KAAiB,CAArB,EAAwB;AAAA;;AACpB,gBAAI4yC,8BAAK,IAAIC,UAAJ,EAAL,CAAJ;AADoB;AAEpBD,eAAGE,MAAH,GAAY,UAACpxC,GAAD,EAAS;AAAA;AAAA;;AACjB,uBAAK2D,GAAL,CAASqP,IAAT,CAAc,OAAd,EAAuBi+B,YAAvB,CAAoC,IAApC;AADiB;AAEjB,oBAAI;AACA,wBAAIn9B,kCAAS8M,KAAKC,KAAL,CAAW7gB,IAAIG,MAAJ,CAAWP,MAAtB,CAAT,CAAJ;AACA,wBAAI4wC,uCAAc18B,OAAOyB,GAAP,CAAW,UAACxQ,KAAD,EAAW;AAAA;AAAA;;AACpC,+BAAO,IAAI5B,oBAAJ,CAAe4B,KAAf,CAAP;AACH,qBAFiB,CAAd,CAAJ;AAGH,iBALD,CAKE,OAAOm3B,GAAP,EAAY;AAAA;;AACV,2BAAK99B,CAAL,CAAO,8BAAP,EAAuCkH,IAAvC,CAA4C,uCAA5C,EAAqFC,WAArF,CAAiG,QAAjG;AADU;AAEV;AACH;AAVgB;AAWjB,oBAAImO,OAAJ,EAAa;AAAA;AAAA;;AACT;AACA,2BAAO,OAAKtJ,UAAL,CAAgB9L,MAAvB,EAA+B;AAAA;;AAC3B,+BAAK8L,UAAL,CAAgBsX,KAAhB,GAAwB7U,OAAxB;AACH;AAJQ;AAKT,2BAAKzC,UAAL,CAAgB4M,KAAhB,CAAsBw5B,WAAtB;AACH,iBAND,MAMO;AAAA;AAAA;;AACH;AACA,yBAAK,IAAIxuC,IAAI,OAAKoI,UAAL,CAAgB9L,MAAhB,GAAyB,CAAtC,EAAyC0D,KAAK,CAA9C,EAAiDA,KAAK,CAAtD,EAAyD;AAAA;;AACrD,4BAAIwuC,YAAY7X,IAAZ,CAAiB,UAACz1B,KAAD,EAAW;AAAA;AAAA;AAAA,yCAAMwJ,EAAN,KAAa,OAAKtC,UAAL,CAAgBgI,EAAhB,CAAmBpQ,CAAnB,EAAsB0K,EAAnC;AAAqC,yBAAjE,CAAJ,EAAwE;AAAA;AAAA;;AACpE,mCAAKtC,UAAL,CAAgBgI,EAAhB,CAAmBpQ,CAAnB,EAAsB6K,OAAtB;AACH,yBAFD;AAAA;AAAA;AAGH;AANE;AAOH,2BAAKzC,UAAL,CAAgB4J,GAAhB,CAAoBw8B,WAApB,EAAiC,EAACjL,OAAO,IAAR,EAAjC;AACH;AACD;AA1BiB;AA2BjB,oBAAI,CAAC,OAAKn7B,UAAL,CAAgBnG,GAAhB,CAAoB,OAAKe,aAAzB,CAAL,EAA8C;AAAA;AAAA;;AAC1C,2BAAKoF,UAAL,CAAgBpL,IAAhB,CAAqB,IAAImE,oBAAJ,CAAe,EAACuJ,IAAI,OAAK1H,aAAV,EAAf,CAArB;AACH,iBAFD;AAAA;AAAA;AA3BiB;AA8BjB,uBAAK9B,KAAL,CAAWuC,GAAX,CAAe,OAAK2E,UAAL,CAAgBgI,EAAhB,CAAmB,CAAnB,EAAsBtO,MAAtB,EAAf;AA9BiB;AA+BjB,uBAAKsG,UAAL,CAAgBjL,IAAhB,CAAqB,UAAC+D,KAAD,EAAW;AAAA;AAAA;AAAEA,0BAAM+Q,IAAN;AAAe,iBAAjD;AA/BiB;AAgCjB,uBAAK67B,SAAL,GAAiB,KAAjB;AAhCiB;AAiCjB,uBAAK1xC,CAAL,CAAO,8BAAP,EAAuCgH,QAAvC,CAAgD,QAAhD;AAjCiB;AAkCjB,uBAAK1B,MAAL;AACH,aAnCD;AAFoB;AAsCpBwtC,eAAGG,OAAH,GAAa,UAACrxC,GAAD,EAAS;AAAA;AAAA;;AAClB,uBAAK2D,GAAL,CAASqP,IAAT,CAAc,OAAd,EAAuBi+B,YAAvB,CAAoC,IAApC;AADkB;AAElB,uBAAK7yC,CAAL,CAAO,8BAAP,EAAuCkH,IAAvC,CAA4C,qBAA5C,EAAmEC,WAAnE,CAA+E,QAA/E;AACH,aAHD;AAtCoB;AA0CpB2rC,eAAGI,UAAH,CAAclhC,MAAM,CAAN,CAAd;AACH,SA3CD;AAAA;AAAA;AA4CH;AA7O+B,CAAZ,CAAlB,CAAN;;AAgPA,IAAMmhC,kDAAwB9xC,eAAKwD,MAAL,CAAY;AACtC3D,YAAQ;AACJ,2BAAmB,SADf;AAEJ,2BAAmB;AAFf,KAD8B;;AAMtCI,cANsC,wBAMzB;AAAA;;AACT;AACA;AACA,aAAK8xC,sBAAL,GAA8B,KAAKpnC,UAAL,CAAgBtG,MAAhB,EAA9B;AAHS;AAIT,aAAK2tC,iBAAL,GAAyB,KAAKvuC,KAAL,CAAWY,MAAX,EAAzB;AAJS;AAKT,aAAK4tC,eAAL,GAAuB,KAAKxuC,KAAL,CAAWwJ,EAAlC;AALS;AAMT,aAAKilC,IAAL,GAAY,IAAI9B,eAAJ,CAAoB;AAC5BxrC,wBAAY,IADgB;AAE5BnB,mBAAO,IAAIC,oBAAJ,CAAe,KAAKD,KAAL,CAAWY,MAAX,EAAf,CAFqB;AAG5BsG,wBAAY,KAAKA;AAHW,SAApB,CAAZ;AAKH,KAjBqC;AAmBtC1G,UAnBsC,oBAmB7B;AAAA;;AACL,aAAKC,GAAL,CAASC,IAAT,CAAc,+BAAd;AADK;AAEL,aAAK+tC,IAAL,CAAU5rC,UAAV,CAAqB,KAAK3H,CAAL,CAAO,iBAAP,CAArB,EAAgDsF,MAAhD;AAFK;AAGL,aAAKC,GAAL,CAASnD,WAAT,CAAqB,IAArB;AAHK;AAIL,eAAO,IAAP;AACH,KAxBqC;AA0BtC8zB,WA1BsC,mBA0B9Bt0B,GA1B8B,EA0BzB;AAAA;;AACTA,YAAI0E,cAAJ;AADS;AAET,aAAKxB,KAAL,CAAWuC,GAAX,CAAe,KAAKksC,IAAL,CAAUzuC,KAAV,CAAgBY,MAAhB,EAAf;AAFS;AAGT,aAAKsG,UAAL,CAAgB4J,GAAhB,CAAoB,KAAK29B,IAAL,CAAUzuC,KAAV,CAAgBY,MAAhB,EAApB,EAA8C,EAACyhC,OAAO,IAAR,EAA9C;AAHS;AAIT,aAAKn7B,UAAL,CAAgBnG,GAAhB,CAAoB,KAAKf,KAAL,CAAWwJ,EAA/B,EAAmCuH,IAAnC;AAJS;AAKT,aAAKtQ,GAAL,CAAStD,KAAT,CAAe,MAAf;AACH,KAhCqC;AAkCtCuxC,kBAlCsC,0BAkCvB5xC,GAlCuB,EAkClB;AAChB,YAAIwwC,wCAActxC,qBAAEqW,GAAF,CAAM,KAAKi8B,sBAAX,EAAmC,UAAUz4B,KAAV,EAAiB;AAAA;AAAA;;AAClE,mBAAO,IAAI5V,oBAAJ,CAAe4V,KAAf,CAAP;AACH,SAFiB,CAAd,CAAJ;AADgB;AAIhB,eAAO,KAAK3O,UAAL,CAAgB9L,MAAvB,EAA+B;AAAA;;AAC3B,iBAAK8L,UAAL,CAAgBsX,KAAhB,GAAwB7U,OAAxB;AACH;AANe;AAOhB,aAAKzC,UAAL,CAAgB4M,KAAhB,CAAsBw5B,WAAtB,EAAmC,EAACjL,OAAO,IAAR,EAAnC;AAPgB;AAQhB,aAAKriC,KAAL,CAAWuC,GAAX,CAAe,KAAKgsC,iBAApB;AARgB;AAShB,aAAKrnC,UAAL,CAAgBjL,IAAhB,CAAqB,UAAC+D,KAAD,EAAW;AAAA;AAAA;AAAEA,kBAAM+Q,IAAN;AAAe,SAAjD;AATgB;AAUhB,aAAKtQ,GAAL,CAAStD,KAAT,CAAe,MAAf;AACH;AA7CqC,CAAZ,CAAxB,CAAN;;AAgDA;;;;;;;AAOA,SAASwF,IAAT,CAAckT,KAAd,EAAqBjF,MAArB,EAA6BhO,YAA7B,EAA2C;AAAA;;AACvC,QAAMF,mCAAS,IAAI2rC,qBAAJ,CAA0B;AACrCltC,oBAAY,IADyB;AAErC+F,oBAAY0J,MAFyB;AAGrC5Q,eAAO6V,KAH8B;AAIrC/U,YAAI,sBAAE,qBAAF;AAJiC,KAA1B,CAAT,CAAN;AADuC;AAOvC4B,WAAO+rC,IAAP,CAAY3sC,aAAZ,GAA4B,yEAAgB,SAAhB,CAA5B;AAPuC;AAQvC,WAAOY,OAAOlC,MAAP,EAAP;AACH;;kBAEcmC,I;;;;;;;;;ACpUf,IAAI84B,MAAMC,mBAAOA,CAAC,CAAR,CAAV;;AAEA,SAASC,QAAT,CAAkBC,MAAlB,EAA0B;AAAC,MAAIC,WAAW,EAAf;AAAA,MAAmBC,aAAa,EAAhC;AAAA,MAAoCC,UAApC,CAA+C,IAAIC,kBAAJ,EAAwBC,cAAxB,CAAuC,IAAI;AAAC,QAAIC,oBAAoB,EAAC,wGAAyJ,msGAA1J,EAAxB;AACtH,KAAC,IAAIC,kBAAmBP,UAAU,EAAjC,CAAsC,WAAU10B,UAAV,EAAsBlH,KAAtB,EAA6B0R,QAA7B,EAAuC1N,IAAvC,EAA6C;AAAC,OAACi4B,iBAAiB,CAAjB,CAAmBD,qBAAqB,sGAArB;AACzGH,iBAAWA,WAAW,gDAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,sGAArB;AACpBH,iBAAWA,WAAW,+BAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,sGAArB;AACpBH,iBAAWA,WAAW,2CAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,sGAArB;AACpBH,iBAAWA,WAAW,8BAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,sGAArB;AACpBH,iBAAWA,WAAW,sFAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,sGAArB;AACpBH,iBAAWA,WAAW,6BAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,sGAArB;AACpBH,iBAAWA,WAAW,yBAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,sGAArB;AACpBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,sGAArB;AACpBH,iBAAWA,WAAW,mCAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,sGAArB;AACpBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,sGAArB;AACpB,UAAIr6B,QAAQ3B,MAAMe,GAAN,CAAU,OAAV,KAAsB,EAAlC;AACA,OAACk7B,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,8BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,cAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrB,UAAItqB,QAAJ,EAAc;AACd,SAACuqB,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,mBAAWA,WAAW,6BAAtB;AACA,SAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,mBAAWA,WAAW,wEAAtB;AACA,SAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,mBAAWA,WAAW,iCAAtB;AACA,SAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,mBAAWA,WAAW,4DAAtB;AACA,SAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,mBAAWA,WAAW,sDAAtB;AACC,OAXD,MAYK;AACL,SAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,mBAAWA,WAAW,6BAAtB;AACA,SAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,mBAAWA,WAAW,8CAAtB;AACA,SAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrB;AACA,SAAC,CAAC,YAAU;AACV,cAAIO,QAAQr1B,WAAW2Q,MAAX,CAAkB,IAAlB,CAAZ;AACA,cAAI,YAAY,OAAO0kB,MAAMnhC,MAA7B,EAAqC;AACjC,iBAAK,IAAIohC,aAAa,CAAjB,EAAoBC,MAAMF,MAAMnhC,MAArC,EAA6CohC,aAAaC,GAA1D,EAA+DD,YAA/D,EAA6E;AAC3E,kBAAI3mB,QAAQ0mB,MAAMC,UAAN,CAAZ;AACR,eAACP,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrB,kBAAI0Q,WAAW1sC,MAAMwJ,EAAN,KAAaqM,MAAMrM,EAAlC,CACCyyB,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,yBAAWA,WAAW,SAAX,IAA6BJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBvC,MAAM9U,GAAN,CAAU,IAAV,CAAlB,EAAmC,IAAnC,EAAyC,IAAzC,IAA+C06B,IAAIrjB,IAAJ,CAAS,UAAT,EAAqBs0B,QAArB,EAA+B,IAA/B,EAAqC,IAArC,CAA5E,IAA0H,GAArI;AACA,eAACzQ,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,yBAAWA,WAAYJ,IAAImB,MAAJ,CAAW,SAASb,aAAalmB,MAAM9U,GAAN,CAAU,IAAV,CAAtB,IAAyC,EAAzC,GAA8Cg7B,UAAzD,CAAZ,GAAoF,WAA/F;AACO;AACJ,WAVD,MAUO;AACL,gBAAIU,MAAM,CAAV;AACA,iBAAK,IAAID,UAAT,IAAuBD,KAAvB,EAA8B;AAC5BE;AACA,kBAAI5mB,QAAQ0mB,MAAMC,UAAN,CAAZ;AACN,eAACP,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrB,kBAAI0Q,WAAW1sC,MAAMwJ,EAAN,KAAaqM,MAAMrM,EAAlC,CACCyyB,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,yBAAWA,WAAW,SAAX,IAA6BJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBvC,MAAM9U,GAAN,CAAU,IAAV,CAAlB,EAAmC,IAAnC,EAAyC,IAAzC,IAA+C06B,IAAIrjB,IAAJ,CAAS,UAAT,EAAqBs0B,QAArB,EAA+B,IAA/B,EAAqC,IAArC,CAA5E,IAA0H,GAArI;AACA,eAACzQ,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,yBAAWA,WAAYJ,IAAImB,MAAJ,CAAW,SAASb,aAAalmB,MAAM9U,GAAN,CAAU,IAAV,CAAtB,IAAyC,EAAzC,GAA8Cg7B,UAAzD,CAAZ,GAAoF,WAA/F;AACK;AACF;AACF,SAzBA,EAyBEv+B,IAzBF,CAyBO,IAzBP;;AA2BDq+B,mBAAWA,WAAW,WAAtB;AACA,SAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,mBAAWA,WAAW,iCAAtB;AACA,SAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrB,YAAI90B,WAAW9L,MAAX,GAAoB,CAAxB,EAA2B;AAC3B,WAAC6gC,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,qBAAWA,WAAW,mDAAtB;AACA,WAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,qBAAWA,WAAW,uGAAtB;AACC;AACD,SAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,mBAAWA,WAAW,uDAAtB;AACA,SAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,mBAAWA,WAAW,6GAAtB;AACC;AACDA,iBAAWA,WAAW,QAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,iCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,eAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,iDAA+C,uGAA/C,GAAuJJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBzW,MAAMlH,KAAxB,EAA+B,IAA/B,EAAqC,IAArC,CAAnL,IAAiO,SAA5O;AACA,OAACwhC,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,sCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,oBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,iDAA+C,qEAA/C,GAAqHJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBpY,MAAMe,GAAN,CAAU,WAAV,CAAlB,EAA0C,IAA1C,EAAgD,IAAhD,CAAjJ,IAA0M,SAArN;AACA,OAACk7B,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,sCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,oBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,2CAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,qCAAmC,4CAAnC,GAAgFJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBpY,MAAMe,GAAN,CAAU,WAAV,CAAlB,EAA0C,IAA1C,EAAgD,IAAhD,CAA5G,IAAqK,GAAhL;AACA,OAACk7B,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,oCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,sCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,oBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,2CAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,qCAAmC,4CAAnC,GAAgFJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBpY,MAAMe,GAAN,CAAU,WAAV,CAAlB,EAA0C,IAA1C,EAAgD,IAAhD,CAA5G,IAAqK,GAAhL;AACA,OAACk7B,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,oCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,gEAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,8BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,8FAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrB,UAAIh4B,KAAKjD,GAAL,IAAYiD,KAAKjD,GAAL,CAAS,OAAT,CAAhB,EAAmC;AACnC,SAACk7B,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,mBAAWA,WAAW,4FAAtB;AACA,SAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,mBAAWA,WAAW,2BAAtB;AACC;AACD,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,sFAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,QAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,oEAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,yLAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,QAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,4DAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,qEAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,oFAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,iBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,6DAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,sGAArB;AACrBH,iBAAWA,WAAW,wCAAtB;AAA2I,KA3KpG,EA2KqGr+B,IA3KrG,CA2K0G,IA3K1G,EA2K+G,gBAAgB2+B,eAAhB,GAAgCA,gBAAgBj1B,UAAhD,GAA2D,OAAOA,UAAP,KAAoB,WAApB,GAAgCA,UAAhC,GAA2ClM,SA3KrN,EA2K+N,WAAWmhC,eAAX,GAA2BA,gBAAgBn8B,KAA3C,GAAiD,OAAOA,KAAP,KAAe,WAAf,GAA2BA,KAA3B,GAAiChF,SA3KjT,EA2K2T,cAAcmhC,eAAd,GAA8BA,gBAAgBzqB,QAA9C,GAAuD,OAAOA,QAAP,KAAkB,WAAlB,GAA8BA,QAA9B,GAAuC1W,SA3KzZ,EA2Kma,UAAUmhC,eAAV,GAA0BA,gBAAgBn4B,IAA1C,GAA+C,OAAOA,IAAP,KAAc,WAAd,GAA0BA,IAA1B,GAA+BhJ,SA3Kjf,CAAD;AA2K+f,GA5Kpb,CA4Kqb,OAAOg+B,GAAP,EAAY;AAACyC,QAAIoB,OAAJ,CAAY7D,GAAZ,EAAiBgD,kBAAjB,EAAqCC,cAArC,EAAqDC,kBAAkBF,kBAAlB,CAArD;AAA6F,IAAC,OAAOH,QAAP;AAAiB;AAClqBiB,OAAOC,OAAP,GAAiBpB,QAAjB,C;;;;;;AC/KA,yC;;;;;;;;;ACAA,IAAIF,MAAMC,mBAAOA,CAAC,CAAR,CAAV;;AAEA,SAASC,QAAT,CAAkBC,MAAlB,EAA0B;AAAC,MAAIC,WAAW,EAAf;AAAA,MAAmBC,aAAa,EAAhC;AAAA,MAAoCC,UAApC,CAA+C,IAAIC,kBAAJ,EAAwBC,cAAxB,CAAuC,IAAI;AAAC,QAAIC,oBAAoB,EAAC,kGAAmJ,qvLAApJ,EAA+4L,6FAA8I,kaAA7hM,EAAg8M,yGAA0J,wtEAA1lN,EAAxB;AACtH,KAAC,IAAIC,kBAAmBP,UAAU,EAAjC,CAAsC,WAAU7W,SAAV,EAAqB9M,WAArB,EAAkCrH,MAAlC,EAA0CpH,EAA1C,EAA8ChP,IAA9C,EAAoD83B,IAApD,EAA0D4P,YAA1D,EAAwErsB,KAAxE,EAA+EwO,KAA/E,EAAsF;AAAC,OAAC4X,iBAAiB,CAAjB,CAAmBD,qBAAqB,2FAArB;AAClJH,iBAAWA,WAAW,yCAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,2FAArB;AACpBH,iBAAWA,WAAW,8CAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,2FAArB;AACpB,OAACC,iBAAiB,CAAjB,CAAmBD,qBAAqB,gGAArB;AACpBH,iBAAWA,WAAW,EAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,gGAArB;AACpBH,iBAAWA,WAAW,qCAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,gGAArB;AACpBH,iBAAWA,WAAW,GAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,gGAArB;AACpBH,iBAAWA,WAAYJ,IAAImB,MAAJ,CAAW,SAASb,aAAa1X,KAAtB,IAA+B,EAA/B,GAAoC0X,UAA/C,CAAvB;AACA,OAACE,iBAAiB,CAAjB,CAAmBD,qBAAqB,gGAArB;AACpBH,iBAAWA,WAAW,GAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,gGAArB;AACpBH,iBAAWA,WAAW,OAAX,IAA2B,4BAA0BJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkB5d,IAAlB,EAAwB,IAAxB,EAA8B,IAA9B,CAArD,IAA4F,GAAvG;AACA,OAACyhC,iBAAiB,CAAjB,CAAmBD,qBAAqB,gGAArB;AACpBH,iBAAWA,WAAYJ,IAAImB,MAAJ,CAAW,SAASb,aAAavhC,IAAtB,IAA8B,EAA9B,GAAmCuhC,UAA9C,CAAZ,GAAyE,SAApF;AACA,OAACE,iBAAiB,CAAjB,CAAmBD,qBAAqB,gGAArB;AACpBH,iBAAWA,WAAW,SAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,2FAArB;AACpBH,iBAAWA,WAAW,mCAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,2FAArB;AACpB,OAACC,iBAAiB,CAAjB,CAAmBD,qBAAqB,2FAArB;AACpB,UAAIjX,SAAJ,EAAe;AACf,SAACkX,iBAAiB,CAAjB,CAAmBD,qBAAqB,2FAArB;AACpBH,mBAAWA,WAAW,kCAAtB;AACC,OAHD,MAIK;AACL,SAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,2FAArB;AACrBH,mBAAWA,WAAW,gCAAtB;AACC;AACD,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,2FAArB;AACrB,UAAIkG,YAAJ,EAAkB;AAClB,SAACjG,iBAAiB,EAAjB,CAAoBD,qBAAqB,2FAArB;AACrBH,mBAAWA,WAAW,IAAX,IAAwB,0CAAwCJ,IAAIrjB,IAAJ,CAAS,aAAT,QAA4B5O,EAA5B,EAAkC,IAAlC,EAAwC,IAAxC,CAAhE,IAAiH,OAA5H;AACC;AACDqyB,iBAAWA,WAAW,eAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,2FAArB;AACrB,UAAImG,QAAQ,EAAZ,CACClG,iBAAiB,EAAjB,CAAoBD,qBAAqB,2FAArB;AACrB,UAAI,CAACjX,SAAL,EAAgB;AAChB,SAACkX,iBAAiB,EAAjB,CAAoBD,qBAAqB,2FAArB;AACrBmG,cAAMC,KAAN,GAAc,IAAd;AACC;AACD,OAACnG,iBAAiB,EAAjB,CAAoBD,qBAAqB,2FAArB;AACrBH,iBAAWA,WAAW,MAAX,GAA0BJ,IAAI0G,KAAJ,CAAU1G,IAAI4G,KAAJ,CAAU,CAAC,EAAC,SAAS,0BAAV,EAAD,EAAuCF,KAAvC,CAAV,CAAV,EAAoE,IAApE,CAA1B,GAAuG,GAAlH;AACA,OAAClG,iBAAiB,EAAjB,CAAoBD,qBAAqB,2FAArB;AACrB,OAACC,iBAAiB,CAAjB,CAAmBD,qBAAqB,gGAArB;AACpBH,iBAAWA,WAAW,8DAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,gGAArB;AACpBH,iBAAWA,WAAW,+CAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,gGAArB;AACpB;AACA,OAAC,CAAC,YAAU;AACV,YAAIO,QAAQ3rB,OAAOiH,MAAP,CAAc,IAAd,CAAZ;AACA,YAAI,YAAY,OAAO0kB,MAAMnhC,MAA7B,EAAqC;AACjC,eAAK,IAAIohC,aAAa,CAAjB,EAAoBC,MAAMF,MAAMnhC,MAArC,EAA6CohC,aAAaC,GAA1D,EAA+DD,YAA/D,EAA6E;AAC3E,gBAAI36B,QAAQ06B,MAAMC,UAAN,CAAZ;AACR,aAACP,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,uBAAWA,WAAW,SAAX,IAA6BJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBvW,MAAM2H,EAAxB,EAA4B,IAA5B,EAAkC,IAAlC,IAAwCiyB,IAAIrjB,IAAJ,CAAS,UAAT,EAAqBvW,MAAM2H,EAAN,KAAaqM,KAAlC,EAAyC,IAAzC,EAA+C,IAA/C,CAArE,IAA6H,GAAxI;AACA,aAAComB,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,uBAAWA,WAAYJ,IAAImB,MAAJ,CAAW,SAASb,aAAal6B,MAAM2H,EAA5B,IAAkC,EAAlC,GAAuCuyB,UAAlD,CAAZ,GAA6E,WAAxF;AACO;AACJ,SARD,MAQO;AACL,cAAIU,MAAM,CAAV;AACA,eAAK,IAAID,UAAT,IAAuBD,KAAvB,EAA8B;AAC5BE;AACA,gBAAI56B,QAAQ06B,MAAMC,UAAN,CAAZ;AACN,aAACP,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,uBAAWA,WAAW,SAAX,IAA6BJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBvW,MAAM2H,EAAxB,EAA4B,IAA5B,EAAkC,IAAlC,IAAwCiyB,IAAIrjB,IAAJ,CAAS,UAAT,EAAqBvW,MAAM2H,EAAN,KAAaqM,KAAlC,EAAyC,IAAzC,EAA+C,IAA/C,CAArE,IAA6H,GAAxI;AACA,aAAComB,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,uBAAWA,WAAYJ,IAAImB,MAAJ,CAAW,SAASb,aAAal6B,MAAM2H,EAA5B,IAAkC,EAAlC,GAAuCuyB,UAAlD,CAAZ,GAA6E,WAAxF;AACK;AACF;AACF,OArBA,EAqBEv+B,IArBF,CAqBO,IArBP;;AAuBDq+B,iBAAWA,WAAW,WAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,iCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,4EAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,kMAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,mEAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,wCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,SAAX,IAA6BJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBqjB,IAAIiB,OAAJ,CAAY,CAAC,QAAD,EAAU,KAAV,EAAgB,aAAhB,EAA8BzkB,gBAAgB,OAAhB,GAA0B,QAA1B,GAAqC,IAAnE,CAAZ,EAAsF,CAAC,KAAD,EAAO,KAAP,EAAa,KAAb,EAAmB,IAAnB,CAAtF,CAAlB,EAAmI,KAAnI,EAA0I,IAA1I,IAAgJ,wFAA7K,IAAyQ,GAApR;AACA,OAACgkB,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,EAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,qCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,sBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,wCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,SAAX,IAA6BJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBqjB,IAAIiB,OAAJ,CAAY,CAAC,QAAD,EAAU,KAAV,EAAgB,aAAhB,EAA8BzkB,gBAAgB,WAAhB,GAA8B,QAA9B,GAAyC,IAAvE,CAAZ,EAA0F,CAAC,KAAD,EAAO,KAAP,EAAa,KAAb,EAAmB,IAAnB,CAA1F,CAAlB,EAAuI,KAAvI,EAA8I,IAA9I,IAAoJ,gGAAjL,IAAqR,GAAhS;AACA,OAACgkB,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,EAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,0CAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,oBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,8HAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,2CAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,oEAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,8DAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,yBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,8FAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,uBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,yBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,mGAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,yBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,2FAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,0BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,6EAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,SAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,OAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,6BAA2B,4BAA3B,GAAwDJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBka,KAAKqG,WAAvB,EAAoC,IAApC,EAA0C,IAA1C,CAApF,IAAuI,WAAlJ;AACA,OAACsD,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,SAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,QAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,8BAA4B,4BAA5B,GAAyDJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBka,KAAKsG,YAAvB,EAAqC,IAArC,EAA2C,IAA3C,CAArF,IAAyI,6BAApJ;AACA,OAACqD,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,wCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,SAAX,IAA6BJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBqjB,IAAIiB,OAAJ,CAAY,CAAC,QAAD,EAAU,KAAV,EAAgB,aAAhB,EAA8BzkB,gBAAgB,SAAhB,GAA4B,QAA5B,GAAuC,IAArE,CAAZ,EAAwF,CAAC,KAAD,EAAO,KAAP,EAAa,KAAb,EAAmB,IAAnB,CAAxF,CAAlB,EAAqI,KAArI,EAA4I,IAA5I,IAAkJ,4FAA/K,IAA+Q,GAA1R;AACA,OAACgkB,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,EAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,uDAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,kBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,8HAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,2CAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,oEAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,8DAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,yBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,8FAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,uBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,yBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,mGAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,yBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,2FAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,0BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,6EAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,SAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,OAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,6BAA2B,4BAA3B,GAAwDJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBka,KAAKqG,WAAvB,EAAoC,IAApC,EAA0C,IAA1C,CAApF,IAAuI,WAAlJ;AACA,OAACsD,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,SAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,QAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,8BAA4B,4BAA5B,GAAyDJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBka,KAAKsG,YAAvB,EAAqC,IAArC,EAA2C,IAA3C,CAArF,IAAyI,6BAApJ;AACA,OAACqD,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,wCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,SAAX,IAA6BJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBqjB,IAAIiB,OAAJ,CAAY,CAAC,QAAD,EAAU,KAAV,EAAgB,aAAhB,EAA8BzkB,gBAAgB,QAAhB,GAA2B,QAA3B,GAAsC,IAApE,CAAZ,EAAuF,CAAC,KAAD,EAAO,KAAP,EAAa,KAAb,EAAmB,IAAnB,CAAvF,CAAlB,EAAoI,KAApI,EAA2I,IAA3I,IAAiJ,0FAA9K,IAA4Q,GAAvR;AACA,OAACgkB,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,EAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,2CAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,uBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,wCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,SAAX,IAA6BJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBqjB,IAAIiB,OAAJ,CAAY,CAAC,QAAD,EAAU,KAAV,EAAgB,aAAhB,EAA8BzkB,gBAAgB,SAAhB,GAA4B,QAA5B,GAAuC,IAArE,CAAZ,EAAwF,CAAC,KAAD,EAAO,KAAP,EAAa,KAAb,EAAmB,IAAnB,CAAxF,CAAlB,EAAqI,KAArI,EAA4I,IAA5I,IAAkJ,4FAA/K,IAA+Q,GAA1R;AACA,OAACgkB,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,EAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,2CAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,wBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,wCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,SAAX,IAA6BJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBqjB,IAAIiB,OAAJ,CAAY,CAAC,QAAD,EAAU,KAAV,EAAgB,aAAhB,EAA8BzkB,gBAAgB,MAAhB,GAAyB,QAAzB,GAAoC,IAAlE,CAAZ,EAAqF,CAAC,KAAD,EAAO,KAAP,EAAa,KAAb,EAAmB,IAAnB,CAArF,CAAlB,EAAkI,KAAlI,EAAyI,IAAzI,IAA+I,sFAA5K,IAAsQ,GAAjR;AACA,OAACgkB,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,EAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,qCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,qBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,wCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,SAAX,IAA6BJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBqjB,IAAIiB,OAAJ,CAAY,CAAC,QAAD,EAAU,KAAV,EAAgB,aAAhB,EAA8BzkB,gBAAgB,OAAhB,GAA0B,QAA1B,GAAqC,IAAnE,CAAZ,EAAsF,CAAC,KAAD,EAAO,KAAP,EAAa,KAAb,EAAmB,IAAnB,CAAtF,CAAlB,EAAmI,KAAnI,EAA0I,IAA1I,IAAgJ,yFAAhJ,GAA0OwjB,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBka,KAAK0E,WAAvB,EAAoC,IAApC,EAA0C,IAA1C,CAAvQ,IAA0T,GAArU;AACA,OAACiF,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,+BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,EAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,0CAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,SAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,+BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,EAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,2CAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,SAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,gBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,wHAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,2CAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,8DAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,qCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,gCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,4CAA0C,wCAA1C,GAAmFJ,IAAIrjB,IAAJ,CAAS,SAAT,EAAoBka,KAAK0E,WAAL,KAAqB,QAArB,GAAgC,SAAhC,GAA4Ch8B,SAAhE,EAA2E,IAA3E,EAAiF,IAAjF,CAAnF,GAA0K,yCAAtM,IAAmP,GAA9P;AACA,OAACihC,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,gBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,gCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,4CAA0C,wCAA1C,GAAmFJ,IAAIrjB,IAAJ,CAAS,SAAT,EAAoBka,KAAK0E,WAAL,KAAqB,QAArB,GAAgC,SAAhC,GAA4Ch8B,SAAhE,EAA2E,IAA3E,EAAiF,IAAjF,CAAnF,GAA0K,yCAAtM,IAAmP,GAA9P;AACA,OAACihC,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,sBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,qCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,gGAArB;AACrBH,iBAAWA,WAAW,SAAtB;AACA,OAACI,iBAAiB,GAAjB,CAAqBD,qBAAqB,gGAArB;AACtBH,iBAAWA,WAAW,MAAtB;AACA,OAACI,iBAAiB,GAAjB,CAAqBD,qBAAqB,gGAArB;AACtBH,iBAAWA,WAAW,QAAX,IAA4B,4BAA0B,4BAA1B,GAAuDJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBka,KAAK+D,UAAvB,EAAmC,IAAnC,EAAyC,IAAzC,CAAnF,IAAqI,iBAAhJ;AACA,OAAC4F,iBAAiB,GAAjB,CAAqBD,qBAAqB,gGAArB;AACtBH,iBAAWA,WAAW,qCAAtB;AACA,OAACI,iBAAiB,GAAjB,CAAqBD,qBAAqB,gGAArB;AACtBH,iBAAWA,WAAW,6GAAtB;AACA,OAACI,iBAAiB,GAAjB,CAAqBD,qBAAqB,gGAArB;AACtBH,iBAAWA,WAAW,QAAX,IAA4B,8BAA4B,oBAA5B,GAAiDJ,IAAIrjB,IAAJ,CAAS,SAAT,EAAoBka,KAAK2E,YAAL,GAAoB,SAApB,GAAgCj8B,SAApD,EAA+D,IAA/D,EAAqE,IAArE,CAA7E,IAA2J,GAAtK;AACA,OAACihC,iBAAiB,GAAjB,CAAqBD,qBAAqB,gGAArB;AACtBH,iBAAWA,WAAW,wCAAtB;AACA,OAACI,iBAAiB,GAAjB,CAAqBD,qBAAqB,gGAArB;AACtBH,iBAAWA,WAAW,+BAAtB;AACA,OAACI,iBAAiB,GAAjB,CAAqBD,qBAAqB,gGAArB;AACtBH,iBAAWA,WAAW,mCAAtB;AACA,OAACI,iBAAiB,GAAjB,CAAqBD,qBAAqB,gGAArB;AACtBH,iBAAWA,WAAW,YAAtB;AACA,OAACI,iBAAiB,GAAjB,CAAqBD,qBAAqB,gGAArB;AACtBH,iBAAWA,WAAW,qDAAtB;AACA,OAACI,iBAAiB,GAAjB,CAAqBD,qBAAqB,gGAArB;AACtBH,iBAAWA,WAAW,sCAAtB;AACA,OAACI,iBAAiB,GAAjB,CAAqBD,qBAAqB,gGAArB;AACtBH,iBAAWA,YAAY,SAASE,aAAaL,mBAAOA,CAAC,EAAR,EAAmCl+B,IAAnC,CAAwC,IAAxC,EAA8Co+B,MAA9C,CAAtB,IAA+E,EAA/E,GAAoFG,UAAhG,IAA8G,cAAzH;AAAuK,KAxShI,EAwSiIv+B,IAxSjI,CAwSsI,IAxStI,EAwS2I,eAAe2+B,eAAf,GAA+BA,gBAAgBpX,SAA/C,GAAyD,OAAOA,SAAP,KAAmB,WAAnB,GAA+BA,SAA/B,GAAyC/pB,SAxS7O,EAwSuP,iBAAiBmhC,eAAjB,GAAiCA,gBAAgBlkB,WAAjD,GAA6D,OAAOA,WAAP,KAAqB,WAArB,GAAiCA,WAAjC,GAA6Cjd,SAxSjW,EAwS2W,YAAYmhC,eAAZ,GAA4BA,gBAAgBvrB,MAA5C,GAAmD,OAAOA,MAAP,KAAgB,WAAhB,GAA4BA,MAA5B,GAAmC5V,SAxSjc,EAwS2c,QAAQmhC,eAAR,GAAwBA,gBAAgB3yB,EAAxC,GAA2C,OAAOA,EAAP,KAAY,WAAZ,GAAwBA,EAAxB,GAA2BxO,SAxSjhB,EAwS2hB,UAAUmhC,eAAV,GAA0BA,gBAAgB3hC,IAA1C,GAA+C,OAAOA,IAAP,KAAc,WAAd,GAA0BA,IAA1B,GAA+BQ,SAxSzmB,EAwSmnB,UAAUmhC,eAAV,GAA0BA,gBAAgB7J,IAA1C,GAA+C,OAAOA,IAAP,KAAc,WAAd,GAA0BA,IAA1B,GAA+Bt3B,SAxSjsB,EAwS2sB,kBAAkBmhC,eAAlB,GAAkCA,gBAAgB+F,YAAlD,GAA+D,OAAOA,YAAP,KAAsB,WAAtB,GAAkCA,YAAlC,GAA+ClnC,SAxSzzB,EAwSm0B,WAAWmhC,eAAX,GAA2BA,gBAAgBtmB,KAA3C,GAAiD,OAAOA,KAAP,KAAe,WAAf,GAA2BA,KAA3B,GAAiC7a,SAxSr5B,EAwS+5B,WAAWmhC,eAAX,GAA2BA,gBAAgB9X,KAA3C,GAAiD,OAAOA,KAAP,KAAe,WAAf,GAA2BA,KAA3B,GAAiCrpB,SAxSj/B,CAAD;AAwS+/B,GAzSp7B,CAySq7B,OAAOg+B,GAAP,EAAY;AAACyC,QAAIoB,OAAJ,CAAY7D,GAAZ,EAAiBgD,kBAAjB,EAAqCC,cAArC,EAAqDC,kBAAkBF,kBAAlB,CAArD;AAA6F,IAAC,OAAOH,QAAP;AAAiB;AAClqCiB,OAAOC,OAAP,GAAiBpB,QAAjB,C;;;;;;AC5SA,yC;;;;;;;;;ACAA,IAAIF,MAAMC,mBAAOA,CAAC,CAAR,CAAV;;AAEA,SAASC,QAAT,CAAkBC,MAAlB,EAA0B;AAAC,MAAIC,WAAW,EAAf;AAAA,MAAmBC,aAAa,EAAhC;AAAA,MAAoCC,UAApC,CAA+C,IAAIC,kBAAJ,EAAwBC,cAAxB,CAAuC,IAAI;AAAC,QAAIC,oBAAoB,EAAC,2FAA4I,oyBAA7I,EAAxB;AACtH,KAACD,iBAAiB,CAAjB,CAAmBD,qBAAqB,yFAArB;AACpBH,eAAWA,WAAW,8CAAtB;AACA,KAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yFAArB;AACpBH,eAAWA,WAAW,mCAAtB;AACA,KAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yFAArB;AACpBH,eAAWA,WAAW,8CAAtB;AACA,KAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yFAArB;AACpBH,eAAWA,WAAW,sDAAtB;AACA,KAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yFAArB;AACpBH,eAAWA,WAAW,uCAAtB;AACA,KAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yFAArB;AACpBH,eAAWA,WAAW,sCAAtB;AACA,KAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yFAArB;AACpBH,eAAWA,WAAW,yBAAtB;AACA,KAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yFAArB;AACpBH,eAAWA,WAAW,4EAAtB;AACA,KAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yFAArB;AACpBH,eAAWA,WAAW,2CAAtB;AACA,KAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yFAArB;AACpBH,eAAWA,WAAW,0FAAtB;AACA,KAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yFAArB;AACrBH,eAAWA,WAAW,yEAAtB;AACA,KAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yFAArB;AACrBH,eAAWA,WAAW,qFAAtB;AACA,KAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yFAArB;AACrBH,eAAWA,WAAW,iEAAtB;AACA,KAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yFAArB;AACrBH,eAAWA,WAAW,yEAAtB;AACA,KAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yFAArB;AACrBH,eAAWA,WAAW,2EAAtB;AACA,KAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yFAArB;AACrBH,eAAWA,WAAW,+EAAtB;AACA,KAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yFAArB;AACrBH,eAAWA,WAAW,8EAAtB;AACA,KAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yFAArB;AACrBH,eAAWA,WAAW,mDAAtB;AACA,KAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yFAArB;AACrBH,eAAWA,WAAW,+DAAtB;AACA,KAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yFAArB;AACrBH,eAAWA,WAAW,mEAAtB;AAAmI,GAxClB,CAwCmB,OAAO7C,GAAP,EAAY;AAACyC,QAAIoB,OAAJ,CAAY7D,GAAZ,EAAiBgD,kBAAjB,EAAqCC,cAArC,EAAqDC,kBAAkBF,kBAAlB,CAArD;AAA6F,IAAC,OAAOH,QAAP;AAAiB;AAChQiB,OAAOC,OAAP,GAAiBpB,QAAjB,C;;;;;;AC3CA,yC;;;;;;;;;ACAA,IAAIF,MAAMC,mBAAOA,CAAC,CAAR,CAAV;;AAEA,SAASC,QAAT,CAAkBC,MAAlB,EAA0B;AAAC,MAAIC,WAAW,EAAf;AAAA,MAAmBC,aAAa,EAAhC;AAAA,MAAoCC,UAApC,CAA+C,IAAIC,kBAAJ,EAAwBC,cAAxB,CAAuC,IAAI;AAAC,QAAIC,oBAAoB,EAAC,8FAA+I,sKAAhJ,EAAxB;AACtH,KAACD,iBAAiB,CAAjB,CAAmBD,qBAAqB,4FAArB;AACpBH,eAAWA,WAAW,2CAAtB;AACA,KAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,4FAArB;AACpBH,eAAWA,WAAW,oEAAtB;AACA,KAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,4FAArB;AACpBH,eAAWA,WAAW,6CAAtB;AACA,KAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,4FAArB;AACpBH,eAAWA,WAAW,4EAAtB;AACA,KAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,4FAArB;AACpBH,eAAWA,WAAW,uCAAtB;AAAwF,GAVyB,CAUxB,OAAO7C,GAAP,EAAY;AAACyC,QAAIoB,OAAJ,CAAY7D,GAAZ,EAAiBgD,kBAAjB,EAAqCC,cAArC,EAAqDC,kBAAkBF,kBAAlB,CAArD;AAA6F,IAAC,OAAOH,QAAP;AAAiB;AACrNiB,OAAOC,OAAP,GAAiBpB,QAAjB,C;;;;;;ACbA,yC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;AACA;;;;;;QAGI97B,e,GAAAA,yB;QACA8uC,c,GAAAA,wB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLJ;;;;AAEA;;;;AACA;;;;AAEA,IAAMC,wCAAgBD,yBAAe1rC,SAAf,CAAyB6J,KAAzC,CAAN;;AACA6hC,yBAAe1rC,SAAf,CAAyB6J,KAAzB,GAAiC,SAASA,KAAT,CAAe/J,MAAf,EAAuB+Q,KAAvB,EAA8B;AAAA;AAAA;;AAC3D,QAAI,CAAC,2BAAL,EAAuB;AAAA;AAAA;;AACnB,eAAO5Y,iBAAE+C,QAAF,GAAaC,OAAb,CAAqB,EAArB,EAAyBH,IAAzB,CAA8B,EAA9B,CAAP;AACH,KAFD;AAAA;AAAA;AAD2D;AAI3D,WAAO6wC,cAAcpxC,IAAd,CAAmB,IAAnB,EAAyBuF,MAAzB,EAAiC+Q,KAAjC,CAAP;AACH,CALD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;;;QAGI+6B,a,GAAAA,uB;QACAC,kB,GAAAA,4B;QACA9oC,S,GAAAA,mB;QACA8sB,W,GAAAA,qB;QACAic,c,GAAAA,wB;QACAC,oB,GAAAA,8B;QACAloC,Y,GAAAA,sB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfJ;;;;AACA;;;;AAEA;;;;AACA;;AAEA;;;;AAEA;;;;;;AACA;;AAEA,IAAIpE,gCAAS,IAAT,CAAJ;AACA,IAAMusC,wCAAiB;AACnB5qB,WAAO,SADY;AAEnBmB,aAAS,eAFU;AAGnBC,kBAAc,KAHK;AAInBC,cAAU1pB,qBAAEkzC;AAJO,CAAjB,CAAN;;AAOA,IAAMC,uCAAgB5yC,eAAKwD,MAAL,CAAY;AAC9B3D,YAAQ;AACJ,2BAAmB;AADf,KADsB;AAI9BoE,UAJ8B,oBAIrB;AAAA;;AAAA;;AACL,aAAKC,GAAL,CAASC,IAAT,CAAc,6BAAS,KAAK0uC,QAAd,CAAd,EAAuC9xC,WAAvC,CAAmD,IAAnD,EACKT,EADL,CACQ,gBADR,EAC0B,YAAM;AAAA;AAAA;;AACxB,kBAAK3B,CAAL,CAAO,WAAP,EAAoBmB,OAApB,CAA4B,OAA5B;AACH,SAHL;AADK;AAKL,eAAO,IAAP;AACH,KAV6B;AAY9BgzC,cAZ8B,sBAYnB30C,OAZmB,EAYV;AAAA;;AAChB,aAAK00C,QAAL,GAAgBpzC,qBAAEmE,QAAF,CAAWzF,OAAX,EAAoBu0C,cAApB,CAAhB;AACH,KAd6B;AAgB9B7d,WAhB8B,qBAgBpB;AAAA;;AACN,aAAK/0B,OAAL,CAAa,UAAb,EAAyB,KAAK+yC,QAA9B;AADM;AAEN,aAAK3uC,GAAL,CAAStD,KAAT,CAAe,MAAf;AAFM;AAGN,aAAKH,GAAL,CAAS,UAAT;AACH;AApB6B,CAAZ,CAAhB,CAAN;;;AAuBAZ,iBAAOS,EAAP,CAAU,iBAAV,EAA6B,YAAwB;AAAA,QAAdnC,OAAc,iGAAJ,EAAI;AAAA;AAAA;;AACjD,QAAI,CAACgI,MAAL,EAAa;AAAA;AAAA;;AACTA,iBAAS,IAAIysC,aAAJ,CAAkB;AACvBhuC,wBAAY;AADW,SAAlB,CAAT;AAGH,KAJD;AAAA;AAAA;AADiD;AAMjDuB,WAAO1F,GAAP,CAAW,UAAX;AANiD;AAOjD0F,WAAO2sC,UAAP,CAAkB30C,OAAlB;AAPiD;AAQjDgI,WAAO7F,EAAP,CAAU,UAAV,EAAsBnC,QAAQgrB,QAA9B;AARiD;AASjDhjB,WAAOG,UAAP,CAAkB,sBAAE,qBAAF,CAAlB,EAA4CrC,MAA5C;AACH,CAVD,E;;;;;;;;;AC1CA,IAAIi7B,MAAMC,mBAAOA,CAAC,CAAR,CAAV;;AAEA,SAASC,QAAT,CAAkBC,MAAlB,EAA0B;AAAC,MAAIC,WAAW,EAAf;AAAA,MAAmBC,aAAa,EAAhC;AAAA,MAAoCC,UAApC,CAA+C,IAAIC,kBAAJ,EAAwBC,cAAxB,CAAuC,IAAI;AAAC,QAAIC,oBAAoB,EAAC,sGAAuJ,4bAAxJ,EAAxB;AACtH,KAAC,IAAIC,kBAAmBP,UAAU,EAAjC,CAAsC,WAAUpW,OAAV,EAAmBC,YAAnB,EAAiCpB,KAAjC,EAAwC;AAAC,OAAC4X,iBAAiB,CAAjB,CAAmBD,qBAAqB,oGAArB;AACpGH,iBAAWA,WAAW,gDAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,oGAArB;AACpBH,iBAAWA,WAAW,+BAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,oGAArB;AACpBH,iBAAWA,WAAW,8BAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,oGAArB;AACpBH,iBAAWA,WAAW,sFAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,oGAArB;AACpBH,iBAAWA,WAAW,6BAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,oGAArB;AACpBH,iBAAWA,WAAW,yBAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,oGAArB;AACpBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,oGAArB;AACpBH,iBAAWA,WAAYJ,IAAImB,MAAJ,CAAW,SAASb,aAAa1X,KAAtB,IAA+B,EAA/B,GAAoC0X,UAA/C,CAAZ,GAA0E,aAArF;AACA,OAACE,iBAAiB,CAAjB,CAAmBD,qBAAqB,oGAArB;AACpBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,oGAArB;AACpBH,iBAAWA,WAAW,KAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,oGAArB;AACrBH,iBAAWA,WAAYJ,IAAImB,MAAJ,CAAW,SAASb,aAAavW,OAAtB,IAAiC,EAAjC,GAAsCuW,UAAjD,CAAZ,GAA4E,YAAvF;AACA,OAACE,iBAAiB,EAAjB,CAAoBD,qBAAqB,oGAArB;AACrBH,iBAAWA,WAAW,8BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,oGAArB;AACrBH,iBAAWA,WAAW,2EAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,oGAArB;AACrBH,iBAAWA,WAAW,iBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,oGAArB;AACrBH,iBAAWA,WAAW,4DAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,oGAArB;AACrBH,iBAAWA,WAAYJ,IAAImB,MAAJ,CAAW,SAASb,aAAatW,YAAtB,IAAsC,EAAtC,GAA2CsW,UAAtD,CAAZ,GAAiF,6BAA5F;AAAuL,KA/BhJ,EA+BiJv+B,IA/BjJ,CA+BsJ,IA/BtJ,EA+B2J,aAAa2+B,eAAb,GAA6BA,gBAAgB3W,OAA7C,GAAqD,OAAOA,OAAP,KAAiB,WAAjB,GAA6BA,OAA7B,GAAqCxqB,SA/BrP,EA+B+P,kBAAkBmhC,eAAlB,GAAkCA,gBAAgB1W,YAAlD,GAA+D,OAAOA,YAAP,KAAsB,WAAtB,GAAkCA,YAAlC,GAA+CzqB,SA/B7W,EA+BuX,WAAWmhC,eAAX,GAA2BA,gBAAgB9X,KAA3C,GAAiD,OAAOA,KAAP,KAAe,WAAf,GAA2BA,KAA3B,GAAiCrpB,SA/Bzc,CAAD;AA+Bud,GAhC5Y,CAgC6Y,OAAOg+B,GAAP,EAAY;AAACyC,QAAIoB,OAAJ,CAAY7D,GAAZ,EAAiBgD,kBAAjB,EAAqCC,cAArC,EAAqDC,kBAAkBF,kBAAlB,CAArD;AAA6F,IAAC,OAAOH,QAAP;AAAiB;AAC1nBiB,OAAOC,OAAP,GAAiBpB,QAAjB,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCA;;;;AACA;;;;AACA;;;;AAEA;;AACA;;;;AACA;;;;AACA;;;;AACA;;AAEA;;;;AACA;;;;AAEA;;;;AACA;;;;AACA;;;;;;AAEA,IAAIj5B,eAAJ;AACA,IAAM4sC,+BAAQ,EAAR,CAAN;;AAEA,IAAMC,4CAAqBhzC,eAAKwD,MAAL,CAAY;AACnCvD,cADmC,wBACtB;AAAA;;AACT,aAAK+I,QAAL,CAAc,KAAK2B,UAAnB,EAA+B,OAA/B,EAAwC,KAAK1G,MAA7C;AACH,KAHkC;AAKnCA,UALmC,oBAK1B;AAAA;;AACL,aAAKC,GAAL,CAASC,IAAT,CAAc,kCAAa;AACvB4pC,mBAAO,KAAKpjC,UAAL,CAAgBtG,MAAhB,EADgB;AAEvB0uC,wBAFuB;AAGvBE,qBAAS,KAAKtoC,UAAL,CAAgBmgB;AAHF,SAAb,CAAd;AADK;AAML,eAAO,IAAP;AACH;AAZkC,CAAZ,CAArB,CAAN;;AAeA,IAAMooB,4CAAqBlzC,eAAKwD,MAAL,CAAY;AACnC3D,YAAQ;AACJ,oCAA4B,SADxB;AAEJ,uBAAe,cAFX;AAGJ,yBAAiB;AAHb,KAD2B;;AAOnCI,cAPmC,wBAOtB;AAAA;;AAAA;;AACT,aAAK0K,UAAL,GAAkB,IAAIwoC,wBAAJ,EAAlB;AACA;AAFS;AAGT,aAAKxoC,UAAL,CAAgByoC,UAAhB,GAA6B,IAA7B;;AAEA;AALS;AAMT,aAAKC,MAAL,GAAc,IAAIC,mBAAS3vC,KAAb,CAAmB;AAC7B6/B,uBAAW,EADkB;AAE7B+P,qBAAS;AAFoB,SAAnB,CAAd;;AAKA;AACA;AAZS;AAaT,aAAKC,UAAL,GAAkB,EAAlB;AAbS;AAcT,aAAK7oC,UAAL,CAAgBmgB,QAAhB,GAA2B,KAA3B;;AAdS;AAgBT,aAAKnG,MAAL,GAAc,IAAIytB,wBAAJ,EAAd;AAhBS;AAiBT,aAAKztB,MAAL,CAAY8uB,SAAZ,GAAwB,OAAxB;AAjBS;AAkBT,aAAK9uB,MAAL,CAAY+uB,SAAZ,GAAwB,CAAxB;AAlBS;AAmBT,aAAKC,eAAL,GAAuB,KAAvB;AAnBS;AAoBT,aAAKhvB,MAAL,CAAYpU,KAAZ,GAAoB0C,IAApB,CAAyB,YAAM;AAAA;AAAA;;AAC3B,kBAAK0gC,eAAL,GAAuB,IAAvB;AAD2B;AAE3B,kBAAKC,YAAL;AAF2B;AAG3B,kBAAK3vC,MAAL;AACH,SAJD;AApBS;AAyBT,aAAK+E,QAAL,CAAc,KAAKqqC,MAAnB,EAA2B,QAA3B,EAAqC,KAAKQ,iBAA1C;AACH,KAjCkC;AAmCnC5vC,UAnCmC,oBAmC1B;AAAA;;AACL,YAAI,CAAC,KAAK0vC,eAAV,EAA2B;AAAA;AAAA;;AACvB,mBAAO,IAAP;AACH,SAFD;AAAA;AAAA;AADK;AAIL,aAAKzvC,GAAL,CAASC,IAAT,CAAc,kCAAS;AACnBq/B,uBAAW,KAAK6P,MAAL,CAAY7uC,GAAZ,CAAgB,WAAhB,CADQ;AAEnB+uC,qBAAS,KAAKF,MAAL,CAAY7uC,GAAZ,CAAgB,SAAhB,CAFU;AAGnB2gB,mBAAO,KAAKR;AAHO,SAAT,CAAd,EAII5jB,WAJJ,CAIgB,IAJhB;AAJK;AASL,aAAKmD,GAAL,CAASgD,OAAT;;AATK;AAWL,YAAI8rC,kBAAJ,CAAuB;AACnBpuC,wBAAY,IADO;AAEnB+F,wBAAY,KAAKA,UAFE;AAGnBpG,gBAAI,KAAK5F,CAAL,CAAO,oCAAP;AAHe,SAAvB,EAIGsF,MAJH;AAXK;AAgBL,eAAO,IAAP;AACH,KApDkC;AAsDnC2vC,gBAtDmC,0BAsDpB;AAAA;;AACX,YAAM1uC,+BAAO,KAAKsuC,UAAZ,CAAN;AACA,YAAIzF,cAAJ;;AAFW;AAIX,YAAI,2BAAC,KAAKyF,UAAN,+BAAoB,KAAK7oC,UAAL,CAAgBmgB,QAApC,CAAJ,EAAkD;AAAA;AAAA;;AAC9C;AACH,SAFD;AAAA;AAAA;AAJW;AAOX,aAAKngB,UAAL,CAAgBmgB,QAAhB,GAA2B,IAA3B;AAPW;AAQX,eAAO,KAAK0oB,UAAZ;;AARW;AAUXtuC,aAAKuL,KAAL,GAAa,EAAb;AAVW;AAWX,+BAAY;AACRlP,iBAAK,mBADG;AAER2D;AAFQ,SAAZ,EAGG1D,IAHH,CAGQ,UAACsyC,MAAD,EAAY;AAAA;AAAA;;AAChB/F,oBAAQ+F,MAAR;AACA,gBAAMC,mCAAWt0C,qBAAEqW,GAAF,CAAMi4B,KAAN,EAAa,UAACnlB,IAAD,EAAU;AAAA;AAAA;;AACpC,uBAAO,OAAKorB,gBAAL,CAAsBprB,IAAtB,CAAP;AACH,aAFgB,CAAX,CAAN;AAFgB;AAKhB,mBAAOjqB,iBAAE6S,IAAF,4CAAUuiC,QAAV,EAAP;AACH,SATD,EASG9gC,IATH,CASQ,YAAM;AAAA;AAAA;;AACV,mBAAKtI,UAAL,CAAgBmgB,QAAhB,GAA2B,KAA3B;AADU;AAEV,mBAAKngB,UAAL,CAAgB4M,KAAhB,CAAsBw2B,KAAtB;AAFU;AAGV,mBAAK6F,YAAL;AACH,SAbD;AAcH,KA/EkC;AAiFnCC,qBAjFmC,+BAiFf;AAChB,YAAMrQ,oCAAY,KAAK6P,MAAL,CAAY7uC,GAAZ,CAAgB,WAAhB,CAAZ,CAAN;AACA,YAAM+uC,kCAAU,KAAKF,MAAL,CAAY7uC,GAAZ,CAAgB,SAAhB,CAAV,CAAN;AAFgB;AAGhB,aAAKgvC,UAAL,GAAkB,EAAlB;;AAHgB;AAKhB,YAAIhQ,SAAJ,EAAe;AAAA;AAAA;;AACX,iBAAKgQ,UAAL,CAAgBhQ,SAAhB,GAA4BA,SAA5B;AACH,SAFD;AAAA;AAAA;AALgB;AAQhB,YAAI+P,OAAJ,EAAa;AAAA;AAAA;;AACT,iBAAKC,UAAL,CAAgBS,SAAhB,GAA4BV,OAA5B;AACH,SAFD;AAAA;AAAA;;AARgB;AAYhB,aAAKK,YAAL;AACH,KA9FkC;AAgGnCM,gBAhGmC,0BAgGpB;AAAA;;AACX,aAAKb,MAAL,CAAYrtC,GAAZ,CAAgB;AACZutC,qBAAS,KAAK50C,CAAL,CAAO,uBAAP,EAAgC0G,GAAhC,EADG;AAEZm+B,uBAAW,CAAC,+BAAK7kC,CAAL,CAAO,eAAP,EAAwB0G,GAAxB,iCAAiC,EAAjC,CAAD,EAAsC0B,IAAtC;AAFC,SAAhB;AAIH,KArGkC;AAuGnC8tB,WAvGmC,mBAuG3Bt0B,GAvG2B,EAuGtB;AACT,YAAM0M,6BAAK,KAAKtO,CAAL,CAAO4B,IAAIijB,aAAX,EAA0Bte,IAA1B,CAA+B,IAA/B,CAAL,CAAN;AADS;AAETrH,yBAAOG,QAAP,CAAgB,QAAhB,EAA0B,IAA1B,EAAgC,EAAC8B,SAAS,KAAV,EAAhC;AAFS;AAGTjC,yBAAOG,QAAP,CAAgB,QAAhB,EAA0B,IAA1B,EAAgC,EAAC8B,SAAS,KAAV,EAAhC;AAHS;AAITjC,yBAAOG,QAAP,CAAgB,OAAhB,EAAyBiP,EAAzB,EAA6B,EAACnN,SAAS,IAAV,EAA7B;AAJS;AAKT,aAAKoE,GAAL,CAAStD,KAAT,CAAe,MAAf;AACH,KA7GkC;AA+GnCozC,oBA/GmC,4BA+GlBprB,IA/GkB,EA+GZ;AAAA;;AACnB,YAAInpB,qBAAEG,GAAF,CAAMmzC,KAAN,EAAanqB,KAAKpgB,GAAlB,CAAJ,EAA4B;AAAA;AAAA;;AACxB,mBAAO7J,iBAAE+C,QAAF,GAAaC,OAAb,CAAqBoxC,MAAMnqB,KAAKpgB,GAAX,CAArB,EAAsC+I,OAAtC,EAAP;AACH,SAFD;AAAA;AAAA;;AADmB;AAKnB,eAAO,uBAAY;AACfhQ,+BAAiBqnB,KAAKpgB,GAAtB,UADe;AAEftD,kBAAM;AACF5D,sBAAM;AADJ;AAFS,SAAZ,EAKJ2R,IALI,CAKC,UAACd,IAAD,EAAU;AAAA;AAAA;;AACd4gC,kBAAMnqB,KAAKpgB,GAAX,IAAkB2J,IAAlB;AACH,SAPM,CAAP;AAQH;AA5HkC,CAAZ,CAArB,CAAN;;AA+HA,SAASgiC,YAAT,GAAwB;AAAA;AAAA;;AACpB,WAAO,IAAIjB,kBAAJ,CAAuB;AAC1BtuC,oBAAY;AADc,KAAvB,CAAP;AAGH;;;AAED/E,iBAAOS,EAAP,CAAU,wBAAV,EAAoC,YAAY;AAAA;AAAA;;AAC5C,QAAI,CAAC6F,MAAL,EAAa;AAAA;AAAA;;AACTA,iBAASguC,cAAT;AACH,KAFD;AAAA;AAAA;AAD4C;AAI5ChuC,WAAOG,UAAP,CAAkB,sBAAE,qBAAF,CAAlB,EAA4CrC,MAA5C;AACH,CALD;;kBAOekwC,Y;;;;;;;;;AC/Kf,IAAIjV,MAAMC,mBAAOA,CAAC,CAAR,CAAV;;AAEA,SAASC,QAAT,CAAkBC,MAAlB,EAA0B;AAAC,MAAIC,WAAW,EAAf;AAAA,MAAmBC,aAAa,EAAhC;AAAA,MAAoCC,UAApC,CAA+C,IAAIC,kBAAJ,EAAwBC,cAAxB,CAAuC,IAAI;AAAC,QAAIC,oBAAoB,EAAC,2GAA4J,sgBAA7J,EAAxB;AACtH,KAAC,IAAIC,kBAAmBP,UAAU,EAAjC,CAAsC,WAAU4T,OAAV,EAAmBlF,KAAnB,EAA0BgF,KAA1B,EAAiC;AAAC,OAACrT,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AAC7F,UAAI,CAACsO,MAAMlvC,MAAX,EAAmB;AACnB,SAAC6gC,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpB,YAAIwT,OAAJ,EAAa;AACb,WAACvT,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpBH,qBAAWA,WAAW,KAAtB;AACA,WAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpBH,qBAAWA,WAAW,wCAAtB;AACC,SALD,MAMK;AACL,WAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpBH,qBAAWA,WAAW,KAAtB;AACA,WAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpBH,qBAAWA,WAAW,4CAAtB;AACC;AACA,OAdD,MAeK;AACL,SAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpBH,mBAAWA,WAAW,4BAAtB;AACA,SAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpB;AACA,SAAC,CAAC,YAAU;AACV,cAAIO,QAAQ+N,KAAZ;AACA,cAAI,YAAY,OAAO/N,MAAMnhC,MAA7B,EAAqC;AACjC,iBAAK,IAAIohC,aAAa,CAAjB,EAAoBC,MAAMF,MAAMnhC,MAArC,EAA6CohC,aAAaC,GAA1D,EAA+DD,YAA/D,EAA6E;AAC3E,kBAAIrX,OAAOoX,MAAMC,UAAN,CAAX;AACR,eAACP,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpBH,yBAAWA,WAAW,IAAX,IAAwB,iDAA+CJ,IAAIrjB,IAAJ,CAAS,SAAT,EAAoB+M,KAAKpgB,GAAzB,EAA8B,IAA9B,EAAoC,IAApC,CAA/C,GAAyF,0BAAzF,GAAoH02B,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBk3B,MAAMnqB,KAAKpgB,GAAX,CAAlB,EAAmC,IAAnC,EAAyC,IAAzC,CAA5I,IAA8L,GAAzM;AACA,eAACk3B,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,yBAAWA,WAAW,uBAAtB;AACA,eAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,yBAAWA,WAAW,yCAAtB;AACA,eAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,yBAAWA,WAAW,MAAX,GAA0BJ,IAAIrjB,IAAJ,CAAS,KAAT,mBAA+B+M,KAAKpgB,GAApC,0CAA8E,IAA9E,EAAoF,IAApF,CAA1B,GAAuH,SAAlI;AACA,eAACk3B,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,yBAAWA,WAAW,4BAAtB;AACA,eAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,yBAAWA,WAAW,8BAAtB;AACA,eAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,yBAAWA,WAAYJ,IAAImB,MAAJ,CAAW,SAASb,aAAa5W,KAAK3qB,IAA3B,IAAmC,EAAnC,GAAwCuhC,UAAnD,CAAZ,GAA8E,OAAzF;AACA,eAACE,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,yBAAWA,WAAW,KAAtB;AACA,eAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,yBAAWA,WAAYJ,IAAImB,MAAJ,CAAW,SAASb,aAAa5W,KAAKiI,WAA3B,IAA0C,EAA1C,GAA+C2O,UAA1D,CAAZ,GAAqF,sBAAhG;AACO;AACJ,WAtBD,MAsBO;AACL,gBAAIU,MAAM,CAAV;AACA,iBAAK,IAAID,UAAT,IAAuBD,KAAvB,EAA8B;AAC5BE;AACA,kBAAItX,OAAOoX,MAAMC,UAAN,CAAX;AACN,eAACP,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpBH,yBAAWA,WAAW,IAAX,IAAwB,iDAA+CJ,IAAIrjB,IAAJ,CAAS,SAAT,EAAoB+M,KAAKpgB,GAAzB,EAA8B,IAA9B,EAAoC,IAApC,CAA/C,GAAyF,0BAAzF,GAAoH02B,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBk3B,MAAMnqB,KAAKpgB,GAAX,CAAlB,EAAmC,IAAnC,EAAyC,IAAzC,CAA5I,IAA8L,GAAzM;AACA,eAACk3B,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,yBAAWA,WAAW,uBAAtB;AACA,eAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,yBAAWA,WAAW,yCAAtB;AACA,eAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,yBAAWA,WAAW,MAAX,GAA0BJ,IAAIrjB,IAAJ,CAAS,KAAT,mBAA+B+M,KAAKpgB,GAApC,0CAA8E,IAA9E,EAAoF,IAApF,CAA1B,GAAuH,SAAlI;AACA,eAACk3B,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,yBAAWA,WAAW,4BAAtB;AACA,eAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,yBAAWA,WAAW,8BAAtB;AACA,eAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,yBAAWA,WAAYJ,IAAImB,MAAJ,CAAW,SAASb,aAAa5W,KAAK3qB,IAA3B,IAAmC,EAAnC,GAAwCuhC,UAAnD,CAAZ,GAA8E,OAAzF;AACA,eAACE,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,yBAAWA,WAAW,KAAtB;AACA,eAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,yBAAWA,WAAYJ,IAAImB,MAAJ,CAAW,SAASb,aAAa5W,KAAKiI,WAA3B,IAA0C,EAA1C,GAA+C2O,UAA1D,CAAZ,GAAqF,sBAAhG;AACK;AACF;AACF,SAjDA,EAiDEv+B,IAjDF,CAiDO,IAjDP;;AAmDDq+B,mBAAWA,WAAW,QAAtB;AACC;AAAC,KAzEqC,EAyEpCr+B,IAzEoC,CAyE/B,IAzE+B,EAyE1B,aAAa2+B,eAAb,GAA6BA,gBAAgBqT,OAA7C,GAAqD,OAAOA,OAAP,KAAiB,WAAjB,GAA6BA,OAA7B,GAAqCx0C,SAzEhE,EAyE0E,WAAWmhC,eAAX,GAA2BA,gBAAgBmO,KAA3C,GAAiD,OAAOA,KAAP,KAAe,WAAf,GAA2BA,KAA3B,GAAiCtvC,SAzE5J,EAyEsK,WAAWmhC,eAAX,GAA2BA,gBAAgBmT,KAA3C,GAAiD,OAAOA,KAAP,KAAe,WAAf,GAA2BA,KAA3B,GAAiCt0C,SAzExP,CAAD;AAyEsQ,GA1E3L,CA0E4L,OAAOg+B,GAAP,EAAY;AAACyC,QAAIoB,OAAJ,CAAY7D,GAAZ,EAAiBgD,kBAAjB,EAAqCC,cAArC,EAAqDC,kBAAkBF,kBAAlB,CAArD;AAA6F,IAAC,OAAOH,QAAP;AAAiB;AACzaiB,OAAOC,OAAP,GAAiBpB,QAAjB,C;;;;;;;;;AC7EA,IAAIF,MAAMC,mBAAOA,CAAC,CAAR,CAAV;;AAEA,SAASC,QAAT,CAAkBC,MAAlB,EAA0B;AAAC,MAAIC,WAAW,EAAf;AAAA,MAAmBC,aAAa,EAAhC;AAAA,MAAoCC,UAApC,CAA+C,IAAIC,kBAAJ,EAAwBC,cAAxB,CAAuC,IAAI;AAAC,QAAIC,oBAAoB,EAAC,2GAA4J,41BAA7J,EAAxB;AACtH,KAAC,IAAIC,kBAAmBP,UAAU,EAAjC,CAAsC,WAAUkU,OAAV,EAAmB/P,SAAnB,EAA8Bre,KAA9B,EAAqC;AAAC,OAACua,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACjGH,iBAAWA,WAAW,gDAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpBH,iBAAWA,WAAW,6DAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpBH,iBAAWA,WAAW,8BAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpBH,iBAAWA,WAAW,sFAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpBH,iBAAWA,WAAW,6BAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpBH,iBAAWA,WAAW,yBAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpBH,iBAAWA,WAAW,sDAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpBH,iBAAWA,WAAW,8BAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,yGAArB;AACpBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,iBAAWA,WAAW,8BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,iBAAWA,WAAW,oBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,4BAA0B,oCAA1B,GAA+DJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkB2nB,SAAlB,EAA6B,IAA7B,EAAmC,IAAnC,CAA3F,IAAuI,SAAlJ;AACA,OAAC9D,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,iBAAWA,WAAW,sCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,iBAAWA,WAAW,iBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,iBAAWA,WAAW,2EAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,iBAAWA,WAAW,SAAX,IAA6B,gBAAcJ,IAAIrjB,IAAJ,CAAS,UAAT,EAAqB,CAAC03B,OAAtB,EAA+B,IAA/B,EAAqC,IAArC,CAA3C,IAAyF,GAApG;AACA,OAAC7T,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,iBAAWA,WAAW,mBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrB;AACA,OAAC,CAAC,YAAU;AACV,YAAIO,QAAQ7a,MAAMzT,MAAlB;AACA,YAAI,YAAY,OAAOsuB,MAAMnhC,MAA7B,EAAqC;AACjC,eAAK,IAAIohC,aAAa,CAAjB,EAAoBC,MAAMF,MAAMnhC,MAArC,EAA6CohC,aAAaC,GAA1D,EAA+DD,YAA/D,EAA6E;AAC3E,gBAAIx4B,OAAOu4B,MAAMC,UAAN,CAAX;AACR,aAACP,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,uBAAWA,WAAW,SAAX,IAA6BJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBpU,KAAKwF,EAAvB,EAA2B,IAA3B,EAAiC,IAAjC,IAAuCiyB,IAAIrjB,IAAJ,CAAS,UAAT,EAAqB03B,YAAY9rC,KAAKwF,EAAtC,EAA0C,IAA1C,EAAgD,IAAhD,CAApE,IAA6H,GAAxI;AACA,aAACyyB,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,uBAAWA,WAAYJ,IAAImB,MAAJ,CAAW,SAASb,aAAa/3B,KAAKjD,GAAL,CAAS,OAAT,CAAtB,IAA2C,EAA3C,GAAgDg7B,UAA3D,CAAZ,GAAsF,WAAjG;AACO;AACJ,SARD,MAQO;AACL,cAAIU,MAAM,CAAV;AACA,eAAK,IAAID,UAAT,IAAuBD,KAAvB,EAA8B;AAC5BE;AACA,gBAAIz4B,OAAOu4B,MAAMC,UAAN,CAAX;AACN,aAACP,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,uBAAWA,WAAW,SAAX,IAA6BJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBpU,KAAKwF,EAAvB,EAA2B,IAA3B,EAAiC,IAAjC,IAAuCiyB,IAAIrjB,IAAJ,CAAS,UAAT,EAAqB03B,YAAY9rC,KAAKwF,EAAtC,EAA0C,IAA1C,EAAgD,IAAhD,CAApE,IAA6H,GAAxI;AACA,aAACyyB,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,uBAAWA,WAAYJ,IAAImB,MAAJ,CAAW,SAASb,aAAa/3B,KAAKjD,GAAL,CAAS,OAAT,CAAtB,IAA2C,EAA3C,GAAgDg7B,UAA3D,CAAZ,GAAsF,WAAjG;AACK;AACF;AACF,OArBA,EAqBEv+B,IArBF,CAqBO,IArBP;;AAuBDq+B,iBAAWA,WAAW,wBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,iBAAWA,WAAW,MAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,yGAArB;AACrBH,iBAAWA,WAAW,2EAAtB;AAAyK,KArElI,EAqEmIr+B,IArEnI,CAqEwI,IArExI,EAqE6I,aAAa2+B,eAAb,GAA6BA,gBAAgB2T,OAA7C,GAAqD,OAAOA,OAAP,KAAiB,WAAjB,GAA6BA,OAA7B,GAAqC90C,SArEvO,EAqEiP,eAAemhC,eAAf,GAA+BA,gBAAgB4D,SAA/C,GAAyD,OAAOA,SAAP,KAAmB,WAAnB,GAA+BA,SAA/B,GAAyC/kC,SArEnV,EAqE6V,WAAWmhC,eAAX,GAA2BA,gBAAgBza,KAA3C,GAAiD,OAAOA,KAAP,KAAe,WAAf,GAA2BA,KAA3B,GAAiC1mB,SArE/a,CAAD;AAqE6b,GAtElX,CAsEmX,OAAOg+B,GAAP,EAAY;AAACyC,QAAIoB,OAAJ,CAAY7D,GAAZ,EAAiBgD,kBAAjB,EAAqCC,cAArC,EAAqDC,kBAAkBF,kBAAlB,CAArD;AAA6F,IAAC,OAAOH,QAAP;AAAiB;AAChmBiB,OAAOC,OAAP,GAAiBpB,QAAjB,C;;;;;;ACzEA,yC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;AAEA;;;;AACA;;;;AACA;;;;AAEA;;;;AACA;;;;;;AAEA,IAAIj5B,MAAJ;;AAEA,SAASguC,YAAT,CAAsBvrB,IAAtB,EAA4BwrB,UAA5B,EAAwC;AAAA;;AACpC,QAAIC,gCAAS,IAAIlT,uBAAJ,CAAkB;AAC3Bv8B,oBAAY,IADe;AAE3Bw8B,mBAAW,mBAFgB;AAG3BC,oBAAY,MAHe;AAI3BiT,mBAAW,IAJgB;AAK3BC,oBAAY,IALe;AAM3BttC,kBAAU,gCANiB;AAO3BuiB,cAAM4qB,UAPqB;AAQ3BI,8BAAsB;AAClBd,uBAAW,CADO;AAElBe,8BAAkBL;AAFA,SARK;AAY3B9S,kBAAU,kBAAU1Y,IAAV,EAAgB;AAAA;AAAA;;AACtB,gBAAI,CAACA,KAAKhpB,GAAL,CAAS,YAAT,CAAL,EAA6B;AAAA;AAAA;;AACzB,uBAAOjB,iBAAE+C,QAAF,GAAaiU,MAAb,CAAoB,qCAApB,EAA2DpE,OAA3D,EAAP;AACH,aAFD;AAAA;AAAA;AADsB;AAItB,mBAAO5S,iBAAE+C,QAAF,GAAaC,OAAb,GAAuB4P,OAAvB,EAAP;AACH,SAjB0B;AAkB3BmjC,uBAAe,IAlBY;AAmB3BC,mBAAW,IAnBgB;AAoB3BC,iCAAyBhsB;AApBE,KAAlB,CAAT,CAAJ;AADoC;AAuBpCyrB,WAAO/zC,EAAP,CAAU,SAAV,EAAqB,UAACmD,KAAD,EAAW;AAAA;AAAA;;AAC5B,YAAI,CAACA,KAAL,EAAY;AAAA;AAAA;;AACR;AACH,SAFD;AAAA;AAAA;AAGA,YAAIgQ,kCAAW,IAAX,CAAJ;AAJ4B;AAK5B,YAAI,iCAAO+V,IAAP,+BAAe6qB,OAAO7qB,IAAP,CAAYjJ,UAAZ,CAAuBs0B,SAAtC,CAAJ,EAAqD;AAAA;AAAA;;AACjD;AACAphC,uBAAW4gC,OAAO7qB,IAAP,CAAYvc,EAAvB;AACH,SAHD;AAAA;AAAA;AAIA;AAT4B;AAU5BpP,yBAAOG,QAAP,CAAgB,QAAhB,EAA0B,IAA1B,EAAgC,EAAC8B,SAAS,KAAV,EAAhC;AAV4B;AAW5BjC,yBAAOG,QAAP,CAAgB,QAAhB,EAA0ByV,QAA1B,EAAoC,EAAC3T,SAAS,KAAV,EAApC;AAX4B;AAY5BjC,yBAAOG,QAAP,CAAgB,OAAhB,EAAyByF,MAAMwJ,EAA/B,EAAmC,EAACnN,SAAS,IAAV,EAAnC;AAZ4B;AAa5B,8BAAE,QAAF,EAAYiB,WAAZ,CAAwB,OAAxB;AACH,KAdD;AAvBoC;AAsCpC,WAAOszC,MAAP;AACH;;;AAEDx0C,iBAAOS,EAAP,CAAU,eAAV,EAA2B,YAAY;AAAA;;AACnC,QAAIiN,iCAAS1P,iBAAOoB,QAAP,CAAgB,OAAhB,CAAT,CAAJ;AADmC;AAEnC,QAAIsO,MAAJ,EAAY;AAAA;;AACR,YAAIqb,+BAAO,IAAI7f,mBAAJ,EAAP,CAAJ;AADQ;AAER6f,aAAK5iB,GAAL,CAAS,EAACwC,KAAK3K,iBAAOoB,QAAP,CAAgB,OAAhB,CAAN,EAAT,EAA0CiX,IAA1C,CAA+C,WAA/C,EAA4D,YAAM;AAAA;AAAA;;AAC9D,gBAAIrY,iBAAOoB,QAAP,CAAgB,QAAhB,CAAJ,EAA+B;AAAA;;AAC3B,oBAAIiU,iCAAS,IAAI4hC,qBAAJ,EAAT,CAAJ;AACA,oBAAIrhC,mCAAW5V,iBAAOoB,QAAP,CAAgB,QAAhB,CAAX,CAAJ;AAF2B;AAG3BiU,uBAAOlN,GAAP,CAAW,EAACwC,KAAKiL,QAAN,EAAX,EAA4ByC,IAA5B,CAAiC,WAAjC,EAA8C,YAAM;AAAA;AAAA;;AAChD/P,6BAASguC,aAAavrB,IAAb,EAAmB1V,MAAnB,CAAT;AADgD;AAEhD/M,2BAAOG,UAAP,CAAkB,sBAAE,qBAAF,CAAlB,EAA4CrC,MAA5C;AACH,iBAHD,EAGGsM,KAHH;AAIH,aAPD,MAOO;AAAA;AAAA;;AACHpK,yBAASguC,aAAavrB,IAAb,CAAT;AADG;AAEHziB,uBAAOG,UAAP,CAAkB,sBAAE,qBAAF,CAAlB,EAA4CrC,MAA5C;AACH;AACJ,SAZD,EAYGsM,KAZH;AAaH,KAfD,MAeO;AAAA;AAAA;;AACH,YAAI,CAACpK,MAAL,EAAa;AAAA;AAAA;;AACTA,qBAASguC,cAAT;AACH,SAFD;AAAA;AAAA;AADG;AAIHhuC,eAAOG,UAAP,CAAkB,sBAAE,qBAAF,CAAlB,EAA4CrC,MAA5C;AACH;AACJ,CAvBD,E;;;;;;ACpDA,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;QAGIP,U,GAAAA,oB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHJ;;;;AACA;;;;;;QAGIgH,kB,GAAAA,4B;QACAqR,U,GAAAA,oB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLJ;;;;AACA;;IAAYiF,M;;AACZ;;IAAY+zB,I;;AACZ;;IAAYlqC,O;;;;;;QAGR7K,I,GAAAA,c;QACA+0C,I,GAAAA,I;QACA/zB,M,GAAAA,M;QACAnW,O,GAAAA,O;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTJ;;;;AACA;;;;;;QAGItE,U,GAAAA,oB;QACAc,c,GAAAA,wB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLJ;;;;AACA;;;;;;QAGIK,S,GAAAA,mB;QACA+4B,U,GAAAA,oB;;;;;;ACLJ,8C;;;;;;;;;ACAA,IAAIvB,MAAMC,mBAAOA,CAAC,CAAR,CAAV;;AAEA,SAASC,QAAT,CAAkBC,MAAlB,EAA0B;AAAC,MAAIC,WAAW,EAAf;AAAA,MAAmBC,aAAa,EAAhC;AAAA,MAAoCC,UAApC,CAA+C,IAAIC,kBAAJ,EAAwBC,cAAxB,CAAuC,IAAI;AAAC,QAAIC,oBAAoB,EAAC,gGAAiJ,uqLAAlJ,EAAxB;AACtH,KAAC,IAAIC,kBAAmBP,UAAU,EAAjC,CAAsC,WAAUz7B,QAAV,EAAoB6C,QAApB,EAA8B;AAAC,OAACi5B,iBAAiB,CAAjB,CAAmBD,qBAAqB,8FAArB;AAC1FH,iBAAWA,WAAW,qDAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,8FAArB;AACpBH,iBAAWA,WAAW,iCAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,8FAArB;AACpBH,iBAAWA,WAAW,wDAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,8FAArB;AACpBH,iBAAWA,WAAW,wCAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,8FAArB;AACpBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,8FAArB;AACpBH,iBAAWA,WAAW,oCAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,8FAArB;AACpBH,iBAAWA,WAAW,mBAAtB;AACA,OAACI,iBAAiB,CAAjB,CAAmBD,qBAAqB,8FAArB;AACpBH,iBAAWA,WAAW,QAAX,IAA4B,qCAAmC,0CAAnC,GAA8EJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBpV,SAAS,0BAAT,KAAwC,EAA1D,EAA8D,IAA9D,EAAoE,IAApE,CAA9E,GAAwJy4B,IAAIrjB,IAAJ,CAAS,aAAT,iBAAoCjY,SAAS,0BAAT,KAAwC,WAA5E,GAA2F,IAA3F,EAAiG,IAAjG,CAAxJ,GAA+P,iDAA3R,IAAgV,SAA3V;AACA,OAAC87B,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,kCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,oBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,qCAAmC,wCAAnC,GAA4EJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBpV,SAAS,wBAAT,KAAsC,EAAxD,EAA4D,IAA5D,EAAkE,IAAlE,CAA5E,GAAoJy4B,IAAIrjB,IAAJ,CAAS,aAAT,iBAAoCjY,SAAS,wBAAT,KAAsC,MAA1E,GAAoF,IAApF,EAA0F,IAA1F,CAApJ,GAAoP,+CAAhR,IAAmU,SAA9U;AACA,OAAC87B,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,mCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,qBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,0CAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,qCAAmC,0CAAnC,GAA8EJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBpV,SAAS,yBAAT,KAAuC7C,SAAS,yBAAT,CAAzD,EAA8F,IAA9F,EAAoG,IAApG,CAA9E,GAAwL,qDAApN,IAA6Q,GAAxR;AACA,OAAC87B,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,mHAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,8BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,oCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,sBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,2CAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,qCAAmC,2CAAnC,GAA+EJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBpV,SAAS,0BAAT,KAAwC7C,SAAS,0BAAT,CAA1D,EAAgG,IAAhG,EAAsG,IAAtG,CAA/E,GAA2L,iDAAvN,IAA4Q,GAAvR;AACA,OAAC87B,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,oHAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,8BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,gCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,kBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,uCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,qCAAmC,sCAAnC,GAA0EJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBpV,SAAS,sBAAT,CAAlB,EAAoD,IAApD,EAA0D,IAA1D,CAA1E,GAA0I,uNAAtK,IAAiY,GAA5Y;AACA,OAACi5B,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,8GAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,8BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,iCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,mBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,wCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,qCAAmC,uCAAnC,GAA2EJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBpV,SAAS,uBAAT,CAAlB,EAAqD,IAArD,EAA2D,IAA3D,CAA3E,GAA4I,gIAAxK,IAA4S,GAAvT;AACA,OAACi5B,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,gHAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,8BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,oCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,sBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,2CAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,qCAAmC,0CAAnC,GAA8EJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBpV,SAAS,0BAAT,CAAlB,EAAwD,IAAxD,EAA8D,IAA9D,CAA9E,GAAkJ,sIAA9K,IAAwT,GAAnU;AACA,OAACi5B,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,sHAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,8BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,SAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,gDAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,qCAAmC,iDAAnC,GAAqFJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBpV,SAAS,iCAAT,CAAlB,EAA+D,IAA/D,EAAqE,IAArE,CAArF,GAAgK,8HAA5L,IAA8T,SAAzU;AACA,OAACi5B,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,SAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,sBAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,qCAAmC,0CAAnC,GAA8EJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBpV,SAAS,0BAAT,CAAlB,EAAwD,IAAxD,EAA8D,IAA9D,CAA9E,GAAkJ,+QAA9K,IAAic,SAA5c;AACA,OAACi5B,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,yCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,2BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,iCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,0RAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,4CAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,qCAAmC,+CAAnC,GAAmFJ,IAAIrjB,IAAJ,CAAS,OAAT,EAAkBpV,SAAS,+BAAT,KAA6C,EAA/D,EAAmE,IAAnE,EAAyE,IAAzE,CAAnF,GAAkK,iDAA9L,IAAmP,GAA9P;AACA,OAACi5B,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,iCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,mEAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,+DAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,4BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,SAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,4CAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,uCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,yGAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,iEAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,gCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,mDAAiD,gEAAjD,GAAkHJ,IAAIrjB,IAAJ,CAAS,SAAT,EAAoBpV,SAAS,6CAAT,MAA4D,IAA5D,GAAmE,SAAnE,GAA8EhI,SAAlG,EAA6G,IAA7G,EAAmH,IAAnH,CAA9I,IAA0Q,GAArR;AACA,OAACihC,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,4CAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,gCAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,QAAX,IAA4B,qDAAmD,gEAAnD,GAAoHJ,IAAIrjB,IAAJ,CAAS,SAAT,EAAoBpV,SAAS,6CAAT,MAA4D,IAA5D,GAAmEhI,SAAnE,GAA+E,SAAnG,EAA8G,IAA9G,EAAoH,IAApH,CAAhJ,IAA6Q,GAAxR;AACA,OAACihC,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,0DAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,iFAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,+BAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,6DAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,eAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,+DAAtB;AACA,OAACI,iBAAiB,EAAjB,CAAoBD,qBAAqB,8FAArB;AACrBH,iBAAWA,WAAW,uBAAtB;AAA6E,KArKtC,EAqKuCr+B,IArKvC,CAqK4C,IArK5C,EAqKiD,cAAc2+B,eAAd,GAA8BA,gBAAgBh8B,QAA9C,GAAuD,OAAOA,QAAP,KAAkB,WAAlB,GAA8BA,QAA9B,GAAuCnF,SArK/I,EAqKyJ,cAAcmhC,eAAd,GAA8BA,gBAAgBn5B,QAA9C,GAAuD,OAAOA,QAAP,KAAkB,WAAlB,GAA8BA,QAA9B,GAAuChI,SArKvP,CAAD;AAqKqQ,GAtK1L,CAsK2L,OAAOg+B,GAAP,EAAY;AAACyC,QAAIoB,OAAJ,CAAY7D,GAAZ,EAAiBgD,kBAAjB,EAAqCC,cAArC,EAAqDC,kBAAkBF,kBAAlB,CAArD;AAA6F,IAAC,OAAOH,QAAP;AAAiB;AACxaiB,OAAOC,OAAP,GAAiBpB,QAAjB,C;;;;;;ACzKA,yC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;AACA;;;;;;QAGIp0B,qB,GAAAA,+B;QACAF,iB,GAAAA,2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLJ;;;;AAEA;;AACA;;AACA;;AACA;;;;AACA;;;;AAEA;;AAEA;;;;;;;AAEA,uBAAKkqC,wBAAL,EAAqB,QAArB,EAA+B,UAAU/wC,MAAV,EAAkB;AAAA;;AAAA;;AAC7C,QAAMulB,+BAAO,IAAP,CAAN;;AAD6C;AAG7CvlB,WAAOhD,IAAP,CAAY,IAAZ;;AAEA,aAASg0C,UAAT,CAAoBxuC,QAApB,EAA8B;AAAA;AAAA;;AAC1B,YAAI,4BAACA,QAAD,gCAAa,CAACA,SAAS,+BAAT,CAAd,CAAJ,EAA6D;AAAA;AAAA;;AACzD;AACH,SAFD;AAAA;AAAA;AAD0B;AAI1B,aAAK,IAAIi3B,KAAK,CAAd,EAAiBA,KAAK,KAAK/yB,UAAL,CAAgB9L,MAAtC,EAA8C6+B,IAA9C,EAAoD;AAAA;;AAChD,gBAAI,CAAC,KAAKx5B,GAAL,CAASqP,IAAT,CAAc,0CAA0CmqB,EAA1C,GAA+C,qBAA7D,EAAoF7+B,MAAzF,EAAiG;AAAA;AAAA;;AAC7F,qBAAKqF,GAAL,CAASqP,IAAT,CAAc,0CAA0CmqB,EAA1C,GAA+C,qBAA7D,EAAoFL,KAApF,CACI,sBAAE,gDAAF,EAAoDxhB,IAApD,CAAyD;AACrD,kCAAc,KAAKlR,UAAL,CAAgB+G,MAAhB,CAAuBgsB,EAAvB,EAA2BwX,GADY;AAErDptB,2BAAO;AAF8C,iBAAzD,CADJ;AAMH,aAPD;AAAA;AAAA;AAQH;AACJ;;AAED,aAASqtB,UAAT,CAAoBvlC,KAApB,EAA2B;AAAA;;AACvB,YAAMlP,iCAAS,sBAAEkP,MAAM4T,aAAR,CAAT,CAAN;AACA,YAAM0xB,8BAAMx0C,OAAOmb,IAAP,CAAY,YAAZ,CAAN,CAAN;AACA,YAAM+M,gCAAOY,KAAK7e,UAAL,CAAgBnG,GAAhB,CAAoB0wC,GAApB,CAAP,CAAN;AAHuB;AAIvB,+BAAY;AACR5zC,kBAAM,KADE;AAERC,iBAAK,4BAA4BqnB,KAAK3b,EAF9B;AAGRwc,mBAAO;AAHC,SAAZ,EAIGxW,IAJH,CAIQ,UAACxR,IAAD,EAAU;AAAA;AAAA;;AACd5B,6BAAOC,OAAP,CAAe,SAAf,EAA0B;AACtB2qB,sBAAM,IADgB;AAEtB5kB,sBAAM,mBAFgB;AAGtBvE,sBAAM,SAHgB;AAItBkpB,yBAAS;AAJa,aAA1B;AADc;AAOdhB,iBAAK1pB,OAAL,CAAa,WAAb;AAPc;AAQd,gBAAI,gCAAK8E,UAAL,gCAAmB4kB,KAAK5kB,UAAL,CAAgBwwC,eAAnC,gCAAsD5rB,KAAK5kB,UAAL,CAAgBywC,WAAtE,CAAJ,EAAuF;AAAA;AAAA;;AACnF7rB,qBAAK5kB,UAAL,CAAgBwwC,eAAhB,CAAgC5rB,KAAK5kB,UAAL,CAAgBywC,WAAhD,EAA6D,EAACC,UAAU,KAAX,EAA7D;AACH,aAFD,MAEO;AAAA;AAAA;;AACH50C,uBAAOC,OAAP,CAAe,oBAAf,EAAqCgT,MAArC;AACH;AACJ,SAjBD,EAiBGiW,IAjBH,CAiBQ,UAACnoB,IAAD,EAAU;AAAA;AAAA;;AACd5B,6BAAOC,OAAP,CAAe,SAAf,EAA0B;AACtB2qB,sBAAM,QADgB;AAEtB5kB,sBAAM,4BAFgB;AAGtBvE,sBAAM,QAHgB;AAItBkpB,yBAAS;AAJa,aAA1B;AAMH,SAxBD;AAyBH;;AAlD4C;AAoD7CrpB,uBAAY4f,WAAZ,GAA0Bvf,IAA1B,CAA+B,UAACiF,QAAD,EAAc;AAAA;;AACzC,YAAME,qCAAa,oCAAS,wBAAT,iCAAsC,EAAtC,CAAb,CAAN;AACA,YAAM4uC,uCAAe,oCAAS,0BAAT,iCAAwC,EAAxC,CAAf,CAAN;AAFyC;AAGzC,YAAI,CAAC,MAAKrxC,GAAL,CAASvD,OAAT,CAAiB,eAAjB,EAAkC9B,MAAvC,EAA+C;AAAA;AAAA;;AAC3C,iBAAK,IAAI6+B,KAAK,CAAd,EAAiBA,KAAK,MAAK/yB,UAAL,CAAgB9L,MAAtC,EAA8C6+B,IAA9C,EAAoD;AAAA;;AAChD,oBAAI,4BAAC,MAAKx5B,GAAL,CAASqP,IAAT,CAAc,0CAA0CmqB,EAA1C,GAA+C,oBAA7D,EAAmF7+B,MAApF,gCAA8F,MAAK8L,UAAL,CAAgB+G,MAAhB,CAAuBgsB,EAAvB,EAA2Bnd,UAA3B,CAAsCjP,UAApI,CAAJ,EAAoJ;AAAA;AAAA;;AAChJ,0BAAKpN,GAAL,CAASqP,IAAT,CAAc,0CAA0CmqB,EAA1C,GAA+C,qBAA7D,EAAoFL,KAApF,gDACiD12B,SADjD,gBACqE4uC,WADrE,gBAC2F,MAAK5qC,UAAL,CAAgB+G,MAAhB,CAAuBgsB,EAAvB,EAA2BzwB,EADtH;AAGH,iBAJD;AAAA;AAAA;AAKH;AACJ,SARD;AAAA;AAAA;AAHyC;AAYzC,YAAI,MAAK8hB,WAAL,IAAoB1O,sBAAWC,KAAnC,EAA0C;AAAA;AAAA;;AACtC20B,uBAAWh0C,IAAX,CAAgB,KAAhB,EAAsBwF,QAAtB;AACH,SAFD;AAAA;AAAA;AAZyC;AAezC,eAAOA,QAAP;AACH,KAhBD;;AApD6C;AAsE7C,QAAI,KAAKsoB,WAAL,IAAoB1O,sBAAWC,KAAnC,EAA0C;AAAA;AAAA;;AACtC,aAAKzgB,MAAL,CAAY,yBAAZ,IAAyCs1C,UAAzC;AADsC;AAEtC,aAAKK,cAAL;AACH,KAHD;AAAA;AAAA;AAIH,CA1ED,E;;;;;;ACZA,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;AACA;;AACA;;;;AACA;;;;AAEA;;AAEA;;;;;;;AAEA,uBAAKC,kBAAL,EAAe,QAAf,EAAyB,UAAUxxC,MAAV,EAAkB;AAAA;;AACvC,aAASkxC,UAAT,CAAoBvlC,KAApB,EAA2B;AAAA;;AAAA;;AACvB,YAAMgZ,+BAAO,KAAKnlB,KAAZ,CAAN;AADuB;AAEvB,+BAAY;AACRnC,kBAAM,KADE;AAERC,iBAAK,4BAA4BqnB,KAAK3b,EAF9B;AAGRwc,mBAAO;AAHC,SAAZ,EAIGxW,IAJH,CAIQ,UAACxR,IAAD,EAAU;AAAA;AAAA;;AACd5B,6BAAOC,OAAP,CAAe,SAAf,EAA0B;AACtB2qB,sBAAM,IADgB;AAEtB5kB,sBAAM,mBAFgB;AAGtBvE,sBAAM,SAHgB;AAItBkpB,yBAAS;AAJa,aAA1B;AADc;AAOd,mBAAO,MAAK/mB,KAAL,CAAWiC,MAAlB;AAPc;AAQd,kBAAKjC,KAAL,CAAW8M,KAAX,CAAiB,EAACmlC,SAAS,mBAAM;AAAA;AAAA;AAAA,iCAAKzxC,MAAL;AAAa,iBAA7B,EAAjB;AACH,SAbD,EAaG2lB,IAbH,CAaQ,UAACnoB,IAAD,EAAU;AAAA;AAAA;;AACd5B,6BAAOC,OAAP,CAAe,SAAf,EAA0B;AACtB2qB,sBAAM,QADgB;AAEtB5kB,sBAAM,4BAFgB;AAGtBvE,sBAAM,QAHgB;AAItBkpB,yBAAS;AAJa,aAA1B;AAMH,SApBD;AAqBH;AAxBsC;AAyBvC,SAAKtU,IAAL,CAAU,YAAV,EAAwB,YAAY;AAAA;;AAAA;AAAA;;AAChC/U,2BAAY4f,WAAZ,GAA0Bvf,IAA1B,CAA+B,UAACiF,QAAD,EAAc;AAAA;;AACzC,gBAAME,qCAAa,oCAAS,wBAAT,iCAAsC,EAAtC,CAAb,CAAN;AACA,gBAAM4uC,uCAAe,oCAAS,0BAAT,iCAAwC,EAAxC,CAAf,CAAN;AAFyC;AAGzC,gBAAI,kCAAKrxC,GAAL,CAASqP,IAAT,CAAc,+BAAd,EAA+C1U,MAA/C,gCAAyD,CAAC,OAAKqF,GAAL,CAASqP,IAAT,CAAc,yCAAd,EAAyD1U,MAAnH,CAAJ,EAA+H;AAAA;AAAA;;AAC3H,uBAAKqF,GAAL,CAASqP,IAAT,CAAc,+BAAd,EAA+C7N,MAA/C,CAAsD,IAAtD,EAA4D23B,KAA5D,CACI,iHADJ;AAGH,aAJD;AAAA;AAAA;AAHyC;AAQzC,gBAAI,4BAAC,OAAKn5B,GAAL,CAASqP,IAAT,CAAc,iCAAd,EAAiD1U,MAAlD,gCAA4D,OAAK4E,KAAL,CAAW8c,UAAX,CAAsBjP,UAAlF,CAAJ,EAAkG;AAAA;AAAA;;AAC9F,uBAAKpN,GAAL,CAASqP,IAAT,CAAc,2BAAd,EAA2C6pB,MAA3C,4EAC6EmY,WAD7E,gBACmG,OAAK9xC,KAAL,CAAWwJ,EAD9G,6FAEmDtG,SAFnD;AAKH,aAND;AAAA;AAAA;AARyC;AAezC,mBAAK9G,MAAL,CAAY,8BAAZ,IAA8Cs1C,UAA9C;AAfyC;AAgBzC,mBAAKK,cAAL;AAhByC;AAiBzC,mBAAO/uC,QAAP;AACH,SAlBD;AAmBH,KApBD;AAzBuC;AA8CvCxC,WAAOhD,IAAP,CAAY,IAAZ;AACH,CA/CD,E;;;;;;ACTA,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;AACA;;;;AACA;;;;;;;;;AAEA,uBAAK00C,yBAAL,EAAsB,YAAtB,EAAoC,UAAU11C,UAAV,EAAsBwG,QAAtB,EAAgC;AAAA;AAAA;;AAChEA,eAAW,mEAAY,EAAZ,CAAX;AADgE;AAEhE,QAAIA,SAASkuC,SAAT,KAAuBl2C,SAA3B,EAAsC;AAAA;AAAA;;AAClCgI,iBAASkuC,SAAT,GAAqB,IAArB;AACH,KAFD;AAAA;AAAA;AAFgE;AAKhE,WAAO10C,WAAWgB,IAAX,CAAgB,IAAhB,EAAsBwF,QAAtB,CAAP;AACH,CAND;;;AAQA0sC,yBAAezsC,SAAf,CAAyBgtC,SAAzB,GAAqC/wC,KAAKmG,GAAL,CAAS,GAAT,EAAcqqC,yBAAezsC,SAAf,CAAyBgtC,SAAvC,CAArC,C;;;;;;ACZA,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;AAEA;;AACA;;AACA;;;;AAEA;;;;AAEA,SAASkC,gBAAT,CAA0B9vB,CAA1B,EAA6B;AAAA;AAAA;;AACzB,QAAI,4BAACA,EAAE+vB,QAAH,gCAAe,CAAC/vB,EAAE+vB,QAAF,CAAWh3C,MAA3B,CAAJ,EAAuC;AAAA;AAAA;;AACnC;AACH,KAFD;AAAA;AAAA;AAGA,QAAMi3C,kCAAU,EAAV,CAAN;AAJyB;AAKzBA,YAAQhwB,EAAEiwB,KAAV,IAAmBjwB,EAAE+vB,QAAF,CAAW//B,GAAX,CAAe,UAAC4G,CAAD,EAAO;AAAA;AAAA;AAAA,iBAAElU,GAAF;AAAK,KAA3B,CAAnB;AACA,QAAMwtC,oCAAY70B,KAAKyQ,SAAL,CAAekkB,OAAf,CAAZ,CAAN;AANyB;AAOzB,2BAAY;AACRx0C,cAAM,MADE;AAER20C,qBAAa,kBAFL;AAGRC,qBAAa,KAHL;AAIR30C,aAAK,gBAJG;AAKRkoB,eAAO,IALC;AAMRvkB,cAAM8wC;AANE,KAAZ,EAOG/iC,IAPH,CAOQ,UAACxR,IAAD,EAAU;AAAA;;AACd,YAAMq0C,kCAAU,EAAV,CAAN;AADc;AAEdA,gBAAQhwB,EAAEiwB,KAAV,IAAmBjwB,EAAE+vB,QAAF,CAAW//B,GAAX,CAAe,UAAC4G,CAAD,EAAO;AAAA;AAAA;AAAA,qBAAElU,GAAF;AAAK,SAA3B,CAAnB;AAFc;AAGd,YAAIwtC,cAAc70B,KAAKyQ,SAAL,CAAekkB,OAAf,CAAlB,EAA2C;AAAA;AAAA;;AACvC;AACH,SAFD;AAAA;AAAA;AAHc;AAMdnZ,gBAAQE,GAAR,CAAYiZ,OAAZ,EAAqBr0C,IAArB;AANc;AAOdqkB,UAAE+vB,QAAF,CAAWlkC,OAAX,CAAmB,UAACwkC,GAAD,EAAM1/B,GAAN,EAAc;AAAA;AAAA;;AAC7B,kCAAEqP,EAAE5hB,GAAF,CAAMqP,IAAN,CAAW,kBAAX,EAA+BkD,GAA/B,CAAF,EAAuCyf,MAAvC,CAA8C,sBAAE,kDAAF,EAAsDrwB,IAAtD,CAA2DpE,KAAKqkB,EAAEiwB,KAAP,EAAcI,IAAI3tC,GAAlB,CAA3D,CAA9C;AACH,SAFD;AAGH,KAjBD;AAkBH;;;AAED,uBAAK4tC,2BAAL,EAAwB,QAAxB,EAAkC,UAAUnyC,MAAV,EAAkB;AAAA;;AAAA;AAAA;;AAChDA,WAAOhD,IAAP,CAAY,IAAZ;AADgD;AAEhD,SAAKo1C,QAAL,CAAcpjC,IAAd,CAAmB,YAAM;AAAA;AAAA;;AACrBrB,eAAOC,MAAP,CAAc,MAAKykC,SAAnB,EAA8B3kC,OAA9B,CAAsC,UAACmU,CAAD,EAAO;AAAA;AAAA;;AACzCA,cAAEywB,WAAF,GAAgBzwB,EAAE7hB,MAAlB;AADyC;AAEzC6hB,cAAE7hB,MAAF,GAAW,YAAY;AAAA;AAAA;;AACnB6hB,kBAAEywB,WAAF;AADmB;AAEnBX,iCAAiB9vB,CAAjB;AAFmB;AAGnB,uBAAOA,CAAP;AACH,aAJD;AAFyC;AAOzC8vB,6BAAiB9vB,CAAjB;AACH,SARD;AASH,KAVD;AAWH,CAbD,E;;;;;;ACnCA,gD;;;;;;ACAA,yC","file":"plugin.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"/static/built/\";\n\n \t__webpack_require__(61);\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 60);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap afb85b5ac121e101e573","module.exports = (__webpack_require__(2))(2);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/pug-runtime/index.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 0\n// module chunks = 0","module.exports = (__webpack_require__(2))(0);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/jquery/dist/jquery.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 1\n// module chunks = 0","module.exports = girder_plugin_slicer_cli_web;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"girder_plugin_slicer_cli_web\"\n// module id = 2\n// module chunks = 0","module.exports = (__webpack_require__(2))(4);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/underscore/modules/index-all.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 3\n// module chunks = 0","module.exports = girder_plugin_large_image_annotation;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"girder_plugin_large_image_annotation\"\n// module id = 4\n// module chunks = 0","module.exports = (__webpack_require__(2))(6);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/rest.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 5\n// module chunks = 0","import girderEvents from '@girder/core/events';\n\nexport default girderEvents;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/events.js","import _ from 'underscore';\nimport $ from 'jquery';\nimport Backbone from 'backbone';\nimport {splitRoute, parseQueryString} from '@girder/core/misc';\n\nimport events from './events';\n\nvar router = new Backbone.Router();\n\nrouter.setQuery = function setQuery(name, value, options) {\n var curRoute = Backbone.history.fragment,\n routeParts = splitRoute(curRoute),\n queryString = parseQueryString(routeParts.name);\n if (value === undefined || value === null) {\n delete queryString[name];\n } else {\n queryString[name] = value;\n }\n var unparsedQueryString = $.param(queryString);\n if (unparsedQueryString.length > 0) {\n unparsedQueryString = '?' + unparsedQueryString;\n }\n this._lastQueryString = queryString;\n this.navigate(routeParts.base + unparsedQueryString, options);\n};\n\nrouter.getQuery = function getQuery(name) {\n return (this._lastQueryString || {})[name];\n};\n\nrouter.execute = function execute(callback, args) {\n var query = parseQueryString(args.pop());\n args.push(query);\n if (callback) {\n callback.apply(this, args);\n }\n\n _.each(this._lastQueryString || {}, function (value, key) {\n if (!_.has(query, key)) {\n events.trigger('query:' + key, null, query);\n }\n });\n _.each(query, function (value, key) {\n events.trigger('query:' + key, value, query);\n });\n events.trigger('query', query);\n this._lastQueryString = query;\n};\n\nexport default router;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/router.js","module.exports = (__webpack_require__(2))(5);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/View.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 8\n// module chunks = 0","module.exports = (__webpack_require__(2))(16);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/auth.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 9\n// module chunks = 0","import $ from 'jquery';\nimport View from '@girder/core/views/View';\n\nif (View.__super__ && View.__super__.initialize) {\n const oldInitialize = View.__super__.initialize;\n\n View.__super__.initialize = function () {\n const result = oldInitialize.apply(this, arguments);\n\n // Bootstrap 3's default behavior is to close dialogs when a\n // `click` event occurs outside of it. By using the `click`\n // event, the following scenario could occur -\n // The user clicks and holds down the mouse button when the cursor\n // is inside the dialog, but releases when the mouse cursor is\n // outside the dialog. The browser will recognize this as a `click`\n // event and will close the dialog.\n //\n // Instead, we want this behavior to happen on a `mousedown` event\n // for all dialogs when the HistomicsUI plugin is present.\n // So, below we attach our own event listener that disables the\n // auto-closing behavior on `click` and does it instead on `mousedown`:\n $(document).on('mousedown', '#g-dialog-container', (evt) => {\n const dialogContainer = $('#g-dialog-container');\n // Disable the `click` event listener. This works because the\n // `mousedown` event is always fired before `click`.\n dialogContainer.off('click', '#g-dialog-container');\n // Close the dialog if the `mousedown` event was outside of it.\n if (!evt.target.closest('.modal-content')) {\n dialogContainer.modal('hide');\n }\n });\n\n return result;\n };\n\n const oldGirderModal = $.fn.girderModal;\n $.fn.girderModal = function (view) {\n const result = oldGirderModal.call(this, view);\n result.on('shown.bs.modal', () => {\n result.off('click.dismiss.bs.modal');\n result.off('mouseup.dismiss.bs.modal');\n $('.btn', '#g-dialog-container').prop('tabindex', '0');\n });\n return result;\n };\n}\n\nexport default View;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/View.js","module.exports = (__webpack_require__(2))(8);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/events.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 11\n// module chunks = 0","module.exports = girder_lib;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"girder_lib\"\n// module id = 12\n// module chunks = 0","module.exports = (__webpack_require__(2))(15);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/slicer_cli_web/views/Panel.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 13\n// module chunks = 0","module.exports = (__webpack_require__(2))(21);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/backbone/backbone.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 15\n// module chunks = 0","module.exports = girder_plugin_large_image;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"girder_plugin_large_image\"\n// module id = 16\n// module chunks = 0","import $ from 'jquery';\n\nimport {restRequest} from '@girder/core/rest';\nimport convert from '@girder/large_image_annotation/annotations/convert';\n\n/* Utility items for HistomicUI views\n In the future more utility classes/functions can be added for export\n*/\nclass HuiSettings {\n constructor() {\n HuiSettings._hui_settings = null;\n }\n\n static getSettings() {\n if (HuiSettings._hui_settings) {\n if (HuiSettings._hui_settings_result) {\n return HuiSettings._hui_settings_result;\n }\n return HuiSettings._hui_settings;\n } else {\n HuiSettings._hui_settings = restRequest({\n type: 'GET',\n url: 'histomicsui/settings'\n }).then((resp) => {\n HuiSettings._hui_settings = $.Deferred().resolve(resp);\n return resp;\n });\n }\n return HuiSettings._hui_settings;\n }\n\n static clearSettingsCache() {\n delete HuiSettings._hui_settings;\n }\n}\n\n/**\n * Get the area and edge length of an element.\n *\n * @param {object} element An element to analyze\n * @returns {object} An area and edge length; may be undefined.\n */\nfunction elementAreaAndEdgeLength(element) {\n const geojson = convert(element, {}).features[0];\n const geogeom = geojson.geometry;\n let area, edge;\n if (geogeom.type === 'Polygon') {\n area = edge = 0;\n const lens = [];\n for (let j = 0; j < geogeom.coordinates.length; j += 1) {\n for (let i = 0; i < geogeom.coordinates[j].length - 1; i += 1) {\n const v0 = geogeom.coordinates[j][i];\n const v1 = geogeom.coordinates[j][i + 1];\n area += (v1[1] - v0[1]) * (v0[0] + v1[0]) / 2 * (!j ? 1 : -1);\n const len = ((v1[0] - v0[0]) ** 2 + (v1[1] - v0[1]) ** 2) ** 0.5;\n edge += len;\n lens.push(len);\n }\n }\n area = Math.abs(area);\n if ((geojson.properties.annotationType === 'ellipse' || geojson.properties.annotationType === 'circle') && edge) {\n area *= Math.PI / 4;\n const a = lens[0] / 2;\n const b = lens[1] / 2;\n const h = (a - b) ** 2 / (a + b) ** 2;\n // Ramanujan's approximation -- we actually need a series to\n // compute this properly.\n edge = Math.PI * (a + b) * (1 + 3 * h / (10 + (4 - 3 * h) ** 0.5));\n }\n }\n if (geogeom.type === 'LineString') {\n edge = 0;\n for (let i = 0; i < geogeom.coordinates.length - 1; i += 1) {\n const v0 = geogeom.coordinates[i];\n const v1 = geogeom.coordinates[i + 1];\n edge += ((v1[0] - v0[0]) ** 2 + (v1[1] - v0[1]) ** 2) ** 0.5;\n }\n }\n return {area, edge};\n}\n\nexport {HuiSettings, elementAreaAndEdgeLength};\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/utils.js","module.exports = (__webpack_require__(2))(10);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/utilities/PluginUtils.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 18\n// module chunks = 0","module.exports = (__webpack_require__(2))(71);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/constants.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 19\n// module chunks = 0","import Backbone from 'backbone';\nimport {LocalStorage} from 'backbone.localstorage';\n\nimport StyleModel from '../models/StyleModel';\n\nlet localStorage;\ntry {\n localStorage = new LocalStorage('histomicsui.draw.style');\n} catch (e) {\n}\n\nconst StyleCollection = Backbone.Collection.extend({\n model: StyleModel,\n localStorage: localStorage\n});\n\nexport default StyleCollection;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/collections/StyleCollection.js","import Backbone from 'backbone';\n\nconst StyleModel = Backbone.Model.extend({\n defaults: {\n lineWidth: 2,\n lineColor: 'rgb(0,0,0)',\n fillColor: 'rgba(0,0,0,0)'\n }\n});\n\nexport default StyleModel;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/models/StyleModel.js","// TinyColor v1.4.2\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// \n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// \n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// \n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// \nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// \nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // \n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // \n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (typeof define === 'function' && define.amd) {\n define(function () {return tinycolor;});\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/node_modules/tinycolor2/tinycolor.js\n// module id = 22\n// module chunks = 0","module.exports = (__webpack_require__(2))(85);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/utilities/jquery/girderModal.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 23\n// module chunks = 0","module.exports = (__webpack_require__(16))(39);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/misc.js from dll-reference girder_plugin_large_image\n// module id = 24\n// module chunks = 0","module.exports = (__webpack_require__(16))(26);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/webpack/buildin/global.js from dll-reference girder_plugin_large_image\n// module id = 25\n// module chunks = 0","import tinycolor from 'tinycolor2';\n\nimport View from '@girder/core/views/View';\n\nimport EditHeatmapOrGridDataContainer from '../vue/components/EditHeatmapOrGridDataContainer.vue';\n\nimport editElement from '../templates/dialogs/editElement.pug';\nimport '@girder/core/utilities/jquery/girderModal';\n\n/**\n * Create a modal dialog with fields to edit the properties of\n * an annotation element.\n */\nvar EditElement = View.extend({\n events: {\n 'click .h-submit': 'getData',\n 'submit form': 'getData',\n 'hide.bs.modal ': 'endEdit'\n },\n\n render() {\n this.$el.html(\n editElement({\n element: this.annotationElement.toJSON()\n })\n ).girderModal(this);\n this.createVueModal();\n return this;\n },\n\n createVueModal() {\n const el = this.$('.vue-component-heatmap').get(0);\n const vm = new EditHeatmapOrGridDataContainer({\n el,\n propsData: {\n element: this.annotationElement,\n parentView: this\n }\n });\n this.vueApp = vm;\n },\n\n closeVueModal() {\n this.$el.modal('hide');\n this.vueApp.$destroy();\n },\n\n /**\n * Get all data from the form and set the attributes of the\n * attached ElementModel (triggering a change event).\n */\n getData(evt) {\n evt.preventDefault();\n\n var data = {};\n var validation = '';\n\n var label = this.$('#h-element-label').val();\n data.label = label ? {value: label} : {};\n var group = this.$('#h-group-name').val();\n data.group = group && group !== this._defaultGroup ? group : undefined;\n\n var lineWidth = this.$('#h-element-line-width').val();\n if (lineWidth) {\n data.lineWidth = parseFloat(lineWidth);\n if (data.lineWidth < 0 || !isFinite(data.lineWidth)) {\n validation += 'Invalid line width. ';\n this.$('#h-element-line-width').parent().addClass('has-error');\n }\n }\n\n var lineColor = this.$('#h-element-line-color').val();\n if (lineColor) {\n data.lineColor = this.convertColor(lineColor);\n }\n\n var fillColor = this.$('#h-element-fill-color').val();\n if (fillColor) {\n data.fillColor = this.convertColor(fillColor);\n }\n\n if (validation) {\n this.$('.g-validation-failed-message').text(validation)\n .removeClass('hidden');\n return;\n }\n\n this.trigger('h:editElement', {element: this.annotationElement, data, edited: true});\n this.annotationElement.set(data);\n this.$el.modal('hide');\n },\n\n /**\n * Trigger the draw widget's edit element event listener when the form isn't\n * submitted, to prevent later edits from being considered multiple times\n */\n endEdit() {\n this.trigger('h:editElement', {edited: false});\n },\n\n /**\n * A helper function converting a string into normalized rgb/rgba\n * color value. If no value is given, then it returns a color\n * with opacity 0.\n */\n convertColor(val) {\n if (!val) {\n return 'rgba(0,0,0,0)';\n }\n return tinycolor(val).toRgbString();\n }\n});\n\n/**\n * Create a singleton instance of this widget that will be rendered\n * when `show` is called.\n */\nvar dialog = new EditElement({\n parentView: null\n});\n\n/**\n * Show the edit dialog box. Watch for change events on the passed\n * `ElementModel` to respond to user submission of the form.\n *\n * @param {ElementModel} annotationElement The element to edit\n * @returns {EditAnnotation} The dialog's view\n */\nfunction show(annotationElement, defaultGroup) {\n dialog.annotationElement = annotationElement;\n dialog._defaultGroup = defaultGroup || 'default';\n dialog.setElement('#g-dialog-container').render();\n return dialog;\n}\n\nexport default show;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/dialogs/editElement.js","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /opt/HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/runtime/componentNormalizer.js\n// module id = 27\n// module chunks = 0","module.exports = (__webpack_require__(2))(40);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/router.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 28\n// module chunks = 0","module.exports = (__webpack_require__(2))(72);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/utilities/EventStream.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 29\n// module chunks = 0","import View from '../View';\nimport HeaderAnalysesView from './HeaderAnalysesView';\nimport HeaderUserView from './HeaderUserView';\nimport HeaderImageView from './HeaderImageView';\nimport router from '../../router';\n\nimport headerTemplate from '../../templates/layout/header.pug';\nimport '../../stylesheets/layout/header.styl';\n\nvar HeaderView = View.extend({\n events: {\n 'click #h-navbar-brand': function () {\n router.navigate('', {trigger: true});\n }\n },\n\n initialize(params) {\n this.settings = params.settings;\n return View.prototype.initialize.apply(this, arguments);\n },\n\n render() {\n this.$el.html(headerTemplate({\n brandName: this.settings.brandName,\n brandColor: this.settings.brandColor,\n bannerColor: this.settings.bannerColor,\n helpURL: this.settings.helpURL && this.settings.helpURL.trim() === '' ? false : this.settings.helpURL,\n helpTooltip: this.settings.helpTooltip,\n helpText: this.settings.helpText\n }));\n\n this.$('a[title]').tooltip({\n placement: 'bottom',\n delay: {show: 300}\n });\n\n new HeaderUserView({\n el: this.$('.h-current-user-wrapper'),\n parentView: this\n }).render();\n\n new HeaderImageView({\n el: this.$('.h-image-menu-wrapper'),\n parentView: this\n }).render();\n\n new HeaderAnalysesView({\n el: this.$('.h-analyses-wrapper'),\n parentView: this\n }).render();\n\n return this;\n }\n});\n\nexport default HeaderView;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/layout/HeaderView.js","import {getCurrentUser} from '@girder/core/auth';\nimport GirderHeaderUserView from '@girder/core/views/layout/HeaderUserView';\n\nimport headerUserTemplate from '../../templates/layout/headerUser.pug';\n\nvar HeaderUserView = GirderHeaderUserView.extend({\n render() {\n this.$el.html(headerUserTemplate({\n user: getCurrentUser()\n }));\n return this;\n }\n});\n\nexport default HeaderUserView;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/layout/HeaderUserView.js","/* global geo */\nimport _ from 'underscore';\nimport $ from 'jquery';\n\nimport {restRequest} from '@girder/core/rest';\nimport {getCurrentUser} from '@girder/core/auth';\nimport {AccessType} from '@girder/core/constants';\nimport ItemModel from '@girder/core/models/ItemModel';\nimport FileModel from '@girder/core/models/FileModel';\nimport FolderCollection from '@girder/core/collections/FolderCollection';\nimport {ViewerWidget} from '@girder/large_image_annotation/views';\n\nimport SlicerPanelGroup from '@girder/slicer_cli_web/views/PanelGroup';\nimport AnnotationModel from '@girder/large_image_annotation/models/AnnotationModel';\nimport AnnotationCollection from '@girder/large_image_annotation/collections/AnnotationCollection';\n\nimport {convert as convertToGeojson} from '@girder/large_image_annotation/annotations';\nimport {convert as convertFromGeojson} from '@girder/large_image_annotation/annotations/geojs';\n\nimport StyleCollection from '../../collections/StyleCollection';\nimport StyleModel from '../../models/StyleModel';\n\nimport AnnotationContextMenu from '../popover/AnnotationContextMenu';\nimport AnnotationPopover from '../popover/AnnotationPopover';\nimport PixelmapContextMenu from '../popover/PixelmapContextMenu';\nimport AnnotationSelector from '../../panels/AnnotationSelector';\nimport OverviewWidget from '../../panels/OverviewWidget';\nimport ZoomWidget from '../../panels/ZoomWidget';\nimport FrameSelectorWidget from '../../panels/FrameSelectorWidget';\nimport MetadataWidget from '../../panels/MetadataWidget';\nimport MetadataPlot from '../../panels/MetadataPlot';\nimport DrawWidget from '../../panels/DrawWidget';\nimport editElement from '../../dialogs/editElement';\nimport router from '../../router';\nimport events from '../../events';\nimport {HuiSettings} from '../utils';\nimport View from '../View';\n\nimport imageTemplate from '../../templates/body/image.pug';\nimport '../../stylesheets/body/image.styl';\n\nvar ImageView = View.extend({\n events: {\n 'keydown .h-image-body': '_onKeyDown',\n click: '_clearTooltips',\n 'click .h-control-panel-container .s-close-panel-group': '_closeAnalysis',\n 'mousemove .geojs-map': '_trackMousePosition'\n },\n initialize(settings) {\n this._defaultGroup = 'default';\n this.viewerWidget = null;\n this._mouseClickQueue = [];\n this._openId = null;\n this._displayedRegion = null;\n this._currentMousePosition = null;\n this._selectElementsByRegionCanceled = false;\n this._debounceUpdatePixelmapValues = _.debounce(this._updatePixelmapValues, 500);\n this._overlayLayers = {};\n this.selectedAnnotation = new AnnotationModel({_id: 'selected'});\n this.selectedElements = this.selectedAnnotation.elements();\n\n // Allow zooming this many powers of 2 more than native pixel resolution\n this._increaseZoom2x = 1;\n this._increaseZoom2xRange = {min: 1, max: 4};\n\n if (!this.model) {\n this.model = new ItemModel();\n }\n this.listenTo(this.model, 'g:fetched', this.render);\n this.listenTo(events, 'h:analysis:rendered', this._setImageInput);\n this.listenTo(events, 'h:analysis:rendered', this._allowRootSelection);\n this.listenTo(events, 'h:analysis:rendered', this._setDefaultFileOutputs);\n this.listenTo(events, 'h:analysis:rendered', this._resetRegion);\n this.listenTo(this.selectedElements, 'add remove reset', this._redrawSelection);\n this.listenTo(events, 's:widgetDrawRegionEvent', this._widgetDrawRegion);\n this.listenTo(events, 'li:drawRegionUpdate', this._drawRegionUpdate);\n this.listenTo(events, 'li:drawModeChange', this._drawModeChange);\n events.trigger('h:imageOpened', null);\n this.listenTo(events, 'query:image', this.openImage);\n this.annotations = new AnnotationCollection();\n\n this.controlPanel = new SlicerPanelGroup({\n parentView: this,\n closeButton: true\n });\n this.overviewWidget = new OverviewWidget({\n parentView: this\n });\n this.zoomWidget = new ZoomWidget({\n parentView: this\n });\n this.frameSelectorWidget = new FrameSelectorWidget({\n parentView: this\n });\n this.metadataWidget = new MetadataWidget({\n parentView: this\n });\n this.metadataPlot = new MetadataPlot({\n parentView: this\n });\n this.annotationSelector = new AnnotationSelector({\n parentView: this,\n collection: this.annotations,\n image: this.model\n });\n this.popover = new AnnotationPopover({\n parentView: this\n });\n this.contextMenu = new AnnotationContextMenu({\n parentView: this,\n collection: this.selectedElements\n });\n this.pixelmapContextMenu = new PixelmapContextMenu({\n parentView: this\n });\n this.listenTo(this, 'h:styleGroupsEdited', () => {\n this.contextMenu.refetchStyles();\n this.pixelmapContextMenu.refetchStyles();\n });\n\n this.listenTo(this.annotationSelector, 'h:groupCount', (obj) => {\n this.contextMenu.setGroupCount(obj);\n });\n this.listenTo(events, 'h:submit', (data) => {\n this.$('.s-jobs-panel .s-panel-controls .icon-down-open').click();\n events.trigger('g:alert', {type: 'success', text: 'Analysis job submitted.'});\n });\n this.listenTo(events, 'h:select-region', this.showRegion);\n this.listenTo(this.annotationSelector.collection, 'add update change:displayed', this.toggleAnnotation);\n this.listenTo(this.annotationSelector, 'h:toggleLabels', this.toggleLabels);\n this.listenTo(this.annotationSelector, 'h:toggleInteractiveMode', this._toggleInteractiveMode);\n this.listenTo(this.annotationSelector, 'h:editAnnotation', this._editAnnotation);\n this.listenTo(this.annotationSelector, 'h:deleteAnnotation', this._deleteAnnotation);\n this.listenTo(this.annotationSelector, 'h:annotationOpacity', this._setAnnotationOpacity);\n this.listenTo(this.annotationSelector, 'h:annotationFillOpacity', this._setAnnotationFillOpacity);\n this.listenTo(this.annotationSelector, 'h:redraw', this._redrawAnnotation);\n this.listenTo(this, 'h:highlightAnnotation', this._highlightAnnotationForInteractiveMode);\n this.listenTo(this, 'h:selectElementsByRegion', this._selectElementsByRegion);\n this.listenTo(this, 'h:selectElementsByRegionCancel', this._selectElementsByRegionCancel);\n this.listenTo(this.contextMenu, 'h:edit', this._editElement);\n this.listenTo(this.contextMenu, 'h:editShape', this._editElementShape);\n this.listenTo(this.contextMenu, 'h:redraw', this._redrawAnnotation);\n this.listenTo(this.contextMenu, 'h:close', this._closeContextMenu);\n this.listenTo(this.pixelmapContextMenu, 'h:update', this._handlePixelmapContextMenu);\n this.listenTo(this.pixelmapContextMenu, 'h:close', this._closePixelmapContextMenu);\n this.listenTo(this.selectedElements, 'h:save', this._saveSelection);\n this.listenTo(this.selectedElements, 'h:remove', this._removeSelection);\n this.listenTo(this, 'h:deselectAnnotationElements', this._deselectAnnotationElements);\n\n this.listenTo(events, 's:widgetChanged:region', this.widgetRegion);\n this.listenTo(events, 'g:login g:logout.success g:logout.error', () => {\n this._openId = null;\n this.model.set({_id: null});\n this._knownPanels = {};\n HuiSettings.clearSettingsCache();\n });\n $(document).on('mousedown.h-image-view', (evt) => {\n // let the context menu close itself\n if ($(evt.target).parents('#h-annotation-context-menu').length) {\n return;\n }\n this._closeContextMenu();\n\n if ($(evt.target).parents('#h-pixelmap-context-menu').length) {\n return;\n }\n this._closePixelmapContextMenu();\n });\n $(document).on('keydown.h-image-view', (evt) => {\n if (evt.keyCode === 27) {\n this._closeContextMenu();\n }\n });\n this.render();\n },\n render() {\n // Ensure annotations are removed from the popover widget on rerender.\n // This can happen when opening a new image while an annotation is\n // being hovered.\n this.mouseResetAnnotation();\n this._removeDrawWidget();\n\n if (this.model.id === this._openId) {\n this.controlPanel.setElement('#h-analysis-panel').render();\n this._orderPanels();\n return;\n }\n this.$el.html(imageTemplate());\n this.contextMenu.setElement(this.$('#h-annotation-context-menu')).render();\n this.pixelmapContextMenu.setElement(this.$('#h-pixelmap-context-menu')).render();\n\n if (this.model.id) {\n this._getConfig(this.model.id);\n this._openId = this.model.id;\n if (this.viewerWidget) {\n this.viewerWidget.destroy();\n }\n /* eslint-disable new-cap */\n this.viewerWidget = new ViewerWidget.geojs({\n parentView: this,\n el: this.$('.h-image-view-container'),\n itemId: this.model.id,\n hoverEvents: true,\n // it is very confusing if this value is smaller than the\n // AnnotationSelector MAX_ELEMENTS_LIST_LENGTH\n highlightFeatureSizeLimit: 5000,\n scale: {position: {bottom: 20, right: 10}}\n });\n // Don't unclamp bounds for the image even if image overlays are present.\n if (this.viewerWidget.setUnclampBoundsForOverlay) {\n this.viewerWidget.setUnclampBoundsForOverlay(false);\n }\n this.trigger('h:viewerWidgetCreated', this.viewerWidget);\n\n // handle annotation mouse events\n this.listenTo(this.viewerWidget, 'g:mouseOverAnnotation', this.mouseOverAnnotation);\n this.listenTo(this.viewerWidget, 'g:mouseOutAnnotation', this.mouseOutAnnotation);\n this.listenTo(this.viewerWidget, 'g:mouseOnAnnotation', this.mouseOnAnnotation);\n this.listenTo(this.viewerWidget, 'g:mouseOffAnnotation', this.mouseOffAnnotation);\n this.listenTo(this.viewerWidget, 'g:mouseClickAnnotation', this.mouseClickAnnotation);\n this.listenTo(this.viewerWidget, 'g:mouseResetAnnotation', this.mouseResetAnnotation);\n\n // handle overlay events\n this.listenTo(this.viewerWidget, 'g:mouseClickAnnotationOverlay', this.mouseClickOverlay);\n this.listenTo(this.viewerWidget, 'g:mouseOverAnnotationOverlay', this.mouseOverOverlay);\n this.listenTo(this.viewerWidget, 'g:mouseDownAnnotationOverlay', this.mouseOverOverlay);\n this.listenTo(this.viewerWidget, 'g:drawOverlayAnnotation', this.overlayLayerDrawn);\n this.listenTo(this.viewerWidget, 'g:removeOverlayAnnotation', this.overlayLayerRemoved);\n\n this.viewerWidget.on('g:imageRendered', () => {\n events.trigger('h:imageOpened', this.model);\n // store a reference to the underlying viewer\n this.viewer = this.viewerWidget.viewer;\n this.viewer.interactor().removeAction(geo.geo_action.zoomselect);\n\n const currentOptions = this.viewer.interactor().options();\n currentOptions.click.cancelOnMove = 10; // a click can move up to 10 pixels before it is considered a move\n this.viewer.interactor().options(currentOptions);\n\n this.imageWidth = this.viewer.maxBounds().right;\n this.imageHeight = this.viewer.maxBounds().bottom;\n // allow panning off the image slightly\n var extraPanWidth = 0.1, extraPanHeight = 0;\n this.viewer.maxBounds({\n left: -this.imageWidth * extraPanWidth,\n right: this.imageWidth * (1 + extraPanWidth),\n top: -this.imageHeight * extraPanHeight,\n bottom: this.imageHeight * (1 + extraPanHeight)\n });\n\n // set the viewer bounds on first load\n this.setImageBounds();\n\n // also set the query string\n this.setBoundsQuery();\n\n this.viewer._originalZoomRange = this.viewer.zoomRange().max;\n this.viewer.zoomRange({max: this.viewer.zoomRange().max + this._increaseZoom2x});\n\n // update the query string on pan events\n this.viewer.geoOn(geo.event.pan, () => {\n this.setBoundsQuery();\n });\n\n // update the coordinate display on mouse move\n this.viewer.geoOn(geo.event.mousemove, (evt) => {\n this.showCoordinates(evt);\n });\n\n // remove the hidden class from the coordinates display\n this.$('.h-image-coordinates-container').removeClass('hidden');\n\n // show the right side control container\n this.$('#h-annotation-selector-container').removeClass('hidden');\n\n this.overviewWidget\n .setViewer(this.viewerWidget)\n .setElement('.h-overview-widget').render();\n\n this.zoomWidget\n .setViewer(this.viewerWidget)\n .setElement('.h-zoom-widget').render();\n\n this.frameSelectorWidget\n .setViewer(this.viewerWidget)\n .setElement('.h-frame-selector-widget').render();\n\n this.metadataWidget\n .setItem(this.model)\n .setElement('.h-metadata-widget').render();\n\n this.metadataPlot\n .setItem(this.model)\n .setElement('.h-metadata-plot').render();\n\n this.annotationSelector\n .setViewer(this.viewerWidget)\n .setElement('.h-annotation-selector').render();\n\n if (this.drawWidget) {\n this.$('.h-draw-widget').removeClass('hidden');\n this.drawWidget\n .setViewer(this.viewerWidget)\n .setAnnotationSelector(this.annotationSelector)\n .setElement('.h-draw-widget').render();\n }\n this._orderPanels();\n });\n this.annotationSelector.setItem(this.model);\n\n this.annotationSelector\n .setViewer(null)\n .setElement('.h-annotation-selector').render();\n\n if (this.drawWidget) {\n this.$('.h-draw-widget').removeClass('hidden');\n this.drawWidget\n .setViewer(null)\n .setAnnotationSelector(this.annotationSelector)\n .setElement('.h-draw-widget').render();\n }\n }\n this.controlPanel.setElement('#h-analysis-panel').render();\n this.popover.setElement('#h-annotation-popover-container').render();\n this._orderPanels();\n return this;\n },\n destroy() {\n if (this.viewerWidget) {\n this.viewerWidget.destroy();\n }\n this.viewerWidget = null;\n events.trigger('h:imageOpened', null);\n $(document).off('.h-image-view');\n return View.prototype.destroy.apply(this, arguments);\n },\n openImage(id) {\n /* eslint-disable backbone/no-silent */\n this._resetSelection();\n this.model.clear({silent: true});\n delete this.model.parent;\n if (id) {\n this.model.set({_id: id}).fetch().then(() => {\n this._setImageInput();\n return null;\n });\n } else {\n this.model.set({_id: null});\n this.render();\n this._openId = null;\n events.trigger('h:imageOpened', null);\n }\n },\n /**\n * Set any input image parameters to the currently open image.\n * The jobs endpoints expect file id's rather than item id's,\n * so we have to choose an appropriate file id for a number of\n * scenarios.\n *\n * * A normal item: Pick the first file id. Here we have\n * to make another rest call to get the files contained\n * in the item.\n *\n * * A large image item: choose fileId over originalId.\n *\n * After getting the file id we have to make another rest\n * call to fetch the full file model from the server. Once\n * this is complete, set the widget value.\n */\n _setImageInput() {\n if (!this.model.id) {\n return;\n }\n\n // helper functions passed through promises\n var getItemFile = (itemId) => {\n return restRequest({\n url: 'item/' + itemId + '/files',\n data: {\n limit: 1,\n offset: 0\n }\n }).then((files) => {\n if (!files.length) {\n throw new Error('Item does not contain a file.');\n }\n return new FileModel(files[0]);\n });\n };\n\n var getTilesDef = (itemId) => {\n return restRequest({\n url: 'item/' + itemId + '/tiles'\n }).then((tiles) => {\n this.zoomWidget.setMaxMagnification(tiles.magnification || 20, this._increaseZoom2x, this._increaseZoom2xRange);\n this.zoomWidget.render();\n this.overviewWidget.setImage(tiles);\n this.frameSelectorWidget.setImage(itemId, tiles);\n return null;\n });\n };\n\n var getFileModel = (fileId) => {\n return restRequest({\n url: 'file/' + fileId\n }).then((file) => {\n return new FileModel(file);\n });\n };\n var largeImage = this.model.get('largeImage');\n var promise;\n\n if (largeImage) {\n // Prefer the fileId, expecting that jobs can handle tiled input\n promise = $.when(\n getTilesDef(this.model.id),\n getFileModel(largeImage.fileId || largeImage.originalId)\n ).then((a, b) => b); // resolve with the file model\n } else {\n promise = getItemFile(this.model.id);\n }\n\n // set control panel models that use relative paths\n this.controlPanel.models().forEach((model) => {\n if (model.get('defaultRelativePath') && model.get('channel') === 'input') {\n model.set('defaultRelativePath_id', this.model.id);\n model.set('defaultRelativePath_type', this.model.get('_modelType'));\n Object.values((this.controlPanel._panelViews || {})).forEach((panel) => {\n if (panel._widgets && panel._widgets[model.id]) {\n panel._widgets[model.id]._getDefaultInputResource(model).then((resource) => {\n if (!resource) {\n return null;\n }\n panel._widgets[model.id].model.set({\n path: resource._path,\n value: resource\n });\n return null;\n });\n }\n });\n }\n });\n\n return promise.then((file) => {\n _.each(this.controlPanel.models(), (model) => {\n if (model.get('type') === 'image') {\n model.set('value', file, {trigger: true});\n }\n });\n return null;\n });\n },\n\n _getDefaultOutputFolder() {\n const user = getCurrentUser();\n if (!user) {\n return $.Deferred().resolve().promise();\n }\n const userFolders = new FolderCollection();\n return userFolders.fetch({\n parentId: user.id,\n parentType: 'user',\n name: 'Private',\n limit: 1\n }).then(() => {\n if (userFolders.isEmpty()) {\n throw new Error('Could not find the user\\'s private folder when setting defaults');\n }\n return userFolders.at(0);\n });\n },\n\n _allowRootSelection() {\n /* It would be better to adjust hierarchy widgets to start where\n * current selections are located, but showing the root selector is a\n * start. */\n _.chain(this.controlPanel._panelViews).pluck('_childViews').flatten().each((entry) => {\n entry._rootPath = entry._rootPath === undefined ? false : entry._rootPath;\n });\n },\n\n _setDefaultFileOutputs() {\n return this._getDefaultOutputFolder().done((folder) => {\n if (folder && router.getQuery('analysis')) {\n _.each(\n this.controlPanel.models().filter((model) => model.get('type') === 'new-file'),\n (model) => {\n var analysis = _.last(router.getQuery('analysis').split('/'));\n analysis = this.controlPanel.$el.find('.s-panel-title:first').text() || analysis;\n var extension = (model.get('extensions') || '').split('|')[0];\n var name = `${analysis}-${model.id}${extension}`;\n if (model.get('required') !== false || (model.get('reference') && extension)) {\n model.set({\n path: [folder.get('name'), name],\n parent: folder,\n value: new ItemModel({\n name,\n folderId: folder.id\n })\n });\n }\n }\n );\n }\n });\n },\n\n _clearTooltips() {\n $('.tooltip[role=\"tooltip\"]').remove();\n },\n\n _closeAnalysis(evt) {\n evt.preventDefault();\n router.setQuery('analysis', null, {trigger: false});\n this.controlPanel.$el.addClass('hidden');\n events.trigger('query:analysis', null);\n },\n\n /**\n * Set the view (image bounds) of the current image as a\n * query string parameter.\n */\n setBoundsQuery() {\n var bounds, left, right, top, bottom, rotation;\n if (this.viewer) {\n bounds = this.viewer.bounds();\n rotation = (this.viewer.rotation() * 180 / Math.PI).toFixed();\n left = bounds.left.toFixed();\n right = bounds.right.toFixed();\n top = bounds.top.toFixed();\n bottom = bounds.bottom.toFixed();\n router.setQuery('bounds', [\n left, top, right, bottom, rotation\n ].join(','), {replace: true});\n }\n },\n\n /**\n * Get the view from the query string and set it on the image.\n */\n setImageBounds() {\n var bounds = router.getQuery('bounds');\n if (!bounds || !this.viewer) {\n return;\n }\n bounds = bounds.split(',');\n this.viewer.bounds({\n left: parseFloat(bounds[0]),\n top: parseFloat(bounds[1]),\n right: parseFloat(bounds[2]),\n bottom: parseFloat(bounds[3])\n });\n var rotation = parseFloat(bounds[4]) || 0;\n this.viewer.rotation(rotation * Math.PI / 180);\n },\n\n _updatePixelmapElements(pixelmapElements, annotation) {\n const groups = new StyleCollection();\n const defaultStyle = new StyleModel({id: this._defaultGroup});\n groups.fetch().done(() => {\n if (!groups.has(this._defaultGroup)) {\n groups.add(defaultStyle.toJSON());\n groups.get(this._defaultGroup).save();\n }\n _.each(pixelmapElements, (pixelmap) => {\n this._reconcilePixelmapCategories(pixelmap.get('id'), groups, annotation);\n });\n this.viewerWidget.drawAnnotation(annotation);\n });\n },\n\n _updatePixelmapsWithCategories(groups) {\n const pixelmapElements = _.pluck(this._overlayLayers, 'element');\n _.each(pixelmapElements, (element) => {\n const annotation = _.find(this.annotations.models, (annotation) => annotation.elements().get(element.id));\n this._reconcilePixelmapCategories(element.id, groups, annotation);\n this._redrawAnnotation(annotation);\n });\n },\n\n _reconcilePixelmapCategories(pixelmapId, groups, annotation) {\n if (!annotation || !annotation.elements()) {\n return;\n }\n const pixelmap = annotation.elements().get(pixelmapId);\n const existingCategories = pixelmap.get('categories') || [];\n const newCategories = [];\n const newStyleGroups = [];\n _.each(existingCategories, (category) => {\n const correspondingStyle = groups.get(category.label);\n if (!correspondingStyle) {\n const newStyle = new StyleModel({\n id: category.label,\n lineColor: category.strokeColor,\n fillColor: category.fillColor\n });\n newStyleGroups.push(newStyle);\n } else {\n if (category.strokeColor !== correspondingStyle.get('lineColor')) {\n category.strokeColor = correspondingStyle.get('lineColor');\n }\n if (category.fillColor !== correspondingStyle.get('fillColor')) {\n category.fillColor = correspondingStyle.get('fillColor');\n }\n }\n newCategories.push(category);\n });\n\n groups.each((group) => {\n const correspondingCategory = existingCategories.find((category) => (\n category.label === group.get('id')));\n if (!correspondingCategory) {\n newCategories.push({\n label: group.get('id'),\n strokeColor: group.get('lineColor'),\n fillColor: group.get('fillColor')\n });\n }\n });\n\n _.each(newStyleGroups, (group) => {\n groups.add(group);\n groups.get(group.get('id')).save();\n });\n\n // move the default category to index 0 and adjust data array if needed\n const originalDefaultIndex = _.findIndex(newCategories, {label: this._defaultGroup});\n const updatedCategories = _.where(newCategories, {label: this._defaultGroup})\n .concat(_.reject(newCategories, {label: this._defaultGroup}));\n pixelmap.set('categories', updatedCategories);\n if (originalDefaultIndex !== 0) {\n const originalData = pixelmap.get('values');\n const newData = _.map(originalData, (value) => {\n if (value === originalDefaultIndex) {\n return 0;\n }\n if (value < originalDefaultIndex) {\n return value + 1;\n }\n return value;\n });\n pixelmap.set('values', newData);\n }\n },\n\n toggleAnnotation(annotation) {\n if (!this.viewerWidget) {\n // We may need a way to queue annotation draws while viewer\n // initializes, but for now ignore them.\n return;\n }\n if (annotation.get('displayed')) {\n var viewer = this.viewerWidget.viewer || {};\n if (viewer.zoomRange && annotation._pageElements === true) {\n annotation.setView(viewer.bounds(), viewer.zoom(), viewer.zoomRange().max, true);\n }\n annotation.set('loading', true);\n annotation.once('g:fetched', () => {\n annotation.unset('loading');\n });\n annotation.fetch().then(() => {\n // abandon this if the annotation should not longer be shown\n // or we are now showing a different image.\n if (!annotation.get('displayed') || annotation.get('itemId') !== this.model.id) {\n return null;\n }\n // update pixelmaps based on styles\n const pixelmapElements = annotation.elements().where({type: 'pixelmap'});\n if (pixelmapElements.length > 0) {\n this._updatePixelmapElements(pixelmapElements, annotation);\n return null;\n }\n this.viewerWidget.drawAnnotation(annotation);\n return null;\n });\n } else {\n this.viewerWidget.removeAnnotation(annotation);\n }\n },\n\n _redrawAnnotation(annotation) {\n if (!this.viewerWidget || !annotation.get('displayed')) {\n // We may need a way to queue annotation draws while viewer\n // initializes, but for now ignore them.\n return;\n }\n this.viewerWidget.drawAnnotation(annotation);\n },\n\n _highlightAnnotationForInteractiveMode(annotation, element) {\n if (!this.annotationSelector.interactiveMode()) {\n return;\n }\n this._closeContextMenu();\n this.viewerWidget.highlightAnnotation(annotation, annotation === false ? undefined : element);\n },\n\n widgetRegion(model) {\n var value = model.get('value');\n if (!this.viewerWidget || !this.viewerWidget.viewer) {\n model.set('value', '-1,-1,-1,-1');\n return;\n }\n this._displayedRegion = value.slice();\n if (value.length === 4) {\n this.showRegion({\n left: parseFloat(value[0]),\n right: parseFloat(value[0]) + parseFloat(value[2]),\n top: parseFloat(value[1]),\n bottom: parseFloat(value[1]) + parseFloat(value[3])\n });\n } else if (value.length === 6) {\n this.showRegion({\n left: parseFloat(value[0]) - parseFloat(value[3]),\n right: parseFloat(value[0]) + parseFloat(value[3]),\n top: parseFloat(value[1]) - parseFloat(value[4]),\n bottom: parseFloat(value[1]) + parseFloat(value[4])\n });\n } else if (value.length >= 2) {\n const points = [[]];\n for (let idx = 0; idx < value.length - 1; idx += 2) {\n if (parseFloat(value[idx]) === -1 && parseFloat(value[idx + 1]) === -1) {\n points.push([]);\n } else {\n points[points.length - 1].push([parseFloat(value[idx]), parseFloat(value[idx + 1])]);\n }\n }\n const elements = [];\n points.forEach((pts) => {\n if (!pts.length) {\n return;\n }\n let closed = true;\n while (pts[pts.length - 1][0] === -2 && pts[pts.length - 1][1] === -2) {\n pts = pts.slice(0, pts.length - 1);\n closed = false;\n }\n if (pts.length === 1) {\n elements.push({type: 'point', center: pts[0]});\n } else {\n elements.push({type: 'polyline', closed: closed, points: pts});\n }\n });\n this.showRegion({elements: elements});\n }\n },\n\n _resetRegion() {\n var hasRegionParameter;\n if (!this._displayedRegion) {\n return;\n }\n _.each(\n this.controlPanel.models().filter((model) => model.get('type') === 'region'),\n (model) => {\n model.set('value', this._displayedRegion);\n hasRegionParameter = true;\n }\n );\n if (!hasRegionParameter) {\n this._displayedRegion = null;\n this.showRegion(null);\n }\n },\n\n showRegion(region) {\n if (!this.viewerWidget) {\n return;\n }\n\n this.viewerWidget.removeAnnotation(\n new AnnotationModel({_id: 'region-selection'})\n );\n if (!region) {\n return;\n }\n\n var fillColor = 'rgba(255,255,255,0)';\n var lineColor = 'rgba(0,0,0,1)';\n var lineWidth = 2;\n var annotation;\n if (region.elements) {\n annotation = new AnnotationModel({\n _id: 'region-selection',\n name: 'Region',\n annotation: {\n elements: region.elements.map((entry) => _.extend({}, entry, {\n fillColor,\n lineColor,\n lineWidth\n }))\n }\n });\n } else {\n var center = [\n (region.left + region.right) / 2,\n (region.top + region.bottom) / 2,\n 0\n ];\n var width = region.right - region.left;\n var height = region.bottom - region.top;\n var rotation = 0;\n annotation = new AnnotationModel({\n _id: 'region-selection',\n name: 'Region',\n annotation: {\n elements: [{\n type: 'rectangle',\n center,\n width,\n height,\n rotation,\n fillColor,\n lineColor,\n lineWidth\n }]\n }\n });\n }\n this.viewerWidget.drawAnnotation(annotation, {fetch: false});\n },\n\n showCoordinates(evt) {\n if (this.viewer) {\n var pt = evt.geo;\n this.$('.h-image-coordinates').text(\n pt.x.toFixed() + ', ' + pt.y.toFixed()\n );\n }\n },\n\n mouseOnAnnotation(element, annotationId) {\n if (annotationId === 'region-selection' || annotationId === 'selected') {\n return;\n }\n this._lastMouseOnElement = {element, annotationId};\n if (!this.annotationSelector.interactiveMode()) {\n return;\n }\n const annotation = this.annotations.get(annotationId);\n const elementModel = annotation.elements().get(element.id);\n annotation.set('highlight', true);\n if (this.drawWidget) {\n this.drawWidget.trigger('h:mouseon', elementModel);\n }\n },\n\n mouseOffAnnotation(element, annotationId) {\n this._lastMouseOnElement = null;\n if (annotationId === 'region-selection' || annotationId === 'selected' || !this.annotationSelector.interactiveMode()) {\n return;\n }\n const annotation = this.annotations.get(annotationId);\n const elementModel = annotation.elements().get(element.id);\n annotation.unset('highlight');\n if (this.drawWidget) {\n this.drawWidget.trigger('h:mouseoff', elementModel);\n }\n },\n\n mouseOverAnnotation(element, annotationId) {\n if (annotationId === 'region-selection' || annotationId === 'selected') {\n return;\n }\n element.annotation = this.annotations.get(annotationId);\n if (element.annotation) {\n this.popover.collection.add(element);\n }\n },\n\n mouseOutAnnotation(element, annotationId) {\n if (annotationId === 'region-selection' || annotationId === 'selected') {\n return;\n }\n element.annotation = this.annotations.get(annotationId);\n if (element.annotation) {\n this.popover.collection.remove(element);\n }\n },\n\n mouseResetAnnotation() {\n if (this.popover.collection.length) {\n this.popover.collection.reset();\n }\n },\n\n getPixelmapElements() {\n let allPixelmaps = [];\n this.annotations.each((annotation) => {\n const pixelmaps = annotation.elements().filter((element) => element.get('type') === 'pixelmap');\n allPixelmaps = allPixelmaps.concat(pixelmaps);\n });\n return allPixelmaps;\n },\n\n _getCategoryIndexFromStyleGroup(annotationElement, styleGroup) {\n const categories = annotationElement.get('categories');\n const groupId = styleGroup.get('id');\n const newIndex = _.findIndex(categories, {label: groupId});\n return (newIndex < 0) ? 0 : newIndex;\n },\n\n _updatePixelmapValues(pixelmapElementModel, layer, annotation) {\n let newData = layer.data();\n if (pixelmapElementModel.get('boundaries')) {\n newData = newData.filter((d, i) => i % 2 === 0);\n }\n pixelmapElementModel.set('values', newData);\n if (annotation) {\n this._redrawAnnotation(annotation);\n }\n },\n\n _closePixelmapContextMenu() {\n if (!this._pixelmapContextMenuActive) {\n return;\n }\n this.pixelmapContextMenu.updatePixelmap();\n this.$('#h-pixelmap-context-menu').addClass('hidden');\n this._pixelmapContextMenuActive = false;\n },\n\n _handlePixelmapContextMenu(pixelmap, dataIndex, group) {\n const categoryIndex = _.findIndex(pixelmap.get('categories'), {label: group});\n const pixelmapLayer = this.viewer.layers().find((layer) => layer.id() === pixelmap.get('id'));\n if (!pixelmapLayer || dataIndex < 0) {\n return;\n }\n const layerDataIndex = pixelmap.get('boundaries') ? (dataIndex - dataIndex % 2) : dataIndex;\n const offset = pixelmap.get('boundaries') ? 1 : 0;\n const data = pixelmapLayer.data();\n const categories = pixelmap.get('categories');\n const newValue = (categoryIndex < 0 || categoryIndex >= categories.length) ? 0 : categoryIndex;\n data[layerDataIndex] = data[layerDataIndex + offset] = newValue;\n pixelmapLayer.indexModified(layerDataIndex, layerDataIndex + offset).draw();\n this._debounceUpdatePixelmapValues(pixelmap, pixelmapLayer);\n },\n\n mouseClickOverlay(overlayElement, overlayLayer, event) {\n if (overlayElement.get('type') !== 'pixelmap') { return; }\n const overlayAnnotationIsSelected = this.activeAnnotation && this.activeAnnotation.elements().get(overlayElement.id);\n const index = overlayElement.get('boundaries') ? (event.index - event.index % 2) : event.index;\n if (event.mouse.buttonsDown.left && !event.mouse.modifiers.shift && this.drawWidget && overlayAnnotationIsSelected) {\n // left click. check what the active style is and if it applies\n const style = this.drawWidget.getStyleGroup();\n const newIndex = this._getCategoryIndexFromStyleGroup(overlayElement, style);\n\n const offset = overlayElement.get('boundaries') ? 1 : 0;\n const data = overlayLayer.data();\n const categories = overlayElement.get('categories');\n const newValue = (newIndex < 0 || newIndex >= categories.length) ? 0 : newIndex;\n data[index] = data[index + offset] = newValue;\n overlayLayer.indexModified(index, index + offset).draw();\n this._debounceUpdatePixelmapValues(overlayElement, overlayLayer);\n } else if (event.mouse.buttonsDown.right) {\n const annotation = this.annotations.find((annotation) => annotation.elements().get(overlayElement.id));\n if (!annotation) {\n return;\n }\n this._queueMouseClickAction(overlayElement, annotation.id, null, null);\n window.requestAnimationFrame(() => {\n const data = this._processMouseClickQueue();\n if (!data || data.element.id !== overlayElement.id) {\n return;\n }\n if (!this._canOpenContextMenu()) {\n return;\n }\n this.pixelmapContextMenu.updatePixelmap(overlayElement, event.index);\n // show pixelmap context menu\n window.setTimeout(() => {\n const $window = $(window);\n const menu = this.$('#h-pixelmap-context-menu');\n const position = event.mouse.page;\n menu.removeClass('hidden');\n // adjust the vertical position of the context menu\n const belowWindow = Math.min(0, $window.height() - position.y - menu.height() + 20);\n const top = Math.max(0, position.y + belowWindow);\n\n const windowWidth = $window.width();\n const menuWidth = menu.width();\n let left = position.x;\n if (left + menuWidth > windowWidth) {\n left -= menuWidth;\n }\n left = Math.max(left, 0);\n\n menu.css({left, top});\n this._pixelmapContextMenuActive = true;\n }, 1);\n });\n }\n },\n\n mouseOverOverlay(overlayElement, overlayLayer, event) {\n const overlayAnnotationIsSelected = this.activeAnnotation && this.activeAnnotation.elements().get(overlayElement.id);\n if (event.mouse.buttons.left && event.mouse.modifiers.shift && this.drawWidget && overlayAnnotationIsSelected) {\n const style = this.drawWidget.getStyleGroup();\n const newIndex = this._getCategoryIndexFromStyleGroup(overlayElement, style);\n\n const index = overlayElement.get('boundaries') ? (event.index - event.index % 2) : event.index;\n const offset = overlayElement.get('boundaries') ? 1 : 0;\n const data = overlayLayer.data();\n const categories = overlayElement.get('categories');\n const newValue = (newIndex < 0 || newIndex >= categories.length) ? 0 : newIndex;\n data[index] = data[index + offset] = newValue;\n overlayLayer.indexModified(index, index + offset).draw();\n this._debounceUpdatePixelmapValues(overlayElement, overlayLayer);\n }\n },\n\n overlayLayerDrawn(element, layer) {\n this._overlayLayers[element.id] = {\n layer,\n element\n };\n },\n\n overlayLayerRemoved(element, layer) {\n if (this._overlayLayers[element.id]) {\n delete this._overlayLayers[element.id];\n }\n },\n\n mouseClickAnnotation(element, annotationId, evt) {\n if (!element.annotation) {\n // This is an instance of \"selectedElements\" and should be ignored.\n return;\n }\n\n /*\n * Click events on geojs features are triggered once per feature in a single animation frame.\n * Here we collect all click events occurring in a single animation frame and defer processing.\n * On the next frame, the queue is processed and the action is only performed on the \"closest\"\n * feature. Here \"closest\" is determined by a fast heuristic--the one with a vertex closest\n * to the point clicked. We can improve this heuristic as necessary.\n */\n this._queueMouseClickAction(element, annotationId, evt.data.geometry, evt.mouse.geo);\n if (this._mouseClickQueue.length > 1) {\n return;\n }\n\n window.requestAnimationFrame(() => {\n const {element, annotationId} = this._processMouseClickQueue();\n if (!evt.mouse.modifiers.shift) {\n if (evt.mouse.buttonsDown.right) {\n this._openContextMenu(element.annotation.elements().get(element.id), annotationId, evt);\n } else if (evt.mouse.modifiers.ctrl && !this.viewerWidget.annotationLayer.mode()) {\n this._toggleSelectElement(element.annotation.elements().get(element.id));\n } else if (evt.mouse.buttonsDown.left && !this.viewerWidget.annotationLayer.mode() && this.allowClickSelection) {\n this._selectSingleElement(element.annotation.elements().get(element.id));\n }\n }\n });\n },\n\n toggleLabels(options) {\n this.popover.toggle(options.show);\n },\n\n _queueMouseClickAction(element, annotationId, geometry, center) {\n let minimumDistance = Number.POSITIVE_INFINITY;\n if (geometry) {\n if (geometry.type !== 'Polygon') {\n // We don't current try to resolve any other geometry type, for the moment,\n // any point or line clicked on will always be chosen over a polygon.\n minimumDistance = 0;\n } else {\n const points = geometry.coordinates[0];\n // use an explicit loop for speed\n for (let index = 0; index < points.length; index += 1) {\n const point = points[index];\n const dx = point[0] - center.x;\n const dy = point[1] - center.y;\n const distance = dx * dx + dy * dy;\n minimumDistance = Math.min(minimumDistance, distance);\n }\n }\n }\n this._mouseClickQueue.push({element, annotationId, value: minimumDistance});\n },\n\n _processMouseClickQueue(evt) {\n const sorted = _.sortBy(this._mouseClickQueue, _.property('value'));\n this._mouseClickQueue = [];\n return sorted[0];\n },\n\n _toggleInteractiveMode(interactive) {\n if (!interactive) {\n this.viewerWidget.highlightAnnotation();\n this.annotations.each((annotation) => {\n annotation.unset('highlight');\n if (this.drawWidget) {\n annotation.elements().each((element) => {\n this.drawWidget.trigger('h:mouseoff', element);\n });\n }\n });\n }\n },\n\n _removeDrawWidget() {\n if (this.drawWidget) {\n this._lastDrawingType = this.drawWidget.drawingType();\n this.drawWidget.cancelDrawMode();\n this.stopListening(this.drawWidget);\n this.drawWidget.remove();\n this.drawWidget = null;\n $('
').addClass('h-draw-widget s-panel hidden').attr('id', 'h-draw-panel')\n .appendTo(this.$('#h-annotation-selector-container'));\n this._orderPanels();\n }\n },\n\n _editAnnotation(model) {\n if (this.activeAnnotation === model) {\n return;\n }\n this.activeAnnotation = model;\n this.annotationSelector.$('.h-annotation').removeClass('h-active-annotation');\n this._removeDrawWidget();\n if (model) {\n this.annotationSelector.$('.h-annotation[data-id=\"' + model.id + '\"]').addClass('h-active-annotation');\n this.drawWidget = new DrawWidget({\n parentView: this,\n image: this.model,\n annotation: this.activeAnnotation,\n drawingType: this._lastDrawingType,\n el: this.$('.h-draw-widget'),\n viewer: this.viewerWidget,\n annotationSelector: this.annotationSelector\n }).render();\n this.listenTo(this.drawWidget, 'h:redraw', this._redrawAnnotation);\n this.listenTo(this.drawWidget, 'h:styleGroupsUpdated', this._updatePixelmapsWithCategories);\n this.$('.h-draw-widget').removeClass('hidden');\n }\n },\n\n _deleteAnnotation(model) {\n if (this.activeAnnotation && this.activeAnnotation.id === model.id) {\n this._removeDrawWidget();\n }\n this.annotationSelector._deselectAnnotationElements(model);\n },\n\n _setAnnotationOpacity(opacity) {\n this.viewerWidget.setGlobalAnnotationOpacity(opacity);\n },\n\n _setAnnotationFillOpacity(opacity) {\n this.viewerWidget.setGlobalAnnotationFillOpacity(opacity);\n },\n\n _onKeyDown(evt) {\n /* Don't trigger keys if we are in an input field. */\n if (/^(input|textarea|select)$/.test((document.activeElement.tagName || '').toLowerCase())) {\n return;\n }\n const drawModes = {\n o: 'point',\n r: 'rectangle',\n i: 'ellipse',\n c: 'circle',\n p: 'polygon',\n l: 'line',\n b: 'brush'\n };\n switch (evt.key) {\n case 'a':\n this._showOrHideAnnotations();\n break;\n case 'e':\n if (this._lastMouseOnElement) {\n const annotation = this.annotations.get(this._lastMouseOnElement.annotationId);\n const elementModel = annotation.elements().get(this._lastMouseOnElement.element.id);\n this._editElementShape(elementModel, annotation.id);\n }\n break;\n case 's':\n this.annotationSelector.selectAnnotationByRegion();\n break;\n case 'S':\n this.annotationSelector.selectAnnotationByRegion(true);\n break;\n case 'C':\n this._resetSelection();\n break;\n case 'm':\n if (this._currentMousePosition && (this.selectedElements.length > 0 || this._lastMouseOnElement)) {\n let annotationId, element;\n if (this.selectedElements.length > 0) {\n element = this.selectedElements.models[0];\n annotationId = element.originalAnnotation.id;\n } else {\n annotationId = this._lastMouseOnElement.annotationId;\n element = this.annotations.get(annotationId).elements().get(this._lastMouseOnElement.element.id);\n }\n this._openContextMenu(element, annotationId, {\n mouse: this._currentMousePosition\n });\n }\n break;\n case ' ': // pressing space bar creates a new annotation\n this.annotationSelector.createAnnotation();\n break;\n case 'B':\n if (this.activeAnnotation) {\n this.drawWidget.nextBrushShape();\n }\n break;\n case '[':\n if (this.activeAnnotation) {\n this.drawWidget.adjustBrushSize(-1);\n }\n break;\n case ']':\n if (this.activeAnnotation) {\n this.drawWidget.adjustBrushSize(1);\n }\n break;\n case 'q':\n if (this.activeAnnotation) {\n this.drawWidget.setToPrevStyleGroup();\n }\n break;\n case 'w':\n if (this.activeAnnotation) {\n this.drawWidget.setToNextStyleGroup();\n }\n break;\n case 'Enter':\n {\n const drawingType = this.drawWidget && this.drawWidget._drawingType;\n if (this.activeAnnotation && ['polygon', 'line'].includes(drawingType)) {\n const annotation = this.viewerWidget.annotationLayer.annotations()[0];\n\n // The current mouse position is included as the last vertex, so remove\n // it before saving it\n annotation.options('vertices').pop();\n\n // Only save the annotation if there are enough vertices for it to form\n // a line or polygon\n if (\n (drawingType === 'polygon' && annotation.options('vertices').length > 2) ||\n (drawingType === 'line' && annotation.options('vertices').length > 1)\n ) {\n annotation.state(geo.annotation.state.done).modified().draw();\n }\n\n this.drawWidget.cancelDrawMode();\n }\n }\n break;\n default:\n if (this.drawWidget && drawModes[evt.key] && this.activeAnnotation) {\n const mode = drawModes[evt.key];\n if (this.drawWidget._drawingType === mode) {\n this.drawWidget.cancelDrawMode();\n } else {\n this.drawWidget.drawElement(undefined, mode);\n }\n }\n break;\n }\n },\n\n _trackMousePosition(evt) {\n this._currentMousePosition = {\n page: {\n x: evt.pageX,\n y: evt.pageY\n },\n client: {\n x: evt.clientX,\n y: evt.clientY\n }\n };\n },\n\n _showOrHideAnnotations() {\n if (this.annotations.any((a) => a.get('displayed'))) {\n this.annotationSelector.hideAllAnnotations();\n } else {\n this.annotationSelector.showAllAnnotations();\n }\n },\n\n _selectElementsByRegion(evt) {\n if (this.drawWidget && this.drawWidget.drawingType()) {\n this.drawWidget.cancelDrawMode();\n }\n this._selectElementsByRegionCanceled = false;\n this.viewerWidget.drawRegion(undefined, evt && evt.polygon ? 'polygon' : undefined).then((coord) => {\n if (this._selectElementsByRegionCanceled) {\n return this;\n }\n this._resetSelection();\n let found;\n if (coord.length === 4) {\n const boundingBox = {\n left: coord[0],\n top: coord[1],\n width: coord[2],\n height: coord[3]\n };\n found = this.getElementsInBox(boundingBox);\n } else {\n const polygon = coord.slice(0, coord.length / 2).map((c, idx) => ({x: coord[idx * 2], y: coord[idx * 2 + 1], z: 0}));\n found = this.getElementsInPolygon(polygon);\n }\n found.forEach(({element}, idx) => this._selectElement(element, {silent: idx !== found.length - 1}));\n if (this.selectedElements.length > 0 && this._currentMousePosition && this.autoRegionContextMenu) {\n // fake an open context menu\n const {element, annotationId} = found[0];\n this._openContextMenu(element, annotationId, {\n mouse: this._currentMousePosition\n }, true);\n }\n this.trigger('h:selectedElementsByRegion', this.selectedElements);\n return this;\n });\n },\n\n _selectElementsByRegionCancel() {\n this.viewerWidget.annotationLayer.mode(null);\n this._selectElementsByRegionCanceled = true;\n this.trigger('h:selectedElementsByRegion', []);\n },\n\n getElementsInBox(boundingBox) {\n const poly = [\n {x: boundingBox.left, y: boundingBox.top + boundingBox.height},\n {x: boundingBox.left + boundingBox.width, y: boundingBox.top + boundingBox.height},\n {x: boundingBox.left + boundingBox.width, y: boundingBox.top},\n {x: boundingBox.left, y: boundingBox.top}\n ];\n return this.getElementsInPolygon(poly);\n },\n\n getElementsInPolygon(poly) {\n const results = [];\n this.viewerWidget.featureLayer.features().forEach((feature) => {\n const r = feature.polygonSearch(poly, {partial: false});\n r.found.forEach((feature) => {\n const annotationId = feature.properties ? feature.properties.annotation : null;\n const element = feature.properties ? feature.properties.element : null;\n if (element && element.id && annotationId) {\n const annotation = this.annotations.get(annotationId);\n results.push({\n element: annotation.elements().get(element.id),\n annotationId\n });\n }\n });\n });\n return results;\n },\n\n _canOpenContextMenu() {\n return !this._contextMenuActive && !this._pixelmapContextMenuActive;\n },\n\n _openContextMenu(element, annotationId, evt, force) {\n if (!this._canOpenContextMenu() || !element || (!force && this.annotationSelector.selectAnnotationByRegionActive())) {\n return;\n }\n if (!this.selectedElements.get(element.id)) {\n this._resetSelection();\n this._selectElement(element);\n }\n\n if (!this.selectedElements.get(element.id)) {\n // If still not selected, then the user does not have access.\n return;\n }\n\n // Defer the context menu action into the next animation frame\n // to work around a problem with preventDefault on Windows\n window.setTimeout(() => {\n const $window = $(window);\n const menu = this.$('#h-annotation-context-menu');\n const position = evt.mouse.page;\n menu.removeClass('hidden');\n\n // adjust the vertical position of the context menu\n // == 0, above the bottom; < 0, number of pixels below the bottom\n // the menu height is bigger by 20 pixels due to extra padding\n const belowWindow = Math.min(0, $window.height() - position.y - menu.height() + 20);\n // ensure the top is not above the top of the window\n const top = Math.max(0, position.y + belowWindow);\n\n // Put the context menu to the left of the cursor if it is too close\n // to the right edge.\n const windowWidth = $window.width();\n const menuWidth = menu.width();\n let left = position.x;\n if (left + menuWidth > windowWidth) {\n left -= menuWidth;\n }\n left = Math.max(left, 0);\n\n menu.css({left, top});\n if (this.popover.collection.length) {\n this.popover.collection.reset();\n }\n this._contextMenuActive = true;\n }, 1);\n },\n\n _closeContextMenu() {\n if (!this._contextMenuActive) {\n return;\n }\n this.$('#h-annotation-context-menu').addClass('hidden');\n this._resetSelection();\n if (this.popover.collection.length) {\n this.popover.collection.reset();\n }\n this._contextMenuActive = false;\n this.viewerWidget.viewer.node().focus();\n },\n\n _editElement(element) {\n const annotation = this.annotations.get(element.originalAnnotation);\n this._editAnnotation(annotation);\n editElement(annotation.elements().get(element.id), this._defaultGroup);\n },\n\n _editElementShape(element, annotationId) {\n const annotation = this.annotations.get(element.originalAnnotation || annotationId);\n this._editAnnotation(annotation);\n const geojson = convertToGeojson(element);\n this._currentAnnotationEditShape = {\n annotation,\n element: annotation.elements().get(element.id)\n };\n this.viewerWidget.hideAnnotation(annotation.id, element.id);\n this.viewerWidget.annotationLayer.removeAllAnnotations();\n const count = this.viewerWidget.annotationLayer.geojson(geojson);\n if (count !== 1) {\n return;\n }\n const annot = this.viewerWidget.annotationLayer.annotations();\n if (annot.length !== 1) {\n return;\n }\n // geoOff state so the annotation isn't added by large_image_annotation\n this.viewerWidget.annotationLayer.geoOff(geo.event.annotation.state);\n this.viewerWidget.annotationLayer.mode(this.viewerWidget.annotationLayer.modes.edit, annot[0]).draw();\n if (!this._editElementShapeFinishBound) {\n this._editElementShapeFinishBound = _.bind(this._editElementShapeFinish, this);\n }\n this.viewerWidget.annotationLayer.geoOn(geo.event.annotation.state, this._editElementShapeFinishBound);\n },\n\n _editElementShapeFinish(event) {\n if (event.annotation.state() !== geo.annotation.state.done) {\n return;\n }\n this.viewerWidget.annotationLayer.geoOff(geo.event.annotation.state, this._editElementShapeFinishBound);\n const annot = convertFromGeojson(event.annotation);\n var update = {};\n ['points', 'center', 'width', 'height', 'rotation'].forEach((key) => {\n if (annot[key] !== undefined) {\n update[key] = annot[key];\n }\n });\n this._currentAnnotationEditShape.element.set(update);\n this._currentAnnotationEditShape = null;\n this.viewerWidget.annotationLayer.removeAllAnnotations();\n this.viewerWidget.hideAnnotation();\n },\n\n _redrawSelection() {\n this.viewerWidget.removeAnnotation(this.selectedAnnotation);\n this.viewerWidget.drawAnnotation(this.selectedAnnotation, {fetch: false});\n },\n\n _selectElement(element, options) {\n // don't allow selecting annotations with no write access or\n // elements not associated with a real annotation.\n const annotation = (element.collection || {}).annotation;\n if (!annotation || annotation.get('_accessLevel') < AccessType.WRITE) {\n return;\n }\n\n var elementModel = this.selectedElements.add(element.attributes, options);\n elementModel.originalAnnotation = annotation;\n this.viewerWidget.highlightAnnotation(this.selectedAnnotation.id);\n },\n\n _unselectElement(element) {\n this.selectedElements.remove(element.id);\n if (!this.selectedElements.length) {\n this.viewerWidget.highlightAnnotation();\n }\n },\n\n _selectSingleElement(element) {\n if ((this.selectedElements.length > (element ? 1 : 0)) || (this.selectedElements.length === 1 && !this.selectedElements.get(element.id))) {\n this._resetSelection();\n }\n this._toggleSelectElement(element);\n },\n\n _toggleSelectElement(element) {\n if (element) {\n if (this.selectedElements.get(element.id)) {\n this._unselectElement(element);\n } else {\n this._selectElement(element);\n }\n }\n },\n\n _resetSelection() {\n if (this.viewerWidget && this.viewerWidget._highlightAnnotation) {\n this.viewerWidget.highlightAnnotation();\n }\n if (this.selectedElements && this.selectedElements.length) {\n this.selectedElements.reset();\n }\n },\n\n _selectElementsByGroup(group) {\n if (!this.activeAnnotation) {\n return;\n }\n this._resetSelection();\n let last;\n this.activeAnnotation.elements().forEach((element) => {\n if (element.get('group') === group || (group === this._defaultGroup && element.get('group') === undefined)) {\n if (last !== undefined) {\n this._selectElement(last, {silent: true});\n }\n last = element;\n }\n });\n if (last !== undefined) {\n this._selectElement(last);\n }\n },\n\n _saveSelection() {\n const groupedAnnotations = this.selectedElements.groupBy((element) => element.originalAnnotation.id);\n _.each(groupedAnnotations, (elements, annotationId) => {\n const annotation = this.annotations.get(annotationId);\n _.each(elements, (element) => { /* eslint-disable backbone/no-silent */\n const annotationElement = annotation.elements().get(element.id);\n // silence the event because we want to make one save call for each annotation.\n annotationElement.set(element.toJSON(), {silent: true});\n if (!element.get('group')) {\n annotationElement.unset('group', {silent: true});\n }\n });\n if (!elements.length) {\n return;\n }\n const annotationData = _.extend({}, annotation.get('annotation'));\n annotationData.elements = annotation.elements().toJSON();\n annotation.set('annotation', annotationData);\n });\n },\n _removeSelection() {\n const groupedAnnotations = this.selectedElements.groupBy((element) => element.originalAnnotation.id);\n _.each(groupedAnnotations, (elements, annotationId) => { /* eslint-disable backbone/no-silent */\n // silence the event because we want to make one save call for each annotation.\n const elementsCollection = this.annotations.get(annotationId).elements();\n elementsCollection.remove(elements, {silent: true});\n elementsCollection.trigger('reset', elementsCollection);\n });\n },\n _deselectAnnotationElements(evt) {\n const model = (evt || {}).model;\n if (this.selectedElements && this.selectedElements.length) {\n const elements = this.selectedElements.models.filter((el) => el.originalAnnotation.id === model.id);\n if (elements.length) {\n if (elements.length === this.selectedElements.length) {\n this._resetSelection();\n } else {\n elements.forEach((el, idx) => {\n this.selectedElements.remove(el.id, {silent: idx !== elements.length - 1});\n });\n }\n }\n }\n },\n _orderPanels() {\n if (!this._knownPanels) {\n this._knownPanels = {};\n }\n HuiSettings.getSettings().then((settings) => {\n let layout = settings['histomicsui.panel_layout'];\n if (this._folderConfig && this._folderConfig.panelLayout && this._folderConfig.panelLayout !== 'default') {\n layout = this._folderConfig.panelLayout;\n }\n if (!layout) {\n return null;\n }\n if (typeof layout === 'string') {\n layout = JSON.parse(layout);\n }\n const panels = this.$('[id^=h-][id$=-panel]');\n panels.each((idx, panel) => {\n panel = $(panel);\n const info = {\n name: panel.attr('id').substr(2, panel.attr('id').length - 8),\n position: 'left',\n state: 'open'\n };\n if (!panel.closest('.h-panel-group-left').length) {\n info.position = 'right';\n }\n if (!panel.find('.s-panel-content.collapse.in').length) {\n info.state = 'closed';\n }\n this._knownPanels[info.name] = info;\n });\n layout = layout.filter((spec) => this.$(`#h-${spec.name}-panel`).length).reverse();\n layout.forEach((spec) => {\n const panel = this.$(`#h-${spec.name}-panel`);\n const info = this._knownPanels[spec.name];\n\n if (spec.position === 'hidden') {\n panel.addClass('hidden');\n return;\n }\n const parent = spec.position === 'left' || (spec.position !== 'right' && info.position === 'left') ? '.h-panel-group-left' : '.h-panel-group-right';\n panel.prependTo(parent);\n if (!info.processed && panel.find('.s-panel-content').length) {\n if (spec.state === 'open') {\n panel.find('.s-panel-content').addClass('in');\n panel.find('.s-panel-controls .icon-down-open').removeClass('icon-down-open').addClass('icon-up-open');\n }\n if (spec.state === 'closed') {\n panel.find('.s-panel-content').removeClass('in');\n panel.find('.s-panel-controls .icon-up-open').removeClass('icon-up-open').addClass('icon-down-open');\n }\n info.processed = true;\n }\n });\n return null;\n });\n },\n _getConfig(modelId) {\n if (modelId !== this._folderConfigId) {\n this._folderConfigId = modelId;\n this._folderConfig = {};\n }\n restRequest({\n url: `folder/${this.model.get('folderId')}/yaml_config/.histomicsui_config.yaml`\n }).done((val) => {\n $('body').attr('view-mode', (val || {}).viewMode || '');\n if (!val || this.model.id !== modelId) {\n return;\n }\n this._folderConfig = val;\n if (val.annotationGroups) {\n const groups = new StyleCollection();\n groups.fetch().done(() => {\n if (!val || this.model.id !== modelId) {\n return;\n }\n this._defaultGroup = val.annotationGroups.defaultGroup || 'default';\n if ((val.annotationGroups.groups || []).length) {\n if (val.annotationGroups.replaceGroups) {\n while (groups.length) {\n groups.first().destroy();\n }\n }\n val.annotationGroups.groups.forEach((group) => {\n group.label = group.label ? {value: group.label} : undefined;\n groups.add(group);\n });\n groups.each((model) => { model.save(); });\n }\n });\n }\n });\n },\n\n _widgetDrawRegion(evt) {\n if (evt.model && evt.event) {\n const target = $(evt.event.target).closest('.s-select-region-button');\n target.closest('.input-group-btn').find('.s-select-region-button').removeClass('active');\n if (evt.mode) {\n target.addClass('active');\n }\n }\n },\n\n _drawModeChange(evt) {\n if (this._drawingType) {\n this.viewer.annotationLayer.mode(null);\n this.viewer.annotationLayer.geoOff(geo.event.annotation.state);\n }\n this._drawingType = null;\n $('#h-analysis-panel .input-group-btn').find('.s-select-region-button').removeClass('active');\n },\n\n _drawRegionUpdate(evt) {\n if (evt.submit && evt.submit.hasClass('enabled')) {\n $('#h-analysis-panel .s-info-panel-submit').trigger('click');\n if (evt.originalEvent) {\n $(`#h-analysis-panel .s-select-region-button[shape=\"${$(evt.originalEvent.target).attr('shape')}\"][multi=\"${$(evt.originalEvent.target).attr('multi')}\"][parent-id=\"${$(evt.originalEvent.target).attr('parent-id')}\"]`).eq(0).trigger('click');\n }\n }\n }\n});\nexport default ImageView;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/body/ImageView.js","module.exports = (__webpack_require__(2))(24);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/models/ItemModel.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 33\n// module chunks = 0","module.exports = (__webpack_require__(4))(10);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/models/AnnotationModel.js from dll-reference girder_plugin_large_image_annotation\n// module id = 34\n// module chunks = 0","import $ from 'jquery';\n\nimport StyleCollection from '../../collections/StyleCollection';\nimport View from '../View';\n\nimport template from '../../templates/popover/annotationContextMenu.pug';\nimport '../../stylesheets/popover/annotationContextMenu.styl';\n\nconst AnnotationContextMenu = View.extend({\n events: {\n 'click .h-remove-elements': '_removeElements',\n 'click .h-edit-elements': '_editElements',\n 'click .h-edit-shape': '_editElements',\n 'click .h-set-group': '_setGroup',\n 'click .h-remove-group': '_removeGroup'\n },\n initialize(settings) {\n this._cachedGroupCount = {};\n this.styles = new StyleCollection();\n this.styles.fetch().done(() => this.render());\n this.listenTo(this.collection, 'add remove reset', this.render);\n },\n render() {\n this.$el.html(template({\n groups: this._getAnnotationGroups(),\n numberSelected: this.collection.length\n }));\n return this;\n },\n refetchStyles() {\n this.styles.fetch().done(() => this.render());\n },\n setGroupCount(groupCount) {\n this._cachedGroupCount = groupCount;\n },\n _removeElements(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.collection.each((element) => {\n if (this.parentView.drawWidget && this.parentView.activeAnnotation.id === element.originalAnnotation.id) {\n if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.attributes.type)) {\n this.parentView.drawWidget.updateCount(element.attributes.group || this.parentView._defaultGroup, -1);\n } else if (element.attributes.type === 'pixelmap') {\n this.parentView.drawWidget.countPixelmap(element, -1);\n }\n }\n });\n this.collection.trigger('h:remove');\n this.trigger('h:close');\n },\n _editElements(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n\n if ($(evt.target).closest('.list-group-item').hasClass('h-edit-shape')) {\n this.trigger('h:editShape', this.collection.at(0));\n } else {\n this.trigger('h:edit', this.collection.at(0));\n }\n this.trigger('h:close');\n },\n _setStyleDefinition(group) {\n const style = this.styles.get({id: group}) || this.styles.get({id: this.parentView._defaultGroup});\n const styleAttrs = Object.assign({}, style ? style.toJSON() : {});\n delete styleAttrs.id;\n let refresh = false;\n this.collection.each((element) => { /* eslint-disable backbone/no-silent */\n if (this.parentView.drawWidget && this.parentView.activeAnnotation.id === element.originalAnnotation.id &&\n element.attributes.group !== group && ['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.attributes.type)) {\n this.parentView.drawWidget.updateCount(element.attributes.group || this.parentView._defaultGroup, -1);\n this.parentView.drawWidget.updateCount(group || this.parentView._defaultGroup, 1);\n refresh = true;\n }\n if (group) {\n styleAttrs.group = group;\n } else {\n element.unset('group', {silent: true});\n }\n element.set(styleAttrs, {silent: true});\n });\n this.collection.trigger('h:save');\n this.trigger('h:close');\n if (this.parentView.drawWidget && refresh) {\n this.parentView.drawWidget.render();\n }\n },\n _getAnnotationGroups() {\n const groups = this.styles.map((style) => style.id);\n groups.sort((a, b) => {\n const countA = this._cachedGroupCount[a] || 0;\n const countB = this._cachedGroupCount[b] || 0;\n if (countA !== countB) {\n return countB - countA;\n }\n if (a < b) {\n return -1;\n } else if (a > b) {\n return 1;\n } else {\n return 0;\n }\n });\n return groups;\n },\n _setGroup(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n\n const group = $(evt.currentTarget).data('group');\n this._setStyleDefinition(group);\n },\n _removeGroup(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n\n this._setStyleDefinition(null);\n }\n});\n\nexport default AnnotationContextMenu;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/popover/AnnotationContextMenu.js","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/popover/annotationContextMenu.styl\n// module id = 36\n// module chunks = 0","import _ from 'underscore';\nimport $ from 'jquery';\n\nimport {getCurrentUser} from '@girder/core/auth';\nimport {restRequest} from '@girder/core/rest';\nimport ElementCollection from '@girder/large_image_annotation/collections/ElementCollection';\nimport convertRectangle from '@girder/large_image_annotation/annotations/geometry/rectangle';\nimport convertEllipse from '@girder/large_image_annotation/annotations/geometry/ellipse';\nimport convertCircle from '@girder/large_image_annotation/annotations/geometry/circle';\n\nimport events from '../../events';\nimport View from '../View';\nimport annotationPopover from '../../templates/popover/annotationPopover.pug';\nimport annotationPopoverMetadata from '../../templates/popover/annotationPopoverMetadata.pug';\nimport '../../stylesheets/popover/annotationPopover.styl';\nimport {elementAreaAndEdgeLength} from '../utils';\n\n/**\n * Format a point as a string for the user.\n */\nfunction point(p) {\n return `(${parseInt(p[0])}, ${parseInt(p[1])})`;\n}\n\n/**\n * Format a distance as a string for the user.\n */\nfunction length(p, scale) {\n let result = `${Math.ceil(p)} px`;\n const scaleWidget = window.geo.gui.scaleWidget;\n if (scale && scaleWidget && scaleWidget.formatUnit) {\n const scaleresult = scaleWidget.formatUnit(p * scale, 'si', undefined, 4);\n if (scaleresult) {\n result += ` (${scaleresult})`;\n }\n }\n return result;\n}\n\n/**\n * Format an area as a string for the user.\n */\nfunction areaStr(p, scale) {\n let result = `${Math.ceil(p)} px\\xB2`;\n const scaleWidget = window.geo.gui.scaleWidget;\n if (scale && scaleWidget && scaleWidget.formatUnit) {\n const scaleresult = scaleWidget.formatUnit(p * scale * scale, 'si', scaleWidget.areaUnitsTable, 4);\n if (scaleresult) {\n result += ` (${scaleresult})`;\n }\n }\n return result;\n}\n\n/**\n * Format a rotation as a string for the user.\n */\nfunction rotation(r) {\n return `${parseInt(r * 180 / Math.PI)}°`;\n}\n\n/**\n * Format a Date object as a localized string.\n */\nfunction formatDate(s) {\n var d = new Date(s);\n return d.toLocaleString();\n}\n\n/**\n * This view behaves like a bootstrap \"popover\" that follows the mouse pointer\n * over the image canvas and dynamically updates according to the features\n * under the pointer.\n *\n * @param {object} [settings]\n * @param {number} [settings.debounce]\n * Debounce time in ms for rerendering due to mouse movements\n */\nvar AnnotationPopover = View.extend({\n initialize(settings) {\n if (settings.debounce) {\n this._position = _.debounce(this._position, settings.debounce);\n }\n\n $('body').on('mousemove', '.h-image-view-body', (evt) => this._position(evt));\n $('body').on('mouseout', '.h-image-view-body', () => this._hide());\n $('body').on('mouseover', '.h-image-view-body', () => this._show());\n\n this._hidden = !settings.visible;\n this._users = {};\n const user = getCurrentUser();\n if (user) {\n this._users[user.id] = user.toJSON();\n }\n this.collection = new ElementCollection();\n this.listenTo(this.collection, 'add', this._getUser);\n this.listenTo(this.collection, 'all', this.render);\n this.listenTo(events, 'h:imageOpened', this._bindMoveEvent);\n\n this._recomputeClosestElementThrottled = _.throttle(this._recomputeClosestElement, 100);\n },\n\n render() {\n if (!this._closestElement) {\n this.$el.html('');\n } else {\n const element = this._closestElement;\n const annotation = element.get('annotation');\n this.$el.html(\n annotationPopover({\n annotations: [annotation],\n elements: {[annotation.id]: [element]},\n formatDate,\n users: this._users,\n elementProperties: (element) => this._elementProperties(element),\n elementAdditionalValues: (element, annotation) => this._elementAdditionalValues(element, annotation)\n })\n );\n }\n this._show();\n if (!this._visible()) {\n this._hide();\n }\n this._height = this.$('.h-annotation-popover').height();\n this._position();\n return this;\n },\n\n /**\n * Set the popover visibility state.\n *\n * @param {boolean} [show]\n * if true: show the popover\n * if false: hide the popover\n * if undefined: toggle the popover state\n */\n toggle(show) {\n if (show === undefined) {\n show = this._hidden;\n }\n this._hidden = !show;\n this.render();\n return this;\n },\n\n /**\n * Check the local cache for the given creator. If it has not already been\n * fetched, then send a rest request to get the user information and\n * rerender the popover.\n *\n * As a consequence to avoid always rendering asynchronously, the user name\n * will not be shown on the first render. In practice, this isn't usually\n * noticeable.\n */\n _getUser(model) {\n var id = model.get('annotation').get('creatorId');\n if (!_.has(this._users, id)) {\n restRequest({\n url: 'user/' + id\n }).done((user) => {\n this._users[id] = user;\n this.render();\n });\n }\n var uid = model.get('annotation').get('updatedId');\n if (uid && uid !== id && !_.has(this._users, uid)) {\n restRequest({\n url: 'user/' + uid\n }).done((user) => {\n this._users[uid] = user;\n this.render();\n });\n }\n },\n\n /**\n * Get an object containing elements that are to be displayed to the user\n * in a popover. This object is cached on the model to avoid recomputing\n * these properties every time they are displayed.\n */\n _elementProperties(element) {\n // cache the popover properties to reduce\n // computations on mouse move\n if (element._popover) {\n return element._popover;\n }\n\n function setIf(key, func = (v) => v) {\n const value = element.get(key);\n if (value) {\n const args = [value].concat(Array.prototype.slice.call(arguments, 2));\n props[key] = func.apply(this, args);\n }\n }\n\n const props = {};\n element._popover = props;\n\n if (element.get('label') && element.get('label').value) {\n props.label = element.get('label').value;\n }\n if (element.get('group')) {\n props.group = element.get('group');\n }\n const {area, edge} = elementAreaAndEdgeLength(element);\n let scale;\n if (this && this.parentView && this.parentView.viewerWidget && this.parentView.viewerWidget._scale) {\n scale = this.parentView.viewerWidget._scale.scale;\n }\n setIf('center', point);\n setIf('width', length, scale);\n setIf('height', length, scale);\n setIf('radius', length, scale);\n setIf('rotation', rotation);\n if (area) {\n props.area = areaStr(area, scale);\n }\n if (edge) {\n props[element.closed ? 'perimeter' : 'length'] = length(edge, scale);\n }\n\n return props;\n },\n\n /**\n * Return additional HTML to add to element popovers.\n *\n * @param {object} element The annotation element under the cursor.\n * @param {object} annotation The backbone annotation model.\n * @returns {string} An HTML string that will be added to the popover or\n * undefined.\n */\n _elementAdditionalValues(element, annotation) {\n if (element && element.toJSON && annotation && annotation.toJSON) {\n return annotationPopoverMetadata({\n annotation: annotation.toJSON(),\n element: element.toJSON()\n });\n }\n },\n\n /**\n * Remove the hidden class on the popover element if this._visible()\n * returns true.\n */\n _show() {\n if (this._visible()) {\n this.$el.removeClass('hidden');\n }\n },\n\n /**\n * Unconditionally hide popover.\n */\n _hide() {\n this.$el.addClass('hidden');\n },\n\n /**\n * Determine if the popover should be visible. Returns true\n * if there are active annotations under the mouse pointer and\n * the label option is enabled.\n */\n _visible() {\n return !this._hidden && this.collection.length > 0;\n },\n\n /**\n * Reset the position of the popover to the position of the\n * mouse pointer.\n */\n _position(evt) {\n if (evt) {\n this._lastPositionEvt = evt;\n } else {\n evt = this._lastPositionEvt;\n }\n if (evt && this._visible()) {\n this.$el.css({\n left: evt.pageX + 5,\n top: evt.pageY - this._height / 2\n });\n }\n },\n\n _distanceToElement(points) {\n const center = this._lastCenter;\n if (!center) {\n return 0;\n }\n let minimumDistance = Number.POSITIVE_INFINITY;\n // use an explicit loop for speed\n for (let index = 0; index < points.length; index += 1) {\n const point = points[index];\n const dx = point[0] - center.x;\n const dy = point[1] - center.y;\n const distance = dx * dx + dy * dy;\n minimumDistance = Math.min(minimumDistance, distance);\n }\n return minimumDistance;\n },\n\n _bindMoveEvent() {\n this.parentView.viewerWidget.viewer.geoOn(\n window.geo.event.mousemove, (evt) => {\n this._lastCenter = _.extend({}, evt.geo);\n this._recomputeClosestElementThrottled();\n }\n );\n },\n\n _recomputeClosestElement() {\n let minimumDistance = Number.POSITIVE_INFINITY;\n const lastElement = this._closestElement;\n this._closestElement = null;\n this.collection.each((e) => {\n let distance = 0;\n // Distance calculation is only valid for polylines, rectangles,\n // ellipses, and circle. We should handle other annotations.\n // For ellipses and circles, we should take curvature into\n // account\n switch (e.get('type')) {\n case 'polyline':\n distance = this._distanceToElement(e.get('points'));\n break;\n case 'rectangle':\n distance = this._distanceToElement(\n convertRectangle(e.attributes).coordinates[0]\n );\n break;\n case 'ellipse':\n distance = this._distanceToElement(\n convertEllipse(e.attributes).coordinates[0]\n );\n break;\n case 'circle':\n distance = this._distanceToElement(\n convertCircle(e.attributes).coordinates[0]\n );\n break;\n }\n if (distance < minimumDistance) {\n this._closestElement = e;\n minimumDistance = distance;\n }\n });\n if (lastElement && this._closestElement && lastElement.id === this._closestElement.id) {\n // Don't rerender if the element didn't change;\n return;\n }\n this.render();\n }\n});\n\nexport default AnnotationPopover;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/popover/AnnotationPopover.js","module.exports = (__webpack_require__(4))(50);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/rectangle.js from dll-reference girder_plugin_large_image_annotation\n// module id = 38\n// module chunks = 0","module.exports = (__webpack_require__(4))(51);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/ellipse.js from dll-reference girder_plugin_large_image_annotation\n// module id = 39\n// module chunks = 0","module.exports = (__webpack_require__(4))(52);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/circle.js from dll-reference girder_plugin_large_image_annotation\n// module id = 40\n// module chunks = 0","import _ from 'underscore';\nimport $ from 'jquery';\n\nimport {restRequest} from '@girder/core/rest';\nimport {AccessType} from '@girder/core/constants';\nimport eventStream from '@girder/core/utilities/EventStream';\nimport {getCurrentUser} from '@girder/core/auth';\nimport Panel from '@girder/slicer_cli_web/views/Panel';\nimport AnnotationModel from '@girder/large_image_annotation/models/AnnotationModel';\nimport {events as girderEvents} from '@girder/core';\n\nimport events from '../events';\nimport showSaveAnnotationDialog from '../dialogs/saveAnnotation';\n\nimport annotationSelectorWidget from '../templates/panels/annotationSelector.pug';\nimport '../stylesheets/panels/annotationSelector.styl';\n\n// Too many elements in the draw panel will crash the browser,\n// so we only allow editing of annotations with less than this\n// many elements.\nconst MAX_ELEMENTS_LIST_LENGTH = 5000;\n\n/**\n * Create a panel controlling the visibility of annotations\n * on the image view.\n */\nvar AnnotationSelector = Panel.extend({\n events: _.extend(Panel.prototype.events, {\n 'click .h-annotation-name': '_editAnnotation',\n 'click .h-toggle-annotation': 'toggleAnnotation',\n 'click .h-delete-annotation': 'deleteAnnotation',\n 'click .h-create-annotation': 'createAnnotation',\n 'click .h-edit-annotation-metadata': 'editAnnotationMetadata',\n 'click .h-show-all-annotations': 'showAllAnnotations',\n 'click .h-hide-all-annotations': 'hideAllAnnotations',\n 'mouseenter .h-annotation': '_highlightAnnotation',\n 'mouseleave .h-annotation': '_unhighlightAnnotation',\n 'change #h-toggle-labels': 'toggleLabels',\n 'change #h-toggle-interactive': 'toggleInteractiveMode',\n 'input #h-annotation-opacity': '_changeGlobalOpacity',\n 'input #h-annotation-fill-opacity': '_changeGlobalFillOpacity',\n 'click .h-annotation-select-by-region': 'selectAnnotationByRegion',\n 'click .h-annotation-group-name': '_toggleExpandGroup'\n }),\n\n /**\n * Create the panel.\n *\n * @param {object} settings\n * @param {AnnotationCollection} settings.collection\n * The collection representing the annotations attached\n * to the current image.\n */\n initialize(settings = {}) {\n this._expandedGroups = new Set();\n this._opacity = settings.opacity || 0.9;\n this._fillOpacity = settings.fillOpacity || 1.0;\n this._showAllAnnotationsState = false;\n this.listenTo(this.collection, 'sync remove update reset change:displayed change:loading', this._debounceRender);\n this.listenTo(this.collection, 'change:highlight', this._changeAnnotationHighlight);\n this.listenTo(eventStream, 'g:event.job_status', _.debounce(this._onJobUpdate, 500));\n this.listenTo(eventStream, 'g:eventStream.start', this._refreshAnnotations);\n this.listenTo(eventStream, 'g:event.large_image_annotation.create', this._refreshAnnotations);\n this.listenTo(eventStream, 'g:event.large_image_annotation.remove', this._refreshAnnotations);\n this.listenTo(this.collection, 'change:annotation change:groups', this._saveAnnotation);\n this.listenTo(girderEvents, 'g:login', () => {\n this.collection.reset();\n this._parentId = undefined;\n });\n },\n\n _settingsFromConfig() {\n if (!this.parentView || !this.parentView._folderConfig || !this.parentView._folderConfig.settings) {\n return;\n }\n const settings = this.parentView._folderConfig.settings;\n if (this._showLabels === undefined && settings.annotationLabels !== undefined) {\n if (this._showLabels !== (settings.annotationLabels === true)) {\n this.toggleLabels();\n }\n }\n if (this._interactiveMode === undefined && settings.interactiveHover !== undefined) {\n if (this._interactiveMode !== (settings.interactiveHover === true)) {\n this.toggleInteractiveMode();\n }\n }\n },\n\n render() {\n this._settingsFromConfig();\n this._debounceRenderRequest = null;\n if (this.parentItem && this.parentItem.get('folderId')) {\n const annotationGroups = this._getAnnotationGroups();\n if (!this.viewer) {\n this.$el.empty();\n return;\n }\n this.$el.html(annotationSelectorWidget({\n id: 'annotation-panel-container',\n title: 'Annotations',\n activeAnnotation: this._activeAnnotation ? this._activeAnnotation.id : '',\n showLabels: this._showLabels,\n user: getCurrentUser() || {},\n creationAccess: this.creationAccess,\n writeAccessLevel: AccessType.WRITE,\n writeAccess: this._writeAccess,\n opacity: this._opacity,\n fillOpacity: this._fillOpacity,\n interactiveMode: this._interactiveMode,\n expandedGroups: this._expandedGroups,\n annotationGroups,\n annotationAccess: this._annotationAccess,\n collapsed: this.$('.s-panel-content.collapse').length && !this.$('.s-panel-content').hasClass('in'),\n _\n }));\n this._changeGlobalOpacity();\n this._changeGlobalFillOpacity();\n if (this._showAllAnnotationsState) {\n this.showAllAnnotations();\n }\n if (this._annotationAccess === undefined) {\n this._setCreationAccess(this, this.parentItem.get('folderId'));\n }\n }\n return this;\n },\n\n _debounceRender() {\n if (!this._debounceRenderRequest) {\n this._debounceRenderRequest = window.requestAnimationFrame(() => { this.render(); });\n }\n return this;\n },\n\n /**\n * Set the ItemModel associated with the annotation collection.\n * As a side effect, this resets the AnnotationCollection and\n * fetches annotations from the server associated with the\n * item.\n *\n * @param {ItemModel} item\n */\n setItem(item) {\n if (this._parentId === item.id) {\n return;\n }\n this.parentItem = item;\n this._parentId = item.id;\n delete this._setCreationRequest;\n delete this._annotationAccess;\n\n if (!this._parentId) {\n this.collection.reset();\n this._debounceRender();\n return;\n }\n this.collection.offset = 0;\n this.collection.reset();\n this.collection.fetch({itemId: this._parentId}).then(() => {\n let update;\n this.collection.each((model) => {\n if (((model.get('annotation') || {}).display || {}).visible === true) {\n model.set('displayed', true);\n update = true;\n }\n });\n if (update) {\n this._debounceRender();\n }\n return null;\n });\n return this;\n },\n\n /**\n * Set the image \"viewer\" instance. This should be a subclass\n * of `large_image/imageViewerWidget` that is capable of rendering\n * annotations.\n */\n setViewer(viewer) {\n this.viewer = viewer;\n return this;\n },\n\n /**\n * Toggle the rendering of a specific annotation. Sets the `displayed`\n * attribute of the `AnnotationModel`.\n */\n toggleAnnotation(evt) {\n var id = $(evt.currentTarget).parents('.h-annotation').data('id');\n var model = this.collection.get(id);\n\n // any manual change in the display state will reset the \"forced display\" behavior\n this._showAllAnnotationsState = false;\n model.set('displayed', !model.get('displayed'));\n if (!model.get('displayed')) {\n model.unset('highlight');\n this._deselectAnnotationElements(model);\n this._deactivateAnnotation(model);\n }\n },\n\n /**\n * Delete an annotation from the server.\n */\n deleteAnnotation(evt) {\n const id = $(evt.currentTarget).parents('.h-annotation').data('id');\n const model = this.collection.get(id);\n\n if (model) {\n const name = (model.get('annotation') || {}).name || 'unnamed annotation';\n events.trigger('h:confirmDialog', {\n title: 'Warning',\n message: `Are you sure you want to delete ${name}?`,\n submitButton: 'Delete',\n onSubmit: () => {\n this.trigger('h:deleteAnnotation', model);\n model.unset('displayed');\n model.unset('highlight');\n this.collection.remove(model);\n if (model._saving) {\n model._saveAgain = 'delete';\n } else {\n model.destroy();\n }\n }\n });\n }\n },\n\n editAnnotationMetadata(evt) {\n const id = $(evt.currentTarget).parents('.h-annotation').data('id');\n const model = this.collection.get(id);\n this.listenToOnce(\n showSaveAnnotationDialog(model, {title: 'Edit annotation', viewer: this.viewer}),\n 'g:submit',\n () => {\n if (model.get('displayed')) {\n this.trigger('h:redraw', model);\n }\n }\n );\n },\n\n _setCreationAccess(root, folderId) {\n if (!this._setCreationRequest) {\n this._setCreationRequest = restRequest({\n type: 'GET',\n url: 'annotation/folder/' + folderId + '/create',\n error: null\n });\n }\n this._setCreationRequest.done((createResp) => {\n root.creationAccess = createResp;\n root.$('.h-create-annotation').toggleClass('hidden', !createResp);\n if (this.parentItem && this.parentItem.get('folderId') === folderId) {\n this._annotationAccess = true;\n }\n }).fail(() => {\n root.$('.h-create-annotation').toggleClass('hidden', true);\n if (this.parentItem && this.parentItem.get('folderId') === folderId) {\n this._annotationAccess = false;\n }\n });\n },\n\n _onJobUpdate(evt) {\n if (this.parentItem && evt.data.status > 2) {\n this._refreshAnnotations();\n }\n },\n\n _refreshAnnotations() {\n if (this._norefresh) {\n delete this._norefresh;\n return;\n }\n if (!this.parentItem || !this.parentItem.id || !this.viewer) {\n return;\n }\n // if any annotations are saving, defer this\n if (!this.viewer._saving) {\n this.viewer._saving = {};\n }\n delete this.viewer._saving.refresh;\n if (Object.keys(this.viewer._saving).length) {\n this.viewer._saving.refresh = true;\n return;\n }\n var models = this.collection.indexBy(_.property('id'));\n this.collection.offset = 0;\n this.collection.fetch({itemId: this.parentItem.id}).then(() => {\n var activeId = (this._activeAnnotation || {}).id;\n this.collection.each((model) => {\n if (!_.has(models, model.id)) {\n if (((model.get('annotation') || {}).display || {}).visible !== false) {\n model.set('displayed', true);\n }\n } else {\n let refreshed = false;\n if (models[model.id].get('displayed')) {\n if (model.get('_version') !== models[model.id].get('_version')) {\n model.refresh(true);\n model.set('displayed', true);\n refreshed = true;\n } else {\n model._centroids = models[model.id]._centroids;\n model._elements = models[model.id]._elements;\n }\n }\n if (!refreshed) {\n // set without triggering a change; a change reloads\n // and rerenders, which is only done if it has changed\n // (above)\n model.attributes.displayed = models[model.id].get('displayed');\n }\n }\n });\n this._debounceRender();\n this._activeAnnotation = null;\n if (activeId) {\n this._setActiveAnnotation(this.collection.get(activeId));\n }\n // remove annotations that are displayed but have been deleted\n Object.keys(models).forEach((id) => {\n if (!this.collection.get(id) && models[id].get('displayed')) {\n this._deselectAnnotationElements(models[id]);\n this.viewer.removeAnnotation(models[id]);\n }\n if (activeId === id) {\n this.trigger('h:deleteAnnotation', models[id]);\n }\n });\n return null;\n });\n },\n\n toggleLabels(evt) {\n this._showLabels = !this._showLabels;\n this.trigger('h:toggleLabels', {\n show: this._showLabels\n });\n },\n\n toggleInteractiveMode(evt) {\n this._interactiveMode = !this._interactiveMode;\n this.trigger('h:toggleInteractiveMode', this._interactiveMode);\n },\n\n interactiveMode() {\n return this._interactiveMode;\n },\n\n _editAnnotation(evt) {\n var id = $(evt.currentTarget).parents('.h-annotation').data('id');\n this.editAnnotation(this.collection.get(id));\n },\n\n editAnnotation(model) {\n // deselect the annotation if it is already selected\n if (this._activeAnnotation && model && this._activeAnnotation.id === model.id) {\n this._activeAnnotation = null;\n this.trigger('h:editAnnotation', null);\n this._debounceRender();\n return;\n }\n\n if (!this._writeAccess(model)) {\n events.trigger('g:alert', {\n text: 'You do not have write access to this annotation.',\n type: 'warning',\n timeout: 2500,\n icon: 'info'\n });\n return;\n }\n this._setActiveAnnotation(model);\n },\n\n _setActiveAnnotation(model) {\n this._activeAnnotation = model || null;\n if (this._activeAnnotation === null) {\n return;\n }\n\n if (!((model.get('annotation') || {}).elements || []).length) {\n // Only load the annotation if it hasn't already been loaded.\n // Technically, an annotation *could* have 0 elements, in which\n // case loading it again should be quick. There doesn't seem\n // to be any other way to detect an unloaded annotation.\n model.set('loading', true);\n model.fetch().done(() => {\n this._setActiveAnnotationWithoutLoad(model);\n }).always(() => {\n model.unset('loading');\n });\n } else {\n this._setActiveAnnotationWithoutLoad(model);\n }\n },\n\n _setActiveAnnotationWithoutLoad(model) {\n const numElements = ((model.get('annotation') || {}).elements || []).length;\n if (this._activeAnnotation && this._activeAnnotation.id !== model.id) {\n return;\n }\n model.set('displayed', true);\n\n if (numElements > MAX_ELEMENTS_LIST_LENGTH || model._pageElements) {\n events.trigger('g:alert', {\n text: 'This annotation has too many elements to be edited.',\n type: 'warning',\n timeout: 5000,\n icon: 'info'\n });\n this._activeAnnotation = null;\n this.trigger('h:editAnnotation', null);\n } else {\n this.trigger('h:editAnnotation', model);\n }\n },\n\n createAnnotation(evt) {\n var model = new AnnotationModel({\n itemId: this.parentItem.id,\n annotation: {}\n });\n this.listenToOnce(\n showSaveAnnotationDialog(model, {title: 'Create annotation'}),\n 'g:submit',\n () => {\n this._norefresh = true;\n model.save().done(() => {\n model.set('displayed', true);\n this.collection.add(model);\n this.trigger('h:editAnnotation', model);\n this._activeAnnotation = model;\n });\n }\n );\n },\n\n _saveAnnotation(annotation) {\n if (this.viewer && !this.viewer._saving) {\n this.viewer._saving = {};\n }\n const vsaving = (this.viewer || {})._saving || {};\n if (!annotation._saving && !annotation._inFetch && !annotation.get('loading')) {\n vsaving[annotation.id] = true;\n this.$el.addClass('saving');\n const lastSaveAgain = annotation._saveAgain;\n annotation._saving = true;\n annotation._saveAgain = false;\n if (annotation.elements().models.filter((model) => model.get('type') === 'pixelmap').length === 0) {\n this.trigger('h:redraw', annotation);\n }\n annotation.save().fail(() => {\n /* If we fail to save (possible because the server didn't\n * respond), try again, gradually backing off the frequency\n * of retries. */\n annotation._saveAgain = Math.min(lastSaveAgain ? lastSaveAgain * 2 : 5, 300);\n }).always(() => {\n annotation._saving = false;\n delete vsaving[annotation.id];\n if (annotation._saveAgain !== undefined && annotation._saveAgain !== false) {\n if (annotation._saveAgain === 'delete') {\n annotation.destroy();\n } else if (!annotation._saveAgain) {\n this._saveAnnotation(annotation);\n } else {\n vsaving[annotation.id] = true;\n window.setTimeout(() => {\n if (annotation._saveAgain !== undefined && annotation._saveAgain !== false) {\n this._saveAnnotation(annotation);\n }\n }, annotation._saveAgain * 1000);\n }\n }\n if (Object.keys(vsaving).length === 1 && vsaving.refresh) {\n this._refreshAnnotations();\n }\n if (!Object.keys(vsaving).length || (Object.keys(vsaving).length === 1 && vsaving.refresh)) {\n this.$el.removeClass('saving');\n }\n });\n } else if (!annotation._inFetch && !annotation.get('loading')) {\n /* if we are saving, flag that we need to save again after we\n * finish as there are newer changes. */\n if (annotation._saveAgain !== 'delete') {\n annotation._saveAgain = 0;\n }\n if (annotation.elements().models.filter((model) => model.get('type') === 'pixelmap').length === 0) {\n this.trigger('h:redraw', annotation);\n }\n } else {\n annotation._saveAgain = false;\n delete vsaving[annotation.id];\n if (annotation.elements().models.filter((model) => model.get('type') === 'pixelmap').length === 0) {\n this.trigger('h:redraw', annotation);\n }\n if (Object.keys(vsaving).length === 1 && vsaving.refresh) {\n this._refreshAnnotations();\n }\n if (!Object.keys(vsaving).length || (Object.keys(vsaving).length === 1 && vsaving.refresh)) {\n this.$el.removeClass('saving');\n }\n }\n },\n\n _writeAccess(annotation, needsOwn) {\n if (needsOwn) {\n return annotation.get('_accessLevel') >= AccessType.ADMIN;\n }\n return annotation.get('_accessLevel') >= AccessType.WRITE;\n },\n\n _deactivateAnnotation(model) {\n if (this._activeAnnotation && this._activeAnnotation.id === model.id) {\n this._activeAnnotation = null;\n this.trigger('h:editAnnotation', null);\n this._debounceRender();\n }\n },\n\n _deselectAnnotationElements(model) {\n this.parentView.trigger('h:deselectAnnotationElements', {model});\n },\n\n showAllAnnotations() {\n this._showAllAnnotationsState = true;\n this.collection.each((model) => {\n model.set('displayed', true);\n });\n },\n\n hideAllAnnotations() {\n this._showAllAnnotationsState = false;\n this.collection.each((model) => {\n model.set('displayed', false);\n this._deselectAnnotationElements(model);\n this._deactivateAnnotation(model);\n });\n },\n\n selectAnnotationByRegionActive() {\n const btn = this.$('.h-annotation-select-by-region');\n return !!btn.hasClass('active');\n },\n\n selectAnnotationByRegion(polygon) {\n const btn = this.$('.h-annotation-select-by-region');\n // listen to escape key\n $(document).on('keydown.h-annotation-select-by-region', (evt) => {\n if (evt.keyCode === 27) {\n this.selectAnnotationByRegionCancel();\n }\n });\n this.listenToOnce(this.parentView, 'h:selectedElementsByRegion', () => {\n btn.removeClass('active');\n $(document).off('keydown.h-annotation-select-by-region');\n });\n\n if (!btn.hasClass('active')) {\n btn.addClass('active');\n this.parentView.trigger('h:selectElementsByRegion', {polygon: polygon === true});\n } else {\n this.selectAnnotationByRegionCancel();\n }\n },\n\n selectAnnotationByRegionCancel() {\n const btn = this.$('.h-annotation-select-by-region');\n if (btn.hasClass('active')) {\n btn.removeClass('active');\n $(document).off('keydown.h-annotation-select-by-region');\n this.parentView.trigger('h:selectElementsByRegionCancel');\n }\n },\n\n _highlightAnnotation(evt) {\n const id = $(evt.currentTarget).data('id');\n const model = this.collection.get(id);\n if (model.get('displayed')) {\n this.parentView.trigger('h:highlightAnnotation', id);\n }\n },\n\n _unhighlightAnnotation() {\n this.parentView.trigger('h:highlightAnnotation');\n },\n\n _changeAnnotationHighlight(model) {\n this.$(`.h-annotation[data-id=\"${model.id}\"]`).toggleClass('h-highlight-annotation', model.get('highlighted'));\n },\n\n _changeGlobalOpacity() {\n this._opacity = this.$('#h-annotation-opacity').val();\n this.$('.h-annotation-opacity-container')\n .attr('title', `Annotation total opacity ${(this._opacity * 100).toFixed()}%`);\n this.trigger('h:annotationOpacity', this._opacity);\n },\n\n _changeGlobalFillOpacity() {\n this._fillOpacity = this.$('#h-annotation-fill-opacity').val();\n this.$('.h-annotation-fill-opacity-container')\n .attr('title', `Annotation fill opacity ${(this._fillOpacity * 100).toFixed()}%`);\n this.trigger('h:annotationFillOpacity', this._fillOpacity);\n },\n\n _toggleExpandGroup(evt) {\n const name = $(evt.currentTarget).parent().data('groupName');\n if (this._expandedGroups.has(name)) {\n this._expandedGroups.delete(name);\n } else {\n this._expandedGroups.add(name);\n }\n this._debounceRender();\n },\n\n _getAnnotationGroups() {\n // Annotations without elements don't have any groups, so we inject the null group\n // so that they are displayed in the panel.\n this.collection.each((a) => {\n const groups = a.get('groups') || [];\n if (!groups.length) {\n groups.push(null);\n }\n });\n const groupObject = {};\n const groups = _.union(...this.collection.map((a) => a.get('groups')));\n _.each(groups, (group) => {\n const groupList = this.collection.filter(\n (a) => _.contains(a.get('groups'), group));\n\n if (group === null) {\n group = 'Other';\n }\n groupObject[group] = _.sortBy(groupList, (a) => a.get('created'));\n });\n this._triggerGroupCountChange(groupObject);\n return groupObject;\n },\n\n _triggerGroupCountChange(groups) {\n const groupCount = {};\n _.each(groups, (annotations, name) => {\n if (name !== 'Other') {\n groupCount[name] = annotations.length;\n } else {\n groupCount[this.parentView._defaultGroup || 'default'] = annotations.length;\n }\n });\n this.trigger('h:groupCount', groupCount);\n }\n});\n\nexport default AnnotationSelector;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/panels/AnnotationSelector.js","import _ from 'underscore';\nimport $ from 'jquery';\nimport tinycolor from 'tinycolor2';\n\nimport {AccessType} from '@girder/core/constants';\nimport {formatDate, DATE_SECOND} from '@girder/core/misc';\nimport AccessWidget from '@girder/core/views/widgets/AccessWidget';\n// import MetadataWidget from '@girder/core/views/widgets/MetadataWidget';\nimport View from '@girder/core/views/View';\n\nimport MetadataWidget from '../panels/MetadataWidget';\nimport '../stylesheets/dialogs/saveAnnotation.styl';\nimport saveAnnotation from '../templates/dialogs/saveAnnotation.pug';\nimport {elementAreaAndEdgeLength} from '../views/utils';\n\n/**\n * Collect styleable properties from user parameters in elements.\n *\n * @param {object} styleableFuncs An object with distinct keys for functions.\n * Modified.\n * @param {array} elements A list of elements which might contain metadata\n * properties in the user key.\n * @param {array} [root] A list of keys within objects in an element.\n */\nfunction collectStyleableProps(styleableFuncs, elements, root) {\n const maxCategories = 20;\n\n const children = {};\n root = root || [];\n let key = 'user';\n for (let j = 0; j < root.length; j += 1) {\n key += '.' + root[j];\n }\n for (let i = 0; i < elements.length; i += 1) {\n let proplist = elements[i].user;\n for (let j = 0; j < root.length; j += 1) {\n if (proplist) {\n proplist = proplist[root[j]];\n }\n }\n if (proplist !== undefined && proplist !== null) {\n if (proplist.substring || (proplist.toFixed && _.isFinite(proplist))) {\n if (styleableFuncs[key] === undefined) {\n styleableFuncs[key] = {\n root,\n key,\n name: root.map((k) => k.replace('_', ' ')).join(' - '),\n categoric: !proplist.toFixed\n };\n styleableFuncs[key].values = [proplist];\n if (!styleableFuncs[key].categoric) {\n styleableFuncs[key].min = styleableFuncs[key].max = +proplist;\n }\n } else {\n if (styleableFuncs[key].values.length <= maxCategories) {\n if (styleableFuncs[key].values.indexOf(proplist) < 0) {\n if (styleableFuncs[key].values.length >= maxCategories) {\n styleableFuncs[key].manyValues = true;\n } else {\n styleableFuncs[key].values.push(proplist);\n }\n }\n }\n if (!styleableFuncs[key].categoric) {\n const val = +proplist;\n if (val < styleableFuncs[key].min) {\n styleableFuncs[key].min = val;\n }\n if (val > styleableFuncs[key].max) {\n styleableFuncs[key].max = val;\n }\n }\n }\n } else {\n Object.keys(proplist).forEach((subkey) => {\n children[subkey] = true;\n });\n }\n }\n }\n Object.keys(children).forEach((subkey) => {\n const subroot = root.slice();\n subroot.push(subkey);\n collectStyleableProps(styleableFuncs, elements, subroot);\n });\n}\n\n/**\n * Calculate the min/max values for calculated properties.\n *\n * @param {object} styleableFuncs An object with distinct keys for functions.\n * Modified.\n * @param {array} elements A list of elements which might contain metadata\n * properties in the user key.\n */\nfunction rangeStyleableProps(styleableFuncs, elements) {\n let needsArea = true;\n Object.entries(styleableFuncs).forEach(([key, func]) => {\n if (['perimeter', 'area', 'length'].indexOf(key) >= 0) {\n needsArea = true;\n return;\n }\n if (!func.calc) {\n return;\n }\n for (let i = 0; i < elements.length; i += 1) {\n const d = elements[i];\n if (d[key] !== undefined) {\n if (func.min === undefined) {\n func.min = func.max = d[key];\n }\n if (d[key] < func.min) {\n func.min = d[key];\n }\n if (d[key] > func.max) {\n func.max = d[key];\n }\n }\n }\n });\n if (needsArea) {\n for (let i = 0; i < elements.length; i += 1) {\n const element = elements[i];\n const {area, edge} = elementAreaAndEdgeLength({el: element});\n if (styleableFuncs.area && area) {\n if (styleableFuncs.area.min === undefined) {\n styleableFuncs.area.min = styleableFuncs.area.max = area;\n styleableFuncs.area.values = new Array(elements.length);\n }\n styleableFuncs.area.values[i] = area;\n if (area < styleableFuncs.area.min) {\n styleableFuncs.area.min = area;\n }\n if (area > styleableFuncs.area.max) {\n styleableFuncs.area.max = area;\n }\n }\n if (styleableFuncs.length && edge) {\n if (styleableFuncs.length.min === undefined) {\n styleableFuncs.length.min = styleableFuncs.length.max = edge;\n styleableFuncs.length.values = new Array(elements.length);\n }\n styleableFuncs.length.values[i] = edge;\n if (edge < styleableFuncs.length.min) {\n styleableFuncs.length.min = edge;\n }\n if (edge > styleableFuncs.length.max) {\n styleableFuncs.length.max = edge;\n }\n }\n if (styleableFuncs.perimeter && edge) {\n if (styleableFuncs.perimeter.min === undefined) {\n styleableFuncs.perimeter.min = styleableFuncs.perimeter.max = edge;\n styleableFuncs.perimeter.values = new Array(elements.perimeter);\n }\n styleableFuncs.perimeter.values[i] = edge;\n if (edge < styleableFuncs.perimeter.min) {\n styleableFuncs.perimeter.min = edge;\n }\n if (edge > styleableFuncs.perimeter.max) {\n styleableFuncs.perimeter.max = edge;\n }\n }\n }\n }\n}\n\n/**\n * Given an element and a color function, compute the color needed.\n *\n * @param {elementModel} element The element for which to compute a color\n * @param {number} idx The index in the element collection\n * @param {object} colorParam A functioon record with prepared min, max,\n * range, minColor, and maxColor values.\n * @param {object} funcInfo Information about the function. If calc is true,\n * values is an array of precomputed values. Otherwise, root is an\n * attribute path in the element user object.\n * @returns {string} A color string.\n */\nfunction colorFromFunc(element, idx, colorParam, funcInfo) {\n const geo = window.geo;\n let val;\n if (funcInfo.calc) {\n val = funcInfo.values[idx];\n } else {\n val = element.get('user');\n for (let i = 0; i < funcInfo.root.length; i += 1) {\n val = (val || {})[funcInfo.root[i]];\n }\n }\n if (!_.isFinite(val)) {\n return 'rgba(0,0,0,0)';\n }\n val = Math.max(Math.min((val - colorParam.min) / colorParam.range, 1), 0);\n if (colorParam.minColor.a === undefined) {\n colorParam.minColor.a = 1;\n }\n if (colorParam.maxColor.a === undefined) {\n colorParam.maxColor.a = 1;\n }\n const clr = {\n r: val * (colorParam.maxColor.r - colorParam.minColor.r) + colorParam.minColor.r,\n g: val * (colorParam.maxColor.g - colorParam.minColor.g) + colorParam.minColor.g,\n b: val * (colorParam.maxColor.b - colorParam.minColor.b) + colorParam.minColor.b,\n a: val * (colorParam.maxColor.a - colorParam.minColor.a) + colorParam.minColor.a\n };\n return geo.util.convertColorToRGBA(clr);\n}\n\n/**\n * Create a modal dialog with fields to edit the properties of\n * an annotation before POSTing it to the server.\n */\nvar SaveAnnotation = View.extend({\n events: {\n 'click .h-access': 'access',\n 'click .h-cancel': 'cancel',\n\n 'input #h-annotation-fill-color': 'checkFixedIfPresent',\n 'changeColor #h-annotation-colorpicker-fill-color': 'checkFixedIfPresent',\n 'change #h-annotation-fill-color-func-list': 'changeFillColorFunc',\n 'input #h-annotation-fill-color-min-val': () => $('.h-functional-value #h-annotation-fill-color-min-setval').prop('checked', true),\n 'input #h-annotation-fill-color-max-val': () => $('.h-functional-value #h-annotation-fill-color-max-setval').prop('checked', true),\n\n 'input #h-annotation-line-color': 'checkFixedIfPresent',\n 'changeColor #h-annotation-colorpicker-line-color': 'checkFixedIfPresent',\n 'change #h-annotation-line-color-func-list': 'changeLineColorFunc',\n 'input #h-annotation-line-color-min-val': () => $('.h-functional-value #h-annotation-line-color-min-setval').prop('checked', true),\n 'input #h-annotation-line-color-max-val': () => $('.h-functional-value #h-annotation-line-color-max-setval').prop('checked', true),\n\n 'submit form': 'save'\n },\n\n render() {\n // clean up old colorpickers when rerendering\n this.$('.h-colorpicker').colorpicker('destroy');\n\n let elementTypes = [];\n if (this.annotation.get('annotation').elements) {\n elementTypes = this.annotation.get('annotation').elements\n .map((element) => element.type === 'polyline' ? (element.closed ? 'polygon' : 'line') : element.type)\n .filter((type, index, types) => types.indexOf(type) === index);\n }\n // should be updated when additional shape elements are supported\n const elementTypeProps = {\n point: [],\n polygon: ['perimeter', 'area'],\n line: ['length'],\n rectangle: ['perimeter', 'area', 'width', 'height', 'rotation'],\n arrow: ['length'],\n circle: ['perimeter', 'area', 'radius'],\n ellipse: ['perimeter', 'area', 'width', 'height', 'rotation']\n };\n const annotationHasEditableElements = _.filter(elementTypes, (type) => elementTypeProps[type] !== undefined).length > 0;\n const showStyleEditor = this.annotation.get('annotation').elements && !this.annotation._pageElements && annotationHasEditableElements;\n\n const defaultStyles = {};\n\n const styleableFuncs = {};\n if (showStyleEditor) {\n let scale;\n if (this.options.viewer && this.options.viewer._scale) {\n scale = this.options.viewer._scale.scale;\n }\n elementTypes.forEach((type) => {\n (elementTypeProps[type] || []).forEach((key) => {\n styleableFuncs[key] = {calc: true, key, scale, name: key};\n });\n });\n const elements = this.annotation.get('annotation').elements;\n rangeStyleableProps(styleableFuncs, elements);\n collectStyleableProps(styleableFuncs, elements.filter((d) => d.user));\n const firstElement = elements[0];\n if (elements.every((d) => d.lineWidth === firstElement.lineWidth)) {\n defaultStyles.lineWidth = firstElement.lineWidth;\n }\n if (elements.every((d) => d.lineColor === firstElement.lineColor)) {\n defaultStyles.lineColor = firstElement.lineColor;\n }\n if (elements.every((d) => d.fillColor === firstElement.fillColor)) {\n defaultStyles.fillColor = firstElement.fillColor;\n }\n }\n this._showStyleEditor = showStyleEditor;\n this._styleableFuncs = styleableFuncs;\n\n let _styleFuncs;\n if (this.annotation.attributes.annotation.attributes) {\n _styleFuncs = this.annotation.attributes.annotation.attributes._styleFuncs;\n }\n if (!_styleFuncs || !_styleFuncs.lineColor || !_styleFuncs.fillColor || !_styleFuncs.lineWidth) {\n _styleFuncs = {lineColor: {}, lineWidth: {}, fillColor: {}};\n }\n this.annotation._styleFuncs = _styleFuncs;\n\n this.$el.html(\n saveAnnotation({\n title: this.options.title,\n hasAdmin: this.annotation.get('_accessLevel') >= AccessType.ADMIN,\n annotation: this.annotation.toJSON().annotation,\n model: this.annotation,\n formatDate,\n DATE_SECOND,\n showStyleEditor,\n styleableFuncs,\n styleFuncs: this.annotation._styleFuncs,\n defaultStyles\n })\n ).girderModal(this);\n this.$('.h-colorpicker').colorpicker();\n\n if (this.annotation.id) {\n if (!this.annotation.meta) {\n this.annotation._meta = Object.assign({}, (this.annotation.get('annotation') || {}).attributes || {});\n delete this.annotation._meta._styleFuncs;\n }\n // copy the metadata to a place that is expected for the widget\n if (!this.metadataWidget) {\n this.metadataWidget = new MetadataWidget({\n item: this.annotation,\n parentView: this,\n fieldName: '_meta',\n accessLevel: this.annotation.get('_accessLevel'),\n panel: false,\n noSave: true\n });\n }\n this.metadataWidget.setItem(this.annotation);\n this.metadataWidget.accessLevel = this.annotation.get('_accessLevel');\n this.metadataWidget.setElement(this.$('.hui-annotation-metadata')).render();\n }\n\n this.$el.find('.modal-dialog').addClass('hui-save-annotation-dialog');\n this._updateFuncValues();\n return this;\n },\n\n access(evt) {\n evt.preventDefault();\n this.annotation.off('g:accessListSaved');\n new AccessWidget({\n el: $('#g-dialog-container'),\n type: 'annotation',\n hideRecurseOption: true,\n parentView: this,\n model: this.annotation,\n noAccessFlag: true\n }).on('g:accessListSaved', () => {\n this.annotation.fetch();\n });\n },\n\n cancel(evt) {\n if (this.annotation) {\n delete this.annotation._meta;\n delete this.annotation._styleFuncs;\n }\n evt.preventDefault();\n this.$el.modal('hide');\n },\n\n changeFillColorFunc() {\n $('.h-functional-value #h-annotation-fill-color-func').prop('checked', true);\n this._updateFuncValues();\n },\n\n changeLineColorFunc() {\n $('.h-functional-value #h-annotation-line-color-func').prop('checked', true);\n this._updateFuncValues();\n },\n\n checkFixedIfPresent(evt) {\n const val = $(evt.target).closest('.row').find('input[type=\"text\"]').val();\n if ((val || '').trim().length) {\n $(evt.target).closest('.row').find('input[type=\"radio\"]').prop('checked', true);\n }\n },\n\n _updateFuncValues() {\n var names = ['fill-color', 'line-color'];\n names.forEach((name) => {\n const curfunc = this.$el.find('#h-annotation-' + name + '-func-list').val();\n let mintext = '';\n let maxtext = '';\n if (this._styleableFuncs[curfunc]) {\n if (!this._styleableFuncs[curfunc].categoric) {\n mintext = 'Minimum value: ' + this._styleableFuncs[curfunc].min;\n maxtext = 'Maximum value: ' + this._styleableFuncs[curfunc].max;\n }\n }\n this.$el.find('#h-annotation-' + name + '-min-auto').parent().attr('title', mintext);\n this.$el.find('#h-annotation-' + name + '-min-setval').parent().attr('title', mintext);\n this.$el.find('#h-annotation-' + name + '-max-auto').parent().attr('title', maxtext);\n this.$el.find('#h-annotation-' + name + '-max-setval').parent().attr('title', maxtext);\n });\n },\n\n _getFunctionalProps(name, key, valueParam, setValue, color) {\n var geo = window.geo;\n\n const valueFunc = this.annotation._styleFuncs[key];\n valueFunc.useFunc = this.$('#h-annotation-' + name + '-func').prop('checked');\n valueFunc.key = this.$('#h-annotation-' + name + '-func-list').val();\n valueFunc.minColor = tinycolor(this.$('#h-annotation-' + name + '-min').val()).toRgbString();\n valueFunc.minSet = this.$('#h-annotation-' + name + '-min-setval').prop('checked');\n valueFunc.minValue = parseFloat(this.$('#h-annotation-' + name + '-min-val').val());\n valueFunc.minValue = _.isFinite(valueFunc.minValue) ? valueFunc.minValue : undefined;\n valueFunc.maxColor = tinycolor(this.$('#h-annotation-' + name + '-max').val()).toRgbString();\n valueFunc.maxSet = this.$('#h-annotation-' + name + '-max-setval').prop('checked');\n valueFunc.maxValue = parseFloat(this.$('#h-annotation-' + name + '-max-val').val());\n valueFunc.maxValue = _.isFinite(valueFunc.maxValue) ? valueFunc.maxValue : undefined;\n if (valueFunc.useFunc) {\n setValue = 'func';\n }\n valueParam.key = valueFunc.key;\n if (this._styleableFuncs[valueFunc.key]) {\n valueParam.min = valueFunc.minSet && _.isFinite(valueFunc.minValue) ? valueFunc.minValue : this._styleableFuncs[valueFunc.key].min;\n valueParam.max = valueFunc.maxSet && _.isFinite(valueFunc.maxValue) ? valueFunc.maxValue : this._styleableFuncs[valueFunc.key].max;\n valueParam.range = (valueParam.max - valueParam.min) || 1;\n valueParam.minColor = geo.util.convertColor(valueFunc.minColor);\n valueParam.maxColor = geo.util.convertColor(valueFunc.maxColor);\n } else if (setValue === 'func') {\n setValue = false;\n }\n return setValue;\n },\n\n /**\n * Respond to form submission. Triggers a `g:save` event on the\n * AnnotationModel.\n */\n save(evt) {\n evt.preventDefault();\n\n let validation = '';\n\n if (!this.$('#h-annotation-name').val()) {\n this.$('#h-annotation-name').parent().addClass('has-error');\n validation += 'Please enter a name. ';\n }\n\n let setFillColor = !!this.$('#h-annotation-fill-color').val();\n let fillColor = tinycolor(this.$('#h-annotation-fill-color').val()).toRgbString();\n let setLineColor = !!this.$('#h-annotation-line-color').val();\n let lineColor = tinycolor(this.$('#h-annotation-line-color').val()).toRgbString();\n const setLineWidth = !!this.$('#h-annotation-line-width').val();\n const lineWidth = parseFloat(this.$('#h-annotation-line-width').val());\n\n if (setLineWidth && (lineWidth < 0 || !isFinite(lineWidth))) {\n validation += 'Invalid line width. ';\n this.$('#h-annotation-line-width').parent().addClass('has-error');\n }\n\n const fillColorParam = {};\n const lineColorParam = {};\n if (this._showStyleEditor && Object.keys(this._styleableFuncs || {}).length) {\n // get functional values\n setFillColor = this._getFunctionalProps('fill-color', 'fillColor', fillColorParam, setFillColor, true);\n setLineColor = this._getFunctionalProps('line-color', 'lineColor', lineColorParam, setLineColor, true);\n }\n\n if (validation) {\n this.$('.g-validation-failed-message').text(validation.trim())\n .removeClass('hidden');\n return;\n }\n\n // all valid\n if (setFillColor || setLineColor || setLineWidth) {\n this.annotation.elements().each((element, idx) => { /* eslint-disable backbone/no-silent */\n if (setFillColor) {\n if (setFillColor === 'func') {\n fillColor = colorFromFunc(element, idx, fillColorParam, this._styleableFuncs[fillColorParam.key]);\n }\n element.set('fillColor', fillColor, {silent: true});\n }\n if (setLineColor) {\n if (setLineColor === 'func') {\n lineColor = colorFromFunc(element, idx, lineColorParam, this._styleableFuncs[lineColorParam.key]);\n }\n element.set('lineColor', lineColor, {silent: true});\n }\n if (setLineWidth) {\n element.set('lineWidth', lineWidth, {silent: true});\n }\n });\n const annotationData = _.extend({}, this.annotation.get('annotation'));\n annotationData.elements = this.annotation.elements().toJSON();\n this.annotation.set('annotation', annotationData, {silent: true});\n }\n\n const visible = this.$('#h-annotation-visible').prop('checked');\n const display = this.annotation.get('annotation').display || {};\n if (visible) {\n display.visible = true;\n } else if (display.visible === true) {\n display.visible = false;\n }\n _.extend(this.annotation.get('annotation'), {\n name: this.$('#h-annotation-name').val(),\n description: this.$('#h-annotation-description').val()\n });\n if (display !== {}) {\n this.annotation.get('annotation').display = display;\n }\n this.annotation.attributes.annotation.attributes = Object.assign({}, this.annotation._meta);\n this.annotation.attributes.annotation.attributes._styleFuncs = this.annotation._styleFuncs;\n delete this.annotation._meta;\n delete this.annotation._styleFuncs;\n this.annotation.trigger('change:annotation', this.annotation, {});\n this.trigger('g:submit');\n this.$el.modal('hide');\n },\n\n destroy() {\n this.$('.h-colorpicker').colorpicker('destroy');\n SaveAnnotation.prototype.destroy.call(this);\n }\n});\n\n/**\n * Create a singleton instance of this widget that will be rendered\n * when `show` is called.\n */\nvar dialog = new SaveAnnotation({\n parentView: null\n});\n\n/**\n * Show the save dialog box. Watch for the `g:submit` event on the\n * view to respond to user submission of the form.\n *\n * @param {AnnotationModel} annotationElement The element to edit\n * @returns {SaveAnnotation} The dialog's view\n */\nfunction show(annotation, options) {\n _.defaults(options, {title: 'Create annotation'});\n delete annotation._meta;\n dialog.annotation = annotation;\n dialog.options = options;\n dialog.setElement('#g-dialog-container').render();\n return dialog;\n}\n\nexport default show;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/dialogs/saveAnnotation.js","import $ from 'jquery';\nimport _ from 'underscore';\n\nimport Panel from '@girder/slicer_cli_web/views/Panel';\nimport {AccessType} from '@girder/core/constants';\nimport {MetadataWidget, liMetadataKeyEntry} from '@girder/large_image/views/metadataWidget';\n\nimport metadataWidgetPanelTemplate from '../templates/panels/metadataWidgetPanel.pug';\nimport '../stylesheets/panels/metadataWidget.styl';\n\n/**\n * This widget shows a list of metadata in a given item.\n */\nvar MetadataWidgetPanel = Panel.extend({\n events: _.extend(Panel.prototype.events, MetadataWidget.prototype.events, {\n 'click .h-panel-maximize': function (event) {\n this.expand(event);\n this.$('.s-panel-content').addClass('in');\n const panelElem = this.$el.closest('.s-panel');\n const maximize = !panelElem.hasClass('h-panel-maximized');\n panelElem.toggleClass('h-panel-maximized', maximize);\n panelElem.toggleClass('s-no-panel-toggle', maximize);\n }\n }),\n\n /**\n * Creates a widget to display and optionally edit metadata fields.\n *\n * @param settings.item {Model} The model object whose metadata to display.\n * Can be any model type that inherits MetadataMixin.\n * @param [settings.fieldName='meta'] {string} The name of the model attribute\n * to display/edit. The model attribute with this name should be an object\n * whose top level keys represent metadata keys.\n * @param [settings.title='Metadata'] {string} Title for the widget.\n * @param [settings.apiPath] {string} The relative API path to use when editing\n * metadata keys for this model. Defaults to using the MetadataMixin default path.\n * @param [settings.accessLevel=AccessType.READ] {AccessType} The\n * access level for this widget. Use READ for read-only, or WRITE (or greater)\n * for adding editing capabilities as well.\n * @param [settings.onMetadataAdded] {Function} A custom callback for when a\n * new metadata key is added to the list. If passed, will override the\n * default behavior of calling MetadataMixin.addMetadata.\n * @param [settings.onMetadataEdited] {Function} A custom callback for when an\n * existing metadata key is updated. If passed, will override the default\n * behavior of calling MetadataMixin.editMetadata.\n */\n\n initialize: function (settings) {\n MetadataWidget.prototype.initialize.call(this, settings);\n this.panel = settings.panel === undefined ? true : settings.panel;\n // the event is created\n this.on('li-metadata-widget-update', (event) => {\n this.renderMetadataWidgetHeader(event);\n });\n },\n\n renderMetadataWidgetHeader: function () {\n // prevent automatically collapsing the widget after rendering again\n this.render();\n },\n\n render: function () {\n if (this.item && this.item.id) {\n let func = this.item.getAccessLevel;\n if (this.item.get('_modelType') === 'annotation') {\n func = (callback) => {\n const accessLevel = this.item.getAccessLevel();\n callback(accessLevel);\n };\n }\n func.call(this.item, (accessLevel) => {\n this.accessLevel = accessLevel;\n MetadataWidget.prototype.render.call(this);\n });\n }\n return this;\n },\n\n _renderHeader: function (contents) {\n contents = $(contents).closest('.btn-group.pull-right').html();\n let firstKey = this._sortedMetaKeys[0];\n let firstValue = this._renderedMetaDict[firstKey];\n firstKey = liMetadataKeyEntry(this._limetadata, firstKey) ? liMetadataKeyEntry(this._limetadata, firstKey).title || firstKey : firstKey;\n if (_.isObject(firstValue)) {\n // if the value is a json object, JSON.stringify to make it more readable\n firstValue = JSON.stringify(firstValue);\n }\n this.$el.html(metadataWidgetPanelTemplate({\n contents,\n accessLevel: this.item.attributes._accessLevel,\n AccessType,\n firstKey,\n firstValue,\n panel: this.panel,\n title: this.title,\n collapsed: this.panel && !this.$('.s-panel-content').hasClass('in') && !this.$el.closest('.s-panel').hasClass('h-panel-maximized')\n }));\n if (this.parentView && this.parentView._orderPanels) {\n this.parentView._orderPanels();\n }\n }\n});\n\nMetadataWidgetPanel.prototype.modes = MetadataWidget.prototype.modes;\nMetadataWidgetPanel.prototype.setItem = MetadataWidget.prototype.setItem;\nMetadataWidgetPanel.prototype.getModeFromValue = MetadataWidget.prototype.getModeFromValue;\nMetadataWidgetPanel.prototype.addMetadata = function (evt, mode) {\n // expand the widget when adding new metadata\n this.$('.s-panel-content').collapse('show');\n return MetadataWidget.prototype.addMetadata.call(this, evt, mode);\n};\nMetadataWidgetPanel.prototype.addMetadataByKey = function (evt) {\n // expand the widget when adding new metadata\n this.$('.s-panel-content').collapse('show');\n return MetadataWidget.prototype.addMetadataByKey.call(this, evt);\n};\n\nexport default MetadataWidgetPanel;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/panels/MetadataWidget.js","import $ from 'jquery';\nimport 'url-search-params-polyfill';\n\nimport View from '@girder/core/views/View';\nimport {formatSize} from '@girder/core/misc';\n\nimport editRegionOfInterest from '../templates/dialogs/editRegionOfInterest.pug';\nimport '../stylesheets/panels/zoomWidget.styl';\n\nvar EditRegionOfInterest = View.extend({\n events: {\n 'change .update-form': 'updateform'\n },\n\n initialize() {\n this._sizeCte = 1000; // Constante to find\n this._format = 'JPEG'; // JPEG is the default format\n this._compressionRatio = 0.35; // JPEG ratio\n this._magnification = 0;\n },\n\n render() {\n if (this._magnification <= 1) {\n this._magnification = 1;\n } else if (this._magnification >= this.areaElement.maxMag) {\n this._magnification = this.areaElement.maxMag;\n }\n var bounds = this.scaleBounds();\n this.$el.html(\n editRegionOfInterest({\n magnification: this._magnification,\n scaleWidth: bounds.width,\n scaleHeight: bounds.height,\n maxMag: this.areaElement.maxMag,\n numberOfPixel: this.getNumberPixels(),\n fileSize: this.getConvertFileSize()\n })\n ).girderModal(this);\n this.updateform();\n return this;\n },\n\n /**\n * Convert from zoom level to magnification.\n */\n zoomToMagnification(zoom) {\n return Math.round(parseFloat(this.areaElement.maxMag) *\n Math.pow(2, zoom - parseFloat(this.areaElement.maxZoom)) * 10) / 10;\n },\n\n /**\n * Convert from magnification to zoom level.\n */\n magnificationToZoom(magnification) {\n return parseFloat(this.areaElement.maxZoom) -\n Math.log2(this.areaElement.maxMag / magnification);\n },\n\n /**\n * Convert from magnification to zoom level.\n */\n scaleBounds() {\n var zoom = this.magnificationToZoom(this._magnification);\n var factor = Math.pow(2, zoom - this.areaElement.maxZoom);\n var scaleWidth = Math.round(factor * this.areaElement.width);\n var scaleHeight = Math.round(factor * this.areaElement.height);\n return {width: scaleWidth, height: scaleHeight};\n },\n\n /**\n * Get the number of pixel in the region of interest\n */\n getNumberPixels() {\n var bounds = this.scaleBounds();\n var pixelNumber = bounds.width * bounds.height;\n return pixelNumber;\n },\n\n /**\n * Get the size of the file before download it for an image in 24b/px (result in Bytes)\n */\n getFileSize() {\n var fileSize = (this.getNumberPixels() * 3 + this._sizeCte) * this._compressionRatio;\n return fileSize;\n },\n\n /**\n * Get the size of the file in the appropriate unity (Bytes, MB, GB...)\n */\n getConvertFileSize() {\n var bytesNumber = this.getFileSize();\n var convertedSize = formatSize(bytesNumber);\n this.downloadDisable(bytesNumber >= Math.pow(2, 30));\n return convertedSize;\n },\n\n /**\n * Disable the Download button if SizeFile > 1GB\n */\n downloadDisable(bool) {\n this.$('#h-download-area-link').unbind('click');\n if (bool) {\n this.$('#h-download-area-link').attr('disabled', 'disabled');\n this.$('#h-msgDisable').removeClass('hidden');\n this.$('#h-download-area-link').bind('click', (ev) => ev.preventDefault());\n } else {\n this.$('#h-download-area-link').removeAttr('disabled');\n this.$('#h-msgDisable').addClass('hidden');\n this.$('#h-download-area-link').bind('click', () => { this.$el.girderModal('close'); });\n }\n },\n\n /**\n * Set the size of the file, bounds, format...\n * And download the image\n */\n updateform(evt) {\n const selectedOption = $('#h-download-image-format option:selected').text();\n switch (selectedOption) {\n case 'PNG':\n this._format = 'PNG';\n this._compressionRatio = 0.7;\n break;\n case 'TIFF':\n this._format = 'TIFF';\n this._compressionRatio = 0.8;\n break;\n case 'JPEG':\n default:\n // JPEG is the default format\n this._format = 'JPEG';\n this._compressionRatio = 0.35;\n break;\n }\n this._magnification = parseFloat($('#h-element-mag').val());\n const bounds = this.scaleBounds();\n this.$('#h-element-width').val(bounds.width);\n this.$('#h-element-height').val(bounds.height);\n this.$('#h-nb-pixel').val(this.getNumberPixels());\n this.$('#h-size-file').val(this.getConvertFileSize());\n this.$('#h-download-area-link').attr('href', this.getUrl());\n },\n\n /**\n * Get all data from the form and set the attributes of the\n * Region of Interest (triggering a change event)\n * Return the url to download the image\n */\n getUrl() {\n const left = this.areaElement.left;\n const top = this.areaElement.top;\n const right = left + this.areaElement.width;\n const bottom = top + this.areaElement.height;\n const magnification = parseFloat($('#h-element-mag').val());\n const params = {\n regionWidth: this.areaElement.width,\n regionHeight: this.areaElement.height,\n left,\n top,\n right,\n bottom,\n encoding: this._format,\n contentDisposition: 'attachment',\n magnification\n };\n let urlView = this.areaElement.frameAndUrl.url.replace('/zxy/{z}/{x}/{y}', '/region');\n for (const [key, value] of new URLSearchParams(urlView.replace(/[^?]*(\\?|$)/, ''))) {\n if (params[key] === undefined) {\n params[key] = value;\n }\n }\n urlView = urlView.replace(/\\?.*$/, '') + '?' + $.param(params);\n return urlView;\n }\n});\n\n/**\n * Create a singleton instance of this widget that will be rendered\n * when `show` is called.\n */\nvar dialog = new EditRegionOfInterest({\n parentView: null\n});\n\n/**\n * Show the edit dialog box. Watch for change events on the passed\n * `ElementModel` to respond to user submission of the form.\n *\n * @param {ElementModel} areaElement The element to edit\n * @returns {EditRegionOfInterest} The dialog's view\n */\nfunction show(areaElement) {\n dialog.areaElement = areaElement;\n dialog._magnification = parseFloat(areaElement.magnification);\n dialog.setElement('#g-dialog-container').render();\n return dialog;\n}\n\nexport default show;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/dialogs/editRegionOfInterest.js","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/panels/zoomWidget.styl\n// module id = 45\n// module chunks = 0","import View from '@girder/core/views/View';\n\nimport metadataPlotDialog from '../templates/dialogs/metadataPlot.pug';\nimport '@girder/core/utilities/jquery/girderModal';\n\nconst MetadataPlotDialog = View.extend({\n events: {\n 'click .h-submit': '_submit'\n },\n\n initialize(settings) {\n this.plotConfig = settings.plotConfig;\n this.plotOptions = settings.plotOptions;\n },\n\n render() {\n this.$el.html(\n metadataPlotDialog({\n plotConfig: this.plotConfig,\n plotOptions: this.plotOptions\n })\n ).girderModal(this);\n return this;\n },\n\n _submit(evt) {\n evt.preventDefault();\n const configOptions = {\n folder: this.$('#h-plot-folder').is(':checked')\n };\n ['x', 'y', 'r', 'c', 's'].forEach((series) => {\n const val = this.$('#h-plot-series-' + series).val();\n if (val !== '_none_' && val !== undefined) {\n configOptions[series] = val;\n }\n });\n this.result = configOptions;\n this.$el.modal('hide');\n }\n});\n\nexport default MetadataPlotDialog;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/dialogs/metadataPlot.js","/* globals geo */\nimport _ from 'underscore';\nimport $ from 'jquery';\n\nimport events from '@girder/core/events';\nimport Panel from '@girder/slicer_cli_web/views/Panel';\nimport {getCurrentUser} from '@girder/core/auth';\n\nimport convertAnnotation from '@girder/large_image_annotation/annotations/geojs/convert';\nimport convertRectangle from '@girder/large_image_annotation/annotations/geometry/rectangle';\nimport convertEllipse from '@girder/large_image_annotation/annotations/geometry/ellipse';\nimport convertCircle from '@girder/large_image_annotation/annotations/geometry/circle';\n\nimport StyleCollection from '../collections/StyleCollection';\nimport StyleModel from '../models/StyleModel';\nimport editElement from '../dialogs/editElement';\nimport editStyleGroups from '../dialogs/editStyleGroups';\nimport drawWidget from '../templates/panels/drawWidget.pug';\nimport drawWidgetElement from '../templates/panels/drawWidgetElement.pug';\nimport '../stylesheets/panels/drawWidget.styl';\n\n/**\n * Create a panel with controls to draw and edit\n * annotation elements.\n */\nvar DrawWidget = Panel.extend({\n events: _.extend(Panel.prototype.events, {\n 'click .h-edit-element': 'editElement',\n 'click .h-view-element': 'viewElement',\n 'click .h-delete-element': 'deleteElement',\n 'click .h-draw': 'drawElement',\n 'click .h-group-count-option .h-group-count-select': 'selectElementsInGroup',\n 'change .h-style-group': '_setToSelectedStyleGroup',\n 'change .h-brush-shape,.h-brush-size,.h-brush-screen': '_changeBrush',\n 'change .h-fixed-shape,.h-fixed-height,.h-fixed-width': '_changeShapeConstraint',\n 'click .h-configure-style-group': '_styleGroupEditor',\n 'mouseenter .h-element': '_highlightElement',\n 'mouseleave .h-element': '_unhighlightElement',\n 'click .h-dropdown-title': '_dropdownControlClick'\n }),\n\n /**\n * Create the panel.\n *\n * @param {object} settings\n * @param {ItemModel} settings.image\n * The associate large_image \"item\"\n */\n initialize(settings) {\n this.image = settings.image;\n this.annotation = settings.annotation;\n this.collection = this.annotation.elements();\n this.newElementDisplayIdStart = this.collection.length;\n this.viewer = settings.viewer;\n this.setViewer(settings.viewer);\n this.setAnnotationSelector(settings.annotationSelector);\n this._drawingType = settings.drawingType || null;\n\n this._localId = (getCurrentUser() || {}).id || 'local';\n this._editOptions = this._getEditOptions()[this._localId] || {};\n this._verifyEditOptions(this._editOptions, false);\n\n this._highlighted = {};\n this._groups = new StyleCollection();\n this._style = new StyleModel({id: this.parentView._defaultGroup});\n this.listenTo(this._groups, 'add change', this._handleStyleGroupsUpdate);\n this.listenTo(this._groups, 'remove', this.render);\n this.listenTo(this.collection, 'add remove reset', this._recalculateGroupAggregation);\n this.listenTo(this.collection, 'change update reset', this.render);\n this._groups.fetch().done(() => {\n // ensure the default style exists\n if (this._groups.has(this.parentView._defaultGroup)) {\n this._style.set(this._groups.get(this.parentView._defaultGroup).toJSON());\n } else {\n this._groups.add(this._style.toJSON());\n this._groups.get(this._style.id).save();\n }\n if (this._editOptions.style && this._groups.get(this._editOptions.style)) {\n this._setStyleGroup(this._groups.get(this._editOptions.style).toJSON());\n }\n });\n this.on('h:mouseon', (model) => {\n if (model && model.id) {\n this._highlighted[model.id] = true;\n this.$(`.h-element[data-id=\"${model.id}\"]`).addClass('h-highlight-element');\n }\n });\n this.on('h:mouseoff', (model) => {\n if (model && model.id) {\n this._highlighted[model.id] = false;\n this.$(`.h-element[data-id=\"${model.id}\"]`).removeClass('h-highlight-element');\n }\n });\n },\n\n render(updatedElement) {\n if (!this.viewer) {\n this.$el.empty();\n delete this._skipRenderHTML;\n return;\n }\n const name = (this.annotation.get('annotation') || {}).name || 'Untitled';\n if (!updatedElement || (updatedElement.attributes && updatedElement.get('type') !== 'pixelmap')) {\n this.trigger('h:redraw', this.annotation);\n }\n if (this._skipRenderHTML) {\n delete this._skipRenderHTML;\n } else {\n this.$el.html(drawWidget({\n title: 'Draw',\n elements: this.collection.models,\n groups: this._groups,\n style: this._style.id,\n defaultGroup: this.parentView._defaultGroup,\n highlighted: this._highlighted,\n name,\n opts: this._editOptions,\n drawingType: this._drawingType,\n collapsed: this.$('.s-panel-content.collapse').length && !this.$('.s-panel-content').hasClass('in'),\n firstRender: true,\n displayIdStart: 0\n }));\n this.$('.h-dropdown-content').collapse({toggle: false});\n }\n this.$('button.h-draw[data-type]').removeClass('active');\n if (this.$('.h-group-count-option').length > 0) {\n this.$('.h-group-count-options').append(this.$('.h-group-count-option'));\n } else {\n this.$('.h-group-count').hide();\n }\n if (this.$('.h-group-count-option.pixelmap').length > 0) {\n this.$('.h-group-count-option.pixelmap').remove();\n for (const element of this.collection.models) {\n if (element.attributes.type === 'pixelmap') {\n this.countPixelmap(element, 1);\n }\n }\n }\n if (this._drawingType) {\n this.$('button.h-draw[data-type=\"' + this._drawingType + '\"]').addClass('active');\n this.drawElement(undefined, this._drawingType);\n }\n if (this.viewer.annotationLayer && this.viewer.annotationLayer._boundHUIModeChange !== this) {\n this.viewer.annotationLayer._boundHUIModeChange = this;\n this.viewer.annotationLayer.geoOff(geo.event.annotation.mode);\n this.viewer.annotationLayer.geoOn(geo.event.annotation.mode, (event) => {\n if (event.mode === this.viewer.annotationLayer.modes.edit || event.oldmode === this.viewer.annotationLayer.modes.edit) {\n return;\n }\n this.$('button.h-draw').removeClass('active');\n if (this._drawingType) {\n this.$('button.h-draw[data-type=\"' + this._drawingType + '\"]').addClass('active');\n }\n if (event.mode !== this._drawingType && this._drawingType) {\n /* This makes the draw modes stay on until toggled off.\n * To turn off drawing after each annotation, add\n * this._drawingType = null;\n */\n this.drawElement(undefined, this._drawingType);\n }\n });\n }\n this._updateConstraintValueInputs();\n return this;\n },\n\n /**\n * When a region should be drawn that isn't caused by a drawing button,\n * toggle off the drawing mode.\n *\n * @param {event} Girder event that triggered drawing a region.\n */\n _widgetDrawRegion(evt) {\n if (this._drawingType) {\n this.viewer.annotationLayer.mode(null);\n this.viewer.annotationLayer.geoOff(geo.event.annotation.state);\n }\n this._drawingType = null;\n this.$('button.h-draw').removeClass('active');\n },\n\n /**\n * Set the image \"viewer\" instance. This should be a subclass\n * of `large_image/imageViewerWidget` that is capable of rendering\n * annotations.\n */\n setViewer(viewer) {\n this.viewer = viewer;\n // make sure our listeners are in the correct order.\n this.stopListening(events, 's:widgetDrawRegionEvent', this._widgetDrawRegion);\n if (viewer) {\n this.listenTo(events, 's:widgetDrawRegionEvent', this._widgetDrawRegion);\n viewer.stopListening(events, 's:widgetDrawRegionEvent', viewer.drawRegion);\n viewer.listenTo(events, 's:widgetDrawRegionEvent', viewer.drawRegion);\n }\n return this;\n },\n\n /**\n * Set the image 'annotationSelector' instance.\n */\n setAnnotationSelector(annotationSelector) {\n this.annotationSelector = annotationSelector;\n return this;\n },\n\n /**\n * Respond to a click on the \"edit\" button by rendering\n * the EditAnnotation modal dialog.\n */\n editElement(evt) {\n var origGroup = this.collection.get(this._getId(evt)).attributes.group;\n var dialog = editElement(this.collection.get(this._getId(evt)));\n this.listenToOnce(dialog, 'h:editElement', (obj) => {\n if (obj.edited) {\n // update the html immediately instead of rerendering it\n const id = obj.element.id,\n label = (obj.data.label || {}).value,\n elemType = obj.element.get('type'),\n group = obj.data.group;\n let newLabel = '';\n const labelElement = this.$(`.h-element[data-id=\"${id}\"] .h-element-label`);\n const oldLabel = labelElement.text().split(' ');\n if (label) {\n newLabel = label;\n } else if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(elemType)) {\n let oldnum = parseInt(oldLabel[oldLabel.length - 1] || '');\n if (!_.isFinite(oldnum)) {\n oldnum = '';\n }\n newLabel = `${group || this.parentView._defaultGroup} ${elemType} ${oldnum}`;\n } else {\n newLabel = oldLabel;\n }\n this.$(`.h-element[data-id=\"${id}\"] .h-element-label`).text(newLabel).attr('title', label);\n if (origGroup !== group && ['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(elemType)) {\n this.updateCount(origGroup || this.parentView._defaultGroup, -1);\n this.updateCount(group || this.parentView._defaultGroup, 1);\n }\n }\n this._skipRenderHTML = true;\n });\n },\n\n /**\n * Respond to a click on the \"view\" button by changing the\n * viewer location and zoom level to focus on one annotation\n */\n viewElement(evt) {\n const annot = this.collection._byId[$(evt.target).parent().attr('data-id')];\n let points;\n let pointAnnot = false;\n switch (annot.get('type')) {\n case 'point':\n points = [annot.get('center')];\n pointAnnot = true;\n break;\n case 'polyline':\n points = annot.get('points');\n break;\n case 'rectangle':\n points = convertRectangle(annot.attributes).coordinates[0];\n break;\n case 'ellipse':\n points = convertEllipse(annot.attributes).coordinates[0];\n break;\n case 'circle':\n points = convertCircle(annot.attributes).coordinates[0];\n break;\n }\n const xCoords = points.map((point) => point[0]);\n const yCoords = points.map((point) => point[1]);\n const bounds = {\n left: Math.min(...xCoords),\n top: Math.min(...yCoords),\n right: Math.max(...xCoords),\n bottom: Math.max(...yCoords)\n };\n const map = this.parentView.viewer;\n const originalZoomRange = map.zoomRange();\n map.zoomRange({\n min: Number.NEGATIVE_INFINITY,\n max: Number.POSITIVE_INFINITY\n });\n const newView = pointAnnot\n ? {\n center: {\n x: bounds.left,\n y: bounds.top\n },\n zoom: false\n }\n : map.zoomAndCenterFromBounds(bounds, map.rotation());\n map.zoomRange({\n min: originalZoomRange.origMin,\n max: originalZoomRange.max\n });\n if (Math.abs(newView.zoom - 1.5 - map.zoom()) <= 0.5 && map.zoom() < newView.zoom) {\n newView.zoom = false;\n }\n const distance = ((newView.center.x - map.center().x) ** 2 + (newView.center.y - map.center().y) ** 2) ** 0.5;\n map.transition({\n center: newView.center,\n zoom: newView.zoom === false ? map.zoom() : newView.zoom - 1.5,\n duration: Math.min(1000, Math.max(100, distance)),\n endClamp: false,\n interp: distance < 500 ? undefined : window.d3.interpolateZoom,\n ease: window.d3.easeExpInOut\n });\n this._skipRenderHTML = true;\n },\n\n /**\n * Respond to a click on the \"delete\" button by removing\n * the element from the element collection.\n */\n deleteElement(evt, id, opts) {\n if (evt) {\n id = this._getId(evt);\n }\n if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(this.collection.get(id).attributes.type)) {\n this.updateCount(this.collection.get(id).attributes.group || this.parentView._defaultGroup, -1);\n } else if (this.collection.get(id).attributes.type === 'pixelmap') {\n this.countPixelmap(this.collection.get(id), -1);\n }\n this.$(`.h-element[data-id=\"${id}\"]`).remove();\n this._skipRenderHTML = true;\n this.collection.remove(id, opts);\n this.newElementDisplayIdStart = +(this.$el.find('.h-element>span.h-element-label[display_id]').last().attr('display_id') || 0);\n },\n\n /**\n * Add a list of elements, updating the element container efficiently.\n *\n * @params {object[]} elements The list of elements to add to the\n * collection.\n */\n addElements(elements) {\n this._skipRenderHTML = true;\n elements = this.collection.add(elements);\n this.$el.find('.h-elements-container').append(\n drawWidgetElement({\n elements,\n style: this._style.id,\n defaultGroup: this.parentView._defaultGroup,\n highlighted: this._highlighted,\n firstRender: false,\n updateCount: this.updateCount,\n displayIdStart: this.newElementDisplayIdStart\n })\n );\n this.newElementDisplayIdStart += elements.length;\n if (this.$('.h-group-count-option.pixelmap').length > 0) {\n this.$('.h-group-count-option.pixelmap').remove();\n for (const element of this.collection.models) {\n if (element.attributes.type === 'pixelmap') {\n this.countPixelmap(element, 1);\n }\n }\n }\n },\n\n /**\n * Specify how precise ellipses are when converted to polygons.\n */\n _pixelTolerance() {\n /* null : use default,1/10 pixel at max map zoom */\n // return null;\n /* number : pixel tolerance at current screen resolution */\n return 0.25;\n /* number / unitsPerPixel(zoom) : pixel tolerance on base image */\n // return 0.5 / this.viewer.viewer.unitsPerPixel(this.viewer.viewer.zoom();\n },\n\n /**\n * Apply a boolean operation to the existign polygons.\n *\n * @param {geo.annotation[]} annotations The list of specified geojs\n * annotations.\n * @param {object} opts An object with the current boolean operation.\n * @returns {boolean} true if the operation was handled.\n */\n _applyBooleanOp(annotations, evtOpts) {\n if (!evtOpts.asPolygonList && (annotations.length !== 1 || !annotations[0].toPolygonList)) {\n return false;\n }\n const op = evtOpts.currentBooleanOperation;\n const existing = this.viewer._annotations[this.annotation.id].features.filter((f) => ['polygon', 'marker'].indexOf(f.featureType) >= 0);\n const polylist = evtOpts.asPolygonList ? annotations : annotations[0].toPolygonList({pixelTolerance: this._pixelTolerance()});\n if (!existing.length && polylist.length < 2) {\n return false;\n }\n const searchPoly = [];\n polylist.forEach((poly) => poly[0].forEach((pt) => searchPoly.push({x: pt[0], y: pt[1]})));\n const near = existing.map((f) => f.polygonSearch(\n searchPoly,\n {partial: true}, null));\n if (!near.some((n) => n.found.length) && polylist.length < 2) {\n return false;\n }\n const oldids = {};\n const geojson = {type: 'FeatureCollection', features: []};\n near.forEach((n) => n.found.forEach((element) => {\n // filter to match current style group\n if (element.properties.element && element.properties.element.group !== this._style.get('group')) {\n return;\n }\n element.properties.annotationId = element.properties.annotation;\n geojson.features.push(element);\n oldids[element.id] = true;\n }));\n if (!geojson.features.length && polylist.length < 2) {\n return false;\n }\n this.viewer.annotationLayer.removeAllAnnotations(undefined, false);\n this.viewer.annotationLayer.geojson(geojson);\n const opts = {\n correspond: {},\n keepAnnotations: 'exact',\n style: this.viewer.annotationLayer,\n pixelTolerance: this._pixelTolerance()\n };\n geo.util.polyops[op](this.viewer.annotationLayer, polylist, opts);\n const newAnnot = this.viewer.annotationLayer.annotations();\n\n this.viewer.annotationLayer.removeAllAnnotations(undefined, false);\n const elements = newAnnot.map((annot) => {\n const result = convertAnnotation(annot);\n if (!result.id) {\n result.id = this.viewer._guid();\n }\n return result;\n }).filter((annot) => !annot.points || annot.points.length);\n Object.keys(oldids).forEach((id) => this.deleteElement(undefined, id, {silent: elements.length}));\n this.addElements(\n _.map(elements, (el) => {\n el = _.extend(el, _.omit(this._style.toJSON(), 'id'));\n if (!this._style.get('group')) {\n delete el.group;\n }\n return el;\n })\n );\n return true;\n },\n\n /**\n * When the brish is set to a specific screen size, adjust the size on zoom\n * events.\n */\n _brushPan() {\n const zoom = this.viewer.viewer.zoom();\n if (zoom !== this._brushZoom) {\n this._brushZoom = zoom;\n let size = parseFloat(this._editOptions.brush_size) || 50;\n size *= this.viewer.viewer.unitsPerPixel(this._brushZoom);\n this._setBrushCoordinates(this.viewer.annotationLayer.annotations()[0], size);\n this.viewer.viewer.draw();\n }\n },\n\n /**\n * Based on the current mouse position, compute the size and position of\n * the current brush.\n *\n * @param {geo.annotation} annot The annotation to adjust.\n * @param {number} size The size of the brush.\n */\n _setBrushCoordinates(annot, size) {\n const center = this.viewer.viewer.interactor().mouse().mapgcs || {x: 0, y: 0};\n annot._coordinates([\n {x: center.x - size / 2, y: center.y - size / 2},\n {x: center.x - size / 2, y: center.y + size / 2},\n {x: center.x + size / 2, y: center.y + size / 2},\n {x: center.x + size / 2, y: center.y - size / 2}]);\n annot.modified();\n },\n\n /**\n * Handle a click or drag action for the current brush.\n *\n * @param {geo.event} evt The event that trigger this. This will either be\n * a cursor_action or cursor_click event. If no boolean operation is\n * specified, it is a union operation.\n */\n _brushAction(evt) {\n let annotations = this.viewer.annotationLayer.toPolygonList({pixelTolerance: this._pixelTolerance()});\n let elements = [convertAnnotation(this.viewer.annotationLayer.annotations()[0])];\n if (!elements[0].id) {\n elements[0].id = this.viewer._guid();\n }\n const opts = {\n currentBooleanOperation: evt.operation || 'union',\n asPolygonList: true\n };\n if (evt.event === geo.event.annotation.cursor_action) {\n if (evt.operation && evt.operation !== 'union' && evt.operation !== 'difference') {\n return;\n }\n // if this is the same action as the previous one, \"blur\" the brush\n // shapes along the direction of travel\n if (this._lastBrushState && this._lastBrushState.stateId && this._lastBrushState.stateId === evt.evt.state.stateId) {\n const shape = this._editOptions.brush_shape || 'square';\n let size = parseFloat(this._editOptions.brush_size) || 50;\n if (this._editOptions.brush_screen) {\n size *= this.viewer.viewer.unitsPerPixel(this._brushZoom);\n }\n const bbox1 = this.viewer.annotationLayer.annotations()[0]._coordinates();\n const bbox2 = this._lastBrushState.bbox;\n if (bbox1[0].x !== bbox2[0].x || bbox1[0].y !== bbox2[0].y) {\n let blur;\n if (shape === 'square') {\n const order = (bbox1[0].x - bbox2[0].x) * (bbox1[0].y - bbox2[0].y) < 0 ? 0 : 1;\n blur = [[[\n [bbox1[order].x, bbox1[order].y],\n [bbox1[order + 2].x, bbox1[order + 2].y],\n [bbox2[order + 2].x, bbox2[order + 2].y],\n [bbox2[order].x, bbox2[order].y]\n ]]];\n } else {\n const c1x = (bbox1[0].x + bbox1[2].x) * 0.5;\n const c1y = (bbox1[0].y + bbox1[2].y) * 0.5;\n const c2x = (bbox2[0].x + bbox2[2].x) * 0.5;\n const c2y = (bbox2[0].y + bbox2[2].y) * 0.5;\n const ang = Math.atan2(c2y - c1y, c2x - c1x) + Math.PI / 2;\n blur = [[[\n [c1x + size / 2 * Math.cos(ang), c1y + size / 2 * Math.sin(ang)],\n [c1x - size / 2 * Math.cos(ang), c1y - size / 2 * Math.sin(ang)],\n [c2x - size / 2 * Math.cos(ang), c2y - size / 2 * Math.sin(ang)],\n [c2x + size / 2 * Math.cos(ang), c2y + size / 2 * Math.sin(ang)]\n ]]];\n }\n annotations = geo.util.polyops.union(annotations, blur);\n elements = [{\n type: 'polyline',\n closed: true,\n points: annotations[0][0].map((pt) => ({x: pt[0], y: -pt[1], z: 0})),\n id: this.viewer._guid()\n }];\n }\n }\n this._lastBrushState = evt.evt.state;\n this._lastBrushState.bbox = this.viewer.annotationLayer.annotations()[0]._coordinates();\n } else {\n this._lastBrushState = null;\n }\n this._addDrawnElements(elements, annotations, opts);\n this._setBrushMode(true);\n // update sooner so that the hit test will work\n this.viewer.drawAnnotation(this.annotation);\n },\n\n /**\n * Switch to or update brush mode.\n *\n * @param {boolean} [forceRefresh] If true, update the annotation mode even\n * if it hasn't changed.\n */\n _setBrushMode(forceRefresh) {\n if (!this._brushPanBound) {\n this._brushPanBound = _.bind(this._brushPan, this);\n }\n this.viewer.annotationLayer.geoOff(geo.event.annotation.state);\n this.viewer.annotationLayer.geoOff(geo.event.annotation.cursor_click);\n this.viewer.annotationLayer.geoOff(geo.event.annotation.cursor_action);\n this.viewer.annotationLayer.geoOff(geo.event.pan, this._brushPanBound);\n this.viewer.annotationLayer.removeAllAnnotations();\n this.viewer.annotationLayer.geoOn(geo.event.annotation.cursor_click, (evt) => this._brushAction(evt));\n this.viewer.annotationLayer.geoOn(geo.event.annotation.cursor_action, (evt) => this._brushAction(evt));\n const shape = this._editOptions.brush_shape || 'square';\n let size = parseFloat(this._editOptions.brush_size) || 50;\n const scale = this._editOptions.brush_screen;\n if (scale) {\n this.viewer.annotationLayer.geoOn(geo.event.pan, this._brushPanBound);\n this._brushZoom = this.viewer.viewer.zoom();\n size *= this.viewer.viewer.unitsPerPixel(this._brushZoom);\n }\n const annot = geo.registries.annotations[shape === 'square' ? 'rectangle' : shape].func({layer: this.viewer.annotationLayer});\n this.viewer.annotationLayer.addAnnotation(annot);\n this._setBrushCoordinates(annot, size);\n this.viewer.annotationLayer.mode(this.viewer.annotationLayer.modes.cursor, annot);\n this._drawingType = 'brush';\n this.viewer.viewer.draw();\n },\n\n /**\n * After determining the elements intended by the current shape, add them\n * to the existing annotations with the appropriate boolean operation.\n *\n * @param {object[]} element An array of elements in our jsonschema format.\n * @param {geo.annotation[]|geo.polygonList} annotations The annotations to\n * add in a geojs format.\n */\n _addDrawnElements(element, annotations, opts) {\n opts = opts || {};\n if (opts.currentBooleanOperation) {\n const processed = this._applyBooleanOp(annotations, opts);\n if (processed || ['difference', 'intersect'].indexOf(opts.currentBooleanOperation) >= 0) {\n this.drawElement(undefined, this._drawingType);\n return undefined;\n }\n }\n // add current style group information\n this.addElements(\n _.map(element, (el) => {\n el = _.extend(el, _.omit(this._style.toJSON(), 'id'));\n if (!this._style.get('group')) {\n delete el.group;\n }\n return el;\n })\n );\n this.drawElement(undefined, this._drawingType);\n return undefined;\n },\n\n /**\n * Respond to clicking an element type by putting the image viewer into\n * \"draw\" mode.\n *\n * @param {jQuery.Event} [evt] The button click that triggered this event.\n * `undefined` to use a passed-in type.\n * @param {string|null} [type] If `evt` is `undefined`, switch to this draw\n * mode.\n * @param {boolean} [forceRefresh] If true, update the annotation mode even\n * if it hasn't changed.\n */\n drawElement(evt, type, forceRefresh) {\n var $el;\n if (evt) {\n $el = this.$(evt.currentTarget);\n $el.tooltip('hide');\n type = $el.hasClass('active') ? null : $el.data('type');\n } else {\n $el = this.$('button.h-draw[data-type=\"' + type + '\"]');\n }\n if (this.viewer.annotationLayer.mode() === type && this._drawingType === type && (!type || this.viewer.annotationLayer.currentAnnotation) && !forceRefresh) {\n return;\n }\n if (this.viewer.annotationLayer.mode()) {\n this._drawingType = null;\n this.viewer.annotationLayer.mode(null);\n this.viewer.annotationLayer.geoOff(geo.event.annotation.state);\n if (this._brushPanBound) {\n this.viewer.annotationLayer.geoOff(geo.event.pan, this._brushPanBound);\n }\n this.viewer.annotationLayer.removeAllAnnotations();\n }\n if (type === 'brush') {\n this._setBrushMode(forceRefresh);\n } else if (type) {\n this.parentView._resetSelection();\n // always show the active annotation when drawing a new element\n this.annotation.set('displayed', true);\n this._drawingType = type;\n\n const options = {modeOptions: {}};\n if (this._editOptions.size_mode === 'fixed_aspect_ratio') {\n options.modeOptions.constraint = this._editOptions.fixed_width / this._editOptions.fixed_height;\n } else if (this._editOptions.size_mode === 'fixed_size') {\n options.modeOptions.constraint = {width: this._editOptions.fixed_width, height: this._editOptions.fixed_height};\n }\n\n this.viewer.startDrawMode(type, options)\n .then((element, annotations, opts) => this._addDrawnElements(element, annotations, opts));\n }\n this.$('button.h-draw[data-type]').removeClass('active');\n if (this._drawingType) {\n if (this.parentView.annotationSelector) {\n this.parentView.annotationSelector.selectAnnotationByRegionCancel();\n }\n this.$('button.h-draw[data-type=\"' + this._drawingType + '\"]').addClass('active');\n }\n },\n\n cancelDrawMode() {\n this.drawElement(undefined, null);\n this.viewer.annotationLayer._boundHUIModeChange = false;\n this.viewer.annotationLayer.geoOff(geo.event.annotation.state);\n },\n\n drawingType() {\n return this._drawingType;\n },\n\n /**\n * Get the element id from a click event.\n */\n _getId(evt) {\n return this.$(evt.currentTarget).parent('.h-element').data('id');\n },\n\n /**\n * Fetch the current edit options from browser local storage. This is for\n * all users.\n *\n * @returns {object} The current edit options for all users.\n */\n _getEditOptions() {\n let hui = {};\n try {\n hui = JSON.parse(window.localStorage.getItem('histomicsui') || '{}');\n } catch (err) { }\n if (!_.isObject(hui)) {\n hui = {};\n }\n return hui;\n },\n\n /**\n * Set the current edit options for the current user.\n *\n * @param {object} [opts] A dictionary of options to update the existing\n * options. If unspecified, just store the current options.\n */\n _saveEditOptions(opts) {\n let update = false;\n if (opts) {\n Object.entries(opts).forEach(([key, value]) => {\n if (this._editOptions[key] !== value) {\n this._editOptions[key] = value;\n update = true;\n }\n });\n }\n if (update || !opts) {\n this._verifyEditOptions(this._editOptions);\n try {\n const hui = this._getEditOptions();\n hui[this._localId] = this._editOptions;\n window.localStorage.setItem('histomicsui', JSON.stringify(hui));\n } catch (err) {\n console.warn('Failed to write localStorage');\n console.log(err);\n }\n }\n },\n\n /**\n * Validate a set of edit options. Optional raise on error.\n *\n * @param {object} opts The options to validate and fix.\n * @param {boolean} [raiseOnError] If true, throw an error if validation\n * fails.\n */\n _verifyEditOptions(opts, raiseOnError) {\n if (raiseOnError && opts.brush_shape && ['square', 'circle'].indexOf(opts.brush_shape) < 0) {\n throw new Error('Brush is not a valid shape');\n }\n if (!opts.brush_shape || ['square', 'circle'].indexOf(opts.brush_shape) < 0) {\n opts.brush_shape = 'square';\n }\n if (raiseOnError && opts.brush_size && !(parseFloat(opts.brush_size) > 0)) {\n throw new Error('Brush size is not a positive number');\n }\n if (!opts.brush_size || !(parseFloat(opts.brush_size) > 0)) {\n opts.brush_size = 50;\n }\n if (!opts.size_mode) {\n opts.size_mode = 'unconstrained';\n }\n },\n\n updateCount(groupName, change) {\n const groupElem = $('.h-group-count-options > [data-group=\"' + groupName + '\"]');\n if (groupElem.length > 0) {\n const newCount = parseInt(groupElem.attr('data-count')) + change;\n groupElem.attr('data-count', newCount);\n if (newCount > 0) {\n for (const group of $('.h-group-count-option').toArray()) {\n const count = parseInt($(group).attr('data-count'));\n if (newCount > count) {\n $(group).before(groupElem);\n break;\n } else if (group !== groupElem[0] && newCount === count) {\n if ($(group).attr('data-group') < groupName) {\n $(group).after(groupElem);\n } else {\n $(group).before(groupElem);\n }\n break;\n } else if (group === $('.h-group-count-options:last-child')[0]) {\n $(group).after(groupElem);\n }\n }\n groupElem.find('.h-group-count-value').html(newCount + ' ' + groupName).show();\n } else {\n groupElem.remove();\n }\n } else if (change !== 0) {\n const span = ($('.h-group-count-option:first span.h-group-count-select')[0] || {}).outerHTML || '';\n const newrecord = '
' + change + ' ' + groupName + '' + span + '
';\n console.log(newrecord);\n for (const group of $('.h-group-count-option').toArray().reverse()) {\n if ($(group).attr('data-count') > change || ($(group).attr('data-count') === change && $(group).attr('data-group') < groupName)) {\n $(group).after(newrecord);\n break;\n } else if (group === $('.h-group-count-options:first-child')[0]) {\n $(group).before(newrecord);\n }\n }\n if ($('.h-group-count-options > [data-group=\"' + groupName + '\"]').length === 0) {\n $('.h-group-count-options').append(newrecord);\n }\n }\n if ($('.h-group-count-option').length === 0) {\n $('.h-group-count').hide();\n } else {\n $('.h-group-count').show();\n }\n },\n\n countPixelmap(pixelmap, operation) {\n const toChange = {};\n for (let ix = 0; ix < pixelmap.get('values').length; ix++) {\n const groupName = (pixelmap.get('categories')[pixelmap.get('values')[ix]]).label || this.parentView._defaultGroup;\n if (toChange[groupName]) {\n toChange[groupName]++;\n } else {\n toChange[groupName] = 1;\n }\n }\n for (const group in toChange) {\n this.updateCount(group, operation * toChange[group]);\n }\n },\n\n /**\n * Set the current style group. This should take a plain object, not a\n * backbone object. Given a group name, this can be obtained by something\n * like\n * this._setStyleGroup(this._groups.get(groupName).toJSON());\n *\n * @param {object} group The new group.\n */\n _setStyleGroup(group) {\n this._style.set(group);\n if (!group.group && this._style.id !== this.parentView._defaultGroup) {\n this._style.set('group', this._style.id);\n } else if (this._style.get('group') && this._style.id === this.parentView._defaultGroup) {\n this._style.unset('group');\n }\n if (!group.label && this._style.get('label')) {\n this._style.unset('label');\n }\n this.$('.h-style-group').val(group.id);\n this._saveEditOptions({style: group.id});\n },\n\n /**\n * Set the current style group based on the current controls.\n */\n _setToSelectedStyleGroup() {\n this._setStyleGroup(this._groups.get(this.$('.h-style-group').val()).toJSON());\n },\n\n selectElementsInGroup(evt) {\n const group = $(evt.target).closest('[data-group]').attr('data-group');\n this.parentView._selectElementsByGroup(group);\n },\n\n /**\n * For a dropdown control widget, handle expanding and collapsing.\n *\n * @param {jquery.Event} e The event that triggered this toggle.\n */\n _dropdownControlClick(e) {\n e.stopImmediatePropagation();\n const content = $(e.target).parent().find('.h-dropdown-content');\n const isCollapsed = !content.hasClass('in');\n const buttons = $(e.target).closest('.h-draw-tools').find('.btn-group');\n buttons.find('.h-dropdown-content').each((idx, dropdown) => {\n dropdown = $(dropdown);\n if (!dropdown.is(content) && dropdown.hasClass('in')) {\n dropdown.collapse('toggle');\n dropdown.parent().find('.icon-up-open').removeClass('icon-up-open').addClass('icon-down-open');\n }\n });\n content.collapse('toggle');\n $(e.target).find('.icon-down-open,.icon-up-open').removeClass(\n isCollapsed ? 'icon-down-open' : 'icon-up-open').addClass(\n isCollapsed ? 'icon-up-open' : 'icon-down-open');\n // Select the corresponding radio button for the current size_mode\n $(`input[mode=\"${this._editOptions.size_mode || 'unconstrained'}\"]`, $(e.target.parentNode)).trigger('click');\n },\n\n /**\n * Change the size, shape, or screen flag on the current brush.\n */\n _changeBrush(e) {\n const opts = {\n brush_shape: this.$('.h-brush-shape:checked').attr('shape'),\n brush_size: parseFloat(this.$('.h-brush-size').val()),\n brush_screen: this.$('.h-brush-screen').is(':checked')\n };\n this._saveEditOptions(opts);\n this.$('.h-draw[data-type=\"brush\"]').attr('shape', this._editOptions.brush_shape);\n if (this._drawingType === 'brush') {\n this.drawElement(undefined, 'brush', true);\n }\n },\n\n /**\n * Show or hide width/height input depending on the currently selected drawing mode.\n */\n _updateConstraintValueInputs() {\n if (['fixed_aspect_ratio', 'fixed_size'].includes(this.$('.h-fixed-shape:checked').attr('mode'))) {\n this.$('.h-fixed-values').show();\n } else {\n this.$('.h-fixed-values').hide();\n }\n },\n\n /**\n * Update the width/height constraint for a shape being drawn with a fixed\n * aspect ratio or fixed size.\n */\n _changeShapeConstraint(evt) {\n const opts = {\n size_mode: this.$('.h-fixed-shape:checked').attr('mode'),\n fixed_width: parseFloat(this.$('.h-fixed-width').val()),\n fixed_height: parseFloat(this.$('.h-fixed-height').val())\n };\n this._saveEditOptions(opts);\n\n this._updateConstraintValueInputs();\n\n if (opts.size_mode === 'fixed_aspect_ratio') {\n this.viewer.startDrawMode(this._drawingType, {modeOptions: {constraint: opts.fixed_width / opts.fixed_height}});\n } else if (opts.size_mode === 'fixed_size') {\n this.viewer.startDrawMode(this._drawingType, {modeOptions: {constraint: {width: opts.fixed_width, height: opts.fixed_height}}});\n } else {\n this.viewer.startDrawMode(this._drawingType);\n }\n },\n\n /**\n * Cycle through available brush shapes.\n */\n nextBrushShape() {\n this.$('.h-brush-shape[name=\"h-brush-shape\"][shape=\"' + this.$('.h-brush-shape[name=\"h-brush-shape\"]:checked').attr('next_shape') + '\"]').prop('checked', true);\n this._changeBrush();\n },\n\n /**\n * Change the current brush size.\n *\n * @param {number} A number to add to the current size.\n */\n adjustBrushSize(delta) {\n const newval = Math.max(1, parseFloat(this.$('.h-brush-size').val()) + delta);\n this.$('.h-brush-size').val(newval);\n this._changeBrush();\n },\n\n /**\n * Set the style group to the next available group in the dropdown.\n *\n * If the currently selected group is the last group in the dropdown,\n * the first group in the dropdown is selected instead.\n */\n setToNextStyleGroup() {\n let nextGroup = this.$('.h-style-group option:selected').next().val();\n // A style group can have an empty string for a name, so we must explicitly\n // test if this is undefined instead of just testing truthiness.\n if (nextGroup === undefined) {\n nextGroup = this.$('.h-style-group option:first').val();\n }\n this._setStyleGroup(this._groups.get(nextGroup).toJSON());\n },\n\n /**\n * Set the style group to the previous available group in the dropdown.\n *\n * If the currently selected group is the first group in the dropdown,\n * the last group in the dropdown is selected instead.\n */\n setToPrevStyleGroup() {\n let prevGroup = this.$('.h-style-group option:selected').prev().val();\n // A style group can have an empty string for a name, so we must explicitly\n // test if this is undefined instead of just testing truthiness.\n if (prevGroup === undefined) {\n prevGroup = this.$('.h-style-group option:last-child').val();\n }\n this._setStyleGroup(this._groups.get(prevGroup).toJSON());\n },\n\n getStyleGroup() {\n return this._style;\n },\n\n _styleGroupEditor() {\n var dlg = editStyleGroups(this._style, this._groups, this.parentView._defaultGroup);\n dlg.$el.on('hidden.bs.modal', () => {\n this.render();\n this.parentView.trigger('h:styleGroupsEdited', this._groups);\n });\n },\n\n _handleStyleGroupsUpdate() {\n this.render();\n this.trigger('h:styleGroupsUpdated', this._groups);\n },\n\n _highlightElement(evt) {\n const id = $(evt.currentTarget).data('id');\n const annotType = this.collection._byId[id].get('type');\n if (this.annotationSelector._interactiveMode && ['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(annotType)) {\n $(evt.currentTarget).find('.h-view-element').show();\n }\n this.parentView.trigger('h:highlightAnnotation', this.annotation.id, id);\n },\n\n _unhighlightElement(evt) {\n $(evt.currentTarget).find('.h-view-element').hide();\n this.parentView.trigger('h:highlightAnnotation');\n },\n\n _recalculateGroupAggregation() {\n const groups = [];\n const used = {};\n this.collection.forEach((el) => {\n const group = el.get('group') || '__null__';\n if (!used[group]) {\n used[group] = true;\n if (group !== '__null__') {\n groups.push(group);\n }\n }\n });\n if (used.__null__) {\n groups.push(null);\n }\n this.annotation.set('groups', groups);\n }\n});\n\nexport default DrawWidget;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/panels/DrawWidget.js","import mod from \"-!../../../../babel-loader/lib/index.js??ref--10-0!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHeatmapOrGridDataContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../babel-loader/lib/index.js??ref--10-0!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHeatmapOrGridDataContainer.vue?vue&type=script&lang=js&\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue?vue&type=script&lang=js&\n// module id = 48\n// module chunks = 0","\n\n\n\n\n\n// WEBPACK FOOTER //\n// node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue","import mod from \"-!../../../../babel-loader/lib/index.js??ref--10-0!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHeatmapOrGridData.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../babel-loader/lib/index.js??ref--10-0!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHeatmapOrGridData.vue?vue&type=script&lang=js&\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue?vue&type=script&lang=js&\n// module id = 50\n// module chunks = 0","\n\n\n\n\n\n// WEBPACK FOOTER //\n// node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue","import mod from \"-!../../../../babel-loader/lib/index.js??ref--10-0!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPickerInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../babel-loader/lib/index.js??ref--10-0!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPickerInput.vue?vue&type=script&lang=js&\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue?vue&type=script&lang=js&\n// module id = 52\n// module chunks = 0","\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\":\"- var counts = {};\\n- var displayIdOffset = 0;\\n- var pixelmap = false;\\n- var typeCounts = {};\\nif elements.length\\n each element in elements\\n -\\n var classes = highlighted[element.id] ? ['h-highlight-element'] : [];\\n element = element.toJSON();\\n var groupName = element['group'] ? element['group'] : defaultGroup;\\n var type = element.type === 'polyline' ? (element.closed ? 'polygon' : 'line') : element.type;\\n var displayId = ++displayIdOffset + displayIdStart;\\n var label = ((element.label || {}).value || type);\\n if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.type)) {\\n if (counts[groupName]) {\\n counts[groupName]++;\\n } else {\\n counts[groupName] = 1;\\n }\\n } else {\\n if (typeCounts[type] \\u003E 0) {\\n typeCounts[type]++;\\n } else {\\n typeCounts[type] = 1;\\n }\\n }\\n if (!(element.label || {}).value) {\\n if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.type)) {\\n label = groupName + ' ' + label + ' ' + displayId;\\n } else {\\n if (typeCounts[type] \\u003E 1) {\\n label = label + ' ' + displayId;\\n }\\n }\\n }\\n if (element.type === 'pixelmap') {\\n pixelmap = true;\\n }\\n .h-element(data-id=element.id, class=classes)\\n span.icon-cog.h-edit-element(title='Change style')\\n span.h-element-label(title=label, display_id=displayId) #{label}\\n span.icon-zoom-in.h-view-element(title='View annotation')\\n span.icon-cancel.h-delete-element(title='Remove')\\nif pixelmap\\n .h-group-count-option.pixelmap.hidden\\nif firstRender\\n -\\n var order = (Object.entries(counts)).sort((a, b) =\\u003E {\\n if (a[1] === b[1]) {\\n if (a[0] \\u003E b[0]) {\\n return 1;\\n }\\n return -1;\\n }\\n return b[1] - a[1];\\n })\\n - for (let group of order)\\n .h-group-count-option(data-group=group[0], data-count=group[1])\\n span.h-group-count-value #{group[1]} #{group[0]}\\n span.icon-marquee.h-group-count-select(title=\\\"Select all elements in this group\\\")\\nelse\\n - for (let group in counts)\\n - updateCount(group, counts[group]);\\n\"};\n;var locals_for_with = (locals || {});(function (Object, defaultGroup, displayIdStart, elements, firstRender, highlighted, updateCount) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar counts = {};\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar displayIdOffset = 0;\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar pixelmap = false;\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar typeCounts = {};\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nif (elements.length) {\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\n// iterate elements\n;(function(){\n var $$obj = elements;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var element = $$obj[pug_index0];\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar classes = highlighted[element.id] ? ['h-highlight-element'] : [];\nelement = element.toJSON();\nvar groupName = element['group'] ? element['group'] : defaultGroup;\nvar type = element.type === 'polyline' ? (element.closed ? 'polygon' : 'line') : element.type;\nvar displayId = ++displayIdOffset + displayIdStart;\nvar label = ((element.label || {}).value || type);\nif (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.type)) {\n if (counts[groupName]) {\n counts[groupName]++;\n } else {\n counts[groupName] = 1;\n }\n} else {\n if (typeCounts[type] > 0) {\n typeCounts[type]++;\n } else {\n typeCounts[type] = 1;\n }\n}\nif (!(element.label || {}).value) {\n if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.type)) {\n label = groupName + ' ' + label + ' ' + displayId;\n } else {\n if (typeCounts[type] > 1) {\n label = label + ' ' + displayId;\n }\n }\n}\nif (element.type === 'pixelmap') {\n pixelmap = true;\n}\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"h-element\",classes], [false,true]), false, true)+pug.attr(\"data-id\", element.id, true, true)) + \"\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog h-edit-element\\\" title=\\\"Change style\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-element-label\\\"\"+pug.attr(\"title\", label, true, true)+pug.attr(\"display_id\", displayId, true, true)) + \"\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = label) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-zoom-in h-view-element\\\" title=\\\"View annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cancel h-delete-element\\\" title=\\\"Remove\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var element = $$obj[pug_index0];\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar classes = highlighted[element.id] ? ['h-highlight-element'] : [];\nelement = element.toJSON();\nvar groupName = element['group'] ? element['group'] : defaultGroup;\nvar type = element.type === 'polyline' ? (element.closed ? 'polygon' : 'line') : element.type;\nvar displayId = ++displayIdOffset + displayIdStart;\nvar label = ((element.label || {}).value || type);\nif (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.type)) {\n if (counts[groupName]) {\n counts[groupName]++;\n } else {\n counts[groupName] = 1;\n }\n} else {\n if (typeCounts[type] > 0) {\n typeCounts[type]++;\n } else {\n typeCounts[type] = 1;\n }\n}\nif (!(element.label || {}).value) {\n if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.type)) {\n label = groupName + ' ' + label + ' ' + displayId;\n } else {\n if (typeCounts[type] > 1) {\n label = label + ' ' + displayId;\n }\n }\n}\nif (element.type === 'pixelmap') {\n pixelmap = true;\n}\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"h-element\",classes], [false,true]), false, true)+pug.attr(\"data-id\", element.id, true, true)) + \"\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog h-edit-element\\\" title=\\\"Change style\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-element-label\\\"\"+pug.attr(\"title\", label, true, true)+pug.attr(\"display_id\", displayId, true, true)) + \"\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = label) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-zoom-in h-view-element\\\" title=\\\"View annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cancel h-delete-element\\\" title=\\\"Remove\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\n}\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nif (pixelmap) {\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-group-count-option pixelmap hidden\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nif (firstRender) {\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar order = (Object.entries(counts)).sort((a, b) => {\n if (a[1] === b[1]) {\n if (a[0] > b[0]) {\n return 1;\n }\n return -1;\n }\n return b[1] - a[1];\n})\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nfor (let group of order)\n{\n;pug_debug_line = 58;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"h-group-count-option\\\"\"+pug.attr(\"data-group\", group[0], true, true)+pug.attr(\"data-count\", group[1], true, true)) + \"\\u003E\";\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"h-group-count-value\\\"\\u003E\";\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = group[1]) ? \"\" : pug_interp));\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \" \";\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = group[0]) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 60;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-marquee h-group-count-select\\\" title=\\\"Select all elements in this group\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n}\nelse {\n;pug_debug_line = 62;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nfor (let group in counts)\n{\n;pug_debug_line = 63;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nupdateCount(group, counts[group]);\n}\n}}.call(this,\"Object\" in locals_for_with?locals_for_with.Object:typeof Object!==\"undefined\"?Object:undefined,\"defaultGroup\" in locals_for_with?locals_for_with.defaultGroup:typeof defaultGroup!==\"undefined\"?defaultGroup:undefined,\"displayIdStart\" in locals_for_with?locals_for_with.displayIdStart:typeof displayIdStart!==\"undefined\"?displayIdStart:undefined,\"elements\" in locals_for_with?locals_for_with.elements:typeof elements!==\"undefined\"?elements:undefined,\"firstRender\" in locals_for_with?locals_for_with.firstRender:typeof firstRender!==\"undefined\"?firstRender:undefined,\"highlighted\" in locals_for_with?locals_for_with.highlighted:typeof highlighted!==\"undefined\"?highlighted:undefined,\"updateCount\" in locals_for_with?locals_for_with.updateCount:typeof updateCount!==\"undefined\"?updateCount:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/panels/drawWidgetElement.pug","module.exports = (__webpack_require__(4))(43);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/collections/UserCollection.js from dll-reference girder_plugin_large_image_annotation\n// module id = 55\n// module chunks = 0","module.exports = (__webpack_require__(12))(173);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/collections/ItemCollection.js from dll-reference girder_lib\n// module id = 56\n// module chunks = 0","module.exports = (__webpack_require__(2))(20);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/widgets/BrowserWidget.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 57\n// module chunks = 0","import $ from 'jquery';\nimport _ from 'underscore';\nimport View from '@girder/core/views/View';\n\nimport PluginConfigBreadcrumbWidget from '@girder/core/views/widgets/PluginConfigBreadcrumbWidget';\nimport BrowserWidget from '@girder/core/views/widgets/BrowserWidget';\nimport {restRequest} from '@girder/core/rest';\nimport events from '@girder/core/events';\nimport router from '@girder/core/router';\n\nimport {HuiSettings} from '../utils';\n\nimport ConfigViewTemplate from '../../templates/body/configView.pug';\nimport '../../stylesheets/body/configView.styl';\n\n/**\n * Show the default quota settings for users and collections.\n */\nvar ConfigView = View.extend({\n events: {\n 'click #g-hui-save': function (event) {\n this.$('#g-hui-error-message').text('');\n var settings = _.map(this.settingsKeys, (key) => {\n const element = this.$('#g-' + key.replace('histomicsui', 'hui').replace(/[_.]/g, '-'));\n var result = {\n key,\n value: element.val() || null\n };\n switch (key) {\n case 'histomicsui.quarantine_folder':\n result.value = result.value ? result.value.split(' ')[0] : '';\n break;\n case 'histomicsui.delete_annotations_after_ingest':\n result.value = this.$('.g-hui-delete-annotations-after-ingest').prop('checked');\n break;\n case 'histomicsui.help_url':\n case 'histomicsui.help_tooltip':\n case 'histomicsui.help_text':\n result.value = result.value === null || !result.value.trim() ? '' : result.value;\n break;\n }\n return result;\n });\n this._saveSettings(settings);\n },\n 'click #g-hui-brand-default-color': function () {\n this.$('#g-hui-brand-color').val(this.defaults['histomicsui.brand_color']);\n },\n 'click #g-hui-banner-default-color': function () {\n this.$('#g-hui-banner-color').val(this.defaults['histomicsui.banner_color']);\n },\n 'click #g-hui-help-default-url': function () {\n this.$('#g-hui-help-url').val(this.defaults['histomicsui.help_url']);\n this.$('#g-hui-help-url').trigger('change');\n },\n 'click #g-hui-help-default-text': function () {\n this.$('#g-hui-help-text').val(this.defaults['histomicsui.help_text']);\n },\n 'click #g-hui-help-default-tooltip': function () {\n this.$('#g-hui-help-tooltip').val(this.defaults['histomicsui.help_tooltip']);\n },\n 'click #g-hui-cancel': function (event) {\n router.navigate('plugins', {trigger: true});\n },\n 'change #g-hui-help-url': function (event) {\n if (this.$('#g-hui-help-url').val().trim() === '') {\n this.$('#g-hui-help-text-container').children().attr('disabled', 'disabled');\n this.$('#g-hui-help-tooltip-container').children().attr('disabled', 'disabled');\n } else {\n this.$('#g-hui-help-text-container').children().removeAttr('disabled');\n this.$('#g-hui-help-tooltip-container').children().removeAttr('disabled');\n }\n },\n 'click .g-open-browser': '_openBrowser'\n },\n initialize: function () {\n this.breadcrumb = new PluginConfigBreadcrumbWidget({\n pluginName: 'HistomicsUI',\n parentView: this\n });\n\n this.settingsKeys = [\n 'histomicsui.webroot_path',\n 'histomicsui.brand_name',\n 'histomicsui.brand_color',\n 'histomicsui.banner_color',\n 'histomicsui.default_draw_styles',\n 'histomicsui.panel_layout',\n 'histomicsui.quarantine_folder',\n 'histomicsui.delete_annotations_after_ingest',\n 'histomicsui.help_url',\n 'histomicsui.help_tooltip',\n 'histomicsui.help_text'\n ];\n $.when(\n restRequest({\n method: 'GET',\n url: 'system/setting/default',\n data: {\n list: JSON.stringify(this.settingsKeys),\n default: 'none'\n }\n }).done((resp) => {\n this.settings = resp;\n }),\n restRequest({\n method: 'GET',\n url: 'system/setting/default',\n data: {\n list: JSON.stringify(this.settingsKeys),\n default: 'default'\n }\n }).done((resp) => {\n this.defaults = resp;\n })\n ).done(() => {\n this.render();\n });\n\n this._browserWidgetView = new BrowserWidget({\n parentView: this,\n titleText: 'Quarantine Destination',\n helpText: 'Browse to a location to select it as the destination.',\n submitText: 'Select Destination',\n validate: function (model) {\n const isValid = $.Deferred();\n if (!model || model.get('_modelType') !== 'folder') {\n isValid.reject('Please select a folder.');\n } else {\n isValid.resolve();\n }\n return isValid.promise();\n }\n });\n this.listenTo(this._browserWidgetView, 'g:saved', function (val) {\n this.$('#g-hui-quarantine-folder').val(val.id);\n restRequest({\n url: `resource/${val.id}/path`,\n method: 'GET',\n data: {type: val.get('_modelType')}\n }).done((result) => {\n // Only add the resource path if the value wasn't altered\n if (this.$('#g-hui-quarantine-folder').val() === val.id) {\n this.$('#g-hui-quarantine-folder').val(`${val.id} (${result})`);\n }\n });\n });\n },\n\n render: function () {\n this.$el.html(ConfigViewTemplate({\n settings: this.settings,\n defaults: this.defaults\n }));\n this.$('#g-hui-help-url').trigger('change');\n this.breadcrumb.setElement(this.$('.g-config-breadcrumb-container')).render();\n return this;\n },\n\n _saveSettings: function (settings) {\n return restRequest({\n method: 'PUT',\n url: 'system/setting',\n data: {\n list: JSON.stringify(settings)\n },\n error: null\n }).done(() => {\n HuiSettings.clearSettingsCache();\n events.trigger('g:alert', {\n icon: 'ok',\n text: 'Settings saved.',\n type: 'success',\n timeout: 4000\n });\n }).fail((resp) => {\n this.$('#g-hui-error-message').text(\n resp.responseJSON.message\n );\n });\n },\n\n _openBrowser: function () {\n this._browserWidgetView.setElement($('#g-dialog-container')).render();\n }\n});\n\nexport default ConfigView;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/body/ConfigView.js","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/views/itemList.styl\n// module id = 59\n// module chunks = 0","import events from '@girder/core/events';\nimport router from '@girder/core/router';\n\nimport {registerPluginNamespace} from '@girder/core/pluginUtils';\nimport {exposePluginConfig} from '@girder/core/utilities/PluginUtils';\n\n// expose symbols under girder.plugins\nimport * as histomicsui from '@girder/histomicsui';\n\n// import modules for side effects\nimport './views/itemList';\nimport './views/itemPage';\nimport './views/HierarchyWidget';\nimport './views/searchResultsView';\n\nimport ConfigView from './views/body/ConfigView';\n\nconst pluginName = 'histomicsui';\nconst configRoute = `plugins/${pluginName}/config`;\n\nregisterPluginNamespace(pluginName, histomicsui);\n\nexposePluginConfig(pluginName, configRoute);\n\nrouter.route(configRoute, 'HistomicsUIConfig', function () {\n events.trigger('g:navigateTo', ConfigView);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/main.js","module.exports = (__webpack_require__(2))(38);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/pluginUtils.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 62\n// module chunks = 0","import App from './app.js';\nimport router from './router';\nimport events from './events';\n\nimport * as collections from './collections';\nimport * as dialogs from './dialogs';\nimport * as models from './models';\nimport * as panels from './panels';\nimport * as views from './views';\n\nexport {\n App,\n router,\n events,\n collections,\n dialogs,\n models,\n panels,\n views\n};\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/index.js","import _ from 'underscore';\nimport Backbone from 'backbone';\n\nimport '@girder/fontello/dist/css/animation.css';\nimport '@girder/fontello/dist/css/fontello.css';\n\nimport GirderApp from '@girder/core/views/App';\nimport eventStream from '@girder/core/utilities/EventStream';\nimport {getCurrentUser, setCurrentToken} from '@girder/core/auth';\nimport {splitRoute} from '@girder/core/misc';\n\nimport router from './router';\nimport HeaderView from './views/layout/HeaderView';\nimport bindRoutes from './routes';\n\nimport layoutTemplate from './templates/layout/layout.pug';\nimport './stylesheets/layout/layout.styl';\n\nfunction getQuery() {\n var query = document.location.search.replace(/(^\\?)/, '').split('&').map(function (n) {\n n = n.split('=');\n if (n[0]) {\n this[decodeURIComponent(n[0].replace(/\\+/g, '%20'))] = decodeURIComponent(n[1].replace(/\\+/g, '%20'));\n }\n return this;\n }.bind({}))[0];\n return query;\n}\n\nvar App = GirderApp.extend({\n initialize(settings) {\n if (getQuery().token) {\n setCurrentToken(getQuery().token);\n }\n this.settings = settings;\n return GirderApp.prototype.initialize.apply(this, arguments);\n },\n\n render() {\n this.$el.html(layoutTemplate());\n\n this.huiHeader = new HeaderView({\n el: this.$('#g-app-header-container'),\n parentView: this,\n settings: this.settings\n }).render();\n\n /* Only show job progress */\n const plv = this.progressListView;\n if (!plv._origHandleProgress) {\n plv._origHandleProgress = plv._handleProgress;\n plv._handleProgress = function (progress) {\n if (!_.has(plv._map, progress._id) && (progress.data || {}).resourceName !== 'job') {\n return;\n }\n return plv._origHandleProgress(progress);\n };\n plv.stopListening(plv.eventStream, 'g:event.progress', plv._origHandleProgress, plv);\n plv.listenTo(plv.eventStream, 'g:event.progress', plv._handleProgress, plv);\n }\n plv.setElement(this.$('#g-app-progress-container')).render();\n\n return this;\n },\n\n /**\n * On login we re-render the current body view; whereas on\n * logout, we redirect to the front page.\n */\n login() {\n var route = splitRoute(Backbone.history.fragment).base;\n Backbone.history.fragment = null;\n eventStream.close();\n\n if (getCurrentUser()) {\n eventStream.open();\n router.navigate(route, {trigger: true});\n } else {\n router.navigate('/', {trigger: true});\n }\n },\n\n navigateTo(view) {\n if (this.bodyView instanceof view) {\n return this;\n }\n return GirderApp.prototype.navigateTo.apply(this, arguments);\n },\n\n bindRoutes\n});\n\nexport default App;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/app.js","module.exports = (__webpack_require__(12))(335);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/fontello/dist/css/animation.css from dll-reference girder_lib\n// module id = 65\n// module chunks = 0","module.exports = (__webpack_require__(12))(336);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/fontello/dist/css/fontello.css from dll-reference girder_lib\n// module id = 66\n// module chunks = 0","module.exports = (__webpack_require__(12))(331);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/App.js from dll-reference girder_lib\n// module id = 67\n// module chunks = 0","import _ from 'underscore';\nimport $ from 'jquery';\nimport {restRequest} from '@girder/core/rest';\n\nimport events from '../../events';\nimport router from '../../router';\nimport View from '../View';\nimport headerAnalysesTemplate from '../../templates/layout/headerAnalyses.pug';\nimport '../../stylesheets/layout/headerAnalyses.styl';\n\nimport 'bootstrap-submenu/dist/js/bootstrap-submenu';\nimport 'bootstrap-submenu/dist/css/bootstrap-submenu.css';\n\nvar HeaderUserView = View.extend({\n events: {\n 'click .h-analysis-item': '_setAnalysis'\n },\n initialize() {\n this.image = null;\n this.listenTo(events, 'h:imageOpened', function (image) {\n this.image = image;\n this.render();\n });\n },\n render() {\n if (this.image) {\n restRequest({\n url: 'slicer_cli_web/docker_image'\n }).then((analyses) => {\n if (_.keys(analyses || {}).length > 0) {\n this.$el.removeClass('hidden');\n this.$el.html(headerAnalysesTemplate({\n analyses: analyses || {}\n }));\n this.$('.h-analyses-dropdown-link').submenupicker();\n } else {\n this.$el.addClass('hidden');\n }\n return null;\n });\n } else {\n this.$el.addClass('hidden');\n }\n return this;\n },\n _setAnalysis(evt) {\n evt.preventDefault();\n var target = $(evt.currentTarget).data();\n\n router.setQuery('analysis', target.api, {trigger: true});\n }\n});\n\nexport default HeaderUserView;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/layout/HeaderAnalysesView.js","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\":\"a.h-analyses-dropdown-link(data-toggle='dropdown')\\n | #[span.icon-tasks] Analyses #[span.icon-down-open]\\nul.h-analyses-dropdown.dropdown-menu(role='menu')\\n each image, imageName in analyses\\n li.dropdown-submenu\\n a(tabindex='0', href='#', data-name=imageName) #{imageName}\\n ul.dropdown-menu\\n each version, versionName in image\\n li.dropdown-submenu\\n a(tabindex='0', href='#') #{versionName}\\n ul.dropdown-menu\\n each cli, cliName in version\\n - var api = cli.run.replace(\\u002F\\\\\\u002Frun$\\u002F, '');\\n li\\n a.h-analysis-item(\\n tabindex='0',\\n href='#',\\n data-api=api,\\n data-image=imageName,\\n data-version=versionName,\\n data-cli=cliName) #{cliName}\\n\"};\n;var locals_for_with = (locals || {});(function (analyses) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"h-analyses-dropdown-link\\\" data-toggle=\\\"dropdown\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-tasks\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \" Analyses \";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-down-open\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"h-analyses-dropdown dropdown-menu\\\" role=\\\"menu\\\"\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\n// iterate analyses\n;(function(){\n var $$obj = analyses;\n if ('number' == typeof $$obj.length) {\n for (var imageName = 0, $$l = $$obj.length; imageName < $$l; imageName++) {\n var image = $$obj[imageName];\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"dropdown-submenu\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-name\", imageName, true, true)) + \"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = imageName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"dropdown-menu\\\"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\n// iterate image\n;(function(){\n var $$obj = image;\n if ('number' == typeof $$obj.length) {\n for (var versionName = 0, $$l = $$obj.length; versionName < $$l; versionName++) {\n var version = $$obj[versionName];\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"dropdown-submenu\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca tabindex=\\\"0\\\" href=\\\"#\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = versionName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"dropdown-menu\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\n// iterate version\n;(function(){\n var $$obj = version;\n if ('number' == typeof $$obj.length) {\n for (var cliName = 0, $$l = $$obj.length; cliName < $$l; cliName++) {\n var cli = $$obj[cliName];\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\nvar api = cli.run.replace(/\\/run$/, '');\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-analysis-item\\\"\"+\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-api\", api, true, true)+pug.attr(\"data-image\", imageName, true, true)+pug.attr(\"data-version\", versionName, true, true)+pug.attr(\"data-cli\", cliName, true, true)) + \"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = cliName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var cliName in $$obj) {\n $$l++;\n var cli = $$obj[cliName];\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\nvar api = cli.run.replace(/\\/run$/, '');\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-analysis-item\\\"\"+\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-api\", api, true, true)+pug.attr(\"data-image\", imageName, true, true)+pug.attr(\"data-version\", versionName, true, true)+pug.attr(\"data-cli\", cliName, true, true)) + \"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = cliName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var versionName in $$obj) {\n $$l++;\n var version = $$obj[versionName];\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"dropdown-submenu\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca tabindex=\\\"0\\\" href=\\\"#\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = versionName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"dropdown-menu\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\n// iterate version\n;(function(){\n var $$obj = version;\n if ('number' == typeof $$obj.length) {\n for (var cliName = 0, $$l = $$obj.length; cliName < $$l; cliName++) {\n var cli = $$obj[cliName];\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\nvar api = cli.run.replace(/\\/run$/, '');\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-analysis-item\\\"\"+\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-api\", api, true, true)+pug.attr(\"data-image\", imageName, true, true)+pug.attr(\"data-version\", versionName, true, true)+pug.attr(\"data-cli\", cliName, true, true)) + \"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = cliName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var cliName in $$obj) {\n $$l++;\n var cli = $$obj[cliName];\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\nvar api = cli.run.replace(/\\/run$/, '');\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-analysis-item\\\"\"+\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-api\", api, true, true)+pug.attr(\"data-image\", imageName, true, true)+pug.attr(\"data-version\", versionName, true, true)+pug.attr(\"data-cli\", cliName, true, true)) + \"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = cliName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var imageName in $$obj) {\n $$l++;\n var image = $$obj[imageName];\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"dropdown-submenu\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-name\", imageName, true, true)) + \"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = imageName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"dropdown-menu\\\"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\n// iterate image\n;(function(){\n var $$obj = image;\n if ('number' == typeof $$obj.length) {\n for (var versionName = 0, $$l = $$obj.length; versionName < $$l; versionName++) {\n var version = $$obj[versionName];\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"dropdown-submenu\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca tabindex=\\\"0\\\" href=\\\"#\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = versionName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"dropdown-menu\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\n// iterate version\n;(function(){\n var $$obj = version;\n if ('number' == typeof $$obj.length) {\n for (var cliName = 0, $$l = $$obj.length; cliName < $$l; cliName++) {\n var cli = $$obj[cliName];\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\nvar api = cli.run.replace(/\\/run$/, '');\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-analysis-item\\\"\"+\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-api\", api, true, true)+pug.attr(\"data-image\", imageName, true, true)+pug.attr(\"data-version\", versionName, true, true)+pug.attr(\"data-cli\", cliName, true, true)) + \"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = cliName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var cliName in $$obj) {\n $$l++;\n var cli = $$obj[cliName];\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\nvar api = cli.run.replace(/\\/run$/, '');\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-analysis-item\\\"\"+\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-api\", api, true, true)+pug.attr(\"data-image\", imageName, true, true)+pug.attr(\"data-version\", versionName, true, true)+pug.attr(\"data-cli\", cliName, true, true)) + \"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = cliName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var versionName in $$obj) {\n $$l++;\n var version = $$obj[versionName];\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"dropdown-submenu\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca tabindex=\\\"0\\\" href=\\\"#\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = versionName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"dropdown-menu\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\n// iterate version\n;(function(){\n var $$obj = version;\n if ('number' == typeof $$obj.length) {\n for (var cliName = 0, $$l = $$obj.length; cliName < $$l; cliName++) {\n var cli = $$obj[cliName];\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\nvar api = cli.run.replace(/\\/run$/, '');\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-analysis-item\\\"\"+\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-api\", api, true, true)+pug.attr(\"data-image\", imageName, true, true)+pug.attr(\"data-version\", versionName, true, true)+pug.attr(\"data-cli\", cliName, true, true)) + \"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = cliName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var cliName in $$obj) {\n $$l++;\n var cli = $$obj[cliName];\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\nvar api = cli.run.replace(/\\/run$/, '');\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-analysis-item\\\"\"+\" tabindex=\\\"0\\\" href=\\\"#\\\"\"+pug.attr(\"data-api\", api, true, true)+pug.attr(\"data-image\", imageName, true, true)+pug.attr(\"data-version\", versionName, true, true)+pug.attr(\"data-cli\", cliName, true, true)) + \"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderAnalyses.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = cliName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ful\\u003E\";}.call(this,\"analyses\" in locals_for_with?locals_for_with.analyses:typeof analyses!==\"undefined\"?analyses:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/layout/headerAnalyses.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/layout/headerAnalyses.styl\n// module id = 70\n// module chunks = 0","/*!\n * Bootstrap-submenu v2.0.4 (https://vsn4ik.github.io/bootstrap-submenu/)\n * Copyright 2014-2016 Vasily A. (https://github.com/vsn4ik)\n * Licensed under the MIT license\n */\n\n/**\n * $.inArray: friends with IE8. Use Array.prototype.indexOf in future.\n * $.proxy: friends with IE8. Use Function.prototype.bind in future.\n */\n\n'use strict';\n\n(function(factory) {\n if (typeof define == 'function' && define.amd) {\n // AMD. Register as an anonymous module\n define(['jquery'], factory);\n }\n else if (typeof exports == 'object') {\n // Node/CommonJS\n module.exports = factory(require('jquery'));\n }\n else {\n // Browser globals\n factory(jQuery);\n }\n})(function($) {\n function Item(element) {\n this.$element = $(element);\n this.$menu = this.$element.closest('.dropdown-menu');\n this.$main = this.$menu.parent();\n this.$items = this.$menu.children('.dropdown-submenu');\n\n this.init();\n }\n\n Item.prototype = {\n init: function() {\n this.$element.on('keydown', $.proxy(this, 'keydown'));\n },\n close: function() {\n this.$main.removeClass('open');\n this.$items.trigger('hide.bs.submenu');\n },\n keydown: function(event) {\n // 27: Esc\n\n if (event.keyCode == 27) {\n event.stopPropagation();\n\n this.close();\n this.$main.children('a, button').trigger('focus');\n }\n }\n };\n\n function SubmenuItem(element) {\n this.$element = $(element);\n this.$main = this.$element.parent();\n this.$menu = this.$main.children('.dropdown-menu');\n this.$subs = this.$main.siblings('.dropdown-submenu');\n this.$items = this.$menu.children('.dropdown-submenu');\n\n this.init();\n }\n\n $.extend(SubmenuItem.prototype, Item.prototype, {\n init: function() {\n this.$element.on({\n click: $.proxy(this, 'click'),\n keydown: $.proxy(this, 'keydown')\n });\n\n this.$main.on('hide.bs.submenu', $.proxy(this, 'hide'));\n },\n click: function(event) {\n // Fix a[href=\"#\"]. For community\n event.preventDefault();\n\n event.stopPropagation();\n\n this.toggle();\n },\n hide: function(event) {\n // Stop event bubbling\n event.stopPropagation();\n\n this.close();\n },\n open: function() {\n this.$main.addClass('open');\n this.$subs.trigger('hide.bs.submenu');\n },\n toggle: function() {\n if (this.$main.hasClass('open')) {\n this.close();\n }\n else {\n this.open();\n }\n },\n keydown: function(event) {\n // 13: Return, 32: Spacebar\n\n if (event.keyCode == 32) {\n // Off vertical scrolling\n event.preventDefault();\n }\n\n if ($.inArray(event.keyCode, [13, 32]) != -1) {\n this.toggle();\n }\n }\n });\n\n function Submenupicker(element) {\n this.$element = $(element);\n this.$main = this.$element.parent();\n this.$menu = this.$main.children('.dropdown-menu');\n this.$items = this.$menu.children('.dropdown-submenu');\n\n this.init();\n }\n\n Submenupicker.prototype = {\n init: function() {\n this.$menu.off('keydown.bs.dropdown.data-api');\n this.$menu.on('keydown', $.proxy(this, 'itemKeydown'));\n\n this.$menu.find('li > a').each(function() {\n new Item(this);\n });\n\n this.$menu.find('.dropdown-submenu > a').each(function() {\n new SubmenuItem(this);\n });\n\n this.$main.on('hidden.bs.dropdown', $.proxy(this, 'hidden'));\n },\n hidden: function() {\n this.$items.trigger('hide.bs.submenu');\n },\n itemKeydown: function(event) {\n // 38: Arrow up, 40: Arrow down\n\n if ($.inArray(event.keyCode, [38, 40]) != -1) {\n // Off vertical scrolling\n event.preventDefault();\n\n event.stopPropagation();\n\n var $items = this.$menu.find('li:not(.disabled):visible > a');\n var index = $items.index(event.target);\n\n if (event.keyCode == 38 && index !== 0) {\n index--;\n }\n else if (event.keyCode == 40 && index !== $items.length - 1) {\n index++;\n }\n else {\n return;\n }\n\n $items.eq(index).trigger('focus');\n }\n }\n };\n\n var old = $.fn.submenupicker;\n\n // For AMD/Node/CommonJS used elements (optional)\n // http://learn.jquery.com/jquery-ui/environments/amd/\n $.fn.submenupicker = function(elements) {\n var $elements = this instanceof $ ? this : $(elements);\n\n return $elements.each(function() {\n var data = $.data(this, 'bs.submenu');\n\n if (!data) {\n data = new Submenupicker(this);\n\n $.data(this, 'bs.submenu', data);\n }\n });\n };\n\n $.fn.submenupicker.Constructor = Submenupicker;\n $.fn.submenupicker.noConflict = function() {\n $.fn.submenupicker = old;\n return this;\n };\n\n return $.fn.submenupicker;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/node_modules/bootstrap-submenu/dist/js/bootstrap-submenu.js\n// module id = 71\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/node_modules/bootstrap-submenu/dist/css/bootstrap-submenu.css\n// module id = 72\n// module chunks = 0","module.exports = (__webpack_require__(12))(179);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/layout/HeaderUserView.js from dll-reference girder_lib\n// module id = 73\n// module chunks = 0","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\":\"if user\\n - var login = user.get('login');\\n a.h-user-dropdown-link(data-toggle='dropdown')\\n | #[span.icon-user] #{login} #[span.icon-down-open]\\n ul.dropdown-menu(role='menu')\\n li\\n a.g-my-folders(href=`..\\u002Fgirder#jobs\\u002Fuser\\u002F${user.id}`, target='girder')\\n i.icon-tasks\\n | My jobs\\n li\\n a.g-my-settings(href=`..\\u002Fgirder#useraccount\\u002F${user.id}\\u002Finfo`, target='girder')\\n i.icon-cog\\n | My account\\n li.divider\\n li\\n a.g-logout\\n i.icon-logout\\n | Log out\\nelse\\n p.navbar-text\\n a.navbar-link.g-register Register\\n | #{' or '}\\n a.navbar-link.g-login Log In\\n i.icon-login\\n\"};\n;var locals_for_with = (locals || {});(function (user) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\nif (user) {\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\nvar login = user.get('login');\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"h-user-dropdown-link\\\" data-toggle=\\\"dropdown\\\"\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-user\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \" \";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = login) ? \"\" : pug_interp));\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \" \";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-down-open\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"dropdown-menu\\\" role=\\\"menu\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"g-my-folders\\\"\"+pug.attr(\"href\", `../girder#jobs/user/${user.id}`, true, true)+\" target=\\\"girder\\\"\") + \"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-tasks\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"My jobs\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"g-my-settings\\\"\"+pug.attr(\"href\", `../girder#useraccount/${user.id}/info`, true, true)+\" target=\\\"girder\\\"\") + \"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-cog\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"My account\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"divider\\\"\\u003E\\u003C\\u002Fli\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"g-logout\\\"\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-logout\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"Log out\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\";\n}\nelse {\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Cp class=\\\"navbar-text\\\"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"navbar-link g-register\\\"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"Register\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = ' or ') ? \"\" : pug_interp));\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"navbar-link g-login\\\"\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"Log In\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderUser.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-login\\\"\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fp\\u003E\";\n}}.call(this,\"user\" in locals_for_with?locals_for_with.user:typeof user!==\"undefined\"?user:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/layout/headerUser.pug","import $ from 'jquery';\n\nimport {restRequest} from '@girder/core/rest';\n\nimport events from '../../events';\nimport router from '../../router';\nimport View from '../View';\n\nimport headerImageTemplate from '../../templates/layout/headerImage.pug';\nimport '../../stylesheets/layout/headerImage.styl';\n\nvar HeaderImageView = View.extend({\n events: {\n 'click .h-open-image': function (evt) {\n events.trigger('h:openImageUi');\n },\n 'click .h-open-annotated-image': function (evt) {\n events.trigger('h:openAnnotatedImageUi');\n }\n },\n\n initialize() {\n this.imageModel = null;\n this.parentChain = null;\n this.listenTo(events, 'h:analysis:rendered', this.render);\n this.listenTo(events, 'h:imageOpened', (model) => {\n this.imageModel = model;\n this.parentChain = null;\n this._setNextPreviousImage();\n if (model) {\n this.imageModel.getRootPath((resp) => {\n this.parentChain = resp;\n this.render();\n });\n }\n this.render();\n });\n },\n\n render() {\n const analysis = router.getQuery('analysis') ? `&analysis=${router.getQuery('analysis')}` : '';\n const folder = router.getQuery('folder') ? `&folder=${router.getQuery('folder')}` : '';\n const nextImageLink = this._nextImage ? `#?image=${this._nextImage}${folder}${analysis}` : null;\n const previousImageLink = this._previousImage ? `#?image=${this._previousImage}${folder}${analysis}` : null;\n this.$el.html(headerImageTemplate({\n image: this.imageModel,\n parentChain: this.parentChain,\n previousImageLink,\n previousImageName: this._previousName,\n nextImageLink,\n nextImageName: this._nextName\n }));\n return this;\n },\n\n _setNextPreviousImage() {\n const model = this.imageModel;\n const folder = router.getQuery('folder') ? `?folderId=${router.getQuery('folder')}` : '';\n if (!model) {\n this._nextImage = null;\n this._previousImage = null;\n this.render();\n return;\n }\n\n $.when(\n restRequest({\n url: `item/${model.id}/previous_image${folder}`\n }).done((previous) => {\n this._previousImage = (previous._id !== model.id) ? previous._id : null;\n this._previousName = previous.name;\n }),\n restRequest({\n url: `item/${model.id}/next_image${folder}`\n }).done((next) => {\n this._nextImage = (next._id !== model.id) ? next._id : null;\n this._nextName = next.name;\n })\n ).done(() => this.render());\n }\n});\n\nexport default HeaderImageView;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/layout/HeaderImageView.js","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\":\"if parentChain\\n .g-item-breadcrumb-container\\n -\\n var parts = [];\\n parentChain.forEach(function (parent, idx) {\\n parts.push(parent.type === 'user' ? parent.object.login : parent.object.name);\\n });\\n parts.push(image.name());\\n ol.breadcrumb(title=parts.join('\\u002F'))\\n each parent in parentChain\\n li\\n span.g-item-breadcrumb-link(data-id=parent.object._id, data-type=parent.type)\\n if (parent.type === \\\"user\\\")\\n i.icon-user\\n = parent.object.login\\n else if (parent.type === \\\"collection\\\")\\n i.icon-sitemap\\n = parent.object.name\\n else\\n = parent.object.name\\n li\\n span.g-item-breadcrumb-link(data-id=image.id, data-type='item')\\n = image.name()\\nbutton.btn.btn-default.navbar-btn.h-open-annotated-image(type='button')\\n | #[span.icon-list] Annotated images...\\nbutton.btn.btn-default.navbar-btn.h-open-image(type='button')\\n | #[span.icon-picture] Open image...\\n\\n-\\n var titlePre = '', titleNext = '';\\n if (previousImageLink && nextImageLink) {\\n titlePre = 'Previous image - ' + previousImageName;\\n titleNext ='Next image - ' + nextImageName;\\n }\\n\\nspan.h-links\\n a.h-previous-image.btn.btn-default(href=previousImageLink, title=titlePre, disabled=!previousImageLink)\\n i.icon-left-open\\n a.h-next-image.btn.btn-default(href=nextImageLink, title=titleNext, disabled=!nextImageLink)\\n i.icon-right-open\\n\"};\n;var locals_for_with = (locals || {});(function (image, nextImageLink, nextImageName, parentChain, previousImageLink, previousImageName) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\nif (parentChain) {\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"g-item-breadcrumb-container\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\nvar parts = [];\nparentChain.forEach(function (parent, idx) {\n parts.push(parent.type === 'user' ? parent.object.login : parent.object.name);\n});\nparts.push(image.name());\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Col\" + (\" class=\\\"breadcrumb\\\"\"+pug.attr(\"title\", parts.join('/'), true, true)) + \"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\n// iterate parentChain\n;(function(){\n var $$obj = parentChain;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var parent = $$obj[pug_index0];\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"g-item-breadcrumb-link\\\"\"+pug.attr(\"data-id\", parent.object._id, true, true)+pug.attr(\"data-type\", parent.type, true, true)) + \"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\nif ((parent.type === \"user\")) {\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-user\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = parent.object.login) ? \"\" : pug_interp));\n}\nelse\nif ((parent.type === \"collection\")) {\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-sitemap\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = parent.object.name) ? \"\" : pug_interp));\n}\nelse {\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = parent.object.name) ? \"\" : pug_interp));\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fli\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var parent = $$obj[pug_index0];\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"g-item-breadcrumb-link\\\"\"+pug.attr(\"data-id\", parent.object._id, true, true)+pug.attr(\"data-type\", parent.type, true, true)) + \"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\nif ((parent.type === \"user\")) {\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-user\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = parent.object.login) ? \"\" : pug_interp));\n}\nelse\nif ((parent.type === \"collection\")) {\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-sitemap\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = parent.object.name) ? \"\" : pug_interp));\n}\nelse {\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = parent.object.name) ? \"\" : pug_interp));\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fli\\u003E\";\n }\n }\n}).call(this);\n\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cli\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"g-item-breadcrumb-link\\\"\"+pug.attr(\"data-id\", image.id, true, true)+\" data-type=\\\"item\\\"\") + \"\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = image.name()) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Fol\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default navbar-btn h-open-annotated-image\\\" type=\\\"button\\\"\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-list\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \" Annotated images...\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default navbar-btn h-open-image\\\" type=\\\"button\\\"\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-picture\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \" Open image...\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\nvar titlePre = '', titleNext = '';\nif (previousImageLink && nextImageLink) {\n titlePre = 'Previous image - ' + previousImageName;\n titleNext ='Next image - ' + nextImageName;\n}\n\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"h-links\\\"\\u003E\";\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-previous-image btn btn-default\\\"\"+pug.attr(\"href\", previousImageLink, true, true)+pug.attr(\"title\", titlePre, true, true)+pug.attr(\"disabled\", !previousImageLink, true, true)) + \"\\u003E\";\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-left-open\\\"\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-next-image btn btn-default\\\"\"+pug.attr(\"href\", nextImageLink, true, true)+pug.attr(\"title\", titleNext, true, true)+pug.attr(\"disabled\", !nextImageLink, true, true)) + \"\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002FheaderImage.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-right-open\\\"\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fspan\\u003E\";}.call(this,\"image\" in locals_for_with?locals_for_with.image:typeof image!==\"undefined\"?image:undefined,\"nextImageLink\" in locals_for_with?locals_for_with.nextImageLink:typeof nextImageLink!==\"undefined\"?nextImageLink:undefined,\"nextImageName\" in locals_for_with?locals_for_with.nextImageName:typeof nextImageName!==\"undefined\"?nextImageName:undefined,\"parentChain\" in locals_for_with?locals_for_with.parentChain:typeof parentChain!==\"undefined\"?parentChain:undefined,\"previousImageLink\" in locals_for_with?locals_for_with.previousImageLink:typeof previousImageLink!==\"undefined\"?previousImageLink:undefined,\"previousImageName\" in locals_for_with?locals_for_with.previousImageName:typeof previousImageName!==\"undefined\"?previousImageName:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/layout/headerImage.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/layout/headerImage.styl\n// module id = 77\n// module chunks = 0","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\":\"nav.navbar.navbar-default(style=`color: ${brandColor}; background-color: ${bannerColor}`)\\n .container-fluid\\n .navbar-header\\n button.navbar-toggle.collapsed(\\n type='button',\\n data-toggle='collapse',\\n data-target='#h-navbar-collapse',\\n aria-expanded='false')\\n span.sr-only Toggle navigation\\n span.icon-bar\\n span.icon-bar\\n span.icon-bar\\n a#h-navbar-brand.navbar-brand(style=`color: ${brandColor}; background-color: ${bannerColor}`) #{brandName}\\n\\n #h-navbar-collapse.collapse.navbar-collapse\\n ul.nav.navbar-nav.navbar-right\\n li.h-image-menu-wrapper.dropdown\\n li.h-analyses-wrapper.dropdown\\n li.h-current-user-wrapper.dropdown\\n if helpURL\\n li.h-help-button-wrapper\\n a.h-help-button(role='button', title=helpTooltip, href=helpURL, target='_blank') #{helpText}\\n span.icon-help-circled\\n\"};\n;var locals_for_with = (locals || {});(function (bannerColor, brandColor, brandName, helpText, helpTooltip, helpURL) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cnav\" + (\" class=\\\"navbar navbar-default\\\"\"+pug.attr(\"style\", pug.style(`color: ${brandColor}; background-color: ${bannerColor}`), true, true)) + \"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"container-fluid\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"navbar-header\\\"\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"navbar-toggle collapsed\\\" type=\\\"button\\\" data-toggle=\\\"collapse\\\" data-target=\\\"#h-navbar-collapse\\\" aria-expanded=\\\"false\\\"\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"sr-only\\\"\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"Toggle navigation\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-bar\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-bar\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-bar\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"navbar-brand\\\"\"+\" id=\\\"h-navbar-brand\\\"\"+pug.attr(\"style\", pug.style(`color: ${brandColor}; background-color: ${bannerColor}`), true, true)) + \"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = brandName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"collapse navbar-collapse\\\" id=\\\"h-navbar-collapse\\\"\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cul class=\\\"nav navbar-nav navbar-right\\\"\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"h-image-menu-wrapper dropdown\\\"\\u003E\\u003C\\u002Fli\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"h-analyses-wrapper dropdown\\\"\\u003E\\u003C\\u002Fli\\u003E\";\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"h-current-user-wrapper dropdown\\\"\\u003E\\u003C\\u002Fli\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\nif (helpURL) {\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cli class=\\\"h-help-button-wrapper\\\"\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-help-button\\\"\"+\" role=\\\"button\\\"\"+pug.attr(\"title\", helpTooltip, true, true)+pug.attr(\"href\", helpURL, true, true)+\" target=\\\"_blank\\\"\") + \"\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = helpText) ? \"\" : pug_interp));\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Flayout\\u002Fheader.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-help-circled\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fnav\\u003E\";}.call(this,\"bannerColor\" in locals_for_with?locals_for_with.bannerColor:typeof bannerColor!==\"undefined\"?bannerColor:undefined,\"brandColor\" in locals_for_with?locals_for_with.brandColor:typeof brandColor!==\"undefined\"?brandColor:undefined,\"brandName\" in locals_for_with?locals_for_with.brandName:typeof brandName!==\"undefined\"?brandName:undefined,\"helpText\" in locals_for_with?locals_for_with.helpText:typeof helpText!==\"undefined\"?helpText:undefined,\"helpTooltip\" in locals_for_with?locals_for_with.helpTooltip:typeof helpTooltip!==\"undefined\"?helpTooltip:undefined,\"helpURL\" in locals_for_with?locals_for_with.helpURL:typeof helpURL!==\"undefined\"?helpURL:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/layout/header.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/layout/header.styl\n// module id = 79\n// module chunks = 0","import events from './events';\nimport ImageView from './views/body/ImageView';\n\nimport Router from './router';\n\nfunction bindRoutes() {\n Router.route('', 'index', function () {\n events.trigger('g:navigateTo', ImageView, {});\n });\n return Router;\n}\n\nexport default bindRoutes;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/routes.js","module.exports = (__webpack_require__(2))(25);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/models/FileModel.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 81\n// module chunks = 0","module.exports = (__webpack_require__(2))(50);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/collections/FolderCollection.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 82\n// module chunks = 0","module.exports = (__webpack_require__(4))(74);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/views/index.js from dll-reference girder_plugin_large_image_annotation\n// module id = 83\n// module chunks = 0","module.exports = (__webpack_require__(2))(27);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/slicer_cli_web/views/PanelGroup.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 84\n// module chunks = 0","module.exports = (__webpack_require__(4))(24);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/collections/AnnotationCollection.js from dll-reference girder_plugin_large_image_annotation\n// module id = 85\n// module chunks = 0","module.exports = (__webpack_require__(4))(64);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/annotations/index.js from dll-reference girder_plugin_large_image_annotation\n// module id = 86\n// module chunks = 0","module.exports = (__webpack_require__(4))(65);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/annotations/geojs/index.js from dll-reference girder_plugin_large_image_annotation\n// module id = 87\n// module chunks = 0","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"underscore\"), require(\"backbone\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"underscore\", \"backbone\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Backbone.LocalStorage\"] = factory(require(\"underscore\"), require(\"backbone\"));\n\telse\n\t\troot[\"Backbone.LocalStorage\"] = factory(root[\"_\"], root[\"Backbone\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_2__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\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// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 7);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.guid = guid;\nexports.getLocalStorage = getLocalStorage;\nexports.getWindow = getWindow;\n\nvar _underscore = __webpack_require__(1);\n\n/** Generates 4 random hex digits\n * @returns {string} 4 Random hex digits\n*/\nfunction s4() {\n var rand = (1 + Math.random()) * 0x10000;\n return (rand | 0).toString(16).substring(1);\n}\n\n/** Generate a pseudo-guid\n * @returns {string} A GUID-like string.\n */\nfunction guid() {\n return '' + s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();\n}\n\n/** Returns the localStorage attribute for a model\n * @param {Model} model - Model to get localStorage\n * @returns {Storage} The localstorage\n */\nfunction getLocalStorage(model) {\n return (0, _underscore.result)(model, 'localStorage') || (0, _underscore.result)(model.collection, 'localStorage');\n}\n\n/** Return the window or global object.\n * @returns {window} Window object\n */\nfunction getWindow() {\n return (0, _underscore.isUndefined)(window) ? global : window;\n}\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(6)))\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LocalStorage = undefined;\n\nvar _backbone = __webpack_require__(2);\n\nvar _backbone2 = _interopRequireDefault(_backbone);\n\nvar _localstorage = __webpack_require__(4);\n\nvar _sync = __webpack_require__(5);\n\nvar _utils = __webpack_require__(0);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_backbone2.default.LocalStorage = _localstorage.LocalStorage;\nvar ajaxSync = _backbone2.default.sync;\n\n/** Get the local or ajax sync call\n * @param {Model} model - Model to sync\n * @param {object} options - Options to pass, takes ajaxSync\n * @returns {function} The sync method that will be called\n */\nfunction getSyncMethod(model) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var forceAjaxSync = options.ajaxSync;\n var hasLocalStorage = (0, _utils.getLocalStorage)(model);\n\n return !forceAjaxSync && hasLocalStorage ? _sync.sync : ajaxSync;\n}\n\n_backbone2.default.sync = function (method, model, options) {\n return getSyncMethod(model, options).apply(this, [method, model, options]);\n};\n\nexports.LocalStorage = _localstorage.LocalStorage;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LocalStorage = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _underscore = __webpack_require__(1);\n\nvar _utils = __webpack_require__(0);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/** The default serializer for transforming your saved data to localStorage */\nvar defaultSerializer = {\n\n /** Return a JSON-serialized string representation of item\n * @param {Object} item - The encoded model data\n * @returns {string} A JSON-encoded string\n */\n serialize: function serialize(item) {\n return (0, _underscore.isObject)(item) ? JSON.stringify(item) : item;\n },\n\n\n /** Custom deserialization for data. This includes a fix for an Android bug\n * which raises an error attempting to deserialize null\n * @param {string} data - JSON-encoded string\n * @returns {Object} The object result of parsing data\n */\n deserialize: function deserialize(data) {\n return data && JSON.parse(data);\n }\n};\n\n/** LocalStorage proxy class for Backbone models.\n * Usage:\n * export const MyModel = Backbone.Model.extend({\n * localStorage: new LocalStorage('MyModelName')\n * });\n */\n\nvar LocalStorage = exports.LocalStorage = function () {\n function LocalStorage() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var serializer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultSerializer;\n\n _classCallCheck(this, LocalStorage);\n\n this.name = name;\n this.serializer = serializer;\n\n if (!this.localStorage) {\n throw 'Backbone.localStorage: Environment does not support localStorage.';\n }\n\n var store = this._getItem(this.name);\n this.records = store && store.split(',') || [];\n }\n\n /** Return the global localStorage variable\n * @returns {Object} Local Storage reference.\n */\n\n\n _createClass(LocalStorage, [{\n key: 'localStorage',\n value: function localStorage() {\n return (0, _utils.getWindow)().localStorage;\n }\n\n /** Save the current status to localStorage\n * @returns {undefined}\n */\n\n }, {\n key: 'save',\n value: function save() {\n this._setItem(this.name, this.records.join(','));\n }\n\n /** Add a new model with a unique GUID, if it doesn't already have its own ID\n * @param {Model} model - The Backbone Model to save to LocalStorage\n * @returns {Model} The saved model\n */\n\n }, {\n key: 'create',\n value: function create(model) {\n if (!model.id && model.id !== 0) {\n model.id = (0, _utils.guid)();\n model.set(model.idAttribute, model.id);\n }\n\n this._setItem(this._itemName(model.id), this.serializer.serialize(model));\n this.records.push(model.id.toString());\n this.save();\n\n return this.find(model);\n }\n\n /** Update an existing model in LocalStorage\n * @param {Model} model - The model to update\n * @returns {Model} The updated model\n */\n\n }, {\n key: 'update',\n value: function update(model) {\n this._setItem(this._itemName(model.id), this.serializer.serialize(model));\n\n var modelId = model.id.toString();\n\n if (!(0, _underscore.contains)(this.records, modelId)) {\n this.records.push(modelId);\n this.save();\n }\n return this.find(model);\n }\n\n /** Retrieve a model from local storage by model id\n * @param {Model} model - The Backbone Model to lookup\n * @returns {Model} The model from LocalStorage\n */\n\n }, {\n key: 'find',\n value: function find(model) {\n return this.serializer.deserialize(this._getItem(this._itemName(model.id)));\n }\n\n /** Return all models from LocalStorage\n * @returns {Array} The array of models stored\n */\n\n }, {\n key: 'findAll',\n value: function findAll() {\n var _this = this;\n\n return (0, _underscore.chain)(this.records).map(function (id) {\n return _this.serializer.deserialize(_this._getItem(_this._itemName(id)));\n }).filter(function (item) {\n return item != null;\n }).value();\n }\n\n /** Delete a model from `this.data`, returning it.\n * @param {Model} model - Model to delete\n * @returns {Model} Model removed from this.data\n */\n\n }, {\n key: 'destroy',\n value: function destroy(model) {\n this._removeItem(this._itemName(model.id));\n var newRecords = (0, _underscore.without)(this.records, model.id.toString());\n\n this.records = newRecords;\n this.save();\n\n return model;\n }\n\n /** Clear localStorage for a collection\n * @returns {undefined}\n */\n\n }, {\n key: '_clear',\n value: function _clear() {\n var local = this.localStorage();\n var itemRe = new RegExp('^' + this.name + '-');\n\n // Remove id-tracking item (e.g., \"foo\").\n local.removeItem(this.name);\n\n // Match all data items (e.g., \"foo-ID\") and remove.\n for (var k in local) {\n if (itemRe.test(k)) {\n local.removeItem(k);\n }\n }\n\n this.records.length = 0;\n }\n\n /** Number of items in localStorage\n * @returns {integer} - Number of items\n */\n\n }, {\n key: '_storageSize',\n value: function _storageSize() {\n return this.localStorage().length;\n }\n\n /** Return the item from localStorage\n * @param {string} name - Name to lookup\n * @returns {string} Value from localStorage\n */\n\n }, {\n key: '_getItem',\n value: function _getItem(name) {\n return this.localStorage().getItem(name);\n }\n\n /** Return the item name to lookup in localStorage\n * @param {integer} id - Item ID\n * @returns {string} Item name\n */\n\n }, {\n key: '_itemName',\n value: function _itemName(id) {\n return this.name + '-' + id;\n }\n\n /** Proxy to the localStorage setItem value method\n * @param {string} key - LocalStorage key to set\n * @param {string} value - LocalStorage value to set\n * @returns {undefined}\n */\n\n }, {\n key: '_setItem',\n value: function _setItem(key, value) {\n this.localStorage().setItem(key, value);\n }\n\n /** Proxy to the localStorage removeItem method\n * @param {string} key - LocalStorage key to remove\n * @returns {undefined}\n */\n\n }, {\n key: '_removeItem',\n value: function _removeItem(key) {\n this.localStorage().removeItem(key);\n }\n }]);\n\n return LocalStorage;\n}();\n\n;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sync = sync;\n\nvar _backbone = __webpack_require__(2);\n\nvar _backbone2 = _interopRequireDefault(_backbone);\n\nvar _underscore = __webpack_require__(1);\n\nvar _utils = __webpack_require__(0);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/** Get the Deferred status from $ if we have jQuery, otherwise use Backbone's\n * @returns {boolean} - Whether the request was deferred\n*/\nfunction getDeferred() {\n if (_backbone2.default.$) {\n return (0, _underscore.result)(_backbone2.default.$, 'Deferred', false);\n }\n return (0, _underscore.result)(_backbone2.default, 'Deferred', false);\n}\n\n/** Override Backbone's `sync` method to run against localStorage\n * @param {string} method - One of read/create/update/delete\n * @param {Model} model - Backbone model to sync\n * @param {Object} options - Options object, use `ajaxSync: true` to run the\n * operation against the server in which case, options will also be passed into\n * `jQuery.ajax`\n * @returns {undefined}\n */\nfunction sync(method, model) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var store = (0, _utils.getLocalStorage)(model);\n var resp = void 0,\n errorMessage = void 0;\n var syncDfd = getDeferred();\n\n try {\n switch (method) {\n case 'read':\n resp = (0, _underscore.isUndefined)(model.id) ? store.findAll() : store.find(model);\n break;\n case 'create':\n resp = store.create(model);\n break;\n case 'patch':\n case 'update':\n resp = store.update(model);\n break;\n case 'delete':\n resp = store.destroy(model);\n break;\n }\n } catch (error) {\n if (error.code === 22 && store._storageSize() === 0) {\n errorMessage = 'Private browsing is unsupported';\n } else {\n errorMessage = error.message;\n }\n }\n\n if (resp) {\n if (options.success) {\n options.success.call(model, resp, options);\n }\n if (syncDfd) {\n syncDfd.resolve(resp);\n }\n } else {\n errorMessage = errorMessage ? errorMessage : 'Record Not Found';\n\n if (options.error) {\n options.error.call(model, errorMessage, options);\n }\n if (syncDfd) {\n syncDfd.reject(errorMessage);\n }\n }\n\n // add compatibility with $.ajax\n // always execute callback for success and error\n if (options.complete) {\n options.complete.call(model, resp);\n }\n\n return syncDfd && syncDfd.promise();\n}\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(3);\n\n\n/***/ })\n/******/ ]);\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/node_modules/backbone.localstorage/build/backbone.localStorage.js\n// module id = 88\n// module chunks = 0","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\":\".list-group.h-annotation-context-menu\\n a.h-remove-group.list-group-item(href='#')\\n span.icon-cancel\\n | Remove group\\n each group in groups\\n if group\\n a.h-set-group.list-group-item(href='#', data-group=group)\\n span.icon-right-big\\n = group\\n if numberSelected === 1\\n a.list-group-item.h-edit-shape(href='#', title='Keyboard shortcut: e')\\n | #[span.icon-pencil] Edit Shape\\n a.list-group-item.h-edit-elements(href='#')\\n | #[span.icon-cog] Edit Properties\\n a.list-group-item.h-remove-elements(href='#')\\n | #[span.icon-trash] Delete\\n\"};\n;var locals_for_with = (locals || {});(function (groups, numberSelected) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"list-group h-annotation-context-menu\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"h-remove-group list-group-item\\\" href=\\\"#\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cancel\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"Remove group\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\n// iterate groups\n;(function(){\n var $$obj = groups;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var group = $$obj[pug_index0];\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\nif (group) {\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-set-group list-group-item\\\"\"+\" href=\\\"#\\\"\"+pug.attr(\"data-group\", group, true, true)) + \"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-right-big\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = group) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var group = $$obj[pug_index0];\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\nif (group) {\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-set-group list-group-item\\\"\"+\" href=\\\"#\\\"\"+pug.attr(\"data-group\", group, true, true)) + \"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-right-big\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = group) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\n }\n }\n}).call(this);\n\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\nif (numberSelected === 1) {\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"list-group-item h-edit-shape\\\" href=\\\"#\\\" title=\\\"Keyboard shortcut: e\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-pencil\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \" Edit Shape\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"list-group-item h-edit-elements\\\" href=\\\"#\\\"\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \" Edit Properties\\u003C\\u002Fa\\u003E\";\n}\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"list-group-item h-remove-elements\\\" href=\\\"#\\\"\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-trash\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationContextMenu.pug\";\npug_html = pug_html + \" Delete\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"groups\" in locals_for_with?locals_for_with.groups:typeof groups!==\"undefined\"?groups:undefined,\"numberSelected\" in locals_for_with?locals_for_with.numberSelected:typeof numberSelected!==\"undefined\"?numberSelected:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/popover/annotationContextMenu.pug","module.exports = (__webpack_require__(4))(48);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/collections/ElementCollection.js from dll-reference girder_plugin_large_image_annotation\n// module id = 90\n// module chunks = 0","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\":\".h-annotation-popover\\n - var annotationCount = 0;\\n each annotation in annotations\\n\\n \\u002F\\u002F- show at most 4 annotations\\n if annotationCount \\u003C 4\\n - annotationCount += 1;\\n - var id = annotation.id;\\n - var a = annotation.get('annotation');\\n - var user = users[annotation.get('creatorId')];\\n - var upuser = annotation.get('updatedId') !== annotation.get('creatorId') ? users[annotation.get('updatedId')] : undefined;\\n h4.h-annotation-name\\n = a.name\\n if annotation.get('updated') && annotation.get('updated') !== annotation.get('created')\\n .h-annotation-updated\\n span Updated:\\n = formatDate(\\u002F^\\\\d+$\\u002F.test(annotation.get('updated')) ? parseInt(annotation.get('updated'), 10) : annotation.get('updated'))\\n if upuser\\n .h-annotation-updater\\n = `${upuser.firstName} ${upuser.lastName} (${upuser.login})`\\n .h-annotation-created\\n span Created:\\n = formatDate(annotation.get('created'))\\n if user\\n .h-annotation-creator\\n = `${user.firstName} ${user.lastName} (${user.login})`\\n if a.description\\n p.h-annotation-description\\n = a.description\\n\\n .h-annotation-elements\\n - var elementCount = 0;\\n each element in elements[id]\\n\\n \\u002F\\u002F- show at most 10 elements per annotation\\n if elementCount \\u003C 10\\n - elementCount += 1;\\n - var type = element.get('type');\\n - var props = elementProperties(element);\\n .h-element-type\\n = type\\n table\\n for value, key in props\\n tr\\n td #{key}\\n td #{value}\\n - var add = elementAdditionalValues(element, annotation)\\n if add\\n | !{add}\\n\"};\n;var locals_for_with = (locals || {});(function (annotations, elementAdditionalValues, elementProperties, elements, formatDate, parseInt, users) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-popover\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar annotationCount = 0;\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\n// iterate annotations\n;(function(){\n var $$obj = annotations;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var annotation = $$obj[pug_index0];\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (annotationCount < 4) {\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nannotationCount += 1;\n{\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar id = annotation.id;\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar a = annotation.get('annotation');\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar user = users[annotation.get('creatorId')];\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar upuser = annotation.get('updatedId') !== annotation.get('creatorId') ? users[annotation.get('updatedId')] : undefined;\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ch4 class=\\\"h-annotation-name\\\"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = a.name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh4\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (annotation.get('updated') && annotation.get('updated') !== annotation.get('created')) {\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-updated\\\"\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cspan\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"Updated:\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = formatDate(/^\\d+$/.test(annotation.get('updated')) ? parseInt(annotation.get('updated'), 10) : annotation.get('updated'))) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (upuser) {\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-updater\\\"\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = `${upuser.firstName} ${upuser.lastName} (${upuser.login})`) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\n}\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-created\\\"\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cspan\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"Created:\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = formatDate(annotation.get('created'))) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (user) {\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-creator\\\"\\u003E\";\n;pug_debug_line = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = `${user.firstName} ${user.lastName} (${user.login})`) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (a.description) {\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cp class=\\\"h-annotation-description\\\"\\u003E\";\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = a.description) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\";\n}\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-elements\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar elementCount = 0;\n;pug_debug_line = 33;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\n// iterate elements[id]\n;(function(){\n var $$obj = elements[id];\n if ('number' == typeof $$obj.length) {\n for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) {\n var element = $$obj[pug_index1];\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (elementCount < 10) {\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nelementCount += 1;\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar type = element.get('type');\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar props = elementProperties(element);\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-element-type\\\"\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = type) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctable\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\n// iterate props\n;(function(){\n var $$obj = props;\n if ('number' == typeof $$obj.length) {\n for (var key = 0, $$l = $$obj.length; key < $$l; key++) {\n var value = $$obj[key];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = key) ? \"\" : pug_interp));\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = value) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var key in $$obj) {\n $$l++;\n var value = $$obj[key];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = key) ? \"\" : pug_interp));\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = value) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ftable\\u003E\";\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar add = elementAdditionalValues(element, annotation)\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (add) {\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (null == (pug_interp = add) ? \"\" : pug_interp);\n}\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index1 in $$obj) {\n $$l++;\n var element = $$obj[pug_index1];\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (elementCount < 10) {\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nelementCount += 1;\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar type = element.get('type');\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar props = elementProperties(element);\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-element-type\\\"\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = type) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctable\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\n// iterate props\n;(function(){\n var $$obj = props;\n if ('number' == typeof $$obj.length) {\n for (var key = 0, $$l = $$obj.length; key < $$l; key++) {\n var value = $$obj[key];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = key) ? \"\" : pug_interp));\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = value) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var key in $$obj) {\n $$l++;\n var value = $$obj[key];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = key) ? \"\" : pug_interp));\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = value) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ftable\\u003E\";\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar add = elementAdditionalValues(element, annotation)\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (add) {\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (null == (pug_interp = add) ? \"\" : pug_interp);\n}\n}\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var annotation = $$obj[pug_index0];\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (annotationCount < 4) {\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nannotationCount += 1;\n{\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar id = annotation.id;\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar a = annotation.get('annotation');\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar user = users[annotation.get('creatorId')];\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar upuser = annotation.get('updatedId') !== annotation.get('creatorId') ? users[annotation.get('updatedId')] : undefined;\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ch4 class=\\\"h-annotation-name\\\"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = a.name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh4\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (annotation.get('updated') && annotation.get('updated') !== annotation.get('created')) {\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-updated\\\"\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cspan\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"Updated:\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = formatDate(/^\\d+$/.test(annotation.get('updated')) ? parseInt(annotation.get('updated'), 10) : annotation.get('updated'))) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (upuser) {\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-updater\\\"\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = `${upuser.firstName} ${upuser.lastName} (${upuser.login})`) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\n}\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-created\\\"\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cspan\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"Created:\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = formatDate(annotation.get('created'))) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (user) {\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-creator\\\"\\u003E\";\n;pug_debug_line = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = `${user.firstName} ${user.lastName} (${user.login})`) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (a.description) {\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cp class=\\\"h-annotation-description\\\"\\u003E\";\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = a.description) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\";\n}\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-elements\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar elementCount = 0;\n;pug_debug_line = 33;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\n// iterate elements[id]\n;(function(){\n var $$obj = elements[id];\n if ('number' == typeof $$obj.length) {\n for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) {\n var element = $$obj[pug_index4];\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (elementCount < 10) {\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nelementCount += 1;\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar type = element.get('type');\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar props = elementProperties(element);\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-element-type\\\"\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = type) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctable\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\n// iterate props\n;(function(){\n var $$obj = props;\n if ('number' == typeof $$obj.length) {\n for (var key = 0, $$l = $$obj.length; key < $$l; key++) {\n var value = $$obj[key];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = key) ? \"\" : pug_interp));\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = value) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var key in $$obj) {\n $$l++;\n var value = $$obj[key];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = key) ? \"\" : pug_interp));\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = value) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ftable\\u003E\";\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar add = elementAdditionalValues(element, annotation)\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (add) {\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (null == (pug_interp = add) ? \"\" : pug_interp);\n}\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index4 in $$obj) {\n $$l++;\n var element = $$obj[pug_index4];\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (elementCount < 10) {\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nelementCount += 1;\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar type = element.get('type');\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar props = elementProperties(element);\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-element-type\\\"\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = type) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctable\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\n// iterate props\n;(function(){\n var $$obj = props;\n if ('number' == typeof $$obj.length) {\n for (var key = 0, $$l = $$obj.length; key < $$l; key++) {\n var value = $$obj[key];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = key) ? \"\" : pug_interp));\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = value) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var key in $$obj) {\n $$l++;\n var value = $$obj[key];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = key) ? \"\" : pug_interp));\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = value) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ftable\\u003E\";\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nvar add = elementAdditionalValues(element, annotation)\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\nif (add) {\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopover.pug\";\npug_html = pug_html + (null == (pug_interp = add) ? \"\" : pug_interp);\n}\n}\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\n}\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";}.call(this,\"annotations\" in locals_for_with?locals_for_with.annotations:typeof annotations!==\"undefined\"?annotations:undefined,\"elementAdditionalValues\" in locals_for_with?locals_for_with.elementAdditionalValues:typeof elementAdditionalValues!==\"undefined\"?elementAdditionalValues:undefined,\"elementProperties\" in locals_for_with?locals_for_with.elementProperties:typeof elementProperties!==\"undefined\"?elementProperties:undefined,\"elements\" in locals_for_with?locals_for_with.elements:typeof elements!==\"undefined\"?elements:undefined,\"formatDate\" in locals_for_with?locals_for_with.formatDate:typeof formatDate!==\"undefined\"?formatDate:undefined,\"parseInt\" in locals_for_with?locals_for_with.parseInt:typeof parseInt!==\"undefined\"?parseInt:undefined,\"users\" in locals_for_with?locals_for_with.users:typeof users!==\"undefined\"?users:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/popover/annotationPopover.pug","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\":\"if element.user\\n .annotation-element-metadata-table\\n table\\n for entry in Object.entries(element.user)\\n if typeof entry[1] === 'string' || typeof entry[1] === 'number' || entry[1] instanceof String\\n tr\\n td\\n = entry[0]\\n td\\n if typeof entry[1] === 'number'\\n = parseFloat(entry[1].toPrecision(6))\\n else\\n = entry[1]\\n\"};\n;var locals_for_with = (locals || {});(function (Object, String, element, parseFloat) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\nif (element.user) {\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"annotation-element-metadata-table\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + \"\\u003Ctable\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\n// iterate Object.entries(element.user)\n;(function(){\n var $$obj = Object.entries(element.user);\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var entry = $$obj[pug_index0];\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\nif (typeof entry[1] === 'string' || typeof entry[1] === 'number' || entry[1] instanceof String) {\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = entry[0]) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\nif (typeof entry[1] === 'number') {\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = parseFloat(entry[1].toPrecision(6))) ? \"\" : pug_interp));\n}\nelse {\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = entry[1]) ? \"\" : pug_interp));\n}\npug_html = pug_html + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var entry = $$obj[pug_index0];\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\nif (typeof entry[1] === 'string' || typeof entry[1] === 'number' || entry[1] instanceof String) {\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + \"\\u003Ctr\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = entry[0]) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + \"\\u003Ctd\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\nif (typeof entry[1] === 'number') {\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = parseFloat(entry[1].toPrecision(6))) ? \"\" : pug_interp));\n}\nelse {\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FannotationPopoverMetadata.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = entry[1]) ? \"\" : pug_interp));\n}\npug_html = pug_html + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n}\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\";\n}}.call(this,\"Object\" in locals_for_with?locals_for_with.Object:typeof Object!==\"undefined\"?Object:undefined,\"String\" in locals_for_with?locals_for_with.String:typeof String!==\"undefined\"?String:undefined,\"element\" in locals_for_with?locals_for_with.element:typeof element!==\"undefined\"?element:undefined,\"parseFloat\" in locals_for_with?locals_for_with.parseFloat:typeof parseFloat!==\"undefined\"?parseFloat:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/popover/annotationPopoverMetadata.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/popover/annotationPopover.styl\n// module id = 93\n// module chunks = 0","module.exports = (__webpack_require__(4))(25);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/annotations/convert.js from dll-reference girder_plugin_large_image_annotation\n// module id = 94\n// module chunks = 0","import $ from 'jquery';\n\nimport View from '../View';\n\nimport template from '../../templates/popover/pixelmapContextMenu.pug';\nimport '../../stylesheets/popover/annotationContextMenu.styl';\nimport StyleCollection from '../../collections/StyleCollection';\n\nconst PixelmapContextMenu = View.extend({\n events: {\n 'click .h-set-category': '_setCategory'\n },\n\n initialize(settings) {\n this.pixelmap = null;\n this.dtaIndex = -1;\n this.styles = new StyleCollection();\n this.styles.fetch().done(() => this.render);\n },\n\n render() {\n this.$el.html(template({categories: this.styles.map((style) => style.id)}));\n return this;\n },\n\n refetchStyles() {\n this.styles.fetch().done(() => this.render);\n },\n\n updatePixelmap(pixelmapElement, dataIndex) {\n this.pixelmap = pixelmapElement;\n this.dataIndex = dataIndex;\n this.render();\n },\n\n _setCategory(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n const category = $(evt.currentTarget).data('category');\n this.trigger('h:update', this.pixelmap, this.dataIndex, category);\n this.trigger('h:close');\n }\n});\n\nexport default PixelmapContextMenu;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/views/popover/PixelmapContextMenu.js","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\":\".list-group.h-annotation-context-menu\\n each category in categories\\n if category\\n a.h-set-category.list-group-item(href='#', data-category=category)\\n span.icon-right-big\\n = category\\n\"};\n;var locals_for_with = (locals || {});(function (categories) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"list-group h-annotation-context-menu\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\n// iterate categories\n;(function(){\n var $$obj = categories;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var category = $$obj[pug_index0];\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\nif (category) {\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-set-category list-group-item\\\"\"+\" href=\\\"#\\\"\"+pug.attr(\"data-category\", category, true, true)) + \"\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-right-big\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = category) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var category = $$obj[pug_index0];\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\nif (category) {\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"h-set-category list-group-item\\\"\"+\" href=\\\"#\\\"\"+pug.attr(\"data-category\", category, true, true)) + \"\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-right-big\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpopover\\u002FpixelmapContextMenu.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = category) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";}.call(this,\"categories\" in locals_for_with?locals_for_with.categories:typeof categories!==\"undefined\"?categories:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/popover/pixelmapContextMenu.pug","module.exports = (__webpack_require__(12))(241);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/index.js from dll-reference girder_lib\n// module id = 97\n// module chunks = 0","module.exports = (__webpack_require__(4))(23);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/widgets/AccessWidget.js from dll-reference girder_plugin_large_image_annotation\n// module id = 98\n// module chunks = 0","module.exports = (__webpack_require__(16))(108);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image/views/metadataWidget.js from dll-reference girder_plugin_large_image\n// module id = 99\n// module chunks = 0","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\":\"extends .\\u002Fpanel.pug\\n\\nblock title\\n | #[span.icon-tags] #{title}\\n if panel && firstKey && firstValue\\n span.g-widget-metadata-header-key-value #{firstKey+' '+firstValue+' '}\\nblock controls\\n if accessLevel \\u003E= AccessType.WRITE\\n span.s-no-panel-toggle\\n | !{contents}\\n if panel\\n span.s-no-panel-toggle.h-panel-maximize\\n i.icon-resize-full(title=\\\"Maximize\\\")\\n\\nblock content\\n .g-widget-metadata-container\\n\",\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\":\".s-panel-title-container\\n span.s-panel-title.h-panel-title\\n block title\\n | #{title}\\n span.s-panel-controls\\n block controls\\n if collapsed\\n i.icon-down-open\\n else\\n i.icon-up-open\\n if removeButton\\n i.icon-cancel.s-remove-panel(data-target=`#${id}`)\\n\\n- var attrs = {}\\nif !collapsed\\n - attrs.class = 'in'\\n.s-panel-content.collapse&attributes(attrs)\\n block content\\n\"};\n;var locals_for_with = (locals || {});(function (AccessType, accessLevel, collapsed, contents, firstKey, firstValue, id, panel, removeButton, title) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"s-panel-title-container\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-title h-panel-title\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-tags\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + \" \";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = title) ? \"\" : pug_interp));\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\nif (panel && firstKey && firstValue) {\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"g-widget-metadata-header-key-value\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = firstKey+' '+firstValue+' ') ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-controls\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\nif (accessLevel >= AccessType.WRITE) {\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-no-panel-toggle\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + (null == (pug_interp = contents) ? \"\" : pug_interp) + \"\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\nif (panel) {\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-no-panel-toggle h-panel-maximize\\\"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-resize-full\\\" title=\\\"Maximize\\\"\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (collapsed) {\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-down-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\nelse {\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-up-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (removeButton) {\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci\" + (\" class=\\\"icon-cancel s-remove-panel\\\"\"+pug.attr(\"data-target\", `#${id}`, true, true)) + \"\\u003E\\u003C\\u002Fi\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nvar attrs = {}\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (!collapsed) {\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nattrs.class = 'in'\n}\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attrs(pug.merge([{\"class\": \"s-panel-content collapse\"},attrs]), true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataWidgetPanel.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"g-widget-metadata-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"AccessType\" in locals_for_with?locals_for_with.AccessType:typeof AccessType!==\"undefined\"?AccessType:undefined,\"accessLevel\" in locals_for_with?locals_for_with.accessLevel:typeof accessLevel!==\"undefined\"?accessLevel:undefined,\"collapsed\" in locals_for_with?locals_for_with.collapsed:typeof collapsed!==\"undefined\"?collapsed:undefined,\"contents\" in locals_for_with?locals_for_with.contents:typeof contents!==\"undefined\"?contents:undefined,\"firstKey\" in locals_for_with?locals_for_with.firstKey:typeof firstKey!==\"undefined\"?firstKey:undefined,\"firstValue\" in locals_for_with?locals_for_with.firstValue:typeof firstValue!==\"undefined\"?firstValue:undefined,\"id\" in locals_for_with?locals_for_with.id:typeof id!==\"undefined\"?id:undefined,\"panel\" in locals_for_with?locals_for_with.panel:typeof panel!==\"undefined\"?panel:undefined,\"removeButton\" in locals_for_with?locals_for_with.removeButton:typeof removeButton!==\"undefined\"?removeButton:undefined,\"title\" in locals_for_with?locals_for_with.title:typeof title!==\"undefined\"?title:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/panels/metadataWidgetPanel.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/panels/metadataWidget.styl\n// module id = 101\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/dialogs/saveAnnotation.styl\n// module id = 102\n// module chunks = 0","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\":\"mixin functional(name, key, title, color)\\n .form-group.h-functional-value\\n label(for='h-annotation-' + name) #{title}\\n - let anyFuncs = !!Object.keys(styleableFuncs || {}).length;\\n if !anyFuncs\\n .input-group.h-colorpicker(id='h-annotation-colorpicker-' + name)\\n input.input-sm.form-control(id='h-annotation-' + name, type='text', value=defaultStyles[key])\\n span.input-group-addon\\n i\\n else\\n .row\\n .col-sm-2\\n input(id='h-annotation-' + name + '-fixed', type='radio', name=name + '-set', checked=styleFuncs[key].useFunc ? undefined : 'checked')\\n label.unstyled(for='h-annotation-' + name + '-fixed') Constant\\n .col-sm-10\\n .input-group.h-colorpicker(id='h-annotation-colorpicker-' + name)\\n input.input-sm.form-control(id='h-annotation-' + name, type='text', value=defaultStyles[key])\\n span.input-group-addon\\n i\\n .row\\n .col-sm-2\\n input(id='h-annotation-' + name + '-func', type='radio', name=name + '-set', checked=styleFuncs[key].useFunc ? 'checked' : undefined)\\n label.unstyled(for='h-annotation-' + name + '-func') From\\n .col-sm-10\\n select.format-control.input-sm(id='h-annotation-' + name + '-func-list')\\n each sfunc in styleableFuncs\\n if !sfunc.categoric\\n option(value=sfunc.key, selected=styleFuncs[key].key === sfunc.key) #{sfunc.name}\\n .row\\n .col-sm-2\\n .col-sm-3\\n | minimum\\n .input-group.h-colorpicker\\n input.input-sm.form-control(id='h-annotation-' + name + '-min', type='text', value=styleFuncs[key].minColor || defaultStyles[key])\\n span.input-group-addon\\n i\\n .col-sm-2\\n div\\n input(id='h-annotation-' + name + '-min-auto', type='radio', name=name + '-min-set', checked=styleFuncs[key].minSet ? undefined : 'checked')\\n label.unstyled(for='h-annotation-' + name + '-min-auto') auto\\n div\\n input(id='h-annotation-' + name + '-min-setval', type='radio', name=name + '-min-set', checked=styleFuncs[key].minSet ? 'checked' : undefined)\\n input(id='h-annotation-' + name + '-min-val', type='number', step='any', value=styleFuncs[key].minValue)\\n .col-sm-3\\n | maximum\\n .input-group.h-colorpicker\\n input.input-sm.form-control(id='h-annotation-' + name + '-max', type='text', value=styleFuncs[key].maxColor || defaultStyles[key])\\n span.input-group-addon\\n i\\n .col-sm-2\\n div\\n input(id='h-annotation-' + name + '-max-auto', type='radio', name=name + '-max-set', checked=styleFuncs[key].maxSet ? undefined : 'checked')\\n label.unstyled(for='h-annotation-' + name + '-max-auto') auto\\n div\\n input(id='h-annotation-' + name + '-max-setval', type='radio', name=name + '-max-set', checked=styleFuncs[key].maxSet ? 'checked' : undefined)\\n input(id='h-annotation-' + name + '-max-val', type='number', step='any', value=styleFuncs[key].maxValue)\\n\\n- var timestamp = moment().format('YYYY-MM-DD HH:mm')\\n- var defaultName = 'Annotation '+ timestamp\\n.modal-dialog(role='document')\\n .modal-content\\n form.modal-form(role='form')\\n .modal-header\\n button.close(type='button', data-dismiss='modal', aria-label='Close')\\n span(aria-hidden='true') ×\\n h4.modal-title #{title}\\n .modal-body\\n .form-group\\n label(for='h-annotation-name') Name\\n input#h-annotation-name.input-sm.form-control(\\n type='text', placeholder='Enter a name for the annotation', value=annotation.name || defaultName)\\n .form-group\\n label(for='h-annotation-description') Description\\n textarea#h-annotation-description.form-control.input-sm(\\n rows=annotation.description ? '4' : '2', placeholder='Enter an optional description')\\n | #{annotation.description}\\n .form-group(title='If checked, this annotation will be shown when the image is first loaded.')\\n label(for='h-annotation-visible') Show on first load\\n input#h-annotation-visible(type='checkbox', checked=(annotation.display || {}).visible === true ? 'checked' : undefined)\\n if model && model.id\\n .g-item-created.hui-info-list-entry\\n i.icon-clock\\n | Created on #{formatDate(model.get('created'), DATE_SECOND)}\\n .g-model-updated.hui-info-list-entry\\n i.icon-clock\\n | Updated on #{formatDate(model.get('updated'), DATE_SECOND)}\\n .g-model-id.hui-info-list-entry\\n i.icon-share\\n | Unique ID: #{model.id}\\n if model.get('_version')\\n = ' '\\n i.icon-angle-circled-down\\n | Global Version: #{model.get('_version')}\\n .hui-annotation-metadata.hui-annotation-metadata-dialog\\n if showStyleEditor\\n hr\\n h4 Set the style for all point, line, and polygon elements in this annotation\\n .form-group\\n label(for='h-annotation-line-width') Line Width\\n input#h-annotation-line-width.input-sm.form-control(\\n type='number', min=0, step=0.1, value=defaultStyles.lineWidth)\\n +functional('line-color', 'lineColor', 'Line color', true)\\n +functional('fill-color', 'fillColor', 'Fill color', true)\\n .g-validation-failed-message.hidden\\n .modal-footer\\n if hasAdmin\\n button.btn.btn-warning.h-access(type='button') Permissions\\n button.btn.btn-default.h-cancel(type='button', data-dismiss='modal') Cancel\\n button.btn.btn-primary.h-submit(type='submit') Save\\n\"};\n;var locals_for_with = (locals || {});(function (DATE_SECOND, Object, annotation, defaultStyles, formatDate, hasAdmin, model, moment, showStyleEditor, styleFuncs, styleableFuncs, title) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_mixins[\"functional\"] = pug_interp = function(name, key, title, color){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group h-functional-value\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel\" + (pug.attr(\"for\", 'h-annotation-' + name, true, true)) + \"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = title) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nlet anyFuncs = !!Object.keys(styleableFuncs || {}).length;\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nif (!anyFuncs) {\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"input-group h-colorpicker\\\"\"+pug.attr(\"id\", 'h-annotation-colorpicker-' + name, true, true)) + \"\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+pug.attr(\"id\", 'h-annotation-' + name, true, true)+\" type=\\\"text\\\"\"+pug.attr(\"value\", defaultStyles[key], true, true)) + \"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"input-group-addon\\\"\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ci\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"row\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-2\\\"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (pug.attr(\"id\", 'h-annotation-' + name + '-fixed', true, true)+\" type=\\\"radio\\\"\"+pug.attr(\"name\", name + '-set', true, true)+pug.attr(\"checked\", styleFuncs[key].useFunc ? undefined : 'checked', true, true)) + \"\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel\" + (\" class=\\\"unstyled\\\"\"+pug.attr(\"for\", 'h-annotation-' + name + '-fixed', true, true)) + \"\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Constant\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-10\\\"\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"input-group h-colorpicker\\\"\"+pug.attr(\"id\", 'h-annotation-colorpicker-' + name, true, true)) + \"\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+pug.attr(\"id\", 'h-annotation-' + name, true, true)+\" type=\\\"text\\\"\"+pug.attr(\"value\", defaultStyles[key], true, true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"input-group-addon\\\"\\u003E\";\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ci\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"row\\\"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-2\\\"\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (pug.attr(\"id\", 'h-annotation-' + name + '-func', true, true)+\" type=\\\"radio\\\"\"+pug.attr(\"name\", name + '-set', true, true)+pug.attr(\"checked\", styleFuncs[key].useFunc ? 'checked' : undefined, true, true)) + \"\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel\" + (\" class=\\\"unstyled\\\"\"+pug.attr(\"for\", 'h-annotation-' + name + '-func', true, true)) + \"\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"From\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-10\\\"\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cselect\" + (\" class=\\\"format-control input-sm\\\"\"+pug.attr(\"id\", 'h-annotation-' + name + '-func-list', true, true)) + \"\\u003E\";\n;pug_debug_line = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\n// iterate styleableFuncs\n;(function(){\n var $$obj = styleableFuncs;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var sfunc = $$obj[pug_index0];\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nif (!sfunc.categoric) {\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", sfunc.key, true, true)+pug.attr(\"selected\", styleFuncs[key].key === sfunc.key, true, true)) + \"\\u003E\";\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = sfunc.name) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var sfunc = $$obj[pug_index0];\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nif (!sfunc.categoric) {\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", sfunc.key, true, true)+pug.attr(\"selected\", styleFuncs[key].key === sfunc.key, true, true)) + \"\\u003E\";\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = sfunc.name) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n}\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"row\\\"\\u003E\";\n;pug_debug_line = 30;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-2\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-3\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"minimum\";\n;pug_debug_line = 33;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group h-colorpicker\\\"\\u003E\";\n;pug_debug_line = 34;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+pug.attr(\"id\", 'h-annotation-' + name + '-min', true, true)+\" type=\\\"text\\\"\"+pug.attr(\"value\", styleFuncs[key].minColor || defaultStyles[key], true, true)) + \"\\u003E\";\n;pug_debug_line = 35;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"input-group-addon\\\"\\u003E\";\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ci\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-2\\\"\\u003E\";\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv\\u003E\";\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (pug.attr(\"id\", 'h-annotation-' + name + '-min-auto', true, true)+\" type=\\\"radio\\\"\"+pug.attr(\"name\", name + '-min-set', true, true)+pug.attr(\"checked\", styleFuncs[key].minSet ? undefined : 'checked', true, true)) + \"\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel\" + (\" class=\\\"unstyled\\\"\"+pug.attr(\"for\", 'h-annotation-' + name + '-min-auto', true, true)) + \"\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"auto\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (pug.attr(\"id\", 'h-annotation-' + name + '-min-setval', true, true)+\" type=\\\"radio\\\"\"+pug.attr(\"name\", name + '-min-set', true, true)+pug.attr(\"checked\", styleFuncs[key].minSet ? 'checked' : undefined, true, true)) + \"\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (pug.attr(\"id\", 'h-annotation-' + name + '-min-val', true, true)+\" type=\\\"number\\\" step=\\\"any\\\"\"+pug.attr(\"value\", styleFuncs[key].minValue, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-3\\\"\\u003E\";\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"maximum\";\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group h-colorpicker\\\"\\u003E\";\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+pug.attr(\"id\", 'h-annotation-' + name + '-max', true, true)+\" type=\\\"text\\\"\"+pug.attr(\"value\", styleFuncs[key].maxColor || defaultStyles[key], true, true)) + \"\\u003E\";\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"input-group-addon\\\"\\u003E\";\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ci\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 50;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-2\\\"\\u003E\";\n;pug_debug_line = 51;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv\\u003E\";\n;pug_debug_line = 52;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (pug.attr(\"id\", 'h-annotation-' + name + '-max-auto', true, true)+\" type=\\\"radio\\\"\"+pug.attr(\"name\", name + '-max-set', true, true)+pug.attr(\"checked\", styleFuncs[key].maxSet ? undefined : 'checked', true, true)) + \"\\u003E\";\n;pug_debug_line = 53;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel\" + (\" class=\\\"unstyled\\\"\"+pug.attr(\"for\", 'h-annotation-' + name + '-max-auto', true, true)) + \"\\u003E\";\n;pug_debug_line = 53;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"auto\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 54;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv\\u003E\";\n;pug_debug_line = 55;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (pug.attr(\"id\", 'h-annotation-' + name + '-max-setval', true, true)+\" type=\\\"radio\\\"\"+pug.attr(\"name\", name + '-max-set', true, true)+pug.attr(\"checked\", styleFuncs[key].maxSet ? 'checked' : undefined, true, true)) + \"\\u003E\";\n;pug_debug_line = 56;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (pug.attr(\"id\", 'h-annotation-' + name + '-max-val', true, true)+\" type=\\\"number\\\" step=\\\"any\\\"\"+pug.attr(\"value\", styleFuncs[key].maxValue, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n};\n;pug_debug_line = 58;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nvar timestamp = moment().format('YYYY-MM-DD HH:mm')\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nvar defaultName = 'Annotation '+ timestamp\n;pug_debug_line = 60;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-dialog\\\" role=\\\"document\\\"\\u003E\";\n;pug_debug_line = 61;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-content\\\"\\u003E\";\n;pug_debug_line = 62;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cform class=\\\"modal-form\\\" role=\\\"form\\\"\\u003E\";\n;pug_debug_line = 63;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-header\\\"\\u003E\";\n;pug_debug_line = 64;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"close\\\" type=\\\"button\\\" data-dismiss=\\\"modal\\\" aria-label=\\\"Close\\\"\\u003E\";\n;pug_debug_line = 65;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cspan aria-hidden=\\\"true\\\"\\u003E\";\n;pug_debug_line = 65;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 66;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ch4 class=\\\"modal-title\\\"\\u003E\";\n;pug_debug_line = 66;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = title) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh4\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 67;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-body\\\"\\u003E\";\n;pug_debug_line = 68;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 69;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-annotation-name\\\"\\u003E\";\n;pug_debug_line = 69;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Name\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 70;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+\" id=\\\"h-annotation-name\\\" type=\\\"text\\\" placeholder=\\\"Enter a name for the annotation\\\"\"+pug.attr(\"value\", annotation.name || defaultName, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 72;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 73;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-annotation-description\\\"\\u003E\";\n;pug_debug_line = 73;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Description\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 74;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ctextarea\" + (\" class=\\\"form-control input-sm\\\"\"+\" id=\\\"h-annotation-description\\\"\"+pug.attr(\"rows\", annotation.description ? '4' : '2', true, true)+\" placeholder=\\\"Enter an optional description\\\"\") + \"\\u003E\";\n;pug_debug_line = 76;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = annotation.description) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftextarea\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 77;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\" title=\\\"If checked, this annotation will be shown when the image is first loaded.\\\"\\u003E\";\n;pug_debug_line = 78;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-annotation-visible\\\"\\u003E\";\n;pug_debug_line = 78;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Show on first load\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 79;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" id=\\\"h-annotation-visible\\\" type=\\\"checkbox\\\"\"+pug.attr(\"checked\", (annotation.display || {}).visible === true ? 'checked' : undefined, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 80;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nif (model && model.id) {\n;pug_debug_line = 81;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"g-item-created hui-info-list-entry\\\"\\u003E\";\n;pug_debug_line = 82;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-clock\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 83;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Created on \";\n;pug_debug_line = 83;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = formatDate(model.get('created'), DATE_SECOND)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 84;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"g-model-updated hui-info-list-entry\\\"\\u003E\";\n;pug_debug_line = 85;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-clock\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 86;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Updated on \";\n;pug_debug_line = 86;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = formatDate(model.get('updated'), DATE_SECOND)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 87;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"g-model-id hui-info-list-entry\\\"\\u003E\";\n;pug_debug_line = 88;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-share\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 89;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Unique ID: \";\n;pug_debug_line = 89;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = model.id) ? \"\" : pug_interp));\n;pug_debug_line = 90;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nif (model.get('_version')) {\n;pug_debug_line = 91;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = ' ') ? \"\" : pug_interp));\n;pug_debug_line = 92;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-angle-circled-down\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 93;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Global Version: \";\n;pug_debug_line = 93;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = model.get('_version')) ? \"\" : pug_interp));\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 94;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"hui-annotation-metadata hui-annotation-metadata-dialog\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n;pug_debug_line = 95;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nif (showStyleEditor) {\n;pug_debug_line = 96;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Chr\\u003E\";\n;pug_debug_line = 97;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Ch4\\u003E\";\n;pug_debug_line = 97;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Set the style for all point, line, and polygon elements in this annotation\\u003C\\u002Fh4\\u003E\";\n;pug_debug_line = 98;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 99;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-annotation-line-width\\\"\\u003E\";\n;pug_debug_line = 99;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Line Width\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 100;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"input-sm form-control\\\"\"+\" id=\\\"h-annotation-line-width\\\" type=\\\"number\\\" min=\\\"0\\\" step=\\\"0.1\\\"\"+pug.attr(\"value\", defaultStyles.lineWidth, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 102;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_mixins[\"functional\"]('line-color', 'lineColor', 'Line color', true);\n;pug_debug_line = 103;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_mixins[\"functional\"]('fill-color', 'fillColor', 'Fill color', true);\n}\n;pug_debug_line = 104;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"g-validation-failed-message hidden\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 105;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-footer\\\"\\u003E\";\n;pug_debug_line = 106;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\nif (hasAdmin) {\n;pug_debug_line = 107;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-warning h-access\\\" type=\\\"button\\\"\\u003E\";\n;pug_debug_line = 107;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Permissions\\u003C\\u002Fbutton\\u003E\";\n}\n;pug_debug_line = 108;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default h-cancel\\\" type=\\\"button\\\" data-dismiss=\\\"modal\\\"\\u003E\";\n;pug_debug_line = 108;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Cancel\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 109;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-primary h-submit\\\" type=\\\"submit\\\"\\u003E\";\n;pug_debug_line = 109;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FsaveAnnotation.pug\";\npug_html = pug_html + \"Save\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"DATE_SECOND\" in locals_for_with?locals_for_with.DATE_SECOND:typeof DATE_SECOND!==\"undefined\"?DATE_SECOND:undefined,\"Object\" in locals_for_with?locals_for_with.Object:typeof Object!==\"undefined\"?Object:undefined,\"annotation\" in locals_for_with?locals_for_with.annotation:typeof annotation!==\"undefined\"?annotation:undefined,\"defaultStyles\" in locals_for_with?locals_for_with.defaultStyles:typeof defaultStyles!==\"undefined\"?defaultStyles:undefined,\"formatDate\" in locals_for_with?locals_for_with.formatDate:typeof formatDate!==\"undefined\"?formatDate:undefined,\"hasAdmin\" in locals_for_with?locals_for_with.hasAdmin:typeof hasAdmin!==\"undefined\"?hasAdmin:undefined,\"model\" in locals_for_with?locals_for_with.model:typeof model!==\"undefined\"?model:undefined,\"moment\" in locals_for_with?locals_for_with.moment:typeof moment!==\"undefined\"?moment:undefined,\"showStyleEditor\" in locals_for_with?locals_for_with.showStyleEditor:typeof showStyleEditor!==\"undefined\"?showStyleEditor:undefined,\"styleFuncs\" in locals_for_with?locals_for_with.styleFuncs:typeof styleFuncs!==\"undefined\"?styleFuncs:undefined,\"styleableFuncs\" in locals_for_with?locals_for_with.styleableFuncs:typeof styleableFuncs!==\"undefined\"?styleableFuncs:undefined,\"title\" in locals_for_with?locals_for_with.title:typeof title!==\"undefined\"?title:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/dialogs/saveAnnotation.pug","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\":\"extends .\\u002Fpanel.pug\\n\\nblock title\\n | #[span.icon-tags] #[span.icon-spin1.animate-spin.save-mark(title=\\\"Saving Annotations\\\")] #{title}\\n\\nblock content\\n .btn-group.h-hide-show-buttons(role='group')\\n .btn-group.btn-group-sm(role='group')\\n button.btn.btn-default.h-show-all-annotations(type='button', title='Show all annotations. Keyboard shortcut: a')\\n | #[span.icon-eye]\\n .btn-group.btn-group-sm(role='group')\\n button.btn.btn-default.h-hide-all-annotations(type='button', title='Hide all annotations. Keyboard shortcut: a')\\n | #[span.icon-eye-off]\\n span.h-annotation-opacity-container(title=`Annotation total opacity ${(opacity * 100).toFixed()}%`)\\n input#h-annotation-opacity(\\n type=\\\"range\\\", min=\\\"0\\\", max=\\\"1\\\", step=\\\"0.01\\\", value=opacity)\\n span.h-annotation-fill-opacity-container(title=`Annotation fill opacity ${(fillOpacity * 100).toFixed()}%`)\\n input#h-annotation-fill-opacity(\\n type=\\\"range\\\", min=\\\"0\\\", max=\\\"1\\\", step=\\\"0.01\\\", value=fillOpacity)\\n .btn-group.btn-group-sm(role='group')\\n button.btn.btn-default.h-annotation-select-by-region(type='button', title='Select annotations by region. Keyboard shortcut: s; S selects using a polygon; C clears selection')\\n | #[span.icon-marquee]\\n\\n - var groups = _.keys(annotationGroups);\\n - groups.sort();\\n each groupName in groups\\n - var annotations = annotationGroups[groupName];\\n - var expanded = expandedGroups.has(groupName);\\n - var expandedClass = expanded ? 'h-group-expanded' : 'h-group-collapsed';\\n .h-annotation-group(class=[expandedClass], data-group-name=groupName)\\n .h-annotation-group-name.clearfix\\n if expanded\\n i.icon-folder-open\\n else\\n i.icon-folder\\n = groupName\\n if expanded\\n each annotation in annotations\\n - var name = annotation.get('annotation').name;\\n - var displayed = annotation.get('displayed');\\n - var partial = annotation._centroids && annotation._centroids.partial\\n - var loading = annotation.get('loading');\\n - var classes = [];\\n if annotation.id === activeAnnotation\\n - classes.push('h-active-annotation');\\n if annotation.get('highlight')\\n - classes.push('h-highlight-annotation')\\n .h-annotation(data-id=annotation.id, class=classes)\\n if loading\\n span.icon-spin3.animate-spin.h-float-left\\n else if displayed\\n span.icon-eye.h-toggle-annotation.h-float-left(\\n title='Hide annotation' + (partial ? '. Annotation is only partially loaded' : ''), class=partial ? 'partial' : '')\\n else\\n span.icon-eye-off.h-toggle-annotation.h-float-left(\\n title='Show annotation')\\n span.h-annotation-name(title=name) #{name}\\n\\n span.h-annotation-right\\n if writeAccess(annotation, true)\\n span.icon-cancel.h-delete-annotation(\\n title='Remove annotation')\\n if writeAccess(annotation)\\n span.icon-cog.h-edit-annotation-metadata(\\n title='Edit annotation')\\n a(href=annotation.downloadUrl().replace(\\u002F\\\\\\u002Fdownload$\\u002F, ''),\\n download=name + '.json')\\n span.icon-download.h-download-annotation(\\n title='Download annotation')\\n\\n .checkbox.h-annotation-toggle\\n label(title='Show annotation labels when hovering with the mouse.')\\n input#h-toggle-labels(type='checkbox', checked=showLabels)\\n | Labels\\n label(title='Highlight annotations when hovering with the mouse.')\\n input#h-toggle-interactive(type='checkbox', checked=interactiveMode)\\n | Interactive\\n button.btn.btn-sm.btn-primary.h-create-annotation(title='Create a new annotation. Keyboard shortcut: space bar', class=annotationAccess ? '' : 'hidden')\\n | #[span.icon-plus-squared] New\\n .clearfix\\n\",\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\":\".s-panel-title-container\\n span.s-panel-title.h-panel-title\\n block title\\n | #{title}\\n span.s-panel-controls\\n block controls\\n if collapsed\\n i.icon-down-open\\n else\\n i.icon-up-open\\n if removeButton\\n i.icon-cancel.s-remove-panel(data-target=`#${id}`)\\n\\n- var attrs = {}\\nif !collapsed\\n - attrs.class = 'in'\\n.s-panel-content.collapse&attributes(attrs)\\n block content\\n\"};\n;var locals_for_with = (locals || {});(function (_, activeAnnotation, annotationAccess, annotationGroups, collapsed, expandedGroups, fillOpacity, id, interactiveMode, opacity, removeButton, showLabels, title, writeAccess) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"s-panel-title-container\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-title h-panel-title\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-tags\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \" \";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-spin1 animate-spin save-mark\\\" title=\\\"Saving Annotations\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \" \";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = title) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-controls\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (collapsed) {\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-down-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\nelse {\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-up-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (removeButton) {\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci\" + (\" class=\\\"icon-cancel s-remove-panel\\\"\"+pug.attr(\"data-target\", `#${id}`, true, true)) + \"\\u003E\\u003C\\u002Fi\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nvar attrs = {}\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (!collapsed) {\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nattrs.class = 'in'\n}\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attrs(pug.merge([{\"class\": \"s-panel-content collapse\"},attrs]), true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group h-hide-show-buttons\\\" role=\\\"group\\\"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-sm\\\" role=\\\"group\\\"\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default h-show-all-annotations\\\" type=\\\"button\\\" title=\\\"Show all annotations. Keyboard shortcut: a\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-eye\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-sm\\\" role=\\\"group\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default h-hide-all-annotations\\\" type=\\\"button\\\" title=\\\"Hide all annotations. Keyboard shortcut: a\\\"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-eye-off\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-annotation-opacity-container\\\"\"+pug.attr(\"title\", `Annotation total opacity ${(opacity * 100).toFixed()}%`, true, true)) + \"\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" id=\\\"h-annotation-opacity\\\" type=\\\"range\\\" min=\\\"0\\\" max=\\\"1\\\" step=\\\"0.01\\\"\"+pug.attr(\"value\", opacity, true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-annotation-fill-opacity-container\\\"\"+pug.attr(\"title\", `Annotation fill opacity ${(fillOpacity * 100).toFixed()}%`, true, true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" id=\\\"h-annotation-fill-opacity\\\" type=\\\"range\\\" min=\\\"0\\\" max=\\\"1\\\" step=\\\"0.01\\\"\"+pug.attr(\"value\", fillOpacity, true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-sm\\\" role=\\\"group\\\"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default h-annotation-select-by-region\\\" type=\\\"button\\\" title=\\\"Select annotations by region. Keyboard shortcut: s; S selects using a polygon; C clears selection\\\"\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-marquee\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar groups = _.keys(annotationGroups);\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\ngroups.sort();\n;pug_debug_line = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\n// iterate groups\n;(function(){\n var $$obj = groups;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var groupName = $$obj[pug_index0];\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar annotations = annotationGroups[groupName];\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar expanded = expandedGroups.has(groupName);\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar expandedClass = expanded ? 'h-group-expanded' : 'h-group-collapsed';\n;pug_debug_line = 30;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"h-annotation-group\",[expandedClass]], [false,true]), false, true)+pug.attr(\"data-group-name\", groupName, true, true)) + \"\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-group-name clearfix\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (expanded) {\n;pug_debug_line = 33;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-folder-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\nelse {\n;pug_debug_line = 35;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-folder\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = groupName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (expanded) {\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\n// iterate annotations\n;(function(){\n var $$obj = annotations;\n if ('number' == typeof $$obj.length) {\n for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) {\n var annotation = $$obj[pug_index1];\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar name = annotation.get('annotation').name;\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar displayed = annotation.get('displayed');\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar partial = annotation._centroids && annotation._centroids.partial\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar loading = annotation.get('loading');\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar classes = [];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (annotation.id === activeAnnotation) {\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nclasses.push('h-active-annotation');\n}\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (annotation.get('highlight')) {\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nclasses.push('h-highlight-annotation')\n}\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"h-annotation\",classes], [false,true]), false, true)+pug.attr(\"data-id\", annotation.id, true, true)) + \"\\u003E\";\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (loading) {\n;pug_debug_line = 50;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-spin3 animate-spin h-float-left\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse\nif (displayed) {\n;pug_debug_line = 52;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"icon-eye\",\"h-toggle-annotation\",\"h-float-left\",partial ? 'partial' : ''], [false,false,false,true]), false, true)+pug.attr(\"title\", 'Hide annotation' + (partial ? '. Annotation is only partially loaded' : ''), true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse {\n;pug_debug_line = 55;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-eye-off h-toggle-annotation h-float-left\\\" title=\\\"Show annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-annotation-name\\\"\"+pug.attr(\"title\", name, true, true)) + \"\\u003E\";\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"h-annotation-right\\\"\\u003E\";\n;pug_debug_line = 60;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation, true)) {\n;pug_debug_line = 61;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cancel h-delete-annotation\\\" title=\\\"Remove annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 63;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation)) {\n;pug_debug_line = 64;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog h-edit-annotation-metadata\\\" title=\\\"Edit annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 66;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Ca\" + (pug.attr(\"href\", annotation.downloadUrl().replace(/\\/download$/, ''), true, true)+pug.attr(\"download\", name + '.json', true, true)) + \"\\u003E\";\n;pug_debug_line = 68;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-download h-download-annotation\\\" title=\\\"Download annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index1 in $$obj) {\n $$l++;\n var annotation = $$obj[pug_index1];\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar name = annotation.get('annotation').name;\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar displayed = annotation.get('displayed');\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar partial = annotation._centroids && annotation._centroids.partial\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar loading = annotation.get('loading');\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar classes = [];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (annotation.id === activeAnnotation) {\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nclasses.push('h-active-annotation');\n}\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (annotation.get('highlight')) {\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nclasses.push('h-highlight-annotation')\n}\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"h-annotation\",classes], [false,true]), false, true)+pug.attr(\"data-id\", annotation.id, true, true)) + \"\\u003E\";\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (loading) {\n;pug_debug_line = 50;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-spin3 animate-spin h-float-left\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse\nif (displayed) {\n;pug_debug_line = 52;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"icon-eye\",\"h-toggle-annotation\",\"h-float-left\",partial ? 'partial' : ''], [false,false,false,true]), false, true)+pug.attr(\"title\", 'Hide annotation' + (partial ? '. Annotation is only partially loaded' : ''), true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse {\n;pug_debug_line = 55;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-eye-off h-toggle-annotation h-float-left\\\" title=\\\"Show annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-annotation-name\\\"\"+pug.attr(\"title\", name, true, true)) + \"\\u003E\";\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"h-annotation-right\\\"\\u003E\";\n;pug_debug_line = 60;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation, true)) {\n;pug_debug_line = 61;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cancel h-delete-annotation\\\" title=\\\"Remove annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 63;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation)) {\n;pug_debug_line = 64;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog h-edit-annotation-metadata\\\" title=\\\"Edit annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 66;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Ca\" + (pug.attr(\"href\", annotation.downloadUrl().replace(/\\/download$/, ''), true, true)+pug.attr(\"download\", name + '.json', true, true)) + \"\\u003E\";\n;pug_debug_line = 68;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-download h-download-annotation\\\" title=\\\"Download annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var groupName = $$obj[pug_index0];\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar annotations = annotationGroups[groupName];\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar expanded = expandedGroups.has(groupName);\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar expandedClass = expanded ? 'h-group-expanded' : 'h-group-collapsed';\n;pug_debug_line = 30;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"h-annotation-group\",[expandedClass]], [false,true]), false, true)+pug.attr(\"data-group-name\", groupName, true, true)) + \"\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-annotation-group-name clearfix\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (expanded) {\n;pug_debug_line = 33;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-folder-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\nelse {\n;pug_debug_line = 35;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-folder\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = groupName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (expanded) {\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\n// iterate annotations\n;(function(){\n var $$obj = annotations;\n if ('number' == typeof $$obj.length) {\n for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) {\n var annotation = $$obj[pug_index2];\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar name = annotation.get('annotation').name;\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar displayed = annotation.get('displayed');\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar partial = annotation._centroids && annotation._centroids.partial\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar loading = annotation.get('loading');\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar classes = [];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (annotation.id === activeAnnotation) {\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nclasses.push('h-active-annotation');\n}\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (annotation.get('highlight')) {\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nclasses.push('h-highlight-annotation')\n}\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"h-annotation\",classes], [false,true]), false, true)+pug.attr(\"data-id\", annotation.id, true, true)) + \"\\u003E\";\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (loading) {\n;pug_debug_line = 50;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-spin3 animate-spin h-float-left\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse\nif (displayed) {\n;pug_debug_line = 52;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"icon-eye\",\"h-toggle-annotation\",\"h-float-left\",partial ? 'partial' : ''], [false,false,false,true]), false, true)+pug.attr(\"title\", 'Hide annotation' + (partial ? '. Annotation is only partially loaded' : ''), true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse {\n;pug_debug_line = 55;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-eye-off h-toggle-annotation h-float-left\\\" title=\\\"Show annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-annotation-name\\\"\"+pug.attr(\"title\", name, true, true)) + \"\\u003E\";\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"h-annotation-right\\\"\\u003E\";\n;pug_debug_line = 60;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation, true)) {\n;pug_debug_line = 61;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cancel h-delete-annotation\\\" title=\\\"Remove annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 63;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation)) {\n;pug_debug_line = 64;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog h-edit-annotation-metadata\\\" title=\\\"Edit annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 66;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Ca\" + (pug.attr(\"href\", annotation.downloadUrl().replace(/\\/download$/, ''), true, true)+pug.attr(\"download\", name + '.json', true, true)) + \"\\u003E\";\n;pug_debug_line = 68;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-download h-download-annotation\\\" title=\\\"Download annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index2 in $$obj) {\n $$l++;\n var annotation = $$obj[pug_index2];\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar name = annotation.get('annotation').name;\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar displayed = annotation.get('displayed');\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar partial = annotation._centroids && annotation._centroids.partial\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar loading = annotation.get('loading');\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nvar classes = [];\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (annotation.id === activeAnnotation) {\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nclasses.push('h-active-annotation');\n}\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (annotation.get('highlight')) {\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nclasses.push('h-highlight-annotation')\n}\n;pug_debug_line = 48;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"h-annotation\",classes], [false,true]), false, true)+pug.attr(\"data-id\", annotation.id, true, true)) + \"\\u003E\";\n;pug_debug_line = 49;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (loading) {\n;pug_debug_line = 50;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-spin3 animate-spin h-float-left\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse\nif (displayed) {\n;pug_debug_line = 52;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"icon-eye\",\"h-toggle-annotation\",\"h-float-left\",partial ? 'partial' : ''], [false,false,false,true]), false, true)+pug.attr(\"title\", 'Hide annotation' + (partial ? '. Annotation is only partially loaded' : ''), true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse {\n;pug_debug_line = 55;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-eye-off h-toggle-annotation h-float-left\\\" title=\\\"Show annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-annotation-name\\\"\"+pug.attr(\"title\", name, true, true)) + \"\\u003E\";\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 59;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"h-annotation-right\\\"\\u003E\";\n;pug_debug_line = 60;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation, true)) {\n;pug_debug_line = 61;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cancel h-delete-annotation\\\" title=\\\"Remove annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 63;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\nif (writeAccess(annotation)) {\n;pug_debug_line = 64;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog h-edit-annotation-metadata\\\" title=\\\"Edit annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\n;pug_debug_line = 66;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Ca\" + (pug.attr(\"href\", annotation.downloadUrl().replace(/\\/download$/, ''), true, true)+pug.attr(\"download\", name + '.json', true, true)) + \"\\u003E\";\n;pug_debug_line = 68;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-download h-download-annotation\\\" title=\\\"Download annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\n;pug_debug_line = 71;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"checkbox h-annotation-toggle\\\"\\u003E\";\n;pug_debug_line = 72;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Clabel title=\\\"Show annotation labels when hovering with the mouse.\\\"\\u003E\";\n;pug_debug_line = 73;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" id=\\\"h-toggle-labels\\\" type=\\\"checkbox\\\"\"+pug.attr(\"checked\", showLabels, true, true)) + \"\\u003E\";\n;pug_debug_line = 74;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"Labels\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 75;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Clabel title=\\\"Highlight annotations when hovering with the mouse.\\\"\\u003E\";\n;pug_debug_line = 76;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" id=\\\"h-toggle-interactive\\\" type=\\\"checkbox\\\"\"+pug.attr(\"checked\", interactiveMode, true, true)) + \"\\u003E\";\n;pug_debug_line = 77;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"Interactive\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 78;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cbutton\" + (pug.attr(\"class\", pug.classes([\"btn\",\"btn-sm\",\"btn-primary\",\"h-create-annotation\",annotationAccess ? '' : 'hidden'], [false,false,false,false,true]), false, true)+\" title=\\\"Create a new annotation. Keyboard shortcut: space bar\\\"\") + \"\\u003E\";\n;pug_debug_line = 79;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 79;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-plus-squared\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 79;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \" New\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 80;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FannotationSelector.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"clearfix\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"_\" in locals_for_with?locals_for_with._:typeof _!==\"undefined\"?_:undefined,\"activeAnnotation\" in locals_for_with?locals_for_with.activeAnnotation:typeof activeAnnotation!==\"undefined\"?activeAnnotation:undefined,\"annotationAccess\" in locals_for_with?locals_for_with.annotationAccess:typeof annotationAccess!==\"undefined\"?annotationAccess:undefined,\"annotationGroups\" in locals_for_with?locals_for_with.annotationGroups:typeof annotationGroups!==\"undefined\"?annotationGroups:undefined,\"collapsed\" in locals_for_with?locals_for_with.collapsed:typeof collapsed!==\"undefined\"?collapsed:undefined,\"expandedGroups\" in locals_for_with?locals_for_with.expandedGroups:typeof expandedGroups!==\"undefined\"?expandedGroups:undefined,\"fillOpacity\" in locals_for_with?locals_for_with.fillOpacity:typeof fillOpacity!==\"undefined\"?fillOpacity:undefined,\"id\" in locals_for_with?locals_for_with.id:typeof id!==\"undefined\"?id:undefined,\"interactiveMode\" in locals_for_with?locals_for_with.interactiveMode:typeof interactiveMode!==\"undefined\"?interactiveMode:undefined,\"opacity\" in locals_for_with?locals_for_with.opacity:typeof opacity!==\"undefined\"?opacity:undefined,\"removeButton\" in locals_for_with?locals_for_with.removeButton:typeof removeButton!==\"undefined\"?removeButton:undefined,\"showLabels\" in locals_for_with?locals_for_with.showLabels:typeof showLabels!==\"undefined\"?showLabels:undefined,\"title\" in locals_for_with?locals_for_with.title:typeof title!==\"undefined\"?title:undefined,\"writeAccess\" in locals_for_with?locals_for_with.writeAccess:typeof writeAccess!==\"undefined\"?writeAccess:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/panels/annotationSelector.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/panels/annotationSelector.styl\n// module id = 105\n// module chunks = 0","/* global geo */\nimport _ from 'underscore';\n\nimport Panel from '@girder/slicer_cli_web/views/Panel';\n\nimport setFrameQuad from '@girder/large_image/views/imageViewerWidget/setFrameQuad.js';\n\nimport overviewWidget from '../templates/panels/overviewWidget.pug';\nimport '../stylesheets/panels/overviewWidget.styl';\n\nvar OverviewWidget = Panel.extend({\n render() {\n this.$el.html(overviewWidget({\n id: 'overview-panel-container',\n collapsed: this.$('.s-panel-content.collapse').length && !this.$('.s-panel-content').hasClass('in')\n }));\n window.setTimeout(() => {\n this._createOverview();\n }, 1);\n return this;\n },\n\n /**\n * Set the viewer instance and set several internal variables used\n * to convert between magnification and zoom level.\n */\n setViewer(viewer) {\n if (viewer !== this.parentViewer) {\n if (this.parentViewer && this.parentViewer.viewer && this._boundOnParentPan) {\n this.parentViewer.viewer.geoOff(geo.event.pan, this._boundOnParentPan);\n this._boundOnParentPan = null;\n }\n this.parentViewer = viewer;\n this._createOverview();\n }\n return this;\n },\n\n setImage(tiles) {\n if (!_.isEqual(tiles, this._tiles)) {\n this._tiles = tiles;\n this._createOverview();\n }\n return this;\n },\n\n _createOverview() {\n if (!this._tiles || !this.parentViewer || !this.parentViewer.viewer || !this.$el.find('.h-overview-image').length) {\n if (this.viewer) {\n this.viewer.exit();\n this.viewer = null;\n }\n return;\n }\n const tiles = this._tiles;\n\n const params = geo.util.pixelCoordinateParams(\n this.$el.find('.h-overview-image'), tiles.sizeX, tiles.sizeY, tiles.tileWidth, tiles.tileHeight);\n params.layer.useCredentials = true;\n params.layer.url = this.parentViewer.getFrameAndUrl().url;\n if (tiles.tileWidth > 8192 || tiles.tileHeight > 8192) {\n params.layer.renderer = 'canvas';\n }\n /* We want the actions to trigger on the overview, but affect the main\n * image, so we have to rerig all of the actions */\n params.map.interactor = geo.mapInteractor({\n actions: [{\n action: 'overview_pan',\n input: 'left',\n modifiers: {shift: false, ctrl: false},\n owner: 'histomicsui.overview',\n name: 'button pan'\n }, {\n action: 'overview_zoomselect',\n input: 'left',\n modifiers: {shift: true, ctrl: false},\n selectionRectangle: geo.event.zoomselect,\n owner: 'histomicsui.overview',\n name: 'drag zoom'\n }],\n keyboard: {\n actions: {}\n }\n });\n this.viewer = geo.map(params.map);\n\n if (window.ResizeObserver) {\n this._observer = new window.ResizeObserver(() => {\n if (this.viewer.node().width()) {\n this.viewer.size({width: this.viewer.node().width(), height: this.viewer.node().height()});\n }\n });\n this._observer.observe(this.viewer.node()[0]);\n }\n\n params.layer.autoshareRenderer = false;\n this._tileLayer = this.viewer.createLayer('osm', params.layer);\n if (this.parentViewer._layer && this.parentViewer._layer.setFrameQuad) {\n setFrameQuad((this.parentViewer._layer.setFrameQuad.status || {}).tileinfo, this._tileLayer, (this.parentViewer._layer.setFrameQuad.status || {}).options);\n this._tileLayer.setFrameQuad(0);\n }\n this._featureLayer = this.viewer.createLayer('feature', {features: ['polygon']});\n this._outlineFeature = this._featureLayer.createFeature('polygon', {\n style: {\n stroke: true,\n strokeColor: 'black',\n strokeWidth: 2,\n fill: false\n }\n });\n this._panOutlineDistance = 5;\n /* Clicking in the overview recenters to that spot */\n this._featureLayer.geoOn(geo.event.mouseclick, (evt) => {\n this.parentViewer.viewer.center(evt.geo);\n });\n this._featureLayer.geoOn(geo.event.actiondown, (evt) => {\n this._downState = {\n state: evt.state,\n mouse: evt.mouse,\n center: this.parentViewer.viewer.center(),\n zoom: this.parentViewer.viewer.zoom(),\n rotate: this.parentViewer.viewer.rotation(),\n distanceToOutline: geo.util.distanceToPolygon2d(evt.mouse.geo, this._outlineFeature.data()[0]) / this.viewer.unitsPerPixel(this.viewer.zoom())\n };\n });\n this._featureLayer.geoOn(geo.event.actionmove, (evt) => {\n switch (evt.state.action) {\n case 'overview_pan': {\n if (!this._downState || this._downState.distanceToOutline < -this._panOutlineDistance) {\n return;\n }\n const delta = {\n x: evt.mouse.geo.x - this._downState.mouse.geo.x,\n y: evt.mouse.geo.y - this._downState.mouse.geo.y\n };\n const center = this.parentViewer.viewer.center();\n delta.x -= center.x - this._downState.center.x;\n delta.y -= center.y - this._downState.center.y;\n if (delta.x || delta.y) {\n this.parentViewer.viewer.center({\n x: center.x + delta.x,\n y: center.y + delta.y\n });\n }\n }\n break;\n }\n });\n this._featureLayer.geoOn(geo.event.actionselection, (evt) => {\n if (evt.lowerLeft.x === evt.upperRight.x || evt.lowerLeft.y === evt.upperRight.y) {\n return;\n }\n const map = this.parentViewer.viewer;\n const mapsize = map.size();\n const lowerLeft = map.gcsToDisplay(this.viewer.displayToGcs(evt.lowerLeft));\n const upperRight = map.gcsToDisplay(this.viewer.displayToGcs(evt.upperRight));\n const scaling = {\n x: Math.abs((upperRight.x - lowerLeft.x) / mapsize.width),\n y: Math.abs((upperRight.y - lowerLeft.y) / mapsize.height)\n };\n const center = map.displayToGcs({\n x: (lowerLeft.x + upperRight.x) / 2,\n y: (lowerLeft.y + upperRight.y) / 2\n }, null);\n const zoom = map.zoom() - Math.log2(Math.max(scaling.x, scaling.y));\n map.zoom(zoom);\n map.center(center, null);\n });\n this.viewer.draw();\n this._boundOnParentPan = _.bind(this._onParentPan, this);\n this.parentViewer.viewer.geoOn(geo.event.pan, this._boundOnParentPan);\n this._onParentPan();\n this.parentViewer.on('g:imageFrameChanged', () => {\n this._tileLayer.url(this.parentViewer.getFrameAndUrl().url);\n if (this.parentViewer._layer && this.parentViewer._layer.setFrameQuad) {\n this._tileLayer.setFrameQuad((this.parentViewer._layer.setFrameQuad.status || {}).frame);\n }\n });\n },\n\n _onParentPan() {\n const parent = this.parentViewer.viewer;\n if (parent.rotation() !== this.viewer.rotation()) {\n this.viewer.rotation(parent.rotation());\n this.viewer.zoom(this.viewer.zoom() - 1);\n }\n const size = parent.size();\n this._outlineFeature.data([[\n parent.displayToGcs({x: 0, y: 0}),\n parent.displayToGcs({x: size.width, y: 0}),\n parent.displayToGcs({x: size.width, y: size.height}),\n parent.displayToGcs({x: 0, y: size.height})\n ]]).draw();\n }\n});\n\nexport default OverviewWidget;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/panels/OverviewWidget.js","module.exports = (__webpack_require__(16))(251);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image/views/imageViewerWidget/setFrameQuad.js from dll-reference girder_plugin_large_image\n// module id = 107\n// module chunks = 0","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FoverviewWidget.pug\":\"extends .\\u002Fpanel.pug\\n\\nblock title\\n | #[span.icon-picture] Overview\\n\\nblock content\\n .h-overview-image\\n\",\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\":\".s-panel-title-container\\n span.s-panel-title.h-panel-title\\n block title\\n | #{title}\\n span.s-panel-controls\\n block controls\\n if collapsed\\n i.icon-down-open\\n else\\n i.icon-up-open\\n if removeButton\\n i.icon-cancel.s-remove-panel(data-target=`#${id}`)\\n\\n- var attrs = {}\\nif !collapsed\\n - attrs.class = 'in'\\n.s-panel-content.collapse&attributes(attrs)\\n block content\\n\"};\n;var locals_for_with = (locals || {});(function (collapsed, id, removeButton) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"s-panel-title-container\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-title h-panel-title\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FoverviewWidget.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FoverviewWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-picture\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FoverviewWidget.pug\";\npug_html = pug_html + \" Overview\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-controls\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (collapsed) {\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-down-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\nelse {\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-up-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (removeButton) {\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci\" + (\" class=\\\"icon-cancel s-remove-panel\\\"\"+pug.attr(\"data-target\", `#${id}`, true, true)) + \"\\u003E\\u003C\\u002Fi\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nvar attrs = {}\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (!collapsed) {\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nattrs.class = 'in'\n}\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attrs(pug.merge([{\"class\": \"s-panel-content collapse\"},attrs]), true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FoverviewWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-overview-image\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"collapsed\" in locals_for_with?locals_for_with.collapsed:typeof collapsed!==\"undefined\"?collapsed:undefined,\"id\" in locals_for_with?locals_for_with.id:typeof id!==\"undefined\"?id:undefined,\"removeButton\" in locals_for_with?locals_for_with.removeButton:typeof removeButton!==\"undefined\"?removeButton:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/panels/overviewWidget.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/panels/overviewWidget.styl\n// module id = 109\n// module chunks = 0","import _ from 'underscore';\nimport $ from 'jquery';\n\nimport Panel from '@girder/slicer_cli_web/views/Panel';\n\nimport editRegionOfInterest from '../dialogs/editRegionOfInterest';\n\nimport zoomWidget from '../templates/panels/zoomWidget.pug';\nimport '../stylesheets/panels/zoomWidget.styl';\n\n/**\n * Define a widget for controlling the view magnification with\n * a dynamic slider and buttons.\n *\n * Note: This code juggles three different representations\n * of the magnification:\n *\n * * The \"osm-like\" zoom level:\n * 0: 1x1 global tiles\n * 1: 2x2 global tiles\n * N: N+1xN+1 global tiles\n *\n * * The image magnification:\n * m = M 2^(z - Z)\n * for max magnification M\n * max zoom level Z\n * current zoom level z\n *\n * * The value of the range slider for log scaling:\n * val = log2(m)\n * for magnification m\n */\nvar ZoomWidget = Panel.extend({\n events: _.extend(Panel.prototype.events, {\n 'click .h-zoom-button': '_zoomButton',\n 'input .h-zoom-slider': '_zoomSliderInput',\n 'click .h-download-button-view': '_downloadView',\n 'click .h-download-button-area': '_downloadArea',\n 'click #h-zoom-range-increase': '_increaseZoomRange',\n 'click #h-zoom-range-decrease': '_decreaseZoomRange'\n }),\n initialize() {\n // set defaults that will be overwritten when a viewer is added\n this._maxMag = 20;\n this._maxZoom = 8;\n this._minZoom = 0;\n this._cancelSelection = false;\n // bind the context of the viewer zoom handler\n this._zoomChanged = _.bind(this._zoomChanged, this);\n },\n render() {\n var value = 0;\n var min, max, step = 0.025;\n var buttons;\n\n if (this.viewer) {\n // get current magnification from the renderer\n value = this.zoomToMagnification(this.renderer.zoom());\n }\n\n // get the minimum value of the slider on a logarithmic scale\n // (here we expand the range slightly to make sure valid ranges\n // aren't clipped due to the slider step size)\n min = Math.floor((Math.log2(this.zoomToMagnification(this._minZoom)) - Math.log2(this._maxMag)) / step) * step;\n max = 0;\n\n // get a list of discrete values to show as buttons\n buttons = _.filter([1, 2.5, 5, 10, 20, 40, 80, 160], (v) => v <= this._maxMag);\n buttons = _.last(buttons, 6);\n buttons = buttons !== undefined ? [0].concat(buttons) : [0];\n\n this.$el.html(zoomWidget({\n id: 'zoom-panel-container',\n title: 'Zoom',\n title_download_view: 'Download View',\n title_download_area: 'Download Area',\n min,\n max,\n maxNaturalMag: this._maxNaturalMag + 0.01,\n minMag: this.zoomToMagnification(this._minZoom),\n step,\n value: Math.log2(value) - Math.log2(this._maxMag),\n disabled: !this.renderer,\n buttons,\n collapsed: this.$('.s-panel-content.collapse').length && !this.$('.s-panel-content').hasClass('in')\n }));\n\n // enable or disable zoom range buttons\n this._zoomRangeControls();\n\n // show tooltip of different download button\n this.$('[data-toggle=\"tooltip\"]').tooltip();\n\n // set the text value on the readonly input box\n this._zoomSliderInput();\n\n return this;\n },\n\n /**\n * Set the viewer instance and set several internal variables used\n * to convert between magnification and zoom level.\n */\n setViewer(viewer) {\n var geo = window.geo;\n var range;\n this.viewer = viewer;\n this.renderer = viewer.viewer;\n if (this.renderer) {\n this.renderer.geoOn(geo.event.zoom, this._zoomChanged);\n range = this.renderer.zoomRange();\n this._maxZoom = range.max;\n this._minZoom = range.min;\n }\n return this;\n },\n\n /**\n * Set the native magnification from the current image. This\n * is given in the /item/{id}/tiles endpoint from large_image.\n */\n setMaxMagnification(magnification, increase, increaseRange) {\n this._increaseZoom2x = increase || 0;\n this._increaseZoom2xRange = increaseRange || {min: this._increaseZoom2x, max: this._increaseZoom2x};\n this._maxNaturalMag = magnification;\n this._maxMag = magnification * Math.pow(2, this._increaseZoom2x);\n this._zoomRangeControls();\n },\n\n /**\n * Set the controls to the given magnification level.\n */\n setMagnification(val) {\n this._setSliderValue(val);\n this._zoomSliderInput();\n },\n\n /**\n * Convert from magnification to zoom level.\n */\n magnificationToZoom(magnification) {\n return this._maxZoom - Math.log2(this._maxMag / magnification);\n },\n\n /**\n * Convert from zoom level to magnification.\n */\n zoomToMagnification(zoom) {\n return this._maxMag * Math.pow(2, zoom - this._maxZoom);\n },\n\n /**\n * Get the value of the slider in magnification scale.\n */\n _getSliderValue() {\n return Math.pow(2, Math.log2(this._maxMag) + parseFloat(this.$('.h-zoom-slider').val()));\n },\n\n /**\n * Set the slider value to a specific magnification.\n */\n _setSliderValue(val) {\n if (val > 0) {\n val = Math.log2(val) - Math.log2(this._maxMag);\n } else {\n val = 0;\n }\n this.$('.h-zoom-slider').val(val);\n },\n\n /**\n * A handler called when the viewer's zoom level changes.\n */\n _zoomChanged() {\n if (!this.renderer) {\n return;\n }\n this._inZoomChange = true;\n this.setMagnification(this.zoomToMagnification(this.renderer.zoom()));\n this._inZoomChange = false;\n },\n\n /**\n * A handler called when one of the magnification buttons is clicked.\n */\n _zoomButton(evt) {\n this.setMagnification(this.$(evt.currentTarget).data('value'));\n this._zoomSliderInput();\n },\n\n /**\n * A handler called when the download view button is clicked.\n */\n _downloadView(evt) {\n var bounds = this.viewer.viewer.bounds();\n var params = $.param({\n width: window.innerWidth,\n height: window.innerHeight,\n left: bounds.left < 0 ? 0 : Math.round(bounds.left),\n top: bounds.top < 0 ? 0 : Math.round(bounds.top),\n right: bounds.right < 0 ? 0 : Math.round(bounds.right),\n bottom: bounds.bottom < 0 ? 0 : Math.round(bounds.bottom),\n contentDisposition: 'attachment'\n });\n let urlView = this.viewer.getFrameAndUrl().url.replace('/zxy/{z}/{x}/{y}', '/region');\n urlView += (urlView.indexOf('?') >= 0 ? '&' : '?') + params;\n if (this._cancelSelection) {\n this.viewer.annotationLayer.mode(null);\n this._cancelSelection = false;\n this.$('.h-download-button-area').removeClass('h-download-area-button-selected');\n }\n this.$('a.h-download-link#download-view-link').attr({\n href: urlView\n });\n },\n\n /**\n * Let the user draw a rectangle and then show a dialog.\n */\n _downloadArea(evt) {\n const mag = Math.round(this._getSliderValue() * 10) / 10;\n const maxZoom = this._maxZoom;\n const maxMag = this._maxMag;\n if (this._cancelSelection) {\n this.viewer.annotationLayer.mode(null);\n this._cancelSelection = false;\n this.$('.h-download-button-area').removeClass('h-download-area-button-selected');\n } else {\n this.$('.h-download-button-area').addClass('h-download-area-button-selected');\n this._cancelSelection = true;\n this.viewer.drawRegion().then((coord) => {\n var areaParams = {\n left: coord[0],\n top: coord[1],\n width: coord[2],\n height: coord[3],\n magnification: mag,\n maxZoom,\n maxMag,\n frameAndUrl: this.viewer.getFrameAndUrl()\n };\n this._cancelSelection = false;\n this.$('.h-download-button-area').removeClass('h-download-area-button-selected');\n editRegionOfInterest(areaParams);\n return this;\n });\n }\n },\n\n /**\n * A handler called as the slider is moved.\n */\n _zoomSliderInput() {\n var val = this._getSliderValue();\n if (this.renderer && !this._inZoomChange) {\n this.renderer.zoom(this.magnificationToZoom(val));\n }\n this.$('.h-zoom-value').text(val.toFixed(1));\n },\n\n _zoomRangeControls() {\n if (this._increaseZoom2xRange) {\n this.$('#h-zoom-range-increase').toggleClass('disabled', this._increaseZoom2x >= this._increaseZoom2xRange.max);\n this.$('#h-zoom-range-decrease').toggleClass('disabled', this._increaseZoom2x <= this._increaseZoom2xRange.min);\n }\n },\n\n _increaseZoomRange() {\n if (this._increaseZoom2x < this._increaseZoom2xRange.max) {\n this._increaseZoom2x += 1;\n var oldmax = parseInt(this.$('.h-zoom-slider').attr('max'), 10);\n this.$('.h-zoom-slider').attr('max', oldmax + 1);\n this.renderer.zoomRange({max: this.renderer.zoomRange().max + 1});\n }\n this._zoomRangeControls();\n },\n\n _decreaseZoomRange() {\n if (this._increaseZoom2x > this._increaseZoom2xRange.min) {\n this._increaseZoom2x -= 1;\n var oldmax = parseInt(this.$('.h-zoom-slider').attr('max'), 10);\n this.$('.h-zoom-slider').attr('max', oldmax - 1);\n this.renderer.zoomRange({max: this.renderer.zoomRange().max - 1});\n }\n this._zoomRangeControls();\n }\n});\n\nexport default ZoomWidget;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/panels/ZoomWidget.js","/**!\n * url-search-params-polyfill\n *\n * @author Jerry Bendy (https://github.com/jerrybendy)\n * @licence MIT\n */\n(function(self) {\n 'use strict';\n\n var nativeURLSearchParams = (function() {\n // #41 Fix issue in RN\n try {\n if (self.URLSearchParams && (new self.URLSearchParams('foo=bar')).get('foo') === 'bar') {\n return self.URLSearchParams;\n }\n } catch (e) {}\n return null;\n })(),\n isSupportObjectConstructor = nativeURLSearchParams && (new nativeURLSearchParams({a: 1})).toString() === 'a=1',\n // There is a bug in safari 10.1 (and earlier) that incorrectly decodes `%2B` as an empty space and not a plus.\n decodesPlusesCorrectly = nativeURLSearchParams && (new nativeURLSearchParams('s=%2B').get('s') === '+'),\n isSupportSize = nativeURLSearchParams && 'size' in nativeURLSearchParams.prototype,\n __URLSearchParams__ = \"__URLSearchParams__\",\n // Fix bug in Edge which cannot encode ' &' correctly\n encodesAmpersandsCorrectly = nativeURLSearchParams ? (function() {\n var ampersandTest = new nativeURLSearchParams();\n ampersandTest.append('s', ' &');\n return ampersandTest.toString() === 's=+%26';\n })() : true,\n prototype = URLSearchParamsPolyfill.prototype,\n iterable = !!(self.Symbol && self.Symbol.iterator);\n\n if (nativeURLSearchParams && isSupportObjectConstructor && decodesPlusesCorrectly && encodesAmpersandsCorrectly && isSupportSize) {\n return;\n }\n\n\n /**\n * Make a URLSearchParams instance\n *\n * @param {object|string|URLSearchParams} search\n * @constructor\n */\n function URLSearchParamsPolyfill(search) {\n search = search || \"\";\n\n // support construct object with another URLSearchParams instance\n if (search instanceof URLSearchParams || search instanceof URLSearchParamsPolyfill) {\n search = search.toString();\n }\n this [__URLSearchParams__] = parseToDict(search);\n }\n\n\n /**\n * Appends a specified key/value pair as a new search parameter.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.append = function(name, value) {\n appendTo(this [__URLSearchParams__], name, value);\n };\n\n /**\n * Deletes the given search parameter, and its associated value,\n * from the list of all search parameters.\n *\n * @param {string} name\n */\n prototype['delete'] = function(name) {\n delete this [__URLSearchParams__] [name];\n };\n\n /**\n * Returns the first value associated to the given search parameter.\n *\n * @param {string} name\n * @returns {string|null}\n */\n prototype.get = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict[name][0] : null;\n };\n\n /**\n * Returns all the values association with a given search parameter.\n *\n * @param {string} name\n * @returns {Array}\n */\n prototype.getAll = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict [name].slice(0) : [];\n };\n\n /**\n * Returns a Boolean indicating if such a search parameter exists.\n *\n * @param {string} name\n * @returns {boolean}\n */\n prototype.has = function(name) {\n return hasOwnProperty(this [__URLSearchParams__], name);\n };\n\n /**\n * Sets the value associated to a given search parameter to\n * the given value. If there were several values, delete the\n * others.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.set = function set(name, value) {\n this [__URLSearchParams__][name] = ['' + value];\n };\n\n /**\n * Returns a string containg a query string suitable for use in a URL.\n *\n * @returns {string}\n */\n prototype.toString = function() {\n var dict = this[__URLSearchParams__], query = [], i, key, name, value;\n for (key in dict) {\n name = encode(key);\n for (i = 0, value = dict[key]; i < value.length; i++) {\n query.push(name + '=' + encode(value[i]));\n }\n }\n return query.join('&');\n };\n\n // There is a bug in Safari 10.1 and `Proxy`ing it is not enough.\n var useProxy = self.Proxy && nativeURLSearchParams && (!decodesPlusesCorrectly || !encodesAmpersandsCorrectly || !isSupportObjectConstructor || !isSupportSize);\n var propValue;\n if (useProxy) {\n // Safari 10.0 doesn't support Proxy, so it won't extend URLSearchParams on safari 10.0\n propValue = new Proxy(nativeURLSearchParams, {\n construct: function (target, args) {\n return new target((new URLSearchParamsPolyfill(args[0]).toString()));\n }\n })\n // Chrome <=60 .toString() on a function proxy got error \"Function.prototype.toString is not generic\"\n propValue.toString = Function.prototype.toString.bind(URLSearchParamsPolyfill);\n } else {\n propValue = URLSearchParamsPolyfill;\n }\n\n /*\n * Apply polyfill to global object and append other prototype into it\n */\n Object.defineProperty(self, 'URLSearchParams', {\n value: propValue\n });\n\n var USPProto = self.URLSearchParams.prototype;\n\n USPProto.polyfill = true;\n\n // Fix #54, `toString.call(new URLSearchParams)` will return correct value when Proxy not used\n if (!useProxy && self.Symbol) {\n USPProto[self.Symbol.toStringTag] = 'URLSearchParams';\n }\n\n /**\n *\n * @param {function} callback\n * @param {object} thisArg\n */\n if (!('forEach' in USPProto)) {\n USPProto.forEach = function(callback, thisArg) {\n var dict = parseToDict(this.toString());\n Object.getOwnPropertyNames(dict).forEach(function(name) {\n dict[name].forEach(function(value) {\n callback.call(thisArg, value, name, this);\n }, this);\n }, this);\n };\n }\n\n /**\n * Sort all name-value pairs\n */\n if (!('sort' in USPProto)) {\n USPProto.sort = function() {\n var dict = parseToDict(this.toString()), keys = [], k, i, j;\n for (k in dict) {\n keys.push(k);\n }\n keys.sort();\n\n for (i = 0; i < keys.length; i++) {\n this['delete'](keys[i]);\n }\n for (i = 0; i < keys.length; i++) {\n var key = keys[i], values = dict[key];\n for (j = 0; j < values.length; j++) {\n this.append(key, values[j]);\n }\n }\n };\n }\n\n /**\n * Returns an iterator allowing to go through all keys of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n if (!('keys' in USPProto)) {\n USPProto.keys = function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push(name);\n });\n return makeIterator(items);\n };\n }\n\n /**\n * Returns an iterator allowing to go through all values of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n if (!('values' in USPProto)) {\n USPProto.values = function() {\n var items = [];\n this.forEach(function(item) {\n items.push(item);\n });\n return makeIterator(items);\n };\n }\n\n /**\n * Returns an iterator allowing to go through all key/value\n * pairs contained in this object.\n *\n * @returns {function}\n */\n if (!('entries' in USPProto)) {\n USPProto.entries = function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push([name, item]);\n });\n return makeIterator(items);\n };\n }\n\n if (iterable) {\n USPProto[self.Symbol.iterator] = USPProto[self.Symbol.iterator] || USPProto.entries;\n }\n\n if (!('size' in USPProto)) {\n Object.defineProperty(USPProto, 'size', {\n get: function () {\n var dict = parseToDict(this.toString())\n if (USPProto === this) {\n throw new TypeError('Illegal invocation at URLSearchParams.invokeGetter')\n }\n return Object.keys(dict).reduce(function (prev, cur) {\n return prev + dict[cur].length;\n }, 0);\n }\n });\n }\n\n function encode(str) {\n var replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'\\(\\)~]|%20|%00/g, function(match) {\n return replace[match];\n });\n }\n\n function decode(str) {\n return str\n .replace(/[ +]/g, '%20')\n .replace(/(%[a-f0-9]{2})+/ig, function(match) {\n return decodeURIComponent(match);\n });\n }\n\n function makeIterator(arr) {\n var iterator = {\n next: function() {\n var value = arr.shift();\n return {done: value === undefined, value: value};\n }\n };\n\n if (iterable) {\n iterator[self.Symbol.iterator] = function() {\n return iterator;\n };\n }\n\n return iterator;\n }\n\n function parseToDict(search) {\n var dict = {};\n\n if (typeof search === \"object\") {\n // if `search` is an array, treat it as a sequence\n if (isArray(search)) {\n for (var i = 0; i < search.length; i++) {\n var item = search[i];\n if (isArray(item) && item.length === 2) {\n appendTo(dict, item[0], item[1]);\n } else {\n throw new TypeError(\"Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements\");\n }\n }\n\n } else {\n for (var key in search) {\n if (search.hasOwnProperty(key)) {\n appendTo(dict, key, search[key]);\n }\n }\n }\n\n } else {\n // remove first '?'\n if (search.indexOf(\"?\") === 0) {\n search = search.slice(1);\n }\n\n var pairs = search.split(\"&\");\n for (var j = 0; j < pairs.length; j++) {\n var value = pairs [j],\n index = value.indexOf('=');\n\n if (-1 < index) {\n appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)));\n\n } else {\n if (value) {\n appendTo(dict, decode(value), '');\n }\n }\n }\n }\n\n return dict;\n }\n\n function appendTo(dict, name, value) {\n var val = typeof value === 'string' ? value : (\n value !== null && value !== undefined && typeof value.toString === 'function' ? value.toString() : JSON.stringify(value)\n );\n\n // #47 Prevent using `hasOwnProperty` as a property name\n if (hasOwnProperty(dict, name)) {\n dict[name].push(val);\n } else {\n dict[name] = [val];\n }\n }\n\n function isArray(val) {\n return !!val && '[object Array]' === Object.prototype.toString.call(val);\n }\n\n function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n})(typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : this));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/node_modules/url-search-params-polyfill/index.js\n// module id = 111\n// module chunks = 0","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\":\".modal-dialog\\n .modal-content\\n form.modal-form(role='form', name='editArea')\\n .modal-header\\n button.close(type='button', data-dismiss='modal', aria-label='Close')\\n span(aria-hidden='true') ×\\n h4.modal-title Edit Area\\n .modal-body\\n .form-group\\n label(for='h-element-mag') Magnification\\n input#h-element-mag.update-form.input-sm.form-control(\\n type='number', min=1, max=maxMag, step=0.1, value=magnification)\\n .form-group\\n label(for='h-download-image-format') Format\\n select#h-download-image-format.update-form.form-control\\n option JPEG\\n option PNG\\n option TIFF\\n .form-group\\n label(for='h-element-width') Width\\n input#h-element-width.update-form.form-control(\\n type='text', min=0, step=1, value=scaleWidth, disabled)\\n .form-group\\n label(for='h-element-height') Height\\n input#h-element-height.update-form.form-control(\\n type='text', min=0, step=1, value=scaleHeight, disabled)\\n .form-group\\n label(for='nb-pixel') Number of Pixels\\n input#h-nb-pixel.update-form.form-control(\\n type='text', value=numberOfPixel, disabled)\\n .form-group\\n label(for='size-file') Approximate size of the file\\n input#h-size-file.update-form.form-control(type='text', value=fileSize, disabled)\\n .modal-footer\\n span#h-msgDisable.g-validation-failed-message\\n | Size \\u003E 1GB : Please select a smaller area.\\n a#h-download-area-link.h-download-link.btn.btn-primary\\n i.icon-download\\n | Download\\n a.btn.btn-default(data-dismiss='modal') Cancel\\n\"};\n;var locals_for_with = (locals || {});(function (fileSize, magnification, maxMag, numberOfPixel, scaleHeight, scaleWidth) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-dialog\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-content\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cform class=\\\"modal-form\\\" role=\\\"form\\\" name=\\\"editArea\\\"\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-header\\\"\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"close\\\" type=\\\"button\\\" data-dismiss=\\\"modal\\\" aria-label=\\\"Close\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cspan aria-hidden=\\\"true\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Ch4 class=\\\"modal-title\\\"\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"Edit Area\\u003C\\u002Fh4\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-body\\\"\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-element-mag\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"Magnification\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"update-form input-sm form-control\\\"\"+\" id=\\\"h-element-mag\\\" type=\\\"number\\\" min=\\\"1\\\"\"+pug.attr(\"max\", maxMag, true, true)+\" step=\\\"0.1\\\"\"+pug.attr(\"value\", magnification, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-download-image-format\\\"\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"Format\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cselect class=\\\"update-form form-control\\\" id=\\\"h-download-image-format\\\"\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Coption\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"JPEG\\u003C\\u002Foption\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Coption\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"PNG\\u003C\\u002Foption\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Coption\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"TIFF\\u003C\\u002Foption\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-element-width\\\"\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"Width\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"update-form form-control\\\"\"+\" id=\\\"h-element-width\\\" type=\\\"text\\\" min=\\\"0\\\" step=\\\"1\\\"\"+pug.attr(\"value\", scaleWidth, true, true)+pug.attr(\"disabled\", true, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-element-height\\\"\\u003E\";\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"Height\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"update-form form-control\\\"\"+\" id=\\\"h-element-height\\\" type=\\\"text\\\" min=\\\"0\\\" step=\\\"1\\\"\"+pug.attr(\"value\", scaleHeight, true, true)+pug.attr(\"disabled\", true, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"nb-pixel\\\"\\u003E\";\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"Number of Pixels\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"update-form form-control\\\"\"+\" id=\\\"h-nb-pixel\\\" type=\\\"text\\\"\"+pug.attr(\"value\", numberOfPixel, true, true)+pug.attr(\"disabled\", true, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"size-file\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"Approximate size of the file\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 33;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"update-form form-control\\\"\"+\" id=\\\"h-size-file\\\" type=\\\"text\\\"\"+pug.attr(\"value\", fileSize, true, true)+pug.attr(\"disabled\", true, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 34;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-footer\\\"\\u003E\";\n;pug_debug_line = 35;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"g-validation-failed-message\\\" id=\\\"h-msgDisable\\\"\\u003E\";\n;pug_debug_line = 36;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"Size \\u003E 1GB : Please select a smaller area.\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 37;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"h-download-link btn btn-primary\\\" id=\\\"h-download-area-link\\\"\\u003E\";\n;pug_debug_line = 38;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-download\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \" Download\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"btn btn-default\\\" data-dismiss=\\\"modal\\\"\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FeditRegionOfInterest.pug\";\npug_html = pug_html + \"Cancel\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"fileSize\" in locals_for_with?locals_for_with.fileSize:typeof fileSize!==\"undefined\"?fileSize:undefined,\"magnification\" in locals_for_with?locals_for_with.magnification:typeof magnification!==\"undefined\"?magnification:undefined,\"maxMag\" in locals_for_with?locals_for_with.maxMag:typeof maxMag!==\"undefined\"?maxMag:undefined,\"numberOfPixel\" in locals_for_with?locals_for_with.numberOfPixel:typeof numberOfPixel!==\"undefined\"?numberOfPixel:undefined,\"scaleHeight\" in locals_for_with?locals_for_with.scaleHeight:typeof scaleHeight!==\"undefined\"?scaleHeight:undefined,\"scaleWidth\" in locals_for_with?locals_for_with.scaleWidth:typeof scaleWidth!==\"undefined\"?scaleWidth:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/dialogs/editRegionOfInterest.pug","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\":\"extends .\\u002Fpanel.pug\\n\\nblock title\\n | #[span.icon-zoom-in] #{title}\\n\\nblock content\\n .input-group\\n input.h-zoom-slider.form-control(\\n type=\\\"range\\\", min=min, max=max, step=step, value=value, disabled=disabled)\\n span.h-zoom-value.input-group-addon #{value}\\n span.h-zoom-range-controls\\n button#h-zoom-range-increase.btn.btn-sm.btn-default.disabled(title=\\\"Increase maximum zoom\\\")\\n i.icon-plus\\n br\\n button#h-zoom-range-decrease.btn.btn-sm.btn-default.disabled(title=\\\"Decrease maximum zoom\\\")\\n i.icon-minus\\n .btn-group.btn-group-justified.h-zoom-buttons\\n each val in buttons\\n if val\\n - var text = val;\\n else\\n - var text = 'Fit';\\n - val = minMag;\\n .btn-group\\n button.btn.btn-default.h-zoom-button(type=\\\"button\\\", data-value=val, class={'btn-sm': val \\u003E maxNaturalMag}) #{text}\\n .h-download-button-container\\n a#download-view-link.h-download-link\\n button.btn-default.btn-sm.h-download-button.h-download-button-view(type=\\\"button\\\", data-toggle=\\\"tooltip\\\", title=\\\"Download current view\\\")\\n | #{title_download_view}\\n\\n button.btn-default.btn-sm.h-download-button.h-download-button-area(type=\\\"button\\\", data-toggle=\\\"tooltip\\\", title=\\\"Draw the region of interest\\\")\\n | #{title_download_area}\\n\",\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\":\".s-panel-title-container\\n span.s-panel-title.h-panel-title\\n block title\\n | #{title}\\n span.s-panel-controls\\n block controls\\n if collapsed\\n i.icon-down-open\\n else\\n i.icon-up-open\\n if removeButton\\n i.icon-cancel.s-remove-panel(data-target=`#${id}`)\\n\\n- var attrs = {}\\nif !collapsed\\n - attrs.class = 'in'\\n.s-panel-content.collapse&attributes(attrs)\\n block content\\n\"};\n;var locals_for_with = (locals || {});(function (buttons, collapsed, disabled, id, max, maxNaturalMag, min, minMag, removeButton, step, title, title_download_area, title_download_view, value) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"s-panel-title-container\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-title h-panel-title\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-zoom-in\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \" \";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = title) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-controls\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (collapsed) {\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-down-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\nelse {\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-up-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (removeButton) {\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci\" + (\" class=\\\"icon-cancel s-remove-panel\\\"\"+pug.attr(\"data-target\", `#${id}`, true, true)) + \"\\u003E\\u003C\\u002Fi\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nvar attrs = {}\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (!collapsed) {\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nattrs.class = 'in'\n}\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attrs(pug.merge([{\"class\": \"s-panel-content collapse\"},attrs]), true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group\\\"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" class=\\\"h-zoom-slider form-control\\\"\"+\" type=\\\"range\\\"\"+pug.attr(\"min\", min, true, true)+pug.attr(\"max\", max, true, true)+pug.attr(\"step\", step, true, true)+pug.attr(\"value\", value, true, true)+pug.attr(\"disabled\", disabled, true, true)) + \"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"h-zoom-value input-group-addon\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = value) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"h-zoom-range-controls\\\"\\u003E\";\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-sm btn-default disabled\\\" id=\\\"h-zoom-range-increase\\\" title=\\\"Increase maximum zoom\\\"\\u003E\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-plus\\\"\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cbr\\u003E\";\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-sm btn-default disabled\\\" id=\\\"h-zoom-range-decrease\\\" title=\\\"Decrease maximum zoom\\\"\\u003E\";\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-minus\\\"\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-justified h-zoom-buttons\\\"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\n// iterate buttons\n;(function(){\n var $$obj = buttons;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var val = $$obj[pug_index0];\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\nif (val) {\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\nvar text = val;\n}\nelse {\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\nvar text = 'Fit';\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\nval = minMag;\n}\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group\\\"\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton\" + (pug.attr(\"class\", pug.classes([\"btn\",\"btn-default\",\"h-zoom-button\",{'btn-sm': val > maxNaturalMag}], [false,false,false,true]), false, true)+\" type=\\\"button\\\"\"+pug.attr(\"data-value\", val, true, true)) + \"\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = text) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var val = $$obj[pug_index0];\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\nif (val) {\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\nvar text = val;\n}\nelse {\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\nvar text = 'Fit';\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\nval = minMag;\n}\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group\\\"\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton\" + (pug.attr(\"class\", pug.classes([\"btn\",\"btn-default\",\"h-zoom-button\",{'btn-sm': val > maxNaturalMag}], [false,false,false,true]), false, true)+\" type=\\\"button\\\"\"+pug.attr(\"data-value\", val, true, true)) + \"\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = text) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-download-button-container\\\"\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Ca class=\\\"h-download-link\\\" id=\\\"download-view-link\\\"\\u003E\";\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn-default btn-sm h-download-button h-download-button-view\\\" type=\\\"button\\\" data-toggle=\\\"tooltip\\\" title=\\\"Download current view\\\"\\u003E\";\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = title_download_view) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fa\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn-default btn-sm h-download-button h-download-button-area\\\" type=\\\"button\\\" data-toggle=\\\"tooltip\\\" title=\\\"Draw the region of interest\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FzoomWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = title_download_area) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"buttons\" in locals_for_with?locals_for_with.buttons:typeof buttons!==\"undefined\"?buttons:undefined,\"collapsed\" in locals_for_with?locals_for_with.collapsed:typeof collapsed!==\"undefined\"?collapsed:undefined,\"disabled\" in locals_for_with?locals_for_with.disabled:typeof disabled!==\"undefined\"?disabled:undefined,\"id\" in locals_for_with?locals_for_with.id:typeof id!==\"undefined\"?id:undefined,\"max\" in locals_for_with?locals_for_with.max:typeof max!==\"undefined\"?max:undefined,\"maxNaturalMag\" in locals_for_with?locals_for_with.maxNaturalMag:typeof maxNaturalMag!==\"undefined\"?maxNaturalMag:undefined,\"min\" in locals_for_with?locals_for_with.min:typeof min!==\"undefined\"?min:undefined,\"minMag\" in locals_for_with?locals_for_with.minMag:typeof minMag!==\"undefined\"?minMag:undefined,\"removeButton\" in locals_for_with?locals_for_with.removeButton:typeof removeButton!==\"undefined\"?removeButton:undefined,\"step\" in locals_for_with?locals_for_with.step:typeof step!==\"undefined\"?step:undefined,\"title\" in locals_for_with?locals_for_with.title:typeof title!==\"undefined\"?title:undefined,\"title_download_area\" in locals_for_with?locals_for_with.title_download_area:typeof title_download_area!==\"undefined\"?title_download_area:undefined,\"title_download_view\" in locals_for_with?locals_for_with.title_download_view:typeof title_download_view!==\"undefined\"?title_download_view:undefined,\"value\" in locals_for_with?locals_for_with.value:typeof value!==\"undefined\"?value:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/panels/zoomWidget.pug","import _ from 'underscore';\n\nimport Panel from '@girder/slicer_cli_web/views/Panel';\nimport FrameSelector from '@girder/large_image/vue/components/FrameSelector.vue';\n\nimport frameSelectorWidget from '../templates/panels/frameSelectorWidget.pug';\nimport '../stylesheets/panels/frameSelectorWidget.styl';\n\nvar FrameSelectorWidget = Panel.extend({\n render() {\n // if not a multi frame image, don't show (this means we can't do\n // band-only work on hyperspectral data, so we may want to change this\n // to also expose it if there are listed bands and there are more\n // than 3 of them). Maybe instead we should just keep the frame\n // selector collapsed.\n if (!this._tiles || !this._tiles.frames || this._tiles.frames.length <= 1 || !this.viewer) {\n this.$el.html('');\n return this;\n }\n this.$el.html(frameSelectorWidget({\n id: 'frame-selector-panel-container',\n title: 'Frame Selector',\n collapsed: this.$('.s-panel-content.collapse').length && !this.$('.s-panel-content').hasClass('in')\n }));\n const el = this.$('#vue-container').get(0);\n const vm = new FrameSelector({\n el,\n propsData: {\n itemId: this._itemId,\n imageMetadata: this._tiles,\n frameUpdate: (frame, style) => {\n this.viewer.frameUpdate(frame, style);\n }\n }\n });\n this.vueApp = vm;\n return this;\n },\n\n setImage(itemId, tiles) {\n if (!_.isEqual(tiles, this._tiles) || this._itemId !== itemId) {\n this._itemId = itemId;\n this._tiles = tiles;\n this.render();\n }\n return this;\n },\n\n /**\n * Set the viewer instance.\n */\n setViewer(viewer) {\n this.viewer = viewer;\n return this;\n }\n});\n\nexport default FrameSelectorWidget;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/panels/FrameSelectorWidget.js","module.exports = (__webpack_require__(16))(258);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image/vue/components/FrameSelector.vue from dll-reference girder_plugin_large_image\n// module id = 115\n// module chunks = 0","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FframeSelectorWidget.pug\":\"extends .\\u002Fpanel.pug\\n\\nblock title\\n | #[span.icon-zoom-in] #{title}\\n\\nblock content\\n .input-group\\n #vue-container\\n\",\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\":\".s-panel-title-container\\n span.s-panel-title.h-panel-title\\n block title\\n | #{title}\\n span.s-panel-controls\\n block controls\\n if collapsed\\n i.icon-down-open\\n else\\n i.icon-up-open\\n if removeButton\\n i.icon-cancel.s-remove-panel(data-target=`#${id}`)\\n\\n- var attrs = {}\\nif !collapsed\\n - attrs.class = 'in'\\n.s-panel-content.collapse&attributes(attrs)\\n block content\\n\"};\n;var locals_for_with = (locals || {});(function (collapsed, id, removeButton, title) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"s-panel-title-container\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-title h-panel-title\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FframeSelectorWidget.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FframeSelectorWidget.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-zoom-in\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FframeSelectorWidget.pug\";\npug_html = pug_html + \" \";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FframeSelectorWidget.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = title) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-controls\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (collapsed) {\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-down-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\nelse {\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-up-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (removeButton) {\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci\" + (\" class=\\\"icon-cancel s-remove-panel\\\"\"+pug.attr(\"data-target\", `#${id}`, true, true)) + \"\\u003E\\u003C\\u002Fi\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nvar attrs = {}\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (!collapsed) {\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nattrs.class = 'in'\n}\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attrs(pug.merge([{\"class\": \"s-panel-content collapse\"},attrs]), true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FframeSelectorWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"input-group\\\"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FframeSelectorWidget.pug\";\npug_html = pug_html + \"\\u003Cdiv id=\\\"vue-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"collapsed\" in locals_for_with?locals_for_with.collapsed:typeof collapsed!==\"undefined\"?collapsed:undefined,\"id\" in locals_for_with?locals_for_with.id:typeof id!==\"undefined\"?id:undefined,\"removeButton\" in locals_for_with?locals_for_with.removeButton:typeof removeButton!==\"undefined\"?removeButton:undefined,\"title\" in locals_for_with?locals_for_with.title:typeof title!==\"undefined\"?title:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/panels/frameSelectorWidget.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/panels/frameSelectorWidget.styl\n// module id = 117\n// module chunks = 0","import $ from 'jquery';\nimport _ from 'underscore';\n\nimport {restRequest} from '@girder/core/rest';\n\nimport Panel from '@girder/slicer_cli_web/views/Panel';\n// import events from '@girder/core/events';\n\nimport MetadataPlotDialog from '../dialogs/metadataPlot';\nimport metadataPlotTemplate from '../templates/panels/metadataPlot.pug';\nimport '../stylesheets/panels/metadataPlot.styl';\n\nvar MetadataPlot = Panel.extend({\n events: _.extend(Panel.prototype.events, {\n 'click .g-widget-metadata-plot-settings': function (event) {\n const dlg = new MetadataPlotDialog({\n plotOptions: this.getPlotOptions(),\n plotConfig: this.plotConfig,\n plotPanel: this,\n el: $('#g-dialog-container'),\n parentView: this\n }).render();\n dlg.$el.on('hidden.bs.modal', () => {\n if (dlg.result !== undefined) {\n this.plotConfig = dlg.result;\n this.render();\n }\n });\n },\n 'click .h-panel-maximize': function (event) {\n this.$el.html('');\n this.expand(event);\n this.$('.s-panel-content').addClass('in');\n const panelElem = this.$el.closest('.s-panel');\n const maximize = !panelElem.hasClass('h-panel-maximized');\n panelElem.toggleClass('h-panel-maximized', maximize);\n panelElem.toggleClass('s-no-panel-toggle', maximize);\n this.render();\n }\n }),\n\n /**\n * Creates a widget to display a plot of certain metadata, possibly\n * including data from items in the same parent folder.\n */\n initialize: function (settings) {\n this.settings = settings;\n this.plotConfig = {\n folder: true\n };\n },\n\n getSiblingItems(folderId) {\n var chunk = 100;\n if (folderId !== this.parentFolderId) {\n return null;\n }\n return restRequest({url: 'item', data: {folderId, offset: this.siblingItems.length, limit: chunk + 1}}).done((result) => {\n if (folderId !== this.parentFolderId) {\n return null;\n }\n this.siblingItems = this.siblingItems.concat(result.slice(0, chunk));\n if (result.length > chunk) {\n return this.getSiblingItems(folderId);\n }\n this.siblingItemsPromise.resolve(this.siblingItems);\n return null;\n });\n },\n\n setItem: function (item) {\n this.item = item;\n this.item.on('g:changed', function () {\n this.render();\n }, this);\n if (this.parentFolderId !== item.get('folderId')) {\n this.parentFolderId = null;\n this.parentMeta = null;\n if (this.parentFolderPromise) {\n this.parentFolderPromise.abort();\n }\n if (this.siblingItemPromise) {\n this.siblingItemPromise.abort();\n }\n this.siblingItems = [];\n this.collectedPlotData = null;\n const hasPlot = (this.getPlotOptions().filter((v) => v.type === 'number').length >= 2);\n this.siblingItemsPromise = $.Deferred();\n this.parentFolderPromise = restRequest({url: `folder/${item.get('folderId')}`, error: null}).done((result) => {\n this.parentFolderPromise = null;\n this.parentMeta = (result || {}).meta;\n const plotOptions = this.getPlotOptions();\n if (plotOptions.filter((v) => v.type === 'number').length >= 2) {\n if (!hasPlot) {\n this.render();\n }\n this.parentFolderId = item.get('folderId');\n this.getSiblingItems(item.get('folderId'));\n } else {\n this.siblingItemsPromise.resolve(this.siblingItems);\n }\n });\n }\n this.render();\n return this;\n },\n\n /**\n * Check if there is metadata that can be used for a plot. Metadata is\n * structured as a dictionary. If a top-level key contains an array\n * whose first element is an object, then any key in that object is a\n * possible value to plot. These keys are categorized based on if their\n * values are numbers or strings.\n *\n * @returns {object[]} An alphabetized list of available keys. Each entry\n * is an object with 'root', 'key' and 'type'.\n */\n getPlotOptions: function () {\n if (!this.item || !this.item.id || (!this.item.get('meta') && !this.parentMeta)) {\n return [];\n }\n var results = [{root: 'Item', key: 'name', type: 'string', sort: '_name'}];\n for (let midx = 0; midx < 2; midx += 1) {\n var meta = (!midx ? this.item.get('meta') : this.parentMeta) || {};\n for (const [root, entry] of Object.entries(meta)) {\n if (_.isArray(entry) && entry.length >= 1 && _.isObject(entry[0])) {\n for (const [key, value] of Object.entries(entry[0])) {\n let type;\n if (_.isFinite(value)) {\n type = 'number';\n } else if (_.isString(value)) {\n type = 'string';\n }\n if (type) {\n results.push({root, key, type, sort: `${root}.${key}`.toLowerCase()});\n }\n }\n }\n }\n }\n return results.sort((a, b) => a.sort.localeCompare(b.sort));\n },\n\n /**\n * Collect all plot data into a single array with the current item first.\n * Create a summary of each data field. For numeric values, this is the\n * minimum and maximum. For all fields, this is the number of distinct\n * values. This is done for the current item's data and for all items\n * combined.\n */\n getPlotData: function (plotConfig) {\n const plotOptions = this.getPlotOptions();\n const optDict = {};\n plotOptions.forEach((opt) => { optDict[opt.sort] = opt; });\n const plotData = {data: [], fieldToPlot: {}, plotToOpt: {}, ranges: {}};\n const usedFields = ['x', 'y', 'r', 'c', 's'].filter((series) => plotConfig[series] && optDict[plotConfig[series]]).map((series) => {\n if (!plotData.fieldToPlot[plotConfig[series]]) {\n plotData.fieldToPlot[plotConfig[series]] = [];\n }\n plotData.fieldToPlot[plotConfig[series]].push(series);\n plotData.plotToOpt[series] = optDict[plotConfig[series]];\n return plotConfig[series];\n });\n const usedOptions = plotOptions.filter((opt) => usedFields.includes(opt.sort));\n if (!usedOptions.length) {\n return plotData;\n }\n let items = [];\n if (plotConfig.folder) {\n items = this.siblingItems.filter((d) => d.largeImage && !d.largeImage.expected && d.meta && d._id !== this.item.id);\n }\n items.unshift(this.item.toJSON());\n if (this.parentMeta) {\n items.unshift({meta: this.parentMeta});\n }\n items.forEach((item, itemIdx) => {\n const meta = item.meta || {};\n let end = false;\n for (let idx = 0; !end; idx += 1) {\n const entry = {_roots: {}};\n usedOptions.forEach((opt) => {\n plotData.fieldToPlot[opt.sort].forEach((key) => {\n let value;\n if (opt.sort === '_name') {\n value = item.name;\n } else if (meta[opt.root] && meta[opt.root][idx]) {\n value = meta[opt.root][idx][opt.key];\n entry._roots[opt.root] = entry._roots[opt.root] || meta[opt.root][idx];\n }\n if (value === undefined || (opt.type === 'number' && !_.isFinite(value))) {\n end = true;\n }\n if (opt.type === 'string') {\n value = '' + value;\n }\n entry[key] = value;\n });\n });\n if (!end) {\n plotData.data.push(entry);\n }\n }\n });\n plotData.data.forEach((entry, idx) => {\n Object.entries(entry).forEach(([key, value]) => {\n if (key === '_roots') {\n return;\n }\n if (!plotData.ranges[key]) {\n if (_.isFinite(value)) {\n plotData.ranges[key] = {min: value, max: value};\n } else {\n plotData.ranges[key] = {distinct: {}};\n }\n }\n if (_.isFinite(value)) {\n if (value < plotData.ranges[key].min) {\n plotData.ranges[key].min = value;\n }\n if (value > plotData.ranges[key].max) {\n plotData.ranges[key].max = value;\n }\n } else {\n plotData.ranges[key].distinct[value] = true;\n plotData.ranges[key].list = Object.keys(plotData.ranges[key].distinct).sort();\n plotData.ranges[key].count = plotData.ranges[key].list.length;\n }\n });\n });\n return plotData;\n },\n\n onHover: function (evt) {\n // this is a stub for wrapping.\n },\n\n adjustHoverText: function (d, parts) {\n },\n\n plotDataToPlotly: function (plotData) {\n const colorBrewerPaired12 = ['#a6cee3', '#1f78b4', '#b2df8a', '#33a02c', '#fb9a99', '#e31a1c', '#fdbf6f', '#ff7f00', '#cab2d6', '#6a3d9a', '#ffff99', '#b15928'];\n const viridis = ['#440154', '#482172', '#423d84', '#38578c', '#2d6f8e', '#24858d', '#1e9a89', '#2ab07e', '#51c468', '#86d449', '#c2df22', '#fde724'];\n let colorScale;\n if (plotData.ranges.c && !plotData.ranges.c.count) {\n colorScale = window.d3.scale.linear().domain(viridis.map((_, i) => i / (viridis.length - 1) * (plotData.ranges.c.max - plotData.ranges.c.min) + plotData.ranges.c.min)).range(viridis);\n }\n const plotlyData = {\n x: plotData.data.map((d) => d.x),\n y: plotData.data.map((d) => d.y),\n hovertext: plotData.data.map((d) => {\n const parts = [];\n ['x', 'y', 'r', 'c', 's'].forEach((series) => {\n if (d[series] !== undefined) {\n parts.push(`${plotData.plotToOpt[series].root} - ${plotData.plotToOpt[series].key}: ${d[series]}`);\n }\n });\n this.adjustHoverText(d, parts);\n return '' + parts.join('
') + '
';\n }),\n hoverinfo: 'text',\n marker: {\n symbol: plotData.ranges.s && plotData.ranges.s.count ? plotData.data.map((d) => plotData.ranges.s.list.indexOf(d.s)) : 0,\n size: plotData.ranges.r\n ? (\n !plotData.ranges.r.count\n ? plotData.data.map((d) => (d.r - plotData.ranges.r.min) / (plotData.ranges.r.max - plotData.ranges.r.min) * 10 + 5)\n : plotData.data.map((d) => plotData.ranges.r.list.indexOf(d.r) / plotData.ranges.r.count * 10 + 5)\n )\n : 10,\n color: plotData.ranges.c\n ? (\n !plotData.ranges.c.count\n ? plotData.data.map((d) => colorScale(d.c))\n : plotData.data.map((d) => colorBrewerPaired12[plotData.ranges.c.list.indexOf(d.c)] || '#000000')\n )\n : '#000000',\n opacity: 0.5\n },\n type: plotData.data.length > 100 ? 'scattergl' : 'scatter',\n mode: 'markers'\n };\n return [plotlyData];\n },\n\n render: function () {\n if (this.item && this.item.id) {\n const plotOptions = this.getPlotOptions();\n if (plotOptions.filter((v) => v.type === 'number').length < 2) {\n this.$el.html('');\n return;\n }\n $.when(\n this.siblingItemsPromise,\n !window.Plotly\n ? $.ajax({ // like $.getScript, but allow caching\n url: 'https://cdn.plot.ly/plotly-latest.min.js',\n dataType: 'script',\n cache: true\n })\n : null\n ).done(() => {\n const plotData = this.getPlotData(this.plotConfig);\n this.lastPlotData = plotData;\n this.$el.html(metadataPlotTemplate({}));\n const elem = this.$el.find('.h-metadata-plot-area');\n if (!plotData.ranges.x || !plotData.ranges.y || plotData.data.length < 2) {\n elem.html('');\n return;\n }\n const maximized = this.$el.closest('.h-panel-maximized').length > 0;\n const plotOptions = {\n margin: {t: 0, l: 40, r: 0, b: 20},\n hovermode: 'closest'\n };\n if (maximized) {\n plotOptions.margin.l += 20;\n plotOptions.margin.b += 40;\n plotOptions.xaxis = {title: {text: `${plotData.plotToOpt.x.root} - ${plotData.plotToOpt.x.key}`}};\n plotOptions.yaxis = {title: {text: `${plotData.plotToOpt.y.root} - ${plotData.plotToOpt.y.key}`}};\n }\n window.Plotly.newPlot(elem[0], this.plotDataToPlotly(plotData), plotOptions);\n elem[0].on('plotly_hover', (evt) => this.onHover(evt));\n });\n }\n return this;\n }\n});\n\nexport default MetadataPlot;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/panels/MetadataPlot.js","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\":\".modal-dialog(role='document')\\n .modal-content\\n form.modal-form(role='form')\\n .modal-header\\n button.close(type='button', data-dismiss='modal', aria-label='Close')\\n span(aria-hidden='true') ×\\n h4.modal-title Metadata Plot\\n .modal-body\\n -\\n var seriesList = [\\n {key: 'x', label: 'x-axis', number: true},\\n {key: 'y', label: 'y-axis', number: true},\\n {key: 'r', label: 'Radius'},\\n {key: 'c', label: 'Color'},\\n {key: 's', label: 'Symbol', string: true}]\\n for series in seriesList\\n .form-group\\n label(for='h-plot-series-' + series.key) #{series.label}\\n select.form-control(id='h-plot-series-' + series.key)\\n if !series.number\\n option(value='_none_', selected=plotConfig[series.key] === undefined) None\\n each opt in plotOptions\\n if (!series.number || opt.type === 'number') && (!series.string || opt.type === 'string')\\n - var selected = plotConfig[series.key] === opt.sort\\n option(value=opt.sort, selected=selected) #{opt.root + ' - ' + opt.key}\\n .form-group\\n label(for='h-plot-folder')\\n input#h-plot-folder(type='checkbox', checked=plotConfig.folder)\\n | Include data from other items in the same folder\\n .modal-footer\\n button.btn.btn-default.h-cancel(type='button', data-dismiss='modal') Cancel\\n button.btn.btn-primary.h-submit(type='submit') Save\\n\"};\n;var locals_for_with = (locals || {});(function (plotConfig, plotOptions) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-dialog\\\" role=\\\"document\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-content\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cform class=\\\"modal-form\\\" role=\\\"form\\\"\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-header\\\"\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"close\\\" type=\\\"button\\\" data-dismiss=\\\"modal\\\" aria-label=\\\"Close\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cspan aria-hidden=\\\"true\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Ch4 class=\\\"modal-title\\\"\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"Metadata Plot\\u003C\\u002Fh4\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-body\\\"\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nvar seriesList = [\n {key: 'x', label: 'x-axis', number: true},\n {key: 'y', label: 'y-axis', number: true},\n {key: 'r', label: 'Radius'},\n {key: 'c', label: 'Color'},\n {key: 's', label: 'Symbol', string: true}]\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\n// iterate seriesList\n;(function(){\n var $$obj = seriesList;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var series = $$obj[pug_index0];\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Clabel\" + (pug.attr(\"for\", 'h-plot-series-' + series.key, true, true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = series.label) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cselect\" + (\" class=\\\"form-control\\\"\"+pug.attr(\"id\", 'h-plot-series-' + series.key, true, true)) + \"\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nif (!series.number) {\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Coption\" + (\" value=\\\"_none_\\\"\"+pug.attr(\"selected\", plotConfig[series.key] === undefined, true, true)) + \"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"None\\u003C\\u002Foption\\u003E\";\n}\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\n// iterate plotOptions\n;(function(){\n var $$obj = plotOptions;\n if ('number' == typeof $$obj.length) {\n for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) {\n var opt = $$obj[pug_index1];\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nif ((!series.number || opt.type === 'number') && (!series.string || opt.type === 'string')) {\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nvar selected = plotConfig[series.key] === opt.sort\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", opt.sort, true, true)+pug.attr(\"selected\", selected, true, true)) + \"\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = opt.root + ' - ' + opt.key) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index1 in $$obj) {\n $$l++;\n var opt = $$obj[pug_index1];\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nif ((!series.number || opt.type === 'number') && (!series.string || opt.type === 'string')) {\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nvar selected = plotConfig[series.key] === opt.sort\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", opt.sort, true, true)+pug.attr(\"selected\", selected, true, true)) + \"\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = opt.root + ' - ' + opt.key) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n}\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var series = $$obj[pug_index0];\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Clabel\" + (pug.attr(\"for\", 'h-plot-series-' + series.key, true, true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = series.label) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\n;pug_debug_line = 19;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cselect\" + (\" class=\\\"form-control\\\"\"+pug.attr(\"id\", 'h-plot-series-' + series.key, true, true)) + \"\\u003E\";\n;pug_debug_line = 20;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nif (!series.number) {\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Coption\" + (\" value=\\\"_none_\\\"\"+pug.attr(\"selected\", plotConfig[series.key] === undefined, true, true)) + \"\\u003E\";\n;pug_debug_line = 21;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"None\\u003C\\u002Foption\\u003E\";\n}\n;pug_debug_line = 22;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\n// iterate plotOptions\n;(function(){\n var $$obj = plotOptions;\n if ('number' == typeof $$obj.length) {\n for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) {\n var opt = $$obj[pug_index2];\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nif ((!series.number || opt.type === 'number') && (!series.string || opt.type === 'string')) {\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nvar selected = plotConfig[series.key] === opt.sort\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", opt.sort, true, true)+pug.attr(\"selected\", selected, true, true)) + \"\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = opt.root + ' - ' + opt.key) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index2 in $$obj) {\n $$l++;\n var opt = $$obj[pug_index2];\n;pug_debug_line = 23;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nif ((!series.number || opt.type === 'number') && (!series.string || opt.type === 'string')) {\n;pug_debug_line = 24;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\nvar selected = plotConfig[series.key] === opt.sort\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", opt.sort, true, true)+pug.attr(\"selected\", selected, true, true)) + \"\\u003E\";\n;pug_debug_line = 25;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = opt.root + ' - ' + opt.key) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n}\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\n;pug_debug_line = 26;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\n;pug_debug_line = 27;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Clabel for=\\\"h-plot-folder\\\"\\u003E\";\n;pug_debug_line = 28;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cinput\" + (\" id=\\\"h-plot-folder\\\" type=\\\"checkbox\\\"\"+pug.attr(\"checked\", plotConfig.folder, true, true)) + \"\\u003E\";\n;pug_debug_line = 29;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \" Include data from other items in the same folder\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 30;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"modal-footer\\\"\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-default h-cancel\\\" type=\\\"button\\\" data-dismiss=\\\"modal\\\"\\u003E\";\n;pug_debug_line = 31;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"Cancel\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"btn btn-primary h-submit\\\" type=\\\"submit\\\"\\u003E\";\n;pug_debug_line = 32;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fdialogs\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"Save\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"plotConfig\" in locals_for_with?locals_for_with.plotConfig:typeof plotConfig!==\"undefined\"?plotConfig:undefined,\"plotOptions\" in locals_for_with?locals_for_with.plotOptions:typeof plotOptions!==\"undefined\"?plotOptions:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/dialogs/metadataPlot.pug","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\":\"extends .\\u002Fpanel.pug\\n\\nblock title\\n | #[span.icon-chart-line] Metadata Plot\\nblock controls\\n span.s-no-panel-toggle\\n button.g-widget-metadata-plot-settings.btn.btn-sm.btn-default(title=\\\"Plot Settings\\\")\\n i.icon-cog\\n span.s-no-panel-toggle.h-panel-maximize\\n i.icon-resize-full(title=\\\"Maximize\\\")\\n\\nblock content\\n .h-metadata-plot-area\\n\",\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\":\".s-panel-title-container\\n span.s-panel-title.h-panel-title\\n block title\\n | #{title}\\n span.s-panel-controls\\n block controls\\n if collapsed\\n i.icon-down-open\\n else\\n i.icon-up-open\\n if removeButton\\n i.icon-cancel.s-remove-panel(data-target=`#${id}`)\\n\\n- var attrs = {}\\nif !collapsed\\n - attrs.class = 'in'\\n.s-panel-content.collapse&attributes(attrs)\\n block content\\n\"};\n;var locals_for_with = (locals || {});(function (collapsed, id, removeButton) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"s-panel-title-container\\\"\\u003E\";\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-title h-panel-title\\\"\\u003E\";\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-chart-line\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\";\npug_html = pug_html + \" Metadata Plot\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-panel-controls\\\"\\u003E\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-no-panel-toggle\\\"\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cbutton class=\\\"g-widget-metadata-plot-settings btn btn-sm btn-default\\\" title=\\\"Plot Settings\\\"\\u003E\";\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-cog\\\"\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fbutton\\u003E\";\n;pug_debug_line = 9;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"s-no-panel-toggle h-panel-maximize\\\"\\u003E\";\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-resize-full\\\" title=\\\"Maximize\\\"\\u003E\\u003C\\u002Fi\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (collapsed) {\n;pug_debug_line = 8;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-down-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\nelse {\n;pug_debug_line = 10;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci class=\\\"icon-up-open\\\"\\u003E\\u003C\\u002Fi\\u003E\";\n}\n;pug_debug_line = 11;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (removeButton) {\n;pug_debug_line = 12;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Ci\" + (\" class=\\\"icon-cancel s-remove-panel\\\"\"+pug.attr(\"data-target\", `#${id}`, true, true)) + \"\\u003E\\u003C\\u002Fi\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n;pug_debug_line = 14;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nvar attrs = {}\n;pug_debug_line = 15;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nif (!collapsed) {\n;pug_debug_line = 16;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\nattrs.class = 'in'\n}\n;pug_debug_line = 17;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attrs(pug.merge([{\"class\": \"s-panel-content collapse\"},attrs]), true)) + \"\\u003E\";\n;pug_debug_line = 18;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002Fpanel.pug\";\n;pug_debug_line = 13;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FmetadataPlot.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-metadata-plot-area\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"collapsed\" in locals_for_with?locals_for_with.collapsed:typeof collapsed!==\"undefined\"?collapsed:undefined,\"id\" in locals_for_with?locals_for_with.id:typeof id!==\"undefined\"?id:undefined,\"removeButton\" in locals_for_with?locals_for_with.removeButton:typeof removeButton!==\"undefined\"?removeButton:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@girder/histomicsui/templates/panels/metadataPlot.pug","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/stylesheets/panels/metadataPlot.styl\n// module id = 121\n// module chunks = 0","module.exports = (__webpack_require__(4))(29);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/annotations/geojs/convert.js from dll-reference girder_plugin_large_image_annotation\n// module id = 122\n// module chunks = 0","import { render, staticRenderFns } from \"./EditHeatmapOrGridDataContainer.vue?vue&type=template&id=8c11edd6&\"\nimport script from \"./EditHeatmapOrGridDataContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./EditHeatmapOrGridDataContainer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../HistomicsUI/histomicsui/web_client/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\n/* hot reload */\nif (module.hot) {\n var api = require(\"/opt/HistomicsUI/histomicsui/web_client/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('8c11edd6')) {\n api.createRecord('8c11edd6', component.options)\n } else {\n api.reload('8c11edd6', component.options)\n }\n module.hot.accept(\"./EditHeatmapOrGridDataContainer.vue?vue&type=template&id=8c11edd6&\", function () {\n api.rerender('8c11edd6', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue\"\nexport default component.exports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue\n// module id = 123\n// module chunks = 0","export * from \"-!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHeatmapOrGridDataContainer.vue?vue&type=template&id=8c11edd6&\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue?vue&type=template&id=8c11edd6&\n// module id = 124\n// module chunks = 0","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\"edit-heatmap-or-grid-data\", {\n attrs: { \"element-data\": _vm.attributes },\n on: { submit: _vm.handleSubmit, cancel: _vm.close },\n }),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// /opt/HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!/opt/HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib??vue-loader-options!./node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue?vue&type=template&id=8c11edd6&\n// module id = 125\n// module chunks = 0","/*!\n * Vue.js v2.6.14\n * (c) 2014-2021 Evan You\n * Released under the MIT License.\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = global || self, global.Vue = factory());\n}(this, function () { 'use strict';\n\n /* */\n\n var emptyObject = Object.freeze({});\n\n // These helpers produce better VM code in JS engines due to their\n // explicitness and function inlining.\n function isUndef (v) {\n return v === undefined || v === null\n }\n\n function isDef (v) {\n return v !== undefined && v !== null\n }\n\n function isTrue (v) {\n return v === true\n }\n\n function isFalse (v) {\n return v === false\n }\n\n /**\n * Check if value is primitive.\n */\n function isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n }\n\n /**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\n function isObject (obj) {\n return obj !== null && typeof obj === 'object'\n }\n\n /**\n * Get the raw type string of a value, e.g., [object Object].\n */\n var _toString = Object.prototype.toString;\n\n function toRawType (value) {\n return _toString.call(value).slice(8, -1)\n }\n\n /**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\n function isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n }\n\n function isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n }\n\n /**\n * Check if val is a valid array index.\n */\n function isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n }\n\n function isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n }\n\n /**\n * Convert a value to a string that is actually rendered.\n */\n function toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n }\n\n /**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\n function toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n }\n\n /**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\n function makeMap (\n str,\n expectsLowerCase\n ) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n }\n\n /**\n * Check if a tag is a built-in tag.\n */\n var isBuiltInTag = makeMap('slot,component', true);\n\n /**\n * Check if an attribute is a reserved attribute.\n */\n var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n /**\n * Remove an item from an array.\n */\n function remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n }\n\n /**\n * Check whether an object has the property.\n */\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n function hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n }\n\n /**\n * Create a cached version of a pure function.\n */\n function cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n }\n\n /**\n * Camelize a hyphen-delimited string.\n */\n var camelizeRE = /-(\\w)/g;\n var camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n });\n\n /**\n * Capitalize a string.\n */\n var capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n });\n\n /**\n * Hyphenate a camelCase string.\n */\n var hyphenateRE = /\\B([A-Z])/g;\n var hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n });\n\n /**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n /* istanbul ignore next */\n function polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n }\n\n function nativeBind (fn, ctx) {\n return fn.bind(ctx)\n }\n\n var bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n /**\n * Convert an Array-like object to a real Array.\n */\n function toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n }\n\n /**\n * Mix properties into target object.\n */\n function extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n }\n\n /**\n * Merge an Array of Objects into a single Object.\n */\n function toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n }\n\n /* eslint-disable no-unused-vars */\n\n /**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\n function noop (a, b, c) {}\n\n /**\n * Always return false.\n */\n var no = function (a, b, c) { return false; };\n\n /* eslint-enable no-unused-vars */\n\n /**\n * Return the same value.\n */\n var identity = function (_) { return _; };\n\n /**\n * Generate a string containing static keys from compiler modules.\n */\n function genStaticKeys (modules) {\n return modules.reduce(function (keys, m) {\n return keys.concat(m.staticKeys || [])\n }, []).join(',')\n }\n\n /**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\n function looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n }\n\n /**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\n function looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n }\n\n /**\n * Ensure a function is called only once.\n */\n function once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n }\n\n var SSR_ATTR = 'data-server-rendered';\n\n var ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n ];\n\n var LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n ];\n\n /* */\n\n\n\n var config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: \"development\" !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: \"development\" !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n });\n\n /* */\n\n /**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\n var unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n /**\n * Check if a string starts with $ or _\n */\n function isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n }\n\n /**\n * Define a property.\n */\n function def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n }\n\n /**\n * Parse simple path.\n */\n var bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\n function parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n }\n\n /* */\n\n // can we use __proto__?\n var hasProto = '__proto__' in {};\n\n // Browser environment sniffing\n var inBrowser = typeof window !== 'undefined';\n var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\n var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\n var UA = inBrowser && window.navigator.userAgent.toLowerCase();\n var isIE = UA && /msie|trident/.test(UA);\n var isIE9 = UA && UA.indexOf('msie 9.0') > 0;\n var isEdge = UA && UA.indexOf('edge/') > 0;\n var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\n var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\n var isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\n var isPhantomJS = UA && /phantomjs/.test(UA);\n var isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n // Firefox has a \"watch\" function on Object.prototype...\n var nativeWatch = ({}).watch;\n\n var supportsPassive = false;\n if (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n }\n\n // this needs to be lazy-evaled because vue may be required before\n // vue-server-renderer can set VUE_ENV\n var _isServer;\n var isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n };\n\n // detect devtools\n var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n /* istanbul ignore next */\n function isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n }\n\n var hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\n var _Set;\n /* istanbul ignore if */ // $flow-disable-line\n if (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n } else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n }\n\n /* */\n\n var warn = noop;\n var tip = noop;\n var generateComponentTrace = (noop); // work around flow check\n var formatComponentName = (noop);\n\n {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n }\n\n /* */\n\n var uid = 0;\n\n /**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\n var Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n };\n\n Dep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n };\n\n Dep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n };\n\n Dep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n };\n\n Dep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (!config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n };\n\n // The current target watcher being evaluated.\n // This is globally unique because only one watcher\n // can be evaluated at a time.\n Dep.target = null;\n var targetStack = [];\n\n function pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n }\n\n function popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n }\n\n /* */\n\n var VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n ) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n };\n\n var prototypeAccessors = { child: { configurable: true } };\n\n // DEPRECATED: alias for componentInstance for backwards compat.\n /* istanbul ignore next */\n prototypeAccessors.child.get = function () {\n return this.componentInstance\n };\n\n Object.defineProperties( VNode.prototype, prototypeAccessors );\n\n var createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n };\n\n function createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n }\n\n // optimized shallow clone\n // used for static nodes and slot nodes because they may be reused across\n // multiple renders, cloning them avoids errors when DOM manipulations rely\n // on their elm reference.\n function cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n }\n\n /*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\n var arrayProto = Array.prototype;\n var arrayMethods = Object.create(arrayProto);\n\n var methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n ];\n\n /**\n * Intercept mutating methods and emit events\n */\n methodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n });\n\n /* */\n\n var arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n /**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\n var shouldObserve = true;\n\n function toggleObserving (value) {\n shouldObserve = value;\n }\n\n /**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\n var Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n };\n\n /**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\n Observer.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n };\n\n /**\n * Observe a list of Array items.\n */\n Observer.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n };\n\n // helpers\n\n /**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\n function protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n }\n\n /**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n /* istanbul ignore next */\n function copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n }\n\n /**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\n function observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n }\n\n /**\n * Define a reactive property on an Object.\n */\n function defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n ) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n }\n\n /**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\n function set (target, key, val) {\n if (isUndef(target) || isPrimitive(target)\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n }\n\n /**\n * Delete a property and trigger change if necessary.\n */\n function del (target, key) {\n if (isUndef(target) || isPrimitive(target)\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n }\n\n /**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\n function dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n }\n\n /* */\n\n /**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\n var strats = config.optionMergeStrategies;\n\n /**\n * Options with restrictions\n */\n {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n }\n\n /**\n * Helper that recursively merges two data objects together.\n */\n function mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n }\n\n /**\n * Data\n */\n function mergeDataOrFn (\n parentVal,\n childVal,\n vm\n ) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n }\n\n strats.data = function (\n parentVal,\n childVal,\n vm\n ) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n };\n\n /**\n * Hooks and props are merged as arrays.\n */\n function mergeHook (\n parentVal,\n childVal\n ) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n }\n\n function dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n }\n\n LIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n });\n\n /**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\n function mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n ) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n }\n\n ASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n });\n\n /**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\n strats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n ) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n };\n\n /**\n * Other object hashes.\n */\n strats.props =\n strats.methods =\n strats.inject =\n strats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n ) {\n if (childVal && \"development\" !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n };\n strats.provide = mergeDataOrFn;\n\n /**\n * Default strategy.\n */\n var defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n };\n\n /**\n * Validate component names\n */\n function checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n }\n\n function validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n }\n\n /**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\n function normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n }\n\n /**\n * Normalize all injections into Object-based format\n */\n function normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n }\n\n /**\n * Normalize raw function directives into object format.\n */\n function normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n }\n\n function assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n }\n\n /**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\n function mergeOptions (\n parent,\n child,\n vm\n ) {\n {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n }\n\n /**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\n function resolveAsset (\n options,\n type,\n id,\n warnMissing\n ) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n }\n\n /* */\n\n\n\n function validateProp (\n key,\n propOptions,\n propsData,\n vm\n ) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n }\n\n /**\n * Get the default value of a prop.\n */\n function getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n }\n\n /**\n * Assert whether a prop is valid.\n */\n function assertProp (\n prop,\n name,\n value,\n vm,\n absent\n ) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i], vm);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n var haveExpectedTypes = expectedTypes.some(function (t) { return t; });\n if (!valid && haveExpectedTypes) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n }\n\n var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/;\n\n function assertType (value, type, vm) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n try {\n valid = value instanceof type;\n } catch (e) {\n warn('Invalid prop type: \"' + String(type) + '\" is not a constructor', vm);\n valid = false;\n }\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n }\n\n var functionTypeCheckRE = /^\\s*function (\\w+)/;\n\n /**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\n function getType (fn) {\n var match = fn && fn.toString().match(functionTypeCheckRE);\n return match ? match[1] : ''\n }\n\n function isSameType (a, b) {\n return getType(a) === getType(b)\n }\n\n function getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n }\n\n function getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n // check if we need to specify expected value\n if (\n expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n isExplicable(typeof value) &&\n !isBoolean(expectedType, receivedType)\n ) {\n message += \" with value \" + (styleValue(value, expectedType));\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + (styleValue(value, receivedType)) + \".\";\n }\n return message\n }\n\n function styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n }\n\n var EXPLICABLE_TYPES = ['string', 'number', 'boolean'];\n function isExplicable (value) {\n return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; })\n }\n\n function isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n }\n\n /* */\n\n function handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n }\n\n function invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n ) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n }\n\n function globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n }\n\n function logError (err, vm, info) {\n {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n }\n\n /* */\n\n var isUsingMicroTask = false;\n\n var callbacks = [];\n var pending = false;\n\n function flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n }\n\n // Here we have async deferring wrappers using microtasks.\n // In 2.5 we used (macro) tasks (in combination with microtasks).\n // However, it has subtle problems when state is changed right before repaint\n // (e.g. #6813, out-in transitions).\n // Also, using (macro) tasks in event handler would cause some weird behaviors\n // that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n // So we now use microtasks everywhere, again.\n // A major drawback of this tradeoff is that there are some scenarios\n // where microtasks have too high a priority and fire in between supposedly\n // sequential events (e.g. #4521, #6690, which have workarounds)\n // or even between bubbling of the same event (#6566).\n var timerFunc;\n\n // The nextTick behavior leverages the microtask queue, which can be accessed\n // via either native Promise.then or MutationObserver.\n // MutationObserver has wider support, however it is seriously bugged in\n // UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n // completely stops working after triggering a few times... so, if native\n // Promise is available, we will use it:\n /* istanbul ignore next, $flow-disable-line */\n if (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n } else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n )) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n } else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n } else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n }\n\n function nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n }\n\n /* */\n\n var mark;\n var measure;\n\n {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n }\n\n /* not type checking this file because flow doesn't play well with Proxy */\n\n var initProxy;\n\n {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n }\n\n /* */\n\n var seenObjects = new _Set();\n\n /**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\n function traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n }\n\n function _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n }\n\n /* */\n\n var normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n });\n\n function createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n }\n\n function updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n ) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n }\n\n /* */\n\n function mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n }\n\n /* */\n\n function extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n ) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n }\n\n function checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n ) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n }\n\n /* */\n\n // The template compiler attempts to minimize the need for normalization by\n // statically analyzing the template at compile time.\n //\n // For plain HTML markup, normalization can be completely skipped because the\n // generated render function is guaranteed to return Array. There are\n // two cases where extra normalization is needed:\n\n // 1. When the children contains components - because a functional component\n // may return an Array instead of a single root. In this case, just a simple\n // normalization is needed - if any child is an Array, we flatten the whole\n // thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n // because functional components already normalize their own children.\n function simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n }\n\n // 2. When the children contains constructs that always generated nested Arrays,\n // e.g.