1"use strict";(self.webpackChunkform_state=self.webpackChunkform_state||[]).push([[286],{286:(t,e,n)=>{var i,s;function r(t){return t?t.commitStatus:i.NotStarted}function o(t,e){if(null==t||null==e)return!1;const n=Object.keys(t),i=Object.keys(e);let s=!0;return n.forEach((n=>s=s&&!!t[n]==!!e[n])),s?(i.forEach((n=>s=s&&!!t[n]==!!e[n])),s):s}function a(t,e){return typeof t==typeof e&&(void 0===t||("object"!=typeof t?t===e:o(t,e)))}function u(t,e){return void 0===e&&(void 0===t||0===Object.keys(t).length||Object.values(t).reduce(((t,e)=>t&&void 0===e),!0))}function c(t){return!!t&&!!t.ignored}function l(t){return Promise.resolve(t+"")}function d(t){return"object"==typeof t&&Object.values(t).reduce(((t,e)=>t&&"boolean"==typeof e),!0)}n.r(e),n.d(e,{CommitStatus:()=>i,FormStatus:()=>s,asyncCommitForm:()=>V,asyncCommitValue:()=>h,asyncFormatParsedValue:()=>x,asyncInitialize:()=>R,canCommitBasedOnReasons:()=>T,combinedReducer:()=>vt,createAction:()=>ut,formActions:()=>gt,getCommitStatus:()=>r,getCurrentValue:()=>z,getDefaultFormState:()=>S,getDefaultInputState:()=>I,getDelayedErrors:()=>it,getErrors:()=>F,getFormStatus:()=>D,getInitialRawValue:()=>M,getInputs:()=>Q,getName:()=>_,getParserOptions:()=>et,getRawValue:()=>q,getRawValueWithDefault:()=>nt,getValidValues:()=>ot,getValidationOptions:()=>L,getValidators:()=>U,getValue:()=>B,getValues:()=>H,hasQueuedActions:()=>rt,initializeReducer:()=>ct,isDelayedValid:()=>st,isDirty:()=>W,isIgnored:()=>c,isMissing:()=>G,isRawValid:()=>tt,isReadyToCommit:()=>X,isRequired:()=>Y,isThinking:()=>J,isTouched:()=>Z,isValid:()=>K,logError:()=>p,logNotReadyReasons:()=>P,setErrorHandler:()=>m}),function(t){t[t.NotStarted=0]="NotStarted",t[t.InProgress=1]="InProgress"}(i||(i={})),function(t){t[t.Initializing=0]="Initializing",t[t.Incomplete=1]="Incomplete",t[t.Complete=2]="Complete"}(s||(s={}));let f=t=>console.warn(t);function m(t){f=t}const p=t=>{f(t)};var g=function(t,e,n,i){return new(n||(n=Promise))((function(s,r){function o(t){try{u(i.next(t))}catch(t){r(t)}}function a(t){try{u(i.throw(t))}catch(t){r(t)}}function u(t){var e;t.done?s(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(o,a)}u((i=i.apply(t,e||[])).next())}))};function v(t,e,n){return g(this,void 0,void 0,(function*(){const i=e||l;return(()=>g(this,void 0,void 0,(function*(){if(void 0!==n){if("boolean"==typeof n)return n;if(d(n))return Object.assign({},n);{let e;try{e=yield i(n)}catch(e){p(`Formatter for input [${t}] threw the following exception:`),p(e)}return e}}})))()}))}var b=function(t,e,n,i){return new(n||(n=Promise))((function(s,r){function o(t){try{u(i.next(t))}catch(t){r(t)}}function a(t){try{u(i.throw(t))}catch(t){r(t)}}function u(t){var e;t.done?s(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(o,a)}u((i=i.apply(t,e||[])).next())}))},O=function(t,e,n,i){return new(n||(n=Promise))((function(s,r){function o(t){try{u(i.next(t))}catch(t){r(t)}}function a(t){try{u(i.throw(t))}catch(t){r(t)}}function u(t){var e;t.done?s(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(o,a)}u((i=i.apply(t,e||[])).next())}))},j=function(t,e,n,i){return new(n||(n=Promise))((function(s,r){function o(t){try{u(i.next(t))}catch(t){r(t)}}function a(t){try{u(i.throw(t))}catch(t){r(t)}}function u(t){var e;t.done?s(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(o,a)}u((i=i.apply(t,e||[])).next())}))};function h(t,e,n){return j(this,void 0,void 0,(function*(){const{parser:i,validators:s,revision:r,rawValue:o,parsedValue:a,parserResult:u,name:l,formatter:f}=t,m=o.current;let g=a.current,j=u;"commitRawValue"===e&&([j,g]=yield function(t,e,n){return b(this,void 0,void 0,(function*(){if(void 0===n)return[void 0,void 0];if(d(n))return[void 0,Object.assign({},n)];{let i=["PARSER_ERROR",void 0];try{i=yield e(n)}catch(e){p(`Parser for input [${t}] threw the following exception:`),p(e)}return i}}))}(l,"function"==typeof i?i:i.parser,m));const h=c(t)?[]:function(t,e,n){const i=e||{};return Object.keys(i).map((e=>(()=>O(this,void 0,void 0,(function*(){const{validator:s,options:r}=i[e];let o="VALIDATOR_ERROR";try{o=void 0===n?n:yield s(n,r)}catch(n){p(`Validator [${e}] for input [${t}] threw the following exception:`),p(n)}return{validatorName:e,result:o}})))()))}(l,s,g),y=n?void 0===j?v(l,f,g):Promise.resolve(m):Promise.resolve(void 0),[V,w]=yield Promise.all([Promise.all(h),y]);let R;return V&&V.length>0&&(R=V.reduce(((t,e)=>{const{validatorName:n,result:i}=e;return Object.assign(Object.assign({},t),{[n]:i})}),{})),{formattedResult:[n,w],parsedValue:g,revision:r,validatorResults:R,parserResult:j}}))}
1var y=function(t,e,n,i){return new(n||(n=Promise))((function(s,r){function o(t){try{u(i.next(t))}catch(t){r(t)}}function a(t){try{u(i.throw(t))}catch(t){r(t)}}function u(t){var e;t.done?s(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(o,a)}u((i=i.apply(t,e||[])).next())}))};function V(t){return y(this,void 0,void 0,(function*(){const e=[];return Object.values(t).forEach((t=>{const{ignored:n,name:i,rawValue:s}=t;!n&&void 0!==s.current&&W(t)&&e.push((()=>y(this,void 0,void 0,(function*(){return{inputName:i,results:yield h(t,"commitRawValue",!0)}})))())})),Promise.all(e)}))}var w=function(t,e,n,i){return new(n||(n=Promise))((function(s,r){function o(t){try{u(i.next(t))}catch(t){r(t)}}function a(t){try{u(i.throw(t))}catch(t){r(t)}}function u(t){var e;t.done?s(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(o,a)}u((i=i.apply(t,e||[])).next())}))};function R(t,e){return w(this,void 0,void 0,(function*(){const n=[];Object.keys(t).forEach((i=>{n.push((()=>w(this,void 0,void 0,(function*(){return{inputName:i,formattedValue:yield v(i,e[i].formatter,t[i])}})))())}));const i=yield Promise.all(n);return Object.values(i).reduce(((t,e)=>(t[e.inputName]=e.formattedValue,t)),{})}))}function S(){return{__$$IPFS:!0,commitStatus:i.NotStarted,formStatus:s.Initializing,inputs:{},revision:0,actionQueue:[]}}function I(t){return{__$$IPIS:!0,commitStatus:i.NotStarted,formatStatus:i.NotStarted,formatter:void 0,ignored:!1,isTouched:!1,name:t,parsedValue:{current:void 0,initial:void 0,previous:void 0},parser:void 0,rawValue:{current:void 0,initial:void 0,previous:void 0},required:!1,revision:0,validatorResults:void 0,delayedResults:{delayedParserResult:void 0,delayedValidatorResults:void 0},validators:{},parserResult:void 0,updateConfigCommitAction:"commitValue"}}function P(t){const{isAlreadyComplete:e,isInitializing:n,isInvalid:i,hasMissingInputs:s,isThinking:r}=t;e&&p("Attempted to commit form when it was already complete."),n&&p("Attempted to commit form when it was still initializing."),i&&i.length>0&&p(`Attempted to commit form while the following inputs were still invalid: [${i.join(", ")}]`),s&&s.length>0&&p(`Attempted to commit form while the following required inputs were empty: [${s.join(", ")}]`),r&&r.length>0&&p(`Attempted to commit form while the following inputs were still being processed: [${r.join(", ")}]`)}function C(t){return t&&Object.keys(t).length>0?Object.keys(t).reduce(((e,n)=>(!0===t[n]&&(e[n]=!0),e)),{}):t}function N(t,e,n,i){return function(t,e,n,i){return void 0!==t?"function"==typeof e?[]:[[t,e]]:Object.entries(n||{}).map((([t,e])=>[e,null==i?void 0:i[t]]),[])}(n,e,i,t).map(k,[]).filter((t=>void 0!==t))}function k(t){const[e,n]=t;if(void 0===e||void 0===n)return;const{message:i,options:s}=n;return"function"==typeof i?i(s,e):i}function A(t,e,n,i){const{quickValidation:s=!1}=i||{};return t||s||void 0===n?n:e}var E=function(t,e,n,i){return new(n||(n=Promise))((function(s,r){function o(t){try{u(i.next(t))}catch(t){r(t)}}function a(t){try{u(i.throw(t))}catch(t){r(t)}}function u(t){var e;t.done?s(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(o,a)}u((i=i.apply(t,e||[])).next())}))};function x(t){return E(this,void 0,void 0,(function*(){const{rawValue:e,parsedValue:n,name:i,formatter:s,parserResult:r,revision:o}=t,{current:a}=e,{current:u}=n,c=void 0===r?v(i,s,u):Promise.resolve(a);return{rawValue:yield c,revision:o}}))}function z(t,e){return d(e)&&void 0!==t&&o(e,t)?t:e}function $(t,e,n){const r=void 0===n?e:`${e} of input [${n}]`;return!(void 0!==n&&!t.inputs[n]||(t.formStatus===s.Initializing?(p(`Attempted to ${r} while form was still initializing.`),1):t.formStatus===s.Complete?(p(`Attempted to ${r}, but the form is already complete.`),1):t.commitStatus===i.InProgress&&(p(`Attempted to ${r} while form was committing.`),1)))}function T(t,e){var n,i,s;if(!t)return!1;const{isInitializing:r,isCommitting:o,isInvalid:a,hasMissingInputs:u,isThinking:c}=t,{ignoreValidationErrors:l,ignoreMissingInputs:d}=e||{};return!r&&!o&&(l||0===(null!==(n=null==a?void 0:a.length)&&void 0!==n?n:0))&&(d||0===(null!==(i=null==u?void 0:u.length)&&void 0!==i?i:0))&&0===(null!==(s=null==c?void 0:c.length)&&void 0!==s?s:0)}function F(t){let e=[];
1if(t){const{validatorResults:n,validators:i={},parserResult:s,parser:r}=t;e=N(i,r,s,n)}return 0===e.length?void 0:e}function D(t){return t?t.formStatus:s.Initializing}function Q(t,e){const n={};if(t){const i=t.inputs;Object.entries(i).forEach((([t,i])=>{i.ignored&&!e||(n[t]=i)}))}return n}function _(t){return t?t.name:""}function q(t){return t?t.rawValue.current:void 0}function M(t){return t?t.rawValue.initial:void 0}function L(t){return t?t.options:{}}function U(t){return t?t.validators:{}}function B(t){return t?t.parsedValue.current:void 0}function H(t,e){let n={};if(t){const i=t.inputs;n=Object.keys(i).reduce(((t,n)=>{const s=i[n];return s.ignored&&!e?t:Object.assign(Object.assign({},t),{[n]:s.parsedValue.current})}),n)}return n}function W(t){const{initial:e,current:n}=t?t.rawValue:{initial:void 0,current:void 0};return!!t&&!a(n,e)}function G(t){const e=t,n=e?e.rawValue.current:void 0,i=void 0===n,s="string"==typeof n&&""===n.trim(),r=d(n)&&0===Object.keys(C(n)).length,o="boolean"==typeof n&&!1===n;return!!t&&!!e.required&&(i||s||r||o)}function J(t){return!!t&&(t.commitStatus===i.InProgress||t.formatStatus===i.InProgress)}function K(t){const{validatorResults:e,parserResult:n}=t||{};return!t||u(e,n)}function X(t,e={}){if(!t)return!1;const n=[],r=[],o=[];Object.values(t.inputs).forEach((t=>{const{name:e,ignored:i}=t;i||(K(t)||n.push(e),G(t)&&r.push(e),J(t)&&o.push(e))}));const{formStatus:a,commitStatus:u}=t;return e.isAlreadyComplete=a===s.Complete,e.isInitializing=a===s.Initializing,e.isCommitting=u===i.InProgress,e.isInvalid=n,e.hasMissingInputs=r,e.isThinking=o,!e.isAlreadyComplete&&!e.isInitializing&&!e.isCommitting&&0===e.isInvalid.length&&0===e.hasMissingInputs.length&&0===e.isThinking.length}function Y(t){return!!t&&!!t.required}function Z(t){return!!t&&!!t.isTouched}function tt(t){const{parserResult:e}=t||{};return!t||void 0===e}function et(t){const e=t?t.parser:void 0;return e&&"function"!=typeof e?e.options:{}}function nt(t,e,n){if(D(t)===s.Initializing)return n;const i=q(e);return void 0===i?n:i}function it(t){let e=[];
1if(t){const{validators:n={},parser:i,delayedResults:s}=t,{delayedParserResult:r,delayedValidatorResults:o}=s;e=N(n,i,r,o)}return 0===e.length?void 0:e}function st(t){const{delayedResults:e}=t||{},{delayedValidatorResults:n,delayedParserResult:i}=e||{};return!t||u(n,i)}function rt(t){return!!t&&t.actionQueue.length>0}function ot(t){let e={};if(t){const n=t.inputs;e=Object.keys(n).reduce(((t,e)=>{const i=n[e];return!K(i)||i.ignored?t:Object.assign(Object.assign({},t),{[e]:i.parsedValue.current})}),e)}return e}function at(t,e){const{inputName:n,value:s}=e;let r=t;const o=t.inputs[n];if(!$(r,"set raw value",n))return r;if(o&&!a(o.rawValue.current,s)){const e=d(s)?C(s):s,a=Object.assign(Object.assign({},o),{commitStatus:i.NotStarted,rawValue:Object.assign(Object.assign({},o.rawValue),{previous:o.rawValue.current,current:e}),revision:o.revision+1});r=Object.assign(Object.assign({},t),{inputs:Object.assign(Object.assign({},t.inputs),{[n]:a})})}return r}function ut(t,e){return{type:t,payload:e}}function ct(t,e){const{getInitialConfig:n,getInitialValues:r}=e,o=r(),a=n(o),u=Object.assign(Object.assign({},t),{commitStatus:i.NotStarted,formStatus:s.Initializing,inputs:Object.assign({},t.inputs),revision:t.revision+1});return Object.keys(u.inputs).forEach((t=>{if(!Object.prototype.hasOwnProperty.call(a,t)){const e=u.inputs[t];u.inputs[t]=Object.assign(Object.assign({},e),{ignored:!0})}})),Object.keys(a).forEach((t=>{const e=I(t),{parsedValue:n}=e;n.current=n.initial=o[t];const i=u.inputs[t];e.revision=i?i.revision+1:e.revision,u.inputs[t]=Object.assign(Object.assign({},e),a[t])})),u}function lt(t,e){let n=t;const{inputName:s,rawValue:r,revision:o}=e,a=t.inputs[s];return a&&a.revision===o&&(n=Object.assign(Object.assign({},t),{inputs:Object.assign(Object.assign({},t.inputs),{[s]:Object.assign(Object.assign({},a),{formatStatus:i.NotStarted,rawValue:Object.assign(Object.assign({},a.rawValue),{previous:a.rawValue.current,current:z(a.rawValue.current,r)}),updateConfigCommitAction:"commitRawValue"})})})),n}function dt(t,e){let n=t;const{inputName:s,formattedResult:r,parsedValue:o,updateParsedValue:a,revision:u,validatorResults:c,parserResult:l,updateDelayedResults:d=!1}=e,f=t.inputs[s];if(f&&f.revision===u){const e=function(t,e,n,i){const{validators:s,delayedResults:r,parser:o}=e,{delayedParserResult:a,delayedValidatorResults:u}=r;return{delayedParserResult:A(t,a,n,"function"==typeof o?void 0:o),delayedValidatorResults:Object.entries(s||{}).reduce(((e,[n,s])=>Object.assign(Object.assign({},e),{[n]:A(t,null==u?void 0:u[n],null==i?void 0:i[n],s)})),{})}}(d,f,l,c),m=a?Object.assign(Object.assign({},f.parsedValue),{previous:f.parsedValue.current,current:z(f.parsedValue.current,o)}):f.parsedValue;n=Object.assign(Object.assign({},t),{inputs:Object.assign(Object.assign({},t.inputs),{[s]:Object.assign(Object.assign({},f),{commitStatus:i.NotStarted,parsedValue:m,validatorResults:c,delayedResults:e,parserResult:l,updateConfigCommitAction:"commitRawValue"})})});const[p,g]=r;p&&(n=lt(n,{inputName:s,rawValue:g,revision:u}))}return n}function ft(t,e){return void 0===e||e.includes(t)}const mt={commitForm:function(t){let e=t;return $(e,"commitForm")?(e=Object.assign(Object.assign({},t),{commitStatus:i.InProgress}),e):e},commitRawValue:function(t,e){const{inputName:n,doFullLoop:s,value:r}=e;let o=t;if(!$(o,"commit raw value",n))return o;if(o.inputs[n].ignored)return p(`Attempted to commit raw value of input [${n}], but the input is ignored. Use commitValue instead.`),o;o=at(o,{inputName:n,value:r});let a=o.inputs[n];return a=Object.assign(Object.assign({},a),{commitStatus:i.InProgress,updateConfigCommitAction:"commitRawValue",formatStatus:s?i.InProgress:i.NotStarted,revision:a.revision+1}),o=Object.assign(Object.assign({},o),{inputs:Object.assign(Object.assign({},o.inputs),{[n]:a})}),o},commitValue:function(t,e){const{inputName:n}=e;let s=t;const r=t.inputs[n];if(!$(s,"commit value",n))return s;let{value:o}=e;o=d(o)?C(o):o;const a=Object.assign(Object.assign({},r),{commitStatus:i.InProgress,formatStatus:i.InProgress,parsedValue:Object.assign(Object.assign({},r.parsedValue),{previous:r.parsedValue.current,current:o}),revision:r.revision+1,updateConfigCommitAction:"commitValue"});return s=Object.assign(Object.assign({},t),{inputs:Object.assign(Object.assign({}
1,t.inputs),{[n]:a})}),s},finishCommitForm:function(t,e){let n=t;const{results:r,revision:o,commitFormOptions:a}=e,{ignoreValidationErrors:u=!1}=null!=a?a:{};if(o===t.revision){n=Object.assign({},t);let e=!0;if(r.forEach((t=>{const{inputName:i,results:s}=t,{parsedValue:r,validatorResults:o,formattedResult:a,revision:c,parserResult:l}=s;n=dt(n,{inputName:i,formattedResult:a,parsedValue:r,revision:c,validatorResults:o,parserResult:l,updateDelayedResults:!0});const[d,f]=a;(void 0===r||d&&void 0===f)&&!u&&(e=!1)})),n.commitStatus=i.NotStarted,e){const t={};(X(n,t)||T(t,a))&&(n.formStatus=s.Complete)}}return n},finishCommitValue:dt,finishFormatParsedValue:lt,finishInitialize:function(t,e){const{formattedValues:n,revision:i}=e;let r=t;return t.revision===i&&(r=Object.assign(Object.assign({},t),{formStatus:s.Incomplete}),n&&Object.keys(n).length>0&&(r.inputs=Object.assign({},r.inputs),Object.keys(n).forEach((t=>{const e=r.inputs[t],i=n[t];e&&(r.inputs[t]=Object.assign(Object.assign({},e),{rawValue:Object.assign(Object.assign({},e.rawValue),{current:i,initial:i})}))})))),r},formatParsedValue:function(t,e){let n=t;const s=t.inputs[e];if(!$(n,"format parsed value",e))return n;if(s.commitStatus===i.InProgress)return n=Object.assign(Object.assign({},t),{actionQueue:[...t.actionQueue,{action:ut("formatParsedValue",e),canExecute:t=>t.inputs[e].commitStatus!==i.InProgress}]}),n;const r=Object.assign(Object.assign({},s),{formatStatus:i.InProgress,revision:s.revision+1,updateConfigCommitAction:"commitValue"});return n=Object.assign(Object.assign({},t),{inputs:Object.assign(Object.assign({},t.inputs),{[e]:r})}),n},initialize:ct,setIsTouched:function(t,e){let n=t;const i=t.inputs[e];return $(n,"set the isTouched flag",e)?(i&&!i.isTouched&&(n=Object.assign(Object.assign({},t),{inputs:Object.assign(Object.assign({},t.inputs),{[e]:Object.assign(Object.assign({},i),{isTouched:!0})})})),n):n},setRawValue:at,updateConfig:function(t,e){let n=t;if(!$(n,"update config"))return n;const{config:s,inputsToUpdate:r}=e;n=Object.assign(Object.assign({},t),{inputs:Object.assign({},t.inputs),revision:t.revision+1});const o=s(H(n));return Object.keys(n.inputs).filter((t=>ft(t,r))).forEach((t=>{if(!Object.prototype.hasOwnProperty.call(o,t)){const e=n.inputs[t];n.inputs[t]=Object.assign(Object.assign({},e),{ignored:!0})}})),Object.keys(o).filter((t=>ft(t,r))).forEach((t=>{const e=n.inputs[t]||I(t),s=Object.assign(Object.assign(Object.assign({},e),o[t]),{formatStatus:i.NotStarted,revision:e.revision+1});n.inputs[t]=s;const{rawValue:r,parsedValue:a}=s;void 0===r.current&&void 0===a.current||(s.commitStatus=i.InProgress,s.formatStatus=i.InProgress)})),n},updateDelayedResults:function(t,e){let n=t;const s=t.inputs[e];if(!$(n,"update delayed results",e))return n;if(s){if(s.commitStatus===i.InProgress)return n=Object.assign(Object.assign({},t),{actionQueue:[...t.actionQueue,{action:ut("updateDelayedResults",e),canExecute:t=>t.inputs[e].commitStatus!==i.InProgress}]}),n;const{validatorResults:r,parserResult:o}=s;n=Object.assign(Object.assign({},t),{inputs:Object.assign(Object.assign({},t.inputs),{[e]:Object.assign(Object.assign({},s),{delayedResults:{delayedParserResult:o,delayedValidatorResults:r}})})})}return n}},{reducer:pt,actionCreators:gt}=function(t){return{reducer:(e,n)=>{const{type:i}=n,s="payload"in n?n.payload:void 0;return t[i](e,s)},actionCreators:Object.keys(t).reduce(((t,e)=>Object.assign(Object.assign({},t),{[e]:t=>({type:e,payload:t})})),{})}}(function(t){return Object.assign(Object.assign({},t),{processQueuedActions:e=>{let n=e;const{actionQueue:i}=n,s=i.length;if(0===s)return n;let r=0;for(let e=0;e<s;e++){const{action:s,canExecute:o}=i[e];if(o(n)){const{type:e}=s,i="payload"in s?s.payload:void 0;n=t[e](n,i);const o=n.actionQueue;n=Object.assign(Object.assign({},n),{actionQueue:[...o.slice(0,r),...o.slice(r+1)]})}else r++}return n}})}(mt)),vt=pt}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.