function updateQueryStringParameter(n,t,i){var r=new RegExp("([?&])"+t+"=.*?(&|$)","i"),u=n.indexOf("?")!==-1?"&":"?";return n.match(r)?n.replace(r,"$1"+t+"="+i+"$2"):n+u+t+"="+i}function getParameterByName(n,t){t||(t=window.location.href);n=n.replace(/[\[\]]/g,"\\$&");var r=new RegExp("[?&]"+n+"(=([^&#]*)|&|#|$)"),i=r.exec(t);return i?i[2]?decodeURIComponent(i[2].replace(/\+/g," ")):"":null}function ensureIsUrl(n){return n.search("^(http|https)://")==-1&&n.indexOf("//")!=0&&(n="//"+n),n}function diaSet(n,t,i){function r(r,u,f,e){var c=e[0],s=e[1],o=e[2],h;s.addField(o);r.set=n(f.set)(r);o.set=r.set;h=r.set.baseComponent||r.set.component;i.getTemplateUrl(h).then(function(n){r.set.templateUrl=n});r.set.style&&(u[0].style.backgroundColor=r.set.style.backgroundColor,u[0].style.borderColor=r.set.style.borderColor,u[0].style.borderStyle=r.set.style.borderStyle,u[0].style.borderWidth=r.set.style.borderWidth+"px");r.set.original?r.set.original.repetitions++:r.set.repetitions||(r.set.repetitions=0);t(function(){var n=r.set.original||r.set;n.repetitions+1<n.minRepetitions&&r.section.repeatSet(r.set,!0)},1);o.isVisible=function(){return!!(r.set.show&&!r.set.isConditionalHidden()&&s.isVisible())};o.showOnlyInReview=function(){return!!(r.set.showOnlyInReview||s.showOnlyInReview())};r.$on("$destroy",function(){s.removeField(o);r.set.original&&r.set.original.repetitions--})}return{restrict:"E",scope:!0,require:["^^diaViewerSection","^^diaViewerRow","diaViewerSet"],controller:"viewerSetController",controllerAs:"setController",template:'<div class="dia-set-content" ng-include="set.templateUrl"><\/div><div class="btn btn-default repeat-button"\t ng-if="set.show && set.repeatable && set.last && set.original.repetitions + 1 < setController.getMaxNumberOfGroupRepetitions()"\t ng-class="{ \'disabled\':  set.readOnly || ( set.original && set.original.maxRepetitions > 0 && set.original.repetitions >= set.original.maxRepetitions - 1 || set.maxRepetitions > 0 && set.repetitions >= set.maxRepetitions )}"\t ng-style="{ \'margin- left\': form.LabelPosition * 30 + \'px\' }"\t ng-click="section.repeatSet(set)">\t<i ng-if="set.showRepeatableIcon || !set.repeatText.localized" class="far fa-plus"><\/i>\t<span ng-show="set.repeatText.localized">{{set.repeatText.localized}}<\/span><\/div>',link:r}}var rootUrl=getRootUrl(window.location),formPath="/Diamant/Form",diamantPath=rootUrl+"/Content/Diamant/Viewer/",version=angular.element("#version").val(),isProduction=!0,fieldChangeCount=0,defaultsInFactory=!0,hasConnectionRights=function(){return!1};String.prototype.replaceAll=function(n,t){var i=this;return i.replace(new RegExp(n,"g"),t)},function(){"use strict";angular.module("diamantViewer",["diamantShared","ngSanitize","ngMessages","diaValidationSummary","ngAnimate","ngCookies","kendo.directives","monospaced.elastic","tmh.dynamicLocale","ngMask","mm.iban","rzSlider","ui.bootstrap"]);angular.module("diamantViewer").config(["tmhDynamicLocaleProvider",function(n){n.localeLocationPattern("/node_modules/angular-i18n/angular-locale_{{locale}}.js")}]);window.diamondLogError&&angular.module("diamantViewer").factory("$exceptionHandler",[function(){return function(n){try{const t={url:window.location.href,description:"$exceptionHandler"};window.diamondLogError(t,n)}catch(t){}}}]);angular.module("diamantViewer").run(["diaItemStore",function(n){window.getFieldUidByKey=function(t){var i=n.get(t);return i?i.uid:null}}]);angular.module("diamantViewer").run(["$rootScope",function(n){n.incrementFieldChangeCount=function(){fieldChangeCount=(fieldChangeCount+1)%1e9}}]);angular.module("diamantViewer").run(["$rootScope","$cultureCode",function(n,t){var i=$("html");i.attr("lang","nl-NL");t.on("cultureChanged",function(n){i.attr("lang",n||"nl-NL")})}]);angular.module("diamantViewer").filter("unsafe",["$sce",function(n){return function(t){return n.trustAsHtml(t)}}]);angular.module("diamantViewer").value("viewerRoot","/Content/Diamant/Viewer");angular.module("diamantViewer").decorator("formDirective",["$delegate",function(n){var t=n[0].controller.prototype;return"$setTouched"in t||(t.$setTouched=function(){this.$invalid&&Object.values(this.$error).forEach(function(n){n.forEach(function(n){n.$setTouched()})})}),"$setAllDirty"in t||(t.$setAllDirty=function(){this.$invalid&&Object.values(this.$error).forEach(function(n){n.forEach(function(n){n.$setDirty()})})}),n}]);angular.module("diamantViewer").decorator("ngFormDirective",["$delegate",function(n){var t=n[0].controller.prototype;return"$setTouched"in t||(t.$setTouched=function(){this.$invalid&&Object.values(this.$error).forEach(function(n){n.forEach(function(n){n.$setTouched()})})}),"$setAllDirty"in t||(t.$setAllDirty=function(){this.$invalid&&Object.values(this.$error).forEach(function(n){n.forEach(function(n){n.$setDirty()})})}),n}]);angular.module("diamantViewer").directive("uibTooltipHtmlPopup",[function(){return{restrict:"A",link:function(n,t,i){i.$set("role","alert")}}}]);Object.values||(Object.values=function(n){var t=[];for(var i in n)n.hasOwnProperty(i)&&t.push(n[i]);return t});Array.prototype.find||Object.defineProperty(Array.prototype,"find",{value:function(n){var i,u,f,t,r;if(this==null)throw new TypeError('"this" is null or not defined');if(i=Object(this),u=i.length>>>0,typeof n!="function")throw new TypeError("predicate must be a function");for(f=arguments[1],t=0;t<u;){if(r=i[t],n.call(f,r,t,i))return r;t++}return undefined},configurable:!0,writable:!0})}(),function(n){"use strict";function t(n,t,i,r,u,f){function e(n,t,e){function s(n,t){switch(n.type){case"field":case"set":return t&&t.setUid?t.setUid:u.get(n.rowUid).sectionUid;case"row":return n.sectionUid;case"section":return n.pageUid;case"page":default:return null}}function h(n){let t=u.get(n);if(n.indexOf("_")!==-1&&!t){var i=n.split("_");i[1]=parseInt(i[1])-1;i=i[1]===1?i[0]:i.join("_");t=u.get(i);t=t.copy()}let r={uid:t.uid,type:t.type,parentUid:s(t),subItems:[],show:t.show};return Object.defineProperty(r,"label",{get:function(){return t.resolvedLabel}}),r}function c(t){var e=t.baseComponent||t.component;if(!t.value)return[];switch(e){case"radio":{let i=o(t),n=i.find(function(n){return n.value==t.value});return n?[n.label.localized]:[]}case"checkbox":{let n=o(t);return n.filter(function(n){return t.value.indexOf(n.value)!==-1}).map(function(n){return n.label.localized})}case"countries":case"select":{let n=o(t);return n.filter(function(n){return t.value.indexOf(n.value)!==-1}).map(function(n){return n.label.localized})}case"nationalities":{let n=o(t);return n.filter(function(n){return t.value.indexOf(n.value)!==-1}).map(function(n){return Array.isArray(n.label)?n.label.find(function(n){return n.cultureCode===r.get()}).name:n.label.localized})}case"multiselect":{let n=t.value.map(function(n){return(n||"").split(",")}),i=o(t);return n.map(function(n){return i.filter(function(t){return n.indexOf(t.value)!==-1}).map(function(n){return n.label.localized}).join(", ")})}case"confirm":return['<span class="fas fa-check"><\/span>'];case"fileUpload":return t.value.map(function(n){return n.name+" ("+l(n.size)+")"});case"signature":{let r;return r=t.value.fileData?t.value.fileData:f.signatureUrl+"?fileName="+t.value[0]+"&formDefinitionVersionId="+n.form.FormDefinitionVersionId,[i.trustAsHtml(`<img src="${r}" />`)]}case"passwordInput":case"relationVerification":{let n="";if(t.value[0]!=undefined){for(let i=0;i<t.value[0].length;i++)n+="•";return[n]}return n}default:{let n=t.value;if(Array.isArray(n)||(n=[n]),e==="numericTextInput"){let r="N0",f=kendo.culture().name,i=u.get(t.uid,!0);i&&(r=i.getNumberFormat(),kendo.culture(i.getNumberFormatCulture()));n=n.map(function(n){return n?kendo.toString(n,r):n});kendo.culture(f)}return n}}}function o(n){let t=[];if(n.options&&(n.optionsSetByConnection||n.component==="multiselect"))t=n.options,t.forEach(function(n){if(typeof n.label=="object"&&!Array.isArray(n.label)){let t=r.list().reduce(function(t,i){return t[i]=n.label[Object.keys(n.label)[0]],t},{});n.label=t}});else{let i=u.get(n.uid,!0);i&&(t=i.options)}return t}function l(n){var t;return n==0?"0 Byte":(t=parseInt(Math.floor(Math.log(n)/Math.log(1024))),Math.round(n/Math.pow(1024,t),2)+" "+["Bytes","KB","MB","GB","TB"][t])}n.pages=[];n.$watch("language",function(n){n&&r.set(n)});n.$watch("response",function(t){n.language||(n.language=t.activeCultureCode);n.form.fillForm(t);r.set(n.language);let i={},f=t.results.map(function(n){let t=u.get(n.uid);if(!t)return{};let i={uid:n.uid,type:t.type,component:t.getComponent(),value:c(n),parentUid:s(t,n),show:t.show};return Object.defineProperty(i,"label",{get:function(){return t.resolvedLabel}}),i});while(f.length){let t=f.splice(0,1)[0];t.show&&(i[t.uid]||(i[t.uid]=t),t.parentUid?(i[t.parentUid]||(i[t.parentUid]=h(t.parentUid),f.push(i[t.parentUid])),i[t.parentUid].subItems.push(t)):n.pages.push(t))}e.formLength&&n.$parent.$eval(e.formLength+" = "+n.pages.length)})}return{restrict:"E",scope:{form:"=",response:"=",currentIndex:"=",language:"=?"},templateUrl:n+"/Views/dia-readonly-viewer-template.html"+t,link:e}}n.module("diamantViewer").directive("diaReadonlyViewer",["viewerRoot","urlPostFix","$sce","$cultureCode","diaItemStore","diaViewerMediaService",t])}(window.angular),function(n){"use strict";function t(n,t){function i(n){n.getLabel=function(n){if(!n)return"";switch(n.type){case"field":return`<div>${n.label}</div>`;case"set":return`<h3>${n.label}</h3>`;case"section":return`<h2>${n.label}</h2>`;case"page":default:return`<h1>${n.label}</h1>`}}}return{restrict:"E",scope:{item:"="},templateUrl:n+"/Views/dia-readonly-viewer-item-template.html"+t,link:i}}n.module("diamantViewer").directive("diaReadonlyViewerItem",["viewerRoot","urlPostFix",t])}(window.angular),function(n){"use strict";function i(i,r,u,f,e,o,s){function h(r){var u=this,f,e,h;r=n.extend({},r);Object.defineProperty(u,"resolvedLabel",{get:tt});delete r.isVisible;i.call(u,r);u.connectionEvents||(u.connectionEvents=[]);u.connectionEvent&&(u.connectionEvent==="onload"?u.connectionEvent="load":u.connectionEvent==="onleave"&&(u.connectionEvent="leave"),u.databaseConnectionId?(f={type:"database",event:u.connectionEvent,triggerOnAuto:u.connectionTriggerOnAutoFillField,connectionId:u.databaseConnectionId,connectionName:u.databaseConnectionName,parameters:u.databaseConnectionParameters.map(function(n){return n.field=n.field.replace(/^\[?|\]?$/g,""),n}),queries:u.databaseQueries.map(function(n){return n.id})},u.connectionEvents.push(f)):u.connectionId&&(f={type:"service",event:u.connectionEvent,triggerOnAuto:u.connectionTriggerOnAutoFillField,connectionId:u.connectionId,connectionName:u.connectionName,actions:u.connectionActions},u.connectionEvents.push(f)));e=u.connectionEvents.map(function(n){return n.event}).filter(function(n,t,i){return i.indexOf(n)===t});e.forEach(function(n){var t=u.connectionEvents.filter(function(t){return t.event===n});u.on(n,function(){o(function(){s.saving?s.saving.then(function(){c(t,0,u.uid)}):c(t,0,u.uid)})})});h=u.connectionEvents.filter(function(n){return n.triggerOnAuto}).sort(function(n,i){return t.indexOf(n.event)-t.indexOf(i.event)});u.on("triggerOnAuto",function(){c(h,0,u.uid)});u.repeatable&&(u.repetitions=0);u.validation==="email"&&u.regex!=="^[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$"&&(u.regex="^[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$");n.isDefined(u.condition)&&(u.conditions=[u.condition],delete u.condition)}function c(n,t,i){t!==n.length&&(s.startSpin(),u.handleEvent(n[t],i).then(function(){s.stopSpin();c(n,t+1,i)},function(){s.stopSpin()}))}function a(){if(this.conditions)for(var n=this.conditions.length-1;n>=0;n--)if(f.isNavigationCondition(this.conditions[n]))return f.isNavigationAllowed(this.conditions[n],this.uid);return!0}function v(){if(this.conditions)for(var n=this.conditions.length-1;n>=0;n--)if(f.isDisplayCondition(this.conditions[n]))return!f.isVisible(this.conditions[n],this.uid);return!1}function y(){if(this.conditions)for(var n=this.conditions.length-1;n>=0;n--)if(f.isRequiredCondition(this.conditions[n]))return f.isRequired(this.conditions[n],this.uid);return!!this.required}function p(){if(this.conditions)for(var n=this.conditions.length-1;n>=0;n--)if(f.isReadonlyCondition(this.conditions[n]))return f.isReadonly(this.conditions[n],this.uid);return!!this.readOnly}function w(){if(this.conditions)for(var n=this.conditions.length-1;n>=0;n--)if(f.isDisablingCondition(this.conditions[n]))return f.isDisabled(this.conditions[n],this.uid);return!1}function b(){return this.getSubItems().reduce(function(n,t){if(t.isConditionalHidden())return n;var i=t.getResults();return typeof i=="undefined"?n:n.concat(i)},[])}function k(){var n=this.getParentUid();return n===null?null:r.get(n)}function d(){var n=[];return(this.repeatable||this.repeatedByConnection)&&!this.original&&(this.maxRepetitions&&this.repetitions>this.maxRepetitions&&(this.repetitions=this.maxRepetitions),n.push({uid:this.uid,repetitions:this.repetitions})),this.getSubItems&&(n=n.concat(this.getSubItems().reduce(function(n,t){return n.concat(t.getElementData())},[]))),n}function g(n){return this.getSubItems(n).reduce(function(t,i){var r=i.getFields(n);return r!==undefined&&(t=t.concat(r)),t},[])}function nt(){var t=n.copy(this),i;return t.constructor(this),i=this.uid.split("_"),i.length===1&&i.push(1),i[1]=parseInt(i[1])+1,t.uid=i.join("_"),t.original=this.original||this,delete t.repetitions,this.getSubItems&&t.setSubItems(this.getSubItems().map(function(n){return n.copy()})),r.add(t),t}function tt(){var n=this.label.localized;return n?l(n):""}function l(n){if(!n)return n;var t=n.match(/(?:\[\+?[a-z0-9]{32}\]|\[\+?(?:P|S|SE|F|O)[0-9]{1,4}\]|\[subscriptionId\]|\[formDefinitionId\]|\[formDefinitionVersionId\]|{\+?[a-z0-9]{32}}|{\+?(?:P|S|SE|F|O)[0-9]{1,4}})/g),i=/\[([a-f0-9]{32}):([^\]]+)\]/g;let u;for(t||(t=[]);(u=i.exec(n))!==null;)t.push(u[1]);return t&&(t=t.filter(function(n,t,i){return i.indexOf(n)===t}),t.forEach(function(t){var u=r.get(t.replace(/^[\[{]\+?|[\]}]$/g,""),!0),e,f,o,s,v,h,c,y,l,w,a,p;if(u){if(e=new RegExp(t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),u.isConditionalHidden())return n=n.replace(e,"");if(u.options){if(f=[],o=u.getComponent(),o==="radio"||o==="select"||o==="countries"||o==="nationalities"){if(u.noneOption&&u.value=="none")f.push(u.noneOptionLabel.localized);else if(u.otherOption&&u.value=="other")f.push(u.otherValue);else for(s=0;s<u.options.length;s++)if(u.options[s].value==u.value){f.push(u.options[s].label.localized.replace(/(<([^>]+)>)/ig,""));break}}else u.noneOption&&u.none?f.push(u.noneOptionLabel.localized):u.value&&(v=Array.isArray(u.value)?u.value.length===0?"":u.value[0]:u.value,v=v.split(","),u.options.forEach(function(n){v.indexOf(n.value)!==-1&&f.push(n.label.localized.replace(/(<([^>]+)>)/ig,""))}),u.other&&f.push(u.otherValue));f=f.join(", ");n=n.replace(e,f)}else if(u.getComponent()==="button")n=n.replace(e,"");else if(u.getComponent()==="radioButtonMatrixSet"){let t;for(h=[],c=[];(t=i.exec(n))!==null;)h.includes(t[1])||h.push(t[1]),c.push(t[2]);for(y=0;y<h.length;y++)for(l=0;l<c.length;l++){for(w=0,a=0;a<u.rows.length;a++)for(p=0;p<u.rows[a].fields.length;p++)u.rows[a].fields[p].value===c[l]&&(w+=1);n=n.replace("["+h[y]+":"+c[l]+"]",w)}}else n=n.replace(e,u.value||"")}})),n}return h.prototype=Object.create(i.prototype),h.prototype.isConditionalHidden=v,h.prototype.isRequired=y,h.prototype.isReadonly=p,h.prototype.isDisabled=w,h.prototype.getResults=b,h.prototype.getElementData=d,h.prototype.getFields=g,h.prototype.getParent=k,h.prototype.copy=nt,h.prototype.isNavigationAllowed=a,h.prototype.resolveFieldReferences=l,h}n.module("diamantViewer").factory("diaViewerItem",["diaItemBase","diaItemStore","diaConnectionService","diaConditionService","$guid","$timeout","$rootScope",i]);var t=["load","active","leave","select","change","unselect"]}(window.angular),function(n){function t(t,i,r,u,f,e,o,s,h,c,l,a){function tt(n,t){var ut=[],v,ft,et,y,b,ot,k,ht,d,lt,nt,vt,a,g,l,rt,tt,yt;for(n.Languages.forEach(function(n){h.add(n.CultureCode)}),v=0,ft=t.pages.length;v<ft;v++)et=t.pages[v],y=new i(et),p(ut,y,w),o.add(y);for(b=0,ot=t.sections.length;b<ot;b++){var st=t.sections[b],y=o.get(st.pageUid),it=new r(st);p(y.sections,it,w);o.add(it)}for(k=0,ht=t.rows.length;k<ht;k++){var ct=t.rows[k],it=o.get(ct.sectionUid),l=new f(ct);p(it.rows,l,w);o.add(l)}if(t.sets){for(d=0,lt=t.sets.length;d<lt;d++){var at=t.sets[d],l=o.get(at.rowUid),g=new u(at);p(l.fields,g,w);o.add(g)}for(nt=0,vt=t.setRows.length;nt<vt;nt++)a=t.setRows[nt],a.setUid&&(a.sectionUid=a.setUid,delete a.setUid),g=o.get(a.sectionUid),l=new f(a),p(g.rows,l,w),o.add(l)}for(rt=[],tt=0,yt=t.fields.length;tt<yt;tt++){var pt=t.fields[tt],l=o.get(pt.rowUid),s=new e(pt);rt.push(s);n.IsReview&&s.hideInReview&&s.hideInReview!==!1||(p(l.fields,s,w),o.add(s),s.relationConnection&&c.setRelationField(s.relationConnection.replace("Field",""),s))}for(s of rt)s.getDataFormula();return ut}function p(n,t,i){for(var r=0,f=n.length,u;r<f;)u=r+f>>>1,i(n[u],t)===-1?r=u+1:f=u;n.splice(r,0,t)}function w(n,t){return n.order<t.order?-1:n.order>t.order?1:0}function it(t){var e=this.Languages.find(function(n){return n.CultureCode===t.activeCultureCode}),f,s,l,i,r,u,c;for(e||(e=this.Languages.find(function(n){return n.CultureCode===t.relationData.CultureCode})),e&&h.set(e.CultureCode),t.elementData&&rt(t.elementData,this),f={},s=0,l=t.results.length;s<l;s++)i=t.results[s],r=i.uid,f[r]||(f[r]=0),f[r]++,f[r]>1&&(r+="_"+f[r]),u=o.get(r),u&&(c=i.baseComponent||i.component,c==="checkbox"?i.value=Array.isArray(i.value)?i.value?i.value[0].replace(/^,+|,+$/,"").split(","):[]:i.value?i.value.replace(/^,+|,+$/,"").split(","):[]:c==="multiselect"&&(i.value||(i.value=[]),n.isArray(i.value)||(i.value=[i.value])),i.optionsSetByConnection&&i.options&&u.setResultOptions(i.options,!0),u.setResultValue(i.value,!0),n.isDefined(i.otherValue)&&(u.other=!0,u.otherValue=i.otherValue),i.none&&(u.none=!0))}function rt(n,t){n.forEach(function(n){for(var u,h,b,e,c,k,y,a,d,p,i,r,w,s=o.get(n.uid),v=s.repetitions?s.repetitions:0,l=0,g=t.pages.length;l<g;l++){if(u=t.pages[l],u.uid===s.uid){for(i=u,r=v;r<n.repetitions;r++)i.last=!1,i=i.copy(),i.last=!0,t.pages.splice(l+r+1,0,i);return}for(h=0,b=u.sections.length;h<b;h++){if(e=u.sections[h],e.uid===s.uid){for(i=e,r=v;r<n.repetitions;r++)i.last=!1,i=i.copy(),i.last=!0,u.sections.splice(h+r+1,0,i);return}for(c=0,k=e.rows.length;c<k;c++)for(y=e.rows[c],a=0,d=y.fields.length;a<d;a++)if(p=y.fields[a],p.uid===s.uid){for(i=p,r=v;r<n.repetitions;r++)i.last=!1,i=i.copy(),i.last=!0,w=new f,w.fields.push(i),e.rows.splice(c+r+1,0,w);return}}}})}function ut(n){var r=[],t,i,u;for(t in n)n[t]&&(c.setProperty(t,n[t]),i=c.getRelationField(t),i&&r.push(i));for(u of r)u.trigger("triggerOnAuto")}function ft(n){for(var f,i,e,r,o,u,s,t=0;t<this.pages.length;t++)for(f=this.pages[t],i=0;i<f.sections.length;i++)for(e=f.sections[i],r=0;r<e.rows.length;r++)for(o=e.rows[r],u=0;u<o.fields.length;u++)if(s=o.fields[u],s.key===n)return s}function et(){return null}function ot(){return this.pages}function g(n){for(var r=[],i=[n],t,u,f;i.length>0;)if(t=i.splice(0,1)[0],r.push(t),t.getSubItems){u=t.getSubItems();for(f of u)i.push(f)}return r}function st(){return fieldChangeCount===d}function nt(n){if(!st()){b=g(n);k={};for(var r=0,o=b.length,t,u,i,e,f;r<o&&(t=b[r]);r++){if(t.type==="set")for(u=g(t),i=0,e=u.length;i<e&&(f=u[i]);i++)f.type==="field"&&(f.setUid=t.uid);k[t.uid]=t}d=fieldChangeCount}}function ht(){return nt(this),b}function ct(){return nt(this),k}function lt(){var n={};return n.activeCultureCode=h.get(),n.relationData=c.getRelation(),n.relationData.CultureCode=h.get(),n.CounterValue=this.CounterValue,n.results=t.prototype.getResults.call(this),n.elementData=this.getElementData(),n.applicationVersion=this.ApplicationVersion,n.currentPageIndex=this.currentPageIndex,n.LastPageReachedIndex=this.LastPageReachedIndex,n.automaticSubmitTriggered=this.automaticSubmitTriggered,n}function at(){var i=h.get(),n=this.SubmitActionUrl,t;return this.SubmitActionUrlOverrides&&(n=this.SubmitActionUrlOverrides[i]),n?(t=n.match(/(?:\[?[a-z0-9]{32}\]?)/g),t&&(t=t.filter(function(n,t,i){return i.indexOf(n)===t}),t.forEach(function(t){var r=o.get(t.replace(/^[\[{]\+?|[}\]]$/g,"")),i;r&&(i=r.getResultValue(),i&&(n=n.replace(t,i.join(","))))}))):n=this.SubmitActionUrl,n}var y=function(n,i){t.call(this,n);var r=this;Object.defineProperty(r,"redirectUrl",{get:at});r.pages=tt(n,i);r.currentPageIndex||(r.currentPageIndex=0);r.LastPageReachedIndex||(r.LastPageReachedIndex=0);l.setForm(r);a.setForm(r);r.IsPreview&&(r.CounterValue=999);Object.values(o.all()).forEach(function(n){n.trigger("formLoaded")})};y.prototype=Object.create(t.prototype);Object.defineProperty(y.prototype,"constructor",{value:y});y.prototype.isProduction=isProduction;y.prototype.hasConnectionRights=hasConnectionRights;y.prototype.fillForm=it;y.prototype.fillRelationData=ut;y.prototype.getFieldByKey=ft;y.prototype.getAllFields=ht;y.prototype.getAllFieldsMap=ct;y.prototype.getParentUid=et;y.prototype.getSubItems=ot;y.prototype.getResults=lt;var b=null,k=null,d=-1;return y}n.module("diamantViewer").factory("diaViewerForm",["diaViewerItem","diaViewerPage","diaViewerSection","diaViewerSet","diaViewerRow","diaViewerField","diaItemStore","$timeout","$cultureCode","diaViewerRelation","diaConnectionService","diaConditionService",t])}(window.angular),function(n){"use strict";function t(n,t,i,r,u){function f(n){if(n[0].tagName!=="FORM")throw new Error("dia-viewer-form must be set on a form element");return n.addClass("dia-form"),e}function e(n,t,f,e){function d(){n.unloadedDataCells=n.form.Definition.fields.map(n=>n.dataCell)}function g(){return!!window.templateLoadingError}function nt(){window.location.reload()}function a(n,t){var i,r;if(n[t])return n[t];if(n.$$controls)for(i=0;i<n.$$controls.length;i++)if(r=a(n.$$controls[i],t),r)return r;return null}var h=e[0],c=e[1],l,v,y,p,w,b,k;n[f.diaViewerForm]=c;h.form=n.form;h.ngForm=c;h.loadProgressFromDefinition();n.recalculateCompletedTime=0;n.recalculateCellList=[];n.form.Logo=s(n.form.Logo);n.unloadedDataCells=[];n.refresh=nt;n.isTemplateLoadingError=g;n.templateLoadingErrorMessage={"nl-NL":"Laden pagina mislukt. Controleer uw internetverbinding en druk op Ververs","nl-BE":"Laden pagina mislukt. Controleer uw internetverbinding en druk op Ververs","en-US":"Something went wrong loading the page. Please check your internet connection and press the refresh button.","en-GB":"Something went wrong loading the page. Please check your internet connection and press the refresh button."};n.refreshButtonText={"nl-NL":"Ververs","nl-BE":"Ververs","en-US":"Refresh","en-GB":"Refresh"};d();o(t,n.form);n.form.PreferredPage&&n.form.PreferredPage>0&&(n.form.PreferredPage=n.form.PreferredPage-1,l=n.form.Definition.pages.length-1,v=n.form.PreferredPage<=l?n.form.PreferredPage:l,h.setCurrentPage(v));n.form&&n.form.AutoSaveEnabled&&n.form.AutoSavePeriod&&!n.form.IsReview&&(y=n.form.AutoSavePeriod*1e3,p=i(function(){var n=h.currentPage();if(n)n.getType()==="CLOSING"?i.cancel(p):h.save(!0);else return},y));w=n.$watch("response",function(n){n&&(h.form.fillForm(n),h.autofill(),w())});b=n.$watch("relation",function(n){n&&(h.form.fillRelationData(n),b())});k=function(){for(var f,e,i,h,r,n,u=this.el[0],o=c,s={},t=0;t<u.length;t++)f=u[t].attributes["data-cell"],e=u[t].attributes.id,f&&e&&(s[f.value]=e.value.replace("_formula",""));for(i=0;i<this.affectedCell.length;i++)h=this.affectedCell[i],r=s[h],r&&(n=a(o,r),n||(n=a(o,r+"_validation")),n&&n.$setDirty&&n.$setDirty())};t.calx({checkCircularReference:!0,autoCalculate:!1,onAfterCalculate:k});n.updateFormulaFields=function(){t.calx("update")};n.recalculateFormulaFields=function(i,u){if(i){const t={};t.cellAddress=i;t.cellValue=u;t.attempt=0;n.recalculateCellList.push(t)}const f=(new Date).getTime();r(function(){var u,i;if(!(n.recalculateCompletedTime>f)){for(i of n.recalculateCellList)if(!t.calx("getCell",i.cellAddress)){n.updateFormulaFields();break}u=[];for(i of n.recalculateCellList)t.calx("getCell",i.cellAddress)?t.calx("setValue",i.cellAddress,i.cellValue):i.attempt<5&&u.push(i);if(n.recalculateCellList=u,u.length>0){for(i of u)i.attempt++;r(function(){n.recalculateFormulaFields()},100)}else t.calx("calculate");n.recalculateCompletedTime=(new Date).getTime()}},10)};n.$on("fieldCreated",function(t,i){var r=n.unloadedDataCells.indexOf(i.field.dataCell);r>=0&&n.unloadedDataCells.splice(r,1)});n.$on("fieldDeleted",function(t,i){n.unloadedDataCells.push(i.field.dataCell)});u[0].addEventListener("invalid",function(){return function(n){n.preventDefault()}}(),!0)}function o(n,t){var i=n.find(".diamant-form"),r=8,u=6;t.GridWidthType==1?(r=12,u=12,(t.Logo||t.ShowIndex==1)&&(r-=2,u-=3),t.ShowIndex==2&&(r-=2,u-=3),i.addClass("fluid-width")):t.GridWidthType==2?i.addClass("fixed-width"):i.addClass("container-width");i.removeClass("col-md-8 col-lg-6");i.removeClass("col-md-10 col-lg-9");i.removeClass("col-md-12 col-lg-12");i.addClass("col-md-"+r);i.addClass("col-lg-"+u)}function s(n){if(n){var t=/^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$/i.exec(n);t!==null&&(n="/Diamant/GetFileByGuid?guid="+n)}return n}return{restrict:"A",require:["diaViewerForm","form"],scope:{form:"=",response:"=?",relation:"=?",isReview:"=?",onSubmit:"&?",onSave:"&?",reviewDecline:"&?",reviewIncomplete:"&?"},controller:"viewerFormController",controllerAs:"formController",templateUrl:n+"/Views/form-template.html"+t,compile:f}}n.module("diamantViewer").directive("diaViewerForm",["viewerRoot","urlPostFix","$interval","$timeout","$document",t])}(window.angular),function(n){"use strict";function t(t,i,r,u,f,e,o,s,h){function rt(n){if(!c.hasDuplicateLanguagesCache){for(var t=0;t<n.length;t++)if(c.isDuplicateLanguage(n,n[t].CultureCode,c.getLanguageCode(n[t].CultureCode)))return c.hasDuplicateLanguagesCache=!0;c.hasDuplicateLanguagesCache=!1}return c.hasDuplicateLanguagesCache}function b(n,t,i){for(var u,r=0;r<n.length;r++)if(t!==n[r].CultureCode&&(u=c.getLanguageCode(n[r].CultureCode).toUpperCase(),u===i.toUpperCase()))return!0;return!1}function ut(n){var t=this.getLanguageCode(n).toUpperCase();return b(this.form.Languages,n,t)?t+" ("+this.getCountryCode(n).toUpperCase()+")":t}function l(n){c.form.currentPageIndex=n;c.currentIndex=n;c.maxIndex=Math.max(c.maxIndex,n);c.maxIndex>c.form.LastPageReachedIndex&&(c.form.LastPageReachedIndex=c.maxIndex)}function ft(t){var r=0,i=0;return c.pages.forEach(function(u,f){u.isVisible()&&u.getType()!=="CLOSING"&&(f>c.maxIndex?i+=c.pageToFieldsMap[f]:u.sections.forEach(function(u){u.isVisible()&&u.rows.forEach(function(u){u.isVisible()&&u.fields.forEach(function(u){u.isVisible()&&(n.isDefined(u.field)?(i++,f<t&&r++):u.rows.forEach(function(n){n.isVisible()&&n.fields.forEach(function(n){n.isVisible()&&(i++,f<t&&r++)})}))})})}))}),r/i*100}function et(){for(var i,r,u,n=c.form.Definition,t=0;t<n.pages.length;t++)for(c.pageToFieldsMap[t]=0,i=0;i<n.sections.length;i++)if(n.sections[i].pageUid===n.pages[t].uid)for(r=0;r<n.rows.length;r++)if(n.rows[r].sectionUid===n.sections[i].uid)for(u=0;u<n.fields.length;u++)n.fields[u].rowUid===n.rows[r].uid&&c.pageToFieldsMap[t]++}function ot(){c.form.trigger("load")}function st(n){c.pages.push(n);c.currentIndex==c.pages.length-1&&w(c.currentIndex)&&l(c.currentIndex+1)}function ht(n){var t=c.pages.indexOf(n);c.pages.splice(t,1)}function ct(){var r=c.form.getFields(),i,u,n,f,t;for(i in c.form.AutofilledAnswers)for(u=c.form.AutofilledAnswers[i],n=0,f=r.length;n<f;n++)t=r[n],t.parameterName&&t.parameterName.toLowerCase()===i.toLowerCase()&&(t.value=u)}function k(){return c.pages[c.currentIndex]}function lt(){for(var n=c.currentIndex+1;(!c.pages[n]||!c.pages[n].isVisible()||c.pages[n].showOnlyInReview()&&!c.form.IsReview&&!c.form.IsPreview)&&n<c.pages.length;)n++;return n>=c.pages.length||c.form.pages[n].pageType==="CLOSING"}function at(){if(c.currentIndex>0&&(!i.form.pages[c.currentIndex].disableBackNavigation||c.form.IsReview||c.form.IsPreview)){for(var n=c.currentIndex-1;(!c.pages[n].isVisible()||c.pages[n].showOnlyInReview()&&!c.form.IsReview&&!c.form.IsPreview)&&n>0;)n--;w(n)||(l(n),p(i.form,c.form.IsReview))}}function y(){return navigator.onLine?(v&&(r.clearSiliconMessageList("warning"),v=!1),!0):(v=!0,r.scrollTo(0,0),r.setSiliconMessageList({SiliconMessageList:[{Type:2,Text:c.form.offlineMessage}]}),!1)}function vt(){var t,n,r;if(y()){if(c.ngForm.$invalid&&!c.form.AllowForwardMovement)for(n=0,r=c.pages.length;n<r&&n<c.currentIndex;n++)if(!c.pages[n].isValid()){c.goToPage(n);c.pages[n].focusFirstInvalidElement();return}if(c.form.AllowForwardMovement==!0||k().isValid()){for(t=c.currentIndex+1;(!c.pages[t].isVisible()||c.pages[t].showOnlyInReview()&&!c.form.IsReview&&!c.form.IsPreview)&&t<c.pages.length-1;)t++;if(i.form.pages[t].disableBackNavigation&&!g(t)&&c.form.IsReview&&c.form.IsPreview)for(n=0,r=c.pages.length;n<r;n++)if(!c.pages[n].isValid()){c.goToPage(n);c.pages[n].focusFirstInvalidElement();return}w(t)||(i.form.pages[c.currentIndex].trigger("leave"),l(t),p(i.form,c.form.IsReview))}else c.pages[c.currentIndex].focusFirstInvalidElement()}}function yt(n){if(y()){if(typeof n=="object"&&(n=c.form.pages.indexOf(n)),c.form.IsPreview){l(n);r.scrollTo(0,0);return}if((c.form.AllowForwardMovement==!0||n<c.currentIndex||n<=c.form.LastPageReachedIndex)&&!tt(c.currentIndex,n)||!c.pages[n].isValid()&&c.form.AllowBackwardMovementOnValidation||c.form.IsReview){if(!c.form.AllowForwardMovement&&n>=c.currentIndex&&c.ngForm.$invalid)for(var t=0,u=c.pages.length;t<u;t++)if(!c.pages[t].isValid()&&n>t){c.goToPage(t);c.pages[t].focusFirstInvalidElement();return}l(n);p(i.form,i.form.IsReview);c.form.IsReview||wt(n)}}}function d(){try{return r.self!==r.top}catch(n){return!0}}function p(n,t){n.AutoSaveEnabled&&n.AutoSaveNavigation&&!t&&it(!0);r.scrollTo(0,0);d()&&window.parent.postMessage("diaPageNavigationEvent","*")}function w(n){return!!c.pages[n]&&(!c.pages[n].isVisible()||c.pages[n].showOnlyInReview()&&!c.form.IsReview&&!c.form.IsPreview)}function g(n){for(var r,t=n-1;t>=0;t--)if(r=i.form.pages[t],c.ngForm[r.key].$invalid)return!1;return!0}function nt(n){var r=-1,u,t;if(c.preventNavigationButtonOption="Disabled",n>=0){for(u=0,c.form.IsPreview&&(u=c.currentIndex),t=u;t<i.form.pages.length;t++)if(c.pages[t]&&c.pages[t].isVisible()&&!i.form.pages[t].isNavigationAllowed()){r=t;c.preventNavigationButtonOption=i.form.pages[t].navigationButton;break}if(r>=0&&n>r)return!0}return!1}function pt(){return c.preventNavigationButtonOption==="Hidden"}function tt(n,t){var r,u;if(c.form.IsPreview)return!1;if(nt(t))return!0;if(c.form.IsReview)return!1;if(n>t){for(r=n;r>t;r--)if(u=i.form.pages[r],u&&u.disableBackNavigation&&!u.isConditionalHidden())return!0;return!1}for(r=t;r>=n;r--)if(u=i.form.pages[r],u.disableBackNavigation&&!u.isConditionalHidden())return!g(r);return!1}function wt(n){for(var t,r=!1,u=n;u>=0;u--){if(t=i.form.pages[u],t.disableBackNavigation&&!t.isConditionalHidden()&&!r){r=!0;continue}r&&(t.hidden=!0)}}function it(n){var r,f,u;return c.ngForm.$error.busy||t.spinneractive?o.reject():(r=o.defer(),t.saving=r.promise,f=c.form.getResults(),n&&a?(u=i.onSave({result:f,currentIndex:c.currentIndex,autoSave:n,showPopup:!n&&!c.form.Prefill}),a=!1):n||(u=i.onSave({result:f,currentIndex:c.currentIndex,autoSave:n,showPopup:!n&&!c.form.Prefill})),!u)?(t.$broadcast("dia-save",{autoSave:!!n}),r.resolve(),t.saving=null,r.promise):(u.then(function(i){t.$broadcast("dia-save",{autoSave:!!n});a=!0;i&&c.form.fillForm(i);r.resolve(i);t.saving=null;a=!0},function(){r.reject();t.saving=null}),r.promise)}function bt(){var n,r;(i.form.AutoSaveEnabled=!1,t.spinnerActive)||(n=o.defer(),t.saving=n.promise,r=document.activeElement,r&&r.blur&&r.blur(),h(function(){var r,e,u,f;if(!c.ngForm.$invalid||c.form.automaticSubmitTriggered||c.form.IsPreview&&c.form.AllowForwardMovement){if(c.saveButtonClicked)return;if(u=c.form.getResults(),u.results.forEach(function(n){var t=n.baseComponent||n.component;t==="polling"&&n.value==="Busy"&&(n.value="Timeout")}),f=i.onSubmit({result:u,currentIndex:c.currentIndex}),!f){t.$broadcast("dia-submit");n.resolve();t.saving=null;return}c.saveButtonClicked=!0;f.then(function(r){i.form.pages[c.currentIndex].trigger("leave");t.$broadcast("dia-submit");r&&c.form.fillForm(r);d()&&window.parent.postMessage("diaPageNavigationEvent","*");for(var u=c.currentIndex+1,f=c.form.pages.length;u<f;u++)if(c.form.pages[u].pageType==="CLOSING"){l(u);setTimeout(function(){i.$apply()},1);n.resolve();t.saving=null;return}c.saveButtonClicked=!1;n.resolve();t.saving=null},function(){i.form.AutoSaveEnabled=!0;c.saveButtonClicked=!1;n.reject();t.saving=null})}else for(r=0,e=c.pages.length;r<e;r++)if(!c.pages[r].isValid()){c.goToPage(r);c.pages[r].focusFirstInvalidElement();n.reject();t.saving=null;return}}))}function kt(){i.reviewDecline&&i.reviewDecline({result:c.form.getResults(),currentIndex:c.currentIndex})}function dt(){i.reviewIncomplete&&i.reviewIncomplete({result:c.form.getResults(),currentIndex:c.currentIndex})}function gt(n,t){for(var r,u=c.pages.reduce(function(t,i){var r=i.getFields(n);return r!==undefined&&(t=t.concat(r)),t},[]),f=[],i=0,e=u.length;i<e;i++){if(r=u[i],t&&t(r))break;f.push(r)}return f}function ni(){return c.form.IsReview}function ti(){return c.form.CounterValue}var c=this,a,v;c.currentIndex=0;c.maxIndex=0;c.pages=[];c.pageToFieldsMap={};c.currentPage=k;c.loadProgressFromDefinition=et;c.onLoad=ot;c.addPage=st;c.removePage=ht;c.autofill=ct;c.isLastPage=lt;c.previousPage=at;c.nextPage=vt;c.checkOffline=y;c.goToPage=yt;c.isPreventNavigation=nt;c.isNavigationBlocked=tt;c.save=it;c.submit=bt;c.reviewDecline=kt;c.reviewIncomplete=dt;c.getFields=gt;c.IsReview=ni;c.getCountryCode=u.getCountry;c.getLanguageCode=u.getLanguage;c.setCultureCode=u.set;c.getActiveCultureCode=u.get;c.getFlagText=ut;c.isDuplicateLanguage=b;c.hasDuplicateLanguages=rt;c.setCurrentPage=l;c.calculateProgress=ft;c.preventNavigationButtonOption="Disabled";c.preventNavigationButtonHidden=pt;c.getCounterValue=ti;a=!0;v=!1}n.module("diamantViewer").controller("viewerFormController",["$rootScope","$scope","$window","$cultureCode","diaViewerRow","diaViewerRelation","$q","diaItemStore","$timeout",t])}(window.angular),function(n){"use strict";function t(n){function t(t){n.call(this,t);var i=this;if(i.sections=[],i.conditionalHidden=!1,i.redirectAction=="redirect")i.on("load",function(){window.location.href=ensureIsUrl(i.redirectUrl)});Object.defineProperty(i,"type",{value:"page"})}function i(){return null}function r(){return this.sections}function u(n){this.sections=n}return t.prototype=Object.create(n.prototype),Object.defineProperty(t.prototype,"constructor",{value:t}),t.prototype.getParentUid=i,t.prototype.getSubItems=r,t.prototype.setSubItems=u,t}n.module("diamantViewer").factory("diaViewerPage",["diaViewerItem","diaItemStore",t])}(window.angular),function(n){"use strict";function t(n,t,i,r,u,f){function e(i,r,e,o){var a=!0,w=!1,v=o[0],s=o[1],h=o[2],c=t(e.page)(i),y=v.form.pages.indexOf(c),k,p,l,b,d;s.page=c;s.formController=h;i.page=c;s.isVisible=function(){return!i.page.isConditionalHidden()};s.showOnlyInReview=function(){return!!i.page.showOnlyInReview};i.$watch(e.active,function(t){if(i.active=!!t,s.active=i.active,i.active){if(!s.isVisible()){v.currentIndex--;return}n.$broadcast("dia-page-active",{index:y,page:c});i.page.trigger("active");(y>0||!a)&&w?(a=!1,h.focusFirstInput()):a=!1}else n.$broadcast("dia-page-inactive",{index:y,page:c})});k=i.$watch(e.load,function(n){i.loaded=!!n;s.loaded=i.loaded;i.loaded&&(k(),i.page.trigger("load"))});h.focusFirstInvalidElement=function(){this.$setAllDirty();u(function(){var n=r.find(".ng-invalid:first");if(n.length>0)try{n[0].focus()}catch(t){}})};h.focusFirstInput=function(){u(function(){window.scrollTo(0,0);var n=r.find("input:not([data-cell]):first");n.length>0&&(n[0].focus(),window.scrollTo(0,0))},100)};p=0;l=0;i.$on("fieldLoading",function(){p++});b=null;d=i.$on("fieldLoaded",function(){l++;l===p&&(d(),u(function(){i.updateFormulaFields();i.recalculateFormulaFields()},10),(y>0||!a)&&w&&u(h.focusFirstInput,200),w=!0,b==null&&(b=i.$on("fieldLoaded",function(n,t){l++;var r=f.get(t);r&&l===p&&u(function(){i.updateFormulaFields();i.recalculateFormulaFields()})})))});v.addPage(s);i.$on("$destroy",function(){v.removePage(s)})}return{restrict:"E",controller:"viewerPageController",controllerAs:"pageController",require:["^diaViewerForm","diaViewerPage","form"],transclude:!0,scope:!0,templateUrl:i+"/Views/page-template.html"+r,link:e}}n.module("diamantViewer").directive("diaViewerPage",["$rootScope","$parse","viewerRoot","urlPostFix","$timeout","diaItemStore",t])}(window.angular),function(n){"use strict";function t(t){function r(t){i.sections.push(t);t.section.repeatable&&(n.isDefined(i.repeatableSectionCounter[t.section.key])||(i.repeatableSectionCounter[t.section.key]=0),i.repeatableSectionCounter[t.section.key]++)}function u(n){var t=i.sections.indexOf(n);i.sections.splice(t,1);i.repeatableSectionCounter[n.section.key]--}function f(){return i.formController.$valid}function e(){return!i.page.isConditionalHidden()&&(!i.page.showOnlyInReview||t.form.IsReview)}function o(){i.page.trigger("load")}function s(){i.formController.focusFirstInvalidElement()}function h(){return i.page.pageType}function c(n){if(!(n.maxRepetitions>0)||!(i.repeatableSectionCounter[n.key]>=n.maxRepetitions)){var t=i.page.sections.indexOf(n),r=n.copy();i.page.sections.splice(t+1,0,r);n.last=!1}}function l(n){if(i.repeatableSectionCounter[n.key]!==1){var t=i.page.sections.indexOf(n);i.page.sections.splice(t,1);n.last&&(i.page.sections[t-1].last=!0)}}function a(n){if(i.page.show)return i.sections.reduce(function(t,i){var r=i.getFields(n);return r!==undefined&&(t=t.concat(r)),t},[])}function v(){return i.page.style&&i.page.style.labelColor!==null?i.page.style.labelColor:null}var i=this;i.sections=[];i.repeatableSectionCounter={};i.addSectionController=r;i.removeSectionController=u;i.isValid=f;i.isVisible=e;i.onLoad=o;i.focusFirstInvalidElement=s;i.getType=h;i.ensureIsUrl=ensureIsUrl;i.repeatSection=c;i.removeSection=l;i.getFields=a;i.getLabelColor=v}n.module("diamantViewer").controller("viewerPageController",["$scope",t])}(window.angular),function(n){"use strict";function t(n,t){function r(){return this.pageUid}function u(){return this.rows}function f(n){this.rows=n}function e(n,i){var u=n.original||n,f,s,r,e,h,o,c;if(i||!(!u.repeatable||u.maxRepetitions>0&&u.repetitions>=u.maxRepetitions-1||u.repetitions>=100)){for(f=n.copy(),f.last=!0,f.showLabel=!1,n.last=!1,s=new t({}),s.fields.push(f),r=-1,e=0;r===-1&&e<this.rows.length;e++)for(h=this.rows[e],o=0;r===-1&&o<h.fields.length;o++)c=h.fields[o],c.uid===n.uid&&(r=e);return r>=0&&this.rows.splice(r+1,0,s),f}}function o(n){var o=n.original||n,i,f,s,e,u,t,r;if(o.repetitions!==0&&!(o.repetitions<n.minRepetitions)){for(i=-1,f=0,s=this.rows.length;i===-1&&f<s;f++)for(u=this.rows[f],t=0;i===-1&&t<u.fields.length;t++)if(r=u.fields[t],r.uid===n.uid&&(i=f,n.last))for(e=i-1;n.last&&e>=0;e--)for(u=this.rows[e],t=0;t<u.fields.length;t++)if(r=u.fields[t],r.original&&n.original.uid===r.original.uid||r.uid===n.original.uid){n.last=!1;r.last=!0;break}i>=0&&this.rows.splice(i,1)}}function s(n){for(var f,i,e,r,u=[],t=0,o=this.rows.length;t<o;t++)for(f=this.rows[t],i=0;i<f.fields.length;i++)e=f.fields[i],e.original&&e.original.uid===n.uid&&u.push(t);for(r=u.length-1;r>=0;r--)this.rows.splice(u[r],1)}var i=function(t){n.call(this,t);var i=this;i.rows=[];Object.defineProperty(i,"type",{value:"section"})};return i.prototype=Object.create(n.prototype),i.prototype.getParentUid=r,i.prototype.getSubItems=u,i.prototype.setSubItems=f,i.prototype.repeatSet=e,i.prototype.removeSet=o,i.prototype.removeSets=s,i}n.module("diamantViewer").factory("diaViewerSection",["diaViewerItem","diaViewerRow",t])}(window.angular),function(n){"use strict";function t(n,t,i){function r(n,t,r,u){var f=u[0],e=u[1];n.section=i(r.section)(n);e.section=n.section;n.pageController=f;f.addSectionController(e);e.isVisible=function(){return!!(n.section.show&&!n.section.isConditionalHidden()&&f.isVisible())};n.sectionIsHidden=!!(n.section.showOnlyInReview||f.showOnlyInReview())&&!n.form.IsReview;e.showOnlyInReview=function(){return!!(n.section.showOnlyInReview||f.showOnlyInReview())};n.$on("$destroy",function(){f.removeSectionController(e)})}return{restrict:"E",scope:!0,transclude:!0,require:["^diaViewerPage","diaViewerSection"],controller:"viewerSectionController",controllerAs:"sectionController",templateUrl:n+"/Views/section-template.html"+t,link:r}}n.module("diamantViewer").directive("diaViewerSection",["viewerRoot","urlPostFix","$parse",t])}(window.angular),function(n){"use strict";function t(){function t(t){n.rows.push(t)}function i(t){var i=n.rows.indexOf(t);n.rows.splice(i)}function r(){n.section.trigger("load")}function u(){return n.section.style&&n.section.style.labelColor!==null?{color:n.section.style.labelColor}:null}function f(){return n.section.style?{"background-color":n.section.style.backgroundColor,borderColor:n.section.style.borderColor,borderStyle:n.section.style.borderStyle,borderWidth:n.section.style.borderWidth+"px"}:null}function e(t){if(n.section.show)return n.rows.reduce(function(n,i){var r=i.getFields(t);return r!==undefined&&(n=n.concat(r)),n},[])}var n=this;n.rows=[];n.repeatableSetCounter={};n.addRow=t;n.removeRow=i;n.onLoad=r;n.getFields=e;n.getLabelColor=u;n.getSectionStyle=f}n.module("diamantViewer").controller("viewerSectionController",["diaViewerRow",t])}(window.angular),function(n){"use strict";function t(n,t,i,r){function o(){var i=[],r=this.getComponent(),n;switch(r){case"radioButtonMatrixSet":for(n=0;n<this.answers.length;n++)i.push(new t(this.answers[n].value,this,this.answers[n].label.localized))}return i}function s(n){if(this.getComponent()!=="radioButtonMatrixSet")return null;var t=this.answers.map(function(n){return n.value}).indexOf(n),i=h("HA");return e(i+t)+this.dataCellNumber}function h(n){for(var i=0,r=n.length,t=0;t<r;t++)i+=(n.charCodeAt(t)-64)*Math.pow(26,r-t-1);return i}function e(n){var i=n%26,t=n/26|0,r=i?String.fromCharCode(64+i):(--t,"Z");return t?e(t)+r:r}function c(n){var t=this.getFields();return t.filter(function(t){return t.value==n}).length}function l(){return this.component}function a(){return this.rows}function v(n){this.rows=n}function y(){return this.rowUid}function p(){var n=this.dataCell.match(/(^[A-Z]+)/);return n[1]}function w(){var n=this.dataCell.match(/^[A-Z]+(\d+)/);return parseInt(n[1])}function f(){var t={},r,u,n;if(this.rows.forEach(function(n){n.fields.forEach(function(n){t[n.key]=n.connectionValue})}),(this.repeatable||this.repeatedByConnection)&&!this.original){r=[t];u=i.all();for(n in u)n.indexOf(this.uid)!==-1&&n!==this.uid&&r.push(u[n].value);return r}return t}function b(){var n=this;return n.getSubItems().reduce(function(t,i){if(i.isConditionalHidden())return t;var r=i.getResults();return(r.forEach(function(t){t.setUid=n.uid}),typeof r=="undefined")?t:t.concat(r)},[])}function k(){var t=n.prototype.copy.call(this),i=t.original.getFields(),u=t.getFields();return u.forEach(function(n){var f,e,t,o,u;if(n.repeatable&&n.minRepetitions)for(n.minRepetitions=parseInt(n.minRepetitions),n.maxRepetitions=parseInt(n.maxRepetitions),n.repetitions=1,f=n.value,n.value=[n.value],e=0;e<n.minRepetitions-1;e++)n.options&&(t=null,n.component=="multiselect"&&(t=""),n.options.forEach(function(n){n.selected&&(t===""&&(t=[]),t.push(n.value))}),f=t),n.getComponent()==="phoneNumber"?n.value.push(""):n.value.push(f),n.repetitions=n.repetitions+1;n.formula&&(o=n.uid.substring(n.uid.indexOf("_")),u=r.getUids(n.formula),u&&(u=u.filter(function(n,t,i){return i.indexOf(n)===t}),u.forEach(function(t){t=r.replaceSpecialCharacters(t);var u=i.some(function(n){return n.uid===t.replace(/_\d*$/,"")});u&&(n.formula=n.formula.replace(new RegExp(t,"g"),t.replace(/_\d*$/,"")+o))})))}),t}var u=function(t){var i=this;i.rows=[];i.component="set";i.last=!0;n.call(i,t);Object.defineProperty(i,"value",{get:f});Object.defineProperty(i,"connectionValue",{get:f});Object.defineProperty(i,"dataCellLetter",{get:p});Object.defineProperty(i,"dataCellNumber",{get:w});Object.defineProperty(i,"type",{value:"set"})};return u.prototype=Object.create(n.prototype),Object.defineProperty(u.prototype,"constructor",{value:u}),u.prototype.getComponent=l,u.prototype.getSubItems=a,u.prototype.setSubItems=v,u.prototype.getParentUid=y,u.prototype.getValue=f,u.prototype.getResults=b,u.prototype.copy=k,u.prototype.getProperties=o,u.prototype.getPropertyDataCell=s,u.prototype.countFormulaAnswers=c,u}n.module("diamantViewer").factory("diaViewerSet",["diaViewerItem","diaProperty","diaItemStore","formulaService",t])}(window.angular);angular.module("diamantViewer").directive("diaViewerSet",["$parse","$timeout","diaTemplateCache",diaSet]),function(n){"use strict";function t(n,t,i){function u(n){r.rows.push(n)}function f(n){var t=r.rows.indexOf(n);r.rows.splice(t)}function e(){var n=50;return i.maxNumberOfGroupRepetitions&&(n=i.maxNumberOfGroupRepetitions),n}function o(){r.set.trigger("load")}function s(n){if(r.set.show)return r.rows.reduce(function(t,i){var r=i.getFields(n);return r!==undefined&&(t=t.concat(r)),t},[])}function h(){return r.set.style&&r.set.style.labelColor!==null?r.set.style.labelColor:null}function c(i,u){r.set.usedInFormula&&(i===null&&(i=""),i!==u&&t(function(){n.recalculateFormulaFields(r.set.getPropertyDataCell(u),r.set.countFormulaAnswers(u));n.recalculateFormulaFields(r.set.getPropertyDataCell(i),r.set.countFormulaAnswers(i))}))}var r=this;r.rows=[];r.addRow=u;r.removeRow=f;r.getMaxNumberOfGroupRepetitions=e;r.onLoad=o;r.getFields=s;r.getLabelColor=h;r.updateFormulaAnswers=c}n.module("diamantViewer").controller("viewerSetController",["$scope","$timeout","$settings",t])}(window.angular),function(n){"use strict";function t(n){function i(){return this.sectionUid}function r(){return this.fields}function u(n){this.fields=n}var t=function(t){n.call(this,t);var i=this;i.show=!0;i.fields=[];Object.defineProperty(i,"type",{value:"row"})};return t.prototype=Object.create(n.prototype),Object.defineProperty(t.prototype,"constructor",{value:t}),t.prototype.getParentUid=i,t.prototype.getSubItems=r,t.prototype.setSubItems=u,t}n.module("diamantViewer").factory("diaViewerRow",["diaViewerItem",t])}(window.angular),function(n){"use strict";function t(n,t,i){function r(n,t,r,u){var f=u[1]||u[0],e=u[2];f.addRow(e);n.row=i(r.row)(n);e.isVisible=function(){return!!(!n.row.isConditionalHidden()&&f.isVisible())};e.showOnlyInReview=function(){return!!f.showOnlyInReview()};n.$on("$destroy",function(){f.removeRow(e)})}return{restrict:"E",transclude:!0,replace:!0,require:["?^diaViewerSection","?^diaViewerSet","diaViewerRow"],scope:!0,controller:"viewerRowController",controllerAs:"rowController",templateUrl:n+"/Views/row-template.html"+t,link:r}}n.module("diamantViewer").directive("diaViewerRow",["viewerRoot","urlPostFix","$parse",t])}(window.angular),function(n){"use strict";function t(){function t(t){n.fields.push(t)}function i(t){var i=n.fields.indexOf(t);n.fields.splice(i)}function r(){n.row.trigger("load")}function u(t){return n.fields.reduce(function(n,i){var r=i.getFields(t);return r!==undefined&&(n=n.concat(r)),n},[])}var n=this;n.fields=[];n.addField=t;n.removeField=i;n.onLoad=r;n.getFields=u}n.module("diamantViewer").controller("viewerRowController",[t])}(window.angular),function(n){"use strict";function t(t,i,r,u,f,e,o){function s(u){var f=this,c,g,b,k,tt,e,s,nt,v,it,d,rt,y,a,h;if(t.call(f,u),Object.defineProperty(f,"connectionValue",{get:kt}),Object.defineProperty(f,"formulaValue",{get:dt,set:function(){}}),Object.defineProperty(f,"dataFormula",{get:l}),Object.defineProperty(f,"usedInFormula",{value:!1,writable:!0}),Object.defineProperty(f,"usedInScoreFormula",{value:!1,writable:!0}),Object.defineProperty(f,"globalErrors",{value:{},writable:!0}),Object.defineProperty(f,"score",{get:ni,set:function(){}}),Object.defineProperty(f,"dataCellLetter",{get:ti}),Object.defineProperty(f,"dataCellNumber",{get:ii}),Object.defineProperty(f,"scoreCellLetter",{get:ri}),Object.defineProperty(f,"scoreCellNumber",{get:ui}),Object.defineProperty(f,"parseFormats",{get:wt}),Object.defineProperty(f,"dateFormat",{get:p}),Object.defineProperty(f,"resolvedUrl",{get:w}),Object.defineProperty(f,"type",{value:"field"}),f.helpView=="tooltip"&&(f.tooltipText=f.helpText,f.helpText={},f.helpView="belowLabel"),f.repeatable||(f.repeatable=!1),f.componentType&&(f.baseComponent=f.componentType,delete f.componentType),n.isDefined(f.showPlusButton)&&(f.repeatable=f.showPlusButton,delete f.showPlusButton),n.isDefined(f.referencedFieldKey)&&(f.referencedField=f.referencedFieldKey,delete f.referencedFieldKey),f.value&&f.options&&(c=f.value,typeof c=="string"&&(c=c.replace(/^,+|,+$/,"").split(",")),Array.isArray(c)))for(a=0,k=c.length;a<k;a++)if(g=c[a],g!=="")for(b=0,k=f.options.length;b<k;b++)f.options[b].value==g&&(f.options[b].selected=!0);f.component==="url"&&f.baseComponent==="textInput"&&delete f.baseComponent;f.component==="slider"&&n.equals({},f.default)&&(f.default=f.value);f.repetitions==0&&(f.repetitions=1);switch(f.getComponent()){case"textArea":delete f.maxRows;break;case"url":delete f.transformation;delete f.transformationRegex;delete f.regex;break;case"phoneNumber":n.isDefined(f.nationalMode)&&(f.internationalMode=!f.nationalMode,delete f.nationalMode);break;case"select":f.dropDownOptions=[];f.options||(f.options=[]);n.isUndefined(f.showSearchBar)&&(f.showSearchBar=!0);break;case"countries":f.sortOptions=!0;f.dropDownOptions=[];f.options||(f.options=[]);n.isUndefined(f.showSearchBar)&&(f.showSearchBar=!0);break;case"nationalities":f.dropDownOptions=[];f.options||(f.options=[]);this.defaultValueOptions!=="selectedNationality"&&(this.default=null);n.isUndefined(f.showSearchBar)&&(f.showSearchBar=!0);break;case"checkbox":case"confirm":(f.baseComponent=="confirm"||f.component=="confirm")&&(f.dataType="string");f.options&&(tt=f.options.filter(function(n){return n.selected}).map(function(n){return n.value}),f.default=tt.join(","));break;case"fileUpload":f.value=[];f.allowedExtensions===".txt,.xlsx,.pdf,.png,.docx,.ppt,.pptx,.odt"&&(f.allowedExtensions=".txt,.xls,.xlsx,.doc,.docx,.ppt,.pptx,.pdf,.png,.jpg,.jpeg,.gif,.bmp,.odt");Array.isArray(f.default)||(f.default=[]);f.default=f.default.map(function(n){return new o(n)});break;case"slider":f.default&&typeof f.default=="object"&&delete f.default;break;case"dateTimePicker":case"timePicker":f.default&&typeof f.default=="object"&&delete f.default;f.default&&f.default==="Invalid Date"&&delete f.default;f.getComponent()==="timePicker"&&(f.format="HH:mm");break;case"signature":f.default&&delete f.default;break;case"button":switch(f.actionType){case"url":f.url.indexOf("http")===0||/^\[([a-fA-F0-9]{32})]$/.test(f.url)||(f.url="https://"+f.url)}break;case"captcha":f.isDiamondCaptcha||f.isGoogleCaptcha||(f.isDiamondCaptcha=!0);break;case"payment":f.hasOwnProperty("show")||(f.show=!0);function t(n,t,i,r){n.hasOwnProperty(t)||(n[t]={});n[t][i]=r}t(f,"uncertainError","nl-NL","Betaling onzeker / geannuleerd. Annuleer als nodig en probeer <a href='#' ng-click='retryPayment(field)'>hier<\/a> opnieuw, liefst met een andere betalingsmethode.");t(f,"uncertainError","nl-BE","Betaling onzeker / geannuleerd. Annuleer als nodig en probeer <a href='#' ng-click='retryPayment(field)'>hier<\/a> opnieuw, liefst met een andere betalingsmethode.");t(f,"uncertainError","en-US","Payment uncertain / cancelled. Cancel if needed and try again <a href='#' ng-click='retryPayment(field)'>here<\/a>, preferably with different payment method.");t(f,"uncertainError","en-GB","Payment uncertain / cancelled. Cancel if needed and try again <a href='#' ng-click='retryPayment(field)'>here<\/a>, preferably with different payment method.");t(f,"failedError","nl-NL","Betaling mislukt. Probeer <a href='#' ng-click='retryPayment(field)'>hier<\/a> opnieuw, liefst met een andere betalingsmethode.");t(f,"failedError","nl-BE","Betaling mislukt. Probeer <a href='#' ng-click='retryPayment(field)'>hier<\/a> opnieuw, liefst met een andere betalingsmethode.");t(f,"failedError","en-US","Payment failed. Try again <a href='#' ng-click='retryPayment(field)'>here<\/a>, preferably with different payment method.");t(f,"failedError","en-GB","Payment failed. Try again <a href='#' ng-click='retryPayment(field)'>here<\/a>, preferably with different payment method.")}if(defaultsInFactory){e=null;s=f.getComponent();switch(s){case"datePicker":case"timePicker":case"dateTimePicker":f.defaultType==="today"&&(f.default=new Date);break;case"multiselect":h=[];f.options.forEach(function(n){n.selected&&h.push(n.value)});e=h.join();break;case"radioButtonQuestion":if(nt=i.get(f.rowUid),!nt)break;if(v=i.get(nt.sectionUid),!v)break;v&&(typeof v.default=="string"||v.default instanceof String)&&(e=v.default)}if(e===null&&f.default&&(s==="datePicker"||s==="timePicker"||s==="dateTimePicker"?e=f.default:typeof f.default!="object"||Array.isArray(f.default)?s==="fileUpload"?e=f.default.map(function(n){return{uid:n.uid,fUid:n.uid,name:n.name,size:n.size,mimetype:n.mimetype,extension:n.extension,tempFileName:n.uid+n.extension,tempFile:!0,compressImage:n.compressImage,maxImageWidth:n.maxImageWidth,"default":!0}}):s!=="checkbox"&&s!=="phoneNumber"&&(e=f.default):e=f.default.localized),(f.value===null||!n.isDefined(f.value)||!n.isDefined(f.value[0]))&&e!==null)switch(s){case"timePicker":f.value=[kendo.toString(new Date(f.default),f.format)];break;case"datePicker":case"dateTimePicker":y=new Date(f.default);f.format.localized?(d=f.format.localized,d==="custom"&&(d=f.customFormat.localized),f.value=[kendo.toString(y,d)]):it=r.on("cultureChanged",function(){var n=f.format.localized;n==="custom"&&(n=f.customFormat.localized);f.value=[kendo.toString(y,n)];it()});break;case"fileUpload":f.preventDefault||(f.value=e);break;case"multiselect":f.value=[e];break;default:f.value=e}f.value||f.value===0||s!=="textInput"&&s!=="numericTextInput"||(f.value=null);s==="phoneNumber"&&(f.preferredCountries||(f.preferredCountries=r.list().map(function(n){return r.getCountry(n)})),f.country||(f.country=f.default?f.default:r.getCountry(r.get())))}if(f.regex&&typeof f.regex=="string"&&(f.regex=new RegExp(f.regex)),f.transformation!=="custom"&&(f.transformationRegex=null),f.transformationSubstitution&&delete f.transformationSubstitution,n.isDefined(f.dataCell)||(f.dataCell=n.copy(f.key)),f.scoreCell=f.dataCell.replace(/^[A-Z]+/,"DA"),f.allowedDocumentCount&&(f.allowedDocumentCount=parseInt(f.allowedDocumentCount)),f.component==="vatNumber"&&(f.maskPattern=null,f.transformation=null),f.component!=="countries"&&f.component!=="nationalities"||f.callFailedError||(f.callFailedError={"nl-NL":"Er is iets misgegaan, probeer het later nog eens.","en-GB":"Something went wrong, try again later.","en-US":"Something went wrong, try again later."}),f.component!=="signature"||f.fileTypeError||(f.fileTypeError={"nl-NL":"Het geuploade bestand moet van type .png, .jpg or .jpeg zijn.","en-US":"The uploaded file must be of type .png, .jpg or .jpeg.","en-GB":"The uploaded file must be of type .png, .jpg or .jpeg."}),f.getComponent()==="numericTextInput"&&n.isString(f.currencySymbol)&&(rt=f.currencySymbol,f.currencySymbol={},r.list().forEach(function(n){f.currencySymbol[n]=rt})),f.repeatable&&f.minRepetitions)for(f.minRepetitions=parseInt(f.minRepetitions),f.maxRepetitions=parseInt(f.maxRepetitions),f.repetitions=1,y=f.value,f.value=[f.value],a=0;a<f.minRepetitions-1;a++)f.options&&(h=null,f.component=="multiselect"&&(h=""),f.options.forEach(function(n){n.selected&&(h===""&&(h=[]),h.push(n.value))}),y=h),f.getComponent()==="phoneNumber"?f.value.push(""):f.value.push(y),f.repetitions=f.repetitions+1}function y(n){var t=[],i=this.getComponent();switch(i){case"fileUpload":n||(t.push(new Property("name",this)),t.push(new Property("data",this)),f=="Diamond"&&t.push(new Property("mimetype",this)))}return t}function p(){var n=this.getComponent();switch(n){case"datePicker":case"dateTimePicker":return this.format.localized=="custom"?this.customFormat.localized:this.format.localized;case"timePicker":return this.format}}function w(){var n=this.url;return this.resolveFieldReferences(n)}function b(n){if(!n)return n;var t=n,r=u.getUids(t);return r&&(r=r.filter(function(n,t,i){return i.indexOf(n)===t}),r.forEach(function(n){var r=i.get(u.replaceSpecialCharacters(n)),f,e,o;r&&(f=new RegExp(n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),n[0]==="{"?(r.usedInScoreFormula=!0,t=n[1]==="+"?t.replace(f,"GX"+r.scoreCellNumber):t.replace(f,r.scoreCell)):(n[1]==="+"?t=t.replace(f,"CX"+r.dataCellNumber):r.uid.indexOf(":")===-1?t=t.replace(f,r.dataCell):(e=r,r=i.get(e.uid.substring(0,e.uid.indexOf(":"))),o=r.getPropertyDataCell(e.name),t=t.replace(f,o)),r.usedInFormula=!0))})),t=k(t)}function k(n){var l=50,a=50,f,o,t,s,c,v,r;if(e.maxNumberOfGroupRepetitions&&(l=e.maxNumberOfGroupRepetitions),e.maxNumberOfFieldRepetitions&&(a=e.maxNumberOfFieldRepetitions),f=n.match(/FORMRANGE\(\s*[A-Z]+[0-9]+\s*\)/ig),!f)return n;for(o of f)t=o.replace("FORMRANGE(","").replace(")","").trim(),s=i.getBy("dataCell",t),s&&s.repeatable?(v=u.getCellLetter(t),r=u.getCellNumber(t)+a-1,c=t+":"+v+r):(r=u.getCellNumber(t),c=t+":"+h(l)+r),n=n.replace(o,c);return n}function l(){return this.formula&&!this.dataFormulaCache&&(this.dataFormulaCache=this.getFormula(this.formula)),this.dataFormulaCache}function d(){var n="text",t=this.getComponent();switch(t){case"textInput":(this.validation=="phoneNL"||this.validation=="phoneInternational")&&(n="tel")}return n}function g(){var n,t;if(this.group!=="content")return!this.loaded&&!this.value?void 0:(n={uid:this.uid.split("_")[0],component:this.component,baseComponent:this.baseComponent,key:this.key,value:this.getResultValue(),score:this.score,alias:this.label[Object.keys(this.label)[0]]},this.getComponent()==="captcha"&&this.isDiamondCaptcha&&(n.captcha=this.captcha),ot(this,n),st(this,n),t=!1,this.options&&(t=this.options.some(function(n){return n.custom})),(this.optionsSetByConnection||t)&&ht(this,n),n)}function nt(n){if(!n||n(this))return this}function tt(t){var i=this,v=i.getComponent(),u,l,s,a,h,f,e,o,r;t=t||!1;i.logEntry&&(i.value||(i.value=[]),u=new Date,l={LogDate:c(u.getDate(),"0",2)+"-"+c(u.getMonth()+1,"0",2)+"-"+u.getFullYear()+" "+u.getHours()+":"+c(u.getMinutes(),"0",2),User:pt(i.referencedField),Content:i.logEntry},this.value.unshift(l));switch(v){case"radio":if(t&&i.relationConnection){if(i.otherOption&&i.value==="other")return i.otherValue;if(s=i.options.filter(function(n){return n.value==i.value}),s.length>0&&(a=s[0],h=a.label.localized,h!=null))return h}return i.value;case"datePicker":case"dateTimePicker":case"timePicker":return Array.isArray(i.value)?i.value.map(function(n){return n?typeof n!="string"?n.format(i.dateFormat):n:null}):i.value?i.value.format(i.dateFormat):null;case"fileUpload":return i.value&&i.value.forEach(function(n){typeof n=="object"&&n!==null&&delete n.$$hashKey}),i.value;case"multiselect":if(i.value[0])for(f=i.value[0],n.isString(f)&&(f=f.split(",")),r=0;r<i.options.length;r++)for(e=0;e<f.length;e++)i.options[r].value==f[e]&&(i.options[r].selected=!0);return i.value;case"phoneNumber":if(o=[],i.saveAsNationalNumber&&i.value.length>0)for(r=0;r<i.value.length;r++)o.push(intlTelInput.utils.formatNumber(i.value[r],null,intlTelInput.utils.numberFormat.NATIONAL));else o=i.value;return o;default:return i.value}}function it(n,t){for(var i=0;i<n.length;i++)n[i].labelDefault&&r.list().forEach(function(t){n[i].label[t]=n[i].labelDefault});for(i=0;i<n.length;i++)n[i].value=""+n[i].value;this.options=n;this.optionsSetByConnection=t}function rt(t,i){var u=this.getComponent(),r,f;if(this.value==""||this.value==null||i)if(u==="payment"||u==="counter"||u==="polling"||u==="captcha")this.value=t;else if(u==="radioButtonQuestion")this.value=t,Array.isArray(t)&&(this.value=t[0]);else{if(u==="fileUpload"){this.value=t;this.preventDefault=!0;return}if(this.options)if(u==="multiselect")Array.isArray(t)||(t=[t]),this.value=t;else{for(Array.isArray(t)||(t=[t]),r=0,f=this.options.length;r<f;r++)this.value="",this.options[r].selected=!1;for(r=0,f=t.length;r<f;r++)t[r]!==""&&et.call(this,t[r]);n.isDefined(this.repeatable)&&["radio","checkbox"].indexOf(u)===-1&&(this.value=t)}else{if(u==="numericTextInput")if(Array.isArray(t))for(r=0;r<t.length;r++)t[r]=a(t[r]);else t=a(t);n.isDefined(this.repeatable)&&!Array.isArray(t)&&(t=[t]);this.value=t;return}}}function a(t){return t&&!n.isNumber(t)&&(t=parseFloat(t),isNaN(t)&&(t=null)),t}function ut(){return this.baseComponent?this.baseComponent:this.component}function ft(){return this.rowUid}function et(n){var t=this.options.find(function(t){return t.value==n});if(t||(t=this.options.find(function(t){return t.label.localized==n})),t)t.selected=!0,this.value.length>0&&(this.value+=","),this.value+=t.value;else{if(n==null||n==undefined)return;this.noneOption&&n==="none"?this.value=n:this.otherOption&&(this.getComponent()==="checkbox"?this.other=!0:this.value="other",this.otherValue=n)}}function c(n,t,i){for(n=""+n;n.length<i;)n=t+n;return n}function ot(n,t){n.otherOption&&(n.getComponent()=="radio"&&n.value=="other"&&(t.otherValue=n.otherValue),n.getComponent()=="checkbox"&&n.other&&(t.otherValue=n.otherValue))}function st(n,t){n.noneOption&&n.getComponent()=="checkbox"&&(t.none=n.none)}function ht(t,i){var r;i.optionsSetByConnection=t.optionsSetByConnection;t.component==="countries"?(r=t.options.find(function(n){return n.value==t.value}),r&&(i.options=[r])):t.component==="nationalities"?(r=t.options.find(function(n){return n.value==t.value}),r&&(r=n.copy(r),r.label=r.options,delete r.options,i.options=[r])):i.options=t.options}function ct(){if(this.numberFormat&&this.numberFormat!="n"&&this.numberFormat!=="c")return kendo.culture().name;var t=n.copy(kendo.culture());return t.name="cl-"+this.uid,this.currencySymbol&&n.isDefined(this.currencySymbol.localized)&&(t.numberFormat.currency.symbol=this.currencySymbol.localized),lt(this,t),kendo.cultures[t.name]=t,t.name}function lt(n,t){n.thousandsSeparator&&(n.thousandsSeparator.localized=="none"?t.numberFormat.groupSize[0]=0:(t.numberFormat[","]&&(t.numberFormat[","]=n.thousandsSeparator.localized=="space"?" ":n.thousandsSeparator.localized,t.numberFormat.currency[","]=t.numberFormat[","]),n.decimalPlaces&&Number(n.decimalPlaces)>0&&n.thousandsSeparator.localized!="space"&&t.numberFormat["."]&&(t.numberFormat["."]=n.thousandsSeparator.localized=="."?",":".",t.numberFormat.currency["."]=t.numberFormat["."])))}function at(){return this.numberFormat||(this.numberFormat="n"),this.decimalPlaces||(this.decimalPlaces=0),this.numberFormat=="p"?"#,#."+yt(this.decimalPlaces)+" \\%":this.numberFormat=="custom"&&this.numberFormatMask?this.numberFormatMask:this.numberFormat+this.decimalPlaces}function vt(){var n="off";return e.autocomplete&&(n=e.autocomplete),this.autocomplete&&(n=this.autocomplete),n}function yt(n){for(var t="";n-->0;)t+="0";return t}function pt(n){var r=i.get(n)||i.getByKey(n),t;if(r)return t=r.value,Array.isArray(t)&&(t=t[0]),t}function wt(){var n=[];return n.push(this.dateFormat.replace(/\byy\b/g,"yyyy")),n.push(this.dateFormat.replace(/\byyyy\b/g,"yy")),n}function bt(){var n=t.prototype.copy.call(this),i,r;return n.component!=="slider"&&(n.value=null),delete n.dataFormulaCache,n.options&&n.options.forEach(function(n){n.selected=!1}),n.dataCell&&(i=v(n.dataCellLetter),n.dataCell=h(++i)+n.dataCellNumber,n.usedInFormula=!0),n.scoreCell&&(i=v(n.scoreCellLetter),n.scoreCell=h(++i)+n.scoreCellNumber,n.usedInScoreFormula=!0),n.getComponent()==="checkbox"&&n.original.default&&(r=n.original.default.split(","),n.options.forEach(function(n){n.selected=r.indexOf(n.value)!==-1})),n}function v(n){for(var i=0,r=n.length,t=0;t<r;t++)i+=(n.charCodeAt(t)-64)*Math.pow(26,r-t-1);return i}function h(n){var i=n%26,t=n/26|0,r=i?String.fromCharCode(64+i):(--t,"Z");return t?h(t)+r:r}function kt(){var t=this.value;return n.isUndefined(t)&&this.default[r.get()]!=""&&(t=this.default[r.get()]),n.isDefined(t)&&t!==null&&(this.getComponent()==="fileUpload"?t=this.allowedDocumentCount===1?t[0].fileName:t.map(function(n){return n.fileName}):Array.isArray(t)&&!this.repeatable&&(t=t[0])),t}function dt(){var n=this.value;return Array.isArray(n)&&(n=n[0]),this.getFormulaValueFromFieldValue(n)}function gt(t){if(n.isUndefined(t)||t===null||typeof t=="object")return null;if(["datePicker","dateTimePicker","timePicker"].indexOf(this.getComponent())!==-1){if(!t||!this.dateFormat)return null;var i=moment(t,this.dateFormat.replace(/(?:[dy])/g,function(n){return n.toUpperCase()}));return i==null?null:i.format()}return t==="other"&&this.otherOption&&(t=this.otherValue),t}function ni(){var l=this.getComponent(),u,s,f,o,e,c,h,t,r;switch(l){case"radio":case"select":if(t=this.value,t&&n.isArray(t)&&t.length>0&&(t=t[0]),this.noneOption&&t==="none")return this.noneOptionScore;if(this.emptyOption&&!t)return this.emptyOptionScore;if(this.otherOption&&t==="other")return this.otherOptionScore;for(r=0;r<this.options.length;r++)if(this.options[r].value===t)return this.options[r].score;return 0;case"checkbox":if(u=0,this.value)for(s=this.value.split(","),f=0;f<s.length;f++)e=s[f],o=this.options.find(function(n){return e===n.value}),o&&o.score&&(u+=o.score);return this.none&&(u+=this.noneOptionScore),this.other&&(u+=this.otherOptionScore),u;case"multiselect":if(u=0,t=this.value,t&&n.isArray(t)&&t.length>0&&(t=t[0]),t)for(s=typeof t=="string"?t.split(","):t,f=0;f<s.length;f++)e=s[f],o=this.options.find(function(n){return e===n.value}),o&&o.score&&(u+=o.score);return u;case"numericTextInput":return e=this.value?this.value[0]:0,e===""&&(e=0),e;case"radioButtonQuestion":if(this.rowUid&&(c=i.get(this.rowUid),c&&c.sectionUid&&(h=i.get(c.sectionUid),h&&h.answers)))for(t=this.value,r=0;r<h.answers.length;r++)if(h.answers[r].value===t)return h.answers[r].score}return 0}function ti(){var n=this.dataCell.match(/(^[A-Z]+)/);return n[1]}function ii(){var n=this.dataCell.match(/^[A-Z]+(\d+)/);return parseInt(n[1])}function ri(){var n=this.scoreCell.match(/(^[A-Z]+)/);return n[1]}function ui(){var n=this.scoreCell.match(/^[A-Z]+(\d+)/);return n[1]}function fi(n){return this.dataCellLetter+(this.dataCellNumber+n)}function ei(n,t,i,r){var u=t["custom"+i],f=n[i],e=u&&u.localized||f&&f.localized||"";return r&&typeof r=="object"&&(r=r.localized),e.replace("{0}",r)}return s.prototype=Object.create(t.prototype),Object.defineProperty(s.prototype,"constructor",{value:s}),s.prototype.getFormula=b,s.prototype.getDataFormula=l,s.prototype.getRepeatDataCell=fi,s.prototype.getFormulaValueFromFieldValue=gt,s.prototype.getInputType=d,s.prototype.getResults=g,s.prototype.getFields=nt,s.prototype.getResultValue=tt,s.prototype.setResultValue=rt,s.prototype.setResultOptions=it,s.prototype.getComponent=ut,s.prototype.getParentUid=ft,s.prototype.getNumberFormat=at,s.prototype.getNumberFormatCulture=ct,s.prototype.getAutocompleteValue=vt,s.prototype.copy=bt,s.prototype.getErrorValue=ei,s.prototype.getProperties=y,s}n.module("diamantViewer").factory("diaViewerField",["diaViewerItem","diaItemStore","$cultureCode","formulaService","diaEnvironment","$settings","diaFile",t])}(window.angular),function(n){"use strict";function t(t,i,r,u,f,e,o,s,h){function c(i,r,f,e){var y=e[0],b=e[1],p=e[2],a=e[3],w=e[4],o,s,c,l,v,h;p.addField(a);i.form=y.form;i.ngForm=w;i.field=t(f.field)(i);i.field.loaded=!0;i.section=t(f.section)(i);a.field=i.field;o=i.field.getComponent();i.field.style&&(r[0].style.backgroundColor=i.field.style.backgroundColor,r[0].style.borderStyle=i.field.style.borderStyle,r[0].style.borderColor=i.field.style.borderColor,r[0].style.borderWidth=i.field.style.borderWidth+"px");s=null;switch(o){case"datePicker":case"timePicker":case"dateTimePicker":i.field.defaultType==="today"&&(i.field.default=new Date);break;case"multiselect":c=[];i.field.options.forEach(function(n){n.selected&&c.push(n.value)});s=c.join();break;case"radioButtonQuestion":i.set&&(typeof i.set.default=="string"||i.set.default instanceof String)&&(s=i.set.default)}if(s===null&&i.field.default&&(o==="datePicker"||o==="timePicker"||o==="dateTimePicker"?s=i.field.default:typeof i.field.default!="object"||Array.isArray(i.field.default)?o==="fileUpload"?s=i.field.default.map(function(n){return{uid:n.uid,fUid:n.uid,name:n.name,size:n.size,mimetype:n.mimetype,extension:n.extension,tempFileName:n.uid+n.extension,tempFile:!0,compressImage:n.compressImage,maxImageWidth:n.maxImageWidth,"default":!0}}):o!=="checkbox"&&o!=="phoneNumber"&&(s=i.field.default):s=i.field.default.localized),(i.field.value===null||!n.isDefined(i.field.value)||!n.isDefined(i.field.value[0]))&&s!==null)switch(o){case"timePicker":i.field.value=[kendo.toString(new Date(i.field.default),i.field.format)];break;case"datePicker":case"dateTimePicker":l=new Date(i.field.default);i.field.format.localized?(h=i.field.format.localized,h==="custom"&&(h=i.field.customFormat.localized),i.field.value=[kendo.toString(l,h)]):v=u.on("cultureChanged",function(){var n=i.field.format.localized;n==="custom"&&(n=i.field.customFormat.localized);i.field.value=[kendo.toString(l,n)];v()});break;case"fileUpload":i.field.preventDefault||(i.field.value=s);break;case"multiselect":i.field.value=[s];break;default:i.field.value=s}i.field.value||i.field.value===0||o!=="textInput"&&o!=="numericTextInput"||(i.field.value=null);o==="phoneNumber"&&(i.field.preferredCountries||(i.field.preferredCountries=u.list().map(function(n){return u.getCountry(n)})),i.field.country||(i.field.country=i.field.default?i.field.default:u.getCountry(u.get())))}function l(t,c,l,a){function ht(n,t){s.get().then(function(i){n.field.options=i;ut();n.field.optionsSetByConnection=!0;r(function(){n.field.value=Array.isArray(n.field.value)&&n.field.value.length>0?n.field.value.map(function(n){return n?n:t}):[t];n.field.default=t;n.showList=!0},10)},function(t){n.field.options={};t&&(n.field.globalErrors.countriesApiError=!0)})}function ct(n,i){var u,r;return n&&n.length==2&&t.field.alphaCode=="Alpha3"?(r=i.find(function(t){return t.value===n}),r&&(u=r.value2)):n&&n.length==3&&t.field.alphaCode=="Alpha2"&&(r=i.find(function(t){return t.value2===n}),r&&(u=r.value)),u?u:n}function yt(n,t){var i=[];return n&&n.forEach(function(n){i.push({value:t=="Alpha3"?n.value2:n.value,label:n.label})}),i}function ut(){t.$watch("field.options",function(){t.field.dropDownOptions.forEach(function(n){var i=v.getDropDownDataSource(t.field);n.setData(i)})});var n=i.$on("cultureChanged",function(){t.field.dropDownOptions.forEach(function(n){var i=v.getDropDownDataSource(t.field);n.setData(i)})});w.push(n)}function pt(){return new Date(1e3,0,1)}function wt(n,i,r){function o(n){var t=null;return n&&n.value&&(Array.isArray(n.value)?n.value[0]&&(t=kendo.parseDate(n.value[0],[n.dateFormat],kendo.cultures.current)):t=kendo.parseDate(n.value,[n.dateFormat],kendo.cultures.current)),t}var u,f=t.field.afterOffset||0,e;t.field.getComponent()!=="dateTimePicker"&&(f=Math.floor(f)+1);switch(n){case"today":u=new Date;u=k(u,f);break;case"field":if(!i)break;if(e=h.get(i),u=o(e),u=k(u,f),e)e.on("change",function(){u=o(e);u=k(u,f);t.afterValue=kendo.toString(u,r)})}return u!=undefined?kendo.toString(u,r):u}function bt(n,i,r){function o(n){var t=null;return n&&n.value&&(Array.isArray(n.value)?n.value[0]&&(t=kendo.parseDate(n.value[0],[n.dateFormat],kendo.cultures.current)):t=kendo.parseDate(n.value,[n.dateFormat],kendo.cultures.current)),t}var u,f=t.field.beforeOffset||0,e;t.field.getComponent()!=="dateTimePicker"&&(f=Math.floor(f)-1);switch(n){case"today":u=new Date;u=k(u,f);break;case"field":if(!i)break;if(e=h.get(i),u=o(e),u=k(u,f),e)e.on("change",function(){u=o(e);u=k(u,f);t.beforeValue=kendo.toString(u,r)})}return u!=undefined?kendo.toString(u,r):u}function k(n,t){if(!n)return n;var i=t%1,u=t-i,f=Math.round(i*24),r=moment(n);return r.add({days:u,hours:f}),r.toDate()}function kt(){return h.get(t.field.inputVerificationField)}function lt(){return t.field.style.labelWidth?t.field.style.labelWidth:v.getLabelPosition()&&v.getLabelPosition()!==0?4:12}function dt(){return v.getLabelPosition()&&v.getLabelPosition()!==0?12-lt():t.field.style.fieldWidth||12}function at(){var n=dt();return n>3&&t.field.helpView==="besideField"&&t.field.helpText.localized&&(n-=3),n}var rt=a[0],vt=a[1],g=a[2],v=a[3],nt=a[4],w=[],y=t.field.baseComponent||t.field.component,ft,d,et,ot,p,b,tt,st,it;if(f.getTemplateUrl(y).then(function(n){t.$emit("fieldLoading");t.field.templateUrl=n}),t.$on("$includeContentLoaded",function(){t.field.usedInFormula&&r(function(){t.recalculateFormulaFields(t.field.dataCell,t.field.formulaValue)},100);t.field.usedInScoreFormula&&r(function(){t.recalculateFormulaFields(t.field.scoreCell,t.field.score)},100);t.field.formula&&t.recalculateFormulaFields();t.$emit("fieldLoaded",t.field.uid)}),i.incrementFieldChangeCount(),i.$broadcast("fieldCreated",v),ft=t.$watch(function(){return!v.showOnlyInReview()||t.form.IsReview},function(t){n.isDefined(t)&&(ft(),t?c.show():c.hide())}),t.field.relationConnection){d=t.field.relationConnection.replace("Field","");t.form.IsReview&&t.field.value?e.setProperty(d,t.field.value[0]):t.field.default&&t.field.default.localized&&e.setProperty(d,t.field.default.localized);const n=t.$watch(function(){return e.getProperty(d)},function(i){i&&t.field.setResultValue(i);n()});t.$watch(function(){var n=t.field.getResultValue(!0);return Array.isArray(n)?n[0]:n},function(n,t){n!==t&&e.setProperty(d,n)})}v.getDataFormula=function(){var n=t.field.dataFormula,i,r;if(n&&t.unloadedDataCells)for(i=0;i<t.unloadedDataCells.length;i++)r=t.unloadedDataCells[i],n.includes(r)&&(n=n.replaceAll("[^:][A-Z]*"+r+"\\d*[^:]",function(n){return n.length===r.length?"''":n}));return n};v.isRequired=function(){return!!(t.field.isRequired()&&v.isVisible()&&t.field.show)};v.isVisible=function(){return!!(!t.field.isConditionalHidden()&&g.isVisible())};v.isReadonly=function(){return t.form.IsReview&&!t.form.AllowReviewEdit?!0:!!(t.field.isReadonly()&&g.isVisible())};v.showOnlyInReview=function(){return!!(t.field.showOnlyInReview||g.showOnlyInReview())};v.isDisabled=function(){return!!(t.field.isDisabled()&&v.isVisible()&&t.field.show)};v.ngModelOptions=function(){return t.field.updateOnBlur===!0?{updateOn:"blur",allowInvalid:!0}:{allowInvalid:!0}};et=i.$on("cultureChanged",function(n,i,r){var f,u;if(i!==r&&t.field.default&&t.field.value)for(f=t.field.default[r],u=0;u<t.field.value.length;u++)f===t.field.value[u]&&(t.field.value[u]=t.field.default.localized)});w.push(et);switch(y){case"checkbox":t.field.value||(ot=t.field.options.filter(function(n){return n.selected}),t.field.value=ot.map(function(n){return n.value}).join());break;case"numericTextInput":case"counter":t.$on("kendoWidgetCreated",function(n,i){i.element.is(".diamant-number-text-box")&&(i._inputWrapper[0].firstChild.id=t.field.uid+"_"+i.element.scope().$index);t.$watch(function(){return t.field&&t.field.value&&t.field.value.length>0&&t.field.value[0]?t.field.value[0]:null},function(n,i){n!==i&&t.field.trigger("change")})});t.getNumericOptions=function(u){var f=t.field.uid,e,o;return n.isDefined(u)&&(f+="_"+u),e={step:t.field.numberFormat=="n"?1:.01,format:t.field.getNumberFormat(),decimals:t.field.decimalPlaces,culture:t.field.getNumberFormatCulture(),spinners:!1,placeholder:t.field.placeholder?t.field.placeholder.localized:"",change:function(){nt[f]&&nt[f].$setDirty();nt[f+"_validation"]&&nt[f+"_validation"].$setDirty();r(function(){t.recalculateFormulaFields(t.field.dataCell,t.field.formulaValue)})}},o=i.$on("cultureChanged",function(){var i=c.find("#"+f+"[kendo-numeric-text-box]"),n=i.data("kendoNumericTextBox");n&&(n.options.culture=t.field.getNumberFormatCulture(),r(function(){n.value(t.field.value[u||0])}))}),w.push(o),e};break;case"datePicker":case"timePicker":case"dateTimePicker":t.culture=u.get();t.dateOptions={month:{empty:'<div class="k-state-disabled">#= data.value #<\/div>'},change:function(){this.element.focus()}};(y==="datePicker"||y==="dateTimePicker")&&(t.form.IsReview||(t.beforeValue=bt(t.field.before,t.field.beforeValue,t.field.dateFormat),t.afterValue=wt(t.field.after,t.field.afterValue,t.field.dateFormat)),t.dateOptions.min=pt());t.$on("kendoWidgetCreated",function(i,r){var u=r._inputWrapper.parents().eq(1).find(".input-btn-placeholder"),f,e;!r.element.is(".diamant-datepicker")||r.element.is(".diamant-time-picker")||r.element.is(".diamant-date-time-picker")?r.element.is(".diamant-time-picker")?(r._inputWrapper.find(".k-select").addClass("input-group-addon btn btn-default").removeClass("k-select").attr("aria-controls",t.field.uid+"_timeview").find(".k-icon").addClass("fal fa-clock").removeClass("k-icon k-i-clock").text(""),r._inputWrapper.find("k-icon k-i-clock").addClass("fal fa-clock").removeClass("k-icon k-i-clock").text(""),r._inputWrapper.parents().eq(1).children(".input-group-addon.btn").remove(),r._inputWrapper.find(".input-group-addon.btn").insertBefore(u)):r.element.is(".diamant-date-timepicker")&&(r._inputWrapper.find(".k-select").addClass("input-group-addon btn btn-default").removeClass("k-select").attr("aria-controls",t.field.uid+"_timeview"),r._inputWrapper.find(".k-link-time .k-icon").addClass("fal fa-clock").removeClass("k-icon k-i-clock").text(""),r._inputWrapper.find(".k-link-date .k-icon").addClass("k-icon k-i-calendar").text(""),r._inputWrapper.parents().eq(1).children(".input-group-addon.btn").remove(),r._inputWrapper.find(".input-group-addon.btn").insertBefore(u)):(r.element.removeAttr("style").attr("aria-owns",t.field.uid+"_dateview"),r._inputWrapper.find(".k-select").addClass("input-group-addon btn btn-default").removeClass("k-select").attr("aria-controls",t.field.uid+"_dateview").find(".k-icon").addClass("k-icon k-i-calendar").text(""),r._inputWrapper.parents().eq(1).children(".input-group-addon.btn").remove(),u.length>0?r._inputWrapper.find(".input-group-addon.btn").insertBefore(u):(f=r._inputWrapper.parents().eq(1).find(".k-widget k-datepicker diamant-datepicker"),r._inputWrapper.find(".input-group-addon.btn").insertBefore(f)));(y==="datePicker"||y==="dateTimePicker")&&(t.beforeValue||t.afterValue)&&(e=c.find('.k-input[data-role="datepicker"], .k-input[data-role="datetimepicker"]'),e.each(function(i,r){r=n.element(r);var f=r.data("kendoDatePicker")||r.data("kendoDateTimePicker"),u=f.options;t.beforeValue?(u.max=kendo.parseDate(t.beforeValue,[t.field.dateFormat],kendo.cultures.current),r.attr("k-max",u.max)):r.removeAttr("k-max");t.afterValue?(u.min=kendo.parseDate(t.afterValue,[t.field.dateFormat],kendo.cultures.current),r.attr("k-min",u.min)):r.removeAttr("k-min");f.setOptions(u)}))});tt=i.$on("cultureChanged",function(i,u){var f=t.culture,e;t.culture=u;e=c.find('.k-input[data-role="datepicker"], .k-input[data-role="datetimepicker"]');e.each(function(i,e){var h,o,s;e=n.element(e);h=e.data("kendoDatePicker")||e.data("kendoDateTimePicker");o={culture:u,format:t.field.dateFormat,parseFormats:[t.field.dateFormat]};t.beforeValue?(s=kendo.parseDate(t.beforeValue,[t.field.format[f]]),t.beforeValue=kendo.toString(s,t.field.dateFormat),o.max=kendo.parseDate(t.beforeValue,[t.field.dateFormat],t.culture),e.attr("k-max",o.max)):e.removeAttr("k-max");t.afterValue?(s=kendo.parseDate(t.afterValue,[t.field.format[f]]),t.afterValue=kendo.toString(s,t.field.dateFormat),o.min=kendo.parseDate(t.afterValue,[t.field.dateFormat],kendo.cultures.current),e.attr("k-min",o.min)):e.removeAttr("k-min");h.setOptions(o);r(function(){t.field.value[i]=e.val()})})});w.push(tt);break;case"countries":p=undefined;t.field.defaultValueOptions==="selectedCountry"?p=t.field.default&&typeof t.field.default=="object"?t.field.default[t.form.DefaultCultureCode]||t.field.default:t.field.default:t.field.defaultValueOptions==="formLanguage"?(p=u.getCountry(t.form.DefaultCultureCode).toUpperCase()||u.getCountry(u.get()).toUpperCase(),t.field.alphaCode="Alpha2"):t.field.defaultValueOptions==="empty"&&(p=null);o.get(t.form.Languages).then(function(n){if(n){t.field.options={};var i=n.countries,u=n.errors;u?t.field.globalErrors.countriesApiError=!0:t.field.options=yt(i,t.field.alphaCode);t.field.optionsSetByConnection=!0;ut();r(function(){t.field.value=Array.isArray(t.field.value)&&t.field.value.length>0?t.field.value.map(function(n){return n=n&&n!==t.field.default?n:p,ct(n,i)}):[ct(p,i)];t.field.default=p;t.showList=!0})}});break;case"nationalities":p=undefined;t.field.defaultValueOptions==="selectedNationality"?p=t.field.default&&typeof t.field.default=="object"?t.field.default[t.form.DefaultCultureCode]||t.field.default:t.field.default:t.field.defaultValueOptions==="formLanguage"?(p=u.getCountry(t.form.DefaultCultureCode).toUpperCase()||u.getCountry(u.get()).toUpperCase(),t.field.alphaCode="Alpha2"):t.field.defaultValueOptions==="empty"&&(p=null);ht(t,p);t.$on("cultureChanged",function(){ht(t,p)});break;case"select":ut();break;case"multiselect":t.form.Response&&t.form.Response.results&&(b=t.form.Response.results.find(function(n){return n.uid===t.field.uid}),b&&(t.field.value=b.value?b.value:t.field.value,t.field.options=b.options?b.options:t.field.options));t.addIframeHeightAttr=function(t){t.popup&&n.element(t.popup.element).attr("data-iframe-height","")};break;case"phoneNumber":tt=i.$on("cultureChanged",function(n,i){t.field.default||(t.field.country=u.getCountry(i))});w.push(tt);break;case"polling":t.poll=function(){t.field.polling||(t.field.value="Busy",t.field.polling=!0,t.field.trigger("polling"))};t.onTimeout=function(){t.field.value!=="Done"&&(t.field.value="Timeout")};t.$watch("pageController.active",function(){vt.page.order>rt.currentIndex&&(t.field.value="Busy")})}(y==="html"||y==="payment"||y==="radio"||y==="select"||y==="checkbox"||y==="multiselect")&&(t.getFieldValue=function(t){var r=h.get(t),o="",i,f,u,s,e;if(r){i=r.getResultValue();Array.isArray(i)&&(i=i[0]);switch(r.getComponent()){case"radio":case"select":if(i=="none")i=r.noneOptionLabel.localized;else if(i=="other")i=r.otherValue;else for(f=0;f<r.options.length;f++)if(i==r.options[f].value){i=n.element("<div>"+r.options[f].label.localized+"<\/div>").text();break}break;case"checkbox":case"multiselect":r.none?i=r.noneOptionLabel.localized:(u="",i&&(s=i.split(","),i="",e="",r.options.forEach(function(t){s.indexOf(t.value)!==-1&&(e=n.element("<div>"+t.label.localized+"<\/div>").text(),u+=(u?", ":"")+e)})),r.other&&(u+=(u?", ":"")+r.otherValue),i=u)}o=i}return o},t.getGroupValue=function(n){var t="";return rt.form.Group&&(t=rt.form.Group[n]),t},t.getRelationValue=function(n){var t=e.getProperty(n),i;return n=="Gender"?(i=e.getProperty("GenderEnumList").find(function(n){return n.Value===t}),i.Key):t},t.getFieldUidByKey=function(n){var t=h.get(n);return t?t.uid:null});t.field.formula&&(st=t.$watch("field.dataFormula",function(n){n&&(st(),t.recalculateFormulaFields())}));t.$watch("field.formulaValue",function(n,i){t.field.usedInFormula&&(n==null||!Array.isArray(t.field.value))&&(n===null&&(n=""),n!==i&&r(function(){t.field.formula||t.recalculateFormulaFields(t.field.dataCell,n)}))});t.$watchCollection("field.value",function(n,i){var u=i&&Array.isArray(i);t.field.usedInFormula&&n&&Array.isArray(n)&&n!==i&&r(function(){for(var e,f,o,r=0;r<n.length;r++)n[r]!==undefined&&(e=t.field.getFormulaValueFromFieldValue(u&&r<i.length?i[r]:null),f=t.field.getFormulaValueFromFieldValue(n[r]),f!=e&&(o=t.field.getRepeatDataCell(r),t.recalculateFormulaFields(o,f)));u&&i.length>n.length&&(t.updateFormulaFields(),t.recalculateFormulaFields())})});t.$watch("field.score",function(n,i){t.field.usedInScoreFormula&&(n===null&&(n=""),n!==i&&r(function(){t.field.formula||t.recalculateFormulaFields(t.field.scoreCell,n)}))});(y==="slider"||y==="rating")&&(t.field.value&&(t.field.default==undefined||t.field.default[0]==undefined)?t.field.default=n.copy(t.field.value):!t.field.value&&(t.field.default||t.field.default[0])&&(t.field.value=n.copy(t.field.default)));t.field.inputVerificationField&&(t.getInputVerificationField=kt);t.field.beforeTime&&(it=new Date(t.field.beforeTime),t.timeBefore=kendo.toString(it,"HH:mm"));t.field.afterTime&&(it=new Date(t.field.afterTime),t.timeAfter=kendo.toString(it,"HH:mm"));t.onDatechange=function(n){setTimeout(function(){t.$apply(function(){t.field.valueAsStringDummy&&(t.field.value[n]=t.field.valueAsStringDummy[n])})},0)};t.focusLastInput=function(){var t=c.find("input:last");n.isDefined(t.attr("kendo-numeric-text-box"))&&(t=t.prev(".k-formatted-value"));t&&t.length>0&&t[0].focus()};t.getLabelPositionClass=function(){var n={};return n["col-xs-"+lt()]=!0,n};t.getErrorMessageClass=function(){var n={},i;return t.form.ErrorMessageFullWidth?(i=h.get(t.field.rowUid),!i)?n:i.fields.length!==1?n:0<t.field.bootstrapOffset&&t.field.bootstrapOffset+t.field.bootstrapWidth<12?n:(n["dia-error-width-"+t.field.bootstrapWidth+"-field-width-"+at()+"-offset-"+t.field.bootstrapOffset]=!0,n):n};t.getFieldIconPositionClass=function(){var n={};return t.field.customInputIcon&&(n[t.field.customInputIcon]=!0),n};t.getFieldPositionClass=function(){var n={},i=at();return t.field.customInputIcon&&i--,n["col-sm-"+i]=!0,n};t.$on("$destroy",function(){for(var n=0,u=w.length;n<u;n++)w[n].call();g.removeField(v);r(function(){t.updateFormulaFields();t.recalculateFormulaFields()});i.incrementFieldChangeCount();i.$broadcast("fieldDeleted",v)})}return{restrict:"E",scope:!0,require:["^diaViewerForm","^^diaViewerPage","^diaViewerRow","diaViewerField","^form"],template:'<div ng-include="field.templateUrl"><\/div>',controller:"viewerFieldController",controllerAs:"fieldController",link:{pre:c,post:l}}}n.module("diamantViewer").directive("diaViewerField",["$parse","$rootScope","$timeout","$cultureCode","diaTemplateCache","diaViewerRelation","countriesService","nationalitiesService","diaItemStore",t])}(window.angular),function(n){"use strict";function t(t,i,r,u,f){function h(t,i){var o=u.all(),s,r,f,e;for(s in o)if(r=o[s],r.component==="numericTextInput"){if(r.minValidation&&r.minValidation==="field"&&r.min===t.uid&&(f=n.copy(r.value),t.value&&t.value[0]>r.value[0])){for(e of i.$$controls.filter(n=>n.$$attr.type==="number"))e.$validate();r.value=f}if(r.maxValidation&&r.maxValidation==="field"&&r.max===t.uid&&(f=n.copy(r.value),t.value&&t.value[0]<r.value[0])){for(e of i.$$controls.filter(n=>n.$$attr.type==="number"))e.$validate();r.value=f}}}function c(){e.field.trigger("load")}function l(n){return n?(n&&kendo.parseDate(n,["yyyy-MM-dd HH:mm"])==null&&(n=moment(n).format("YYYY-MM-DD HH:mm")),n):""}function a(t){var i={dataTextField:"Text",dataValueField:"Value",schema:{data:"Data",total:"Total"},dataSource:new kendo.data.DataSource,setData:function(i){var u=i?i.length:0,f=n.element("#"+e.field.uid+"_"+t+"[kendo-drop-down-list]"),r=f.data("kendoDropDownList");e.field&&e.field.showSearchBar&&u>10?(this.filter="contains",r&&r.setOptions({filter:"contains"})):(this.filter="none",r&&r.setOptions({filter:"none"}));this.dataSource.data(i);this.dataSource.filter("")},change:function(){e.field.trigger("change")}};return e.field&&(i.setData(s(e.field)),e.field.dropDownOptions[t]=i),i}function v(n){e.field.dropDownOptions.splice(n,1)}function s(n){var i=[],u,r,f,t;if(n.emptyOption&&(u=n.emptyOptionText&&n.emptyOptionText.localized?n.emptyOptionText.localized:"",i.push({Text:u,Value:""})),n.options)for(r=0,f=n.options.length;r<f;r++)t=n.options[r],i.push({Text:typeof t.label=="object"?t.label.localized:t.label,Value:t.value});return n.sortOptions&&i.sort(function(n,t){return n.Text>t.Text?1:t.Text>n.Text?-1:0}),i}function y(n){var t=Math.floor(12/n);return t<1&&(t=1),t}function p(){var u,r;e.field.repeatable&&(u=null,e.field.default&&n.isDefined(e.field.default.localized)?u=e.field.default.localized:n.isString(e.field.default)?u=e.field.default:n.isArray(e.field.value)&&e.field.options&&(r=null,e.field.component=="multiselect"&&(r=""),e.field.options.forEach(function(n){n.selected&&(r===""&&(r=[]),r.push(n.value))}),u=r),e.field.getComponent()==="phoneNumber"?e.field.value.push(""):e.field.value.push(u),e.field.repetitions=e.field.repetitions+1,i(t.focusLastInput))}function w(n){e.field.value.splice(n,1);e.field.repetitions=e.field.repetitions-1}function b(){var n=50;return f.maxNumberOfFieldRepetitions&&(n=f.maxNumberOfFieldRepetitions),n}function k(){return e.field.style&&e.field.style.labelPosition!==null?e.field.style.labelPosition:t.form.LabelPosition}function d(){return e.field.style&&e.field.style.labelColor!==null?e.field.style.labelColor:null}function o(n,t,i){t&&t.$setViewValue&&t.$setViewValue(i);n.currentTarget.value=i}function g(n,t){var i=n.currentTarget.value,r=n.currentTarget.selectionStart;switch(e.field.transformation){case"capitalizeFirst":n.currentTarget.selectionStart===0&&(o(n,t,String.fromCharCode(n.charCode).toUpperCase()+i.slice(0,n.currentTarget.selectionStart)+i.slice(n.currentTarget.selectionEnd)),n.preventDefault(),n.currentTarget.setSelectionRange(r+1,r+1));break;case"capitalizeAll":o(n,t,i.slice(0,n.currentTarget.selectionStart)+String.fromCharCode(n.charCode).toUpperCase()+i.slice(n.currentTarget.selectionEnd));n.preventDefault();n.currentTarget.setSelectionRange(r+1,r+1);break;case"capitalizeWords":(n.currentTarget.selectionStart===0||i[n.currentTarget.selectionStart-1].match(/[^a-zA-Z0-9_\u00C0-\u024F\u1E00-\u1EFF]/))&&(o(n,t,i.slice(0,n.currentTarget.selectionStart)+String.fromCharCode(n.charCode).toUpperCase()+i.slice(n.currentTarget.selectionEnd)),n.preventDefault(),n.currentTarget.setSelectionRange(r+1,r+1));break;case"lowerCaseAll":o(n,t,i.slice(0,n.currentTarget.selectionStart)+String.fromCharCode(n.charCode).toLowerCase()+i.slice(n.currentTarget.selectionEnd));n.preventDefault();n.currentTarget.setSelectionRange(r+1,r+1)}}function nt(n){if(typeof n.currentTarget.value[n.currentTarget.selectionEnd-1]!="undefined"&&!n.currentTarget.value[n.currentTarget.selectionEnd-1].match(/[^a-zA-Z0-9_\u00C0-\u024F\u1E00-\u1EFF]/))switch(e.field.transformation){case"capitalizeFirst":var t=n.currentTarget.value,r=t.replace(/(\s*).[\s\S]*/,"$1"),i=t.replace(/\s*(.)[\s\S]*/,"$1"),u=t.replace(/\s*.([\s\S]*)/,"$1");i||(i="");n.currentTarget.value=r+i.toUpperCase()+u;break;case"capitalizeAll":n.currentTarget.value&&(n.currentTarget.value=n.currentTarget.value.toUpperCase());break;case"capitalizeWords":n.currentTarget.value=n.currentTarget.value.replace(/\b([^a-z_\u00C0-\u024F\u1E00-\u1EFF])|^([a-z_\u00C0-\u024F\u1E00-\u1EFF])/g,function(n,t,i){return typeof t!="undefined"?t.toUpperCase():i.toUpperCase()});break;case"lowerCaseAll":n.currentTarget.value&&(n.currentTarget.value=n.currentTarget.value.toLowerCase())}}function tt(n){if(!n||n(e.field,e))return e.field}function it(n){e.field.value=n}function rt(n){e.field.value=n;e.field.trigger("change")}var e=this;e.toISOString=l;e.onLoad=c;e.getDropDownDataSource=s;e.colAmount=y;e.addNewValue=p;e.removeValue=w;e.autoFormat=g;e.autoFormatKeyup=nt;e.getFields=tt;e.getLabelPosition=k;e.getLabelColor=d;e.getDropDownOption=a;e.removeDropdownOption=v;e.setCounterValue=it;e.setBarCodeValue=rt;e.checkNumericFieldIsReferenced=h;e.getMaxNumberOfFieldRepetitions=b;e.loaded=!0}n.module("diamantViewer").controller("viewerFieldController",["$scope","$timeout","$cultureCode","diaItemStore","$settings",t])}(window.angular),function(n){"use strict";function t(n,t){return{restrict:"E",transclude:!0,replace:!0,templateUrl:n+"/Views/field-base-template.html"+t,link:function(){}}}n.module("diamantViewer").directive("diaViewerFieldBase",["viewerRoot","urlPostFix",t])}(window.angular);angular.module("diamantViewer").directive("diaPassword",[function(){var n=new RegExp(/\d/),t=new RegExp(/[a-z]/),i=new RegExp(/[A-Z]/),r=new RegExp(/[!@#\$%\^\&*\)\(+=.,_\-<>\/\\\[\]\{\}\?:;|~'`"]/);return{restrict:"A",require:"ngModel",link:function(u,f,e,o){function s(t,i){var r=t||i;return o.$isEmpty(r)||!u.$eval(e.oneNumber)||n.test(r)}function h(n,i){var r=n||i;return o.$isEmpty(r)||!u.$eval(e.oneLowercase)||t.test(r)}function c(n,t){var r=n||t;return o.$isEmpty(r)||!u.$eval(e.oneUppercase)||i.test(r)}function l(n,t){var i=n||t;return o.$isEmpty(i)||!u.$eval(e.specialCharacter)||r.test(i)}function a(n){var t=f[0];t.type==="password"?(t.type="text",n.passwordViewIcon="fas fa-eye-slash"):(t.type="password",n.passwordViewIcon="fas fa-eye")}u.viewHidePassword=a;e.disableValidation!=undefined&&e.disableValidation||(o.$validators.oneNumber=s,o.$validators.oneLowercase=h,o.$validators.oneUppercase=c,o.$validators.specialCharacter=l)}}}]).directive("diaBsn",[function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){function u(n,t){var i=n||t,u,f,e;return i&&i.length==9&&!isNaN(Number(i))&&(u=0,isNaN(Number(i[0]))||(u+=Number(i[0])*9),isNaN(Number(i[1]))||(u+=Number(i[1])*8),isNaN(Number(i[2]))||(u+=Number(i[2])*7),isNaN(Number(i[3]))||(u+=Number(i[3])*6),isNaN(Number(i[4]))||(u+=Number(i[4])*5),isNaN(Number(i[5]))||(u+=Number(i[5])*4),isNaN(Number(i[6]))||(u+=Number(i[6])*3),isNaN(Number(i[7]))||(u+=Number(i[7])*2),isNaN(Number(i[8]))||(u+=Number(i[8])*-1),u>0&&(f=u/11,e=f%1,e==0))?!0:r.$isEmpty(i)}r.$validators.bsnNumber=u}}}]).directive("diaVat",[function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){function e(n){if(n&&n.length>=2){var t=n.substring(0,2).toUpperCase();if(u[t])return u[t]}return[]}function o(n){var t,i,u;return n?(t=n.toUpperCase().replace(/\s+/g,""),i=f(t),i&&(u=t.replace(new RegExp(i.validator),i.transform),r.$setViewValue(u),r.$render()),t):""}function s(n){var t=f(n);return t?n.replace(new RegExp(t.validator),t.transform):n}function f(n){for(var i=e(n),t=0;t<i.length;t++)if(n.toUpperCase().replace(/\s+/g,"").match(new RegExp(i[t].validator)))return i[t];return null}function h(n,t){var i=n||t;return r.$isEmpty(i)||f(i)!==null}var u={};u.AT=[{validator:"^(ATU[0-9A-Z]{8})$",transform:"$1"}];u.BE=[{validator:"^(BE0[0-9A-Z]{9})$",transform:"$1"}];u.CY=[{validator:"^(CY[0-9]{8}[A-Z])$",transform:"$1"}];u.DE=[{validator:"^(DE[0-9]{9})$",transform:"$1"}];u.EE=[{validator:"^(EE[0-9]{9})$",transform:"$1"}];u.EL=[{validator:"^(EL[0-9]{9})$",transform:"$1"}];u.ES=[{validator:"^(ES[0-9A-Z][0-9]{7}[A-Z]|ES[A-Z][0-9]{7}[0-9A-Z])$",transform:"$1"}];u.FI=[{validator:"^(FI[0-9]{8})$",transform:"$1"}];u.HR=[{validator:"^(HR[0-9]{11})$",transform:"$1"}];u.HU=[{validator:"^(HU[0-9]{8})$",transform:"$1"}];u.IE=[{validator:"^(IE[0-9][*+A-Z0-9][0-9]{5}[A-Z])$",transform:"$1"}];u.IT=[{validator:"^(IT[0-9]{11})$",transform:"$1"}];u.LU=[{validator:"^(LU[0-9]{8})$",transform:"$1"}];u.LV=[{validator:"^(LV[0-9]{11})$",transform:"$1"}];u.MT=[{validator:"^(MT[0-9]{8})$",transform:"$1"}];u.NL=[{validator:"^(NL[0-9A-Z]{9}B[0-9]{2})$",transform:"$1"}];u.PL=[{validator:"^(PL[0-9]{10})$",transform:"$1"}];u.PT=[{validator:"^(PT[0-9]{9})$",transform:"$1"}];u.RO=[{validator:"^(RO[0-9]{2,10})$",transform:"$1"}];u.SE=[{validator:"^(SE[0-9]{12})$",transform:"$1"}];u.SI=[{validator:"^(SI[0-9A-Z]{8})$",transform:"$1"}];u.SK=[{validator:"^(SK[0-9A-Z]{10})$",transform:"$1"}];u.BG=[{validator:"^(BG[0-9]{9,10})$",transform:"$1"}];u.CZ=[{validator:"^(CZ[0-9]{8,10})$",transform:"$1"}];u.DK=[{validator:"^(DK[0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})$",transform:"$1 $2 $3 $4"}];u.FR=[{validator:"^(FR[0-9A-Z]{2})([0-9]{9})$",transform:"$1 $2"}];u.GB=[{validator:"^(GB[0-9]{3})([0-9]{4})([0-9]{2})$",transform:"$1 $2 $3"},{validator:"^(GB[0-9]{3})([0-9]{4})([0-9]{2})([0-9]{3})$",transform:"$1 $2 $3 $4"},{validator:"^(GBGD[0-9]{3})$",transform:"$1"},{validator:"^(GBHA[0-9]{3})$",transform:"$1"}];u.XI=[{validator:"^(XI[0-9]{3})([0-9]{4})([0-9]{2})$",transform:"$1 $2 $3"},{validator:"^(XI[0-9]{3})([0-9]{4})([0-9]{2})([0-9]{3})$",transform:"$1 $2 $3 $4"},{validator:"^(XIGD[0-9]{3})$",transform:"$1"},{validator:"^(XIHA[0-9]{3})$",transform:"$1"}];u.LT=[{validator:"^(LT[0-9]{9})$",transform:"$1"},{validator:"^(LT[0-9]{12})$",transform:"$1"}];r.$parsers.push(o);r.$formatters.push(s);r.$validators.pattern=h}}}]).directive("stringToNumber",function(){return{require:"ngModel",link:function(n,t,i,r){r.$parsers.push(function(n){return""+n});r.$formatters.push(function(n){return parseFloat(n)})}}}).directive("diaTransformation",function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){function e(n,t,i){return/[a-z]/i.test(t)&&/[a-z]/i.test(i)?i===i.toUpperCase()?n+=t.toUpperCase():i===i.toLowerCase()&&(n+=t.toLowerCase()):/[0-9]/i.test(t)&&/[0-9]/i.test(i)&&(n+=t),n}function o(n){for(var t,f,i="",s=Math.min(n.length,u.length),r=0,o=0;r<s;r++)if(t=u.charAt(r),f=n.charAt(o),/[a-z0-9]/i.test(t))i=e(i,f,t),o++;else if(t===f)i+=t,o++;else if(/[a-z0-9]/i.test(f)){while(!/[a-z0-9]/i.test(t)&&r<u.length)i+=t,r++,t=u.charAt(r);i=e(i,f,t);o++}return i}function s(n,t){return n+t.slice(n.length)}var u,f;n.$watch(i.diaTransformation,function(e){u=e;u?f||(f=n.$watch(function(){return r.$viewValue},function(f){var e=o(f);r.$setViewValue(e);t.val(e);angular.isDefined(i.diaTransformationPlaceholder)&&n.$eval(i.diaTransformationPlaceholder+' = "'+s(e,u)+'";')})):f&&(f(),f=null)})}}}).directive("diamantComboBox",["$compile","$locale",function(){return{restrict:"AE",require:["ngModel","^form","?^ngModelOptions"],link:function(n,t,i){var f=n,e=angular.extend({},f.$eval(i.kOptions)),u="No items found",r=null;i.kDataSource==undefined&&i.url!=undefined&&(r=new kendo.data.DataSource({transport:{read:{async:!0,url:i.url,dataType:"json"}}}));n.$on("kendoWidgetCreated",function(n,i){i.element.data("kendoComboBox")&&angular.element(i.element)[0]===angular.element(t)[0]&&(i.dataSource.bind("change",function(){var n=this.data();n.length==0&&i.span!=undefined?i.span&&(i.span.text(u),angular.element(t)[0].disabled=!0,angular.element(t).attr("ng-disabled",!0)):angular.element(t)[0].disabled=!1}),i.options.noItemsFoundLabel!=undefined&&(u=i.options.noItemsFoundLabel),r!=null&&i.setDataSource(r))})}}}]).directive("validateDiamantDate",["$timeout",function(){return{restrict:"A",require:"?ngModel",link:function(n,t,i,r){if(r){var u=[],f=function(t,i){u=[];t&&angular.isString(t)&&t.length>0&&(t=Array.parse(t));angular.isArray(t)&&(u=u.concat(t));i&&angular.isString(i)&&i.length>0&&(i=(i||"").length&&(i[0]=="'"||i[0]=='"')?i.substr(1):i,i=(i||"").length&&(i[i.length-1]=="'"||i[i.length-1]=='"')?i.substr(0,i.length-1):i,i=(i||"").indexOf("{{")==0?i.substr(2,i.length-4):i,i=n.$eval(i),u.push(i));r.$validate()};n.$watchCollection(i.kParseFormats,function(n){f(n,t.attr("k-format"))});i.$observe("kFormat",function(t){f(n.$eval(i.kParseFormats),t)});f(n.$eval(i.kParseFormats),t.attr("k-format"));r.$validators.diamantDate=function(n,t){var i=n||t,f;return r.$isEmpty(i)||angular.isUndefined(u)||!angular.isArray(u)||u.length===0?!0:(f=kendo.parseDate(i,u,kendo.cultures.current),angular.isDate(f))?u.some(function(n){return kendo.toString(f,n)===i}):!1};n.field.after&&(r.$validators.dateAfter=function(t,i){var e=t||i,o,f;return r.$isEmpty(e)?!0:n.afterValue!=undefined&&(o=kendo.parseDate(e,u,kendo.cultures.current),f=kendo.parseDate(n.afterValue,u,kendo.cultures.current),f)?o>=f:!0});n.field.before&&(r.$validators.dateBefore=function(t,i){var e=t||i,o,f;return r.$isEmpty(e)?!0:n.beforeValue!=undefined&&(o=kendo.parseDate(e,u,kendo.cultures.current),f=kendo.parseDate(n.beforeValue,u,kendo.cultures.current),f)?o<=f:!0})}}}}]).directive("diamantDatepicker",["$locale","$compile","$parse","$timeout",function(n,t){return{restrict:"A",require:["^form","?ngModel"],terminal:!0,priority:380,compile:function(n,i){if(!i.hasOwnProperty("ngModel"))throw"ng-model not defined";return n.attr("kendo-date-picker","").removeAttr("diamant-datepicker").removeAttr("data-diamant-datepicker").addClass("diamant-datepicker"),{pre:function(n,t){n.$on("kendoWidgetCreated",function(n,i){angular.element(i.element)[0]===angular.element(t)[0]&&i.element.data("kendoDatePicker")&&(t.removeAttr("style"),i._inputWrapper.addClass("input-group").find(".k-select").addClass("input-group-addon btn btn-default").removeClass("k-select"))})},post:function(n,i){t(i)(n)}}}}}]).directive("validateDiamantDatetime",["$timeout",function(){return{restrict:"A",require:"?ngModel",link:function(n,t,i,r){function f(n){return n.getHours()==0&&n.getMinutes()==0?1440:n.getHours()*60+n.getMinutes()}if(r){var u=[],e=function(t,i){u=[];t&&angular.isString(t)&&t.length>0&&(t=Array.parse(t));angular.isArray(t)&&(u=u.concat(t));i&&angular.isString(i)&&i.length>0&&(i=(i||"").length&&(i[0]=="'"||i[0]=='"')?i.substr(1):i,i=(i||"").length&&(i[i.length-1]=="'"||i[i.length-1]=='"')?i.substr(0,i.length-1):i,i=(i||"").indexOf("{{")==0?i.substr(2,i.length-4):i,i=n.$eval(i),u.push(i));r.$validate()};n.$watchCollection(i.kParseFormats,function(n){e(n,t.attr("k-format"))});i.$observe("kFormat",function(t){e(n.$eval(i.kParseFormats),t)});e(n.$eval(i.kParseFormats),t.attr("k-format"));r.$validators.validateDiamantDatetime=function(n,t){var i=n||t,f;return r.$isEmpty(i)||angular.isUndefined(u)||!angular.isArray(u)||u.length===0?!0:(f=kendo.parseDate(i,u,kendo.cultures.current),angular.isDate(f))?u.some(function(n){return kendo.toString(f,n)===i}):!1};n.field.after&&(r.$validators.dateAfter=function(t,i){var e=t||i,o,f;return r.$isEmpty(e)?!0:n.afterValue!=undefined&&(o=kendo.parseDate(e,u,kendo.cultures.current),f=kendo.parseDate(n.afterValue,u,kendo.cultures.current),f)?o>f:!0});n.field.before&&(r.$validators.dateBefore=function(t,i){var e=t||i,o,f;return r.$isEmpty(e)?!0:n.beforeValue!=undefined&&(o=kendo.parseDate(e,u,kendo.cultures.current),f=kendo.parseDate(n.beforeValue,u,kendo.cultures.current),f)?o<f:!0});n.field.afterTime&&(r.$validators.timeAfter=function(t,i){var e=t||i,o,s;return r.$isEmpty(e)?!0:(o=f(new Date(n.field.afterTime)),s=f(kendo.parseDate(e,u,kendo.cultures.current)),s>=o)});n.field.beforeTime&&(r.$validators.timeBefore=function(t,i){var e=t||i,o,s;return r.$isEmpty(e)?!0:(o=f(new Date(n.field.beforeTime)),s=f(kendo.parseDate(e,u,kendo.cultures.current)),s<=o)})}}}}]).directive("diamantDateTimepicker",["$locale","$compile","$parse","$timeout",function(n,t){return{restrict:"A",require:["^form","?ngModel"],terminal:!0,priority:380,compile:function(n,i){if(!i.hasOwnProperty("ngModel"))throw"ng-model not defined";return n.attr("kendo-date-time-picker","").removeAttr("diamant-date-timepicker").removeAttr("data-diamant-date-timepicker").addClass("diamant-date-timepicker"),{pre:function(n,t){n.$on("kendoWidgetCreated",function(i,r){angular.element(r.element)[0]===angular.element(t)[0]&&r.element.data("kendoDateTimePicker")&&(t.removeAttr("style"),r._inputWrapper.addClass("input-group").find(".k-select").addClass("input-group-addon btn btn-default").removeClass("k-select"));var u=n.$eval("field");u.afterTime&&(r.timeView.options.min=new Date(u.afterTime));u.beforeTime&&(r.timeView.options.max=new Date(u.beforeTime))})},post:function(n,i){t(i)(n)}}}}}]).directive("validateDiamantTime",[function(){return{restrict:"A",require:"?ngModel",link:function(n,t,i,r){function f(n){return n.getHours()==0&&n.getMinutes()==0?1440:n.getHours()*60+n.getMinutes()}if(r){var u=[],e=function(t,i){u=[];t&&angular.isString(t)&&t.length>0&&(t=Array.parse(t));angular.isArray(t)&&(u=u.concat(t));i&&angular.isString(i)&&i.length>0&&(i=(i||"").length&&(i[0]=="'"||i[0]=='"')?i.substr(1):i,i=(i||"").length&&(i[i.length-1]=="'"||i[i.length-1]=='"')?i.substr(0,i.length-1):i,i=(i||"").indexOf("{{")==0?i.substr(2,i.length-4):i,i=n.$eval(i),u.push(i));r.$validate()};n.$watchCollection(i.kParseFormats,function(n){e(n,t.attr("k-format"))});i.$observe("kFormat",function(t){e(n.$eval(i.kParseFormats),t)});e(n.$eval(i.kParseFormats),t.attr("k-format"));r.$validators.validateDiamantTime=function(n,t){var i=n||t,f;return r.$isEmpty(i)||angular.isUndefined(u)||!angular.isArray(u)||u.length===0?!0:(f=kendo.parseDate(i,u,kendo.cultures.current),angular.isDate(f))?u.some(function(n){return kendo.toString(f,n)===i}):!1};n.field.afterTime&&(r.$validators.timeAfter=function(t,i){var e=t||i,o,s;return r.$isEmpty(e)?!0:(o=f(new Date(n.field.afterTime)),s=f(kendo.parseDate(e,u,kendo.cultures.current)),s>=o)});n.field.beforeTime&&(r.$validators.timeBefore=function(t,i){var e=t||i,o,s;return r.$isEmpty(e)?!0:(o=f(new Date(n.field.beforeTime)),s=f(kendo.parseDate(e,u,kendo.cultures.current)),s<=o)})}}}}]).directive("diamantTimepicker",["$locale","$compile","$parse","$timeout",function(n,t){return{restrict:"A",require:["^form","?ngModel"],terminal:!0,priority:381,compile:function(n,i){if(!i.hasOwnProperty("ngModel"))throw"ng-model not defined";return n.attr("kendo-time-picker","").removeAttr("diamant-timepicker").removeAttr("data-diamant-timepicker").addClass("diamant-time-picker"),{pre:function(n,t){n.$on("kendoWidgetCreated",function(i,r){$(r.element)[0]===$(t)[0]&&r.element.data("kendoTimePicker")&&r._inputWrapper.addClass("input-group").find(".k-select").addClass("input-group-addon btn btn-default").removeClass("k-select");var u=n.$eval("field");u.afterTime&&(r.timeView.options.min=new Date(u.afterTime));u.beforeTime&&(r.timeView.options.max=new Date(u.beforeTime))})},post:function(n,i){t(i)(n)}}}}}]).directive("diamantVerifySet",["diaItemStore","$sce",function(){function t(t,u,f,e){function l(){var r,h,l,a,f,e,u,c,i,v;if(s||(s="before"),s==="before"){if(h=function(t){if(!t.show)return!1;var i=t.baseComponent||t.component;return n.indexOf(i)===-1},l=function(n){return t.field.uid==n.uid},r=o.getFields(h,l),a=r.some(function(n){return n.uid.includes("_")}),!a){for(f=[],allFields=o.getFields(h),i=0;i<r.length;i++)if(r[i].uid===t.field.uid)break;else f.push(r[i]);for(i=0;i<allFields.length;i++)for(e=0;e<f.length;e++)allFields[i].uid.includes(f[e].uid+"_")&&r.push(allFields[i])}}else u=t.field.verifyFieldSelection||[],typeof u=="string"&&(u=u.replace(/^,+|,+$/,"").split(",")),r=o.getFields(function(t){var f,r,i;if(!t.show)return!1;for(f=t.baseComponent||t.component,r=!1,i=0;i<u.length;i++)if(t.uid.includes(u[i])){r=!0;break}return(u.indexOf(t.uid)!==-1||r)&&n.indexOf(f)===-1});for(c=[],i=0;i<r.length;i++)v=r[i].baseComponent||r[i].component,v!="verify"&&r[i].show&&c.push(r[i]);return c}var v=e[0],a=e[1],o=e[2],c=o.ngForm,s=t.field.verifySelector,h=!1;t.getCheckFieldContent=i;t.compileHtml=r;t.$watch(function(){return a.active},function(n){t.fields=n?l():null;h=n});t.$on("fieldCreated",function(){h&&(t.fields=l())});t.$on("fieldDeleted",function(n,i){if(h){var r=t.fields.indexOf(i.field);r!==-1&&t.fields.splice(r,1)}});t.isValid=function(n){var r,t,i,u;for(r in c)if(t=c[r],typeof t=="object"&&t.hasOwnProperty("$$parentForm")){if(angular.isDefined(n.repeatable)&&Array.isArray(n.value)){for(i=0,u=n.value.length;i<u;i++)if(t[n.uid+"_"+i]&&t[n.uid+"_"+i].$invalid)return!1;return!0}if(t[n.uid+"_0"])return t[n.uid+"_0"].$valid;if(t[n.uid])return t[n.uid].$valid}return!1}}function i(n){var a=n.baseComponent||n.component,l,o,f,s,i,e,h,u,c,t,r,v,y;switch(a){case"radio":for(i=[],t=0;t<n.options.length;t++)n.options[t].value===n.value&&i.push(n.options[t].label.localized);return i;case"checkbox":case"confirm":if(n.baseComponent=="confirm"||n.component=="confirm")return n.value?['<span class="fas fa-check"><\/span>']:[];if(i=[],n.value)for(l=n.value.split(","),o=0;o<l.length;o++)for(f=0;f<n.options.length;f++)n.options[f].value===l[o]&&i.push(n.options[f].label.localized);return n.other&&i.push(n.otherValue),i;case"select":case"countries":case"nationalities":for(i=[],u=0;u<n.value.length&&n.options;u++)for(t=0;t<n.options.length;t++)n.options[t].value==n.value[u]&&i.push(n.options[t].label.localized);return i;case"fileUpload":if(i=[],s=0,n.value)for(t=0;t<n.value.length;t++)i.push((n.value[t].size/1024).toFixed(2)+" KB "+n.value[t].name),s+=n.value[t].size;return s>0&&i.push("("+(s/1048576).toFixed(2)+" MB)"),i;case"multiselect":for(i=[],r=[],t=0;t<n.value.length;t++)n.value[t]&&r.push(n.value[t].split(","));for(e=0;e<r.length;e++){for(h=[],u=0;u<r[e].length;u++)for(t=0;t<n.options.length;t++)n.options[t].value===r[e][u]&&h.push(n.options[t].label.localized);h.length>0&&i.push(h.join(", "))}return i;case"signature":if(n.value)return n.value.fileData?['<img ng-src="'+n.value.fileData+'"/>']:[n.value.originalFileName];break;case"passwordInput":case"relationVerification":if(c="",n.value&&n.value.length&&n.value[0]!=undefined){for(t=0;t<n.value[0].length;t++)c+="•";return[c]}return c;default:return r=n.getResultValue(),Array.isArray(r)||(r=[r]),a==="numericTextInput"&&(v=n.getNumberFormat(),y=n.getNumberFormatCulture(),r=r.map(function(n){return kendo.toString(n,v,y)})),r}}function r(n){var t=n.baseComponent||n.component;return["signature","checkbox","select","confirm","radio"].includes(t)?!0:!1}var n=["html","calendar","textAreaLog","genericRedirection","button","polling","qrcode","redirect","video","fileDownload","image","redirect","scoreOverview"];return{restrict:"E",require:["^diaViewerField","^diaViewerPage","^diaViewerForm"],link:t}}]).directive("diamantScoreOverview",["diaItemStore",function(){function n(n,i,r,u){function h(){var t,r,u,i,o;for(e||(e="before"),e==="before"?t=f.getFields(function(n){var t=n.baseComponent||n.component;return t==="radio"||t==="checkbox"||t==="select"||t==="multiselect"||t==="radioButtonQuestion"||t==="scoreOverview"},function(t){return n.field.uid===t.uid}):(r=n.field.scoreOverviewFieldSelection||[],typeof r=="string"&&(r=r.replace(/^,+|,+$/,"").split(",")),t=f.getFields(function(n){var t=n.baseComponent||n.component;return r.indexOf(n.uid)!==-1&&(t==="radio"||t==="checkbox"||t==="select"||t==="multiselect"||t==="radioButtonQuestion")})),u=[],i=0;i<t.length;i++)o=t[i].baseComponent||t[i].component,o!=="scoreOverview"&&u.push(t[i]);return u}var l=u[0],c=u[1],f=u[2],s=f.ngForm,e=n.field.scoreOverviewSelector,o=!1;n.getCheckFieldContent=t;n.$watch(function(){return c.active},function(t){n.fields=t?h():null;o=t});n.$on("fieldCreated",function(){o&&(n.fields=h())});n.$on("fieldDeleted",function(t,i){if(o){var r=n.fields.indexOf(i.field);r!==-1&&n.fields.splice(r,1)}});n.isValid=function(n){var r,t,i,u;for(r in s)if(t=s[r],typeof t=="object"&&t.hasOwnProperty("$$parentForm")){if(angular.isDefined(n.repeatable)&&Array.isArray(n.value)){for(i=0,u=n.value.length;i<u;i++)if(t[n.uid+"_"+i]&&t[n.uid+"_"+i].$invalid)return!1;return!0}if(t[n.uid+"_0"])return t[n.uid+"_0"].$valid;if(t[n.uid])return t[n.uid].$valid}return!1}}function t(n){var t=n.score;return[t]}return{restrict:"E",require:["^diaViewerField","^diaViewerPage","^diaViewerForm"],link:n}}]).directive("diamantUpload",["$timeout","diaViewerFileService","mediaFileService",function(n,t,i){function u(u,f,e,o){function b(n){n.forEach(function(n){if(r.includes(n.extension)&&n.rawFile){var t=new FileReader;t.onloadend=function(){var t=this.result;u.$apply(function(){n.dataUrl=t})};t.readAsDataURL(n.rawFile)}})}function y(n){var r=n.fUid||n.uid,t,f;let i=u.field.getResultValue();for(t=0,f=i.length;t<f;t++){if(n.tempFile&&i[t].uid===r)return i.splice(t,1),!0;if(n.tempFile||i[t].fileName!==r){if(!n.tempFile&&n.name===u.htmlUnescape(i[t].name))return i.splice(t,1),!0}else return i.splice(t,1),!0}return!1}function k(n){return/["<>|\0\u0001\u0002\u0003\u0004\u0005\u0006\b\t\n\v\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f:*?\\/]/.test(n.name)?!0:/\.+\.[a-zA-Z0-9]+$/g.test(n.name)}var s=o[0],c=o[1],a=u.form.FormDefinitionId,v=u.form.FormDefinitionVersionId,p=u.field.allowedExtensions.replace(/\s/g,"").split(","),w=u.field.allowedSize*1048576,l,h;u.messages={fileName:!1,extension:!1,fileSize:!1,documentCount:!1};s.$validators.required&&u.$eval(e.ngRequired)&&(l=u.field.getResultValue(),l&&n(function(){s.$setValidity("required",l.length>0)}));h=u.field.getResultValue();u.$watch("field.getResultValue()",function(n){var t=angular.element("#upload"+u.field.uid).data("kendoUpload"),i;n&&n.length!==0?n!==h&&(h=n.filter(function(n){return angular.isDefined(n)&&n!==null}).map(function(n){if(n){var t=n.fileName||n.tempFileName,i=n.fileName?n.fileName:n.uid,r=t.substring(t.lastIndexOf("."));return{fUid:i,fileName:n.fileName,name:n.name,size:n.size,extension:r}}}),i=t.getFiles(),h.forEach(function(n){var r=n.fileName||n.tempFileName;if(r){var u=n.fileName?n.fileName:n.uid,f=r.substring(r.lastIndexOf(".")),t=i.find(function(t){return t.name===n.name});t&&(t.fUid=u,t.fileName=n.fileName,t.name=n.name,t.size=n.size,t.extension=f,t.tempFile=!!n.tempFileName)}})):(h=[],t&&t.clearAllFiles())});u.fileUploadOptions={async:{autoUpload:!0,saveUrl:t.uploadUrl,removeUrl:t.removeUrl,saveField:"files"},template:'<div class="file-upload">\t<div ng-if=":: field.previewImages">\t\t<img ng-src="{{getImageSource(files[0])}}"/>\t<\/div>\t <span class="file-name">{{:: htmlUnescape("#=name#") || file }}<\/span>\t <span class="file-size">{{:: #=size# | fileSize }}<\/span>\t <span class="far fa-sync fa-spin" ng-show="files[0].status === \'busy\'"><\/span>    <button type="button" class="k-upload-action" ng-hide="fieldController.isReadonly()"><\/button>\t <button type="button" class="k-button" style="border:none" ng-click="downloadFile(files[0])">    <span class="k-icon k-i-download" ><\/span>\t <\/button><\/div>',files:h,select:function(n){if(c.isReadonly())return n.preventDefault(),!1;s.$setDirty();u.clearErrors();var i=u.field.getResultValue()||[],r=n.files.length+i.length;return u.field.allowedDocumentCount&&r>u.field.allowedDocumentCount?(n.preventDefault(),u.setError("documentCount"),u.$apply(),!1):t.select(n)},upload:function(n){if(c.isReadonly())return n.preventDefault(),!1;if(k(n.files[0]))return n.preventDefault(),u.setError("fileName"),u.$apply(),!1;if(p.indexOf(n.files[0].extension.toLowerCase())===-1)return n.preventDefault(),u.setError("extension"),u.$apply(),!1;if(n.files[0].size>w)return n.preventDefault(),u.setError("fileSize"),u.$apply(),!1;var i=u.field.getResultValue();if(u.field.allowedDocumentCount&&i&&i.length>=u.field.allowedDocumentCount)return n.preventDefault(),u.setError("documentCount"),u.$apply(),!1;if(n.data={fileUid:n.files[0].uid,fieldUid:u.field.uid,formDefinitionId:a,formDefinitionVersionId:v},!t.upload(n))return!1;n.files[0].status="busy";s.$setValidity("busy",!1);u.$apply()},remove:function(n){if(n.files[0].name=u.htmlUnescape(n.files[0].name),c.isReadonly())return n.preventDefault(),!1;let i=n.files[0].fUid||n.files[0].uid;if(n.data={fileUid:i,formDefinitionId:a,formDefinitionVersionId:v},!t.remove(n))return!1;if(n.files[0].default){if(y(n.files[0])){if(n.sender.clearFileByUid(n.files[0].uid),s.$validators.required&&u.$eval(e.ngRequired)){let n=u.field.getResultValue();s.$setValidity("required",n.length>0)}s.$setDirty();u.$apply()}return n.preventDefault(),!1}},error:function(n){n.files[0].status="failed";u.$apply()},success:function(n){var i=n.files[0],f=i.uid+i.extension,r=u.field.getResultValue();return Array.isArray(r)||(r=[],u.field.setResultValue(r)),n.operation==="upload"?(i.fUid=i.uid,i.status="success",i.tempFile=!0,r.push({uid:i.uid,name:i.name,mimetype:i.rawFile?i.rawFile.type:undefined,tempFileName:f,size:i.size,addToFileName:u.field.addToFileName,compressImage:u.field.compressImage,maxImageWidth:u.field.maxImageWidth})):n.operation==="remove"&&y(i),s.$validators.required&&u.$eval(e.ngRequired)&&s.$setValidity("required",r.length>0),u.field.previewImages&&b(n.files),s.$setDirty(),u.$apply(),t.success(n)},complete:function(n){return s.$setValidity("busy",!0),u.$apply(),t.complete(n)},localization:{select:u.field.buttonText.localized}};u.clearErrors=function(){u.clearError("fileName");u.clearError("documentCount");u.clearError("extension");u.clearError("fileSize")};u.clearError=function(n){u.messages[n]=!1};u.setError=function(n){u.messages[n]=!0};u.hasMessage=function(){return u.messages.fileName||u.messages.documentCount||u.messages.extension||u.messages.fileSize};u.$on("cultureChanged",function(){var n=angular.element("#upload"+u.field.uid).siblings("span");n.length&&n.text(u.field.buttonText.localized?u.field.buttonText.localized:u.field.buttonText[u.form.DefaultCultureCode])});u.getImageSource=function(n){if(n.extension||(n.extension="."+n.fileName.split(".").pop()),u.field.previewImages){if(r.includes(n.extension)){if(n.rawFile)return n.dataUrl;if(u.formController.IsReview()||!n.tempFile)return"/Diamant/DownloadSavedFile?formIdentifier="+u.form.Identifier+"&fileName="+n.fileName}else return"/Content/Images/"+i.getFileTypeImage(n.extension);return"/Diamant/GetFileBytesByGuid?guid="+n.fUid+"&formDefinitionVersionId="+u.form.FormDefinitionVersionId}};u.downloadFile=function(n){var i=window.location.origin;u.form.IsReview||(i+="/Diamant/");var e=n.fUid,r=n.fileName,o=n.uid+n.extension,f=n.name?btoa(n.name):"";u.form.IsReview?i+=t.downloadUrl+"?responseId="+u.form.responseId+"&fileName="+r+"&name="+f+"&hasAdditive="+n.addToFileName:n.default?i+="GetFileBytesByGuid?guid="+e+"&FormDefinitionVersionId="+u.form.FormDefinitionVersionId:(i+="DownloadFile?tempUid="+o+"&name="+f+"&FormDefinitionVersionId="+u.form.FormDefinitionVersionId,r&&(i+="&fileUid="+r));window.location.href=i};u.htmlUnescape=function(n){return n.replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&")}}var r=[".jpg",".png",".jpeg",".gif",".bmp",".tif",".tiff"];return{restrict:"A",require:["ngModel","^diaViewerField"],link:u}}]).directive("diamantDownload",["diaViewerMediaService",function(n){function t(t,i,r,u){var e=u[0],o=u[1],f=t.form.FormDefinitionVersionId;t.downloadFile=function(){var i=n.documentUrl+"?guid="+t.field.downloadFileUid+"&fileName="+encodeURIComponent(t.field.downloadFileName)+"&fileExtension="+encodeURIComponent(t.field.downloadFileExtension)+"&formDefinitionVersionId="+f;t.field.downloadSource=="url"&&(i=t.field.downloadURL);window.open(i)}}return{restrict:"A",require:["ngModel","^diaViewerField"],link:t}}]).directive("diamantResponseDownload",["$cultureCode","diaItemStore",function(n,t){function i(i){function r(n){if(!n)return n;var i=n.match(/(?:\[?[a-z0-9]{32}\]?|\[?(?:P|S|SE|F|O)[0-9]{1,4}\]?)/g);return i&&(i=i.filter(function(n,t,i){return i.indexOf(n)===t}),i.forEach(function(i){var r=t.get(i.replace(/^\[|\]$/g,"")),u,f;r&&(u=r.getResultValue(),f=new RegExp(i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),n=n.replace(f,u))})),n}i.downloadFile=function(t){var i=t.documentNamePlaceHolder,u,f;t.documentName&&(i=r(t.documentName));u=$("#formIdentifier").val();url="DownloadResponse?formIdentifier="+u+"&templateId="+t.templateId+"&exportType="+t.exportType+"&cultureCode="+n.get()+"&cultures="+n.list()+"&documentName="+i;f=window.location.origin+"/Diamant/"+url;window.location.href=f}}return{restrict:"A",require:["ngModel","^diaViewerForm","^diaViewerField"],link:i}}]).directive("diamantRetrieveLastResponse",["diaItemStore","$uibModal","$window","$cultureCode",function(n,t,i,r){function u(u,f,e,o){var s=o[1],h=o[2];u.retrieveResponse=function(u){var f=t.open({templateUrl:"/Diamant/RetrieveLastResponseModal",controller:"DiamantRetrieveLastResponseModal",resolve:{field:function(){return u},form:function(){return s.form},currentCulture:function(){return r.get()}}}),e=f.result;e.then(function(t){var f,r,u;if(t)if(t.data.success)for(f=t.data.results,r=0;r<f.length;r++)u=n.get(f[r].uid.replace(/^\[|\]$/g,"")),u&&(u.value=f[r].value,u.relationConnection=="EmailField"&&(u.readOnly=!0));else i.setSiliconMessageList({SiliconMessageList:[{Type:3,Text:t.data.error[0].Text,Key:""}]})},function(){$rootScope.stopSpin()})}}return{restrict:"A",require:["ngModel","^diaViewerForm","^diaViewerField"],link:u}}]).directive("diamantImage",["diaViewerMediaService",function(n){function t(t){var i=t.form.FormDefinitionVersionId;t.downloadAndShowImage=function(){if(t.field.downloadFileName){var r=n.imageUrl+"?guid="+t.field.downloadFileUid+"&fileName="+encodeURIComponent(t.field.downloadFileName)+"&fileExtension="+encodeURIComponent(t.field.downloadFileExtension)+"&formDefinitionVersionId="+i;t.showImageData=r}};t.downloadAndShowImage()}return{restrict:"A",require:["ngModel","^diaViewerField"],link:t}}]).directive("diamantVideo",["diaViewerMediaService",function(n){function t(t,i,r,u){var f=u[1];t.getFileVideoURL=function(t,i){return n.videoUrl+"?guid="+t+"&formDefinitionVersionId="+i};t.$watch("formController.currentIndex",function(n){var i=f.pages[n].getFields(),r=i.some(function(n){n.uid==t.field.uid});r||t.stopVideo()});t.stopVideo=function(){var i=document.getElementById("video_"+t.field.uid),n=document.getElementById(t.field.uid),r;i&&i.pause();n&&(r=n.src,n.src=r)}}return{restrict:"A",require:["ngModel","^diaViewerForm"],link:t}}]).directive("diamantSlider",["$timeout",function(n){function t(t,i,r,u){var f=u[0],e=u[1],o=u[2];t.slider={value:Array.isArray(f.field.value)?f.field.value[0]:f.field.value,options:{floor:f.field.min,ceil:f.field.max,step:f.field.step,vertical:f.field.vertical,enforceStep:!1,readOnly:f.isReadonly(),translate:function(n){var i=t.form.AnswerColor;return"<div style='color:"+i+";'>"+n+"<\/div>"},onEnd:function(){t.slider.value>f.field.max&&(t.slider.value=f.field.max);f.field.value!=t.slider.value&&(f.field.value=t.slider.value,f.field.trigger("change"))}}};t.$watch(f.isReadonly,function(){t.slider.options.readOnly=f.isReadonly()});t.$watch("formController.currentIndex",function(n){n!=undefined&&t.refreshSlider()});t.refreshSlider=function(){n(function(){t.$broadcast("rzSliderForceRender")})}}return{restrict:"A",require:["^diaViewerField","^diaViewerPage","^diaViewerForm"],link:t}}]).directive("diamantRating",[function(){function n(n,t,i,r){var u=r[0],f=r[1];n.$watch(u.isRequired,function(t){t&&!u.field.value[n.parentGroupIndex]?f.$setValidity("required",!1):f.$setValidity("required",!0)});(!u.field.value[n.parentGroupIndex]||isNaN(u.field.value[n.parentGroupIndex]))&&(u.field.value[n.parentGroupIndex]=0);n.mouseEnter=function(i){var r,f;if(!u.isReadonly()&&i>=0&&i+1>u.field.value[n.parentGroupIndex])for(r=u.field.value[n.parentGroupIndex];r<=i;r++)f=t.find('span[id="ratingIcon_'+r.toString()+'"]'),f&&f.length&&(f[0].className="fa-fw "+u.field.ratingIconSelected)};n.mouseOut=function(i){var r,f;if(!u.isReadonly()&&i>=0&&i+1>u.field.value[n.parentGroupIndex])for(r=u.field.value[n.parentGroupIndex];r<=i;r++)f=t.find('span[id="ratingIcon_'+r.toString()+'"]'),f&&f.length&&(f[0].className="fa-fw "+u.field.ratingIconUnselected)};n.selectedRating=function(t){u.isReadonly()||(u.field.value[n.parentGroupIndex]!=t+1&&(u.field.value[n.parentGroupIndex]=t+1,u.field.trigger("change")),f.$setValidity("required",!0))}}return{restrict:"A",require:["^diaViewerField","ngModel"],link:n}}]).directive("diamantSignature",["$window","$timeout","$http","$guid","diaViewerFileService","diaViewerMediaService","diaEnvironment","$settings",function(n,t,i,r,u,f,e,o){function s(s,h,c,l){function y(){a.$setValidity("fileSize",!0);a.$setValidity("fileType",!0)}function w(n){return new Promise(function(t){var i=new FileReader;i.onload=function(){t(i.result)};i.readAsDataURL(n)})}function b(n){if(n){h.find("#signature-pad-container"+s.field.uid).css("display","none");h.find("#croppedImage"+s.field.uid).attr("src",s.value.selectedImage);h.find("#croppedImageContainer"+s.field.uid).css("display","block");var t="."+s.file.name.substr(s.file.name.lastIndexOf(".")+1);return w(s.file).then(function(n){var f={fileUid:r.new(),fileExtension:t,formDefinitionVersionId:v,originalFileName:s.file.name},o={data:{files:s.file,formDefinitionVersionId:v,fileUid:f.fileUid,fieldUid:s.field.uid}},h,c;if(e==="Workboard"&&(o.data.fileData=f.fileData,f.fileData=n),a.$setViewValue(f),u.upload(o)!==!1){h=new FormData;for(c in o.data)h.append(c,o.data[c]);return i({method:"POST",url:u.uploadUrl,headers:{"Content-Type":undefined},transformResponse:angular.identity,data:h}).then(function(n){return s.showCropper=!1,n.data?void 0:$q.reject()})}})}s.file=undefined;s.showCropper=!1}var p=l[0],a=l[1],v;s.value={};s.showCropper=!1;s.closeCropper=b;v=s.form.FormDefinitionVersionId;s.$watch(function(){return h.attr("readonly")},function(n){t(function(){s.signaturePad&&(angular.isDefined(n)?s.signaturePad.off():s.signaturePad.on())},2e3)});s.clearFileSelection=function(){angular.element("input[type='file']").val(null)};s.reenterSignature=function(){var t=document.getElementById("croppedImageContainer"+s.field.uid),r,n;if(t.style.display=="block"&&(t.style.display="none",document.getElementById("signature-pad-container"+s.field.uid).style.display="block"),s.signaturePad&&(s.signaturePad.clear(),s.file))return(r=[s.field.uid+"."+s.file.name.substring(s.file.name.lastIndexOf(".")+1)],n={data:{fileNames:r,fileUid:a.$viewValue.fileUid,fieldUid:s.field.uid,formDefinitionVersionId:v}},u.remove(n)===!1)?void 0:i({method:"POST",url:u.removeUrl,data:n.data}).then(function(n){return s.file=undefined,y(),a.$setViewValue(undefined),n.data?void 0:$q.reject()});y();a.$setViewValue(undefined)};s.setFiles=function(n){var r,i,t;if(n.files.length>0){if(r=4194304,o.uploadedFileSizeLimit&&(r=o.uploadedFileSizeLimit),n.files[0].size>r){a.$setValidity("fileSize",!1);a.$setDirty();s.$apply();return}if(a.$setValidity("fileSize",!0),i=n.files[0],i.type!="image/jpeg"&&i.type!="image/png"){a.$setValidity("fileType",!1);a.$setDirty();s.$apply();return}a.$setValidity("fileType",!0);t=new FileReader;t.readAsDataURL(i);t.onload=function(){s.$apply(function(){s.showCropper=!0;s.value.selectedImage=t.result;s.file=n.files[0]})};t.onerror=function(n){console.log("Error: ",n)}}};t(function(){var o=document.getElementById("signature-pad"+s.field.uid),h=o.querySelector("canvas"),u,e,i;s.signaturePad=new SignaturePad(h);s.resizeCanvas=function(){var i=document.getElementById("signature-pad"+s.field.uid),n,t;i&&(n=i.querySelector("canvas"),t=Math.max(window.devicePixelRatio||1,1),n.width=n.offsetWidth*t,n.height=n.offsetHeight*t,n.getContext("2d").scale(t,t),s.signaturePad&&!s.signaturePad.isEmpty()&&(s.signaturePad.clear(),s.field.value&&s.field.value.fileData&&s.signaturePad.fromDataURL(s.field.value.fileData)))};angular.element(n).on("resize."+s.field.uid,s.resizeCanvas);if(u=function(){if(!s.signaturePad.isEmpty()){var n={fileUid:r.new(),fileExtension:".png",formDefinitionVersionId:v,fileData:s.signaturePad.toDataURL()};a.$setViewValue(n)}},e=function(){y();s.signaturePad.isEmpty()&&s.resizeCanvas()},s.signaturePad.addEventListener("endStroke",u),s.signaturePad.addEventListener("beginStroke",e),s.$watch("formController.currentIndex",function(n){n!=undefined&&s.resizeDrawing()}),s.resizeDrawing=function(){t(function(){s.resizeCanvas()},10)},s.field.value&&s.field.value.length>0&&s.field.value[0]){if(s.field.value[0].fileData)i=s.field.value[0].fileData;else{let n=typeof s.field.value[0]=="string"?s.field.value[0]:s.field.value[0].fileUid;i=f.signatureUrl+"?fileName="+n+"&formDefinitionVersionId="+v}document.getElementById("signature-pad-container"+s.field.uid).style.display="none";document.getElementById("croppedImage"+s.field.uid).src=i;document.getElementById("croppedImageContainer"+s.field.uid).style.display="block";p.isRequired()&&a.$setValidity("required",!0)}else a.$setValidity("required",!p.isRequired());s.field.isReadonly()?s.signaturePad.off():s.signaturePad.on()},0);s.$on("$destroy",function(){angular.element(n).off("resize."+s.field.uid,s.resizeCanvas)})}return{restrict:"A",require:["^diaViewerField","ngModel","^diaViewerForm"],link:s}}]).directive("diamantRepeatableField",["$parse","$compile",function(n){function t(t,i,r){var u=n(r.repeatable)(t);Array.isArray(t.field.value)||(t.field.value=[t.field.value])}return{restrict:"A",require:"^diaViewerField",priority:1e3,link:{pre:t}}}]).directive("diamantRelationVerification",["$http","$q",function(n,t){return{restrict:"A",require:"ngModel",link:function(i,r,u,f){function e(r,e){var o=r||e,s=i.$eval(u.relationProperty);return Array.isArray(o)&&(o=o[0]),f.$isEmpty(o)?t.resolve():n({method:"POST",url:"/Diamant/ValidateRelationVerificationValue",data:{value:o,property:s,formIdentifier:i.form.Identifier}}).then(function(n){if(!n.data)return t.reject()})}function o(n){var t=r[0];t.type==="password"?(t.type="text",n.passwordViewIcon="fas fa-eye-slash"):(t.type="password",n.passwordViewIcon="fas fa-eye")}i.$parent.viewHidePassword=o;f.$asyncValidators.validateRelationValue=e}}}]).directive("diaPayment",["$rootScope","$http","$window","$q","$timeout","$interval","diaItemStore","$cultureCode",function(n,t,i,r,u,f,e,o){function l(l,a,v,y){function d(n){return t.get("/Payment/Status",{params:{args:n.value}}).then(function(n){return n.data})}function tt(){return r(function(t){var i=f(function(){n.spinneractive||(f.cancel(i),t(w.save(!0)))},100)})}function it(n){if(!n)return null;var t=n,i=t.match(/\[([a-z0-9]{32}|F[0-9]{1,3})\]/g);return i&&i.forEach(function(n){var r=e.get(n.replace(/[\[\]]/g,"")),i=r?r.getResultValue():"";Array.isArray(i)&&(i=i[0]);t=t.replace(n,i)}),t}function g(n,r){var y=it(n.orderId),k=n.getAmount==="field"?e.get(n.amount).getResultValue()[0]:n.amount,f=h(n.billingAddress),l=h(n.shippingAddress),a=h(n.customer),d=n.isCreateOrder,v=n.paymentOrder;v&&v.items&&v.items.forEach(function(n){n.description=s(n.description);n.price=parseFloat(s(n.price));n.vatRate=parseFloat(s(String(n.vatRate)));n.quantity=parseFloat(s(n.quantity))});n.description&&(n.description=s(n.description));t({method:"POST",url:"/Payment/CreateAsync",data:{providerId:n.paymentProvider,encryptedIdentifier:w.form.Identifier,paymentFieldUid:n.uid,paymentData:{fieldUid:n.uid,orderId:y,page:b,amount:parseFloat(k),currency:n.currency,culture:o.get(),shippingAddressDifferentThanBilling:n.shippingAddressDifferentThanBilling,isCreateOrder:d,description:n.description,billingAddress:{countryCode:f.country,state:f.state,city:f.city,zipCode:f.zipCode,street:f.street,houseNumber:f.houseNumber},shippingAddress:{countryCode:l.country,state:l.state,city:l.city,zipCode:l.zipCode,street:l.street,houseNumber:l.houseNumber},customer:{email:a.email,firstName:a.firstName,lastName:a.lastName},order:n.paymentOrder}}}).then(function(t){if(t.data.success==!1)i.setSiliconMessageList({SiliconMessageList:[{Type:3,Text:t.data.error,Key:""}]});else{r.show();"parentIFrame"in window?(parentIFrame.autoResize(!1),parentIFrame.size(2e3)):c()&&i&&i.setSiliconMessageList&&i.setSiliconMessageList({SiliconMessageList:[{Type:2,Text:"Warning number 107779",Key:""}]});switch(n.paymentProviderType){case 1:var f=angular.element(t.data);f.appendTo("body");r.attr("href","");u(function(){r.on("click",function(){f.submit()});f.submit()},3e3);break;case 2:r.attr("href",t.data);u(function(){i.location.href=t.data},3e3);break;case 3:case 4:r.attr("href",t.data);c()&&r.attr("target","_top");u(function(){c()?i.top.location.href=t.data:i.location.href=t.data},3e3);break;case 5:r.attr("href",t.data);u(function(){i.location.href=t.data},3e3)}}},function(){p.$setValidity("creation",!1);p.$setDirty()})}var w=y[0],nt=y[1],rt=y[2],p=y[3],b=w.pages.indexOf(nt),k;p.$setValidity("status",!1);p.$setValidity("creation",!0);p.$setValidity("failed",!0);p.$setValidity("uncertain",!0);l.retryPayment=function(n){var t=a.find('[href="#redirectUrl#"]');t.hide();g(n,t)};l.field.value&&d(l.field).then(function(n){l.field.status=n;switch(l.field.status){case"Success":p.$setValidity("status",!0);break;case"Unknown":case"Pending":p.$setValidity("uncertain",!1);p.$setDirty()}});k=l.$watch(function(){return w.currentIndex==b},function(n){if(n){var t=a.find('[href="#redirectUrl#"]');t.hide();k();l.field.value?d(l.field).then(function(n){l.field.status=n;switch(l.field.status){case"Success":p.$setValidity("status",!0);w.currentIndex===w.pages.length-2||l.field.automaticSubmit?((l.form.IsReview&&!l.form.AllowReview||!l.form.IsReview)&&l.field.automaticSubmit&&(l.form.automaticSubmitTriggered=!0,w.submit()),l.form.IsReview&&l.form.AllowReview&&(l.form.AllowReviewEdit=!0)):w.nextPage();break;case"Failed":p.$setValidity("failed",!1);p.$setDirty();break;case"Unknown":case"Pending":case"Canceled":case"Expired":case"PendingNOK":p.$setValidity("uncertain",!1);p.$setDirty()}}):w.form.IsReview||w.form.IsPreview||tt().then(function(){try{g(l.field,t)}catch(n){p.$setValidity("creation",!1);p.$setDirty()}})}})}function h(n){var i={},t,r;if(n)for(t in n)r=e.get(n[t]),i[t]=r?r.getResultValue():null,Array.isArray(i[t])&&(i[t]=i[t][0]);return i}function s(n){if(!n)return n;var t=n.match(/(?:\[?[a-z0-9]{32}\]?|\[?(?:P|S|SE|F|O)[0-9]{1,4}\]?)/g);return t&&(t=t.filter(function(n,t,i){return i.indexOf(n)===t}),t.forEach(function(t){var i=e.get(t.replace(/^\[|\]$/g,"")),r,u;i&&(r=i.getResultValue(),u=new RegExp(t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),n=n.replace(u,r))})),n}function c(){try{return i.self!==i.top}catch(n){return!0}}return{restrict:"A",require:["^^diaViewerForm","^^diaViewerPage","^^diaViewerField","ngModel"],link:l}}]).directive("diaCounterValue",[function(){function n(n,t,i,r){var u=r[0],f=r[1];n.$watch(u.getCounterValue,function(n){f.setCounterValue(n)})}return{restrict:"A",require:["^diaViewerForm","^diaViewerField"],link:n}}]).directive("diaUrl",[function(){function n(n,t,i,r){function u(n){if(n){var i=n.match(/^http[s]?:\/\//g);i&&i.length||(n="https://"+n,r.$setViewValue(n),r.$commitViewValue(),t.val(n))}return n}function e(n,t){var i=n||t;return r.$isEmpty(i)||f.test(i)}var f=/^(http[s]?:\/\/(www\.)?){1}([0-9A-Za-z-\.@:%_\+~#=]+)((\.[a-zA-Z]{2,})+)(\/(.)*)?(\?(.)*)?$/;r.$parsers.push(u);r.$formatters.push(u);r.$validators.pattern=e}return{restrict:"A",require:"ngModel",link:n}}]).directive("diaDisableCopyPaste",[function(){function n(n,t){function i(t){n.field.disableCopyPaste&&t.preventDefault()}t.on("cut copy paste",i)}return{restrict:"A",link:n}}]).directive("diaCaptcha",["$timeout","$http","$q",function(){function n(n,t,i,r){var u,f;n.field.isGoogleCaptcha?(r.$setValidity("captcha",!1),r.$setValidity("error",!0),u=setInterval(function(){try{if(window.grecaptcha&&window.grecaptcha.getResponse){var t=window.grecaptcha.getResponse();angular.isDefined(u)&&t.length>0&&(n.field.value=t,r.$setValidity("captcha",!0),clearInterval(u),u=undefined)}}catch(i){}},300)):(r.$validators.captcha=function(t,i){var e=t||i,u;return r.$isEmpty(e)?!0:(u=f.validate(),n.field.checked=u?!0:!1,u)},jCaptcha.prototype.set||(jCaptcha.prototype.set=function(n,t){this.num1=n;this.num2=t;this.sumNum=this.num1+this.num2;this.$captchaTextContext.clearRect(0,0,this.options.canvasStyle.width,this.options.canvasStyle.height);this.$captchaTextContext.fillText("".concat(this.num1," + ").concat(this.num2," ").concat(this.options.requiredValue),0,0)}),f=new jCaptcha({element:t[0],canvasStyle:{width:100,height:15,textBaseline:"top",font:"19px Arial",textAlign:"top",fillStyle:"#000000"},resetOnError:!1,clearOnSubmit:!1,focusOnError:!1,requiredValue:""}),f.set(n.field.captcha1,n.field.captcha2))}return{restrict:"A",require:"ngModel",link:n}}]).directive("diaBarcodeScanner",["$parse",function(n){return{restrict:"A",scope:!0,require:"ngModel",link:function(t,i,r,u){function h(){history.pushState({scanner:"#videoDiv"},"");window.addEventListener("popstate",s);o.listVideoInputDevices().then(function(i){if(i.length===0){t.$apply(function(){u.$setDirty();u.$setValidity("cameraNotFound",!1)});return}var s=angular.element("body");s.append(e);o.decodeFromVideoDevice(undefined,"video",function(i,e){if(i){if(u.$setViewValue(i.text),r.onScan){var o=n(r.onScan);t.$apply(function(){o(t,{$value:i.text})})}f()}else e&&e.getKind()!=="NotFoundException"&&(console.log(e),f())});e.find("button").on("click",f)})}function s(){$scope.$apply(function(){f()})}function f(){o.reset();e.remove();window.removeEventListener("popstate",s)}var e=angular.element('<div class="barcode-scanner-wrapper"><video id="video" class="barcode-scanner-video"><\/video><button class="barcode-scanner-wrapper-close">X<\/button><\/div>'),o=new ZXing.BrowserMultiFormatReader;i.on("click",h)}}}]).directive("validateInputVerification",[function(){return{restrict:"A",require:"?ngModel",link:function(n,t,i,r){function f(n){var t="";return Array.isArray(n.value)?n.value[0]:n.none||n.value==="none"?"none":((n.other||n.value==="other")&&(t+="other-"+n.otherValue),t+n.value.split(",").sort().join())}var u=n.$eval("field"),e;if(r)if(n.slider)e=n.$eval("ngForm"),u.inputVerificationField&&(e[u.uid]=r,n.$on("slideEnded",function(){r.$setValidity("inputVerification",n.slider.value===n.getInputVerificationField().value);r.$setDirty(!0)}));else if((u.component==="radio"||u.component==="checkbox")&&u.inputVerificationField)u.on("change",function(){r.$setValidity("inputVerification",f(u)===f(n.getInputVerificationField()));r.$setDirty(!0)});else n.field.inputVerificationField&&(n.$watch(function(){return f(n.getInputVerificationField())},function(n){r.$isEmpty(n)?r.$setValidity("inputVerification",r.$isEmpty(r.$viewValue)):r.$validate()}),r.$validators.inputVerification=function(t,i){return(t||i)===f(n.getInputVerificationField())});else return}}}]).directive("diaZipCodeNl",[function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){function u(n,i){var u=n||i,f;return r.$isEmpty(u)?!0:(f=/^[0-9][0-9]{3} ?[a-z]{2}$/i,!f.test(u))?!1:(r.$setViewValue(u),t.val(u),!0)}function f(t){var i=" ";return r.$isEmpty(t)?t:(t=t.trim(),t=t.toUpperCase(),t=t.replace(/\s/g,""),n.field.removeSpace&&(i=""),[t.slice(0,4),i,t.slice(4)].join(""))}r.$validators.zipCodeNl=u;r.$parsers.push(f)}}}]).directive("diaPolling",["$parse","$interval","$timeout",function(n,t,i){return{restrict:"A",link:function(r,u,f){function h(){v(r,{})}var v=n(f.diaPolling),l=n(f.diaPollingOnTimeout),c=f.diaPollingType?r.$eval(f.diaPollingType):"manual",a=f.diaPollingInterval?r.$eval(f.diaPollingInterval):5,o=f.diaPollingTimeout?parseInt(r.$eval(f.diaPollingTimeout)):null,y=f.diaPollingStop?r.$eval(f.diaPollingStop):!1,e=null,s=null;if(c!=="auto"||y){if(c==="manual")u.on("click",h)}else e=t(h,a*1e3),o!==null&&!isNaN(o)&&o>0&&(s=i(function(){t.cancel(e);l(r,{})},o*1e3)),h();r.$watch(f.diaPollingStop,function(n){n?(s&&(i.cancel(s),s=null),e&&(t.cancel(e),e=null)):c==="auto"&&e===null&&(e=t(h,a*1e3),o!==null&&!isNaN(o)&&o>0&&(s=i(function(){t.cancel(e);l(r,{})},o*1e3)),h())});u.on("$destroy",function(){e&&(t.cancel(e),e=null);s&&(i.cancel(s),s=null)})}}}]).directive("diaRedirect",["diaConnectionService",function(n){return{restrict:"A",require:"^diaViewerForm",link:function(t,i,r,u){i.on("click",function(){u.save(!0).then(function(){n.handleEvent(t.field.connectionEvents[0],t.field.uid).then(function(){u.save(!0).then(function(){var n=Array.isArray(t.field.value)?t.field.value[0]:t.field.value;n&&window.location.assign(n)})})})})}}}]).directive("diaCheckboxMinChoices",["$timeout",function(){return{restrict:"A",require:["ngModel","diaCheckboxGroup"],link:function(n,t,i,r){function e(){var t=n.$eval(i.diaCheckboxMinChoices),r=f.count();return t!==null&&!n.field.none&&r<t&&(n.field.isRequired()||r>0)?!1:!0}var u=r[0],f=r[1];u.$validators.minChoices=e}}}]).directive("diaCheckboxMaxChoices",["$timeout",function(){return{restrict:"A",require:["ngModel","diaCheckboxGroup"],link:function(n,t,i,r){function e(){var t=n.$eval(i.diaCheckboxMaxChoices),r=f.count();return t!==null&&r>t?!1:!0}var u=r[0],f=r[1];u.$validators.maxChoices=e}}}]).directive("diaNumericMinValidation",["$timeout","diaItemStore",function(n,t){return{restrict:"A",require:["ngModel"],link:function(n,i,r,u){function e(){var u=n.$eval(r.diaNumericMinValidation),i,f;if(n.field.minValidation&&n.field.minValidation!=""||n.field.min||n.field.min===0){if(n.field.minValidation==="value"&&(n.field.min||n.field.min===0))return u>=n.field.min;if(n.field.minValidation==="field"&&(n.field.min||n.field.min===0))return(i=t.get(n.field.min.replace(/^[\[{]\+?|[\]}]$/g,""),!0),i)?!i.isRequired()&&!u&&u!==0?!0:(f=i.value[0]!=""?i.value[0]:-99999999999999999999,u>=f):!0}else return!0;return!0}var f=u[0];f.$validators.min=e}}}]).directive("diaNumericMaxValidation",["$timeout","diaItemStore",function(n,t){return{restrict:"A",require:["ngModel"],link:function(n,i,r,u){function e(){var u=n.$eval(r.diaNumericMaxValidation),i,f;if(n.field.maxValidation&&n.field.maxValidation!=""||n.field.max||n.field.max===0){if(n.field.maxValidation==="value"&&(n.field.max||n.field.max===0))return u<=n.field.max;if(n.field.maxValidation==="field"&&(n.field.max||n.field.max===0))return(i=t.get(n.field.max.replace(/^[\[{]\+?|[\]}]$/g,""),!0),i)?!i.isRequired()&&!u&&u!==0?!0:(f=i.value[0]!=""?i.value[0]:99999999999999999999,u<=f):!0}else return!0;return!0}var f=u[0];f.$validators.max=e}}}]),function(n){"use strict";function t(n,t,i,r,u){function e(r){var f=i[r];if(!f)throw new Error("Template url is not defined for component: "+r);return u.resolve(n+f+t)}function s(n){return e(n).then(function(n){var t=o[n];if(t)return t;if(typeof t!="undefined")throw new Error("Template is cached but is empty");return r({method:"GET",url:n}).then(function(n){return n.data},function(n){throw new Error(n);})})}var f=this,o={};f.getTemplateUrl=e;f.getTemplate=s}n.module("diamantViewer").value("templateUrls",{textInput:"/Views/text-input-template.html",genericRedirection:"/Views/generic-redirection-template.html",zipCodeNL:"/Views/zip-code-nl-input-template.html",ibanInput:"/Views/iban-input-template.html",rating:"/Views/rating-template.html",passwordInput:"/Views/password-input-template.html",numericTextInput:"/Views/numeric-text-input-template.html",textArea:"/Views/text-area-template.html",textAreaLog:"/Views/text-area-log-template.html",datePicker:"/Views/date-picker-template.html",timePicker:"/Views/time-picker-template.html",dateTimePicker:"/Views/date-time-picker-template.html",radio:"/Views/radio-button-template.html",radioButtonMatrixSet:"/Views/radio-button-matrix-set-template.html",radioButtonQuestion:"/Views/radio-button-matrix-question-template.html",checkbox:"/Views/checkbox-template.html",multiselect:"/Views/multiselect-template.html",select:"/Views/dropdown-template.html",countries:"/Views/countries-template.html",nationalities:"/Views/nationalities-template.html",selectlist:"/Views/selectlist-template.html",hidden:"/Views/hidden-template.html",fileUpload:"/Views/file-upload-template.html",responseDownload:"/Views/response-download-template.html",retrieveLastResponse:"/Views/retrieve-last-response-template.html",signature:"/Views/signature-template.html",fileDownload:"/Views/file-download-template.html",image:"/Views/image-template.html",video:"/Views/video-template.html",qrcode:"/Views/qrcode-template.html",slider:"/Views/slider-template.html",starRating:"/Views/star-rating-template.html",scaleRating:"/Views/rating-scale-template.html",radioMatrix:"/Views/radio-button-matrix-template.html",likert:"/Views/likert-template.html",html:"/Views/html-control-template.html",calendar:"/Views/calendar-template.html",redirect:"/Views/redirect-template.html",set:"/Views/set-template.html",addressSet:"/Views/set-template.html",likertSet:"/Views/likert-set-template.html",horizontal:"/Views/horizontal-seperator-template.html",verify:"/Views/verify-template.html",scoreOverview:"/Views/score-overview-template.html",creditcard:"/Views/creditcard-input-template.html",vatNumber:"/Views/vat-input-template.html",url:"/Views/url-template.html",bsn:"/Views/bsn-input-template.html",phoneNumber:"/Views/phone-number-template.html",confirm:"/Views/checkbox-template.html",section:"/Views/section-template.html",relationVerification:"/Views/relation-verification-template.html",payment:"/Views/payment-template.html",counter:"/Views/counter-template.html",captcha:"/Views/captcha-template.html",polling:"/Views/polling-template.html",button:"/Views/button-template.html",barcodeScanner:"/Views/barcode-scanner-template.html",licensePlateInput:"/Views/license-plate-input-template.html"});n.module("diamantViewer").service("diaTemplateCache",["viewerRoot","urlPostFix","templateUrls","$http","$q",t])}(window.angular),function(n){"use strict";function t(){function o(n){r=n}function s(n){u=n}function h(n){f=n}function c(n){e=n}function l(){return t||(t=new i(r,u,f,e)),t}var n=this,t,r,u,f,e;n.setImageUrl=o;n.setVideoUrl=s;n.setDocumentUrl=h;n.setSignatureUrl=c;n.$get=[l]}function i(n,t,i,r){function f(){return n||console.error("Image URL has not been set yet!"),n}function e(){return t||console.error("Video URL has not been set yet!"),t}function o(){return i||console.error("Document URL has not been set yet!"),i}function s(){return r||console.error("Signature URL has not been set yet!"),r}var u=this;Object.defineProperty(u,"imageUrl",{get:f});Object.defineProperty(u,"videoUrl",{get:e});Object.defineProperty(u,"documentUrl",{get:o});Object.defineProperty(u,"signatureUrl",{get:s})}n.module("diamantViewer").provider("diaViewerMediaService",[t])}(window.angular),function(n){"use strict";function t(){function o(n){r.webServiceConnectionUrl=n}function s(n){r.databaseConnectionUrl=n}function h(n){f=n}function c(){u=!0}function l(){e=!0}function a(){u=!1}function v(n,o,s,h,c,l,a,v){return t||(t=new i(n,o,s,h,c,l,a,v,r,f,u,e)),t}var n=this,t,r={webServiceConnectionUrl:"",databaseConnectionUrl:""},f={},u=!1,e=!1;n.setWebServiceConnectionUrl=o;n.setDatabaseConnectionUrl=s;n.setExtraData=h;n.disableConnections=c;n.disableConnectionsForSets=l;n.enableConnections=a;n.$get=["$q","$http","$timeout","diaItemStore","$cultureCode","$rootScope","diaViewerRelation","diaEnvironment",v]}function i(t,i,r,u,f,e,o,s,h,c,l,a){function nt(n){v=n}function tt(n,i){var a,r,c,k,d,h,g,o,nt,b;if(l)return t.reject("Connections are disabled");if(a=[],r=v.getResults(),s==="Diamond"&&(r=deduplicateResponseLabels(r)),c=v.getAllFields(),n.pollingComponentUid&&(o=u.get(n.pollingComponentUid),o.interval<=2&&e.stopSpin()),n.type==="service")return(k=n.hasOwnProperty("executeOnResponseView")&&n.executeOnResponseView||!n.hasOwnProperty("executeOnResponseView"),d=v.Status==8&&n.hasOwnProperty("executeOnResponseReview")&&n.executeOnResponseReview||!n.hasOwnProperty("executeOnResponseReview"),v.IsReview&&!(d&&v.Status==8||k&&v.Status!=8))?t.reject():st(n.connectionId,n.actions,r,i).then(function(t){var u,r,f;for(s==="Workboard"&&(t.data=JSON.parse(t.data)),u=rt(t.data.result),r=0;r<u.length;r++)f=p(u[r].field.uid,i,c),w(f,u[r].options,u[r].values,u[r].autoSelect,u[r].placeholder,u[r].fillType,u[r].format);y(n,t,"WS")},function(t){y(n,t,"WS")});if(n.type==="database"){for(h=0;h<n.parameters.length;h++)g=n.parameters[h].field,o=p(g,i,c),o&&(f.get()||f.set(v.DefaultCultureCode,!1),nt=o.connectionValue,b=n.parameters[h],b.value=nt,a.push(b));return ht(r,v,n,a).then(function(t){var s=t.actionResultData,u,e,r,f,o;if(s){for(u=ft(s,i,c),e=0;e<u.length;e++)if(r=u[e],r!==null){if(r.field.getComponent()==="html")for(f=e+1;f<u.length;f++)singleOutput.Key.replace(/^\[?|\]?$/g,"")===s[f].Key.replace(/^\[?|\]?$/g,"")&&(o=u[f],r.options=r.options.concat(o.options),r.values=r.values.concat(o.values),r.placeholder=r.placeholder.concat(o.placeholder),u.splice(f,1));w(r.field,r.options,r.values,r.autoSelect,r.placeholder)}y(n,t,"DB")}},function(t){y(n,t,"DB")})}}function y(n,t,i){var e,r,f,o;if(n.pollingComponentUid){if(e=u.get(n.pollingComponentUid),i=="WS"){if(r=t.data,r&&((e.value!=="Timeout"||r.isPollingConditionSatisified)&&(e.value=r.isPollingConditionSatisified?"Done":"Busy"),r.result))for(f=0;f<r.result.length;f++)r.result[f].HasStopConditions&&r.result[f].StopConditionSucceeded&&(o=n.queries.map(n=>n.id).indexOf(r.result[f].QueryId),n.queries.splice(o,1))}else if(r=t.data.ActionResult,t.data&&t.data.ViewData&&t.data.ViewData.SiliconMessageList&&(e.value!=="Timeout"||r.success)&&(e.value=t.data.ViewData.SiliconMessageList.length==0?"Done":"Busy"),r)for(f=0;f<r.length;f++)r[f].HasStopConditions&&r[f].StopConditionSucceeded&&(o=n.queries.map(n=>n.id).indexOf(r[f].QueryId),n.queries.splice(o,1));e.polling=!1}}function p(n,t,i){var e=k(t,i),r=u.get(n),f;return r&&k(r.uid,i)===e&&(f=u.get(n+"_"+it(t)),f)?f:r}function k(n,t){var i=t.filter(t=>n.indexOf(t.uid)>=0);return i.length>0&&i[0].setUid?i[0].setUid:null}function it(n){var t=n.indexOf("_");return t>=0?n.substring(t+1):-1}function rt(n){for(var o,f,s,i,e,t=[],h=n?n.length:0,r=0;r<h;r++)o=n[r],f=ut(o),f!==null&&t.push(f);for(s=t.reduce(function(n,t){return t.hasSubFields&&(n=n.concat(t.options.reduce(function(n,t){return n.concat(t.filter(function(n){return u.get(n.key).getComponent()==="html"}))},[]))),n},[]),i=t.length-1;i>=0;i--)t[i].field.getComponent()==="html"&&(e=s.filter(function(n){return n.key===t[i].field.uid}),e.length&&(e.forEach(function(n){n.options=n.options.concat(t[i].options);n.values=n.values.concat(t[i].values);n.placeholder=n.placeholder.concat(t[i].placeholder)}),t.splice(i,1)));return t}function ut(n){var e=u.get(n.Key.replace(/^\[?|\]?$/g,"")),t,o,i,s,r,f;if(!e)return null;if(t={field:e},n.SubFields&&n.SubFields.length)for(t.subFields=!0,n.SubFields.forEach(function(n){n.Result=JSON.parse(n.Result);n.ValueResult&&(n.ValueResult=JSON.parse(n.ValueResult))}),t.options=[],o=n.SubFields[0].Result.length,i=0;i<o;i++)s=n.SubFields.reduce(function(n,t){var e=u.get(t.Key.replace(/^\[?|\]?$/g,"")),r,f;return e?(r={key:e.uid,options:Array.isArray(t.Result[i])?t.Result[i]:[t.Result[i]],values:null,autoSelect:t.AutoSelect,placeholder:t.Placeholder,fillType:t.FillType||"options"},t.ValueResult&&(r.values=Array.isArray(t.ValueResult[i])?t.ValueResult[i]:[t.ValueResult[i]]),e.getComponent()==="html"&&(r.options=[r.options],r.values=[r.values],r.placeholder=[r.placeholder],f=n.find(function(n){return n.key===e.uid}),f))?(f.options=f.options.concat(r.options),f.values=f.values.concat(r.values),f.placeholder=f.placeholder.concat(r.placeholder),n):(n.push(r),n):n},[]),t.options.push(s);else{for(t.options=JSON.parse(n.Result),t.values=null,n.ValueResult&&(t.values=JSON.parse(n.ValueResult)),r=0;r<t.options.length;r++)f=t.options[r],f&&typeof f=="object"&&(f=t.options[r]=JSON.stringify(f));t.autoSelect=n.AutoSelect;t.fillType=n.FillType||"options";t.placeholder=n.Placeholder;t.format=n.Format;e.getComponent()==="html"&&(t.options=[t.options],t.values=[t.values],t.placeholder=[t.placeholder])}return t}function ft(n,t,i){for(var h,o,c,f,s,r=[],l=n?n.length:0,e=0;e<l;e++)h=n[e],o=et(h,t,i),o!==null&&r.push(o);for(c=r.reduce(function(n,t){return t.hasSubFields&&(n=n.concat(t.options.reduce(function(n,t){return n.concat(t.filter(function(n){return u.get(n.key).getComponent()==="html"}))},[]))),n},[]),f=r.length-1;f>=0;f--)r[f].field.getComponent()==="html"&&(s=c.filter(function(n){return n.key===r[f].field.uid}),s.length&&(s.forEach(function(n){n.options=n.options.concat(r[f].options);n.values=n.values.concat(r[f].values);n.placeholder=n.placeholder.concat(r[f].placeholder)}),r.splice(f,1)));return r}function et(n,t,i){var e=p(n.Key.replace(/^\[?|\]?$/g,""),t,i),r,c,f,l,s,o,a,h;if(!e&&(e=u.getByKey(n.Key.replace(/^\[?|\]?$/g,"")),!e))return null;if(r={field:e},n.SubColumns&&n.SubColumns.length)for(r.subFields=!0,r.options=[],c=n.SubColumns[0].TextValue.length,f=0;f<c;f++)l=n.SubColumns.reduce(function(n,t){var e=u.get(t.Key.replace(/^\[?|\]?$/g,"")),i,r;return e?(i={key:e.uid,options:Array.isArray(t.TextValue[f])?t.TextValue[f]:[t.TextValue[f]],values:null,autoSelect:t.AutoSelect,placeholder:t.Placeholder,fillType:t.FillType||"options"},t.DifferentKeyValue&&(i.values=Array.isArray(t.MultiselectValue[f])?t.MultiselectValue[f]:[t.MultiselectValue[f]]),e.getComponent()==="html"&&(i.options=[i.options],i.values=[i.values],i.placeholder=[i.placeholder],r=n.find(function(n){return n.key===e.uid}),r))?(r.options=r.options.concat(i.options),r.values=r.values.concat(i.values),r.placeholder=r.placeholder.concat(i.placeholder),n):(n.push(i),n):n},[]),r.options.push(l);else s=n.TextValue,o=null,n.DifferentKeyValue&&(o=n.MultiselectValue),a=n.AutoSelect,h=n.Placeholder,e.getComponent()==="html"&&(s=[s],o=[o],h=[h]),r.options=s,r.values=o,r.autoSelect=a,r.placeholder=h,r.fillType=n.FillType||"options";return r}function w(t,i,e,s,h,c,l){var p,et,ht,ut,ft,k,b,g,tt,nt,v,it,y;if(t.setFieldValues=!0,p=t.getComponent(),t.relationConnection&&(et=t.relationConnection.replace("Field",""),o.setProperty(et,i[0])),c=="label"){for(let n in t.label)t.label[n]=i[0];if(p!=="set")return}if(p==="set"){if(!a){t.repeatedByConnection=!0;var ct=u.get(t.getParentUid()),st=u.get(ct.getParentUid()),rt=t,lt=t.maxRepetitions?Math.min(i.length,t.maxRepetitions):i.length;for(st.removeSets(t),v=0;v<lt;v++){if(v>=1&&(rt=st.repeatSet(rt,!0),!rt))break;ht=i[v];ht.forEach(function(n){var t=n.key,i;v>=1&&(t=t+"_"+(v+1));i=u.get(t);w(i,n.options,n.values,n.autoSelect,n.placeholder,n.fillType)})}}}else if(p=="radio"||p=="checkbox"||p=="select"||p=="multiselect"||p=="radioButtonQuestion")if(c=="value")if(p=="multiselect")t.setResultValue(i,!0);else{for(ut=[],v=0;v<i.length;v++)ut.push(i[v].toString());p=="checkbox"&&(t.none=!1,t.other=!1);t.setResultValue(ut,!0)}else{for(t.options=[],ft={},k=0;k<i.length;k++)b={},b.label={},b.value=e!=null?e[k]:i[k],ft[b.value]||(ft[b.value]=!0,b.selected=!1,b.label=f.list().reduce(function(n,t){return n[t]=i[k],n},{}),t.options.push(b));t.component!=="multiselect"&&ot(t.value,i,e)||(t.value=Array.isArray(t.value)?[null]:null,t.options.length>0&&s&&r(function(){t.emptyOption||(t.options[0].selected=!0,Array.isArray(t.value)?t.value[0]=t.options[0].value:t.value=t.options[0].value);t.trigger("triggerOnAuto")}));t.optionsSetByConnection=!0}else if(p==="html")for(t.originalText=t.originalText||n.copy(t.text),g=n.copy(t.originalText),v=0;v<i.length;v++)if(y=i[v].join(", "),tt=h[v],tt){for(nt in g)while(g[nt].indexOf(tt)!==-1)g[nt]=g[nt].replace(tt,y);t.text=g}else for(nt in t.text)t.text[nt]=y;else if(t.repeatable)if(y=i,p=="numericTextInput"){for(v=0;v<y.length;v++)y[v]=d(y[v]);t.setResultValue(y,!0)}else if(p=="datePicker"||p==="dateTimePicker"||p==="timePicker"){let n=[];if(l!=null)for(v=0;v<y.length;v++)it=moment(y[v],l.replace(/d/g,"D").replace(/y/g,"Y")),n.push(it.format(t.dateFormat.replace(/d/g,"D").replace(/y/g,"Y")));else for(v=0;v<y.length;v++)it=moment(y[v]),n.push(it.format(t.dateFormat.replace(/d/g,"D").replace(/y/g,"Y")));t.setResultValue(n,!0)}else t.setResultValue(y,!0);else if(y=i[0],p=="numericTextInput")t.setResultValue(d(y),!0);else if(p==="datePicker"||p==="dateTimePicker"||p==="timePicker"){let n;n=l!=null?moment(y,l.replace(/d/g,"D").replace(/y/g,"Y")):moment(y);t.setResultValue(n.format(t.dateFormat.replace(/d/g,"D").replace(/y/g,"Y")),!0)}else typeof y=="boolean"?t.setResultValue(y.toString(),!0):t.setResultValue(y,!0);t.trigger("triggerOnAuto")}function ot(n,t,i){i||(i=t);n=Array.isArray(n)?n:[n];for(var r=0;r<n.length;r++)if(i.indexOf(n[r])!=-1)return!0;return!1}function d(n){var t,i;if(n===undefined||n===null)return 0;if(typeof n=="number")return n;if(typeof n=="string")if(t=parseFloat(n),isNaN(t)){if(i=parseInt(n),!isNaN(i))return i}else return t;return 0}function st(n,t,r,u){var f={connectionId:n,connectionActionId:t,result:btoa(unescape(encodeURIComponent(JSON.stringify(r)))),triggerUid:u};return g(f),i({method:"POST",url:h.webServiceConnectionUrl,data:f})}function ht(n,r,u,f){var e=[],s,c,l,o;return(u.queries.length&&typeof u.queries[0]=="object"&&(e=u.queries.map(function(n){return n.id})),s=r.IsReview,s&&(e=[],c=u.hasOwnProperty("executeOnResponseViewIds")&&u.executeOnResponseViewIds,l=u.hasOwnProperty("executeOnResponseReviewIds")&&u.executeOnResponseReviewIds,l.length>0&&r.Status==8&&(e=u.executeOnResponseReviewIds),c.length>0&&r.Status!=8&&(e=u.executeOnResponseViewIds)),e=e.map(function(n){return n.id?n.id:n}),e.length>0)?(o={id:u.connectionId,variables:btoa(unescape(encodeURIComponent(JSON.stringify(f)))),queries:e,result:btoa(unescape(encodeURIComponent(JSON.stringify(n))))},g(o),i({method:"POST",url:h.databaseConnectionUrl,data:o})):t.reject()}function g(t){for(var i in c)switch(typeof c[i]){case"function":t[i]=c[i]();break;case"object":t[i]=n.copy(c[i]);break;default:t[i]=c[i]}}var b=this,v;b.handleEvent=tt;b.setForm=nt}n.module("diamantViewer").provider("diaConnectionService",[t])}(window.angular),function(n){"use strict";function t(t,i){function b(n){o=n}function k(n){return n%1==0}function d(n){return n%1!=0}function s(t,i,r,u,f){var e,s,o;return(Array.isArray(t)&&(t=t[0]),t==undefined)?i==undefined:Object.prototype.toString.call(i)!=="[object Date]"&&!n.isNumber(i)?!0:(e=Object.prototype.toString.call(t)==="[object Date]"?t:c(t,u.format[r]),!e)?!1:(u.getComponent()==="timePicker"&&(e.setFullYear(1970,1,1),n.isNumber(i)&&(i=new Date(i)),i.setFullYear(1970,1,1)),s=e.getTime(),o=i,Object.prototype.toString.call(i)==="[object Date]"&&(o=i.getTime()),f(s,o))}function c(n,t){return n?kendo.parseDate(n,t):undefined}function e(n,t){for(var f=n.logicType===r.LogicType.Any,e=n.logicType===r.LogicType.All,i=!0,o,u=0,s=n.rules.length;u<s;u++){if(o=n.rules[u],i=et(n.rules[u],t),f&&i)break;if(e&&!i)break}return i}function l(n,t){if(h(n)){var i=n.actionType===r.ActionType.Show,u=e(n,t);return!(u^i)}}function g(n,t){return n?l(n,t):!0}function nt(n,t){return n.actionType===r.ActionType.PreventNavigation?!e(n,t):e(n,t)}function tt(n,t){return v(n)?nt(n,t):!0}function it(n,t){if(y(n)){var u=e(n,t),i=!1;switch(n.actionType){case r.ActionType.Required:i=u;break;case r.ActionType.Optional:i=!u}return i}}function rt(n,t){if(p(n)){var u=e(n,t),i=!1;switch(n.actionType){case r.ActionType.Readonly:i=u;break;case r.ActionType.NotReadonly:i=!u}return i}}function ut(n,t){if(w(n)){var u=e(n,t),i=!1;switch(n.actionType){case r.ActionType.Enable:i=!u;break;case r.ActionType.Disable:i=u}return i}}function ft(n,t){var f=st(n.field,t),r,e,o;return f==null?!1:(r=f.value,r===null&&(r=undefined),e=u[n.operator],o=e(r,n.value,i.get(),f),o)}function et(n,i){for(var f=!0,r=t.get(n.field),u;r&&f;){if(r.conditions)for(u=r.conditions.length-1;u>=0;u--)if(h(r.conditions[u])){f=l(r.conditions[u],i);break}r=r.getParent()}return f&&ft(n,i)}function ot(){return o?o.getAllFieldsMap():[]}function st(n,i){var u=t.get(n,!0),f=ot(),o=a(i,f),e=a(u.uid,f),r;return e&&e===o&&(r=t.get(n+"_"+ht(i),!0),r)?r:u}function a(n,t){var r=n.replace(/_.+$/,""),i=t[r];return i&&i.setUid?i.setUid:null}function ht(n){var t=n.indexOf("_");return t>=0?n.substring(t+1):-1}function v(n){return n&&(n.actionType===r.ActionType.PreventNavigation||n.actionType===r.ActionType.AllowNavigation)}function h(n){return n&&(n.actionType===r.ActionType.Show||n.actionType===r.ActionType.Hide)}function y(n){return n&&(n.actionType===r.ActionType.Required||n.actionType===r.ActionType.Optional)}function p(n){return n&&(n.actionType===r.ActionType.Readonly||n.actionType===r.ActionType.NotReadonly)}function w(n){return n&&(n.actionType===r.ActionType.Enable||n.actionType===r.ActionType.Disable)}var f=this,o,r,u;f.isNavigationCondition=v;f.isDisplayCondition=h;f.isRequiredCondition=y;f.isReadonlyCondition=p;f.isDisablingCondition=w;f.isVisible=g;f.isNavigationAllowed=tt;f.isRequired=it;f.isReadonly=rt;f.isDisabled=ut;f.setForm=b;r={ActionType:{Show:"Show",Hide:"Hide",Required:"Required",Optional:"Optional",Readonly:"Readonly",NotReadonly:"NotReadonly",PreventNavigation:"PreventNavigation",AllowNavigation:"AllowNavigation",Enable:"Enable",Disable:"Disable"},LogicType:{All:"All",Any:"Any"},Operator:{IsEqualTo:"IsEqualTo",IsNot:"IsNot",IsGreaterThan:"IsGreaterThan",IsLessThan:"IsLessThan",StartsWith:"StartsWith",EndsWith:"EndsWith",Contains:"Contains",ContainsInList:"ContainsInList",IsNotEmpty:"IsNotEmpty",IsEmpty:"IsEmpty",IsAfter:"IsAfter",IsBefore:"IsBefore",IsToday:"IsToday",IsValid:"IsValid",IsInvalid:"IsInvalid",Busy:"Busy",Done:"Done",Timeout:"Timeout",IsClicked:"IsClicked",IsNotClicked:"IsNotClicked"}};u={};u[r.Operator.IsEqualTo]=function(n,i,r,u){var f,u,e;if(Array.isArray(n)&&(n=n[0]),n==undefined&&(n=""),typeof i=="string"&&(f=i.match(/(?:\[[a-z0-9]{32}\]|\[(?:P|S|SE|F|O)[0-9]{1,4}\])/),f&&f.length>0)){if(u=t.get(f[0].replace(/^[\[{]|[\]}]$/g,"")),!u)return!1;i=u.getResultValue();Array.isArray(i)&&(i=i[0])}if(i==undefined&&(i=""),e=u.getComponent(),e==="datePicker"||e==="dateTimePicker"||e==="timePicker")return s(n,i,r,u,function(n,t){return n===t});if(n===""||i==="")return n===i;if(u.getComponent()=="numericTextInput"){if(!isNaN(i)&&k(i))return parseInt(n)===parseInt(i);if(!isNaN(i)&&d(i))return parseFloat(n)===parseFloat(i)}return n.toString()===i.toString()};u[r.Operator.IsNot]=function(n,t,i,f){return Array.isArray(n)&&(n=n[0]),u[r.Operator.IsEqualTo](n,t,i,f)===!1};u[r.Operator.IsGreaterThan]=function(n,i){var u,r;if(Array.isArray(n)&&(n=n[0]),n==undefined)return i==undefined;if(typeof i=="string"&&(u=i.match(/(?:\[[a-z0-9]{32}\]|\[(?:P|S|SE|F|O)[0-9]{1,4}\])/),u&&u.length>0)){if(r=t.get(u[0].replace(/^[\[{]|[\]}]$/g,"")),!r)return!1;i=r.getResultValue();Array.isArray(i)&&(i=i[0])}return r&&r.decimalPlaces&&parseInt(r.decimalPlaces)>0||n%1!=0?n>parseFloat(i):parseInt(n)>parseInt(i)};u[r.Operator.IsLessThan]=function(n,i){var u,r;if(Array.isArray(n)&&(n=n[0]),n==undefined)return i==undefined;if(typeof i=="string"&&(u=i.match(/(?:\[?[a-z0-9]{32}\]?|\[?(?:P|S|SE|F|O)[0-9]{1,4}\]?)/),u&&u.length>0)){if(r=t.get(u[0].replace(/^[\[{]|[\]}]$/g,"")),!r)return!1;i=r.getResultValue();Array.isArray(i)&&(i=i[0])}return r&&r.decimalPlaces&&parseInt(r.decimalPlaces)>0||n%1!=0?n<parseFloat(i):parseInt(n)<parseInt(i)};u[r.Operator.StartsWith]=function(n,t){return(Array.isArray(n)&&(n=n[0]),n==undefined)?t==undefined:n&&n.toString().indexOf(t)===0};u[r.Operator.EndsWith]=function(n,t){if(Array.isArray(n)&&(n=n[0]),n==undefined)return t==undefined;if(!n)return!1;n=n.toString();var i=n.lastIndexOf(t);return i!=-1&&i===n.length-t.length};u[r.Operator.Contains]=function(n,t){return(Array.isArray(n)&&(n=n[0]),n==undefined)?t==undefined:n&&n.toString().indexOf(t)>-1};u[r.Operator.IsNotEmpty]=function(n){return Array.isArray(n)&&(n=n[0]),n!=undefined&&n.toString()?!0:void 0};u[r.Operator.IsEmpty]=function(t){return Array.isArray(t)&&(t=t[0]),n.isUndefined(t)||t===null||!t.toString()?!0:void 0};u[r.Operator.ContainsInList]=function(n,t,i,r){if(r.getComponent()==="captcha")return((t===undefined||t=="")&&(t="Unchecked"),t=="Checked"&&r.checked)?!0:t=="Unchecked"&&!r.checked?!0:!1;if(Array.isArray(n)&&(n=n[0]),t===undefined)return!0;if(n===undefined)return t===undefined;var f=t.split(","),e=Array.isArray(n)?n:n.split(","),u=0,h=f.length,o=!1,s;for(r.otherOption&&(n=="other"||r.other)&&e.push("other");u<h;u++)if(s=$.inArray(f[u],e),s>-1){o=!0;break}return o};u[r.Operator.IsValid]=function(t,i,r,u){var f=!0,e=n.element("#"+u.uid+"_0");return e.data()!=undefined&&(f=e.data().$ngModelController.$valid),f};u[r.Operator.IsInvalid]=function(t,i,r,u){var f=!0,e=n.element("#"+u.uid+"_0");return e.data()!=undefined&&(f=e.data().$ngModelController.$valid),!f};u[r.Operator.IsAfter]=function(n,t,i,r){return s(n,t,i,r,function(n,t){return n>t})};u[r.Operator.IsToday]=function(n,t,i,r){var u,f;return(Array.isArray(n)&&(n=n[0]),n==undefined)?!1:(u=Object.prototype.toString.call(n)==="[object Date]"?n:c(n,r.format[i]),u.setHours(0,0,0,0),f=new Date,f.setHours(0,0,0,0),u.getTime()===f.getTime())?!0:!1};u[r.Operator.IsBefore]=function(n,t,i,r){return s(n,t,i,r,function(n,t){return n<t})};u[r.Operator.Busy]=function(n){return n==="Busy"};u[r.Operator.Done]=function(n){return n==="Done"};u[r.Operator.Timeout]=function(n){return n==="Timeout"};u[r.Operator.IsClicked]=function(n){return n==="Clicked"};u[r.Operator.IsNotClicked]=function(n){return n!=="Clicked"}}n.module("diamantViewer").service("diaConditionService",["diaItemStore","$cultureCode",t])}(window.angular),function(n){"use strict";function t(){function s(){return r===null&&(r=new i(u,f,e,o)),r}var t=this,u=null,f=null,e=null,o={select:null,upload:null,remove:null,success:null,complete:null},r=null;t.setUploadUrl=function(n){u=n};t.setRemoveUrl=function(n){f=n};t.setDownloadUrl=function(n){e=n};t.setEvents=function(t){n.extend(o,t)};t.$get=[s]}function i(n,t,i,r){function s(){if(!f)throw new Error("Upload url has not been initialized yet");return f}function h(){if(!e)throw new Error("Remove url has not been initialized yet");return e}function c(){if(!o)throw new Error("Downlaod url has not been initialized yet");return o}function l(n){return r.select&&typeof r.select=="function"?r.select(n):!0}function a(n){return r.upload&&typeof r.upload=="function"?r.upload(n):!0}function v(n){return r.remove&&typeof r.remove=="function"?r.remove(n):!0}function y(n){return r.success&&typeof r.success=="function"?r.success(n):!0}function p(n){return r.complete&&typeof r.complete=="function"?r.complete(n):!0}var u=this,f=n,e=t,o=i;Object.defineProperty(u,"uploadUrl",{get:s});Object.defineProperty(u,"removeUrl",{get:h});Object.defineProperty(u,"downloadUrl",{get:c});u.select=l;u.upload=a;u.remove=v;u.success=y;u.complete=p}n.module("diamantViewer").provider("diaViewerFileService",[t])}(window.angular),function(n){"use strict";function t(){function r(n,i){t[n]=i}function u(n){return t[n]}function f(n){i=n}function e(){return i}function o(n,r){i[n]=r;t[n]&&t[n].setResultValue(r)}function s(n){return i[n]}var n=this,t={},i={};n.setRelation=f;n.getRelation=e;n.setProperty=o;n.getProperty=s;n.setRelationField=r;n.getRelationField=u}n.module("diamantViewer").service("diaViewerRelation",[t])}(window.angular),function(){"use strict";function n(){function n(n,t,i,r){function h(){s=!0;r[u].$setTouched();r[u].$setDirty();r[u].$setValidity("required",e())}function e(){var n,t,i;if(!f||!o)return!0;for(n=0,t=f.length;n<t;n++)if(i=f[n],i.checked)return!0;return!1}var o=!1,f,s=!1,u="";n.$on("repeatDone",function(){f=t.find('input[type="checkbox"]');f.on("change.checkboxRequired",h);u=f.attr("name");r[u].$validators.required=e;r[u].$setValidity("required",e())});n.$watch(i.checkboxRequired,function(n){o=n;u!==""&&r[u].$setValidity("required",e())})}return{restrict:"A",require:"^form",link:n}}angular.module("diamantViewer").directive("checkboxRequired",["$timeout",n])}(),function(){"use strict";function n(n){function t(t,i,r,u){var e=u[0],f=u[1];n(function(){var n,i;f.updateFromConnection(t.field.options);f.deselectAll();n=t.field.value;n&&(angular.isArray(n)&&(n=n[0]),i=t.field.value.split(","),f.initialize(t.field.options,i))});e.$render=function(){f.render(e.$viewValue)};e.$formatters.push(function(n){return n?Array.isArray(n)?n[0].split(","):n.split(","):n});e.$parsers.push(function(n){return n?n.join(","):n});f.changeListener=function(n){angular.isArray(n)&&n.length===0&&(n=null);e.$setViewValue(n)};f.validate=function(){e.$validate()};t.$watchCollection("field.options",function(n,t){Object.is(t,n)||f.updateFromConnection(n)})}return{restrict:"E",require:["ngModel","diaCheckboxGroup"],controller:"diaCheckboxGroupController",link:t}}function t(){function e(t,i){for(var u,f,r=0;r<t.length;r++)if(n[r]){u=n[r].getValue();for(f of i)u==f&&n[r].select()}}function o(t){for(var i=0;i<t.length;i++)n[i]&&(n[i].setValues(),t[i].selected&&n[i].select())}function s(t){n.push(t);i&&i.indexOf(t.getValue())!==-1&&t.select()}function h(n){u=n}function c(n){r=n}function l(t){if(n.splice(n.indexOf(t),1),i){var r=i.indexOf(t.getValue());r!==-1&&i.splice(r,1)}}function f(){for(var t=0,i=0;i<n.length;i++)n[i].isSelected()&&t++;return r&&r.isSelected()&&t++,t}function a(){for(var t=0;t<n.length;t++)n[t].deselect();r&&r.deselect()}function v(){u&&u.isSelected()&&u.deselect()}function y(t){var r,u,f;for(i=t,r=0;r<n.length;r++)u=n[r],f=!!t&&t.find(function(n){return n===u.getValue()}),f?u.select():u.deselect()}function p(){i=[];for(var r=0;r<n.length;r++)n[r].isSelected()&&i.push(n[r].getValue());t.changeListener&&t.changeListener(i)}function w(){return f()===0&&(!u||!u.isSelected())&&(!r||!r.isSelected())}var t=this,n=[],u=null,r=null,i;t.initialize=e;t.addCheckbox=s;t.setNoneCheckbox=h;t.setOtherCheckbox=c;t.removeCheckbox=l;t.render=y;t.update=p;t.count=f;t.deselectAll=a;t.deselectNone=v;t.isEmpty=w;t.updateFromConnection=o}angular.module("diamantViewer").directive("diaCheckboxGroup",["$timeout",n]);angular.module("diamantViewer").controller("diaCheckboxGroupController",[t])}(),function(){"use strict";function n(){function n(n,t,i,r){function o(){e.$viewValue&&u.deselectAll();u.update();u.validate()}var u=r[0],e=r[1],f;n.ngModelAttribute=i.ngModel;f={};u.setNoneCheckbox(f);e.$viewChangeListeners.push(o);f.select=function(){n.$eval(i.ngModel+" = true")};f.deselect=function(){n.$eval(i.ngModel+" = false")};f.isSelected=function(){return n.$eval(i.ngModel)};n.$on("$destroy",function(){u.setNoneCheckbox(null)})}return{scope:!0,require:["^diaCheckboxGroup","ngModel"],link:n}}angular.module("diamantViewer").directive("diaCheckboxNone",[n])}(),function(){"use strict";function n(){function n(n,t,i,r){function o(){e.$viewValue&&u.deselectNone();u.update();u.validate()}var u=r[0],e=r[1],f;n.ngModelAttribute=i.ngModel;u.setOtherCheckbox(f);f={};u.setOtherCheckbox(f);e.$viewChangeListeners.push(o);f.select=function(){n.$eval(i.ngModel+" = true")};f.deselect=function(){n.$eval(i.ngModel+" = false")};f.isSelected=function(){return n.$eval(i.ngModel)};n.$on("$destroy",function(){u.setOtherCheckbox(null)})}return{scope:!0,require:["^diaCheckboxGroup","ngModel"],link:n}}angular.module("diamantViewer").directive("diaCheckboxOther",[n])}(),function(){"use strict";function n(){function n(n,t,i,r){function e(n,i){var r=i||n;return!t.is("[required]")||!o(r)}function o(n){return(u.$isEmpty(n)||Array.isArray(n)&&n.length===0)&&f.isEmpty()}var s=r[0],u=r[1],f=r[2];(u.$validators.required||t.is("[required]"))&&(u.$validators.required=e);i.diaCheckboxRequired&&n.$watch(i.diaCheckboxRequired,function(n){n?t.attr("required","required"):t.removeAttr("required");u.$validate()})}return{restrict:"A",require:["^form","ngModel","^diaCheckboxGroup"],link:n}}angular.module("diamantViewer").directive("diaCheckboxRequired",[n])}(),function(){"use strict";function n(){function n(n,t,i,r){function o(){e.$viewValue&&f.deselectNone();f.update()}var f=r[0],e=r[1],u={};n.checked=!1;u.select=function(){n.checked=!0};u.deselect=function(){n.checked=!1};u.isSelected=function(){return n.checked};u.getValue=function(){return n.value};u.setValue=function(t){n.value=t};u.setValues=function(){u.setValue(n.$eval(i.diaValue))};f.addCheckbox(u);e.$viewChangeListeners.push(o);n.$on("$destroy",function(){f.removeCheckbox(u)})}return{scope:!0,require:["^diaCheckboxGroup","ngModel"],link:n}}angular.module("diamantViewer").directive("diaCheckbox",[n])}(),function(n){"use strict";function t(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){function u(n,t){for(var r=["MMM","MMMM","DDD","DDDD"],i=0;i<r.length;i++)if(n.toUpperCase().indexOf(r[i]))return t;for(i=0;i<t.length&&i<n.length;i++)n[i].match(/[a-zA-Z]/)||t[i]===n[i]||(t=t.substring(0,i)+n[i]+t.substring(i));return t}r.$parsers.push(function(f){if(!f)return f;var o=n.$eval(i.diaFormatDateTime),e=u(o,f);return f!=e&&(r.$viewValue=e,t.val(e)),e})}}}n.module("diamantViewer").directive("diaFormatDateTime",[t])}(window.angular),function(){"use strict";function n(n){function t(t,i,r,u){n(function(){var n,f;t[r.diaKDelay]=!0;u&&(n=u.$modelValue,typeof n=="undefined"&&(n=null),f=t.$on("kendoWidgetCreated",function(t,r){r.element[0]===i[0]&&(r.value(n),f())}))})}return{restrict:"A",require:"?ngModel",link:t}}angular.module("diamantViewer").directive("diaKDelay",["$timeout",n])}(),function(){"use strict";function n(n,t){function r(n,i,r){function u(){n.open=!0}function f(){n.open=!1}function o(){n.open=!1}n.content=n.$eval(r.diaTooltip);var e=n.$eval(r.tooltipBehaviour);n.open=!1;n.close=o;n.$watch(r.diaTooltip,function(t){n.content=t});switch(e){case 1:i.on("mouseenter",function(){t(u)});i.on("mouseleave",function(){t(f)});i.on("focus",function(){t(u)});i.on("blur",function(){t(f)});break;case 2:i.on("mouseenter",function(){t(u)});i.on("focus",function(){t(u)});i.on("click",function(){t(f)});break;case 3:i.on("click",function(n){n.stopPropagation();t(u)});document.addEventListener("click",function(r){n.isOpen&&!i[0].contains(r.target)&&t(f)});break;default:i.on("mouseenter",function(){t(u)});i.on("mouseleave",function(){t(f)})}}var i={restrict:"A",scope:!0,link:r};return n.put("diaTooltip.html",'<div ng-bind-html="content | unsafe" role="tooltip"><\/div><a class="tooltip-close" ng-click="close()"><i class="fal fa-times"><\/i><span class="sr-only">Close<\/span><\/a>'),i}angular.module("diamantViewer").directive("diaTooltip",["$templateCache","$timeout","$compile",n])}(),function(n,t){"use strict";"findNested"in Object.prototype||(Object.findNested=function(n,t,i){var r,f=Object.prototype,u=f.toString;"[object Array]"!==u.call(i)&&(i=[]);for(r in n||{})f.hasOwnProperty.call(n,r)&&(r===t?i.push(n[r]):("[object Array]"===u.call(n[r])||"[object Object]"===u.call(n[r]))&&Object.findNested(n[r],t,i));return i});n.SiliconMessageList=n.SiliconMessageList||{};n.setSiliconMessageList=n.setSiliconMessageList||function(n){var u=!1,e=Object.prototype.toString,t=n.Errors,f=Object.findNested(n,"SiliconMessageList"),o=function(n){var t=n.Type===1?"info":n.Type===2?"warning":n.Type===3||n.Type===4?"danger":n.Type===5?"success":"";t in SiliconMessageList||(SiliconMessageList[t]={items:{},icon:"fas fa-"+(n.Type===1?"info-circle":n.Type===2?"exclamation-triangle":n.Type===3||n.Type===4?"exclamation":n.Type===5?"check":"")});n.Key in SiliconMessageList[t].items||(SiliconMessageList[t].items[n.Key]=[]);n.ModelProperty=n.ModelProperty===null?"":n.ModelProperty;SiliconMessageList[t].items[n.Key].push(n)},i,r;if(f&&f!==null&&f.forEach(function(n){e.call(n)==="[object Array]"&&n.forEach(function(n){o(n);u=!0})}),t)for(i in t)for(r in t[i])e.call(t[i][r])==="[object Array]"&&t[i][r].forEach(function(n){n={Type:r==="errors"?4:1,Key:"",ModelProperty:i,Text:n};o(n);u=!0});return u};n.clearSiliconMessageList=n.clearSiliconMessageList||function(n){delete SiliconMessageList[n]};t.module("diaValidationSummary",["ngAnimate"]);t.module("diaValidationSummary").directive("siliconValidationsummary",["$window",function(t){var i="type == 'success' || type == 'info'";return{restrict:"EA",controller:["$scope","$element","$attrs",function(n,r,u){n.List=n.MessageList||t.SiliconMessageList;n.$watch(function(){return n.MessageList||t.SiliconMessageList},function(t){n.List=t});n.hide=function(t){delete n.List[t]};this.hide=n.hide;n.closeable=function(){return n.$eval(u.closeable||i,this)};n.isMessageClickable=function(n){if(n.onClick)return!0;var t=$("[ng-model='"+n.ModelProperty+"']");return t.length?(n.input=t,!0):(t=$("[name='"+n.ModelProperty+"']"),t.length)?(n.input=t,!0):(t=$("[ng-model='model."+n.ModelProperty+"']"),t.length)?(n.input=t,!0):!1};n.onMessageClick=function(n){if(n.onClick)n.onClick(n);else n.input.focus()};n.autohide=u.autohide;n.autohideTimeout=u.autohideTimeout?parseInt(u.autohideTimeout):1e4;n.verticalAlignment=u.position?u.position.split(" ")[0]||"top":"top";n.horizontalAlignment=u.position?u.position.split(" ")[1]||"right":"right"}],template:'<div class="siliconValidationSummary {{:: verticalAlignment }} {{:: horizontalAlignment }}">\n    <div ng-repeat="(type, items) in List" type="{{ type }}" silicon-autohidemessage-list="{{autohide}}" silicon-autohidemessage-list-on-hide="hide(type)" silicon-autohidemessage-list-timeout="{{autohideTimeout}}" id="sml{{$index}}" class="alert clearfix" ng-class="[\'alert-\' + (type || \'warning\'), closeable() ? \'alert-dismissable\' : null]" role="alert">\n        <i class="{{items.icon}} error-icon"><\/i>\n        <ul class="validationmessages">\n            <li ng-repeat="(item, messages) in items.items" class="rootLI">\n                <ul ng-class="{\'noItem\': item == \'\' || item == null }">                    <li ng-repeat="error in messages track by $index">\n                        <span ng-if="isMessageClickable(error)" class="clickable" ng-click="onMessageClick(error)" ng-bind-html="error.Text"><\/span>\n                        <span ng-if="!isMessageClickable(error)" ng-bind-html="error.Text"><\/span>\n                        <br ng-if="!$last" />\n                    <\/li>\n                <\/ul>\n            <\/li>\n        <\/ul>\n        <button ng-show="closeable()" type="button" class="close" ng-click="hide(type)">\n            <span aria-hidden="true">&times;<\/span>\n            <span class="sr-only">Close<\/span>\n        <\/button>\n    <\/div>\n<\/div>\n',transclude:!0,replace:!0,scope:{MessageList:"=messageList"},link:function(){var t,i=function(){var n=$(".siliconValidationSummary"),t=n.data("offset")||n.offset(),i=n.data("width")||n.width();n.data({offset:t,width:i})};(t=$(n)).on("scroll.fixValSum, resize.fixValSum",i)}}}]).directive("siliconAutohidemessageList",["$timeout",function(n){return{link:function(t,i,r){var u;t.$eval(r.siliconAutohidemessageList||"type == 'success' || type == 'info'")&&(u=1e4,n(function(){t.$eval(r.siliconAutohidemessageListOnHide)},parseInt(r.siliconAutohidemessageListTimeout||u,10)))}}}])}(window,window.angular),function(n){"use strict";function t(n,t){function i(n,t,i,r){function f(t){var i=t.page;return!i.isConditionalHidden()&&(i.pageType!=="CLOSING"||n.formController.preview)&&(!i.showOnlyInReview||n.formController.IsReview())}function e(t){var i=t.page;return!n.formController.preview&&(!n.form.AllowForwardMovement&&n.form.LastPageReachedIndex<n.form.pages.indexOf(i)||n.formController.isNavigationBlocked(n.formController.currentIndex,n.form.pages.indexOf(i)))}function u(t){if(t.loaded){if(n.ngForm[t.page.key].$valid)return"valid";if(!t.active)return"invalid"}return"inactive"}function o(n){switch(u(n)){case"valid":return"fas fa-circle";case"invalid":return"fas fa-times-circle";case"inactive":return"fas fa-circle"}return"far fa-circle"}function s(t){switch(u(t)){case"valid":return n.form.PageValidIcon;case"invalid":return n.form.PageInvalidIcon;case"inactive":return n.form.PageInactiveIcon}return null}n.formController=r[0];n.ngForm=r[1];n.isVisible=f;n.isNavigationBlocked=e;n.getCompletionIcon=o;n.getCompletionImage=s}return{restrict:"E",require:["^diaViewerForm","^form"],link:i,templateUrl:n+"/Views/dia-view-page-navigator-template.html"+t}}n.module("diamantViewer").directive("diaViewPageNavigator",["viewerRoot","urlPostFix",t])}(window.angular),function(n){"use strict";function t(t,i){function r(t,i,r,u){t.isVisible=function(n){return n.page.pageType!=="CLOSING"&&n.isVisible()&&(!n.showOnlyInReview()||t.form.IsReview)};t.isAllowMovingForward=function(n){return!t.form.AllowForwardMovement&&t.form.LastPageReachedIndex<t.form.pages.indexOf(n)};t.formController=u;var f=["verify","html","scoreOverview"];$(document).keypress(function(i){var o,u,e,r,s,h;if(i.which===13&&t.formController&&(o=t.formController.currentPage(),o)){for(u=o.getFields(),e=!0,r=0;e&&r<u.length;r++)!u[r].isConditionalHidden()&&u[r].show&&f.indexOf(u[r].getComponent())===-1&&(e=!1);e&&(i.preventDefault(),i.stopPropagation(),s=t.formController.currentIndex===t.formController.pages.length-2,h=t.formController.currentIndex>t.formController.pages.length-2,h||setTimeout(function(){var t=s?n.element("#submitPageButton"):n.element("#nextPageButton");t.triggerHandler("click")}))}})}return{restrict:"E",require:"^diaViewerForm",scope:{form:"=",index:"=",onNext:"&?",onPrevious:"&?",onGoTo:"&?",onSave:"&?",onSubmit:"&?",reviewDecline:"&?",reviewIncomplete:"&?"},replace:!0,templateUrl:t+"/Views/dia-view-pager-template.html"+i,link:r}}n.module("diamantViewer").directive("diaViewPager",["viewerRoot","urlPostFix",t])}(window.angular);angular.module("diamantViewer").directive("diaViewProgress",["viewerRoot","urlPostFix",function(n,t){return{restrict:"E",transclude:!0,require:"^diaViewerForm",replace:!0,templateUrl:n+"/Views/dia-view-progress-template.html"+t,link:function(n,t,i,r){function u(){var i=r.currentIndex,t=r.calculateProgress(i);return n.pagePercentageProgress=t?Math.round(t):0,n.pagePercentageProgress}n.pagePercentageProgress=0;n.calculateProgress=u}}}]),function(){"use strict";function n(){function n(n){n.$parent.$on("kendoWidgetCreated",function(n,t){t.list&&t.list.attr("data-iframe-height","");t.dateView&&t.dateView.div.attr("data-iframe-height","");t.timeView&&t.timeView.list.attr("data-iframe-height","")})}return{restrict:"A",link:{pre:n}}}angular.module("diamantViewer").directive("kendoIframeHeight",[n])}();angular.module("diamantViewer").run(["$templateCache",function(n){n.put("/Content/Diamant/Viewer/Views/barcode-scanner-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\n\t<div class="form-group">\n\t\t<input type="text"\n\t\t\t   style="display: none; width: 0;"\n\t\t\t   ng-if="field.usedInFormula || field.usedInScoreFormula"\n\t\t\t   ng-model="field.formulaValue"\n\t\t\t   data-cell="{{:: field.dataCell }}"\n\t\t\t   data-format="string" />\n\t\t<input class="form-control"\n\t\t\t   type="text"\n\t\t\t   placeholder="{{field.placeholder.localized}}"\n\t\t\t   readonly="readonly"\n\t\t\t   ng-value="field.value"\n\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t   name="{{field.uid}}_value"\n\t\t\t   id="{{field.uid}}_value" />\n\t<\/div>\n\t<div class="form-group">\n\t\t<button id="{{field.uid}}"\n\t\t\t\tname="{{field.uid}}"\n\t\t\t\tclass="btn btn-default btn-action"\n\t\t\t\tng-style="{ \'color\': field.style.buttonTextColor, \'background-color\': field.style.buttonColor, \'border-color\': field.style.buttonColor }"\n\t\t\t\ttype="button"\n\t\t\t\tdia-barcode-scanner\n\t\t\t\tng-required="fieldController.isRequired()"\n\t\t\t\tng-model="field.value"\n\t\t\t\tng-change="field.trigger(\'change\')"\n\t\t\t\tng-disabled="(fieldController.isReadonly() || (field.formula != undefined && field.formula[0])) || (field.readOnlyInReview && form.IsReview)">\n\t\t\t{{field.buttonText.localized}}\n\t\t<\/button>\n\t<\/div>\n\t<div ng-show="ngForm[field.uid].$dirty && ngForm[field.uid].$invalid" ng-cloak class="ng-hide">\n\t\t<div ng-messages="ngForm[field.uid].$error">\n\t\t\t<div ng-message="cameraNotFound" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.noCameraFoundError && field.noCameraFoundError.localized) ? field.noCameraFoundError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/bsn-input-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<input type="text"\n\t\t   style="display: none; width: 0;"\n\t\t   ng-if="field.usedInFormula || field.usedInScoreFormula"\n\t\t   ng-model="field.formulaValue"\n\t\t   data-cell="{{:: field.dataCell }}"\n\t\t   data-format="string" />\n\t<div class="form-group dia-answers" ng-repeat="value in field.value track by $index">\n\t\t<div class="input-group" ng-class="{ \'transformation-input-group\': field.transformationRegex }">\n\t\t\t<input type="text"\n\t\t\t\t   autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-pattern="field.regex"\n\t\t\t\t   ng-minlength="field.minChar"\n\t\t\t\t   ng-maxlength="field.maxChar"\n\t\t\t\t   dia-max-text-length="field.maxChar"\n\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t   name="{{ field.uid }}_{{ $index }}"\n\t\t\t\t   id="{{ field.uid }}_{{ $index }}"\n\t\t\t\t   class="form-control"\n\t\t\t\t   placeholder="{{ field.transformationPlaceholder ? \'\' : field.placeholder.localized }}"\n\t\t\t\t   ng-readonly="fieldController.isReadonly() || (field.readOnlyInReview && form.IsReview)"\n\t\t\t\t   ng-keypress="fieldController.autoFormat($event, ngForm[field.uid + \'_\' + $index])"\n\t\t\t\t   ng-keyup="fieldController.autoFormatKeyup($event)"\n\t\t\t\t   dia-on-enter="field.repeatable && $last && fieldController.addNewValue()"\n\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t   ng-focus="field.trigger(\'select\')"\n\t\t\t\t   ng-blur="field.trigger(\'unselect\')"\n\t\t\t\t   dia-disable-copy-paste\n\t\t\t\t   dia-bsn />\n\t\t\t<span class="input-group-addon character-counter" ng-class="{ \'field-maximum-reached\': field.maxChar - ngForm[field.uid + \'_\' + $index].$viewValue.length < 0 }" ng-if="field.maxChar > 0">\n\t\t\t\t{{ field.maxChar - ngForm[field.uid + \'_\' + $index].$viewValue.length }}\n\t\t\t<\/span>\n\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t<\/span>\n\t\t<\/div>\n\n\t\t<div ng-class="field.maxChar.length > 0 ? \'has-character-counter\' : \'\'">\n\t\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index].$error">\n\t\t\t\t\t<div ng-message="required" class="validation-error"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t\t\t<div ng-message="minlength" class="validation-error"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'ShortError\', field.minChar)"><\/span><\/div>\n\t\t\t\t\t<div ng-message="maxlength" class="validation-error"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'LongError\', field.maxChar)"><\/span><\/div>\n\t\t\t\t\t<div ng-message="bsnNumber" class="validation-error"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.PatternError.localized"><\/span><\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/button-template.html?v=2.10.4.0",'<dia-viewer-field-base ng-switch="field.actionType">\n\t<button type="button"\n\t\t\tclass="btn btn-default btn-action"\n\t\t\tng-switch-when="connection"\n\t\t\tng-click="field.value = \'Clicked\'; field.trigger(\'click\')"\n\t\t\tng-disabled="fieldController.isDisabled()"\n\t\t\tng-style="{ \'color\': field.style.buttonTextColor, \'background-color\': field.style.buttonColor, \'border-color\': field.style.buttonColor }">\n\t\t{{field.buttonText.localized}}\n\t<\/button>\n\t<a class="btn btn-default btn-action"\n\t   ng-switch-when="url"\n\t   ng-href="{{ fieldController.isDisabled() ? \'\' : field.resolvedUrl }}"\n\t   ng-attr-target="{{:: field.target }}"\n\t   ng-click="field.value = \'Clicked\'"\n\t   ng-disabled="fieldController.isDisabled()"\n\t   ng-style="{ \'color\': field.style.buttonTextColor, \'background-color\': field.style.buttonColor, \'border-color\': field.style.buttonColor }">\n\t\t{{field.buttonText.localized}}\n\t<\/a>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/calendar-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<div class="input-group">\n\t\t<addtocalendar start-date="{{fieldController.toISOString(field.startDate)}}"\n\t\t\t\t\t   end-date="{{fieldController.toISOString(field.endDate)}}"\n\t\t\t\t\t   title="{{field.eventTitle.localized}}"\n\t\t\t\t\t   location="{{field.eventLocation}}"\n\t\t\t\t\t   class-name="btn-default"\n\t\t\t\t\t   description="{{field.eventDescription.localized}}"\n\t\t\t\t\t   btn-text="{{field.buttonText.localized}}"\n\t\t\t\t\t   hide-icon="!field.showIcon">\n\t\t<\/addtocalendar>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/captcha-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<div class="form-group dia-answers">\n\t\t<div class="input-group">\n\t\t\t<div ng-if="field.isDiamondCaptcha">\n\t\t\t\t<input type="number"\n\t\t\t\t\t   class="jCaptcha form-control"\n\t\t\t\t\t   placeholder="{{field.placeholder.localized}}"\n\t\t\t\t\t   dia-captcha\n\t\t\t\t\t   ng-model="field.value"\n\t\t\t\t\t   name="{{field.uid}}"\n\t\t\t\t\t   id="{{field.uid}}"\n\t\t\t\t\t   ng-blur="field.trigger(\'unselect\')"\n\t\t\t\t\t   ng-focus="field.trigger(\'select\')"\n\t\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t\t   ng-model-options="{ updateOn: \'blur\' }">\n\t\t\t<\/div>\n\t\t\t<div ng-if="field.isGoogleCaptcha">\n\t\t\t\t<div id="{{field.uid}}"\n\t\t\t\t\t name="{{field.uid}}"\n\t\t\t\t\t class="g-recaptcha"\n\t\t\t\t\t dia-captcha\n\t\t\t\t\t ng-model="field.value"\n\t\t\t\t\t data-sitekey="{{field.siteKey}}"><\/div>\n\n\t\t\t\t<script src="https://www.google.com/recaptcha/api.js" async defer><\/script>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div ng-show="ngForm[field.uid].$dirty && ngForm[field.uid].$invalid" ng-cloak class="ng-hide">\n\t\t\t<div ng-messages="ngForm[field.uid].$error">\n\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t\t<div ng-message="error" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span>{{field.captchaError}}<\/span><\/div>\n\t\t\t\t<div ng-message="captcha" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.validationError.localized"><\/span><\/div>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/checkbox-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<input type="number" ng-if="field.usedInFormula || field.usedInScoreFormula" ng-model="field.score" style="visibility: hidden; display:none; width:0px;" data-cell="{{ field.scoreCell }}" />\n\t<div class="form-group dia-answers" ng-class="{ \'readonly\': fieldController.isReadonly() }">\n\t\t<input type="text" ng-if="field.usedInFormula || field.usedInScoreFormula" ng-model="field.formulaValue" style="visibility: hidden; display:none; width:0px;" data-cell="{{ field.dataCell }}" />\n\t\t<input type="number" ng-if="field.usedInFormula || field.usedInScoreFormula" ng-model="field.score" style="visibility: hidden; display:none; width:0px;" data-cell="{{ field.scoreCell }}" />\n\t\t<div ng-if="!field.horizontal" role="group" aria-labelledby="{{ field.uid }}_label">\n\t\t\t<dia-checkbox-group name="{{ field.uid }}" ng-model="field.value" ng-required="fieldController.isRequired()" dia-checkbox-required="fieldController.isRequired()" dia-checkbox-min-choices="field.minChoices" dia-checkbox-max-choices="field.maxChoices">\n\t\t\t\t<div class="checkbox input-group" ng-repeat="option in field.options track by $index">\n\t\t\t\t\t<label class="checkbox-wrap" for="{{ field.uid }}_option_{{ $index }}">\n\t\t\t\t\t\t<input id="{{ field.uid }}_option_{{ $index }}"\n\t\t\t\t\t\t\t   name="{{ field.uid }}_option_{{ $index }}"\n\t\t\t\t\t\t\t   type="checkbox"\n\t\t\t\t\t\t\t   dia-checkbox\n\t\t\t\t\t\t\t   dia-value="option.value"\n\t\t\t\t\t\t\t   ng-model="checked"\n\t\t\t\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t\t\t\t   validate-input-verification />\n\t\t\t\t\t\t<span class="outer">\n\t\t\t\t\t\t\t<span class="inner"><\/span>\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<span dia-bind-html-compile="option.label.localized" class="optionlabel"><\/span>\n\t\t\t\t\t<\/label>\n\t\t\t\t<\/div>\n\n\n\t\t\t\t<div class="checkbox input-group" ng-if="field.noneOption">\n\t\t\t\t\t<label class="checkbox-wrap" for="{{ field.uid }}_none">\n\t\t\t\t\t\t<input id="{{ field.uid }}_none"\n\t\t\t\t\t\t\t   name="{{ field.uid }}_none"\n\t\t\t\t\t\t\t   type="checkbox"\n\t\t\t\t\t\t\t   dia-checkbox-none\n\t\t\t\t\t\t\t   ng-model="field.none"\n\t\t\t\t\t\t\t   ng-change="onCheckboxChange(field); field.trigger(\'change\')"\n\t\t\t\t\t\t\t   validate-input-verification />\n\t\t\t\t\t\t<span class="outer">\n\t\t\t\t\t\t\t<span class="inner"><\/span>\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<span class="optionlabel">\n\t\t\t\t\t\t\t{{ field.noneOptionLabel.localized }}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/label>\n\t\t\t\t<\/div>\n\t\t\t\t<div class="checkbox input-group other-option" ng-if="field.otherOption" ng-init="option = {}" ng-class="{ \'checked\': field.other }">\n\t\t\t\t\t<label class="checkbox-wrap">\n\t\t\t\t\t\t<input id="{{ field.uid }}_other"\n\t\t\t\t\t\t\t   name="{{ field.uid }}_other"\n\t\t\t\t\t\t\t   type="checkbox"\n\t\t\t\t\t\t\t   dia-checkbox-other\n\t\t\t\t\t\t\t   ng-model="field.other"\n\t\t\t\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t\t\t\t   validate-input-verification />\n\t\t\t\t\t\t<span class="outer">\n\t\t\t\t\t\t\t<span class="inner"><\/span>\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<span class="optionlabel">\n\t\t\t\t\t\t\t{{ field.otherOptionLabel.localized }}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/label>\n\n\t\t\t\t\t<input id="{{ field.uid }}_otherValue"\n\t\t\t\t\t\t   name="{{ field.uid }}_otherValue"\n\t\t\t\t\t\t   type="text"\n\t\t\t\t\t\t   class="form-control checkbox-othervalue"\n\t\t\t\t\t\t   ng-if="field.other"\n\t\t\t\t\t\t   ng-model="field.otherValue"\n\t\t\t\t\t\t   ng-required="field.other && fieldController.isRequired()"\n\t\t\t\t\t\t   ng-readonly="fieldController.isReadonly()"\n\t\t\t\t\t\t   ng-attr-title="{{ field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t\t\t   ng-model-options="{ updateOn: \'blur\' }"\n\t\t\t\t\t\t   validate-input-verification />\n\t\t\t\t<\/div>\n\n\t\t\t<\/dia-checkbox-group>\n\t\t<\/div>\n\t\t<div ng-if="field.horizontal" class="row checkbox-horizontal" role="group" aria-labelledby="{{ field.uid }}_label">\n\t\t\t<dia-checkbox-group name="{{ field.uid }}" ng-model="field.value" ng-required="fieldController.isRequired()" dia-checkbox-required="fieldController.isRequired()" dia-checkbox-min-choices="field.minChoices" dia-checkbox-max-choices="field.maxChoices">\n\t\t\t\t<div class="checkbox col-sm-{{ 12 / field.numCols }}" ng-repeat="option in field.options track by $index">\n\t\t\t\t\t<label class="checkbox-wrap" for="{{ field.uid }}_option_{{ $index }}">\n\t\t\t\t\t\t<input id="{{ field.uid }}_option_{{ $index }}"\n\t\t\t\t\t\t\t   name="{{ field.uid }}_option_{{ $index }}"\n\t\t\t\t\t\t\t   type="checkbox"\n\t\t\t\t\t\t\t   dia-checkbox\n\t\t\t\t\t\t\t   dia-value="option.value"\n\t\t\t\t\t\t\t   ng-model="checked"\n\t\t\t\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t\t\t\t   validate-input-verification />\n\t\t\t\t\t\t<span class="outer">\n\t\t\t\t\t\t\t<span class="inner"><\/span>\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<span dia-bind-html-compile="option.label.localized" class="optionlabel"><\/span>\n\t\t\t\t\t\t<!-- empty <p><\/p> tags are created by the editor in some sceerio (if text copy-paste) that makes an extra blank line gap on top.-->\n\t\t\t\t\t<\/label>\n\t\t\t\t<\/div>\n\n\t\t\t\t<div class="checkbox col-sm-{{ 12 / field.numCols }}" ng-if="field.noneOption">\n\t\t\t\t\t<label class="checkbox-wrap" for="{{ field.uid }}_none">\n\t\t\t\t\t\t<input id="{{ field.uid }}_none"\n\t\t\t\t\t\t\t   name="{{ field.uid }}_none"\n\t\t\t\t\t\t\t   type="checkbox"\n\t\t\t\t\t\t\t   dia-checkbox-none\n\t\t\t\t\t\t\t   ng-model="field.none"\n\t\t\t\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t\t\t\t   validate-input-verification />\n\t\t\t\t\t\t<span class="outer">\n\t\t\t\t\t\t\t<span class="inner"><\/span>\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<span class="optionlabel">\n\t\t\t\t\t\t\t{{ field.noneOptionLabel.localized }}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/label>\n\t\t\t\t<\/div>\n\n\t\t\t\t<div class="checkbox col-sm-{{ 12 / field.numCols }}" ng-if="field.otherOption" ng-init="option = {}">\n\t\t\t\t\t<label class="checkbox-wrap" for="{{ field.uid }}_other">\n\t\t\t\t\t\t<input id="{{ field.uid }}_other"\n\t\t\t\t\t\t\t   name="{{ field.uid }}_other"\n\t\t\t\t\t\t\t   type="checkbox"\n\t\t\t\t\t\t\t   dia-checkbox-other\n\t\t\t\t\t\t\t   ng-model="field.other"\n\t\t\t\t\t\t\t   ng-change="onCheckboxChange(field); field.trigger(\'change\')"\n\t\t\t\t\t\t\t   validate-input-verification />\n\t\t\t\t\t\t<span class="outer">\n\t\t\t\t\t\t\t<span class="inner"><\/span>\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<span class="optionlabel">\n\t\t\t\t\t\t\t{{ field.otherOptionLabel.localized }}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/label>\n\n\t\t\t\t\t<input id="{{ field.uid }}_otherValue"\n\t\t\t\t\t\t   name="{{ field.uid }}_otherValue"\n\t\t\t\t\t\t   type="text"\n\t\t\t\t\t\t   class="form-control checkbox-othervalue"\n\t\t\t\t\t\t   ng-if="field.other"\n\t\t\t\t\t\t   ng-model="field.otherValue"\n\t\t\t\t\t\t   ng-required="field.other && fieldController.isRequired()"\n\t\t\t\t\t\t   ng-readonly="fieldController.isReadonly()"\n\t\t\t\t\t\t   ng-attr-title="{{ field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t\t\t   ng-model-options="{ updateOn: \'blur\' }"\n\t\t\t\t\t\t   validate-input-verification />\n\t\t\t\t<\/div>\n\t\t\t<\/dia-checkbox-group>\n\t\t<\/div>\n\t<\/div>\n\t<div ng-show="ngForm[field.uid].$dirty && ngForm[field.uid].$invalid" ng-cloak class="ng-hide">\n\t\t<div ng-messages="ngForm[field.uid].$error">\n\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t<div ng-message="inputVerification" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customInputVerificationError && field.customInputVerificationError.localized) ? field.customInputVerificationError.localized : form.InputVerificationError.localized"><\/span><\/div>\n\t\t\t<div ng-message="minChoices" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customMinChoicesError && field.customMinChoicesError.localized) ? field.customMinChoicesError.localized.replace(\'{0}\', field.minChoices) : form.MinChoicesError.localized.replace(\'{0}\', field.minChoices)"><\/span><\/div>\n\t\t\t<div ng-message="maxChoices" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customMaxChoicesError && field.customMaxChoicesError.localized) ? field.customMaxChoicesError.localized.replace(\'{0}\', field.maxChoices) : form.MaxChoicesError.localized.replace(\'{0}\', field.maxChoices)"><\/span><\/div>\n\t\t<\/div>\n\t<\/div>\n\t<!--error messages specificaly for the other option-->\n\t<div ng-if="field.otherOption" ng-show="ngForm[field.uid + \'_otherValue\'].$dirty && ngForm[field.uid + \'_otherValue\'].$invalid" ng-cloak class="ng-hide">\n\t\t<div ng-messages="ngForm[field.uid + \'_otherValue\'].$error">\n\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/counter-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<div class="input-group readonly">\n\t\t<input type="number"\n\t\t\t   style="display: none; width: 0;"\n\t\t\t   ng-model="field.formulaValue"\n\t\t\t   data-cell="{{ field.dataCell }}" />\n\t\t<input id="{{ field.uid }}"\n\t\t\t   name="{{ field.uid }}"\n\t\t\t   type="number"\n\t\t\t   class="diamant-number-text-box form-control"\n\t\t\t   ng-model="field.value"\n\t\t\t   readonly="readonly"\n\t\t\t   dia-disable-copy-paste\n\t\t\t   dia-counter-value/>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/countries-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<input type="text"\n\t\t   style="display: none; width: 0;"\n\t\t   ng-model="field.formulaValue"\n\t\t   ng-if=":: !field.formula && (field.usedInFormula || field.usedInScoreFormula)"\n\t\t   data-cell="{{:: field.dataCell }}"\n\t\t   data-format="string" />\n\t<div class="form-group dia-answers" \n\t\t ng-repeat="value in field.value track by $index">\n\t\t<div class="input-group diamant-dropdown"\n\t\t\t ng-class="{ \'readonly\' : fieldController.isReadonly() }"\n\t\t\t ng-if="showList">\n\t\t\t<select autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t\tid="{{:: field.uid }}_{{ $index }}"\n\t\t\t\t\tname="{{:: field.uid }}_{{ $index }}"\n\t\t\t\t\tclass="k-dropdown dropdown"\n\t\t\t\t\tkendo-drop-down-list\n\t\t\t\t\tk-options="fieldController.getDropDownOption($index)"\n\t\t\t\t\tk-ng-delay="initList"\n\t\t\t\t\tdia-k-delay="initList"\n\t\t\t\t\tng-model="field.value[$index]"\n\t\t\t\t\tng-readonly="fieldController.isReadonly()"\n\t\t\t\t\tng-change="field.trigger(\'change\')"\n\t\t\t\t\tng-required="fieldController.isRequired()"\n\t\t\t\t\taria-labelledby="{{:: field.uid }}_label"><\/select>\n\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t<\/span>\n\t\t<\/div>\n\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide"  ng-class="getErrorMessageClass()">\n\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index].$error">\n\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div ng-messages="field.globalErrors">\n\t\t\t<div ng-message="countriesApiError" ng-if=":: field.callFailedError" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;{{ field.callFailedError.localized }}<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/creditcard-input-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<input type="text"\n\t\t   style="display: none; width: 0;"\n\t\t   ng-model="field.formulaValue"\n\t\t   ng-if=":: !field.formula && (field.usedInFormula || field.usedInScoreFormula)"\n\t\t   data-cell="{{:: field.dataCell }}"\n\t\t   data-format="string" />\n\t<div class="form-group dia-answers" ng-repeat="value in field.value track by $index">\n\t\t<div class="input-group" ng-class="{ \'transformation-input-group\': field.transformationRegex }">\n\t\t\t<input type="text"\n\t\t\t\t   style="display: none; width: 0;"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-if=":: field.formula"\n\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t   data-cell="{{:: field.dataCell }}"\n\t\t\t\t   data-formula="{{ fieldController.getDataFormula() }}"\n\t\t\t\t   data-format="string" />\n\t\t\t<input type="{{:: field.getInputType() }}"\n\t\t\t\t   autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-pattern="field.regex"\n\t\t\t\t   ng-minlength="field.minChar"\n\t\t\t\t   ng-maxlength="field.maxChar"\n\t\t\t\t   dia-max-text-length="field.maxChar"\n\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t   name="{{ field.uid }}_{{ $index }}"\n\t\t\t\t   id="{{ field.uid }}_{{ $index }}"\n\t\t\t\t   class="form-control"\n\t\t\t\t   placeholder="{{ field.transformationPlaceholder ? \'\' : field.placeholder.localized }}"\n\t\t\t\t   ng-model-options=":: fieldController.ngModelOptions()"\n\t\t\t\t   ng-readonly="(fieldController.isReadonly() || (field.formula != undefined && field.formula[0])) || (field.readOnlyInReview && form.IsReview)"\n\t\t\t\t   ng-keypress="fieldController.autoFormat($event, ngForm[field.uid + \'_\' + $index])"\n\t\t\t\t   ng-keyup="fieldController.autoFormatKeyup($event)"\n\t\t\t\t   dia-on-enter="field.repeatable && $last && fieldController.addNewValue()"\n\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t   ng-focus="field.trigger(\'select\')"\n\t\t\t\t   ng-blur="fieldController.onBlur(ngForm[field.uid + \'_\' + $index]);field.trigger(\'unselect\')"\n\t\t\t\t   mask="field.maskPattern"\n\t\t\t\t   restrict="reject"\n\t\t\t\t   clean="true"\n\t\t\t\t   dia-disable-copy-paste\n\t\t\t\t   validate-input-verification />\n\t\t\t<span class="input-group-addon character-counter" ng-class="{ \'field-maximum-reached\': field.maxChar - (ngForm[field.uid + \'_\' + $index].$cleanViewValue || ngForm[field.uid + \'_\' + $index].$viewValue).length < 0 }" ng-if="field.maxChar > 0">\n\t\t\t\t{{ field.maxChar - (ngForm[field.uid + \'_\' + $index].$cleanViewValue || ngForm[field.uid + \'_\' + $index].$viewValue).length }}\n\t\t\t<\/span>\n\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t<\/span>\n\t\t<\/div>\n\n\t\t<div ng-class="field.maxChar.length > 0 ? \'has-character-counter\' : \'\'">\n\t\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index].$error">\n\t\t\t\t\t<div ng-message="required" class="validation-error"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t\t\t<div ng-message="pattern" class="validation-error"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.PatternError.localized"><\/span><\/div>\n\t\t\t\t\t<div ng-message="minlength" class="validation-error"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'ShortError\', field.minChar)"><\/span><\/div>\n\t\t\t\t\t<div ng-message="maxlength" class="validation-error"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'LongError\', field.maxChar)"><\/span><\/div>\n\t\t\t\t\t<div ng-message="mask" class="validation-error"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.PatternError.localized"><\/span><\/div>\n\t\t\t\t\t<div ng-message="inputVerification" class="validation-error"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customInputVerificationError && field.customInputVerificationError.localized) ? field.customInputVerificationError.localized : form.InputVerificationError.localized"><\/span><\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/date-picker-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<div class="form-group dia-answers" ng-repeat="value in field.value track by $index">\n\t\t<div class="input-group" ng-class="{ \'readonly\' : fieldController.isReadonly() }">\n\t\t\t<input type="text" ng-if="field.usedInFormula || field.usedInScoreFormula" ng-model="field.formulaValue" style="visibility: hidden; position: absolute; height: 0;" data-cell="{{field.dataCell}}" />\n\t\t\t<input autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t   class="diamant-datepicker"\n\t\t\t\t   diamant-datepicker\n\t\t\t\t   k-options="dateOptions"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-model-options="{ updateOn: \'blur\' }"\n\t\t\t\t   placeholder="{{field.placeholder.localized}}"\n\t\t\t\t   ng-placeholder="{{field.placeholder.localized}}"\n\t\t\t\t   ng-readonly="fieldController.isReadonly()"\n\t\t\t\t   ng-change="onDatechange($index); field.trigger(\'change\')"\n\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t   ng-focus="field.trigger(\'select\')"\n\t\t\t\t   ng-blur="field.trigger(\'unselect\')"\n\t\t\t\t   k-rebind="afterValue + beforeValue"\n\t\t\t\t   k-format="field.dateFormat"\n\t\t\t\t   k-parse-formats="field.parseFormats"\n\t\t\t\t   dia-on-enter="field.repeatable && $last && fieldController.addNewValue()"\n\t\t\t\t   dia-disable-copy-paste\n\t\t\t\t   name="{{field.uid}}_{{$index}}"\n\t\t\t\t   id="{{field.uid}}_{{$index}}"\n\t\t\t\t   dia-format-date-time="field.dateFormat"\n\t\t\t\t   validate-diamant-date\n\t\t\t\t   validate-input-verification\n\t\t\t\t   kendo-iframe-height\n\t\t\t\t   k-culture="culture" />\n\n\t\t\t<span class="input-btn-placeholder"><\/span>\n\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t<\/span>\n\t\t<\/div>\n\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index].$error">\n\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t\t<div ng-message="inputVerification" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customInputVerificationError && field.customInputVerificationError.localized) ? field.customInputVerificationError.localized : form.InputVerificationError.localized"><\/span><\/div>\n\n\t\t\t\t<div ng-message="diamantDate" class="validation-error" role="alert">\n\t\t\t\t\t<em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;\n\t\t\t\t\t<span ng-bind-html="(form.DateError.localized || \'\').replace(\'{0}\', field.dateFormat)"><\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div ng-message="dateAfter" class="validation-error" role="alert">\n\t\t\t\t\t<em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;\n\t\t\t\t\t<span ng-bind-html="(form.DateAfterError.localized || \'\').replace(\'{0}\', afterValue)"><\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div ng-message="dateBefore" class="validation-error" role="alert">\n\t\t\t\t\t<em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;\n\t\t\t\t\t<span ng-bind-html="(form.DateBeforeError.localized || \'\').replace(\'{0}\', beforeValue)"><\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/date-time-picker-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<div class="form-group dia-answers" ng-repeat="value in field.value track by $index">\n\t\t<div class="input-group" ng-class="{ \'readonly\' : fieldController.isReadonly() }">\n\t\t\t<input type="text" ng-if="field.usedInFormula || field.usedInScoreFormula" ng-model="field.formulaValue" style="visibility: hidden; position: absolute; height: 0;" data-cell="{{field.dataCell}}" />\n\t\t\t<input autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t   class="diamant-date-timepicker"\n\t\t\t\t   diamant-date-timepicker\n\t\t\t\t   k-options="dateOptions"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-model-options="{ updateOn: \'blur\' }"\n\t\t\t\t   placeholder="{{field.placeholder.localized}}"\n\t\t\t\t   ng-placeholder="{{field.placeholder.localized}}"\n\t\t\t\t   ng-readonly="fieldController.isReadonly()"\n\t\t\t\t   ng-change="onDatechange($index); field.trigger(\'change\')"\n\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t   ng-focus="field.trigger(\'select\')"\n\t\t\t\t   ng-blur="field.trigger(\'unselect\')"\n\t\t\t\t   k-rebind="afterValue + beforeValue"\n\t\t\t\t   k-format="field.dateFormat"\n\t\t\t\t   k-parse-formats="field.parseFormats"\n\t\t\t\t   dia-on-enter="field.repeatable && $last && fieldController.addNewValue()"\n\t\t\t\t   dia-disable-copy-paste\n\t\t\t\t   name="{{field.uid}}_{{$index}}"\n\t\t\t\t   id="{{field.uid}}_{{$index}}"\n\t\t\t\t   dia-format-date-time="field.dateFormat"\n\t\t\t\t   validate-diamant-datetime\n\t\t\t\t   validate-input-verification\n\t\t\t\t   k-time-format="\'HH:mm\'"\n\t\t\t\t   kendo-iframe-height />\n\t\t\t<span class="input-btn-placeholder"><\/span>\n\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t<\/span>\n\t\t<\/div>\n\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index].$error">\n\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t\t<div ng-message="inputVerification" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customInputVerificationError && field.customInputVerificationError.localized) ? field.customInputVerificationError.localized : form.InputVerificationError.localized"><\/span><\/div>\n\n\t\t\t\t<div ng-message="validateDiamantDatetime" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(form.DateError.localized || \'\').replace(\'{0}\', field.dateFormat)"><\/span><\/div>\n\t\t\t\t<div ng-message="dateAfter" class="validation-error" role="alert">\n\t\t\t\t\t<em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;\n\t\t\t\t\t<span ng-bind-html="(form.DateAfterError.localized || \'\').replace(\'{0}\', afterValue)"><\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div ng-message="dateBefore" class="validation-error" role="alert">\n\t\t\t\t\t<em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;\n\t\t\t\t\t<span ng-bind-html="(form.DateBeforeError.localized || \'\').replace(\'{0}\', beforeValue)"><\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div ng-message="timeAfter" class="validation-error" role="alert">\n\t\t\t\t\t<em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;\n\t\t\t\t\t<span ng-bind-html="(form.TimeAfterError.localized || \'\').replace(\'{0}\', timeAfter)"><\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div ng-message="timeBefore" class="validation-error" role="alert">\n\t\t\t\t\t<em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;\n\t\t\t\t\t<span ng-bind-html="(form.TimeBeforeError.localized || \'\').replace(\'{0}\', timeBefore)"><\/span>\n\t\t\t\t<\/div>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>');n.put("/Content/Diamant/Viewer/Views/dia-readonly-viewer-item-template.html?v=2.10.4.0",'<div class="dia-result">\n\t<div class="dia-result-label" ng-class="{ \'dia-empty\' : !item.label }" ng-bind-html="getLabel(item)">\n\t<\/div>\n\t<div class="dia-result-items" ng-if="item.subItems">\n\t\t<dia-readonly-viewer-item ng-repeat="subItem in item.subItems track by subItem.uid" item="subItem"><\/dia-readonly-viewer-item>\n\t<\/div>\n\t<div class="dia-result-value" ng-if="item.value">\n\t\t<div ng-repeat="itemValue in item.value track by $index">\n\t\t\t<span ng-bind-html="itemValue"><\/span>\n\t\t<\/div>\n\t<\/div>\n<\/div>');n.put("/Content/Diamant/Viewer/Views/dia-readonly-viewer-template.html?v=2.10.4.0",'<dia-readonly-viewer-item item="pages[currentIndex]"><\/dia-readonly-viewer-item>');n.put("/Content/Diamant/Viewer/Views/dia-view-page-navigator-template.html?v=2.10.4.0",'<div class="row view-page-navigator">\n\t<ul class="nav flex-column">\n\t\t<li class="nav-item"\n\t\t\tng-class="{ \'active\': pageController.page.uid === form.pages[formController.currentIndex].uid }"\n\t\t\tng-repeat="pageController in formController.pages | filter: isVisible track by pageController.page.uid">\n\t\t\t<a link\n\t\t\t   ng-disabled="isNavigationBlocked(pageController)"\n\t\t\t   ng-hide="isNavigationBlocked(pageController) && formController.preventNavigationButtonHidden()"\n\t\t\t   ng-click="formController.goToPage(pageController.page)"\n\t\t\t   class="nav-link underline-span">\n\t\t\t\t<i class="{{ getCompletionIcon(pageController) }}" ng-if="!getCompletionImage(pageController)"><\/i>\n\t\t\t\t<img alt="PageInactiveIcon" class="view-page-navigator-icon" ng-src="/Silicon/FormDefinition/GetFile?guid={{getCompletionImage(pageController)}}" ng-if="getCompletionImage(pageController)">\n\t\t\t\t<span ng-if="pageController.page.resolvedLabel">\n\t\t\t\t\t<span class="page-label" ng-bind-html="pageController.page.resolvedLabel"><\/span>\n\t\t\t\t<\/span>\n\t\t\t<\/a>\n\t\t<\/li>\n\t<\/ul>\n<\/div>');n.put("/Content/Diamant/Viewer/Views/dia-view-pager-template.html?v=2.10.4.0",'<nav>\n\n\t<ul class="pagination">\n\t\t<li class="page-item save-btn" ng-if=":: (form.AllowSaving && !form.IsReview && onSave) || form.Prefill" ng-disabled="form.IsPreview || $root.spinneractive">\n\t\t\t<button type="button" class="page-link btn" ng-click="onSave()"><i class="fas fa-save"><\/i>&nbsp;<span ng-bind-html="form.SaveButtonText.localized"><\/span><\/button>\n\t\t<\/li>\n\n\t\t<li class="page-item previous-btn" ng-show="index > 0" ng-disabled="formController.isNavigationBlocked(index, index - 1)">\n\t\t\t<button type="button" ng-click="onPrevious()" class="page-link btn"><span ng-bind-html="form.pages[index].buttonPreviousText.localized || form.PreviousButtonText.localized"><\/span><\/button>\n\t\t<\/li>\n\n\t\t<li ng-show="(form.ShowPager || form.IsReview) && formController.pages.filter(isVisible).length > 1 && (!formController.isNavigationBlocked(index, formController.pages.indexOf(pageController)) && !formController.preventNavigationButtonHidden())"\n\t\t\tclass="page-item ng-hide"\n\t\t\tng-class="{ \'active\': pageController.page.uid === form.pages[index].uid, \'last\': $last }"\n\t\t\tng-disabled="(isAllowMovingForward(pageController.page)|| formController.isNavigationBlocked(index, formController.pages.indexOf(pageController))) && !form.IsReview"\n\t\t\tng-repeat="pageController in formController.pages | filter: isVisible track by pageController.page.uid">\n\t\t\t<button type="button" ng-click="onGoTo({ $page: pageController.page })" class="page-link btn"><span>{{$index + 1}}<\/span><\/button>\n\t\t<\/li>\n\n\t\t<li class="page-item next-btn" ng-disabled="formController.isPreventNavigation(index + 1)" ng-if="!formController.isLastPage()"\n\t\t\tng-hide="formController.isPreventNavigation(index + 1) && formController.preventNavigationButtonHidden()">\n\t\t\t<button type="submit" ng-disabled="formController.isPreventNavigation(index + 1)" ng-click="onNext()" class="page-link btn" id="nextPageButton"><span ng-bind-html="form.pages[index].buttonNextText.localized||form.NextButtonText.localized"><\/span><\/button>\n\t\t<\/li>\n\n\n\n\n\t\t<li class="page-item submit-btn" ng-disabled="formController.isPreventNavigation(formController.pages.length - 1)"\n\t\t\tng-if="formController.isLastPage() && (form.IsReview || (form.AllowReview && form.AllowReviewEdit)) && !form.Prefill && form.Status!=3"\n\t\t\tng-hide="formController.isPreventNavigation(formController.pages.length - 1) && formController.preventNavigationButtonHidden()">\n\t\t\t<button ng-click="reviewDecline()" class="page-link btn" id="submitPageButton" style="background-color: #f44336;">Declined<\/button>\n\t\t<\/li>\n\n\t\t<li class="page-item submit-btn" ng-disabled="formController.isPreventNavigation(formController.pages.length - 1)"\n\t\t\tng-if="formController.isLastPage() && (form.IsReview || (form.AllowReview && form.AllowReviewEdit)) &&  !form.Prefill&& form.Status!=3"\n\t\t\tng-hide="formController.isPreventNavigation(formController.pages.length - 1) && formController.preventNavigationButtonHidden()">\n\t\t\t<button ng-click="reviewIncomplete()" class="page-link btn" id="incompletePageButton" style="background-color: goldenrod">Incomplete<\/button>\n\t\t<\/li>\n\n\n\t\t<li class="page-item submit-btn" ng-disabled="formController.isPreventNavigation(formController.pages.length - 1)"\n\t\t\tng-if="formController.isLastPage() && (!form.IsReview || (form.AllowReview && form.AllowReviewEdit)) && !form.Prefill"\n\t\t\tng-hide="formController.isPreventNavigation(formController.pages.length - 1) && formController.preventNavigationButtonHidden()">\n\t\t\t<button type="button" ng-disabled="formController.isPreventNavigation(formController.pages.length - 1)" ng-click="onSubmit()"  class="page-link btn" id="submitPageButton"><span ng-bind-html="form.pages[index].buttonSubmitText.localized || form.SubmitButtonText.localized"><\/span><\/button>\n\t\t<\/li>\n\t<\/ul>\n<\/nav>\n');n.put("/Content/Diamant/Viewer/Views/dia-view-progress-template.html?v=2.10.4.0",'<div class="progress">\n\t<div class="progress-bar" role="progressbar" ng-style="{ \'width\' : calculateProgress() + \'%\' }" aria-valuenow="{{pagePercentageProgress}}" aria-valuemin="0" aria-valuemax="100"><\/div>\n\t<div class="progress-percentage" ng-style="{ \'background-size\' : calculateProgress() + \'%\' }">{{pagePercentageProgress}}%<\/div>\n<\/div>');n.put("/Content/Diamant/Viewer/Views/dropdown-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<input type="text"\n\t\t   ng-if="field.usedInFormula || field.usedInScoreFormula"\n\t\t   ng-model="field.formulaValue"\n\t\t   style="visibility: hidden; position: absolute; height: 0;"\n\t\t   data-cell="{{:: field.dataCell}}" />\n\t<input type="number"\n\t\t   ng-if="field.usedInFormula || field.usedInScoreFormula"\n\t\t   ng-model="field.score"\n\t\t   style="visibility: hidden; position: absolute; height: 0;"\n\t\t   data-cell="{{:: field.scoreCell}}" />\n\t<div class="form-group dia-answers"\n\t\t ng-repeat="value in field.value track by $index">\n\t\t<div class="input-group diamant-dropdown"\n\t\t\t ng-class="{ \'readonly\' : fieldController.isReadonly() || (field.readOnlyInReview && form.IsReview) }">\n\t\t\t<select autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t\tid="{{:: field.uid }}_{{ $index }}"\n\t\t\t\t\tname="{{:: field.uid }}_{{ $index }}"\n\t\t\t\t\tclass="k-dropdown dropdown"\n\t\t\t\t\tkendo-drop-down-list\n\t\t\t\t\tk-options="fieldController.getDropDownOption($index)"\n\t\t\t\t\tk-ng-delay="initList"\n\t\t\t\t\tdia-k-delay="initList"\n\t\t\t\t\tng-model="field.value[$index]"\n\t\t\t\t\tng-required="fieldController.isRequired()"\n\t\t\t\t\tng-readonly="fieldController.isReadonly() || (field.readOnlyInReview && form.IsReview)"\n\t\t\t\t\tng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t\ton-destroy="fieldController.removeDropdownOption($index)"\n\t\t\t\t\tvalidate-input-verification\n\t\t\t\t\taria-labelledby="{{:: field.uid }}_label"\n\t\t\t\t\tkendo-iframe-height><\/select>\n\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t<\/span>\n\t\t<\/div>\n\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index].$error">\n\t\t\t\t<div ng-message="required"\n\t\t\t\t\t class="validation-error"\n\t\t\t\t\t role="alert">\n\t\t\t\t\t<em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div ng-message="inputVerification"\n\t\t\t\t\t class="validation-error"\n\t\t\t\t\t role="alert">\n\t\t\t\t\t<em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customInputVerificationError && field.customInputVerificationError.localized) ? field.customInputVerificationError.localized : form.InputVerificationError.localized"><\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n<style>\n\t.dia-form .k-dropdown-wrap .k-input {\n\t\twhite-space: normal;\n\t}\n<\/style>\n');n.put("/Content/Diamant/Viewer/Views/field-base-template.html?v=2.10.4.0",'<div ng-class="::{ \'hidden-field\': field.show === false, \'form-horizontal\': fieldController.getLabelPosition() === 1 }">\n\n\t<div class="form-group"\n\t\t ng-class="::{ \'row\': getLabelPosition() === 1 }">\n\t\t<div ng-class="::{ \'row\': fieldController.getLabelPosition() !== 1 }">\n\t\t\t<div ng-class="::getLabelPositionClass()">\n\t\t\t\t<div ng-class="::{ \'row\': field.helpView===\'besideLabel\' }">\n\t\t\t\t\t<div ng-class="::{ \'col-sm-6\': field.helpView===\'besideLabel\' }">\n\t\t\t\t\t\t<label id="{{field.uid}}_label"\n\t\t\t\t\t\t\t   class="field-label"\n\t\t\t\t\t\t\t   for="{{field.uid}}_0"\n\t\t\t\t\t\t\t   ng-if="::field.showLabel"\n\t\t\t\t\t\t\t   ng-style="::{\'color\':fieldController.getLabelColor()}">\n\t\t\t\t\t\t\t{{field.resolvedLabel}}\n\t\t\t\t\t\t\t<span ng-if="fieldController.isRequired()"\n\t\t\t\t\t\t\t\t  ng-style="::{\'color\':form.RequiredColor}"\n\t\t\t\t\t\t\t\t  aria-hidden="true">{{ form.RequiredMark || \'*\'}}<\/span>\n\t\t\t\t\t\t<\/label>\n\n\t\t\t\t\t\t<i ng-if="::field.tooltipText.localized"\n\t\t\t\t\t\t   id="tooltipHelpTextId{{field.uid}}"\n\t\t\t\t\t\t   class="far fa-info-circle icon tooltip-icon"\n\t\t\t\t\t\t   dia-tooltip="field.tooltipText.localized"\n\t\t\t\t\t\t   uib-tooltip-template="\'diaTooltip.html\'"\n\t\t\t\t\t\t   tooltip-placement="auto top"\n\t\t\t\t\t\t   tooltip-trigger="\'none\'"\n\t\t\t\t\t\t   tooltip-is-open="open"\n\t\t\t\t\t\t   tooltip-behaviour="{{field.tooltipBehaviour}}"\n\t\t\t\t\t\t   tabindex="0">\n\t\t\t\t\t\t<\/i>\n\t\t\t\t\t\t<div ng-if="field.helpView === \'belowLabel\' && field.helpText.localized"\n\t\t\t\t\t\t\t class="help-text help-below-label"\n\t\t\t\t\t\t\t dia-bind-html-compile="field.helpText.localized"><\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div ng-if="field.helpView===\'besideLabel\'" \n\t\t\t\t\t\t class="col-sm-6">\t\n\t\t\t\t\t\t<label ng-bind-html="field.helpText.localized">\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class="field-content-row"\n\t\t\t ng-class="::{ \'row\': fieldController.getLabelPosition() !== 1 }">\n\t\t\t<div class="dia-input-field-icon col-sm-1"\n\t\t\t\t ng-if="field.customInputIcon">\n\t\t\t\t<i id="icon{{field.uid}}"\n\t\t\t\t   class=""\n\t\t\t\t   ng-class="getFieldIconPositionClass()"><\/i>\n\t\t\t<\/div>\n\t\t\t<div class="field-content"\n\t\t\t\t ng-class="::getFieldPositionClass()">\n\t\t\t\t<ng-transclude-replace><\/ng-transclude-replace>\n\t\t\t\t<div ng-if="field.repeatable && !field.readOnly && field.value.length < fieldController.getMaxNumberOfFieldRepetitions()"\n\t\t\t\t\t class="btn btn-default repeat-button"\n\t\t\t\t\t ng-click="(field.maxRepetitions > 0 && field.repetitions >= field.maxRepetitions) ? null : fieldController.addNewValue()"\n\t\t\t\t\t ng-disabled="field.maxRepetitions > 0 && field.repetitions >= field.maxRepetitions">\n\t\t\t\t\t<i ng-if="field.showRepeatableIcon || !field.repeatableButtonText.localized"\n\t\t\t\t\t   class="far fa-plus"><\/i>\n\t\t\t\t\t<span ng-show="field.repeatableButtonText.localized">{{field.repeatableButtonText.localized}}<\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div ng-if="field.helpView === \'belowField\' && field.helpText.localized"\n\t\t\t\t\t class="help-text help-below-field"\n\t\t\t\t\t dia-bind-html-compile="field.helpText.localized"><\/div>\n\t\t\t<\/div>\n\t\t\t<div class="col-sm-3 help-col"\n\t\t\t\t ng-if="field.helpView === \'besideField\' && field.helpText.localized">\n\t\t\t\t<div class="help-text help-beside-field">\n\t\t\t\t\t<span dia-bind-html-compile="field.helpText.localized"><\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n');n.put("/Content/Diamant/Viewer/Views/file-download-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<div ng-class="{ \'readonly\': fieldController.isReadonly() || (fieldController.showOnlyInReview() !== form.IsReview) }">\n\t\t<div ng-if="field.downloadFileName || field.downloadURL" diamant-download ng-model="files" ng-click="downloadFile();" style="cursor: pointer;display: inline-block">\n\t\t\t<div ng-if="field.downloadFileName" style="cursor: pointer;display: inline-block">\n\t\t\t\t<img ng-src="{{field.downloadFileIcon}}" alt="fileicon" width="50" height="50">\n\t\t\t\t<div style="padding-top: 5px;">\n\t\t\t\t\t<span>{{field.downloadFileName}}<\/span><span ng-show="field.downloadFileIcon.endsWith(\'file.png\')">{{field.downloadFileExtension}}<\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div ng-if="field.downloadURL" style="cursor: pointer;display: inline-block">\n\t\t\t\t<img ng-if="field.downloadURL" ng-src="/Content/Images/file.png" alt="fileicon" width="50" height="50">\n\t\t\t\t<div style="padding-top: 5px;">\n\t\t\t\t\t<span>{{field.downloadURL}}<\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/file-upload-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<div ng-class="{ \'readonly\': fieldController.isReadonly() || (fieldController.showOnlyInReview() && !form.IsReview) }" >\n\t\t<div class="k-upload-button">\n\t\t\t<input id="upload{{field.uid}}"\n\t\t\t\t   name="{{field.uid}}"\n\t\t\t\t   type="file"\n\t\t\t\t   kendo-upload\n\t\t\t\t   diamant-upload\n\t\t\t\t   k-options="fileUploadOptions"\n\t\t\t\t   role="button"\n\t\t\t\t   ng-model="files"\n\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? field.buttonText.localized : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t   ng-disabled="form.IsPreview" \n\t\t\t\t  />\n\t\t<\/div>\n\n\t\t<div ng-show="ngForm[field.uid].$dirty && ngForm[field.uid].$invalid" ng-cloak class="ng-hide">\n\t\t\t<div ng-messages="ngForm[field.uid].$error">\n\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t\t<div ng-show="hasMessage()" ng-cloak class="ng-hide">\n\t\t\t<div ng-messages="messages">\n\t\t\t\t<div ng-message="fileName" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.fileNameError.localized"><\/span><\/div>\n\t\t\t\t<div ng-message="extension" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.extensionError.localized.replace(\'{0}\', field.allowedExtensions)"><\/span><\/div>\n\t\t\t\t<div ng-message="fileSize" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.fileSizeError.localized.replace(\'{0}\', field.allowedSize)"><\/span><\/div>\n\t\t\t\t<div ng-message="documentCount" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.documentCountError.localized.replace(\'{0}\', field.allowedDocumentCount)"><\/span><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n<style>\n\t.k-state-focused {\n\t\toutline: 0  !important;\n\t}\n<\/style>');n.put("/Content/Diamant/Viewer/Views/form-template.html?v=2.10.4.0",'<div class="container-fluid diamant-container">\n\t<div class="row">\n\t\t<dia-validationsummary><\/dia-validationsummary>\n\t<\/div>\n\n\t<div>\n\t\t<div class="row diamant-form-viewer-container">\n\t\t\t<div class="col-md-2 col-lg-3 view-page-navigator-container hidden-print" ng-if="(form.Logo || form.ShowIndex == 1) || form.GridWidthType != 1">\n\t\t\t\t<img alt="Logo" class="logo" height="80" ng-src="{{form.Logo}}" ng-if="::form.Logo">\n\t\t\t\t<div ng-if="form.ShowIndex == 1 && formController.currentPage().getType() !== \'CLOSING\'" class="hidden-xs hidden-sm">\n\t\t\t\t\t<!--class="view-page-navigator"-->\n\t\t\t\t\t<dia-view-page-navigator><\/dia-view-page-navigator>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\t<div class="col-md-8 col-lg-6 menu diamant-form">\n\t\t\t\t<div class="refresh-notification" ng-if="isTemplateLoadingError()">\n\t\t\t\t\t<span class="loading-error-message">{{ templateLoadingErrorMessage.localized }}<\/span>\n\t\t\t\t\t<div class="page-item submit-btn">\n\t\t\t\t\t\t<button ng-click="refresh()" class="btn loading-error-button" id="refreshButton"><span>{{ refreshButtonText.localized }}<\/span><\/button>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class="language-switcher hidden-print" ng-if="form.Languages.length > 1">\n\t\t\t\t\t<div class="language-picker" ng-class="{ \'language-picker-large\': (formController.hasDuplicateLanguages(form.Languages) && form.FlagStyle == 2)}">\n\t\t\t\t\t\t<span ng-if="form.FlagStyle == 1" class="active-language flag-icon flag-icon-{{formController.getCountryCode(formController.getActiveCultureCode()).toLowerCase()}}"><\/span>\n\t\t\t\t\t\t<span ng-if="form.FlagStyle == 2" class="active-language">{{ formController.getFlagText(formController.getActiveCultureCode()) }}<\/span>\n\n\t\t\t\t\t\t<div class="languages" ng-if="form.Languages.length > 0">\n\t\t\t\t\t\t\t<div ng-if="form.FlagStyle == 1 && language.CultureCode != formController.getActiveCultureCode()" class="language flag-icon flag-icon-{{formController.getCountryCode(language.CultureCode).toLowerCase()}}" ng-repeat="language in form.Languages" ng-click="formController.setCultureCode(language.CultureCode)"><\/div>\n\t\t\t\t\t\t\t<div ng-if="form.FlagStyle == 2 && language.CultureCode != formController.getActiveCultureCode()" class="language" ng-repeat="language in form.Languages" ng-click="formController.setCultureCode(language.CultureCode)">{{ formController.getFlagText(language.CultureCode) }}<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<dia-view-progress ng-if="form.ProgressIndicator == 1"><\/dia-view-progress>\n\n\t\t\t\t<div ng-bind-html="form.HeaderText.localized" class="header" ng-if="::form.HeaderText.localized"><\/div>\n\t\t\t\t<dia-viewer-page page="page"\n\t\t\t\t\t\t\t\t ng-if="!isTemplateLoadingError()"\n\t\t\t\t\t\t\t\t id="{{page.uid}}"\n\t\t\t\t\t\t\t\t ng-repeat="page in form.pages track by page.uid"\n\t\t\t\t\t\t\t\t ng-form="{{page.key}}"\n\t\t\t\t\t\t\t\t active="formController.currentIndex === $index"\n\t\t\t\t\t\t\t\t load="formController.currentIndex >= $index">\n\t\t\t\t\t<dia-viewer-section section="section" ng-repeat="section in page.sections track by section.uid">\n\n\t\t\t\t\t<\/dia-viewer-section>\n\t\t\t\t<\/dia-viewer-page>\n\t\t\t\t<!--<\/uib-tabset>-->\n\n\t\t\t\t<div class="view-page-pager hidden-print" ng-if="formController.currentPage().getType() !== \'CLOSING\' && !isTemplateLoadingError()">\n\t\t\t\t\t<dia-view-pager form="form"\n\t\t\t\t\t\t\t\t\tindex="formController.currentIndex"\n\t\t\t\t\t\t\t\t\ton-next="formController.nextPage()"\n\t\t\t\t\t\t\t\t\ton-previous="formController.previousPage()"\n\t\t\t\t\t\t\t\t\ton-go-to="formController.goToPage($page)"\n\t\t\t\t\t\t\t\t\ton-submit="formController.submit()"\n\t\t\t\t\t\t\t\t\ton-save="formController.save()"\n\t\t\t\t\t\t\t\t\treview-decline="formController.reviewDecline()"\n\t\t\t\t\t\t\t\t\treview-incomplete="formController.reviewIncomplete()"><\/dia-view-pager>\n\t\t\t\t<\/div>\n\t\t\t\t<div ng-bind-html="form.FooterText.localized" class="footer" ng-if="::form.FooterText.localized"><\/div>\n\t\t\t<\/div>\n\n\t\t\t<div class="hidden-xs hidden-sm col-md-2 col-lg-3 view-page-navigator-container hidden-print" ng-if="(form.ShowIndex == 2 || form.GridWidthType != 1) && !isTemplateLoadingError()">\n\t\t\t\t<div ng-if="form.ShowIndex == 2">\n\t\t\t\t\t<!--class="view-page-navigator"-->\n\t\t\t\t\t<dia-view-page-navigator ng-if="form.ShowIndex == 2 && formController.currentPage().getType() !== \'CLOSING\'" class="hidden-xs hidden-sm"><\/dia-view-page-navigator>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/div>');n.put("/Content/Diamant/Viewer/Views/generic-redirection-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<div ng-class="{ \'readonly\': fieldController.isReadonly() || (fieldController.showOnlyInReview() && !form.IsReview) }">\n\t\t<button ng-disabled="form.IsReview"\n\t\t\t\tid="{{field.uid}}"\n\t\t\t\tname="{{field.uid}}"\n\t\t\t\tclass="btn btn-default"\n\t\t\t\ttype="button"\n\t\t\t\tng-required="fieldController.isRequired()"\n\t\t\t\tdia-redirect>\n\t\t\t<span>{{field.buttonText.localized}}<\/span>\n\t\t<\/button>\n\n\t\t<div ng-show="ngForm[field.uid].$dirty && ngForm[field.uid].$invalid" ng-cloak class="ng-hide">\n\t\t\t<div ng-messages="ngForm[field.uid].$error">\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/hidden-template.html?v=2.10.4.0","<dia-viewer-field-base>\n\tTODO Hidden input\n<\/dia-viewer-field-base>\n");n.put("/Content/Diamant/Viewer/Views/horizontal-seperator-template.html?v=2.10.4.0","<div>\n\tTODO Seperator\n<\/div>");n.put("/Content/Diamant/Viewer/Views/html-control-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<div dia-bind-html-compile="field.text.localized" class="ql-editor"><\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/iban-input-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<input type="text"\n\t\t   style="display: none; width: 0;"\n\t\t   data-cell="{{field.dataCell}}"\n\t\t   data-format="string" />\n\t<div class="form-group dia-answers" ng-repeat="value in field.value track by $index">\n\t\t<div class="input-group">\n\t\t\t<input type="text"\n\t\t\t\t   autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-model-options="{ updateOn: \'blur\' }"\n\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t   ng-pattern="field.regex"\n\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t   name="{{field.uid}}_{{$index}}"\n\t\t\t\t   id="{{field.uid}}_{{$index}}"\n\t\t\t\t   class="form-control"\n\t\t\t\t   placeholder="{{field.placeholder.localized}}"\n\t\t\t\t   ng-readonly="fieldController.isReadonly() || (field.readOnlyInReview && form.IsReview)"\n\t\t\t\t   dia-on-enter="field.repeatable && $last && fieldController.addNewValue()"\n\t\t\t\t   ng-blur="field.trigger(\'unselect\')"\n\t\t\t\t   ng-focus="field.trigger(\'select\')"\n\t\t\t\t   dia-disable-copy-paste\n\t\t\t\t   ng-iban />\n\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t<\/span>\n\t\t<\/div>\n\n\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index].$error">\n\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t\t<div ng-message="ngIban" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.PatternError.localized"><\/span><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/image-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n    <div ng-class="{ \'readonly\': fieldController.isReadonly() || (fieldController.showOnlyInReview() !== form.IsReview) }">\n        <div diamant-image ng-model="files" style="display: inline-block">\n\n            <div ng-if="showImageData">\n                <img class="thumb" ng-src="{{showImageData}}" alt="image file" style="max-width:100%;height:auto; padding-top:10px;padding-bottom:10px;">\n            <\/div>\n            <div ng-if="field.showImageURL">\n                <img class="thumb" ng-src="{{field.showImageURL}}" alt="image file" style="max-width:100%;height:auto; padding-top:10px;padding-bottom:10px;" />\n            <\/div>\n            <div ng-if="field.fileGuid">\n                <img class="thumb" ng-src="/Diamant/GetFileBytesByGuid?guid={{ field.fileGuid }}&formDefinitionVersionId={{ form.FormDefinitionVersionId }}" alt="image file" style="max-width:100%;height:auto" />\n            <\/div>\n            <div>\n                <span ng-show="field.showDescription" style="opacity:0.5; font-size:80%">{{field.description}}<\/span>\n            <\/div>\n\n        <\/div>\n    <\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/license-plate-input-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<div class="license-plate-input-box">\n\t\t<input type="text"\n\t\t\t   style="display: none; width: 0;"\n\t\t\t   ng-model="field.formulaValue"\n\t\t\t   ng-if=":: !field.formula && (field.usedInFormula || field.usedInScoreFormula)"\n\t\t\t   data-cell="{{:: field.dataCell }}"\n\t\t\t   data-format="string" />\n\t\t<div class="form-group dia-answers" ng-repeat="value in field.value track by $index">\n\t\t\t<div class="input-group" ng-class="{ \'transformation-input-group\': field.transformationRegex }">\n\t\t\t\t<input id="{{ field.uid }}_{{ $index }}_formula"\n\t\t\t\t\t   type="text"\n\t\t\t\t\t   style="display: none; width: 0;"\n\t\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t\t   ng-if=":: field.formula"\n\t\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t\t   data-cell="{{:: field.dataCell }}"\n\t\t\t\t\t   data-formula="{{ fieldController.getDataFormula() }}"\n\t\t\t\t\t   data-format="string" />\n\t\t\t\t<input class="license-plate-input"\n\t\t\t\t\t   type="{{:: field.getInputType() }}"\n\t\t\t\t\t   autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t\t   ng-pattern="field.regex"\n\t\t\t\t\t   ng-minlength="field.minChar"\n\t\t\t\t\t   ng-maxlength="field.maxChar"\n\t\t\t\t\t   dia-max-text-length="field.maxChar"\n\t\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t\t   name="{{ field.uid }}_{{ $index }}"\n\t\t\t\t\t   id="{{ field.uid }}_{{ $index }}"\n\t\t\t\t\t   placeholder="{{ field.transformationPlaceholder ? \'\' : field.placeholder.localized }}"\n\t\t\t\t\t   ng-model-options=":: fieldController.ngModelOptions()"\n\t\t\t\t\t   ng-readonly="(fieldController.isReadonly() || (field.formula != undefined && field.formula[0])) || (field.readOnlyInReview && form.IsReview)"\n\t\t\t\t\t   ng-keypress="fieldController.autoFormat($event, ngForm[field.uid + \'_\' + $index])"\n\t\t\t\t\t   ng-keyup="fieldController.autoFormatKeyup($event)"\n\t\t\t\t\t   dia-on-enter="field.repeatable && $last && fieldController.addNewValue()"\n\t\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t\t   ng-focus="field.trigger(\'select\')"\n\t\t\t\t\t   ng-blur="field.trigger(\'unselect\')"\n\t\t\t\t\t   dia-transformation="field.transformationRegex"\n\t\t\t\t\t   mask="field.maskPattern"\n\t\t\t\t\t   restrict="reject"\n\t\t\t\t\t   clean="true"\n\t\t\t\t\t   dia-disable-copy-paste\n\t\t\t\t\t   validate-input-verification\n\t\t\t\t\t   aria-describedby="{{ field.uid }}_{{ $index }}_counter"\n\t\t\t\t\t   ng-style="{\'background-color\':field.plateColor}" />\n\t\t\t\t<span ng-if="field.showEuropeSign" class="license-plate-unit">{{field.europeSign}}<\/span>\n\t\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t<div ng-class="field.maxChar.length > 0 ? \'has-character-counter\' : \'\'">\n\t\t\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index].$error">\n\t\t\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t\t\t\t<div ng-message="pattern" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.PatternError.localized"><\/span><\/div>\n\t\t\t\t\t\t<div ng-message="minlength" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'ShortError\', field.minChar)"><\/span><\/div>\n\t\t\t\t\t\t<div ng-message="maxlength" class="validation-error" role="alert" ng-if="field.maxChar!=null"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'LongError\', field.maxChar)"><\/span><\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>');n.put("/Content/Diamant/Viewer/Views/likert-set-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<div class="row">\n\t\t<div class="col-sm-4"><\/div>\n\t\t<div class="col-sm-8">\n\t\t\t<div class="row">\n\t\t\t\t<div ng-repeat="answer in field.answers" class="col-sm-{{fieldController.colAmount(field.answers.length)}} text-center">\n\t\t\t\t\t<label>{{answer.label.localized}}<\/label>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\t<div ng-repeat="row in field.rows">\n\t\t<hr />\n\t\t<div ng-repeat="fieldItem in row.fields">\n\t\t\t<div class="row">\n\t\t\t\t<div class="col-sm-4">\n\t\t\t\t\t<label>{{fieldItem.label.localized}}<\/label>\n\t\t\t\t<\/div>\n\t\t\t\t<div class="col-sm-8">\n\t\t\t\t\t<div class="row">\n\t\t\t\t\t\t<div ng-repeat="answer in field.answers" class="col-sm-{{fieldController.colAmount(field.answers.length)}} text-center">\n\t\t\t\t\t\t\t<div class="radio">\n\t\t\t\t\t\t\t\t<label class="radio-wrap likert-radio-wrap">\n\t\t\t\t\t\t\t\t\t<input type="radio" name="{{fieldItem.key}}" value="{{answer.value}}" ng-model="fieldItem.value" ng-change="field.trigger(\'change\')" />\n\t\t\t\t\t\t\t\t\t<span class="outer">\n\t\t\t\t\t\t\t\t\t\t<span class="inner"><\/span>\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/likert-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n    <div id="{{field.uid}}">\n        <div class="row">\n            <div ng-repeat="answer in field.answers" class="col-xs-{{fieldController.colAmount(field.answers.length)}} text-center">\n\t\t\t\t<label>\n\t\t\t\t\t{{answer.label.localized}}\n\t\t\t\t<\/label>\n            <\/div>\n        <\/div>\n\n        <div class="row">\n            <div ng-repeat="answer in field.answers" class="col-xs-{{fieldController.colAmount(field.answers.length)}} text-center">\n                <div class="radio">\n                    <label class="radio-wrap likert-radio-wrap">\n                        <input type="radio"\n                               name="{{field.key}}"\n                               value="{{answer.value}}"\n                               ng-model="field.value"\n                               ng-required="fieldController.isRequired()"\n\t\t\t\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t\t\t\t   ng-change="field.trigger(\'change\')">\n                        <span class="outer">\n                            <span class="inner"><\/span>\n                        <\/span>\n                    <\/label>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/multiselect-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<div class="form-group dia-answers" ng-repeat="value in field.value track by $index">\n\t\t<div checkbox-required="{{fieldController.isRequired()}}" ng-class="{ \'readonly\': fieldController.isReadonly() }">\n\t\t\t<div class="input-group">\n\t\t\t\t<input type="text" ng-if="field.usedInFormula || field.usedInScoreFormula" ng-model="field.formulaValue" style="visibility: hidden; display:none; width:0px;" data-cell="{{field.dataCell}}" />\n\t\t\t\t<input type="number" ng-if="field.usedInFormula || field.usedInScoreFormula" ng-model="field.score" style="visibility: hidden; display:none; width:0px;" data-cell="{{field.scoreCell}}" />\n\t\t\t\t<dia-multiselect ng-model="field.value[$index]"\n\t\t\t\t\t\t\t\t name="{{field.uid}}_{{$index}}"\n\t\t\t\t\t\t\t\t field-options="field.options"\n\t\t\t\t\t\t\t\t allow-custom-values-option="field.allowCustomValuesOption"\n\t\t\t\t\t\t\t\t languages="form.Languages"\n\t\t\t\t\t\t\t\t ng-required="fieldController.isRequired()"\n\t\t\t\t\t\t\t\t ng-readonly="fieldController.isReadonly() || (field.readOnlyInReview && form.IsReview)"\n\t\t\t\t\t\t\t\t multi-id="field.uid + $index"\n\t\t\t\t\t\t\t\t page-index="formController.currentIndex"\n\t\t\t\t\t\t\t\t min-Choices="field.minChoices"\n\t\t\t\t\t\t\t\t max-Choices="field.maxChoices"\n\t\t\t\t\t\t\t\t locale="nl-NL"\n\t\t\t\t\t\t\t\t on-open="addIframeHeightAttr(event);field.trigger(\'select\')"\n\t\t\t\t\t\t\t\t on-blur="field.trigger(\'unselect\')"\n\t\t\t\t\t\t\t\t ng-change="field.trigger(\'change\')">\n\t\t\t\t<\/dia-multiselect>\n\t\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index].$error">\n\t\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t\t\t<div ng-message="minChoices" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'MinChoicesError\', field.minChoices)"><\/span><\/div>\n\t\t\t\t\t<div ng-message="maxChoices" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'MaxChoicesError\', field.maxChoices)"><\/span><\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/nationalities-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<input type="text"\n\t\t   style="display: none; width: 0;"\n\t\t   ng-model="field.formulaValue"\n\t\t   ng-if=":: !field.formula && (field.usedInFormula || field.usedInScoreFormula)"\n\t\t   data-cell="{{:: field.dataCell }}"\n\t\t   data-format="string" />\n\t<div class="form-group dia-answers" \n\t\t ng-repeat="value in field.value track by $index">\n\t\t<div class="input-group diamant-dropdown"\n\t\t\t ng-class="{ \'readonly\' : fieldController.isReadonly() }"\n\t\t\t ng-if="showList">\n\t\t\t<select autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t\tid="{{::field.uid }}_{{ $index }}"\n\t\t\t\t\tname="{{::field.uid }}_{{ $index }}"\n\t\t\t\t\tclass="k-dropdown dropdown"\n\t\t\t\t\tkendo-drop-down-list\n\t\t\t\t\tk-options="fieldController.getDropDownOption($index)"\n\t\t\t\t\tk-ng-delay="initList"\n\t\t\t\t\tdia-k-delay="initList"\n\t\t\t\t\tng-model="field.value[$index]"\n\t\t\t\t\tng-readonly="fieldController.isReadonly()"\n\t\t\t\t\tng-change="field.trigger(\'change\')"\n\t\t\t\t\tng-required="fieldController.isRequired()"\n\t\t\t\t\taria-labelledby="{{:: field.uid }}_label"><\/select>\n\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t<\/span>\n\t\t<\/div>\n\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index].$error">\n\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div ng-messages="field.globalErrors">\n\t\t\t<div ng-message="countriesApiError" ng-if=":: field.callFailedError" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;{{ field.callFailedError.localized }}<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/numeric-text-input-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<div class="form-group dia-answers" ng-repeat="value in field.value track by $index">\n\t\t<div class="input-group" ng-class="{ \'readonly\' : fieldController.isReadonly() }">\n\t\t\t<input id="{{ field.uid }}_{{ $index }}_formula"\n\t\t\t\t   type="number"\n\t\t\t\t   style="display:none; width:0px;"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-if=":: field.formula || field.usedInFormula || field.usedInScoreFormula"\n\t\t\t\t   data-cell="{{:: field.getRepeatDataCell($index) }}"\n\t\t\t\t   data-formula="{{ fieldController.getDataFormula() }}" />\n\t\t\t<input type="number"\n\t\t\t\t   autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t   id="{{ field.uid }}_{{ $index }}_validation"\n\t\t\t\t   name="{{ field.uid }}_{{ $index }}_validation"\n\t\t\t\t   style="display:none; width:0px;"\n\t\t\t\t   class="diamant-number-text-box form-control"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t   ng-pattern="field.regex"\n\t\t\t\t   dia-numeric-min-validation="field.value[$index]"\n\t\t\t\t   dia-numeric-max-validation="field.value[$index]"\n\t\t\t\t   validate-input-verification />\n\t\t\t<input type="number"\n\t\t\t\t   autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t   id="{{ field.uid }}_{{ $index }}"\n\t\t\t\t   name="{{ field.uid }}_{{ $index }}"\n\t\t\t\t   class="diamant-number-text-box form-control"\n\t\t\t\t   kendo-numeric-text-box\n\t\t\t\t   k-ng-model="field.value[$index]"\n\t\t\t\t   k-options="getNumericOptions($index)"\n\t\t\t\t   ng-model-options="{ updateOn: \'blur\' }"\n\t\t\t\t   ng-readonly="(fieldController.isReadonly() || (field.formula != undefined && field.formula[0])) || (field.readOnlyInReview && form.IsReview)"\n\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t   ng-focus="field.trigger(\'select\')"\n\t\t\t\t   ng-blur="field.trigger(\'unselect\');fieldController.checkNumericFieldIsReferenced(field, ngForm)"\n\t\t\t\t   dia-on-enter="field.repeatable && $last && fieldController.addNewValue()"\n\t\t\t\t   dia-disable-copy-paste />\n\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t<\/span>\n\t\t<\/div>\n\t\t<div>\n\t\t\t<div ng-show="ngForm[field.uid + \'_\' + $index + \'_validation\'].$invalid && ngForm[field.uid + \'_\' + $index + \'_validation\'].$dirty" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index + \'_validation\'].$error">\n\t\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t\t\t<div ng-message="pattern" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.PatternError.localized"><\/span><\/div>\n\t\t\t\t\t<div ng-message="min" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'LowError\', field.min)"><\/span><\/div>\n\t\t\t\t\t<div ng-message="max" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'HighError\', field.max)"><\/span><\/div>\n\t\t\t\t\t<div ng-message="minlength" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'ShortError\', field.minChar)"><\/span><\/div>\n\t\t\t\t\t<div ng-message="maxlength" class="validation-error" role="alert" ng-if="field.maxChar!=null"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'LongError\', field.maxChar)"><\/span><\/div>\n\t\t\t\t\t<div ng-message="inputVerification" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customInputVerificationError && field.customInputVerificationError.localized) ? field.customInputVerificationError.localized : form.InputVerificationError.localized"><\/span><\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/x-page-template.html?v=2.10.4.0",'<div class="page-content ng-hide"\n     ng-if="!page.hidden && !page.isConditionalHidden() && formController.maxIndex >= $index - 1"\n     ng-show="active"\n     aria-live="assertive">\n    <!-- fieldset allows the cascading effect of ng-disabled on a page -->\n    <!-- this prevents non-shown pages from having their values be altered by user input -->\n\n    <h1 id="page-label-{{ $index }}"\n        class="page-label hidden-print"\n        ng-if="page.resolvedLabel && page.showLabel"\n        ng-style="{ \'color\': pageController.getLabelColor }"\n        ng-class="{ \'underline\': form.SectionLabelDecoration == 1 || form.SectionLabelDecoration == 3,\n\t\t\t\'bold\': form.SectionLabelDecoration == 2 || form.SectionLabelDecoration == 3 }">\n        {{ page.resolvedLabel }}\n    <\/h1>\n\n    <ng-transclude-replace><\/ng-transclude-replace>\n    <div ng-if="page.pageType == \'CLOSING\' && form.SubmitAction === 4">\n        <a link\n            ng-href="{{pageController.ensureIsUrl(form.redirectUrl)}}"\n            href="" ng-attr-target="{{form.SubmitActionRedirectTarget ? \'_top\' : \'_self\'}}"\n            class="btn btn-default">{{ page.redirectButtonText.localized }}<\/a>\n    <\/div>\n<\/div>');n.put("/Content/Diamant/Viewer/Views/password-input-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<div class="form-group dia-answers" ng-repeat="value in field.value track by $index">\n\t\t<div class="input-group">\n\t\t\t<input type="password"\n\t\t\t\t   autocomplete="new-password"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-model-options="{ updateOn: \'blur\' }"\n\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t   ng-minlength="field.minChar"\n\t\t\t\t   ng-maxlength="field.maxChar"\n\t\t\t\t   ng-pattern="field.regex"\n\t\t\t\t   ng-required="field.required"\n\t\t\t\t   ng-readonly="fieldController.isReadonly()"\n\t\t\t\t   name="{{field.uid}}_{{$index}}"\n\t\t\t\t   id="{{field.uid}}_{{$index}}"\n\t\t\t\t   class="form-control"\n\t\t\t\t   placeholder="{{field.placeholder.localized}}"\n\t\t\t\t   dia-on-enter="field.repeatable && $last && fieldController.addNewValue()"\n\t\t\t\t   ng-blur="field.trigger(\'unselect\')"\n\t\t\t\t   ng-focus="field.trigger(\'select\')"\n\t\t\t\t   clean="true"\n\t\t\t\t   dia-disable-copy-paste\n\t\t\t\t   dia-password\n\t\t\t\t   one-number="field.minOneNumber"\n\t\t\t\t   one-uppercase="field.minOneUppercase"\n\t\t\t\t   one-lowercase="field.minOneLowercase"\n\t\t\t\t   special-character="field.minOneNonAlphabetic"\n\t\t\t\t   validate-input-verification />\n\t\t\t<span class="input-group-addon btn btn-default hidden-print" ng-click="viewHidePassword(field)"><i class="{{field.passwordViewIcon}}"><\/i><\/span>\n\t\t<\/div>\n\n\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index].$error" ng-messages-multiple="true">\n\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t\t<div ng-message="oneNumber" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customNumberError && field.customNumberError.localized)? field.customNumberError.localized : form.MinOneNumberError.localized"><\/span><\/div>\n\t\t\t\t<div ng-message="oneUppercase" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customUppercaseError && field.customUppercaseError.localized)? field.customUppercaseError.localized : form.MinOneUpperCaseError.localized"><\/span><\/div>\n\t\t\t\t<div ng-message="oneLowercase" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customLowercaseError && field.customLowercaseError.localized)? field.customLowercaseError.localized : form.MinOneLowerCaseError.localized"><\/span><\/div>\n\t\t\t\t<div ng-message="specialCharacter" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customNonAlphabeticError && field.customNonAlphabeticError.localized)? field.customNonAlphabeticError.localized : form.MinOneNonAlphaDefaultError.localized "><\/span><\/div>\n\t\t\t\t<div ng-message="minlength" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'ShortError\', field.minChar)"><\/span><\/div>\n\t\t\t\t<div ng-message="maxlength" class="validation-error" role="alert" ng-if="field.maxChar!=null"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'LongError\', field.maxChar)"><\/span><\/div>\n\t\t\t\t<div ng-message="inputVerification" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customInputVerificationError && field.customInputVerificationError.localized) ? field.customInputVerificationError.localized : form.InputVerificationError.localized"><\/span><\/div>\n\t\t\t\t<div ng-message="pattern" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.PatternError.localized"><\/span><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/payment-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<div  dia-payment dia-bind-html-compile="field.text.localized" ng-model="field.value" name="{{:: field.uid }}" class="ql-editor"><\/div>\n\t<div ng-show="ngForm[field.uid].$dirty && ngForm[field.uid].$invalid" ng-cloak class="ng-hide">\n\t\t<div ng-messages="ngForm[field.uid].$error">\n\t\t\t<div ng-message="creation" class="validation-error" role="alert">\n\t\t\t\t<em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="form.PaymentCreationFailedError.localized"><\/span>\n\t\t\t<\/div>\n\t\t\t<div ng-message="failed" class="validation-error" role="alert">\n\t\t\t\t<em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;\n\t\t\t\t<span dia-bind-html-compile="field.failedError.localized"><\/span>\n\t\t\t<\/div>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t   \n\t\t\t<div ng-message="uncertain" class="validation-error" role="alert">\n\t\t\t\t<em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;\n\t\t\t\n\t\t\t\t<span dia-bind-html-compile="field.uncertainError.localized"><\/span>\n\t\t\t\t<!--<a href="#" ng-click="retryPayment(field)">here<\/a>-->\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/phone-number-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field ng-if="fieldController.loaded">\n\t<input type="text"\n\t\t   style="display: none; width: 0;"\n\t\t   ng-model="field.formulaValue"\n\t\t   ng-if=":: !field.formula && (field.usedInFormula || field.usedInScoreFormula)"\n\t\t   data-cell="{{:: field.dataCell }}"\n\t\t   data-format="string" />\n\t<div class="form-group dia-answers" ng-repeat="value in field.value track by $index">\n\t\t<div class="input-group">\n\t\t\t<input type="text"\n\t\t\t\t   style="display: none; width: 0;"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-if=":: field.formula"\n\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t   data-cell="{{:: field.dataCell }}"\n\t\t\t\t   data-formula="{{ fieldController.getDataFormula() }}" />\n\t\t\t<input type="tel"\n\t\t\t\t   autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t   dia-phone-number\n\t\t\t\t   country="field.country"\n\t\t\t\t   enable-placeholder="field.enablePlaceholder"\n\t\t\t\t   custom-placeholder="field.customPlaceholder.localized"\n\t\t\t\t   preferred-countries="field.preferredCountries"\n\t\t\t\t   national-mode="!field.internationalMode"\n\t\t\t\t   allow-dropdown="field.allowDropdown"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-model-options="{ updateOn: \'blur\' }"\n\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t   name="{{ field.uid }}_{{ $index }}"\n\t\t\t\t   id="{{ field.uid }}_{{ $index }}"\n\t\t\t\t   class="form-control"\n\t\t\t\t   ng-readonly="fieldController.isReadonly() || (field.readOnlyInReview && form.IsReview)"\n\t\t\t\t   dia-on-enter="field.repeatable && $last && fieldController.addNewValue()"\n\t\t\t\t   ng-blur="field.trigger(\'unselect\')"\n\t\t\t\t   ng-focus="field.trigger(\'select\')"\n\t\t\t\t   dia-disable-copy-paste />\n\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t<\/span>\n\t\t<\/div>\n\n\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index].$error">\n\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t\t<div ng-message="phoneNumber" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.patternError.localized"><\/span><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/polling-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<button type="button" class="btn btn-default btn-polling"\n\t\t\tdia-polling="poll()"\n\t\t\tdia-polling-type="field.pollingType"\n\t\t\tdia-polling-interval="field.interval"\n\t\t\tdia-polling-stop="field.value === \'Done\' || field.value === \'Timeout\' || !pageController.active"\n\t\t\tdia-polling-timeout="field.timeout"\n\t\t\tdia-polling-on-timeout="onTimeout()">\n\t\t<span class="fas fa-cloud-download-alt"><\/span>\n\t\t<span ng-if=":: field.pollingType === \'manual\'">{{field.buttonText.localized}}<\/span>\n\t<\/button>\n\t<span ng-show="field.polling" class="fas fa-sync fa-spin polling-spinner"><\/span>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/qrcode-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n    <div ng-class="{ \'readonly\': fieldController.isReadonly() || (fieldController.showOnlyInReview() !== form.IsReview) }">\n\t\t\t<div style="padding-bottom: 5px;">\n\t\t\t\t<dia-qrcode qr-url="field.qrcode" qr-text-visible="false" qr-background-color="field.backgroundColor" qr-foreground-color="field.foregroundColor"><\/dia-qrcode>\n\t\t\t<\/div>\n\t\t\t<div>\n\t\t\t\t<span ng-show="field.showDescription" style="opacity:0.5; font-size:80%">{{field.description}}<\/span>\n\t\t\t<\/div>\n    <\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/radio-button-matrix-question-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<div id="{{field.uid}}" class="dia-answers" ng-class="{ \'readonly\': fieldController.isReadonly() }">\n\t\t<input type="text" ng-if="field.usedInFormula || field.usedInScoreFormula" ng-model="field.formulaValue" style="visibility: hidden; display:none; width:0px;" data-cell="{{field.dataCell}}" />\n\t\t<input type="number" ng-if="field.usedInFormula || field.usedInScoreFormula" ng-model="field.score" style="visibility: hidden; display:none; width:0px;" data-cell="{{field.scoreCell}}" />\n\t\t<div class="row" role="radiogroup" aria-labelledby="{{ field.uid }}_label">\n\t\t\t<div ng-if="!set.horizontal">\n\t\t\t\t<div class="row flex-row">\n\t\t\t\t\t<div class="radio flex-answer" ng-repeat="answer in set.answers track by $index" style="text-align:center">\n\t\t\t\t\t\t<label class="radio-wrap" for="{{field.uid}}_option_{{$index}}" style="width:auto;display:inline-block">\n\t\t\t\t\t\t\t<input id="{{field.uid}}_option_{{$index}}"\n\t\t\t\t\t\t\t\t   name="{{field.uid}}"\n\t\t\t\t\t\t\t\t   type="radio"\n\t\t\t\t\t\t\t\t   ng-value="answer.value"\n\t\t\t\t\t\t\t\t   ng-model="field.value"\n\t\t\t\t\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t\t\t\t\t   ng-change="field.trigger(\'change\'); setController.updateFormulaAnswers(field.value, \'{{field.value}}\')"\n\t\t\t\t\t\t\t\t   validate-input-verification>\n\t\t\t\t\t\t\t<span class="outer">\n\t\t\t\t\t\t\t\t<span class="inner"><\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\n\t\t\t<div ng-if="set.horizontal">\n\n\t\t\t\t<div class="row">\n\t\t\t\t\t<div class="col-xs-{{12 / set.numCols}} text-center" ng-repeat="answer in set.answers track by $index" style="text-align:center">\n\t\t\t\t\t\t<label class="radio-inline" style="display:inline-flex; width:100%;">\n\t\t\t\t\t\t\t<input id="{{field.uid}}_option_{{$index}}"\n\t\t\t\t\t\t\t\t   name="{{field.uid}}"\n\t\t\t\t\t\t\t\t   type="radio"\n\t\t\t\t\t\t\t\t   ng-value="answer.value"\n\t\t\t\t\t\t\t\t   ng-model="field.value"\n\t\t\t\t\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t\t\t\t\t   ng-change="field.trigger(\'change\'); setController.updateFormulaAnswers(field.value, \'{{field.value}}\')"\n\t\t\t\t\t\t\t\t   validate-input-verification>\n\t\t\t\t\t\t\t<span ng-bind-html="answer.label.localized | unsafe" style="margin-left:5px; width:100%;"><\/span>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n<div ng-show="ngForm[field.uid].$dirty && ngForm[field.uid].$invalid" ng-cloak class="ng-hide">\n\t<div ng-messages="ngForm[field.uid].$error">\n\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t<\/div>\n<\/div>');n.put("/Content/Diamant/Viewer/Views/radio-button-matrix-set-template.html?v=2.10.4.0",'<div ng-if="!setController.showOnlyInReview() || form.IsReview" ng-class="{ \'hidden-field\': !set.show }">\n\t<h3 class="set-label" ng-if="set.showLabel" ng-style="{ \'color\': setController.getLabelColor() }">{{ set.resolvedLabel }}<\/h3>\n\t<div ng-if="set.helpView === \'belowLabel\' && set.helpText.localized" class="help-text help-below-label" dia-bind-html-compile="set.helpText.localized"><\/div>\n\n\t<i ng-if="set.tooltipText.localized"\n\t   id="tooltipHelpTextId{{set.uid}}"\n\t   class="far fa-info-circle icon tooltip-icon"\n\t   dia-tooltip="set.helpText.localized"\n\t   uib-tooltip-template="\'diaTooltip.html\'"\n\t   tooltip-placement="auto top"\n\t   tooltip-trigger="\'none\'"\n\t   tooltip-is-open="open"\n\t   tabindex="0">\n\t<\/i>\n\n\t<div class="dia-set-icons pull-right">\n\t\t<i class="fas fa-times dia-icon" ng-if="!set.readOnly && set.repeatable && (set.original && set.original.repetitions > 0)" ng-click="section.removeSet(set)"><\/i>\n\t<\/div>\n\n\t<div class="row" ng-if="!set.horizontal">\n\t\t<div class="col-sm-8 col-sm-offset-4">\n\t\t\t<div class="row flex-row">\n\t\t\t\t<div ng-repeat="answer in set.answers track by $index" class="flex-answer" style="text-align:center">\n\t\t\t\t\t<span ng-if="answer.label.localized">\n\t\t\t\t\t\t{{answer.label.localized}}\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<hr />\n\n\t<\/div>\n\n\t<dia-viewer-row row="row" ng-repeat="row in set.rows track by row.uid">\n\t<\/dia-viewer-row>\n\t\n\t<input type="number" ng-repeat="answer in set.answers track by $index" style="visibility: hidden; display:none; width:0px;" data-cell="{{set.getPropertyDataCell(answer.value)}}" ng-value="set.countFormulaAnswers(answer.value)" />\n\t<div ng-if="set.helpView === \'belowSet\' && set.helpText.localized && set.last" class="help-text help-below-label" dia-bind-html-compile="set.helpText.localized"><\/div>\n<\/div>\n\n');n.put("/Content/Diamant/Viewer/Views/radio-button-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<div id="{{field.uid}}" class="form-group dia-answers" ng-class="{ \'readonly\': fieldController.isReadonly() }">\n\t\t<input type="text" ng-if="field.usedInFormula || field.usedInScoreFormula" ng-model="field.formulaValue" style="visibility: hidden; display:none; width:0px;" data-cell="{{field.dataCell}}" />\n\t\t<input type="number" ng-if="field.usedInFormula || field.usedInScoreFormula" ng-model="field.score" style="visibility: hidden; display:none; width:0px;" data-cell="{{field.scoreCell}}" />\n\t\t<div ng-if="!field.horizontal" role="radiogroup" aria-labelledby="{{ field.uid }}_label">\n\t\t\t<div class="radio input-group" ng-repeat="option in field.options track by $index">\n\t\t\t\t<label class="radio-wrap" for="{{field.uid}}_option_{{$index}}">\n\t\t\t\t\t<img style="width:40px;height:40px;object-fit:cover;margin-bottom:10px;display:block;margin-left:0;margin-right:auto;"\n\t\t\t\t\t\t ng-show="option.image"\n\t\t\t\t\t\t ng-src="/Silicon/FormDefinition/GetFile?guid={{ option.image }}"\n\t\t\t\t\t\t alt="invalid image file"\n\t\t\t\t\t\t class="option-image" />\n\t\t\t\t\t<input id="{{field.uid}}_option_{{$index}}"\n\t\t\t\t\t\t   name="{{field.uid}}"\n\t\t\t\t\t\t   type="radio"\n\t\t\t\t\t\t   ng-value="option.value"\n\t\t\t\t\t\t   ng-model="field.value"\n\t\t\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t\t\t   validate-input-verification>\n\t\t\t\t\t<span class="outer" aria-hidden="true">\n\t\t\t\t\t\t<span class="inner"><\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<span dia-bind-html-compile="option.label.localized" class="optionlabel"><\/span>\n\t\t\t\t<\/label>\n\t\t\t<\/div>\n\n\t\t\t<div class="radio" ng-if="field.noneOption">\n\t\t\t\t<label class="radio-wrap" for="{{field.uid}}_none">\n\t\t\t\t\t<input id="{{field.uid}}_none"\n\t\t\t\t\t\t   name="{{field.uid}}"\n\t\t\t\t\t\t   value="none"\n\t\t\t\t\t\t   type="radio"\n\t\t\t\t\t\t   ng-model="field.value"\n\t\t\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t\t\t   validate-input-verification>\n\t\t\t\t\t<span class="outer">\n\t\t\t\t\t\t<span class="inner"><\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<span class="optionlabel">\n\t\t\t\t\t\t{{field.noneOptionLabel.localized}}\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/label>\n\t\t\t<\/div>\n\t\t\t<div class="radio other-option" ng-if="field.otherOption" ng-class="{ \'checked\': field.value == \'other\' }">\n\t\t\t\t<label class="radio-wrap" for="{{field.uid}}_other">\n\t\t\t\t\t<input id="{{field.uid}}_other"\n\t\t\t\t\t\t   name="{{field.uid}}"\n\t\t\t\t\t\t   type="radio"\n\t\t\t\t\t\t   value="other"\n\t\t\t\t\t\t   ng-model="field.value"\n\t\t\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t\t\t   validate-input-verification>\n\t\t\t\t\t<span class="outer">\n\t\t\t\t\t\t<span class="inner"><\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<span class="optionlabel">\n\t\t\t\t\t\t{{field.otherOptionLabel.localized}}\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/label>\n\n\t\t\t\t<input id="{{ field.uid }}_otherValue"\n\t\t\t\t\t   name="{{field.uid}}_otherValue"\n\t\t\t\t\t   type="text"\n\t\t\t\t\t   class="form-control radio-othervalue"\n\t\t\t\t\t   ng-if="field.value == \'other\'"\n\t\t\t\t\t   ng-model="field.otherValue"\n\t\t\t\t\t   ng-model-options="{ updateOn: \'blur\' }"\n\t\t\t\t\t   ng-required="(field.value == \'other\' && field.show) && fieldController.isRequired()"\n\t\t\t\t\t   ng-readonly="fieldController.isReadonly()"\n\t\t\t\t\t   ng-attr-title="{{ field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t\t   validate-input-verification />\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t\t<div ng-if="field.horizontal" class="row radio-horizontal" role="radiogroup" aria-labelledby="{{ field.uid }}_label">\n\t\t\t<div class="radio col-sm-{{12 / field.numCols}}" ng-repeat="option in field.options track by $index">\n\t\t\t\t<div ng-show="option.image" class="d-flex flex-column align-items-center">\n\t\t\t\t\t<label class="radio-wrap" for="{{field.uid}}_option_{{$index}}">\n\t\t\t\t\t\t<img ng-show="option.image"\n\t\t\t\t\t\t\t ng-src="/Silicon/FormDefinition/GetFile?guid={{ option.image }}"\n\t\t\t\t\t\t\t alt="invalid image file"\n\t\t\t\t\t\t\t class="option-image" />\n\t\t\t\t\t\t<input id="{{field.uid}}_option_{{$index}}"\n\t\t\t\t\t\t\t   name="{{field.uid}}"\n\t\t\t\t\t\t\t   type="radio"\n\t\t\t\t\t\t\t   ng-value="option.value"\n\t\t\t\t\t\t\t   ng-model="field.value"\n\t\t\t\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t\t\t\t   validate-input-verification>\n\t\t\t\t\t\t<span class="outer">\n\t\t\t\t\t\t\t<span class="inner"><\/span>\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<span dia-bind-html-compile="option.label.localized" class="optionlabel"><\/span>\n\t\t\t\t\t<\/label>\n\t\t\t\t<\/div>\n\t\t\t\t<div ng-show="!option.image">\n\t\t\t\t\t<label class="radio-wrap" for="{{field.uid}}_option_{{$index}}">\n\t\t\t\t\t\t<input id="{{field.uid}}_option_{{$index}}"\n\t\t\t\t\t\t\t   name="{{field.uid}}"\n\t\t\t\t\t\t\t   type="radio"\n\t\t\t\t\t\t\t   ng-value="option.value"\n\t\t\t\t\t\t\t   ng-model="field.value"\n\t\t\t\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t\t\t\t   validate-input-verification>\n\t\t\t\t\t\t<span class="outer">\n\t\t\t\t\t\t\t<span class="inner"><\/span>\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<span dia-bind-html-compile="option.label.localized" class="optionlabel"><\/span>\n\t\t\t\t\t<\/label>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\t<div class="radio col-sm-{{12 / field.numCols}}" ng-if="field.noneOption">\n\t\t\t\t<label class="radio-wrap" for="{{field.uid}}_none">\n\t\t\t\t\t<input id="{{field.uid}}_none"\n\t\t\t\t\t\t   name="{{field.uid}}"\n\t\t\t\t\t\t   type="radio"\n\t\t\t\t\t\t   value="none"\n\t\t\t\t\t\t   ng-model="field.value"\n\t\t\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t\t\t   validate-input-verification>\n\t\t\t\t\t<span class="outer">\n\t\t\t\t\t\t<span class="inner"><\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<span class="optionlabel">\n\t\t\t\t\t\t{{field.noneOptionLabel.localized}}\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/label>\n\t\t\t<\/div>\n\n\t\t\t<div class="radio col-sm-{{12 / field.numCols}}" ng-if="field.otherOption">\n\t\t\t\t<label class="radio-wrap" for="{{field.uid}}_other">\n\t\t\t\t\t<input id="{{field.uid}}_other"\n\t\t\t\t\t\t   name="{{field.uid}}"\n\t\t\t\t\t\t   type="radio"\n\t\t\t\t\t\t   value="other"\n\t\t\t\t\t\t   ng-model="field.value"\n\t\t\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t\t\t   validate-input-verification>\n\t\t\t\t\t<span class="outer">\n\t\t\t\t\t\t<span class="inner"><\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<span class="optionlabel">\n\t\t\t\t\t\t{{field.otherOptionLabel.localized}}\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/label>\n\n\t\t\t\t<input id="{{ field.uid }}_otherValue"\n\t\t\t\t\t   name="{{field.uid}}_otherValue"\n\t\t\t\t\t   type="text"\n\t\t\t\t\t   class="form-control radio-othervalue"\n\t\t\t\t\t   ng-if="field.value == \'other\'"\n\t\t\t\t\t   ng-model="field.otherValue"\n\t\t\t\t\t   ng-model-options="{ updateOn: \'blur\' }"\n\t\t\t\t\t   ng-required="(field.value == \'other\' && field.show) && fieldController.isRequired()"\n\t\t\t\t\t   ng-readonly="fieldController.isReadonly()"\n\t\t\t\t\t   ng-attr-title="{{ field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t\t   validate-input-verification />\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div ng-show="ngForm[field.uid].$dirty && ngForm[field.uid].$invalid" ng-cloak class="ng-hide">\n\t\t\t<div ng-messages="ngForm[field.uid].$error">\n\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t\t<div ng-message="inputVerification" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customInputVerificationError && field.customInputVerificationError.localized) ? field.customInputVerificationError.localized : form.InputVerificationError.localized"><\/span><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t\t<!--error messages specificaly for the other option-->\n\t\t<div ng-if="field.otherOption" ng-show="ngForm[field.uid + \'_otherValue\'].$dirty && ngForm[field.uid + \'_otherValue\'].$invalid" ng-cloak class="ng-hide">\n\t\t\t<div ng-messages="ngForm[field.uid + \'_otherValue\'].$error">\n\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n<style>\n\t.radio-wrap {\n\t\tdisplay: flex;\n\t\tflex-direction: column; /* Stack the image, radio button, and label vertically */\n\t\talign-items: flex-start; /* Align everything to the left */\n\t\ttext-align: left; /* Ensure text is aligned to the left */\n\t}\n\n\t.radio-wrap .optionlabel {\n\t\tmargin: 0; /* Remove any extra spacing */\n\t}\n\n\n\n\t.radio-wrap .option-image {\n\t\tmargin-bottom: 10px; /* Add spacing below the image */\n\t\tdisplay: block;\n\t\tmax-width: 100%; /* Ensure the image doesn\'t exceed its container */\n\t\theight: auto; /* Maintain aspect ratio */\n\t\tobject-fit: cover; /* Ensure the image is properly cropped */\n\t}\n<\/style>');n.put("/Content/Diamant/Viewer/Views/rating-scale-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<table class="table rating" ng-class="{ \'centered\': field.center }">\n\t\t<tr>\n\t\t\t<td ng-repeat="option in field.options track by $index">\n\t\t\t\t<div><input type="radio" ng-model="field.value" value="{{option.value}}" /><\/div><div>{{option.label.localized}}<\/div>\n\t\t\t<\/td>\n\t\t<\/tr>\n\t<\/table>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/rating-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<div class="form-group dia-answers" ng-repeat="value in field.value track by $index" ng-init="parentGroupIndex = $index">\n\t\t<div class="input-group" id="ratingGroup{{parentGroupIndex}}">\n\t\t\t<input type="text" ng-if="field.usedInFormula || field.usedInScoreFormula" ng-model="field.formulaValue" style="visibility: hidden; position: absolute; height: 0;" data-cell="{{field.dataCell}}" />\n\t\t\t<div diamant-rating ng-model="field.value[$index]" name="{{field.uid + \'_\' + $index}}">\n\t\t\t\t<span ng-repeat="n in [].constructor(field.scale)  track by $index" class="rating-icon" ng-mouseenter="mouseEnter($index)" ng-mouseleave="mouseOut($index)" ng-click="selectedRating($index)">\n\t\t\t\t\t<span id="ratingIcon_{{$index}}" class="fa-fw" ng-class="($index < field.value[parentGroupIndex]) ? [field.ratingIconSelected] : [field.ratingIconUnselected]"><\/span>\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\n\t\t\t<!-- Repeating remove section -->\n\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t<\/span>\n\t\t<\/div>\n\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index].$error">\n\t\t\t\t<div ng-message="required" class="validation-error" role="alert">\n\t\t\t\t\t<em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized)? field.customRequiredError.localized : form.RequiredError.localized"><\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/redirect-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<div class="input-group">\n\t\t<div dia-redirect class="validation-error"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.redirectError"><\/span><\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/relation-verification-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<div ng-class="{ \'input-group\': field.displayAs == \'passwordInput\'}" }>\n\n\t\t<input ng-if="field.displayAs == \'textInput\'"\n\t\t\t   type="text"\n\t\t\t   autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t   ng-model="field.value"\n\t\t\t   ng-model-options="{ updateOn: \'blur\' }"\n\t\t\t   ng-required="field.required"\n\t\t\t   name="{{field.uid}}"\n\t\t\t   id="{{field.uid}}_{{ $index }}"\n\t\t\t   class="form-control"\n\t\t\t   placeholder="{{field.placeholder.localized}}"\n\t\t\t   ng-readonly="fieldController.isReadonly()"\n\t\t\t   ng-blur="field.trigger(\'unselect\');verifyInput()"\n\t\t\t   ng-focus="field.trigger(\'select\')"\n\t\t\t   diamant-relation-verification\n\t\t\t   relation-property="field.useRelationProperty"\n\t\t\t   clean="true" />\n\n\t\t<input ng-if="field.displayAs == \'passwordInput\'"\n\t\t\t   type="password"\n\t\t\t   autocomplete="new-password"\n\t\t\t   ng-model="field.value"\n\t\t\t   ng-model-options="{ updateOn: \'blur\' }"\n\t\t\t   ng-required="field.required"\n\t\t\t   name="{{field.uid}}"\n\t\t\t   id="{{field.uid}}_{{ $index }}"\n\t\t\t   class="form-control"\n\t\t\t   placeholder="{{field.placeholder.localized}}"\n\t\t\t   ng-readonly="fieldController.isReadonly()"\n\t\t\t   ng-blur="field.trigger(\'unselect\');verifyInput()"\n\t\t\t   ng-focus="field.trigger(\'select\')"\n\t\t\t   diamant-relation-verification\n\t\t\t   relation-property="field.useRelationProperty"\n\t\t\t   clean="true" />\n\n\t\t<span ng-if="field.displayAs == \'passwordInput\'"\n\t\t\t  class="input-group-addon btn btn-default"\n\t\t\t  ng-click="viewHidePassword(field)">\n\t\t\t<i class="{{field.passwordViewIcon}}"><\/i>\n\t\t<\/span>\n\t<\/div>\n\n\t<div ng-show="ngForm[field.uid].$dirty && ngForm[field.uid].$invalid" ng-cloak class="ng-hide">\n\t\t<div ng-messages="ngForm[field.uid].$error" ng-messages-multiple="true">\n\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t<div ng-message="validateRelationValue" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customError && field.customError.localized) ? field.customError.localized : field.generalError.localized"><\/span><\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n\n\n');n.put("/Content/Diamant/Viewer/Views/response-download-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<div ng-if="!form.IsReview">\n\t\t<button class="btn btn-default btn-file" \n\t\t\t\ttype="button"\n\t\t\t\tdiamant-response-download \n\t\t\t\tng-model="field" \n\t\t\t\tng-attr-title="field.buttonText.localized" \n\t\t\t\tng-click="downloadFile(field)">\n\t\t\t<span>{{field.buttonText.localized}}<\/span>\n\t\t<\/button>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/retrieve-last-response-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t\n\t\t<button class="btn btn-default btn-file" diamant-retrieve-last-response ng-model="field" ng-attr-title="field.buttonText.localized" ng-click="retrieveResponse(field)">\n\t\t\t<span>{{field.buttonText.localized}}<\/span>\n\t\t<\/button>\n\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/row-template.html?v=2.10.4.0",'<div class="row form-row">\n\t<dia-viewer-field field="field"\n\t\t\t\t\t  section="section"\n\t\t\t\t\t  class="field col-xs-12 col-md-{{::field.bootstrapWidth}} col-md-offset-{{::field.bootstrapOffset}}"\n\t\t\t\t\t  allow-transform="false"\n\t\t\t\t\t  ng-center-anchor="false"\n\t\t\t\t\t  unselectable="on"\n\t\t\t\t\t  ng-model="field.value"\n\t\t\t\t\t  id="dia-field-{{::field.uid}}"\n\t\t\t\t\t  ng-if="field.type === \'field\' && !field.isConditionalHidden() && (!field.showOnlyInReview || form.IsReview)"\n\t\t\t\t\t  ng-repeat-start="field in row.fields track by field.uid">\n\t<\/dia-viewer-field>\n\t<dia-viewer-set set="field"\n\t\t\t\t\tsection="section"\n\t\t\t\t\tclass="field set col-xs-12 col-md-{{::field.bootstrapWidth}} col-md-offset-{{::field.bootstrapOffset}}"\n\t\t\t\t\tallow-transform="false"\n\t\t\t\t\tng-center-anchor="false"\n\t\t\t\t\tunselectable="on"\n\t\t\t\t\tid="dia-field-{{::field.uid}}"\n\t\t\t\t\tng-if="field.type === \'set\' && !field.isConditionalHidden()"\n\t\t\t\t\tng-repeat-end>\n\t<\/dia-viewer-set>\n<\/div>\n');n.put("/Content/Diamant/Viewer/Views/score-overview-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<diamant-score-overview>\n\t\t<div ng-repeat="field in fields track by field.uid" class="dia-verify-row">\n\t\t\t<div class="dia-verify-col">\n\t\t\t\t<b>{{field.label.localized}}<\/b><span ng-hide="isValid(field)" class="error fa fa-exclamation-triangle"><\/span>\n\t\t\t<\/div>\n\t\t\t<div class="dia-verify-col">\n\t\t\t\t<div ng-repeat="fieldValue in getCheckFieldContent(field) track by $index">\n\t\t\t\t\t<span ng-bind-html="fieldValue"><\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/diamant-score-overview>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/section-template.html?v=2.10.4.0",'<div class="section" \n\t ng-class="{ \'hidden-field\': !section.show }" \n\t id="{{section.uid}}" \n\t ng-style="::sectionController.getSectionStyle()"\n\t ng-if="!sectionIsHidden && !section.isConditionalHidden()">\n\t<div class="section-bar" ng-show="section.showLabel">\n\t\t<h2 id="section-label-{{ $index }}"\n\t\t\tclass="section-label"\n\t\t\tng-style="::sectionController.getLabelColor()"\n\t\t\tng-class="{ \'underline\': form.SectionLabelDecoration == 1 || form.SectionLabelDecoration == 3,\n\t\t\t\t\t\t\'bold\': form.SectionLabelDecoration == 2 || form.SectionLabelDecoration == 3 }">\n\t\t\t{{section.resolvedLabel}}\n\t\t<\/h2>\n\n\t\t<i id="tooltipHelpTextId{{section.uid}}"\n\t\t   class="far fa-info-circle icon tooltip-icon"\n\t\t   dia-tooltip="section.tooltipText.localized"\n\t\t   uib-tooltip-template="\'diaTooltip.html\'"\n\t\t   tooltip-placement="auto top"\n\t\t   tooltip-trigger="\'none\'"\n\t\t   tooltip-is-open="open"\n\t\t   tabindex="0"\n\t\t   ng-if="section.tooltipText.localized"\n\t\t   tooltip-behaviour="{{section.tooltipBehaviour}}"><\/i>\n\n\t\t<i class="fas fa-times icon pull-right" ng-if="section.repeatable && pageController.repeatableSectionCounter[section.key] > 1" ng-click="pageController.removeSection(section)"><\/i>\n\t<\/div>\n\t<div ng-class="{ \'row\': section.helpView === \'leftSide\' || section.helpView === \'rightSide\' }">\n\t\t<div class="col-sm-3" ng-if="section.helpText.localized && section.helpView === \'leftSide\'">\n\t\t\t<div class="help-col help-text section-help-left" style="margin-top: 20px;" dia-bind-html-compile="section.helpText.localized">\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class="section-content" ng-class="{ \'col-sm-9\': section.helpView === \'leftSide\' || section.helpView === \'rightSide\' }">\n\t\t\t<div class="help-text section-help-below-label" ng-if="section.helpText.localized && section.helpView === \'belowLabel\'" dia-bind-html-compile="section.helpText.localized"><\/div>\n\t\t\t<dia-viewer-row row="row" ng-repeat="row in section.rows track by row.uid"><\/dia-viewer-row>\n\t\t\t<div class="help-text section-help-below-field" ng-if="section.helpText.localized && section.helpView === \'belowSection\'" dia-bind-html-compile="section.helpText.localized"><\/div>\n\t\t\t<div class="repeat-button" ng-if="section.repeatable && section.last" ng-class="{ \'form-horizontal\': form.LabelPosition === 1 }">\n\t\t\t\t<div class="btn btn-default"\n\t\t\t\t\t ng-class="{ \'disabled\': section.maxRepetitions > 0 && pageController.repeatableSectionCounter[section.key] >= section.maxRepetitions }"\n\t\t\t\t\t ng-click="pageController.repeatSection(section)">\n\t\t\t\t\t{{section.repeatText.localized}}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class="col-sm-3" ng-if="section.helpText.localized && section.helpView === \'rightSide\'">\n\t\t\t<div class="help-col help-text section-help-right" style="margin-top: 20px;" dia-bind-html-compile="section.helpText.localized">\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n\t<script type="text/ng-template" id="sectionTooltipTemplate.html">\n\t\t<a class="tooltip-close" ng-click="sectionController.hideTooltip()"><i class="fal fa-times"><\/i><span class="sr-only">Close<\/span><\/a>\n\t\t<div ng-bind-html="section.helpText.localized | unsafe"><\/div>\n\t<\/script>\n<\/div>');n.put("/Content/Diamant/Viewer/Views/selectlist-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<select multiple class="form-control" name="{{field.uid}}">\n\t\t<option ng-if="field.emptyOption || field.options.length === 0" ng-value=""><\/option>\n\n\t\t<option ng-repeat="option in field.options track by $index" ng-value="option.value" selected="selected" ng-if="option.selected">\n\t\t\t{{option.label.localized}}\n\t\t<\/option>\n\n\t\t<option ng-repeat="option in field.options track by $index" ng-value="option.value" ng-if="!option.selected">\n\t\t\t{{option.label.localized}}\n\t\t<\/option>\n\t<\/select>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/set-template.html?v=2.10.4.0",'<div ng-if="!setController.showOnlyInReview() || form.IsReview" ng-class="{ \'hidden-field\': !set.show }">\n\t<h3 class="set-label" ng-if="set.showLabel" ng-style="{ \'color\': setController.getLabelColor() }">{{ set.resolvedLabel }}<\/h3>\n\t<div ng-if="set.helpView === \'belowLabel\' && set.helpText.localized" class="help-text help-below-label" dia-bind-html-compile="set.helpText.localized"><\/div>\n\n\t<i ng-if="set.tooltipText.localized"\n\t   id="tooltipHelpTextId{{set.uid}}"\n\t   class="far fa-info-circle icon tooltip-icon"\n\t   dia-tooltip="set.tooltipText.localized"\n\t   uib-tooltip-template="\'diaTooltip.html\'"\n\t   tooltip-placement="auto top"\n\t   tooltip-trigger="\'none\'"\n\t   tooltip-is-open="open"\n\t   tooltip-behaviour="{{section.tooltipBehaviour}}"\n\t   tabindex="0">\n\t<\/i>\n\n\t<div class="dia-set-icons pull-right">\n\t\t<i class="fas fa-times dia-icon" ng-if="!set.readOnly && set.repeatable && (set.original && set.original.repetitions > 0)" ng-click="section.removeSet(set)"><\/i>\n\t<\/div>\n\t<dia-viewer-row row="row" ng-repeat="row in set.rows track by row.uid">\n\t<\/dia-viewer-row>\n\n\t<div ng-if=":: set.repeatable && !set.original">\n\t\t<div ng-repeat="field in set.getFields()">\n\t\t\t<input type="number" style="visibility: hidden; display:none; width:0px;" data-cell="CX{{field.dataCellNumber}}" data-formula="SUM(A{{field.dataCellNumber}}:CW{{field.dataCellNumber}})" />\n\t\t\t<input type="number" style="visibility: hidden; display:none; width:0px;" data-cell="GX{{field.scoreCellNumber}}" data-formula="SUM(DA{{field.scoreCellNumber}}:GW{{field.scoreCellNumber}})" />\n\t\t<\/div>\n\t<\/div>\n\t<div ng-if="set.helpView === \'belowSet\' && set.helpText.localized && set.last" class="help-text help-below-label" dia-bind-html-compile="set.helpText.localized"><\/div>\n<\/div>');n.put("/Content/Diamant/Viewer/Views/signature-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<div diamant-signature ng-model="field.value" name="{{field.uid}}" ng-required="fieldController.isRequired()" ng-readonly="fieldController.isReadonly() || (field.readOnlyInReview && form.IsReview)">\n\t\t<!--/////////Using Signature Pad////////////////////-->\n\t\t<div id="signature-pad-container{{field.uid}}">\n\t\t\t<div id="signature-pad{{field.uid}}" class="m-signature-pad">\n\t\t\t\t<div class="m-signature-pad--body" style="height:200px">\n\t\t\t\t\t<canvas><\/canvas>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div id="croppedImageContainer{{field.uid}}" style="display:none; width: 100%; border:1px solid lightgray; margin-top:5px; margin-bottom:10px; text-align: center;">\n\t\t\t<div ng-show="false" id="croppedImageCanvas{{field.uid}}">\n\t\t\t\t<!-- to preserve the cropped image-->\n\t\t\t<\/div>\n\t\t\t<img id="croppedImage{{field.uid}}" class="thumb" alt="image file" style="max-width:100%; height:auto; padding-top:10px; padding-bottom:10px; margin-left: auto; margin-right: auto;">\n\t\t<\/div>\n\n\t\t<!-- Trigger/Open The Modal -->\n\t\t<div ng-hide="fieldController.isReadonly() || (field.readOnlyInReview && form.IsReview)">\n\t\t\t<div class="k-button k-upload-button" ng-if="field.showUploadButton === true || !field.hasOwnProperty(\'showUploadButton\')">\n\t\t\t\t<span ng-if="field.buttonTextUpload.localized">{{field.buttonTextUpload.localized}}<\/span>\n\t\t\t\t<span ng-if="!field.buttonTextUpload.localized">{{field.buttonTextUpload[form.DefaultCultureCode]}}<\/span>\n\t\t\t\t<input id="uploadImageButton{{field.uid}}" \n\t\t\t\t\t   type="file" \n\t\t\t\t\t   name="file" accept=".png,.jpg,.jpeg" onchange="angular.element(this).scope().setFiles(this)" ng-click="clearFileSelection()" />\n\t\t\t<\/div>\n\t\t\t<div class="k-button k-upload-button">\n\n\t\t\t\t<span ng-if="field.buttonTextReenter.localized">{{field.buttonTextReenter.localized}}<\/span>\n\t\t\t\t<span ng-if="!field.buttonTextReenter.localized">{{field.buttonTextReenter[form.DefaultCultureCode]}}<\/span>\n\t\t\t\t<input id="reenterSignatureID" type="button" ng-click="reenterSignature()" />\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t\t<div ng-show="ngForm[field.uid].$dirty && ngForm[field.uid].$invalid" ng-cloak class="ng-hide">\n\t\t\t<div ng-messages="ngForm[field.uid].$error">\n\t\t\t\t<div ng-message="fileSize" class="validation-error" role="alert">\n\t\t\t\t\t<em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.fileSizeError.localized"><\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div ng-message="fileType" class="validation-error" role="alert">\n\t\t\t\t\t<em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.fileTypeError.localized"><\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div ng-message="required" class="validation-error" role="alert">\n\t\t\t\t\t<em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t\t<!-- The Modal Window-->\n\t\t<div id="cropperModal{{field.uid}}" class="modal show" ng-if="showCropper">\n\t\t\t<!-- Modal content -->\n\t\t\t<div class="modal-content">\n\t\t\t\t<dia-image-cropper ng-model="value.selectedImage"><\/dia-image-cropper>\n\t\t\t\t<div>\n\t\t\t\t\t<button class="btn btn-primary" ng-click="closeCropper(true)">\n\t\t\t\t\t\tOk\n\t\t\t\t\t<\/button>\n\t\t\t\t\t<button class="btn btn-default" ng-click="closeCropper(false)">\n\t\t\t\t\t\tcancel\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/slider-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<div id="{{field.uid}}" ng-class="{ \'readonly\': fieldController.isReadonly() }" class="hidden-print">\n\t\t<input type="number" ng-if="field.usedInFormula || field.usedInScoreFormula" ng-model="field.formulaValue" style="visibility: hidden; position: absolute; height: 0;" data-cell="{{field.dataCell}}" />\n\t\t<div diamant-slider class="input-group" ng-style="{height: field.vertical ? \'400px\':\'auto\'}">\n\t\t\t<span>\n\t\t\t\t<rzslider id="slider{{field.uid}}"\n\t\t\t\t\t\t  name="{{field.uid}}"\n\t\t\t\t\t\t  rz-slider-model="slider.value"\n\t\t\t\t\t\t  rz-slider-options="slider.options"\n\t\t\t\t\t\t  ng-model="slider"\n\t\t\t\t\t\t  validate-input-verification><\/rzslider>\n\t\t\t<\/span>\n\t\t<\/div>\n\n\t\t<div ng-show="ngForm[field.uid].$dirty && ngForm[field.uid].$invalid" ng-cloak class="ng-hide">\n\t\t\t<div ng-messages="ngForm[field.uid].$error">\n\t\t\t\t<div ng-message="required" class="validation-error" role="alert">\n\t\t\t\t\t<em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized"><\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div ng-message="inputVerification" class="validation-error" role="alert">\n\t\t\t\t\t<em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customInputVerificationError && field.customInputVerificationError.localized) ? field.customInputVerificationError.localized : form.InputVerificationError.localized"><\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n\t<div class="visible-print">\n\t\t{{field.value[0]}}\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/star-rating-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<table class="table rating star-rating {{field.size}}">\n\t\t<tr>\n\t\t\t<td ng-if="field.showLabels" class="star-rating-labels align-right">{{field.leftLabel.localized}}<\/td>\n\t\t\t<td ng-repeat="star in field.getScale(field.numberOfStars) | limitTo: field.maxNumberOfStars track by $index">\n\t\t\t\t<label class="radio-inline star">\n\t\t\t\t\t<input type="radio" value="{{$index + 1}}" ng-model="field.rating" hidden />\n\t\t\t\t\t<span class="far fa-star" ng-if="$index + 1 > field.rating"><\/span>\n\t\t\t\t\t<span class="fa fa-star" ng-if="$index + 1 <= field.rating"><\/span>\n\t\t\t\t<\/label>\n\t\t\t<\/td>\n\t\t\t<td ng-if="field.showLabels" class="star-rating-labels align-left">{{field.rightLabel.localized}}<\/td>\n\t\t<\/tr>\n\t<\/table>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/text-area-log-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<div>\n\t\t<textarea autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t  ng-model="field.logEntry"\n\t\t\t\t  ng-model-options="{ updateOn: \'blur\' }"\n\t\t\t\t  ng-pattern=\'field.regex\'\n\t\t\t\t  ng-minlength="field.minChar"\n\t\t\t\t  ng-required="fieldController.isRequired()"\n\t\t\t\t  ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t  name="{{field.uid}}"\n\t\t\t\t  id="{{field.uid}}"\n\t\t\t\t  class="form-control"\n\t\t\t\t  placeholder="{{field.placeholder.localized}}"\n\t\t\t\t  rows="2"\n                  dia-disable-copy-paste\n\t\t\t\t  ng-readonly="fieldController.isReadonly()"\n\t\t\t\t  ng-blur="field.trigger(\'unselect\')"\n\t\t\t\t  ng-focus="field.trigger(\'select\')"><\/textarea>\n\t<\/div>\n\n\t<div ng-repeat="logMessage in field.value track by $index" class="logmessage">\n\t\t<span class="logdate">{{logMessage.LogDate}} {{logMessage.User}}<\/span>\n\t\t<span class="logcontent">{{logMessage.Content}}<\/span>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/text-area-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<div class="form-group dia-answers" ng-repeat="value in field.value track by $index">\n\t\t<div class="input-group">\n\t\t\t<textarea id="{{ field.uid }}_{{ $index }}_formula"\n\t\t\t\t\t  style="display: none; width: 0;"\n\t\t\t\t\t  ng-model="field.value[$index]"\n\t\t\t\t\t  ng-if=":: field.formula || field.usedInFormula || field.usedInScoreFormula"\n\t\t\t\t\t  ng-change="field.trigger(\'change\')"\n\t\t\t\t\t  data-cell="{{:: field.getRepeatDataCell($index) }}"\n\t\t\t\t\t  data-formula="{{ fieldController.getDataFormula() }}"\n\t\t\t\t\t  data-format="string"\n\t\t\t\t\t  validate-input-verification><\/textarea>\n\t\t\t<textarea autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t\t  ng-model="field.value[$index]"\n\t\t\t\t\t  ng-model-options="{ updateOn: \'blur\' }"\n\t\t\t\t\t  ng-pattern=\'field.regex\'\n\t\t\t\t\t  ng-minlength="field.minChar"\n\t\t\t\t\t  ng-maxlength="field.maxChar"\n\t\t\t\t\t  dia-max-text-length="field.maxChar"\n\t\t\t\t\t  ng-required="fieldController.isRequired()"\n\t\t\t\t\t  ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t\t  name="{{ field.uid }}_{{ $index }}"\n\t\t\t\t\t  id="{{ field.uid }}_{{ $index }}"\n\t\t\t\t\t  class="form-control"\n\t\t\t\t\t  ng-change="field.trigger(\'change\')"\n\t\t\t\t\t  ng-attr-placeholder="{{field.placeholder.localized}}"\n\t\t\t\t\t  ng-readonly="(fieldController.isReadonly() || (field.formula != undefined && field.formula[0])) || (field.readOnlyInReview && form.IsReview)"\n\t\t\t\t\t  ng-attr-rows="{{ field.rows || \'1\' }}"\n\t\t\t\t\t  msd-elastic="\\n"\n\t\t\t\t\t  dia-disable-copy-paste\n\t\t\t\t\t  ng-keypress="fieldController.autoFormat($event)"\n\t\t\t\t\t  ng-keyup="fieldController.autoFormatKeyup($event)"\n\t\t\t\t\t  ng-focus="field.trigger(\'select\')"\n\t\t\t\t\t  ng-blur="field.trigger(\'unselect\')"\n\t\t\t\t\t  validate-input-verification\n\t\t\t\t\t  aria-describedby="{{ field.uid }}_{{ $index }}_counter"><\/textarea>\n\t\t\t<span id="{{ field.uid }}_{{ $index }}_counter"\n\t\t\t\t  class="input-group-addon character-counter"\n\t\t\t\t  role="status"\n\t\t\t\t  ng-class="{ \'field-maximum-reached\': field.maxChar - ngForm[field.uid + \'_\' + $index].$viewValue.length < 0 }"\n\t\t\t\t  ng-if="field.maxChar > 0">\n\t\t\t\t{{ field.maxChar - ngForm[field.uid + \'_\' + $index].$viewValue.length }}\n\t\t\t<\/span>\n\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t<\/span>\n\t\t<\/div>\n\t\t<div ng-class="field.maxChar > 0 ? \'has-character-counter\' : \'\'">\n\t\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t\t<div class="ng-messages-container" ng-messages="ngForm[field.uid + \'_\' + $index].$error">\n\t\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t\t\t<div ng-message="pattern" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.PatternError.localized"><\/span><\/div>\n\t\t\t\t\t<div ng-message="minlength" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'ShortError\', field.minChar)"><\/span><\/div>\n\t\t\t\t\t<div ng-message="maxlength" class="validation-error" role="alert" ng-if="field.maxChar!=null"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'LongError\', field.maxChar)"><\/span><\/div>\n\t\t\t\t\t<div ng-message="inputVerification" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customInputVerificationError && field.customInputVerificationError.localized) ? field.customInputVerificationError.localized : form.InputVerificationError.localized"><\/span><\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/text-input-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<div class="form-group dia-answers" ng-repeat="value in field.value track by $index">\n\t\t<div class="input-group" ng-class="{ \'transformation-input-group\': field.transformationRegex }">\n\t\t\t<input id="{{ field.uid }}_{{ $index }}_formula"\n\t\t\t\t   type="text"\n\t\t\t\t   style="display: none; width: 0;"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-if=":: field.formula || field.usedInFormula || field.usedInScoreFormula"\n\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t   data-cell="{{:: field.getRepeatDataCell($index) }}"\n\t\t\t\t   data-formula="{{ fieldController.getDataFormula() }}"\n\t\t\t\t   data-format="string" />\n\t\t\t<input type="{{:: field.getInputType() }}"\n\t\t\t\t   autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-pattern="::field.regex"\n\t\t\t\t   ng-minlength="::field.minChar"\n\t\t\t\t   ng-maxlength="::field.maxChar"\n\t\t\t\t   dia-max-text-length="field.maxChar"\n\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t   name="{{::field.uid }}_{{ $index }}"\n\t\t\t\t   id="{{::field.uid }}_{{ $index }}"\n\t\t\t\t   class="form-control"\n\t\t\t\t   placeholder="{{ field.transformationPlaceholder ? \'\' : field.placeholder.localized }}"\n\t\t\t\t   ng-model-options=":: fieldController.ngModelOptions()"\n\t\t\t\t   ng-readonly="(fieldController.isReadonly() || (field.formula != undefined && field.formula[0])) || (field.readOnlyInReview && form.IsReview)"\n\t\t\t\t   ng-keypress="fieldController.autoFormat($event, ngForm[field.uid + \'_\' + $index])"\n\t\t\t\t   ng-keyup="fieldController.autoFormatKeyup($event)"\n\t\t\t\t   dia-on-enter="field.repeatable && $last && fieldController.addNewValue()"\n\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t   ng-focus="field.trigger(\'select\')"\n\t\t\t\t   ng-blur="field.trigger(\'unselect\')"\n\t\t\t\t   dia-transformation="field.transformationRegex"\n\t\t\t\t   mask="field.maskPattern"\n\t\t\t\t   restrict="reject"\n\t\t\t\t   clean="true"\n\t\t\t\t   dia-disable-copy-paste\n\t\t\t\t   validate-input-verification\n\t\t\t\t   aria-describedby="{{ field.uid }}_{{ $index }}_counter" />\n\n\t\t\t<span class="input-group-addon character-counter"\n\t\t\t\t  role="status"\n\t\t\t\t  ng-class="{ \'field-maximum-reached\': field.maxChar - (ngForm[field.uid + \'_\' + $index].$cleanViewValue || ngForm[field.uid + \'_\' + $index].$viewValue).length < 0 }"\n\t\t\t\t  ng-if="field.maxChar > 0">\n\t\t\t\t{{ field.maxChar - (ngForm[field.uid + \'_\' + $index].$cleanViewValue || ngForm[field.uid + \'_\' + $index].$viewValue).length }}\n\t\t\t<\/span>\n\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t<\/span>\n\t\t<\/div>\n\t\t<div ng-class="field.maxChar.length > 0 ? \'has-character-counter\' : \'\'">\n\t\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index].$error">\n\t\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t\t\t<div ng-message="pattern" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.PatternError.localized"><\/span><\/div>\n\t\t\t\t\t<div ng-message="minlength" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'ShortError\', field.minChar)"><\/span><\/div>\n\t\t\t\t\t<div ng-message="maxlength" class="validation-error" role="alert" ng-if="field.maxChar!=null"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'LongError\', field.maxChar)"><\/span><\/div>\n\t\t\t\t\t<div ng-message="mask" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.PatternError.localized"><\/span><\/div>\n\t\t\t\t\t<div ng-message="bsnNumber" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.PatternError.localized"><\/span><\/div>\n\t\t\t\t\t<div ng-message="inputVerification" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customInputVerificationError && field.customInputVerificationError.localized) ? field.customInputVerificationError.localized : form.InputVerificationError.localized"><\/span><\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/time-picker-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<div class="form-group dia-answers" ng-repeat="value in field.value track by $index">\n\t\t<div class="input-group" ng-class="{ \'transformation-input-group\': field.transformationRegex }">\n\t\t\t<input type="text" ng-if="field.usedInFormula || field.usedInScoreFormula" ng-model="field.formulaValue" style="visibility: hidden; position: absolute; height: 0;" data-cell="{{field.dataCell}}" />\n\t\t\t<input class="diamant-timepicker"\n\t\t\t\t   autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t   diamant-timepicker\n\t\t\t\t   k-options="dateOptions"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-model-options="{ updateOn: \'blur\' }"\n\t\t\t\t   placeholder="{{field.placeholder.localized}}"\n\t\t\t\t   ng-placeholder="{{field.placeholder.localized}}"\n\t\t\t\t   ng-readonly="fieldController.isReadonly()"\n\t\t\t\t   ng-change="onDatechange($index); field.trigger(\'change\')"\n\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t   ng-focus="field.trigger(\'select\')"\n\t\t\t\t   ng-blur="field.trigger(\'unselect\')"\n\t\t\t\t   k-format="field.dateFormat"\n\t\t\t\t   k-parse-formats="field.parseFormats"\n\t\t\t\t   dia-on-enter="field.repeatable && $last && fieldController.addNewValue()"\n\t\t\t\t   name="{{field.uid}}_{{$index}}"\n\t\t\t\t   id="{{field.uid}}_{{$index}}"\n\t\t\t\t   dia-format-date-time="field.dateFormat"\n\t\t\t\t   dia-disable-copy-paste\n\t\t\t\t   validate-diamant-time\n\t\t\t\t   validate-input-verification\n\t\t\t\t   kendo-iframe-height />\n\t\t\t<span class="input-btn-placeholder"><\/span>\n\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t<\/span>\n\t\t<\/div>\n\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index].$error">\n\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t\t<div ng-message="validateDiamantTime" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="((form.TimeError.localized || form.DateError.localized) || \'\').replace(\'{0}\', field.dateFormat)"><\/span><\/div>\n\t\t\t\t<div ng-message="timeAfter" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(form.TimeAfterError.localized || \'\').replace(\'{0}\', timeAfter)"><\/span><\/div>\n\t\t\t\t<div ng-message="timeBefore" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(form.TimeBeforeError.localized || \'\').replace(\'{0}\', timeBefore)"><\/span><\/div>\n\t\t\t\t<div ng-message="inputVerification" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customInputVerificationError && field.customInputVerificationError.localized) ? field.customInputVerificationError.localized : form.InputVerificationError.localized"><\/span><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/url-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<div class="form-group dia-answers" ng-repeat="value in field.value track by $index">\n\t\t<div class="input-group" ng-class="{ \'transformation-input-group\': field.transformationRegex }">\n\t\t\t<input type="{{:: field.getInputType() }}"\n\t\t\t\t   autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-model-options="{ updateOn: \'blur\' }"\n\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t   name="{{field.uid}}_{{$index}}"\n\t\t\t\t   id="{{field.uid}}_{{$index}}"\n\t\t\t\t   class="form-control"\n\t\t\t\t   placeholder="{{ field.transformationPlaceholder ? \'\' : field.placeholder.localized }}"\n\t\t\t\t   ng-readonly="(fieldController.isReadonly() || (field.formula != undefined && field.formula[0])) || (field.readOnlyInReview && form.IsReview)"\n\t\t\t\t   ng-keypress="fieldController.autoFormat($event, ngForm[field.uid + \'_\' + $index])"\n\t\t\t\t   ng-keyup="fieldController.autoFormatKeyup($event)"\n\t\t\t\t   dia-on-enter="field.repeatable && $last && fieldController.addNewValue()"\n\t\t\t\t   ng-blur="field.trigger(\'unselect\')"\n\t\t\t\t   ng-focus="field.trigger(\'select\')"\n\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t   dia-url\n\t\t\t\t   dia-disable-copy-paste\n\t\t\t\t   clean="true" />\n\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t<\/span>\n\t\t<\/div>\n\n\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index].$error">\n\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t\t<div ng-message="pattern" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.PatternError.localized"><\/span><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/vat-input-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<input type="text"\n\t\t   style="display: none; width: 0;"\n\t\t   ng-model="field.formulaValue"\n\t\t   ng-if=":: !field.formula && (field.usedInFormula || field.usedInScoreFormula)"\n\t\t   data-cell="{{:: field.dataCell }}"\n\t\t   data-format="string" />\n\t<div class="form-group dia-answers" ng-repeat="value in field.value track by $index">\n\t\t<div class="input-group" ng-class="{ \'transformation-input-group\': field.transformationRegex }">\n\t\t\t<input type="text"\n\t\t\t\t   style="display: none; width: 0;"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-if=":: field.formula"\n\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t   data-cell="{{:: field.dataCell }}"\n\t\t\t\t   data-formula="{{ fieldController.getDataFormula() }}"\n\t\t\t\t   data-format="string" />\n\t\t\t<input type="text"\n\t\t\t\t   autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-minlength="field.minChar"\n\t\t\t\t   ng-maxlength="field.maxChar"\n\t\t\t\t   dia-max-text-length="field.maxChar"\n\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t   name="{{ field.uid }}_{{ $index }}"\n\t\t\t\t   id="{{ field.uid }}_{{ $index }}"\n\t\t\t\t   class="form-control"\n\t\t\t\t   placeholder="{{ field.transformationPlaceholder ? \'\' : field.placeholder.localized }}"\n\t\t\t\t   ng-readonly="(fieldController.isReadonly() || (field.formula != undefined && field.formula[0])) || (field.readOnlyInReview && form.IsReview)"\n\t\t\t\t   ng-keypress="fieldController.autoFormat($event, ngForm[field.uid + \'_\' + $index])"\n\t\t\t\t   ng-keyup="fieldController.autoFormatKeyup($event)"\n\t\t\t\t   dia-on-enter="field.repeatable && $last && fieldController.addNewValue()"\n\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t   ng-focus="field.trigger(\'select\')"\n\t\t\t\t   ng-blur="fieldController.onBlur(ngForm[field.uid + \'_\' + $index]);field.trigger(\'unselect\')"\n\t\t\t\t   dia-disable-copy-paste\n\t\t\t\t   dia-vat\n\t\t\t\t   validate-input-verification />\n\t\t\t<span class="input-group-addon character-counter" ng-class="{ \'field-maximum-reached\': field.maxChar - ngForm[field.uid + \'_\' + $index].$viewValue.length < 0 }" ng-if="field.maxChar > 0">\n\t\t\t\t{{ field.maxChar - ngForm[field.uid + \'_\' + $index].$viewValue.length }}\n\t\t\t<\/span>\n\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t<\/span>\n\t\t<\/div>\n\n\t\t<div ng-class="field.maxChar.length > 0 ? \'has-character-counter\' : \'\'">\n\t\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index].$error">\n\t\t\t\t\t<div ng-message="pattern" class="validation-error"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.PatternError.localized"><\/span><\/div>\n\t\t\t\t\t<div ng-message="required" class="validation-error"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t\t\t<div ng-message="minlength" class="validation-error"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'ShortError\', field.minChar)"><\/span><\/div>\n\t\t\t\t\t<div ng-message="maxlength" class="validation-error"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.getErrorValue(form, field, \'LongError\', field.maxChar)"><\/span><\/div>\n\t\t\t\t\t<div ng-message="inputVerification" class="validation-error"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customInputVerificationError && field.customInputVerificationError.localized) ? field.customInputVerificationError.localized : form.InputVerificationError.localized"><\/span><\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/verify-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n\t<diamant-verify-set>\n\t\t<div class="dia-verify-row" ng-repeat="field in fields track by field.uid">\n\t\t\t\n\t\t\t<div class="dia-verify-col">\n\t\t\t\t<b>{{field.resolvedLabel}}<\/b><span ng-hide="isValid(field)" class="error fa fa-exclamation-triangle"><\/span>\n\t\t\t<\/div>\n\t\t\t<div class="dia-verify-col">\n\t\t\t\t<div ng-repeat="fieldValue in getCheckFieldContent(field) track by $index">\n\n\t\t\t\t\t<span ng-if="compileHtml(field)" dia-bind-html-compile="fieldValue"><\/span>\n\t\t\t\t\t<span ng-if="!compileHtml(field)">{{fieldValue}}<\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/diamant-verify-set>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/video-template.html?v=2.10.4.0",'<dia-viewer-field-base>\n    <div ng-class="{ \'readonly\': fieldController.isReadonly() || (fieldController.showOnlyInReview() !== form.IsReview) }">\n        <div diamant-video ng-model="files" >\n            <div ng-if="showVideoData">\n                <video class="col-sm-12" controls id="video_{{field.uid}}">\n                    <source ng-src="{{field.showVideoData  | trusted}}" type="video/mp4">\n                    Your browser does not support the video tag.\n                <\/video>\n            <\/div>\n            <div ng-if="field.showVideoURL" class="videoWrapper">\n                <iframe id="{{field.uid}}"\n                        style="padding-top:10px; padding-bottom:10px;"\n                        ng-src="{{field.showVideoURL | trusted}}"\n                        allowfullscreen\n                        frameborder="0">\n                <\/iframe>\n            <\/div>\n            <div ng-if="field.fileGuid">\n                <video controls style="height:100%; width:100%;" id="video_{{field.uid}}">\n                    <source ng-src="{{getFileVideoURL(field.fileGuid, form.FormDefinitionVersionId)}}" type="video/mp4">\n                    Your browser does not support the video tag.\n                <\/video>\n\n            <\/div>\n            <div>\n                <span ng-show="field.showDescription" style="opacity:0.5; font-size:80%">{{field.description}}<\/span>\n            <\/div>\n\n        <\/div>\n    <\/div>\n<\/dia-viewer-field-base>\n');n.put("/Content/Diamant/Viewer/Views/zip-code-nl-input-template.html?v=2.10.4.0",'<dia-viewer-field-base diamant-repeatable-field>\n\t<input type="text"\n\t\t   style="display: none; width: 0;"\n\t\t   ng-model="field.formulaValue"\n\t\t   ng-if=":: !field.formula && (field.usedInFormula || field.usedInScoreFormula)"\n\t\t   data-cell="{{:: field.dataCell }}"\n\t\t   data-format="string" />\n\t<div class="form-group dia-answers" ng-repeat="value in field.value track by $index">\n\t\t<div class="input-group" ng-class="{ \'transformation-input-group\': field.transformationRegex }">\n\t\t\t<input type="text"\n\t\t\t\t   style="display: none; width: 0;"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-if=":: field.formula"\n\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t   data-cell="{{:: field.dataCell }}"\n\t\t\t\t   data-formula="{{ fieldController.getDataFormula() }}"\n\t\t\t\t   data-format="string"\n\t\t\t\t   validate-input-verification />\n\t\t\t<input type="{{:: field.getInputType() }}"\n\t\t\t\t   autocomplete="{{field.getAutocompleteValue()}}"\n\t\t\t\t   ng-model="field.value[$index]"\n\t\t\t\t   ng-model-options="{ updateOn: \'blur\' }"\n\t\t\t\t   ng-change="field.trigger(\'change\')"\n\t\t\t\t   ng-focus="field.trigger(\'select\')"\n\t\t\t\t   ng-blur="field.trigger(\'unselect\')"\n\t\t\t\t   ng-required="fieldController.isRequired()"\n\t\t\t\t   ng-attr-title="{{ !fieldController.isRequired() ? \'\' : field.customRequiredError ? field.customRequiredError.localized : form.RequiredError.localized }}"\n\t\t\t\t   name="{{ field.uid }}_{{ $index }}"\n\t\t\t\t   id="{{ field.uid }}_{{ $index }}"\n\t\t\t\t   class="form-control"\n\t\t\t\t   placeholder="{{ field.transformationPlaceholder ? \'\' : field.placeholder.localized }}"\n\t\t\t\t   ng-readonly="(fieldController.isReadonly() || (field.formula != undefined && field.formula[0])) || (field.readOnlyInReview && form.IsReview)"\n\t\t\t\t   dia-on-enter="field.repeatable && $last && fieldController.addNewValue()"\n\t\t\t\t   dia-zip-code-nl\n\t\t\t\t   dia-disable-copy-paste\n\t\t\t\t   validate-input-verification />\n\t\t\t<span class="input-group-addon btn btn-default"\n\t\t\t\t  ng-if="field.repeatable && field.value.length > 1 && !fieldController.isReadonly()"\n\t\t\t\t  ng-click="(field.minRepetitions > 0 && field.repetitions <= field.minRepetitions) ? null : fieldController.removeValue($index)"\n\t\t\t\t  ng-class="{ \'disabled\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions }"\n\t\t\t\t  ng-style="{\'pointer-events\': field.minRepetitions > 0 && field.repetitions <= field.minRepetitions ? \'none\' : \'auto\'}">\n\t\t\t\t<i class="fa fa-times icon"><\/i>\n\t\t\t<\/span>\n\t\t\t<div class="transformation-placeholder" ng-if="field.transformationRegex">{{ field.transformationPlaceholder }}<\/div>\n\t\t<\/div>\n\t\t<div ng-show="ngForm[field.uid + \'_\' + $index].$dirty && ngForm[field.uid + \'_\' + $index].$invalid" ng-cloak class="ng-hide" ng-class="getErrorMessageClass()">\n\t\t\t<div ng-messages="ngForm[field.uid + \'_\' + $index].$error">\n\t\t\t\t<div ng-message="required" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customRequiredError && field.customRequiredError.localized) ? field.customRequiredError.localized : form.RequiredError.localized"><\/span><\/div>\n\t\t\t\t<div ng-message="inputVerification" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="(field.customInputVerificationError && field.customInputVerificationError.localized) ? field.customInputVerificationError.localized : form.InputVerificationError.localized"><\/span><\/div>\n\t\t\t\t<div ng-message="zipCodeNl" class="validation-error" role="alert"><em class="fas fa-exclamation-triangle has-error"><\/em>&nbsp;<span ng-bind-html="field.customError.localized"><\/span><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/dia-viewer-field-base>\n')}])