{"version":3,"sources":["******************************************/dp/survey_quest_fe/webpack/bootstrap","******************************************/dp/survey_quest_fe/src/components/common/Question/SingleChoice.jsx","******************************************/dp/survey_quest_fe/src/components/common/Question/MultiChoice.jsx","******************************************/dp/survey_quest_fe/src/components/common/Question/LongText.jsx","******************************************/dp/survey_quest_fe/src/components/common/Question/FillinLong.jsx","******************************************/dp/survey_quest_fe/src/components/common/Question/ShortText.jsx","******************************************/dp/survey_quest_fe/src/components/common/Question/FillinShort.jsx","******************************************/dp/survey_quest_fe/src/components/common/Question/Scale.jsx","******************************************/dp/survey_quest_fe/src/components/common/Question/LocChoice.jsx","******************************************/dp/survey_quest_fe/src/components/common/Question/Cascader.jsx","******************************************/dp/survey_quest_fe/src/components/common/Question/Matrix.jsx","******************************************/dp/survey_quest_fe/src/components/common/Question/Upload.jsx","******************************************/dp/survey_quest_fe/src/components/common/Question/OptionInput.jsx","******************************************/dp/survey_quest_fe/src/components/common/Question/PureDescription.jsx","******************************************/dp/survey_quest_fe/src/components/common/Question/ShoppingOrder.jsx","******************************************/dp/survey_quest_fe/src/tracer.js","******************************************/dp/survey_quest_fe/src/utilities/pageLogic.js","******************************************/dp/survey_quest_fe/src/store.jsx","******************************************/dp/survey_quest_fe/src/components/common/Question/MaterialUI/materialTheme.js","******************************************/dp/survey_quest_fe/src/utilities/language.js","******************************************/dp/survey_quest_fe/src/services/client.js","******************************************/dp/survey_quest_fe/src/services/api.js","******************************************/dp/survey_quest_fe/src/theme.js","******************************************/dp/survey_quest_fe/src/constant.js","******************************************/dp/survey_quest_fe/src/components/pc/Header.jsx","******************************************/dp/survey_quest_fe/src/components/common/LanguagePC.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Question/InputSingleLine.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Question/MaterialUI/SingleSelect.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Question/SingleChoice.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Question/MultiChoice.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Question/LongText.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Question/ShortText.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Question/Scale.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Question/DateChoice.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Question/LocChoice.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Question/Cascader.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Question/Matrix.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Question/Upload.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Question/Sort.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Question/OptionInput.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Question/index.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Content.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Footer.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Layout.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Submitted.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Lottery/StateInfo.jsx","******************************************/dp/survey_quest_fe/src/index.jsx","******************************************/dp/survey_quest_fe/src/components/common/Question/NewScale.jsx","******************************************/dp/survey_quest_fe/src/utilities/common.js","******************************************/dp/survey_quest_fe/src/utilities/quest.js","******************************************/dp/survey_quest_fe/src/App.jsx","******************************************/dp/survey_quest_fe/src/components/ErrorBoundary.jsx","******************************************/dp/survey_quest_fe/src/utilities/postMessage.js","******************************************/dp/survey_quest_fe/src/glbStyle.js","******************************************/dp/survey_quest_fe/src/images/prize_line.png","******************************************/dp/survey_quest_fe/src/images/close_btn.png","******************************************/dp/survey_quest_fe/src/components/common/Question/MaterialUI/MaterialSlider.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Question/MaterialUI/index.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Question/MaterialUI/Slider.jsx","******************************************/dp/survey_quest_fe/src/components/common/Question/Sort.jsx","******************************************/dp/survey_quest_fe/src/components/mobile/Question/Sort.jsx","******************************************/dp/survey_quest_fe/src/components/mobile/FormItem.jsx","******************************************/dp/survey_quest_fe/src/env/ttp.js","******************************************/dp/survey_quest_fe/src/env/index.js","******************************************/dp/survey_quest_fe/src/images/prize-start.png","******************************************/dp/survey_quest_fe/src/images/disabled_btn.png","******************************************/dp/survey_quest_fe/src/images/thanks.png","******************************************/dp/survey_quest_fe/src/images/lottery_pc_bg.png","******************************************/dp/survey_quest_fe/src/images/lottery_mobile_bg.png","******************************************/dp/survey_quest_fe/src/images/lottery_pc_bg_light.png","******************************************/dp/survey_quest_fe/src/images/lottery_header.png","******************************************/dp/survey_quest_fe/src/images/lottery_lattice.png","******************************************/dp/survey_quest_fe/src/images/modal_close.png","******************************************/dp/survey_quest_fe/src/images/lottery_success.png","******************************************/dp/survey_quest_fe/src/images/close_eye.png","******************************************/dp/survey_quest_fe/src/images/open_eye.png","******************************************/dp/survey_quest_fe/src/images/close_eye_pc.png","******************************************/dp/survey_quest_fe/src/images/open_eye_pc.png","******************************************/dp/survey_quest_fe/src/components/mobile/Lottery/Modal.jsx","******************************************/dp/survey_quest_fe/src/components/pc/Lottery/Modal.jsx","******************************************/dp/survey_quest_fe/src/components/mobile/Lottery/Cascader.jsx","******************************************/dp/survey_quest_fe/src/components/Lottery.jsx","******************************************/dp/survey_quest_fe/src/components/mobile/Question/MaterialUI/Slider.jsx","******************************************/dp/survey_quest_fe/src/components/mobile/Question/MaterialUI/index.jsx","******************************************/dp/survey_quest_fe/src/images/emoji-1.png","******************************************/dp/survey_quest_fe/src/images/emoji-2.png","******************************************/dp/survey_quest_fe/src/images/emoji-3.png","******************************************/dp/survey_quest_fe/src/images/emoji-4.png","******************************************/dp/survey_quest_fe/src/images/emoji-5.png","******************************************/dp/survey_quest_fe/src/images/emoji-1-gray.png","******************************************/dp/survey_quest_fe/src/images/emoji-2-gray.png","******************************************/dp/survey_quest_fe/src/images/emoji-3-gray.png","******************************************/dp/survey_quest_fe/src/images/emoji-4-gray.png","******************************************/dp/survey_quest_fe/src/images/emoji-5-gray.png","******************************************/dp/survey_quest_fe/src/components/common/Question/DateChoice.jsx","******************************************/dp/survey_quest_fe/src/images/footer-img.png","******************************************/dp/survey_quest_fe/src/components/common/IconFont/index.jsx","******************************************/dp/survey_quest_fe/src/components/Ending.jsx","******************************************/dp/survey_quest_fe/src/components/common/Header.jsx"],"names":["i","chunkIds","length","deferredModules","j","deferredModule","chunkId","existingLinkTags","existingStyleTags","then","type","target","script","enumerable","get","getter","value","key","bind","module","Object","prototype","hasOwnProperty","call","object","property","console","error","err","jsonpArray","webpackJsonpCallback","defaultAnswer","selected","text","SingleChoice","_Component","props","_this","this","rules","answer","callback","_this$props","question","quotaStrategy","disabledOpts","optionsQuota","filter","q","remaining","realShowOptions","state","required","setState","errorOption","otherRequired","custom","other","status","otherChecked","includes","optionBlank","option_blank","selectedOption","find","el","id","input","window","showMultiLang","concat","language","result","_props$question","_question","answers","_quotaStrategy","options","realShowOptionsBack","setShowOptions","random","reverse","showOptionsNum","Math","form","setFieldsValue","_this$props2","_answers$question$id","_answers$question$id2","newSelected","keys","forEach","prevProps","prevState","prevQ","nextQ","optionFilter","isReport","_nextQ$optionFilter$","split","_nextQ$optionFilter$2","filterByQuestionId","lineId","nowAnswers","prevAnswers","nowThatQuestionSelectedOptionsIds","prevThatQuestionSelectedOptionsIds","indexOf","slice","sort","JSON","stringify","errorSelected","errorText","_this2","_this$props3","_this$props3$answer","parse","_this$props$form","getFieldProps","getFieldError","_getFieldProps","initialValue","validator","onChange","formAnswer","disabledOptIds","map","params","_selected","getSelectedChange","_text","getOtherTextChange","_input","getInputChange","children","nextProps","allQuestions","some","item","MultiChoice","_custom$sampleGroups","_this$state","isFocus","_question$custom","min","max","option","push","overDisabledIds","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","_step","_loop","v","_iterator","Symbol","iterator","next","done","_ret","return","group","sampleGroups","randomOptions","_answer$option_blank","_answer$option_blank2","_answer$option_blank3","_this$state2","_question$custom2","changeAnswer","selectedLength","lastOneId","_other$mutex","mutex","_answer$option_blank4","_mutex","_answer$option_blank5","_loop2","_i","_answer$option_blank6","one","splice","realMin","realMax","createElement","onFocus","onBlur","_custom$sampleGroups2","LongText","_getPrototypeOf2","_len","arguments","args","Array","_key","apply","_this$props$question","_this$props$question$","restrictions","trim","checkRestrictions","openWordsRestriction","checkResult","_question$restriction","_question$custom$text","placeholder","_ref","maxWords","_onChange","join","val","getTextChange","FillinLong","ShortText","numberOnly","match","FillinShort","degree","_marks","_custom$options","textKey","_options","num","_custom$i","_custom$i2","label","jumpId","marks","_custom$_i","getDegreeChange","location","LocChoice","_React$Component","_custom$country","country","res","locationMap","data","catch","e","message","href","code","getLocationMap","_this$props$answer","hideDistrict","province","isArray","city","provinceLock","cityLock","getLocChange","Component","selected_values","selected_ids","optsText","defaultOpts","otherOptions","_optsText","fir","sec","third","ids","firOpt","secOpt","_question$custom3","titles","otherTitles","deviceWidth","document","body","clientWidth","Matrix","lines","values","line","tmp","_line","_tmp","couldReturn","funcName","isSingleMatrix","_this$getFormAnswer","getFormAnswer","lineSelected","lineKey","lineText","newText","device","isScaleMatrix","_ref$transpose","transpose","_ref$splitMode","splitMode","splitModeNew","splitQuestion","reduce","sum","html2Text","errorLine","_error$0$split","_error$0$split2","_custom","_lines","_isScaleMatrix","linesKeys","thisLines","realShowLines","optionsBack","setShowLines","randomLine","showMatrixOptionsNum","lineIds","preThisAnswers","thisSelected","thisAnswers","getFieldValue","_this$state3","_JSON$parse","_this$props3$device","_this$state4","_question$custom$tran","styleType","getSplitQuestion","isRandomOpts","getError","retrieveFunc","setIsFocus","className","newState","realOptions","realLines","host","origin","Upload","list","_nowAnswer$list","nowAnswer","prevAnswer","getFileListChange","fileList","_ref$text","_question$custom$with","withText","_question$custom$plac","_question$custom$acce","accept","randomComp","saveNoRandomOptions","noRandom","_saveNoRandomOptions$","pop","_saveNoRandomOptions$2","_option","index","getTotalPersent","total","numArr","NaN","Number","OptionInput","contentType","specificGravity","_realShowOptions","setInput","replace","_getFieldProps2","optionContCls","style","bottom","padding","color","PureDescription","description","descriptionWrapper","dangerouslySetInnerHTML","__html","isMobile","_ref$question$custom","_ref$question$custom$","title","_ref$question$custom$2","img","imgSrc","_ref$question$custom$3","ctime","_ref$isMobile","date","Date","m","getMonth","d","getDate","imgRef","current","onload","width","naturalWidth","height","naturalHeight","maxW","setAttribute","changeSize","src","alt","ref","marginTop","getFullYear","floor","init","app_id","channel_type","disable_auto_pv","config","log","_staging_flag","isLocal","isRD","start","prevPageTitle","tracePageOpen","pageTitle","predefinePageView","url","getConf","teaConf","traceShowQuestion","event","sum_question","traceUpdateQuestion","question_order","question_id","reply_type","traceSubmitQuestionnaire","isSubmit","submit_questionnaire","traceClickAdv","traceExitQuestionnaire","exit","traceOnError","errStack","error_stack","error_code","handleLimitTime","submitForm","basicLimit","clock","getElementById","appendChild","limitTime","limitTimeTask","setInterval","clearTimeout","h","s","innerHTML","transferDefaultDataToQuest","questionnaire","deliver_id","deliverId","survey_id","surveyId","uid","userId","questionnaire_id","questionnaireId","did","deviceId","appId","quest","struct","name","titleHide","desc","customParams","callbackAddr","bilingual","multiLanguage","localLanguage","canSelectLanguage","multiLngList","lang","setLang","direction","rtl","textDirection","textAlign","questions","_el$dep","dep","cons","con","findIndex","shuffleQuestions","_ref2","newQuestions","pageBreakIds","questionIds","qIds","idx","_idx","sampleQuestions","_ref3","sampleCount","_ref3$shuffle","shuffle","_ref3$groupIndex","groupIndex","_ref3$sampleGroupInde","sampleGroupIndex","_i2","a","b","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_idx2","group_index","sample_group_index","shuffleGroup","_ref5","isShuffle","_sampleConfig$sampleB","sampleConfig","sampleByGroup","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","getRealQuestions","_ref6","globalSampleGids","sampleIds","entries","previous","_ref7","_ref8","_ref8$","showQuestions","groupIds","isInteger","showQuestion","gIdx","pre","curr","_pre","_i3","_i4","realQuestions","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","_idx3","isPageBreak","sampleDataToQuestions","_data$struct","sample_config","mode","sample","sample_count","_ref4","_sampleConfig$sample_","sample_by_question","_sampleConfig$sample_2","sample_by_group","groupDepIds","sampleGroupIds","sampleQs","begin","begin_question","end","end_question","toCaml","sampleByQuestion","depGroups","groupConfig","_groupDepIds$index","g","begin_group","end_group","showQuest","questionList","sampleQuestionsByGroup","getPage","_ref9","p","page","ret","scrollToTop","querySelector","scrollIntoView","scrollTop","getPageContentLogic","isNextEnd","pageQuestions","currentNo","currentPage","no","retrieveDataAfterSubmit","_ref10","showQuotaLimit","show_message","i18n_prompt","_data$hit_quota_strat","_data","rnd","server_time","serverTime","hit_quota_strategy","quota_strategy","_data$score","score","urlParams","localStorageId","localStorage","removeItem","_data2","finish_redirect_url","finishUrl","decodeURIComponent","encodeURIComponent","preParams","queries","test","filterNonAnswer","showAnswer","originAnswers","_questions$i","uuid","thisAnswer","uuidSelected","ua","navigator","userAgent","referer","pathname","context","createContext","Consumer","Provider","theme","presetTheme","palette","primary","main","amEntityBg","contrastText","textColor","secondary","overrides","MuiAutocomplete","root","borderRadius","MuiOutlinedInput","position","borderColor","antEntityBorder","borderWidth","MuiSvgIcon","MuiInputLabel","MuiFormLabel","MuiIconButton","PrettoSlider","thumb","marginLeft","background","border","boxShadow","active","valueLabel","top","left","marked","marginBottom","track","rail","opacity","mark","backgroundColor","markLabel","fontSize","fontWeight","markLabelActive","markActive","useStyles","spacing","margin","navigatorLang","navigatorLanguage","convertLanguage","l","getLocalText","select","languageMap","en","rest","toLowerCase","cn","tc","ja","ko","pt","de","fr","it","hi","ta","te","ml","kn","mr","gu","bn","pa","bh","ar","tr","my","Russian","Spanish","Thai","Vietnamese","Filipino","back","successHandle","response","Promise","reject","errorHandle","_response$data$res","statusText","baseURL","apiPathTransform","defaults","Client","axiosClient","create","clientConfig","retry","interceptors","use","retriedErrorHandle","client","times","_Client$clientConfig","retryTimes","backOffDelay","info","resolve","setTimeout","defaultOpt","method","skipNotice","request","assign","headers","file","formData","FormData","append","timeout","getQuest","_callee","hashId","questId","sign","customs","_args","wrap","_context","prev","abrupt","_err$response","stop","_x","_x2","_x3","submitQuest","_callee2","hideAnalysisHeader","extra","_context2","toSnake","hide_analysis_header","post","_x4","_x5","_x6","_x7","_x8","_x9","_callee3","previewUrl","hostUrl","_args3","_context3","lotteryDraw","_callee4","_context4","_x10","loadLatestLotteryInfo","_callee5","_context5","_x11","lotteryUserInfo","_callee6","_context6","_x12","normalDark","primaryColor","textColorSecondary","questionBg","antTableHover","antMenuHover","antBg","antBorder","antEntityBg","antTableBorder","scaleSquare","inputBg","endingBg","btnText","sliderThumb","checkboxDisabledColor","titleStickyBg","classicalDark","technology","antCheckBg","linearGreen","mobileFooterBg","linearPurple","chLight","lightWarm","lightCold","cyberpunk","allowedAttributes","video","audio","allowedTags","showErrorQuestIds","getNewH5HTML","getCustomizedHTML","customizedTheme","getCustomizedHTMLByQuestBgColor","questBgColor","languageOpts","cnLabel","enLabel","Header","headerCls","_useState","_useState2","visible","setVisible","_useState3","_useState4","setLanguage","store","_store$state","_ref$multiLngList","answerAfterSelectLanguage","selectdLang","languageColumns","_languageOpts$find","triggerRender","_value$","flexShrink","optionList","action","update","okText","cancelText","onOk","onCancel","languageModalCls","marginRight","_value$2","TextArea","restProps","_restProps$required","_restProps$value","_restProps$maxwords","maxwords","_restProps$chosen","chosen","requestAnimationFrame","selectionStart","selectionEnd","focus","Fragment","IconFont","requiredIcon","autoHeightText","autoSize","countCls","_formAnswer$selected","txt","Autocomplete","_el","getOptionLabel","newValue","getOptionSelected","getOptionDisabled","opt","renderInput","TextField","variant","fullWidth","InputLabelProps","shrink","RadioGroup","Group","FormItem","Item","SingleChoicePC","displayType","_ref$options","_ref$disabledOptIds","_question$custom$spli","splitCols","rowCounts","ceil","colsSpan","validateStatus","hasFeedback","help","fill","_","gutter","wrapperCol","span","radioCls","disabled","optionContentRender","InputSingleLine","_onChange2","overflow","display","minWidth","flexFlow","tips","zoom","scale","loading","controls","CheckboxGroup","MultiChoicePC","Boolean","checkboxCls","_ref2$options","optionGroups","opts","lng","MultiChoiceGroupCls","showGroupName","renderMultiChoiceOpts","LongTextPC","content","_ref$maxWords","maxLength","minHeight","ShortTextPC","ScalePC","descriptionType","labels","Scale","NewScale","DateChoicePC","DateChoice","size","allowClear","dateString","LocChoicePC","showSearch","suffixIcon","Cascader","titleStr","choice","MatrixPC","checked","optionId","_opt$mutex","disabledIds","labelKey","newDisabledIds","columnLen","innerWidth","column","align","dataIndex","render","record","alignItems","colSpan","renderScale","onValueClick","superOnChange","selectedOne","selectedIdx","o","toString","obj","isInsideMatrix","columns","getColumn","dataSource","pagination","rowKey","previewVisible","previewImage","thumbUrl","every","beforeUpload","isFail","_el$response$data","_this$state$text","_el$response","_fileList","uploadButton","listType","onPreview","handlePreview","handleChange","footer","handleCancel","handleTextChange","substring","SortPC","_question$custom$sort","sortType","Sort","handleDrop","handleDragStart","clickedOptions","isFirst","isLast","OptionInputPC","optionLabelWidth","optionInputCls","showHeader","_record","suffix","pauseAll","self","audios","from","querySelectorAll","pause","currentTime","_class","_class2","Question","realName","refSelected","nameRef","addEventListener","nameRandom","showNameOptionsNum","hideQuestionNo","showQuestionType","whiteSpace","wordBreak","fontStretch","fontStyle","lineHeight","letterSpacing","common","ShoppingOrder","QuestionFrame","renderBody","htmlReg","onlyShowContent","Content","formRef","handleFormRef","resetValidateAll","handleOnRef","cipherUrl","_store$action","submit","getPageContent","backLastPage","updateAnswers","emptyAllAnswers","showLastPage","privacy","hidePageNo","doSubmit","onValuesChange","changed","_dec","Form","submitStack","intervalID","acCurrent","timeLimit","timeRef","t","clearInterval","that","nextForm","validateFields","force","resetFields","fields","submitStep","element","submitPromise","hide","offsetTop","handleTimeLimit","_this$props4","icon","maxHeight","validateAllWithoutScroll","_this$props5","_getPageContent","breakPageInfo","shift","firstQuestionJumpOver","ContentWrap","right","onClick","execCommand","success","blur","onSubmit","preventDefault","arr","questionId","goBackPage","submitBtnCls","showErrorInfoAfterSubmitBtn","showFooter","_ref$footerType","footerType","defaultFooter","dir","tcpyConfig","TTP","Layout","msg","showLottery","Container","banner","cdn","dpPublicPrefix","onMouseEnter","classList","add","onMouseLeave","remove","mainCls","Page","Footer","Loading","show","locale","DndProvider","backend","renderMessage","renderLayout","mb","bounce","bottomBubbles","Submitted","realPrompt","Ending","finishImgScale","finishImgUrl","StateInfo","stateModalContCls","Root","_videoStyle","videoStyle","exact","path","component","App","_props$descriptionTyp","_props$style","_props$device","maxNum","minNum","marksStyle","ScaleBox","Labels","flex","wordWrap","transform","Points","Nps","Emoji","marksTop","NpsSquare","emojiOptions","1","2","3","4","5","emojiGrayOptions","emojiRateCls","String","_props$styleType","_props$isScaleMatrix","starTo","Circle","checkUndefined","toInt","str","errRet","round","parseInt","isNaN","CaseUtil","upperFirst","keyCaml","c","toUpperCase","isObject","keyLine","offset","closest","selector","matchesSelector","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","copyEl","parentElement","getRealName","questionType","_split","_split2","realLineId","_question$name","defaultName","multiLangName","reg","RegExp","reg2","refAns","textArray","randomShowOptions","_textArray","_refAns$text","targetQuestion","targetOption","_targetOption","_textArray2","_refAns$text2","randomArray","newOptions","newArr","optionIndex","getUrlParamsText","_location$search","search","filterXss","substr","getUrlParams","_location$search2","customAnswer","_str$split","filterValue","HTMLDecode","_temp","_temp2","temp","output","innerText","textContent","compareVersion","version1","version2","arr1","arr2","length1","length2","minlength","_j","typeCheckerFn","typeChecker","isSingleSelectChoice","isSingleChoice","isMultiChoice","isDescription","isLongText","isShortText","isScale","isMatrix","isLocation","isChoice","isText","breakpoints","large","medium","getQuotaText","accumulator","prefix","cls","simulateMobile","basicOptText","enText","quota","showRemaining","remainTips","showAll","amount","fullTips","getRealShowOption","_ref17","_question$custom2$opt","optGroupsList","groupList","_checkOptionGroups","checkOptionGroups","optGroups","getOptionIdx","beginGroup","endGroup","beginIdx","endIdx","isShow","_ref20","sampleOpts","noRandomOpts","optIdxs","sampleOptGroups","sampleOptions","checkDepRule","_question$optionFilte","_targetQuestion$custo","_answers$filterByQues4","_opt$id$split","_opt$id$split2","thatQuestionSelectedOptionsIds","targetOptions","existedOptIds","_answers$filterByQues","_answers$filterByQues2","_answers$filterByQues3","userInput","isTrap","_answers$filterByQues5","showEnQuest","getRealShowLine","_ref7$answers","_con$id$split","_con$id$split2","depQuestionId","selectedIds","isOK","optionIds","questionFilter","visibles","checkJumpOver","_answers$q$id$selecte","_ref8$answers","typeList","lastIndexOf","selectedId","_ret2","_answers$q$id","multiJumpRules","qIndex","logic","_multiJumpRules$i","jumpIndex","_ret3","_loop3","_multiJumpRules$i2","_multiJumpRules$i2$co","count","selectedIdsLength","_ret4","checkNextEnd","_answers$q$id$selecte2","_ref9$answers","answerKeys","sampleGids","checkGroupDepRule","getSampleGroupIds","_ref10$depGroups","groupCount","trueList","_ref11","_sampleConfig$sampleB2","_sampleConfig$sampleB3","getDepGroups","_ref12","_ref12$sampleByQuesti","getGroupDepIds","_ref13","_sampleConfig$sampleB4","_sampleConfig$sampleB5","_sample$dep","_sample$dep$cons","conIds","_ref14","_ref14$answerKeys","_ref14$sampleGids","_sampleConfig$sampleB6","_sampleConfig$sampleB7","hasDepAnswerKey","inputChecker","minWords","getQuestionType","single","singleSelect","multi","cascader","trueFalse","short","long","nps","singleMatrix","multiMatrix","scaleMatrix","upload","email","fillinShort","fillinLong","order","nonScoreSingle","nonScoreMulti","nonScoreSingleSelect","optionInput","getFirstQuestionJump","_ref15","jumpOver","resetAnwsers","_ref16","_ref16$realShowOption","_ref16$realShowLines","Lid","getSampleGroupOpts","_ref18","_ref19","getSampleGids","groupOpts","_ref21","optionIndexMap","Map","beginId","endId","_ref22","sampleValue","groupsValue","startIdx","preEndIdxs","_loop4","n","preEndI","getMultiChoiceOptions","_ref23","_custom$optionGroups","gidx","groups","acc","cur","_ref24","_Error","RequestError","Error","captureStackTrace","ErrorBoundary","throwError","_this$state$error","TypeError","MainView","errorBoxCls","stack","vgap","hgap","postMessage","_window$parent","_window$opener","parent","debug","opener","GlbStyleBox","Progress","NewEnding","isUrlToGenStamp","isUrlToDecrypt","Window","setItem","newStorageEvent","createEvent","k","sessionStorage","initStorageEvent","dispatchEvent","WrappedComponent","ConnectedComponent","delay","time","_PureComponent","resume","recycleUid","recycleProducts","_questionFilter","_questionFilter$visib","nextState","_resetStoreFirstCall","_answers","cipherAns","decrypt","uindex","LSAnswer","getItem","forceUpdate","selectedAnswers","getOriginOrder","getQuestId","_this$state2$quest","prompt","qnVersion","cost","appInfo","userInfo","apiParam","_userInfo","_appInfo","resp","_userInfo2","globalProps","_userInfo3","_appInfo2","submitting","custom_answer","now","startTime","toFixed","qn_version","language_value","getAppInfo","sent","getUserInfo","user_id","device_id","hasLoggedIn","userID","__globalprops","getGlobalProps","warn","api","_result$data","submitted","doAfterSubmit","retrieved","fixedScore","showProgress","fallback","newH5Style","questName","showLotteryPage","hit","_filteredAnswers$qid","filteredAnswers","qid","option_id","_this$state$page","turnPage","_this$state5","stringToEncrypt","cipher","_questionFilter2","_questionFilter2$visi","qs","getSelectedAnswers","traceUpdate","encrypt","_this$state6","checkQuestSeleted","_answers$key","_answers$key3","_answers$key3$selecte","_answers$key4","_answers$key5","_answers$key6","_answers$key6$locatio","_answers$key7","_answers$key8","_answers$key8$list","_answers$key9","_answers$key9$selecte","_answers$key2","_selected$k","_hashId","previewAuth","_fetchQuest","clientHeight","fetchQuest","timestamp","getLocalQuest","_this$state7","errorInfo","componentStack","evt","pointerEvents","print","customsPre","urlCustoms","_this3","sampleQuestInfo","_quest$resume","retrieveDefaultAnswers","resetStore","_err$data","errorCode","finally","_background$color","_this$props2$device","_this$state8","setUpStore","questBackground","pageBgColor","titleKey","Helmet","styles","progress","LimitTime","paddingTop","displayName","exports","MaterialSlider","_ref$isInsideMatrix","marksKeys","sliderVal","setSliderVal","newVal","onChangeCommitted","step","valueLabelDisplay","valueLabelFormat","withPalette","UIComponent","_theme","classes","_this$props$form$getF","oldIndex","task","setSelected","sourceId","targetId","sourceIndex","targetIndex","orderRealShowOptions","_arr","click","handleClick","SortMobild","CustomDragLayer","OptionItem","optionLen","_useDrag","canDrag","collect","monitor","isDragging","_useDrag2","drag","preview","captureDraggingState","_useDrop","hover","dragIndex","hoverIndex","drop","isOver","_useDrop2","userSelect","sortIndex","dragItemBox","paddingBottom","OptionTextRender","layerStyles","zIndex","_useDragLayer","itemType","getItemType","initialOffset","getInitialSourceClientOffset","currentOffset","getSourceClientOffset","getItemStyles","x","y","WebkitTransform","maxWidth","labelLine","titleCeiling","listBoxCla","optionCeiling","ceilBoxCls","renderHeader","relative","titleCls","ttp","LotteryModal","_Form$useForm","useForm","prizeInfo","closeModal","openCascader","_props$location","imgUrl","cardId","cardSecret","infoModal","setInfoModal","stateModal","setStateModal","_useState5","_useState6","tipModal","setTipModal","_useState7","_useState8","quitModal","setQuitModal","_useState9","_useState10","successTip","setSuccessTip","_useState11","_useState12","checkState","setCheckState","_useState13","_useState14","showSecret","setShowSecret","_useState15","_useState16","hasError","closeQuitModal","formValues","stateContent","tipContent","tipModalContCls","quitContent","prizeCont","prizeImgCls","prizeCls","onCopy","maskClassName","duration","userInfoCont","successContCls","formCls","layout","clearable","autoComplete","validateTrigger","rule","bodyStyle","actions","alignCenter","formApi","setFormApi","cursor","getFormApi","Input","field","showClear","treeData","Checkbox","noLabel","stopPropagation","open","maskClosable","validate","closable","centered","LocMobile","cascaderVisible","changeLocation","closeCascader","onConfirm","currentIndex","jumps","speed","timer","_React$PureComponent","Preview","classVal","getAttribute","resetActive","newId","newClass","prizeList","prizeIndex","minimumJumps","runCircle","prizeName","prizeTip","prizeModalVisible","controllSpeed","lotteryParams","contact","address","showLocCascader","turntableList","latestLotteryInfo","lotteryInfo","lottery_v3","getLotteryResult","getPrizeList","idxs","win","_prizeInfo$position","_this4","_latestLotteryInfo$pr","prizes","prize","img_url","_this5","previewCls","tabIndex","getLatestLotteryInfo","submitUserInfo","PureComponent","_rules","getDateChange","createFromIconfontCN","scriptUrl","iconfont","IconFontComponent","_ref$style","_ref$className","_ref$color","aReg","needIdReg","_lottery_v3$prizes","prePrompt","lottery_url","response_id","score_analysis","exam_pass","showAna","setShowAna","setShowLottery","setPrompt","getRichOption","_ref$scale","getRichOptions","resultIconBox","mask","polyCur","unique_str","AnalysisBox","_getQuestionAnalysis","_question$score","_question$total","_question$option_answ","option_answers","_question$text_answer","text_answers","question_type","_question$text_answer2","text_answer","isFillin","correct","correct_text_answer","selectedText","correctText","getQuestionAnalysis","analysis","_question$option_answ2","_question$text_answer3","question_name","hide_question_no","question_index","goodJob","user_hit","noOptionAnalysis","option_analysis","singleAnalysisCard","tagTitle","optionAnswers","getOptionAnalysis","dashed","EndingBox","has_lottery_draw","reload","_quest$descKey","header","descKey","titleColor","fontFamily"],"mappings":"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BA,EAAyC,UAAY,wBAAyB,wEAAwE9wB,OAAO8wB,EAAc,qEAAqE9wB,OAAO8wB,EAAc,4HAA4H9wB,OAAO8wB,EAAc,sBAEzlDC,EAAe,CAAC,CACzBjnB,MAAO,OACPknB,QAAS,OACTt0B,MAAO,MACN,CACDoN,MAAO,OACPknB,QAAS,OACTt0B,MAAO,MACN,CACDoN,MAAO,UACPknB,QAAS,UACTt0B,MAAO,MACN,CACDoN,MAAO,MACPknB,QAAS,MACTt0B,MAAO,MACN,CACDoN,MAAO,MACPknB,QAAS,MACTt0B,MAAO,MACN,CACDoN,MAAO,YACPknB,QAAS,OACTt0B,MAAO,MACN,CACDoN,MAAO,UACPknB,QAAS,KACTt0B,MAAO,MACN,CACDoN,MAAO,WACPknB,QAAS,KACTt0B,MAAO,MACN,CACDoN,MAAO,WACPknB,QAAS,OACTt0B,MAAO,MACN,CACDoN,MAAO,QACPknB,QAAS,MACTt0B,MAAO,SACN,CACDoN,MAAO,QACPknB,QAAS,OACTt0B,MAAO,MACN,CACDoN,MAAO,SACPknB,QAAS,OACTt0B,MAAO,MACN,CACDoN,MAAO,SACPknB,QAAS,YACTt0B,MAAO,MACN,CACDoN,MAAO,QACPknB,QAAS,UACTt0B,MAAO,MACN,CACDoN,MAAO,QACPknB,QAAS,UACTt0B,MAAO,MACN,CACDoN,MAAO,UACPknB,QAAS,WACTt0B,MAAO,MACN,CACDoN,MAAO,UACPknB,QAAS,UACTt0B,MAAO,MACN,CACDoN,MAAO,SACPknB,QAAS,UACTt0B,MAAO,MACN,CACDoN,MAAO,UACPknB,QAAS,WACTt0B,MAAO,MACN,CACDoN,MAAO,mBACPmnB,QAAS,mBACTv0B,MAAO,MACN,CACDoN,MAAO,UACPknB,QAAS,YACTt0B,MAAO,MACN,CACDoN,MAAO,SACPmnB,QAAS,OACTv0B,MAAO,MACN,CACDoN,MAAO,UACPknB,QAAS,QACTt0B,MAAO,MACN,CACDoN,MAAO,UACPknB,QAAS,KACTt0B,MAAO,WACN,CACDoN,MAAO,UACPknB,QAAS,OACTt0B,MAAO,WACN,CACDoN,MAAO,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","file":"static/js/pc.0e5ca007.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t12: 0,\n \t\t20: 0\n \t};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t12: 0,\n \t\t20: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({}[chunkId]||chunkId) + \".\" + \"0e5ca007\" + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"0\":1,\"1\":1,\"8\":1,\"10\":1,\"19\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"static/css/\" + ({}[chunkId]||chunkId) + \".\" + chunkId + \".\" + {\"0\":\"ea6d832633cd7f202d27\",\"1\":\"69e65c02a20fd61059a8\",\"4\":\"31d6cfe0d16ae931b73c\",\"8\":\"e2c269d62f34e4ef2dfc\",\"9\":\"31d6cfe0d16ae931b73c\",\"10\":\"7b27170c6938a995a303\",\"19\":\"a9070dc8b649b0c09a31\",\"29\":\"31d6cfe0d16ae931b73c\",\"30\":\"31d6cfe0d16ae931b73c\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar head = document.getElementsByTagName('head')[0];\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\tvar error = new Error('Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')');\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\thead.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"https://lf16-cdn-tos.tiktokcdn-us.com/obj/static-tx/dp/survey_quest_fe_ttp/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([2053,14,6]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { Component } from 'react';\nimport isEqual from 'lodash/isEqual';\nimport { createNode } from 'yaml';\nimport { getLocalText } from '@/utilities/language';\nimport { getRealShowOption, inputChecker, resetAnwsers } from '@/utilities/quest';\nimport { randomArray, randomComp, randomShowOptions } from '@/utilities/common';\nvar defaultAnswer = {\n selected: [],\n text: '',\n type: 'single'\n};\nvar SingleChoice = /*#__PURE__*/function (_Component) {\n _inherits(SingleChoice, _Component);\n function SingleChoice(props) {\n var _this;\n _classCallCheck(this, SingleChoice);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(SingleChoice).call(this, props));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"validator\", function (rules, answer, callback) {\n var _this$props = _this.props,\n question = _this$props.question,\n quotaStrategy = _this$props.quotaStrategy;\n var disabledOpts = quotaStrategy === null || quotaStrategy === void 0 ? void 0 : quotaStrategy.optionsQuota.filter(function (q) {\n return !q.remaining;\n });\n var type = question.type;\n var realShowOptions = _this.state.realShowOptions;\n if ((disabledOpts === null || disabledOpts === void 0 ? void 0 : disabledOpts.length) === realShowOptions.length && question.required) {\n _this.setState({\n errorOption: ''\n });\n callback();\n return; // 全部选项满额的时候就不检查了\n }\n\n if (question.required && answer.selected.length === 0) {\n _this.setState({\n errorOption: ''\n });\n callback(getLocalText('SingleChoice.Selected'));\n return;\n }\n var otherRequired = question.custom.other.status === 2;\n var otherChecked = answer.selected.includes('other');\n var textRequired = otherRequired && otherChecked;\n if (textRequired && !answer.text) {\n _this.setState({\n errorOption: 'other'\n });\n callback(getLocalText('SingleChoice.otherText'));\n return;\n }\n var optionBlank = answer.option_blank || {};\n var selectedOption = realShowOptions.find(function (el) {\n return el.id === answer.selected[0];\n });\n if ((type === 'single' || type === 'nonScoreSingle') && selectedOption && selectedOption.input === 'required') {\n try {\n if (!answer.option_blank[selectedOption.id][0]) {\n _this.setState({\n errorOption: selectedOption.id\n });\n callback(getLocalText('SingleChoice.Selected'));\n return;\n }\n } catch (error) {\n _this.setState({\n errorOption: selectedOption.id\n });\n callback(getLocalText('SingleChoice.Selected'));\n return;\n }\n }\n if ((type === 'single' || type === 'nonScoreSingle') && selectedOption && !!selectedOption.input && (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption[window.showMultiLang ? \"\".concat(window.language, \"Restrictions\") : 'restrictions']) && optionBlank[selectedOption.id]) {\n var result = inputChecker(answer.option_blank[selectedOption.id][0], selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption[window.showMultiLang ? \"\".concat(window.language, \"Restrictions\") : 'restrictions']);\n if (result !== true) {\n _this.setState({\n errorOption: selectedOption.id\n });\n callback(result);\n return;\n }\n }\n _this.setState({\n errorOption: ''\n });\n callback();\n });\n var _props$question = props.question,\n _question = _props$question === void 0 ? {} : _props$question,\n answers = props.answers,\n _quotaStrategy = props.quotaStrategy;\n var custom = _question.custom;\n _this.state = {\n options: (custom || {}).options || [],\n errorOption: '',\n realShowOptions: getRealShowOption({\n question: _question,\n answers: answers,\n quotaStrategy: _quotaStrategy\n }),\n realShowOptionsBack: getRealShowOption({\n question: _question,\n answers: answers,\n quotaStrategy: _quotaStrategy\n }),\n setShowOptions: (custom.random || custom.reverse) && custom.showOptionsNum && custom.showOptionsNum > 0\n };\n if (custom.random || custom.reverse) {\n if (custom.random) {\n // 随机排序\n _this.state.realShowOptions = randomArray(_toConsumableArray(_this.state.realShowOptions));\n } else if (custom.reverse) {\n var actuallyReverse = Math.random() >= 0.5;\n if (actuallyReverse) {\n _this.state.realShowOptions = randomArray(_toConsumableArray(_this.state.realShowOptions), 'reverse');\n }\n }\n if (_this.state.setShowOptions) {\n _this.state.realShowOptions = randomShowOptions(_toConsumableArray(_this.state.realShowOptions), custom.showOptionsNum, custom.random ? 'random' : 'reverse');\n props.form.setFieldsValue(_defineProperty({}, _question.id, {\n type: _question.type,\n selected: [],\n text: ''\n }));\n }\n }\n return _this;\n }\n _createClass(SingleChoice, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props2 = this.props,\n question = _this$props2.question,\n answers = _this$props2.answers;\n try {\n var _answers$question$id, _answers$question$id2;\n var selected = (answers === null || answers === void 0 ? void 0 : (_answers$question$id = answers[question.id]) === null || _answers$question$id === void 0 ? void 0 : _answers$question$id.selected) || [];\n var option_blank = (answers === null || answers === void 0 ? void 0 : (_answers$question$id2 = answers[question.id]) === null || _answers$question$id2 === void 0 ? void 0 : _answers$question$id2.option_blank) || {};\n var realShowOptions = this.state.realShowOptions;\n if (selected.length) {\n var newSelected = resetAnwsers({\n type: question.type,\n question: question,\n answers: answers,\n realShowOptions: realShowOptions\n });\n Object.keys(option_blank).forEach(function (key) {\n if (!newSelected.includes(key)) {\n delete option_blank[key];\n }\n });\n this.props.form.setFieldsValue(_defineProperty({}, question.id, {\n type: question.type,\n selected: newSelected,\n option_blank: option_blank,\n text: ''\n }));\n }\n } catch (error) {\n console.error(error);\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var prevQ = prevProps.question;\n var nextQ = this.props.question;\n if (nextQ.optionFilter && nextQ.optionFilter[0] && !window.isReport) {\n var _nextQ$optionFilter$ = nextQ.optionFilter[0].id.split('--matrix--'),\n _nextQ$optionFilter$2 = _slicedToArray(_nextQ$optionFilter$, 2),\n filterByQuestionId = _nextQ$optionFilter$2[0],\n lineId = _nextQ$optionFilter$2[1];\n var nowAnswers = this.props.answers;\n var prevAnswers = prevProps.answers;\n var nowThatQuestionSelectedOptionsIds = nowAnswers[filterByQuestionId] ? nowAnswers[filterByQuestionId].selected : [];\n var prevThatQuestionSelectedOptionsIds = prevAnswers[filterByQuestionId] ? prevAnswers[filterByQuestionId].selected : [];\n if (lineId) {\n if (lineId.indexOf('title') > -1) {\n lineId = lineId.slice(0, -6);\n }\n nowThatQuestionSelectedOptionsIds = nowThatQuestionSelectedOptionsIds[lineId] || [];\n prevThatQuestionSelectedOptionsIds = prevThatQuestionSelectedOptionsIds[lineId] || [];\n }\n var equal = isEqual(nowThatQuestionSelectedOptionsIds.sort(), prevThatQuestionSelectedOptionsIds.sort());\n if (!equal && !(nowThatQuestionSelectedOptionsIds.length === 0 && prevThatQuestionSelectedOptionsIds.length === 0)) {\n this.props.form.setFieldsValue(_defineProperty({}, nextQ.id, {\n type: nextQ.type,\n selected: [],\n text: ''\n }));\n }\n }\n\n // 如果选项变了 就清空答案\n if (prevState.realShowOptions !== this.state.realShowOptions && !window.isReport) {\n this.props.form.setFieldsValue(_defineProperty({}, nextQ.id, {\n type: nextQ.type,\n selected: [],\n text: ''\n }));\n }\n\n // 预览模式下面始终不成立(broadcastchannel 使用JSON.stringify传递数据\n // 问卷模式下面始终成立, 问卷结构不会改变\n if (prevQ === nextQ) return;\n // 打开随机按钮\n if (!prevQ.custom.random && nextQ.custom.random) {\n // eslint-disable-next-line\n this.setState({\n options: nextQ.custom.options.slice().sort(randomComp)\n });\n }\n // 关闭随机按钮\n if (prevQ.custom.random && !nextQ.custom.random) {\n // eslint-disable-next-line\n this.setState({\n options: nextQ.custom.options\n });\n }\n // 判断是否修改了options, 但是broadcast channel始终是深拷贝传递。所以这里不能比较地址了。\n if (JSON.stringify(nextQ.custom.options) !== JSON.stringify(prevQ.custom.options)) {\n if (nextQ.custom.random) {\n // eslint-disable-next-line\n this.setState({\n options: nextQ.custom.options.slice().sort(randomComp)\n });\n } else {\n // eslint-disable-next-line\n this.setState({\n options: nextQ.custom.options\n });\n }\n }\n }\n }, {\n key: \"getSelectedChange\",\n value: function getSelectedChange(id, answer) {\n var text = '';\n if (id === 'other') {\n text = answer && answer.text || '';\n }\n return {\n type: this.props.question.type,\n selected: id ? [id] : [],\n text: text,\n option_blank: _objectSpread({}, answer.option_blank)\n };\n }\n }, {\n key: \"getInputChange\",\n value: function getInputChange(id, input, answer) {\n var text = answer && answer.text || '';\n return {\n type: this.props.question.type,\n selected: [id],\n text: text,\n option_blank: _objectSpread({}, answer.option_blank, _defineProperty({}, id, [input]))\n };\n }\n }, {\n key: \"getOtherTextChange\",\n value: function getOtherTextChange(text) {\n return {\n type: this.props.question.type,\n selected: ['other'],\n text: text\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props3 = this.props,\n question = _this$props3.question,\n _this$props3$answer = _this$props3.answer,\n answer = _this$props3$answer === void 0 ? JSON.parse(JSON.stringify(defaultAnswer)) : _this$props3$answer,\n quotaStrategy = _this$props3.quotaStrategy;\n var realShowOptions = this.state.realShowOptions;\n var _this$props$form = this.props.form,\n getFieldProps = _this$props$form.getFieldProps,\n getFieldError = _this$props$form.getFieldError;\n var id = question.id || 'unknown-form-item';\n var _getFieldProps = getFieldProps(id, {\n initialValue: answer,\n rules: [{\n validator: this.validator\n }]\n }),\n onChange = _getFieldProps.onChange,\n formAnswer = _getFieldProps.value; // 因为getFieldError无法判断error的来源,所以只能用这样的trick方法,\n // rc-form 写的真心不好\n var errorSelected;\n var errorText;\n var error = getFieldError(id);\n if (error && error[0]) {\n var _error = _slicedToArray(error, 1);\n errorSelected = _error[0];\n }\n if (error && error[0] === getLocalText('SingleChoice.otherText')) {\n var _error2 = _slicedToArray(error, 1);\n errorText = _error2[0];\n }\n var disabledOptIds = (quotaStrategy === null || quotaStrategy === void 0 ? void 0 : quotaStrategy.optionsQuota.filter(function (q) {\n return !q.remaining;\n }).map(function (q) {\n return q.id;\n })) || [];\n var params = {\n options: realShowOptions,\n formAnswer: formAnswer,\n error: {\n selected: errorSelected,\n text: errorText,\n errorOption: this.state.errorOption\n },\n onChange: {\n selected: function selected(_selected) {\n return onChange(_this2.getSelectedChange(_selected, formAnswer));\n },\n text: function text(_text) {\n return onChange(_this2.getOtherTextChange(_text));\n },\n input: function input(id, _input) {\n onChange(_this2.getInputChange(id, _input, formAnswer));\n }\n },\n disabledOptIds: disabledOptIds\n };\n return this.props.children(params);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, state) {\n var question = nextProps.question,\n answers = nextProps.answers,\n quotaStrategy = nextProps.quotaStrategy;\n var custom = question.custom;\n var realShowOptions = getRealShowOption({\n question: question,\n answers: answers,\n quotaStrategy: quotaStrategy\n });\n window.allQuestions.find(function (el) {\n return el.id === question.id;\n }).custom.realShowOptions = realShowOptions;\n if (custom.random) {\n realShowOptions = randomArray(_toConsumableArray(realShowOptions));\n }\n if (realShowOptions.length !== state.realShowOptionsBack.length || realShowOptions.some(function (el) {\n return !state.realShowOptionsBack.find(function (item) {\n return item.id === el.id;\n });\n }) || realShowOptions.some(function (el) {\n return el.text !== state.realShowOptionsBack.find(function (item) {\n return item.id === el.id;\n }).text;\n })) {\n var realShowOptionsBack = _toConsumableArray(realShowOptions);\n if (custom.random) {\n realShowOptions = randomArray(_toConsumableArray(realShowOptions));\n }\n if ((custom.random || custom.reverse) && state.setShowOptions) {\n realShowOptions = randomShowOptions(_toConsumableArray(realShowOptions), custom.showOptionsNum, custom.random ? 'random' : 'reverse');\n nextProps.form.setFieldsValue(_defineProperty({}, question.id, {\n type: question.type,\n selected: [],\n text: ''\n }));\n }\n return {\n realShowOptions: realShowOptions,\n realShowOptionsBack: realShowOptionsBack\n };\n }\n return null;\n }\n }]);\n return SingleChoice;\n}(Component);\nexport { SingleChoice as default };","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport isEqual from 'lodash/isEqual';\nimport { getRealShowOption, inputChecker, resetAnwsers, getSampleGroupOpts } from '@/utilities/quest';\nimport { getLocalText } from '@/utilities/language';\nimport { randomArray, randomShowOptions } from '@/utilities/common';\nvar defaultAnswer = {\n selected: [],\n text: '',\n type: 'multi'\n};\nvar MultiChoice = /*#__PURE__*/function (_Component) {\n _inherits(MultiChoice, _Component);\n function MultiChoice(props) {\n var _custom$sampleGroups;\n var _this;\n _classCallCheck(this, MultiChoice);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(MultiChoice).call(this, props));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"validator\", function (rules, answer, callback) {\n var _this$props = _this.props,\n question = _this$props.question,\n quotaStrategy = _this$props.quotaStrategy;\n var disabledOpts = quotaStrategy === null || quotaStrategy === void 0 ? void 0 : quotaStrategy.optionsQuota.filter(function (q) {\n return !q.remaining;\n });\n var _this$state = _this.state,\n realShowOptions = _this$state.realShowOptions,\n isFocus = _this$state.isFocus;\n if ((disabledOpts === null || disabledOpts === void 0 ? void 0 : disabledOpts.length) === realShowOptions.length && question.required) {\n _this.setState({\n errorOption: ''\n });\n callback();\n return; // 全部选项满额的时候就不检查了\n }\n var _question$custom = question.custom,\n min = _question$custom.min,\n max = _question$custom.max,\n options = _question$custom.options;\n if (answer.selected.length !== 0 && (!isFocus && min && answer.selected.length < min || max && answer.selected.length > max)) {\n // callback(`需要选择多于${min}个小于${max}个答案`);\n _this.setState({\n errorOption: ''\n });\n callback(getLocalText('MultiChoice.min.or.max', min || +question.required, max || options.length + +(question.custom.other.status !== 0)));\n }\n if (max && answer.selected.length == max) {\n var params = [];\n realShowOptions.forEach(function (option) {\n if (answer.selected.indexOf(option.id) < 0) {\n params.push(option.id);\n }\n _this.setState({\n overDisabledIds: params\n });\n });\n } else {\n _this.setState({\n overDisabledIds: []\n });\n }\n if (question.required && answer.selected.length === 0) {\n _this.setState({\n errorOption: ''\n });\n callback(getLocalText('SingleChoice.Selected'));\n return;\n }\n var otherRequired = question.custom.other.status === 2;\n var otherChecked = answer.selected.includes('other');\n var textRequired = otherRequired && otherChecked;\n if (textRequired && !answer.text) {\n _this.setState({\n errorOption: 'other'\n });\n callback(getLocalText('SingleChoice.otherText'));\n return;\n }\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n try {\n var _loop = function _loop() {\n var id = _step.value;\n if (id === 'other') {\n return \"continue\";\n }\n var selectedOption = realShowOptions.find(function (el) {\n return el.id === id;\n });\n if (selectedOption && selectedOption.input === 'required') {\n try {\n if (!answer.option_blank[selectedOption.id][0]) {\n _this.setState({\n errorOption: id\n });\n callback(getLocalText('SingleChoice.Selected'));\n return {\n v: void 0\n };\n }\n } catch (error) {\n _this.setState({\n errorOption: id\n });\n callback(getLocalText('SingleChoice.Selected'));\n return {\n v: void 0\n };\n }\n }\n var optionBlank = answer.option_blank || {};\n if ((selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption[window.showMultiLang ? \"\".concat(window.language, \"Restrictions\") : 'restrictions']) && optionBlank[selectedOption.id]) {\n var result = inputChecker(answer.option_blank[selectedOption.id][0], selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption[window.showMultiLang ? \"\".concat(window.language, \"Restrictions\") : 'restrictions']);\n if (result !== true) {\n _this.setState({\n errorOption: selectedOption.id\n });\n callback(result);\n return {\n v: void 0\n };\n }\n }\n };\n for (var _iterator = answer.selected[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _ret = _loop();\n switch (_ret) {\n case \"continue\":\n continue;\n default:\n if (_typeof(_ret) === \"object\") return _ret.v;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n _this.setState({\n errorOption: ''\n });\n callback();\n });\n var _question = props.question,\n answers = props.answers,\n _quotaStrategy = props.quotaStrategy;\n var custom = _question.custom;\n _this.state = {\n options: custom.options,\n errorOption: '',\n realShowOptions: getRealShowOption({\n question: _question,\n answers: answers,\n quotaStrategy: _quotaStrategy\n }),\n realShowOptionsBack: getRealShowOption({\n question: _question,\n answers: answers,\n quotaStrategy: _quotaStrategy\n }),\n isFocus: false,\n overDisabledIds: [],\n setShowOptions: (custom.random || custom.reverse) && custom.showOptionsNum && custom.showOptionsNum > 0\n };\n if (custom.random || custom.reverse) {\n if (custom.random) {\n // 随机排序\n _this.state.realShowOptions = randomArray(_toConsumableArray(_this.state.realShowOptions));\n } else if (custom.reverse) {\n var actuallyReverse = Math.random() >= 0.5;\n if (actuallyReverse) {\n _this.state.realShowOptions = randomArray(_toConsumableArray(_this.state.realShowOptions), 'reverse');\n }\n }\n if (_this.state.setShowOptions) {\n _this.state.realShowOptions = randomShowOptions(_toConsumableArray(_this.state.realShowOptions), custom.showOptionsNum, custom.random ? 'random' : 'reverse');\n }\n }\n if (custom.group && (custom === null || custom === void 0 ? void 0 : (_custom$sampleGroups = custom.sampleGroups) === null || _custom$sampleGroups === void 0 ? void 0 : _custom$sampleGroups.length)) {\n _this.state.realShowOptions = getSampleGroupOpts({\n options: _toConsumableArray(_this.state.realShowOptions),\n custom: custom,\n answers: answers\n });\n }\n return _this;\n }\n _createClass(MultiChoice, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props2 = this.props,\n question = _this$props2.question,\n answers = _this$props2.answers,\n quotaStrategy = _this$props2.quotaStrategy;\n var realShowOptions = this.state.realShowOptions;\n try {\n var _answers$question$id, _answers$question$id2;\n var selected = (answers === null || answers === void 0 ? void 0 : (_answers$question$id = answers[question.id]) === null || _answers$question$id === void 0 ? void 0 : _answers$question$id.selected) || [];\n var option_blank = (answers === null || answers === void 0 ? void 0 : (_answers$question$id2 = answers[question.id]) === null || _answers$question$id2 === void 0 ? void 0 : _answers$question$id2.option_blank) || {};\n if (selected.length) {\n var newSelected = resetAnwsers({\n type: question.type,\n question: question,\n answers: answers,\n quotaStrategy: quotaStrategy,\n realShowOptions: realShowOptions\n });\n Object.keys(option_blank).forEach(function (key) {\n if (!newSelected.includes(key)) {\n delete option_blank[key];\n }\n });\n this.props.form.setFieldsValue(_defineProperty({}, question.id, {\n type: question.type,\n selected: newSelected,\n option_blank: option_blank,\n text: ''\n }));\n }\n } catch (error) {\n console.error(error);\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var prevQ = prevProps.question;\n var nextQ = this.props.question;\n if (nextQ.optionFilter && nextQ.optionFilter[0]) {\n var _nextQ$optionFilter$ = nextQ.optionFilter[0].id.split('--matrix--'),\n _nextQ$optionFilter$2 = _slicedToArray(_nextQ$optionFilter$, 2),\n filterByQuestionId = _nextQ$optionFilter$2[0],\n lineId = _nextQ$optionFilter$2[1];\n var nowAnswers = this.props.answers;\n var prevAnswers = prevProps.answers;\n var nowThatQuestionSelectedOptionsIds = nowAnswers[filterByQuestionId] ? nowAnswers[filterByQuestionId].selected : [];\n var prevThatQuestionSelectedOptionsIds = prevAnswers[filterByQuestionId] ? prevAnswers[filterByQuestionId].selected : [];\n if (lineId) {\n if (lineId.indexOf('title') > -1) {\n lineId = lineId.slice(0, -6);\n }\n nowThatQuestionSelectedOptionsIds = nowThatQuestionSelectedOptionsIds[lineId] || [];\n prevThatQuestionSelectedOptionsIds = prevThatQuestionSelectedOptionsIds[lineId] || [];\n }\n var equal = isEqual(nowThatQuestionSelectedOptionsIds.sort(), prevThatQuestionSelectedOptionsIds.sort());\n if (!equal && !(nowThatQuestionSelectedOptionsIds.length === 0 && prevThatQuestionSelectedOptionsIds.length === 0) && !window.isReport) {\n this.props.form.setFieldsValue(_defineProperty({}, nextQ.id, {\n type: this.props.question.type,\n selected: [],\n text: ''\n }));\n }\n }\n\n // 如果选项变了 就清空答案\n if (prevState.realShowOptions !== this.state.realShowOptions && !window.isReport) {\n this.props.form.setFieldsValue(_defineProperty({}, nextQ.id, {\n type: this.props.question.type,\n selected: [],\n text: ''\n }));\n }\n // 预览模式下面始终不成立(broadcastchannel 使用JSON.stringify传递数据\n // 问卷模式下面始终成立, 问卷结构不会改变\n if (prevQ === nextQ) return;\n // 打开随机按钮\n if (!prevQ.custom.random && nextQ.custom.random) {\n // eslint-disable-next-line\n this.setState({\n options: randomOptions(_toConsumableArray(nextQ.custom.options))\n });\n }\n // 关闭随机按钮\n if (prevQ.custom.random && !nextQ.custom.random) {\n // eslint-disable-next-line\n this.setState({\n options: nextQ.custom.options\n });\n }\n // 判断是否修改了options, 但是broadcastchannell始终是深拷贝传递。所以这里不能比较地址了。\n if (JSON.stringify(nextQ.custom.options) !== JSON.stringify(prevQ.custom.options)) {\n if (nextQ.custom.random) {\n // eslint-disable-next-line\n this.setState({\n options: randomOptions(_toConsumableArray(nextQ.custom.options))\n });\n } else {\n // eslint-disable-next-line\n this.setState({\n options: nextQ.custom.options\n });\n }\n }\n }\n }, {\n key: \"getSelectedChange\",\n value: function getSelectedChange(selected, answer) {\n var text = answer && answer.text || '';\n var _answer$option_blank = answer.option_blank,\n option_blank = _answer$option_blank === void 0 ? {} : _answer$option_blank;\n if (!selected.includes('other')) {\n text = '';\n }\n return {\n type: this.props.question.type,\n selected: selected,\n text: text,\n option_blank: option_blank\n };\n }\n }, {\n key: \"getOtherTextChange\",\n value: function getOtherTextChange(text, answer) {\n var selected = (answer.selected || []).slice();\n var _answer$option_blank2 = answer.option_blank,\n option_blank = _answer$option_blank2 === void 0 ? {} : _answer$option_blank2;\n if (!selected.includes('other')) selected.push('other');\n return {\n type: this.props.question.type,\n selected: selected,\n text: text,\n option_blank: option_blank\n };\n }\n }, {\n key: \"getInputChange\",\n value: function getInputChange(id, input, answer) {\n var text = answer && answer.text || '';\n var selected = (answer.selected || []).slice();\n if (!selected.includes(id)) {\n selected.push(id);\n }\n var _answer$option_blank3 = answer.option_blank,\n option_blank = _answer$option_blank3 === void 0 ? {} : _answer$option_blank3;\n return {\n type: this.props.question.type,\n text: text,\n selected: selected,\n option_blank: _objectSpread({}, option_blank, _defineProperty({}, id, [input]))\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props3 = this.props,\n question = _this$props3.question,\n _this$props3$answer = _this$props3.answer,\n answer = _this$props3$answer === void 0 ? JSON.parse(JSON.stringify(defaultAnswer)) : _this$props3$answer,\n quotaStrategy = _this$props3.quotaStrategy;\n var _this$state2 = this.state,\n realShowOptions = _this$state2.realShowOptions,\n isFocus = _this$state2.isFocus;\n var _question$custom2 = question.custom,\n min = _question$custom2.min,\n max = _question$custom2.max,\n options = _question$custom2.options,\n other = _question$custom2.other;\n var _this$props$form = this.props.form,\n getFieldProps = _this$props$form.getFieldProps,\n getFieldError = _this$props$form.getFieldError;\n var id = question.id || 'unknown-form-item';\n var _getFieldProps = getFieldProps(id, {\n initialValue: answer,\n rules: [{\n validator: this.validator\n }]\n }),\n onChange = _getFieldProps.onChange,\n formAnswer = _getFieldProps.value; // 因为getFieldError无法判断error的来源,所以只能用这样的trick方法,\n // rc-form 写的真心不好\n var errorSelected;\n var errorText;\n var error = getFieldError(id);\n if (error && error[0]) {\n var _error = _slicedToArray(error, 1);\n errorSelected = _error[0];\n }\n if (error && error[0] === getLocalText('SingleChoice.Selected')) {\n var _error2 = _slicedToArray(error, 1);\n errorSelected = _error2[0];\n }\n if (error && error[0] === getLocalText('SingleChoice.otherText')) {\n var _error3 = _slicedToArray(error, 1);\n errorText = _error3[0];\n }\n if (answer.selected.length !== 0 && (!isFocus && min && answer.selected.length < min || max && answer.selected.length > max)) {\n // errorText = `需要选择多于${min}个小于${max}个答案`;\n // eslint-disable-next-line\n\n errorText = getLocalText('MultiChoice.min.or.max', min || +question.required, max || options.length + +(question.custom.other.status !== 0));\n }\n var overDisabledIds = [];\n if (max && answer.selected.length == max) {\n realShowOptions.forEach(function (option) {\n if (answer.selected.indexOf(option.id) < 0) {\n overDisabledIds.push(option.id);\n }\n });\n } else {\n overDisabledIds = [];\n }\n var changeAnswer = false;\n var selectedLength = answer.selected.length;\n if (selectedLength) {\n var lastOneId = answer.selected[selectedLength - 1];\n if (lastOneId === 'other') {\n var _other$mutex = other.mutex,\n mutex = _other$mutex === void 0 ? [] : _other$mutex;\n answer.selected = answer.selected.filter(function (id) {\n var result = !mutex.includes(id);\n if (!result) {\n var _answer$option_blank4;\n changeAnswer = true;\n (answer === null || answer === void 0 ? void 0 : (_answer$option_blank4 = answer.option_blank) === null || _answer$option_blank4 === void 0 ? void 0 : _answer$option_blank4[id]) && delete answer.option_blank[id];\n }\n return result;\n });\n } else {\n var _ref = options.find(function (el) {\n return el.id === lastOneId;\n }) || {},\n _mutex = _ref.mutex;\n if (_mutex) {\n answer.selected = answer.selected.filter(function (id) {\n var result = !_mutex.includes(id);\n if (!result) {\n var _answer$option_blank5;\n changeAnswer = true;\n (answer === null || answer === void 0 ? void 0 : (_answer$option_blank5 = answer.option_blank) === null || _answer$option_blank5 === void 0 ? void 0 : _answer$option_blank5[id]) && delete answer.option_blank[id];\n }\n return result;\n });\n }\n }\n var _loop2 = function _loop2(_i) {\n var id = answer.selected[_i];\n var one = options.find(function (el) {\n return el.id === id;\n });\n // 如果是other\n if (!one) {\n i = _i;\n return \"continue\";\n }\n // eslint-disable-next-line\n if (one.mutex && one.mutex.includes(lastOneId)) {\n var _answer$option_blank6;\n answer.selected.splice(_i, 1);\n changeAnswer = true;\n (answer === null || answer === void 0 ? void 0 : (_answer$option_blank6 = answer.option_blank) === null || _answer$option_blank6 === void 0 ? void 0 : _answer$option_blank6[id]) && delete answer.option_blank[id];\n _i--;\n }\n i = _i;\n };\n for (var i = 0; i < answer.selected.length; i++) {\n var _ret2 = _loop2(i);\n if (_ret2 === \"continue\") continue;\n }\n if (answer.selected.includes('other') // 如果选了other\n && lastOneId !== 'other' // 如果other不是最后一个 (最后一个的情况上面处理过了)\n && other && other.mutex && other.mutex.includes(lastOneId) // 如果other与lastOneId互斥\n ) {\n answer.selected = answer.selected.filter(function (id) {\n return id !== 'other';\n });\n changeAnswer = true;\n }\n }\n if (changeAnswer) {\n onChange(answer);\n }\n var disabledOptIds = (quotaStrategy === null || quotaStrategy === void 0 ? void 0 : quotaStrategy.optionsQuota.filter(function (q) {\n return !q.remaining;\n }).map(function (q) {\n return q.id;\n })) || [];\n var params = {\n options: realShowOptions,\n formAnswer: formAnswer,\n error: {\n selected: errorSelected,\n text: errorText,\n errorOption: this.state.errorOption\n },\n onChange: {\n selected: function selected(_selected) {\n return onChange(_this2.getSelectedChange(_selected, formAnswer));\n },\n text: function text(_text) {\n return onChange(_this2.getOtherTextChange(_text, formAnswer));\n },\n input: function input(id, _input) {\n return onChange(_this2.getInputChange(id, _input, formAnswer));\n }\n },\n disabledOptIds: disabledOptIds,\n overDisabledIds: overDisabledIds || this.state.overDisabledIds,\n min: min || +question.required,\n max: max || options.length + +(question.custom.other.status !== 0),\n realMin: min,\n realMax: max\n };\n return React.createElement(\"div\", {\n onFocus: function onFocus() {\n return _this2.setState({\n isFocus: true\n });\n },\n onBlur: function onBlur() {\n return _this2.setState({\n isFocus: false\n });\n }\n }, this.props.children(params));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, state) {\n var question = nextProps.question,\n answers = nextProps.answers,\n quotaStrategy = nextProps.quotaStrategy;\n var custom = question.custom;\n var realShowOptions = getRealShowOption({\n question: question,\n answers: answers,\n quotaStrategy: quotaStrategy\n });\n window.allQuestions.find(function (el) {\n return el.id === question.id;\n }).custom.realShowOptions = realShowOptions;\n if (realShowOptions.length !== state.realShowOptionsBack.length || realShowOptions.some(function (el) {\n return !state.realShowOptionsBack.find(function (item) {\n return item.id === el.id;\n });\n }) || realShowOptions.some(function (el) {\n return el.text !== state.realShowOptionsBack.find(function (item) {\n return item.id === el.id;\n }).text;\n })) {\n var _custom$sampleGroups2;\n var realShowOptionsBack = _toConsumableArray(realShowOptions);\n if (custom.random) {\n realShowOptions = randomArray(_toConsumableArray(realShowOptions));\n }\n if ((custom.random || custom.reverse) && state.setShowOptions) {\n realShowOptions = randomShowOptions(_toConsumableArray(realShowOptions), custom.showOptionsNum, custom.random ? 'random' : 'reverse');\n nextProps.form.setFieldsValue(_defineProperty({}, question.id, {\n type: question.type,\n selected: [],\n text: ''\n }));\n }\n if (custom.group && (custom === null || custom === void 0 ? void 0 : (_custom$sampleGroups2 = custom.sampleGroups) === null || _custom$sampleGroups2 === void 0 ? void 0 : _custom$sampleGroups2.length)) {\n realShowOptions = getSampleGroupOpts({\n options: _toConsumableArray(realShowOptions),\n custom: custom,\n answers: answers\n });\n }\n return {\n realShowOptions: realShowOptions,\n realShowOptionsBack: realShowOptionsBack\n };\n }\n return null;\n }\n }]);\n return MultiChoice;\n}(Component);\nexport { MultiChoice as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { Component } from 'react';\nimport { getLocalText } from '@/utilities/language';\nimport { inputChecker } from '@/utilities/quest';\nvar LongText = /*#__PURE__*/function (_Component) {\n _inherits(LongText, _Component);\n function LongText() {\n var _getPrototypeOf2;\n var _this;\n _classCallCheck(this, LongText);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(LongText)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"validator\", function (rules, answer, callback) {\n var _this$props = _this.props,\n question = _this$props.question,\n _this$props$question = _this$props.question,\n required = _this$props$question.required,\n _this$props$question$ = _this$props$question.restrictions,\n restrictions = _this$props$question$ === void 0 ? {} : _this$props$question$;\n if (required && !answer.text.trim()) {\n callback(getLocalText('SingleChoice.Selected')); // '请填写答案');\n return;\n }\n _this.checkRestrictions(answer, window.showMultiLang ? (question === null || question === void 0 ? void 0 : question[\"\".concat(window.language, \"Restrictions\")]) || {} : restrictions, callback);\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"checkRestrictions\", function (answer, restrictions, callback) {\n if (restrictions.openWordsRestriction === undefined && answer.text.length > 2000) {\n callback(getLocalText('LongText.placeholder')); // '字数已超2000');\n return;\n }\n if (answer.text && restrictions) {\n var checkResult = inputChecker(answer.text, restrictions);\n if (checkResult !== true) {\n callback(checkResult);\n return;\n }\n }\n callback();\n });\n return _this;\n }\n _createClass(LongText, [{\n key: \"getTextChange\",\n value: function getTextChange(text) {\n return {\n text: text,\n type: 'long'\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _question$custom,\n _this2 = this;\n var _this$props2 = this.props,\n question = _this$props2.question,\n answer = _this$props2.answer;\n var _question$restriction = question.restrictions,\n restrictions = _question$restriction === void 0 ? {} : _question$restriction;\n var _this$props$form = this.props.form,\n getFieldProps = _this$props$form.getFieldProps,\n getFieldError = _this$props$form.getFieldError;\n var id = question.id || 'unknown-form-item';\n var _question$custom$text = question.custom.text,\n text = _question$custom$text === void 0 ? '' : _question$custom$text;\n var placeholder = window.showMultiLang ? (_question$custom = question.custom) === null || _question$custom === void 0 ? void 0 : _question$custom[\"\".concat(window.language, \"Text\")] : text === '内容长度请控制在2000字以内' && text !== getLocalText('LongText.placeholder') ? '' : text;\n var _ref = window.showMultiLang ? (question === null || question === void 0 ? void 0 : question[\"\".concat(window.language, \"Restrictions\")]) || {} : restrictions,\n openWordsRestriction = _ref.openWordsRestriction,\n maxWords = _ref.maxWords;\n var _getFieldProps = getFieldProps(id, {\n initialValue: answer,\n rules: [{\n required: true,\n validator: this.validator\n }]\n }),\n _onChange = _getFieldProps.onChange,\n formAnswer = _getFieldProps.value;\n var error = getFieldError(id);\n if (error && error.length > 0) error = error.join(',');else error = null;\n var params = {\n error: error,\n formAnswer: formAnswer,\n placeholder: placeholder,\n onChange: function onChange(val) {\n return _onChange(_this2.getTextChange(val));\n },\n maxWords: openWordsRestriction && maxWords\n };\n return this.props.children(params);\n }\n }]);\n return LongText;\n}(Component);\n_defineProperty(LongText, \"defaultProps\", {\n answer: {\n text: '',\n type: 'long'\n }\n});\nexport { LongText as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { Component } from 'react';\nimport { getLocalText } from '@/utilities/language';\nimport { inputChecker } from '@/utilities/quest';\nvar FillinLong = /*#__PURE__*/function (_Component) {\n _inherits(FillinLong, _Component);\n function FillinLong() {\n var _getPrototypeOf2;\n var _this;\n _classCallCheck(this, FillinLong);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(FillinLong)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"validator\", function (rules, answer, callback) {\n var _this$props = _this.props,\n question = _this$props.question,\n _this$props$question = _this$props.question,\n required = _this$props$question.required,\n _this$props$question$ = _this$props$question.restrictions,\n restrictions = _this$props$question$ === void 0 ? {} : _this$props$question$;\n if (required && !answer.text.trim()) {\n callback(getLocalText('SingleChoice.Selected')); // '请填写答案');\n return;\n }\n _this.checkRestrictions(answer, window.showMultiLang ? (question === null || question === void 0 ? void 0 : question[\"\".concat(window.language, \"Restrictions\")]) || {} : restrictions, callback);\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"checkRestrictions\", function (answer, restrictions, callback) {\n if (restrictions.openWordsRestriction === undefined && answer.text.length > 2000) {\n callback(getLocalText('LongText.placeholder')); // '字数已超2000');\n return;\n }\n if (answer.text && restrictions) {\n var checkResult = inputChecker(answer.text, restrictions);\n if (checkResult !== true) {\n callback(checkResult);\n return;\n }\n }\n callback();\n });\n return _this;\n }\n _createClass(FillinLong, [{\n key: \"getTextChange\",\n value: function getTextChange(text) {\n return {\n text: text,\n type: 'fillinLong'\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _question$custom,\n _this2 = this;\n var _this$props2 = this.props,\n question = _this$props2.question,\n answer = _this$props2.answer;\n var _question$restriction = question.restrictions,\n restrictions = _question$restriction === void 0 ? {} : _question$restriction;\n var _this$props$form = this.props.form,\n getFieldProps = _this$props$form.getFieldProps,\n getFieldError = _this$props$form.getFieldError;\n var id = question.id || 'unknown-form-item';\n var _question$custom$text = question.custom.text,\n text = _question$custom$text === void 0 ? '' : _question$custom$text;\n var placeholder = window.showMultiLang ? (_question$custom = question.custom) === null || _question$custom === void 0 ? void 0 : _question$custom[\"\".concat(window.language, \"Text\")] : text === '内容长度请控制在2000字以内' && text !== getLocalText('LongText.placeholder') ? '' : text;\n var _ref = window.showMultiLang ? (question === null || question === void 0 ? void 0 : question[\"\".concat(window.language, \"Restrictions\")]) || {} : restrictions,\n openWordsRestriction = _ref.openWordsRestriction,\n maxWords = _ref.maxWords;\n var _getFieldProps = getFieldProps(id, {\n initialValue: answer,\n rules: [{\n required: true,\n validator: this.validator\n }]\n }),\n _onChange = _getFieldProps.onChange,\n formAnswer = _getFieldProps.value;\n var error = getFieldError(id);\n if (error && error.length > 0) error = error.join(',');else error = null;\n var params = {\n error: error,\n formAnswer: formAnswer,\n placeholder: placeholder,\n onChange: function onChange(val) {\n return _onChange(_this2.getTextChange(val));\n },\n maxWords: openWordsRestriction && maxWords\n };\n return this.props.children(params);\n }\n }]);\n return FillinLong;\n}(Component);\n_defineProperty(FillinLong, \"defaultProps\", {\n answer: {\n text: '',\n type: 'fillinLong'\n }\n});\nexport { FillinLong as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { Component } from 'react';\nimport { getLocalText } from '@/utilities/language';\nimport { inputChecker } from '@/utilities/quest';\nvar ShortText = /*#__PURE__*/function (_Component) {\n _inherits(ShortText, _Component);\n function ShortText() {\n var _getPrototypeOf2;\n var _this;\n _classCallCheck(this, ShortText);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(ShortText)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"validator\", function (rules, answer, callback) {\n var _this$props = _this.props,\n question = _this$props.question,\n _this$props$question = _this$props.question,\n required = _this$props$question.required,\n _this$props$question$ = _this$props$question.custom,\n type = _this$props$question$.type,\n numberOnly = _this$props$question$.numberOnly,\n restrictions = _this$props$question.restrictions;\n if (answer.text.length !== 0 && numberOnly) {\n if (!answer.text.match(/^[-+]?\\d*\\.?\\d*$/)) {\n callback(getLocalText('number-only'));\n return;\n }\n }\n if (required && !answer.text.trim()) {\n callback(getLocalText('SingleChoice.Selected')); // '请填写答案'\n return;\n }\n // if (answer.text.length > 50) {\n // callback(getLocalText(\"ShortText.overflow\")); // '字数已超50'\n // return;\n // }\n _this.checkRestrictions(type, answer, window.showMultiLang ? (question === null || question === void 0 ? void 0 : question[\"\".concat(window.language, \"Restrictions\")]) || {} : restrictions, callback);\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"checkRestrictions\", function (type, answer, restrictions, callback) {\n if (answer.text && restrictions) {\n var checkResult = inputChecker(answer.text, restrictions);\n if (checkResult !== true) {\n callback(checkResult);\n return;\n }\n }\n if (type === 'phoneNumber' && answer.text && !answer.text.match(/^1\\d{10}$/)) {\n callback(getLocalText('ShortText.phoneNumber.wrong'));\n }\n callback();\n });\n return _this;\n }\n _createClass(ShortText, [{\n key: \"getTextChange\",\n value: function getTextChange(text) {\n return {\n text: text,\n type: 'short'\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _question$custom,\n _this2 = this;\n var _this$props2 = this.props,\n question = _this$props2.question,\n answer = _this$props2.answer;\n var _this$props$form = this.props.form,\n getFieldProps = _this$props$form.getFieldProps,\n getFieldError = _this$props$form.getFieldError;\n var _question$custom$text = question.custom.text,\n text = _question$custom$text === void 0 ? '' : _question$custom$text;\n var id = question.id || 'unknown-form-item';\n var placeholder = window.showMultiLang ? (_question$custom = question.custom) === null || _question$custom === void 0 ? void 0 : _question$custom[\"\".concat(window.language, \"Text\")] : text === '内容长度请控制在50字以内' && text !== getLocalText('ShortText.placeholder') ? '' : text;\n var _getFieldProps = getFieldProps(id, {\n initialValue: answer,\n rules: [{\n required: true,\n validator: this.validator\n }]\n }),\n _onChange = _getFieldProps.onChange,\n formAnswer = _getFieldProps.value;\n var error = getFieldError(id);\n if (error && error.length > 0) error = error.join(',');else error = null;\n var params = {\n error: error,\n formAnswer: formAnswer,\n placeholder: placeholder,\n onChange: function onChange(val) {\n return _onChange(_this2.getTextChange(val));\n }\n };\n return this.props.children(params);\n }\n }]);\n return ShortText;\n}(Component);\n_defineProperty(ShortText, \"defaultProps\", {\n answer: {\n text: '',\n type: 'short'\n }\n});\nexport { ShortText as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { Component } from 'react';\nimport { getLocalText } from '@/utilities/language';\nimport { inputChecker } from '@/utilities/quest';\nvar FillinShort = /*#__PURE__*/function (_Component) {\n _inherits(FillinShort, _Component);\n function FillinShort() {\n var _getPrototypeOf2;\n var _this;\n _classCallCheck(this, FillinShort);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(FillinShort)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"validator\", function (rules, answer, callback) {\n var _this$props = _this.props,\n question = _this$props.question,\n _this$props$question = _this$props.question,\n required = _this$props$question.required,\n _this$props$question$ = _this$props$question.custom,\n type = _this$props$question$.type,\n numberOnly = _this$props$question$.numberOnly,\n restrictions = _this$props$question.restrictions;\n if (answer.text.length !== 0 && numberOnly) {\n if (!answer.text.match(/^[-+]?\\d*\\.?\\d*$/)) {\n callback(getLocalText('number-only'));\n return;\n }\n }\n if (required && !answer.text.trim()) {\n callback(getLocalText('SingleChoice.Selected')); // '请填写答案'\n return;\n }\n // if (answer.text.length > 50) {\n // callback(getLocalText(\"ShortText.overflow\")); // '字数已超50'\n // return;\n // }\n _this.checkRestrictions(type, answer, window.showMultiLang ? (question === null || question === void 0 ? void 0 : question[\"\".concat(window.language, \"Restrictions\")]) || {} : restrictions, callback);\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"checkRestrictions\", function (type, answer, restrictions, callback) {\n if (answer.text && restrictions) {\n var checkResult = inputChecker(answer.text, restrictions);\n if (checkResult !== true) {\n callback(checkResult);\n return;\n }\n }\n if (type === 'phoneNumber' && answer.text && !answer.text.match(/^1\\d{10}$/)) {\n callback(getLocalText('ShortText.phoneNumber.wrong'));\n }\n callback();\n });\n return _this;\n }\n _createClass(FillinShort, [{\n key: \"getTextChange\",\n value: function getTextChange(text) {\n return {\n text: text,\n type: 'fillinShort'\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _question$custom,\n _this2 = this;\n var _this$props2 = this.props,\n question = _this$props2.question,\n answer = _this$props2.answer;\n var _this$props$form = this.props.form,\n getFieldProps = _this$props$form.getFieldProps,\n getFieldError = _this$props$form.getFieldError;\n var _question$custom$text = question.custom.text,\n text = _question$custom$text === void 0 ? '' : _question$custom$text;\n var id = question.id || 'unknown-form-item';\n var placeholder = window.showMultiLang ? (_question$custom = question.custom) === null || _question$custom === void 0 ? void 0 : _question$custom[\"\".concat(window.language, \"Text\")] : text === '内容长度请控制在50字以内' && text !== getLocalText('ShortText.placeholder') ? '' : text;\n var _getFieldProps = getFieldProps(id, {\n initialValue: answer,\n rules: [{\n required: true,\n validator: this.validator\n }]\n }),\n _onChange = _getFieldProps.onChange,\n formAnswer = _getFieldProps.value;\n var error = getFieldError(id);\n if (error && error.length > 0) error = error.join(',');else error = null;\n var params = {\n error: error,\n formAnswer: formAnswer,\n placeholder: placeholder,\n onChange: function onChange(val) {\n return _onChange(_this2.getTextChange(val));\n }\n };\n return this.props.children(params);\n }\n }]);\n return FillinShort;\n}(Component);\n_defineProperty(FillinShort, \"defaultProps\", {\n answer: {\n text: '',\n type: 'fillinShort'\n }\n});\nexport { FillinShort as default };","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { Component } from 'react';\nimport { getLocalText } from '@/utilities/language';\nvar SingleChoice = /*#__PURE__*/function (_Component) {\n _inherits(SingleChoice, _Component);\n function SingleChoice() {\n var _getPrototypeOf2;\n var _this;\n _classCallCheck(this, SingleChoice);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(SingleChoice)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"validator\", function (rules, answer, callback) {\n var required = _this.props.question.required;\n if (required) {\n if (answer.degree === 'undefined') {\n callback(getLocalText('SingleChoice.Selected')); // '请填写答案');\n return;\n }\n }\n callback();\n });\n return _this;\n }\n _createClass(SingleChoice, [{\n key: \"getDegreeChange\",\n value: function getDegreeChange(degree) {\n return {\n degree: \"\".concat(degree),\n type: 'scale'\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _marks,\n _this2 = this;\n var _this$props = this.props,\n question = _this$props.question,\n answer = _this$props.answer;\n var _this$props$form = this.props.form,\n getFieldProps = _this$props$form.getFieldProps,\n getFieldError = _this$props$form.getFieldError;\n var custom = question.custom;\n var min = custom.min,\n max = custom.max,\n _custom$options = custom.options,\n options = _custom$options === void 0 ? [] : _custom$options;\n var textKey = window.showMultiLang ? \"\".concat(window.language, \"Text\") : 'text';\n // 老版量表没有options\n if (options.length === 0) {\n var _options = [];\n for (var i = min.num; i <= max.num; i++) {\n var _custom$i;\n var label = '';\n if (i === min.num) {\n label = min === null || min === void 0 ? void 0 : min[textKey];\n }\n if (i === max.num) {\n label = max === null || max === void 0 ? void 0 : max[textKey];\n }\n if ((_custom$i = custom[i]) === null || _custom$i === void 0 ? void 0 : _custom$i[textKey]) {\n var _custom$i2;\n label = (_custom$i2 = custom[i]) === null || _custom$i2 === void 0 ? void 0 : _custom$i2[textKey];\n }\n _options.push({\n text: label,\n num: i,\n id: i,\n jumpId: '-1'\n });\n }\n }\n var marks = (_marks = {}, _defineProperty(_marks, min.num, min.num), _defineProperty(_marks, max.num, max.num), _marks);\n for (var _i = min.num; _i <= max.num; _i++) {\n var _custom$_i;\n marks[_i] = ((_custom$_i = custom[_i]) === null || _custom$_i === void 0 ? void 0 : _custom$_i[textKey]) || '';\n }\n var degree = answer.degree;\n var id = question.id || 'unknown-form-item';\n var _getFieldProps = getFieldProps(id, {\n initialValue: _objectSpread({}, answer, {\n degree: \"\".concat(degree)\n }),\n rules: [{\n required: true,\n validator: this.validator\n }]\n }),\n _onChange = _getFieldProps.onChange,\n formAnswer = _getFieldProps.value;\n var error = getFieldError(id);\n if (error && error.length > 0) error = error.join(',');else error = null;\n var params = {\n error: error,\n formAnswer: formAnswer,\n onChange: function onChange(val) {\n return _onChange(_this2.getDegreeChange(+val));\n },\n marks: marks,\n options: options,\n max: max,\n min: min\n };\n return this.props.children(params);\n }\n }]);\n return SingleChoice;\n}(Component);\n_defineProperty(SingleChoice, \"defaultProps\", {\n answer: {\n degree: undefined,\n type: 'scale'\n }\n});\nexport { SingleChoice as default };","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React from 'react';\nimport { getLocationMap } from '@/services/api';\nimport { getLocalText } from '@/utilities/language';\nimport { traceOnError } from '@/tracer';\nvar defaultAnswer = {\n location: [],\n type: 'location'\n};\nvar LocChoice = /*#__PURE__*/function (_React$Component) {\n _inherits(LocChoice, _React$Component);\n function LocChoice(props) {\n var _this;\n _classCallCheck(this, LocChoice);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(LocChoice).call(this, props));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getLocationMap\", function () {\n var question = _this.props.question;\n var custom = question.custom;\n var _custom$country = custom.country,\n country = _custom$country === void 0 ? 'cn' : _custom$country;\n getLocationMap(country).then(function (res) {\n return _this.setState({\n locationMap: res.data\n });\n }).catch(function (e) {\n traceOnError(\"\".concat(e.message, \"-\").concat(window.location.href), e.code, 'Loc接口');\n });\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"validator\", function (rules, answer, callback) {\n var required = _this.props.question.required;\n if (required && answer.location.length === 0) {\n callback(getLocalText('SingleChoice.Selected')); // '请填写答案\n return;\n }\n callback();\n });\n _this.state = {\n locationMap: []\n };\n _this.getLocationMap();\n return _this;\n }\n _createClass(LocChoice, [{\n key: \"getLocChange\",\n value: function getLocChange(location) {\n return {\n location: location,\n type: 'location'\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props = this.props,\n question = _this$props.question,\n _this$props$answer = _this$props.answer,\n answer = _this$props$answer === void 0 ? JSON.parse(JSON.stringify(defaultAnswer)) : _this$props$answer;\n var custom = question.custom;\n var _this$props$form = this.props.form,\n getFieldProps = _this$props$form.getFieldProps,\n getFieldError = _this$props$form.getFieldError;\n var id = question.id || 'unknown-form-item';\n var _getFieldProps = getFieldProps(id, {\n initialValue: _objectSpread({}, answer),\n rules: [{\n required: true,\n validator: this.validator\n }]\n }),\n _onChange = _getFieldProps.onChange,\n formAnswer = _getFieldProps.value;\n var options = this.state.locationMap;\n if (custom && custom.hideDistrict) {\n options.forEach(function (province) {\n if (province.children && Array.isArray(province.children)) {\n province.children.forEach(function (city) {\n if (city.children) {\n delete city.children;\n }\n });\n }\n });\n }\n if (custom && custom.provinceLock) {\n options = options.filter(function (el) {\n return el.value === custom.provinceLock;\n });\n if (!custom.hideDistrict && custom.cityLock && options[0] && options[0].children) {\n options[0].children = options[0].children.filter(function (item) {\n return item.value === custom.cityLock;\n });\n }\n }\n var error = getFieldError(id);\n if (error && error.length > 0) error = error.join(',');else error = null;\n var params = {\n options: options,\n error: error,\n formAnswer: formAnswer,\n onChange: function onChange(val) {\n return _onChange(_this2.getLocChange(val));\n }\n };\n return this.props.children(params);\n }\n }]);\n return LocChoice;\n}(React.Component);\nexport { LocChoice as default };","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React from 'react';\nimport { getLocalText } from '@/utilities/language';\nvar defaultAnswer = {\n selected_values: [],\n selected_ids: [],\n type: 'cascader'\n};\nvar LocChoice = /*#__PURE__*/function (_React$Component) {\n _inherits(LocChoice, _React$Component);\n function LocChoice() {\n var _getPrototypeOf2;\n var _this;\n _classCallCheck(this, LocChoice);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(LocChoice)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"validator\", function (rules, answer, callback) {\n var question = _this.props.question;\n if (question.required && answer.selected_values.length === 0) {\n callback(getLocalText('SingleChoice.Selected'));\n return;\n }\n callback();\n });\n return _this;\n }\n _createClass(LocChoice, [{\n key: \"getSelectedChange\",\n value: function getSelectedChange(optsText) {\n var _this$props$question = this.props.question;\n _this$props$question = _this$props$question === void 0 ? {} : _this$props$question;\n var _this$props$question$ = _this$props$question.custom,\n custom = _this$props$question$ === void 0 ? {} : _this$props$question$;\n var defaultOpts = (custom === null || custom === void 0 ? void 0 : custom.options) || [];\n var otherOptions = (custom === null || custom === void 0 ? void 0 : custom[\"\".concat(window.language, \"Options\")]) || [];\n var _optsText = _slicedToArray(optsText, 3),\n fir = _optsText[0],\n sec = _optsText[1],\n third = _optsText[2];\n var options = window.showMultiLang ? otherOptions : defaultOpts;\n var ids = [];\n if (fir) {\n var firOpt = options.find(function (e) {\n return e.value === fir;\n });\n ids.push(firOpt.id);\n if (sec) {\n var secOpt = firOpt.children.find(function (e) {\n return e.value === sec;\n });\n ids.push(secOpt.id);\n if (third) {\n ids.push(secOpt.children.find(function (e) {\n return e.value === third;\n }).id);\n }\n }\n }\n return {\n type: 'cascader',\n selected_values: optsText,\n selected_ids: ids\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _question$custom,\n _question$custom2,\n _question$custom3,\n _this2 = this;\n var _this$props = this.props,\n question = _this$props.question,\n _this$props$answer = _this$props.answer,\n answer = _this$props$answer === void 0 ? JSON.parse(JSON.stringify(defaultAnswer)) : _this$props$answer;\n var _this$props$form = this.props.form,\n getFieldProps = _this$props$form.getFieldProps,\n getFieldError = _this$props$form.getFieldError;\n var id = question.id || 'unknown-form-item';\n var _getFieldProps = getFieldProps(id, {\n initialValue: _objectSpread({}, answer),\n rules: [{\n required: true,\n validator: this.validator\n }]\n }),\n _onChange = _getFieldProps.onChange,\n formAnswer = _getFieldProps.value;\n var error = getFieldError(id);\n if (error && error.length > 0) error = error.join(',');else error = null;\n var options = ((_question$custom = question.custom) === null || _question$custom === void 0 ? void 0 : _question$custom.options) || [];\n var otherOptions = ((_question$custom2 = question.custom) === null || _question$custom2 === void 0 ? void 0 : _question$custom2[\"\".concat(window.language, \"Options\")]) || [];\n var titles = question.custom.titles || [];\n var otherTitles = ((_question$custom3 = question.custom) === null || _question$custom3 === void 0 ? void 0 : _question$custom3[\"\".concat(window.language, \"Titles\")]) || [];\n var params = {\n options: (window.showMultiLang ? otherOptions : options).filter(function (e) {\n return e;\n }),\n titles: window.showMultiLang ? otherTitles : titles,\n error: error,\n formAnswer: formAnswer,\n onChange: function onChange(val) {\n return _onChange(_this2.getSelectedChange(val));\n }\n };\n return this.props.children(params);\n }\n }]);\n return LocChoice;\n}(React.Component);\nexport { LocChoice as default };","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport isEmpty from 'lodash/isEmpty';\nimport { getLocalText } from '@/utilities/language';\nimport { getRealShowOption, getRealShowLine, resetAnwsers } from '@/utilities/quest';\nimport { randomArray, randomComp, randomShowOptions } from '@/utilities/common';\nvar defaultAnswer = {\n selected: {},\n text: {},\n type: 'matrix'\n};\nvar deviceWidth = document.body.clientWidth;\nvar Matrix = /*#__PURE__*/function (_Component) {\n _inherits(Matrix, _Component);\n function Matrix(props) {\n var _this;\n _classCallCheck(this, Matrix);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Matrix).call(this, props));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setIsFocus\", function (isFocus) {\n _this.setState({\n isFocus: isFocus\n });\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"validator\", function (rules, answer, callback) {\n var question = _this.props.question;\n var custom = question.custom;\n var lines = _this.state.lines;\n var selected = answer.selected,\n text = answer.text;\n var min = custom.min,\n max = custom.max,\n options = custom.options,\n other = custom.other;\n var realMin = min || +question.required;\n if (question.required && Object.values(answer.selected).filter(function (el) {\n return Array.isArray(el) && el.length || !Array.isArray(el) && el;\n }).length !== lines.length) {\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var tmp = answer.selected[line.id];\n if (!tmp || Array.isArray(tmp) && !tmp.length) {\n callback(\"\".concat(getLocalText('SingleChoice.Selected'), \"===\").concat(line.id));\n return;\n }\n }\n }\n for (var _i = 0; _i < lines.length; _i++) {\n var _line = lines[_i];\n var _tmp = answer === null || answer === void 0 ? void 0 : answer.selected[_line.id];\n if ((_tmp === null || _tmp === void 0 ? void 0 : _tmp.length) && (realMin && _tmp.length < realMin || max && _tmp.length > max)) {\n callback(\"\".concat(getLocalText('MultiChoice.min.or.max', realMin, max || options.length + +(other.status !== 0)), \"===\").concat(_line.id));\n return;\n }\n }\n var otherRequired = custom.other.status === 2;\n if (otherRequired) {\n var couldReturn = false;\n Object.keys(selected).forEach(function (key) {\n if (couldReturn) {\n return;\n }\n if (selected[key].includes('other') && (text[key] === undefined || text[key] === '')) {\n callback(getLocalText('SingleChoice.otherText'));\n couldReturn = true;\n }\n });\n if (couldReturn) {\n return;\n }\n }\n callback();\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"retrieveFunc\", function (question, funcName) {\n var id = question.id || 'unknown-form-item';\n var isSingleMatrix = question.custom.isSingleMatrix;\n var _this$getFormAnswer = _this.getFormAnswer(id),\n onChange = _this$getFormAnswer.onChange,\n formAnswer = _this$getFormAnswer.formAnswer;\n if (funcName === 'selected') {\n return function (lineSelected, lineKey) {\n return onChange(_this.getSelectedChange(lineSelected, lineKey, formAnswer, isSingleMatrix));\n };\n } else if (funcName === 'text') {\n return function (lineText, lineKey) {\n var newText = _this.getOtherTextChange(lineText, lineKey, formAnswer, isSingleMatrix);\n onChange(newText);\n };\n }\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getSplitQuestion\", function (_ref, device) {\n var isScaleMatrix = _ref.isScaleMatrix,\n _ref$transpose = _ref.transpose,\n transpose = _ref$transpose === void 0 ? false : _ref$transpose,\n _ref$splitMode = _ref.splitMode,\n splitMode = _ref$splitMode === void 0 ? 'auto' : _ref$splitMode;\n var _this$state = _this.state,\n realShowOptions = _this$state.realShowOptions,\n lines = _this$state.lines;\n var splitModeNew = splitMode;\n if (isScaleMatrix) splitModeNew = 'disable';\n var optionsLength = (transpose ? lines : realShowOptions).reduce(function (sum, el) {\n return sum + el.text.html2Text().length;\n }, 0);\n var splitQuestion = optionsLength * 13 > deviceWidth - 30 || device === 'mobile' && realShowOptions.length > 8;\n return splitModeNew === 'disable' ? false : splitModeNew === 'always' ? true : splitQuestion;\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getError\", function (id) {\n var getFieldError = _this.props.form.getFieldError;\n var errorSelected;\n var errorText;\n var errorLine;\n var error = getFieldError(id);\n if (error) {\n if (error[0] === getLocalText('SingleChoice.otherText')) {\n var _error = _slicedToArray(error, 1);\n errorText = _error[0];\n } else {\n var _error$0$split = error[0].split('===');\n var _error$0$split2 = _slicedToArray(_error$0$split, 2);\n errorSelected = _error$0$split2[0];\n errorLine = _error$0$split2[1];\n }\n }\n return {\n selected: errorSelected,\n text: errorText,\n errorLine: errorLine\n };\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getFormAnswer\", function (id) {\n var _this$props = _this.props,\n getFieldProps = _this$props.form.getFieldProps,\n _this$props$answer = _this$props.answer,\n answer = _this$props$answer === void 0 ? JSON.parse(JSON.stringify(defaultAnswer)) : _this$props$answer;\n var _getFieldProps = getFieldProps(id, {\n initialValue: answer,\n rules: [{\n validator: _this.validator\n }]\n }),\n onChange = _getFieldProps.onChange,\n formAnswer = _getFieldProps.value;\n return {\n onChange: onChange,\n formAnswer: formAnswer\n };\n });\n var _question = props.question,\n answers = props.answers,\n form = props.form;\n var _custom = _question.custom;\n var _options = _custom.options,\n _lines = _custom.lines,\n _isScaleMatrix = _custom.isScaleMatrix;\n var linesKeys = _lines.map(function (el) {\n return el.id;\n });\n var thisLines = getRealShowLine({\n question: _question,\n answers: answers\n });\n _this.state = {\n options: _options,\n lines: thisLines,\n linesKeys: linesKeys,\n realShowOptions: getRealShowOption({\n question: _question,\n answers: answers\n }),\n realShowLines: thisLines,\n optionsBack: getRealShowOption({\n question: _question,\n answers: answers\n }),\n isFocus: false,\n setShowLines: _custom.randomLine && _custom.showOptionsNum && _custom.showOptionsNum > 0,\n setShowOptions: !_isScaleMatrix && (_custom.random || _custom.reverse) && _custom.showMatrixOptionsNum && _custom.showMatrixOptionsNum > 0\n };\n if (!_isScaleMatrix && (_custom.random || _custom.reverse)) {\n // 随机选项排序\n if (_custom.random) {\n _this.state.realShowOptions = randomArray(_toConsumableArray(_this.state.realShowOptions));\n } else {\n var actuallyReverse = Math.random() >= 0.5;\n if (actuallyReverse) {\n _this.state.realShowOptions = randomArray(_toConsumableArray(_this.state.realShowOptions), 'reverse');\n }\n }\n // 设置随机显示X个\n if (_this.state.setShowOptions) {\n _this.state.realShowOptions = randomShowOptions(_toConsumableArray(_this.state.realShowOptions), _custom.showMatrixOptionsNum, _custom.random ? 'random' : 'reverse');\n props.form.setFieldsValue(_defineProperty({}, _question.id, {\n type: 'matrix',\n selected: [],\n text: ''\n }));\n }\n }\n if (_custom.randomLine) {\n // 题目随机排序\n _this.state.lines = randomArray(_toConsumableArray(_this.state.lines));\n // 设置随机显示X个\n if (_this.state.setShowLines) {\n _this.state.lines = randomShowOptions(_toConsumableArray(_this.state.lines), _custom.showOptionsNum, 'random');\n props.form.setFieldsValue(_defineProperty({}, _question.id, {\n type: 'matrix',\n selected: [],\n text: ''\n }));\n }\n }\n var lineIds = thisLines.map(function (el) {\n return el.id;\n });\n var preThisAnswers = answers[_question.id];\n var thisSelected = (preThisAnswers || {}).selected;\n // 删掉多余lines的答案\n if (!isEmpty(thisSelected)) {\n var thisAnswers = {};\n var tmp = _objectSpread({}, preThisAnswers);\n lineIds.map(function (id) {\n thisAnswers[id] = thisSelected[id] ? thisSelected[id] : [];\n return id;\n });\n tmp.selected = thisAnswers;\n if (form.getFieldValue(_question.id)) {\n form.setFieldsValue(_defineProperty({}, _question.id, tmp));\n }\n }\n return _this;\n }\n _createClass(Matrix, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props2 = this.props,\n question = _this$props2.question,\n answers = _this$props2.answers;\n try {\n var _answers$question$id;\n var selected = (answers === null || answers === void 0 ? void 0 : (_answers$question$id = answers[question.id]) === null || _answers$question$id === void 0 ? void 0 : _answers$question$id.selected) || {};\n var _this$state2 = this.state,\n realShowOptions = _this$state2.realShowOptions,\n realShowLines = _this$state2.realShowLines;\n if (Object.keys(selected).length) {\n var newSelected = resetAnwsers({\n type: 'matrix',\n question: question,\n answers: answers,\n realShowOptions: realShowOptions,\n realShowLines: realShowLines\n });\n this.props.form.setFieldsValue(_defineProperty({}, question.id, {\n type: 'matrix',\n selected: newSelected,\n text: ''\n }));\n }\n } catch (error) {\n console.error(error);\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var prevQ = prevProps.question;\n var nextQ = this.props.question;\n var _this$state3 = this.state,\n realShowOptions = _this$state3.realShowOptions,\n realShowLines = _this$state3.realShowLines; // 如果选项变了 就清空答案\n if (prevState.realShowOptions !== realShowOptions && !window.isReport) {\n this.props.form.setFieldsValue(_defineProperty({}, nextQ.id, {\n type: 'matrix',\n selected: {},\n text: ''\n }));\n }\n if (prevState.realShowLines !== realShowLines && !window.isReport) {\n try {\n var selected = resetAnwsers({\n type: 'matrix',\n question: nextQ,\n answers: this.props.answers,\n realShowOptions: realShowOptions,\n realShowLines: realShowLines\n });\n this.props.form.setFieldsValue(_defineProperty({}, nextQ.id, {\n type: 'matrix',\n selected: selected,\n text: ''\n }));\n } catch (error) {\n console.error(error);\n }\n }\n\n // 判断是否修改了options, 但是broadcastchannell始终是深拷贝传递。所以这里不能比较地址了。\n if (JSON.stringify(nextQ.custom.options) !== JSON.stringify(prevQ.custom.options)) {\n if (nextQ.custom.random) {\n // eslint-disable-next-line\n this.setState({\n options: nextQ.custom.options.slice().sort(randomComp)\n });\n } else {\n // eslint-disable-next-line\n this.setState({\n options: nextQ.custom.options\n });\n }\n }\n if (JSON.stringify(nextQ.custom.lines) !== JSON.stringify(prevQ.custom.lines)) {\n if (nextQ.custom.random) {\n // eslint-disable-next-line\n this.setState({\n lines: nextQ.custom.lines.slice().sort(randomComp)\n });\n } else {\n // eslint-disable-next-line\n this.setState({\n lines: nextQ.custom.lines\n });\n }\n }\n }\n }, {\n key: \"getSelectedChange\",\n value: function getSelectedChange(lineSelected, lineKey, answer, isSingleMatrix) {\n var _JSON$parse = JSON.parse(JSON.stringify(answer)),\n selected = _JSON$parse.selected,\n text = _JSON$parse.text;\n var linesKeys = this.state.linesKeys;\n Object.keys(selected).forEach(function (key) {\n if (!linesKeys.includes(key)) {\n delete selected[key];\n }\n });\n selected[lineKey] = _toConsumableArray(lineSelected);\n if (lineSelected.length === 0) {\n delete selected[lineKey];\n }\n return {\n type: 'matrix',\n selected: _objectSpread({}, selected),\n text: text,\n isSingleMatrix: isSingleMatrix\n };\n }\n }, {\n key: \"getOtherTextChange\",\n value: function getOtherTextChange(lineText, lineKey, answer, isSingleMatrix) {\n var selected = answer.selected,\n text = answer.text;\n if (!selected[lineKey]) {\n selected[lineKey] = ['other'];\n } else if (!selected[lineKey].includes('other')) {\n selected[lineKey].push('other');\n }\n text[lineKey] = lineText;\n return {\n type: 'matrix',\n selected: selected,\n text: text,\n isSingleMatrix: isSingleMatrix\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props3 = this.props,\n question = _this$props3.question,\n _this$props3$device = _this$props3.device,\n device = _this$props3$device === void 0 ? 'pc' : _this$props3$device;\n var _this$state4 = this.state,\n realShowOptions = _this$state4.realShowOptions,\n lines = _this$state4.lines;\n var _question$custom = question.custom,\n isSingleMatrix = _question$custom.isSingleMatrix,\n _question$custom$tran = _question$custom.transpose,\n transpose = _question$custom$tran === void 0 ? false : _question$custom$tran,\n isScaleMatrix = _question$custom.isScaleMatrix,\n styleType = _question$custom.styleType,\n random = _question$custom.random,\n min = _question$custom.min,\n max = _question$custom.max,\n options = _question$custom.options,\n other = _question$custom.other;\n var splitQuestion = this.getSplitQuestion(question.custom, device);\n var id = question.id || 'unknown-form-item';\n var params = {\n options: realShowOptions,\n isRandomOpts: random,\n splitQuestion: splitQuestion,\n lines: lines,\n formAnswer: this.getFormAnswer(id).formAnswer,\n isScaleMatrix: isScaleMatrix,\n isSingleMatrix: isSingleMatrix,\n styleType: styleType,\n transpose: transpose,\n error: this.getError(id),\n onChange: {\n selected: this.retrieveFunc(question, 'selected'),\n text: this.retrieveFunc(question, 'text')\n },\n min: min || +question.required,\n max: max || options.length + +(other.status !== 0),\n realMin: min,\n realMax: max\n };\n return React.createElement(\"div\", {\n onFocus: function onFocus() {\n return _this2.setIsFocus(true);\n },\n onBlur: function onBlur() {\n return _this2.setIsFocus(false);\n },\n className: device === 'mobile' ? 'matrix-line' : ''\n }, this.props.children(params));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, state) {\n var question = nextProps.question,\n answers = nextProps.answers;\n var custom = question.custom;\n var realShowOptions = getRealShowOption({\n question: question,\n answers: answers\n });\n if (custom.random && !custom.isScaleMatrix) {\n realShowOptions = randomArray(_toConsumableArray(realShowOptions));\n }\n var realShowLines = getRealShowLine({\n question: question,\n answers: answers\n });\n var newState = null;\n window.allQuestions.find(function (el) {\n return el.id === question.id;\n }).custom.realShowOptions = realShowOptions;\n if (realShowOptions.length !== state.optionsBack.length || realShowOptions.some(function (el) {\n return !state.optionsBack.find(function (item) {\n return item.id === el.id;\n });\n }) || realShowOptions.some(function (el) {\n return el.text !== state.optionsBack.find(function (item) {\n return item.id === el.id;\n }).text;\n })) {\n var realOptions = _toConsumableArray(realShowOptions);\n if (custom.random && !custom.isScaleMatrix) {\n realShowOptions = randomArray(_toConsumableArray(realShowOptions));\n }\n if (!custom.isScaleMatrix && (custom.random || custom.reverse) && state.setShowOptions) {\n realShowOptions = randomShowOptions(_toConsumableArray(realShowOptions), custom.showMatrixOptionsNum, custom.random ? 'random' : 'reverse');\n nextProps.form.setFieldsValue(_defineProperty({}, question.id, {\n type: 'matrix',\n selected: [],\n text: ''\n }));\n }\n newState = {\n realShowOptions: realShowOptions,\n optionsBack: realOptions\n };\n }\n if (realShowLines.length !== state.realShowLines.length || realShowLines.some(function (el) {\n return !state.realShowLines.find(function (item) {\n return item.id === el.id;\n });\n })) {\n var realLines = _toConsumableArray(realShowLines);\n if (custom.randomLine) {\n realShowLines = randomArray(_toConsumableArray(realShowLines));\n if (state.setShowLines) {\n realShowLines = randomShowOptions(_toConsumableArray(realShowLines), custom.showOptionsNum, 'random');\n nextProps.form.setFieldsValue(_defineProperty({}, question.id, {\n type: 'matrix',\n selected: [],\n text: ''\n }));\n }\n }\n newState = _objectSpread({}, newState, {\n lines: realShowLines,\n realShowLines: realLines\n });\n }\n return newState;\n }\n }]);\n return Matrix;\n}(Component);\nexport { Matrix as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { Component } from 'react';\nimport { _argus_decode } from '@ies/argus-decode';\nimport { getLocalText } from '@/utilities/language';\n// import env from '@/env';\n\nvar host = \"\".concat(window.location.origin, \"/open_api/v1/api/upload/\");\n// const { href } = window.location;\n// if (href.includes('preview')) {\n// host = env.cdn.uploadFile;\n// } else {\n// host = `${window.location.origin}/open_api/v1/api/upload/`;\n// }\nvar Upload = /*#__PURE__*/function (_Component) {\n _inherits(Upload, _Component);\n function Upload() {\n var _getPrototypeOf2;\n var _this;\n _classCallCheck(this, Upload);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Upload)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"validator\", function (rules, answer, callback) {\n var required = _this.props.question.required;\n if (required && answer.list.length === 0) {\n callback(getLocalText('SingleChoice.Selected')); // '请填写答案');\n return;\n }\n if (answer.list.some(function (el) {\n return !el;\n })) {\n callback('uploading');\n return;\n }\n callback();\n });\n return _this;\n }\n _createClass(Upload, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (window.isReport) {\n var _nowAnswer$list;\n var nextQ = this.props.question;\n var nowAnswer = this.props.answers[nextQ.id];\n var prevAnswer = prevProps.answers[nextQ.id];\n if (((_nowAnswer$list = nowAnswer.list) === null || _nowAnswer$list === void 0 ? void 0 : _nowAnswer$list[0]) !== (prevAnswer === null || prevAnswer === void 0 ? void 0 : prevAnswer[0])) {\n this.getFileListChange({\n fileList: nowAnswer.list\n });\n }\n }\n }\n }, {\n key: \"getFileListChange\",\n value: function getFileListChange(_ref) {\n var fileList = _ref.fileList,\n _ref$text = _ref.text,\n text = _ref$text === void 0 ? '' : _ref$text;\n return {\n text: text,\n list: fileList,\n type: 'upload'\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props = this.props,\n question = _this$props.question,\n answer = _this$props.answer;\n var _question$custom = question.custom,\n max = _question$custom.max,\n _question$custom$with = _question$custom.withText,\n withText = _question$custom$with === void 0 ? false : _question$custom$with,\n _question$custom$plac = _question$custom.placeholder,\n placeholder = _question$custom$plac === void 0 ? '' : _question$custom$plac,\n _question$custom$acce = _question$custom.accept,\n accept = _question$custom$acce === void 0 ? ['image/*', 'video/*', 'audio/*'] : _question$custom$acce;\n var _this$props$form = this.props.form,\n getFieldProps = _this$props$form.getFieldProps,\n getFieldError = _this$props$form.getFieldError;\n var id = question.id || 'unknown-form-item';\n var _getFieldProps = getFieldProps(id, {\n initialValue: answer,\n rules: [{\n required: true,\n validator: this.validator\n }]\n }),\n _onChange = _getFieldProps.onChange,\n formAnswer = _getFieldProps.value;\n var error = getFieldError(id);\n if (error && error.length > 0) error = error.join(',');else error = null;\n var params = {\n withText: withText,\n placeholder: placeholder,\n max: max,\n host: host,\n error: error,\n accept: accept.length === 0 ? ['image/*', 'video/*', 'audio/*'] : accept,\n formAnswer: formAnswer,\n onChange: function onChange(val) {\n return _onChange(_this2.getFileListChange(val));\n }\n };\n return this.props.children(params);\n }\n }]);\n return Upload;\n}(Component);\n_defineProperty(Upload, \"defaultProps\", {\n answer: {\n list: [],\n type: 'upload'\n }\n});\nexport { Upload as default };","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { Component } from 'react';\nimport { css } from 'emotion';\nimport { getLocalText } from '@/utilities/language';\nimport { inputChecker, getRealShowOption } from '@/utilities/quest';\nvar randomComp = function randomComp() {\n return Math.random() - 0.5;\n};\nfunction randomOptions(options) {\n var saveNoRandomOptions = [];\n for (var i = options.length - 1; i >= 0; i--) {\n var option = options[i];\n if (option.noRandom) {\n saveNoRandomOptions.push([option, i]);\n options.splice(i, 1);\n }\n }\n var result = options.slice().sort(randomComp);\n while (saveNoRandomOptions.length) {\n var _saveNoRandomOptions$ = saveNoRandomOptions.pop(),\n _saveNoRandomOptions$2 = _slicedToArray(_saveNoRandomOptions$, 2),\n _option = _saveNoRandomOptions$2[0],\n index = _saveNoRandomOptions$2[1];\n result.splice(index, 0, _option);\n }\n return result;\n}\nfunction getTotalPersent(options, option_blank) {\n if (options.length && option_blank && Object.keys(option_blank).length) {\n var total = 0;\n var ids = options.map(function (item) {\n return item.id;\n });\n Object.keys(option_blank).forEach(function (key) {\n if (ids.includes(key)) {\n var numArr = option_blank[key];\n if (numArr && numArr.length && Number(numArr[0]) !== NaN) {\n total = total + Number(numArr[0]);\n }\n }\n });\n return total;\n }\n return 0;\n}\nvar OptionInput = /*#__PURE__*/function (_Component) {\n _inherits(OptionInput, _Component);\n function OptionInput(props) {\n var _this;\n _classCallCheck(this, OptionInput);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(OptionInput).call(this, props));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setInput\", function (ids) {\n var _this$props = _this.props,\n question = _this$props.question,\n answer = _this$props.answer;\n var getFieldProps = _this.props.form.getFieldProps;\n var _getFieldProps = getFieldProps(question.id, {\n initialValue: answer,\n rules: [{\n required: true,\n validator: _this.validator\n }]\n }),\n onChange = _getFieldProps.onChange,\n formAnswer = _getFieldProps.value;\n var option_blank = formAnswer.option_blank;\n if (option_blank && Object.keys(option_blank).length) {\n Object.keys(option_blank).forEach(function (key) {\n if (!ids.includes(key)) {\n onChange(_this.getInputChange(key, '', formAnswer));\n }\n });\n }\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"validator\", function (rules, answer, callback) {\n var realShowOptions = _this.state.realShowOptions;\n var option_blank = answer.option_blank;\n var _this$props2 = _this.props,\n question = _this$props2.question,\n required = _this$props2.question.required;\n var restrictions = (window.showMultiLang ? question === null || question === void 0 ? void 0 : question[\"\".concat(window.language, \"Restrictions\")] : question === null || question === void 0 ? void 0 : question.restrictions) || {};\n if (required) {\n if (!option_blank || option_blank && Object.keys(option_blank).length === 0) {\n callback(getLocalText('SingleChoice.Selected')); // '请填写答案');\n return;\n }\n realShowOptions.forEach(function (option) {\n if (!option_blank[option.id] || option_blank[option.id].length === 0 || option_blank[option.id][0] === '') {\n callback(getLocalText('SingleChoice.Selected')); // '请填写答案');\n }\n });\n\n if ((restrictions === null || restrictions === void 0 ? void 0 : restrictions.contentType) === 'percent') {\n var total = getTotalPersent(realShowOptions, answer.option_blank);\n if (total !== (restrictions === null || restrictions === void 0 ? void 0 : restrictions.specificGravity)) {\n callback(getLocalText('optionInput.specificGravity')); // '请调整比重');\n return;\n }\n }\n }\n _this.checkRestrictions(answer, restrictions, callback);\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"checkRestrictions\", function (answer, restrictions, callback) {\n if (answer.text && restrictions) {\n var checkResult = inputChecker(answer.text, restrictions);\n if (checkResult !== true) {\n callback(checkResult);\n return;\n }\n }\n // console.log(\n // getTotalPersent(realShowOptions, formAnswer.option_blank),\n // 'getTotalPersent'\n // );\n callback();\n });\n var _question = props.question,\n answers = props.answers;\n var _realShowOptions = getRealShowOption({\n question: _question,\n answers: answers\n });\n _this.state = {\n realShowOptions: _realShowOptions\n };\n return _this;\n }\n _createClass(OptionInput, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var prevQ = prevProps.question;\n var nextQ = this.props.question;\n\n // 如果选项变了 就改变答案\n if (prevState.realShowOptions.length > this.state.realShowOptions.length) {\n this.setInput(this.state.realShowOptions.map(function (el) {\n return el.id;\n }));\n }\n // 预览模式下面始终不成立(broadcastchannel 使用JSON.stringify传递数据\n // 问卷模式下面始终成立, 问卷结构不会改变\n if (prevQ === nextQ) return;\n // 打开随机按钮\n if (!prevQ.custom.random && nextQ.custom.random) {\n // eslint-disable-next-line\n this.setState({\n realShowOptions: randomOptions(_toConsumableArray(nextQ.custom.options))\n });\n }\n // 关闭随机按钮\n if (prevQ.custom.random && !nextQ.custom.random) {\n // eslint-disable-next-line\n this.setState({\n realShowOptions: nextQ.custom.options\n });\n }\n // 判断是否修改了options, 但是broadcastchannell始终是深拷贝传递。所以这里不能比较地址了。\n if (JSON.stringify(nextQ.custom.options) !== JSON.stringify(prevQ.custom.options)) {\n // eslint-disable-next-line\n if (nextQ.custom.random) this.setState({\n options: randomOptions(_toConsumableArray(nextQ.custom.options))\n });\n // eslint-disable-next-line\n else this.setState({\n realShowOptions: nextQ.custom.options\n });\n }\n }\n }, {\n key: \"getInputChange\",\n value: function getInputChange(id, input, answer) {\n var text = answer && answer.text || '';\n var selected = (answer.selected || []).slice();\n if (!selected.includes(id)) selected.push(id);\n var value = input;\n var question = this.props.question;\n var restrictions = (window.showMultiLang ? question === null || question === void 0 ? void 0 : question[\"\".concat(window.language, \"Restrictions\")] : question === null || question === void 0 ? void 0 : question.restrictions) || {};\n var contentType = restrictions.contentType;\n if (contentType === 'number') {\n value = value.replace(/[^\\-\\d.]/g, '');\n } else if (contentType === 'percent') {\n value = value.replace(/[^\\d]/g, '');\n }\n return {\n type: 'optionInput',\n text: text,\n selected: selected,\n option_blank: _objectSpread({}, answer.option_blank, _defineProperty({}, id, [value]))\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _question$custom,\n _this2 = this;\n var _this$props3 = this.props,\n question = _this$props3.question,\n answer = _this$props3.answer,\n _this$props3$device = _this$props3.device,\n device = _this$props3$device === void 0 ? 'pc' : _this$props3$device;\n var realShowOptions = this.state.realShowOptions;\n var restrictions = (window.showMultiLang ? question === null || question === void 0 ? void 0 : question[\"\".concat(window.language, \"Restrictions\")] : question === null || question === void 0 ? void 0 : question.restrictions) || {};\n var _this$props$form = this.props.form,\n getFieldProps = _this$props$form.getFieldProps,\n getFieldError = _this$props$form.getFieldError;\n var id = question.id || 'unknown-form-item';\n var _question$custom$text = question.custom.text,\n text = _question$custom$text === void 0 ? '' : _question$custom$text;\n var placeholder = window.showMultiLang ? (_question$custom = question.custom) === null || _question$custom === void 0 ? void 0 : _question$custom[\"\".concat(window.language, \"Text\")] : text;\n var openWordsRestriction = restrictions.openWordsRestriction,\n maxWords = restrictions.maxWords;\n var _getFieldProps2 = getFieldProps(id, {\n initialValue: answer,\n rules: [{\n required: true,\n validator: this.validator\n }]\n }),\n onChange = _getFieldProps2.onChange,\n formAnswer = _getFieldProps2.value;\n var error = getFieldError(id);\n if (error && error.length > 0) error = error.join(',');else error = null;\n var params = {\n options: realShowOptions,\n error: error,\n formAnswer: formAnswer,\n placeholder: placeholder,\n onChange: {\n input: function input(id, _input) {\n onChange(_this2.getInputChange(id, _input, formAnswer));\n }\n },\n maxWords: openWordsRestriction && maxWords\n };\n return React.createElement(\"div\", {\n className: optionContCls\n }, this.props.children(params), restrictions && restrictions.contentType === 'number' && React.createElement(\"div\", {\n className: \"numTip\",\n style: device === 'mobile' ? {\n bottom: 12,\n padding: '0 16px'\n } : {}\n }, \"\\u63D0\\u793A\\uFF1A\\u672C\\u9898\\u586B\\u5199\\u5185\\u5BB9\\u53EA\\u652F\\u6301\\u6570\\u5B57\"), restrictions && restrictions.contentType === 'percent' && React.createElement(\"div\", {\n className: \"numTip\",\n style: device === 'mobile' ? {\n bottom: 14,\n padding: '0 16px'\n } : {}\n }, \"\\u63D0\\u793A\\uFF1A\\u672C\\u9898\\u586B\\u5199\\u5185\\u5BB9\\u53EA\\u652F\\u6301\\u6574\\u6570\", React.createElement(\"span\", null, \"\\uFF0C\\u603B\\u6BD4\\u91CD\\u503C\\u5FC5\\u987B\\u4E3A\\uFF1A\", React.createElement(\"strong\", null, restrictions.specificGravity || 100)), \"\\xA0\", React.createElement(\"span\", null, \"\\uFF0C\\u5DF2\\u5206\\u914D\\u6BD4\\u91CD\\uFF1A\", React.createElement(\"span\", {\n style: {\n color: 'red'\n }\n }, getTotalPersent(realShowOptions, formAnswer.option_blank)))));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, state) {\n var question = nextProps.question,\n answers = nextProps.answers;\n var realShowOptions = getRealShowOption({\n question: question,\n answers: answers\n });\n window.allQuestions.find(function (el) {\n return el.id === question.id;\n }).custom.realShowOptions = realShowOptions;\n if (realShowOptions.length !== state.realShowOptions.length || realShowOptions.some(function (el) {\n return !state.realShowOptions.find(function (item) {\n return item.id === el.id;\n });\n }) || realShowOptions.some(function (el) {\n return el.text !== state.realShowOptions.find(function (item) {\n return item.id === el.id;\n }).text;\n })) {\n if (question.custom.random) {\n realShowOptions = randomOptions(realShowOptions);\n }\n return {\n realShowOptions: realShowOptions\n };\n }\n return null;\n }\n }]);\n return OptionInput;\n}(Component);\n_defineProperty(OptionInput, \"defaultProps\", {\n answer: {\n selected: [],\n text: '',\n type: 'optionInput'\n },\n device: 'pc'\n});\nexport { OptionInput as default };\nvar optionContCls = /*#__PURE__*/css(\"position:relative;.numTip{position:absolute;bottom:20px;padding:0 56px;font-size:12px;color:gray;}\");","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport React from 'react';\nimport sanitizeHtml from 'sanitize-html';\nimport { css } from 'emotion';\nvar PureDescription = /*#__PURE__*/function (_React$Component) {\n _inherits(PureDescription, _React$Component);\n function PureDescription() {\n _classCallCheck(this, PureDescription);\n return _possibleConstructorReturn(this, _getPrototypeOf(PureDescription).apply(this, arguments));\n }\n _createClass(PureDescription, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n question = _this$props.question,\n description = _this$props.question.description;\n return React.createElement(\"div\", {\n className: descriptionWrapper,\n dangerouslySetInnerHTML: {\n __html: sanitizeHtml((window.showMultiLang ? question === null || question === void 0 ? void 0 : question[\"\".concat(window.language, \"Description\")] : description) || '')\n }\n });\n }\n }]);\n return PureDescription;\n}(React.Component);\nexport { PureDescription as default };\nvar descriptionWrapper = /*#__PURE__*/css(\"background:transparent;color:var(--text-color-secondary);p{&:not(:first-of-type){display:block;margin-top:15px !important;}}\");","import React, { useEffect, useRef } from 'react';\nimport { css } from 'emotion';\nvar ShoppingOrder = function ShoppingOrder(_ref) {\n var _ref$question$custom = _ref.question.custom;\n _ref$question$custom = _ref$question$custom === void 0 ? {} : _ref$question$custom;\n var _ref$question$custom$ = _ref$question$custom.title,\n title = _ref$question$custom$ === void 0 ? '盐津铺子/小银线鱼130g(约8包)' : _ref$question$custom$,\n _ref$question$custom$2 = _ref$question$custom.img,\n imgSrc = _ref$question$custom$2 === void 0 ? '' : _ref$question$custom$2,\n _ref$question$custom$3 = _ref$question$custom.ctime,\n ctime = _ref$question$custom$3 === void 0 ? 1629177344 : _ref$question$custom$3,\n _ref$isMobile = _ref.isMobile,\n isMobile = _ref$isMobile === void 0 ? false : _ref$isMobile;\n var date = new Date(ctime * 1000);\n var m = date.getMonth() + 1;\n var d = date.getDate();\n var imgRef = useRef(null);\n var changeSize = function changeSize(img) {\n var width = img.naturalWidth;\n var height = img.naturalHeight;\n var maxW = Math.min(height, isMobile ? 80 : 100);\n if (maxW !== width) {\n img.setAttribute('style', \"width: \".concat(maxW, \"px !important; height: \").concat(maxW * height / width, \"px !important;\"));\n }\n };\n useEffect(function () {\n if (imgRef.current && imgSrc) {\n var img = imgRef.current;\n img.onload = function () {\n return changeSize(img);\n };\n }\n }, [imgRef.current]);\n return React.createElement(\"div\", {\n className: descriptionWrapper(isMobile)\n }, React.createElement(\"p\", null, \"\\u8BA2\\u5355\\u4FE1\\u606F\"), React.createElement(\"div\", {\n className: \"flex\"\n }, imgSrc && React.createElement(\"img\", {\n src: imgSrc,\n alt: \"order-pic\",\n ref: imgRef\n }), React.createElement(\"div\", null, React.createElement(\"b\", null, title), React.createElement(\"p\", {\n style: {\n marginTop: 5\n }\n }, \"\\u4E0B\\u5355\\u65E5\\u671F:\", ' ', \"\".concat(date.getFullYear(), \"-\").concat(Math.floor(m / 10)).concat(m % 10, \"-\").concat(Math.floor(d / 10)).concat(d % 10)))));\n};\nvar _ref2 = \"background:\";\nvar _ref3 = \";color:var(--text-color-secondary);font-weight:400;font-size:1rem;font-size:14px;padding:\";\nvar _ref4 = \";p:first-of-type{margin-bottom:10px;font-weight:500;color:var(--text-color-thirdly);}img{margin-right:\";\nvar _ref5 = \"px;}\";\nvar descriptionWrapper = function descriptionWrapper(isMobile) {\n return /*#__PURE__*/css(_ref2, isMobile ? 'var(--am-entity-bg)' : 'var(--question-bg)', _ref3, isMobile ? '9px' : '15px 42px 20px 36px', _ref4, isMobile ? 20 : 50, _ref5);\n};\nexport default ShoppingOrder;","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport Tea from 'byted-tea-sdk';\nimport { debounce } from 'throttle-debounce';\nimport { checkUndefined } from '@/utilities/common';\nTea.init({\n app_id: 1482,\n channel_type: 'ttp',\n disable_auto_pv: true\n});\nTea.config({\n log: !process.env.NODE_ENV.includes('production'),\n _staging_flag: process.env.NODE_ENV.includes('production') ? 0 : 1\n});\nif (!window.isLocal && !window.isRD) {\n Tea.start();\n}\nvar prevPageTitle = '';\nexport var tracePageOpen = debounce(150, function () {\n var title = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var pageTitle = title;\n if (prevPageTitle === pageTitle) {\n return;\n }\n // 改变页面title\n // 发送pageview事件。\n if (!window.isLocal && !window.isRD) {\n Tea.predefinePageView({\n title: pageTitle,\n url: window.location.href\n });\n }\n prevPageTitle = pageTitle;\n});\nvar getConf = function getConf() {\n var _window = window,\n teaConf = _window.teaConf;\n if (!teaConf || !checkUndefined(teaConf)) return {};\n return window.teaConf;\n};\nexport var traceShowQuestion = function traceShowQuestion(sum) {\n if (window.isLocal || window.isRD || typeof sum !== 'number') return;\n console.log('Tea traceShowQuestion');\n Tea.event('show_questionnaire', _objectSpread({}, getConf(), {\n sum_question: sum\n }));\n};\nexport var traceUpdateQuestion = debounce(300, function (type, question_order, question_id) {\n if (window.isLocal || window.isRD) return;\n Tea.event('update_questionnaire', _objectSpread({}, getConf(), {\n reply_type: type ? 1 : 0,\n question_order: question_order,\n question_id: question_id\n }));\n});\nexport var traceSubmitQuestionnaire = function traceSubmitQuestionnaire(isSubmit) {\n if (window.isLocal || window.isRD) return;\n Tea.event('submit_questionaire', _objectSpread({}, getConf(), {\n submit_questionnaire: isSubmit ? 1 : 0\n }));\n};\nexport var traceClickAdv = function traceClickAdv() {\n if (window.isLocal || window.isRD) return;\n Tea.event('click_advertisement', _objectSpread({}, getConf(), {\n url: window.location.href\n }));\n};\nexport var traceExitQuestionnaire = function traceExitQuestionnaire(exit) {\n if (window.isLocal || window.isRD) return;\n Tea.event('exit_questionnaire', _objectSpread({}, getConf(), {\n exit: exit ? 1 : 0\n }));\n};\n\n// 报错时埋点\nexport var traceOnError = function traceOnError(error, code, errStack) {\n Tea.event('on_error_code', _objectSpread({}, getConf(), {\n error: error,\n error_stack: errStack,\n error_code: Number(code),\n url: window.location.href\n }));\n};","import _message from \"antd/es/message\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport isEmpty from 'lodash/isEmpty';\nimport shuffle from 'lodash/shuffle';\nimport sampleSize from 'lodash/sampleSize';\nimport { typeChecker, sampleGroups, getSampleGroupIds, getDepGroups, getGroupDepIds } from './quest';\nimport { getLocalText, navigatorLang } from './language';\nimport { getUrlParamsText, getUrlParams, CaseUtil } from './common';\nexport var setLang = function setLang(_ref) {\n var language = _ref.language,\n multiLanguage = _ref.multiLanguage,\n bilingual = _ref.bilingual,\n localLanguage = _ref.localLanguage,\n multiLngList = _ref.multiLngList;\n var lang = navigatorLang(language, multiLanguage, bilingual, localLanguage, multiLngList);\n window.language = lang;\n window.showMultiLang = bilingual && lang === 'en' || multiLanguage && window.language !== localLanguage;\n};\nexport var handleLimitTime = function handleLimitTime(submitForm, basicLimit) {\n var clock = document.createElement('span');\n document.getElementById('limitTimeRef').appendChild(clock);\n var limitTime = basicLimit;\n window.limitTimeTask = setInterval(function () {\n if (limitTime === 0) {\n submitForm && submitForm();\n clearTimeout(window.limitTimeTask);\n return;\n }\n limitTime -= 1;\n var h = Math.floor(limitTime / 3600);\n if (h < 10) {\n h = \"0\".concat(h);\n }\n var m = Math.floor(limitTime % 3600 / 60);\n if (m < 10) {\n m = \"0\".concat(m);\n }\n var s = limitTime % 60;\n if (s < 10) {\n s = \"0\".concat(s);\n }\n clock.innerHTML = \"\".concat(h, \":\").concat(m, \":\").concat(s);\n if (limitTime < 60) {\n clock.style.color = 'red';\n }\n }, 1000);\n};\nexport var transferDefaultDataToQuest = function transferDefaultDataToQuest(questionnaire) {\n // 获得 埋点信息\n window.teaConf = {\n deliver_id: questionnaire.deliverId || -1,\n survey_id: questionnaire.surveyId,\n uid: questionnaire.userId,\n questionnaire_id: questionnaire.questionnaireId,\n did: questionnaire.deviceId,\n app_id: questionnaire.appId\n };\n var quest = questionnaire.struct;\n quest.title = questionnaire.name;\n quest.titleHide = questionnaire.struct.titleHide;\n quest.desc = questionnaire.description;\n quest.customParams = questionnaire.customParams;\n quest.callbackAddr = questionnaire.callbackAddr;\n quest.quotaStrategy = questionnaire.quotaStrategy; // 选项配额\n quest.uid = questionnaire.userId;\n quest.did = questionnaire.deviceId;\n if (quest.bilingual) {\n quest.bilingual = false;\n quest.multiLanguage = true;\n quest.localLanguage = 'cn';\n quest.canSelectLanguage = true;\n quest.multiLngList = [{\n language: 'cn'\n }, {\n language: 'en'\n }];\n }\n\n // if (!quest.titleHide) {\n // document.title = quest.title;\n // }\n var language = quest.language,\n multiLanguage = quest.multiLanguage,\n bilingual = quest.bilingual,\n localLanguage = quest.localLanguage,\n multiLngList = quest.multiLngList;\n setLang({\n language: language,\n multiLanguage: multiLanguage,\n bilingual: bilingual,\n localLanguage: localLanguage,\n multiLngList: multiLngList\n });\n var direction = (quest === null || quest === void 0 ? void 0 : quest.direction) || 'ltr';\n var rtl = direction === 'rtl';\n window.textDirection = {\n direction: direction,\n textAlign: rtl ? 'right' : 'start'\n };\n quest.questions.forEach(function (el, index) {\n var _el$dep;\n // optionFilter === null 的bug\n if (el.optionFilter === null) {\n delete el.optionFilter;\n }\n // 显示逻辑在后面的bug\n (((_el$dep = el.dep) === null || _el$dep === void 0 ? void 0 : _el$dep.cons) || []).map(function (con, i) {\n var conIndex = quest.questions.findIndex(function (q) {\n return q.id === con.id;\n });\n if (conIndex >= index) {\n el.dep.cons.splice(i, 1);\n }\n return con;\n });\n });\n return quest;\n};\n\n// 题目随机乱序逻辑\nvar shuffleQuestions = function shuffleQuestions(_ref2) {\n var questions = _ref2.questions;\n var newQuestions = [];\n var pageBreakIds = []; // 分页&描述题id\n var questionIds = [];\n questions.forEach(function (q, index) {\n if (['page_break', 'description'].includes(q.type)) {\n pageBreakIds.push(index);\n } else {\n questionIds.push(index);\n }\n });\n var qIds = shuffle(questionIds);\n for (var _i = 0; _i < pageBreakIds.length; _i++) {\n var idx = pageBreakIds[_i];\n qIds.splice(idx, 0, idx);\n }\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n try {\n for (var _iterator = qIds[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _idx = _step.value;\n newQuestions.push(questions[_idx]);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return newQuestions;\n};\n\n// 抽样逻辑\nvar sampleQuestions = function sampleQuestions(_ref3) {\n var questions = _ref3.questions,\n sampleCount = _ref3.sampleCount,\n _ref3$shuffle = _ref3.shuffle,\n shuffle = _ref3$shuffle === void 0 ? false : _ref3$shuffle,\n _ref3$groupIndex = _ref3.groupIndex,\n groupIndex = _ref3$groupIndex === void 0 ? null : _ref3$groupIndex,\n _ref3$sampleGroupInde = _ref3.sampleGroupIndex,\n sampleGroupIndex = _ref3$sampleGroupInde === void 0 ? null : _ref3$sampleGroupInde;\n var newQuestions = [];\n var pageBreakIds = [];\n var questionIds = [];\n questions.forEach(function (q, index) {\n if (['page_break', 'description'].includes(q.type)) {\n pageBreakIds.push(index);\n } else {\n questionIds.push(index);\n }\n });\n var qIds = sampleSize(questionIds, sampleCount);\n for (var _i2 = 0; _i2 < pageBreakIds.length; _i2++) {\n var idx = pageBreakIds[_i2];\n qIds.push(idx);\n }\n qIds.sort(function (a, b) {\n return a - b;\n });\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n try {\n for (var _iterator2 = qIds[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var _idx2 = _step2.value;\n newQuestions.push(_objectSpread({}, questions[_idx2], {\n group_index: groupIndex,\n sample_group_index: sampleGroupIndex\n }));\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n if (shuffle) {\n newQuestions = shuffleQuestions({\n questions: newQuestions\n });\n }\n return newQuestions;\n};\n\n// 指定题目范围抽样逻辑\nvar sampleQuestionsByGroup = function sampleQuestionsByGroup(_ref4) {\n var questions = _ref4.questions,\n sampleConfig = _ref4.sampleConfig;\n var _sampleConfig$sample_ = sampleConfig.sample_by_question,\n sample_by_question = _sampleConfig$sample_ === void 0 ? [] : _sampleConfig$sample_,\n _sampleConfig$sample_2 = sampleConfig.sample_by_group,\n sample_by_group = _sampleConfig$sample_2 === void 0 ? [] : _sampleConfig$sample_2;\n var newQuestions = [];\n var pageBreakIds = [];\n var questionIds = [];\n questions.forEach(function (q, index) {\n if (['page_break', 'description'].includes(q.type)) {\n pageBreakIds.push(index);\n } else {\n questionIds.push(index);\n }\n });\n var groupDepIds = {}; // 有设置题目组显示逻辑\n var sampleGroupIds = {}; // 组随机出的题目组id\n\n // 题目分组 begin end改为索引\n var sampleQs = [];\n if (sample_by_question.length) {\n sample_by_question.forEach(function (q, idx) {\n var begin = questions.findIndex(function (item) {\n return item.id === q.begin_question;\n });\n var end = questions.findIndex(function (item) {\n return item.id === q.end_question;\n });\n sampleQs.push({\n begin: begin,\n end: end,\n sampleCount: q.sample_count,\n shuffle: q.shuffle\n });\n });\n groupDepIds = getGroupDepIds({\n sampleConfig: CaseUtil.toCaml(sampleConfig)\n });\n }\n var isShuffle = shuffleGroup({\n sampleConfig: CaseUtil.toCaml(sampleConfig)\n });\n\n // 如果随机组中没有配置显示依赖的题目组,则提前随机好题目\n if (sample_by_group.length && !isShuffle) {\n var _CaseUtil$toCaml = CaseUtil.toCaml(sampleConfig),\n sampleByQuestion = _CaseUtil$toCaml.sampleByQuestion;\n var depGroups = getDepGroups({\n sampleByQuestion: sampleByQuestion\n });\n if (Object.keys(groupDepIds).length === 0) {\n sampleGroupIds = sampleGroups({\n sampleConfig: CaseUtil.toCaml(sampleConfig)\n });\n } else {\n sample_by_group.forEach(function (groupConfig, index) {\n var _groupDepIds$index;\n if (!groupDepIds[index] || ((_groupDepIds$index = groupDepIds[index]) === null || _groupDepIds$index === void 0 ? void 0 : _groupDepIds$index.length) === 0) {\n sampleGroupIds[index] = getSampleGroupIds({\n depGroups: depGroups,\n groupConfig: CaseUtil.toCaml(groupConfig)\n });\n }\n });\n }\n }\n var start = 0;\n sampleQs.forEach(function (sample, groupIndex) {\n // 判断题目组有没有组随机\n var sampleGroupIndex = null;\n if (sample_by_group.length) {\n sampleGroupIndex = sample_by_group.findIndex(function (g) {\n return groupIndex >= g.begin_group && groupIndex <= g.end_group;\n });\n }\n var showQuest = sampleGroupIndex !== null && !isShuffle ? sampleGroupIds[sampleGroupIndex] ? sampleGroupIds[sampleGroupIndex].includes(groupIndex) : true : true;\n var begin = sample.begin,\n end = sample.end,\n sampleCount = sample.sampleCount,\n shuffle = sample.shuffle; // 题目没设置分组\n if (start < begin) {\n newQuestions = newQuestions.concat(questions.slice(start, begin));\n }\n start = end + 1;\n var questionList = showQuest ? sampleQuestions({\n questions: questions.slice(begin, end + 1),\n sampleCount: sampleCount,\n shuffle: shuffle,\n groupIndex: groupIndex,\n sampleGroupIndex: sampleGroupIndex\n }) : [];\n newQuestions = newQuestions.concat(questionList);\n });\n // 分组的题目最后的索引如果小于所有题目的长度,之后的题目都添加进去\n if (start < questions.length) {\n newQuestions = newQuestions.concat(questions.slice(start));\n }\n return newQuestions;\n};\nexport var shuffleGroup = function shuffleGroup(_ref5) {\n var sampleConfig = _ref5.sampleConfig;\n var isShuffle = false;\n var _sampleConfig$sampleB = sampleConfig.sampleByGroup,\n sampleByGroup = _sampleConfig$sampleB === void 0 ? [] : _sampleConfig$sampleB;\n if (sampleByGroup.length) {\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n try {\n for (var _iterator3 = sampleByGroup[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var q = _step3.value;\n var _shuffle = q.shuffle;\n if (_shuffle) {\n isShuffle = true;\n break;\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n }\n return isShuffle;\n};\nvar showQuestion = function showQuestion(groupIds, groupIndex, sampleGroupIndex) {\n return groupIds.includes(groupIndex) || !Number.isInteger(sampleGroupIndex) || !Number.isInteger(groupIndex);\n};\n\n// 获取题目组随机后的所有显示题目\nexport var getRealQuestions = function getRealQuestions(_ref6) {\n var globalSampleGids = _ref6.globalSampleGids,\n questions = _ref6.questions;\n // 把随机出的所有题目组扁平化\n var sampleIds = Object.entries(globalSampleGids).reduce(function (previous, _ref7) {\n var _ref8 = _slicedToArray(_ref7, 2),\n key = _ref8[0],\n _ref8$ = _ref8[1],\n value = _ref8$ === void 0 ? [] : _ref8$;\n return previous.concat(value);\n }, []);\n // 过滤出应该显示的题目\n var showQuestions = questions.filter(function (q) {\n return showQuestion(sampleIds, q.groupIndex, q.sampleGroupIndex);\n });\n var groupIds = {};\n var groupIndex = null;\n var pageBreakIds = [];\n var questionIds = [];\n for (var i = 0; i < showQuestions.length; i++) {\n var question = showQuestions[i];\n var type = question.type,\n gIdx = question.groupIndex; // 如果是分页或者描述题 存到pageBreakIds中\n if (['page_break', 'description'].includes(type)) {\n pageBreakIds.push(i);\n } else if (\n // 如果当前题目的groupIndex存在且在随机出的sampleIds中\n Number.isInteger(gIdx) && sampleIds.includes(gIdx)) {\n groupIds[gIdx] = _toConsumableArray(groupIds[gIdx] || []).concat([i]);\n /*\n * 如果当前题目的groupIndex和全局groupIndex不同, 说明是另一个题目组\n * groupIndex重新赋值,questionIds用null占位\n *\n */\n if (groupIndex !== gIdx) {\n groupIndex = gIdx;\n questionIds.push(null);\n }\n } else {\n questionIds.push(i);\n }\n }\n questionIds = questionIds.reduce(function (pre, curr) {\n if (curr) {\n var _pre;\n (_pre = pre).push.apply(_pre, [curr]);\n // 未随机题目\n } else {\n for (var _i3 in sampleIds) {\n // 组题目随机\n if (groupIds[sampleIds[_i3]]) {\n pre = pre.concat(groupIds[sampleIds[_i3]]);\n sampleIds.splice(_i3, 1);\n break;\n }\n }\n }\n return pre;\n }, []);\n // 把分页题按索引插入\n for (var _i4 = 0; _i4 < pageBreakIds.length; _i4++) {\n var idx = pageBreakIds[_i4];\n questionIds.splice(idx, 0, idx);\n }\n var realQuestions = [];\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n try {\n for (var _iterator4 = questionIds[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var _idx3 = _step4.value;\n if (typeChecker.isPageBreak(showQuestions[_idx3])) {\n if (!realQuestions.length || !typeChecker.isPageBreak(realQuestions[realQuestions.length - 1])) {\n realQuestions.push(showQuestions[_idx3]);\n }\n } else {\n realQuestions.push(showQuestions[_idx3]);\n }\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n return realQuestions;\n};\nexport var sampleDataToQuestions = function sampleDataToQuestions(data) {\n var _data$struct = data.struct,\n questions = _data$struct.questions,\n sample_config = _data$struct.sample_config;\n var newQuestions = questions;\n if (sample_config) {\n if (sample_config.mode === 'shuffle') {\n // 随机乱序\n newQuestions = shuffleQuestions({\n questions: questions\n });\n } else if (sample_config.mode === 'sample') {\n // 抽样展示\n newQuestions = sampleQuestions({\n questions: questions,\n sampleCount: sample_config.sample.sample_count\n });\n } else if (sample_config.mode === 'sample_by_question') {\n // 指定题目范围抽样展示\n newQuestions = sampleQuestionsByGroup({\n questions: questions,\n sampleConfig: sample_config\n });\n }\n }\n return _objectSpread({}, data, {\n struct: _objectSpread({}, data.struct, {\n questions: newQuestions\n })\n });\n};\nexport var getPage = function getPage(_ref9) {\n var p = _ref9.p,\n page = _ref9.page;\n var ret = {\n current: p.current || page.current,\n total: p.total || page.total\n };\n if (ret.current > ret.total) ret.current = ret.total;\n if (ret.current === page.current && ret.total === page.total) return null;\n return {\n page: ret\n };\n};\nexport var scrollToTop = function scrollToTop() {\n if (document.querySelector('.header-pic')) {\n document.querySelector('.header-pic').scrollIntoView();\n } else if (document.querySelector('.header')) {\n document.querySelector('.header').scrollIntoView();\n } else if (document.querySelector('#mobileContainer')) {\n document.querySelector('#mobileContainer').scrollTop = 0;\n } else if (document.querySelector('#pcContainer')) {\n document.querySelector('#pcContainer').scrollTop = 0;\n }\n};\nexport var getPageContentLogic = function getPageContentLogic(questions, current, isNextEnd) {\n var pageQuestions = [];\n var currentNo = 0; // 当前的题目从currentNo开始\n // currentPage: 当前遍历的是第几页的题目\n for (var i = 0, currentPage = 0; i < questions.length; i++) {\n var question = questions[i];\n // 每页的题目都是以page_break开始的\n if (typeChecker.isPageBreak(question)) {\n currentPage++;\n // 如果++之后的页码就是要取的页面页码 则开始取题\n if (currentPage === current) {\n pageQuestions.push(question);\n }\n continue;\n }\n // 如果\n if (currentPage < current) {\n if (question.type !== 'description') {\n currentNo++;\n }\n continue;\n }\n if (currentPage > current) break;\n pageQuestions.push(question);\n }\n return {\n no: currentNo,\n questions: pageQuestions,\n isNextEnd: isNextEnd\n };\n};\nexport var retrieveDataAfterSubmit = function retrieveDataAfterSubmit(_ref10) {\n var res = _ref10.res,\n showQuotaLimit = _ref10.showQuotaLimit,\n id = _ref10.id,\n location = _ref10.location;\n var show_message = res.show_message;\n var title = show_message ? show_message : getLocalText('Submit.success'); // '提交成功'\n var type = 'success';\n if (res.code === 400) {\n title = res.i18n_prompt ? getLocalText(\"error.\".concat(res.i18n_prompt)) // 后端错误提示\n : getLocalText('RequestError.400');\n _message.error(title);\n type = 'error';\n return;\n } else if (res.code > 400 && res.code < 500) {\n title = getLocalText('RequestError.biggerThan400');\n _message.error(title);\n type = 'error';\n return;\n } else if (res.code >= 500) {\n title = getLocalText('RequestError.biggerThan500');\n _message.error(title);\n type = 'error';\n return;\n } else if (res.code === 0) {\n title = res.message;\n _message.error(title);\n type = 'error';\n return;\n } else if (res.code === 299) {\n var _data$hit_quota_strat;\n var _data = res.data,\n rnd = res.rnd,\n server_time = res.server_time;\n window.rnd = rnd;\n window.serverTime = server_time;\n type = 'error';\n _data && ((_data$hit_quota_strat = _data.hit_quota_strategy) === null || _data$hit_quota_strat === void 0 ? void 0 : _data$hit_quota_strat[0]) && showQuotaLimit(_data.hit_quota_strategy[0], _data.quota_strategy);\n // 配额已满\n _message.error(title);\n return;\n }\n var data = res.data;\n if (!data) data = {};\n if (window.isRD) {\n var _data$score;\n data.score = (_data$score = data.score) !== null && _data$score !== void 0 ? _data$score : 1000;\n // localStorage.removeItem(this.state.id); RD就留着吧 方便下次直接提交\n } else {\n // 提交成功的话清除 localStorage中的答案\n try {\n var urlParams = getUrlParams();\n var localStorageId = window.isLocal ? \"survey-preview-\".concat(urlParams.id) : id;\n localStorage.removeItem(localStorageId);\n } catch (error) {\n console.error('get LSAnswer error: ', error.message);\n }\n }\n\n // 跳转到指定url的逻辑优先于其他显示\n var _data2 = data,\n score = _data2.score,\n finish_redirect_url = _data2.finish_redirect_url;\n var finishUrl = finish_redirect_url ? decodeURIComponent(encodeURIComponent(finish_redirect_url).replace(/%E2%80%8B/g, '')) : null;\n if (finish_redirect_url) {\n var preParams = getUrlParamsText(location);\n var queries = preParams;\n if (score !== undefined) {\n queries = isEmpty(preParams) ? \"score=\".concat(score) : preParams.concat(\"&score=\".concat(score));\n }\n if (!/^\\?/.test(queries) && !/\\?$|\\/\\?/.test(finish_redirect_url)) {\n queries = queries.replace(/^&/, '');\n } else {\n queries = queries.replace(/^\\?/, '');\n }\n finishUrl = queries ? \"\".concat(finishUrl, \"?\") : finishUrl;\n window.location.href = finishUrl.concat(encodeURIComponent(queries));\n }\n return {\n data: data,\n score: score,\n title: title,\n type: type\n };\n};\n\n// 去掉没有显示的题目的答案\nexport var filterNonAnswer = function filterNonAnswer(showAnswer, originAnswers, questions) {\n var answers = {};\n var _loop = function _loop(i) {\n var _questions$i = questions[i],\n id = _questions$i.id,\n type = _questions$i.type,\n uuid = _questions$i.uuid,\n custom = _questions$i.custom;\n var thisAnswer = showAnswer[id] || originAnswers[id];\n if (!thisAnswer) return \"continue\";\n if (['single', 'multi', 'singleSelect'].includes(type) && thisAnswer.selected.length === 0) {\n return \"continue\";\n }\n if (['short', 'long'].includes(type) && thisAnswer && thisAnswer.text === '') return \"continue\";\n if (type === 'scale' && thisAnswer.degree === 'undefined') return \"continue\";\n if (type === 'upload' && thisAnswer.list.length === 0) return \"continue\";\n if (type === 'location' && thisAnswer.location.length === 0) return \"continue\";\n // 选项填空 删除没有选择的填空\n if (['single', 'multi'].includes(type)) {\n if (thisAnswer.option_blank) {\n Object.keys(thisAnswer.option_blank).forEach(function (key) {\n if (!thisAnswer.selected.includes(key)) {\n delete thisAnswer.option_blank[key];\n }\n });\n }\n }\n if (type === 'matrix') {\n var lines = custom.lines;\n var selected = thisAnswer.selected;\n var uuidSelected = {};\n lines.forEach(function (line) {\n if (selected[line.id]) {\n uuidSelected[line.uuid] = selected[line.id];\n }\n });\n thisAnswer.uuidSelected = uuidSelected;\n }\n answers[id] = _objectSpread({}, thisAnswer, {\n uuid: uuid\n });\n };\n for (var i = 0; i < questions.length; i++) {\n var _ret = _loop(i);\n if (_ret === \"continue\") continue;\n }\n answers.rnd = window.rnd;\n answers.server_time = window.serverTime;\n answers.ua = window.navigator.userAgent;\n answers.referer = window.location.origin + window.location.pathname;\n return answers;\n};","import React from 'react';\nvar context = React.createContext({});\nvar Consumer = context.Consumer,\n Provider = context.Provider;\nexport { Consumer, Provider };","import { createMuiTheme, withStyles, makeStyles } from '@material-ui/core/styles';\nimport Slider from '@material-ui/core/Slider';\nexport var theme = function theme(presetTheme) {\n return presetTheme ? createMuiTheme({\n palette: {\n primary: {\n main: presetTheme.amEntityBg.replace(' !important', ''),\n contrastText: presetTheme.textColor.replace(' !important', '')\n },\n secondary: {\n main: presetTheme.amEntityBg.replace(' !important', ''),\n contrastText: presetTheme.textColor.replace(' !important', '')\n }\n },\n overrides: {\n MuiAutocomplete: {\n root: {\n borderRadius: 4,\n color: presetTheme.textColor.replace(' !important', '')\n }\n },\n MuiOutlinedInput: {\n root: {\n color: presetTheme.textColor.replace(' !important', ''),\n position: 'relative',\n '& $notchedOutline': {\n borderColor: presetTheme.antEntityBorder.replace(' !important', '')\n },\n '&:hover:not($disabled):not($focused):not($error) $notchedOutline': {\n borderColor: presetTheme.antEntityBorder.replace(' !important', ''),\n '@media (hover: none)': {\n borderColor: presetTheme.antEntityBorder.replace(' !important', '')\n }\n },\n '&$focused $notchedOutline': {\n borderColor: presetTheme.antEntityBorder.replace(' !important', ''),\n borderWidth: 1\n }\n }\n },\n MuiSvgIcon: {\n root: {\n color: presetTheme.textColor.replace(' !important', '')\n }\n },\n MuiInputLabel: {\n root: {\n color: presetTheme.textColor.replace(' !important', '')\n }\n },\n MuiFormLabel: {\n root: {\n color: presetTheme.textColor.replace(' !important', '')\n }\n },\n MuiIconButton: {\n root: {\n color: presetTheme.textColor.replace(' !important', '')\n }\n }\n }\n }) : createMuiTheme({\n palette: {\n primary: {\n main: '#3370ff'\n }\n }\n });\n};\nexport var PrettoSlider = withStyles({\n root: {\n height: 12,\n color: 'var(--text-color)'\n },\n thumb: {\n height: 30,\n width: 30,\n marginTop: -12,\n marginLeft: -16,\n background: 'var(--slider-thumb)',\n color: 'var(--primary-color)',\n border: '2px solid var(--primary-color)',\n boxShadow: '0 1px 4px 1px rgba(0,0,0,.2)'\n },\n active: {},\n valueLabel: {\n top: 7,\n left: 'calc(-50% + 10px)',\n '& *': {\n background: 'transparent',\n color: 'var(--primary-color)'\n }\n },\n marked: {\n marginTop: 20,\n marginBottom: 5\n },\n track: {\n height: 8,\n borderRadius: 4,\n color: 'var(--primary-color)'\n },\n rail: {\n height: 8,\n opacity: 0.4,\n borderRadius: 4,\n color: 'var(--primary-color)'\n },\n mark: {\n backgroundColor: 'var(--text-color-secondary)',\n height: 2,\n width: 2,\n marginTop: 3\n },\n markLabel: {\n fontSize: 12,\n fontWeight: 550,\n color: 'var(--text-color)',\n top: -25\n },\n markLabelActive: {\n color: 'var(--primary-color)'\n },\n markActive: {\n opacity: 1,\n backgroundColor: 'var(--question-bg)'\n }\n})(Slider);\nexport var useStyles = makeStyles(function (theme) {\n return {\n root: {\n width: 300 + theme.spacing(3) * 2\n },\n margin: {\n height: theme.spacing(3)\n }\n };\n});","// export const navigatorLang = (navigator.language || 'en')\n// .toLowerCase()\n// .includes('en')\n// ? 'en'\n// : 'cn';\nexport var navigatorLang = function navigatorLang(language, multiLanguage, bilingual, localLanguage) {\n var multiLngList = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];\n var navigatorLanguage = convertLanguage(navigator.language);\n if (language) {\n if (bilingual) {\n if (navigatorLanguage === 'en') {\n return 'en';\n }\n return 'cn';\n } else if (multiLanguage) {\n var idx = multiLngList.findIndex(function (l) {\n return l.language === navigatorLanguage;\n });\n return idx > -1 ? navigatorLanguage : localLanguage;\n }\n return language;\n }\n return navigatorLanguage;\n};\nexport function getLocalText(key) {\n var select = (languageMap[key] || {})[window.language || 'cn'];\n if (typeof select === 'string') {\n return select;\n }\n if (select === undefined) {\n return languageMap[key].en;\n }\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n return select.apply(void 0, rest);\n}\nexport var convertLanguage = function convertLanguage() {\n var lang = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var language = lang.toLowerCase();\n if (language.includes('zh-TW')) {\n // 繁体\n return 'tc';\n } else if (language.includes('zh')) {\n // 中文\n return 'cn';\n } else if (language.includes('en')) {\n // 英文\n return 'en';\n } else if (language.includes('ja')) {\n // 日语\n return 'ja';\n } else if (language.includes('ko')) {\n // 韩语\n return 'ko';\n } else if (language.includes('pt')) {\n // 葡萄牙语\n return 'pt';\n } else if (language.includes('de')) {\n // 德语\n return 'de';\n } else if (language.includes('fr')) {\n // 法语\n return 'fr';\n } else if (language.includes('it')) {\n // 意大利语\n return 'it';\n } else if (language.includes('hi')) {\n // 印地语\n return 'hi';\n } else if (language.includes('ta')) {\n // 泰米尔语\n return 'ta';\n } else if (language.includes('te')) {\n // 泰卢固语\n return 'te';\n } else if (language.includes('hi')) {\n // 印地语\n return 'hi';\n } else if (language.includes('ml')) {\n // Malayalam\n return 'ml';\n } else if (language.includes('kn')) {\n // Kannada\n return 'kn';\n } else if (language.includes('mr')) {\n // Marathi\n return 'mr';\n } else if (language.includes('gu')) {\n // Gujarati\n return 'gu';\n } else if (language.includes('bn')) {\n // Bengali\n return 'bn';\n } else if (language.includes('pa')) {\n // Punjabi\n return 'pa';\n } else if (language.includes('bh')) {\n // Bhojpuri\n return 'bh';\n } else if (language.includes('id')) {\n // Indonesia\n return 'id';\n } else if (language.includes('ar')) {\n // 阿语العربية\n return 'ar';\n } else if (language.includes('tr')) {\n // 土耳其语\n return 'tr';\n } else if (language.includes('ms') || language.includes('my')) {\n // 马来西亚语\n return 'my';\n } else if (language.includes('ru')) {\n // 俄语\n return 'Russian';\n } else if (language.includes('es')) {\n // 西班牙语\n return 'Spanish';\n } else if (language.includes('th')) {\n // 泰语\n return 'Thai';\n } else if (language.includes('vi')) {\n // 越南语\n return 'Vietnamese';\n } else if (language.includes('fil')) {\n // 菲律宾语\n return 'Filipino';\n }\n return null;\n};\nvar languageMap = {\n 'RequestError.400': {\n cn: '请求错误',\n tc: '請求錯誤',\n en: 'Something went wrong. Please try again later.',\n ja: '要求にエラーが発生しました',\n ko: '잘못된 요청',\n pt: 'Solicitação inválida',\n de: 'Anforderungsfehler',\n fr: 'Requête incorrecte',\n it: 'Richiesta errata',\n hi: 'खराब आग्रह',\n ta: 'தவறான கோரிக்கை',\n te: 'తప్పుడు విన్నపం',\n ml: 'തെറ്റായ അഭ്യര്‍ത്ഥന',\n kn: 'ಕೆಟ್ಟ ಮನವಿ',\n mr: 'खराब विनंती',\n gu: 'અમાન્ય વિનંતી',\n bn: 'ব্যাড রিকোয়েস্ট',\n pa: 'ਬੁਰੀ ਗੁਜਾਰਸ਼',\n bh: 'खराब आग्रह',\n id: 'Permohonan salah',\n ar: 'طلب غير صالح',\n tr: 'Geçersiz İstek',\n my: 'Permintaan tidak berkenaan',\n Russian: 'Неверный запрос',\n Spanish: 'Solicitud errónea',\n Thai: 'คำขอไม่ถูกต้อง',\n Vietnamese: 'Yêu cầu không hợp lệ',\n Filipino: 'Maling kahilingan'\n },\n 'RequestError.404': {\n cn: '资源未找到',\n tc: '資源未找到',\n en: 'Page not found',\n ja: '指定されたページが見つかりません',\n ko: '찾을 수 없음',\n pt: 'Não encontrado',\n de: 'Nicht gefunden',\n fr: 'Ressource non trouvée',\n it: 'Nessun risultato',\n hi: 'नहीं मिला',\n ta: 'கிடைக்கவில்லை',\n te: 'దొరకలేదు',\n ml: 'കാണാനില്ല',\n kn: 'ದೊರಕುತ್ತಿಲ್ಲ',\n mr: 'सापडले नाही',\n gu: 'મળ્યું નહીં',\n bn: 'খুঁজে পাওয়া যাচ্ছে না',\n pa: 'ਨਹੀਂ ਲਭਿਆ',\n bh: 'नहीं मिला',\n id: 'Tidak ditemukan',\n ar: 'غير موجود',\n tr: 'Bulunamadı',\n my: 'Tidak ditemui',\n Russian: 'Не обнаружено ',\n Spanish: 'No encontrado',\n Thai: 'ไม่พบ',\n Vietnamese: 'Không tìm thấy',\n Filipino: 'Hindi nahanap'\n },\n 'RequestError.403': {\n cn: '没有访问权限',\n tc: '沒有訪問權限',\n en: \"You don't have access to this feature\",\n ja: 'アクセス許可がありません',\n ko: '접근 권한이 없음',\n pt: 'Proibido',\n de: 'Keine Zugriffsrechte',\n fr: 'Accès refusé',\n it: 'Proibito',\n hi: 'हटा दिया गया है',\n ta: 'தடைசெய்யப்பட்ட',\n te: 'నిషేధించబడింది',\n ml: 'വിലക്കപ്പെട്ടത്',\n kn: 'ನಿಷೇಧಿಸಲಾಗಿದೆ',\n mr: 'निषिद्ध',\n gu: 'પ્રતિબંધિત',\n bn: 'নিষিদ্ধ',\n pa: 'ਪਾਬੰਦੀ',\n bh: 'हटा दिया गया है',\n id: 'Tidak ada akses',\n ar: 'ممنوع',\n tr: 'Yasaklanmış',\n my: 'Dilarang',\n Russian: 'Нет доступа ',\n Spanish: 'No permitido',\n Thai: 'ไม่สามารถเข้าถึงได้',\n Vietnamese: 'Bị chặn',\n Filipino: 'Ipinagbabawal'\n },\n 'RequestError.401': {\n cn: '请求未授权',\n tc: '請求未授權',\n en: \"You don't have access to this feature\",\n ja: 'アクセス許可が承認されていません',\n ko: '요청이 위임되지 않음',\n pt: 'Não autorizado',\n de: 'Nicht autorisiert',\n fr: 'Non autorisé',\n it: 'Non autorizzato',\n hi: 'अनऑथराइज्ड',\n ta: 'அங்கீகரிக்கப்படாத',\n te: 'అనధికార',\n ml: 'നിയമാനുസൃതമല്ലാത്ത',\n kn: 'ಅನಧಿಕೃತ',\n mr: 'अनधिकृत',\n gu: 'અનધિકૃત',\n bn: 'অনধিকৃত',\n pa: 'ਅਣਅਧਿਕਾਰਤ',\n bh: 'अनऑथराइज्ड',\n id: 'Permohonan belum diberikan',\n ar: 'مَحْظُور',\n tr: 'Yetkisiz istek',\n my: 'Tidak dibenarkan',\n Russian: 'Запрос не авторизован',\n Spanish: 'Sin autorización',\n Thai: 'คำขอไม่ได้รับอนุญาต',\n Vietnamese: 'Không có quyền truy cập',\n Filipino: 'Hindi awtorisado'\n },\n 'RequestError.biggerThan400': {\n cn: '客户端错误',\n tc: '客戶端錯誤',\n en: 'Something went wrong. Please try again later.',\n ja: 'クライアント側でエラーが発生しました',\n ko: '클라이언트 오류',\n pt: 'Erro do cliente',\n de: 'Client-Fehler',\n fr: 'Erreur du client',\n it: 'Errore del client',\n hi: 'क्लाइंट एरर',\n ta: 'கிளையன்ட் பிழை',\n te: 'క్లయింట్ లోపం',\n ml: 'ക്ലൈന്‍റ് എറര്‍',\n kn: 'ಕ್ಲೈಂಟ್ ದೋಷ',\n mr: 'क्लायंट त्रुटी',\n gu: 'ક્લાઈન્ટ એરર',\n bn: 'ক্লায়েন্ট এরর',\n pa: 'ਕਲਾਇੰਟ ਐਰਰ',\n bh: 'क्लाइंट एरर',\n id: 'Klien eror',\n ar: 'خطأ في العميل',\n tr: 'Kullanıcı Hatası',\n my: 'Ralat Klien',\n Russian: 'Ошибка клиента ',\n Spanish: 'Error de cliente',\n Thai: 'ระบบลูกค้าเกิดข้อผิดพลาด',\n Vietnamese: 'Lỗi máy khách',\n Filipino: 'Error sa kliyente'\n },\n 'RequestError.biggerThan500': {\n cn: '服务器错误',\n tc: '服務器錯誤',\n en: 'Server Error',\n ja: 'サーバーエラーが発生しました',\n ko: '서버 오류',\n pt: 'Erro do servidor',\n de: 'Serverfehler',\n fr: 'Erreur du serveur',\n it: 'Errore del server',\n hi: 'सर्वर एरर',\n ta: 'சர்வர் பிழை',\n te: 'సర్వర్ లోపం',\n ml: 'സെര്‍വര്‍ എറര്‍',\n kn: 'ಸರ್ವರ್ ದೋಷ',\n mr: 'सर्व्हर त्रुटी',\n gu: 'સર્વર એરર',\n bn: 'সার্ভার এরর',\n pa: 'ਸਰਵਰ ਐਰਰ',\n bh: 'सर्वर एरर',\n id: 'Server eror',\n ar: 'خطأ في الخادم',\n tr: 'Server Hatası',\n my: 'Ralat Pelayan',\n Russian: 'Ошибка сервера ',\n Spanish: 'Error de servidor',\n Thai: 'เซิร์ฟเวอร์ผิดพลาด',\n Vietnamese: 'Lỗi máy chủ',\n Filipino: 'Error sa server'\n },\n 'RequestError.unknow': {\n cn: '未知错误',\n tc: '未知錯誤',\n en: 'Unknown Error',\n ja: '未知のエラーが発生しました',\n ko: '알 수 없는 오류',\n pt: 'Erro desconhecido',\n de: 'Unbekannter Fehler',\n fr: 'Erreur non identifiée',\n it: 'Errore sconosciuto',\n hi: 'अज्ञात एरर',\n ta: 'அறியப்படாத பிழை',\n te: 'గుర్తించలేని పొరపాటు',\n ml: 'തിരിച്ചറിയാന്‍ കഴിയാത്ത എറര്‍',\n kn: 'ಅಜ್ಞಾತ ದೋಷ',\n mr: 'अज्ञात त्रुटी',\n gu: 'અનનોન એરર',\n bn: 'অজ্ঞাত এরর',\n pa: 'ਅਣਜਾਣ ਐਰਰ',\n bh: 'अज्ञात एरर',\n id: 'Eror tidak diketahui',\n ar: 'خطأ غير معروف',\n tr: 'Bilinmeyen Hata',\n my: 'Ralat Tidak Diketahui',\n Russian: 'Неизвестная ошибка',\n Spanish: 'Error desconocido',\n Thai: 'ข้อผิดพลาดที่ไม่รู้จัก',\n Vietnamese: 'Không rõ lỗi',\n Filipino: 'Di-alam na error'\n },\n 'Content.Form.error.message': {\n cn: '问卷还有题目未完成',\n tc: '問卷還有題目未完成',\n en: 'Please answer all required questions',\n ja: 'フォーム認証に失敗しました',\n ko: '양식 심사에 통과하지 못함',\n pt: 'Falha na validação do formulário',\n de: 'Formularüberprüfung fehlgeschlagen',\n fr: 'La validation du formulaire ne fonctionne pas',\n it: 'Non carica il modulo',\n hi: 'फॉर्म वेलिडेशन काम नहीं कर रहा',\n ta: 'படிவம் சரிபார்த்தல் வேலை செய்யவில்லை',\n te: 'ఫారమ్ ధ్రువీకరణ పని కాదు',\n ml: 'ഫോം മൂല്യനിർണ്ണയം പ്രവർത്തിക്കുന്നില്ല',\n kn: 'ಮೌಲ್ಯಮಾಪನ ಕಾರ್ಯ ನಿರ್ವಹಿಸುತ್ತಿಲ್ಲ',\n mr: 'फॉर्म प्रमाणीकरण काम करत नाही',\n gu: 'ફોર્મ માન્યતા કામ કરી રહી નથી',\n bn: 'ফর্ম বৈধতা সম্পর্কিত কাজ করা যাচ্ছে না',\n pa: 'ਫਾਰਮ ਪ੍ਰਮਾਣਿਕਤਾ ਕੰਮ ਨਹੀਂ ਕਰ ਰਿਹਾ',\n bh: 'फॉर्म वेलिडेशन काम नहीं कर रहा',\n id: 'Masih ada pertanyaan yang belum dijawab.',\n ar: 'يرجى الإجابة على جميع الأسئلة قبل الارسال',\n tr: 'Gönderebilmek için lütfen gerekli bütün soruları cevaplayınız',\n my: 'Sila jawab semua soalan wajib untuk serahan',\n Russian: 'Пожалуйста, ответьте на все вопросы, помеченные звёздочкой.',\n Spanish: 'Por favor responde todas las preguntas requeridas para poder enviar',\n Thai: 'โปรดตอบคำถามที่จำเป็นทั้งหมดเพื่อส่ง',\n Vietnamese: 'Trả lời tất cả câu hỏi để hoàn thành bảng khảo sát',\n Filipino: 'Pakisagot ng lahat hinihinging tanong bago isumite'\n },\n 'Content.Form.submitting': {\n cn: '提交中…',\n tc: '提交中',\n en: 'Processing',\n ja: '送信中',\n ko: '제출 중',\n pt: 'Processando',\n de: 'Wird gesendet....',\n fr: 'Traitement en cours...',\n it: 'In lavorazione',\n hi: 'प्रोसेस हो रहा है',\n ta: 'செயலாக்கத்தில் உள்ளது',\n te: 'ప్రోసెసింగ్',\n ml: 'പ്രൊസസിങ്',\n kn: 'ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತಿದೆ',\n mr: 'प्रक्रिया',\n gu: 'પ્રક્રિયા થઇ રહી છે',\n bn: 'প্রসেস হচ্ছে',\n pa: 'ਪ੍ਰੋਸੈਸਿੰਗ',\n bh: 'प्रोसेस हो रहा है',\n id: 'Sedang diproses',\n ar: 'معالجه',\n tr: 'İşleniyor',\n my: 'Sedang diproses',\n Russian: 'Идет обработка ...',\n Spanish: 'Procesando',\n Thai: 'กำลังส่ง',\n Vietnamese: 'Đang gửi đi',\n Filipino: 'Pinoproseso...'\n },\n 'Content.Form.loading': {\n cn: '加载中…',\n tc: '加載中',\n en: 'Loading…',\n ja: '読み込み中',\n ko: '로딩 중',\n pt: 'Carregando...',\n de: 'Wird geladen....',\n fr: 'En cours de chargement...',\n it: 'Caricamento in corso…',\n hi: 'लोडिंग...',\n ta: 'லோடிங்...',\n te: 'లోడ్ అవుతుంది',\n ml: 'ലോഡിങ്...',\n kn: 'ಲೋಡಿಂಗ್..',\n mr: 'लोड करीत आहे ...',\n gu: 'લોડ થઇ રહ્યું છે...',\n bn: 'লোড হচ্ছে',\n pa: 'ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ ...',\n bh: 'लोडिंग...',\n id: 'Sedang memuat',\n ar: 'تحميل...',\n tr: 'Yükleniyor...',\n my: 'Sedang dimuat',\n Russian: 'Загрузка...',\n Spanish: 'Cargando',\n Thai: 'กำลังโหลด...',\n Vietnamese: 'Đang tải...',\n Filipino: 'Naglo-load'\n },\n 'Content.Form.submit.error': {\n cn: '提交失败',\n tc: '提交失敗',\n en: \"Couldn't submit\",\n ja: '送信に失敗しました',\n ko: '제출 실패',\n pt: 'Falha no envio',\n de: 'Einreichung fehlgeschlagen',\n fr: 'La validation a échoué',\n it: 'Operazione non riuscita',\n hi: 'सबमिशन फेल',\n ta: 'சமர்ப்பிப்பு தோல்வியடைந்தது',\n te: 'సమర్పణ విఫలమైంది',\n ml: 'സബ്മിഷന്‍ പരാജയപ്പെട്ടു',\n kn: 'ಸಲ್ಲಿಕೆ ವಿಫಲವಾಗಿದೆ',\n mr: 'सबमिशन अयशस्वी',\n gu: 'સબમિશન ફેઈલ ગયું',\n bn: 'সাবমিশন ফেল হয়ে গিয়েছে',\n pa: 'ਸਬਮਿਸ਼ਨ ਅਸਫਲ',\n bh: 'सबमिशन फेल',\n id: 'Gagal mengirim',\n ar: 'فشل الإرسال',\n tr: 'Gönderme Başarısız Oldu',\n my: 'Serahan gagal',\n Russian: 'Не удалось отправить',\n Spanish: 'Solicitud fallida',\n Thai: 'การส่งล้มเหลว',\n Vietnamese: 'Gửi thất bại',\n Filipino: 'Nabigo ang submisyon'\n },\n 'Content.Form.Ok': {\n cn: '确定',\n tc: '確定',\n en: 'OK',\n ja: '確認',\n ko: '확인',\n pt: 'OK',\n de: 'OK',\n fr: 'OK',\n it: 'OK',\n hi: 'ओके',\n ta: 'ஓகே',\n te: 'అలాగే',\n ml: 'ഒകെ',\n kn: 'ಸರಿ',\n mr: 'ठीक आहे',\n gu: 'ઓકે',\n bn: 'ঠিক আছে',\n pa: 'ਠੀਕ ਹੈ',\n bh: 'ओके',\n id: 'OK',\n ar: 'موافق',\n tr: 'Tamam',\n my: 'OK',\n Russian: 'Подтвердить',\n Spanish: 'OK',\n Thai: 'ยืนยัน',\n Vietnamese: 'OK',\n Filipino: 'OK'\n },\n 'Content.Form.Cancel': {\n cn: '取消',\n tc: '取消',\n en: 'Cancel',\n ja: 'キャンセル',\n ko: '취소',\n pt: 'Cancelar',\n de: 'Stornieren',\n fr: 'Annuler',\n it: 'Annulla',\n hi: 'रद्द करना',\n ta: 'ரத்து செய்',\n te: 'రద్దు చేయండి',\n ml: 'റദ്ദാക്കുക',\n kn: 'ರದ್ದುಮಾಡಿ',\n mr: 'रद्द करा',\n gu: 'રદ કરો',\n bn: 'বাতিল করুন',\n pa: 'ਰੱਦ ਕਰੋ',\n bh: 'मना कइ दीं',\n id: 'Membatalkan',\n ar: 'يلغي',\n tr: 'İptal etmek',\n my: 'Batal',\n Russian: 'Отмена',\n Spanish: 'Cancelar',\n Thai: 'ยกเลิก',\n Vietnamese: 'Hủy bỏ',\n Filipino: 'Kanselahin'\n },\n 'Content.Form.submit': {\n cn: '提交',\n tc: '提交',\n en: 'Submit',\n ja: '送信',\n ko: '제출하기',\n pt: 'Enviar',\n de: 'Bestätigen',\n fr: 'Valider',\n it: 'Invia',\n hi: 'जमा करें',\n ta: 'சமர்ப்பிக்க',\n te: 'సమర్పించండి',\n ml: 'സബ്മിറ്റ്',\n kn: 'ಸಲ್ಲಿಕೆ',\n mr: 'सबमिट करा',\n gu: 'સબમિટ કરો',\n bn: 'সাবমিট',\n pa: 'ਜਮ੍ਹਾਂ ਕਰੋ',\n bh: 'जमा करें',\n id: 'Kirim',\n ar: 'إرسال',\n tr: 'Gönder',\n my: 'Serah',\n Russian: 'Отправить',\n Spanish: 'Enviar',\n Thai: 'ส่ง',\n Vietnamese: 'Gửi',\n Filipino: 'Isumite'\n },\n 'Content.Form.next.page': {\n cn: '下一页',\n tc: '下一頁',\n en: 'Next',\n ja: '次へ',\n ko: '다음 페이지',\n pt: 'Próximo',\n de: 'Nächste Seite',\n fr: 'Étape suivante',\n it: 'Il prossimo',\n hi: 'अगला',\n ta: 'அடுத்த',\n te: 'తరువాత',\n ml: 'അടുത്തത്',\n kn: 'ಮುಂದೆ',\n mr: 'पुढे',\n gu: 'આગળનું',\n bn: 'পরবর্তী',\n pa: 'ਅਗਲਾ',\n bh: 'अगला',\n id: 'Lanjut',\n ar: 'التالي',\n tr: 'Sonraki Sayfa',\n my: 'Seterusnya',\n Russian: 'Далее',\n Spanish: 'Siguiente',\n Thai: 'ถัดไป',\n Vietnamese: 'Tiếp',\n Filipino: 'Susunod'\n },\n 'Content.Form.last.page': {\n cn: '上一页',\n tc: '上一頁',\n en: 'Previous page',\n tr: 'Önceki Sayfa',\n id: 'Halaman Sebelumnya'\n },\n 'placeholder.other': {\n cn: '其他',\n tc: '其他',\n en: 'Other',\n ja: 'その他',\n ko: '기타',\n pt: 'Outro',\n de: 'Sonstiges',\n fr: 'Autres',\n it: 'Altri',\n hi: 'दूसरा',\n ta: 'மற்ற',\n te: 'ఇతర',\n ml: 'മറ്റുള്ളവ',\n kn: 'ಇತರೆ',\n mr: 'इतर',\n gu: 'અન્ય',\n bn: 'অন্যান্য',\n pa: 'ਹੋਰ',\n bh: 'दूसरा',\n id: 'Lain-lain',\n ar: 'أخرى',\n tr: 'Diğer',\n my: 'Lain-lain',\n Russian: 'Другое',\n Spanish: 'Otro',\n Thai: 'อื่นๆ',\n Vietnamese: 'Khác',\n Filipino: 'Iba'\n },\n 'placeholder.clickToChoose': {\n cn: '点击选择',\n tc: '點擊選擇',\n en: 'Select',\n ja: '選択してくだい',\n ko: '선택하기',\n pt: 'Selecionar',\n de: 'Zur Auswahl klicken',\n fr: 'Sélectionner',\n it: 'Seleziona',\n hi: 'चुनें',\n ta: 'தேர்ந்தெடு',\n te: 'ఎంచుకోండి',\n ml: 'തിരഞ്ഞെടുക്കുക',\n kn: 'ಆಯ್ಕೆಮಾಡಿ',\n mr: 'निवडा',\n gu: 'પસંદ કરો',\n bn: 'বেছে নিন',\n pa: 'ਚੁਣੋ',\n bh: 'चुनें',\n id: 'Pilih',\n ar: 'حدد',\n tr: 'Seç',\n my: 'Pilih',\n Russian: 'Выбрать',\n Spanish: 'Elegir',\n Thai: 'กดเพื่อเลือก',\n Vietnamese: 'Chọn',\n Filipino: 'Pili'\n },\n 'Footer.pages': {\n cn: '页',\n tc: '頁',\n en: 'Page/Pages',\n ja: 'ページ',\n ko: '페이지',\n pt: 'Página/Páginas',\n de: 'Seite/Seiten',\n fr: 'Page/Pages',\n it: 'Pagina/Pagine',\n hi: 'पेज/ पेजेस',\n ta: 'பக்கம் / பக்கங்கள்',\n te: 'పేజీ / పేజీలు',\n ml: 'പേജ്/ പേജുകള്‍',\n kn: 'ಪುಟ / ಪುಟಗಳು',\n mr: 'पृष्ठ / पृष्ठे',\n gu: 'પેજ/પેજીસ',\n bn: 'পেজ/পেজগুলি',\n pa: 'ਪੰਨਾ / ਪੰਨੇ',\n bh: 'पेज/ पेजेस',\n id: 'Halaman',\n ar: 'الصفحة/الصفحات',\n tr: 'Sayfa/Sayfalar',\n my: 'Halaman',\n Russian: 'Страница',\n Spanish: 'Página/páginas',\n Thai: 'หน้า',\n Vietnamese: 'Trang',\n Filipino: 'Pahina'\n },\n 'SingleChoice.Selected': {\n cn: '请完成作答',\n tc: '請完成作答',\n en: 'Please respond to each question',\n ja: '回答を記入してください',\n ko: '답을 입력해 주세요.',\n pt: 'Favor preencher com resposta',\n de: 'Bitte die Antwort eingeben',\n fr: 'Veuillez entrer une réponse',\n it: 'Per favore compila',\n hi: 'कृपया जवाब भरें',\n ta: 'தயவுசெய்து ஒரு பதிலை நிரப்பவும்',\n te: 'దయచేసి ఒక సమాధానం పూరించండి',\n ml: 'ദയവായി ഒരു ഉത്തരം പൂരിപ്പിക്കുക',\n kn: 'ದಯವಿಟ್ಟು ಉತ್ತರವನ್ನು ಭರ್ತಿ ಮಾಡಿ',\n mr: 'कृपया उत्तर भरा',\n gu: 'કૃપા કરીને જવાબ ભરો',\n bn: 'দয়া করে উত্তর দিন',\n pa: 'ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਉੱਤਰ ਭਰੋ',\n bh: 'कृपया जवाब भरें',\n id: 'Silakan isi jawaban',\n ar: 'يرجى ترك إجابة',\n tr: 'Lütfen bir cevap belirtiniz',\n my: 'Sila isi jawapan',\n Russian: 'Пожалуйста, укажите ответ',\n Spanish: 'Por favor rellenar una respueta',\n Thai: 'โปรดกรอกคำตอบ',\n Vietnamese: 'Hãy điền câu trả lời',\n Filipino: 'Pakipuno ng isang sagot'\n },\n 'SingleChoice.otherText': {\n cn: '请填写其他',\n tc: '請填寫其他',\n en: 'If \"Other\", please specify',\n ja: 'その他を記入してください',\n ko: '명시해주세요',\n pt: 'Favor preencher \"outros\" se necessário',\n de: 'Bitte ggf. Sonstiges ausfüllen',\n fr: 'Veuillez remplir autres',\n it: 'Per favore compila gli altri il resto',\n hi: 'कृपया दूसरे भी हों तो भरें',\n ta: 'வேறு ஏதுமிருப்பின் தயவுசெய்து பிற என்று நிரப்பவும்',\n te: 'దయచేసి ఇతరులను ఏవైనా పూరించండి',\n ml: 'മറ്റെന്തെങ്കിലും ഉണ്ടെങ്കില്‍ പൂരിപ്പിക്കുക',\n kn: 'ಬೇರೆ ಯಾವುದಾದರೂ ಇದ್ದಲ್ಲಿ ದಯವಿಟ್ಟು ಭರ್ತಿ ಮಾಡಿ',\n mr: 'कृपया कोणतेही असल्यास इतरांना भरा',\n gu: 'જો હોય તો, કૃપા કરીને અન્ય વિગત ભરો',\n bn: 'দয়া করে অন্যন্য শূন্যস্থানও পূরণ করুন, যদি কিছু থাকে',\n pa: 'ਕਿਰਪਾ ਕਰਕੇ ਦੂਜਾ ਭਰੋ ਜੇਕਰ ਕੋਈ ਹੋਵੇ',\n bh: 'कृपया दूसरे भी हों तो भरें',\n id: 'Silakan isi lain-lain',\n ar: 'يرجى ترك اجابات اخرى إن وجدت',\n tr: 'Başka varsa lütfen doldurunuz',\n my: 'Sila isi dalam lain-lain jika ada',\n Russian: 'Укажите другие, если таковые имеются',\n Spanish: 'Por favor rellena otras si es posible',\n Thai: 'กรุณากรอกข้อมูลอื่น ๆ',\n Vietnamese: 'Hãy điền câu trả lời khác',\n Filipino: 'Pakipunan ang iba'\n },\n 'ShortText.phoneNumber.wrong': {\n cn: '请填写正确的手机号码',\n tc: '請填寫正確的手機號碼',\n en: 'Enter your phone number',\n ja: '電話番号(携帯)を記入してください',\n ko: '올바른 휴대폰 번호를 입력해 주세요.',\n pt: 'Favor preencher com um número de telefone válido',\n de: 'Bitte eine korrekte Telefonnummer eingeben',\n fr: 'Veuillez entrer un n° de portable correct',\n it: 'Per favore inserisci un numero di telefono corretto',\n hi: 'कृपया सही फोन नंबर डालें',\n ta: 'சரியான தொலைபேசி எண்ணை நிரப்பவும்',\n te: 'దయచేసి సరైన ఫోన్ నంబర్ని పూరించండి',\n ml: 'ശരിയായ ഫോൺ നമ്പർ പൂരിപ്പിക്കുക',\n kn: 'ಫೋನ್ ಸಂಖ್ಯೆಯನ್ನು ಭರ್ತಿ ಮಾಡಿ',\n mr: 'कृपया एक बरोबर फोन नंबर भरा',\n gu: 'કૃપા કરીને સાચો ફોન નંબર નાખો',\n bn: 'দয়া করে সঠিক ফোন নম্বর দিন',\n pa: 'ਕਿਰਪਾ ਕਰਕੇ ਸਹੀ ਫੋਨ ਨੰਬਰ ਭਰੋ',\n bh: 'कृपया सही फोन नंबर डालें',\n id: 'Silakan isi nomor telpon',\n ar: 'يرجى ترك رقم الهاتف الصحيح',\n tr: 'Lütfen doğru bir telefon numarası doldurunuz',\n my: 'Sila isi nombor telefon yang betul',\n Russian: 'Укажите действующий номер мобильного телефона',\n Spanish: 'Por favor rellena un número de teléfono correcto',\n Thai: 'กรุณากรอกหมายเลขโทรศัพท์ที่ถูกต้อง',\n Vietnamese: 'Hãy điền số điện thoại chính xác',\n Filipino: 'Pakipuno ng tamang phone number'\n },\n 'MultiChoice.min.or.max': {\n // min max 不要翻译啊 ${min} ${max} 是一个整体 不要动\n cn: function cn(min, max) {\n return min && max ? \"\\u9700\\u8981\\u9009\\u62E9\\u81F3\\u5C11\".concat(min, \"\\u4E2A\\u6700\\u591A\").concat(max, \"\\u4E2A\\u9009\\u9879\") : min ? \"\\u81F3\\u5C11\\u9009\\u62E9\".concat(min, \"\\u4E2A\\u9009\\u9879\") : \"\\u6700\\u591A\\u9009\\u62E9\".concat(max, \"\\u4E2A\\u9009\\u9879\");\n },\n tc: function tc(min, max) {\n return min && max ? \"\\u9700\\u8981\\u9078\\u64C7\\u81F3\\u5C11\".concat(min, \"\\u500B\\u6700\\u591A\").concat(max, \"\\u500B\\u9078\\u9805\") : min ? \"\\u81F3\\u5C11\\u9078\\u64C7\".concat(min, \"\\u500B\\u9078\\u9805\") : \"\\u6700\\u591A\\u9078\\u64C7\".concat(max, \"\\u500B\\u9078\\u9805\");\n },\n en: function en(min, max) {\n return \"Please select \".concat(min, \" ~ \").concat(max, \" options\");\n },\n ja: function ja(min, max) {\n return \"\".concat(min, \" ~ \").concat(max, \" \\u500B\\u3067\\u9078\\u629E\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\");\n },\n ko: function ko(min, max) {\n return \" \".concat(min, \" ~ \").concat(max, \"\\uAC1C \\uC0AC\\uC774\\uB85C \\uC120\\uD0DD\\uC9C0\\uB97C \\uC120\\uD0DD\\uD574 \\uC8FC\\uC138\\uC694.\");\n },\n pt: function pt(min, max) {\n return \"Favor selecionar no m\\xE1ximo \".concat(max, \" op\\xE7\\xF5es\");\n },\n de: function de(min, max) {\n return \"Bitte w\\xE4hlen Sie \".concat(min, \" ~ \").concat(max, \" Optionen\");\n },\n fr: function fr(min, max) {\n return \"Veuillez s\\xE9lectionner \".concat(min, \" ~ \").concat(max, \" options\");\n },\n it: function it(min, max) {\n return \"Per favore seleziona \".concat(min, \" ~ \").concat(max, \" opzioni\");\n },\n hi: function hi(min, max) {\n return \"\\u0915\\u0943\\u092A\\u092F\\u093E \".concat(min, \" ~ \").concat(max, \" \\u0911\\u092A\\u094D\\u0936\\u0928 \\u091A\\u0941\\u0928\\u0947\\u0902\");\n },\n ta: function ta(min, max) {\n return \"\".concat(min, \" ~ \").concat(max, \" \\u0BB5\\u0BBF\\u0BB0\\u0BC1\\u0BAA\\u0BCD\\u0BAA\\u0B99\\u0BCD\\u0B95\\u0BB3\\u0BC8\\u0BA4\\u0BCD \\u0BA4\\u0BC7\\u0BB0\\u0BCD\\u0BA8\\u0BCD\\u0BA4\\u0BC6\\u0B9F\\u0BC1\\u0B95\\u0BCD\\u0B95\\u0BB5\\u0BC1\\u0BAE\\u0BCD\");\n },\n te: function te(min, max) {\n return \"\\u0C26\\u0C2F\\u0C1A\\u0C47\\u0C38\\u0C3F \".concat(min, \" ~ \").concat(max, \" \\u0C0E\\u0C02\\u0C2A\\u0C3F\\u0C15\\u0C32\\u0C28\\u0C41 \\u0C0E\\u0C02\\u0C1A\\u0C41\\u0C15\\u0C4B\\u0C02\\u0C21\\u0C3F\");\n },\n ml: function ml(min, max) {\n return \"\\u0D26\\u0D2F\\u0D35\\u0D3E\\u0D2F\\u0D3F \".concat(min, \" ~ \").concat(max, \"\\u0D13\\u0D2A\\u0D4D\\u0D37\\u0D28\\u0D41\\u0D15\\u0D33\\u0D4D\\u200D \\u0D24\\u0D46\\u0D30\\u0D1E\\u0D4D\\u0D1E\\u0D46\\u0D1F\\u0D41\\u0D15\\u0D4D\\u0D15\\u0D41\\u0D15\");\n },\n kn: function kn(min, max) {\n return \"\\u0CA6\\u0CAF\\u0CB5\\u0CBF\\u0C9F\\u0CCD\\u0C9F\\u0CC1 \".concat(min, \" ~ \").concat(max, \" \\u0C86\\u0CAF\\u0CCD\\u0C95\\u0CC6\\u0C97\\u0CB3\\u0CA8\\u0CCD\\u0CA8\\u0CC1 \\u0C86\\u0CAF\\u0CCD\\u0C95\\u0CC6\\u0CAE\\u0CBE\\u0CA1\\u0CBF\");\n },\n mr: function mr(min, max) {\n return \"\\u0915\\u0943\\u092A\\u092F\\u093E \".concat(min, \" ~ \").concat(max, \" \\u092A\\u0930\\u094D\\u092F\\u093E\\u092F \\u0928\\u093F\\u0935\\u0921\\u093E\");\n },\n gu: function gu(min, max) {\n return \"\\u0A95\\u0AC3\\u0AAA\\u0ABE \\u0A95\\u0AB0\\u0AC0\\u0AA8\\u0AC7 \".concat(min, \" ~ \").concat(max, \" \\u0AB5\\u0ABF\\u0A95\\u0AB2\\u0ACD\\u0AAA\\u0ACB \\u0AAA\\u0AB8\\u0A82\\u0AA6 \\u0A95\\u0AB0\\u0ACB\");\n },\n bn: function bn(min, max) {\n return \"\\u09A6\\u09AF\\u09BC\\u09BE \\u0995\\u09B0\\u09C7 \".concat(min, \" ~ \").concat(max, \" \\u09AC\\u09BF\\u0995\\u09B2\\u09CD\\u09AA \\u09AC\\u09BE\\u099B\\u09C1\\u09A8\");\n },\n pa: function pa(min, max) {\n return \"\\u0A15\\u0A3F\\u0A30\\u0A2A\\u0A3E \\u0A15\\u0A30\\u0A15\\u0A47 \".concat(min, \" ~ \").concat(max, \" \\u0A35\\u0A3F\\u0A15\\u0A32\\u0A2A\\u0A3E\\u0A02 \\u0A26\\u0A40 \\u0A1A\\u0A4B\\u0A23 \\u0A15\\u0A30\\u0A4B\");\n },\n bh: function bh(min, max) {\n return \"\\u0915\\u0943\\u092A\\u092F\\u093E \".concat(min, \" ~ \").concat(max, \" \\u0911\\u092A\\u094D\\u0936\\u0928 \\u091A\\u0941\\u0928\\u0947\\u0902\");\n },\n id: function id(min, max) {\n return \"Diharuskan pilih minimum \".concat(min, \" dan maksimum \").concat(max);\n },\n ar: function ar(min, max) {\n return \"\\u064A\\u0631\\u062C\\u064A \\u0627\\u062E\\u062A\\u064A\\u0627\\u0631 \".concat(min, \" ~ \").concat(max);\n },\n tr: function tr(min, max) {\n return \"L\\xFCtfen \".concat(min, \" ~ \").concat(max, \" aras\\u0131 se\\xE7iniz\");\n },\n my: function my(min, max) {\n return \"Sila guna pilihan \".concat(min, \" ~ \").concat(max);\n },\n Russian: function Russian(min, max) {\n return \"\\u041F\\u043E\\u0436\\u0430\\u043B\\u0443\\u0439\\u0441\\u0442\\u0430, \\u0432\\u044B\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u044B \".concat(min, \" ~ \").concat(max);\n },\n Spanish: function Spanish(min, max) {\n return \"Por favor elige \".concat(min, \" ~ \").concat(max, \" de opciones\");\n },\n Thai: function Thai(min, max) {\n return \"\\u0E42\\u0E1B\\u0E23\\u0E14\\u0E40\\u0E25\\u0E37\\u0E2D\\u0E01\\u0E15\\u0E31\\u0E27\\u0E40\\u0E25\\u0E37\\u0E2D\\u0E01\\u0E21\\u0E32\\u0E01\\u0E01\\u0E27\\u0E48\\u0E32 \".concat(min, \" \\u0E19\\u0E49\\u0E2D\\u0E22\\u0E01\\u0E27\\u0E48\\u0E32 \").concat(max, \" \\u0E15\\u0E31\\u0E27\\u0E40\\u0E25\\u0E37\\u0E2D\\u0E01\");\n },\n Vietnamese: function Vietnamese(min, max) {\n return \"H\\xE3y ch\\u1ECDn t\\u1EEB \".concat(min, \" ~ \").concat(max, \" \\u0111\\xE1p \\xE1n\");\n },\n Filipino: function Filipino(min, max) {\n return \"Kailangang pumili mula sa \".concat(min, \" hanggang sa \").concat(max);\n }\n },\n 'ShortText.overflow': {\n cn: '字数已超50',\n tc: '字數已經超過50',\n en: 'Character limit: 50 characters',\n ja: '50文字以内で入力してくだい',\n ko: '이미 50자를 초과했습니다.',\n pt: 'Texto excede 50 palavras',\n de: 'Die 50-Wörter-Grenze wurde überschritten',\n fr: 'Votre message dépasse les 50 mots',\n it: 'Supera 50 parole',\n hi: '50 शब्दों से ज्यादा हो गए हैं',\n ta: 'நீளம் 50 வார்த்தைகளை மீறுகிறது',\n te: 'పొడవు 50 పదాలను మించిపోయింది',\n ml: 'അക്ഷര പരിധി 50 വാക്കുകള്‍ കവിഞ്ഞു',\n kn: 'ಪದಗಳ ಮಿತಿ 50 ಮೀರಿದೆ',\n mr: 'लांबी 50 शब्द ओलांडली आहे',\n gu: 'વિગત 50 શબ્દો કરતા વધારે છે',\n bn: '৫০ শব্দের বেশি হয়ে গিয়েছে',\n pa: 'ਲੰਬਾਈ 50 ਸ਼ਬਦਾਂ ਤੋਂ ਵੱਧ ਹੈ',\n bh: '50 शब्दों से ज्यादा हो गए हैं',\n id: 'Melebihi 50 huruf',\n ar: 'تم تجاوز 50 رمزا',\n tr: 'Uzunluk 50 kelimeyi aşıyor',\n my: 'Panjang melebihi 50 patah perkataan',\n Russian: 'Количество слов превысило 50',\n Spanish: 'Longitud excede 50 palabras',\n Thai: 'ความยาวเกิน 50 คำ',\n Vietnamese: 'Độ dài quá 50 ký tự',\n Filipino: 'Ang bilang ng salita ay lampas sa 50'\n },\n 'ShortText.placeholder': {\n cn: '内容长度请控制在50字以内',\n tc: '內容長度請控制在50字以內',\n en: 'Character limit: 50 characters',\n ja: '50文字まで入力できます',\n ko: '50자 이내로 작성해 주세요',\n pt: 'Favor manter o limite de 50 palavras',\n de: 'Bitte die 50-Wörter-Grenze nicht überschreiten',\n fr: 'La limite autorisée est de 50 mots maximum',\n it: 'Per favore resta entro le 50 parole',\n hi: 'कृपया 50 शब्दों की सीमा में लिखें',\n ta: 'நீளம் 50 வார்த்தைகளுக்குள் இருக்கவேண்டும்',\n te: 'దయచేసి పొడవు 50 పదాలలో ఉంచండి',\n ml: 'ദയവായി അക്ഷര പരിധി 50 വാക്കിനുള്ളില്‍ നിലനിര്‍ത്തുക',\n kn: 'ಪದಗಳ ಮಿತಿ 50 ಮೀರಿದಂತೆ ನೋಡಿಕೊಳ್ಳಿ',\n mr: 'कृपया 50 शब्दांच्या आत लांबी ठेवा',\n gu: 'કૃપા કરીને વિગત 50 શબ્દોની અંદર રાખો',\n bn: 'দয়া করে ৫০০ শব্দের মধ্যে লিখুন',\n pa: 'ਕਿਰਪਾ ਕਰਕੇ ਲੰਬਾਈ 50 ਸ਼ਬਦਾਂ ਦੇ ਅੰਦਰ ਰੱਖੋ',\n bh: 'कृपया 50 शब्दों की सीमा में लिखें',\n id: 'Pastikan tidak melebihi 50 huruf',\n ar: 'يرجى عدم تجاوز 50 رمزا',\n tr: 'Lütfen uzunluğu 50 kelime içinde tutunuz',\n my: 'Sila pastikan panjang tidak melebihi 50 patah perkataan',\n Russian: 'Пожалуйста, придерживайтесь длины не более 50 слов',\n Spanish: 'Por favor mantén la longitud a 50 palabras',\n Thai: 'โปรดรักษาความยาวภายใน 50 คำ',\n Vietnamese: 'Độ dài câu trả lời không quá 50 ký tự',\n Filipino: 'Huwag lumampas sa 50 salita'\n },\n 'LongText.placeholder': {\n cn: '内容长度请控制在2000字以内',\n tc: '內容長度請控制在2000字以內',\n en: 'Character limit: 2000 characters',\n ja: '2000文字まで入力できます',\n ko: '2000자 이내로 작성해 주세요',\n pt: 'Favor manter o limite de 2000 palavras',\n de: 'Bitte die 2000-Wörter-Grenze nicht überschreiten',\n fr: 'La limite autorisée est de 2000 mots maximum',\n it: 'Per favore resta entro le 2000 parole',\n hi: 'कृपया 2000 शब्दों की सीमा में लिखें',\n ta: 'நீளம் 2000 வார்த்தைகளுக்குள் இருக்கவேண்டும்',\n te: 'దయచేసి పొడవు 2000 పదాలలో ఉంచండి',\n ml: 'ദയവായി അക്ഷര പരിധി 2000 വാക്കിനുള്ളില്‍ നിലനിര്‍ത്തുക',\n kn: 'ಪದಗಳ ಮಿತಿ 2000 ಮೀರಿದಂತೆ ನೋಡಿಕೊಳ್ಳಿ',\n mr: 'कृपया 2000 शब्दांच्या आत लांबी ठेवा',\n gu: 'કૃપા કરીને વિગત 2000 શબ્દોની અંદર રાખો',\n bn: 'দয়া করে ৫০০ শব্দের মধ্যে লিখুন',\n pa: 'ਕਿਰਪਾ ਕਰਕੇ ਲੰਬਾਈ 2000 ਸ਼ਬਦਾਂ ਦੇ ਅੰਦਰ ਰੱਖੋ',\n bh: 'कृपया 2000 शब्दों की सीमा में लिखें',\n id: 'Pastikan tidak melebihi 2000 huruf',\n ar: 'يرجى عدم تجاوز 2000 رمزا',\n tr: 'Lütfen uzunluğu 2000 kelime içinde tutunuz',\n my: 'Sila pastikan panjang tidak melebihi 2000 patah perkataan',\n Russian: 'Пожалуйста, придерживайтесь длины не более 2000 слов',\n Spanish: 'Por favor mantén la longitud a 2000 palabras',\n Thai: 'โปรดรักษาความยาวภายใน 2000 คำ',\n Vietnamese: 'Độ dài câu trả lời không quá 2000 ký tự',\n Filipino: 'Huwag lumampas sa 2000 salita'\n },\n 'LocChoice.placeholder': {\n cn: '选择省市区',\n tc: '選擇省市區',\n en: 'Select your state',\n ja: '都道府県を選択してください',\n ko: '도/시/구를 선택해 주세요.',\n pt: 'Selecione sua localização',\n de: 'Standort auswählen',\n fr: 'Choisissez votre ville',\n it: 'Seleziona la tua posizione',\n hi: 'अपनी लोकेशन चुनें',\n ta: 'உங்கள் இருப்பிடத்தைத் தேர்ந்தெடுக்கவும்',\n te: 'మీ స్థానాన్ని ఎంచుకోండి',\n ml: 'നിങ്ങളുടെ ലൊക്കേഷന്‍ തിരഞ്ഞെടുക്കുക',\n kn: 'ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಆಯ್ಕೆಮಾಡಿ',\n mr: 'आपले स्थान निवडा',\n gu: 'તમારું લોકેશન પસંદ કરો',\n bn: 'আপনার অবস্থান সিলেক্ট করুন',\n pa: 'ਆਪਣਾ ਲੋਕੇਸ਼ਨ ਚੁਣੋ',\n bh: 'अपनी लोकेशन चुनें',\n id: 'Pilih Kota',\n ar: 'حدد موقعك',\n tr: 'Konumunuzu Seçin',\n my: 'Pilih lokasi anda',\n Russian: 'Укажите вашу локацию',\n Spanish: 'Selecciona tu ubicación',\n Thai: 'เลือกตำแหน่งของคุณ',\n Vietnamese: 'Chọn tỉnh/thành phố của bạn',\n Filipino: 'Pilihin ang lakasyon'\n },\n 'LocChoice.placeholder.hideDistrict': {\n cn: '选择省市',\n tc: '選擇省市',\n en: 'Select your city',\n ja: '市区町村を選択してください',\n ko: '도/시를 선택해 주세요.',\n pt: 'Selecione sua localização',\n de: 'Standort auswählen',\n fr: 'Choisissez votre ville',\n it: 'Seleziona la tua posizione',\n hi: 'अपनी लोकेशन चुनें',\n ta: 'உங்கள் இருப்பிடத்தைத் தேர்ந்தெடுக்கவும்',\n te: 'మీ స్థానాన్ని ఎంచుకోండి',\n ml: 'നിങ്ങളുടെ ലൊക്കേഷന്‍ തിരഞ്ഞെടുക്കുക',\n kn: 'ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಆಯ್ಕೆಮಾಡಿ',\n mr: 'आपले स्थान निवडा',\n gu: 'તમારું લોકેશન પસંદ કરો',\n bn: 'আপনার অবস্থান সিলেক্ট করুন',\n pa: 'ਆਪਣਾ ਲੋਕੇਸ਼ਨ ਚੁਣੋ',\n bh: 'अपनी लोकेशन चुनें',\n id: 'Pilih Provinsi',\n ar: 'حدد موقعك',\n tr: 'Konumunuzu Seçin',\n my: 'Pilih lokasi anda',\n Russian: 'Укажите вашу локацию',\n Spanish: 'Selecciona tu ubicación',\n Thai: 'เลือกตำแหน่งของคุณ',\n Vietnamese: 'Chọn thành phố/thị xã của bạn',\n Filipino: 'Pilihin ang lakasyon'\n },\n 'Submit.success': {\n cn: '提交成功',\n tc: '提交成功',\n en: 'Submitted',\n ja: '送信完了',\n ko: '제출 성공',\n pt: 'Sucesso',\n de: 'Erfolgreich abgegeben',\n fr: 'Succès',\n it: 'Successo',\n hi: 'सफल',\n ta: 'வெற்றி',\n te: 'విజయం',\n ml: 'വിജയകരം',\n kn: 'ಯಶಸ್ಸು',\n mr: 'यशस्वी',\n gu: 'સફળતા',\n bn: 'সফল',\n pa: 'ਸਫਲ',\n bh: 'सफल',\n id: 'Sukses',\n ar: 'تمت العملية بنجاح',\n tr: 'Başarılı',\n my: 'Berjaya',\n Russian: 'Успешно отправлено',\n Spanish: 'Listo',\n Thai: 'สำเร็จ',\n Vietnamese: 'Gửi thành công',\n Filipino: 'Tagumpay'\n },\n 'Submit.thanks': {\n cn: '感谢你的参与!',\n tc: '感謝你的參與!',\n en: 'Thank you for your participation!',\n ja: 'ご協力ありがとうございました',\n ko: '참여해주셔서 감사합니다.',\n pt: 'Obrigado pela sua participação!',\n de: 'Vielen Dank für Ihre Teilnahme!',\n fr: 'Merci pour votre participation !',\n it: 'Grazie per aver partecipato!',\n hi: 'भाग लेने के लिए धन्यवाद',\n ta: 'தங்கள் பங்கேற்புக்கு நன்றி!',\n te: 'మీ భాగస్వామ్యానికి ధన్యవాదాలు!',\n ml: 'നിങ്ങളുടെ പങ്കാളിത്തത്തിന് നന്ദി!',\n kn: 'ನಿಮ್ಮ ಪಾಲ್ಗೊಳ್ಳುವಿಕೆಗೆ ಧನ್ಯವಾದಗಳು!',\n mr: 'आपल्या सहभागाबद्दल धन्यवाद!',\n gu: 'તમારા પાર્ટીસિપેશન બદલ આભાર',\n bn: 'অংশ নেওয়ার জন্য ধন্যবাদ',\n pa: 'ਤੁਹਾਡੀ ਭਾਗੀਦਾਰੀ ਲਈ ਧੰਨਵਾਦ!',\n bh: 'भाग लेने के लिए धन्यवाद',\n id: 'Terima kasih telah berpartisipasi!',\n ar: 'نشكركم على المشاركة!',\n tr: 'Katıldığınız için teşekkür ederiz!',\n my: 'Terima kasih di atas penyertaan anda!',\n Russian: 'Благодарим за участие!',\n Spanish: '¡Gracias por tu participación!',\n Thai: 'ขอบคุณสำหรับการเข้าร่วม!',\n Vietnamese: 'Cảm ơn bạn đã tham gia!',\n Filipino: 'Salamat sa iyong pagsali'\n },\n 'no.id': {\n cn: '找不到问卷ID',\n tc: '找不到問卷ID',\n en: 'The questionnaire ID could not be found',\n ja: 'アンケートIDが見つかりません',\n ko: '설문지 ID를 찾을 수 없습니다.',\n pt: 'A ID do questionário não foi encontrada',\n de: 'Die Fragebogen-ID kann nicht gefunden werden',\n fr: 'Ce questionnaire est introuvable',\n it: \"L'ID del questionario non è stato trovato\",\n hi: 'इस प्रश्नसूचि की आईडी नहीं मिल रही',\n ta: 'கேள்வி எண்களை கண்டுபிடிக்க முடியவில்லை',\n te: 'ప్రశ్నాపత్ర ID కనుగొనబడలేదు',\n ml: 'ചോദ്യാവലിയുടെ ഐഡി കണ്ടെത്താനായില്ല',\n kn: 'ಪ್ರಶ್ನಾವಳಿ ID ಅನ್ನು ಕಂಡುಹಿಡಿಯಲಾಗಲಿಲ್ಲ',\n mr: 'प्रश्नावली आयडी सापडला नाही',\n gu: 'પ્રશ્નાવલિ ID મળી શકાયો નથી',\n bn: 'প্রশ্নাবলীর আইডি খুঁজে পাওয়া যাচ্ছে না',\n pa: 'ਪ੍ਰਸ਼ਨਾਵਲੀ ਆਈਡੀ ਨਹੀਂ ਲੱਭਿਆ ਜਾ ਸਕਿਆ',\n bh: 'इस प्रश्नसूचि की आईडी नहीं मिल रही',\n id: 'Tidak ditemukan survey ID',\n ar: 'تعذر العثور على معرّف الاستبيان',\n tr: 'Anket numarası bulunamadı',\n my: 'ID soal selidik tidak dapat ditemui',\n Russian: 'Номер анкеты не найден',\n Spanish: 'El ID de cuestionario no pudo ser encontrada',\n Thai: 'ไม่พบรหัสของแบบสอบถาม',\n Vietnamese: 'Không thể tìm thấy ID bảng khảo sát',\n Filipino: 'Hindi nahanap ang ID ng questionnaire'\n },\n 'get.questionarie.error': {\n cn: '获取问卷失败',\n tc: '獲取問卷失敗',\n en: \"Couldn't load questionnaire\",\n ja: 'アンケートの読込みに失敗しました',\n ko: '설문지 가져오기에 실패했습니다.',\n pt: 'Falha em obter questionário',\n de: 'Der Fragebogen kann nicht abgerufen werden',\n fr: \"Impossible d'accéder au questionnaire\",\n it: 'Caricamento del questionario non riuscito',\n hi: 'प्रश्नसूचि नहीं मिल रही',\n ta: 'கேள்விகளை பெற முடியவில்லை',\n te: 'ప్రశ్నావళిని పొందడంలో విఫలమైంది',\n ml: 'ചോദ്യാവലി ലഭിക്കുന്നില്ല',\n kn: 'ಪ್ರಶ್ನಾವಳಿ ಪಡೆಯಲು ವಿಫಲವಾಗಿದೆ',\n mr: 'प्रश्नावली मिळविण्यात अयशस्वी',\n gu: 'પ્રશ્નાવલિ મેળવવા માટે નિષ્ફળતા',\n bn: 'প্রশ্নাবলী পাওয়া যাচ্ছে না',\n pa: 'ਪ੍ਰਸ਼ਨਾਵਲੀ ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ',\n bh: 'प्रश्नसूचि नहीं मिल रही',\n id: 'Gagal menampilkan survey',\n ar: 'فشل الحصول على الاستبيان',\n tr: 'Anket Alınamadı',\n my: 'Gagal mendapatkan soal selidik',\n Russian: 'Не удалось получить анкету',\n Spanish: 'Error al obtener el cuestionario',\n Thai: 'การรับแบบสอบถามล้มเหลว',\n Vietnamese: 'Không thể lấy bảng khảo sát',\n Filipino: 'Nabigong kunin ang questionnaire'\n },\n 'close.before.submit': {\n cn: '表单未提交,确认要关闭么?',\n tc: '表單未提交,確認要關閉嗎?',\n en: 'The form has not been submitted. Close the survey anyway?',\n ja: 'アンケートの内容はまだ送信されていません。本当に終了しますか。',\n ko: '설문조사가 완성되지 않았습니다. 정말 닫으시겠습니까?',\n pt: 'O formulário não foi enviado. Deseja sair assim mesmo?',\n de: 'Das Formular wurde nicht abgegeben. Möchten Sie es trotzdem schließen?',\n fr: \"Le formulaire n'a pas été pas validé. Êtes-vous sûr(e) de vouloir quitter ?\",\n it: 'Il modulo non è stato inviato. Sei sicuro di interrompere?',\n hi: 'फॉर्म अभी भरा नहीं है। क्या आप छोड़ना चाहते हैं?',\n ta: 'படிவம் சமர்ப்பிக்கப்படவில்லை. நீங்கள் நிச்சயமாக வெளியேற வேண்டுமா?',\n te: 'ఫోరమ్ సమర్పించబడలేదు. మీరు ఖచ్చితంగా నిష్క్రమించాలనుకుంటున్నారా?',\n ml: 'ഫോം ഇതുവരെ സമര്‍പ്പിച്ചിട്ടില്ല. നിങ്ങള്‍ ക്വിറ്റ്ചെയ്യുന്ന കാര്യം ഉറപ്പിച്ചോ?',\n kn: 'ಫಾರ್ಮ್ ಅನ್ನು ಸಲ್ಲಿಸಲಾಗುತ್ತಿಲ್ಲ. ನೀವು ನಿರ್ಗಮಿಸಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?',\n mr: 'फॉर्म सबमिट केला गेला नाही. आपण बाहेर पडायचे आहे का?',\n gu: 'ફોર્મ સબમિટ કરવામાં આવ્યું નથી. શું તમે બહાર નીકળવા માંગો છો?',\n bn: 'ফর্ম সাবমিট করা হয় নি।আপনি নিশ্চিত যে আপনি বেরিয়ে যেতে চান?',\n pa: 'ਫਾਰਮ ਨੂੰ ਜਮ੍ਹਾ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ। ਕੀ ਤੁਸੀਂ ਬੰਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?',\n bh: 'फॉर्म अभी भरा नहीं है। क्या आप छोड़ना चाहते हैं?',\n id: 'Form belum terkirim, yakin ingin keluar halaman ini?',\n ar: 'لم يتم إرسال النموذج. هل تريد تاكيد المغادرة؟',\n tr: 'Form gönderilmedi. Çıkmak istediğinizden emin misiniz?',\n my: 'Borang belum diserah, anda pasti ingin berhenti?',\n Russian: 'Анкета не отправлена. Вы уверены, что хотите закрыть?',\n Spanish: 'La encuesta no ha sido enviada. ¿Estás seguro que deseas salir?',\n Thai: 'คุณยังไม่ได้ส่งแบบฟอร์ม คุณยืนยันที่จะยกเลิกหรือไม่?',\n Vietnamese: 'Câu trả lời của bạn chưa được gửi đi. Bạn có chắc mình muốn đóng bảng khảo sát?',\n Filipino: 'Hindi pa isinumite ang questionnaire, sigurado ka bang tumigil?'\n },\n 'mobile.selected': {\n cn: '请选择',\n tc: '請選擇',\n en: 'Please select',\n ja: '選択してください',\n ko: '선택하세요.',\n pt: 'Favor selecionar',\n de: 'Bitte wählen',\n fr: 'Veuillez sélectionner',\n it: 'Per favore seleziona',\n hi: 'कृपया चुनें',\n ta: 'தயவு செய்து தேர்வு செய்யவும்',\n te: 'దయచేసి ఎంచుకోండి',\n ml: 'ദയവായി തിരഞ്ഞെടുക്കുക',\n kn: 'ದಯವಿಟ್ಟು ಆಯ್ಕೆ ಮಾಡಿ',\n mr: 'कृपया निवडा',\n gu: 'મહેરબાની કરી, પસંદ કરો',\n bn: 'দয়া করে বেছে নিন',\n pa: 'ਕਿਰਪਾ ਕਰਕੇ ਚੁਣੋ',\n bh: 'कृपया चुनें',\n id: 'Silakan pilih',\n ar: 'يرجى الاختيار',\n tr: 'Lütfen seçiniz',\n my: 'Sila pilih',\n Russian: 'Пожалуйста, выберите',\n Spanish: 'Por favor selecciona',\n Thai: 'โปรดเลือก',\n Vietnamese: 'Hãy chọn',\n Filipino: 'Pakipili'\n },\n 'error.forbidden': {\n cn: '你不在此次定向调研名单中',\n en: 'You are not on the list of this targeted research'\n },\n 'error.submitted': {\n cn: '你已经回答过该问卷了, 感谢你的参与',\n tc: '你已經回答過該問卷了,感謝你的參與',\n en: \"You've completed the questionnaire. Thank you very much for your cooperation.\",\n ja: 'アンケートにご回答いただき誠にありがとうございました。',\n ko: '본 설문조사에 이미 참여하신 적이 있습니다. 참여해 주셔서 감사합니다.',\n pt: 'Você completou o questionário com sucesso. Obrigado pela sua cooperação.',\n de: 'Sie haben den Fragebogen erfolgreich ausgefüllt. Vielen Dank für Ihre Zusammenarbeit!',\n fr: 'Vous avez répondu au questionnaire. Merci pour votre participation.',\n it: 'Hai completato il questionario. Grazie mille per la collaborazione.',\n hi: 'आपने प्रश्नावली पूरी कर ली है। आपके सहयोग के लिए बहुत-बहुत धन्यवाद।',\n ta: 'நீங்கள் கேள்வித்தாளை முடித்துவிட்டீர்கள். உங்களது ஒத்துழைப்பிற்கு நன்றி. ',\n te: 'మీరు ప్రశ్నాపత్రాన్ని పూర్తి చేసారు. మీ సహకారానికి చాల ధన్యవాధాలు.',\n ml: 'നിങ്ങൾ ചോദ്യാവലി പൂർത്തിയാക്കിയിരിക്കുന്നു. നിങ്ങളുടെ സഹകരണത്തിന് നന്ദി.',\n kn: 'ನೀವು ಪ್ರಶ್ನಾವಳಿಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ್ದೀರಿ. ನಿಮ್ಮ ಸಹಕಾರಕ್ಕಾಗಿ ತುಂಬಾ ಧನ್ಯವಾದಗಳು.',\n mr: 'आपण प्रश्नावली पूर्ण केली आहे. आपल्या सहकार्याबद्दल आपले खूप आभार.',\n gu: 'તમે પ્રશ્નાવલી પૂર્ણ કરી છે. આપના સહયોગ અંગે ખૂબ ખૂબ આભાર',\n bn: 'প্রশ্নোত্তর পর্ব শেষ হয়ে গিয়েছে। আপনার সহযোগিতার জন্য ধন্যবাদ',\n pa: 'ਤੁਸੀਂ ਪ੍ਰਸ਼ਨਾਵਲੀ ਪੂਰੀ ਕਰ ਲਈ ਹੈ। ਤੁਹਾਡੇ ਸਹਿਯੋਗ ਲਈ ਬਹੁਤ ਧੰਨਵਾਦ। ',\n bh: 'आपने प्रश्नावली पूरी कर ली है। आपके सहयोग के लिए बहुत-बहुत धन्यवाद।',\n id: 'Anda telah mengisi survey ini, terima kasih.',\n ar: 'لقد أكملتم الاستبيان شكرا جزيلا على تعاونكم.',\n tr: 'Anketi tamamladınız. Yardımınız için teşekkür ederiz.',\n my: 'Anda telah melengkapkan soal selidik ini. Terima kasih banyak di atas kerjasama anda',\n Russian: 'Вы успешно ответили на все вопросы, благодарим за участие!',\n Spanish: 'Haz completado el cuestionario. Muchas gracias por tu cooperación.',\n Thai: 'คุณตอบแบบสอบถามสำเร็จแล้ว ขอขอบคุณสำหรับความร่วมมือของคุณ!',\n Vietnamese: 'Bạn đã hoàn thành bảng khảo sát. Cảm ơn bạn đã tham gia!',\n Filipino: 'Natapos mo ang questionnaire na ito, salamat sa iyong pagsali.'\n },\n 'error.expired': {\n cn: '该问卷已过期, 感谢你的参与',\n tc: '該問卷已經過期,感謝你的參與',\n en: 'This questionnaire has expired. Thanks for your participation. ',\n ja: 'アンケート回答期限が過ぎております。',\n ko: '본 설문조사는 이미 만기되었습니다. 참여해 주셔서 감사합니다.',\n pt: 'Este questionário expirou. Obrigado pela sua participação.',\n de: 'Die Zeit für diesen Fragebogen ist abgelaufen. Vielen Dank für Ihre Teilnahme. ',\n fr: \"Ce questionnaire n'est plus disponible Merci pour votre participation.\",\n it: 'Questo questionario è scaduto. Grazie per la tua partecipazone. ',\n hi: 'यह प्रश्नावली समाप्त हो गई है। इसमें भाग लेने के लिए धन्यवाद।',\n ta: 'இந்த கேள்வித்தாள் காலாவதியாகிவிட்டது. இதில் பங்கேற்றதற்கு நன்றி. ',\n te: 'ఈ ప్రశ్నాపత్రం గడువు ముగిసింది. మీ భాగస్వామ్యంకు ధన్యవాదాలు.',\n ml: 'ഈ ചോദ്യാവലിയുടെ കാലാവധി കഴിഞ്ഞു. പങ്കെടുത്തതിന് നന്ദി.',\n kn: 'ಈ ಪ್ರಶ್ನಾವಳಿ ಅವಧಿ ಮೀರಿದೆ. ನಿಮ್ಮ ಭಾಗವಹಿಸುವಿಕೆಗೆ ಧನ್ಯವಾದಗಳು.',\n mr: 'ही प्रश्नावली कालबाह्य झाली आहे. आपल्या सहभागाबद्दल धन्यवाद.',\n gu: 'આ પ્રશ્નાવલી પૂર્ણ થઇ ગઇ છે. આમાં ભાગ લેવા બદલ આપનો ખૂબ ખૂબ આભાર',\n bn: 'প্রশ্নাবলি সমাপ্ত হয়ে গিয়েছে। অংশগ্রহনের জন্য ধন্যবাদ',\n pa: 'ਇਸ ਪ੍ਰਸ਼ਨਾਵਲੀ ਦੀ ਆਖ਼ਿਰੀ ਤਰੀਕ ਖਤਮ ਹੋ ਗਈ ਹੈ. ਤੁਹਾਡੀ ਭਾਗੀਦਾਰੀ ਲਈ ਧੰਨਵਾਦ। ',\n bh: 'यह प्रश्नावली समाप्त हो गई है। इसमें भाग लेने के लिए धन्यवाद।',\n id: 'Survey ini telah tidak aktif, terima kasih.',\n ar: 'انتهت مدة صلاحية هذا الاستبيان. شكرا ً على المشاركة ',\n tr: 'Bu anketin süresi doldu. Katılımınız için teşekkür ederiz.',\n my: 'Soal selidik ini telah tamat tempoh. Terima kasih di atas penyertaan anda.',\n Russian: 'Срок действия анкеты истек, благодарим за участие!',\n Spanish: 'El cuestionario ha expirado. Gracias por tu participación',\n Thai: 'แบบสอบถามนี้หมดอายุแล้ว ขอขอบคุณสำหรับการเข้าร่วมของคุณ!',\n Vietnamese: 'Bảng khảo sát đã hết hiệu lực. Cảm ơn bạn đã tham gia!',\n Filipino: 'Lumipas na ang questionnaire na ito, salamat sa iyong pagsali.'\n },\n 'error.close': {\n cn: '该问卷已关闭, 感谢你的参与',\n tc: '問卷已關閉, 感謝你的參與',\n en: 'This questionnaire has been closed. Thanks for your participation. ',\n ja: 'このアンケートは終了しました',\n ko: '본 설문지는 마감되었습니다',\n pt: 'Este questionário foi fechado',\n de: 'Dieser Fragebogen wurde geschlossen',\n fr: 'Ce questionnaire a été fermé',\n it: 'Questo questionario è stato chiuso',\n hi: 'यह प्रश्नावली बंद कर दी गई है',\n ta: 'இந்தக் கேள்வித்தாள் மூடப்பட்டுள்ளது',\n te: 'ఈ ప్రశ్నాపత్రం మూసివేయబడింది',\n ml: 'ഈ ചോദ്യാവലി അടച്ചു',\n kn: 'ಈ ಪ್ರಶ್ನಾವಳಿಯನ್ನು ಮುಚ್ಚಲಾಗಿದೆ',\n mr: 'ही प्रश्नावली बंद करण्यात आली आहे',\n gu: 'આ પ્રશ્નાવલી બંધ કરવામાં આવી છે',\n bn: 'এই প্রশ্নাবলী বন্ধ করা হয়েছে',\n pa: 'ਇਹ ਪ੍ਰਸ਼ਨਾਵਲੀ ਬੰਦ ਕਰ ਦਿੱਤੀ ਗਈ ਹੈ',\n bh: 'यह प्रश्नावली बंद कर दी गई है',\n id: 'Kuesioner ini telah ditutup',\n ar: 'لقد تم إغلاق هذا الاستبيان',\n tr: 'Bu anket kapatıldı',\n my: 'Soal selidik ini telah ditutup',\n Russian: 'Эта анкета закрыта',\n Spanish: 'Este cuestionario ha sido cerrado',\n Thai: 'แบบสอบถามนี้ถูกปิดแล้ว',\n Vietnamese: 'Bảng câu hỏi này đã bị đóng',\n Filipino: 'Ang questionnaire na ito ay sarado na'\n },\n 'error.nonexistence': {\n cn: '该问卷不存在, 感谢你的参与',\n tc: '該問卷不存在,感謝你的參與',\n en: \"The questionnaire doesn't exist.\",\n ja: '本アンケートは存在しません。',\n ko: '해당 설문조사는 존재하지 않습니다. 참여해 주셔서 감사합니다.',\n pt: 'Este questionário não existe. Obrigado pela visita.',\n de: 'Dieser Fragebogen ist nicht mehr online. Vielen Dank dennoch für Ihr Interesse.',\n fr: \"Ce questionnaire n'est plus en ligne. Merci de votre visite.\",\n it: 'Questo questionario non esiste. Grazie per la tua partecipazone. ',\n hi: 'कोई प्रश्नावली नहीं मिली। जाँच के लिए धन्यवाद।',\n ta: 'இந்த கேள்வித்தாள் தற்போது இல்லை. உங்களது வருகைக்கு நன்றி.',\n te: 'ప్రశ్నాపత్రం కనబడలేదు. మీరు చెక్ చేసినందుకు ధన్యవాదాలు.',\n ml: 'ഈ ചോദ്യാവലി ഇപ്പോൾ നിലവിലില്ല. സന്ദർശിച്ചതിന് നന്ദി.',\n kn: 'ಪ್ರಶ್ನಾವಳಿ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ. ನಿಮ್ಮ ಭೇಟಿಗೆ ಧನ್ಯವಾದಗಳು.',\n mr: 'ही प्रश्नावली आता अस्तित्वात नाही. आपल्या भेटीसाठी धन्यवाद.',\n gu: 'કોઇ પ્રશ્નાવલી મળી નથી. તપાસ બદલ ધન્યવાદ',\n bn: 'কোনও প্রশ্ন পাওয়া যাচ্ছে না। সন্ধান করার জন্য ধন্যবাদ',\n pa: 'ਪ੍ਰਸ਼ਨਾਵਲੀ ਮੌਜੂਦ ਨਹੀਂ ਹੈ, ਤੁਹਾਡੇ ਆਉਣ ਲਈ ਧੰਨਵਾਦ।',\n bh: 'कोई प्रश्नावली नहीं मिली। जाँच के लिए धन्यवाद।',\n id: 'Survey tidak ditemukan, terima kasih.',\n ar: 'الاستبيان غير موجود. شكراً لزيارتك',\n tr: 'Anket bulunamadı. Ziyaretiniz için teşekkür ederiz.',\n my: 'Soal selidik ini tidak wujud. Terima kasih di atas kunjungan anda.',\n Russian: 'Анкета не существует, благодарим за участие!',\n Spanish: 'El cuestionario no existe. Gracias por su visita',\n Thai: 'ไม่มีแบบสอบถาม ขอบคุณสำหรับการเยี่ยมชม',\n Vietnamese: 'Bảng khảo sát không tồn tại. Cảm ơn bạn đã ghé thăm.',\n Filipino: 'Hindi umiiral ang questionnaire na ito, salamat sa iyong pagsali'\n },\n 'error.server_error': {\n cn: '服务异常',\n tc: '服務異常',\n en: \"The service isn't available.\",\n ja: 'サービスエラー',\n ko: '서버 오류',\n pt: 'Este serviço não está disponível.',\n de: 'Der Service ist nicht verfügbar.',\n fr: \"Ce service n'est pas disponible.\",\n it: 'Il servizio non è disponibile.',\n hi: 'सेवा अनुपलब्ध है।',\n ta: 'இந்த சேவை தற்போது பயன்பாட்டில் இல்லை ',\n te: 'సేవ అందుబాటులో లేదు.',\n ml: 'ഈ സേവനം ഇപ്പോൾ ലഭ്യമല്ല.',\n kn: 'ಸೇವೆ ಲಭ್ಯವಿಲ್ಲ.',\n mr: 'ही सेवा उपलब्ध नाही.',\n gu: 'સેવા ઉપલબ્ધ છે',\n bn: 'পরিষেবা উপলব্ধ নেই',\n pa: 'ਸੇਵਾ ਉਪਲਬਧ ਨਹੀਂ ਹੈ',\n bh: 'सेवा अनुपलब्ध है।',\n id: 'Servis eror',\n ar: 'الخدمة غير متوفرة.',\n tr: 'Servis mevcut değil.',\n my: 'Perkhidmatan tidak tersedia.',\n Russian: 'Сервис недоступен',\n Spanish: 'El servicio no se encuentra disponible.',\n Thai: 'ไม่สามารถใช้บริการได้',\n Vietnamese: 'Dịch vụ không khả dụng.',\n Filipino: 'Hindi available ang serbisyong ito.'\n },\n back: {\n cn: '返回',\n en: 'Back',\n Vietnamese: 'Làm lại'\n },\n option: {\n cn: '选项',\n en: 'Option'\n },\n 'option-analysis': {\n cn: '选项解析',\n en: 'Option analysis',\n Vietnamese: 'Giải thích'\n },\n 'correct-answer': {\n cn: '正确答案',\n en: 'Correct answer',\n Vietnamese: 'Đáp án'\n },\n 'your-answer': {\n cn: '你的答案',\n en: 'Your answer',\n Vietnamese: 'Trả lời'\n },\n 'this-question-score': {\n cn: '本题得分',\n en: 'Question score',\n Vietnamese: 'Điểm'\n },\n 'answer-analysis': {\n cn: '答案解析',\n en: 'Answer analysis',\n Vietnamese: 'Kiểm tra đáp án'\n },\n 'try-again': {\n cn: '再考一次',\n en: 'Take the test again.',\n Vietnamese: 'Làm lại để ghi 100 điểm nào!'\n },\n 'show-analysis': {\n cn: '点击查看答案解析',\n en: 'Click to view answer analysis.',\n Vietnamese: 'Xem đáp án đúng'\n },\n 'to-lottery': {\n cn: '点击此处去抽奖',\n tc: '點擊此處去抽獎',\n en: 'Join the lucky draw now!',\n ja: '抽選へ',\n ko: '상품 추첨에 참가해 보십시오.',\n pt: 'Junte-se ao sorteio agora!',\n de: 'Nehmen Sie jetzt an der Verlosung teil! ',\n fr: 'Participez à notre tirage au sort !',\n it: \"Partecipa all'estrazione ora!\",\n hi: 'अब लकी ड्रा में शामिल हों!',\n ta: 'உடனே இந்த அதிருஷ்ட குலுக்கலில் இணையுங்கள் ',\n te: 'ఇప్పుడు లక్కీ డ్రాలో చేరండి!',\n ml: 'ലക്കി ഡ്രോയിൽ ഇപ്പോൾ പങ്കെടുക്കൂ!',\n kn: 'ಲಕ್ಕಿ ಡ್ರಾದಲ್ಲಿ ಈಗಲೇ ಭಾಗವಹಿಸಿ!',\n mr: 'आता लकी ड्रॉमध्ये सामील व्हा!',\n gu: 'હવે આપ લકી ડ્રોમાં સામેલ થાઓ',\n bn: 'লাকি ড্র-এ যোগ দিন',\n pa: 'ਹੁਣੇ ਲੱਕੀ ਡਰਾਅ ਨਾਲ ਜੁੜੋ!',\n bh: 'अब लकी ड्रा में शामिल हों!',\n id: 'Ikut undian!',\n ar: 'الانضمام إلى القرعة الان',\n tr: 'Şanslı çekilişe şimdi katılın!',\n my: 'Sertai cabutan bertuah sekarang!',\n Russian: 'Участвовать в розыгрыше',\n Spanish: '¡Únete al sorteo ahora!',\n Thai: 'เข้าร่วมการจับรางวัลตอนนี้!',\n Vietnamese: 'Tham gia ngay rút thăm may mắn!',\n Filipino: 'Sumali sa lucky draw ngayon!'\n },\n 'user-score': {\n cn: '你的得分',\n tc: '你的得分',\n en: 'Your score',\n ja: 'スコア',\n ko: '나의 점수',\n pt: 'Seus pontos',\n de: 'Ihre Punktzahl',\n fr: 'Votre score',\n it: 'Il tuo punteggio',\n hi: 'आपका स्कोर',\n ta: 'உங்களது மதிப்பெண் ',\n te: 'మీ స్కోర్',\n ml: 'നിങ്ങളുടെ സ്‌കോർ',\n kn: 'ನಿಮ್ಮ ಸ್ಕೋರ್',\n mr: 'आपले गुण',\n gu: 'તમારો સ્કોર',\n bn: 'আপনার স্কোর',\n pa: 'ਤੁਹਾਡਾ ਸਕੋਰ',\n bh: 'आपका स्कोर',\n id: 'Score anda',\n ar: 'نقاطك',\n tr: 'Skorunuz',\n my: 'Skor anda',\n Russian: 'Ваши баллы',\n Spanish: 'Tu puntaje',\n Thai: 'คะแนนของคุณ',\n Vietnamese: 'Điểm của bạn',\n Filipino: 'score mo'\n },\n 'number-only': {\n cn: '请填写数字',\n tc: '請填寫數字',\n en: 'Enter a number',\n ja: '数字を入力してください',\n ko: '숫자를 입력해 주십시오.',\n pt: 'Adicione um número por favor.',\n de: 'Bitte geben Sie eine Nummer an.',\n fr: 'Veuillez entrer un numéro.',\n it: 'Per favore inserisci un numero',\n hi: 'कृपया एक नंबर लिखें.',\n ta: 'ஏதாவது ஒரு எண்ணை இடவும் ',\n te: 'దయచేసి నంబర్ను వ్రాయండి.',\n ml: 'ഒരു നമ്പർ നൽകൂ.',\n kn: 'ದಯವಿಟ್ಟು ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ',\n mr: 'कृपया नंबर टाका.',\n gu: 'કૃપા કરી એક નંબર લખો',\n bn: 'দয়া করে নম্বর লিখুন',\n pa: 'ਕਿਰਪਾ ਕਰਕੇ ਇਕ ਨੰਬਰ ਲਿਖੋ। ',\n bh: 'कृपया एक नंबर लिखें.',\n id: 'Silakan masukkan nomor.',\n ar: 'ضع رقماً من فضلك',\n tr: 'Lütfen bir numara yazın',\n my: 'Sila masukkan nombor.',\n Russian: 'Пожалуйста, заполните цифру',\n Spanish: 'Por favor introduce un número',\n Thai: 'โปรดกรอกตัวเลข',\n Vietnamese: 'Hãy nhập số điện thoại.',\n Filipino: 'Pakipunan ng bilang.'\n },\n 'error.type_not_supported': {\n cn: '不支持该文件类型',\n tc: '不支持該文件類型',\n en: 'The file type is not supported',\n Russian: 'Этот тип файла не поддерживается',\n Spanish: 'Este tipo de archivo no es aceptado',\n Thai: 'ไม่รองรับประเภทไฟล์',\n Vietnamese: 'Không hỗ trợ loại tệp này',\n Filipino: 'Hindi suporta ang file type na ito'\n },\n 'optionInput.specificGravity': {\n cn: '请调整比重',\n tc: '請調整比重',\n en: 'Please adjust the weight'\n },\n language: {\n cn: '问卷语言',\n tc: '問卷語言',\n en: 'Language',\n ja: '言語',\n ko: '언어',\n pt: 'linguagem',\n de: 'Sprache',\n fr: 'langue',\n it: 'lingua',\n hi: 'भाषा',\n ta: 'மொழி',\n te: 'భాష',\n ml: 'ഭാഷ',\n kn: 'ಭಾಷೆ',\n mr: 'इंग्रजी',\n gu: 'ભાષા',\n bn: 'ভাষা',\n pa: 'ਭਾਸ਼ਾ',\n bh: 'भाखा',\n id: 'bahasa',\n ar: 'لغة الاستبيان',\n tr: 'Anket dili',\n my: 'bahasa',\n Russian: 'язык',\n Spanish: 'idioma',\n Thai: 'ภาษา',\n Vietnamese: 'ngôn ngữ',\n Filipino: 'wika'\n }\n};","import _message from \"antd/es/message\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport axios from 'axios';\nimport devTool from 'fe-dev-tool';\nimport { traceOnError } from '../tracer';\nfunction successHandle(result) {\n var response = result.data;\n if (_typeof(response) !== 'object') return response;\n if (response.code >= 200 && response.code <= 299) {\n return response;\n }\n if (response.code === 401) {\n window.location.href = \"/accounts/login?next=\".concat(encodeURIComponent(window.location.href));\n return Promise.reject(response);\n }\n return Promise.reject(response);\n}\nfunction errorHandle(error) {\n traceOnError(error.message, error.code, JSON.stringify(error));\n var response = error.response;\n var reject = {};\n if (response && response.data) {\n var _response$data$res = response.data.res,\n res = _response$data$res === void 0 ? {} : _response$data$res;\n reject = {\n code: res.code,\n message: res.message\n };\n }\n if (response && !response.data) {\n reject = {\n code: response.status,\n message: response.statusText\n };\n }\n if (!response) {\n reject = {\n code: 400,\n message: error.message\n };\n }\n // 有些时候,Python服务器返回500 但message却是OK\n if (reject.code === 500) {\n reject.message = '服务器错误';\n }\n return Promise.reject(reject);\n}\nvar baseURL = devTool.apiPathTransform(process.env.BROWSER_REQUEST_PREFIEX || '/');\naxios.defaults.baseURL = baseURL;\nif (!/\\/$/.test(baseURL)) baseURL = \"\".concat(baseURL, \"/\");\nvar Client = /*#__PURE__*/function () {\n function Client() {\n _classCallCheck(this, Client);\n var axiosClient = axios.create(Client.clientConfig);\n if (Client.clientConfig.retry) {\n axiosClient.interceptors.response.use(successHandle, this.retriedErrorHandle.bind(this));\n } else {\n axiosClient.interceptors.response.use(successHandle, errorHandle);\n }\n this.client = axiosClient;\n this.times = 0;\n }\n _createClass(Client, [{\n key: \"retriedErrorHandle\",\n value: function retriedErrorHandle(error) {\n var _this = this;\n var _Client$clientConfig = Client.clientConfig,\n retryTimes = _Client$clientConfig.retryTimes,\n backOffDelay = _Client$clientConfig.backOffDelay;\n if (/timeout/i.test(error.message)) {\n if (++this.times <= retryTimes) {\n if (backOffDelay) {\n _message.info(\"Request failed. Will retry after \".concat(backOffDelay / 1000, \"s...\"));\n }\n return new Promise(function (resolve) {\n setTimeout(function () {\n resolve();\n }, backOffDelay);\n }).then(function () {\n return _this.client(error.config);\n });\n }\n // eslint-disable-next-line\n return Promise.reject({\n code: 500,\n message: 'request timeout'\n });\n }\n return errorHandle(error);\n }\n }, {\n key: \"get\",\n value: function get(url, params) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var defaultOpt = {\n url: url,\n params: params,\n method: 'get',\n skipNotice: true // 请求失败在页面是否显示提示消息\n };\n\n return this.client.request(Object.assign(defaultOpt, option));\n }\n }, {\n key: \"post\",\n value: function post(url, data) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var defaultOpt = {\n url: url,\n data: data,\n method: 'post',\n headers: {\n 'Content-Type': 'application/json'\n },\n skipNotice: true\n };\n return this.client.request(Object.assign(defaultOpt, option));\n }\n }, {\n key: \"update\",\n value: function update(url, file) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var formData = new FormData();\n formData.append('file', file);\n var defaultOpt = {\n url: url,\n data: formData,\n method: 'post',\n skipNotice: true\n };\n return this.client.request(Object.assign(defaultOpt, option));\n }\n }, {\n key: \"patch\",\n value: function patch(url, data) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var defaultOpt = {\n url: url,\n data: data,\n method: 'patch',\n headers: {\n 'Content-Type': 'application/json'\n },\n skipNotice: true\n };\n return this.client.request(Object.assign(defaultOpt, option));\n }\n }]);\n return Client;\n}();\n_defineProperty(Client, \"clientConfig\", {\n baseURL: baseURL,\n timeout: process.env.BROWSER_REQUEST_TIMEOUT,\n // add timeout retry\n retry: true,\n backOffDelay: 3000,\n retryTimes: 3\n});\nexport { Client as default };","import _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport axios from 'axios';\nimport Client from './client';\nimport { CaseUtil, getUrlParams } from '../utilities/common';\nvar client = new Client();\nexport var getQuest = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(hashId, questId, sign) {\n var customs,\n url,\n urlParams,\n _args = arguments;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n customs = _args.length > 3 && _args[3] !== undefined ? _args[3] : '';\n if (!window.isLocal) {\n _context.next = 7;\n break;\n }\n urlParams = getUrlParams();\n url = \"//\".concat(location.host, \"/survey/api/v1/questionnaire/preview/\").concat(urlParams.id, \"/\");\n return _context.abrupt(\"return\", axios.get(url).then(function (res) {\n if (res.data.code == 401) {\n window.location.href = \"//\".concat(location.host, \"/survey/auth/login?next=\").concat(encodeURIComponent(window.location.href));\n return new Promise(function (resolve) {\n setTimeout(function () {\n resolve();\n }, 2000);\n });\n }\n return res.data;\n }).catch(function (err) {\n var _err$response;\n if ((err === null || err === void 0 ? void 0 : (_err$response = err.response) === null || _err$response === void 0 ? void 0 : _err$response.status) === 403) {\n return 'noPreviewAuth';\n }\n }));\n case 7:\n if (sign) {\n url = \"/v2/q/\".concat(questId, \"/\").concat(hashId, \"/\").concat(sign, \"/?\").concat(customs);\n } else {\n url = \"/v1/q/\".concat(hashId, \"/\");\n }\n case 8:\n return _context.abrupt(\"return\", client.get(url, null));\n case 9:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n return function getQuest(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\nexport var submitQuest = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(hashId, params, questId, sign, hideAnalysisHeader, option) {\n var url, formData, answers, extra;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (sign) {\n url = \"/v2/q/\".concat(questId, \"/\").concat(hashId, \"/\").concat(sign, \"/\");\n } else {\n url = \"/v1/q/\".concat(hashId, \"/\");\n }\n formData = new FormData();\n answers = CaseUtil.toSnake(params);\n formData.append('answers', JSON.stringify(answers));\n if (hideAnalysisHeader) {\n extra = {\n hide_analysis_header: hideAnalysisHeader\n };\n formData.append('extra', JSON.stringify(extra));\n }\n return _context2.abrupt(\"return\", client.post(url, formData, option));\n case 6:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n return function submitQuest(_x4, _x5, _x6, _x7, _x8, _x9) {\n return _ref2.apply(this, arguments);\n };\n}();\nexport var getLocationMap = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var country,\n previewUrl,\n hostUrl,\n url,\n _args3 = arguments;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n country = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : 'cn';\n previewUrl = \"//\".concat(location.host, \"/survey/api/v1/questionnaires/country_detail/?country=\").concat(country.toLowerCase());\n hostUrl = \"//\".concat(location.host, \"/open_api/v1/api/country_detail/?country=\").concat(country.toLowerCase());\n url = location.pathname.includes('preview') ? previewUrl : hostUrl;\n return _context3.abrupt(\"return\", axios.get(url).then(function (res) {\n return res.data;\n }));\n case 5:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n return function getLocationMap() {\n return _ref3.apply(this, arguments);\n };\n}();\nexport var lotteryDraw = /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(params) {\n var url;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n url = \"/v1/api/lottery_draw/\";\n return _context4.abrupt(\"return\", client.post(url, params, {}));\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n return function lotteryDraw(_x10) {\n return _ref4.apply(this, arguments);\n };\n}();\nexport var loadLatestLotteryInfo = /*#__PURE__*/function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(params) {\n var url;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n url = \"/v1/api/lottery_draw/\";\n return _context5.abrupt(\"return\", client.get(url, params, {}));\n case 2:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n return function loadLatestLotteryInfo(_x11) {\n return _ref5.apply(this, arguments);\n };\n}();\nexport var lotteryUserInfo = /*#__PURE__*/function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(params) {\n var url;\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n url = \"/v1/api/update_contact/\";\n return _context6.abrupt(\"return\", client.post(url, params, {}));\n case 2:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n return function lotteryUserInfo(_x12) {\n return _ref6.apply(this, arguments);\n };\n}();","var theme = {\n normalDark: {\n primaryColor: '#ffa200 !important',\n textColor: '#AA8866 !important',\n textColorSecondary: '#6c553a !important',\n questionBg: '#272727 !important',\n antTableHover: 'rgba(49, 94, 251, 0.09) !important',\n antMenuHover: 'rgba(49, 94, 251, 0.03) !important',\n antBg: 'transparent !important',\n antBorder: '#AA8866 !important',\n amEntityBg: 'rgba(255,255,255,0.1) !important',\n antEntityBg: '#272727 !important',\n antEntityBorder: '#AA8866 !important',\n antTableBorder: '#6c553a !important',\n scaleSquare: '#272727 !important',\n backgroundColor: '#000000 !important',\n inputBg: 'transparent !important',\n endingBg: '#000000 !important',\n btnText: '#272727 !important',\n sliderThumb: '#272727 !important',\n checkboxDisabledColor: '#62625a !important',\n titleStickyBg: '#272727 !important'\n },\n classicalDark: {\n primaryColor: '#f49e32 !important',\n textColor: '#d6ddf2 !important',\n textColorSecondary: '#7d86a2 !important',\n questionBg: '#3a4461 !important',\n antTableHover: 'rgba(49, 94, 251, 0.09) !important',\n antMenuHover: 'rgba(49, 94, 251, 0.03) !important',\n antBg: 'transparent !important',\n antBorder: '#d6ddf2 !important',\n antEntityBg: '#3a4461 !important',\n amEntityBg: 'rgba(255,255,255,0.1) !important',\n antEntityBorder: '#d6ddf2 !important',\n antTableBorder: '#7d86a2 !important',\n scaleSquare: '#3a4461 !important',\n backgroundColor: '#253050 !important',\n inputBg: 'rgba(255,255,255,0.1) !important',\n endingBg: '#253050 !important',\n btnText: '#253050 !important',\n sliderThumb: '#3a4461 !important',\n checkboxDisabledColor: '#758b98 !important',\n titleStickyBg: '#3a4361 !important'\n },\n technology: {\n primaryColor: '#f49e32 !important',\n textColor: '#d6ddf2 !important',\n textColorSecondary: '#727783 !important',\n questionBg: 'linear-gradient(#1f0d62, #513220) !important',\n antTableHover: 'rgba(49, 94, 251, 0.09) !important',\n antMenuHover: 'rgba(49, 94, 251, 0.03) !important',\n antBg: 'transparent !important',\n antBorder: '#727783 !important',\n antEntityBg: 'linear-gradient(#1f0d62, #513220) !important',\n amEntityBg: 'rgba(255,255,255,0.1) !important',\n antEntityBorder: '#727783 !important',\n antTableBorder: '#727783 !important',\n scaleSquare: 'rgba(255,255,255,0.1) !important',\n backgroundColor: '#000000 !important',\n antCheckBg: '#1f0d62 !important',\n inputBg: 'rgba(255,255,255,0.1) !important',\n endingBg: 'linear-gradient(#1f0d62, #513220) !important',\n sliderThumb: 'linear-gradient(#1f0d62, #513220) !important',\n checkboxDisabledColor: '#684e84 !important',\n titleStickyBg: 'linear-gradient(#1f0d62, #513220) !important'\n },\n linearGreen: {\n primaryColor: '#fab921 !important',\n textColor: '#fdfff0 !important',\n textColorSecondary: '#d4e4c3 !important',\n questionBg: 'rgba(0,0,100,0.1) !important',\n antTableHover: 'rgba(49, 94, 251, 0.09) !important',\n antMenuHover: 'rgba(49, 94, 251, 0.03) !important',\n antBg: 'transparent !important',\n antBorder: '#d4e4c3 !important',\n antEntityBg: '#6e948c !important',\n amEntityBg: 'rgba(255,255,255,0.1) !important',\n antEntityBorder: '#d4e4c3 !important',\n antTableBorder: '#d4e4c3 !important',\n scaleSquare: 'rgba(255,255,255,0.1) !important',\n antCheckBg: '#577e80 !important',\n backgroundColor: 'linear-gradient(#577e80, #85bb7f) !important',\n inputBg: 'rgba(255,255,255,0.1) !important',\n endingBg: 'linear-gradient(#577e80, #85bb7f) !important',\n btnText: '#577e80 !important',\n checkboxDisabledColor: '#a7c9c3 !important',\n titleStickyBg: '#688b8d !important',\n mobileFooterBg: '#85bb7f !important'\n },\n linearPurple: {\n primaryColor: '#21fae7 !important',\n textColor: '#fff !important',\n textColorSecondary: '#c19ac9 !important',\n questionBg: 'rgba(255,255,255,0.1) !important',\n antTableHover: 'rgba(49, 94, 251, 0.09) !important',\n antMenuHover: 'rgba(49, 94, 251, 0.03) !important',\n antBg: 'transparent !important',\n antBorder: '#c19ac9 !important',\n antEntityBg: 'linear-gradient(#3b0d62, #67228e) !important',\n amEntityBg: 'rgba(255,255,255,0.1) !important',\n antEntityBorder: '#c19ac9 !important',\n antTableBorder: '#c19ac9 !important',\n scaleSquare: 'rgba(255,255,255,0.1) !important',\n antCheckBg: '#3b0d62 !important',\n backgroundColor: 'linear-gradient(#3b0d62, #67228e) !important',\n inputBg: 'rgba(255,255,255,0.1) !important',\n endingBg: 'linear-gradient(#3b0d62, #67228e) !important',\n btnText: '#3b0d62 !important',\n sliderThumb: 'linear-gradient(#3b0d62, #67228e) !important',\n checkboxDisabledColor: '#927ca7 !important',\n titleStickyBg: '#5f2e83 !important',\n mobileFooterBg: '#67228e !important'\n },\n chLight: {\n primaryColor: '#a9cd4e !important',\n textColor: '#3c8e86 !important',\n textColorSecondary: '#9bb9b5 !important',\n questionBg: '#fbfaf5 !important',\n antTableHover: 'rgba(49, 94, 251, 0.09) !important',\n antMenuHover: 'rgba(49, 94, 251, 0.03) !important',\n antBg: 'rgba(255,255,255,0.1) !important',\n antBorder: '#9bb9b5 !important',\n antEntityBg: '#fbfaf5 !important',\n amEntityBg: 'rgba(239, 238, 234, 0.8) !important',\n antEntityBorder: '#9bb9b5 !important',\n antTableBorder: '#9bb9b5 !important',\n scaleSquare: 'rgba(255,255,255,0.1) !important',\n backgroundColor: '#efeeea !important',\n inputBg: '#fbfaf5 !important',\n endingBg: '#fbfaf5 !important',\n btnText: '#fbfaf5 !important',\n sliderThumb: '#fbfaf5 !important',\n checkboxDisabledColor: '#c7c7c7 !important',\n titleStickyBg: '#fbfbf7 !important'\n },\n lightWarm: {\n primaryColor: '#ffab15 !important',\n textColor: '#593c2b !important',\n textColorSecondary: '#aaa198 !important',\n questionBg: '#fff !important',\n antTableHover: 'rgba(49, 94, 251, 0.09) !important',\n antMenuHover: 'rgba(49, 94, 251, 0.03) !important',\n antBg: 'rgba(255,255,255,0.1) !important',\n antBorder: '#aaa198 !important',\n antEntityBg: '#fff !important',\n amEntityBg: 'rgb(252, 243, 226, 0.6) !important',\n antEntityBorder: '#aaa198 !important',\n antTableBorder: '#aaa198 !important',\n scaleSquare: 'rgba(255,255,255,0.1) !important',\n backgroundColor: '#fcf3e2 !important',\n inputBg: 'transparent !important',\n endingBg: '#fcf3e2 !important',\n btnText: '#fff !important',\n sliderThumb: '#fff !important',\n checkboxDisabledColor: '#c7c7c7 !important',\n titleStickyBg: '#fff !important'\n },\n lightCold: {\n primaryColor: '#6490e5 !important',\n textColor: '#444951 !important',\n textColorSecondary: '#b6c1cd !important',\n questionBg: '#fff !important',\n antTableHover: 'rgba(49, 94, 251, 0.09) !important',\n antMenuHover: 'rgba(49, 94, 251, 0.03) !important',\n antBg: 'rgba(255,255,255,0.1) !important',\n antBorder: '#b6c1cd !important',\n antEntityBg: '#fff !important',\n amEntityBg: 'rgb(231, 236, 242, 0.6) !important',\n antEntityBorder: '#b6c1cd !important',\n antTableBorder: '#b6c1cd !important',\n scaleSquare: 'rgba(255,255,255,0.1) !important',\n backgroundColor: '#e7ecf2 !important',\n inputBg: 'rgba(255,255,255,0.1) !important',\n endingBg: '#e7ecf2 !important',\n btnText: '#fff !important',\n sliderThumb: '#fff !important',\n checkboxDisabledColor: '#c7c7c7 !important',\n titleStickyBg: '#fff !important'\n },\n cyberpunk: {\n primaryColor: '#2ad3bd !important',\n textColor: '#e7eeff !important',\n textColorSecondary: '#a1afcf !important',\n questionBg: '#2f4a5c !important',\n antTableHover: 'rgba(49, 94, 251, 0.09) !important',\n antMenuHover: 'rgba(49, 94, 251, 0.03) !important',\n antBg: 'transparent !important',\n antBorder: '#a1afcf !important',\n antEntityBg: '#2f4a5c !important',\n amEntityBg: 'rgb(231, 236, 242, 0.1) !important',\n antEntityBorder: '#a1afcf !important',\n antTableBorder: '#a1afcf !important',\n scaleSquare: 'rgba(255,255,255,0.1) !important',\n backgroundColor: '#243e4d !important',\n inputBg: 'rgba(255,255,255,0.1) !important',\n endingBg: '#243e4d !important',\n btnText: '#2f4a5c !important',\n sliderThumb: '#2f4a5c !important',\n checkboxDisabledColor: '#94b7e3 !important',\n titleStickyBg: '#2f4a5c !important'\n }\n};\nexport default theme;","export var allowedAttributes = {\n '*': ['style', 'class', 'id', 'alt', 'title'],\n a: ['href', 'name', 'target'],\n img: ['src'],\n video: ['src', 'poster', 'controls', 'preload', 'autoplay'],\n audio: ['src', 'controls', 'preload', 'autoplay']\n};\nexport var allowedTags = ['img', 'span', 'strong', 'em', 'b', 'p', 'video', 'u', 'audio'];\nexport var showErrorQuestIds = [21495, 21488, 24596, 24594, 24597, 26653, 24593, 24590, 24589, 24592, 24591, 24598];\nexport var getNewH5HTML = \"html {\\n --primary-color: #3370ff !important;\\n --text-color: #161823 !important;\\n --text-color-secondary: #70757C;\\n --text-color-thirdly: #A8ACB3;\\n --text-red: #FE2C55;\\n --bg-gray: #f5f6fa;\\n --border-gray: #dee0e3;\\n --border-gray-secondary: #ecedf0;\\n --border-gray-mobile: #F0F2F8;\\n --question-bg: #fff;\\n --ant-table-border: #e7e7e7;\\n --ant-table-hover: #f0f7ff; //pc table hover\\u80CC\\u666F\\u8272\\n --ant-bg:#fff; // antd\\u63A7\\u4EF6\\u80CC\\u666F\\u8272\\n --ant-border:rgba(22, 24, 35, 0.34); // antd\\u63A7\\u4EF6\\u8FB9\\u6846\\n --ant-entity-bg: #eef0f5; //antd\\u63A7\\u4EF6\\u9700\\u8981\\u80CC\\u666F\\u8272\\u7684\\u9ED8\\u8BA4\\u586B\\u5145\\n --am-entity-bg: #eef0f5;\\n --ant-entity-border: transparent;\\n --scale-square: #eef0f5;\\n --page-bg: #fff !important;\\n --ant-check-bg: var(--question-bg);\\n --input-bg: transparent;\\n --ending-bg: #fff;\\n --btn-text: #fff;\\n --checkbox-disabled-color: #ccc;\\n --title-sticky-bg: #fff;\\n --mobile-footer-bg: var(--page-bg); \\n --mobile-option-bg: rgba(22, 24, 35, 0.03);\\n --mobile-check-bg: rgba(5, 50, 250, 0.06);\\n --mobile-check-border:#0532FA;\\n --mobile-entity-bg: rgba(22, 24, 35, 0.05);\\n --mobile-matrix-header-bg: #EDEDEE;\\n };\\n .am-image-picker-upload-btn {\\n background: var(--mobile-option-bg) !important;\\n border: 0 !important;\\n border-radius: 8px !important;\\n &::before {\\n width: 2px !important;\\n height: 18px !important;\\n background: rgba(22, 24, 35, 0.6) !important;\\n\\n }\\n &::after {\\n width: 18px !important;\\n height: 2px !important;\\n background: rgba(22, 24, 35, 0.6) !important;\\n }\\n }\\n .am-image-picker-item-content {\\n border-radius: 8px !important;\\n }\\n .am-image-picker-item-remove {\\n height: 20px !important;\\n width: 20px !important;\\n top: 0px !important;\\n right: 0px !important;\\n border-radius: 0 8px 0 0 !important;\\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHeSURBVHgB7Zgxa8JAGIbvElpMCzWh6GJBRSiIxam4d6lCu3fXX9AO+hMchHZ20LW/wLEdnNutuDgIbYpjdLBFDLH3lQZampi73IUeJQ9oTsldHs679z7ExWLxAkmMgiQnFuQlFuQlFuQlFuTlfwnm8/mdbrd7Bi9oR90PUFOp1BHtze12+7RSqZxnMpnDarVaGg6Hj7PZbIUC5Hq93mWhUDiGfrlcbjUYDMaIEqYZXK/X2G3run4AD940I64c3Os1hnDBTqdzN5/PTUQh6SVHZtskY9wjBpgEJ5PJe71evw6S9JNrNBo3ZIw3xADTGvx6kE3W3kOtVislEok9+A6u7po0DGNLlByAwxasZJa0fr9/lUwmf4jAVZQcEDoH/X5ukXJcgn6SIuUAEScJJtGBooJL0Gu3utDkJA2hBf2ihDYnIxXclHM0ORmpYFAI04Z5JIK0J4RISSbBZrN5QptzfpIwBmIgdDVDk3NekqzVDNNZPBqNXqCeM01z3Gq1bmlC2D273X5QzQTVkN/B8Z9HnMSCvCiqqi6QxCiO47wiiVGWy6XUgqplWYt0Or1N2vtIQj43iaZpTyThLSQhKrxNp1Mnm80+27YNn6WayV/nYrlc3iWiJbJ5dIyxgf6YD1D8aYa/g9ymAAAAAElFTkSuQmCC) !important;\\n }\\n\\n \";\nexport var getCustomizedHTML = function getCustomizedHTML(customizedTheme) {\n return \"html {\\n --primary-color: \".concat(customizedTheme.primaryColor, \";\\n --title-color: \").concat(customizedTheme.textColor, \";\\n --text-color: \").concat(customizedTheme.textColor, \";\\n --text-color-secondary: \").concat(customizedTheme.textColorSecondary, \";\\n --question-bg: \").concat(customizedTheme.questionBg, \";\\n --ant-table-hover: \").concat(customizedTheme.antTableHover, \";\\n --ant-menu-hover: \").concat(customizedTheme.antMenuHover, \";\\n --ant-bg: \").concat(customizedTheme.antBg, \";\\n --ant-border: \").concat(customizedTheme.antBorder, \";\\n --ant-entity-bg: \").concat(customizedTheme.antEntityBg, \";\\n --am-entity-bg: \").concat(customizedTheme.amEntityBg, \";\\n --ant-entity-border: \").concat(customizedTheme.antEntityBorder, \";\\n --ant-table-border: \").concat(customizedTheme.antTableBorder, \";\\n --scale-square: \").concat(customizedTheme.scaleSquare, \";\\n --page-bg: \").concat(customizedTheme.backgroundColor, \";\\n --ant-check-bg: \").concat(customizedTheme.antCheckBg || 'var(--question-bg)', \";\\n --input-bg: \").concat(customizedTheme.inputBg, \";\\n --ending-bg: \").concat(customizedTheme.endingBg, \";\\n --btn-text: \").concat(customizedTheme.btnText, \";\\n --checkbox-disabled-color: \").concat(customizedTheme.checkboxDisabledColor, \";\\n --title-sticky-bg: \").concat(customizedTheme.titleStickyBg, \";\\n --mobile-footer-bg: \").concat(customizedTheme.mobileFooterBg, \";\\n }\");\n};\nexport var colorRgb = function colorRgb(color) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var sColor = color.toLowerCase();\n // 十六进制颜色值的正则表达式\n var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;\n // 如果是16进制颜色\n if (sColor && reg.test(sColor)) {\n if (sColor.length === 4) {\n var sColorNew = '#';\n for (var i = 1; i < 4; i += 1) {\n sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));\n }\n sColor = sColorNew;\n }\n // 处理六位的颜色值\n var sColorChange = [];\n for (var i = 1; i < 7; i += 2) {\n sColorChange.push(parseInt(\"0x\".concat(sColor.slice(i, i + 2))));\n }\n sColorChange[1] = sColorChange[1] + 22;\n return \"rgba(\".concat(sColorChange.join(','), \", \").concat(opacity, \")\");\n }\n return sColor;\n};\nexport var getCustomizedHTMLByQuestBgColor = function getCustomizedHTMLByQuestBgColor(quest, questBgColor) {\n return \"html {\\n --primary-color: \".concat(quest.primaryColor || '#3370ff', \" !important;\\n --title-color: \").concat(quest.textColor && quest.textColor != 'rgba(0, 0, 0, 0.65)' ? quest.textColor : '#161823', \" !important;\\n --text-color: \").concat(quest.textColor && quest.textColor != 'rgba(0, 0, 0, 0.65)' ? quest.textColor : 'rgba(22, 24, 35, 0.75)', \" !important;\\n --text-color-secondary: \").concat(quest.textColor && quest.textColor != 'rgba(0, 0, 0, 0.65)' ? quest.textColor : '', \" !important;\\n --question-bg: \").concat(questBgColor, \" !important;\\n --ant-table-hover: \").concat(questBgColor, \" !important;\\n --ant-menu-hover: \").concat(questBgColor, \" !important;\\n --ant-bg: none !important;\\n --ant-border: \").concat(quest.textColor && quest.textColor != 'rgba(0, 0, 0, 0.65)' ? quest.textColor : '', \" !important;\\n --ant-entity-bg: \").concat(questBgColor, \" !important;\\n --am-entity-bg: \").concat(questBgColor === '#fff' || questBgColor === 'rgba(255,255,255,1)' ? '#eef0f5' : 'rgba(255,255,255,0.3)', \" !important;\\n --ant-entity-border: none !important;\\n --ant-table-border: \").concat(questBgColor, \" !important;\\n --scale-square: \").concat(questBgColor === '#fff' || questBgColor === 'rgba(255,255,255,1)' ? '#eef0f5' : 'rgba(255,255,255,0.3)', \" !important;\\n --page-bg: false !important;\\n --ant-check-bg: \").concat(questBgColor, \" !important;\\n --input-bg: none !important;\\n --ending-bg: \").concat(questBgColor, \" !important;\\n --btn-text: #fff !important;\\n --checkbox-disabled-color: #ccc !important;\\n --title-sticky-bg: \").concat(questBgColor, \" !important;\\n }\");\n};\nexport var languageOpts = [{\n label: '简体中文',\n cnLabel: '简体中文',\n value: 'cn'\n}, {\n label: '繁體中文',\n cnLabel: '繁体中文',\n value: 'tc'\n}, {\n label: 'English',\n cnLabel: 'English',\n value: 'en'\n}, {\n label: '日本語',\n cnLabel: '日本语',\n value: 'ja'\n}, {\n label: '한국인',\n cnLabel: '韩国语',\n value: 'ko'\n}, {\n label: 'Português',\n cnLabel: '葡萄牙语',\n value: 'pt'\n}, {\n label: 'Deutsch',\n cnLabel: '德语',\n value: 'de'\n}, {\n label: 'Français',\n cnLabel: '法语',\n value: 'fr'\n}, {\n label: 'Italiano',\n cnLabel: '意大利语',\n value: 'it'\n}, {\n label: 'हिंदी',\n cnLabel: '印地语',\n value: 'hindi'\n}, {\n label: 'தமிழ்',\n cnLabel: '泰米尔语',\n value: 'ta'\n}, {\n label: 'తెలుగు',\n cnLabel: '泰卢固语',\n value: 'te'\n}, {\n label: 'മലയാളം',\n cnLabel: 'Malayalam',\n value: 'ml'\n}, {\n label: 'ಕನ್ನಡ',\n cnLabel: 'Kannada',\n value: 'kn'\n}, {\n label: 'मराठी',\n cnLabel: 'Marathi',\n value: 'mr'\n}, {\n label: 'ગુજરાતી',\n cnLabel: 'Gujarati',\n value: 'gu'\n}, {\n label: 'Bengali',\n cnLabel: 'Bengali',\n value: 'bn'\n}, {\n label: 'ਪੰਜਾਬੀ',\n cnLabel: 'Punjabi',\n value: 'pa'\n}, {\n label: 'भोजपुरी',\n cnLabel: 'Bhojpuri',\n value: 'bh'\n}, {\n label: 'Bahasa Indonesia',\n enLabel: 'Bahasa Indonesia',\n value: 'id'\n}, {\n label: 'العربية',\n cnLabel: '阿语العربية',\n value: 'ar'\n}, {\n label: 'Türkçe',\n enLabel: '土耳其语',\n value: 'tr'\n}, {\n label: 'മലേഷ്യൻ',\n cnLabel: '马来西亚语',\n value: 'my'\n}, {\n label: 'Русский',\n cnLabel: '俄语',\n value: 'Russian'\n}, {\n label: 'español',\n cnLabel: '西班牙语',\n value: 'Spanish'\n}, {\n label: 'แบบไทย',\n cnLabel: '泰语',\n value: 'Thai'\n}, {\n label: 'Tiếng Việt',\n cnLabel: '越南语',\n value: 'Vietnamese'\n}, {\n label: 'Filipino',\n cnLabel: '菲律宾语',\n value: 'Filipino'\n}];","import React from 'react';\nimport { css } from 'emotion';\nimport Header from '../common/Header';\nexport default (function () {\n return React.createElement(Header, {\n className: headerCls\n });\n});\nvar headerCls = /*#__PURE__*/css(\"padding:0;#title{margin-top:60px;font-size:36px;line-height:1.5;font-weight:400;letter-spacing:0.2px;margin-bottom:24px;}#description{margin-top:24px;font-size:14px;line-height:1.5;letter-spacing:0.2px;color:var(--text-color-secondary);font-weight:350;font-stretch:normal;font-style:normal;margin-bottom:60px;}\");","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState } from 'react';\nimport { css } from 'emotion';\nimport { Select, Modal } from '@douyinfe/semi-ui';\nimport { IconChevronDown } from '@douyinfe/semi-icons';\nimport { Consumer } from '@/store';\nimport { getLocalText } from '@/utilities/language';\nimport { languageOpts } from '@/constant';\nvar LanguagePC = function LanguagePC(props) {\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n visible = _useState2[0],\n setVisible = _useState2[1];\n var _useState3 = useState(window.language),\n _useState4 = _slicedToArray(_useState3, 2),\n language = _useState4[0],\n setLanguage = _useState4[1];\n return React.createElement(Consumer, null, function (store) {\n var _store$state = store.state,\n quest = _store$state.quest,\n questions = _store$state.questions;\n var _ref = quest || {},\n _ref$multiLngList = _ref.multiLngList,\n multiLngList = _ref$multiLngList === void 0 ? [] : _ref$multiLngList,\n localLanguage = _ref.localLanguage,\n canSelectLanguage = _ref.canSelectLanguage,\n answerAfterSelectLanguage = _ref.answerAfterSelectLanguage,\n theme = _ref.theme;\n if (!window.selectdLang) {\n setVisible(answerAfterSelectLanguage);\n setTimeout(function () {\n window.selectdLang = true;\n }, 500);\n }\n var languageColumns = multiLngList.map(function (item) {\n var _languageOpts$find;\n return {\n label: (_languageOpts$find = languageOpts.find(function (l) {\n return l.value === item.language;\n })) === null || _languageOpts$find === void 0 ? void 0 : _languageOpts$find.label,\n value: item.language\n };\n });\n var triggerRender = function triggerRender(_ref2) {\n var _value$;\n var value = _ref2.value;\n return React.createElement(\"div\", {\n className: \"selectRender\"\n }, React.createElement(\"div\", {\n className: \"lang-label\"\n }, getLocalText('language')), React.createElement(\"div\", {\n className: \"selectVal\"\n }, value === null || value === void 0 ? void 0 : (_value$ = value[0]) === null || _value$ === void 0 ? void 0 : _value$.label, React.createElement(IconChevronDown, {\n style: {\n marginLeft: 4,\n flexShrink: 0\n }\n })));\n };\n var triggerRender2 = function triggerRender2(_ref3) {\n var _value$2;\n var value = _ref3.value;\n return React.createElement(\"div\", {\n className: \"selectRender2\"\n }, React.createElement(\"div\", {\n className: \"selectVal\"\n }, React.createElement(\"div\", {\n style: {\n width: 282\n }\n }, value === null || value === void 0 ? void 0 : (_value$2 = value[0]) === null || _value$2 === void 0 ? void 0 : _value$2.label), React.createElement(IconChevronDown, {\n style: {\n marginLeft: 4,\n flexShrink: 0\n }\n })));\n };\n return React.createElement(\"div\", {\n className: languageCls(theme)\n }, canSelectLanguage && React.createElement(Select, {\n value: window.language,\n triggerRender: triggerRender,\n optionList: languageColumns,\n onChange: function onChange(value) {\n window.language = value;\n window.selectdLang = true;\n window.showMultiLang = value !== localLanguage;\n store.action.update(questions.map(function (q) {\n return q.id;\n }));\n }\n }), React.createElement(Modal, {\n title: getLocalText('language'),\n visible: visible,\n okText: getLocalText('Content.Form.Ok'),\n cancelText: getLocalText('Content.Form.Cancel'),\n onOk: function onOk() {\n window.language = language;\n window.selectdLang = true;\n window.showMultiLang = language !== localLanguage;\n store.action.update(questions.map(function (q) {\n return q.id;\n }));\n setVisible(false);\n },\n onCancel: function onCancel() {\n return setVisible(false);\n }\n }, React.createElement(\"div\", {\n className: languageModalCls\n }, React.createElement(\"div\", {\n style: {\n marginRight: 12\n }\n }, getLocalText('language')), React.createElement(Select, {\n value: language,\n triggerRender: triggerRender2,\n optionList: languageColumns,\n onChange: function onChange(value) {\n setLanguage(value);\n }\n }))));\n });\n};\nexport default LanguagePC;\nvar _ref4 = \"display:flex;margin-bottom:12px;.selectRender{background-color:\";\nvar _ref5 = \";height:32px;display:flex;align-items:center;padding:5px 12px;border-radius:3px;color:\";\nvar _ref6 = \";.lang-label{flex-shrink:0;font-size:12px;}.selectVal{margin-left:12px;display:flex;align-items:center;font-weight:500;white-space:nowrap;text-overflow:ellipsis;flex-grow:1;overflow:hidden;color:rgb(22,93,255);font-size:12px;cursor:pointer;.semi-icon{font-size:12px;}}}\";\nvar languageCls = function languageCls(theme) {\n return /*#__PURE__*/css(_ref4, theme ? 'var(--question-bg)' : '#fff', _ref5, theme ? 'var(--text-color)' : '#4e5969', _ref6);\n};\nvar languageModalCls = /*#__PURE__*/css(\"display:flex;align-items:center;padding:0 12px;border:1px solid #dde2e9;border-radius:4px;font-size:12px;color:#42464e;.selectRender2{height:32px;display:flex;align-items:center;border-left:1px solid #dde2e9;background-color:#fff;.selectVal{padding-left:12px;display:flex;align-items:center;color:#0c0d0e;font-size:12px;cursor:pointer;.semi-icon{font-size:12px;}}}\");","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _Input from \"antd/es/input\";\nimport React, { useEffect } from 'react';\nimport { css, cx } from 'emotion';\nimport IconFont from '@/components/common/IconFont';\nvar TextArea = _Input.TextArea;\nexport default (function (props) {\n var className = props.className,\n restProps = _objectWithoutProperties(props, [\"className\"]);\n var _restProps$required = restProps.required,\n required = _restProps$required === void 0 ? false : _restProps$required,\n _restProps$value = restProps.value,\n value = _restProps$value === void 0 ? '' : _restProps$value,\n _restProps$maxwords = restProps.maxwords,\n maxwords = _restProps$maxwords === void 0 ? 50 : _restProps$maxwords,\n _restProps$chosen = restProps.chosen,\n chosen = _restProps$chosen === void 0 ? false : _restProps$chosen,\n id = restProps.id;\n useEffect(function () {\n var input = document.querySelector(\"#\".concat(id));\n if (!window.isReport && chosen && input) {\n window.requestAnimationFrame(function () {\n var length = input.value.length;\n input.selectionStart = length;\n input.selectionEnd = length;\n input.focus();\n });\n }\n }, [chosen]);\n return React.createElement(React.Fragment, null, required && !value.length && React.createElement(IconFont, {\n type: \"icon-icon-test\",\n className: requiredIcon\n }), React.createElement(TextArea, _extends({}, restProps, {\n className: cx(className, autoHeightText),\n autoSize: true,\n id: id\n })), maxwords > 0 && React.createElement(\"div\", {\n className: cx(countCls)\n }, value.length, \" / \", maxwords));\n});\nvar requiredIcon = /*#__PURE__*/css(\"position:absolute;left:46px;top:36px;z-index:999;font-size:7px;\");\nvar autoHeightText = /*#__PURE__*/css(\"padding:16px 11px !important;background:var(--am-entity-bg) !important;outline:none;border:none !important;margin:10px 0 !important;&:focus{border:1px solid var(--primary-color) !important;}.has-error &:focus{border:none !important;}\");\nvar countCls = /*#__PURE__*/css(\"font-size:12px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0.2px;text-align:right;color:var(--text-color-secondary);position:absolute;bottom:7px;right:16px;\");","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport TextField from '@material-ui/core/TextField';\nimport Autocomplete from '@material-ui/lab/Autocomplete';\nimport { getLocalText } from '@/utilities/language';\nimport withPalette from './index';\nfunction MaterialSingleSelect(_ref) {\n var _formAnswer$selected, _option;\n var options = _ref.options,\n formAnswer = _ref.formAnswer,\n _onChange = _ref.onChange,\n disabledOptIds = _ref.disabledOptIds;\n var txt = getLocalText('mobile.selected');\n var answer = (_formAnswer$selected = formAnswer.selected) === null || _formAnswer$selected === void 0 ? void 0 : _formAnswer$selected[0];\n var option = options.find(function (e) {\n return e.id === answer;\n });\n var value = option ? {\n label: window.showMultiLang ? option === null || option === void 0 ? void 0 : (_option = option[\"\".concat(window.language, \"Text\")]) === null || _option === void 0 ? void 0 : _option.html2Text() : option.text.html2Text(),\n value: option.id\n } : {\n label: '',\n value: ''\n };\n return React.createElement(Autocomplete, {\n options: options.filter(function (e) {\n return e.id;\n }).map(function (el) {\n var _el;\n return {\n label: window.showMultiLang ? el === null || el === void 0 ? void 0 : (_el = el[\"\".concat(window.language, \"Text\")]) === null || _el === void 0 ? void 0 : _el.html2Text() : el.text.html2Text(),\n value: el.id\n };\n }),\n getOptionLabel: function getOptionLabel(option) {\n return option.label;\n },\n value: value,\n onChange: function onChange(event, newValue) {\n _onChange.selected((newValue === null || newValue === void 0 ? void 0 : newValue.value) || '');\n },\n getOptionSelected: function getOptionSelected(option, value) {\n return option.value === value.value;\n },\n getOptionDisabled: function getOptionDisabled(opt) {\n return disabledOptIds.includes(opt.value);\n },\n renderInput: function renderInput(params) {\n return React.createElement(TextField, _extends({}, params, {\n placeholder: answer ? '' : txt,\n variant: \"outlined\",\n fullWidth: true,\n InputLabelProps: {\n shrink: true\n }\n }));\n }\n });\n}\nexport default withPalette(MaterialSingleSelect);","import _Row from \"antd/es/row\";\nimport _Col from \"antd/es/col\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _Form from \"antd/es/form\";\nimport _Radio from \"antd/es/radio\";\nimport React, { Component } from 'react';\nimport { css } from 'emotion';\nimport sanitize from 'sanitize-html';\nimport { getLocalText } from '@/utilities/language';\nimport SingleChoice from '../../common/Question/SingleChoice';\nimport InputSingleLine from './InputSingleLine';\nimport MaterialSingleSelect from './MaterialUI/SingleSelect';\nvar RadioGroup = _Radio.Group;\nvar FormItem = _Form.Item;\nvar SingleChoicePC = /*#__PURE__*/function (_Component) {\n _inherits(SingleChoicePC, _Component);\n function SingleChoicePC() {\n _classCallCheck(this, SingleChoicePC);\n return _possibleConstructorReturn(this, _getPrototypeOf(SingleChoicePC).apply(this, arguments));\n }\n _createClass(SingleChoicePC, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n question = _this$props.question,\n label = _this$props.label,\n displayType = _this$props.displayType;\n return React.createElement(SingleChoice, this.props, function (_ref) {\n var _formAnswer$selected;\n var _ref$options = _ref.options,\n options = _ref$options === void 0 ? [] : _ref$options,\n formAnswer = _ref.formAnswer,\n error = _ref.error,\n _onChange = _ref.onChange,\n _ref$disabledOptIds = _ref.disabledOptIds,\n disabledOptIds = _ref$disabledOptIds === void 0 ? [] : _ref$disabledOptIds;\n var selected = error.selected,\n text = error.text;\n var _question$custom = question.custom,\n _question$custom$spli = _question$custom.splitCols,\n splitCols = _question$custom$spli === void 0 ? 1 : _question$custom$spli,\n other = _question$custom.other,\n required = question.required,\n id = question.id;\n var rowCounts = Math.ceil(options.length / splitCols); // default to options.length\n var colsSpan = Math.ceil(24 / splitCols); // default to 24\n return React.createElement(FormItem, {\n label: label,\n required: required,\n validateStatus: selected || text ? 'error' : null,\n hasFeedback: true,\n help: selected || text\n }, /select/i.test(displayType) ? React.createElement(MaterialSingleSelect, {\n options: options,\n formAnswer: formAnswer,\n onChange: _onChange,\n disabledOptIds: disabledOptIds\n }) : React.createElement(RadioGroup, {\n onChange: function onChange(e) {\n return _onChange.selected(e.target.value);\n },\n value: (_formAnswer$selected = formAnswer.selected) === null || _formAnswer$selected === void 0 ? void 0 : _formAnswer$selected[0],\n className: \"allWidth\"\n }, new Array(rowCounts).fill('').map(function (_, i) {\n return React.createElement(_Row, {\n gutter: 16,\n className: wrapperCol,\n key: id.concat(i)\n }, options.slice(i * splitCols, splitCols * (i + 1)).map(function (option) {\n return React.createElement(_Col, {\n span: colsSpan,\n key: option.id\n }, React.createElement(_Radio, {\n key: option.id,\n className: radioCls,\n value: option.id,\n disabled: disabledOptIds.find(function (id) {\n return id === option.id;\n })\n }, optionContentRender({\n option: option,\n error: error,\n formAnswer: formAnswer,\n onChange: _onChange\n })));\n }));\n }), other.status > 0 && React.createElement(_Col, {\n span: colsSpan,\n className: wrapperCol\n }, React.createElement(_Radio, {\n key: \"other\",\n className: radioCls,\n value: \"other\"\n }, React.createElement(\"div\", {\n className: error.errorOption === 'other' ? 'option-error' : ''\n }, getLocalText('placeholder.other'), React.createElement(InputSingleLine, {\n placeholder: other.placeholder || '',\n onChange: function onChange(e) {\n return _onChange.text(e.target.value);\n },\n value: formAnswer.text,\n chosen: formAnswer.selected.includes('other'),\n required: other.status === 2,\n id: \"other\".concat(id.replace('$', ''))\n }))))));\n });\n }\n }]);\n return SingleChoicePC;\n}(Component);\nexport { SingleChoicePC as default };\nvar wrapperCol = /*#__PURE__*/css(\"margin-top:26px;&:first-of-type{margin-top:0;}\");\nvar radioCls = /*#__PURE__*/css(\"display:flex !important;margin-top:26px;&:first-of-type{margin-top:0;}span:not(.ant-radio){width:100%;}.ant-input{border-color:var(--border-gray);}.option-error .ant-input{border-color:var(--text-red);}span.ant-radio + *{white-space:pre-wrap;display:inline-block;margin-top:-3px;padding-left:16px;}&.ant-radio-wrapper-checked{color:var(--primary-color);}\");\nexport function optionContentRender(_ref2) {\n var option = _ref2.option,\n error = _ref2.error,\n _onChange2 = _ref2.onChange,\n formAnswer = _ref2.formAnswer;\n var chosen = formAnswer.selected.includes(option.id);\n var restrictions = (window.showMultiLang ? option === null || option === void 0 ? void 0 : option[\"\".concat(window.language, \"Restrictions\")] : option.restrictions) || {};\n var maxWords = restrictions.maxWords,\n openWordsRestriction = restrictions.openWordsRestriction;\n return React.createElement(\"div\", {\n className: error.errorOption === option.id ? 'option-error allWidth' : 'allWidth'\n }, React.createElement(\"div\", {\n className: \"optionText allWidth\"\n }, React.createElement(\"span\", {\n dangerouslySetInnerHTML: {\n __html: sanitize(window.showMultiLang ? option === null || option === void 0 ? void 0 : option[\"\".concat(window.language, \"Text\")] : option.text)\n },\n style: {\n overflow: 'hidden',\n display: 'flex',\n minWidth: 'fit-content',\n width: '100%',\n flexFlow: 'row wrap'\n }\n }), !!option.input && chosen && React.createElement(InputSingleLine, {\n onChange: function onChange(e) {\n return _onChange2.input(option.id, e.target.value);\n },\n value: ((formAnswer.option_blank || {})[option.id] || [])[0] || '',\n placeholder: restrictions.tips || '',\n required: option.input === 'required',\n maxwords: openWordsRestriction ? maxWords : -1,\n chosen: chosen,\n id: \"other\".concat(option.id)\n })), !window.showMultiLang && option.description && React.createElement(\"div\", {\n className: \"description\"\n }, option.description), window.showMultiLang && (option === null || option === void 0 ? void 0 : option[\"\".concat(window.language, \"Description\")]) && React.createElement(\"div\", {\n className: \"description\"\n }, option === null || option === void 0 ? void 0 : option[\"\".concat(window.language, \"Description\")]), option.img && React.createElement(\"img\", {\n src: option.img,\n alt: \"\",\n style: {\n zoom: option.scale || 1,\n marginTop: 10,\n marginBottom: 10\n },\n loading: \"lazy\"\n }), option.audio && React.createElement(\"audio\", {\n src: option.audio,\n controls: true\n }), option.video && React.createElement(\"video\", {\n src: option.video,\n controls: true\n }));\n}","import _Row from \"antd/es/row\";\nimport _Col from \"antd/es/col\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _Form from \"antd/es/form\";\nimport _Checkbox from \"antd/es/checkbox\";\nimport React, { Component } from 'react';\nimport { css, cx } from 'emotion';\nimport { optionContentRender } from './SingleChoice';\nimport { getLocalText } from '@/utilities/language';\nimport MultiChoice from '../../common/Question/MultiChoice';\nimport InputSingleLine from './InputSingleLine';\nimport { getMultiChoiceOptions } from '@/utilities/quest';\nvar CheckboxGroup = _Checkbox.Group;\nvar FormItem = _Form.Item;\nvar MultiChoicePC = /*#__PURE__*/function (_Component) {\n _inherits(MultiChoicePC, _Component);\n function MultiChoicePC() {\n _classCallCheck(this, MultiChoicePC);\n return _possibleConstructorReturn(this, _getPrototypeOf(MultiChoicePC).apply(this, arguments));\n }\n _createClass(MultiChoicePC, [{\n key: \"renderMultiChoiceOpts\",\n value: function renderMultiChoiceOpts(_ref) {\n var id = _ref.id,\n options = _ref.options,\n rowCounts = _ref.rowCounts,\n colsSpan = _ref.colsSpan,\n splitCols = _ref.splitCols,\n disabledOptIds = _ref.disabledOptIds,\n overDisabledIds = _ref.overDisabledIds,\n error = _ref.error,\n onChange = _ref.onChange,\n formAnswer = _ref.formAnswer;\n return new Array(rowCounts).fill('').map(function (_, i) {\n return React.createElement(_Row, {\n gutter: 16,\n className: wrapperCol,\n key: id.concat(i)\n }, options.slice(i * splitCols, splitCols * (i + 1)).map(function (option) {\n return React.createElement(_Col, {\n span: colsSpan,\n key: option.id\n }, React.createElement(_Checkbox, {\n key: option.id,\n disabled: option.disabled || Boolean(disabledOptIds.find(function (id) {\n return id === option.id;\n })) || Boolean(overDisabledIds.find(function (id) {\n return id === option.id;\n })),\n className: checkboxCls,\n value: option.id\n }, optionContentRender({\n option: option,\n error: error,\n onChange: onChange,\n formAnswer: formAnswer\n })));\n }));\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this = this;\n var _this$props = this.props,\n label = _this$props.label,\n question = _this$props.question;\n return React.createElement(MultiChoice, this.props, function (_ref2) {\n var _ref2$options = _ref2.options,\n options = _ref2$options === void 0 ? [] : _ref2$options,\n error = _ref2.error,\n _onChange = _ref2.onChange,\n formAnswer = _ref2.formAnswer,\n disabledOptIds = _ref2.disabledOptIds,\n overDisabledIds = _ref2.overDisabledIds,\n min = _ref2.min,\n max = _ref2.max,\n realMin = _ref2.realMin,\n realMax = _ref2.realMax;\n var selected = error.selected,\n text = error.text;\n var _question$custom = question.custom,\n _question$custom$spli = _question$custom.splitCols,\n splitCols = _question$custom$spli === void 0 ? 1 : _question$custom$spli,\n group = _question$custom.group,\n optionGroups = _question$custom.optionGroups,\n other = _question$custom.other,\n required = question.required,\n id = question.id;\n var opts = getMultiChoiceOptions({\n options: options,\n custom: question.custom\n });\n var rowCounts = Math.ceil(opts.length / splitCols); // default to options.length\n var colsSpan = Math.ceil(24 / splitCols); // default to 24\n var lng = window.language || 'cn';\n // const params = {\n // id,\n // options: opts,\n // rowCounts,\n // colsSpan,\n // splitCols,\n // disabledOptIds,\n // overDisabledIds,\n // error,\n // onChange,\n // formAnswer,\n // };\n return React.createElement(FormItem, {\n label: label,\n validateStatus: selected || text ? 'error' : null,\n hasFeedback: true,\n help: selected || text,\n required: required\n }, React.createElement(CheckboxGroup, {\n value: formAnswer.selected,\n onChange: function onChange(selected) {\n return _onChange.selected(selected, formAnswer);\n },\n className: \"\".concat(\"allWidth\" + ' ').concat(MultiChoiceGroupCls)\n }, group && (optionGroups === null || optionGroups === void 0 ? void 0 : optionGroups.length) ? opts.map(function (opt) {\n rowCounts = Math.ceil(opt.options.length / splitCols);\n return React.createElement(\"div\", {\n className: \"optGroup\"\n }, opt.showGroupName && React.createElement(\"div\", {\n className: \"groupName\"\n }, React.createElement(\"span\", {\n className: \"icon\"\n }, lng === 'cn' ? '分组' : 'group'), opt.name), _this.renderMultiChoiceOpts({\n id: id,\n options: opt.options,\n rowCounts: rowCounts,\n colsSpan: colsSpan,\n splitCols: splitCols,\n disabledOptIds: disabledOptIds,\n overDisabledIds: overDisabledIds,\n error: error,\n onChange: _onChange,\n formAnswer: formAnswer\n }));\n }) : _this.renderMultiChoiceOpts({\n id: id,\n options: opts,\n rowCounts: rowCounts,\n colsSpan: colsSpan,\n splitCols: splitCols,\n disabledOptIds: disabledOptIds,\n overDisabledIds: overDisabledIds,\n error: error,\n onChange: _onChange,\n formAnswer: formAnswer\n }), other.status > 0 && React.createElement(_Col, {\n span: colsSpan,\n className: wrapperCol\n }, React.createElement(_Checkbox, {\n className: cx(checkboxCls, 'allWidth'),\n value: \"other\"\n }, React.createElement(\"div\", {\n className: error.errorOption === 'other' && 'option-error'\n }, getLocalText('placeholder.other'), React.createElement(InputSingleLine, {\n placeholder: other.placeholder || '',\n value: formAnswer.text,\n onChange: function onChange(e) {\n return _onChange.text(e.target.value);\n },\n required: other.status === 2,\n chosen: formAnswer.selected.includes('other'),\n id: \"other\".concat(id.replace('$', ''))\n }))))), Boolean(realMin || realMax) && lng === 'cn' && React.createElement(\"div\", {\n style: {\n fontSize: 12\n }\n }, \"* \", getLocalText('MultiChoice.min.or.max', min, max)));\n });\n }\n }]);\n return MultiChoicePC;\n}(Component);\nexport { MultiChoicePC as default };\nvar MultiChoiceGroupCls = /*#__PURE__*/css(\".ant-checkbox-wrapper-disabled{.ant-checkbox-disabled{opacity:0.3;}.ant-checkbox-inner{background:var(--checkbox-disabled-color) !important;border-color:var(--checkbox-disabled-color) !important;}.allWidth{color:var(--checkbox-disabled-color) !important;}}.optGroup{width:100%;margin-bottom:24px;.groupName{margin:8px 0 -8px;font-size:12px;color:var(--text-color);.icon{padding:4px;margin-right:6px;border-radius:4px;background:#f8f8f8;font-size:12px;color:rgba(22,24,35,0.75);}}.optGroupItem{width:100%;display:flex;flex-wrap:wrap;}}\");\nvar wrapperCol = /*#__PURE__*/css(\"margin-top:26px;&:first-of-type{margin-top:0;}\");\nvar checkboxCls = /*#__PURE__*/css(\"display:flex;margin-left:0;.ant-checkbox{display:flex;align-items:flex-start;height:19px;width:19px;}& + &{margin-left:0;}.ant-input{border-color:var(--border-gray);}.option-error .ant-input{border-color:var(--text-red);}.ant-checkbox + span{display:inline-block;margin-top:-3px;padding-left:16px;}&.ant-checkbox-wrapper-checked{color:var(--primary-color);}span{width:100%;}\");","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _Form from \"antd/es/form\";\nimport React, { Component } from 'react';\nimport LongText from '../../common/Question/LongText';\nimport FillinLong from '../../common/Question/FillinLong';\nimport InputSingleLine from './InputSingleLine';\nvar FormItem = _Form.Item;\nvar LongTextPC = /*#__PURE__*/function (_Component) {\n _inherits(LongTextPC, _Component);\n function LongTextPC() {\n _classCallCheck(this, LongTextPC);\n return _possibleConstructorReturn(this, _getPrototypeOf(LongTextPC).apply(this, arguments));\n }\n _createClass(LongTextPC, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n label = _this$props.label,\n question = _this$props.question;\n var required = question.required,\n type = question.type;\n var restrictions = (window.showMultiLang ? question === null || question === void 0 ? void 0 : question[\"\".concat(window.language, \"Restrictions\")] : question.restrictions) || {};\n var openWordsRestriction = restrictions.openWordsRestriction;\n var content = function content(_ref) {\n var error = _ref.error,\n formAnswer = _ref.formAnswer,\n _onChange = _ref.onChange,\n placeholder = _ref.placeholder,\n _ref$maxWords = _ref.maxWords,\n maxWords = _ref$maxWords === void 0 ? 2000 : _ref$maxWords;\n return React.createElement(FormItem, {\n label: label,\n validateStatus: error ? 'error' : null,\n hasFeedback: true,\n help: error,\n required: required\n }, React.createElement(InputSingleLine, {\n value: formAnswer.text || '',\n onChange: function onChange(e) {\n return _onChange(e.target.value);\n },\n placeholder: placeholder,\n maxLength: openWordsRestriction ? maxWords : -1,\n maxwords: openWordsRestriction ? maxWords : -1,\n style: {\n minHeight: 80,\n marginTop: 0\n }\n }));\n };\n return /fillin/.test(type) ? React.createElement(FillinLong, this.props, content) : React.createElement(LongText, this.props, content);\n }\n }]);\n return LongTextPC;\n}(Component);\nexport { LongTextPC as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _Form from \"antd/es/form\";\nimport React, { Component } from 'react';\nimport ShortText from '../../common/Question/ShortText';\nimport FillinShort from '../../common/Question/FillinShort';\nimport InputSingleLine from './InputSingleLine';\nvar FormItem = _Form.Item;\nvar ShortTextPC = /*#__PURE__*/function (_Component) {\n _inherits(ShortTextPC, _Component);\n function ShortTextPC() {\n _classCallCheck(this, ShortTextPC);\n return _possibleConstructorReturn(this, _getPrototypeOf(ShortTextPC).apply(this, arguments));\n }\n _createClass(ShortTextPC, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n label = _this$props.label,\n question = _this$props.question;\n var restrictions = (window.showMultiLang ? question === null || question === void 0 ? void 0 : question[\"\".concat(window.language, \"Restrictions\")] : question.restrictions) || {};\n var maxWords = restrictions.maxWords,\n openWordsRestriction = restrictions.openWordsRestriction;\n var content = function content(_ref) {\n var error = _ref.error,\n formAnswer = _ref.formAnswer,\n _onChange = _ref.onChange,\n placeholder = _ref.placeholder;\n return React.createElement(FormItem, {\n label: label,\n validateStatus: error ? 'error' : null,\n hasFeedback: true,\n help: error,\n required: question.required\n }, React.createElement(InputSingleLine, {\n value: formAnswer.text || '',\n onChange: function onChange(e) {\n return _onChange(e.target.value);\n },\n placeholder: placeholder,\n maxLength: openWordsRestriction ? maxWords : -1,\n maxwords: openWordsRestriction ? maxWords : -1,\n style: {\n marginTop: 0\n }\n }));\n };\n return /fillin/.test(question.type) ? React.createElement(FillinShort, this.props, content) : React.createElement(ShortText, this.props, content);\n }\n }]);\n return ShortTextPC;\n}(Component);\nexport { ShortTextPC as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _Form from \"antd/es/form\";\nimport React, { Component } from 'react';\nimport Scale from '../../common/Question/Scale';\nimport NewScale from '../../common/Question/NewScale';\nvar FormItem = _Form.Item;\nvar ScalePC = /*#__PURE__*/function (_Component) {\n _inherits(ScalePC, _Component);\n function ScalePC() {\n _classCallCheck(this, ScalePC);\n return _possibleConstructorReturn(this, _getPrototypeOf(ScalePC).apply(this, arguments));\n }\n _createClass(ScalePC, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n question = _this$props.question,\n label = _this$props.label;\n var custom = question.custom;\n var min = custom.min,\n max = custom.max,\n styleType = custom.styleType,\n descriptionType = custom.descriptionType;\n var labels = [];\n for (var i = min.num; i <= max.num; i++) {\n labels.push(i);\n }\n if (!custom[min.num]) {\n custom[min.num] = min;\n }\n if (!custom[max.num]) {\n custom[max.num] = max;\n }\n return React.createElement(Scale, this.props, function (_ref) {\n var error = _ref.error,\n onChange = _ref.onChange,\n marks = _ref.marks,\n max = _ref.max,\n min = _ref.min,\n formAnswer = _ref.formAnswer,\n options = _ref.options;\n return React.createElement(FormItem, {\n label: label,\n required: question.required,\n validateStatus: error ? 'error' : null,\n hasFeedback: true,\n help: error\n }, React.createElement(\"div\", null, React.createElement(NewScale, {\n device: \"pc\",\n style: {\n // width: max.num - min.num < 6 && styleType !== 'slider' ? '50%' : '100%',\n width: '100%'\n },\n question: question,\n descriptionType: descriptionType,\n styleType: styleType,\n min: min,\n max: max,\n marks: marks,\n onChange: onChange,\n selected: formAnswer.degree,\n options: options\n })));\n });\n }\n }]);\n return ScalePC;\n}(Component);\nexport { ScalePC as default };","import _DatePicker from \"antd/es/date-picker\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _Form from \"antd/es/form\";\nimport React, { Component } from 'react';\nimport moment from 'moment';\nimport DateChoice from '../../common/Question/DateChoice';\nvar FormItem = _Form.Item;\nvar DateChoicePC = /*#__PURE__*/function (_Component) {\n _inherits(DateChoicePC, _Component);\n function DateChoicePC() {\n _classCallCheck(this, DateChoicePC);\n return _possibleConstructorReturn(this, _getPrototypeOf(DateChoicePC).apply(this, arguments));\n }\n _createClass(DateChoicePC, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n label = _this$props.label,\n question = _this$props.question;\n return React.createElement(DateChoice, this.props, function (_ref) {\n var error = _ref.error,\n date = _ref.formAnswer.date,\n _onChange = _ref.onChange;\n return React.createElement(FormItem, {\n label: label,\n validateStatus: error ? 'error' : null,\n hasFeedback: true,\n help: error,\n required: question.required\n }, React.createElement(_DatePicker, {\n size: \"large\",\n style: {\n color: 'var(--primary-color) !important'\n },\n allowClear: false,\n value: date === undefined ? undefined : moment(date),\n placeholder: \" \",\n onChange: function onChange(date, dateString) {\n if (!dateString) {\n return;\n }\n _onChange(dateString);\n }\n }));\n });\n }\n }]);\n return DateChoicePC;\n}(Component);\nexport { DateChoicePC as default };","import _Cascader from \"antd/es/cascader\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _Form from \"antd/es/form\";\nimport React, { Component } from 'react';\nimport LocChoice from '../../common/Question/LocChoice';\nimport { getLocalText } from '@/utilities/language';\nimport IconFont from '@/components/common/IconFont';\nvar FormItem = _Form.Item;\nvar LocChoicePC = /*#__PURE__*/function (_Component) {\n _inherits(LocChoicePC, _Component);\n function LocChoicePC() {\n _classCallCheck(this, LocChoicePC);\n return _possibleConstructorReturn(this, _getPrototypeOf(LocChoicePC).apply(this, arguments));\n }\n _createClass(LocChoicePC, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n label = _this$props.label,\n question = _this$props.question;\n return React.createElement(LocChoice, this.props, function (_ref) {\n var error = _ref.error,\n formAnswer = _ref.formAnswer,\n _onChange = _ref.onChange,\n options = _ref.options;\n return React.createElement(FormItem, {\n label: label,\n validateStatus: error ? 'error' : null,\n hasFeedback: true,\n help: error,\n required: question.required\n }, React.createElement(_Cascader, {\n showSearch: true,\n allowClear: false,\n value: formAnswer.location,\n placeholder: getLocalText('mobile.selected'),\n onChange: function onChange(location) {\n return _onChange(location);\n },\n options: options,\n suffixIcon: React.createElement(\"span\", {\n style: {\n fontSize: 12\n }\n }, React.createElement(IconFont, {\n type: \"icon-zhankai\"\n }))\n }));\n });\n }\n }]);\n return LocChoicePC;\n}(Component);\nexport { LocChoicePC as default };","import _Cascader from \"antd/es/cascader\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _Form from \"antd/es/form\";\nimport React, { Component } from 'react';\nimport CascaderChoice from '../../common/Question/Cascader';\nimport { getLocalText } from '@/utilities/language';\nimport IconFont from '@/components/common/IconFont';\nvar FormItem = _Form.Item;\nvar LocChoicePC = /*#__PURE__*/function (_Component) {\n _inherits(LocChoicePC, _Component);\n function LocChoicePC() {\n _classCallCheck(this, LocChoicePC);\n return _possibleConstructorReturn(this, _getPrototypeOf(LocChoicePC).apply(this, arguments));\n }\n _createClass(LocChoicePC, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n label = _this$props.label,\n question = _this$props.question;\n return React.createElement(CascaderChoice, this.props, function (_ref) {\n var error = _ref.error,\n formAnswer = _ref.formAnswer,\n _onChange = _ref.onChange,\n options = _ref.options,\n titles = _ref.titles;\n var titleStr = titles.map(function (e) {\n return e.title;\n }).filter(function (e) {\n return e;\n }).join('/');\n return React.createElement(FormItem, {\n label: label,\n validateStatus: error ? 'error' : null,\n hasFeedback: true,\n help: error,\n required: question.required\n }, React.createElement(_Cascader, {\n showSearch: true,\n allowClear: false,\n value: formAnswer.selected_values,\n placeholder: getLocalText('mobile.selected').concat(titleStr ? \": \".concat(titleStr) : ''),\n onChange: function onChange(choice) {\n return _onChange(choice);\n },\n options: options,\n suffixIcon: React.createElement(\"span\", {\n style: {\n fontSize: 12\n }\n }, React.createElement(IconFont, {\n type: \"icon-zhankai\"\n }))\n }));\n });\n }\n }]);\n return LocChoicePC;\n}(Component);\nexport { LocChoicePC as default };","import _Table from \"antd/es/table\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _Checkbox from \"antd/es/checkbox\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _Form from \"antd/es/form\";\nimport React, { Component } from 'react';\nimport { css } from 'emotion';\nimport sanitizeHtml from 'sanitize-html';\nimport Matrix from '../../common/Question/Matrix';\nimport { Points, Emoji } from '../../common/Question/NewScale';\nimport MaterialSlider from './MaterialUI/Slider';\nimport { getLocalText } from '@/utilities/language';\nvar FormItem = _Form.Item;\nvar MatrixPC = /*#__PURE__*/function (_Component) {\n _inherits(MatrixPC, _Component);\n function MatrixPC(props) {\n var _this;\n _classCallCheck(this, MatrixPC);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(MatrixPC).call(this, props));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onValueClick\", function (_ref) {\n var checked = _ref.checked,\n selected = _ref.selected,\n line = _ref.line,\n isSingleMatrix = _ref.isSingleMatrix,\n option = _ref.option,\n options = _ref.options,\n onChange = _ref.onChange,\n max = _ref.max;\n if (checked) {\n if (!selected[line.id] || isSingleMatrix) {\n selected[line.id] = [option.id];\n } else {\n selected[line.id].push(option.id);\n if (option.mutex) {\n selected[line.id] = selected[line.id].filter(function (optionId) {\n return !option.mutex.includes(optionId);\n });\n }\n selected[line.id] = (selected[line.id] || []).filter(function (el) {\n var _opt$mutex;\n if (el === 'other') {\n return true;\n }\n var opt = options.find(function (i) {\n return i.id === el;\n }) || {};\n if (!(opt === null || opt === void 0 ? void 0 : opt.mutex) || (opt === null || opt === void 0 ? void 0 : (_opt$mutex = opt.mutex) === null || _opt$mutex === void 0 ? void 0 : _opt$mutex.length) === 0) {\n return true;\n }\n return !opt.mutex.includes(option.id);\n });\n }\n } else if (selected[line.id]) {\n selected[line.id] = selected[line.id].filter(function (el) {\n return el !== option.id;\n });\n }\n var overDisabledIds = _this.state.overDisabledIds;\n if (max && selected[line.id] && selected[line.id].length == max) {\n var params = [];\n options.forEach(function (option) {\n if (selected[line.id].indexOf(option.id) < 0) {\n params.push(option.id);\n }\n });\n overDisabledIds[line.id] = params;\n } else if (overDisabledIds && overDisabledIds[line.id]) {\n delete overDisabledIds[line.id];\n }\n _this.setState({\n overDisabledIds: overDisabledIds\n });\n onChange.selected(selected[line.id], line.id);\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getColumn\", function (_ref2) {\n var options = _ref2.options,\n _onChange = _ref2.onChange,\n formAnswer = _ref2.formAnswer,\n isSingleMatrix = _ref2.isSingleMatrix,\n transpose = _ref2.transpose,\n lines = _ref2.lines,\n isScaleMatrix = _ref2.isScaleMatrix,\n styleType = _ref2.styleType,\n max = _ref2.max,\n disabledIds = _ref2.disabledIds;\n var textKey = window.showMultiLang ? \"\".concat(window.language, \"Text\") : 'text';\n var labelKey = window.showMultiLang ? \"\".concat(window.language, \"Label\") : 'label';\n var overDisabledIds = _this.state.overDisabledIds;\n var newDisabledIds = disabledIds || overDisabledIds;\n var selected = formAnswer.selected;\n var length = options.length;\n var columnLen = window.innerWidth > 1440 ? 660 / length : 500 / length;\n var column = [{\n title: '',\n align: 'left',\n dataIndex: 'text',\n width: 150,\n render: function render(text, record) {\n return React.createElement(\"div\", {\n dangerouslySetInnerHTML: {\n __html: sanitizeHtml((record === null || record === void 0 ? void 0 : record[textKey]) || 'Sub Question')\n }\n });\n }\n }];\n (transpose ? lines : options).forEach(function (el, index) {\n column.push({\n title: React.createElement(\"div\", {\n style: {\n alignItems: !index ? 'flex-start' : index === (transpose ? lines : options).length - 1 ? 'flex-end' : 'center',\n textAlign: !index ? 'start !important' : index === (transpose ? lines : options).length - 1 ? 'right !important' : 'center !important'\n }\n }, React.createElement(\"div\", {\n dangerouslySetInnerHTML: {\n __html: sanitizeHtml(isScaleMatrix ? (el === null || el === void 0 ? void 0 : el[labelKey]) || '' : (el === null || el === void 0 ? void 0 : el[textKey]) || '')\n }\n })),\n key: el.id,\n width: columnLen,\n render: function render(_, record) {\n var line = record;\n var option = el;\n if (transpose) {\n line = el;\n option = record;\n }\n if (index === 0 && isScaleMatrix) {\n return {\n props: {\n colSpan: options.length\n },\n children: _this.renderScale({\n onChange: _onChange,\n line: line,\n styleType: styleType,\n selected: selected,\n options: options\n })\n };\n }\n return {\n props: {\n colSpan: isScaleMatrix ? 0 : 1\n },\n children: React.createElement(\"div\", {\n className: \"flex justifyCenter\"\n }, React.createElement(_Checkbox, {\n className: isSingleMatrix && 'isSingle',\n disabled: newDisabledIds && newDisabledIds[line.id] && newDisabledIds[line.id].includes(option.id),\n checked: selected[line.id] && selected[line.id].includes(option.id),\n onChange: function onChange(e) {\n return _this.onValueClick({\n checked: e.target.checked,\n selected: selected,\n line: line,\n options: options,\n option: option,\n isSingleMatrix: isSingleMatrix,\n onChange: _onChange,\n max: max\n });\n }\n }))\n };\n }\n });\n });\n return column;\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"renderScale\", function (_ref3) {\n var line = _ref3.line,\n styleType = _ref3.styleType,\n selected = _ref3.selected,\n options = _ref3.options,\n superOnChange = _ref3.onChange;\n var labelKey = window.showMultiLang ? \"\".concat(window.language, \"Label\") : 'label';\n var selectedOne = selected[line.id] && selected[line.id][0];\n var selectedIdx = options.findIndex(function (opt) {\n return opt.id === selectedOne;\n });\n selectedIdx = selectedIdx < 0 ? undefined : selectedIdx + 1;\n var onChange = function onChange(value) {\n if (!value) return;\n _this.onValueClick({\n checked: value,\n selected: selected,\n line: line,\n options: options,\n option: options.find(function (o) {\n return o.id === value.toString();\n }),\n isSingleMatrix: true,\n onChange: superOnChange\n });\n };\n var marks = options.reduce(function (obj, option) {\n return _objectSpread({}, obj, _defineProperty({}, option.id, (option === null || option === void 0 ? void 0 : option[labelKey]) || ''));\n }, {});\n if (styleType === 'point') {\n return React.createElement(Points, {\n selected: selectedOne,\n onChange: onChange,\n marks: marks,\n isScaleMatrix: true\n });\n }\n if (styleType === 'star') {\n return React.createElement(Points, {\n selected: selectedOne,\n onChange: onChange,\n marks: marks,\n styleType: \"star\",\n isScaleMatrix: true\n });\n }\n if (styleType === 'emoji') {\n return React.createElement(Emoji, {\n selected: selectedOne,\n onChange: onChange,\n marks: marks,\n isScaleMatrix: true\n });\n }\n if (styleType === 'slider') {\n var id = \"\".concat(_this.props.question.id, \"-\").concat(line.id);\n return React.createElement(\"div\", {\n className: \"marginTop10 allWidth\",\n id: id\n }, React.createElement(MaterialSlider, {\n selected: selectedIdx,\n isInsideMatrix: true,\n onChange: onChange,\n marks: marks,\n min: 1,\n max: options.length,\n id: id\n }));\n }\n return React.createElement(Points, {\n selected: selectedOne,\n onChange: onChange,\n marks: marks,\n isScaleMatrix: true\n });\n });\n _this.state = {\n overDisabledIds: {}\n };\n return _this;\n }\n _createClass(MatrixPC, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props = this.props,\n question = _this$props.question,\n label = _this$props.label,\n answer = _this$props.answer;\n var custom = question.custom;\n var isScaleMatrix = custom.isScaleMatrix,\n isSingleMatrix = custom.isSingleMatrix,\n max = custom.max,\n options = custom.options,\n lines = custom.lines;\n var disabledIds = {};\n var lng = window.language || 'cn';\n if (!isScaleMatrix && !isSingleMatrix && max) {\n lines.forEach(function (line) {\n if (max && (answer === null || answer === void 0 ? void 0 : answer.selected) && answer.selected[line.id] && answer.selected[line.id].length == max) {\n var params = [];\n options.forEach(function (option) {\n if (answer.selected[line.id].indexOf(option.id) < 0) {\n params.push(option.id);\n }\n });\n disabledIds[line.id] = params;\n } else if (disabledIds && disabledIds[line.id]) {\n delete disabledIds[line.id];\n }\n });\n }\n return React.createElement(Matrix, this.props, function (_ref4) {\n var options = _ref4.options,\n error = _ref4.error,\n onChange = _ref4.onChange,\n formAnswer = _ref4.formAnswer,\n lines = _ref4.lines,\n isSingleMatrix = _ref4.isSingleMatrix,\n transpose = _ref4.transpose,\n isScaleMatrix = _ref4.isScaleMatrix,\n styleType = _ref4.styleType,\n min = _ref4.min,\n max = _ref4.max,\n realMin = _ref4.realMin,\n realMax = _ref4.realMax;\n var columns = _this2.getColumn({\n options: options,\n onChange: onChange,\n formAnswer: formAnswer,\n isSingleMatrix: isSingleMatrix,\n transpose: transpose,\n lines: lines,\n isScaleMatrix: isScaleMatrix,\n styleType: styleType,\n max: max,\n disabledIds: Object.keys(disabledIds).length > 0 ? disabledIds : null\n });\n return React.createElement(FormItem, {\n label: label,\n validateStatus: error.selected || error.text ? 'error' : null,\n hasFeedback: true,\n help: error.selected || error.text,\n required: question.required\n }, React.createElement(\"div\", {\n id: \"matrix\",\n className: matrixWrap(window.textDirection.textAlign)\n }, React.createElement(_Table, {\n size: \"small\",\n columns: columns,\n dataSource: transpose ? options : lines,\n pagination: false,\n rowKey: function rowKey(record) {\n return record.id;\n },\n style: {\n borderColor: 'var(--text-color)'\n }\n })), Boolean(realMin || realMax) && lng === 'cn' && React.createElement(\"div\", {\n style: {\n fontSize: 12,\n marginTop: 8\n }\n }, \"* \", getLocalText('MultiChoice.min.or.max', min, max)));\n });\n }\n }]);\n return MatrixPC;\n}(Component);\nexport { MatrixPC as default };\nvar _ref5 = \"text-align:\";\nvar _ref6 = \";.ant-table table{text-align:\";\nvar _ref7 = \";color:var(--text-color) !important;}.ant-table-column-title{color:var(--text-color) !important;}.ant-table-wrapper{overflow-x:auto;}.ant-checkbox-wrapper-disabled{.ant-checkbox-disabled{opacity:0.3;}.ant-checkbox-inner{background:var(--checkbox-disabled-color) !important;border-color:var(--checkbox-disabled-color) !important;}}\";\nvar matrixWrap = function matrixWrap(align) {\n return /*#__PURE__*/css(_ref5, align, _ref6, align, _ref7);\n};\n\n// const checkboxCls = css`\n// display: flex;\n// margin-right: 20px;\n// margin-bottom: 10px;\n// .other{\n// width: auto;\n// }\n// .ant-checkbox + span {\n// display: inline-block;\n// margin-top: -3px;\n// }\n// `;","import _Input from \"antd/es/input\";\nimport _Modal from \"antd/es/modal\";\nimport _Upload from \"antd/es/upload\";\nimport _message from \"antd/es/message\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _Form from \"antd/es/form\";\nimport React, { Component } from 'react';\nimport UploadCommon from '@/components/common/Question/Upload';\nimport { getLocalText } from '@/utilities/language';\nimport IconFont from '@/components/common/IconFont';\n\n// const { Dragger } = Upload;\nvar FormItem = _Form.Item;\nvar LongTextPC = /*#__PURE__*/function (_Component) {\n _inherits(LongTextPC, _Component);\n function LongTextPC(props) {\n var _this;\n _classCallCheck(this, LongTextPC);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(LongTextPC).call(this, props));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleCancel\", function () {\n return _this.setState({\n previewVisible: false\n });\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handlePreview\", function (file) {\n _this.setState({\n previewImage: file.url || file.thumbUrl,\n previewVisible: true\n });\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleChange\", function (_ref) {\n var fileList = _ref.fileList,\n onChange = _ref.onChange;\n var validate = fileList.every(function (file) {\n return _this.beforeUpload(file);\n });\n if (!validate) {\n return;\n }\n var isFail = false;\n fileList.forEach(function (el) {\n if (isFail) return;\n if (el.response && el.response.code !== 200) {\n var _el$response$data;\n // 本地预览时code=0,url以//开头,需要特殊处理\n if (!/^\\/\\//.test((_el$response$data = el.response.data) === null || _el$response$data === void 0 ? void 0 : _el$response$data.url)) {\n _message.error(getLocalText(\"error.\".concat(el.response.i18n_prompt)));\n isFail = true;\n }\n }\n });\n // 如果有失败的\n if (isFail) {\n _this.setState({\n fileList: fileList.filter(function (el) {\n return !!el.url || el.response && el.response.code === 200;\n })\n });\n return;\n }\n _this.setState({\n fileList: fileList\n });\n var _this$state$text = _this.state.text,\n text = _this$state$text === void 0 ? '' : _this$state$text;\n onChange({\n text: text,\n fileList: fileList.map(function (el) {\n var _el$response;\n // localStorage中的答案\n if (el.url) {\n return el.url;\n }\n if ((_el$response = el.response) === null || _el$response === void 0 ? void 0 : _el$response.data) {\n var url = el.response.data.url;\n return /^\\/\\//.test(url) ? \"https:\".concat(url) : url;\n }\n // 测试环境假接口格式不一样\n return el.response && el.response.url;\n })\n });\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleTextChange\", function (text, onChange) {\n _this.setState({\n text: text\n });\n var fileList = _this.state.fileList;\n onChange({\n text: text,\n fileList: fileList.map(function (el) {\n if (el.response && el.response.data) {\n return el.response.data.url;\n }\n // 测试环境假接口格式不一样\n return el.response && el.response.url;\n })\n });\n });\n var answer = props.answer;\n var _fileList = [];\n if (answer && answer.list) {\n answer.list.forEach(function (url, index) {\n _fileList.push({\n uid: \"-\".concat(index),\n name: '',\n status: 'done',\n url: url,\n thumbUrl: url\n });\n });\n }\n _this.state = {\n fileList: _fileList,\n previewVisible: false,\n previewImage: '',\n text: ''\n };\n return _this;\n }\n _createClass(LongTextPC, [{\n key: \"beforeUpload\",\n value: function beforeUpload(file) {\n var isBigFile = file.size > 53000000;\n if (isBigFile) {\n _message.error('>50MB');\n return false;\n }\n return true;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props = this.props,\n label = _this$props.label,\n question = _this$props.question;\n var _this$state = this.state,\n previewImage = _this$state.previewImage,\n previewVisible = _this$state.previewVisible,\n fileList = _this$state.fileList;\n var uploadButton = React.createElement(\"div\", {\n style: {\n fontSize: 32\n }\n }, React.createElement(IconFont, {\n type: \"icon-icon-test1\"\n }));\n return React.createElement(UploadCommon, this.props, function (_ref2) {\n var error = _ref2.error,\n host = _ref2.host,\n _onChange = _ref2.onChange,\n max = _ref2.max,\n withText = _ref2.withText,\n placeholder = _ref2.placeholder,\n accept = _ref2.accept;\n return React.createElement(FormItem, {\n label: label,\n validateStatus: error ? 'error' : null,\n hasFeedback: true,\n help: error,\n required: question.required\n }, React.createElement(_Upload, {\n className: fileList.length >= max && 'max',\n accept: accept.join(', '),\n action: host,\n listType: \"picture-card\",\n fileList: fileList,\n onPreview: _this2.handlePreview,\n onChange: function onChange(_ref3) {\n var fileList = _ref3.fileList;\n return _this2.handleChange({\n fileList: fileList,\n onChange: _onChange\n });\n }\n }, fileList.length >= max ? null : uploadButton), React.createElement(_Modal, {\n visible: previewVisible,\n footer: null,\n onCancel: _this2.handleCancel\n }, React.createElement(\"img\", {\n alt: \"example\",\n style: {\n width: '100%'\n },\n src: previewImage,\n loading: \"lazy\"\n })), withText && React.createElement(_Input.TextArea, {\n placeholder: placeholder,\n onChange: function onChange(e) {\n return _this2.handleTextChange(e.target.value.substring(0, 500), _onChange);\n }\n }));\n });\n }\n }]);\n return LongTextPC;\n}(Component);\nexport { LongTextPC as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _Form from \"antd/es/form\";\nimport React, { Component } from 'react';\nimport Sort from '../../common/Question/Sort';\nimport { OptionItem, CustomDragLayer } from '../../mobile/Question/Sort';\nvar FormItem = _Form.Item;\nvar SortPC = /*#__PURE__*/function (_Component) {\n _inherits(SortPC, _Component);\n function SortPC() {\n _classCallCheck(this, SortPC);\n return _possibleConstructorReturn(this, _getPrototypeOf(SortPC).apply(this, arguments));\n }\n _createClass(SortPC, [{\n key: \"render\",\n value: function render() {\n var _this = this;\n var _this$props = this.props,\n label = _this$props.label,\n question = _this$props.question;\n var _question$custom$sort = question.custom.sortType,\n sortType = _question$custom$sort === void 0 ? 'drag' : _question$custom$sort;\n return React.createElement(Sort, this.props, function (_ref) {\n var options = _ref.options,\n error = _ref.error,\n onChange = _ref.onChange,\n formAnswer = _ref.formAnswer,\n handleDrop = _ref.handleDrop,\n handleDragStart = _ref.handleDragStart,\n clickedOptions = _ref.clickedOptions;\n return React.createElement(FormItem, {\n label: label,\n validateStatus: error.selected || error.text ? 'error' : null,\n hasFeedback: true,\n help: error.selected || error.text,\n required: question.required\n }, React.createElement(\"div\", {\n id: _this.props.question.id,\n className: \"flex\"\n }, React.createElement(\"div\", {\n className: \"flex1\"\n }, React.createElement(CustomDragLayer, null), (options || []).map(function (option, index) {\n return React.createElement(OptionItem, {\n key: option.id,\n index: index,\n isFirst: index === 0,\n isLast: index === options.length - 1,\n question: question,\n option: option,\n onChange: onChange,\n formAnswer: formAnswer,\n handleDrop: handleDrop,\n handleDragStart: handleDragStart,\n sortType: sortType,\n clickedOptions: clickedOptions\n });\n }))));\n });\n }\n }]);\n return SortPC;\n}(Component);\nexport { SortPC as default };","import _Table from \"antd/es/table\";\nimport _Input from \"antd/es/input\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _Form from \"antd/es/form\";\nimport React, { Component } from 'react';\nimport { css } from 'emotion';\nimport sanitizeHtml from 'sanitize-html';\nimport OptionInput from '../../common/Question/OptionInput';\nvar FormItem = _Form.Item;\nvar OptionInputPC = /*#__PURE__*/function (_Component) {\n _inherits(OptionInputPC, _Component);\n function OptionInputPC() {\n _classCallCheck(this, OptionInputPC);\n return _possibleConstructorReturn(this, _getPrototypeOf(OptionInputPC).apply(this, arguments));\n }\n _createClass(OptionInputPC, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n question = _this$props.question,\n label = _this$props.label;\n var custom = question.custom;\n var restrictions = (window.showMultiLang ? question === null || question === void 0 ? void 0 : question[\"\".concat(window.language, \"Restrictions\")] : question.restrictions) || {};\n var optionLabelWidth = custom.optionLabelWidth;\n return React.createElement(OptionInput, this.props, function (_ref) {\n var options = _ref.options,\n error = _ref.error,\n formAnswer = _ref.formAnswer,\n _onChange = _ref.onChange,\n placeholder = _ref.placeholder;\n var required = question.required;\n return React.createElement(FormItem, {\n label: label,\n required: required,\n validateStatus: error ? 'error' : null,\n hasFeedback: true,\n help: error\n }, React.createElement(\"div\", {\n className: optionInputCls\n }, React.createElement(_Table, {\n showHeader: false,\n columns: [{\n title: '选项',\n dataIndex: 'text',\n width: optionLabelWidth && Number(optionLabelWidth) !== NaN ? \"\".concat(Number(optionLabelWidth), \"%\") : 'auto',\n render: function render(text, record) {\n var _record;\n return React.createElement(\"div\", {\n dangerouslySetInnerHTML: {\n __html: sanitizeHtml(record === null || record === void 0 ? void 0 : (_record = record[window.showMultiLang ? \"\".concat(window.language, \"Text\") : 'text']) === null || _record === void 0 ? void 0 : _record.html2Text())\n }\n });\n }\n }, {\n title: '填空',\n dataIndex: 'input',\n render: function render(text, record) {\n return React.createElement(\"div\", null, React.createElement(_Input, {\n suffix: restrictions && restrictions.contentType === 'percent' && '%',\n onChange: function onChange(e) {\n return _onChange.input(record.id, e.target.value);\n },\n value: ((formAnswer.option_blank || {})[record.id] || [])[0] || '',\n placeholder: placeholder\n }));\n }\n }],\n dataSource: options,\n pagination: false\n })));\n });\n }\n }]);\n return OptionInputPC;\n}(Component);\nexport { OptionInputPC as default };\nvar optionInputCls = /*#__PURE__*/css(\".ant-input{padding-right:30px !important;background:none !important;border-radius:0;border:0;border-bottom:1px solid rgba(22,24,35,0.12);}.ant-input,.ant-input-append{background:none !important;}.ant-input:focus{box-shadow:none !important;}.ant-table-wrapper{width:auto;}.ant-table-tbody > tr > td{padding:12px 6px !important;border-bottom:0 !important;}.ant-table-tbody > tr:hover > td{background:none !important;}.ant-table{table{color:var(--text-color) !important;}}\");","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport React, { Component } from 'react';\nimport styled from '@emotion/styled';\nimport sanitizeHtml from 'sanitize-html';\nimport SingleChoice from './SingleChoice';\nimport MultiChoice from './MultiChoice';\nimport LongText from './LongText';\nimport ShortText from './ShortText';\nimport Scale from './Scale';\nimport DateChoice from './DateChoice';\nimport LocChoice from './LocChoice';\nimport Cascader from './Cascader';\nimport Matrix from './Matrix';\nimport Upload from './Upload';\nimport Sort from './Sort';\nimport OptionInput from './OptionInput';\nimport PureDescription from '../../common/Question/PureDescription';\nimport ShoppingOrder from '../../common/Question/ShoppingOrder';\nimport { getRealName } from '@/utilities/common';\nimport IconFont from '@/components/common/IconFont';\nimport { getQuestionType } from '@/utilities/quest';\nfunction pauseAll() {\n var self = this;\n var audios = Array.from(document.querySelectorAll('audio'));\n [].forEach.call(audios, function (i) {\n if (i !== self) {\n i.pause();\n i.currentTime = 0;\n }\n });\n}\nvar Question = /*#__PURE__*/function (_Component) {\n _inherits(Question, _Component);\n function Question(props) {\n var _this;\n _classCallCheck(this, Question);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Question).call(this, props));\n var question = props.question,\n answers = props.answers;\n _this.state = {\n realName: getRealName({\n question: question,\n answers: answers\n }),\n refSelected: question.nameRef && answers.nameRef ? answers.nameRef.selected : []\n };\n return _this;\n }\n _createClass(Question, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var audios = Array.from(document.querySelectorAll('audio'));\n [].forEach.call(audios, function (i) {\n i.addEventListener('play', pauseAll.bind(i));\n });\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this2 = this;\n var question = prevProps.question,\n answers = prevProps.answers;\n var name = question.name,\n nameRef = question.nameRef,\n custom = question.custom;\n if (name && (name.includes('{选项引用}') || name.includes('{xxxx}')) && nameRef && answers[nameRef] && (custom === null || custom === void 0 ? void 0 : custom.nameRandom) && (custom === null || custom === void 0 ? void 0 : custom.showNameOptionsNum)) {\n var selected = answers[nameRef].selected;\n if (selected.length !== this.state.refSelected.length) {\n this.setState({\n refSelected: selected,\n realName: getRealName({\n question: question,\n answers: answers\n })\n });\n } else {\n selected.forEach(function (id) {\n if (_this2.state.refSelected.indexOf(id) < 0) {\n _this2.setState({\n refSelected: selected,\n realName: getRealName({\n question: question,\n answers: answers\n })\n });\n }\n });\n }\n }\n }\n }, {\n key: \"renderBody\",\n value: function renderBody() {\n var _this$props = this.props,\n no = _this$props.no,\n question = _this$props.question,\n answer = _this$props.answer,\n hideQuestionNo = _this$props.hideQuestionNo,\n showQuestionType = _this$props.showQuestionType,\n answers = _this$props.answers;\n var name = question.name,\n nameRef = question.nameRef,\n custom = question.custom;\n var nameRandom = name && (name.includes('{选项引用}') || name.includes('{xxxx}')) && nameRef && answers[nameRef] && (custom === null || custom === void 0 ? void 0 : custom.nameRandom) && (custom === null || custom === void 0 ? void 0 : custom.showNameOptionsNum);\n var label = React.createElement(\"div\", {\n style: _objectSpread({\n display: 'inline-flex',\n whiteSpace: 'pre-line',\n wordBreak: 'normal',\n alignItems: 'flex-start',\n width: '100%'\n }, window.textDirection)\n }, !hideQuestionNo && React.createElement(\"p\", {\n className: \"number flexNone flex alignCenter\",\n style: {\n marginRight: 6,\n marginTop: 1,\n fontSize: 20,\n fontStretch: 'normal',\n fontStyle: 'normal',\n lineHeight: 1.1,\n letterSpacing: 0.2,\n color: 'var(--text-color)'\n }\n }, \"\".concat(Math.floor(no / 10)).concat(no % 10)), question.required && React.createElement(\"div\", {\n className: \"redColor flex alignCenter justifyCenter\",\n style: {\n marginRight: 6,\n fontSize: 6,\n height: 24\n }\n }, React.createElement(IconFont, {\n type: \"icon-icon-test\"\n })), showQuestionType && React.createElement(\"p\", {\n className: \"flexNone flex alignCenter\",\n style: {\n color: 'var(--text-color)'\n }\n }, getQuestionType(question)), React.createElement(\"p\", {\n style: {\n color: 'var(--text-color)',\n lineHeight: 1.44,\n letterSpacing: 0.2,\n fontWeight: 400,\n fontSize: 18,\n fontStretch: 'normal',\n fontStyle: 'normal',\n width: '100%'\n },\n dangerouslySetInnerHTML: {\n __html: sanitizeHtml(nameRandom ? this.state.realName : getRealName({\n question: question,\n answers: answers\n }))\n }\n }));\n var common = _objectSpread({}, this.props, {\n label: label,\n key: question.id\n });\n switch (question.type) {\n default:\n return React.createElement(\"p\", null, JSON.stringify(this.props));\n case 'single':\n case 'singleSelect':\n case 'nonScoreSingle':\n case 'nonScoreSingleSelect':\n return React.createElement(SingleChoice, _extends({}, common, {\n displayType: question.type,\n answer: answer || {\n selected: [],\n text: '',\n type: question.type\n }\n }));\n case 'multi':\n case 'nonScoreMulti':\n return React.createElement(MultiChoice, common);\n case 'cascader':\n return React.createElement(Cascader, common);\n case 'sort':\n return React.createElement(Sort, common);\n case 'long':\n case 'fillinLong':\n return React.createElement(LongText, common);\n case 'short':\n case 'fillinShort':\n return React.createElement(ShortText, common);\n case 'scale':\n return React.createElement(Scale, common);\n case 'date':\n return React.createElement(DateChoice, common);\n case 'location':\n return React.createElement(LocChoice, common);\n case 'description':\n return React.createElement(\"div\", {\n style: {\n padding: '40px 72px 60px 56px'\n }\n }, React.createElement(PureDescription, common));\n case 'matrix':\n return React.createElement(Matrix, common);\n case 'upload':\n return React.createElement(Upload, common);\n case 'order':\n return React.createElement(ShoppingOrder, common);\n case 'optionInput':\n return React.createElement(OptionInput, common);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return React.createElement(QuestionFrame, {\n id: this.props.question.id,\n style: {\n background: 'white'\n }\n }, this.renderBody());\n }\n }]);\n return Question;\n}(Component);\nexport { Question as default };\nvar QuestionFrame = /*#__PURE__*/styled(\"section\", {\n target: \"e17782nv0\"\n})(\"background:var(--question-bg) !important;margin-bottom:16px;border-radius:2px;&:last-of-type{border-bottom:none;}.ant-form-item-required{white-space:nowrap;display:flex;}.ant-form-item-required::before{display:none;}.ant-form-item-label{width:100%;white-space:normal;text-align:left;font-size:18px;margin-bottom:30px;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.5;letter-spacing:0.2px;color:var(--text-color);.number{height:28px;}}.ant-form-item-label label:after{content:'';}.ant-form-item{padding:40px 72px 60px 56px;border:1px solid transparent;margin-bottom:0;}.ant-form-item.ant-form-item-with-help{border:1px solid var(--text-red);}\");","import _Button from \"antd/es/button\";\nimport _Modal from \"antd/es/modal\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _message from \"antd/es/message\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nvar _dec, _class, _class2;\nimport React, { Component, useEffect, useState } from 'react';\nimport { formShape, createForm } from 'rc-form';\nimport { css } from 'emotion';\nimport sanitizeHtml from 'sanitize-html';\nimport styled from '@emotion/styled';\nimport isEqual from 'lodash/isEqual';\nimport Question from './Question';\nimport { Consumer } from '@/store';\nimport { getLocalText } from '../../utilities/language';\nimport { getFirstQuestionJump } from '../../utilities/quest';\nvar htmlReg = /<.*?>/g;\nvar onlyShowContent = window.location.href.includes('_dp_survey_only_content');\nexport default function Content() {\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n formRef = _useState2[0],\n handleFormRef = _useState2[1];\n useEffect(function () {\n formRef && formRef.resetValidateAll();\n }, [window.language]);\n var handleOnRef = function handleOnRef(ref) {\n handleFormRef(ref);\n };\n return React.createElement(Consumer, null, function (store) {\n var _store$state = store.state,\n answers = _store$state.answers,\n page = _store$state.page,\n allQuestions = _store$state.allQuestions,\n cipherUrl = _store$state.cipherUrl,\n quest = _store$state.quest;\n var _store$action = store.action,\n submit = _store$action.submit,\n getPageContent = _store$action.getPageContent,\n update = _store$action.update,\n backLastPage = _store$action.backLastPage,\n updateAnswers = _store$action.updateAnswers,\n emptyAllAnswers = _store$action.emptyAllAnswers;\n var _ref = quest || {},\n hideQuestionNo = _ref.hideQuestionNo,\n showQuestionType = _ref.showQuestionType,\n showLastPage = _ref.showLastPage,\n privacy = _ref.privacy,\n quotaStrategy = _ref.quotaStrategy,\n hidePageNo = _ref.hidePageNo;\n return React.createElement(Form, {\n answers: answers,\n cipherUrl: cipherUrl,\n emptyAllAnswers: emptyAllAnswers,\n updateAnswers: updateAnswers,\n privacy: privacy,\n page: page,\n formRef: formRef,\n handleOnRef: handleOnRef,\n doSubmit: submit,\n update: update,\n getPageContent: getPageContent,\n hideQuestionNo: hideQuestionNo,\n showQuestionType: showQuestionType,\n quotaStrategy: quotaStrategy,\n showLastPage: showLastPage,\n allQuestions: allQuestions,\n backLastPage: backLastPage,\n hidePageNo: hidePageNo\n });\n });\n}\nvar Form = (_dec = createForm({\n onValuesChange: function onValuesChange(props, changed) {\n props.update(changed);\n }\n}), _dec(_class = (_class2 = /*#__PURE__*/function (_Component) {\n _inherits(Form, _Component);\n function Form() {\n var _getPrototypeOf2;\n var _this;\n _classCallCheck(this, Form);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Form)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"state\", {\n submitStack: [],\n intervalID: null\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleTimeLimit\", function (acCurrent) {\n var _this$props = _this.props,\n allQuestions = _this$props.allQuestions,\n current = _this$props.page.current;\n var _ref2 = allQuestions.filter(function (q) {\n return q.type === 'page_break';\n })[acCurrent ? acCurrent - 1 : current - 1] || {},\n timeLimit = _ref2.timeLimit;\n var _assertThisInitialize = _assertThisInitialized(_assertThisInitialized(_this)),\n timeRef = _assertThisInitialize.timeRef;\n if (timeLimit && _this.timeRef) {\n // eslint-disable-next-line\n var pageTimeLimit = function pageTimeLimit() {\n t--;\n timeRef.innerHTML = \"(\".concat(t, \"s)\");\n if (t <= 0) {\n clearInterval(intervalID);\n timeRef.innerHTML = '';\n that.setState({\n intervalID: null\n });\n }\n };\n var intervalID = window.setInterval(pageTimeLimit, 1000);\n _this.setState({\n intervalID: intervalID\n });\n var that = _assertThisInitialized(_assertThisInitialized(_this));\n var t = timeLimit;\n }\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"validateAllWithoutScroll\", function (nextForm) {\n if (nextForm) {\n nextForm.validateFields({\n force: true\n });\n return;\n }\n var form = _this.props.form;\n form.validateFields({\n force: true\n });\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"resetValidateAll\", function (nextForm) {\n if (nextForm) {\n nextForm.resetFields();\n return;\n }\n var form = _this.props.form;\n form.resetFields();\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"submit\", function (fields) {\n if (!_this.props.formRef) return;\n var _this$props2 = _this.props,\n form = _this$props2.form,\n doSubmit = _this$props2.doSubmit;\n var submitStep = [];\n form.validateFields(fields, {\n force: true\n }, /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(error, value) {\n var key, element, submitPromise, hide;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!error) {\n _context.next = 4;\n break;\n }\n _this.setState({\n submitStack: [getLocalText('Content.Form.error.message')]\n });\n try {\n _message.error(getLocalText('Content.Form.error.message')); // '表单验证未通过');\n key = Object.keys(error)[0];\n element = document.getElementById(key);\n element.scrollIntoView();\n document.querySelector('body').scrollTop = element.offsetTop;\n document.querySelector('html').scrollTop = element.offsetTop;\n } catch (error) {\n submitStep.push(error.message);\n }\n return _context.abrupt(\"return\");\n case 4:\n submitPromise = doSubmit(value);\n if (submitPromise) {\n _context.next = 7;\n break;\n }\n return _context.abrupt(\"return\");\n case 7:\n hide = _message.loading(getLocalText('Content.Form.submitting'), 0); // '提交中...'\n _context.next = 10;\n return submitPromise.catch(function (err) {\n submitStep.push(\"submit error: \".concat(err.message || '请求无结果'));\n });\n case 10:\n clearInterval(_this.state.intervalID);\n _this.setState({\n submitStack: submitStep,\n intervalID: null\n });\n hide();\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n return function (_x, _x2) {\n return _ref3.apply(this, arguments);\n };\n }());\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"goBackPage\", function () {\n clearInterval(_this.state.intervalID);\n _this.setState({\n intervalID: null\n });\n if (_this.timeRef) {\n _this.timeRef.innerHTML = '';\n }\n _this.props.backLastPage();\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"emptyAllAnswers\", function () {\n var _this$props3 = _this.props,\n emptyAllAnswers = _this$props3.emptyAllAnswers,\n form = _this$props3.form;\n form.resetFields();\n emptyAllAnswers();\n });\n return _this;\n }\n _createClass(Form, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.handleTimeLimit();\n var _this$props4 = this.props,\n privacy = _this$props4.privacy,\n handleOnRef = _this$props4.handleOnRef;\n handleOnRef(this);\n if ((privacy === null || privacy === void 0 ? void 0 : privacy.replace(htmlReg, '')) && !window.isReport) {\n _Modal.info({\n title: '',\n icon: null,\n width: 800,\n content: React.createElement(\"div\", {\n style: {\n maxHeight: 600,\n overflow: 'auto',\n height: 'auto',\n textAlign: 'initial'\n },\n dangerouslySetInnerHTML: {\n __html: sanitizeHtml(privacy)\n }\n }),\n okText: getLocalText('Content.Form.Ok')\n });\n }\n }\n }, {\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n var quotaStrategy = nextProps.quotaStrategy,\n form = nextProps.form,\n current = nextProps.page.current;\n if (current > this.props.page.current) {\n this.handleTimeLimit(current);\n }\n if (!isEqual(this.props.quotaStrategy, quotaStrategy)) {\n this.validateAllWithoutScroll(form);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.props.handleOnRef(null);\n clearInterval(this.state.intervalID);\n this.setState = function () {\n return false;\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props5 = this.props,\n form = _this$props5.form,\n answers = _this$props5.answers,\n page = _this$props5.page,\n getPageContent = _this$props5.getPageContent,\n hideQuestionNo = _this$props5.hideQuestionNo,\n showQuestionType = _this$props5.showQuestionType,\n hidePageNo = _this$props5.hidePageNo,\n allQuestions = _this$props5.allQuestions,\n showLastPage = _this$props5.showLastPage,\n quotaStrategy = _this$props5.quotaStrategy,\n cipherUrl = _this$props5.cipherUrl;\n var _this$state = this.state,\n submitStack = _this$state.submitStack,\n intervalID = _this$state.intervalID;\n var _getPageContent = getPageContent(),\n no = _getPageContent.no,\n questions = _getPageContent.questions,\n isNextEnd = _getPageContent.isNextEnd;\n var breakPageInfo = questions.shift();\n var fields = questions.map(function (q) {\n return q.id;\n });\n var current = page.current,\n total = page.total;\n var firstQuestionJumpOver = getFirstQuestionJump({\n questions: questions\n });\n return React.createElement(ContentWrap, null, cipherUrl && React.createElement(\"div\", {\n className: \"flex\",\n style: {\n position: 'fixed',\n top: 20,\n right: 20\n }\n }, React.createElement(\"input\", {\n style: {\n opacity: 0,\n position: 'absolute'\n },\n id: \"cipher-span\",\n value: cipherUrl\n }), React.createElement(_Button, {\n type: \"primary\",\n className: \"marginRight10\",\n onClick: function onClick() {\n var el = document.querySelector('#cipher-span');\n el.focus();\n el.select();\n if (document.execCommand('copy')) {\n document.execCommand('copy');\n _message.success(\"\\u94FE\\u63A5\\u590D\\u5236\\u6210\\u529F, \\u53EF\\u76F4\\u63A5\\u53BB\\u5BF9\\u8BDD\\u6846\\u7C98\\u8D34\");\n }\n el.blur();\n }\n }, \"\\u751F\\u6210\"), React.createElement(_Button, {\n onClick: this.emptyAllAnswers\n }, \"\\u6E05\\u7A7A\\u7B54\\u6848\")), (breakPageInfo === null || breakPageInfo === void 0 ? void 0 : breakPageInfo.description) && React.createElement(\"div\", {\n style: {\n padding: '40px 72px 60px 56px',\n background: 'white',\n marginBottom: 16,\n color: 'var(--text-color-secondary)',\n fontWeight: 350,\n display: !breakPageInfo.description ? 'none' : ''\n },\n dangerouslySetInnerHTML: {\n __html: sanitizeHtml(breakPageInfo.description)\n }\n }), React.createElement(\"form\", {\n onSubmit: function onSubmit(e) {\n return e.preventDefault();\n }\n }, questions.reduce(function (_ref4, q) {\n var _ref5 = _slicedToArray(_ref4, 2),\n arr = _ref5[0],\n index = _ref5[1];\n arr.push(React.createElement(Question, {\n hideQuestionNo: hideQuestionNo,\n showQuestionType: showQuestionType,\n quotaStrategy: quotaStrategy === null || quotaStrategy === void 0 ? void 0 : quotaStrategy.find(function (s) {\n return s.questionId === q.id;\n }),\n questions: questions,\n allQuestions: allQuestions,\n answers: answers,\n form: form,\n key: q.id,\n no: index + no + 1,\n question: q,\n answer: answers[q.id]\n }));\n if (q.type === 'description') {\n return [arr, index];\n }\n return [arr, index + 1];\n }, [[], 0])[0]), !window.isReport && !onlyShowContent && React.createElement(React.Fragment, null, !hidePageNo && React.createElement(\"div\", {\n className: \"pageInfo\",\n style: {\n display: total === 1 || current === 1 && firstQuestionJumpOver ? 'none' : ''\n }\n }, current, \"/\", total), React.createElement(\"div\", {\n className: \"flex alignCenter justifyBetween\"\n }, current !== 1 && showLastPage && React.createElement(_Button, {\n size: \"large\",\n onClick: this.goBackPage,\n className: submitBtnCls,\n type: \"primary\"\n }, getLocalText('Content.Form.last.page') || 'Last'), React.createElement(_Button, {\n size: \"large\",\n onClick: function onClick() {\n return _this2.submit(fields);\n },\n className: submitBtnCls,\n disabled: intervalID,\n type: \"primary\"\n }, React.createElement(\"span\", null, page.current === page.total && !isNextEnd ? getLocalText('Content.Form.submit') // '提交'\n : getLocalText('Content.Form.next.page') // '下一页'\n ), React.createElement(\"span\", {\n className: \"marginLeft10\",\n ref: function ref(el) {\n _this2.timeRef = el;\n }\n }))), React.createElement(\"div\", {\n className: \"flex justifyCenter marginTop10 redColor\"\n }, window.showErrorInfoAfterSubmitBtn && submitStack.join('=>'))));\n }\n }]);\n return Form;\n}(Component), _defineProperty(_class2, \"propTypes\", {\n form: formShape\n}), _class2)) || _class);\nvar ContentWrap = /*#__PURE__*/styled(\"section\", {\n target: \"ekqth220\"\n})(\"flex:1 0 auto;padding:0px;form{border:0;padding:0;background:transparent;}.pageInfo{font-size:14px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.5;letter-spacing:0.2px;color:var(--text-color);text-align:center;margin-top:20px;}.ant-select-selection--single{height:48px;display:flex;align-items:center;}.ant-cascader-input{height:48px;background:var(--ant-border);}.ant-form-item-children{display:block;}.ant-cascader-picker:hover .ant-cascader-picker-clear{right:40px;}.ant-radio-group,.ant-radio-wrapper{display:block;color:var(--text-color);.description{margin-top:4px;font-size:12px;font-weight:350;font-stretch:normal;font-style:normal;line-height:1.5;letter-spacing:0.2px;color:var(--text-color-thirdly);}.ant-radio-inner::after{height:6px;width:6px;top:5px;left:5px;}.ant-radio-inner{height:18px;width:18px;top:-1px;}}.ant-radio-wrapper-checked .optionText{font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.5;letter-spacing:0.2px;color:var(--primary-color);}.ant-checkbox-checked .ant-checkbox-inner::after{border:2px solid var(--ant-check-bg);border-top:0;border-left:0;height:9px;width:5px;left:30%;top:8px;transition:none;}.ant-checkbox-inner{height:19px;width:19px;border-radius:2px;background-color:var(--ant-bg);}.ant-checkbox-wrapper-checked:not(.isSingle) .ant-checkbox-inner{background:var(--primary-color);border-radius:2px;border:solid 1px var(--primary-color);transition:none;height:19px;width:19px;margin-right:0;}.ant-checkbox:hover::after,.ant-checkbox-wrapper:hover .ant-checkbox::after{visibility:hidden;}.ant-checkbox-wrapper{font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.5;letter-spacing:0.2px;color:var(--text-color);display:flex;flex-flow:row nowrap;&.ant-checkbox-wrapper-checked{color:var(--primary-color);}.description{margin-top:4px;font-size:12px;font-weight:350;font-stretch:normal;font-style:normal;line-height:1.5;letter-spacing:0.2px;color:var(--text-color-thirdly);}}.ant-upload.ant-upload-drag{border-radius:4px;border:dashed 1px var(--border-gray);background-color:var(--bg-gray);margin-bottom:10px;}.max .ant-upload.ant-upload-drag{display:none;}.ant-form-explain{color:var(--text-red);position:absolute;width:100vw;top:-29px;left:0;z-index:2;padding:0px;transition:none;font-size:12px;line-height:1.5;}.ant-table-small{border:0;.ant-table-row:last-child td{border-bottom:1px solid var(--ant-table-border);}.ant-table-tbody > tr > td{padding:16px 8px !important;font-size:14px;line-height:1.57;}.ant-table-tbody > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td{background:var(--ant-table-hover);}}.optionText{display:flex;flex-flow:row wrap;.ant-input{border-color:var(--ant-border);&:focus,&:hover{border-color:var(--primary-color);}}}.ant-table-thead > tr > th{border-bottom-color:var(--ant-table-border);}.ant-table-tbody > tr > td{border-bottom-color:var(--ant-table-border);}.ant-cascader-picker-arrow{right:20px;}.ant-cascader-picker .ant-input{border-color:var(--ant-border);}.ant-calendar-picker.ant-calendar-picker-large{.ant-input-lg{height:48px;padding:6px 20px;}}.ant-input::-webkit-input-placeholder{font-weight:350;color:var(--text-color-thirdly);}\");\nvar submitBtnCls = /*#__PURE__*/css(\"display:block;width:220px;height:40px;margin-left:auto;margin-top:30px;margin-right:auto;font-weight:normal;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0.2px;color:#ffffff;\");","import React from 'react';\nimport styled from '@emotion/styled';\nimport { Consumer } from '@/store';\nimport footerImg from '@/images/footer-img.png';\nexport default (function () {\n return React.createElement(Consumer, null, function (store) {\n var _store$state = store.state,\n loading = _store$state.loading,\n quest = _store$state.quest;\n if (loading) return 'loading...';\n var _ref = quest || {},\n footer = _ref.footer,\n showFooter = _ref.showFooter,\n _ref$footerType = _ref.footerType,\n footerType = _ref$footerType === void 0 ? 'custom' : _ref$footerType;\n var defaultFooter = React.createElement(\"div\", {\n className: \"default-info\"\n }, React.createElement(\"div\", {\n className: \"title\"\n }, React.createElement(\"img\", {\n src: footerImg\n }), \"\\u5B57\\u8282\\u95EE\\u5377\"), React.createElement(\"div\", {\n className: \"desc\"\n }, \"\\u5B57\\u8282\\u95EE\\u5377 Survey \\u4EC5\\u63D0\\u4F9B\\u6280\\u672F\\u652F\\u6301\"));\n return React.createElement(React.Fragment, null, !window.isReport && (showFooter || showFooter == undefined) && React.createElement(Footer, {\n dir: window.dir\n }, footerType === 'custom' ? React.createElement(\"p\", {\n className: \"footer-info\"\n }, footer || '') : defaultFooter));\n });\n});\nvar Footer = /*#__PURE__*/styled(\"footer\", {\n target: \"e1i236tb0\"\n})(\"text-align:center;margin-top:170px;.page-indicator{color:#666;}.footer-info{color:var(--text-color);text-shadow:0 2px 2px #fff;}.default-info{padding:24px 0;.title{display:flex;align-items:center;justify-content:center;font-weight:500;font-size:13px;color:var(--text-color);img{margin-right:4px;width:16px;}}.desc{margin-top:8px;font-weight:400;font-size:12px;color:rgba(22,24,35,0.34);}}\");","import _ConfigProvider from \"antd/es/config-provider\";\nimport _Button from \"antd/es/button\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport React, { Component } from 'react';\nimport enUS from 'antd/lib/locale-provider/en_US';\nimport zhCN from 'antd/lib/locale-provider/zh_CN';\nimport HTML5Backend from 'react-dnd-html5-backend';\nimport styled from '@emotion/styled';\nimport { css, keyframes } from 'emotion';\nimport { DndProvider } from 'react-dnd';\nimport { _argus_decode } from '@ies/argus-decode';\nimport Loading from '../Loading';\nimport Header from './Header';\nimport LanguagePC from '../common/LanguagePC';\nimport Content from './Content';\nimport Footer from './Footer';\nimport { traceClickAdv } from '@/tracer';\nimport { Consumer } from '@/store';\nvar tcpyConfig = require('../../../tcpy-conf.json').TTP;\nvar _ref2 = \"background:var(--page-bg);\";\nvar _ref3 = \"flex:1 0 auto;\";\nvar Layout = /*#__PURE__*/function (_Component) {\n _inherits(Layout, _Component);\n function Layout() {\n _classCallCheck(this, Layout);\n return _possibleConstructorReturn(this, _getPrototypeOf(Layout).apply(this, arguments));\n }\n _createClass(Layout, [{\n key: \"renderMessage\",\n value: function renderMessage(msg, showLottery) {\n var url = window.location.href;\n return React.createElement(Container, {\n className: msgMainCls(showLottery)\n }, React.createElement(\"div\", {\n className: msgInner(window.innerWidth, !showLottery && /bytedance/.test(url) ? 180 : 0, null, showLottery)\n }, msg.description), !showLottery && /bytedance|127.0.0.1/.test(url) && !/preview/.test(url) && React.createElement(\"div\", {\n className: banner\n }, React.createElement(\"div\", {\n className: \"inner\"\n }, React.createElement(\"div\", null, React.createElement(\"div\", {\n className: \"border\"\n }), React.createElement(\"p\", {\n className: \"title\"\n }, \"\\u5B57\\u8282\\u95EE\\u5377 \\xB7 ByteSurvey\"), React.createElement(\"p\", null, \"\\u8BBE\\u8BA1\\u3001\\u6295\\u653E\\u3001\\u5206\\u6790\\uFF0C\\u4E00\\u7AD9\\u5F0F\\u4E13\\u4E1A\\u8C03\\u7814\\u670D\\u52A1\")), React.createElement(\"div\", null, React.createElement(\"img\", {\n className: \"fake\",\n src: \"http://\".concat(tcpyConfig.cdn.dpPublicPrefix, \"/obj/static/dp/fe_static/image/survey/finish_banner.png\"),\n alt: \"demo\",\n loading: \"lazy\"\n }), React.createElement(\"img\", {\n src: \"http://\".concat(tcpyConfig.cdn.dpPublicPrefix, \"/obj/static/dp/fe_static/image/survey/finish_banner.png\"),\n alt: \"demo\",\n loading: \"lazy\"\n })), React.createElement(_Button, {\n className: \"start\",\n onClick: function onClick() {\n traceClickAdv();\n setTimeout(function () {\n window.location.href = \"\".concat(_argus_decode(\"W$$o%01HTkl%$FpNZ$RscldWaFNhRXh0%2pWa1IxWnJX$mMx-Wxw$E5-$mFXRkpvWTIxa01XTjNQ$DA9\"), \"/survey/guide\");\n }, 300);\n },\n onMouseEnter: function onMouseEnter(e) {\n e.preventDefault();\n e.target.classList.add('animate');\n },\n onMouseLeave: function onMouseLeave(e) {\n e.preventDefault();\n e.target.classList.remove('animate');\n }\n }, \"\\u524D\\u5F80\\u521B\\u5EFA \\xB7 GO\"))));\n }\n }, {\n key: \"renderLayout\",\n value: function renderLayout(quest) {\n var _ref = quest || {},\n _ref$background = _ref.background,\n background = _ref$background === void 0 ? {} : _ref$background,\n canSelectLanguage = _ref.canSelectLanguage,\n answerAfterSelectLanguage = _ref.answerAfterSelectLanguage,\n multiLanguage = _ref.multiLanguage,\n _ref$multiLngList = _ref.multiLngList,\n multiLngList = _ref$multiLngList === void 0 ? [] : _ref$multiLngList;\n var mainCls = /*#__PURE__*/css(_ref2);\n return React.createElement(Container, {\n className: mainCls,\n id: \"pcContainer\"\n }, React.createElement(Page, null, React.createElement(Header, null), (canSelectLanguage || answerAfterSelectLanguage) && multiLanguage && multiLngList.length > 1 && React.createElement(LanguagePC, null), React.createElement(\"div\", {\n className: /*#__PURE__*/\n /*#__PURE__*/\n css(_ref3)\n }, React.createElement(Content, null)), React.createElement(Footer, null)));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this = this;\n return React.createElement(Consumer, null, function (store) {\n var _store$state = store.state,\n loading = _store$state.loading,\n msg = _store$state.msg,\n quest = _store$state.quest,\n showLottery = _store$state.showLottery;\n if (loading) return React.createElement(Loading, {\n show: loading\n });\n return React.createElement(_ConfigProvider, {\n locale: window.language === 'en' ? enUS : quest && quest.language !== 'cn' ? enUS : zhCN\n }, React.createElement(React.Fragment, null, React.createElement(Loading, {\n show: loading\n }), React.createElement(DndProvider, {\n backend: HTML5Backend\n }, msg ? _this.renderMessage(msg, showLottery) : _this.renderLayout(quest))));\n });\n }\n }]);\n return Layout;\n}(Component);\nexport { Layout as default };\nexport var Container = /*#__PURE__*/styled(\"section\", {\n target: \"eos1v2s0\"\n})(\"width:100%;word-break:normal;min-height:100vh;overflow:hidden;*:not(input):not(textarea){user-select:none;}video{max-width:600px;}p{min-height:20px;margin:0px;line-height:1.5;}.ant-checkbox-checked:after{height:auto;animation:auto;}.ant-radio-checked:after{height:auto;animation:auto;border:0;}.ant-table-thead > tr > th,.ant-table-tbody > tr > td{word-break:normal;}.ant-select-dropdown-menu-item{font-size:14px;padding:8.5px 20px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.5;letter-spacing:0.2px;color:var(--text-color);background-color:var(--ant-bg);}.ant-select-dropdown-menu-item{height:48px;padding:8.5px 20px;div{height:100%;width:100%;display:flex;align-items:center;}}.ant-select-dropdown-menu-item-active{background-color:rgba(58,113,243,0.06);}.ant-select-dropdown-menu-item-selected{color:var(--primary-color);background-color:rgba(58,113,243,0.06);height:48px;}.ant-select-open .ant-select-selection{box-shadow:0 0 0 1px rgba(49,94,251,0.2);}.ant-select-selection:focus{box-shadow:0 0 0 1px rgba(49,94,251,0.2);}.ant-input:focus{box-shadow:0 0 0 2px rgba(49,94,251,0.2);}.has-error .ant-input:focus{box-shadow:0 0 0 2px rgba(255,0,0,0.2);}.ant-cascader-picker-label{padding:0 20px;}.ant-cascader-input.ant-input{padding:4px 20px;}.ant-select-selection{border:1px solid var(--border-gray);}.ant-result-title{font-size:20px;.score{padding-top:4px;}}#analysisBox{background:var(--question-bg);min-height:600px;}#endingBox{background:var(--question-bg);height:100%;min-height:calc(100vh - 260px);overflow:auto;.ant-result{height:100%;overflow:auto;}.ant-result-icon{margin-bottom:36px;color:var(--primary-color) !important;}.ant-result-title{font-size:20px;font-weight:500;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0.2px;color:var(--text-color);margin-bottom:20px;}.linkBtn{width:220px;height:40px;border-radius:4px;background-color:var(--primary-color);color:white;margin:20px auto;&:hover{opacity:80%;}}}.ant-upload.ant-upload-select-picture-card{border:0;height:100px;width:100px;background:var(--ant-entity-bg);border:1px solid var(--ant-entity-border);border-radius:2px;overflow:hidden;.anticon-plus svg{height:32px;width:32px;color:#c0c6cf;}}.ant-btn-lg{border-radius:2px;border-color:var(--primary-color);}.ant-upload-list-picture-card .ant-upload-list-item{height:100px;width:100px;overflow:hidden;padding:0;display:flex;align-items:center;border-radius:2px;flex-direction:column;border:0;background:var(--bg-gray);}.ant-progress-success-bg,.ant-progress-bg{height:10px !important;border-radius:5px;background:var(--primary-color);}.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info{display:none;}.ant-upload-list-picture-card .ant-upload-list-item-progress{bottom:13px;}.ant-upload-list-picture-card .ant-upload-list-item-info::before{background-color:transparent;}.ant-upload-list-picture-card .ant-upload-list-item-actions{opacity:1;top:2px;right:2px;left:auto;transform:none;a,.anticon-download{display:none;}.anticon-delete{*{display:none;}display:block;height:24px;width:24px;margin:0;background-repeat:no-repeat;background-size:cover;background-image:url('data:image/png;base64,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');}}.ant-select-arrow{right:20px;}.ant-select-selection--single .ant-select-selection__rendered{margin-left:20px;}\");\nvar Page = /*#__PURE__*/styled(\"div\", {\n target: \"eos1v2s1\"\n})(\"display:flex;flex-direction:column;max-width:\", window.innerWidth > 1440 ? 960 : 800, \"px;margin:0px auto;.header{background:transparent;}.footer-info{margin-top:100px;margin-bottom:32px;}\");\nvar _ref4 = \"background:var(--page-bg);background-position:center;background-repeat:no-repeat;background-size:cover;\";\nexport var msgMainCls = function msgMainCls(showLottery) {\n return /*#__PURE__*/css(_ref4, showLottery && \"height: 100vh\");\n};\nvar _ref5 = \" \";\nvar _ref6 = \";\";\nexport var msgInner = function msgInner(width) {\n var mb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var type = arguments.length > 2 ? arguments[2] : undefined;\n var showLottery = arguments.length > 3 ? arguments[3] : undefined;\n return /*#__PURE__*/css(showLottery ? \"width: 100%;height: 100%;\" : \"width: \".concat(width > 1440 ? 960 : width - 200, \"px;min-height: calc(100vh - 260px);\"), _ref5, type && type === 'submitted' ? 'position: absolute;left: 50%;top: 50%;transform: translate(-50%,-50%);' : showLottery ? \"margin: 0;\" : \"margin: 80px auto \".concat(mb, \"px;\"), _ref6);\n};\nvar bounce = /*#__PURE__*/keyframes(\"from,20%,53%,80%,to{transform:translate3d(0,0,0);}40%,43%{transform:translate3d(0,-30px,0);}70%{transform:translate3d(0,-15px,0);}90%{transform:translate3d(0,-4px,0);}\");\nvar bottomBubbles = /*#__PURE__*/keyframes(\"0%{background-position:10% -10%,30% 10%,55% -10%,70% -10%,85% -10%,70% -10%,70% 0%;}50%{background-position:0% 80%,20% 80%,45% 60%,60% 100%,75% 70%,95% 60%,105% 0%;}100%{background-position:0% 90%,20% 90%,45% 70%,60% 110%,75% 80%,95% 70%,110% 10%;background-size:0% 0%,0% 0%,0% 0%,0% 0%,0% 0%,0% 0%;}\");\nvar banner = /*#__PURE__*/css(\"background:var(--primary-color);height:110px;overflow:hidden;width:100%;position:fixed;bottom:0;color:#ffffff;font-size:13px;font-weight:300;display:flex;justify-content:center;align-items:center;.inner{width:1000px;display:flex;justify-content:space-between;align-items:center;height:100%;.border{border:1px solid #fff;border-radius:50%;border-block-end:none;width:200px;height:40px;position:absolute;transform:rotate3d(1,1,0.8,35deg);&:after{content:'';width:6.5px;height:6.5px;border-radius:50%;position:absolute;top:1px;left:27px;background-color:#fff;}}.title{font-size:22px;font-weight:420;}img{width:250px;transform:rotate3d(1,0.5,0.66,-80deg);margin-top:42px;&.fake{filter:blur(5px) brightness(90%) opacity(0.85);position:absolute;top:-100px;left:41%;}}button{animation:\", bounce, \" 1s ease;&:focus{outline:0;}&:after{position:absolute;content:'';display:block;width:140%;height:100%;left:-20%;z-index:-1000;transition:all ease-in-out 0.5s;background-repeat:no-repeat;}&:after{display:none;bottom:-75%;background-image:radial-gradient(circle,#fff 20%,transparent 20%),radial-gradient(circle,#fff 20%,transparent 20%),radial-gradient(circle,transparent 10%,#fff 15%,transparent 20%),radial-gradient(circle,#fff 20%,transparent 20%),radial-gradient(circle,#fff 20%,transparent 20%),radial-gradient(circle,#fff 20%,transparent 20%),radial-gradient(circle,#fff 20%,transparent 20%);background-size:15% 15%,20% 20%,18% 18%,20% 20%,15% 15%,10% 10%,20% 20%;}&:active{transform:scale(0.9);background-color:darken(#fff,5%);box-shadow:0 2px 25px rgba(255,0,130,0.2);}&.animate{&:after{display:block;animation:\", bottomBubbles, \" ease-in-out 0.75s infinite;}}}}\");","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport React, { Component } from 'react';\nimport { Container, msgMainCls, msgInner } from './Layout';\nimport { Consumer } from '@/store';\nimport { getLocalText } from '@/utilities/language';\nimport Ending from '@/components/Ending';\nimport Loading from '../Loading';\nvar Submitted = /*#__PURE__*/function (_Component) {\n _inherits(Submitted, _Component);\n function Submitted() {\n _classCallCheck(this, Submitted);\n return _possibleConstructorReturn(this, _getPrototypeOf(Submitted).apply(this, arguments));\n }\n _createClass(Submitted, [{\n key: \"renderMessage\",\n value: function renderMessage(msg, realPrompt) {\n return React.createElement(Container, {\n className: msgMainCls\n }, React.createElement(\"div\", {\n className: msgInner(window.innerWidth, 0, 'submitted')\n }, msg ? msg.description : React.createElement(Ending, {\n title: getLocalText('error.submitted'),\n type: \"warning\",\n res: \"\",\n realPrompt: realPrompt || null,\n finishImgScale: null,\n finishImgUrl: null\n })));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this = this;\n return React.createElement(Consumer, null, function (store) {\n var _store$state = store.state,\n loading = _store$state.loading,\n msg = _store$state.msg,\n realPrompt = _store$state.realPrompt;\n if (loading) return React.createElement(Loading, {\n show: loading\n });\n return React.createElement(React.Fragment, null, React.createElement(Loading, {\n show: loading\n }), _this.renderMessage(msg, realPrompt));\n });\n }\n }]);\n return Submitted;\n}(Component);\nexport { Submitted as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport React, { Component } from 'react';\nimport { css } from 'emotion';\nvar StateInfo = /*#__PURE__*/function (_Component) {\n _inherits(StateInfo, _Component);\n function StateInfo(props) {\n _classCallCheck(this, StateInfo);\n return _possibleConstructorReturn(this, _getPrototypeOf(StateInfo).call(this, props));\n }\n _createClass(StateInfo, [{\n key: \"render\",\n value: function render() {\n return React.createElement(\"div\", {\n className: stateModalContCls\n }, React.createElement(\"div\", {\n className: \"title\"\n }, \"\\u300A\\u4E2A\\u4EBA\\u4FE1\\u606F\\u6388\\u6743\\u58F0\\u660E\\u300B\"), React.createElement(\"div\", {\n className: \"desc\"\n }, \"\\u6211\\u4EEC\\u975E\\u5E38\\u91CD\\u89C6\\u7528\\u6237\\u4FE1\\u606F\\u7684\\u4FDD\\u62A4\\u3002\\u5728\\u60A8\\u586B\\u5199\\u5956\\u54C1\\u90AE\\u5BC4\\u4FE1\\u606F\\u65F6\\uFF0C\\u6211\\u4EEC\\u4F1A\\u6536\\u96C6\\u548C\\u4F7F\\u7528\\u60A8\\u7684\\u76F8\\u5173\\u4FE1\\u606F\\u3002\\u6211\\u4EEC\\u5E0C\\u671B\\u901A\\u8FC7\\u672C\\u58F0\\u660E\\u5411\\u60A8\\u8BF4\\u660E\\uFF0C\\u6211\\u4EEC\\u5982\\u4F55\\u6536\\u96C6\\u3001\\u4F7F\\u7528\\u3001\\u5B58\\u50A8\\u3001\\u4FDD\\u62A4\\u8FD9\\u4E9B\\u4FE1\\u606F\\u3002\", React.createElement(\"span\", {\n style: {\n fontWeight: 500,\n color: '#161823'\n }\n }, \"\\u5728\\u586B\\u5199\\u672C\\u95EE\\u5377\\u76F8\\u5173\\u4FE1\\u606F\\u524D\\uFF0C\\u8BF7\\u60A8\\u52A1\\u5FC5\\u4ED4\\u7EC6\\u9605\\u8BFB\\u672C\\u58F0\\u660E\\u3002\\u60A8\\u4E00\\u65E6\\u4E3B\\u52A8\\u5728\\u76F8\\u5E94\\u9875\\u9762\\u63D0\\u4EA4\\u4FE1\\u606F\\uFF0C\\u5373\\u610F\\u5473\\u7740\\u60A8\\u540C\\u610F\\u6211\\u4EEC\\u6309\\u7167\\u672C\\u58F0\\u660E\\u6536\\u96C6\\u3001\\u4F7F\\u7528\\u60A8\\u7684\\u59D3\\u540D\\u3001\\u8054\\u7CFB\\u65B9\\u5F0F\\u3001\\u5730\\u5740\\u4FE1\\u606F\\u5E76\\u540C\\u610F\\u7B7E\\u7F72\\u672C\\u300A\\u4E2A\\u4EBA\\u4FE1\\u606F\\u53D7\\u6743\\u58F0\\u660E\\u300B\")), React.createElement(\"div\", {\n style: {\n fontWeight: 500,\n color: '#161823'\n }\n }, \"\\u4E00\\u3001\\u4E2A\\u4EBA\\u4FE1\\u606F\\u7684\\u6536\\u96C6\\u548C\\u4F7F\\u7528\"), React.createElement(\"div\", null, \"1\\u3001\\u6211\\u4EEC\\u63D0\\u4F9B\\u670D\\u52A1\\u65F6\\uFF0C\\u53EF\\u80FD\\u4F1A\\u6536\\u96C6\\u3001\\u50A8\\u5B58\\u548C\\u4F7F\\u7528\\u4E0B\\u5217\\u4E0E\\u60A8\\u6709\\u5173\\u7684\\u8FD9\\u4E9B\\u4FE1\\u606F\\uFF1A\\u60A8\\u5728\\u95EE\\u5377\\u62BD\\u5956\\u9875\\u9762\\u4E0A\\u4E3B\\u52A8\\u8F93\\u5165\\u7684\\u59D3\\u540D\\u3001\\u8054\\u7CFB\\u65B9\\u5F0F\\u3001\\u5730\\u5740\\uFF0C\\u4EE5\\u4FBF\\u4E8E\\u6211\\u4EEC\\u8FDB\\u884C\\u5956\\u54C1\\u53D1\\u653E\\u3002\"), React.createElement(\"div\", null, \"2\\u3001\\u60A8\\u9700\\u8981\\u6CE8\\u610F\\u7684\\u662F\\uFF1A\\u4EE5\\u4E0A\\u4E2A\\u4EBA\\u4FE1\\u606F\\u5747\\u662F\\u60A8\\u81EA\\u613F\\u63D0\\u4F9B\\uFF0C\\u60A8\\u6709\\u6743\\u62D2\\u7EDD\\u63D0\\u4F9B\\uFF0C\\u4F46\\u5982\\u679C\\u60A8\\u4E0D\\u63D0\\u4F9B\\u76F8\\u5173\\u4FE1\\u606F\\u6216\\u8005\\u63D0\\u4F9B\\u7684\\u4FE1\\u606F\\u5E76\\u975E\\u771F\\u5B9E\\u6709\\u6548\\u7684\\u4FE1\\u606F\\uFF0C\\u53EF\\u80FD\\u65E0\\u6CD5\\u53C2\\u4E0E\\u672C\\u6B21\\u5956\\u54C1\\u8D60\\u4E0E\\u6D3B\\u52A8\\u3002\"), React.createElement(\"div\", null, \"3\\u3001\\u6211\\u4EEC\\u5C06\\u4E25\\u683C\\u4FDD\\u62A4\\u60A8\\u7684\\u4E2A\\u4EBA\\u4FE1\\u606F\\u5B89\\u5168\\u3002\\u6211\\u4EEC\\u5C06\\u91C7\\u7528\\u9002\\u5F53\\u5236\\u5EA6\\u3001\\u5B89\\u5168\\u6280\\u672F\\u548C\\u7A0B\\u5E8F\\u7B49\\u63AA\\u65BD\\u6765\\u4FDD\\u62A4\\u60A8\\u7684\\u4E2A\\u4EBA\\u4FE1\\u606F\\u4E0D\\u88AB\\u672A\\u7ECF\\u6388\\u6743\\u7684\\u8BBF\\u95EE\\u3001\\u4F7F\\u7528\\u6216\\u6CC4\\u6F0F\\u3002\\u6211\\u4EEC\\u4EA6\\u5C06\\u4FC3\\u4F7F\\u672C\\u58F0\\u660E\\u6240\\u8FF0\\u5404\\u63A5\\u6536\\u548C\\u4F7F\\u7528\\u65B9\\u5C3D\\u529B\\u4FDD\\u62A4\\u548C\\u4E0D\\u4E88\\u6CC4\\u9732\\u60A8\\u7684\\u4E2A\\u4EBA\\u4FE1\\u606F\\u3002\"), React.createElement(\"div\", null, \"4\\u3001\\u6211\\u4EEC\\u4F1A\\u4E25\\u683C\\u8981\\u6C42\\u4E0A\\u8FF0\\u4E2A\\u4EBA\\u4FE1\\u606F\\u7684\\u63A5\\u6536\\u65B9\\u548C/\\u6216\\u4F7F\\u7528\\u65B9\\u5E94\\u9075\\u5FAA\\u672C\\u58F0\\u660E\\u8C28\\u614E\\u8FDB\\u884C\\u6570\\u636E\\u7684\\u4F7F\\u7528\\u3002\\u5982\\u8D85\\u8D8A\\u672C\\u58F0\\u660E\\u8303\\u56F4\\uFF0C\\u63A5\\u6536\\u65B9\\u548C/\\u6216\\u4F7F\\u7528\\u65B9\\u5E94\\u5F53\\u53E6\\u884C\\u5F81\\u5F97\\u60A8\\u7684\\u6388\\u6743\\u540C\\u610F\\uFF0C\\u82E5\\u56E0\\u5176\\u672A\\u83B7\\u5F97\\u60A8\\u7684\\u6388\\u6743\\u540C\\u610F\\u81F4\\u4F7F\\u7528\\u6237\\u5408\\u6CD5\\u6743\\u76CA\\u53D7\\u5230\\u4FB5\\u5BB3\\u7684\\uFF0C\\u8BE5\\u4FE1\\u606F\\u63A5\\u6536\\u548C/\\u6216\\u4F7F\\u7528\\u65B9\\u5E94\\u627F\\u62C5\\u76F8\\u5E94\\u7684\\u6CD5\\u5F8B\\u8D23\\u4EFB\\u3002\", ' '), React.createElement(\"div\", null, \"5\\u3001\\u5982\\u679C\\u60A8\\u9700\\u8981\\u67E5\\u8BE2\\u3001\\u4FEE\\u6539\\u6216\\u66F4\\u6B63\\u60A8\\u7684\\u4E2A\\u4EBA\\u4FE1\\u606F\\uFF0C\\u6216\\u5BF9\\u4E2A\\u4EBA\\u4FE1\\u606F\\u4FDD\\u62A4\\u95EE\\u9898\\u6709\\u4EFB\\u4F55\\u7591\\u95EE\\u6216\\u6295\\u8BC9\\uFF0C\\u60A8\\u53EF\\u4EE5\\u5728\\\"\\u53CD\\u9988\\u4E0E\\u5E2E\\u52A9\\\"\\u4E2D\\u8054\\u7CFB\\u6211\\u4EEC\\u3002\", ' '), React.createElement(\"div\", {\n style: {\n fontWeight: 500,\n color: '#161823'\n }\n }, \"\\u4E8C\\u3001\\u672A\\u6210\\u5E74\\u4EBA\\u4FE1\\u606F\\u7684\\u7279\\u6B8A\\u4FDD\\u62A4\"), React.createElement(\"div\", {\n style: {\n fontWeight: 500,\n color: '#161823'\n }\n }, \"\\u5BF9\\u4E8E\\u4E0D\\u6EE1 18 \\u5468\\u5C81\\u7684\\u7528\\u6237\\uFF0C\\u987B\\u4E0E\\u5176\\u6CD5\\u5B9A\\u76D1\\u62A4\\u4EBA\\u4E00\\u540C\\u9605\\u8BFB\\u3001\\u7406\\u89E3\\u672C\\u58F0\\u660E\\u5E76\\u4E14\\u7ECF\\u76D1\\u62A4\\u4EBA\\u540C\\u610F\\u8BB8\\u53EF\\u7684\\u60C5\\u51B5\\u4E0B\\u63D0\\u4EA4\\u4E2A\\u4EBA\\u4FE1\\u606F\\u3002\"), React.createElement(\"div\", {\n style: {\n fontWeight: 500,\n color: '#161823'\n }\n }, \"\\u4E09\\u3001\\u9002\\u7528\\u6CD5\\u5F8B\"), React.createElement(\"div\", null, \"1\\u3001\\u672C\\u58F0\\u660E\\u9002\\u7528\\u6CD5\\u5F8B\\u3002\"), React.createElement(\"div\", {\n style: {\n fontWeight: 500,\n color: '#161823'\n }\n }, \"\\u56DB\\u3001\\u53D8\\u66F4\"), React.createElement(\"div\", null, \"\\u6211\\u4EEC\\u4F1A\\u9002\\u65F6\\u5BF9\\u672C\\u58F0\\u660E\\u8FDB\\u884C\\u4FEE\\u8BA2\\uFF0C\\u8BE5\\u7B49\\u4FEE\\u8BA2\\u6784\\u6210\\u672C\\u58F0\\u660E\\u7684\\u4E00\\u90E8\\u5206\\u3002\\u672C\\u516C\\u53F8\\u4F1A\\u5C06\\u4FEE\\u6539\\u540E\\u7684\\u58F0\\u660E\\u4E88\\u4EE5\\u53D1\\u5E03\\u3002\\u5728\\u8BE5\\u79CD\\u60C5\\u51B5\\u4E0B\\uFF0C\\u82E5\\u60A8\\u7EE7\\u7EED\\u4F7F\\u7528\\u6211\\u4EEC\\u7684\\u670D\\u52A1\\uFF0C\\u5373\\u8868\\u793A\\u540C\\u610F\\u63A5\\u53D7\\u7ECF\\u4FEE\\u8BA2\\u7684\\u58F0\\u660E\\u7684\\u7EA6\\u675F\\u3002\"));\n }\n }]);\n return StateInfo;\n}(Component);\nexport { StateInfo as default };\nvar stateModalContCls = /*#__PURE__*/css(\"width:60%;margin:0 auto;padding:80px 16px 40px;line-height:24px;color:rgba(22,24,35,0.75);font-size:16px;.title{padding:18px 0;font-weight:500;font-size:24px;color:#161823;}img{width:28px;position:absolute;top:16px;right:16px;}div{margin-bottom:16px;}\");","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport { HashRouter, Switch, Route } from 'react-router-dom';\nimport App from '@/App';\nimport Layout from '@/components/pc/Layout';\nimport Submitted from '@/components/pc/Submitted';\nimport StateInfo from '@/components/pc/Lottery/StateInfo';\nimport './index.less';\nvar Root = /*#__PURE__*/function (_Component) {\n _inherits(Root, _Component);\n function Root() {\n _classCallCheck(this, Root);\n return _possibleConstructorReturn(this, _getPrototypeOf(Root).apply(this, arguments));\n }\n _createClass(Root, [{\n key: \"render\",\n value: function render() {\n var _videoStyle;\n var videoStyle = (_videoStyle = {\n width: 'fit-content'\n }, _defineProperty(_videoStyle, \"width\", '-webkit-fill-available'), _defineProperty(_videoStyle, \"maxHeight\", '80vh'), _videoStyle);\n return React.createElement(HashRouter, null, React.createElement(Switch, null, React.createElement(Route, {\n exact: true,\n path: \"/submitted\",\n component: function component() {\n return React.createElement(App, {\n videoStyle: videoStyle\n }, React.createElement(Submitted, null));\n }\n }), React.createElement(Route, {\n exact: true,\n path: \"/info\",\n component: function component() {\n return React.createElement(App, {\n videoStyle: videoStyle\n }, React.createElement(StateInfo, null));\n }\n }), React.createElement(Route, {\n path: \"/\",\n component: function component() {\n return React.createElement(App, {\n videoStyle: videoStyle\n }, React.createElement(Layout, null));\n }\n })));\n }\n }]);\n return Root;\n}(Component);\nReactDOM.render(React.createElement(Root, null), document.getElementById('root'));","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport React from 'react';\nimport { cx, css } from 'emotion';\nimport styled from '@emotion/styled';\nimport PCSlider from '../../pc/Question/MaterialUI/Slider';\nimport MobileSlider from '../../mobile/Question/MaterialUI/Slider';\nimport IconFont from '@/components/common/IconFont';\nimport emojiImg1 from '@/images/emoji-1.png';\nimport emojiImg2 from '@/images/emoji-2.png';\nimport emojiImg3 from '@/images/emoji-3.png';\nimport emojiImg4 from '@/images/emoji-4.png';\nimport emojiImg5 from '@/images/emoji-5.png';\nimport emojiGrayImg1 from '@/images/emoji-1-gray.png';\nimport emojiGrayImg2 from '@/images/emoji-2-gray.png';\nimport emojiGrayImg3 from '@/images/emoji-3-gray.png';\nimport emojiGrayImg4 from '@/images/emoji-4-gray.png';\nimport emojiGrayImg5 from '@/images/emoji-5-gray.png';\nexport default function NewScale(props) {\n var marks = props.marks,\n onChange = props.onChange,\n selected = props.selected,\n min = props.min,\n max = props.max,\n styleType = props.styleType,\n question = props.question,\n _props$descriptionTyp = props.descriptionType,\n descriptionType = _props$descriptionTyp === void 0 ? 'top' : _props$descriptionTyp,\n _props$style = props.style,\n style = _props$style === void 0 ? {} : _props$style,\n _props$device = props.device,\n device = _props$device === void 0 ? 'pc' : _props$device;\n var maxNum = max.num;\n var minNum = min.num;\n var marksStyle = styleType === 'slider' ? {\n position: 'relative',\n width: device === 'pc' ? '82%' : '86%',\n marginLeft: device === 'pc' ? '9%' : '7%',\n overflow: 'inherit'\n } : {};\n return React.createElement(ScaleBox, {\n style: style\n }, React.createElement(\"div\", {\n className: \"flex overflowHidden justifyAround topMarks\",\n style: _objectSpread({\n margin: '0 0 12px'\n }, marksStyle)\n }, Object.keys(marks).sort(function (a, b) {\n return a - b;\n }).map(function (key, i) {\n var flex = '1 1 10%';\n var textAlign = 'center';\n var alignItems = 'center';\n if (marks[key]) {\n return React.createElement(React.Fragment, null, React.createElement(Labels, {\n key: key,\n onClick: function onClick() {\n return onChange(key);\n },\n style: {\n flex: flex,\n textAlign: textAlign,\n wordWrap: 'word-break',\n alignItems: alignItems,\n position: styleType === 'slider' && 'absolute',\n left: styleType === 'slider' && \"\".concat(100 / (maxNum - minNum) * i, \"%\"),\n transform: styleType === 'slider' && 'translateX(-50%)',\n width: styleType === 'slider' && \"\".concat(100 / (maxNum - minNum + 1), \"%\"),\n color: styleType === 'slider' && Number(selected) >= Number(key) && 'var(--primary-color)'\n },\n className: \"flex1 columnFlex justifyBetween pointer no-touch\"\n }, descriptionType === 'top' ? marks[key] : key || ''), styleType === 'slider' && React.createElement(Labels, {\n key: key + i,\n style: {\n flex: flex,\n textAlign: textAlign,\n wordWrap: 'word-break',\n alignItems: alignItems,\n opacity: 0,\n width: 0\n },\n className: \"flex1 columnFlex justifyBetween pointer no-touch\"\n }, descriptionType === 'top' ? marks[key] : key || ''));\n }\n return React.createElement(\"div\", {\n key: key,\n className: \"flex1\",\n style: {\n margin: 0,\n flex: flex\n }\n });\n })), styleType === 'point' && React.createElement(Points, {\n selected: selected,\n onChange: onChange,\n marks: marks\n }), styleType === 'nps' && React.createElement(Nps, {\n selected: selected,\n onChange: onChange,\n marks: marks,\n device: device\n }), styleType === 'emoji' && React.createElement(Emoji, {\n selected: selected,\n onChange: onChange,\n marks: marks,\n device: device\n }), styleType === 'star' && React.createElement(Points, {\n selected: selected,\n onChange: onChange,\n marks: marks,\n styleType: \"star\"\n }), styleType === 'slider' && (device === 'pc' ? React.createElement(PCSlider, {\n selected: selected,\n onChange: onChange,\n marks: marks,\n min: min.num,\n max: max.num,\n id: question.id,\n marksTop: descriptionType === 'top'\n }) : React.createElement(MobileSlider, {\n selected: selected,\n onChange: onChange,\n marks: marks,\n min: min.num,\n max: max.num,\n id: question.id,\n marksTop: descriptionType === 'top'\n })), descriptionType === 'down' && React.createElement(\"div\", {\n className: \"bottomMarks\"\n }, Object.keys(marks).filter(function (key) {\n return !!marks[key];\n }).sort(function (a, b) {\n return a - b;\n }).map(function (key) {\n return React.createElement(\"div\", {\n key: key,\n className: \"flex alignCenter\"\n }, React.createElement(\"div\", {\n className: \"number\"\n }, key), React.createElement(\"span\", null, marks[key]));\n })));\n}\nexport function Nps(props) {\n var marks = props.marks,\n selected = props.selected,\n onChange = props.onChange,\n device = props.device;\n return React.createElement(NpsSquare, {\n device: device\n }, Object.keys(marks).sort(function (a, b) {\n return a - b;\n }).map(function (key, i) {\n return React.createElement(\"div\", {\n key: key,\n className: cx(Number(selected) >= Number(key) && 'selected', 'number'),\n onClick: function onClick() {\n return onChange(key);\n }\n }, React.createElement(\"div\", {\n className: \"nps-item\"\n }, i), React.createElement(\"div\", {\n className: \"number-tips\"\n }));\n }));\n}\nexport function Emoji(props) {\n var marks = props.marks,\n selected = props.selected,\n onChange = props.onChange,\n device = props.device;\n var emojiOptions = {\n 1: emojiImg1,\n 2: emojiImg2,\n 3: emojiImg3,\n 4: emojiImg4,\n 5: emojiImg5\n };\n var emojiGrayOptions = {\n 1: emojiGrayImg1,\n 2: emojiGrayImg2,\n 3: emojiGrayImg3,\n 4: emojiGrayImg4,\n 5: emojiGrayImg5\n };\n return React.createElement(\"div\", {\n className: emojiRateCls\n }, React.createElement(\"div\", {\n className: \"emoji-rate-faces\"\n }, Object.keys(marks).sort(function (a, b) {\n return a - b;\n }).map(function (key, i) {\n return React.createElement(\"div\", {\n key: key,\n className: \"emoji-rate-face\",\n onClick: function onClick() {\n return onChange(key);\n }\n }, React.createElement(\"img\", {\n src: emojiOptions[i + 1],\n style: {\n opacity: String(selected) === String(key) ? 1 : 0,\n position: 'absolute',\n // top: device === 'mobile' ? 0 : '5px',\n top: 0,\n left: 0\n }\n }), React.createElement(\"img\", {\n src: emojiGrayOptions[i + 1],\n style: {\n opacity: String(selected) === String(key) ? 0 : 1\n }\n }));\n })));\n}\nexport function Points(props) {\n // Points的selected是option id\n var marks = props.marks,\n selected = props.selected,\n onChange = props.onChange,\n _props$styleType = props.styleType,\n styleType = _props$styleType === void 0 ? 'square' : _props$styleType,\n _props$isScaleMatrix = props.isScaleMatrix,\n isScaleMatrix = _props$isScaleMatrix === void 0 ? false : _props$isScaleMatrix;\n return React.createElement(\"div\", {\n className: \"flex justifyAround \"\n }, Object.keys(marks).map(function (key, i) {\n var starTo = Object.keys(marks).findIndex(function (el) {\n return el === selected;\n });\n return React.createElement(Circle, {\n className: cx(selected === key && 'selected', styleType),\n key: key,\n onClick: function onClick() {\n return onChange(key);\n }\n }, React.createElement(\"div\", null, styleType === 'square' && (isScaleMatrix ? i + 1 : key), styleType === 'star' && React.createElement(React.Fragment, null, React.createElement(IconFont, {\n className: \"anticon-star\",\n type: \"icon-starmarkhighligh\",\n style: {\n fontSize: 20,\n position: 'absolute',\n opacity: +(starTo >= i)\n },\n color: \"orange\"\n }), React.createElement(IconFont, {\n className: \"anticon-star\",\n type: \"icon-star\",\n style: {\n fontSize: 20,\n position: 'absolute',\n opacity: +(starTo < i)\n },\n color: \"orange\"\n }))));\n }));\n}\nvar ScaleBox = /*#__PURE__*/styled(\"div\", {\n target: \"e1pdnymx0\"\n})(\"width:100%;margin-left:0px;margin-right:0px;.topMarks{font-size:13px;font-weight:500;font-stretch:normal;font-style:normal;line-height:1.5;letter-spacing:0.2px;color:var(--text-color);.labelPoint{width:4px;height:4px;border-radius:50%;background-color:var(--text-color-secondary);}}.bottomMarks{margin-top:32px;font-size:0.9rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.5;letter-spacing:0.2px;color:var(--text-color-secondary);.number{width:15px;margin-right:8px;}& > div{margin-bottom:12px;}& > div:last-child{margin-bottom:0;}}\");\nvar Circle = /*#__PURE__*/styled(\"div\", {\n target: \"e1pdnymx1\"\n})(\"height:48px;flex:1;display:flex;justify-content:center;align-items:center;line-height:1.5;div{height:100%;width:100%;margin:2px;cursor:pointer;border-radius:2px;display:flex;justify-content:center;align-items:center;font-size:1rem;}&.square{&.selected div{background:var(--primary-color);border-color:var(--primary-color);color:var(--btn-text);}&:not(.selected) div{background:var(--scale-square);border:1px solid var(--ant-entity-border);color:var(--text-color);&:hover{border-radius:2px;border:solid 1px var(--primary-color);background-color:rgba(49,94,251,0.09);}}}}\");\nvar Labels = /*#__PURE__*/styled(\"div\", {\n target: \"e1pdnymx2\"\n})(\".labelPoint{width:4px;height:4px;border-radius:50%;background-color:var(--text-color);}\");\nvar NpsSquare = /*#__PURE__*/styled(\"div\", {\n target: \"e1pdnymx3\"\n})(\"display:flex;justify-content:space-evenly;.number{display:inline-block;margin-right:2px;\", function (props) {\n return props.device === 'mobile' ? \"&:not(.selected) {\\n opacity: 0.3;\\n }\" : \"&:hover {\\n opacity: 1;\\n }\";\n}, \" &,&:focus{opacity:0.4;}&.selected{opacity:1;}&:last-child{margin-right:0;}.number-tips{height:\", function (props) {\n return props.device === 'mobile' ? 20 : 40;\n}, \"px;}.nps-item{height:\", function (props) {\n return props.device === 'mobile' ? 47 : 55;\n}, \"px;width:calc((100vw - 65px) / 11);max-width:55px;display:flex;justify-content:center;align-items:center;border-radius:2px;color:#fff;text-align:center;font-size:15px;margin-bottom:3px;cursor:pointer;box-sizing:border-box;}&:nth-of-type(1) .number-tips{border-top:1px solid rgb(225,124,120);background-image:linear-gradient( to bottom,rgba(248,213,213,1) 0%,rgba(255,255,255,0) 100% );}&:nth-of-type(2) .number-tips{border-top:1px solid rgb(225,124,120);background-image:linear-gradient( to bottom,rgba(248,213,213) 0%,rgba(255,255,255,0) 100% );}&:nth-of-type(3) .number-tips{border-top:1px solid rgb(225,124,120);background-image:linear-gradient( to bottom,rgba(248,213,213) 0%,rgba(255,255,255,0) 100% );}&:nth-of-type(4) .number-tips{border-top:1px solid rgb(225,124,120);background-image:linear-gradient( to bottom,rgba(248,213,213) 0%,rgba(255,255,255,0) 100% );}&:nth-of-type(5) .number-tips{border-top:1px solid rgb(225,124,120);background-image:linear-gradient( to bottom,rgb(248,213,213) 0%,rgb(255,255,255,0) 100% );}&:nth-of-type(6) .number-tips{border-top:1px solid rgb(225,124,120);background-image:linear-gradient( to bottom,rgba(248,213,213) 0%,rgba(255,255,255,0) 100% );}&:nth-of-type(7) .number-tips{border-top:1px solid rgb(225,124,120);background-image:linear-gradient( to bottom,rgba(248,213,213) 0%,rgba(255,255,255,0) 100% );}&:nth-of-type(8) .number-tips{border-top:1px solid rgb(247,196,108);background-image:linear-gradient( to bottom,rgba(252,232,196) 0%,rgba(255,255,255,0) 100% );}&:nth-of-type(9) .number-tips{border-top:1px solid rgb(247,196,108);background-image:linear-gradient( to bottom,rgba(252,232,196) 0%,rgba(255,255,255,0) 100% );}&:nth-of-type(10) .number-tips{border-top:1px solid rgb(148,185,108);background-image:linear-gradient( to bottom,rgba(214,227,197) 0%,rgba(255,255,255,0) 100% );}&:nth-of-type(11) .number-tips{border-top:1px solid rgb(148,185,108);background-image:linear-gradient( to bottom,rgba(214,227,197) 0%,rgba(255,255,255,0) 100% );}&:nth-of-type(1) .nps-item{background-image:linear-gradient( 141deg,rgb(222,111,107) 0%,rgb(222,115,112) 75% );}&:nth-of-type(2) .nps-item{background-image:linear-gradient( 141deg,rgb(222,111,107) 0%,rgb(222,115,112) 75% );}&:nth-of-type(3) .nps-item{background-image:linear-gradient( 141deg,rgb(222,111,107) 0%,rgb(222,115,112) 75% );}&:nth-of-type(4) .nps-item{background-image:linear-gradient( 141deg,rgb(222,111,108) 0%,rgb(222,115,112) 75% );}&:nth-of-type(5) .nps-item{background-image:linear-gradient( 141deg,rgb(222,111,108) 0%,rgb(222,115,112) 75% );}&:nth-of-type(6) .nps-item{background-image:linear-gradient( to right,rgb(224,115,107) 0%,rgb(226,121,106) 30%,rgb(230,137,101) 75% );}&:nth-of-type(7) .nps-item{background-image:linear-gradient( to right,rgb(230,137,101) 0%,rgb(230,135,99) 30%,rgb(239,166,97) 95% );}&:nth-of-type(8) .nps-item{background-image:linear-gradient( to right,rgb(240,173,96) 0%,rgb(243,182,95) 40%,rgb(241,187,93) 75% );}&:nth-of-type(9) .nps-item{background-image:linear-gradient( to right,rgb(241,187,93) 0%,rgb(243,182,95) 40%,rgb(219,186,96) 98% );}&:nth-of-type(10) .nps-item{background-image:linear-gradient( to right,rgb(219,186,96) 0%,rgb(204,186,96) 40%,rgb(184,184,95) 75% );}&:nth-of-type(11) .nps-item{margin-right:0 !important;background-image:linear-gradient( to right,rgb(162,181,95) 0%,rgb(149,180,94) 40%,rgb(138,179,95) 75% );}}\");\nvar emojiRateCls = /*#__PURE__*/css(\".emoji-rate-faces{display:flex;justify-content:space-around;.emoji-rate-face{width:32px;position:relative;display:flex;align-items:center;}img{cursor:pointer;}}\");","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nexport var noop = function noop() {};\nexport var checkUndefined = function checkUndefined(obj) {\n return Object.values(obj).every(function (v) {\n return v !== undefined;\n });\n};\nexport var toInt = function toInt(str) {\n var errRet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!str) return errRet;\n if (typeof str === 'number') return Math.round(str);\n if (typeof str !== 'string') {\n console.error(\"Notice, you are converting an \".concat(_typeof(str), \" into a number, it's most probably a bug.\"));\n return errRet;\n }\n var ret = Number.parseInt(str, 10);\n if (Number.isNaN(ret)) return errRet;\n return ret;\n};\nexport var CaseUtil = {\n // 把python服务器返回的snake风格的接口字段转化为caml风格\n toCaml: function toCaml(obj) {\n var _this = this;\n var upperFirst = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (!obj) return obj;\n var ret = Array.isArray(obj) ? [] : {};\n Object.keys(obj).forEach(function (key) {\n var value = obj[key];\n var keyCaml = key.toLowerCase().replace(/_([a-z])/g, function (_, c) {\n return c.toUpperCase();\n });\n if (upperFirst) keyCaml = keyCaml.replace(/^[a-z]/, function (c) {\n return c.toUpperCase();\n });\n if (isObject(value)) ret[keyCaml] = _this.toCaml(value, upperFirst);else ret[keyCaml] = value;\n });\n return ret;\n },\n // 把js的Caml风格的接口字段转化为snake风格\n toSnake: function toSnake(obj) {\n var _this2 = this;\n if (!obj) return obj;\n var ret = Array.isArray(obj) ? [] : {};\n Object.keys(obj).forEach(function (key) {\n var value = obj[key];\n var keyLine = key.replace(/[A-Z]/g, function (c, offset) {\n return \"\".concat(offset ? '_' : '').concat(c.toLowerCase());\n }).toLowerCase();\n if (isObject(value)) ret[keyLine] = _this2.toSnake(value);else ret[keyLine] = value;\n });\n return ret;\n }\n};\nexport var isObject = function isObject(obj) {\n return obj && _typeof(obj) === 'object';\n};\nexport var cloneDeep = function cloneDeep() {\n var src = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n for (var i = 0; i < (arguments.length <= 1 ? 0 : arguments.length - 1); i++) {\n var tar = i + 1 < 1 || arguments.length <= i + 1 ? undefined : arguments[i + 1];\n if (!isObject(tar)) continue;\n // bfs\n var Q = [];\n Q.push({\n src: src,\n tar: tar\n });\n while (Q.length) {\n var now = Q.shift();\n var keys = Object.keys(now.tar);\n for (var j = 0; j < keys.length; j++) {\n var key = keys[j];\n if (isObject(now.tar[key])) {\n now.src[key] = now.src[key] || Array.isArray(now.tar[key]) ? [] : {};\n Q.push({\n src: now.src[key],\n tar: now.tar[key]\n });\n } else {\n now.src[key] = now.tar[key];\n }\n }\n }\n }\n return src;\n};\nexport var closest = function closest(el, selector) {\n var matchesSelector = el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector;\n var copyEl = el;\n while (copyEl) {\n if (matchesSelector.call(copyEl, selector)) {\n return copyEl;\n }\n copyEl = copyEl.parentElement;\n }\n return null;\n};\nexport var getRealName = function getRealName(_ref) {\n var question = _ref.question,\n answers = _ref.answers,\n questionType = _ref.questionType;\n var _split = (question.nameRef || '').split('--matrix--'),\n _split2 = _slicedToArray(_split, 2),\n nameRef = _split2[0],\n lineId = _split2[1];\n var realLineId = lineId;\n if (lineId && lineId.indexOf('title') > -1) {\n realLineId = lineId.slice(0, -6);\n }\n var _question$name = question.name,\n defaultName = _question$name === void 0 ? '' : _question$name,\n custom = question.custom;\n var multiLangName = question === null || question === void 0 ? void 0 : question[\"\".concat(window.language, \"Name\")];\n if (!multiLangName) multiLangName = 'Question';\n var name = window.showMultiLang ? multiLangName : defaultName;\n var key = '{选项引用}';\n var key2 = '{xxxx}';\n var reg = new RegExp(key, 'g');\n var reg2 = new RegExp(key2, 'g');\n if ((name.includes(key) || name.includes(key2)) && nameRef && answers[nameRef]) {\n var refAns = answers[nameRef];\n if (refAns.type === 'scale') {\n name = name.replace(reg, refAns.degree).replace(reg2, refAns.degree);\n } else if (refAns.type === 'location') {\n var textArray = refAns.location || [];\n if (textArray.length && custom.nameRandom && custom.showNameOptionsNum) {\n textArray = randomShowOptions(textArray, custom.showNameOptionsNum, 'random');\n }\n name = name.replace(reg, textArray.join('/')).replace(reg2, textArray.join('/'));\n } else if (refAns.type === 'matrix') {\n var _textArray = [];\n ((refAns.selected || {})[realLineId] || []).forEach(function (selected) {\n if (selected === 'other') {\n var _refAns$text = refAns.text,\n text = _refAns$text === void 0 ? '其他' : _refAns$text;\n if (text.length > 20) {\n text = \"\\u5176\\u4ED6:\".concat(text.substring(0, 20), \"...\");\n } else {\n text = \"\\u5176\\u4ED6:\".concat(text);\n }\n _textArray.push(text);\n } else if (selected) {\n var targetQuestion = window.allQuestions.find(function (el) {\n return el.id === nameRef;\n });\n if (targetQuestion) {\n var targetOption = null;\n if (lineId && lineId.indexOf('title') > -1) {\n targetOption = targetQuestion.custom.lines.find(function (el) {\n return el.id === realLineId;\n });\n } else {\n targetOption = targetQuestion.custom.options.find(function (el) {\n return el.id === selected;\n });\n }\n if (targetOption) {\n var _targetOption;\n var selectedOption = window.showMultiLang ? (_targetOption = targetOption) === null || _targetOption === void 0 ? void 0 : _targetOption[\"\".concat(window.language, \"Text\")] : targetOption.text;\n _textArray.push(selectedOption.replace(/<.*?>/gi, ''));\n }\n }\n }\n if (_textArray.length && custom.nameRandom && custom.showNameOptionsNum) {\n _textArray = randomShowOptions(_textArray, custom.showNameOptionsNum, 'random');\n }\n });\n name = name.replace(reg, _textArray.join(' / ')).replace(reg2, _textArray.join(' / '));\n } else {\n var _textArray2 = [];\n (refAns.selected || []).forEach(function (selected) {\n if (selected === 'other') {\n var _refAns$text2 = refAns.text,\n text = _refAns$text2 === void 0 ? '其他' : _refAns$text2;\n if (text.length > 20) {\n text = \"\\u5176\\u4ED6:\".concat(text.substring(0, 20), \"...\");\n } else {\n text = \"\\u5176\\u4ED6:\".concat(text);\n }\n _textArray2.push(text);\n } else if (selected) {\n var targetQuestion = window.allQuestions.find(function (el) {\n return el.id === nameRef;\n });\n if (targetQuestion) {\n var targetOption = targetQuestion.custom.realShowOptions.find(function (el) {\n return el.id === selected;\n });\n if (targetOption) {\n var selectedOption = window.showMultiLang ? targetOption === null || targetOption === void 0 ? void 0 : targetOption[\"\".concat(window.language, \"Text\")] : targetOption.text;\n _textArray2.push(selectedOption.html2Text());\n }\n }\n }\n });\n if (_textArray2.length && custom.nameRandom && custom.showNameOptionsNum) {\n _textArray2 = randomShowOptions(_textArray2, custom.showNameOptionsNum, 'random');\n }\n name = name.replace(reg, _textArray2.join(' / ')).replace(reg2, _textArray2.join(' / '));\n }\n }\n return questionType ? name.replace(reg, '').replace(reg2, '').replace(/(.*)(<\\/p>)/, \"$1\".concat(questionType, \"$2\")) : name.replace(reg, '').replace(reg2, '');\n};\nexport var randomComp = function randomComp() {\n return Math.random() - 0.5;\n};\nexport function randomArray(options) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'random';\n var saveNoRandomOptions = [];\n for (var i = options.length - 1; i >= 0; i--) {\n var option = options[i];\n if (option.noRandom) {\n saveNoRandomOptions.push([option, i]);\n options.splice(i, 1);\n }\n }\n var result = type === 'reverse' ? options.reverse() : options.slice().sort(randomComp);\n while (saveNoRandomOptions.length) {\n var _saveNoRandomOptions$ = saveNoRandomOptions.pop(),\n _saveNoRandomOptions$2 = _slicedToArray(_saveNoRandomOptions$, 2),\n _option = _saveNoRandomOptions$2[0],\n index = _saveNoRandomOptions$2[1];\n result.splice(index, 0, _option);\n }\n return result;\n}\n\n// 随机展示几个选项\nexport function randomShowOptions(options, length, type) {\n if (options.length && options.length > length) {\n var newOptions = _toConsumableArray(options);\n var newArr = []; // 组成的新数组初始化\n var _loop = function _loop(i) {\n var index = Math.floor(Math.random() * newOptions.length);\n var item = newOptions[index];\n if (type === 'reverse') {\n var optionIndex = 0;\n options.forEach(function (option, idx) {\n console.log(idx);\n if (option.id === item.id) {\n optionIndex = idx;\n }\n });\n newArr.push({\n option: item,\n index: optionIndex\n });\n } else {\n newArr.push(item);\n }\n newOptions.splice(index, 1);\n };\n for (var i = 0; i < length; i++) {\n _loop(i);\n }\n if (type === 'reverse') {\n newArr.sort(function (a, b) {\n return a.index - b.index;\n });\n newArr = newArr.map(function (item) {\n return item.option;\n });\n }\n return newArr;\n }\n return options;\n}\n\n// 返回string\nexport var getUrlParamsText = function getUrlParamsText() {\n var location = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _location$search = location.search,\n search = _location$search === void 0 ? '' : _location$search;\n var extra = filterXss(decodeURIComponent(window.location.search.substr(1)));\n return filterXss(decodeURIComponent(search)).concat(extra ? \"&\".concat(extra) : '');\n};\n\n// 返回对象\nexport var getUrlParams = function getUrlParams() {\n var location = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // 兼容hash后的自定义参数\n var _location$search2 = location.search,\n search = _location$search2 === void 0 ? '' : _location$search2;\n search = filterXss(search.substr(1));\n var extra = filterXss(decodeURIComponent(window.location.search.substr(1)));\n search = search.concat(extra ? \"&\".concat(extra) : '');\n var params = search.split('&');\n var customAnswer = {};\n params.forEach(function (str) {\n if (str.includes('=')) {\n var _str$split = str.split('='),\n _str$split2 = _slicedToArray(_str$split, 1),\n key = _str$split2[0];\n customAnswer[key] = str.substring(key.length + 1); // 从=号以后都是value, value有可能包含=号\n }\n });\n\n return customAnswer;\n};\nfunction filterXss(str) {\n // 去除包含<>内容的,防止xss漏洞\n var filterValue = str.replace(/<.*?>/g, '');\n // 去除<开头类型的xss漏洞\n filterValue = filterValue.replace(/<+.*$/g, '');\n return filterValue;\n}\nexport var HTMLDecode = function HTMLDecode(text) {\n var _ref2, _temp, _temp2;\n var temp = document.createElement('div') || {};\n temp.innerHTML = text;\n var output = (_ref2 = ((_temp = temp) === null || _temp === void 0 ? void 0 : _temp.innerText) || ((_temp2 = temp) === null || _temp2 === void 0 ? void 0 : _temp2.textContent)) !== null && _ref2 !== void 0 ? _ref2 : '';\n temp = null;\n return output;\n};\nexport function getPerformanceTiming() {\n var _window = window,\n performance = _window.performance;\n if (!performance) {\n return;\n }\n var t = performance.timing;\n var times = {};\n times.loadPage = t.loadEventEnd - t.navigationStart;\n times.domReady = t.domComplete - t.responseEnd;\n times.ttfb = t.responseStart - t.navigationStart;\n times.loadEvent = t.loadEventEnd - t.loadEventStart;\n return times;\n}\n\n// 比较版本号\nexport function compareVersion(version1, version2) {\n var arr1 = version1.split('.');\n var arr2 = version2.split('.');\n var length1 = arr1.length;\n var length2 = arr2.length;\n var minlength = Math.min(length1, length2);\n var i = 0;\n for (i; i < minlength; i++) {\n var a = parseInt(arr1[i]);\n var b = parseInt(arr2[i]);\n if (a > b) {\n return 1;\n } else if (a < b) {\n return -1;\n }\n }\n if (length1 > length2) {\n for (var j = i; j < length1; j++) {\n if (parseInt(arr1[j]) != 0) {\n return 1;\n }\n }\n return 0;\n } else if (length1 < length2) {\n for (var _j = i; _j < length2; _j++) {\n if (parseInt(arr2[_j]) != 0) {\n return -1;\n }\n }\n return 0;\n }\n return 0;\n}","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport { css } from 'emotion';\nimport sampleSize from 'lodash/sampleSize';\nimport shuffle from 'lodash/shuffle';\nimport { getLocalText } from './language';\nvar typeCheckerFn = function typeCheckerFn(key) {\n return function (q) {\n return q && q.type === key;\n };\n};\nexport var typeChecker = {\n isSingleSelectChoice: function isSingleSelectChoice(q) {\n return /singleSelect/i.test(q === null || q === void 0 ? void 0 : q.type);\n },\n isSingleChoice: function isSingleChoice(q) {\n return ['nonScoreSingle', 'single'].includes(q === null || q === void 0 ? void 0 : q.type);\n },\n isMultiChoice: function isMultiChoice(q) {\n return ['multi', 'nonScoreMulti'].includes(q === null || q === void 0 ? void 0 : q.type);\n },\n isPageBreak: typeCheckerFn('page_break'),\n isDescription: typeCheckerFn('description'),\n isLongText: function isLongText(q) {\n return /long/i.test(q === null || q === void 0 ? void 0 : q.type);\n },\n isShortText: function isShortText(q) {\n return /short/i.test(q === null || q === void 0 ? void 0 : q.type);\n },\n isScale: typeCheckerFn('scale'),\n isMatrix: typeCheckerFn('matrix'),\n isLocation: typeCheckerFn('location'),\n isChoice: function isChoice(q) {\n return typeChecker.isSingleChoice(q) || typeChecker.isMultiChoice(q) || typeChecker.isSingleSelectChoice(q) || typeChecker.isLocation(q);\n },\n isText: function isText(q) {\n return typeChecker.isShortText(q) || typeChecker.isLongText(q);\n }\n};\nvar breakpoints = {\n large: 1030,\n scale: 875,\n medium: 800\n};\nvar globalSampleGids = {};\nvar _ref = \"@media (\";\nvar _ref2 = \"){\";\nvar _ref3 = \";}\";\nexport var mq = Object.keys(breakpoints).reduce(function (accumulator, label) {\n var prefix = typeof breakpoints[label] === 'string' ? '' : 'min-width:';\n var suffix = typeof breakpoints[label] === 'string' ? '' : 'px';\n accumulator[label] = function (cls, simulateMobile) {\n if (simulateMobile) return '';\n return /*#__PURE__*/css(_ref, prefix + breakpoints[label] + suffix, _ref2, cls, _ref3);\n };\n return accumulator;\n}, {});\nvar getQuotaText = function getQuotaText(quotaStrategy, opt) {\n var mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'default';\n var basicOptText = mode === 'default' ? opt.text : opt.enText || 'Option';\n var quota = quotaStrategy.optionsQuota.find(function (q) {\n return q.id === opt.id;\n });\n if (!quota) return basicOptText;\n var prefix = '';\n if (quota.remaining) {\n prefix = '['.concat(quotaStrategy.showRemaining ? quotaStrategy.remainTips + quota.remaining : '', quotaStrategy.showAll ? \"/\".concat(quota.amount) : '', '] ');\n } else {\n prefix = '['.concat(quotaStrategy.fullTips, '] ');\n }\n return prefix + basicOptText;\n};\n\n// 先检查本题选项的显示逻辑 然后根据选项引用增加新的选项\nexport function getRealShowOption(_ref4) {\n var question = _ref4.question,\n answers = _ref4.answers,\n quotaStrategy = _ref4.quotaStrategy;\n var _question$custom = question.custom,\n options = _question$custom.options,\n group = _question$custom.group,\n optionGroups = _question$custom.optionGroups;\n var opts = group && (optionGroups === null || optionGroups === void 0 ? void 0 : optionGroups.length) ? sampleOptions({\n question: question,\n answers: answers\n }) : options;\n var realShowOptions = (opts || []).map(function (opt) {\n return _objectSpread({}, opt, {\n text: quotaStrategy ? getQuotaText(quotaStrategy, opt) : opt.text,\n enText: quotaStrategy ? getQuotaText(quotaStrategy, opt, 'en') : opt.enText || 'Option'\n });\n }).filter(function (el) {\n return checkDepRule({\n answers: answers,\n dep: el.dep\n }) && el.isShow !== false;\n });\n var _question$optionFilte = question.optionFilter,\n optionFilter = _question$optionFilte === void 0 ? [] : _question$optionFilte;\n optionFilter.forEach(function (opt) {\n var _targetQuestion$custo, _answers$filterByQues4;\n var _opt$id$split = opt.id.split('--matrix--'),\n _opt$id$split2 = _slicedToArray(_opt$id$split, 2),\n filterByQuestionId = _opt$id$split2[0],\n lineId = _opt$id$split2[1];\n var realLineId = lineId;\n var thatQuestionSelectedOptionsIds = answers[filterByQuestionId] ? answers[filterByQuestionId].selected : [];\n if (lineId) {\n if (lineId.indexOf('title') > -1) {\n realLineId = lineId.slice(0, -6);\n } else {\n thatQuestionSelectedOptionsIds = thatQuestionSelectedOptionsIds[realLineId] || [];\n }\n }\n var targetQuestion = (window.allQuestions || []).find(function (el) {\n return el.id === filterByQuestionId;\n });\n var targetOptions = [];\n if (lineId && lineId.indexOf('title') > -1) {\n targetOptions = targetQuestion ? targetQuestion.custom.lines : [];\n realShowOptions = _toConsumableArray(realShowOptions).concat(_toConsumableArray(targetOptions.filter(function (el) {\n return Object.keys(thatQuestionSelectedOptionsIds).length && thatQuestionSelectedOptionsIds[el.id] && el.id == realLineId;\n }).map(function (el) {\n return el;\n })));\n } else {\n targetOptions = targetQuestion ? targetQuestion.custom.realShowOptions || targetQuestion.custom.options : [];\n var existedOptIds = realShowOptions.map(function (el) {\n return el.id;\n });\n realShowOptions = _toConsumableArray(realShowOptions).concat(_toConsumableArray(targetOptions.filter(function (el) {\n return (thatQuestionSelectedOptionsIds || []).includes(el.id) && !existedOptIds.includes(el.id);\n }).map(function (el) {\n if (el.input) {\n var _answers$filterByQues, _answers$filterByQues2, _answers$filterByQues3;\n // \"其他\"选项填空,引用的时候引用填入的文本\n var userInput = (_answers$filterByQues = answers[filterByQuestionId]) === null || _answers$filterByQues === void 0 ? void 0 : (_answers$filterByQues2 = _answers$filterByQues.option_blank) === null || _answers$filterByQues2 === void 0 ? void 0 : (_answers$filterByQues3 = _answers$filterByQues2[el.id]) === null || _answers$filterByQues3 === void 0 ? void 0 : _answers$filterByQues3[0];\n return _defineProperty({\n id: el.id,\n isTrap: false,\n jumpId: '-1',\n text: !window.showMultiLang && userInput ? \"\".concat(el.text, \" - \").concat(userInput) : el.text\n }, \"\".concat(window.language, \"Text\"), window.showMultiLang && userInput ? \"\".concat(el === null || el === void 0 ? void 0 : el[\"\".concat(window.language, \"Text\")], \" - \").concat(userInput) : el === null || el === void 0 ? void 0 : el[\"\".concat(window.language, \"Text\")]);\n }\n return el;\n })));\n }\n if ((targetQuestion === null || targetQuestion === void 0 ? void 0 : (_targetQuestion$custo = targetQuestion.custom.other) === null || _targetQuestion$custo === void 0 ? void 0 : _targetQuestion$custo.status) && (((_answers$filterByQues4 = answers[filterByQuestionId]) === null || _answers$filterByQues4 === void 0 ? void 0 : _answers$filterByQues4.selected) || []).includes('other')) {\n var _answers$filterByQues5;\n // 老版“其他”\n var userInput = (_answers$filterByQues5 = answers[filterByQuestionId]) === null || _answers$filterByQues5 === void 0 ? void 0 : _answers$filterByQues5.text;\n realShowOptions.push({\n id: 'other',\n isTrap: false,\n jumpId: '-1',\n text: !window.showEnQuest && userInput ? \"\".concat(getLocalText('placeholder.other'), \" - \").concat(userInput) : getLocalText('placeholder.other'),\n enText: window.showEnQuest && userInput ? \"\".concat(getLocalText('placeholder.other'), \" - \").concat(userInput) : getLocalText('placeholder.other')\n });\n }\n });\n return realShowOptions;\n}\n// matrix题目 获取实际显示的题目\nexport function getRealShowLine(_ref6) {\n var question = _ref6.question,\n answers = _ref6.answers;\n var realShowLines = (question.custom.lines || []).filter(function (el) {\n return checkDepRule({\n answers: answers,\n dep: el.dep\n });\n });\n return realShowLines;\n}\nexport function checkDepRule(_ref7) {\n var _ref7$answers = _ref7.answers,\n answers = _ref7$answers === void 0 ? {} : _ref7$answers,\n dep = _ref7.dep;\n // 如果没有依赖规则\n if (!dep || !dep.cons || !dep.cons.length) return true;\n // 显示依赖可能有多个\n var _loop = function _loop(i) {\n var con = dep.cons[i];\n if (!con.id) return \"continue\";\n // 由于matrix子题目的存在 依赖的部分包含questionId 和 子题目lineId\n var _con$id$split = con.id.split('--matrix--'),\n _con$id$split2 = _slicedToArray(_con$id$split, 2),\n depQuestionId = _con$id$split2[0],\n lineId = _con$id$split2[1];\n if (lineId && lineId.indexOf('title') > -1) {\n lineId = lineId.slice(0, -6);\n }\n // 判断当前依赖的这一题是否可见\n var q = (window.allQuestions || []).find(function (q) {\n return q.id === depQuestionId;\n });\n // 如果依赖的题目不可见\n if (!q || !answers[depQuestionId]) {\n // 如果约束类型是and,而依赖的题目不可见 则无法满足and的条件.\n if (dep.type === 'and') return {\n v: false\n };\n // 约束类型是or,看下一个。\n return \"continue\";\n }\n // if 后 是可以找到依赖题目的case\n // 取得用户的答案selected数组, 不同题型的答案存在不同的数据结构中\n var selectedIds = void 0;\n if (q.type === 'scale') {\n selectedIds = answers[q.id] && answers[q.id].degree ? [answers[q.id].degree] : [];\n } else if (q.type === 'matrix') {\n selectedIds = answers[q.id] && answers[q.id].selected[lineId] || [];\n } else if (q.type === 'location') {\n selectedIds = answers[q.id] && answers[q.id].location ? [answers[q.id].location.join('/')] : [];\n } else {\n selectedIds = answers[q.id] && answers[q.id].selected || [];\n }\n var isOK = void 0;\n if (con.checked) {\n // 显示当前题目的要求是 选择了 '之一' optionsIds中的选项\n if (con.type !== 'all') {\n isOK = selectedIds.some(function (id) {\n return con.optionIds.includes(id);\n });\n } else {\n // 选择了'全部' optionsIds中的选项\n isOK = (con.optionIds || []).every(function (id) {\n return selectedIds.includes(id);\n });\n }\n } else {\n // location题型\n isOK = selectedIds.every(function (id) {\n return !con.optionIds.includes(id);\n });\n }\n // 旧版问卷没有selected 字段, 新版增加了selected 覆盖旧版的逻辑 当selected为true时和旧版一样\n if (con.selected === false) {\n if (con.type === 'all') {\n isOK = !con.optionIds.every(function (id) {\n return selectedIds.includes(id);\n });\n } else if (con.type === 'any') {\n // optionsIds中的全部 都没有选择\n isOK = con.optionIds.every(function (id) {\n return !selectedIds.includes(id);\n });\n } else {\n isOK = con.optionIds.some(function (id) {\n return !selectedIds.includes(id);\n });\n }\n }\n // 如果当前依赖满足且约束类型是or\n if (isOK && dep.type === 'or') {\n return {\n v: true\n };\n }\n // 如果当前依赖未满足,且约束类型是and\n if (!isOK && dep.type === 'and') {\n return {\n v: false\n };\n }\n };\n for (var i = 0; i < dep.cons.length; i++) {\n var _ret = _loop(i);\n switch (_ret) {\n case \"continue\":\n continue;\n default:\n if (_typeof(_ret) === \"object\") return _ret.v;\n }\n }\n // 如果运行到这里了,只有两种情况:\n // 1. 约束类型是and且所有的依赖都满足(\b应当返回true\n // 2. 约束类型是or且所有依赖都未满足 (应当返回false\n return dep.type === 'and';\n}\nexport var questionFilter = function () {\n // 被展示过的题目\n var visibles = [];\n function checkJumpOver(_ref8) {\n var _answers$q$id$selecte;\n var _ref8$answers = _ref8.answers,\n answers = _ref8$answers === void 0 ? {} : _ref8$answers,\n questions = _ref8.questions,\n question = _ref8.question;\n // 如果离得最近可见的选择/量表没有跳过它,那么前面的选择/量表也不可能跳过它。\n var typeList = visibles.map(function (q) {\n return q.type;\n });\n // 只有选择/量表有跳到哪的逻辑\n var index = Math.max(typeList.lastIndexOf('single'), typeList.lastIndexOf('nonScoreSingle'), typeList.lastIndexOf('singleSelect'), typeList.lastIndexOf('nonScoreSingleSelect'), typeList.lastIndexOf('multi'), typeList.lastIndexOf('nonScoreMulti'), typeList.lastIndexOf('scale'));\n // 前面根本不存在选择/量表\n if (index === -1) return false;\n var q = visibles[index];\n var selectedId;\n switch (q.type) {\n // 多选跳转逻辑\n case 'multi':\n {\n var _ret2 = function (_answers$q$id) {\n var selectedIds = (_answers$q$id = answers[q.id]) === null || _answers$q$id === void 0 ? void 0 : _answers$q$id.selected;\n if (!(selectedIds === null || selectedIds === void 0 ? void 0 : selectedIds.length)) return {\n v: false\n };\n var multiJumpRules = q.multiJumpRules;\n if (!(multiJumpRules === null || multiJumpRules === void 0 ? void 0 : multiJumpRules.length)) return {\n v: false\n };\n var qIndex = questions.findIndex(function (q) {\n return q.id === question.id;\n });\n\n // optionIds: 选项匹配,counts: 个数匹配\n var mode = multiJumpRules[0].logic ? 'counts' : 'optionIds';\n if (mode === 'optionIds') {\n var _loop2 = function _loop2(i) {\n var _multiJumpRules$i = multiJumpRules[i],\n optionIds = _multiJumpRules$i.optionIds,\n jumpId = _multiJumpRules$i.jumpId;\n if (jumpId === undefined || jumpId === '-1') return \"continue\";\n // 判断选中的选项完全和跳转逻辑一致\n var allSame = optionIds.length === selectedIds.length && optionIds.every(function (id) {\n return selectedIds.includes(id);\n });\n if (!allSame) return \"continue\";\n var jumpIndex = questions.findIndex(function (q) {\n return q.id === jumpId;\n });\n if (jumpId === 'end' || jumpIndex > qIndex) return {\n v: {\n v: true\n }\n };\n };\n for (var i = 0; i < multiJumpRules.length; i++) {\n var _ret3 = _loop2(i);\n switch (_ret3) {\n case \"continue\":\n continue;\n default:\n if (_typeof(_ret3) === \"object\") return _ret3.v;\n }\n }\n } else {\n var _loop3 = function _loop3(i) {\n var _multiJumpRules$i2 = multiJumpRules[i],\n _multiJumpRules$i2$co = _multiJumpRules$i2.count,\n count = _multiJumpRules$i2$co === void 0 ? 0 : _multiJumpRules$i2$co,\n logic = _multiJumpRules$i2.logic,\n jumpId = _multiJumpRules$i2.jumpId;\n if (jumpId === undefined || jumpId === '-1') return \"continue\";\n var selectedIdsLength = selectedIds.length;\n var jumpIndex = questions.findIndex(function (q) {\n return q.id === jumpId;\n });\n // 判断符合一条就返回\n var match = false;\n if (logic === '<' && selectedIdsLength < count) {\n match = true;\n } else if (logic === '>' && selectedIdsLength > count) {\n match = true;\n } else if (logic === '=' && selectedIdsLength === count) {\n match = true;\n }\n if (match && (jumpId === 'end' || jumpIndex > qIndex)) return {\n v: {\n v: true\n }\n };\n };\n for (var i = 0; i < multiJumpRules.length; i++) {\n var _ret4 = _loop3(i);\n switch (_ret4) {\n case \"continue\":\n continue;\n default:\n if (_typeof(_ret4) === \"object\") return _ret4.v;\n }\n }\n }\n return {\n v: false\n };\n }();\n if (_typeof(_ret2) === \"object\") return _ret2.v;\n }\n case 'scale':\n selectedId = answers[q.id] && answers[q.id].degree;\n break;\n default:\n // single & singleSelect\n selectedId = answers[q.id] && ((_answers$q$id$selecte = answers[q.id].selected) === null || _answers$q$id$selecte === void 0 ? void 0 : _answers$q$id$selecte[0]);\n break;\n }\n if (!selectedId) return false;\n var custom = q.custom;\n var option = selectedId === 'other' ? custom.other : (custom.options || []).find(function (o) {\n return o.id === selectedId;\n });\n if (!option) return false;\n // 如果选择的是其他,但是其他却没有呈现,Impossible!\n if (option.status === 0) return false;\n // 如果当前题目没有跳\n if (option.jumpId === undefined || option.jumpId === '-1') return false;\n // 判断是否跳过去了\n var qIndex = questions.findIndex(function (q) {\n return q.id === question.id;\n });\n var jumpIndex = questions.findIndex(function (q) {\n return q.id === option.jumpId;\n });\n if (option.jumpId === 'end' || option.jumpId === 'nextEnd' || jumpIndex > qIndex) return true;\n return false;\n }\n function checkNextEnd(_ref9) {\n var _answers$q$id$selecte2;\n var _ref9$answers = _ref9.answers,\n answers = _ref9$answers === void 0 ? {} : _ref9$answers;\n // 如果离得最近可见的选择/量表没有跳过它,那么前面的选择/量表也不可能跳过它。\n var typeList = visibles.map(function (q) {\n return q.type;\n });\n // 只有选择/量表有跳到哪的逻辑\n var index = Math.max(typeList.lastIndexOf('single'), typeList.lastIndexOf('nonScoreSingle'), typeList.lastIndexOf('singleSelect'), typeList.lastIndexOf('nonScoreSingleSelect'), typeList.lastIndexOf('multi'), typeList.lastIndexOf('nonScoreMulti'), typeList.lastIndexOf('scale'));\n // 前面根本不存在选择/量表\n if (index === -1) return false;\n var q = visibles[index];\n var selectedId;\n switch (q.type) {\n case 'scale':\n selectedId = answers[q.id] && answers[q.id].degree;\n break;\n default:\n // single & singleSelect\n selectedId = answers[q.id] && ((_answers$q$id$selecte2 = answers[q.id].selected) === null || _answers$q$id$selecte2 === void 0 ? void 0 : _answers$q$id$selecte2[0]);\n break;\n }\n if (!selectedId) return false;\n var custom = q.custom;\n var option = selectedId === 'other' ? custom.other : (custom.options || []).find(function (o) {\n return o.id === selectedId;\n });\n if (!option) return false;\n if (option.jumpId === 'nextEnd') return true;\n return false;\n }\n return function (questions, answers, sampleConfig, answerKeys) {\n var _sampleConfig$sampleB;\n visibles = [];\n var sampleGids = {};\n if (sampleConfig === null || sampleConfig === void 0 ? void 0 : (_sampleConfig$sampleB = sampleConfig.sampleByGroup) === null || _sampleConfig$sampleB === void 0 ? void 0 : _sampleConfig$sampleB.length) {\n sampleGids = sampleGroups({\n answers: answers,\n sampleConfig: sampleConfig\n });\n if (!Object.keys(globalSampleGids).length) {\n globalSampleGids = sampleGids;\n }\n }\n for (var i = 0; i < questions.length; i++) {\n var question = questions[i];\n // 如果是分页符号\n if (typeChecker.isPageBreak(question)) {\n // report不需要分页\n if (i && window.isReport) continue;\n // 如果分页符没有与前面重复,则push到visibles中去。\n if (!typeChecker.isPageBreak(visibles[visibles.length - 1])) {\n visibles.push(question);\n } else {\n // 这个逻辑是为了显示正确的分页描述\n visibles.pop();\n visibles.push(question);\n }\n continue;\n }\n // 检查是否被跳过\n if (checkJumpOver({\n answers: answers,\n questions: questions,\n question: question\n })) {\n if (!window.isReport && (answers === null || answers === void 0 ? void 0 : answers[question.id])) {\n delete answers[question.id];\n }\n continue;\n }\n\n // 判断显示依赖\n var groupIndex = question.groupIndex,\n sampleGroupIndex = question.sampleGroupIndex; // 如果是在题目组中,走checkGroupDepRule逻辑\n if (groupIndex !== undefined && groupIndex !== null) {\n if (checkGroupDepRule({\n answers: answers,\n sampleConfig: sampleConfig,\n groupIndex: groupIndex,\n sampleGroupIndex: sampleGroupIndex,\n answerKeys: answerKeys,\n sampleGids: sampleGids\n }) && checkDepRule({\n answers: answers,\n dep: question.dep\n })) {\n visibles.push(question);\n } else if (!window.isReport && (answers === null || answers === void 0 ? void 0 : answers[question.id])) {\n delete answers[question.id];\n }\n } else if (checkDepRule({\n answers: answers,\n dep: question.dep\n })) {\n // 依赖没问题,可以显示!\n visibles.push(question);\n } else if (!window.isReport && (answers === null || answers === void 0 ? void 0 : answers[question.id])) {\n delete answers[question.id];\n }\n }\n return {\n visibles: visibles,\n isNextEnd: checkNextEnd({\n answers: answers\n }),\n globalSampleGids: globalSampleGids\n };\n };\n}();\nexport function getSampleGroupIds(_ref10) {\n var _ref10$depGroups = _ref10.depGroups,\n depGroups = _ref10$depGroups === void 0 ? [] : _ref10$depGroups,\n groupConfig = _ref10.groupConfig;\n var sampleIds = [];\n var beginGroup = groupConfig.beginGroup,\n endGroup = groupConfig.endGroup,\n groupCount = groupConfig.groupCount,\n isShuffle = groupConfig.shuffle;\n var depOptions = depGroups.slice(beginGroup, endGroup + 1);\n var trueList = depOptions.filter(function (item) {\n return item.status === true;\n });\n if (trueList.length > 0) {\n var groups = trueList.length > groupCount ? sampleSize(trueList, groupCount) : trueList;\n sampleIds = groups.map(function (g) {\n return g.index;\n }).sort(function (a, b) {\n return a - b;\n });\n if (isShuffle) {\n sampleIds = shuffle(sampleIds);\n }\n }\n return sampleIds;\n}\nexport function sampleGroups(_ref11) {\n var answers = _ref11.answers,\n sampleConfig = _ref11.sampleConfig;\n var _sampleConfig$sampleB2 = sampleConfig.sampleByQuestion,\n sampleByQuestion = _sampleConfig$sampleB2 === void 0 ? [] : _sampleConfig$sampleB2,\n _sampleConfig$sampleB3 = sampleConfig.sampleByGroup,\n sampleByGroup = _sampleConfig$sampleB3 === void 0 ? [] : _sampleConfig$sampleB3;\n var sampleGroupIds = {};\n // 获取组题目随机后的索引\n\n if (sampleByGroup.length) {\n var depGroups = getDepGroups({\n answers: answers,\n sampleByQuestion: sampleByQuestion\n });\n sampleByGroup.forEach(function (groupConfig, idx) {\n var ids = getSampleGroupIds({\n depGroups: depGroups,\n groupConfig: groupConfig\n });\n sampleGroupIds[idx] = ids;\n });\n }\n return sampleGroupIds;\n}\nexport function getDepGroups(_ref12) {\n var answers = _ref12.answers,\n _ref12$sampleByQuesti = _ref12.sampleByQuestion,\n sampleByQuestion = _ref12$sampleByQuesti === void 0 ? [] : _ref12$sampleByQuesti;\n var depGroups = [];\n // 题目组若配置显示逻辑,则根据依赖判断true/false,若未配置,置为true\n if (sampleByQuestion.length) {\n sampleByQuestion.forEach(function (sample, index) {\n var status = sample.dep && sample.dep.cons.length ? checkDepRule({\n answers: answers,\n dep: sample.dep\n }) : true;\n depGroups.push({\n index: index,\n status: status\n });\n });\n }\n return depGroups;\n}\nexport function getGroupDepIds(_ref13) {\n var sampleConfig = _ref13.sampleConfig;\n var _sampleConfig$sampleB4 = sampleConfig.sampleByQuestion,\n sampleByQuestion = _sampleConfig$sampleB4 === void 0 ? [] : _sampleConfig$sampleB4,\n _sampleConfig$sampleB5 = sampleConfig.sampleByGroup,\n sampleByGroup = _sampleConfig$sampleB5 === void 0 ? [] : _sampleConfig$sampleB5;\n var groupDepIds = {};\n sampleByQuestion.forEach(function (sample, idx) {\n var _sample$dep, _sample$dep$cons;\n if ((sample === null || sample === void 0 ? void 0 : (_sample$dep = sample.dep) === null || _sample$dep === void 0 ? void 0 : (_sample$dep$cons = _sample$dep.cons) === null || _sample$dep$cons === void 0 ? void 0 : _sample$dep$cons.length) && sampleByGroup.length) {\n var conIds = sample.dep.cons.map(function (con) {\n return con.id.split('--matrix--')[0];\n });\n if (conIds === null || conIds === void 0 ? void 0 : conIds.length) {\n sampleByGroup.forEach(function (g, gIdx) {\n if (idx >= g.beginGroup && idx <= g.endGroup) {\n if (groupDepIds[gIdx]) {\n groupDepIds[gIdx] = groupDepIds[gIdx].concat(conIds);\n } else {\n groupDepIds[gIdx] = conIds;\n }\n }\n });\n }\n }\n });\n return groupDepIds;\n}\nexport function checkGroupDepRule(_ref14) {\n var answers = _ref14.answers,\n sampleConfig = _ref14.sampleConfig,\n groupIndex = _ref14.groupIndex,\n sampleGroupIndex = _ref14.sampleGroupIndex,\n _ref14$answerKeys = _ref14.answerKeys,\n answerKeys = _ref14$answerKeys === void 0 ? [] : _ref14$answerKeys,\n _ref14$sampleGids = _ref14.sampleGids,\n sampleGids = _ref14$sampleGids === void 0 ? {} : _ref14$sampleGids;\n var _sampleConfig$sampleB6 = sampleConfig.sampleByQuestion,\n sampleByQuestion = _sampleConfig$sampleB6 === void 0 ? [] : _sampleConfig$sampleB6,\n _sampleConfig$sampleB7 = sampleConfig.sampleByGroup,\n sampleByGroup = _sampleConfig$sampleB7 === void 0 ? [] : _sampleConfig$sampleB7;\n var hasDepAnswerKey = false;\n var groupDepIds = getGroupDepIds({\n sampleConfig: sampleConfig\n });\n var depGroups = getDepGroups({\n answers: answers,\n sampleByQuestion: sampleByQuestion\n });\n if (!sampleByGroup.length || sampleGroupIndex === null || !groupDepIds[sampleGroupIndex]) {\n if (depGroups[groupIndex]) {\n return depGroups[groupIndex].status;\n }\n } else if (answerKeys.length) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n try {\n for (var _iterator = answerKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var id = _step.value;\n if (groupDepIds[sampleGroupIndex] && groupDepIds[sampleGroupIndex].includes(id)) {\n hasDepAnswerKey = true;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (hasDepAnswerKey) {\n globalSampleGids[sampleGroupIndex] = sampleGids[sampleGroupIndex];\n }\n }\n return globalSampleGids[sampleGroupIndex] && globalSampleGids[sampleGroupIndex].includes(groupIndex);\n}\nexport var inputChecker = function inputChecker(text, restrictions) {\n var contentType = restrictions.contentType,\n maxWords = restrictions.maxWords,\n minWords = restrictions.minWords,\n openWordsRestriction = restrictions.openWordsRestriction;\n if (openWordsRestriction) {\n if (text.length > maxWords || text.length < minWords) {\n return \"\".concat(minWords, \" - \").concat(maxWords);\n }\n }\n if (contentType) {\n switch (contentType) {\n case 'any':\n return true;\n case 'number':\n if (text.match(/^\\d+(\\.\\d+)?$/)) return true;\n break;\n case 'chinese':\n if (text.match(/^[\\u4e00-\\u9fa5\\s]+$/)) return true;\n break;\n case 'english':\n if (text.match(/^[a-zA-Z\\s]+$/)) return true;\n break;\n case 'email':\n if (text.match(/^[a-zA-Z0-9.-_]+?@[a-zA-Z0-9-_]+?\\.[a-zA-Z0-9-_.]+$/)) return true;\n break;\n case 'phone':\n if (text.match(/^1\\d{10}$/)) {\n return true;\n }\n return getLocalText('ShortText.phoneNumber.wrong');\n case 'date':\n if (text.match(/^[\\d\\s-\\\\/.]+$/)) return true;\n break;\n }\n return contentType;\n }\n // 没有设置的规则就都是合法的\n return true;\n};\nexport var getQuestionType = function getQuestionType(quest) {\n var questionType = {\n description: '',\n single: '单选题',\n singleSelect: '单选题',\n multi: '多选题',\n cascader: '级联选择',\n trueFalse: '判断题',\n sort: '排序题',\n short: '开放题',\n long: '开放题',\n scale: '量表题',\n nps: 'NPS题',\n singleMatrix: '矩阵单选题',\n multiMatrix: '矩阵多选题',\n scaleMatrix: '矩阵量表题',\n date: '日期选择',\n location: '省市区',\n upload: '附件题',\n name: '姓名',\n email: '邮箱',\n fillinShort: '单项填空',\n fillinLong: '简答题',\n other: '其他信息',\n order: '电商订单',\n nonScoreSingle: '信息单选',\n nonScoreMulti: '信息多选',\n nonScoreSingleSelect: '信息下拉',\n optionInput: '矩阵填空'\n };\n var type = quest.type;\n if (quest && quest.custom) {\n if (quest.type === 'scale' && quest.custom.styleType === 'nps') {\n type = 'nps';\n } else if (quest.type === 'matrix') {\n if (quest.custom.isScaleMatrix) {\n type = 'scaleMatrix';\n } else {\n type = quest.custom.isSingleMatrix ? 'singleMatrix' : 'multiMatrix';\n }\n }\n }\n return questionType[type] ? \"\\u3010\".concat(questionType[type], \"\\u3011\") : '';\n};\nexport var getFirstQuestionJump = function getFirstQuestionJump(_ref15) {\n var questions = _ref15.questions;\n var jumpOver = false;\n if (questions && questions.length) {\n var custom = questions[0].custom;\n if (custom && custom.options && custom.options.length) {\n custom.options.forEach(function (option) {\n if (['end', 'nextEnd'].includes(option.jumpId)) {\n jumpOver = true;\n return false;\n }\n });\n }\n }\n return jumpOver;\n};\nexport var resetAnwsers = function resetAnwsers(_ref16) {\n var _answers$question$id;\n var type = _ref16.type,\n question = _ref16.question,\n answers = _ref16.answers,\n _ref16$realShowOption = _ref16.realShowOptions,\n realShowOptions = _ref16$realShowOption === void 0 ? [] : _ref16$realShowOption,\n _ref16$realShowLines = _ref16.realShowLines,\n realShowLines = _ref16$realShowLines === void 0 ? [] : _ref16$realShowLines;\n var selected = (answers === null || answers === void 0 ? void 0 : (_answers$question$id = answers[question.id]) === null || _answers$question$id === void 0 ? void 0 : _answers$question$id.selected) || (type === 'matrix' ? {} : []);\n var optionIds = realShowOptions.map(function (o) {\n return o.id;\n }) || [];\n if (type === 'matrix') {\n if (selected && Object.keys(selected).length) {\n var lineIds = realShowLines.map(function (o) {\n return o.id;\n }) || [];\n Object.keys(selected).forEach(function (Lid) {\n if (lineIds.includes(Lid)) {\n selected[Lid] = (selected[Lid] || []).filter(function (id) {\n return optionIds.includes(id);\n });\n } else {\n delete selected[Lid];\n }\n });\n }\n } else if (selected.length) {\n selected = selected.filter(function (id) {\n return optionIds.includes(id);\n });\n }\n return selected;\n};\n\n// 选项分组\nexport function sampleOptions(_ref17) {\n var question = _ref17.question,\n answers = _ref17.answers;\n var _question$custom2 = question.custom,\n options = _question$custom2.options,\n _question$custom2$opt = _question$custom2.optionGroups,\n optGroupsList = _question$custom2$opt === void 0 ? [] : _question$custom2$opt,\n groupList = _question$custom2.sampleGroups;\n var newOptions = [];\n var _checkOptionGroups = checkOptionGroups({\n options: options,\n optionGroups: optGroupsList,\n sampleGroups: groupList\n }),\n optionGroups = _checkOptionGroups.optionGroups,\n sampleGroups = _checkOptionGroups.sampleGroups;\n var optGroups = getOptionIdx({\n options: options,\n optionGroups: optionGroups,\n answers: answers\n });\n var start = 0;\n optGroups.forEach(function (sample, groupIndex) {\n var sampleGroupIndex = null;\n if (sampleGroups.length) {\n sampleGroupIndex = sampleGroups.findIndex(function (g) {\n return groupIndex >= g.beginGroup && groupIndex <= g.endGroup;\n });\n }\n var beginIdx = sample.beginIdx,\n endIdx = sample.endIdx,\n isShuffle = sample.shuffle,\n isShow = sample.isShow; // 选项没设置分组\n if (start < beginIdx) {\n newOptions = newOptions.concat(options.slice(start, beginIdx));\n }\n start = endIdx + 1;\n var optionList = sampleOptGroups({\n options: options.slice(beginIdx, endIdx + 1),\n isShuffle: isShuffle,\n isShow: isShow,\n groupIndex: groupIndex,\n sampleGroupIndex: sampleGroupIndex\n });\n newOptions = newOptions.concat(optionList);\n });\n // 分组的选项最后的索引如果小于所有选项的长度,之后的选项都添加进去\n if (start < options.length) {\n newOptions = newOptions.concat(options.slice(start));\n }\n return newOptions;\n}\n// 选项组随机\nexport function getSampleGroupOpts(_ref18) {\n var options = _ref18.options,\n custom = _ref18.custom,\n answers = _ref18.answers;\n var optionGroups = custom.optionGroups,\n sampleGroups = custom.sampleGroups;\n var optGroups = getOptionIdx({\n options: options,\n optionGroups: optionGroups,\n answers: answers\n });\n var sampleIds = getSampleGids({\n optGroups: optGroups,\n sampleGroups: sampleGroups\n });\n var opts = [];\n var groupOpts = {};\n var groupIndex = null;\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n try {\n for (var _iterator2 = options[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var opt = _step2.value;\n var gIdx = opt.groupIndex,\n sampleGroupIndex = opt.sampleGroupIndex; // 如果是有sampleGroupIndex及groupIndex,证明存在选项组随机,统一存储在groupOpts中,否则存储在opts中\n if (Number.isInteger(sampleGroupIndex) && Number.isInteger(gIdx)) {\n // 如果选项组在随机list中,则存到groupOpts中\n if (sampleIds.includes(gIdx)) {\n groupOpts[gIdx] = _toConsumableArray(groupOpts[gIdx] || []).concat([_objectSpread({}, opt)]);\n if (groupIndex !== gIdx) {\n groupIndex = gIdx;\n // 如果选项groupIndex连续,opts中用null占位\n opts.push(null);\n }\n }\n } else {\n opts.push(_objectSpread({}, opt));\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n var realOpts = opts.reduce(function (pre, curr) {\n pre.push.apply(pre, _toConsumableArray(curr ? [curr] : groupOpts[sampleIds.shift()]));\n return pre;\n }, []);\n return realOpts;\n}\nexport function getSampleGids(_ref19) {\n var optGroups = _ref19.optGroups,\n sampleGroups = _ref19.sampleGroups;\n var sampleIds = [];\n sampleGroups.forEach(function (g, idx) {\n var beginGroup = g.beginGroup,\n endGroup = g.endGroup,\n groupCount = g.groupCount;\n var options = optGroups.slice(beginGroup, endGroup + 1);\n var trueList = options.filter(function (item) {\n return item.isShow === true;\n });\n if (trueList.length > 0) {\n var groups = trueList.length > groupCount ? sampleSize(trueList, groupCount) : trueList;\n var ids = groups.map(function (g) {\n return g.gIdx;\n }).sort(function (a, b) {\n return a - b;\n });\n sampleIds = sampleIds.concat(g.shuffle ? shuffle(ids) : ids);\n }\n });\n return sampleIds;\n}\nexport function sampleOptGroups(_ref20) {\n var options = _ref20.options,\n isShuffle = _ref20.isShuffle,\n isShow = _ref20.isShow,\n groupIndex = _ref20.groupIndex,\n sampleGroupIndex = _ref20.sampleGroupIndex;\n var sampleOpts = [];\n var noRandomOpts = []; // 固定位置的选项合集\n var optIdxs = [];\n options.forEach(function (opt, idx) {\n if (opt.noRandom) {\n noRandomOpts.push(idx);\n } else {\n optIdxs.push(idx);\n }\n });\n optIdxs.sort(function (a, b) {\n return a - b;\n });\n if (isShuffle) {\n optIdxs = shuffle(optIdxs);\n }\n // 如果选项位置固定,则按索引插入\n if (noRandomOpts.length) {\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n try {\n for (var _iterator3 = noRandomOpts[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var index = _step3.value;\n optIdxs.splice(index, 0, index);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n }\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n try {\n for (var _iterator4 = optIdxs[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var idx = _step4.value;\n sampleOpts.push(_objectSpread({}, options[idx], {\n isShow: isShow,\n groupIndex: groupIndex,\n sampleGroupIndex: sampleGroupIndex\n }));\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n return sampleOpts;\n}\nexport function getOptionIdx(_ref21) {\n var options = _ref21.options,\n optionGroups = _ref21.optionGroups,\n answers = _ref21.answers;\n var optGroups = [];\n var optionIndexMap = new Map(options.map(function (option, index) {\n return [option.id, index];\n }));\n if (optionGroups.length) {\n optionGroups.forEach(function (q, idx) {\n var beginIdx = optionIndexMap.get(q.beginId);\n var endIdx = optionIndexMap.get(q.endId);\n optGroups.push(_objectSpread({}, q, {\n beginIdx: beginIdx,\n endIdx: endIdx,\n gIdx: idx,\n isShow: q.dep ? checkDepRule({\n answers: answers,\n dep: q.dep\n }) : true\n }));\n });\n }\n return optGroups;\n}\nexport function checkOptionGroups(_ref22) {\n var options = _ref22.options,\n optionGroups = _ref22.optionGroups,\n sampleGroups = _ref22.sampleGroups;\n var sampleValue = [];\n var groupsValue = sampleGroups;\n // 去掉选项顺序有问题的数据\n optionGroups.forEach(function (v, i) {\n // 开始选项索引\n var startIdx = options.findIndex(function (item) {\n return item.id === v.beginId;\n });\n // 结束选项索引\n var endIdx = options.findIndex(function (item) {\n return item.id === v.endId;\n });\n // 如果开始索引>结束索引,逻辑不成立,删除该选项组,随机置空\n if (startIdx < 0 || endIdx < 0 || startIdx > endIdx) {\n groupsValue = [];\n return false;\n }\n if (i > 0) {\n var preEndIdxs = []; // 前置选项组组结束索引集合\n var _loop4 = function _loop4(n) {\n var preEndI = options.findIndex(function (item) {\n return optionGroups[n] && item.id === optionGroups[n].endId;\n });\n preEndIdxs.push(preEndI);\n };\n for (var n = 0; n < i; n++) {\n _loop4(n);\n }\n preEndIdxs.sort(function (a, b) {\n return b - a;\n });\n // 如果当前选项组开始索引>前置选项组结束索引,逻辑成立,否则删除改选项组,组随机置空\n if (preEndIdxs.length && startIdx > preEndIdxs[0]) {\n sampleValue.push(v);\n } else {\n groupsValue = [];\n }\n } else {\n sampleValue.push(v);\n }\n });\n return {\n optionGroups: sampleValue,\n sampleGroups: groupsValue\n };\n}\nexport function getMultiChoiceOptions(_ref23) {\n var _custom$optionGroups;\n var opts = _ref23.options,\n custom = _ref23.custom;\n var options = custom.options,\n optionGroups = custom.optionGroups,\n sampleGroups = custom.sampleGroups;\n var newOptions = opts ? JSON.parse(JSON.stringify(opts)) : [];\n if (newOptions.length && custom.group && (custom === null || custom === void 0 ? void 0 : (_custom$optionGroups = custom.optionGroups) === null || _custom$optionGroups === void 0 ? void 0 : _custom$optionGroups.length)) {\n var gidx = null;\n var i = -1;\n var _checkOptionGroups2 = checkOptionGroups({\n options: options,\n optionGroups: optionGroups,\n sampleGroups: sampleGroups\n }),\n groups = _checkOptionGroups2.optionGroups;\n var groupOpts = newOptions.reduce(function (acc, cur, index) {\n var groupIndex = cur.groupIndex;\n if (groupIndex !== undefined) {\n if (groupIndex !== -1) {\n var _ref24 = groups[groupIndex] || {},\n name = _ref24.name,\n showGroupName = _ref24.showGroupName;\n if (gidx === groupIndex) {\n acc[i] = {\n name: name,\n showGroupName: showGroupName,\n options: _toConsumableArray(acc[i].options || []).concat([cur])\n };\n } else {\n gidx = groupIndex;\n acc[i + 1] = {\n name: name,\n showGroupName: showGroupName,\n options: [cur]\n };\n i++;\n }\n } else {\n acc[i + 1] = {\n name: '',\n showGroupName: false,\n options: [cur]\n };\n i++;\n }\n } else {\n acc[i + 1] = {\n name: '',\n showGroupName: false,\n options: [cur]\n };\n i++;\n }\n return acc;\n }, []);\n newOptions = groupOpts;\n }\n return newOptions;\n}","import { css as _css } from \"emotion\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _class;\nimport React, { PureComponent, lazy, Suspense } from 'react';\nimport { hot } from 'react-hot-loader';\nimport { withRouter } from 'react-router-dom';\n// import { call } from '@bridge/byted-bridge-jssdk';\nimport { call } from '@bridge/byted-bridge-app-jssdk';\nimport * as tiktok from '@bridge/tiktok';\nimport * as fans from '@bridge/fans';\nimport * as capcut from '@bridge/capcut';\nimport { Global, css } from '@emotion/core';\nimport sanitizeHtml from 'sanitize-html';\nimport styled from '@emotion/styled';\nimport md5 from 'md5';\nimport { Helmet } from 'react-helmet';\nimport AES from 'crypto-js/aes';\nimport ENC from 'crypto-js/enc-utf8';\nimport isEqual from 'lodash/isEqual';\nimport { CaseUtil, HTMLDecode, getUrlParams } from '@/utilities/common';\nimport { questionFilter, typeChecker } from './utilities/quest';\nimport { errorBounder } from '@/components/ErrorBoundary';\nimport { Provider } from '@/store';\nimport { traceOnError, tracePageOpen, traceShowQuestion, traceUpdateQuestion, traceExitQuestionnaire, traceSubmitQuestionnaire } from './tracer';\nimport { getLocalText, navigatorLang } from './utilities/language';\nimport { postMessage } from './utilities/postMessage';\nimport { getPage, scrollToTop, filterNonAnswer, handleLimitTime, getPageContentLogic, retrieveDataAfterSubmit, transferDefaultDataToQuest, sampleDataToQuestions, getRealQuestions, shuffleGroup } from './utilities/pageLogic';\nimport { allowedTags, allowedAttributes, showErrorQuestIds, getNewH5HTML, getCustomizedHTML, getCustomizedHTMLByQuestBgColor, languageOpts } from './constant';\nimport { GlbStyleBox } from './glbStyle';\nimport IconFont from '@/components/common/IconFont';\nvar Language = lazy(function () {\n return import('@/components/common/Language');\n});\nvar Progress = lazy(function () {\n return import('@/components/Progress');\n});\nvar Ending = lazy(function () {\n return import('@/components/Ending');\n});\nvar NewEnding = lazy(function () {\n return import('@/components/NewEnding');\n});\nimport * as api from '@/services/api';\nimport themesRepo from './theme';\nimport './index.less';\nvar CIPHER_TAG = 'data_bp_survey';\nvar pathname = window.location.pathname.replace(/\\/$/, '');\nvar url = window.location.href;\nvar isUrlToGenStamp = /^\\/q\\//.test(pathname) && /bytedance|127.0.0.1/.test(url) && !/preview/.test(url) && url.includes(CIPHER_TAG);\nvar isUrlToDecrypt = /bytedance|127.0.0.1/.test(url) && !/preview/.test(url) && /^\\/b\\//.test(pathname);\nsanitizeHtml.defaults.allowedTags = sanitizeHtml.defaults.allowedTags.concat(allowedTags);\nsanitizeHtml.defaults.allowedAttributes = allowedAttributes;\n\n// eslint-disable-next-line\nString.prototype.html2Text = function () {\n return HTMLDecode(this.replace(/<.*?>/g, '').replace(/<\\/.*?>/g, ''));\n};\n\n// eslint-disable-next-line\nWindow.prototype.setItem = function (key, value) {\n if (key === 'survey-quest-theme') {\n var newStorageEvent = document.createEvent('StorageEvent');\n try {\n var storage = {\n setItem: function setItem(k, val) {\n sessionStorage.setItem(k, val);\n newStorageEvent.initStorageEvent('setItem', false, false, k, null, val, null, null);\n window.dispatchEvent(newStorageEvent);\n }\n };\n return storage.setItem(key, value);\n } catch (error) {\n console.error('error: ', error.message);\n }\n }\n};\nvar delay = function delay(time) {\n return new Promise(function (resolve) {\n return setTimeout(resolve, time);\n });\n};\nvar _ref10 = \"video{\";\nvar _ref11 = \"}.matrix-line video{max-width:70vw;object-fit:fill;}\";\nvar App = withRouter(_class = errorBounder(_class = /*#__PURE__*/function (_PureComponent) {\n _inherits(App, _PureComponent);\n function App(props) {\n var _this;\n _classCallCheck(this, App);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(App).call(this, props));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"submitting\", false);\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"submitted\", false);\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"_resetStoreFirstCall\", true);\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"resetStore\", function (id, quest) {\n window.allQuestions = _toConsumableArray(quest.questions);\n var _this$state = _this.state,\n answers = _this$state.answers,\n resume = _this$state.resume;\n var recycleUid = quest.recycleUid,\n recycleProducts = quest.recycleProducts,\n sampleConfig = quest.sampleConfig;\n var _questionFilter = questionFilter(quest.questions, answers, sampleConfig),\n _questionFilter$visib = _questionFilter.visibles,\n visibles = _questionFilter$visib === void 0 ? [] : _questionFilter$visib,\n isNextEnd = _questionFilter.isNextEnd,\n globalSampleGids = _questionFilter.globalSampleGids;\n var questions = visibles;\n if (Object.keys(globalSampleGids).length && shuffleGroup({\n sampleConfig: sampleConfig\n })) {\n questions = getRealQuestions({\n globalSampleGids: globalSampleGids,\n questions: questions\n });\n }\n var nextState = {\n id: id,\n msg: null,\n loading: false,\n quest: quest,\n questions: questions,\n allQuestions: _toConsumableArray(quest.questions),\n recycleUid: recycleUid,\n recycleProducts: recycleProducts,\n resume: resume,\n isNextEnd: isNextEnd\n };\n // 只有在测试环境下,resetStore才会调用多次。因此埋点写在里面\n if (_this._resetStoreFirstCall) {\n // 发送页面打开埋点\n tracePageOpen(quest.title);\n var total = questions.filter(function (el, index) {\n return typeChecker.isPageBreak(el) && index !== questions.length - 1;\n }).length;\n nextState.page = {\n total: total,\n current: 1\n };\n // eslint-disable-next-line no-unused-expressions\n nextState.answers;\n var _answers = {};\n try {\n if (isUrlToDecrypt) {\n var cipherAns = AES.decrypt(window.location.href.split('#/')[1], _this.questId);\n _answers = JSON.parse(cipherAns.toString(ENC));\n } else if (resume) {\n var urlParams = getUrlParams();\n var questId = window.isLocal && !(urlParams.uid || urlParams.uindex) ? \"survey-preview-\".concat(urlParams.id) : id;\n var LSAnswer = questId ? localStorage.getItem(questId) || '{}' : '{}';\n _answers = JSON.parse(LSAnswer);\n }\n } catch (error) {\n console.error(error.message);\n }\n nextState.answers = _answers;\n\n // if (!/LarkLocale/.test(navigator.userAgent) && !window.isReport) {\n // const sso = document.cookie\n // .match(/(?:door_username=)(.*)(?=;)/)?.[1]\n // .split(';')[0];\n // if (sso && gwm) {\n // // eslint-disable-next-line no-undef\n // gwm.creation({\n // txt: sso,\n // color: '#626262',\n // css: {\n // fontFamily:\n // 'BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", \"Helvetica Neue\"',\n // },\n // });\n // }\n // }\n _this._resetStoreFirstCall = false;\n var sum = quest.questions.filter(function (q) {\n return !typeChecker.isPageBreak(q);\n }).length;\n traceShowQuestion(sum);\n }\n _this.setState(nextState, _this.forceUpdate);\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getQuestId\", function () {\n if (pathname === '/') return;\n var ret = pathname.split('/'); // pathname一般都是 '/iGHria' 或 '/q/10666/DS4ut1N2/12c5/'\n if (!ret) return null;\n var id;\n if (ret[1] === 'q' || ret[1] === 'b') {\n _this.questId = ret[2]; // 问卷id\n id = ret[3]; // 问卷hash id\n _this.sign = ret[4]; // 签名\n } else {\n id = ret[1] || '';\n }\n return id.includes('preview') ? null : id;\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getOriginOrder\", function (id) {\n if (!id) return -1;\n return (_this.state.quest.questions || []).filter(function (q) {\n return !typeChecker.isPageBreak(q);\n }).findIndex(function (q) {\n return q.id === id;\n });\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"traceUpdate\", function (id, selectedAnswers) {\n var order = _this.getOriginOrder(id);\n var type = _this.state.answers[id] === undefined ? 0 : 1;\n traceUpdateQuestion(type, order, id, selectedAnswers);\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"retrieveDefaultAnswers\", function (resume) {\n var hashId = _this.getQuestId();\n if (resume && hashId || window.isLocal) {\n var answers = {};\n try {\n var urlParams = getUrlParams();\n var questId = window.isLocal && !(urlParams.uid || urlParams.uindex) ? \"survey-preview-\".concat(urlParams.id) : hashId;\n var LSAnswer = questId ? localStorage.getItem(questId) || '{}' : '{}';\n answers = JSON.parse(LSAnswer);\n } catch (error) {\n console.error('get LSAnswer error: ', error.message);\n }\n _this.setState({\n answers: answers\n });\n }\n _this.setState({\n resume: resume\n });\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"submitForm\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var _this$state2, id, questions, showAnswer, recycleUid, recycleProducts, _this$state2$quest, prompt, hideAnalysisHeader, multiLanguage, originAnswers, qnVersion, answers, res, location, server_time, cost, rnd, _languageOpts$find, ua, appInfo, userInfo, apiParam, _userInfo, _appInfo, resp, _userInfo2, globalProps, _userInfo3, _appInfo2;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!_this.submitting) {\n _context2.next = 2;\n break;\n }\n return _context2.abrupt(\"return\");\n case 2:\n _this.submitting = true;\n _context2.next = 5;\n return delay(500);\n case 5:\n _this$state2 = _this.state, id = _this$state2.id, questions = _this$state2.questions, showAnswer = _this$state2.showAnswer, recycleUid = _this$state2.recycleUid, recycleProducts = _this$state2.recycleProducts, _this$state2$quest = _this$state2.quest, prompt = _this$state2$quest.prompt, hideAnalysisHeader = _this$state2$quest.hideAnalysisHeader, multiLanguage = _this$state2$quest.multiLanguage, originAnswers = _this$state2.answers, qnVersion = _this$state2.qnVersion;\n answers = filterNonAnswer(showAnswer, originAnswers, questions);\n _this.realPrompt = prompt;\n res = {};\n location = _this.props.location;\n answers.custom_answer = getUrlParams(location);\n answers.cost = +((Date.now() - _this.state.startTime) / 1000).toFixed(3);\n server_time = answers.server_time, cost = answers.cost, rnd = answers.rnd;\n answers.sign = md5(\"\".concat(server_time).concat(cost).concat(rnd));\n answers.qn_version = qnVersion;\n if (multiLanguage) {\n answers.language = (_languageOpts$find = languageOpts.find(function (l) {\n return l.value === window.language;\n })) === null || _languageOpts$find === void 0 ? void 0 : _languageOpts$find.cnLabel;\n answers.language_value = window.language;\n }\n ua = window.navigator.userAgent;\n if (!(/trill/i.test(ua) || /musical_ly/i.test(ua))) {\n _context2.next = 31;\n break;\n }\n _context2.next = 20;\n return tiktok.app.getAppInfo({});\n case 20:\n appInfo = _context2.sent;\n _context2.next = 23;\n return tiktok.app.getUserInfo({});\n case 23:\n userInfo = _context2.sent;\n _context2.next = 26;\n return tiktok.app.apiParam({});\n case 26:\n apiParam = _context2.sent;\n answers.uid = userInfo.user_id || appInfo.user_id || '';\n answers.did = apiParam.device_id || appInfo.device_id || '';\n _context2.next = 60;\n break;\n case 31:\n if (!/resso/i.test(ua)) {\n _context2.next = 42;\n break;\n }\n _context2.next = 34;\n return call('app.userInfo');\n case 34:\n _userInfo = _context2.sent;\n _context2.next = 37;\n return call('app.getAppInfo', {});\n case 37:\n _appInfo = _context2.sent;\n answers.uid = _userInfo && _userInfo.data ? _userInfo.data.uid : '';\n answers.did = _appInfo && _appInfo.data ? _appInfo.data.device_id : '';\n _context2.next = 60;\n break;\n case 42:\n if (!/fans_app/i.test(ua)) {\n _context2.next = 51;\n break;\n }\n _context2.next = 45;\n return fans.app.getUserInfo({});\n case 45:\n resp = _context2.sent;\n if (resp.data.hasLoggedIn) {\n _userInfo2 = resp.data.userInfo;\n answers.uid = _userInfo2.userID || '';\n } else {\n answers.uid = '';\n }\n globalProps = JSON.parse(__globalprops.getGlobalProps());\n answers.did = globalProps.did || globalProps.deviceId || '';\n _context2.next = 60;\n break;\n case 51:\n if (!(/LV/i.test(ua) || /com\\.lemon\\.lvoverseas/i.test(ua))) {\n _context2.next = 60;\n break;\n }\n _context2.next = 54;\n return capcut.app.getUserInfo({});\n case 54:\n _userInfo3 = _context2.sent;\n _context2.next = 57;\n return capcut.app.appInfo({});\n case 57:\n _appInfo2 = _context2.sent;\n answers.uid = _userInfo3.data.user_id || '';\n answers.did = _appInfo2.data.device_id || '';\n case 60:\n if (!id) {\n _context2.next = 64;\n break;\n }\n console.warn('提交 answers', answers);\n // 点击提交msg\n postMessage({\n type: 'pre-submit',\n answers: answers\n });\n return _context2.abrupt(\"return\", api.submitQuest(id, answers, _this.questId, _this.sign, hideAnalysisHeader).then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var result,\n _result$data,\n data,\n _args = arguments;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n result = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};\n if (window.limitTimeTask) {\n clearTimeout(window.limitTimeTask);\n }\n _result$data = result.data, data = _result$data === void 0 ? {} : _result$data;\n res = data;\n traceSubmitQuestionnaire(true);\n if (!res) {\n res = {};\n }\n _this.submitting = false;\n _this.submitted = true;\n if (res.prompt) {\n _this.realPrompt = res.prompt;\n }\n if (result && result.code === 200) {\n // 提交成功msg\n postMessage({\n type: 'success-submit',\n answers: answers,\n result: result\n });\n }\n _this.doAfterSubmit(result, answers);\n case 11:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }))).catch(function (err) {\n // 提交失败msg\n postMessage({\n type: 'error-submit',\n code: err.code,\n message: err.message\n });\n _this.doAfterSubmit({\n code: err.code || 0,\n i18n_prompt: err.i18n_prompt,\n message: err.message\n }, answers);\n traceOnError(err.message, err.code, '提交接口');\n throw err;\n }));\n case 64:\n // lackof id ,we must be preview mode.\n console.warn('本地 answers', JSON.parse(JSON.stringify(answers)));\n _context2.next = 67;\n return new Promise(function (resolve) {\n return window.setTimeout(function () {\n return resolve();\n }, 2000);\n });\n case 67:\n postMessage({\n type: 'error-submit',\n code: 0,\n message: '找不到问卷ID'\n });\n _this.doAfterSubmit(undefined, answers);\n case 69:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n })));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"doAfterSubmit\", function () {\n var res = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var answers = arguments.length > 1 ? arguments[1] : undefined;\n var _this$state3 = _this.state,\n quest = _this$state3.quest,\n showLottery = _this$state3.showLottery;\n var finishImgUrl = quest.finishImgUrl,\n finishImgScale = quest.finishImgScale,\n did = quest.did,\n uid = quest.uid;\n _this.submitting = false;\n postMessage({\n type: 'did-submit',\n answers: answers,\n result: res\n });\n var retrieved = retrieveDataAfterSubmit({\n res: res,\n showQuotaLimit: _this.showQuotaLimit,\n id: _this.state.id,\n location: _this.props.location\n });\n if (retrieved) {\n var data = retrieved.data,\n score = retrieved.score,\n type = retrieved.type;\n var title = retrieved.title;\n if (score !== undefined) {\n var fixedScore = score;\n if (fixedScore !== Math.round(fixedScore)) {\n fixedScore = fixedScore.toFixed(2);\n }\n title = React.createElement(React.Fragment, null, React.createElement(\"div\", {\n className: \"flex alignCenter justifyCenter\"\n }, title), React.createElement(\"div\", {\n className: \"flex alignCenter justifyCenter\"\n }, getLocalText('user-score'), React.createElement(\"div\", {\n className: \"score\"\n }, fixedScore)));\n }\n try {\n if (/BDGameSDK/i.test(navigator.userAgent)) {\n call('view.setNavBarVisible', {}, console.info);\n }\n } catch (err) {\n console.warn(err);\n }\n _this.setState({\n quest: _objectSpread({}, quest, {\n showProgress: false\n }),\n msg: {\n title: title,\n type: type,\n description: React.createElement(Suspense, {\n fallback: React.createElement(\"div\", {\n style: {\n height: '100%'\n }\n })\n }, _this.props.device === 'mobile' && (quest === null || quest === void 0 ? void 0 : quest.newH5Style) ? React.createElement(NewEnding, {\n questName: quest.title,\n title: title,\n type: type,\n res: data,\n finishImgScale: finishImgScale,\n finishImgUrl: finishImgUrl,\n realPrompt: _this.realPrompt,\n did: did,\n uid: uid,\n device: _this.props.device,\n showLotteryPage: _this.showLotteryPage\n }) : React.createElement(Ending, {\n title: title,\n type: type,\n res: data,\n finishImgScale: finishImgScale,\n finishImgUrl: finishImgUrl,\n realPrompt: _this.realPrompt,\n did: did,\n uid: uid,\n device: _this.props.device,\n showLotteryPage: _this.showLotteryPage\n }))\n }\n });\n }\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"showQuotaLimit\", function (hit, quotaStrategy) {\n var _filteredAnswers$qid;\n var _this$state4 = _this.state,\n answers = _this$state4.answers,\n quest = _this$state4.quest;\n var filteredAnswers = _objectSpread({}, answers);\n var qid = hit.question_id;\n filteredAnswers[qid].selected = (_filteredAnswers$qid = filteredAnswers[qid]) === null || _filteredAnswers$qid === void 0 ? void 0 : _filteredAnswers$qid.selected.filter(function (id) {\n return hit.option_id !== id;\n });\n var that = _assertThisInitialized(_assertThisInitialized(_this));\n _this.setState({\n answers: filteredAnswers\n }, function () {\n that.setState({\n quest: _objectSpread({}, quest, {\n quotaStrategy: CaseUtil.toCaml(quotaStrategy)\n })\n }, that.forceUpdate);\n });\n var element = document.getElementById(qid);\n // element.setAttribute('style', 'border: 1px solid red !important');\n element.scrollIntoView();\n document.querySelector('body').scrollTop = element.offsetTop;\n document.querySelector('html').scrollTop = element.offsetTop;\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"turnPage\", function () {\n var p = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n current: 1,\n total: 1\n };\n _this.setState(function (_ref3) {\n var page = _ref3.page;\n return getPage({\n p: p,\n page: page\n });\n });\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onSubmit\", function (value) {\n var _this$state$page = _this.state.page,\n current = _this$state$page.current,\n total = _this$state$page.total;\n _this.setState(function (_ref4) {\n var showAnswer = _ref4.showAnswer;\n return {\n showAnswer: _objectSpread({}, showAnswer, value)\n };\n });\n // validator form\n if (current < total) {\n _this.turnPage({\n current: current + 1\n });\n scrollToTop();\n return null;\n }\n return _this.submitForm();\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"emptyAllAnswers\", function () {\n _this.setState({\n answers: {}\n });\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"update\", function (changed) {\n if (_this.submitting) return;\n _this.submitted = false;\n _this.setState(function (_ref5) {\n var answers = _ref5.answers;\n return {\n answers: _objectSpread({}, answers, changed)\n };\n }, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var _this$state5, answers, page, sampleConfig, selectedAnswers, stringToEncrypt, cipher, answerKeys, questions, hasChoice, _questionFilter2, _questionFilter2$visi, visibles, isNextEnd, globalSampleGids, qs;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _this$state5 = _this.state, answers = _this$state5.answers, page = _this$state5.page, sampleConfig = _this$state5.sampleConfig;\n selectedAnswers = _this.getSelectedAnswers(answers);\n Object.keys(changed).forEach(function (id) {\n return _this.traceUpdate(id, selectedAnswers);\n });\n stringToEncrypt = JSON.stringify(answers);\n if (isUrlToGenStamp) {\n cipher = AES.encrypt(stringToEncrypt, _this.questId).toString();\n _this.setState({\n cipherUrl: \"\".concat(window.location.href.split('#/')[0].replace('/q/', '/b/'), \"#/\").concat(cipher)\n });\n }\n answerKeys = Object.keys(changed);\n questions = _this.state.allQuestions;\n hasChoice = answerKeys.some(function (id) {\n var question = questions.find(function (q) {\n return q.id === id;\n });\n return typeChecker.isChoice(question) || typeChecker.isScale(question) || typeChecker.isMatrix(question);\n });\n if (hasChoice) {\n // 如果是选择题变化了,那依赖可能变了,理论上只需要更新该题以后的题目即可\n _questionFilter2 = questionFilter(questions, answers, sampleConfig, answerKeys), _questionFilter2$visi = _questionFilter2.visibles, visibles = _questionFilter2$visi === void 0 ? [] : _questionFilter2$visi, isNextEnd = _questionFilter2.isNextEnd, globalSampleGids = _questionFilter2.globalSampleGids;\n qs = visibles;\n if (Object.keys(globalSampleGids).length && shuffleGroup({\n sampleConfig: sampleConfig\n })) {\n qs = getRealQuestions({\n globalSampleGids: globalSampleGids,\n questions: qs\n });\n }\n _this.setState({\n questions: qs,\n page: _objectSpread({}, page, {\n total: qs.filter(function (el, index) {\n return el.type === 'page_break' && index !== qs.length - 1;\n }).length\n }),\n isNextEnd: isNextEnd\n });\n }\n case 9:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n })));\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getPageContent\", function () {\n // questions 是实际展示的题目list\n var _this$state6 = _this.state,\n questions = _this$state6.questions,\n current = _this$state6.page.current,\n isNextEnd = _this$state6.isNextEnd;\n return getPageContentLogic(questions, current, isNextEnd);\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"backLastPage\", function () {\n var current = _this.state.page.current;\n if (current > 0) {\n _this.turnPage({\n current: current - 1\n });\n scrollToTop();\n return null;\n }\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setUpStore\", function () {\n return {\n state: _objectSpread({}, _this.state, {\n realPrompt: _this.realPrompt\n }),\n action: {\n submit: _this.onSubmit,\n emptyAllAnswers: _this.emptyAllAnswers,\n turnPage: _this.turnPage,\n update: _this.update,\n getPageContent: _this.getPageContent,\n backLastPage: _this.backLastPage\n }\n };\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"showLotteryPage\", function () {\n _this.setState({\n showLottery: true\n });\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getSelectedAnswers\", function (answers) {\n var location = _this.props.location;\n var questions = _this.state.questions;\n var params = {};\n Object.keys(answers).forEach(function (key) {\n try {\n var hasSelectd = _this.checkQuestSeleted(answers, key);\n if (hasSelectd) {\n params[key] = answers[key];\n questions.forEach(function (q) {\n if (q.id === key) {\n params[key].uuid = q.uuid;\n }\n });\n }\n } catch (err) {\n console.error(err);\n }\n });\n params.custom_answer = getUrlParams(location);\n return params;\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"checkQuestSeleted\", function (answers, key) {\n var type = answers[key].type;\n if (type === 'matrix') {\n var _answers$key;\n return Object.keys(((_answers$key = answers[key]) === null || _answers$key === void 0 ? void 0 : _answers$key.selected) || {}).length;\n } else if (type === 'optionInput') {\n var _answers$key2;\n var selected = (_answers$key2 = answers[key]) === null || _answers$key2 === void 0 ? void 0 : _answers$key2.option_blank;\n if (Object.keys(selected || {}).length) {\n for (var k in selected) {\n var _selected$k;\n return ((_selected$k = selected[k]) === null || _selected$k === void 0 ? void 0 : _selected$k.length) > 0 && selected[k][0] !== '';\n }\n }\n } else if (type === 'cascader') {\n var _answers$key3, _answers$key3$selecte;\n return (_answers$key3 = answers[key]) === null || _answers$key3 === void 0 ? void 0 : (_answers$key3$selecte = _answers$key3.selected_ids) === null || _answers$key3$selecte === void 0 ? void 0 : _answers$key3$selecte.length;\n } else if (['short', 'long'].includes(type)) {\n var _answers$key4;\n return (_answers$key4 = answers[key]) === null || _answers$key4 === void 0 ? void 0 : _answers$key4.text;\n } else if (type === 'scale') {\n var _answers$key5;\n return (_answers$key5 = answers[key]) === null || _answers$key5 === void 0 ? void 0 : _answers$key5.degree;\n } else if (type === 'location') {\n var _answers$key6, _answers$key6$locatio;\n return (_answers$key6 = answers[key]) === null || _answers$key6 === void 0 ? void 0 : (_answers$key6$locatio = _answers$key6.location) === null || _answers$key6$locatio === void 0 ? void 0 : _answers$key6$locatio.length;\n } else if (type === 'date') {\n var _answers$key7;\n return (_answers$key7 = answers[key]) === null || _answers$key7 === void 0 ? void 0 : _answers$key7.date;\n } else if (type === 'upload') {\n var _answers$key8, _answers$key8$list;\n return (_answers$key8 = answers[key]) === null || _answers$key8 === void 0 ? void 0 : (_answers$key8$list = _answers$key8.list) === null || _answers$key8$list === void 0 ? void 0 : _answers$key8$list.length;\n } else {\n var _answers$key9, _answers$key9$selecte;\n return (_answers$key9 = answers[key]) === null || _answers$key9 === void 0 ? void 0 : (_answers$key9$selecte = _answers$key9.selected) === null || _answers$key9$selecte === void 0 ? void 0 : _answers$key9$selecte.length;\n }\n });\n window.isRD = window.location.host.includes('127.0.0.1');\n window.isLocal = /preview\\/?$/.test(window.location.pathname);\n window.isReport = /dp_survey_statistics|bytesurvey_responses/.test(window.location.href);\n var _hashId = _this.getQuestId();\n _this.state = {\n id: _hashId,\n loading: true,\n msg: null,\n // 不要使用message这个关键字,可能会被antd import给误认为是message组件\n page: {\n current: 1,\n total: 1\n },\n quest: null,\n questions: [],\n recycleUid: true,\n // 回收uid\n recycleProducts: null,\n // 回收app list\n resume: true,\n // 断点续答\n allQuestions: [],\n answers: {},\n startTime: null,\n // 开始答题时间戳 秒\n showAnswer: {},\n cipherUrl: '',\n error: '',\n showLottery: false,\n sampleConfig: null,\n previewAuth: true,\n qnVersion: null\n };\n return _this;\n }\n _createClass(App, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n try {\n localStorage.setItem('survey-height', document.body.clientHeight);\n localStorage.setItem('survey-width', document.body.clientWidth);\n } catch (error) {\n console.error('get LSAnswer error: ', error.message);\n }\n var urlParams = getUrlParams(this.props.location);\n if (!window.isLocal || urlParams.id) {\n this.fetchQuest();\n }\n if (window.isLocal) {\n console.log('Under development environment, TEA data uploading is disabled.');\n if (urlParams.id && urlParams.timestamp) {\n localStorage.removeItem(\"survey-preview-\".concat(urlParams.id));\n }\n this.getLocalQuest();\n }\n if (urlParams.appId && urlParams.appId === '2682' && this.props.device === 'mobile') {\n document.addEventListener('contextmenu', function (e) {\n e.preventDefault();\n });\n }\n this.setState({\n startTime: Date.now()\n });\n // console.log('SLARDAR_RELEASE', process.env.SLARDAR_RELEASE);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(_, prevState) {\n var answers = this.state.answers;\n if (prevState.answers !== answers) {\n var _this$state7 = this.state,\n questionnaireId = _this$state7.id,\n resume = _this$state7.resume;\n if (!window.isLocal && (!questionnaireId || !resume)) return;\n var urlParams = getUrlParams();\n var localStorageId = window.isLocal && !(urlParams.uid || urlParams.uindex) ? \"survey-preview-\".concat(urlParams.id) : questionnaireId;\n try {\n var LSAnswer = localStorageId ? localStorage.getItem(localStorageId) || '{}' : '{}';\n LSAnswer = JSON.parse(LSAnswer);\n Object.entries(answers).forEach(function (_ref7) {\n var _ref8 = _slicedToArray(_ref7, 2),\n key = _ref8[0],\n value = _ref8[1];\n LSAnswer[key] = value;\n });\n if (localStorageId) {\n localStorage.setItem(localStorageId, JSON.stringify(LSAnswer));\n }\n } catch (error) {\n console.error('get LSAnswer error: ', error.message);\n }\n }\n }\n }, {\n key: \"componentDidCatch\",\n value: function componentDidCatch(error, errorInfo) {\n // 你同样可以将错误日志上报给服务器\n var stack = JSON.parse(JSON.stringify(errorInfo)).componentStack.split('\\n').toString();\n console.error('mainError', error.message);\n traceOnError(error.message, error.code, stack);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n traceExitQuestionnaire(true);\n this.setState({\n startTime: null\n });\n }\n }, {\n key: \"getLocalQuest\",\n value: function getLocalQuest() {\n var _this2 = this;\n console.debug('getLocalQuest');\n // 监听用户单份答案\n window.addEventListener('message', function (evt) {\n var data = evt.data;\n if (!data.qid) return;\n if (data.type === 'user-report-answers') {\n document.querySelector('#root').style.pointerEvents = 'none';\n var answers = JSON.parse(data.answers);\n _this2.setState(function (_ref9) {\n var quest = _ref9.quest;\n return {\n quest: _objectSpread({}, quest, {\n desc: ''\n })\n };\n });\n _this2.update(answers);\n } else if (data.type === 'user-report-print') {\n window.print();\n }\n });\n }\n }, {\n key: \"fetchQuest\",\n value: function () {\n var _fetchQuest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n var _this3 = this;\n var hashId, _this$props, location, _this$props$device, device, customsPre, urlCustoms;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n hashId = this.getQuestId();\n if (!(!hashId && !window.isLocal)) {\n _context4.next = 6;\n break;\n }\n this.setState({\n loading: false,\n msg: {\n type: 'error',\n title: getLocalText('no.id')\n }\n });\n postMessage({\n type: 'error-mount',\n code: 0,\n message: '找不到问卷ID'\n });\n postMessage({\n type: 'did-mount'\n });\n return _context4.abrupt(\"return\");\n case 6:\n this.setState({\n loading: true\n });\n _this$props = this.props, location = _this$props.location, _this$props$device = _this$props.device, device = _this$props$device === void 0 ? 'pc' : _this$props$device;\n customsPre = getUrlParams(location);\n urlCustoms = Object.keys(customsPre).map(function (key) {\n return \"\".concat(key, \"=\").concat(customsPre[key]);\n }).join('&');\n api.getQuest(hashId, this.questId, this.sign, urlCustoms).then(function (res) {\n if (!_this3.state.startTime) {\n return;\n }\n if (res === 'noPreviewAuth') {\n _this3.setState({\n loading: false,\n previewAuth: false\n });\n return;\n }\n window.serverTime = res.server_time;\n window.rnd = res.rnd;\n var sampleQuestInfo = sampleDataToQuestions(res.data);\n var questionnaire = CaseUtil.toCaml(sampleQuestInfo);\n _this3.setState({\n loading: false,\n sampleConfig: questionnaire.struct.sampleConfig,\n qnVersion: questionnaire.qnVersion\n },\n // 问卷访问正常\n function () {\n return postMessage({\n type: 'success-mount',\n data: CaseUtil.toCaml(sampleQuestInfo)\n });\n });\n var quest = transferDefaultDataToQuest(questionnaire);\n if (!window.isLocal && !window.isReport) {\n var _quest$resume;\n _this3.retrieveDefaultAnswers((_quest$resume = quest.resume) !== null && _quest$resume !== void 0 ? _quest$resume : true);\n }\n if (quest.prompt) {\n _this3.realPrompt = quest.prompt;\n }\n // FIXME: 中转页面跳转0.1s\n if (window.location.href.includes('?survey_finish_immediately')) {\n handleLimitTime(_this3.submitForm, 0);\n } else if (quest.limitTime) {\n handleLimitTime(_this3.submitForm, quest.limitTime * 60);\n }\n _this3.resetStore(hashId, quest);\n window.showErrorInfoAfterSubmitBtn = showErrorQuestIds.includes(questionnaire.questionnaireId);\n }).catch(function (err) {\n if (!_this3.state.startTime) {\n return;\n }\n if (err.code == 401) {\n return;\n } else if (err && err.code >= 400 && err.code < 600) {\n var _err$data;\n window.language = err.language || navigatorLang();\n traceOnError(err.message, err.code, '问卷详情接口');\n var errorText = err.i18n_prompt ? getLocalText(\"error.\".concat(err.i18n_prompt)) // 后端错误提示\n : getLocalText('RequestError.400');\n var fixedScore = (_err$data = err.data) === null || _err$data === void 0 ? void 0 : _err$data.score;\n if (err.data && fixedScore !== undefined) {\n if (fixedScore !== Math.round(fixedScore)) {\n fixedScore = fixedScore.toFixed(2);\n }\n errorText = React.createElement(React.Fragment, null, React.createElement(\"div\", {\n className: \"flex alignCenter justifyCenter\"\n }, errorText), React.createElement(\"div\", {\n className: \"flex alignCenter justifyCenter\"\n }, getLocalText('user-score'), React.createElement(\"div\", {\n className: \"score\"\n }, fixedScore)));\n }\n _this3.setState({\n msg: {\n title: errorText,\n type: 'warning',\n description: React.createElement(Suspense, {\n fallback: React.createElement(\"div\", {\n style: {\n height: '100%'\n }\n })\n }, React.createElement(Ending, {\n type: \"warning\",\n title: errorText,\n res: err.data || {},\n errorCode: err.i18n_prompt,\n realPrompt: (err.data || {}).prompt,\n showLotteryPage: _this3.showLotteryPage,\n device: _this3.props.device\n }))\n },\n loading: false\n });\n console.warn('catch', err);\n } else {\n _this3.props.throwError(err);\n }\n _this3.setState(function (state) {\n return _objectSpread({}, state, {\n loading: false\n });\n }, function () {\n // 问卷失效,过期等异常情况\n postMessage({\n type: 'error-mount',\n code: err.code || 0,\n message: err.message\n });\n });\n }).finally(function () {\n return postMessage({\n type: 'did-mount'\n });\n });\n case 11:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n return function fetchQuest() {\n return _fetchQuest.apply(this, arguments);\n };\n }()\n }, {\n key: \"render\",\n value: function render() {\n var _background$color;\n var _this$props2 = this.props,\n videoStyle = _this$props2.videoStyle,\n _this$props2$device = _this$props2.device,\n device = _this$props2$device === void 0 ? 'pc' : _this$props2$device;\n var _this$state8 = this.state,\n quest = _this$state8.quest,\n answers = _this$state8.answers,\n questions = _this$state8.questions,\n previewAuth = _this$state8.previewAuth;\n var store = this.setUpStore();\n var theme = (quest === null || quest === void 0 ? void 0 : quest.theme) || '';\n var newH5Style = device === 'mobile' && (quest === null || quest === void 0 ? void 0 : quest.newH5Style);\n var questBgColor = (quest === null || quest === void 0 ? void 0 : quest.questBackground) || '#fff';\n var background = (quest === null || quest === void 0 ? void 0 : quest.background) || {};\n var customizedTheme = themesRepo[theme];\n var primaryColor = (quest === null || quest === void 0 ? void 0 : quest.primaryColor) || '#3370ff';\n var textColor = background.type === 'color' && (quest === null || quest === void 0 ? void 0 : quest.textColor) || '';\n var pageBgColor = (_background$color = background.color) !== null && _background$color !== void 0 ? _background$color : 'var(--bg-gray)';\n Window.prototype.setItem('survey-quest-theme', theme);\n var titleKey = window.showMultiLang ? \"\".concat(window.language, \"Title\") : 'title';\n return React.createElement(React.Fragment, null, React.createElement(Helmet, null, React.createElement(\"title\", null, (quest === null || quest === void 0 ? void 0 : quest[titleKey]) || 'Survey'), React.createElement(\"meta\", {\n name: \"title\",\n content: (quest === null || quest === void 0 ? void 0 : quest[titleKey]) || 'Powered by ByteSurvey'\n })), React.createElement(Global, {\n styles:\n /*#__PURE__*/\n /*#__PURE__*/\n css(newH5Style ? getNewH5HTML : customizedTheme ? getCustomizedHTML(customizedTheme) : background.type === 'url' && background.url && device == 'mobile' ? getCustomizedHTMLByQuestBgColor(quest, questBgColor) : \"\\n html {\\n --primary-color: \".concat(primaryColor, \" !important;\\n --text-color: \").concat(textColor, \" !important;\\n --page-bg: \").concat(pageBgColor, \" !important;\\n }\"))\n }), React.createElement(GlbStyleBox, {\n id: \"app\",\n style: _objectSpread({}, window.textDirection),\n className: /*#__PURE__*/_css(_ref10, videoStyle, _ref11)\n }, (quest === null || quest === void 0 ? void 0 : quest.showProgress) && window.location.href.indexOf('/submitted') < 0 && React.createElement(Suspense, {\n fallback: React.createElement(\"div\", {\n style: {\n height: 6\n }\n })\n }, React.createElement(Progress, {\n newH5Style: quest.newH5Style,\n progress: Object.keys(answers).filter(function (qid) {\n return questions.find(function (q) {\n return q.id === qid;\n });\n }).length / questions.filter(function (q) {\n return !typeChecker.isPageBreak(q) && !typeChecker.isDescription(q);\n }).length * 100\n })), React.createElement(LimitTime, null, quest && !!quest.limitTime && React.createElement(IconFont, {\n type: \"icon-clock\",\n className: \"marginRight5\"\n }), React.createElement(\"div\", {\n id: \"limitTimeRef\"\n })), React.createElement(Provider, {\n value: store\n }, (!!this.state.questions.length || !!this.state.msg || !this.state.loading) && this.props.children)), !previewAuth && React.createElement(\"div\", {\n style: {\n textAlign: 'center',\n paddingTop: 120\n }\n }, \"\\u65E0\\u9884\\u89C8\\u6743\\u9650-No Auth\"));\n }\n }]);\n return App;\n}(PureComponent)) || _class) || _class;\nexport default module.hot ? hot(module)(App) : App;\nvar LimitTime = /*#__PURE__*/styled(\"div\", {\n target: \"e4emdwb0\"\n})(\"position:fixed;z-index:999;top:10px;right:10px;display:flex;align-items:center;\");","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _wrapNativeSuper from \"@babel/runtime/helpers/wrapNativeSuper\";\nimport React, { Component } from 'react';\nimport styled from '@emotion/styled';\nimport { css } from 'emotion';\nimport { toInt } from '../utilities/common';\nimport { getLocalText } from '../utilities/language';\nexport var RequestError = /*#__PURE__*/function (_Error) {\n _inherits(RequestError, _Error);\n function RequestError() {\n var _this;\n var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, RequestError);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(RequestError).call(this, error));\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n if (Error.captureStackTrace) {\n Error.captureStackTrace(_assertThisInitialized(_assertThisInitialized(_this)), RequestError);\n }\n var errorText;\n switch (error.code) {\n default:\n errorText = null;\n break;\n case 400:\n errorText = error.i18n_prompt ? getLocalText(\"error.\".concat(error.i18n_prompt)) // 后端错误提示\n : getLocalText('RequestError.400');\n break;\n case 404:\n errorText = getLocalText('RequestError.404'); // '资源未找到';\n break;\n case 403:\n errorText = getLocalText('RequestError.403'); // '没有访问权限';\n break;\n case 401:\n errorText = getLocalText('RequestError.401'); // '请求未授权';\n break;\n }\n if (!errorText) {\n if (error.code >= 500) errorText = getLocalText('RequestError.biggerThan400');\n // '服务器错误';\n else if (error.code >= 400) errorText = getLocalText('RequestError.biggerThan500');\n // '客户端错误';\n else errorText = getLocalText('RequestError.unknow'); // '未知错误';\n }\n\n _this.name = \"Request Error: \".concat(errorText, \"(code: \").concat(error.code, \") \").concat(error.message);\n return _this;\n }\n return RequestError;\n}(_wrapNativeSuper(Error));\nvar ErrorBoundary = /*#__PURE__*/function (_Component) {\n _inherits(ErrorBoundary, _Component);\n function ErrorBoundary() {\n var _getPrototypeOf2;\n var _this2;\n _classCallCheck(this, ErrorBoundary);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this2 = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(ErrorBoundary)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this2)), \"state\", {\n error: null\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this2)), \"throwError\", function (error) {\n _this2.setState({\n error: error\n });\n });\n return _this2;\n }\n _createClass(ErrorBoundary, [{\n key: \"componentDidCatch\",\n value: function componentDidCatch(error) {\n // component info\n this.throwError(error);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$state$error = this.state.error,\n error = _this$state$error === void 0 ? {} : _this$state$error;\n var _this$props = this.props,\n children = _this$props.children,\n restProps = _objectWithoutProperties(_this$props, [\"children\"]);\n if (typeof children !== 'function') {\n error = new TypeError('the children of ErrorBoundary Component must be callable');\n }\n if (!error) {\n return children(restProps, this.throwError);\n }\n console.error && console.error(error);\n if (error.code) {\n // http error\n error = new RequestError(error);\n }\n return React.createElement(MainView, null, React.createElement(\"div\", {\n className: errorBoxCls\n }, React.createElement(\"h2\", null, error.name), React.createElement(\"pre\", null, error.stack)));\n }\n }]);\n return ErrorBoundary;\n}(Component);\nexport { ErrorBoundary as default };\nexport var errorBounder = function errorBounder(WrappedComponent) {\n var ConnectedComponent = function ConnectedComponent(props) {\n return React.createElement(ErrorBoundary, null, function (_, throwError) {\n return React.createElement(WrappedComponent, _extends({}, props, {\n throwError: throwError\n }));\n });\n };\n ConnectedComponent.displayName = \"ErrorBounded(\".concat(WrappedComponent.displayName || WrappedComponent.name || 'Unknown', \")\");\n return ConnectedComponent;\n};\nvar MainView = /*#__PURE__*/styled(\"div\", {\n target: \"e18r78op0\"\n})(\"position:relative;max-width:900px;margin:auto;padding:\", function (_ref) {\n var vgap = _ref.vgap;\n return toInt(vgap, 30);\n}, \"px \", function (_ref2) {\n var hgap = _ref2.hgap;\n return toInt(hgap, 20);\n}, \"px;\");\nvar errorBoxCls = /*#__PURE__*/css(\"background-color:#ffefee;padding:20px;\");","export var postMessage = function postMessage(data) {\n try {\n var _window$parent, _window$opener;\n if ((_window$parent = window.parent) === null || _window$parent === void 0 ? void 0 : _window$parent.postMessage) {\n console.debug('post message', data);\n try {\n window.parent.postMessage(data, '*');\n } catch (error) {\n console.error('parent postMessage error:', error.message);\n }\n }\n if ((_window$opener = window.opener) === null || _window$opener === void 0 ? void 0 : _window$opener.postMessage) {\n console.debug('post message', data);\n try {\n window.opener.postMessage(data, '*');\n } catch (error) {\n console.error('opener postMessage error:', error.message);\n }\n }\n } catch (err) {\n console.error(err);\n }\n};","import styled from '@emotion/styled';\n// const tcpyConfig = require('../tcpy-conf.json');\n\nvar fontStack = \"BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', \\n 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif,\\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'\";\nexport var GlbStyleBox = /*#__PURE__*/styled(\"div\", {\n target: \"e9nvlq50\"\n})(\"*{font-family:\", fontStack, \";}img{max-width:100%;}.borderBox{box-sizing:border-box;}a{text-decoration:none;}.allHeight{height:100%;}.allScreen{height:100vh;width:100vw;}.allWidth{width:100%;}.overflowHidden{overflow:hidden;}.overflowAuto{overflow:auto;}.wordWrapBreak{word-wrap:break-word;}.inlineFlex{display:inline-flex;}.flex{display:flex;}.columnFlex{display:flex;flex-direction:column;}.justifyCenter{justify-content:center;}.justifyAround{justify-content:space-around;}.justifyBetween{justify-content:space-between;}.justifyEnd{justify-content:flex-end;}.alignCenter{align-items:center;}.alignStart{align-items:flex-start;}.alignEnd{align-items:flex-end;}.flexWrap{flex-wrap:wrap;}.textCenter{display:flex;flex-direction:column;justify-content:center;align-items:center;}.flexNone{flex:none;}.flex0{flex:0;}.flex1{flex:1;}.flex2{flex:2;}.flex3{flex:3;}.flex4{flex:4;}.grayBG{background:rgb(248,248,248);}.whiteBG{background:white;}.whiteColor{color:white;}.grayColor{color:#c3c3c3;}.blueColor{color:var(--primary-color);}.redColor{color:var(--text-red);}.greenColor{color:green;}.label{color:#090909;text-align:right;}.fs6{font-size:6px;}.fs12{font-size:12px;}.fs13{font-size:13px;}.fs14{font-size:14px;}.fs15{font-size:15px;}.fs16{font-size:16px;}.fs17{font-size:17px;}.fs18{font-size:18px;}.fs19{font-size:19px;}.fs20{font-size:20px;}.fs22{font-size:22px;}.fs24{font-size:24px;}.margin5{margin:5px;}.marginLeft5{margin-left:5px;}.marginRight5{margin-right:5px;}.marginTop5{margin-top:5px;}.marginBottom5{margin-bottom:5px;}.margin10{margin:10px;}.marginLeft10{margin-left:10px;}.marginRight10{margin-right:10px;}.marginTop10{margin-top:10px;}.marginBottom10{margin-bottom:10px;}.margin20{margin:20px;}.marginLeft20{margin-left:20px;}.marginRight20{margin-right:20px;}.marginTop20{margin-top:20px;}.marginBottom20{margin-bottom:20px;}.margin30{margin:30px;}.marginLeft30{margin-left:30px;}.marginRight30{margin-right:30px;}.marginTop30{margin-top:30px;}.marginBottom30{margin-bottom:30px;}.padding10{padding:10px;}.paddingLeft10{padding-left:10px;}.paddingRight10{padding-right:10px;}.paddingTop10{padding-top:10px;}.paddingBottom10{padding-bottom:10px;}.padding20{padding:20px;}.paddingLeft20{padding-left:20px;}.paddingRight20{padding-right:20px;}.paddingTop20{padding-top:20px;}.paddingBottom20{padding-bottom:20px;}.width100{width:100px;}.width200{width:200px;}.width300{width:300px;}.minWidth1000{min-width:1000px;}.relative{position:relative;}.pointer{cursor:pointer;}.notAllowed{cursor:not-allowed;}.ellipsis{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.hidden{display:none;}.required:before{display:inline-block;margin-right:4px;content:'*';line-height:1;font-size:14px;color:#f5222d;}.hoverBigger{transition:transform 0.2s;}.bigger1-1{transform:scale(1.1,1.1);}.hoverBigger:hover{transform:scale(1.1,1.1);}.borderRadius5{border-radius:5px;}.breakWord{word-wrap:break-word;word-break:break-all;}.preLine{white-space:pre-line;}.noWrap{white-space:nowrap;}.textAlignCenter{text-align:center;}.labelText{font-size:12px;font-weight:600;color:rgba(113,125,145,1);line-height:17px;}.textAlignRight{text-align:right;}.textAlignLeft{text-align:left;}body{margin:0;padding:0;font-family:sans-serif Arial Helvetica;}*{box-sizing:border-box;hyphens:auto;}hr{display:block;height:1px;border:0;border-top:1px solid #e8e8e8;margin:1em 0;padding:0;}.transition-group{.group-item{display:block;}.group-item-enter.group-item-enter-active{transition:height 300ms ease-in;}.group-item-exit.group-item-exit-active{transition:height 300ms ease-in;}}#matrix{.ant-table-small > .ant-table-content > .ant-table-body{margin:0 !important;}th{vertical-align:top;text-align:center;font-size:13px;}}.choiceImg{width:auto;height:auto;max-height:80%;max-width:80%;}.ant-form-item-label label:after{content:'';}.has-error .ant-form-item-children-icon{display:none;}.am-list-item .am-input-control input{border:0;}#matrix .ant-checkbox-wrapper-checked.isSingle .ant-checkbox-inner{border-radius:50%;height:20px;width:20px;transition:none;}#matrix .ant-checkbox-wrapper-checked.isSingle .ant-checkbox-inner::after{width:6px;height:6px;background-color:var(--primary-color);border-radius:50%;border:0;transition:none;opacity:1;}.isSingle .ant-checkbox-inner{border-radius:50%;display:flex;border:solid 1px var(--ant-border);background-color:var(--ant-bg);align-items:center;justify-content:center;::after{position:static;background:white;display:block;height:8px;width:8px;border-radius:50%;transform:none;opacity:0;}}.isSingle .ant-checkbox-checked::after{border:0;}.no-touch{user-select:none;}.no-event{pointer-events:none;}\");","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAk4AAAACCAYAAACuXFPLAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADeSURBVHgB7ZTLCoJAGEYdHFFKKKyhvIC2ydfo0X0JN25GwQtCQUGBkmKzlGCaoIbZ/Gc535zFvzmaBgAAAAAAAHwFct1DOH9oGlp8Et7/z9F1YyjLrOLbJ+y6hS/Ltyyto5S2vD2KIqvv0U6VTwixMbY3vB0h41HX2VmVb5rTLc/zK29n96/Z/StZvuMsLmma3nm75x230/RcqvIJifYYI5O3s/tbdn8nyw+CwB9HA/P2OA6rJEkGVf4v7ZDvy22PyFfdHpGvuj0iX3Z7RL7q9oh82e0R+arbI/L/3Z4XKdfrdBemCjYAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAUuSURBVHgB3ZpNbxpHGMefmdlhbfBrYkQbYQlL9JAmSg/0mEq01/pW9VL3C6TfIDd/Cx97ai9Rb+2dg6+Wqliu1JYDsawgAnVty7zvznSexRAgC+zu7GLo7xA7y2r8/JmZ522GQOhIks9/yarVKq3Xk7TZvGRC2ERKiwy/RYghOV8RlMbk5uaNnUwmRaFQsCBkCISCJLnc50a5DLzbbdFxMZ6NUaJNc8NOpTrWyclJF0JAU6Ak2ewnsetrkwcVNQnGTLG6+sAulfIdgEMBAQloVHTC3NjasjvF4vfdIEJ9G5fP542zs+rKPIQNgzOaTvOO36Xrw0hJMpk98/bW5HCPrK193C2VCm00yMv7FDxxSFOpz+L3LQ65vS3zVOpZHG3y8j6b/cohTSZfxYXoevwyokdKm6yv/23U6y9sgMLUmZwhsCdu3vvNC15FThG4uOL6eBE5wXhJksmniUUWNwx62ErldQNcHI/rvkJvuSziENtu00wmb7p99oHAXC7HF8Fb+gW9q4rSxvjzsT14SC3r9SqAWJrZGyaRaBmNRnUkERgRmM1exFotMGBpEeTRo224vLy0+0+GlughvbpiMVhyMD+GIec5mMFMBsxO59ZD4F90RmdxIIjzxIrO3qO8e0AI/EApFrfsLwiAYcgvgIiXxIAtKcgpBKTdjtH+XnQEoue8umoF9pwoToXOI7Uwnqmq9RvC4NyvgZSKA0nEz84YIPeDjPEeQR4/zohyuSycPVipxLQcCwH6fOSBFEeUiwPwCIoDKo5Gn8rnoAF2F5yx8Z92+0Zr7wmpvvlxPIp0F6e+NCF+Aw2wdYLDMCxg37270Qvsgp0TZp+r8fZHP5i+1CaJE0S+kBb/BfSMIo3GVxZLJBIqWRXasU8KdupH5DRx0OU/QQjs7f0jmGlmY5bVDKXW8ypyHuIQQprSEKITalomlIHKq4LjVYdx9qT6idFpDuKQZnODqbLoyVoUlcMgdHggCnEIllEsHn9gQgRMXq6jRCXOsUEVxJH2WXC5AgqY9HmE4vpE30iy2ZQ/Hn3qq5boTiRLFJnkLd+jm5J5sAEPPCACZou7w2da5wd0MpRSFrrAqXHObU9GJJIxLtn2NjcsKxbaXpwVxP1mPDpw/q9gu7u7NIxUDfGaocxL5MOH8a46ic1DPF7R7qL5Tb/mIfLNm6cd5af/UN2oj7hONc9Yd1/5/B/Hn8+Kc9NEArWPsUqBgKDzbDQKbdx7zlk56EDp1+OPvAbxSckAIfQ70MA0r52ejONc3r5d74AGEsTx8P/9ZijuIskxaHBxkXIuNNylEiWps0wHS43QawnyJVj8V/AJjiGJfUoobalxjtRpXeAUDuNfvf57C38fCMpms+b/oS+KrK211SlwaVQg/q5Kp6U5UZpGrfZnXf1w/MpwgJebm+1Q7qbcJ7Wagef3A6c5ksEUi8VOVLnpPMC9B3A2cltqPEWT1WqyBUtKpcIxGoyEPJcctGDhxRtYMmo1tPnDOzSuSTYu1d50Lwc9W4uukzKxpK7XK7ZuCjcP7s7nmzDhYtC0noHK5arWIoscEjdxtc1qiiysSC/inPdgNgsn0qs4xI/BRKVzsftO53re0nEonuJ1gBnJ8WSyNfd7NJiA9GK0v2vPQY1U4eWJsbNjRdZy7NMTBmrGzjDG+c6ydGeBZjKZWL2eMMKeUV1hg3EgNHI8nY4ZeFqscykduwu9AryAFbl2XhzRPvoWez0snd5geDzndhMfxWBPtnfxvKq84adK0Cv0iqEm+/8Byr/f1w5CaKIAAAAASUVORK5CYII=\"","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState } from 'react';\nimport { PrettoSlider } from './materialTheme';\nexport default function MaterialSlider(_ref) {\n var onChange = _ref.onChange,\n selected = _ref.selected,\n min = _ref.min,\n max = _ref.max,\n id = _ref.id,\n _ref$isInsideMatrix = _ref.isInsideMatrix,\n isInsideMatrix = _ref$isInsideMatrix === void 0 ? false : _ref$isInsideMatrix,\n marks = _ref.marks,\n _ref$marksTop = _ref.marksTop,\n marksTop = _ref$marksTop === void 0 ? true : _ref$marksTop;\n var marksKeys = Object.keys(marks).sort(function (a, b) {\n return a - b;\n });\n var _useState = useState(+selected),\n _useState2 = _slicedToArray(_useState, 2),\n sliderVal = _useState2[0],\n setSliderVal = _useState2[1];\n var handleSubmit = function handleSubmit(event, newValue) {\n if (newValue !== +selected) {\n if (isInsideMatrix) {\n onChange(marksKeys[newValue - 1]);\n } else {\n onChange(newValue);\n }\n }\n };\n return React.createElement(PrettoSlider, {\n key: id,\n value: sliderVal,\n onChange: function onChange(e, newVal) {\n return setSliderVal(newVal);\n },\n onChangeCommitted: handleSubmit,\n step: 1,\n min: min,\n max: max,\n valueLabelDisplay: \"on\",\n valueLabelFormat: function valueLabelFormat(e) {\n return isNaN(e) ? '' : e;\n },\n marks: true,\n \"aria-labelledby\": \"discrete-slider-restrict\"\n });\n}","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport React, { PureComponent } from 'react';\nimport { ThemeProvider } from '@material-ui/styles';\nimport { theme } from '@/components/common/Question/MaterialUI/materialTheme';\nimport themesRepo from '@/theme';\nexport default function withPalette(UIComponent) {\n return /*#__PURE__*/function (_PureComponent) {\n _inherits(_class, _PureComponent);\n function _class(props) {\n var _this;\n _classCallCheck(this, _class);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));\n var _theme = '';\n try {\n _theme = sessionStorage.getItem('survey-quest-theme');\n } catch (error) {\n console.error('error: ', error.message);\n }\n var presetTheme = themesRepo[_theme];\n _this.state = {\n presetTheme: presetTheme\n };\n return _this;\n }\n _createClass(_class, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _theme = '';\n try {\n _theme = sessionStorage.getItem('survey-quest-theme');\n } catch (error) {\n console.error('error: ', error.message);\n }\n var presetTheme = themesRepo[_theme];\n window.addEventListener('setItem', function (_ref) {\n var newValue = _ref.newValue;\n presetTheme = themesRepo[newValue];\n });\n this.setState({\n presetTheme: presetTheme\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n return theme(this.state.presetTheme) ? React.createElement(ThemeProvider, {\n theme: theme(this.state.presetTheme)\n }, React.createElement(UIComponent, this.props)) : React.createElement(UIComponent, this.props);\n }\n }]);\n return _class;\n }(PureComponent);\n}","import React from 'react';\nimport withPalette from './index';\nimport { useStyles } from '../../../common/Question/MaterialUI/materialTheme';\nimport Slider from '../../../common/Question/MaterialUI/MaterialSlider';\nfunction MaterialSlider(props) {\n var classes = useStyles();\n return React.createElement(\"div\", {\n style:\n // props.isInsideMatrix\n // ? { width: '82%', marginLeft: '9%' }\n // : { width: '90%', marginLeft: '5%' }\n {\n width: '82%',\n marginLeft: '9%'\n },\n className: classes.root\n }, React.createElement(Slider, props));\n}\nexport default withPalette(MaterialSlider);","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { Component } from 'react';\nimport { getLocalText } from '@/utilities/language';\nimport { getRealShowOption } from '@/utilities/quest';\nimport { randomArray } from '@/utilities/common';\n\n// const randomComp = () => Math.random() - 0.5;\n// function randomOptions(options) {\n// const saveNoRandomOptions = [];\n// for (let i = options.length - 1; i >= 0; i--) {\n// const option = options[i];\n// if (option.noRandom) {\n// saveNoRandomOptions.push([option, i]);\n// options.splice(i, 1);\n// }\n// }\n// const result = options.slice().sort(randomComp);\n// while (saveNoRandomOptions.length) {\n// const [option, index] = saveNoRandomOptions.pop();\n// result.splice(index, 0, option);\n// }\n// return result;\n// }\nvar Sort = /*#__PURE__*/function (_Component) {\n _inherits(Sort, _Component);\n function Sort(props) {\n var _this;\n _classCallCheck(this, Sort);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Sort).call(this, props));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setSelected\", function (selected) {\n var _this$props$form$getF = _this.props.form.getFieldProps(_this.props.question.id, {\n initialValue: _this.props.answer\n }),\n onChange = _this$props$form$getF.onChange,\n formAnswer = _this$props$form$getF.value;\n onChange(_this.getSelectedChange(selected, formAnswer));\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleClick\", function (optionId) {\n var clickedOptions = _toConsumableArray(_this.state.clickedOptions);\n var selected = _this.props.answer.selected.slice();\n // 之前的位置\n var oldIndex = selected.findIndex(function (el) {\n return el === optionId;\n });\n // 从之前的位置取出\n selected.splice(oldIndex, 1);\n // 如果已经排序 就丢到最后去 并从clickedOptions中去除\n if (clickedOptions.includes(optionId)) {\n selected.push(optionId);\n clickedOptions = clickedOptions.filter(function (id) {\n return id !== optionId;\n });\n } else {\n // 新排序的option 放到selected的对应位置 放到clickedOptions最后\n selected.splice(clickedOptions.length, 0, optionId);\n clickedOptions.push(optionId);\n }\n // 新的realShowOptions排序\n var options = [];\n var realShowOptions = _this.state.realShowOptions;\n selected.forEach(function (el) {\n options.push(realShowOptions.find(function (item) {\n return item.id === el;\n }));\n });\n _this.setState({\n clickedOptions: clickedOptions,\n realShowOptions: options\n });\n clearTimeout(_this.task);\n _this.task = setTimeout(function () {\n _this.setSelected(selected);\n }, 300);\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleDragStart\", function (sourceId) {\n _this.setState({\n sourceId: sourceId\n });\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleDrop\", function (targetId) {\n // ev.preventDefault();\n var selected = _this.props.answer.selected.slice();\n var sourceId = _this.state.sourceId;\n if (!sourceId) {\n return;\n }\n var sourceIndex = selected.findIndex(function (el) {\n return el === sourceId;\n });\n var targetIndex = selected.findIndex(function (el) {\n return el === targetId;\n });\n if (sourceIndex === targetIndex) return;\n if (sourceIndex < targetIndex) {\n selected.splice(targetIndex + 1, 0, sourceId);\n selected.splice(sourceIndex, 1);\n } else {\n selected.splice(sourceIndex, 1);\n selected.splice(targetIndex, 0, sourceId);\n }\n var options = [];\n var realShowOptions = _this.state.realShowOptions;\n selected.forEach(function (el) {\n options.push(realShowOptions.find(function (item) {\n return item.id === el;\n }));\n });\n _this.setState({\n realShowOptions: options\n });\n clearTimeout(_this.task);\n _this.task = setTimeout(function () {\n _this.setSelected(selected);\n }, 300);\n });\n var question = props.question,\n answers = props.answers;\n var _realShowOptions = getRealShowOption({\n question: question,\n answers: answers\n });\n _this.state = {\n errorOption: '',\n realShowOptions: _realShowOptions,\n sourceId: '',\n // 拖拽用\n clickedOptions: []\n };\n if (question.custom.random) {\n // 随机排序\n _this.state.realShowOptions = randomArray(_realShowOptions);\n } else if (question.custom.reverse) {\n var actuallyReverse = Math.random() >= 0.5;\n if (actuallyReverse) {\n _this.state.realShowOptions = randomArray(_toConsumableArray(_realShowOptions), 'reverse');\n }\n }\n _this.task = 0;\n return _this;\n }\n _createClass(Sort, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var options = this.state.realShowOptions.map(function (el) {\n return el.id;\n });\n var answer = this.props.answer;\n if (answer && answer.selected && answer.selected.length) {\n this.setSelected(answer.selected);\n var orderRealShowOptions = [];\n var realShowOptions = this.state.realShowOptions;\n answer.selected.forEach(function (id) {\n var option = realShowOptions.find(function (el) {\n return el.id === id;\n });\n if (option) {\n orderRealShowOptions.push(option);\n }\n });\n this.setState({\n realShowOptions: orderRealShowOptions\n });\n return;\n }\n this.setSelected(options);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var prevQ = prevProps.question;\n var nextQ = this.props.question;\n\n // 如果选项变了 就改变答案\n if (prevState.realShowOptions !== this.state.realShowOptions) {\n this.setSelected(this.state.realShowOptions.map(function (el) {\n return el.id;\n }));\n }\n\n // 预览模式下面始终不成立(broadcastchannel 使用JSON.stringify传递数据\n // 问卷模式下面始终成立, 问卷结构不会改变\n if (prevQ === nextQ) return;\n // 打开随机按钮\n if (!prevQ.custom.random && nextQ.custom.random) {\n // eslint-disable-next-line\n this.setState({\n realShowOptions: randomArray(_toConsumableArray(nextQ.custom.options))\n });\n }\n // 关闭随机按钮\n if (prevQ.custom.random && !nextQ.custom.random) {\n // eslint-disable-next-line\n this.setState({\n realShowOptions: nextQ.custom.options\n });\n }\n // 判断是否修改了options, 但是broadcastchannell始终是深拷贝传递。所以这里不能比较地址了。\n if (JSON.stringify(nextQ.custom.options) !== JSON.stringify(prevQ.custom.options)) {\n // eslint-disable-next-line\n if (nextQ.custom.random) this.setState({\n options: randomArray(_toConsumableArray(nextQ.custom.options))\n });\n // eslint-disable-next-line\n else this.setState({\n realShowOptions: nextQ.custom.options\n });\n }\n }\n }, {\n key: \"getSelectedChange\",\n value: function getSelectedChange(selected, answer) {\n var text = answer && answer.text || '';\n var _answer$option_blank = answer.option_blank,\n option_blank = _answer$option_blank === void 0 ? {} : _answer$option_blank;\n var _arr = Object.keys(option_blank);\n for (var _i = 0; _i < _arr.length; _i++) {\n var key = _arr[_i];\n if (!selected.includes(key)) {\n delete option_blank[key];\n }\n }\n return {\n type: 'sort',\n selected: selected,\n text: text,\n option_blank: option_blank\n };\n }\n }, {\n key: \"getInputChange\",\n value: function getInputChange(id, input, answer) {\n var text = answer && answer.text || '';\n var selected = (answer.selected || []).slice();\n if (!selected.includes(id)) {\n selected.push(id);\n }\n var _answer$option_blank2 = answer.option_blank,\n option_blank = _answer$option_blank2 === void 0 ? {} : _answer$option_blank2;\n return {\n type: 'sort',\n text: text,\n selected: selected,\n option_blank: _objectSpread({}, option_blank, _defineProperty({}, id, [input]))\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props = this.props,\n question = _this$props.question,\n answer = _this$props.answer;\n var _this$state = this.state,\n realShowOptions = _this$state.realShowOptions,\n clickedOptions = _this$state.clickedOptions;\n var _this$props$form = this.props.form,\n getFieldProps = _this$props$form.getFieldProps,\n getFieldError = _this$props$form.getFieldError;\n var id = question.id || 'unknown-form-item';\n var _getFieldProps = getFieldProps(id, {\n initialValue: answer\n }),\n onChange = _getFieldProps.onChange,\n formAnswer = _getFieldProps.value; // 因为getFieldError无法判断error的来源,所以只能用这样的trick方法,\n // rc-form 写的真心不好\n var errorSelected;\n var errorText;\n var error = getFieldError(id);\n if (error && error[0] === getLocalText('SingleChoice.Selected')) {\n var _error = _slicedToArray(error, 1);\n errorSelected = _error[0];\n }\n if (error && error[0] === getLocalText('SingleChoice.otherText')) {\n var _error2 = _slicedToArray(error, 1);\n errorText = _error2[0];\n }\n var params = {\n options: realShowOptions,\n formAnswer: formAnswer,\n error: {\n selected: errorSelected,\n text: errorText,\n errorOption: this.state.errorOption\n },\n onChange: {\n selected: function selected(_selected) {\n return onChange(_this2.getSelectedChange(_selected, formAnswer));\n },\n input: function input(id, _input) {\n return onChange(_this2.getInputChange(id, _input, formAnswer));\n },\n click: function click(id) {\n return _this2.handleClick(id);\n }\n },\n handleDrop: this.handleDrop,\n handleDragStart: this.handleDragStart,\n clickedOptions: clickedOptions\n };\n return this.props.children(params);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, state) {\n var question = nextProps.question,\n answers = nextProps.answers;\n var realShowOptions = getRealShowOption({\n question: question,\n answers: answers\n });\n window.allQuestions.find(function (el) {\n return el.id === question.id;\n }).custom.realShowOptions = realShowOptions;\n if (realShowOptions.length !== state.realShowOptions.length || realShowOptions.some(function (el) {\n return !state.realShowOptions.find(function (item) {\n return item.id === el.id;\n });\n }) || realShowOptions.some(function (el) {\n return el.text !== state.realShowOptions.find(function (item) {\n return item.id === el.id;\n }).text;\n })) {\n if (question.custom.random) {\n realShowOptions = randomArray(realShowOptions);\n }\n return {\n realShowOptions: realShowOptions\n };\n }\n return null;\n }\n }]);\n return Sort;\n}(Component);\n_defineProperty(Sort, \"defaultProps\", {\n answer: {\n selected: [],\n text: '',\n type: 'sort'\n }\n});\nexport { Sort as default };","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport React, { Component, useEffect } from 'react';\nimport { css } from 'emotion';\nimport { Toast } from 'antd-mobile-v2';\nimport { useDrag, useDrop, useDragLayer } from 'react-dnd';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport sanitize from 'sanitize-html';\nimport FormItem from '../FormItem';\nimport IconFont from '@/components/common/IconFont';\nimport Sort from '../../common/Question/Sort';\nvar SortMobild = /*#__PURE__*/function (_Component) {\n _inherits(SortMobild, _Component);\n function SortMobild() {\n _classCallCheck(this, SortMobild);\n return _possibleConstructorReturn(this, _getPrototypeOf(SortMobild).apply(this, arguments));\n }\n _createClass(SortMobild, [{\n key: \"onErrorClick\",\n value: function onErrorClick(error) {\n Toast.info(error);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this = this;\n var _this$props = this.props,\n label = _this$props.label,\n question = _this$props.question;\n var _question$custom$sort = question.custom.sortType,\n sortType = _question$custom$sort === void 0 ? 'drag' : _question$custom$sort;\n return React.createElement(Sort, this.props, function (_ref) {\n var options = _ref.options,\n error = _ref.error,\n onChange = _ref.onChange,\n formAnswer = _ref.formAnswer,\n handleDrop = _ref.handleDrop,\n handleDragStart = _ref.handleDragStart,\n clickedOptions = _ref.clickedOptions;\n return React.createElement(FormItem, {\n error: error.selected || error.text,\n label: label,\n question: question\n }, React.createElement(\"div\", {\n id: _this.props.question.id,\n className: \"flex\"\n }, React.createElement(\"div\", {\n className: \"flex1\"\n }, React.createElement(CustomDragLayer, null), (options || []).map(function (option, index) {\n return React.createElement(OptionItem, {\n key: option.id,\n index: index,\n isFirst: index === 0,\n isLast: index === options.length - 1,\n question: question,\n option: option,\n onChange: onChange,\n formAnswer: formAnswer,\n handleDrop: handleDrop,\n handleDragStart: handleDragStart,\n sortType: sortType,\n clickedOptions: clickedOptions\n });\n }))));\n });\n }\n }]);\n return SortMobild;\n}(Component);\nexport { SortMobild as default };\nexport function OptionItem(_ref2) {\n var question = _ref2.question,\n option = _ref2.option,\n handleDrop = _ref2.handleDrop,\n sortType = _ref2.sortType,\n onChange = _ref2.onChange,\n handleDragStart = _ref2.handleDragStart,\n index = _ref2.index,\n isLast = _ref2.isLast,\n isFirst = _ref2.isFirst,\n clickedOptions = _ref2.clickedOptions;\n var optionLen = question.custom.options.length;\n var _useDrag = useDrag({\n item: {\n type: 'OPTION',\n option: option,\n index: index\n },\n canDrag: function canDrag() {\n return sortType === 'drag';\n },\n begin: function begin() {\n handleDragStart(option.id);\n },\n end: function end() {\n handleDragStart('');\n },\n collect: function collect(monitor) {\n return {\n isDragging: !!monitor.isDragging()\n };\n }\n }),\n _useDrag2 = _slicedToArray(_useDrag, 3),\n isDragging = _useDrag2[0].isDragging,\n drag = _useDrag2[1],\n preview = _useDrag2[2];\n useEffect(function () {\n preview(getEmptyImage(), {\n captureDraggingState: true\n });\n }, []);\n var _useDrop = useDrop({\n accept: 'OPTION',\n hover: function hover(item) {\n var dragIndex = item.index;\n var hoverIndex = index;\n if (dragIndex === undefined) {\n return;\n }\n // Don't replace items with themselves\n if (dragIndex === hoverIndex) {\n return;\n }\n setTimeout(function () {\n handleDrop(option.id);\n }, 100);\n item.index = hoverIndex;\n },\n drop: function drop() {},\n collect: function collect(monitor) {\n return {\n isOver: !!monitor.isOver()\n };\n }\n }),\n _useDrop2 = _slicedToArray(_useDrop, 2),\n isOver = _useDrop2[0].isOver,\n drop = _useDrop2[1];\n return React.createElement(\"div\", {\n ref: drop,\n key: option.id,\n style: {\n userSelect: 'none'\n },\n onClick: function onClick() {\n if (sortType !== 'click') return;\n onChange.click(option.id);\n }\n }, React.createElement(\"div\", {\n className: \"flex\"\n }, sortType === 'drag' && React.createElement(\"div\", {\n className: sortIndex(index, optionLen)\n }, \" \", index + 1, \" \"), React.createElement(\"div\", {\n className: dragItemBox,\n ref: drag,\n key: option.id,\n id: option.id,\n style: {\n boxShadow: isOver && '0 6px 16px 0 rgba(40, 52, 70, 0.08) inset',\n marginBottom: isLast ? 0 : 8,\n opacity: isDragging ? 0 : 1,\n height: isDragging ? 0 : '',\n paddingTop: isFirst ? 0 : undefined,\n paddingBottom: isLast ? 0 : undefined\n }\n }, React.createElement(OptionTextRender, {\n index: index,\n option: option,\n isDragging: isDragging,\n sortType: sortType,\n clickedOptions: clickedOptions\n }))));\n}\nfunction OptionTextRender(props) {\n var option = props.option,\n isDragging = props.isDragging,\n sortType = props.sortType,\n index = props.index,\n clickedOptions = props.clickedOptions;\n return React.createElement(\"div\", {\n key: option.id,\n className: \"flex alignCenter\",\n style: {\n border: isDragging ? '0px solid var(--ant-border)' : '1px solid var(--ant-border)',\n borderRadius: 4,\n padding: '13px 16px',\n height: isDragging ? 48 : 'auto'\n }\n }, sortType === 'drag' && React.createElement(IconFont, {\n type: \"icon-menu\",\n color: \"var(--primary-color)\"\n }), sortType === 'click' && React.createElement(\"div\", {\n className: \"indexBox\"\n }, clickedOptions.includes(option.id) && React.createElement(\"span\", {\n className: \"blueColor\"\n }, index + 1)), React.createElement(\"div\", {\n className: \"flex1 marginLeft10 marginRight10 no-touch no-event\"\n }, React.createElement(\"div\", {\n className: \"optionText\",\n dangerouslySetInnerHTML: {\n __html: sanitize(window.showMultiLang ? option === null || option === void 0 ? void 0 : option[\"\".concat(window.language, \"Text\")] : option.text)\n }\n }), option.description && React.createElement(\"div\", {\n style: {\n fontSize: 12,\n color: 'var(--text-color-thirdly)',\n lineHeight: 1.5,\n fontWeight: 400\n }\n }, option.description), option.img ? React.createElement(\"img\", {\n src: option.img,\n alt: \"\",\n style: {\n zoom: option.scale || 1,\n marginTop: 10,\n marginBottom: 10\n },\n loading: \"lazy\"\n }) : ''));\n}\nvar layerStyles = {\n position: 'fixed',\n pointerEvents: 'none',\n zIndex: 100,\n left: 0,\n top: 0,\n width: '100%',\n height: '100%'\n};\nexport var CustomDragLayer = function CustomDragLayer() {\n var _useDragLayer = useDragLayer(function (monitor) {\n return {\n item: monitor.getItem(),\n itemType: monitor.getItemType(),\n isDragging: monitor.isDragging(),\n initialOffset: monitor.getInitialSourceClientOffset(),\n currentOffset: monitor.getSourceClientOffset()\n };\n }),\n itemType = _useDragLayer.itemType,\n isDragging = _useDragLayer.isDragging,\n item = _useDragLayer.item,\n initialOffset = _useDragLayer.initialOffset,\n currentOffset = _useDragLayer.currentOffset;\n function renderItem() {\n if (itemType === 'OPTION') {\n return React.createElement(OptionTextRender, {\n option: item.option,\n isDragging: isDragging\n });\n }\n return null;\n }\n if (!isDragging) {\n return null;\n }\n return React.createElement(\"div\", {\n style: _objectSpread({}, layerStyles)\n }, React.createElement(\"div\", {\n style: getItemStyles(initialOffset, currentOffset)\n }, renderItem()));\n};\nfunction getItemStyles(initialOffset, currentOffset) {\n if (!initialOffset || !currentOffset) {\n return {\n display: 'none'\n };\n }\n var x = currentOffset.x,\n y = currentOffset.y;\n var transform = \"translate(\".concat(x, \"px, \").concat(y, \"px)\");\n return {\n border: '1px solid var(--ant-border)',\n borderRadius: 4,\n transform: transform,\n WebkitTransform: transform,\n background: 'var(--ant-bg)',\n width: 'calc(100% - 50px)',\n color: 'var(--primary-color)',\n maxWidth: window.innerWidth > 1440 ? 720 : 630,\n boxShadow: '0 6px 16px 0 var(--ant-border)'\n };\n}\nvar _ref3 = \"border-top:\";\nvar _ref4 = \";border-bottom:\";\nvar _ref5 = \";border-radius:\";\nvar _ref6 = \";border-radius:\";\nvar _ref7 = \";user-select:none;pointer-events:none;background:var(--ant-bg);color:var(--text-color);border-left:1px solid var(--ant-border);border-right:1px solid var(--ant-border);width:29px;font-size:16px;margin-right:16px;display:flex;flex:none;flex-direction:column;align-items:center;justify-content:space-around;\";\nvar sortIndex = function sortIndex(index, optionLen) {\n return /*#__PURE__*/css(_ref3, index ? 0 : '1px solid var(--ant-border)', _ref4, index === optionLen - 1 ? '1px solid var(--ant-border)' : 0, _ref5, index ? 0 : '2px 2px 0 0 !important', _ref6, index === optionLen - 1 ? '0 0 2px 2px !important' : 0, _ref7);\n};\nvar dragItemBox = /*#__PURE__*/css(\"flex:1;max-width:\", window.innerWidth > 1440 ? 720 : 630, \"px;cursor:pointer;padding:0;.ant-checkbox{display:flex;align-items:flex-start;}.ant-input{border-color:var(--ant-border);}.option-error .ant-input{border-color:var(--text-red);}.other{width:auto;}.ant-checkbox + span{display:inline-block;margin-top:-3px;}.optionText{font-size:1rem;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.5;letter-spacing:0.2px;color:var(--text-color);}.indexBox{height:18px;width:18px;border-radius:2px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ant-border);}\");","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport React, { Component } from 'react';\nimport { List } from 'antd-mobile-v2';\nimport { css } from 'emotion';\nimport { Sticky, StickyContainer } from 'react-sticky';\nimport { Consumer } from '@/store';\nvar FormItem = /*#__PURE__*/function (_Component) {\n _inherits(FormItem, _Component);\n function FormItem() {\n _classCallCheck(this, FormItem);\n return _possibleConstructorReturn(this, _getPrototypeOf(FormItem).apply(this, arguments));\n }\n _createClass(FormItem, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n label = _this$props.label,\n error = _this$props.error,\n children = _this$props.children,\n question = _this$props.question,\n labelLine = _this$props.labelLine;\n var type = question.type,\n custom = question.custom;\n return React.createElement(Consumer, null, function (store) {\n return custom && custom.titleCeiling ? React.createElement(StickyContainer, null, React.createElement(\"div\", {\n className: \"\".concat(listBoxCla, \" \").concat(custom.optionCeiling !== 'none' ? ceilBoxCls(type) : null),\n id: \"listBox\"\n }, React.createElement(List, {\n renderHeader: function renderHeader() {\n return React.createElement(Sticky, {\n relative: false\n }, function (_ref) {\n var style = _ref.style;\n return React.createElement(\"div\", {\n style: style,\n className: style.position ? titleCls : ''\n }, label, custom.optionCeiling !== 'none' && labelLine);\n });\n }\n }, !!error && React.createElement(\"div\", {\n className: \"errorText\"\n }, error), children))) : React.createElement(\"div\", {\n className: listBoxCla,\n id: \"listBox\"\n }, React.createElement(List, {\n renderHeader: function renderHeader() {\n return label;\n }\n }, !!error && React.createElement(\"div\", {\n className: \"errorText\"\n }, error), children));\n });\n }\n }]);\n return FormItem;\n}(Component);\nexport { FormItem as default };\nvar listBoxCla = /*#__PURE__*/css(\"&#listBox{width:100%;margin:0;border-radius:5px;.errorText{background:rgba(245,74,69,0.11);color:var(--text-red);position:absolute;width:100%;left:0;transform:translateY(calc(-100% - 8px));height:24px;z-index:2;padding:4px 16px;font-size:12px;line-height:1.5;}.errorLine{background:rgba(245,74,69,0.11);color:var(--text-red);width:100%;height:24px;padding:4px 16px;font-size:12px;line-height:1.5;}.am-list-item .am-list-thumb:first-of-type{margin-right:12px;}.am-list-header{tr{margin-top:32px;}}.am-list-body{padding:32px 16px 0;border-top:0px;border-bottom:0px;}.am-list-line{border-bottom:0px;}.am-list-body::before{background-color:var(--ant-bg) !important;}.am-list-body div:not(:last-child) .am-list-line::after{background-color:var(--ant-bg) !important;}.am-list .am-list-item.am-textarea-item{border-bottom:0;background:var(--am-entity-bg) !important;}.am-list .am-list-item.am-textarea-item::after{background-color:var(--ant-bg) !important;}.am-list-body::after{background-color:var(--ant-bg) !important;}.am-list-item{padding-left:0px;padding-right:0px;min-height:auto;width:calc(100% - 10px);}.am-list .am-list-item.am-checkbox-item .am-list-thumb .am-checkbox{width:min-content;}.am-list .am-list-item.am-checkbox-item .am-list-thumb .am-checkbox-inner{left:0px;right:0px;top:1px;}.am-checkbox-agree{margin:0;padding:0;}.am-list-item.am-checkbox-item .am-list-thumb{width:22px;height:22px;}.am-list-item .am-input-control{font-size:16px !important;input{font-size:16px !important;}}.am-list-item.am-input-focus .am-input-clear{position:absolute;right:0;top:50%;transform:translate(-50%,-50%);}.am-list-item .am-input-control input::placeholder{font-family:PingFangSC sans-serif Arial Helvetica;font-size:16px;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.5;letter-spacing:0.2px;color:var(--text-color-thirdly);}.am-checkbox-agree .am-checkbox-agree-label{margin-left:0px;margin-right:0px;display:flex;align-items:flex-start;.am-checkbox{position:relative;& + div{margin-right:20px;}.am-checkbox-inner{top:1px;}}}.am-list-content{padding-top:0px;font-family:PingFangSC sans-serif Arial Helvetica;font-weight:normal;font-size:16px;text-align:start;padding-bottom:0;.choice-selected{color:var(--primary-color);}span{overflow-wrap:break-word;word-break:break-word;}}.am-checkbox-agree-label{font-size:16px;}.am-list-extra{font-size:16px;}.am-list-item.am-input-error .am-input-error-extra{display:none;}.am-textarea-error .am-textarea-error-extra{display:none;}.am-list-item.am-input-error input{border-color:var(--text-red);}.am-textarea-error textarea{border-color:var(--text-red);}}.am-image-picker-list{margin:0;padding:0;}\");\nvar titleCls = /*#__PURE__*/css(\"width:100% !important;left:0 !important;border-bottom:1px solid var(--page-bg);z-index:9999;background:var(--title-sticky-bg);.labelCls{padding:4px 32px;}tr{padding:7px 32px;margin-top:8px !important;font-size:13px;}\");\nvar _ref2 = \"&#listBox{\";\nvar _ref3 = \" tr{color:rgba(0,0,0,0.65);}}\";\nvar ceilBoxCls = function ceilBoxCls(type) {\n return /*#__PURE__*/css(_ref2, type === 'matrix' && \".am-list-body {\\n padding: 16px 16px 0;\\n }\\n .errorText {\\n top: 40px;\\n }\", _ref3);\n};","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nvar tcpyConfig = require('../../tcpy-conf.json').TTP;\nvar config = process.env.IDC_ENV !== 'TTP' ? {} : _objectSpread({}, tcpyConfig);\nexport default config;","import cloneDeep from 'lodash/cloneDeep';\nimport ttpConfig from './ttp';\nvar config = cloneDeep(ttpConfig);\nexport default config;","module.exports = __webpack_public_path__ + \"static/media/prize-start.2cba1da2.png\";","module.exports = __webpack_public_path__ + \"static/media/disabled_btn.30fdf8d8.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/lottery_pc_bg.45f5d3aa.png\";","module.exports = __webpack_public_path__ + \"static/media/lottery_mobile_bg.37b96af1.png\";","module.exports = __webpack_public_path__ + \"static/media/lottery_pc_bg_light.c77a75c0.png\";","module.exports = __webpack_public_path__ + \"static/media/lottery_header.66c51bd7.png\";","module.exports = __webpack_public_path__ + \"static/media/lottery_lattice.ed26d135.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFQAAABUCAYAAAAcaxDBAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAZmSURBVHgB7ZwvdCM3EMbHfYXmDc/xmCf8wnOkKCZFLQk6VFRSoyM9VGKjkphfeMITnvAcD0/1JaOXvc1ImtFK6/V7+t7bZz977ZV+O6s/M9IQNTU1NTU1NTU1KTSjiej5+fmDe8Fx6I4Dfk/8vqtHdzzxce+O7+64nc1m9zQB7QyoAzh3L6fuOKZXeHMaJgC+dccNvQJ+pB1odKAO5MK9nLtjQXV17Y4rB/aaRtRoQB1IWCNAHtC4gqVuHNhvNIKqA2WL/Ezjg+xrFLDVgDqQAAiQlkfbdzQP9Nb59NtC/O+cX9GBWdtfAN3UamOrAHUwz9zLknQVRUdyR68dyS1liEcIuHEf6W10EBNuFKBeUmEVBco9N9rJT4lTUaGtO65LD3f4yVi644jSzcylu/5XKqhiQLkif1HcQjxIVOSJKorLg44QVhsDixv6Z6kmoAhQLvwXihccINe1QfbVsdiPkdMA86IE1MFAFTBRyFVu+1hKitFGEaiDgCpgYtby99hWGRKX93d3nAROGQx1KNB/Kdxmohdd0wTlyr2k185TEtrUi1wj+Iky5QqFO713MCEu2ybwNep0TpnKAsrjzNDQaNIwvRJQP7k6poZ+osxAO72mpL2A6ZWAes51NSnHQvE4SDOgm32C6cVlljxSqONnMsoElD1Gp8JX6BX/of3Vit77DKAFD7fUslpoqLFe7cqhW0Lco68CX5us9GftiWydUptypR2081wfHdqHzm+LOoDZovx085avkbzZqIP77ZbL19UB6q51+6nHoe5P/yM5vqMaCEcmAZiObqiA3DXwBC3pfRl/04wr+Yajnv0+4tH9/ldSSPXIuwthZhGyTu2jHrLwJYMYpABM4muqhkAMfSv9h7Yt1bahkmMBIC3e76PId4OgRmB6aXykXvCRStasKl8SKD+q0tz3ztgRfU98nwVVAdOkiJUuuEmISmOhIVNfk00aazZBNcC0xpFCHeUpJaQBeix8dm8dJvFIQNP5qKAaYG6sIwmOIkgjl+PUb3Mt9IoylJjqdRWFaoS5pjzdCZ8l2+IoUA5+Se1GtrN4KNSRYEJSHefMJKiUhUrW+TQ0sJYLdUSYvomSevso0NRMSRo3FolSosIOEN6m2ssln/fyntIq6fFCXftGNQjoofDZAxWSBSrpVNp9iLr2gUZdeqlHXmo/izpBDI9/SjV8sVJdD2M/yAFaPOBWAGotx7a5rimgknnXWROUD7VmlECq66BHflRlQK0JM0uTAsp6rnTuKJoU0AxHRxHXX0mlgJrbkFwN8BrVhGruQ3IsdOjmgncq4IKrBdU8ykkBlWZFRS20oD+zBlSproOASk7hQyoky9ycCrr+DDLPFFNTT8lCLeGEoHIcHZa5f6HAn1TXQW2oBHRuDf73les1KuVP1SjXdRkFym46qc3IBjrUBTci1CzXpaaXl/7giDJUyp85ElQp0nuX+I0K6I3w2SLlue6Lm4ml4lTVdNII1fREcaRXql8yNqUBGooYnpBNZ4pzTHNzA9RktLKnkFUnQz9JoBynlv7oTBOnNijL0aGE+gspxdYpWfSNJtKrnSlJBQZMyyrf2PhtkNdIATXZ9nUU2tekiu2rgHLASro7Fiu9DPxHERdcBKp6yVBns9i7/9DG9i2r73Ahaa2kentfZ1kPFgygouqlkFpxB+Tb6wcy7Npzv0X9JKCr4ssZ+YLSkkboYrbjjV1DxTfii/CVeikjZPU2BVf5Fu6gRlVnK7ok0xTWBJStULLEWIH2QdhzFVr/alpoluMPhZVKbdLJ1LznGnGZpTE16rgmo8xAeSwWegwmF5KIKTEV3swyNmJkxZQ4E8I28PVeQE3A3M4ysz0MCdKtKbzOadJQEzCx9jV7z1Xt7d0YDH+dTWQPE49E0HlOc3s31BIQ/KgxU2RUTe8TkjKxzHRSZHgpk7j4efVVbbCdXXsAGZt0TC+JS1euIn9Q2veJwr9sYigNlh3f8BWkQELFE8vUSoSFyoS2gfcFC8EmiOyUldw+IiyzIF28az8SYXWlTO/Tl0/V5vOCxlK1wWnsc45a/Ah4Mqrtnh4jmeCusjL2Ncpoo6W7LKxdJGTFoBrNgDXIZ5Xv9EYd/+4yZbAPhh3za4mUwWh7Efb+NttR8q2pJbUGWJ8XdE5veUK78p2J77heOrHZRJJaNzU1NTU1NTU1qfQ/zXfrgIC6V4MAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/lottery_success.42f9e4d5.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAQZSURBVHgB7ZhdTttAEMdnN3X4qoQfSkDqi3uCuiconABygiYnAIsDEJ5bMJwg4QTQE8ANyhH8UomPh6ZS1UBcPJ1J7LDZ7NoJRUpUMVJI4qxnfzs7898xAC/2YjNmKwed2spBtwYzYlL9wnBCyKYQ2KyE8R7MgA0BltRvmDRmAVLoFyqHnRZxf3ocIRs3gbMPUzJhujgJpBeiG0PsxSA9CYmb3hCVANsOOFEUiDY8NyDbyuHdkQCxbYJcC+N1BNxEgHVA9CF3BnFJk1yQr69XgXMBzwXIVjnoNAhsT5msRcnpA0I+lN0iRLF/u1tujXuDKBowAmlyIiDibaWIRqlTjyLs5ixkbNBCQCskRVPCw8k8zF/a8ozz8w7u/ASB5esjIngGH/tXwUIE/wJohNQK523Y9R8A/AQkFUcSfQ/Kl7qPtbBTQ5B7GmgkRbJhgzQCroS/fIHOqSNEVZ3IBNl7x2SH/rqaG+M2EqRHEW0MqQSN1eeyAqZw5+mEbbpxIxeyyKiKaRureoQ4mgnKEB4XNjIXm9RXx5HLbqLkbz/Aw1B+3ewuNChio5pIY+l1xq9+0aRGMpRA6VQfTsAt2toPylg3RjxnBiNgP/SSI+elcJEAc26YIEnnWjfBXJVf18Hcu6HfCbJycN8wQPbmUCGZgYtrBJCSey+D42jY4GyQiLijnt38OzUdgbKCbZOfDJI+ZjvldaDbHALkLoY0q/Z4UQR5cDZIvcG4DuaPlIldrnQbJC2gPnCDsFUJ77cGgELKzcFo0qarwC6gbz7H6+pERZA08UX2sZvYTyBKjTMS9+PBbYi1ASBF76cy1ldzQDch/3iczBNBpuZIzG0chBDLykTLA0Cqptajc/R/QxxavcgSy4A7DuRqSH6U444KKbK51dOM9O8kfe/bani3Q8IaKsuhqizXTc4qh/c/YEKd5ErtVbfBUgX5BpkmKnMPqriX0MPSUKuE3aZxuxGyXCmOZAYIYj8HLjsYegvh8zn7fUioR7cJa7TdI+J5sztHUYLLSSCp03mfA+dlcLq8Sf0mA6TPTsjZujqOuufqJJC6Tla+3G+l2+r1LpD2JhCPHInWbsbcYsnGIrw6VtsrrUMpzknywb0iyciOQtFGiDdug9fFzYJqHDWavKm3R6YupddkgMPPJW2KwgUULTYDyDlSCwFTSFN71AMl3Tp7RXJgapN0M+8InC1CuZ73YDV2w2ppNjNrEyxBIm2VaPdbfnAdgHredtM9R9dBOcibd2xANpckZy4hQZWlbQvoCPg4OZn33D0RoGr9hpMeOwWd4wj2o5G2kQS6ql6bBPLJgKpxgZSgxJAef+fnEqrKaAmWrA/u40I+C+BTbRzIqQKy6ZAkYXVVwiRM2fQTpzR1Iotx0a2Fs/OP0//H/gK1PoJ3E5wybQAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAPDSURBVHgB7VhLctpAEO0eGfypLLyxoSobcoLgE5jcAJ8AOAGofADgALbsExhOEPsEJiewcwJrkyp/NixSxgFrOj0SiJHQFyc73oIaoZ6ep57uNy0BbLDBBhv8VyCsibI1q0mAYwSqAVCFCCoBxwg2/9ok6YcQYvRoFkawBnIRrFi0/wrvbSDZ4ct9yAcbAS8QnZtHc9fOOikzwUNr1l2TWBg2oBg8m4V+FuNUgmVrUpFkfOdtrIZmjpFoiEj3fDUKR+XA+l1FKFT4oeqI4jicAoqoQPktLZqYTI7zjCST06KGyISo/2xuX0MO8IM2CUQ3RHTMDFpJvmIJHpy/NxCcgWY5Rkn9p9OdC/gAStZbhwgt/T9hGM3H9tYQshJ0t4cKd74RqgRP346sUGnD0bzVo1lAPPplFu8hjaCXc+KWh5Us5BaVzTZNf0FELoJiC/KRjMxJEZ4oOU+ykiudT9uvNH3gQujp0UApf0IKlE/l29NL71kJjKuwXYDgwdmkCQRNfyGQrSRyBKTycUV2tliYIQPmJP1IE1GNI1uLJchy0NUuBuxgFOXY2x7qRd1TEYnKpQSSI/Z16ZMEoxtJUEkKwHKbBDixQjpPg2jBJkrd3jBmuN0DJTmwGkWxXFQ2/Ble9OxYjwTVuFu8CwFN+2xNq6Wzt07Jmlpxc8YmjjmKwyUXw+eypS1aXwwLAJeQjFiCBsB92Zo2VSPB4ajPiPbVvvNY3TZj5yFdS8K2x4UUl1aQoAYHnLXPWyZ0B2vAAWPMndHK/3qR3CwGREYdEkE25AQHMbFwmFxbM75eIcgiOfCXB2ooAY71RjiEnCDAWIJKFXR54wIdLsdzqHJHxNH8cn8Cs26cw6koKv0bQ1bwOZ5BFTxTlild3oI6qDnhcu+ERXMBVXXcZmXq51y/3GTEqYIrb4HDAQN+AwRDUQQ+k6/c8Efgydzh7phUVcZH0usZzbgOyDv35fJ4c+WtOIgl6Pl0Wvr5qBqHJJKcu0f8KEPQisCdT7K/B8UvyeSCTUlUGmRqtyBj95sVYXIKhLOjF/PTSiGJKAfKkAnp7ZJy+KBOBPggVJPBvu4C5Ei2osgpJLb8h9afOiewyhFdcmzuiPsvp8FcSYPnC7uBdxu3uuVJXFPimaQgqvtdEAW3oMRNAeRKB1O2iO1nNT4bvrIiNCHcXPC7DefcyYdemnQcnk16KEQjgmg+cNRAysvn091eNvMccKMp+SAXRjs30TmxPbFzYbOOZp+2JpSISylqKPA4+dOHw58+3PfmEWywwQb/Hn8BaVTs0USYDZsAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAiCAYAAAAzrKu4AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAOBSURBVHgB1ZddTttAEIBnHTuoolJ9hPQEDSconIDmBAQRKt6gJyA5AeENFaqYE0BPADdojpAbNJVaVbETb2fWiffHu7aTokYdyQHb49nPM7MzY4D/Rk7jrji2LJ52RkAcRuLoJZewRfHct3h/m3CscOVkFgFjR4pKH+6CAfxjYdar68Bd8BB+JS1IvRbwNBTXPDYBxqewG0xgyKbwYmACLh7i3XMrXC/ZxyQ4hJTv41kbymWMoM+Qwld8/hn+GkwAzPqocqloR7gx2jVgXKtN8HcAt82oWrVKTDibcI6ho/CJhfEcWvhLYW1vClgN5oIT3mP38NofO/OI8u/nHOHSLuq/R/1WwUYD0+MGX2ojMCucsSFO4zYs0EPMm4KXTtAb44INUbj5pQZI3msEByacHYwWAXjAo6MtYIMTwi8gCx1oC9rCdfa7BXOP7BwZutpazArF4Wm50BQ1DsrhKmUMftAphCvrMlcgX0hbyyu8DfCHXJmhciPQ8+dup486tpqGhvnj8pgo19swTx4K2uRJf7Gn6IbCIWe8lS2tQi28pzz+jtjnYnrOgyF8bn5y3qeXES9liG3dJNiTHls01KSclkKRmJ5L4ULrrRmEBAV2brVz8wodkB6INQU/lpogHmUeW00VuQ04rlMEhVTt1l78HWRq7Fl3K8nJ/AOwNA/50mPsUIGKSqGoHWW7NpNCzhlTCcN2JMXdMb74j+icax2Mpz+kXXy4y0OngRSTk5J0Hbgckpc3dA/eyH+zP5Fyuw1BcuV8uAEUirAmHNpJpQ4vydksnbqrU7krezEVSQmUhfTYakTmTf06R7vttvnWak8U3cY3kLkYyV151xxqb0z0p/HIHla+yoUanstl4ISiciGhqEwN9AJrGiU4P8mLnq4H47XgGLwDF5SldhZn/qJRbM4IR7tRFX/RWQvOrHMfsTxQ+NTaSf1yWTvd04U1V7BGzf1riJQxR58YauScaPzhsvFDDmU8VzHBopdYOiqMKbapgbxFcz+VBHOELmv8a409qtjGlJVBxrAo8ntnNa+Co4a/izvfMmjWHxRtQ54UMjzOCigushqts9bmDqvZ+DcCI6HS4c+66KlzB2ARuE7OWT4N1wNTRVRq+nwTfdbdwihctzsd7VoNuM3BdEicelko+qiwupz7yz54K+BeBmxTKYHbLhhJ8aNazIIebFscvfUPPDPWHzGkwo8AAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAeCAYAAABAFGxuAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANGSURBVHgB7VjRcdpAEH0nAUlm8kEJpILYFdjuAFdgkWCP/8AVABXY/vMkZCwqsF2BSQV2KjAl8OGZJCDpsivAdzpJJwlPZvKRNwNI3N7tY2/37QngP6pBYFt0l/v0vgfIfUjZghCtxLiUM/puRhffAWeKcX2KCqhGrC+beA565KxPd81KcwVm9H4Bt36HKyZcZF4W3eVgK0JpjzNI4VMER3azIpz+bCF0byCxY4zMafYEIR7RoG0yo3C82EHk0BaHbbLbIzKtFEG3fpAXPTuxOI/kDfQoCSISOSN8q92iCo4XHq01MAjOIZ1O1lr5xE6CI0SRn1gE0Qjjtxd4DboLTofzxHeO4+FLbYJCYrwNEg+alTXslRGnh3OfiJ7ALr42HtVt0aQiUptKlZH3IhkCPjnpoAo5w4+TmhC6g9Kkjhc9PC+fKHeGCR2T0Q8U4eodrR0dQJDexXPQQrC83gw7hiOPDDzlQHSspCQ439LyIUhQy4DJcfIr7K+F24wYVc3L4vBz1Zq3QWKYOcZR1nKlEOxD4tLkoIgxUz0ZXYsA8nbnCW2ZbUytVx8irvoYcdQUMSGP1DVFy1aBabFVEE5Sk7jCu7/6OFmc587xBekZJjqXmuasrZlewo4dy9gjPlGuuqz2tKbkyNLvj+Kxs9xZQtAPkr0Nl1qmkRTb90PWPyf+rAYh5/ocLfnlnbqUbVidr0u8kmMUFURPs73ViDm+NnAETzYtTiaojnxiqyr3Xu6lmChiK2mYru+aaCwHuQsFDdavOcpjXqLKV2C5IS6Gjgk1OUJ/I3YpcBUB1vNUEtT886o8liktWut1k8SSUeOEvMYpHZuzMI6jxlVmixyfSM5yTyS8hSK6Vv7iHuuniTFqYSfRv8LlvZVcLdwlQ845lUNxccgR3tc/WEmlm/hIcczCP3DscTInsoGAaq6rzv8UK/hrwc0/cB8MUh2zv9qP1p+D9joH9KP1DJyg61woDV7LiQZGO6McFIdZh4WSDyNG2BXBKZ3/78hh+kTBebmgiquJj4ikB7Pps+C69cPtHkZ0dH8PY+E1CVYHRUleYvxmaDOq9sDL0QsEba/obUFwReg9VfKFKBTnV/5FENFL7P2Nvwj+AEiVd2Lr9YvoAAAAAElFTkSuQmCC\"","import _Modal from \"antd-mobile/es/components/modal\";\nimport _Popup from \"antd-mobile/es/components/popup\";\nimport _Input from \"antd-mobile/es/components/input\";\nimport _Button from \"antd-mobile/es/components/button\";\nimport _Toast from \"antd-mobile/es/components/toast\";\nimport _Form from \"antd-mobile/es/components/form\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport { css } from 'emotion';\nimport { Checkbox } from 'antd-mobile-v2';\nimport CopyToClipboard from 'react-copy-to-clipboard';\nimport './index.less';\nimport lineImg from '@/images/prize_line.png';\nimport closeImg from '@/images/modal_close.png';\nimport closeIcon from '@/images/close_btn.png';\nimport successImg from '@/images/lottery_success.png';\nimport closeEyeImg from '@/images/close_eye.png';\nimport openEyeImg from '@/images/open_eye.png';\nexport default function LotteryModal(props) {\n var _Form$useForm = _Form.useForm(),\n _Form$useForm2 = _slicedToArray(_Form$useForm, 1),\n form = _Form$useForm2[0];\n var submit = props.submit,\n prizeInfo = props.prizeInfo,\n closeModal = props.closeModal,\n openCascader = props.openCascader,\n _props$location = props.location,\n location = _props$location === void 0 ? [] : _props$location;\n var type = prizeInfo.type,\n name = prizeInfo.name,\n imgUrl = prizeInfo.imgUrl,\n cardId = prizeInfo.cardId,\n cardSecret = prizeInfo.cardSecret;\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n infoModal = _useState2[0],\n setInfoModal = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n stateModal = _useState4[0],\n setStateModal = _useState4[1];\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n tipModal = _useState6[0],\n setTipModal = _useState6[1];\n var _useState7 = useState(false),\n _useState8 = _slicedToArray(_useState7, 2),\n quitModal = _useState8[0],\n setQuitModal = _useState8[1];\n var _useState9 = useState(false),\n _useState10 = _slicedToArray(_useState9, 2),\n successTip = _useState10[0],\n setSuccessTip = _useState10[1];\n var _useState11 = useState(false),\n _useState12 = _slicedToArray(_useState11, 2),\n checkState = _useState12[0],\n setCheckState = _useState12[1];\n var _useState13 = useState(false),\n _useState14 = _slicedToArray(_useState13, 2),\n showSecret = _useState14[0],\n setShowSecret = _useState14[1];\n var _useState15 = useState(false),\n _useState16 = _slicedToArray(_useState15, 2),\n hasError = _useState16[0],\n setHasError = _useState16[1]; // useEffect(() => {\n // if (location.length) {\n // setHasError(false);\n // }\n // }, [location]);\n var checkLocation = function checkLocation() {\n if (location.length === 0) {\n setHasError(true);\n } else {\n setHasError(false);\n }\n };\n var openStateModal = function openStateModal() {\n setStateModal(true);\n };\n var closeStateModal = function closeStateModal() {\n setStateModal(false);\n };\n var openTipModal = function openTipModal() {\n setTipModal(true);\n };\n var closeTipModal = function closeTipModal() {\n setTipModal(false);\n };\n var openQuitModal = function openQuitModal() {\n setQuitModal(true);\n };\n var closeQuitModal = function closeQuitModal() {\n setQuitModal(false);\n };\n var writeInfo = function writeInfo() {\n setInfoModal(true);\n };\n var triggerSecret = function triggerSecret() {\n setShowSecret(!showSecret);\n };\n var onSubmit = function onSubmit(_ref) {\n var state = _ref.state;\n form.validateFields().then(function (formValues) {\n // if (location.length === 0) {\n // setHasError(true);\n // }\n // setHasError(false);\n if (state || checkState) {\n setCheckState(true);\n setTipModal(false);\n submit(formValues).then(function (res) {\n if (res && res.code === 200) {\n setSuccessTip(true);\n }\n });\n } else {\n openTipModal();\n }\n }).catch(function (error) {\n // checkLocation();\n console.log(error);\n });\n };\n var checkMobile = function checkMobile(rule, value) {\n if (value) {\n if (value.match(/^1\\d{10}$/)) {\n return Promise.resolve();\n }\n return Promise.reject(new Error('请输入正确的手机号'));\n }\n return Promise.reject(new Error('请填写手机号'));\n };\n var stateContent = React.createElement(\"div\", {\n className: stateModalContCls\n }, React.createElement(\"div\", {\n className: \"title\"\n }, \"\\u300A\\u4E2A\\u4EBA\\u4FE1\\u606F\\u6388\\u6743\\u58F0\\u660E\\u300B\"), React.createElement(\"img\", {\n src: closeIcon,\n onClick: closeStateModal\n }), React.createElement(\"div\", {\n className: \"desc\"\n }, \"\\u6211\\u4EEC\\u975E\\u5E38\\u91CD\\u89C6\\u7528\\u6237\\u4FE1\\u606F\\u7684\\u4FDD\\u62A4\\u3002\\u5728\\u60A8\\u586B\\u5199\\u5956\\u54C1\\u90AE\\u5BC4\\u4FE1\\u606F\\u65F6\\uFF0C\\u6211\\u4EEC\\u4F1A\\u6536\\u96C6\\u548C\\u4F7F\\u7528\\u60A8\\u7684\\u76F8\\u5173\\u4FE1\\u606F\\u3002\\u6211\\u4EEC\\u5E0C\\u671B\\u901A\\u8FC7\\u672C\\u58F0\\u660E\\u5411\\u60A8\\u8BF4\\u660E\\uFF0C\\u6211\\u4EEC\\u5982\\u4F55\\u6536\\u96C6\\u3001\\u4F7F\\u7528\\u3001\\u5B58\\u50A8\\u3001\\u4FDD\\u62A4\\u8FD9\\u4E9B\\u4FE1\\u606F\\u3002\", React.createElement(\"span\", {\n style: {\n fontWeight: 500,\n color: '#161823'\n }\n }, \"\\u5728\\u586B\\u5199\\u672C\\u95EE\\u5377\\u76F8\\u5173\\u4FE1\\u606F\\u524D\\uFF0C\\u8BF7\\u60A8\\u52A1\\u5FC5\\u4ED4\\u7EC6\\u9605\\u8BFB\\u672C\\u58F0\\u660E\\u3002\\u60A8\\u4E00\\u65E6\\u4E3B\\u52A8\\u5728\\u76F8\\u5E94\\u9875\\u9762\\u63D0\\u4EA4\\u4FE1\\u606F\\uFF0C\\u5373\\u610F\\u5473\\u7740\\u60A8\\u540C\\u610F\\u6211\\u4EEC\\u6309\\u7167\\u672C\\u58F0\\u660E\\u6536\\u96C6\\u3001\\u4F7F\\u7528\\u60A8\\u7684\\u59D3\\u540D\\u3001\\u8054\\u7CFB\\u65B9\\u5F0F\\u3001\\u5730\\u5740\\u4FE1\\u606F\\u5E76\\u540C\\u610F\\u7B7E\\u7F72\\u672C\\u300A\\u4E2A\\u4EBA\\u4FE1\\u606F\\u53D7\\u6743\\u58F0\\u660E\\u300B\")), React.createElement(\"div\", {\n style: {\n fontWeight: 500,\n color: '#161823'\n }\n }, \"\\u4E00\\u3001\\u4E2A\\u4EBA\\u4FE1\\u606F\\u7684\\u6536\\u96C6\\u548C\\u4F7F\\u7528\"), React.createElement(\"div\", null, \"1\\u3001\\u6211\\u4EEC\\u63D0\\u4F9B\\u670D\\u52A1\\u65F6\\uFF0C\\u53EF\\u80FD\\u4F1A\\u6536\\u96C6\\u3001\\u50A8\\u5B58\\u548C\\u4F7F\\u7528\\u4E0B\\u5217\\u4E0E\\u60A8\\u6709\\u5173\\u7684\\u8FD9\\u4E9B\\u4FE1\\u606F\\uFF1A\\u60A8\\u5728\\u95EE\\u5377\\u62BD\\u5956\\u9875\\u9762\\u4E0A\\u4E3B\\u52A8\\u8F93\\u5165\\u7684\\u59D3\\u540D\\u3001\\u8054\\u7CFB\\u65B9\\u5F0F\\u3001\\u5730\\u5740\\uFF0C\\u4EE5\\u4FBF\\u4E8E\\u6211\\u4EEC\\u8FDB\\u884C\\u5956\\u54C1\\u53D1\\u653E\\u3002\"), React.createElement(\"div\", null, \"2\\u3001\\u60A8\\u9700\\u8981\\u6CE8\\u610F\\u7684\\u662F\\uFF1A\\u4EE5\\u4E0A\\u4E2A\\u4EBA\\u4FE1\\u606F\\u5747\\u662F\\u60A8\\u81EA\\u613F\\u63D0\\u4F9B\\uFF0C\\u60A8\\u6709\\u6743\\u62D2\\u7EDD\\u63D0\\u4F9B\\uFF0C\\u4F46\\u5982\\u679C\\u60A8\\u4E0D\\u63D0\\u4F9B\\u76F8\\u5173\\u4FE1\\u606F\\u6216\\u8005\\u63D0\\u4F9B\\u7684\\u4FE1\\u606F\\u5E76\\u975E\\u771F\\u5B9E\\u6709\\u6548\\u7684\\u4FE1\\u606F\\uFF0C\\u53EF\\u80FD\\u65E0\\u6CD5\\u53C2\\u4E0E\\u672C\\u6B21\\u5956\\u54C1\\u8D60\\u4E0E\\u6D3B\\u52A8\\u3002\"), React.createElement(\"div\", null, \"3\\u3001\\u6211\\u4EEC\\u5C06\\u4E25\\u683C\\u4FDD\\u62A4\\u60A8\\u7684\\u4E2A\\u4EBA\\u4FE1\\u606F\\u5B89\\u5168\\u3002\\u6211\\u4EEC\\u5C06\\u91C7\\u7528\\u9002\\u5F53\\u5236\\u5EA6\\u3001\\u5B89\\u5168\\u6280\\u672F\\u548C\\u7A0B\\u5E8F\\u7B49\\u63AA\\u65BD\\u6765\\u4FDD\\u62A4\\u60A8\\u7684\\u4E2A\\u4EBA\\u4FE1\\u606F\\u4E0D\\u88AB\\u672A\\u7ECF\\u6388\\u6743\\u7684\\u8BBF\\u95EE\\u3001\\u4F7F\\u7528\\u6216\\u6CC4\\u6F0F\\u3002\\u6211\\u4EEC\\u4EA6\\u5C06\\u4FC3\\u4F7F\\u672C\\u58F0\\u660E\\u6240\\u8FF0\\u5404\\u63A5\\u6536\\u548C\\u4F7F\\u7528\\u65B9\\u5C3D\\u529B\\u4FDD\\u62A4\\u548C\\u4E0D\\u4E88\\u6CC4\\u9732\\u60A8\\u7684\\u4E2A\\u4EBA\\u4FE1\\u606F\\u3002\"), React.createElement(\"div\", null, \"4\\u3001\\u6211\\u4EEC\\u4F1A\\u4E25\\u683C\\u8981\\u6C42\\u4E0A\\u8FF0\\u4E2A\\u4EBA\\u4FE1\\u606F\\u7684\\u63A5\\u6536\\u65B9\\u548C/\\u6216\\u4F7F\\u7528\\u65B9\\u5E94\\u9075\\u5FAA\\u672C\\u58F0\\u660E\\u8C28\\u614E\\u8FDB\\u884C\\u6570\\u636E\\u7684\\u4F7F\\u7528\\u3002\\u5982\\u8D85\\u8D8A\\u672C\\u58F0\\u660E\\u8303\\u56F4\\uFF0C\\u63A5\\u6536\\u65B9\\u548C/\\u6216\\u4F7F\\u7528\\u65B9\\u5E94\\u5F53\\u53E6\\u884C\\u5F81\\u5F97\\u60A8\\u7684\\u6388\\u6743\\u540C\\u610F\\uFF0C\\u82E5\\u56E0\\u5176\\u672A\\u83B7\\u5F97\\u60A8\\u7684\\u6388\\u6743\\u540C\\u610F\\u81F4\\u4F7F\\u7528\\u6237\\u5408\\u6CD5\\u6743\\u76CA\\u53D7\\u5230\\u4FB5\\u5BB3\\u7684\\uFF0C\\u8BE5\\u4FE1\\u606F\\u63A5\\u6536\\u548C/\\u6216\\u4F7F\\u7528\\u65B9\\u5E94\\u627F\\u62C5\\u76F8\\u5E94\\u7684\\u6CD5\\u5F8B\\u8D23\\u4EFB\\u3002\", ' '), React.createElement(\"div\", null, \"5\\u3001\\u5982\\u679C\\u60A8\\u9700\\u8981\\u67E5\\u8BE2\\u3001\\u4FEE\\u6539\\u6216\\u66F4\\u6B63\\u60A8\\u7684\\u4E2A\\u4EBA\\u4FE1\\u606F\\uFF0C\\u6216\\u5BF9\\u4E2A\\u4EBA\\u4FE1\\u606F\\u4FDD\\u62A4\\u95EE\\u9898\\u6709\\u4EFB\\u4F55\\u7591\\u95EE\\u6216\\u6295\\u8BC9\\uFF0C\\u60A8\\u53EF\\u4EE5\\u5728\\\"\\u53CD\\u9988\\u4E0E\\u5E2E\\u52A9\\\"\\u4E2D\\u8054\\u7CFB\\u6211\\u4EEC\\u3002\", ' '), React.createElement(\"div\", {\n style: {\n fontWeight: 500,\n color: '#161823'\n }\n }, \"\\u4E8C\\u3001\\u672A\\u6210\\u5E74\\u4EBA\\u4FE1\\u606F\\u7684\\u7279\\u6B8A\\u4FDD\\u62A4\"), React.createElement(\"div\", {\n style: {\n fontWeight: 500,\n color: '#161823'\n }\n }, \"\\u5BF9\\u4E8E\\u4E0D\\u6EE1 18 \\u5468\\u5C81\\u7684\\u7528\\u6237\\uFF0C\\u987B\\u4E0E\\u5176\\u6CD5\\u5B9A\\u76D1\\u62A4\\u4EBA\\u4E00\\u540C\\u9605\\u8BFB\\u3001\\u7406\\u89E3\\u672C\\u58F0\\u660E\\u5E76\\u4E14\\u7ECF\\u76D1\\u62A4\\u4EBA\\u540C\\u610F\\u8BB8\\u53EF\\u7684\\u60C5\\u51B5\\u4E0B\\u63D0\\u4EA4\\u4E2A\\u4EBA\\u4FE1\\u606F\\u3002\"), React.createElement(\"div\", {\n style: {\n fontWeight: 500,\n color: '#161823'\n }\n }, \"\\u4E09\\u3001\\u9002\\u7528\\u6CD5\\u5F8B\"), React.createElement(\"div\", null, \"1\\u3001\\u672C\\u58F0\\u660E\\u9002\\u7528\\u6CD5\\u5F8B\\u3002\"), React.createElement(\"div\", {\n style: {\n fontWeight: 500,\n color: '#161823'\n }\n }, \"\\u56DB\\u3001\\u53D8\\u66F4\"), React.createElement(\"div\", null, \"\\u6211\\u4EEC\\u4F1A\\u9002\\u65F6\\u5BF9\\u672C\\u58F0\\u660E\\u8FDB\\u884C\\u4FEE\\u8BA2\\uFF0C\\u8BE5\\u7B49\\u4FEE\\u8BA2\\u6784\\u6210\\u672C\\u58F0\\u660E\\u7684\\u4E00\\u90E8\\u5206\\u3002\\u672C\\u516C\\u53F8\\u4F1A\\u5C06\\u4FEE\\u6539\\u540E\\u7684\\u58F0\\u660E\\u4E88\\u4EE5\\u53D1\\u5E03\\u3002\\u5728\\u8BE5\\u79CD\\u60C5\\u51B5\\u4E0B\\uFF0C\\u82E5\\u60A8\\u7EE7\\u7EED\\u4F7F\\u7528\\u6211\\u4EEC\\u7684\\u670D\\u52A1\\uFF0C\\u5373\\u8868\\u793A\\u540C\\u610F\\u63A5\\u53D7\\u7ECF\\u4FEE\\u8BA2\\u7684\\u58F0\\u660E\\u7684\\u7EA6\\u675F\\u3002\"));\n var tipContent = React.createElement(\"div\", {\n className: tipModalContCls\n }, React.createElement(\"div\", {\n className: \"title\"\n }, \"\\u8BF7\\u9605\\u8BFB\\u5E76\\u540C\\u610F\", React.createElement(\"span\", {\n style: {\n color: '#161823'\n }\n }, \"\\u300A\\u4E2A\\u4EBA\\u4FE1\\u606F\\u6388\\u6743\\u58F0\\u660E\\u300B\")), React.createElement(\"div\", {\n className: \"footer\"\n }, React.createElement(\"div\", {\n className: \"btn cancel\",\n onClick: closeTipModal\n }, \"\\u53D6\\u6D88\"), React.createElement(\"div\", {\n className: \"btn sure\",\n onClick: function onClick() {\n onSubmit({\n state: true\n });\n }\n }, \"\\u540C\\u610F\\u5E76\\u63D0\\u4EA4\")));\n var quitContent = React.createElement(\"div\", {\n className: tipModalContCls\n }, React.createElement(\"div\", {\n className: \"title\",\n style: {\n color: '#161823'\n }\n }, \"\\u5173\\u95ED\\u540E\\u5C06\\u65E0\\u6CD5\\u6536\\u5230\\u5956\\u54C1\\uFF0C\\u786E\\u8BA4\\u5173\\u95ED\\u5417\\uFF1F\"), React.createElement(\"div\", {\n className: \"footer\"\n }, React.createElement(\"div\", {\n className: \"btn cancel\",\n onClick: function onClick() {\n closeQuitModal();\n }\n }, \"\\u53D6\\u6D88\"), React.createElement(\"div\", {\n className: \"btn sure\",\n onClick: function onClick() {\n closeQuitModal();\n closeModal();\n }\n }, \"\\u786E\\u8BA4\")));\n var prizeCont = React.createElement(React.Fragment, null, React.createElement(\"div\", {\n className: prizeImgCls\n }, React.createElement(\"img\", {\n src: imgUrl\n }), React.createElement(\"div\", {\n className: \"shadow\"\n })), React.createElement(\"div\", {\n className: prizeCls\n }, React.createElement(\"div\", {\n className: \"cardTop\"\n }, React.createElement(\"div\", {\n className: \"winText\"\n }, \"\\u606D\\u559C\\u4F60\\u83B7\\u5F97\", name, \"\\uFF01\"), React.createElement(\"div\", {\n className: \"underline\"\n }, React.createElement(\"img\", {\n src: lineImg\n }))), React.createElement(\"div\", {\n className: \"cardBottom\"\n }, type === 1 && React.createElement(\"div\", {\n className: \"cont\"\n }, React.createElement(\"div\", {\n style: {\n marginBottom: 16\n }\n }, \"\\u5361\\u53F7\\uFF1A\", cardId), React.createElement(\"div\", {\n style: {\n display: 'flex',\n alignItems: 'center'\n }\n }, React.createElement(\"div\", {\n style: {\n flex: 1\n }\n }, \"\\u5361\\u5BC6\\uFF1A\", showSecret ? cardSecret : '**************************'), React.createElement(\"img\", {\n style: {\n width: 20,\n marginLeft: 8\n },\n onClick: triggerSecret,\n src: showSecret ? openEyeImg : closeEyeImg\n }))), type === 2 && React.createElement(\"div\", {\n className: \"cont\",\n style: {\n padding: '0 16px'\n }\n }, React.createElement(\"p\", {\n style: {\n marginBottom: 8\n }\n }, \"\\u4F7F\\u7528\\u8BF4\\u660E\\uFF1A\"), React.createElement(\"p\", {\n style: {\n marginBottom: 6\n }\n }, \"1.\\u67E5\\u770B\\u65B9\\u5F0F\\uFF08\\u4EE5\\u4E0B\\u65B9\\u5F0F\\u5747\\u53EF\\u67E5\\u770B\\uFF09:\"), React.createElement(\"p\", {\n style: {\n marginLeft: 14\n }\n }, \"a. \\u53F3\\u4E0B\\u89D2-\\u6211\\u7684\\u94B1\\u5305-\\u5361\\u5238\\u4E2D\\u67E5\\u770B\\uFF1B\"), React.createElement(\"p\", {\n style: {\n marginLeft: 14\n }\n }, \"b. \\u5546\\u57CE-\\u5238/\\u7EA2\\u5305\\u4E2D\\u67E5\\u770B\\uFF1B\"), React.createElement(\"p\", {\n style: {\n marginTop: 6\n }\n }, \"2.\\u53EF\\u5728\\u8D2D\\u7269\\u65F6\\u4F7F\\u7528\\u3002\")), type === 0 && React.createElement(\"div\", {\n className: \"btn\",\n onClick: writeInfo\n }, \"\\u586B\\u5199\\u5730\\u5740\"), type === 1 && React.createElement(CopyToClipboard, {\n text: \"\\u5361\\u53F7\\uFF1A\".concat(cardId, \";\\u5361\\u5BC6\\uFF1A\").concat(cardSecret),\n onCopy: function onCopy() {\n _Toast.show({\n icon: 'success',\n content: '复制成功',\n maskClassName: 'lotteryToast',\n duration: 3\n });\n }\n }, React.createElement(\"div\", {\n className: \"btn\"\n }, \"\\u590D\\u5236\\u5361\\u53F7\\u5361\\u5BC6\")), React.createElement(\"div\", {\n className: \"tips\"\n }, \"\\u8BF7\\u622A\\u56FE\\u4FDD\\u5B58\\u54E6~\"), React.createElement(\"img\", {\n src: closeImg,\n className: \"close\",\n onClick: closeModal\n }))));\n var userInfoCont = React.createElement(React.Fragment, null, successTip ? React.createElement(\"div\", {\n className: successContCls\n }, React.createElement(\"img\", {\n src: successImg\n }), React.createElement(\"div\", {\n className: \"text\"\n }, \"\\u5730\\u5740\\u63D0\\u4EA4\\u6210\\u529F\"), React.createElement(_Button, {\n color: \"primary\",\n onClick: closeModal\n }, \"\\u6211\\u77E5\\u9053\\u4E86\")) : React.createElement(React.Fragment, null, React.createElement(_Form, {\n className: formCls,\n layout: \"horizontal\",\n form: form\n }, React.createElement(\"div\", {\n className: \"formHeader\"\n }, React.createElement(\"div\", {\n className: \"title\"\n }, \"\\u586B\\u5199\\u90AE\\u5BC4\\u5730\\u5740\"), React.createElement(\"img\", {\n src: closeIcon,\n onClick: openQuitModal\n })), React.createElement(_Form.Item, {\n name: \"username\",\n label: React.createElement(React.Fragment, null, React.createElement(\"div\", null, \"\\u59D3\"), React.createElement(\"div\", null, \"\\u540D\")),\n rules: [{\n required: true,\n message: '请输入姓名'\n }]\n }, React.createElement(_Input, {\n clearable: true,\n autoComplete: \"off\",\n placeholder: \"\\u8BF7\\u8F93\\u5165\\u59D3\\u540D\"\n })), React.createElement(_Form.Item, {\n name: \"phone\",\n label: \"\\u624B\\u673A\\u53F7\\u7801\",\n validateTrigger: \"onBlur\",\n rules: [{\n validator: checkMobile\n }]\n }, React.createElement(_Input, {\n clearable: true,\n autoComplete: \"off\",\n placeholder: \"\\u8BF7\\u8F93\\u5165\\u624B\\u673A\\u53F7\\u7801\"\n })), React.createElement(_Form.Item, {\n label: \"\\u9009\\u62E9\\u5730\\u533A\"\n // rules={[{ required: true, message: '请选择地区' }]}\n ,\n className: hasError && 'adm-form-item-has-error'\n }, React.createElement(\"div\", {\n className: \"cascaderSel\",\n onClick: openCascader,\n style: {\n color: location.length ? '#161823' : 'rgba(22, 24, 35, 0.6)'\n }\n }, location.length ? location.join('') : '请选择地区'), React.createElement(\"div\", {\n className: \"arrow\"\n })), hasError && React.createElement(\"div\", {\n className: \"adm-form-item-feedback-error\",\n style: {\n fontSize: 13,\n marginLeft: 82\n }\n }, \"\\u8BF7\\u9009\\u62E9\\u5730\\u533A\"), React.createElement(_Form.Item, {\n name: \"address\",\n label: \"\\u8BE6\\u7EC6\\u5730\\u5740\",\n rules: [{\n required: true,\n message: '请填写详细地址'\n }]\n }, React.createElement(_Input, {\n clearable: true,\n autoComplete: \"off\",\n placeholder: \"\\u8BF7\\u586B\\u5199\\u8BE6\\u7EC6\\u5730\\u5740\"\n })), React.createElement(_Button, {\n color: \"primary\",\n className: \"btn\",\n onClick: onSubmit\n }, \"\\u63D0\\u4EA4\"), React.createElement(\"div\", {\n className: \"protocolCont\"\n }, React.createElement(Checkbox, {\n style: {\n '--icon-size': '18px',\n '--font-size': '14px',\n '--gap': '6px',\n color: 'rgba(22, 24, 35, 0.6)'\n },\n checked: checkState,\n onChange: function onChange(e) {\n setCheckState(e.target.checked);\n }\n }, \"\\u52FE\\u9009\\u6B64\\u6846\\u8868\\u793A\\u540C\\u610F\"), React.createElement(\"span\", {\n className: \"statement\",\n onClick: openStateModal\n }, \"\\u300A\\u4E2A\\u4EBA\\u4FE1\\u606F\\u6388\\u6743\\u58F0\\u660E\\u300B\"))), React.createElement(_Popup, {\n visible: stateModal,\n bodyStyle: {\n height: '60vh',\n overflow: 'auto'\n }\n }, stateContent), React.createElement(_Popup, {\n visible: tipModal\n }, tipContent), React.createElement(_Popup, {\n visible: quitModal\n }, quitContent)));\n return React.createElement(React.Fragment, null, React.createElement(_Modal, {\n actions: [],\n visible: true,\n alignCenter: true,\n content: infoModal ? userInfoCont : prizeCont\n }));\n}\nvar prizeImgCls = /*#__PURE__*/css(\"position:absolute;top:-40px;left:50%;margin-left:-40px;width:80px;height:80px;padding:16px 20px;border:1px solid rgba(22,24,35,0.12);border-radius:50%;background:#fff;z-index:9999;.shadow{width:28px;margin:auto;height:4px;margin-top:8px;background:rgba(22,65,138,0.12);filter:blur(2px);}\");\nvar prizeCls = /*#__PURE__*/css(\".cardTop{.winText{margin-top:56px;margin-bottom:16px;text-align:center;font-weight:500;font-size:16px;color:#03081a;}.underline{position:relative;padding:0 16px;height:16px;line-height:16px;overflow:hidden;img{position:absolute;top:50%;transform:translateY(-50%);}&::before,&::after{content:'';width:16px;height:16px;position:absolute;top:0;border-radius:50%;background:#6d747e;}&::before{left:-8px;}&::after{right:-8px;}}}.cardBottom{padding:16px;color:#03081a;font-size:15px;.cont{padding:0 24px;margin-bottom:40px;}.btn{margin:16px 8px 24px 8px;padding:12px 0;text-align:center;background:#168ef9;border-radius:8px;color:#fff;font-weight:500;}.tips{color:#fe2c55;text-align:center;font-size:14px;}.close{width:24px;position:absolute;left:50%;margin-left:-12px;bottom:-48px;}}.adm-modal-content{padding:0;}.semi-banner-icon{margin-right:8px;.semi-icon{position:relative;top:2px;}}.index-module_content__3wvrm{padding:6px 12px 40px 12px !important;}\");\nvar formCls = /*#__PURE__*/css(\"padding:32px 16px 16px;max-height:70vh;overflow:auto;.formHeader{margin-bottom:28px;text-align:center;font-size:17px;font-weight:500;img{position:fixed;top:12px;right:12px;width:28px;z-index:9999;}}.cascaderSel{width:calc(100vw - 164px);font-size:15px;flex:1 1 0%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.arrow{display:block;width:10px;height:10px;margin-left:8px;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACcSURBVHgBrc5LCsIwEAbgf5yVmE1RyF5EL9OexqO1pyniPiC6ikujkZa+8mhDfwhkhpmPAVYOSXkqDExOoEqpW4mE9A3eieza9M9C7EnrZ52CtQZvRYaffElBRxg+MCW/9atOQV3YQ90rtsVS1IfZP7fNuWgIG4Bz0BhmQ3DkII/5BlR0Q/RfimGTC0OXNi+IeUEPGsWCoAuNYTZfooGJDfDKcYYAAAAASUVORK5CYII=');background-size:contain;background-repeat:no-repeat;background-position:50% 50%;transform:rotate(-90deg);}.protocolCont{margin-top:16px;display:flex;align-items:center;font-size:14px;.statement{display:inline-block;color:#168ef9;}.am-checkbox-wrapper{display:flex;align-items:center;color:rgba(22,24,35,0.6);}.am-checkbox{width:18px;height:18px;margin-right:8px;}.am-checkbox-inner{width:18px;height:18px;border-radius:4px;border:1.5px solid rgba(22,24,35,0.34);}.am-checkbox.am-checkbox-checked .am-checkbox-inner{border:0 !important;background:#168ef9 !important;&::after{top:3px;right:6px;width:6px;}}}.adm-list-item{padding-left:0;}.adm-list-body{border:0 !important;}.adm-list-item-content{border-top:0;margin-bottom:8px;padding-right:0;}.adm-list-item-content-prefix{width:82px;padding:0 !important;border-bottom:0 !important;}.adm-form-item-label{width:62px;display:flex;line-height:52px;justify-content:space-between;font-size:15px;color:#161823;}.adm-form-item-has-error{.adm-form-item-child-inner{border-bottom:1px solid #fe2c55;}}.adm-form-item-child-inner{display:flex;align-items:center;height:52px;line-height:52px;border-bottom:1px solid rgba(22,24,35,0.12);overflow:hidden;}.adm-form-item-feedback-error{color:#fe2c55;}.adm-list-item-content-main{padding:0 !important;}.adm-input{line-height:52px;height:52px;font-size:15px;color:#161823;.adm-input-element{font-size:15px;}}.adm-form-item-required-asterisk{display:none;}.adm-button{width:100%;padding:12px 0px;margin:16px 0;background:#168ef9;border-radius:8px;border:0;font-weight:500;font-size:15px;}\");\nvar stateModalContCls = /*#__PURE__*/css(\"padding:0 16px;line-height:24px;color:rgba(22,24,35,0.75);.title{margin:18px 0;font-weight:500;font-size:17px;color:#161823;}img{width:28px;position:absolute;top:16px;right:16px;}div{margin-bottom:16px;}\");\nvar tipModalContCls = /*#__PURE__*/css(\"font-size:14px;.title{padding:20px;text-align:center;color:rgba(22,24,35,0.6);border-bottom:1px solid rgba(22,24,35,0.12);}.footer{display:flex;align-items:center;.btn{flex:1;text-align:center;padding:14px;color:rgba(22,24,35,0.75);font-size:15px;}.cancel{border-right:1px solid rgba(22,24,35,0.12);}.sure{color:#168ef9;font-weight:500;}}\");\nvar successContCls = /*#__PURE__*/css(\"text-align:center;padding:20px;img{width:60px;}.text{margin:24px 0;font-weight:500;font-size:17px;color:#161823;}.adm-button{width:100%;padding:12px 0px;background:#168ef9;border-radius:8px;border:0;font-weight:500;font-size:15px;}\");","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState } from 'react';\nimport { css } from 'emotion';\nimport { Form, Modal, Button, Toast } from '@douyinfe/semi-ui';\nimport { IconClose } from '@douyinfe/semi-icons';\nimport CopyToClipboard from 'react-copy-to-clipboard';\nimport './index.less';\nimport lineImg from '@/images/prize_line.png';\nimport closeIcon from '@/images/close_btn.png';\nimport closeEyeImg from '@/images/close_eye_pc.png';\nimport openEyeImg from '@/images/open_eye_pc.png';\nexport default function LotteryModal(props) {\n var submit = props.submit,\n prizeInfo = props.prizeInfo,\n closeModal = props.closeModal,\n locationMap = props.locationMap;\n var type = prizeInfo.type,\n name = prizeInfo.name,\n imgUrl = prizeInfo.imgUrl,\n cardId = prizeInfo.cardId,\n cardSecret = prizeInfo.cardSecret;\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n infoModal = _useState2[0],\n setInfoModal = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n showSecret = _useState4[0],\n setShowSecret = _useState4[1];\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n formApi = _useState6[0],\n setFormApi = _useState6[1];\n var writeInfo = function writeInfo() {\n setInfoModal(true);\n };\n var triggerSecret = function triggerSecret() {\n setShowSecret(!showSecret);\n };\n var getInfoUrl = function getInfoUrl() {\n var pathname = window.location.pathname.replace(/\\/$/, '');\n var ret = pathname.split('/');\n if (!ret) return null;\n return \"\".concat(window.location.origin, \"/\").concat(ret[2], \"/\").concat(ret[3], \"/\").concat(ret[4], \"/#/info\");\n };\n var getFormApi = function getFormApi(api) {\n setFormApi(api);\n };\n var onSubmit = function onSubmit() {\n formApi.validate().then(function (formValues) {\n var params = _objectSpread({}, formValues);\n delete params.checkState;\n submit(params).then(function (res) {\n if (res && res.code === 200) {\n Toast.success({\n content: '地址提交成功',\n duration: 3\n });\n closeModal();\n }\n });\n }).catch(function (error) {\n console.log(error);\n });\n };\n var checkMobile = function checkMobile(rule, value) {\n if (value) {\n if (value.match(/^1\\d{10}$/)) {\n return Promise.resolve();\n }\n return Promise.reject(new Error('请输入正确的手机号'));\n }\n return Promise.reject(new Error('请填写手机号'));\n };\n var checkState = function checkState(rule, value) {\n if (value) {\n return Promise.resolve();\n }\n return Promise.reject(new Error('请阅读并同意'));\n };\n var prizeCont = React.createElement(React.Fragment, null, React.createElement(\"div\", {\n className: \"prizeImgCont\"\n }, React.createElement(\"img\", {\n className: \"prizeImg\",\n src: imgUrl\n }), React.createElement(\"div\", {\n className: \"shadow\"\n })), React.createElement(\"div\", {\n className: prizeCls\n }, React.createElement(\"div\", {\n className: \"cardTop\"\n }, React.createElement(\"div\", {\n className: \"winText\"\n }, \"\\u606D\\u559C\\u4F60\\u83B7\\u5F97\", name, \"\\uFF01\"), React.createElement(\"div\", {\n className: \"underline\"\n }, React.createElement(\"img\", {\n src: lineImg\n }))), React.createElement(\"div\", {\n className: \"cardBottom\"\n }, type === 1 && React.createElement(\"div\", {\n className: \"cont\"\n }, React.createElement(\"div\", {\n style: {\n marginBottom: 16\n }\n }, \"\\u5361\\u53F7\\uFF1A\", cardId), React.createElement(\"div\", {\n style: {\n display: 'flex',\n alignItems: 'center'\n }\n }, React.createElement(\"div\", {\n style: {\n flex: 1\n }\n }, \"\\u5361\\u5BC6\\uFF1A\", showSecret ? cardSecret : '**************************'), React.createElement(\"img\", {\n style: {\n cursor: 'pointer',\n width: 20,\n marginLeft: 8\n },\n onClick: triggerSecret,\n src: showSecret ? openEyeImg : closeEyeImg\n }))), type === 2 && React.createElement(\"div\", {\n className: \"cont\"\n }, React.createElement(\"p\", {\n style: {\n marginBottom: 8\n }\n }, \"\\u4F7F\\u7528\\u8BF4\\u660E\\uFF1A\"), React.createElement(\"p\", {\n style: {\n marginBottom: 6\n }\n }, \"1.\\u67E5\\u770B\\u65B9\\u5F0F\\uFF08\\u4EE5\\u4E0B\\u65B9\\u5F0F\\u5747\\u53EF\\u67E5\\u770B\\uFF09:\"), React.createElement(\"p\", {\n style: {\n marginLeft: 14,\n marginBottom: 4\n }\n }, \"a. \\u53F3\\u4E0B\\u89D2-\\u6211\\u7684\\u94B1\\u5305-\\u5361\\u5238\\u4E2D\\u67E5\\u770B\\uFF1B\"), React.createElement(\"p\", {\n style: {\n marginLeft: 14,\n marginBottom: 4\n }\n }, \"b. \\u5546\\u57CE-\\u5238/\\u7EA2\\u5305\\u4E2D\\u67E5\\u770B\\uFF1B\"), React.createElement(\"p\", {\n style: {\n marginTop: 6\n }\n }, \"2.\\u53EF\\u5728\\u8D2D\\u7269\\u65F6\\u4F7F\\u7528\\u3002\")), type === 0 && React.createElement(\"div\", {\n className: \"btn\",\n onClick: writeInfo\n }, \"\\u586B\\u5199\\u5730\\u5740\"), type === 1 && React.createElement(CopyToClipboard, {\n text: \"\\u5361\\u53F7\\uFF1A\".concat(cardId, \";\\u5361\\u5BC6\\uFF1A\").concat(cardSecret),\n onCopy: function onCopy() {\n Toast.success({\n content: '复制成功',\n duration: 3\n });\n }\n }, React.createElement(\"div\", {\n className: \"btn\"\n }, \"\\u590D\\u5236\\u5361\\u53F7\\u5361\\u5BC6\")), React.createElement(\"div\", {\n className: \"tips\"\n }, \"\\u8BF7\\u622A\\u56FE\\u4FDD\\u5B58\\u54E6~\"), React.createElement(\"div\", {\n className: \"close\",\n onClick: closeModal\n }, React.createElement(IconClose, null)))));\n var userInfoCont = React.createElement(React.Fragment, null, React.createElement(Form, {\n className: formCls,\n getFormApi: getFormApi\n }, React.createElement(Form.Input, {\n field: \"username\",\n label: \"\\u59D3\\u540D\",\n showClear: true,\n autoComplete: \"off\",\n placeholder: \"\\u8BF7\\u8F93\\u5165\\u59D3\\u540D\",\n rules: [{\n required: true,\n message: '请输入姓名'\n }]\n }), React.createElement(Form.Input, {\n field: \"phone\",\n label: \"\\u624B\\u673A\\u53F7\\u7801\",\n showClear: true,\n autoComplete: \"off\",\n placeholder: \"\\u8BF7\\u8F93\\u5165\\u624B\\u673A\\u53F7\\u7801\",\n rules: [{\n validator: checkMobile\n }]\n }), React.createElement(Form.Cascader, {\n field: \"location\",\n label: \"\\u8BF7\\u9009\\u62E9\\u6240\\u5728\\u5730\\u533A\",\n treeData: locationMap,\n placeholder: \"\\u8BF7\\u9009\\u62E9\\u6240\\u5728\\u5730\\u533A\"\n // rules={[{ required: true, message: '请选择所在地区' }]}\n }), React.createElement(Form.Input, {\n field: \"address\",\n label: \"\\u8BE6\\u7EC6\\u5730\\u5740\",\n showClear: true,\n autoComplete: \"off\",\n placeholder: \"\\u8BF7\\u586B\\u5199\\u8BE6\\u7EC6\\u5730\\u5740\",\n rules: [{\n required: true,\n message: '请填写详细地址'\n }]\n }), React.createElement(\"div\", {\n className: \"protocolCont\"\n }, React.createElement(Form.Checkbox, {\n field: \"checkState\",\n noLabel: true,\n rules: [{\n validator: checkState\n }]\n }, \"\\u52FE\\u9009\\u6B64\\u6846\\u8868\\u793A\\u540C\\u610F\", React.createElement(\"span\", {\n className: \"statement\",\n onClick: function onClick(e) {\n e.stopPropagation();\n var url = getInfoUrl();\n if (url) {\n window.open(url);\n }\n }\n }, \"\\u300A\\u4E2A\\u4EBA\\u4FE1\\u606F\\u6388\\u6743\\u58F0\\u660E\\u300B\")))));\n return React.createElement(React.Fragment, null, React.createElement(Modal, {\n title: '填写邮寄地址',\n onCancel: closeModal,\n maskClosable: false,\n visible: infoModal,\n footer: React.createElement(React.Fragment, null, React.createElement(Button, {\n type: \"tertiary\",\n onClick: closeModal\n }, \"\\u53D6\\u6D88\"), React.createElement(Button, {\n theme: \"solid\",\n type: \"primary\",\n onClick: onSubmit\n }, \"\\u63D0\\u4EA4\")),\n closable: true,\n centered: true,\n className: \"infoModal\"\n }, userInfoCont), React.createElement(Modal, {\n onCancel: closeModal,\n maskClosable: false,\n visible: !infoModal,\n footer: null,\n closable: false,\n centered: true,\n className: \"prizeModal\"\n }, prizeCont));\n}\nvar prizeCls = /*#__PURE__*/css(\".cardTop{.winText{margin-top:56px;margin-bottom:16px;text-align:center;font-weight:600;font-size:18px;color:#03081a;}.underline{position:relative;padding:0 16px;height:16px;line-height:16px;overflow:hidden;img{width:calc(100% - 48px);position:absolute;left:24px;top:50%;transform:translateY(-50%);}&::before,&::after{content:'';width:16px;height:16px;position:absolute;top:0;border-radius:50%;background:rgba(22,22,26,0.6);}&::before{left:-8px;}&::after{right:-8px;}}}.cardBottom{padding:16px 24px 40px;color:#03081a;font-size:14px;.cont{padding:0 20px;margin-bottom:24px;font-size:14px;font-weight:400;color:#1c1f23;}.btn{margin:16px 0 24px;padding:12px 0;text-align:center;background:#0064fa;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;}.tips{color:#fe2c55;text-align:center;font-size:14px;}.close{width:28px;height:28px;position:absolute;left:50%;margin-left:-12px;bottom:-52px;text-align:center;line-height:36px;background:rgba(41,41,41,0.34);border-radius:50%;cursor:pointer;.semi-icon-default{font-size:18px;color:#fff;}}}\");\nvar formCls = /*#__PURE__*/css(\".protocolCont{display:flex;align-items:center;font-size:14px;.statement{display:inline-block;color:#007ffa;cursor:pointer;}}.semi-cascader{width:100%;}.semi-form-field-label-required .semi-form-field-label-text::after{content:'';}\");","import _Cascader from \"antd-mobile/es/components/cascader\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport React, { Component } from 'react';\nvar LocMobile = /*#__PURE__*/function (_Component) {\n _inherits(LocMobile, _Component);\n function LocMobile(props) {\n _classCallCheck(this, LocMobile);\n return _possibleConstructorReturn(this, _getPrototypeOf(LocMobile).call(this, props));\n }\n _createClass(LocMobile, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n cascaderVisible = _this$props.cascaderVisible,\n location = _this$props.location,\n locationMap = _this$props.locationMap,\n changeLocation = _this$props.changeLocation,\n closeCascader = _this$props.closeCascader;\n return React.createElement(\"div\", {\n className: \"lotteryPicker\"\n }, React.createElement(_Cascader, {\n options: locationMap,\n visible: cascaderVisible,\n value: location,\n onConfirm: function onConfirm(location) {\n return changeLocation(location);\n },\n onCancel: closeCascader\n }));\n }\n }]);\n return LocMobile;\n}(Component);\nexport { LocMobile as default };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _Toast from \"antd-mobile/es/components/toast\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport { css } from 'emotion';\nimport sample from 'lodash/sample';\nimport isEqual from 'lodash/isEqual';\nimport prizeStartImg from '@/images/prize-start.png';\nimport disabledImg from '@/images/disabled_btn.png';\nimport thanksImg from '@/images/thanks.png';\nimport { lotteryDraw, loadLatestLotteryInfo, lotteryUserInfo, getLocationMap as _getLocationMap } from '@/services/api';\nimport { traceOnError } from '@/tracer';\nimport { CaseUtil } from '@/utilities/common';\nimport pcBgImg from '@/images/lottery_pc_bg.png';\nimport mobileBgImg from '@/images/lottery_mobile_bg.png';\nimport pcLightBgImg from '@/images/lottery_pc_bg_light.png';\nimport headerImg from '@/images/lottery_header.png';\nimport latticeImg from '@/images/lottery_lattice.png';\nimport ModalMobile from './mobile/Lottery/Modal';\nimport ModalPC from './pc/Lottery/Modal';\nimport Cascader from './mobile/Lottery/Cascader';\nvar currentIndex = -1;\nvar jumps = 0;\nvar speed = 200;\nvar timer = 0;\nvar prize = -1;\nvar Preview = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(Preview, _React$PureComponent);\n function Preview(props) {\n var _this;\n _classCallCheck(this, Preview);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Preview).call(this, props));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"resetActive\", function () {\n var id = \"turntable-\".concat(currentIndex + 1);\n var classVal = document.getElementById(id).getAttribute('class');\n classVal = classVal.replace('active', '');\n document.getElementById(id).setAttribute('class', classVal);\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"runCircle\", function () {\n if (currentIndex >= 0) {\n _this.resetActive();\n }\n currentIndex += 1;\n if (currentIndex > 7) {\n currentIndex = 0;\n }\n var newId = \"turntable-\".concat(currentIndex + 1);\n var newClass = document.getElementById(newId).getAttribute('class');\n newClass = newClass.concat(' active');\n document.getElementById(newId).setAttribute('class', newClass);\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"controllSpeed\", function (_ref) {\n var prizeList = _ref.prizeList,\n prizeIndex = _ref.prizeIndex;\n var minimumJumps = _this.state.minimumJumps;\n jumps += 1;\n _this.runCircle();\n // 抽到奖品停止\n if (jumps > minimumJumps + 10 && prize === currentIndex) {\n var prizeName = prizeList[prize].prizeName;\n if (prizeName === '谢谢参与') {\n _this.setState({\n prizeTip: '很遗憾未中奖'\n });\n } else {\n _this.setState({\n prizeTip: \"\\u606D\\u559C\\u62BD\\u4E2D\".concat(prizeName, \"\\uFF01\")\n });\n _this.setState({\n prizeModalVisible: true\n });\n }\n clearTimeout(timer);\n prize = -1;\n jumps = 0;\n // 没抽中继续\n } else {\n if (jumps < minimumJumps) {\n speed -= 10;\n // 决定奖品的位置\n } else if (jumps === minimumJumps) {\n prize = prizeIndex;\n } else {\n // 下一个就是奖品时放慢\n if (jumps > minimumJumps + 10 && prize === currentIndex + 1) {\n speed += 300;\n } else {\n speed += 20;\n }\n }\n if (speed < 40) {\n speed = 40;\n }\n timer = setTimeout(function () {\n _this.controllSpeed({\n prizeList: prizeList,\n prizeIndex: prizeIndex\n });\n }, speed);\n }\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"submitUserInfo\", function (info) {\n var location = _this.state.location;\n var lotteryParams = _this.props.lotteryParams;\n var uid = lotteryParams.uid,\n did = lotteryParams.did;\n var pathname = window.location.pathname.replace(/\\/$/, '');\n var ret = pathname.split('/'); // pathname一般都是 '/iGHria' 或 '/q/10666/DS4ut1N2/12c5/'\n var questionnaire_id = ret[2];\n var contact = _objectSpread({}, info, {\n address: location.join('') + info.address\n });\n var params = {\n questionnaire_id: questionnaire_id,\n user_id: uid,\n device_id: did,\n contact: contact\n };\n return new Promise(function (resolve, reject) {\n lotteryUserInfo(params).then(function (res) {\n resolve(res);\n }).catch(function (error) {\n reject(error);\n });\n });\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"closeModal\", function () {\n _this.setState({\n prizeModalVisible: false\n });\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"openCascader\", function () {\n _this.setState({\n showLocCascader: true\n });\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"closeCascader\", function () {\n _this.setState({\n showLocCascader: false\n });\n });\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"changeLocation\", function () {\n var location = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n if (location.length < 3) {\n _Toast.show({\n content: '请选择完整地址',\n duration: 3\n });\n } else {\n _this.setState({\n location: location\n });\n _this.closeCascader();\n }\n });\n _this.state = {\n turntableList: _toConsumableArray(Array(8)).map(function (_) {\n return {\n prizeName: '',\n imgUrl: ''\n };\n }),\n prizeModalVisible: false,\n prizeInfo: null,\n minimumJumps: 15,\n // 超过开始进入抽奖\n disabled: false,\n prizeTip: '幸运大抽奖,立即参与',\n showLocCascader: false,\n location: [],\n locationMap: [],\n latestLotteryInfo: _objectSpread({}, props.lotteryInfo)\n };\n return _this;\n }\n _createClass(Preview, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.getLocationMap();\n }\n }, {\n key: \"getLatestLotteryInfo\",\n value: function getLatestLotteryInfo(_ref2) {\n var _this2 = this;\n var prizeList = _ref2.prizeList;\n var lotteryParams = this.props.lotteryParams;\n loadLatestLotteryInfo(lotteryParams).then(function (resp) {\n if (resp.code === 200) {\n var latestLotteryInfo = resp.data.lottery_v3;\n if (!isEqual(latestLotteryInfo, _this2.state.latestLotteryInfo)) {\n _Toast.show({\n content: '奖品配置已更新',\n position: 'top',\n duration: 1000\n });\n _this2.setState({\n latestLotteryInfo: latestLotteryInfo\n }, function () {\n var list = _this2.getPrizeList();\n setTimeout(function () {\n _this2.getLotteryResult({\n prizeList: list\n });\n }, 1000);\n });\n } else {\n _this2.getLotteryResult({\n prizeList: prizeList\n });\n }\n }\n }).catch(function (error) {\n _Toast.show({\n content: error.message || '更新奖品失败,请联系问卷管理员',\n duration: 3\n });\n });\n }\n }, {\n key: \"getLotteryResult\",\n value: function getLotteryResult(_ref3) {\n var _this3 = this;\n var prizeList = _ref3.prizeList;\n var lotteryParams = this.props.lotteryParams;\n lotteryDraw(lotteryParams).then(function (resp) {\n var idxs = [];\n if (resp.data.win === 1) {\n var _CaseUtil$toCaml = CaseUtil.toCaml(resp.data),\n prizeInfo = _CaseUtil$toCaml.prizeInfo;\n _this3.setState({\n prizeInfo: prizeInfo\n });\n var _prizeInfo$position = prizeInfo.position,\n position = _prizeInfo$position === void 0 ? '' : _prizeInfo$position,\n type = prizeInfo.type;\n idxs = (position.split(',') || []).map(function (i) {\n return Number(i) - 1;\n });\n if (type === 0) {\n _this3.getLocationMap();\n }\n } else {\n prizeList.forEach(function (p, idx) {\n if (p.prizeName === '谢谢参与') {\n idxs.push(idx);\n }\n });\n }\n var prizeIndex = sample(idxs);\n _this3.controllSpeed({\n prizeList: prizeList,\n prizeIndex: prizeIndex\n });\n }).catch(function (error) {\n _Toast.show({\n content: error.message,\n duration: 3\n });\n });\n this.setState({\n disabled: true\n });\n }\n }, {\n key: \"getLocationMap\",\n value: function getLocationMap() {\n var _this4 = this;\n _getLocationMap('cn').then(function (res) {\n return _this4.setState({\n locationMap: res.data\n });\n }).catch(function (e) {\n traceOnError(\"\".concat(e.message, \"-\").concat(window.location.href), e.code, 'Loc接口');\n });\n }\n }, {\n key: \"getPrizeList\",\n value: function getPrizeList() {\n var _latestLotteryInfo$pr;\n var _this$state = this.state,\n turntableList = _this$state.turntableList,\n latestLotteryInfo = _this$state.latestLotteryInfo;\n var prizeList = turntableList.map(function () {\n return {\n prizeName: '谢谢参与',\n imgUrl: thanksImg\n };\n });\n if (latestLotteryInfo === null || latestLotteryInfo === void 0 ? void 0 : (_latestLotteryInfo$pr = latestLotteryInfo.prizes) === null || _latestLotteryInfo$pr === void 0 ? void 0 : _latestLotteryInfo$pr.length) {\n latestLotteryInfo.prizes.forEach(function (prize, idx) {\n prizeList.forEach(function (item, index) {\n if (prize === null || prize === void 0 ? void 0 : prize.position.includes(String(index + 1))) {\n item.prizeName = prize.name;\n item.imgUrl = prize.img_url;\n }\n });\n });\n }\n return prizeList;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this5 = this;\n var _this$props = this.props,\n device = _this$props.device,\n showLottery = _this$props.showLottery;\n var ua = navigator.userAgent;\n var _this$state2 = this.state,\n prizeModalVisible = _this$state2.prizeModalVisible,\n prizeInfo = _this$state2.prizeInfo,\n disabled = _this$state2.disabled,\n prizeTip = _this$state2.prizeTip,\n showLocCascader = _this$state2.showLocCascader,\n location = _this$state2.location,\n locationMap = _this$state2.locationMap;\n var prizeList = this.getPrizeList();\n return React.createElement(\"div\", {\n className: previewCls,\n style: {\n display: showLottery ? 'block' : 'none'\n }\n }, React.createElement(\"div\", {\n className: \"previewCont \".concat(device === 'mobile' && ua.indexOf('iPad') < 0 ? \"phoneCont\" : \"pcCont\")\n }, React.createElement(\"div\", {\n className: \"header\"\n }, React.createElement(\"img\", {\n src: device === 'mobile' ? headerImg : pcLightBgImg\n })), React.createElement(\"div\", {\n className: \"latticeCont\"\n }, React.createElement(\"img\", {\n src: latticeImg\n }), React.createElement(\"div\", {\n className: \"turntableCont\"\n }, React.createElement(\"div\", {\n className: \"prizeTip\"\n }, prizeTip), React.createElement(\"div\", {\n className: \"prizeCont\"\n }, prizeList.map(function (prize, idx) {\n return React.createElement(\"div\", {\n id: \"turntable-\".concat(idx + 1),\n className: \"lattice turntable-\".concat(idx + 1),\n tabIndex: \"1\",\n key: idx\n }, React.createElement(\"div\", {\n className: \"turntable-item\"\n }, React.createElement(\"div\", {\n className: \"prizeImg\"\n }, React.createElement(\"img\", {\n src: prize.imgUrl\n }), React.createElement(\"div\", {\n className: \"shadowCont\"\n })), React.createElement(\"div\", {\n className: \"prizeName\"\n }, prize.prizeName)));\n }), React.createElement(\"div\", {\n className: \"lattice turntable-9\",\n style: {\n cursor: disabled ? 'not-allowed' : 'pointer'\n },\n onClick: function onClick() {\n !disabled && _this5.getLatestLotteryInfo({\n prizeList: prizeList\n });\n }\n }, React.createElement(\"img\", {\n src: disabled ? disabledImg : prizeStartImg\n })))))), prizeModalVisible && (device === 'mobile' ? React.createElement(ModalMobile, {\n prizeInfo: prizeInfo,\n location: location,\n submit: this.submitUserInfo,\n closeModal: this.closeModal,\n openCascader: this.openCascader\n }) : React.createElement(ModalPC, {\n prizeInfo: prizeInfo,\n locationMap: locationMap,\n submit: this.submitUserInfo,\n closeModal: this.closeModal,\n openCascader: this.openCascader\n })), React.createElement(Cascader, {\n location: location,\n cascaderVisible: showLocCascader,\n locationMap: locationMap,\n changeLocation: this.changeLocation,\n closeCascader: this.closeCascader\n }));\n }\n }]);\n return Preview;\n}(React.PureComponent);\nexport { Preview as default };\nvar previewCls = /*#__PURE__*/css(\"width:100%;height:100%;z-index:1000;.previewCont{height:100%;overflow:auto;&.phoneCont{background:url(\", mobileBgImg, \") no-repeat;background-size:100% 100%;width:100%;margin:auto;height:100%;.header{@media only screen and (orientation:landscape){width:368px;}margin:auto;margin-bottom:2px;margin-top:-30px;img{width:100%;}}.latticeCont{@media only screen and (orientation:landscape){width:400px;}width:100%;height:auto;.turntableCont{position:absolute;top:32px;left:40px;right:40px;bottom:50px;}}.prizeCont{margin-top:16px;.lattice{.prizeName{height:24px;line-height:24px;font-weight:500;}.prizeImg{.shadowCont{margin-top:8%;}}}}}&.pcCont{background:url(\", pcBgImg, \") no-repeat;background-size:100% 100%;.header{position:absolute;width:900px;top:0px;left:50%;transform:translate(-50%);z-index:1;img{margin-left:58px;}}.latticeCont{width:448px;margin-top:196px;z-index:10;.turntableCont{position:absolute;top:37px;left:44px;right:44px;bottom:62px;}}.prizeTip{line-height:28px;font-size:14px;font-weight:600;}.prizeCont{margin-top:16px;}}.latticeCont{position:relative;margin:auto;}.prizeTip{width:70%;line-height:24px;margin:auto;text-align:center;color:#fff;background:linear-gradient( 90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.25) 56.25%,rgba(255,255,255,0) 100% );font-weight:500;}.prizeCont{width:100%;height:calc(100% - 44px);margin:auto;padding:16px;position:relative;.lattice{position:absolute;width:calc(33.33% - 8px);height:calc(33.33% - 8px);text-align:center;font-size:14px;color:#1c1f23;z-index:1;.turntable-item{width:100%;height:100%;background:#d7ddf6;box-shadow:0px 4px 4px rgba(52,75,168,0.35),inset 0px 2px 1px rgba(255,255,255,0.55);border-radius:12px;}&.active{&::after{content:'';width:calc(100% + 8px);height:calc(100% + 8px);position:absolute;top:-4px;left:-4px;right:0;bottom:0;background:linear-gradient(135deg,#fae05f 0%,#fa965c 100%);box-shadow:0px 4px 4px rgba(52,75,168,0.35),inset -1px -1px 1px #f26805,inset 0.75px 0.75px 0.75px rgba(255,255,255,0.65);border-radius:14px;z-index:-1;}}.prizeImg{width:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-70%);img{width:36%;}.shadowCont{width:34%;height:6px;margin:0 auto;margin-top:10px;border-radius:50%;background:rgba(22,65,138,0.12);filter:blur(2px);}}.prizeName{width:100%;padding:0 6px;text-align:center;height:26px;line-height:26px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:absolute;bottom:0;background:#fff;border-radius:0px 0px 12px 12px;color:#3c5aff;font-weight:600;.semi-icon{margin-left:4px;font-size:12px;}}.semi-icon-plus{font-size:18px;color:rgba(28,31,35,0.6);}}.turntable-1{top:0;left:0;}.turntable-2{top:0;left:calc(33.33% + 4px);}.turntable-3{top:0;right:0;}.turntable-4{top:calc(33.33% + 4px);right:0px;}.turntable-5{top:calc(66.66% + 8px);right:0px;}.turntable-6{top:calc(66.66% + 8px);left:calc(33.33% + 4px);}.turntable-7{top:calc(66.66% + 8px);left:0;}.turntable-8{top:calc(33.33% + 4px);left:0px;}.turntable-9{display:flex;align-items:center;top:50%;left:50%;transform:translate(-50%,-50%);border:0;background:none;box-shadow:none;color:rgba(28,31,35,0.35);cursor:pointer;filter:drop-shadow(0px 4px 4px rgba(52,75,168,0.45));img{width:100%;}}}}.adm-center-popup-wrap{width:calc(100% - 32px);min-width:unset;max-width:unset;.adm-center-popup-wrap{&:first-child{position:relative;}}.adm-modal-body{max-height:80vh;overflow:inherit;padding-top:0;}.adm-modal-content{padding:0;padding:0;position:relative;overflow:inherit;}}\");","import React from 'react';\nimport withPalette from './index';\nimport { useStyles } from '../../../common/Question/MaterialUI/materialTheme';\nimport Slider from '../../../common/Question/MaterialUI/MaterialSlider';\nfunction MaterialSlider(props) {\n var classes = useStyles();\n return React.createElement(\"div\", {\n style: {\n width: '86%',\n marginLeft: '7%'\n },\n className: classes.root\n }, React.createElement(Slider, props));\n}\nexport default withPalette(MaterialSlider);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport React, { PureComponent } from 'react';\nimport { ThemeProvider } from '@material-ui/styles';\nimport { theme } from '@/components/common/Question/MaterialUI/materialTheme';\nimport themesRepo from '@/theme';\nexport default function withPalette(UIComponent) {\n return /*#__PURE__*/function (_PureComponent) {\n _inherits(_class, _PureComponent);\n function _class(props) {\n var _this;\n _classCallCheck(this, _class);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));\n var _theme = '';\n try {\n _theme = sessionStorage.getItem('survey-quest-theme');\n } catch (error) {\n console.error('error: ', error.message);\n }\n var presetTheme = themesRepo[_theme];\n _this.state = {\n presetTheme: presetTheme\n };\n return _this;\n }\n _createClass(_class, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _theme = '';\n try {\n _theme = sessionStorage.getItem('survey-quest-theme');\n } catch (error) {\n console.error('error: ', error.message);\n }\n var presetTheme = themesRepo[_theme];\n window.addEventListener('setItem', function (_ref) {\n var newValue = _ref.newValue;\n presetTheme = themesRepo[newValue];\n });\n this.setState({\n presetTheme: presetTheme\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n return theme(this.state.presetTheme) ? React.createElement(ThemeProvider, {\n theme: theme(this.state.presetTheme)\n }, React.createElement(UIComponent, this.props)) : React.createElement(UIComponent, this.props);\n }\n }]);\n return _class;\n }(PureComponent);\n}","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABPCAYAAAB8kULjAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAACKpSURBVHgB7XwJsB3Veeb3d/fd3n2r3tPytCEhhCUQ2MSERSPjgIHCYOMkjEmMnYXJYmZqlmRmnHJlUhNXTZUrnipPVWamxhknFdvjeBzjgAMGJ5gADjZDjBkDQSAEWkHL03tP0lvufm+fk/+sffq+JxBrkqq0qtV9ez3n6+///+//T/cj/AOZpJSEvY9Ntqi2RRY6kxHkKhF1ylEUSYi4JRBNpZ14plePXh695IOHiU/BP4CJ8PcwyTvvjJvvHbsyLs3fQEl9q0T3Uop7aylqlUE9blXKR6nZYiQj/o8hlTGvF3hXqSt6xWMkC4+LtLoH7dL3yltvfIxIn/iOTu8YgPLgI6Nt2fxVKp++hgr1nRTXRhA1QNThVnT5iB7DJWBAc+SSWRP1JgZSEgyYiQFTFiFFBbIz1ECv+ledVvX+qFO9Z/Cia0/gHZjeVgDlwW+Ndqh0E4oLH4+ShfcjmRugqMb9b/FeBk6zjEGjEDTysEn726wETZVmr9TMVPstmKLEYFYZzLEeOiPfEWnpTyojW/6CVu2o4W2a3hYADz7ypfL681b9hogXfj0qzm5GfArEbJOkgDNsI8oAM6CR/ufWs3126T2etOtS/2MUs83OxGWJwRyA7I5BtCeOMDs/O1C68Eu0eXMLb/H0lgLIgSDpHLrvUyjW/jUVZ9ZScpLvwA9fAUcZ44jcrdkUEft1gmGUtEDmm9kPojAAKgbLVANpACXjMy2QUgwykONM+JXH0Br8z+XtjS8T3fqW+cq3DMDWvr+8AUnt96OBmfMpmWE85nlrwwLXDcyUb0mR6SQp8GINnLQAOrOlHJD9ZqzM1/nLVIOpQWQwpbTYaCBj4yNlhQ8bZiBXQrbGX6Ko+MnKeR95BG/B9KYBlDM/GOo2pj4vk/rtVJpKiM1Vsw7Wz5Hzc+royM6xBy+bye4LQXPNi/qaqwC07AsAlHrd3k9vsw/Bm3WVD2ezbq7muDX2xXKy+lO09YoFvInpTQHY2/fAB9PS/BeocOIcJNNMLGYdNYzJal+XWuY5cBTr2OEjXmYOjkEIXAComiSs6dpZWsmTA9CBKgKzNmyEYqMYheisBNoTB0mU/kVl+898D29wesMAtg/e+2mOqr9DpRNVxGyypEy2qcEjJUmYeeRuoZ2eAinJlo6BqmMUAheuhyzMQMyCh4D3gQyaDMDM/w59owFRiiE+bAKyOSnQHb6juuMjf4g3ML1uANl0ou6hu/6bLNT+LRVfYbelAgVbATUVrDD+TvirU2i2GsCkz3yjYLkMgEEklmEQ0Qvn9yyQjnnqAXpT7tnjbPRWDwwFPqzMxygQVzCI69nbjP9+dcfN/57FuMDrmF4XgPKl75Ra1Po/UWXmViRHmTguyjYMeFoQO+fOYYAoD54HLkEePHuc2i8p++2bSE65BAAGkdgDaECUUuRMWwGaReosSqvgIuUgHzYO2V7LAWbVNw9H539ix44dHZzllJztgQq8tmzfHVWmblTggThYYBE60koLnouM2u9FWuhqDDUoadZx/b+SM7HptLRAKoo50PW1KFDUzgfKHIBL10W2nls6c3f37xlg1RzxXOT2CfHRTW1U5O7dt9BZgnhWDFRm23rp7q9SZeo2UuBp5i1q5pE32zDaAs4USUsWF3VDcw6WmnlRny+E3pavGMglIEq37reJTOIo83UszJm7tDjGjK2SOWXeNKyZKDobEHVW31l9QdxGt762XjwrBjb33vU5NtvbEB/jXwwe2OdJBV7L57H6KXu2RPCC2boekjIATVjgUvNb2t+yP4Dkn7D04KEPNJed9DFO9gcZF5mFPcWat7UOZSiURBBpfOvi1jWHeeNv4TWm12Rga++9v4ni7OdROMRkstFW+702n6x0Xi9rOMkcAJkP7A8Qjm0uOofLfhbm2yO9M8yD5rf7DEX2Aei0ogXRughVRTOFCZNHK4kjxWr2SpuQdCbvqL73pv+NNwpgY8+3r4ziub9E+cAwIqXz5nxqpsHzETc03Sx66ghMYVAwWQj53NelbmE658Svkz95EKV0uYr06z6NC1iZmXYgrOHYl+r90j4EaeWNiszgoCIlR+Z0ErJ+Xore0BWjl3/kSbxeAFX5qdk+8VRUOrxJm250mvuzYMDT6Zljn+y7kgOKMh3YP2sQg2P7lhpc7f/k0ib2mXCuoBAAp5fS+UR1RSdlhDZds18YiWiFttQZCxch2B9KyWlfdwOb4ObdI611O2nXrsXlcDqjD2zW536XSjObQLNQPo9k3YDmmBdEVQeUDDvrfB+5YwJBrP2lc5gE7xNhzMpVZXzBBpkzlZD5G4S+0Jm0BsyAmAFqGEhqdmy0IJNeZEVc81DYKqICRFLdsVAofpZ3/JvlcFqWgc3d913NJagHqPhiAfG09nu6jqe1Xof73tUNkST7so0I0ms25QOFt0IKb0kBmDkGLpcHhw/FdE7DGYAmlzVdc6wQxnAjacEL5IwxY2H9oDov1v5QRWWdqcgJDigssltbEXcnLh/Z+eEn+rGK+jdILd5a/wPxceYzBwxmno62gkFjWUBS6yX/5HxklSaKqtOliGx/yJJUBrMrP4klM+WWQZVFz0YMm32uHWY7CSuU9bKnl9Lul7wu0hSpRtK23a2rewmhr0U+a2ELkyqXZ4uTc7x9luu1x5HK1uf1uE3ftMSE63977y9wEfTCSAllWeOLc4ommHWRFZ3qZq5AIKMgVcucv2cJUiNfCH6beUqOXNKen/prUE7CZNXpnPlKESyt6fr1zCdqrKWL0MKK94yBPrN26/5hd+whqk2cO9MAj2uN7Vr4wXc+wRu+ekYA5SOPJM1o6j+R9nvKZzb1xUj5PGEGe8JKMvXlsU/+cAWm5tbivHMPYcu5C0bGWIslBEgEV8j8YD5gUACiA4kQBA3daREEC1idl/k+IY3Bnpiq4Knd2zBcPoWrrtiHOAnAhtGoJpAEkVyvKvJwP3CKWTiFTmf0P/B1vxbmyzkAW6O1nwOd3kqYs6bbNuA55kWu85GOklluG2Hq5RIe/PYoFusz+NFgEf/yX7UwOpYgSRhme560QHoXaNmZ+T63nfq2uc6RFeTISxghPdNc33mT5lyvR7j37mEcf2UeCyd4aKEe4+rru9ZHCv9gnLshDbx9YCpFRY0PZTxUAhGfevf8o/d9lH98Ax6JYBJo/qbJcevGD2h/YMFTNzOt4gs74cvVZBlrMGPeURAMViqQVNbgmWdXI+11uQNsoNyJNFUKn6+ilsL5RgMW6cbCPBQZpHnWr/oMxe235+j2WFep3FqPf2czNBB7945ioTmJXpPlV72JkmhmPjxIn8n7Xul9MCnrE0wiwdYoGRfWwl3R+NUQMw/gwhMP7ES88BMkFzR19ck2zSHv0KUBT5jOmA4bvzexqoe1w9MYGhxCe+Yknj+wA88+v5GBE+zAoTvUS9XMzztV1yALBOWAIj0n9sEkfmY94cHT9+eZ7IOQwly3J0jfJxWGmfsPrMHfPP0eNOca6J6cw1Cxhe0XdGwQkUHAkvo3CemBNHNqScRpq1D1TjZlmr/29MMPv3uJCRO1Psa2ztZVN6hHHe339Fh1TstZ3ydsOkZuG+H9Vy3gT78WYaA8iJN7D+AH3fNw+Oh6bNowjWq5gWY7Yf+TYNvmI6hWlEsIZUx/hdoNWcLc25qw8VU297YPoMes3r13kh91AaVCC83OAGZOTeDAwSqm9h5E85WjiOotXH/THEZGY6sesvQvk0Wuq2SAVcxUGCg8OKBCnOZnPINud+Ln+ahnPIBKujR+/PUPkVy0IbytG6nVO1kGaqdg2eI7De871LR2q8A175vBA3/RQqU6hMU9L+HZl2I8V+I0CVW+FCdtpQL2srS67Zf5mokSq2QfRF/F2g+iW6HtAYONmpnme+LRETzy/UF0Wa50e2VtNd3GIaQLrCIaLSStLi5/9wwuu4r7FMfaZ9rGez/qQZTGz5KN7Ma1sIQTyipZDytTpsYtfOxvczCRGsDej767i0fRNqlsQzlOFTjIFiKVTnLjGt7f+wFtyhqiblSK8W5uZJGHM797H9O+WWHGFTiINBmSGGVW9kpLdtt8XWXPlKV9Zl2VvWzV2vtC2ACS5hy9ySoi3c7Oy12sm+2h1emg1qyh3W0zmF02oB7fv4nLrpzFrpsEimNl6wIQqAlkTHSC2vpkw0CrE7U/VLJujlsyt/X0gw/u5CMe0wB20sY1FM9r9im0dY6rZEvkCpGZ+cIVCKRDE5l+UlM5xrZdAms2zePH35/HK3sHkNZHMBCXMVCqoDogsPX9rcx/Kj8WuWFOFzDUUGes8gdk6ZpbhqUv0vr5oovYN+2fwOJcGYtpD4usW3vlJtaumcWFV7SxbnsBxaGSaa+gvqBvc6eQ2SJgug42qWGhlnULOqD00vpVHkAZNX8qUo5ShW1pMg5tukqtq3QsciHTVUscc7Lwn8knNnwGpLq+hKtUPbK1gO7CSYhWiphPq4wQkvEBxqiQMVBmflRaYe7HiT1wTieSD1wugq7eClzza0+jOdtGp8nihR98zJUpOZAgTao8R+ip4gaplA4mgJCVL3kaeoZrhaX5Qx7EiB+M4IisTFmgfrk6PGHxXK6LAz9BPChEuizf1WkORdZ0pbS5fihyZY760moxSGNYHe54qqIon1IYKKNcLSBRWYeaGUUqKN8XZ1WZUEsHkwyZ5xcZcKazhsFxtcgMj1DmEKxkTIv3t6UCzjRdP37eHjEqMZCTneRszBUfnKuw0dybMaezEVupYBZK0bruEU48klpRXBajMWTCtfN9NmeMhPEV1m9oRKKM/5njNZ1Ryr8jtOdkhrHmszlxxOfFkWEyxaQDRlaMCdyAMydblclchPGB0ufNYbYgdcYj1YORpq6oxFeHT+1pcI2g7vBxsVDNogBA6dtBNiprKxDSc4eE06hW1gh2P6LOxywM7FhsX5xQurCR1NiGdpJW96mzotQEkMhEX3JphPMhIWE0A9laOxL79kkcOtzB1HQLpWIP69cRp3UFbFgdaSD9mRoj69PIZAXkhibdMTIE0GgzuaQQYeWHAjEyIv3YKYHn9qY4Ph2xpEkwOsr3nyRs3tDE5ArJZieNWyJ37SxwyKBZjhgaRGHNmEkmhMJrUSUeFyYRpZfoyCtNJcPVyshd2JXuooAYnvpZ4fLkNOGLX06wb66KNZvPxciKMfQ6XTz+8B6M3L8Xt3yYcNnlJS6xWTZHjmlmBG4JeL5GaDspzX4KAAzzYNeu5/YIfOOuLo5xGWrjBRdhcGIUU9zxF59nx//gC/jFn5nF9i3NsBPIUsXM/3lAraQx5iwyXcgg8gj5u1jmt88hoYqkbmwjNdHXyReXqwi77q7u/ROX/muEL/xBAU8fr/NVmpiffwZDY2NaKKfdHk7Vx/Gtu45hcoKwaWvBeAFhgxDZklUQFb1TdDowANANnGdlLttWPuQkp6v339vDCzNcPSk00Nr9HKpDQ6wNe+i02zg5cxpH/qfEf/2PBbaMjqecIQJlTHQG4MKAcPrQlMGMsG4pP7iJfWpn3NXXyNbLSEjvZ5wjNX4w8zvhmOujDxaxf1bgkn+2k59Hl1MnFpzc6NrMLI68sBcnDh/BS0d6eOwhfvJdm2v5+pwFQq/bqo9euln5ZuOf/azqfcLUBrWbsaD/8NEu2oPbMXnu+WicmtPtUMn46eNTOLZvP2qM8L5jp/Clb6Z+qMQP6VjJ4slvUztXfyWLiwkoSlizL0zb4wygmKB+v+JyRQekXhfB0h3HIrYu8ejjXYxvXIOF2Vm05xewbv167Lz2Wuy49FKUWUgnnKDO19kvPcPgLqYmKRapv4aZe0vBkxY8t+6PMQ9cgSgdiJzl7N9LqK49F4vTM1zYkDhv2zbsuv56bN2+DUVueoGPKfDyoR+1MH00k19+tr7OgBcCaf1gagHUZtxRxdqVEdv4OkNLV6GQHkR9kTQAMKwQW7bOHovxylQNw6Nj3PBpBitFnYsJLzz5FI6/dIBL4ZyhMntjNtk6F3mmX+kaBuo5qyrnZwdcMKeWjZ6lPSNwuQ2S51MnWEA3WV9GCdqnTiPhds8dncJzTzyJ0y8f0b9VO9Tc4dRu916hAYFnWcY25MAjv88AyfdMjaThPRsSBqxK4WOIzNM0Ucr6PWF8lY6C2i05B8+NPFlAi/3LwolpLE7NIOFj27OncGTxKS5jcSrV4dROhQjWZIKZ2G5Y8Fw241+BCWjgXCGyPDtXhfYuxGZJ/LtZ4xIW4zvPYMlmmwETWOD12tQJBqzFjBT2NqS7c3xKeD8cliez4AENng5UKbxFqm2GhXpjVY2gxC5IkGsQhTIDVspIneLpVzXIhGR17eYiC1du+ZHnX+CUrYnYJuOqE2oZW21lghh536Mb5D01kB+lQwAcvHMHMt+crZs2C/atnVoDx2b3gHg9UU+aH6DkOeIOx/ZlSyWYVIcX1ZspqTBdsTcif2mZSRlv1tYaU+cLNfBxwk8hhdWWcAEjsqC5Xmg9CBNIIndlk6d221KbYo/BU8XU2Jfi3aVUTYd8A8k96tQ9bsoY7YVYyDyZARkCF6gAp9UkR/y0bh8aRfCD51aUu9Fh1aZ2B4Ess8d4AU0Z4wIBkAUdpgTXHyMeKOIskeokoqLJMqwluWu68SJYH+ikhe20upjOMKR5Mgq8AmcZxrjthUjqQqfKBBK1PyZvpXqyQj0TnBSwMzgu1HzLLAsFpf2lqYjbtx/0MJKyAm5oT19W2DIFDxWRZVGo1T37yBiG0+lWxhhQbfuFTkMXEr78LP8YI9t4ScGAtjDgEWXZh6cRmQsPcWG0yKCl0izHCpy8s39I9TAAcXGmiFbawenWIkqcKZTLYTEgqI6AgswgBA4BmJRnpP9NGBnha/PDYByxZmCF3lzvNHQ71P4uE2CuUzdjxPx75SCsbImya2oLJJ/Xm6q5zN4h0P5PmT4/BqG+S6EjnNVEx3nIaStclTki9Keipool852yLmvt6jrGqhXMne6gmpRw2TmXMK4sb7odZmeCwfIQp1ZH8czx3RivAOOrYvhqto9F9kZhqif71j2w/eZtfg8wIJPjRUwvRrhgchsGS4M8FsKVIB6XKbCUOl2fw5NHd3N+zHVBvveOzSJjFRxYloEueLhCiqsFaFMm0371GggKiwlR4YQZa0jg38/zRQNzYWmTBuP/Ajbyz9EVLdx+Q4Kv/XkBE+UJrBpbzWX1ki+RqyXXZjg6H8fOqxeZgciYF4UMdEA63xGwzjMOXizktxmAd13FZ7bHMFypYGRwDCtGxrUrUSa5qt3E4ZnDGKAabryyjQvPVVKpaO6PwFyDMhmc+TpzduCp8RlwR6g8xwwsTJkXr02JicKORdb5uycf5sKu8WyWV17RwHu2AC/teRnHjs1yhBvST0j5x6FSDxedU8O113Uwtt2OtPlOB+vuuo7avpwvlwGt35RNhy+4QmDd6BSO7zmJqZkqi/cCM07ds8uFjRp++X0L2LR+DqPruShQGrHmG1zXZ12BCVvmmbSO9FsXUOZLZS4qFfdzFC48B5QMA0UMX+R0xQPLRCmdL6TMvHXH+ZxyEZXxLi7+yQ4uanOlojtjxx3Y2xT5usN8/cESdEU1N5biglLINok86yhnqjkfKYPjtD6MMLI1wciaJt41x22od03Wo8e2pS6xEbcVw/yA4zh3flaWo4x5/YzUgNrPJYj9EeK/5SBS2qdepiFt03ZETDhTFradFjzXCepjjAqBVT6vyBG5YimvtqtBIwVgYt2CF119Zoko7+M8KMFBMrgfrPP37AyCgfpd5f7w4BWxVpHtnsl41D79gr5qk33lOHggZjwE3u/p1+tyaR3Z8WyFD5svV7rjwtD+ZP/i4vfPHxhglVEokvODnoVWGxHloy+Q76w6TjUsduwh5N9CpSBA9DHHtH7ptuWYlgMyYGUosB1rVJvKygJsvu2qza5JntEIHkK2Tfald0YL8smpGvCqcNcGF4dWnPd0tOPWW7l4W3hMfwrlzFg9TYV2Ssvkh5T5B09xB3isc1E93hHbzxoo/KzLjri5D2ykvVca6/tKbqBkwSa7bubdHbWMzKzEnO5Edo5x6nHf3PdGgxrpU22LHfPizL/JM/Qx0Hw6eKTuPipeDPBphcfp6s0tO7Beepxk+Wpj24k5ODKsIZd9UBZUNLCaWI5dyFjnxnMp6IBnZUjfwPyEqWh3OVc+PiNx/ESEejvWQwRKBFfLPaziSrKqJxYT0nVGylmCM3OB3ICT32XYpfKQHIFD5sGYqsyV72C+VnNBJFVjysqXD/NcfRyWDvxQBh+TxAPfaqfyhQpErdVghLXPzSxoYSDRFwgG23Mf17il7ZT3b5m5yZ4CrIe/eSbGi8eraHZLiAeqKPDAfJQk+t2+brOBXqPOUqiGbWtruGx7ig1rExYAlL2C7SSCBhF5AF0BgoyfdOMffr8ItKYMGQiv/Ui/25No9iEZZYiKD3kA4xs+9IC45+gsJAs5zULb+SjSr3ZISRkuDrSIAgba2TEPcbZc7q177WM4xeOhs7/+IfDkoVXocp2wyIxdkZRRbBRRaJjXSoRKBfn8dq/Eg+Zd/PhZgf//dB07L27j+l084qf8XOQsQGbtCP0bArbZIggc5jkmBuBJ+PxXASh7kTFfjLAHGD061Jr4UcZAbmnnW1+6J5YDv2I+Cy3Af/ziRubCqOvZGPz2ILoB8uAdFwoAtFWNXlvgvu9VcGh+FUpcOZ6kEawYGMdweZDNtGQGoLyVcxmMKz6L0SJm5DSmGyfx/56s4eSJBn7+5ioqrADMLZYzYcv2QF/6qou7gRfN2VJnI0Ja8JQPVKmbYt8Yh4qhR+j2q1seQN2vaPjemIZ/BanSN0UTUKhjbhRRNrzpwUIWWSmMulHAQloWQNWwp58lHK2txRCDsGHoPIxWR9BlMx3m1Hx4dBrFUov9vuSaIrOvyeyrTbBKWolVI6uwZvEkDszsw/7Ds3jgoQZu/uCIjlu+KOHBcVWjAES9Gmq8jHlS9kVdNWvwuC+pYp/yfSuZW9U/drh5AEs3/+y307v+cD9haAvEnNll375yr+kaS1wGvGWBJGSmnA8gkoc/n32hiupiB5tXnMtl/xKKvYPYcdlhVNd0VKlEuw8vsNWbUZ0ZNKcP4IWnNmBFdTOnixeCjj6PZ587gWsu72FkVcFenALQrNaDEdnG/8GUq7zvs+fkKi6w5muViPJ9zD6KJpiIK/cMtrb8wPXFlxPVm0apVMiqFEd9sVMyJ6ZW0uiLwRYVkfMPPsF2x6a2MBFuC2SRcv7jDYlNIxtQKTLj2/ux46cOonoO7ywnVgI5FltppLKdjQLv+cAhzpv2c5Giim2TF2B9eQylxL03aNvhl1YRiHwfKGy/bqNZ99tdnxT7enxv9r8kGJdkNWcyY39En7y0uwRANc3Lwn9HPHFCf3gnKtoXktZn7kkgABKBTqRgDsBzWsufa9d5ev+uFkbjaQzgIC6+8ggKw1b2hJ21L2Fm9+CAUYlxIR8/gL0YTeZwwy6J8lAIYD9gfdfTvi1sV0YI/6mI/5CTr9tTGDChaBWHh3XHFqj8JyFmhL4pvevrv0PNff8FvQN8xeN8gPo6qW0eT2T9iIt6LmvxYjmBfz2Ngpckw9c3nAfnwSY0euZ3JV6mJRJnnFTna10zRFrhe5WcVHIh3kaC3CcS4Viy/fDGDqS5pbQBzoBJmkAyVYXDSVYvOyBX7Ph06Zc+9rmwKUs+c4ieXfN7clvtNvTmtyNVL1i3zGseKsK5akxYL+yf3XPJu72lgCgfVy3k94XiLEzf/P5AR1b43Iq9l4uePrVD5tucBhXm7VbzSrHti6t+p5RFYW/Cyu/Zz2ALaxnA9Xtq8cgX0Dctee5qan7zmx8ot498V7b3cinvqH6p0PztF8sYx8AoYKFj33IMdLcxHjwPimeMWw8B62uYPMPSSxSZj8AyPQMLzVBoNlxrWefSN/Z7OuNQfi/eADmyQ8ixDZcXf/FjSz46jLDMVPnoRx8ShdWfQ7yOr8raWv3xml7ROlSy/kGZYTDrN8h7fXNqKiHuzW+9lNmsruE+132tebnjPGNk5rfC6/fN0t2vG16P+8N5NpRQ7jKru6qfzLzeCD+W1QzGJo6r6z67HHju0Z1xEl//ygPU2H89Ogf5wc0wmIv2j4XZF889uUzWAoT+MM7rQjcYFWYkXo2HVJN9P2Vu19J1J0XcRsuq0Af6wXsr8ET2PqN5ccAEHpnaYgETBtE4u5gtSFec9+XC+sk76MYb21hmetUv1ineeAtKvYdlmv6k+6JfazL3B3X0CAuypU6lpP2dwufBZJeO8C7dWm7KYSpfxYxDM3fBQ+QDiBBA8ImGCxTkI7aEr95o8FQtgLMNGmMtupEt+Nwn2qNDv1U8A3jAazBQN+2uRydRf/F+2ThwCXWOMLVnLYht+O+FNWjOz9mCAoWFhf5iw5KoY29GWMLKJawLAk4/eJ590kdbhNFWwr9pZUbanGwqmFn9FQ8FXoVd18rzd7cH1t4w8EsfPopXmV4TQN3EO7+9TjZP3EONQ+9Fi0FMGUT99Y6VN6aEuzRDQWi2gaTpN2f0mXa/VTvAcushkA40mf32jAteIvf1P8qYpwaIhP1jPNEog7cWWLX1mWh4/EP0iVuO4DWmswJQTQv/996Jwd7st6j28i4NIo97ILXflbi/m+Deb8l9XUhLfy8BjpZvyhI/2efvfI7rfF94TFDWkpkol35cIzbgqeqT0kMKvIFJiFVbHm5V1n588PabpnAW01kDqJt8551F2W5/gxZf+Wk0FIjTbNLm0zBdPvYv0yFv1u5WORAR/HY3oDz7ckyUy/i/kIWByYezz2bsFwAiNtmV/kRGffqgwGOzHV4HMbHxD+KJjZ+mW6+bx1lOrwtA35Wv/um/Q33691B7uYzWCQaRdWKqPlAM3nR1rzeEZFtyVzpDk14t8kosidLutxfH7reJ/vobcv03ESzr9PsLDB4XkVHkaDu2viVXrPtU9Ou3/a+39U8/hZP8yt3ny+bJP6La8fehwSB2TzF26nsy9TVk8Id4XJpAfU6t//eSGyAQ3k4oB34yPE4vKZtB8OMiujLjvnyyfwYvZn8X89BmdTXEynWP9EorPlm+45+/hDcwvWEA3dT7yp99Il6Y/m3MndiOJgeXLpt02uAO2L9oJHOlDwS2hTMgsXTTkgAT0FoE8qj/s1gKB7IYuEgNR7LGq6yAHF/7shgc+VR84sW76TOf6eENTm8aQN3uO++MUaPb5dzMb9Dc7IVoMhu7zMae+lsLncy0ZQCk/wZP5KMqhfIkaKIM1hHkuP5vbfVXwlU6qSrrRQNckc11YJQTqzWHxODQ78Zr3/VndPOlDbzJ6S0B0E3yM5+JsPGin8Xc6TuwcPoDWGAg2wrIpgXSvSgu0P8HcXxUDaOtb6FN9r0EggXMsS/4TJasj4sZuMQCNzwuMbriOxge+gI2DP4VvYowfr3TWwpgOMk//vMNqNV/AfXaz2Fx/mIssmm3G5aV6j1pm7yK4AX3JUBiqckGfwEp94WnH49m0MqcTQxyFWV07EWUSl9sDY3eXfm1mw/ibZjeNgDDSX7t/nMwV/9p2WhcR8321ZhfGAAPVaLFYPYsmGmQq6JPlniBbgGM4mwQX71WUmD/VuXB7tHhlixX7kGl9NfR+PgD9PHrDuBtnt4RAMOJzTzB+Ve9Cwtz78NCfQs6vUt4yG2HbLZXU5MB7dhKjgiYqAf1I/OuTYFNc6AkUS2dlHHyYyoWnsBA+SCGB3+IVWLfW2meZzO94wCeaZJ37i6ifWQcHa5git5k2k7HYvMWoyJdB4Vkrt0Vx0V1sHayUjm14dadTfzT9I9/+jt9ZeY791PsdQAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFEAAABQCAYAAABh05mTAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABHySURBVHgB7VzZcxbHER/EJxAgxI0NiBtBydwgMAhxWuAjLkggReJKHuPnPPsl5b/Bb37yowscyhhsMNgBBUKZS4AIh8GAAQHG3BgQiEPK77fe/tIazczudwh4cFetdnd2dqbnN9093T37yZjfqGDqZl4iam9vL/nuu+/69+jRY0AmkynrDuoGwqnt4cOHz/D88ZMnT+7h2a2ampon5iWhFwbi+vXru1dVVY0rKysbjtvhAGoojleAWWlJSUm2XltbW6frp0+fEtBrON/BbTPO5wHypdra2ofmBdBzBfGTTz4pw0CnAayxuJ1CaSNgAM5o4DQROD7jGcBlgdRnHgCy9fHjx824Pvro0aNT6OeWeU70XEA8efLkGAAxA+DVQFV7hkALkQAp1/ZZrqHyT1tbW8/gvHvr1q1nPvzwwzbThdRlIGKw3Q4ePDi5oqJiPsCbCPBMvuBpsiVSylxngMjjKiSzAeretHTp0qemC6hLQNy3b99YgFffs2fPiQQNIEblhQJIEoB8qq3PpGfPnkX3APFnqPyWefPmnTBFpqKCuHPnzvJhw4YtKy0tXQDgIsTE5gkVAqQGUN+7wHMBCRANpPLMvXv3NtbX1/9sikRFA/HIkSNzIXlv4yjnvYClQRMw8wUyBKIGTT8jEURdDwtQK8DcgcWnATwVbC8LBhF2rzfclLdh8+Zhtc2WaxBlhc12mmAb9YosJMDJc31Ocy3qrw8sPnSN1sFW3jAFUEEgNjU1VUJ1/wLwBrskzwbSfk4wOTit7kIaNFJI0nzXcm/bTy25kMr7WHz+WVdXd9zkSXmDuH///jnl5eWrAGBPW6psIG1JDJUL2WD4ytMAKNcaPH0GiO1Q728WL178LSa03eRIeYHY2Ni4rE+fPm+WxAj4gAiBmw+llT4p09LMRUXXtd+nO9TS0rL3xo0bG9euXfvM5EA5jYq+HxaQFbSB+l17lnW5fW8fIXItHPZ7PgB97djPBWxOMMY1b8iQIX/++OOPS00OlJMk7t27dwUkcLksIOL/aXJJWzH9Q31vLz5Sbi9CIeC1zaS0xgvOoZs3b65PK5GpRwcHemGvXr2W+5IDNtN2WaFk9+sDMIlcANrlWCxnDRgw4F2TklKBiPRUNfy/35HxNFIVGmBaQG3Q9Huh9pOkMG3f0La6bdu2LUtVP6nCrl27hsAHXMu0njAmZLshQiHA0qq2DZrvmaYQgPmAiTG/uWnTpslJ9YIjQs6vR+/evd/DIMp9dZKYs9Unl4GklV7bDqZ53+X+aIpj/hII0BqsBRUmQEEQKysrl2E2RpocqRg2sJC2bQm0y9K8LwQg+167dm2VCSzCXhCRTKjELCwOdZBtxLJfnGHGqxL4+1wdV9t60C7bl4bsd+gDkhcd+oXGYPcL+zhtw4YNtb7+nCByrwMLyRpIYSbkMPtiYDKAcCrr4PrI5zPmY1MldHT5okn8hGwur9k2gKyHfeztfN9VuGfPnllouNLXSYg42+JvaR8stFLKqm8fufSpfT0h3lMChR+exbHWKTqXPbRzAahbDv9xsav/TpxyMUFHbyQNwiWFyIiYHTt2mO3bt5s7d+5EakQJ8GWi7Xu7jk/KXfcESId2ApgAePjw4Yi3H3/80dmOUCiExbHwyy+/HGA/y9gFAwcOnA1nc3A+cW9DQwN9yojBW7dumbfeesvAQY/uGeXoLHeozSR1DtlTkX4BlZJ48eJFs3v37qgccb/54IMPDMxVor21++JOJOJr2savOtTTN7SFWEzq4hecCQRXykuIUiflV65ciZindEINooPPeaaEatW228xVpQUwts3+MNDoLJpA4DiJyNRk6wnYvv5cCeTYBNR+9NFHFV4QIUncExnaoUJJ5/wgO3DZkUmTJmXvKQEHDhww169fjwbCAXBgAioHmAYo1wBd77A9mSweBIv9Ilw1d+/ejcrI09ixYyPtcOUxXWPSPMTUY/Dgwa/reh3UGapWF4c8iUy7VrTRo0eb8ePHmx9++CECjSpNOzRq1CiDvZfoHQ62f//+UT2f3fORqJcrBGRflHzuKvL+wYMH5sKFC+b27duRfSY/VOHXX///+G0HvcRKHsu2giYCz61fvPsv2VrIggibQYM5PmRYXdeaCP6iRYsMcnIGDmpW+jhApNAiBjlIlq1evdrMmTMnCKTP/tnllLLPP/88Ak5MCp9zwmRhIW/z589nAJHYl1yLSbMTyLgeuG7dOqrdyai+NILOJgHhjF76feQz7CSIulm5cqUZMWJE1tmO93+zUsT2KR1J7o6+d9UTIng8SJQurdLsA6GrWbBggZk2bVq0sIX4d5HL/cLYJsrzrCSi82k2c7n6akKDBg0yq1atMseOHTPff/99pFJsC6s+E58GOUkzZcqUDgMI9eVSX102dOjQqL3m5uas9BNASt/w4cPNxIkTzauvvpr1DMQF0htrLmJf2j2zJngqnm3idkLUypYtW3pigCPTgJb03YxmkAN77bXXsqsm36VUUFoJpM8PtMNI+7lrsCtWrIgWsV9++SVSaRJNh1LBbCiqyzQ4vlDTM95+X3zxBW1DcwQiDG4lBlhmuxppSft1ZJKqS/USMAkYgaMkyqLF69Bk5EpsD6l907dv32z/POjukLSfysMFGq/FYbfB1PVFkNA+P8xqjkaBRkfZoZB+WZMr+tChHaVAAJR78c+kPQ44H+CS6mgtERdHp7uoDToxYrdpLR7ZNjUWFh78LDBrE8eEpMLlhLrqUQIuX74chVbYo4juCRjtEX1I2kNhpthESRNeOWlnz541V69ejdSbRAkVN4s88ZBVW/Nkr9BCtsTG99FSn4kZ6Kcruyik6mIH6djSLySDZJp1aQ9PnDgRLTJr1qwxI0eO7KBGLvtnD8jVn+uaROlj+Hn06NFo0uiT0jZycaMfeebMGbN8+fLIZ7R58NlD1+IS9z2UuYbuyBtmoM7vAsjutjrLtb2Y2NkPdnLo0CGzcePGCDRKgkQIPJPo0tB/nD59upHP7ORdW7olK+MCzy6Xe8lhIgMVxe9UXRLLyA9tI4/z58+b+/fvm+rq6miyY+e5U1+aB/sLCmW+uuE4mUEng0pjI+XbM5GXbSkUr/7evXvm66+/jhYQzj7VWWwk1YmDYD0yfPz4cVNTU+OVQJexTyORrEfgmK2hi0VVZrhHEr9UYmaGo/Qa6Oz7xuYjLVjxu/1LEEeW+xYVF8mMa1/t1KlTUVSCbcZI2tgW/bOqqipmhbKdcpAaYB8oIXXV5VpaeE97zAmjZBEwxsg0HwwxOcGiUQKkbT5CffocfvRfRknsmeR0+hoRsaadkeccBIlSQPtE4MToE3yGg/Iu712qFCJtQmxi5oimQiSOdlocfV5rSWdcTd5ou+22Q9LviKjKM2i8lB0nMW6LvB4EV2I+J3DSOSVTvvrSndIe6fZEzYVBu197QCGTw/4JFsGRBUEmjf3IZLIO7SNVnCBKP9pPdJFrxUa7PTIUczHuvkHItbxo16FfSAkkw3qQOl8n77uYlHqSNRHwpf0QcFJHDtpnWVRsHqzBZx1xTSEptOvFzntJCQEIuTW2fXKFYfQHRT1JBEEf0lZaRl0T4SKRKj3Bkuhw8SB1hEcJAbWguPgKBSC4fgoJzzwJMak7cPlvmgnp0DUporaSlnf5iUlkq7c9YAntdCzselfOtj1Omlx73PFEPMrACD9iUiCJcbsR/byi4tdsORulfRXbozuUBcdnyNOSD0BpWwDkyiw7fUI69JSY3uVq+cieQN5DKPgzucwt16zYjIcGysw1IxJhnq6OZFLILNumvaSq8VkulOTu6DJGJ+JAM9SUPRYBgCs1FzZesy4TFkl9klxfjqlFqCWzZMmSu/CZqNKlaSTDVae2tjbaEqDb0K9fv4hBTeyM4BFQSc+7nGpdrvvygWerLaMQ7qHQM6BGUNI0SRjKiWa+k2fX2ELjttsDwPcji7l///6/Q1oqk9TK97wtzpDQkSaYnG1RXxkMg38mIZgS87WXdmWUPl3EhZKJYMbJEi2J90E+KKESBOh8I0nvW+v29QcA4u/G988mTJjwD/Gy+ROESs2cL9Hg89w5qwSJDMqqKc8ogaH8oW4/9CyN4ScfM2fOjBLCVGWd9pL+aV7szTif1Cd4EdfRz2MB8aYpkDSD7JhM6o0eu25aiSOF1NrXLieNvNghqh1xFEj8qfCvqTB0dE3//i6NbfBJZNKzXOxurmS/Z9vMpI9S07YrbYOu8E8mrnTJ5EBpZjHkwLsoaRXOtR+7jjjgpJADHxIi21bi+gLPEYjYTrx+8OBBpoArdENJAy6GSmhVpeox/r106VK0OOkNJy4KXAy4s6ftaxpbmQ8/Qi73hsRdPpRFP7IUm9iOwtM417gYC4GZzzNdhwfdDiZ1T58+HQEoaijGX761YV26StwCnTVrVuRK2XwWwxT42rBM0pXVq1dHa0k2BwYmL2LGa1zM5LNip2WcOUAmdOmM634kPSft855AMl/JhGtTU5Opr6+Pkquy8ZUGwKRkhs2f6xzjc07qZUFERvooOliJIzm56OgsVyD5DjfbN2/eHGVe+D5VlgfVV+8ItsWZHKo369IX5HnDhg2R+vPzENcOoqZiqnxMR+UiCxj2Ph40NjYeR2fTpazd8wtQH9lghsAlEPwYlE46kxJM6QsQdIgJpkQUDN8IFiMRiYmZw2Q+kBtjjJKmTp3aaTW2efPxrCVN17O3h2Us9A+xKXdRyjtIHWb6BJIR07VNTAtkiMkSRw6S0Y2AIlsIDNn4vQzLXO8QTEZE3MnjAkMVp3ozbhcQE5xjJ3/6nNRGbKMP63/O0YFTqFcTZvmmndrS30QnkU8K9EGiylICBUBGO4yrfZ+XxBmTKBJZuHBh1A4XFoaRAnoSf67vEV2TpXm2ecDRimxRoy7vkLr57LPP2t9///1SON5VApxr9pKkM43kSjaHdo5fkHEHUFJo8hGprx2mvAgc1ZmqX1dXl/0wwEeuscjPMuS5LZX6mYq+DmASD+l2XIvIf/ASUy2D+JL9oaP2mwrxE/mu/uBS2nSdXYTA34wbNy7bVojELNllrmshXV+Fia2ou8uu26l3/g8uvPBNiUqjuyik3mlXQcVch+u0lM87xnReTELtyzlOWuxy/b8IJwcw7o2QwEPi7IaA1FkSH6MhCtmgYpBLCvUzFx+aCF6c6L0KD+Hfrna804gXNuN0J81sh37uZS8qrkWmqyjt5LrcGPm8hIKE4xHG+Ok777zT6uonuAIgFBsNg/03uBZlEtumoW5F+HdW+ZDt47meJ4GoKVbjdoC4bvbs2Y3GQ4nL6JEjR2aikT8ByO62aiQtLknfOuZLhfqCSYuKlXPcNnfu3G9NgFKFI3Bu5+P0e/5YSH7uVQjlEgVpsl2rNHykWUS0MMiZagzNa4AH8VVSH6lHg4B/HgbwBwLpU+1C3Z5ik4CW9GtXkuY7TrXtnDFjxtY0/ycnJ5E4fPjwDHTwR34EpYG01cOe1edJoQXORZpHsYEY1/YkFdaUs15BIseio7+iowphWNQq6ffEOtlbDKlNsm2+Z67+4z0hZoE3YxHZa3KgvIwTAn4GvO8BvDGSLG0P/D8FH+XrKIeehZK0ttTJObaz1xHPf4pERrPJkfL+X2G0jVi5F6HjJQCyjy2VXekH+qRZ32sghWwzE/uCz3BuQEapAdHII5MHFfyv/yiVYOINqPdsHN3t4J0kgCbl+nwA+NwQF1B2Hfu5rO5QX7DY/l8IwbfIjv9kCqCi/RPKc+fOvdLS0rKUP2/jh6Mss/1KKXNduyhXu+mSOpJ2iwgeTsfg9+5BnuCsKQIV/X/Knjp1ajBAnINjJkCI8l0uMIVyAVWTrc4+sFUKqxWquw98HYLrctkUkbrsvxtjC7YUA5gQ/zZ4HIrKXaruIt9qKtdJpD4sfYLrk+jvbHl5eWNVVVWr6QJ6Lv9nmz+Yqa6uHgmbWY2BjUHRCKhTlMssNPohKdC4F/wTfNlzOF+8ffv2yXwXi5z6Ny+Atm3b1gdp/WEY7HAMdhSA5C+6BuO6PG0bVE+8dw0A3sT5Z7R1Dfst5wDaffOc6YWA6CP+k18Y/gGQ2F5YNfm9ZHfYsBIA1I4N/naUPcG5BZtptydPnvygWx7/uvQ3eknpf9FmodZVjw/UAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFEAAABQCAYAAABh05mTAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABLKSURBVHgB7VxZb1XXFd42xgYzGcJg5imYEEwwYTRhrJ0gRaFFappKTZUIoQqpykOU/gF+QJWHPrQPlaqiKlHLCxGpgtqSkJaGQEQwQxjDIEIYDAYzGIMh2Pm+k7uu1l3e+wzXQ/KQJR3tc/fZZw/fXtNee9/j3I/UYypxP0Dq6uoq/fjjj4cPHjx46MCBAwcNGDCg9MGDB11lZWWd33zzTcejR4/urVix4nZJSUmn+wHQ9w7i7t27q0DTysvLx+PnKAA4DmCNBEADfOU7O7/DDWA+RHIDv+/gvhnpebzXvGDBgluun6nfQQRIJQcOHKiprKycAaBqwGVjS0tLM/dDwJR7XgCzC+klXOdQ9wkA+hXSLtfH1G8gArjRAG4BBrgQIjocwHUrwzwNThLZsvI7ByjTZqSHKyoqDj/zzDOtro+oz0E8fPjwdHDbUohaLXVbqJwPVKEkYDV4Np9gPn78GGr00Ulc/4Uuvex6mfoMxH379k0aMmTIWoA3B1dsWQ2gBdOKbYhCQOY4Up51dnR0nIT+/dezzz573fUS9TqIe/fuHTxs2LCfQGTr4zhPE4HzARknrpZCYIu+1Hk0SuDKvePGjfvf9OnTH7geUq+CeOjQoQUA7kXM9BD+jhNRTSEQSSEgfc8kLwlE3sPAOQDZgvT9ZcuWfel6QL0CItyUstGjR6+H2C62wCUBqQH0lQ2JcJweTAJR8nNAduH6/6BBg3YtWrTokSuCegziZ599Vo0O/AriO5q/Q6Al5VtODHGZFfUkkQ9xohCMTvT74cOHXwHMv69duzazn9kjEPfv318D4/FLiPBgnR9yX0KUBkBLafViHIjkRP0MIN7CyuidhoaGSy4DFQ0iAFwEAH8KAIOmN87qpqGQgfFRFsMSApEpgGyHBd/W2Nh42qWkokCE47wUDuz60two03BZa2uru379OsXGwfA4WHD3xBNPOKgC11NSS0F35coVAuHa29sdXStpx5YVAHWe4sgO1PUPiPbJNO1nBrGpqakOnXsZDUYYJvmA9+/fp+Fx586dcwA+L65YvbgxY8a4GTNmuKeeesplJcudFy9edMeOHXN37tyJQISEFOhbGA1XXV2df090oa9OpnjeAdH+2/PPP3/OJVAmED/99NNpiKxsxHp0oHTOuiea7t27595991139+5dZzvLdwjq8OHD3dKlSwuAFKB9jrdPZ5LDP/jgg4j7CGA0sJLvhkaulzpXrlzppkyZEv22IPruwQDt4Ng/Q7SbXQylBnHPnj0jwT2/BecN0YPlRTE6evRoNBgCQy6bMGGC27VrVyTGPhdDSERu06ZNsVwdZ3C2bt3qmpubu5XXKetm3wgkJxVc5qD7IrBnzpzpRo4cmX9Xqwfct6LcH9etW3fPBWiAS0GM7wGg30BERskMk3h/4sQJ995777kzZ864GzduuJs3b7qWlpYI1La2tkj35Nav0TvCASryEg0Iqwc3atSoqLxuQ/WhWx4BunXrlvvwww+jerShYDvSls7/+uuvI71MKWF/r1696k6fPh3ljR07tqD+3LuD0Z9qqJ0jiHF6I0LxCi1HMCTrAWC1zYeFpojnB8SB8KIelE7wt+6UDwjm0yDU1NR0K5fkvFMXhsRc6pJ3fP2TFIESd/nyZffCCy/kVYAQQ3ZLlixpxO2/nYcS/Q4ANR3JEnKHHgA57ZNPPok4iPqMADz55JORzpk4cWIkokmuCS3z+PHjI1GjKtCAaxCsG6KfUV2QaKRGjBgRXPXIhJLjyPm8eM9L8jmRH330kbctLCaWQz2N8wwjHkSw8gBcPy/JyZdUSl1CAAkAO08Q2HnOIPUhOyi6MER8h6BPmzYts5tjgWRdU6dOdbNnz46ATHo3pKOZd+HChUg12eeAoBxg/2LLli3dMIsFEaLaCHBGWSV9/PjxCCjtfwkxn1wVByDrIfhU5qITaaXTONWaxFViHdS/cP4jybDiGPe+r02Oz0cAcgKi5fU2PwjiF198MRR6sN737NKlSxH3CAdGFeVSKmvRQ6GL73HwtJL0H7VSTwuklJOJZJ9u374d9Ytg6r6lqUtfoiJ8hHpXwp2qKMgLFcbMrkMnytkRqw8589ARBf4cU/pptHpJrgqfEzi6JRw4f5OD4nzOUD65eejQoZGKoU4TAMmNbCMrie70GaucVhsOX3QV0v/k++arCCuMoXh5fqghEReuCnTjnEEBKe4iUYQJOIlGiUBkifQIsb65c+dGz1gfuZsgiI7WV1yf4hYONgaAaykktTwWRFS6BlcZX9BACVF5W7ET5zUkvjplnSwrs11bW9uNe3316HwhSgS9A6asj+6L9E1PqG9ybR/lomeRQJUwPkuDIG7btg1jHDDPDkgTQuqRIyucRJL1KgfDVO7lt87X9ZELaWTsWtcC5uMSGTy5mBPBOsRRt+2EJtcHKFcwljwcShBLvCDCbanFC8MCL0bEQfOiMqclJhdqjo3TbUIszxnHVmZkDHwAhgZvn3M5x8moqqoqKGcnUoCN43ACyqBI0jgwWaN27tw51QsiGlpkZ9AS85577rkoZdSEYFIX2RkNXUJwFyLVIIOzKkKrgBAnkoQbWZ8ub8sKsL5LaN68eQ5BFm+bdhyQxHndQMTyjtGZqfICRcPncrBRWkUCSYXNsrSESa6NnvVZs2ZFKxvt0/k67ovmyG+t+8iNtPBPP/10qgm09XFM5GY67dZ1C0kB8JnHEx0FVuO1116bg8rqCJ64Nb4ByHPOPmN0DDpQpJNEONeww6aWw75v9L50WLepy8oloEkggqm+SASCLg71Mz0F/b6U8eVxIgVAvs8J0STt6iuXVw7H/EwBiBs3blyDjoxnA2ItbURFBsqUnaY+43qZzjN9PonnhYjiy/ghVyjChVKXbkMPWANlQ/o26sO+UdfSZ9VxTAucgE5pIPdyYjkGAigGSspqEOW36sMN6xVP8LGt7mBpQCFzJidNmhRFQs6fP+9dOxNA7PFGBoDKXtfrIy2uuvNxZQkCOXz+/O/cXOprS3xOw0gpIhNwMqkHRTXpfvmcbj12ME1NHkTqQ2SM1YXiSMpIwwSF3CucSS4gkFyVkCs4y3SKyYG+5WKo3TjgQkRASDQS7B9jjmyf+dTlvGdbfMZ+iyOugYsbswaWscY8iBj0ODRS1MYVOyAVs1NcMbBj5DxypxABluWidMqnd33GRD/z3evBM5WtB06cVjEU1aRVio/zfODm3htcpgY4UQr7IsvmxVgWl04KF4nestwXt8YO7bH47u3gJdUbY7pMMeSrR9rKjwKzVW0d5rgKkxoSgDR36HdDomvdG50fpw9Dz0T3yjZF3Jiyqg2hPIgAcLjLQGkbjAMtVNZXf1J7IU6xZWx9Pp2cNGl8pq18mXpQ4aso1ImezFyI4upLssoh8dblKGm+DS9f2RD5JisPInRWRahSXXkIPD0YvbCP069xbYXalvs0pAHTvp3sq2jnXfxCH/eGDJ08KwAxi9INAcnIDi0y3QgBsVhlHmo3LdeQtIMsKUFkBJ6LA7060X31qROf31jAiS4n2mk4J0RHjhxx27dvjzagXnrppSjOR1dH9pyLrduKoNQnlMbwkMh93GLlVu+ePXtcXV1dtEUa0r8WLDFMtnyZflGvIkKdCbE2iVxIxxpRX3fy5MlolrkykFWB5kzrK8q9Ti1AIctt+6ddKwn3s18M2zEYLGV1PFSTtGfrts+dBREPCha9IbB8Vk2IqwERFz63W6e+yLIvxif1x7WvBylACXByL5v1eX/OuF1JEWzLiSHSILa7HhJ33tioHOGQxkUMmCcRcN+qQRx9H3cKadEk6YCEBlOOrljR1BPKffMsFHKjtE68n0Zn2Uo0kRN58XyLDEavXOQd5unjb6Fgrm5DW0/LjRZAAU+AljaknNzz0FVnEW6VJQ1iu6+S0pg1rH3GznF/gpEcPSgh2YVjqjmRgIpoy6AtmNKmpBZMrf90KgDK9qlwDyM4on6ErCW34/WRXfa1+taycTrBAsn7xYsXR5bPDlQ6L9xhdwBDurA0xSomxJHSjk8vLlmyxGvR4353eoyZdXFSH/b2OaRCDIPRT+TJBpI9dKmP2JHzhDtDbfjaipMOzZVS1gLB6DX3Y+LW0mmom05ExuWsKwIpqwdFd2b16tURiBqIEEf5fD7poBgg3S9OSlL0XJPWi3ItXLiw26m1OFG2pCeG/7nOg4iQ/d2mpqZ2dLzS96JPB0qecJM85/lontPm6SoBSXOGHpzuGAcmB514iX+p25OTEwy0Xrt2LUq17yd15QaYB0iekQvXrl3rQmP03dsyCkDW3aKXfV2ff/45/54136crNBA2T/tffM4I8iuvvOLefvvtINdIPXyXSp4GiS4S37XujyZtOGgsGEHnFgA5XzvP8q7mdP7esGFD/jSakLX6IfAC4zheYEnQ4Dl0PngGJ6mBUrWy4NKvsbHR7dixo0CsuSoSDuFguEnErU6CpyPfoVNd1pXhGp0R9MmTJ0ecf/bs2QgUqgIBRgDlDmN9fX03AJPGFaKcq/ZlAYho6Biun+Hl0jSA6Tz7mw2sX78+EjkeCNVA8hl32bi2pggTCIqZBC1EF/rakYsAkhNlb4flOCHkZi47+Uyv2Qnyq6++2m08fBb3TwLfb+kX3u1AEOOrAhChy9qhF8+gQI1LoJCx0CJI7mLHeUqCx5PFcsoRZe66kftYjvdca8vGl7Ws+l64UTaZ9GpEjugdPHgwKssJ4crkjTfeiCYsqxjb8WkQ8f4hqK3H3TgOD5o0EHaDPKkh2xhFdvPmzZFF5KDJcTzrwsHL/rbsusnBUZ1HgPkOU4Ksn2uu1XqU4s2NeL7Dw1dvvvlmBG4aAH2ulc0TdYM6DkS/PUDwrO09X8UWyJDxsfkUMQLZ0NCQP5xu3Sm9B6KNjgCmQdMSYNfOMjEEnhP31ltvRZwYMopJ4/Hl57jwhvyR0rtYRlxwNTq7zreI962vbee0OGqinoIHEOlI2f+VPw9R1DhwzY22Pb20k7PePI8oITjRg9zr5mGCNWvWeIHLyoU6jqhWPe+sWLHiWBBEfoKgqqrqd7A8laLEtSuTBkhrGPREcJD8/wtT7g1TbGVzXVLhPP2+XtYRPDneLOF+RqrpZ5IDKb4hkJL+16fJrv9zi4Bby5cv/7183CgYtoGFW4FCL7IS+npaHKwz6wPTprqz4qAzSMo/NcpfysTNIYDkUH24XsCTE7nyPxT2jSlB40Y90xAJF1pHP2SZNRcKsU/I2wouPCV5wd1zdHI/uGIxbsdo66fB0ps8FqQ4iycd44B5kav4/xGG0GTvQzhfn10Ut4b3FH85lUbjQVWQpNN8G1FZXJucdH2pAYzG72KI/6aCIdiEmS8VbhTSnCaxPns6KwuJDhXu4nKOYIpeJpjkUAJHfcoByXZG2pWG5cI4AEk6+sML7T8Gc/1h1apVBZ+DSYzCQtwakDTI4OzAffc9ATNUv1CSTxeSBF9AN65erYPF0GHSdkDf7rNtJv5BEo3vQadmo5JJSTPpA1UblKyUBFiovOU+q4rSAEgSDswBeAzLxv3OQ4kjq62tfQgl/w4qa9PLsdAgtAUVPWZ9uazg+Nqx7VngeLFt6Ueo7bi+CIC4bqC+7aGPt6XeCD5//nw19MFmiHWF1Y9pKI1l7wn5vukglGRwQsS+ggPbcP0p7oNtmUZy4sSJaUheLxZIXyd1as9WawotO0OcnUZ3JvUNhuQO/Ni/ICJ1La5sZnYgkBjgr2GxK0VcbKd6YkyKIa3D0kxsUpncUvM2JO+vy5Yta06qryiZQkRmHPTj6wCxihwZOl4hpI1MsQDrd4sxOGkAFkMCG8Avg25N+1XQohUTgp8jwI0vA8iZItq9YTQspeWuOEoDHim31GyCI/9+lq/Z9Ui785/5p06dWo1OrgGgZXpN2ttgZqU07WudTEcaHLhzzpw5e11G6hUTefz4cZ7H2ACOnKwNTm8CGVIFIVENBXTlt6Q5/ccvMf0T7txNVwT1mp/Bz75AVy5AxxoAZFUWrtRA6FQ/s+Wzkl0I5LjvOtLdAO+Q6wH1+pc8Dxw4gLhF5SIYm3oAOSJp/0KT5hxbNk43hjjNliHlVh834WHsQxRpH7ZPe7aD7/rwm7JwzgfBRZgLrqwHl06wfmVabvJxp++5j3R+7i+753B7GOrnIPdGXC9Rv3wiGluZk8GRC+GkzwKHjtQb+pp6y3mX+1wAtRUG4yjqPozdwCuuD6hfP1aes+ZTACR3E/mX4Eng0LIsu24hUqB1QlTPIL2ISTtbV1d3oaSPP1j+vX42n9/hOn369HiAOgb3k+i8I3sowKgCoBVxOhDAPMI7rdwwgoHg30mv4v3rLS0tF3pDz2Wh7xXEEG3ZsqV006ZNFdhDGYItg3J+lAJgdQHsx21tbR0Qz3tYzz4s6YdP4v9I/UTfAidtx1xB0uiVAAAAAElFTkSuQmCC\"","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React from 'react';\nimport { getLocalText } from '@/utilities/language';\nvar defaultAnswer = {\n date: undefined,\n type: 'date'\n};\nvar DateChoice = /*#__PURE__*/function (_React$Component) {\n _inherits(DateChoice, _React$Component);\n function DateChoice() {\n var _getPrototypeOf2;\n var _this;\n _classCallCheck(this, DateChoice);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DateChoice)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"validator\", function (_rules, answer, callback) {\n var question = _this.props.question;\n if (question.required && !answer.date) {\n callback(getLocalText('SingleChoice.Selected'));\n }\n callback();\n });\n return _this;\n }\n _createClass(DateChoice, [{\n key: \"getDateChange\",\n value: function getDateChange(date) {\n return {\n date: \"\".concat(date),\n type: 'date'\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props = this.props,\n question = _this$props.question,\n _this$props$answer = _this$props.answer,\n answer = _this$props$answer === void 0 ? JSON.parse(JSON.stringify(defaultAnswer)) : _this$props$answer;\n var _this$props$form = this.props.form,\n getFieldProps = _this$props$form.getFieldProps,\n getFieldError = _this$props$form.getFieldError;\n var id = question.id || 'unknown-form-item';\n var _getFieldProps = getFieldProps(id, {\n initialValue: _objectSpread({}, answer),\n rules: [{\n validator: this.validator\n }]\n }),\n _onChange = _getFieldProps.onChange,\n formAnswer = _getFieldProps.value;\n var error = getFieldError(id);\n if (error && error.length > 0) error = error.join(',');else error = null;\n var params = {\n error: error,\n formAnswer: formAnswer,\n onChange: function onChange(val) {\n return _onChange(_this2.getDateChange(val));\n }\n };\n return this.props.children(params);\n }\n }]);\n return DateChoice;\n}(React.Component);\nexport { DateChoice as default };","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAARgSURBVHgBxVZLbBtFGP5mdu3NJn7FaVwSJ8RNSgAppKktuIB4CYrEKRdE1QMSR6gEBw4gDjRIHDhwCiqXIiGEOCDEQ6JCKgJUUAttSSTUB61CCXFr1+DWcWI7rZPY3s7MrnfXdmyve2h+a/R7V7PzffP9jxmCOpva/92TlNJpDdrzBBhgrzz8vdQ3BGVkD5zYwn0JpHdmHc2VTeDpbwK02z0DaK+zAYK7Y4LAQweO9hJCjkHTHsZdNkHABXJoO8C50ckXj07osm+PUVkib2AbjRKiTWEbTdY0PNhuEmElERvrxvD9cGSxUA9W/fr/X66t4F+31nQuT0Kl1WKDO1S8+8oUog8E4dx6xShVNOz7Io7MmAu5iNqUQEubffMR7Br0oFNjyuLwsUWkrt/EPStEyJgb6WokIAWHmi4S3a3WgOdvlfDbQmbLubxxcaHLbNeFtU38fC6NM5eXoVL2kr2LnM2j6JGg3GtXQoOsRJq31+Fx639yuYiXDs/h2vIt41M07ZZ+mTBgwjwV+UMkAipRuM4VMBpS4A1bSrQMAbEhLKXXTPB+n4IDjw3j2ckQulxSw3eUGIowlh//8A9+vZgGYUhaGYifWMHo00F097vbE7DbZrkifDio4tODMeGdWK/PzZoNZQoQRoKIcFw5mcXIE0GovS5QdGgHnxt1DM6NMIQqOGWDh6PC9pI8vYL1XMm5AlX75HgcX51OmjmwlX/5qQiemeg3CBjgkjGqJFg4UvM55wr4VBeiuwLwdskithyp3q+yKpmLryJXLFkKSLCADXBqqFEpa84ViI4G8PlrrQ/Mr+dSeOvLv2rKgx3zJqAdvEqq4xA0s2S2iA9/XITGNbUTMHLAzANbKNoSyKwBiUwJEspMYfbbovDXSxX8dCGNz35PIJVfR4UtrrglGwFDepk0JCN/bkngzBKw/0gJG1fOYxNrKCobtRN4VTGJNYkPCB/uU7FnyFczxy55FVwySMl/jyfQzh6PhTHtKiPglyHT2rzlqghlDP/oWBC+LmtfS1cpsqkeBkp1NVhMOAFCqRjy/6HWt9e3wyG8N7Tzji6pqSw7E+aZalTVk4HooPb/LcsworhwiBG4E/BLiSJe/egqAzfA6sBNEjh1tultYXceeOG6ztFN9AOG17X+LbGGpD9Twy/GKeYvlbFRJlvunJPihNjDesskvOwFjsRz2HG+IMADCm1Ipvq65iP7n4eB22Q3d0zESUWIfj9g42LbTnhjwiMGKGpaaTNwUWqUWLIboDogtcD1hPzTUSvmBPKTnoZWWt/fq3Wuy22cySa4RczMC+r+wPFZoO71YzDmbwCur2taLTGxS9qYA4Zn58fsyXe8FzpqxYMxH1tYQ2bhpiV3HTg/+3nN27O/hohIPvqHVCQzfM2O7wMDUT/6xntMuSWb/LoaMOJcu2NTBY3Oslv6vhPvB0QDkqF1Aq9PHtjrFaCFZNGKvWQRgUTsshcYixTz31e0yrenZvqO21e8DamFKSt8Aw5QAAAAAElFTkSuQmCC\"","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _Icon from \"antd/es/icon\";\nimport React from 'react';\nimport env from '@/env';\nvar IconFont = _Icon.createFromIconfontCN({\n scriptUrl: env.cdn.iconfont\n});\nexport default function IconFontComponent(_ref) {\n var type = _ref.type,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'var(--text-color)' : _ref$color;\n return React.createElement(IconFont, {\n type: type,\n className: className,\n style: _objectSpread({}, style, {\n color: color\n })\n });\n}","import _Result from \"antd/es/result\";\nimport _Divider from \"antd/es/divider\";\nimport _Tag from \"antd/es/tag\";\nimport _Checkbox from \"antd/es/checkbox\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useEffect, useState } from 'react';\nimport { css } from 'emotion';\nimport styled from '@emotion/styled';\nimport isEqual from 'lodash/isEqual';\nimport { getLocalText } from '../utilities/language';\nimport { scrollToTop } from '../utilities/pageLogic';\nimport IconFont from '@/components/common/IconFont';\nimport LotteryBox from './Lottery';\nvar aReg = /JumpTarget=parent.*target>/g;\nvar needIdReg = /need_survey_id/g;\n\n// eslint-disable-next-line\nexport default (function (props) {\n var _lottery_v3$prizes;\n var res = props.res,\n finishImgUrl = props.finishImgUrl,\n finishImgScale = props.finishImgScale,\n prePrompt = props.realPrompt,\n title = props.title,\n type = props.type,\n did = props.did,\n uid = props.uid,\n errorCode = props.errorCode,\n device = props.device,\n showLotteryPage = props.showLotteryPage;\n var lottery_url = res.lottery_url,\n lottery_v3 = res.lottery_v3,\n response_id = res.response_id,\n score_analysis = res.score_analysis,\n exam_pass = res.exam_pass,\n hide_analysis_header = res.hide_analysis_header;\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showAna = _useState2[0],\n setShowAna = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n showLottery = _useState4[0],\n setShowLottery = _useState4[1];\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n realPrompt = _useState6[0],\n setPrompt = _useState6[1];\n useEffect(function () {\n var resultIconBox = document.querySelector('.ant-result-icon');\n var mask = document.createElement('div');\n mask.className = 'iconMask';\n resultIconBox.appendChild(mask);\n\n // FIXME: 根据约定关键字JumpTarget=parent修改a的target属性\n setPrompt(prePrompt ? prePrompt.split('', \"target=\\\"_parent\\\">\")) : acc.concat(i ? '\") : '').concat(audio ? \"