{"version":3,"sources":["webpack:///./src/components/user-panel/pages/DeployModel/components/MissedStep.vue?f1d5","webpack:///./node_modules/@ant-design/icons-svg/es/asn/MenuOutlined.js","webpack:///./node_modules/@ant-design/icons-vue/es/icons/MenuOutlined.js","webpack:///./src/components/user-panel/pages/RecordData/composables/useActiveDevices.js","webpack:///./node_modules/@ant-design/icons-svg/es/asn/CloudUploadOutlined.js","webpack:///./node_modules/@ant-design/icons-vue/es/icons/CloudUploadOutlined.js","webpack:///./node_modules/@ant-design/icons-svg/es/asn/TagsOutlined.js","webpack:///./node_modules/@ant-design/icons-vue/es/icons/TagsOutlined.js","webpack:///./src/components/shared/Helpers/downloadFile.js","webpack:///./node_modules/py-datetime/index.js","webpack:///./node_modules/@ant-design/icons-svg/es/asn/StopOutlined.js","webpack:///./node_modules/@ant-design/icons-vue/es/icons/StopOutlined.js","webpack:///./src/service/telemetry/core/StatisticalLoggerInterface.js","webpack:///./src/mixins/handleSpace.js","webpack:///./node_modules/d3-time/src/interval.js","webpack:///./node_modules/d3-time/src/duration.js","webpack:///./node_modules/d3-time/src/week.js","webpack:///./node_modules/d3-time/src/day.js","webpack:///./node_modules/d3-time/src/year.js","webpack:///./node_modules/d3-time-format/src/locale.js","webpack:///./node_modules/d3-time-format/src/defaultLocale.js","webpack:///./node_modules/d3-time-format/src/isoFormat.js","webpack:///./node_modules/d3-time-format/src/isoParse.js","webpack:///./src/components/user-panel/pages/DeployModel/MainValidation.vue?5a0b","webpack:///./node_modules/@ant-design/icons-svg/es/asn/InboxOutlined.js","webpack:///./node_modules/@ant-design/icons-vue/es/icons/InboxOutlined.js","webpack:///./node_modules/v-pagination-3/dist/vue-pagination-2.min.js","webpack:///./src/components/user-panel/pages/DeployModel/components/MissedStep.vue","webpack:///./src/components/user-panel/pages/DeployModel/components/MissedStep.vue?8a47","webpack:///./src/components/user-panel/pages/DeployModel/UploadVideoV2.vue?e700","webpack:///./src/config/days-config.js","webpack:///./src/components/user-panel/pages/DeployModel/components/StepsList.vue?2643","webpack:///./src/service/telemetry/core/Process.js","webpack:///./src/components/shared/Helpers/showNotification.js","webpack:///./src/service/telemetry/data_classes/TaskInfo.js","webpack:///./node_modules/@ant-design/icons-svg/es/asn/CommentOutlined.js","webpack:///./node_modules/@ant-design/icons-vue/es/icons/CommentOutlined.js","webpack:///./src/components/user-panel/pages/DeployModel/Index.vue","webpack:///./src/components/user-panel/pages/DeployModel/MainValidation.vue","webpack:///./src/components/shared/Data/tour-steps.js","webpack:///./src/components/shared/Helpers/getFileNameFromUrl.js","webpack:///./src/components/shared/Helpers/getPrevNextRoute.js","webpack:///./src/components/user-panel/pages/DeployModel/Inference.vue","webpack:///./node_modules/@ant-design/icons-svg/es/asn/AlignLeftOutlined.js","webpack:///./node_modules/@ant-design/icons-vue/es/icons/AlignLeftOutlined.js","webpack:///./src/service/telemetry/core/StatisticalLogger.js","webpack:///./src/components/user-panel/pages/DeployModel/Inference.vue?da33","webpack:///./src/components/user-panel/pages/DeployModel/UploadVideoV2.vue","webpack:///./src/components/user-panel/pages/DeployModel/UploadVideoV2.vue?208a","webpack:///./src/components/user-panel/pages/DeployModel/VideoListV2.vue","webpack:///./src/components/shared/Helpers/urlHelper.js","webpack:///./src/components/shared/Helpers/getCsvFileNameFromUrl.js","webpack:///./node_modules/@ant-design/icons-svg/es/asn/SyncOutlined.js","webpack:///./node_modules/@ant-design/icons-vue/es/icons/SyncOutlined.js","webpack:///./src/components/user-panel/pages/DeployModel/VideoListV2.vue?5467","webpack:///./src/components/user-panel/pages/DeployModel/MainValidation.vue?da64","webpack:///./src/components/user-panel/pages/DeployModel/ActiveDevices.vue","webpack:///./src/components/user-panel/pages/DeployModel/ActiveDevices.vue?3f1b","webpack:///./src/components/user-panel/pages/DeployModel/Index.vue?40ae","webpack:///./src/components/shared/Helpers/jsonToCsvDownload.js","webpack:///./src/service/telemetry/data_classes/UserInfo.js","webpack:///./src/components/user-panel/pages/DeployModel/components/StepsList.vue","webpack:///./src/components/user-panel/pages/DeployModel/components/StepsList.vue?054d","webpack:///./src/components/shared/Helpers/parseTaskList.js","webpack:///./node_modules/@ant-design/icons-svg/es/asn/SettingOutlined.js","webpack:///./node_modules/@ant-design/icons-vue/es/icons/SettingOutlined.js","webpack:///./src/config/columns-config.js"],"names":["_objectSpread","target","i","arguments","length","source","Object","ownKeys","keys","getOwnPropertySymbols","concat","filter","sym","getOwnPropertyDescriptor","enumerable","forEach","key","_defineProperty","obj","value","defineProperty","configurable","writable","props","context","p","attrs","AntdIcon","displayName","inheritAttrs","useActiveDevices","toast","inject","tasks","ref","taskOptions","trainedTasks","isLoadingTasks","taskInputRefs","allDevices","devicesDetails","activeDevicesDict","isLoadingDevices","activeDevicesPolling","activeDevicesPollingTime","showSchedule","deviceToSchedule","startEndTime","selectedDays","isScheduling","isPolled","devicesCount","activeDevices","store","useStore","organization","computed","state","auth","activeDevicesList","d","active","sortedDevices","sort","a","b","starred","activeDevicesCount","async","getCachedDeviceStatus","error","data","DeviceService","fetchAllDevicesOfOrg","devices","device","Task","id","activeDevicesMap","Map","map","Serial_number","updatedAllDevices","isActive","has","handleDeviceStatus","dataLookup","fromEntries","item","mergedData","getActiveDevices","dispatch","getTasks","TaskService","fetchTasks","getSortedTask","getAllTrainedTasks","fetchTrainedTasksByStatus","trainingStatuses","trained","e","task","getAllDevices","watch","reduce","res","dev","onBeforeMount","setInterval","onBeforeUnmount","clearInterval","deviceStatus","uploading","downloading","serialNumber","updateDevice","deviceDetails","temp","index","findIndex","v","updateDeviceSettings","Promise","updateDeviceSettingsAsync","resolve","oldValue","getOldValues","payload","getPayloadForDeviceSettings","updateDeviceSettingsAndActiveDevices","isUpdated","updateActiveDevices","Array","isArray","keyIndex","deviceIndex","values","handleRecording","record_shift","is_shift_managed","isInferenceRunning","isTaskSet","isShiftBeingManaged","isInGuidanceMode","info","subject","action","handleInference","isTrainedTask","isShiftBeingRecorded","taskId","isTaskTrained","some","handleChangeTask","record","_taskInputRefs$value$","blur","showScheduleModal","days_of_week","getDaysOfWeek","start","end","getStartEndTimeToPopulate","JSON","parse","day_of_week_for_recording","day_of_week_for_inference","start_recording_time","end_recording_time","shift_start_time","shift_end_time","dateHelper","getTimeFromDate","scheduleRecording","getSchedulePayload","scheduleInference","getStartEndTimeForSchedule","stringify","$d","startDate","getFormattedDate","endDate","startTime","Date","toTimeString","split","endTime","name","type","content","encodedUri","encodeURI","link","document","createElement","setAttribute","body","appendChild","click","d3TimeFormat","toMillis","milliseconds","seconds","minutes","hours","days","weeks","time","hour","minute","second","millisecond","args","field","assign","this","ts","dt","datetime","combine","now","timeFormat","__totalMillis","str","timeWrapper","date","year","month","day","jsDate","getDay","weekday","getTime","dateWrapper","utc","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","newTs","entries","val","valueOf","strftime","UTC","format","utcFormat","datetimeWrapper","strptime","dateString","parser","utcParse","timeParse","parsed","utcnow","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","timedelta","Math","abs","totalMillis","multiplier","floor","tsFields","millis","total","current","timedeltaWrapper","module","exports","StatisticalLoggerInterface","constructor","process","kwargs","userInfo","UserInfoCloud","taskInfo","TaskInfoCloud","init","processes","cumulatedProcesses","predictions","prediction","timeDiff","subSteps","includes","Error","currentTime","previousTime","currentProcess","count","methods","handleSpace","el","position","selectionStart","slice","$nextTick","setSelectionRange","handleDDSpace","filterOption","input","option","_option$label","label","toLowerCase","indexOf","t0","t1","timeInterval","floori","offseti","interval","ceil","round","d0","d1","offset","step","range","stop","previous","push","test","setTime","every","isFinite","durationSecond","durationMinute","durationHour","durationDay","durationWeek","timeWeekday","setDate","setHours","getTimezoneOffset","timeSunday","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","utcWeekday","setUTCDate","getUTCDay","setUTCHours","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","timeDay","utcDay","unixDay","timeYear","setMonth","setFullYear","k","utcYear","setUTCMonth","setUTCFullYear","localDate","y","m","H","M","S","L","utcDate","newDate","formatLocale","locale","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_weekdays","locale_shortWeekdays","shortDays","locale_months","months","locale_shortMonths","shortMonths","periodRe","formatRe","periodLookup","formatLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","formatShortWeekday","formatWeekday","formatShortMonth","formatMonth","formatDayOfMonth","formatMicroseconds","formatYearISO","formatFullYearISO","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","formatPeriod","formatQuarter","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatFullYear","formatZone","formatLiteralPercent","utcFormats","formatUTCShortWeekday","formatUTCWeekday","formatUTCShortMonth","formatUTCMonth","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCYearISO","formatUTCFullYearISO","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCPeriod","formatUTCQuarter","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","parseShortWeekday","parseWeekday","parseShortMonth","parseMonth","parseLocaleDateTime","parseDayOfMonth","parseMicroseconds","parseYear","parseFullYear","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parsePeriod","parseQuarter","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseLocaleDate","parseLocaleTime","parseZone","parseLiteralPercent","newFormat","specifier","c","pad","string","j","n","charCodeAt","pads","charAt","join","newParse","Z","week","undefined","parseSpecifier","Q","s","q","V","w","u","W","U","exec","get","x","X","f","toString","numberRe","percentRe","requoteRe","fill","width","sign","requote","replace","names","RegExp","dISO","z","dow","UTCdISO","defaultLocale","definition","isoSpecifier","formatIsoNative","toISOString","formatIso","prototype","parseIsoNative","isNaN","parseIso","t","l","call","o","r","Symbol","toStringTag","__esModule","create","bind","default","hasOwnProperty","nav","wrapper","list","next","prev","disabled","apply","h","shift","isPlainObject","clone","recursive","merge","main","chunk","chunksNavigation","edgeNavigation","theme","template","hideCount","texts","first","last","nextPage","nextChunk","prevPage","prevChunk","itemClass","required","render","$slots","override","opts","showPagination","totalPages","pages","pageEvents","setPage","keydown","activeClass","hasEdgeNav","totalChunks","setFirstPage","setLastPage","hasChunksNav","setPrevChunk","setNextChunk","setPrevPage","firstPageProps","class","Theme","page","lastPageProps","prevProps","allowedPageClass","nextProps","pageClasses","prevChunkProps","allowedChunk","nextChunkProps","setNextPage","allowedChunkClass","firstPage","lastPage","hasRecords","setChunk","Page","records","perPage","formatNumber","$parent","modelValue","For","for","Options","options","allowedPage","inDisplay","$emit","Records","PerPage","bootstrap3","bootstrap4","bulma","paginationStart","pagesInCurrentChunk","currentChunk","parseInt","min","paginate","createVNode","style","onClick","onKeyDown","emits","components","RenderlessPagination","provide","$refs","pg","Number","validator","_createBlock","_component_a_card","size","hoverable","body-style","height","flex","overflowY","title","_withCtx","_createElementVNode","_toDisplayString","$props","_createVNode","_component_a_tag","color","missedSteps","_component_a_skeleton","loading","isTaskDetailsLoading","paragraph","rows","_hoisted_1","_createElementBlock","_Fragment","_renderList","stepsTranslationMapping","_hoisted_2","video","String","Boolean","__exports__","TimeBreakPoints","Process","minimumSubStepTimes","Set","negativeSteps","cycleCalculationParams","_subSteps","_this$cycleCalculatio","processName","backgroundSubStep","cycleStart","subStepCount","allMinimumSubstepTimes","subStepsTimes","completedSteps","totalCycleTime","cycleIdentifier","startFrame","endFrame","totalInferenceTime","previousPrediction","defaultStartTime","cycleEndIdentifier","reasonForEnd","minPercentageOfStepsRequiredToEndCycle","_this$cycleCalculatio2","_Object$values","_this$cycleCalculatio3","_Object$values2","_this$cycleCalculatio4","_this$cycleCalculatio5","tempRequiredStepsForEnd","requiredStepsForEnd","tempRequiredStepsForStart","requiredStepsForStart","minimumCycleTimeMultiplier","maximumCycleTimeMultiplier","console","log","canRestartCycleOn","_","minimumCycleTime","partialSum","maximumCycleTime","resetValues","getTotalCycleTime","totalSecondsList","totalSeconds","isCurrentCycleTimeGreaterThanMaximumCycleTime","add","addSubStepTime","resetSubSteps","markStepAsCompleted","isStepComplete","areAllStepsCompleted","isMinimumPercentageToEndCycleReached","doesTotalCycleTimeExceedMinimumCycleTime","lastNStepsDetected","lastStepDetected","areMinimalRequirementsForCycleEndMet","canEndNormally","serialize","processId","getMissedSteps","canEndAbnormally","differenceOne","differenceTwo","showNotification","message","description","Icon","iconColor","duration","notification","open","icon","TaskInfoInterface","allTasks","taskJson","unavailableCycleTimeKnobs","minimum_cycle_time","minimumSubstepTimes","minimumCycleTimePercentage","similar_steps","key1","similar_items","key2","taskDict","prevProcessSubStepCount","processSubSteps","substeps","taskStepsCount","similarGroupOfSteps","taskSubStepCount","optionalSteps","super","setMinimumSubStepTimes","setSimilarSubSteps","setTaskDict","tryToFetchTaskJson","fetchNegative","parseProcesses","similarSteps","addSimilarSteps","taskProcesses","fetchTaskJson","minPercentageOfStepRequiredToEndCycle","response","S3Service","readFile","bucket","file_path","text","read","decode","telemetryLogs","csv","_component_a_tabs","activeKey","_ctx","$event","_component_a_tab_pane","tab","_component_active_devices","_hoisted_3","_component_main_validation","_component_a_modal","visible","$data","showInferenceModal","wrap-class-name","footer","destroy-on-close","padding","onCancel","$options","handleInferenceModalClose","closeIcon","_component_close_outlined","translationLanguage","_component_a_typography_text","_component_a_select","selectedLang","languageOptions","onChange","_cache","setSelectedLanguage","_component_inference_component","selectedVideo","steps-list","stepsList","is-video-exist","isVideoExist","selected-file-name","selectedFileName","isfetching-video-url","isfetchingVideoUrl","onHandleVisualization","videoList","handleVisualization","onHandleDownloadCSV","handleDownloadCSV","showUploadModal","_component_upload_video","task-id","selectedTask","onChangeTask","onHandleUploadedFiles","handleUploadedFiles","commentsModal","centered","_component_a_list","data-source","comments","item-layout","renderItem","_component_a_list_item","_component_a_comment","author","user_id","username","comment","actions","_component_delete_outlined","deleteComment","_component_a_form_item","_component_a_textarea","newComment","_component_a_button","html-type","addingComment","handleAddComment","tagsModal","currentSelectedTag","show-search","mode","placeholder","loadingTags","tagOptions","filter-option","onSelect","handleAddTag","onDeselect","handleTagRemove","_component_a_row","gutter","_component_a_col","xs","sm","md","lg","xl","handleTaskSelect","current_selec_tag_list","tag_options","span","_component_video_list","record-list","records-count","videosCount","sort-order","sortOrder","records-for-polling","recordsForPolling","statuses","sort-by","sortBy","fetch-presigned-url","fetchPresignedUrl","onChangeLoading","onPageChange","handlePageChange","onHandleInferenceOpen","handleInferenceOpen","onUpdateRecord","updateRecord","onUpdateStatusOfRecord","updateStatusOfRecord","onGoToTraceAnalytics","goToTraceAnalytics","onShowCommentsModal","showCommentsModal","onShowTagsModal","showTagsModal","validationSteps","header","params","enableScrolling","getFileNameFromUrl","url","filename","pop","decodeURI","enabledRoutes","router","currentPath","getCurrentPath","userRoutesConfig","getUserRoutesConfig","routes","getRoutes","currentRoute","_value","fullPath","children","find","path","prevRouter","nextRoute","route","arr","extra","isPredictionFileNotExist","_component_AlignLeftOutlined","_component_DownloadOutlined","_component_a_spin","isDownloadingPrediction","_component_a_progress","percent","predictionDownloadingProgress","controls","src","videoUrl","onPlay","onEnded","onEnd","onPause","onLoadeddata","onLoad","_hoisted_4","_component_a_result","_component_exclamation_circle_outlined","negativeStepsList","_hoisted_5","_hoisted_6","_hoisted_7","negativeStep","_component_steps_list","current-step-list","currentStepList","cycle","currentCycle","cycle-time","cycleTime","background-time","backgroundTimeNew","detected-steps","detectedSteps","negative-steps-list","optional-steps-list","steps-time","stepsTime","is-task-details-loading","isFetchingTaskDetails","is-prediction-file-not-exist","steps-translation-mapping","process-details","processDetails","is-validation","_component_missed_steps","missed-steps","StatisticalLogger","callbackAfterCycleEnd","callbackAfterCycleStart","callBackToUpdateCurrentCycleTimes","callBackOnInferenceStateChanged","objectToCallForProcessingTelemetry","callBackForCurrentCycleTime","callBackForBackgroundTime","pred","fps","newPredReceived","setupVars","getCurrentProcess","identifiedProcesses","endAllProcessesIfTimeDiffMoreThanN","cycleData","tryToEndCycle","tryToSaveCycleData","tryToStartCycle","addTotalCycleTimes","forceEndAllProcesses","endCycle","saveCycleData","identifiedProcess","toFixed","newList","bgTime","cycleCount","startCycleDetectorCheck","endCycleDetectorCheck","StepsList","MissedSteps","DownloadOutlined","AlignLeftOutlined","ExclamationCircleOutlined","frame","filePreds","debugPrediction","0","framesToShowMissedStepsOnList","substepList","1","firstFrame","backgroundTime","missedStepsList","indexOfCurrentMissedStep","isVideoPlaying","statisticalLogger","currentDate","timeMultiplier","missedStepsBuffer","isCycleStarted","prevTime","mapGetters","_this$translationLang","toUpperCase","$store","getters","currentFrame","_this$currentStepList","negativeStepIndexes","_this$negativeSteps","testing","updatePredictions","video_url","resetState","tempCycle","mounted","beforeUnmount","stepsObj","_this$video","sendPredToProcess","makeProcessDetails","resultant","background","rest","setCycleTime","setBackgroundTime","onCycleStart","onCycleEnd","_this$substepList$val","_this$substepList$val2","processNumber","platform","self","_this$video2","updateFrames","_this$$refs$video","_this$video3","num","updateMissedSteps","frameDiff","missedStepsIndex","_this$substepList$el","updateCycle","cyclesInterval","resetStepsTime","per_frame_prediction_file_url","axios","onDownloadProgress","progressEvent","percentCompleted","loaded","preds","setPredictions","getFramesToShowMissedStepsOn","getMissedStepsList","getPredictions","predictionsUrls","responses","frames_to_show_missed_steps_on","isMultiProcessTask","lists_of_misssed_steps","tempArr","tempPreds","updateTime","tempStepsTime","stepIndex","isMultiStep","diff","times","showVideoModal","_$data$videoToPreview","videoToPreview","_$data$videoToPreview2","fileURL","_component_a_upload_dragger","fileList","multiple","beforeUpload","handleAddFile","_normalizeClass","isUploading","accept","_component_inbox_outlined","rowKey","_component_a_tooltip","_component_eye_outlined","isDisabled","handlePreview","handleRemove","_component_a_list_item_meta","getFileSize","avatar","uploadVideos","_hoisted_8","uploadingFileName","progress","InboxOutlined","DeleteOutlined","EyeOutlined","fileUrlList","isFileExist","file","timeout","URL","createObjectURL","sizeInBytes","uid","formData","createFormData","upload","FormData","append","fileName","warning","httpClient","files","showVisualizer","destroyOnClose","bodyStyle","display","flexDirection","isVisualizerLoading","zIndex","isLoading","_component_annotation_component","isVisualize","videoToVisualize","onStopLoading","_component_a_table","recordList","columns","pagination","scroll","handleTableChange","_component_a_typography_title","level","recordsCount","bodyCell","column","dataIndex","isPlayDisabled","thumbnailUrl","alt","emit","splitFileNameByUUID","getSplitFileName","tag","formatDate","getBadgeClasses","processStatus","status","isStatus","_component_check_circle_outlined","_component_clock_circle_outlined","_component_setting_outlined","spin","_component_close_circle_outlined","isDisable","_hoisted_9","_component_a_dropdown","trigger","placement","overlay","_component_a_menu","_component_a_menu_item","fetchComments","_component_CommentOutlined","fetchTags","_component_TagsOutlined","_component_a_divider","_component_a_popconfirm","okText","cancelText","onConfirm","deleteValidationRecord","recordToDelete","okButtonProps","cancelButtonProps","_component_QuestionCircleOutlined","_component_DeleteOutlined","_component_MenuOutlined","decodeUrl","urlString","decodeURIComponent","fileUrl","folderName","_fileUrl$split","at","urlHelper","defineComponent","SpinnerComponent","Pagination","AnnotationComponent","CheckCircleOutlined","ClockCircleOutlined","SyncOutlined","CloseCircleOutlined","MenuOutlined","QuestionCircleOutlined","SettingOutlined","CommentOutlined","TagsOutlined","CloseOutlined","setup","isThumbnailExist","currentRole","localStorage","getItem","visualize","showMenu","isRetrying","reactive","pageSize","indexToStepsMapping","showSizeChanger","entity","comment_response","taskRecord","orgTag_response","entityTag_response","orgTags","entityTag","pag","filters","sorter","recordInfo","start_time","endTIme","end_time","_fileName","_fileName2","_fileName3","ext","regex","search","successMessage","delete","updateRecordList","newPage","fetchVideoAndPredsUrl","updateVideoToVisualize","forCsv","predsReqArray","all","resolution","isProtectedVideo","frames_steps_preds_url","new_preds","old_preds","csvData","getCsvFileNameFromUrl","getCSVData","jsonToCsvDownload","newPreds","labels","thumbnailPath","validationThumbnail","getThumbnailUrl","finished","pending","failed","started","getFileName","retryProcess","patch","success","completed_status","roles","UploadVideo","VideoList","InferenceComponent","mixins","useToast","current_video_list","current_tag","currentVideosCount","recordVideo","tags","activeCommentTagTab","currentEntityName","currentRecordEntityId","orgTagsModal","tagName","tagDesc","isLoadingTag","taskList","currentPage","pollingLimit","steps","pollingRecords","_this$selectedVideo","getValidationRecord","unfinishedRecord","splice","fetchTaskDetails","taskDetails","parseTaskList","setTaskNameAndProcess","setIndexToStepsMapping","setStepTranslations","created","getTrainedTasksList","getProcessStatuses","fetchOrgTags","getPrevNextRoutes","$router","changeRouteConfig","mapActions","setSelectedTask","validate_task_select","taskName","openTagsModal","tagId","entity_id","entityToDelete","tag_name","descript","post","paylaod","createEntity","updateTaskRecord","comment_res","createComment","user","updateVideoList","updatedObj","updatedData","videoToUpdate","alert","tag_res","createTag","ot","getTagString","tag_names","getUrl","tag_param","tagNames","getData","results","videoObj","getUniqueFlushTags","tag_id","isPredictionFile","predsFileFolderName","filePath","getS3FileDetails","bucket_name","object_path","VideoService","getPresignedUrl","presigned_url","predictionsFile","getFilesUrl","getVideoFPS","getVideoMetaData","preds_url","_this$$refs$inference","inferenceComp","getPayload","time_zone","Intl","DateTimeFormat","resolvedOptions","timeZone","getAsyncResponses","addValidationRecord","idList","validationRecord","recordId","targetRecord","dateFormat","deviceId","cycleType","cycleTypes","routeData","query","window","href","$setup","ok-text","mask-closable","ok-button-props","cancel-button-props","confirm-loading","isScheduleTaskLoading","onOk","handleScheduleTask","daysOptions","_component_a_time_range_picker","emptyText","_component_laptop_outlined","headerCell","_record$uploading","_record$downloading","_record$uploading4","_record$downloading4","display_name","inference","_record$uploading2","_record$downloading2","_record$uploading3","_record$downloading3","_record$uploading5","_record$downloading5","getTaskValue","recordInference","_hoisted_11","block","isInferenceBtnLoading","handleInferenceRunning","isScheduleModalBtnLoading","handleScheduleModal","_component_a_space","handleTraceSwitch","_component_a_switch","checked","isTraceLoading","_hoisted_12","LaptopOutlined","CloudUploadOutlined","spaceMixin","handleTrace","MainValidation","ActiveDevices","onMounted","setTimeout","InfoCircleOutlined","destroy","fields","csvContent","downloadFile","UserInfoInterface","orgId","initialize","_component_a_descriptions","_component_a_descriptions_item","_component_stop_outlined","substepIndex","propagatedSteps","optionalStepsList","stepsLegends","StopOutlined","isValidation","_Number","text_lines","line","trim","align"],"mappings":"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","file":"js/chunk-79dbbe48.0a7191a3.js","sourcesContent":["export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./MissedStep.vue?vue&type=style&index=0&id=88bbefda&scoped=true&lang=css\"","// This icon file is generated automatically.\nvar MenuOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M904 160H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0 624H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0-312H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"menu\", \"theme\": \"outlined\" };\nexport default MenuOutlined;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport MenuOutlinedSvg from \"@ant-design/icons-svg/es/asn/MenuOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar MenuOutlined = function MenuOutlined(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": MenuOutlinedSvg\n }), null);\n};\n\nMenuOutlined.displayName = 'MenuOutlined';\nMenuOutlined.inheritAttrs = false;\nexport default MenuOutlined;","import {\r\n computed,\r\n inject,\r\n onBeforeMount,\r\n onBeforeUnmount,\r\n ref,\r\n watch,\r\n} from 'vue';\r\n\r\nimport DeviceService from '@/services/device';\r\nimport TaskService from '@/services/tasks';\r\nimport dateHelper from 'src/components/shared/Helpers/dateHelper';\r\nimport trainingStatuses from 'src/config/training-status-config.js';\r\nimport { getSortedTask } from 'src/utils/task';\r\nimport { useStore } from 'vuex';\r\n\r\nexport function useActiveDevices() {\r\n const toast = inject('toast');\r\n const emitter = inject('emitter');\r\n const tasks = ref([]);\r\n const taskOptions = ref([]);\r\n const trainedTasks = ref([]);\r\n const isLoadingTasks = ref(false);\r\n const taskInputRefs = ref({});\r\n const allDevices = ref([]);\r\n const devicesDetails = ref({});\r\n const activeDevicesDict = ref({});\r\n const isLoadingDevices = ref(false);\r\n const activeDevicesPolling = ref(null);\r\n const activeDevicesPollingTime = ref(10000);\r\n\r\n // Modal Variables\r\n const showSchedule = ref(false);\r\n const deviceToSchedule = ref();\r\n const startEndTime = ref([]);\r\n const selectedDays = ref([]);\r\n const isScheduling = ref(false);\r\n const isPolled = ref(false);\r\n const devicesCount = ref(0);\r\n const activeDevices = ref([]);\r\n\r\n // Store Variable\r\n const store = useStore();\r\n // const fcmToken = computed(() => store.state.fcm.fcmToken);\r\n const organization = computed(() => store.state.auth.organization);\r\n\r\n const activeDevicesList = computed(() => {\r\n const activeDevices = allDevices.value.filter((d) => d.active);\r\n const sortedDevices = activeDevices.sort((a, b) => b.starred - a.starred);\r\n return sortedDevices;\r\n });\r\n\r\n const activeDevicesCount = computed(() => {\r\n const activeDevices = allDevices.value.filter((d) => d.active);\r\n return activeDevices.length;\r\n });\r\n\r\n watch(\r\n () => allDevices.value,\r\n (value) => {\r\n devicesDetails.value = value.reduce((res, dev) => {\r\n res[dev.Serial_number] = dev;\r\n return res;\r\n }, {});\r\n }\r\n );\r\n\r\n onBeforeMount(() => {\r\n getTasks();\r\n getAllTrainedTasks();\r\n getAllDevices();\r\n getCachedDeviceStatus();\r\n activeDevicesPolling.value = setInterval(\r\n getActiveDevices,\r\n activeDevicesPollingTime.value\r\n );\r\n });\r\n\r\n onBeforeUnmount(() => {\r\n clearInterval(activeDevicesPolling.value);\r\n });\r\n\r\n async function getCachedDeviceStatus() {\r\n const [error, data] = await DeviceService.fetchAllDevicesOfOrg(\r\n organization.value,\r\n true\r\n );\r\n allDevices.value = [...data];\r\n isLoadingDevices.value = false;\r\n if (error) return;\r\n\r\n isPolled.value = false;\r\n\r\n store.state.devices.activeDevices.forEach((device) => {\r\n if (device.Task && typeof device.Task === 'object')\r\n device.Task = device.Task.id;\r\n });\r\n\r\n const activeDevicesMap = new Map(\r\n store.state.devices.activeDevices.map((device) => [\r\n device.Serial_number,\r\n true,\r\n ])\r\n );\r\n const updatedAllDevices = allDevices.value.map((device) => {\r\n const isActive = activeDevicesMap.has(device.Serial_number);\r\n if (isActive) handleDeviceStatus({ ...device, active: isActive });\r\n return { ...device, active: isActive };\r\n });\r\n\r\n devicesCount.value = updatedAllDevices.length;\r\n activeDevices.value = updatedAllDevices.filter((device) => device.active);\r\n const dataLookup = Object.fromEntries(\r\n store.state.devices.activeDevices.map((item) => [\r\n item.Serial_number,\r\n item,\r\n ])\r\n );\r\n\r\n const mergedData = activeDevices.value.map((device) => ({\r\n ...device,\r\n ...(dataLookup[device.Serial_number] || {}),\r\n }));\r\n activeDevices.value = mergedData;\r\n\r\n isLoadingDevices.value = false;\r\n }\r\n\r\n async function getActiveDevices() {\r\n if (isPolled.value) return;\r\n\r\n isPolled.value = true;\r\n\r\n const [error, data] = await store.dispatch('setActiveDevices');\r\n if (error) {\r\n isPolled.value = false;\r\n return;\r\n }\r\n\r\n isPolled.value = false;\r\n\r\n data.forEach((device) => {\r\n if (device.Task && typeof device.Task === 'object')\r\n device.Task = device.Task.id;\r\n });\r\n\r\n const activeDevicesMap = new Map(\r\n data.map((device) => [device.Serial_number, true])\r\n );\r\n\r\n const updatedAllDevices = allDevices.value.map((device) => {\r\n const isActive = activeDevicesMap.has(device.Serial_number);\r\n if (isActive) handleDeviceStatus({ ...device, active: isActive });\r\n return { ...device, active: isActive };\r\n });\r\n\r\n devicesCount.value = updatedAllDevices.length;\r\n activeDevices.value = updatedAllDevices.filter((device) => device.active);\r\n const dataLookup = Object.fromEntries(\r\n data.map((item) => [item.Serial_number, item])\r\n );\r\n\r\n const mergedData = activeDevices.value.map((device) => ({\r\n ...device,\r\n ...(dataLookup[device.Serial_number] || {}),\r\n }));\r\n activeDevices.value = mergedData;\r\n\r\n isLoadingDevices.value = false;\r\n }\r\n\r\n async function getTasks() {\r\n isLoadingTasks.value = true;\r\n const [error, data] = await TaskService.fetchTasks(false);\r\n if (error) return;\r\n tasks.value = data;\r\n taskOptions.value = getSortedTask(data);\r\n isLoadingTasks.value = false;\r\n }\r\n\r\n async function getAllTrainedTasks() {\r\n const [error, data] = await TaskService.fetchTrainedTasksByStatus(\r\n trainingStatuses.trained,\r\n false\r\n );\r\n if (error) return;\r\n trainedTasks.value = data.map((e) => e.task);\r\n }\r\n\r\n async function getAllDevices() {\r\n isLoadingDevices.value = true;\r\n const [error, data] = await DeviceService.fetchAllDevicesOfOrg(\r\n organization.value,\r\n true\r\n );\r\n isLoadingDevices.value = false;\r\n if (error) return;\r\n allDevices.value = [...data];\r\n }\r\n\r\n const handleDeviceStatus = (data) => {\r\n const deviceStatus = data;\r\n const { uploading, downloading } = deviceStatus;\r\n const serialNumber = deviceStatus.Serial_number;\r\n activeDevices;\r\n activeDevicesDict.value = {\r\n ...activeDevicesDict.value,\r\n [serialNumber]: 20,\r\n };\r\n\r\n updateDevice({ ...deviceStatus, uploading, downloading });\r\n };\r\n\r\n function updateDevice(deviceDetails) {\r\n const { Serial_number } = deviceDetails;\r\n const temp = [...allDevices.value];\r\n const index = temp.findIndex((v) => v.Serial_number === Serial_number);\r\n if (temp[index]) {\r\n temp[index] = {\r\n ...temp[index],\r\n ...deviceDetails,\r\n };\r\n }\r\n allDevices.value = temp;\r\n }\r\n\r\n function updateDeviceSettings(deviceDetails) {\r\n return new Promise(async (resolve) => {\r\n await updateDeviceSettingsAsync(deviceDetails);\r\n resolve();\r\n });\r\n }\r\n\r\n async function updateDeviceSettingsAsync(deviceDetails) {\r\n const { id, Serial_number, key, value } = deviceDetails;\r\n const oldValue = getOldValues(allDevices, Serial_number, key);\r\n const payload = getPayloadForDeviceSettings(key, value);\r\n updateDevice({ Serial_number, ...payload });\r\n const [error] = await DeviceService.updateDeviceSettings(\r\n organization.value,\r\n id,\r\n payload,\r\n false\r\n );\r\n if (error) {\r\n toast.error('Unable to update!');\r\n updateDevice({ Serial_number, ...oldValue });\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n async function updateDeviceSettingsAndActiveDevices(deviceDetails) {\r\n try {\r\n const isUpdated = await updateDeviceSettingsAsync(deviceDetails);\r\n if (!isUpdated) return;\r\n updateActiveDevices(deviceDetails);\r\n } catch (error) {\r\n toast.error('An unexpected occur has occured. Please refresh the page.');\r\n }\r\n }\r\n\r\n function updateActiveDevices(deviceDetails) {\r\n const index = activeDevices.value.findIndex(\r\n (device) => device.id === deviceDetails.id\r\n );\r\n if (index === -1 || isPolled.value) return;\r\n let device = activeDevices.value[index];\r\n if (\r\n Array.isArray(deviceDetails.key) &&\r\n Array.isArray(deviceDetails.value)\r\n ) {\r\n deviceDetails.key.forEach((item, keyIndex) => {\r\n device[item] = deviceDetails.value[keyIndex];\r\n });\r\n return;\r\n }\r\n device[deviceDetails.key] = deviceDetails.value;\r\n }\r\n\r\n function getOldValues(allDevices, Serial_number, keys) {\r\n const oldValue = {};\r\n const deviceIndex = allDevices.value.findIndex(\r\n (d) => d.Serial_number === Serial_number\r\n );\r\n const deviceDetails = allDevices.value[deviceIndex];\r\n if (Array.isArray(keys)) {\r\n keys.forEach((item) => {\r\n oldValue[item] = deviceDetails[item];\r\n });\r\n } else {\r\n oldValue[keys] = deviceDetails[keys];\r\n }\r\n return oldValue;\r\n }\r\n\r\n function getPayloadForDeviceSettings(keys, values) {\r\n const payload = {};\r\n if (Array.isArray(keys) && Array.isArray(values)) {\r\n keys.forEach((item, index) => {\r\n payload[item] = values[index];\r\n });\r\n } else {\r\n payload[keys] = values;\r\n }\r\n return payload;\r\n }\r\n\r\n async function handleRecording(deviceDetails) {\r\n const {\r\n id,\r\n Task,\r\n record_shift,\r\n Serial_number,\r\n is_shift_managed,\r\n isInferenceRunning,\r\n } = deviceDetails;\r\n\r\n if (!isTaskSet(Task)) return;\r\n if (isShiftBeingManaged(is_shift_managed, 'recording')) return;\r\n if (isInGuidanceMode(isInferenceRunning)) return;\r\n\r\n await updateDeviceSettingsAndActiveDevices({\r\n id,\r\n Serial_number,\r\n key: 'record_shift',\r\n value: !record_shift,\r\n });\r\n }\r\n\r\n function isTaskSet(task) {\r\n !task && toast.info('Please select a task first!');\r\n return !!task;\r\n }\r\n\r\n function isShiftBeingManaged(is_shift_managed, subject) {\r\n is_shift_managed &&\r\n toast.info(`Cannot start ${subject} when Start/End Time is enabled.\r\n Please disabled \"Use Start/End Time\" on \"Devices\" page first.`);\r\n return is_shift_managed;\r\n }\r\n\r\n function isInGuidanceMode(isInferenceRunning, action = 'start') {\r\n isInferenceRunning &&\r\n toast.info(`Cannot ${action} recording when task is being performed!`);\r\n return isInferenceRunning;\r\n }\r\n\r\n async function handleInference(deviceDetails) {\r\n const {\r\n id,\r\n Task,\r\n record_shift,\r\n Serial_number,\r\n is_shift_managed,\r\n isInferenceRunning,\r\n } = deviceDetails;\r\n\r\n if (!isTaskSet(Task)) return;\r\n if (!isTrainedTask(Task)) return;\r\n if (isShiftBeingManaged(is_shift_managed, 'task')) return;\r\n if (isShiftBeingRecorded(record_shift)) return;\r\n\r\n const payload = {\r\n isInferenceRunning: !isInferenceRunning,\r\n };\r\n if (isInferenceRunning) payload['recordInference'] = false;\r\n else payload['recordInference'] = true;\r\n\r\n await updateDeviceSettingsAndActiveDevices({\r\n id,\r\n Serial_number,\r\n key: Object.keys(payload),\r\n value: Object.values(payload),\r\n });\r\n }\r\n\r\n function isTrainedTask(taskId) {\r\n const isTaskTrained = trainedTasks.value.some((task) => task.id === taskId);\r\n !isTaskTrained && toast.info('Cannot start inference on Un-trained Task!');\r\n return isTaskTrained;\r\n }\r\n\r\n function isShiftBeingRecorded(record_shift, action = 'start') {\r\n record_shift &&\r\n toast.info(`Cannot ${action} task when shift is being recorded!`);\r\n return record_shift;\r\n }\r\n\r\n function handleChangeTask(record, taskId) {\r\n taskInputRefs.value[record.Serial_number]?.blur();\r\n updateDeviceSettings({ ...record, key: 'Task', value: taskId });\r\n }\r\n\r\n // Scheduling\r\n function showScheduleModal(deviceDetails, action) {\r\n const days_of_week = getDaysOfWeek(deviceDetails, action);\r\n const { start, end } = getStartEndTimeToPopulate(deviceDetails, action);\r\n startEndTime.value = [start, end];\r\n selectedDays.value = JSON.parse(days_of_week);\r\n showSchedule.value = true;\r\n deviceToSchedule.value = deviceDetails;\r\n }\r\n\r\n function getDaysOfWeek(deviceDetails, action) {\r\n if (action === 'recording') return deviceDetails.day_of_week_for_recording;\r\n if (action === 'inference') return deviceDetails.day_of_week_for_inference;\r\n return '[]';\r\n }\r\n\r\n function getStartEndTimeToPopulate(deviceDetails, action) {\r\n let start = null;\r\n let end = null;\r\n\r\n const {\r\n start_recording_time,\r\n end_recording_time,\r\n shift_start_time,\r\n shift_end_time,\r\n } = deviceDetails;\r\n if (action === 'recording') {\r\n start = dateHelper.getTimeFromDate(start_recording_time);\r\n end = dateHelper.getTimeFromDate(end_recording_time);\r\n } else if (action === 'inference') {\r\n start = dateHelper.getTimeFromDate(shift_start_time);\r\n end = dateHelper.getTimeFromDate(shift_end_time);\r\n }\r\n return { start, end };\r\n }\r\n\r\n async function scheduleRecording() {\r\n isScheduling.value = true;\r\n const { id, Serial_number, isInferenceRunning } = deviceToSchedule.value;\r\n const payload = getSchedulePayload('recording');\r\n\r\n if (isInGuidanceMode(isInferenceRunning, 'schedule')) {\r\n isScheduling.value = false;\r\n return;\r\n }\r\n\r\n await updateDeviceSettingsAndActiveDevices({\r\n id,\r\n Serial_number,\r\n key: payload.keys,\r\n value: payload.values,\r\n });\r\n showSchedule.value = false;\r\n isScheduling.value = false;\r\n }\r\n\r\n async function scheduleInference() {\r\n isScheduling.value = true;\r\n const { id, Serial_number, record_shift } = deviceToSchedule.value;\r\n const payload = getSchedulePayload('inference');\r\n if (isShiftBeingRecorded(record_shift, 'schedule')) {\r\n isScheduling.value = false;\r\n return;\r\n }\r\n\r\n await updateDeviceSettingsAndActiveDevices({\r\n id,\r\n Serial_number,\r\n key: payload.keys,\r\n value: payload.values,\r\n });\r\n showSchedule.value = false;\r\n isScheduling.value = false;\r\n }\r\n\r\n function getSchedulePayload(action) {\r\n const [start, end] = getStartEndTimeForSchedule();\r\n const payload = {\r\n // is_shift_managed: true,\r\n start_recording_time: null,\r\n end_recording_time: null,\r\n shift_start_time: null,\r\n shift_end_time: null,\r\n };\r\n if (action === 'recording') {\r\n payload['start_recording_time'] = start;\r\n payload['end_recording_time'] = end;\r\n payload['day_of_week_for_recording'] = JSON.stringify(selectedDays.value);\r\n } else if (action === 'inference') {\r\n payload['shift_start_time'] = start;\r\n payload['shift_end_time'] = end;\r\n payload['day_of_week_for_inference'] = JSON.stringify(selectedDays.value);\r\n }\r\n return { keys: Object.keys(payload), values: Object.values(payload) };\r\n }\r\n\r\n function getStartEndTimeForSchedule() {\r\n if (!startEndTime.value) return [null, null];\r\n const [start, end] = startEndTime.value;\r\n if (!start.$d && !end.$d) {\r\n toast.info('Schedule time is not properly selected!');\r\n isScheduling.value = false;\r\n return;\r\n }\r\n const startDate = dateHelper.getFormattedDate(start.$d);\r\n const endDate = dateHelper.getFormattedDate(end.$d);\r\n const [startTime] = new Date(start.$d).toTimeString().split(' ');\r\n const [endTime] = new Date(end.$d).toTimeString().split(' ');\r\n return [startDate + 'T' + startTime, endDate + 'T' + endTime];\r\n }\r\n\r\n return {\r\n taskOptions,\r\n updateDevice,\r\n isLoadingTasks,\r\n devicesDetails,\r\n handleRecording,\r\n handleInference,\r\n isLoadingDevices,\r\n showSchedule,\r\n showScheduleModal,\r\n activeDevicesList,\r\n activeDevices,\r\n scheduleRecording,\r\n scheduleInference,\r\n updateDeviceSettings,\r\n updateDeviceSettingsAndActiveDevices,\r\n isScheduling,\r\n selectedDays,\r\n startEndTime,\r\n activeDevicesCount,\r\n taskInputRefs,\r\n handleChangeTask,\r\n };\r\n}\r\n","// This icon file is generated automatically.\nvar CloudUploadOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M518.3 459a8 8 0 00-12.6 0l-112 141.7a7.98 7.98 0 006.3 12.9h73.9V856c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V613.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 459z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M811.4 366.7C765.6 245.9 648.9 160 512.2 160S258.8 245.8 213 366.6C127.3 389.1 64 467.2 64 560c0 110.5 89.5 200 199.9 200H304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8h-40.1c-33.7 0-65.4-13.4-89-37.7-23.5-24.2-36-56.8-34.9-90.6.9-26.4 9.9-51.2 26.2-72.1 16.7-21.3 40.1-36.8 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0152.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10C846.1 454.5 884 503.8 884 560c0 33.1-12.9 64.3-36.3 87.7a123.07 123.07 0 01-87.6 36.3H720c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h40.1C870.5 760 960 670.5 960 560c0-92.7-63.1-170.7-148.6-193.3z\" } }] }, \"name\": \"cloud-upload\", \"theme\": \"outlined\" };\nexport default CloudUploadOutlined;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport CloudUploadOutlinedSvg from \"@ant-design/icons-svg/es/asn/CloudUploadOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar CloudUploadOutlined = function CloudUploadOutlined(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": CloudUploadOutlinedSvg\n }), null);\n};\n\nCloudUploadOutlined.displayName = 'CloudUploadOutlined';\nCloudUploadOutlined.inheritAttrs = false;\nexport default CloudUploadOutlined;","// This icon file is generated automatically.\nvar TagsOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M483.2 790.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3c-2.3-.2-4.7.6-6.3 2.3L137.7 444.8a8.03 8.03 0 000 11.3l334.2 334.2c3.1 3.2 8.2 3.2 11.3 0zm62.6-651.7l224.6 19 19 224.6L477.5 694 233.9 450.5l311.9-311.9zm60.16 186.23a48 48 0 1067.88-67.89 48 48 0 10-67.88 67.89zM889.7 539.8l-39.6-39.5a8.03 8.03 0 00-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 00-11.3 0l-39.6 39.5a8.03 8.03 0 000 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3z\" } }] }, \"name\": \"tags\", \"theme\": \"outlined\" };\nexport default TagsOutlined;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport TagsOutlinedSvg from \"@ant-design/icons-svg/es/asn/TagsOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar TagsOutlined = function TagsOutlined(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": TagsOutlinedSvg\n }), null);\n};\n\nTagsOutlined.displayName = 'TagsOutlined';\nTagsOutlined.inheritAttrs = false;\nexport default TagsOutlined;","export default function(name, type, content) {\r\n var encodedUri = encodeURI(`data:text/${type};charset=utf-8,${content}`);\r\n var link = document.createElement('a');\r\n link.setAttribute('href', encodedUri);\r\n link.setAttribute('download', `${name}.${type}`);\r\n document.body.appendChild(link);\r\n link.click();\r\n}\r\n","var d3TimeFormat = require(\"d3-time-format\");\n\nlet toMillis = {\n milliseconds: 1,\n seconds: 1000,\n minutes: 1000 * 60,\n hours: 1000 * 60 * 60,\n days: 1000 * 60 * 60 * 24,\n weeks: 1000 * 60 * 60 * 24 * 7,\n};\n\nclass time {\n constructor(hour, minute, second, millisecond) {\n let args = {hour, minute, second, millisecond};\n if (hour != null && typeof hour != \"number\") {\n // we have a dict\n args = hour;\n }\n [\"hour\", \"minute\", \"second\", \"millisecond\"].forEach(field => {\n args[field] = args[field] || 0;\n });\n Object.assign(this, args);\n }\n\n str() {\n // we have to set the date to today to avoid any daylight saving nonsense\n let ts = dt.datetime.combine(dt.datetime.now(), this);\n return d3TimeFormat.timeFormat(\"%H:%M:%S.%f\")(new Date(ts));\n }\n\n get __totalMillis() {\n return (\n this.hour * toMillis.hours +\n this.minute * toMillis.minutes +\n this.second * toMillis.seconds +\n this.millisecond\n );\n }\n\n valueOf() {\n return this.__totalMillis;\n }\n\n toString() {\n return this.str();\n }\n\n toJSON() {\n return this.str();\n }\n}\nfunction timeWrapper(hour, minute, second, millisecond) {\n return new time(hour, minute, second, millisecond);\n}\n\nclass date {\n constructor(year, month, day) {\n Object.assign(this, {year, month, day});\n }\n\n get jsDate() {\n return new Date(this.year, this.month - 1, this.day);\n }\n\n str() {\n return d3TimeFormat.timeFormat(\"%Y-%m-%d\")(this.jsDate);\n }\n\n weekday() {\n // javascript week starts on sunday, while python one starts on monday\n return (this.jsDate.getDay() + 6) % 7;\n }\n\n isoweekday() {\n return this.weekday() + 1;\n }\n\n get __totalMillis() {\n return this.jsDate.getTime();\n }\n\n valueOf() {\n return this.__totalMillis;\n }\n\n toString() {\n return this.str();\n }\n\n toJSON() {\n return this.str();\n }\n}\nfunction dateWrapper(year, month, day) {\n return new date(year, month, day);\n}\n\nclass datetime {\n constructor(year, month, day, hour, minute, second, millisecond, utc) {\n let args = {};\n this.utc = utc;\n\n if (typeof year == \"number\" && !month && !day) {\n // while a dt.datetime(2020) is perfectly valid, it's quite unlikely.\n // much more unlikely than having gotten an epoch passed in. convert that to date\n year = new Date(year);\n }\n\n if (year.year && year.month && year.day) {\n [\"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\", \"millisecond\", \"utc\"].forEach(field => {\n let ts = year;\n args[field] = ts[field];\n });\n } else if (year instanceof Date) {\n let ts = year;\n args = {\n year: ts.getFullYear(),\n month: ts.getMonth() + 1,\n day: ts.getDate(),\n hour: ts.getHours(),\n minute: ts.getMinutes(),\n second: ts.getSeconds(),\n millisecond: ts.getMilliseconds(),\n };\n } else {\n args = {year, month, day, hour, minute, second, millisecond};\n }\n Object.assign(this, args);\n }\n\n replace(year, month, day, hour, minute, second, millisecond) {\n // returns new date with updated values\n let args = {};\n if (year && typeof year != \"number\") {\n args = year;\n } else {\n args = {year, month, day, hour, minute, second, millisecond};\n }\n\n let newTs = new datetime(this);\n Object.entries(args).forEach(([key, val]) => {\n if (val != null) {\n newTs[key] = val;\n }\n });\n return newTs;\n }\n\n get jsDate() {\n if (this.utc) {\n return new Date(this.valueOf());\n } else {\n return new Date(\n this.year,\n this.month - 1,\n this.day || 1,\n this.hour || 0,\n this.minute || 0,\n this.second || 0,\n this.millisecond || 0\n );\n }\n }\n\n str() {\n return this.strftime(\"%Y-%m-%d %H:%M:%S.%f\");\n }\n\n valueOf() {\n if (this.utc) {\n return Date.UTC(\n this.year,\n this.month - 1,\n this.day || 1,\n this.hour || 0,\n this.minute || 0,\n this.second || 0,\n this.millisecond || 0\n );\n } else {\n return this.jsDate.getTime();\n }\n }\n\n toString() {\n return this.str();\n }\n\n toJSON() {\n return this.str();\n }\n\n strftime(format) {\n if (this.utc) {\n return d3TimeFormat.utcFormat(format)(this.jsDate);\n } else {\n return d3TimeFormat.timeFormat(format)(this.jsDate);\n }\n }\n\n time() {\n return new time(this.hour, this.minute, this.second, this.millisecond);\n }\n\n date() {\n return new date(this.year, this.month, this.day);\n }\n\n weekday() {\n // javascript week starts on sunday, while python one starts on monday\n return this.date().weekday();\n }\n\n isoweekday() {\n return this.weekday() + 1;\n }\n}\n\nfunction datetimeWrapper(year, month, day, hour, minute, second, millisecond) {\n return new datetime(year, month, day, hour, minute, second, millisecond);\n}\ndatetimeWrapper.strptime = (dateString, format, utc) => {\n let parser = utc ? d3TimeFormat.utcParse : d3TimeFormat.timeParse;\n let parsed = parser(format)(dateString);\n if (!parsed) {\n throw `ValueError: time data '${dateString}' does not match format '${format}'`;\n }\n return utc ? datetimeWrapper.utc(parsed) : new datetime(parsed);\n};\ndatetimeWrapper.now = () => {\n return new datetime(new Date());\n};\ndatetimeWrapper.utcnow = () => {\n return datetimeWrapper.utc(new Date());\n};\ndatetimeWrapper.combine = (date, time) => {\n date = new datetime(date);\n Object.assign(date, time);\n return date;\n};\ndatetimeWrapper.utc = ts => {\n if (typeof ts == \"number\") {\n // while a dt.datetime(2020) is perfectly valid, it's quite unlikely.\n // much more unlikely than having gotten an epoch passed in. convert that to date\n ts = new Date(ts);\n } else if (ts instanceof datetime) {\n ts = ts.jsDate;\n }\n return new datetime(\n ts.getUTCFullYear(),\n ts.getUTCMonth() + 1,\n ts.getUTCDate(),\n ts.getUTCHours(),\n ts.getUTCMinutes(),\n ts.getUTCSeconds(),\n ts.getUTCMilliseconds(),\n true\n );\n};\n\nclass timedelta {\n constructor(days, seconds, milliseconds, minutes, hours, weeks) {\n let args = {weeks, days, hours, minutes, seconds, milliseconds};\n if (typeof days != \"number\") {\n // we have a dict\n args = days;\n } else if (Math.abs(days) > 900) {\n // we have millis, let's deconstruct into days, hours, minutes, seconds, milliseconds\n let totalMillis = days;\n args = {};\n [\"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\"].forEach(key => {\n let multiplier = toMillis[key];\n let val = Math.floor(totalMillis / multiplier);\n if (val) {\n args[key] = val;\n totalMillis -= val * multiplier;\n }\n });\n }\n\n [\"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\"].forEach(key => {\n this[key] = args[key] || 0;\n });\n }\n\n get __totalMillis() {\n let tsFields = [\"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\"];\n let millis = tsFields.map(field => this[field] * toMillis[field]);\n return millis.reduce((total, current) => total + current);\n }\n\n str() {\n return d3TimeFormat.timeFormat(\"%H:%M:%S.%f\")(new Date(this));\n }\n\n valueOf() {\n return this.__totalMillis;\n }\n\n toString() {\n return this.str();\n }\n\n toJSON() {\n return this.str();\n }\n\n totalSeconds() {\n return this.__totalMillis / 1000;\n }\n}\nfunction timedeltaWrapper(days, seconds, milliseconds, minutes, hours, weeks) {\n return new timedelta(days, seconds, milliseconds, minutes, hours, weeks);\n}\n\nconst dt = {\n datetime: datetimeWrapper,\n time: timeWrapper,\n date: dateWrapper,\n timedelta: timedeltaWrapper,\n};\nmodule.exports = dt;\n","// This icon file is generated automatically.\nvar StopOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372 0-89 31.3-170.8 83.5-234.8l523.3 523.3C682.8 852.7 601 884 512 884zm288.5-137.2L277.2 223.5C341.2 171.3 423 140 512 140c205.4 0 372 166.6 372 372 0 89-31.3 170.8-83.5 234.8z\" } }] }, \"name\": \"stop\", \"theme\": \"outlined\" };\nexport default StopOutlined;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport StopOutlinedSvg from \"@ant-design/icons-svg/es/asn/StopOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar StopOutlined = function StopOutlined(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": StopOutlinedSvg\n }), null);\n};\n\nStopOutlined.displayName = 'StopOutlined';\nStopOutlined.inheritAttrs = false;\nexport default StopOutlined;","import { TaskInfoCloud } from '../data_classes/TaskInfo';\r\nimport { UserInfoCloud } from '../data_classes/UserInfo';\r\n\r\nexport class StatisticalLoggerInterface {\r\n constructor() {\r\n if (this.constructor === StatisticalLoggerInterface) {\r\n throw new Error(\"Abstract classes can't be instantiated.\");\r\n }\r\n this.cumulatedProcesses = {};\r\n this.currentTime = null;\r\n this.previousTime = null;\r\n this.currentProcess = null;\r\n this.userInfo = null;\r\n this.taskInfo = null;\r\n this.count = 0;\r\n }\r\n\r\n inferenceStateChanged = () => {};\r\n\r\n setupVars = async (kwargs) => {\r\n if (kwargs['platform'] === 'cloud') {\r\n this.userInfo = new UserInfoCloud(kwargs);\r\n this.taskInfo = new TaskInfoCloud(kwargs['allTasks']);\r\n await this.taskInfo.init(this.userInfo);\r\n }\r\n for (process in this.taskInfo.processes) {\r\n this.cumulatedProcesses[process.id] = [];\r\n }\r\n };\r\n\r\n sendPredToProcess = (kwargs) => {};\r\n\r\n newPredReceived = (predictions, time) => {};\r\n\r\n tryToStartCycle = (prediction, time) => {};\r\n\r\n tryToEndCycle = (prediction, timeDiff, time) => {};\r\n\r\n getCurrentProcess = (prediction) => {\r\n // todo apply demeter here\r\n for (let process of this.taskInfo.processes) {\r\n if (process.subSteps.includes(prediction)) {\r\n return process;\r\n }\r\n }\r\n };\r\n}\r\n","export default {\r\n methods: {\r\n handleSpace(e) {\r\n const el = e.target;\r\n const position = el.selectionStart + 1;\r\n this[el.name] =\r\n this[el.name].slice(0, position - 1) +\r\n ' ' +\r\n this[el.name].slice(position - 1, this[el.name].length);\r\n\r\n this.$nextTick(() => {\r\n el.setSelectionRange(position, position);\r\n });\r\n },\r\n\r\n handleDDSpace(e) {\r\n const el = e.target;\r\n const position = el.selectionStart + 1;\r\n el.value =\r\n el.value.slice(0, position - 1) +\r\n ' ' +\r\n el.value.slice(position - 1, el.value.length);\r\n\r\n this.$nextTick(() => {\r\n el.setSelectionRange(position, position);\r\n });\r\n },\r\n\r\n filterOption(input, option) {\r\n return option.label?.toLowerCase().indexOf(input.toLowerCase()) >= 0;\r\n },\r\n },\r\n};\r\n","const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction timeWeekday(i) {\n return timeInterval((date) => {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setDate(date.getDate() + step * 7);\n }, (start, end) => {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport const timeSunday = timeWeekday(0);\nexport const timeMonday = timeWeekday(1);\nexport const timeTuesday = timeWeekday(2);\nexport const timeWednesday = timeWeekday(3);\nexport const timeThursday = timeWeekday(4);\nexport const timeFriday = timeWeekday(5);\nexport const timeSaturday = timeWeekday(6);\n\nexport const timeSundays = timeSunday.range;\nexport const timeMondays = timeMonday.range;\nexport const timeTuesdays = timeTuesday.range;\nexport const timeWednesdays = timeWednesday.range;\nexport const timeThursdays = timeThursday.range;\nexport const timeFridays = timeFriday.range;\nexport const timeSaturdays = timeSaturday.range;\n\nfunction utcWeekday(i) {\n return timeInterval((date) => {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, (start, end) => {\n return (end - start) / durationWeek;\n });\n}\n\nexport const utcSunday = utcWeekday(0);\nexport const utcMonday = utcWeekday(1);\nexport const utcTuesday = utcWeekday(2);\nexport const utcWednesday = utcWeekday(3);\nexport const utcThursday = utcWeekday(4);\nexport const utcFriday = utcWeekday(5);\nexport const utcSaturday = utcWeekday(6);\n\nexport const utcSundays = utcSunday.range;\nexport const utcMondays = utcMonday.range;\nexport const utcTuesdays = utcTuesday.range;\nexport const utcWednesdays = utcWednesday.range;\nexport const utcThursdays = utcThursday.range;\nexport const utcFridays = utcFriday.range;\nexport const utcSaturdays = utcSaturday.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeYear = timeInterval((date) => {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setFullYear(date.getFullYear() + step);\n}, (start, end) => {\n return end.getFullYear() - start.getFullYear();\n}, (date) => {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\ntimeYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport const timeYears = timeYear.range;\n\nexport const utcYear = timeInterval((date) => {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, (start, end) => {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, (date) => {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport const utcYears = utcYear.range;\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {utcFormat} from \"./defaultLocale.js\";\n\nexport var isoSpecifier = \"%Y-%m-%dT%H:%M:%S.%LZ\";\n\nfunction formatIsoNative(date) {\n return date.toISOString();\n}\n\nvar formatIso = Date.prototype.toISOString\n ? formatIsoNative\n : utcFormat(isoSpecifier);\n\nexport default formatIso;\n","import {isoSpecifier} from \"./isoFormat.js\";\nimport {utcParse} from \"./defaultLocale.js\";\n\nfunction parseIsoNative(string) {\n var date = new Date(string);\n return isNaN(date) ? null : date;\n}\n\nvar parseIso = +new Date(\"2000-01-01T00:00:00.000Z\")\n ? parseIsoNative\n : utcParse(isoSpecifier);\n\nexport default parseIso;\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./MainValidation.vue?vue&type=style&index=0&id=b4a5fb24&scoped=true&lang=css\"","// This icon file is generated automatically.\nvar InboxOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M885.2 446.3l-.2-.8-112.2-285.1c-5-16.1-19.9-27.2-36.8-27.2H281.2c-17 0-32.1 11.3-36.9 27.6L139.4 443l-.3.7-.2.8c-1.3 4.9-1.7 9.9-1 14.8-.1 1.6-.2 3.2-.2 4.8V830a60.9 60.9 0 0060.8 60.8h627.2c33.5 0 60.8-27.3 60.9-60.8V464.1c0-1.3 0-2.6-.1-3.7.4-4.9 0-9.6-1.3-14.1zm-295.8-43l-.3 15.7c-.8 44.9-31.8 75.1-77.1 75.1-22.1 0-41.1-7.1-54.8-20.6S436 441.2 435.6 419l-.3-15.7H229.5L309 210h399.2l81.7 193.3H589.4zm-375 76.8h157.3c24.3 57.1 76 90.8 140.4 90.8 33.7 0 65-9.4 90.3-27.2 22.2-15.6 39.5-37.4 50.7-63.6h156.5V814H214.4V480.1z\" } }] }, \"name\": \"inbox\", \"theme\": \"outlined\" };\nexport default InboxOutlined;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport InboxOutlinedSvg from \"@ant-design/icons-svg/es/asn/InboxOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar InboxOutlined = function InboxOutlined(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": InboxOutlinedSvg\n }), null);\n};\n\nInboxOutlined.displayName = 'InboxOutlined';\nInboxOutlined.inheritAttrs = false;\nexport default InboxOutlined;","!function(t,e){for(var i in e)t[i]=e[i]}(exports,function(t){var e={};function i(s){if(e[s])return e[s].exports;var n=e[s]={i:s,l:!1,exports:{}};return t[s].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=t,i.c=e,i.d=function(t,e,s){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},i.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(i.r(s),Object.defineProperty(s,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var n in t)i.d(s,n,function(e){return t[e]}.bind(null,n));return s},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,\"a\",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p=\"/dist/\",i(i.s=8)}([function(t,e){t.exports=require(\"vue\")},function(t,e,i){\"use strict\";t.exports={nav:\"\",count:\"\",wrapper:\"pagination\",list:\"pagination-list\",item:\"\",link:\"pagination-link\",next:\"\",prev:\"\",active:\"is-current\",disabled:\"\"}},function(t,e,i){\"use strict\";t.exports={nav:\"\",count:\"\",wrapper:\"\",list:\"pagination\",item:\"page-item\",link:\"page-link\",next:\"\",prev:\"\",active:\"active\",disabled:\"disabled\"}},function(t,e,i){\"use strict\";t.exports={nav:\"\",count:\"\",wrapper:\"\",list:\"pagination\",item:\"page-item\",link:\"page-link\",next:\"\",prev:\"\",active:\"active\",disabled:\"disabled\"}},function(t,e,i){\"use strict\";function s(){for(var t=[],e=0;e\",nextChunk:\">>\",prevPage:\"<\",prevChunk:\"<<\"}}},t.exports=e.default},function(t,e,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var s=a(i(5)),n=a(i(4));function a(t){return t&&t.__esModule?t:{default:t}}e.default={name:\"RenderlessPagination\",inject:[\"Page\",\"records\",\"perPage\"],props:{itemClass:{required:!1,default:\"VuePagination__pagination-item\"}},render:function(){var t=this;return this.$slots.default({override:this.opts.template,showPagination:this.totalPages>1,pages:this.pages,pageEvents:function(e){return{click:function(){return t.setPage(e)},keydown:function(e){\"ArrowRight\"===e.key&&t.next(),\"ArrowLeft\"===e.key&&t.prev()}}},activeClass:this.activeClass,hasEdgeNav:this.opts.edgeNavigation&&this.totalChunks>1,setPage:this.setPage,setFirstPage:this.setPage.bind(this,1),setLastPage:this.setPage.bind(this,this.totalPages),hasChunksNav:\"fixed\"===this.opts.chunksNavigation,setPrevChunk:this.prevChunk,setNextChunk:this.nextChunk,setPrevPage:this.prev,firstPageProps:{class:this.Theme.link,disabled:1===this.page},lastPageProps:{class:this.Theme.link,disabled:this.page===this.totalPages},prevProps:{class:this.Theme.link,disabled:!!this.allowedPageClass(this.page-1)},nextProps:{class:this.Theme.link,disabled:!!this.allowedPageClass(this.page+1)},pageClasses:function(e){return t.itemClass+\" \"+t.Theme.item+\" \"+t.activeClass(e)},prevChunkProps:{class:this.Theme.link,disabled:!this.allowedChunk(-1)},nextChunkProps:{class:this.Theme.link,disabled:!this.allowedChunk(1)},setNextPage:this.next,theme:{nav:this.Theme.nav,list:\"VuePagination__pagination \"+this.Theme.list,prev:this.itemClass+\" \"+this.itemClass+\"-prev-page \"+this.Theme.item+\" \"+this.Theme.prev+\" \"+this.allowedPageClass(this.page-1),next:this.itemClass+\" \"+this.itemClass+\"-next-page \"+this.Theme.item+\" \"+this.Theme.next+\" \"+this.allowedPageClass(this.page+1),prevChunk:this.itemClass+\" \"+this.Theme.item+\" \"+this.Theme.prev+\" \"+this.itemClass+\"-prev-chunk \"+this.allowedChunkClass(-1),nextChunk:this.itemClass+\" \"+this.Theme.item+\" \"+this.Theme.next+\" \"+this.itemClass+\"-next-chunk \"+this.allowedChunkClass(1),firstPage:this.itemClass+\" \"+this.Theme.item+\" \"+(1===this.page?this.Theme.disabled:\"\")+\" \"+this.itemClass+\"-first-page\",lastPage:this.itemClass+\" \"+this.Theme.item+\" \"+(this.page===this.totalPages?this.Theme.disabled:\"\")+\" \"+this.itemClass+\"-last-page\",link:this.Theme.link,page:this.itemClass+\" \"+this.Theme.item,wrapper:this.Theme.wrapper,count:\"VuePagination__count \"+this.Theme.count},hasRecords:this.hasRecords,count:this.count,texts:this.opts.texts,opts:this.opts,allowedChunkClass:this.allowedChunkClass,allowedPageClass:this.allowedPageClass,setChunk:this.setChunk,prev:this.prev,next:this.next,totalPages:this.totalPages,totalChunks:this.totalChunks,page:this.Page(),records:this.records(),perPage:this.perPage(),formatNumber:this.formatNumber})},data:function(){return{firstPage:this.$parent.modelValue,For:this.$parent.for,Options:this.$parent.options}},watch:{page:function(t){if(\"scroll\"===this.opts.chunksNavigation&&this.allowedPage(t)&&!this.inDisplay(t))if(t===this.totalPages){var e=t-this.opts.chunk+1;this.firstPage=e>=1?e:1}else this.firstPage=t;this.$parent.$emit(\"paginate\",t)}},computed:{Records:function(){return this.records()},PerPage:function(){return this.perPage()},opts:function(){return n.default.recursive((0,s.default)(),this.Options)},Theme:function(){if(this.opts.theme instanceof Object)return this.opts.theme;var t={bootstrap3:i(3),bootstrap4:i(2),bulma:i(1)};if(!t[this.opts.theme])throw\"vue-pagination-2: the theme \"+this.opts.theme+\" does not exist\";return t[this.opts.theme]},page:function(){return this.Page()},pages:function(){return this.Records?function(t,e){return Array.apply(0,Array(e)).map(function(e,i){return i+t})}(this.paginationStart,this.pagesInCurrentChunk):[]},totalPages:function(){return this.Records?Math.ceil(this.Records/this.PerPage):1},totalChunks:function(){return Math.ceil(this.totalPages/this.opts.chunk)},currentChunk:function(){return Math.ceil(this.page/this.opts.chunk)},paginationStart:function(){return\"scroll\"===this.opts.chunksNavigation?this.firstPage:(this.currentChunk-1)*this.opts.chunk+1},pagesInCurrentChunk:function(){return this.paginationStart+this.opts.chunk<=this.totalPages?this.opts.chunk:this.totalPages-this.paginationStart+1},hasRecords:function(){return parseInt(this.Records)>0},count:function(){if(/{page}/.test(this.opts.texts.count))return this.totalPages<=1?\"\":this.opts.texts.count.replace(\"{page}\",this.page).replace(\"{pages}\",this.totalPages);var t=this.opts.texts.count.split(\"|\"),e=(this.page-1)*this.PerPage+1,i=this.page==this.totalPages?this.Records:e+this.PerPage-1;return t[Math.min(1==this.Records?2:1==this.totalPages?1:0,t.length-1)].replace(\"{count}\",this.formatNumber(this.Records)).replace(\"{from}\",this.formatNumber(e)).replace(\"{to}\",this.formatNumber(i))}},methods:{setPage:function(t){this.allowedPage(t)&&this.paginate(t)},paginate:function(t){this.$parent.$emit(\"update:modelValue\",t)},next:function(){return this.setPage(this.page+1)},prev:function(){return this.setPage(this.page-1)},inDisplay:function(t){var e=this.firstPage,i=e+this.opts.chunk-1;return t>=e&&t<=i},nextChunk:function(){return this.setChunk(1)},prevChunk:function(){return this.setChunk(-1)},setChunk:function(t){this.setPage((this.currentChunk-1+t)*this.opts.chunk+1)},allowedPage:function(t){return t>=1&&t<=this.totalPages},allowedChunk:function(t){return 1==t&&this.currentChunk1},allowedPageClass:function(t){return this.allowedPage(t)?\"\":this.Theme.disabled},allowedChunkClass:function(t){return this.allowedChunk(t)?\"\":this.Theme.disabled},activeClass:function(t){return this.page==t?this.Theme.active:\"\"},formatNumber:function(t){return this.opts.format?t.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g,\",\"):t}}},t.exports=e.default},function(t,e,i){\"use strict\";var s=i(0);t.exports=function(t){return function(e){var i=this.theme,n=\"\",a=\"\",r=\"\",o=\"\",h=t.opts.hideCount?\"\":(0,s.createVNode)(\"p\",{style:parseInt(this.records)?\"\":\"display:none\",class:\"VuePagination__count \"+i.count},[this.count]),u=this.pages.map(function(t){return(0,s.createVNode)(\"li\",{class:\"VuePagination__pagination-item \"+i.page+\" \"+this.activeClass(t),onClick:this.setPage.bind(this,t),onKeyDown:this.pageEvents(t).keydown},[(0,s.createVNode)(\"button\",{class:i.link+\" \"+this.activeClass(t)},[this.formatNumber(t)])])}.bind(this));return this.opts.edgeNavigation&&this.totalChunks>1&&(r=(0,s.createVNode)(\"li\",{class:\"VuePagination__pagination-item \"+i.page+\" \"+(1===this.page?i.disabled:\"\")+\" VuePagination__pagination-item-first-page\",onClick:this.setPage.bind(this,1)},[(0,s.createVNode)(\"button\",{type:\"button\",class:i.link,disabled:1===this.page},[this.opts.texts.first])]),o=(0,s.createVNode)(\"li\",{class:\"VuePagination__pagination-item \"+i.page+\" \"+(this.page===this.totalPages?i.disabled:\"\")+\" VuePagination__pagination-item-last-page\",onClick:this.setPage.bind(this,this.totalPages)},[(0,s.createVNode)(\"button\",{type:\"button\",class:i.link,disabled:this.page===this.totalPages},[this.opts.texts.last])])),\"fixed\"===this.opts.chunksNavigation&&(n=(0,s.createVNode)(\"li\",{class:\"VuePagination__pagination-item \"+i.page+\" \"+i.prev+\" VuePagination__pagination-item-prev-chunk \"+this.allowedChunkClass(-1),onClick:this.setChunk.bind(this,-1)},[(0,s.createVNode)(\"button\",{type:\"button\",class:i.link,disabled:!!this.allowedChunkClass(-1)},[this.opts.texts.prevChunk])]),a=(0,s.createVNode)(\"li\",{class:\"VuePagination__pagination-item \"+i.page+\" \"+i.next+\" VuePagination__pagination-item-next-chunk \"+this.allowedChunkClass(1),onClick:this.setChunk.bind(this,1)},[(0,s.createVNode)(\"button\",{type:\"button\",class:i.link,disabled:!!this.allowedChunkClass(1)},[this.opts.texts.nextChunk])])),(0,s.createVNode)(\"div\",{class:\"VuePagination \"+i.wrapper},[(0,s.createVNode)(\"nav\",{class:\"\"+i.nav},[(0,s.createVNode)(\"ul\",{style:this.totalPages>1?\"\":\"display:none\",class:i.list+\" VuePagination__pagination\"},[r,n,(0,s.createVNode)(\"li\",{class:\"VuePagination__pagination-item \"+i.page+\" \"+i.prev+\" VuePagination__pagination-item-prev-page \"+this.allowedPageClass(this.page-1),onClick:this.prev.bind(this)},[(0,s.createVNode)(\"button\",{type:\"button\",class:i.link,disabled:!!this.allowedPageClass(this.page-1)},[this.opts.texts.prevPage])]),u,(0,s.createVNode)(\"li\",{class:\"VuePagination__pagination-item \"+i.page+\" \"+i.next+\" VuePagination__pagination-item-next-page \"+this.allowedPageClass(this.page+1),onClick:this.next.bind(this)},[(0,s.createVNode)(\"button\",{type:\"button\",class:i.link,disabled:!!this.allowedPageClass(this.page+1)},[this.opts.texts.nextPage])]),a,o]),h])])}.bind(t)}},function(t,e,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var s=r(i(7)),n=r(i(6)),a=i(0);function r(t){return t&&t.__esModule?t:{default:t}}e.default={name:\"Pagination\",emits:[\"update:modelValue\",\"paginate\"],components:{RenderlessPagination:n.default},provide:function(){var t=this;return{Page:function(){return t.modelValue},perPage:function(){return t.perPage},records:function(){return t.records}}},render:function(){return(0,a.h)(n.default,{ref:\"pg\"},{default:function(t){return t.override?(0,a.h)(t.override,{props:t}):(0,s.default)(t)(a.h)}})},methods:{setPage:function(t){this.$refs.pg.setPage(t)}},props:{modelValue:{type:Number,required:!0,validator:function(t){return t>0}},records:{type:Number,required:!0},perPage:{type:Number,required:!0},options:{type:Object}}},t.exports=e.default}]));","\r\n\r\n\r\n","import { render } from \"./MissedStep.vue?vue&type=template&id=88bbefda&scoped=true\"\nimport script from \"./MissedStep.vue?vue&type=script&lang=js\"\nexport * from \"./MissedStep.vue?vue&type=script&lang=js\"\n\nimport \"./MissedStep.vue?vue&type=style&index=0&id=88bbefda&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\Users\\\\mahal\\\\OneDrive\\\\Documents\\\\Retrocausal\\\\portal_frontend\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-88bbefda\"]])\n\nexport default __exports__","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UploadVideoV2.vue?vue&type=style&index=0&id=ee2aa184&scoped=true&lang=css\"","export default [\r\n {\r\n value: 'Monday',\r\n label: 'Monday',\r\n },\r\n {\r\n value: 'Tuesday',\r\n label: 'Tuesday',\r\n },\r\n {\r\n value: 'Wednesday',\r\n label: 'Wednesday',\r\n },\r\n {\r\n value: 'Thursday',\r\n label: 'Thursday',\r\n },\r\n {\r\n value: 'Friday',\r\n label: 'Friday',\r\n },\r\n {\r\n value: 'Saturday',\r\n label: 'Saturday',\r\n disabled: true,\r\n },\r\n {\r\n value: 'Sunday',\r\n label: 'Sunday',\r\n disabled: true,\r\n },\r\n];\r\n","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./StepsList.vue?vue&type=style&index=0&id=76ef387b&scoped=true&lang=css\"","export class TimeBreakPoints {\r\n static defaultStartTime = -2;\r\n}\r\n\r\nexport class Process {\r\n constructor(\r\n name = 'default',\r\n subSteps = [],\r\n id = 0,\r\n minimumSubStepTimes = new Set(),\r\n negativeSteps = [],\r\n cycleCalculationParams = {}\r\n ) {\r\n subSteps = subSteps ?? [];\r\n this.id = id;\r\n this.processName = name;\r\n this.subSteps = subSteps;\r\n this.backgroundSubStep = this.subSteps.slice(-1);\r\n this.cycleStart = false;\r\n this.subStepCount = this.subSteps.length;\r\n\r\n // this.allMinimumSubstepTimes = this.subSteps.map(\r\n // (value) => minimumSubStepTimes[value] * 0.4\r\n // );\r\n\r\n this.allMinimumSubstepTimes = this.subSteps.reduce((res, value) => {\r\n res[value] = minimumSubStepTimes[value] * 0.4;\r\n return res;\r\n }, {});\r\n\r\n this.subStepsTimes = {};\r\n this.subSteps.forEach(value => (this.subStepsTimes[value] = 0));\r\n\r\n this.completedSteps = [];\r\n this.totalCycleTime = 0;\r\n this.cycleIdentifier = '';\r\n this.startFrame = 0;\r\n this.endFrame = 0;\r\n this.totalInferenceTime = 0;\r\n this.previousPrediction = -1;\r\n this.startTime = TimeBreakPoints.defaultStartTime;\r\n\r\n this.cycleEndIdentifier = '';\r\n this.negativeSteps = negativeSteps;\r\n this.reasonForEnd = new Set();\r\n this.cycleCalculationParams = cycleCalculationParams;\r\n\r\n this.minPercentageOfStepsRequiredToEndCycle =\r\n this.cycleCalculationParams[\r\n 'min_percentage_of_steps_required_to_end_cycle'\r\n ] ?? 0.75;\r\n try {\r\n this.tempRequiredStepsForEnd = this.cycleCalculationParams[\r\n 'required_steps_for_end'\r\n ] ?? { id: this.subSteps.slice(-3, -1) };\r\n this.requiredStepsForEnd =\r\n Object.values(this.tempRequiredStepsForEnd[id]) ??\r\n this.subSteps.slice(-3, -1);\r\n this.tempRequiredStepsForStart = this.cycleCalculationParams[\r\n 'required_steps_for_start'\r\n ] ?? { id: this.subSteps.slice(0, 2) };\r\n this.requiredStepsForStart =\r\n Object.values(this.tempRequiredStepsForStart[id]) ??\r\n this.subSteps.slice(0, 2);\r\n this.minimumCycleTimeMultiplier =\r\n this.cycleCalculationParams['minimum_cycle_time_multiplier'] ?? 0.4;\r\n this.maximumCycleTimeMultiplier =\r\n this.cycleCalculationParams['maximum_cycle_time_multiplier'] ?? 8.0;\r\n } catch (e) {\r\n this.requiredStepsForEnd = this.subSteps.slice(-3, -1);\r\n this.requiredStepsForStart = [0, 1];\r\n this.minimumCycleTimeMultiplier = 0.4;\r\n this.maximumCycleTimeMultiplier = 8.0;\r\n console.log('Exception raised while parsing cycle calculation params');\r\n }\r\n\r\n this.canRestartCycleOn = this.requiredStepsForStart;\r\n this.minimumSubStepTimes = this.subSteps\r\n .slice(0, -1)\r\n .map(\r\n (_, index) =>\r\n minimumSubStepTimes[index] * this.minimumCycleTimeMultiplier\r\n );\r\n this.minimumCycleTime = this.minimumSubStepTimes.reduce(\r\n (partialSum, a) => partialSum + a,\r\n 0\r\n );\r\n this.maximumCycleTime =\r\n Object.values(this.allMinimumSubstepTimes).reduce(\r\n (partialSum, a) => partialSum + a,\r\n 0\r\n ) * this.maximumCycleTimeMultiplier;\r\n }\r\n\r\n resetValues() {\r\n this.completedSteps = [];\r\n this.cycleStart = false;\r\n this.totalInferenceTime = 0;\r\n this.previousPrediction = -1;\r\n this.startTime = TimeBreakPoints.defaultStartTime;\r\n this.totalCycleTime = 0;\r\n this.subSteps.forEach(value => (this.subStepsTimes[value] = 0));\r\n this.startFrame = 0;\r\n this.endFrame = 0;\r\n this.reasonForEnd = new Set();\r\n }\r\n\r\n getTotalCycleTime() {\r\n this.totalSecondsList = this.subStepsTimes.map(value =>\r\n value.totalSeconds()\r\n );\r\n return this.totalSecondsList.reduce((partialSum, a) => partialSum + a, 0);\r\n }\r\n\r\n isCurrentCycleTimeGreaterThanMaximumCycleTime() {\r\n if (\r\n this.totalCycleTime > this.maximumCycleTime &&\r\n this.completedSteps.length > 0\r\n ) {\r\n this.reasonForEnd.add('max time reached');\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n addSubStepTime(timeDiff, prediction) {\r\n this.subStepsTimes[prediction] += timeDiff;\r\n }\r\n\r\n resetSubSteps() {\r\n console.log('reset substeps');\r\n }\r\n\r\n markStepAsCompleted(prediction) {\r\n if (\r\n this.isStepComplete(prediction) &&\r\n !this.completedSteps.includes(prediction) &&\r\n prediction != this.backgroundSubStep\r\n ) {\r\n this.completedSteps.push(prediction);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n isStepComplete(prediction) {\r\n return (\r\n this.subStepsTimes[prediction] >= this.allMinimumSubstepTimes[prediction]\r\n );\r\n }\r\n\r\n areAllStepsCompleted() {\r\n if (this.completedSteps.length == this.subStepCount - 1) {\r\n this.reasonForEnd.add('all steps complete');\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n isMinimumPercentageToEndCycleReached() {\r\n if (\r\n this.completedSteps.length / this.subStepCount >=\r\n this.minPercentageOfStepsRequiredToEndCycle\r\n ) {\r\n this.reasonForEnd.add('is_minimum_percentage_to_end_cycle_reached');\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n doesTotalCycleTimeExceedMinimumCycleTime() {\r\n if (this.totalCycleTime >= this.minimumCycleTime) {\r\n this.reasonForEnd.add('minimum cycle time achieved');\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n lastNStepsDetected() {\r\n for (let step in this.requiredStepsForEnd) {\r\n if (this.completedSteps.includes(step) && this.lastStepDetected()) {\r\n this.reasonForEnd.add('last n steps detected');\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n lastStepDetected() {\r\n return this.completedSteps.includes(\r\n this.subSteps[this.subSteps.length - 2]\r\n );\r\n }\r\n\r\n areMinimalRequirementsForCycleEndMet() {\r\n return (\r\n this.isMinimumPercentageToEndCycleReached() &&\r\n this.doesTotalCycleTimeExceedMinimumCycleTime()\r\n );\r\n }\r\n\r\n canEndNormally() {\r\n return (\r\n this.areAllStepsCompleted() ||\r\n (this.lastNStepsDetected() &&\r\n this.areMinimalRequirementsForCycleEndMet()) ||\r\n this.isCurrentCycleTimeGreaterThanMaximumCycleTime()\r\n );\r\n }\r\n\r\n serialize() {\r\n return {\r\n cycleIdentifier: this.cycleIdentifier,\r\n processId: this.id,\r\n completedSteps: this.completedSteps,\r\n subStepsTimes: this.subStepsTimes,\r\n totalCycleTime: this.totalCycleTime,\r\n totalInferenceTime: this.totalInferenceTime,\r\n startFrame: this.startFrame,\r\n endFrame: this.endFrame,\r\n cycleEndIdentifier: this.cycleEndIdentifier,\r\n missedSteps: this.getMissedSteps(),\r\n reasonForEnd: this.reasonForEnd\r\n };\r\n }\r\n\r\n canEndAbnormally(prediction) {\r\n return (\r\n this.canRestartCycleOn.includes(prediction) &&\r\n (this.lastNStepsDetected() || this.isMinimumPercentageToEndCycleReached())\r\n );\r\n }\r\n\r\n getMissedSteps() {\r\n const differenceOne = new Set(\r\n [...this.subSteps.slice(0, -1)].filter(\r\n x => !new Set(this.completedSteps).has(x)\r\n )\r\n );\r\n const differenceTwo = new Set(\r\n [...differenceOne].filter(x => !new Set(this.negativeSteps).has(x))\r\n );\r\n return [...differenceTwo];\r\n }\r\n}\r\n","import { notification } from 'ant-design-vue';\r\nimport { h } from 'vue';\r\n\r\nexport const showNotification = (\r\n message,\r\n description,\r\n Icon,\r\n iconColor,\r\n duration = 3\r\n) => {\r\n notification.open({\r\n message,\r\n description,\r\n duration,\r\n icon: () =>\r\n h(Icon, {\r\n style: `color: ${iconColor}`,\r\n }),\r\n });\r\n};\r\n","import S3Service from '../../../services/s3';\r\nimport { Process } from '../core/Process';\r\nimport * as csv from 'csv';\r\n\r\nclass TaskInfoInterface {\r\n constructor() {\r\n if (this.constructor === TaskInfoInterface) {\r\n throw new Error(\"Abstract classes can't be instantiated.\");\r\n }\r\n this.minimumSubstepTimes = {};\r\n this.similarGroupOfSteps = {};\r\n this.taskDict = {};\r\n this.processes = [];\r\n this.unavailableCycleTimeKnobs = true;\r\n this.taskSubStepCount = 0;\r\n this.taskJson = {};\r\n this.negativeSteps = [];\r\n this.optionalSteps = [];\r\n this.minimumCycleTimePercentage = 0;\r\n }\r\n\r\n setMinimumSubStepTimes = (userInfo) => {};\r\n setSimilarSubSteps = () => {};\r\n setTaskDict = () => {};\r\n tryToFetchTaskJson = () => {};\r\n\r\n fetchTaskJson = () => this.allTasks.taskJson;\r\n fetchNegative = () => this.allTasks.negativeSteps;\r\n\r\n getMinimumCycleTime = () => {\r\n if (!this.unavailableCycleTimeKnobs) {\r\n this.minimum_cycle_time =\r\n this.minimumSubstepTimes.reduce((a, b) => a + b, 0) *\r\n this.minimumCycleTimePercentage;\r\n } else {\r\n this.minimum_cycle_time =\r\n this.minimumSubstepTimes.reduce((a, b) => a + b, 0) * 0.4;\r\n }\r\n };\r\n\r\n addSimilarSteps = (similar_steps) => {\r\n let data = [];\r\n for (const key1 in similar_steps) {\r\n let similar_items = [];\r\n for (const key2 in similar_steps[key1]) {\r\n similar_items.push(similar_steps[key1][key2]['stepIndex']);\r\n }\r\n for (let index = 0; index < similar_items.length - 1; index++) {\r\n if (similar_items[index + 1] - similar_items[index] <= 1) {\r\n console.log(\r\n 'Similar Group of steps dont have an intermediate step seperator'\r\n );\r\n return null;\r\n }\r\n }\r\n data.push(similar_items);\r\n }\r\n return data;\r\n };\r\n\r\n parseProcesses = () => {\r\n let taskDict = this.taskDict;\r\n let processes = [];\r\n let prevProcessSubStepCount = 0;\r\n\r\n for (const [processId, process] of taskDict.entries()) {\r\n const processName = process['name'];\r\n let processSubSteps = process['steps'].reduce(\r\n (res, el) => [...res, ...el.substeps],\r\n []\r\n );\r\n processSubSteps = processSubSteps.map(\r\n (_, index) => prevProcessSubStepCount + index\r\n );\r\n prevProcessSubStepCount += processSubSteps.length;\r\n\r\n // Add Background to All Processes\r\n processSubSteps.push(this.allTasks.taskStepsCount);\r\n processes.push(\r\n new Process(\r\n processName,\r\n processSubSteps,\r\n processId,\r\n this.minimumSubstepTimes,\r\n this.negativeSteps,\r\n this.taskJson['cycle_calculation_params'] || {}\r\n )\r\n );\r\n }\r\n return processes;\r\n };\r\n}\r\n\r\nexport class TaskInfoCloud extends TaskInfoInterface {\r\n constructor(allTasks) {\r\n super();\r\n this.allTasks = allTasks;\r\n }\r\n\r\n init = async (userInfo) => {\r\n await this.setMinimumSubStepTimes(userInfo);\r\n this.setSimilarSubSteps();\r\n this.setTaskDict();\r\n this.tryToFetchTaskJson();\r\n this.negativeSteps = this.fetchNegative();\r\n this.processes = this.parseProcesses();\r\n };\r\n setMinimumSubStepTimes = async (userInfo) => {\r\n // const [_, data] = await S3Service.readFile({\r\n // bucket: userInfo.bucket,\r\n // file_path: `${this.allTasks.taskName}/subStepTimes.json`,\r\n // });\r\n // this.minimumSubstepTimes = data;\r\n // this.taskSubStepCount = data.length;\r\n };\r\n\r\n setSimilarSubSteps = () => {\r\n const data = this.allTasks.similarSteps;\r\n this.similarGroupOfSteps = this.addSimilarSteps(data);\r\n };\r\n\r\n setTaskDict = () => {\r\n const data = this.allTasks.taskProcesses;\r\n this.taskDict = data;\r\n };\r\n\r\n tryToFetchTaskJson = () => {\r\n this.taskJson = this.fetchTaskJson();\r\n if (Object.keys(this.taskJson).length === 0) {\r\n this.unavailableCycleTimeKnobs = true;\r\n if (this.minimumSubstepTimes.length < 7) {\r\n this.minPercentageOfStepRequiredToEndCycle = 0.5;\r\n } else {\r\n this.minPercentageOfStepRequiredToEndCycle = 0.75;\r\n }\r\n }\r\n };\r\n\r\n getTelemetryLogs = async (userInfo) => {\r\n let response = await S3Service.readFile({\r\n bucket: userInfo.bucket,\r\n file_path: this.key,\r\n });\r\n let text = response['Body'].read().decode('utf-8').split('\\n');\r\n this.telemetryLogs = csv.parse(text);\r\n };\r\n}\r\n","// This icon file is generated automatically.\nvar CommentOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"defs\", \"attrs\": {}, \"children\": [{ \"tag\": \"style\", \"attrs\": {} }] }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M573 421c-23.1 0-41 17.9-41 40s17.9 40 41 40c21.1 0 39-17.9 39-40s-17.9-40-39-40zm-280 0c-23.1 0-41 17.9-41 40s17.9 40 41 40c21.1 0 39-17.9 39-40s-17.9-40-39-40z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M894 345a343.92 343.92 0 00-189-130v.1c-17.1-19-36.4-36.5-58-52.1-163.7-119-393.5-82.7-513 81-96.3 133-92.2 311.9 6 439l.8 132.6c0 3.2.5 6.4 1.5 9.4a31.95 31.95 0 0040.1 20.9L309 806c33.5 11.9 68.1 18.7 102.5 20.6l-.5.4c89.1 64.9 205.9 84.4 313 49l127.1 41.4c3.2 1 6.5 1.6 9.9 1.6 17.7 0 32-14.3 32-32V753c88.1-119.6 90.4-284.9 1-408zM323 735l-12-5-99 31-1-104-8-9c-84.6-103.2-90.2-251.9-11-361 96.4-132.2 281.2-161.4 413-66 132.2 96.1 161.5 280.6 66 412-80.1 109.9-223.5 150.5-348 102zm505-17l-8 10 1 104-98-33-12 5c-56 20.8-115.7 22.5-171 7l-.2-.1A367.31 367.31 0 00729 676c76.4-105.3 88.8-237.6 44.4-350.4l.6.4c23 16.5 44.1 37.1 62 62 72.6 99.6 68.5 235.2-8 330z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M433 421c-23.1 0-41 17.9-41 40s17.9 40 41 40c21.1 0 39-17.9 39-40s-17.9-40-39-40z\" } }] }, \"name\": \"comment\", \"theme\": \"outlined\" };\nexport default CommentOutlined;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport CommentOutlinedSvg from \"@ant-design/icons-svg/es/asn/CommentOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar CommentOutlined = function CommentOutlined(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": CommentOutlinedSvg\n }), null);\n};\n\nCommentOutlined.displayName = 'CommentOutlined';\nCommentOutlined.inheritAttrs = false;\nexport default CommentOutlined;","\r\n\r\n\r\n","\r\n\r\n\r\n","// ================================ Define Procedure =========================================\r\nexport const mainProcessSteps = [\r\n {\r\n target: '#taskName',\r\n header: {\r\n title: 'Task creation',\r\n },\r\n content: `Enter the task name you want to create.`,\r\n params: {\r\n enableScrolling: false,\r\n },\r\n },\r\n {\r\n target: '#processButton',\r\n header: {\r\n title: 'Task creation',\r\n },\r\n content: `Click Add Process button to add a process.`,\r\n },\r\n {\r\n target: '#processName',\r\n header: {\r\n title: 'Task creation',\r\n },\r\n content: `Enter the process name.`,\r\n },\r\n //===========================\r\n {\r\n target: '#stepButton',\r\n header: {\r\n title: 'Task creation',\r\n },\r\n content: `Click Add Step button to add step.`,\r\n },\r\n {\r\n target: '#stepName',\r\n header: {\r\n title: 'Task creation',\r\n },\r\n content: `Click here and enter a step name then press enter.`,\r\n },\r\n {\r\n target: '#substepButton',\r\n header: {\r\n title: 'Task creation',\r\n },\r\n content: `Click on button to add a sub-step.`,\r\n },\r\n {\r\n target: '#substepName',\r\n header: {\r\n title: 'Task creation',\r\n },\r\n content: `Click here and enter a sub-step name then press enter.`,\r\n },\r\n {\r\n target: '#substepButton',\r\n header: {\r\n title: 'Task creation',\r\n },\r\n content: `If needed, add multiple sub-steps.`,\r\n },\r\n {\r\n target: '#stepButton',\r\n header: {\r\n title: 'Task creation',\r\n },\r\n content: `If needed, add multiple steps by clicking Add Step button.`,\r\n },\r\n {\r\n target: '#processButton',\r\n header: {\r\n title: 'Task creation',\r\n },\r\n content: `If needed, add multiple processes by clicking Add Process button.`,\r\n },\r\n {\r\n target: '#addTaskButton',\r\n header: {\r\n title: 'Task creation',\r\n },\r\n content: `Click Add Task button to create a task.`,\r\n },\r\n {\r\n target: '#tasksDropdown',\r\n header: {\r\n title: 'Task Details',\r\n },\r\n content: `Select the task you created to see the task details.`,\r\n },\r\n];\r\n\r\n//====================== Task details\r\nexport const taskDetailsSteps = [\r\n {\r\n target: '#taskEditButton',\r\n header: {\r\n title: 'Task Update',\r\n },\r\n content: `Also, You can update the task by clicking this button and follow the same process as task creation.\r\n
Note: You can not edit task name but only details.`,\r\n },\r\n {\r\n target: '#taskDeleteButton',\r\n header: {\r\n title: 'Task Delete',\r\n },\r\n content: `You can delete the task if no videos are uploaded for this task.`,\r\n },\r\n {\r\n target: '#translationButton',\r\n header: {\r\n title: 'Translation',\r\n },\r\n content: `You can add translated version of task details by clicking this button.`,\r\n },\r\n {\r\n target: '#translationEditButton',\r\n header: {\r\n title: 'Translation',\r\n },\r\n content: `You can edit translation by clicking this button.`,\r\n },\r\n {\r\n target: '#translationDeleteButton',\r\n header: {\r\n title: 'Translation',\r\n },\r\n content: `You can delete translation by clicking this button.`,\r\n },\r\n {\r\n target: '#translationName',\r\n header: {\r\n title: 'Translation',\r\n },\r\n content: `Once translation is created, You can see the translated \r\n version of the task details by clicking this button.`,\r\n },\r\n //================================\r\n // {\r\n // target: '#form-wrapper',\r\n // header: {\r\n // title: 'Task Update',\r\n // },\r\n // content: `You can update the steps and sub-steps but you can't update the task name.`,\r\n // },\r\n // {\r\n // target: '#v-step-7',\r\n // header: {\r\n // title: 'Task Update',\r\n // },\r\n // content: `By clicking on Update Task button you can update task\r\n // with new steps or sub-steps but all your labelling files will be deleted.`,\r\n // },\r\n // {\r\n // target: '#language-name',\r\n // header: {\r\n // title: 'Translation',\r\n // },\r\n // content: `You can see the translation language if you have added before.`,\r\n // },\r\n // {\r\n // target: '#add-translation',\r\n // header: {\r\n // title: 'Translation',\r\n // },\r\n // content: `Or you can add new translation by clicking New.`,\r\n // },\r\n // {\r\n // target: '#form-wrapper',\r\n // header: {\r\n // title: 'Add Translation',\r\n // },\r\n // content: `Here you can specify language name and translated text against taskname, steps and sub-steps and\r\n // then press Add Translation button.`,\r\n // },\r\n // {\r\n // target: '#edit-translation',\r\n // header: {\r\n // title: 'Update Translation',\r\n // },\r\n // content: `You can edit the translation by clicking Edit button.`,\r\n // },\r\n // {\r\n // target: '#delete-translation',\r\n // header: {\r\n // title: 'Delete Translation',\r\n // },\r\n // content: `Or You can delete the translation by clicking Delete button.`,\r\n // },\r\n // {\r\n // target: '#v-step-10',\r\n // header: {\r\n // title: 'Next Menu Item',\r\n // },\r\n // content: `Press Next Step: Import Data.`,\r\n // },\r\n];\r\n\r\n// export const mainProcessSteps = [\r\n// {\r\n// target: \"#v-step-0\",\r\n// header: {\r\n// title: \"Task creation\",\r\n// },\r\n// content: `There are two ways you can create a task.`,\r\n// params: {\r\n// enableScrolling: false,\r\n// },\r\n// },\r\n// {\r\n// target: \"#v-step-1\",\r\n// header: {\r\n// title: \"1. By Uploading\",\r\n// },\r\n// content: `Drag and drop task.txt file from your machine.`,\r\n// },\r\n// {\r\n// target: \"#v-step-2\",\r\n// header: {\r\n// title: \"1. By Uploading\",\r\n// },\r\n// content: `Click on the Upload File button.`,\r\n// },\r\n// {\r\n// target: \"#v-step-3\",\r\n// header: {\r\n// title: \"1. By Uploading\",\r\n// },\r\n// content: `Click on the Add Task button.`,\r\n// },\r\n// {\r\n// target: \"#v-step-4\",\r\n// header: {\r\n// title: \"1. By Uploading\",\r\n// },\r\n// content: `Task will be created and you can see the task details over here.`,\r\n// },\r\n// {\r\n// target: \"#v-step-5\",\r\n// header: {\r\n// title: \"2. By Using Portal\",\r\n// },\r\n// content: `Specify task name.`,\r\n// },\r\n// {\r\n// target: \"#v-step-6\",\r\n// header: {\r\n// title: \"2. By Using Portal\",\r\n// },\r\n// content: `Specify step name (Cycle start, Assembly, QA, Cycle end etc.)`,\r\n// },\r\n// {\r\n// target: \"#v-step-7\",\r\n// header: {\r\n// title: \"2. By Using Portal\",\r\n// },\r\n// content: `Specify substep name (Take screwdriver, tighten bolt #1, etc.).\r\n// Press Add button. Repeat this step multiple times if needed.`,\r\n// },\r\n// {\r\n// target: \"#v-step-8\",\r\n// header: {\r\n// title: \"2. By Using Portal\",\r\n// },\r\n// content: `Once substeps are added, press the Add button for step.`,\r\n// },\r\n// {\r\n// target: \"#v-step-9\",\r\n// header: {\r\n// title: \"2. By Using Portal\",\r\n// },\r\n// content: `If needed, add multiple steps with substeps.`,\r\n// },\r\n// {\r\n// target: \"#v-step-3\",\r\n// header: {\r\n// title: \"2. By Using Portal\",\r\n// },\r\n// content: `Once the process is entered in full, press Add Task button.`,\r\n// },\r\n// {\r\n// target: \"#v-step-4\",\r\n// header: {\r\n// title: \"2. By Using Portal\",\r\n// },\r\n// content: `Task will be created and you can see the task details over here.`,\r\n// },\r\n// {\r\n// target: \"#v-step-10\",\r\n// header: {\r\n// title: \"Next Menu Item\",\r\n// },\r\n// content: `Press Next Step: Import Data.`,\r\n// },\r\n// ];\r\n\r\n// ================================ Import Data ============================================\r\nexport const mainImportSteps = [\r\n {\r\n target: '#v-step-11',\r\n header: {\r\n title: 'Import Data',\r\n },\r\n content: `Make sure to select the task you have created previously. And press Upload / Record Video`,\r\n params: {\r\n enableScrolling: true,\r\n },\r\n },\r\n {\r\n target: '#v-upload-button',\r\n header: {\r\n title: 'Import Data',\r\n },\r\n content: `Press Upload / Record Video to open a dialog`,\r\n params: {\r\n enableScrolling: true,\r\n },\r\n },\r\n {\r\n target: '#v-step-12',\r\n header: {\r\n title: 'Import Data',\r\n },\r\n content: `You can record the video by pressing Swith To Record Video button`,\r\n params: {\r\n enableScrolling: true,\r\n },\r\n },\r\n {\r\n target: '#v-step-13',\r\n header: {\r\n title: 'Import Data',\r\n },\r\n content: `Or you can drop mp4 files here and press Upload Video button to upload.`,\r\n params: {\r\n enableScrolling: true,\r\n },\r\n },\r\n {\r\n target: '#v-step-14',\r\n header: {\r\n title: 'Import Data',\r\n },\r\n content: `If you have uploaded the video(s) before, \r\n you can perform several actions on them such as \r\n Annotate, \r\n Trim, \r\n Protect,\r\n Download, and\r\n Delete.`,\r\n params: {\r\n enableScrolling: true,\r\n },\r\n },\r\n {\r\n target: '#v-step-15',\r\n header: {\r\n title: 'Import Data',\r\n },\r\n content: `After labelling a video you can see the labelled percentage of that video.`,\r\n params: {\r\n enableScrolling: true,\r\n },\r\n },\r\n {\r\n target: '#v-step-10',\r\n header: {\r\n title: 'Next Menu Item',\r\n },\r\n content: `Once you’ve labelled all videos, Press Next Step: Train a model.`,\r\n params: {\r\n enableScrolling: true,\r\n },\r\n },\r\n];\r\n// export const mainImportSteps = [\r\n// {\r\n// target: '#v-step-11',\r\n// header: {\r\n// title: 'Import Data',\r\n// },\r\n// content: `There are two ways you can upload & label the videos. One is By Uploading files.`,\r\n// params: {\r\n// enableScrolling: true,\r\n// },\r\n// },\r\n// {\r\n// target: '#v-step-12',\r\n// header: {\r\n// title: '1. By Uploading',\r\n// },\r\n// content: `Make sure the task created previously is selected.`,\r\n// },\r\n// {\r\n// target: '#v-step-13',\r\n// header: {\r\n// title: '1. By Uploading',\r\n// },\r\n// content: `Drag and drop .mp4 video files associated with the task selected from\r\n// Tasks//Videos folder.`,\r\n// },\r\n// {\r\n// target: '#v-step-14',\r\n// header: {\r\n// title: '1. By Uploading',\r\n// },\r\n// content: `Click on Upload video button and wait until videos will be uploaded.`,\r\n// },\r\n// {\r\n// target: '#v-step-15',\r\n// header: {\r\n// title: '1. By Uploading',\r\n// },\r\n// content: `Drag and drop corresponding metadata files with labels from\r\n// Tasks/Meta folder`,\r\n// },\r\n// {\r\n// target: '#v-step-16',\r\n// header: {\r\n// title: '1. By Uploading',\r\n// },\r\n// content: `Click on Upload Label button and wait until labels will be uploaded.`,\r\n// },\r\n// {\r\n// target: '#v-step-11',\r\n// header: {\r\n// title: 'Import Data',\r\n// },\r\n// content: `Alternate way is by using portal.`,\r\n// params: {\r\n// enableScrolling: false,\r\n// },\r\n// },\r\n// {\r\n// target: '#v-step-17',\r\n// header: {\r\n// title: '2. By Using Portal',\r\n// },\r\n// content: `Press Switch To Upload Video button.`,\r\n// },\r\n// {\r\n// target: '#v-step-18',\r\n// header: {\r\n// title: '2. By Using Portal',\r\n// },\r\n// content: `Press Camera icon in the center of the recorder.`,\r\n// },\r\n// {\r\n// target: '#v-step-18',\r\n// header: {\r\n// title: '2. By Using Portal',\r\n// },\r\n// content: `Start recording by pressing the bottom left circle on recorder and\r\n// capture an assembly cycle up to 10 minutes long.`,\r\n// },\r\n// {\r\n// target: '#v-step-19',\r\n// header: {\r\n// title: '2. By Using Portal',\r\n// },\r\n// content: `Press Submit to upload video to a server.\r\n// Once the video is uploaded you’ll see it on the right table.`,\r\n// },\r\n// {\r\n// target: '#v-step-18',\r\n// header: {\r\n// title: '2. By Using Portal',\r\n// },\r\n// content: `Repeat if you need to record multiple videos.`,\r\n// },\r\n// {\r\n// target: '#v-step-21',\r\n// header: {\r\n// title: '2. By Using Portal',\r\n// },\r\n// content: `After Recording the videos, You'll see Annotate\r\n// button in video listing on right side.`,\r\n// params: {\r\n// enableScrolling: false,\r\n// },\r\n// },\r\n// {\r\n// target: '#v-step-22',\r\n// header: {\r\n// title: '2. By Using Portal',\r\n// },\r\n// content: `Press Annotate button and you'll see a dialog.`,\r\n// },\r\n// {\r\n// target: '#trim-button',\r\n// header: {\r\n// title: '2. By Using Portal',\r\n// },\r\n// content: `Press Trim button to trim a longer video.`,\r\n// },\r\n// {\r\n// target: '#v-step-23',\r\n// header: {\r\n// title: '2. By Using Portal',\r\n// },\r\n// content: `You can label a video after reading the instruction or by watching this short\r\n// video, then\r\n// press Save button and you'll see the labelled % in video listing.`,\r\n// },\r\n// {\r\n// target: '#v-step-10',\r\n// header: {\r\n// title: 'Next Menu Item',\r\n// },\r\n// content: `Once you’ve labelled all videos, Press Next Step: Train a model.`,\r\n// },\r\n// ];\r\n\r\n// ================================ Train Model ============================================\r\n\r\nexport const trainModelSteps = [\r\n {\r\n target: '#v-step-24',\r\n header: {\r\n title: 'Train Model',\r\n },\r\n content: `Make sure the task is selected.`,\r\n params: {\r\n enableScrolling: false,\r\n },\r\n },\r\n {\r\n target: '#v-step-25',\r\n header: {\r\n title: 'Train Model',\r\n },\r\n content: `Press Start training button. Training process will take several hours.`,\r\n },\r\n {\r\n target: '#v-step-10',\r\n header: {\r\n title: 'Train Model',\r\n },\r\n content: `Once training is done, click Next Step: Validation.`,\r\n },\r\n];\r\n\r\n// ================================ Validation ============================================\r\n\r\nexport const validationSteps = [\r\n {\r\n target: '#v-step-26',\r\n header: {\r\n title: 'Validation',\r\n },\r\n content: `If you have trained task then Make sure the task is selected.`,\r\n params: {\r\n enableScrolling: false,\r\n },\r\n },\r\n {\r\n target: '#v-step-27',\r\n header: {\r\n title: 'Validation',\r\n },\r\n content: `By pressing Upload Video button\r\n a dialog will appear and you can drop or select multiple mp4 files to upload.`,\r\n },\r\n {\r\n target: '#v-step-28',\r\n header: {\r\n title: 'Validation',\r\n },\r\n content: `Once files are upload, you can see their status here.\r\n If the status is failed you can \r\n restart the process again by pressing the retry button.\r\n Moreover, if the video is successfully processed, You will \r\n see the finished status.`,\r\n },\r\n {\r\n target: '#v-step-29',\r\n header: {\r\n title: 'Validation',\r\n },\r\n content: `You can see the validation by pressing the \r\n Play button.\r\n `,\r\n },\r\n {\r\n target: '#v-step-30',\r\n header: {\r\n title: 'Validation',\r\n },\r\n content: `By pressing the Telemetry button,\r\n You will be redirected to Analytics page where you can see the anaylytics.`,\r\n },\r\n {\r\n target: '#v-step-31',\r\n header: {\r\n title: 'Validation',\r\n },\r\n content: `By pressing the Trace button,\r\n You will be redirected to Trace page where you can see the trace.`,\r\n },\r\n];\r\n","export default function getFileNameFromUrl(url) {\r\n if (!url) return;\r\n const filename = url\r\n .split('/Videos/')\r\n .pop()\r\n .split('?')[0];\r\n return decodeURI(filename);\r\n}\r\n","const enabledRoutes = [\r\n 'Define Procedure',\r\n 'Import Data',\r\n 'Train a model',\r\n 'Validation',\r\n];\r\n\r\nexport default function(router) {\r\n const currentPath = getCurrentPath(router);\r\n\r\n const userRoutesConfig = getUserRoutesConfig(router);\r\n\r\n const routes = getRoutes(userRoutesConfig, currentPath);\r\n\r\n return routes;\r\n}\r\n\r\nfunction getCurrentPath(router) {\r\n return router.currentRoute._value.fullPath.split('/').pop();\r\n}\r\n\r\nfunction getUserRoutesConfig(router) {\r\n const { children } = router.options.routes.find((r) => r.path === '/user');\r\n return children;\r\n}\r\n\r\nfunction getRoutes(userRoutesConfig, currentPath) {\r\n let prevRouter = null;\r\n let nextRoute = null;\r\n\r\n userRoutesConfig\r\n .filter((el) => enabledRoutes.includes(el.name))\r\n .forEach((route, index, arr) => {\r\n if (route.path === currentPath) {\r\n prevRouter = arr[index - 1] ? arr[index - 1] : null;\r\n nextRoute = arr[index + 1] ? arr[index + 1] : null;\r\n }\r\n });\r\n return { prevRouter, nextRoute };\r\n}\r\n","\r\n\r\n\r\n","// This icon file is generated automatically.\nvar AlignLeftOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M120 230h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 424h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm784 140H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-424H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"align-left\", \"theme\": \"outlined\" };\nexport default AlignLeftOutlined;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport AlignLeftOutlinedSvg from \"@ant-design/icons-svg/es/asn/AlignLeftOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar AlignLeftOutlined = function AlignLeftOutlined(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": AlignLeftOutlinedSvg\n }), null);\n};\n\nAlignLeftOutlined.displayName = 'AlignLeftOutlined';\nAlignLeftOutlined.inheritAttrs = false;\nexport default AlignLeftOutlined;","import { StatisticalLoggerInterface } from './StatisticalLoggerInterface';\r\nimport datetime from 'lodash';\r\nimport { default as dt } from 'py-datetime';\r\nimport { Process } from './Process';\r\n\r\nexport class StatisticalLogger extends StatisticalLoggerInterface {\r\n constructor(\r\n callbackAfterCycleEnd = null,\r\n callbackAfterCycleStart = null,\r\n callBackToUpdateCurrentCycleTimes = null,\r\n callBackOnInferenceStateChanged = null,\r\n objectToCallForProcessingTelemetry = null,\r\n callBackForCurrentCycleTime = null,\r\n callBackForBackgroundTime = null,\r\n kwargs\r\n ) {\r\n super();\r\n this.callBackOnInferenceStateChanged = callBackOnInferenceStateChanged;\r\n this.callBackToUpdateCurrentCycleTimes = callBackToUpdateCurrentCycleTimes;\r\n this.objectToCallForProcessingTelemetry = objectToCallForProcessingTelemetry;\r\n this.callbackAfterCycleEnd = callbackAfterCycleEnd;\r\n this.callbackAfterCycleStart = callbackAfterCycleStart;\r\n this.callBackForCurrentCycleTime = callBackForCurrentCycleTime;\r\n this.callBackForBackgroundTime = callBackForBackgroundTime;\r\n this.currentProcess = null;\r\n this.startCycleDetectorCheck = false;\r\n this.endCycleDetectorCheck = false;\r\n this.cycleCount = 0;\r\n this.bgTime = 0;\r\n }\r\n\r\n sendPredToProcess = ({ pred, time, fps }) => {\r\n this.count += 1;\r\n this.newPredReceived(pred, time, fps);\r\n };\r\n\r\n // todo add file ending logic here\r\n\r\n inferenceStateChanged = kwargs => {\r\n if (kwargs['state']) {\r\n this.setupVars(kwargs);\r\n if (this.callBackOnInferenceStateChanged) {\r\n this.callBackOnInferenceStateChanged(this.taskInfo);\r\n }\r\n }\r\n };\r\n\r\n getCurrentStepsStatus = prediction => {\r\n let currentProcess = this.getCurrentProcess(prediction);\r\n if (currentProcess !== null) {\r\n return currentProcess.completedSteps.includes(prediction);\r\n }\r\n return false;\r\n };\r\n\r\n newPredReceived = (predictions, time, fps) => {\r\n this.currentTime = time;\r\n let timeDiff = 1000 / fps / 1000;\r\n let identifiedProcesses = [];\r\n if (this.endAllProcessesIfTimeDiffMoreThanN(timeDiff, time)) {\r\n timeDiff = 0;\r\n }\r\n\r\n for (const prediction of predictions) {\r\n this.currentProcess = this.getCurrentProcess(prediction);\r\n if (this.currentProcess === null || this.currentProcess === undefined) {\r\n continue;\r\n }\r\n if (!identifiedProcesses.includes(this.currentProcess.id)) {\r\n identifiedProcesses.push(this.currentProcess.id);\r\n }\r\n if (this.currentProcess.cycleStart) {\r\n this.currentProcess.endFrame = this.count;\r\n this.currentProcess.addSubStepTime(timeDiff, prediction);\r\n this.currentProcess.markStepAsCompleted(prediction);\r\n let cycleData = this.tryToEndCycle(prediction, timeDiff, time);\r\n this.tryToSaveCycleData(cycleData);\r\n\r\n if (this.callBackToUpdateCurrentCycleTimes) {\r\n this.callBackToUpdateCurrentCycleTimes(\r\n timeDiff,\r\n prediction,\r\n this.taskInfo.processes,\r\n this.currentProcess\r\n );\r\n }\r\n } else {\r\n this.tryToStartCycle(prediction, time);\r\n }\r\n }\r\n this.addTotalCycleTimes(timeDiff, identifiedProcesses);\r\n this.previousTime = this.currentTime;\r\n };\r\n\r\n endAllProcessesIfTimeDiffMoreThanN = (timeDiff, time) => {\r\n if (Math.abs(timeDiff) >= 3) {\r\n this.forceEndAllProcesses(time);\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n forceEndAllProcesses = (time = datetime.now()) => {\r\n if (this.taskInfo) {\r\n for (let process in this.taskInfo.processes) {\r\n this.currentProcess = process;\r\n if (this.currentProcess.cycleStart) {\r\n this.currentProcess.reasonForEnd.add('force_end_all_processes');\r\n const data = this.endCycle(time);\r\n this.tryToSaveCycleData(data);\r\n }\r\n }\r\n }\r\n };\r\n\r\n tryToSaveCycleData = data => {\r\n if (\r\n data &&\r\n data['total_cycle_time'] > this.currentProcess.minimumCycleTime\r\n ) {\r\n this.saveCycleData(data);\r\n }\r\n };\r\n\r\n saveCycleData = data => {\r\n this.cumulatedProcesses[data['process_id']].push(data);\r\n };\r\n\r\n addTotalCycleTimes = (timeDiff, identifiedProcess) => {\r\n for (let i in identifiedProcess) {\r\n if (this.taskInfo.processes[i].cycleStart) {\r\n this.taskInfo.processes[i].totalCycleTime += timeDiff;\r\n if (this.callBackForCurrentCycleTime) {\r\n this.callBackForCurrentCycleTime({\r\n [i]: this.taskInfo.processes[i].totalCycleTime.toFixed(2)\r\n });\r\n }\r\n if (this.callBackForBackgroundTime) {\r\n if (\r\n Object.entries(this.taskInfo.processes[i].subStepsTimes).slice(-1)\r\n ) {\r\n let newList = Object.entries(\r\n this.taskInfo.processes[i].subStepsTimes\r\n ).slice(-1);\r\n this.bgTime = newList[0][1].toFixed(2);\r\n this.callBackForBackgroundTime(this.bgTime);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n tryToStartCycle = (prediction, time) => {\r\n if (this.currentProcess.canRestartCycleOn === null) {\r\n return;\r\n }\r\n if (this.currentProcess.canRestartCycleOn.includes(prediction)) {\r\n this.currentProcess.resetValues();\r\n this.currentProcess.cycleStart = true;\r\n this.currentProcess.cycleIdentifier = dt\r\n .datetime(time)\r\n .str('%Y-%m-%d %H:%M:%S');\r\n this.currentProcess.startFrame = this.count;\r\n if (this.callbackAfterCycleStart) {\r\n if (Object.keys(this.taskInfo.processes).length > 1) {\r\n if (\r\n this.currentProcess.id ==\r\n Object.keys(this.taskInfo.processes).slice(1)[0]\r\n ) {\r\n this.cycleCount += 1;\r\n }\r\n if (this.cycleCount == 0) {\r\n this.cycleCount += 1;\r\n }\r\n } else {\r\n this.cycleCount += 1;\r\n }\r\n // if (\r\n // this.currentProcess.id ==\r\n // Object.keys(this.taskInfo.processes).slice(-1)[0]\r\n // ) {\r\n // this.cycleCount += 1;\r\n // }\r\n this.callbackAfterCycleStart(this.currentProcess, this.cycleCount);\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n tryToEndCycle = (prediction, timeDiff, time) => {\r\n if (\r\n this.currentProcess.canEndNormally() ||\r\n this.currentProcess.canEndAbnormally(prediction)\r\n ) {\r\n return this.endCycle(time);\r\n }\r\n return null;\r\n };\r\n\r\n endCycle = time => {\r\n this.currentProcess.cycleEndIdentifier = dt\r\n .datetime(time)\r\n .str('%Y-%m-%d %H:%M:%S');\r\n // let cycleData = this.currentProcess.getMissedSteps();\r\n let cycleData = JSON.parse(\r\n JSON.stringify(this.currentProcess.getMissedSteps())\r\n );\r\n if (this.callbackAfterCycleEnd) {\r\n this.callbackAfterCycleEnd(this.currentProcess, this.taskInfo.processes);\r\n }\r\n this.currentProcess.resetValues();\r\n return cycleData;\r\n };\r\n}\r\n","import { render } from \"./Inference.vue?vue&type=template&id=f176fcb6\"\nimport script from \"./Inference.vue?vue&type=script&lang=js\"\nexport * from \"./Inference.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"C:\\\\Users\\\\mahal\\\\OneDrive\\\\Documents\\\\Retrocausal\\\\portal_frontend\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./UploadVideoV2.vue?vue&type=template&id=ee2aa184&scoped=true\"\nimport script from \"./UploadVideoV2.vue?vue&type=script&lang=js\"\nexport * from \"./UploadVideoV2.vue?vue&type=script&lang=js\"\n\nimport \"./UploadVideoV2.vue?vue&type=style&index=0&id=ee2aa184&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\Users\\\\mahal\\\\OneDrive\\\\Documents\\\\Retrocausal\\\\portal_frontend\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ee2aa184\"]])\n\nexport default __exports__","