(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6072],{56430:function(e,t,r){"use strict";r.d(t,{T:function(){return p}});var a=r(67294),n=r(76623),s=function(e,t){var r={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var n=0;for(a=Object.getOwnPropertySymbols(e);n{var{size:t=24,color:r=n.SQ,activeColor:i=n.SK,isActive:o}=e,l=s(e,["size","color","activeColor","isActive"]);return a.createElement("svg",Object.assign({width:t,height:t,fill:"none",viewBox:"0 0 24 24"},l),o?a.createElement("path",{fill:i,d:"M6 2c-1.156 0-2 .965-2 2v18.04l8-2.974 8 2.973V4c0-.523-.191-1.055-.566-1.43-.38-.379-.91-.57-1.434-.57H6z"}):a.createElement("path",{fill:r,d:"M6 2c-1.156 0-2 .965-2 2v18.04l8-2.974 8 2.973V4c0-.523-.191-1.055-.566-1.43-.38-.379-.91-.57-1.434-.57H6zm0 2h12v15.16l-6-2.226-6 2.226V4z"}))},o=r(43125),l=r(83129),u=r(94044),c=r(10917),f="PiqKaXk",d="HgbW6-m",m="_6lkfLYy",y="j7c-onH";const v=({avatarImg:e,authorName:t,authorLink:r,uploadTime:n,size:s})=>a.createElement("div",{className:y},a.createElement("div",{className:"author"},a.createElement("div",{className:"avatar","data-size":s},e),a.createElement("div",{className:"poster","data-is-disabled-url":!r},a.createElement(l.T,{size:"lg"===s?"p3":"p4"},a.createElement("a",{href:r},a.createElement("span",{className:"name"},t),"\u2022"," "),a.createElement("span",null,n))))),h=({isMobile:e,avatarImg:t,name:r,link:n,size:s="lg",specialty:i})=>a.createElement("div",{className:y},a.createElement("div",{className:"author"},a.createElement("div",{className:"expert-avatar","data-size":s},t),a.createElement("div",{className:"expert","data-is-disabled-url":!n},e?a.createElement("a",{href:n},"lg"===s?a.createElement(a.Fragment,null,a.createElement(u.H,{tag:"h6",className:"expert__name",color:c.r.colors.gray600},r),a.createElement(l.T,{color:c.r.colors.gray500,size:"p3",className:"specialty"},i)):a.createElement(a.Fragment,null,a.createElement(u.H,{tag:"h6",className:"expert__name",color:c.r.colors.gray600},r))):a.createElement("a",{href:n},"lg"===s?a.createElement(a.Fragment,null,a.createElement(u.H,{tag:"h6",className:"expert__name",color:c.r.colors.gray600},r),a.createElement(l.T,{color:c.r.colors.gray500,size:"p3",className:"specialty"},i)):a.createElement(a.Fragment,null,a.createElement("h6",{color:c.r.colors.gray600,className:`${f} expert__name`},r),a.createElement(l.T,{color:c.r.colors.gray500,size:"p4",className:"specialty"},i)))))),g=(0,a.memo)((()=>a.createElement("div",{className:"shoppable"},a.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},a.createElement("rect",{width:"24",height:"24",rx:"12",fill:"#1B3250"}),a.createElement("path",{d:"M16.6667 8.00033H15.3333C15.3333 6.16033 13.84 4.66699 12 4.66699C10.16 4.66699 8.66667 6.16033 8.66667 8.00033H7.33333C6.6 8.00033 6 8.60033 6 9.33366V17.3337C6 18.067 6.6 18.667 7.33333 18.667H16.6667C17.4 18.667 18 18.067 18 17.3337V9.33366C18 8.60033 17.4 8.00033 16.6667 8.00033ZM12 6.00033C13.1067 6.00033 14 6.89366 14 8.00033H10C10 6.89366 10.8933 6.00033 12 6.00033ZM12 12.667C10.4467 12.667 9.14 11.607 8.77333 10.167C8.66 9.74699 8.98667 9.33366 9.42 9.33366C9.73333 9.33366 9.98667 9.56033 10.0733 9.86699C10.3067 10.7137 11.08 11.3337 12 11.3337C12.92 11.3337 13.6933 10.7137 13.9267 9.86699C14.0133 9.56033 14.2667 9.33366 14.58 9.33366C15.0133 9.33366 15.3333 9.74699 15.2267 10.167C14.86 11.607 13.5533 12.667 12 12.667Z",fill:"white"}))))),p=({articleLink:e,authorLink:t,authorName:r,avatarImg:n,banner:s,categoryLink:c,categoryName:f,className:y,dataEventActionForBanner:p,dataEventActionForBookmark:b,dataEventActionForCategory:_,dataEventActionForTitle:V,dataEventCategoryForBanner:x,dataEventCategoryForBookmark:k,dataEventCategoryForCategory:E,dataEventCategoryForTitle:F,dataEventLabelForBanner:w,dataEventLabelForBookmark:A,dataEventLabelForCategory:S,dataEventLabelForTitle:C,direction:D="horizontal",hasAffiliate:N,isBookmark:O=!1,isBookmarkDisplayed:B=!0,isMobile:T=!0,onBookmark:L,onClickCategoryName:j,section:z="normal",size:M="md",specialty:U,style:H,styleBanner:P,styleLabel:I,styleTitle:q,text:R,title:$,type:W="author",uploadTime:Z,articleLinkTarget:K,isPremium:Q,headingAs:X})=>{const Y=e=>{e.stopPropagation(),null===L||void 0===L||L()},G="lg"===M&&"expert"===W?"h4":"lg"===M&&"home"===z?T?"h4":"h3":"lg"===M?"h4":"h5",J="lg"===M?"p3":"p4",ee=T||"home"!==z||"lg"!==M||"author"!==W?"c2":"c1";return a.createElement("article",{className:`${m} ${y||""}`,"data-size":M,style:H,"data-direction":D,"data-is-expert":"expert"===W||void 0},a.createElement("div",{className:"banner",style:P},a.createElement("a",{className:d,"data-event-category":x,"data-event-action":p,"data-event-label":w,href:e||"#",target:K},s),Q&&a.createElement("img",{loading:"lazy",className:"premium",src:o.C.getAssetPath("premium-crown.svg")}),N&&a.createElement(g,null)),a.createElement("div",{className:"content"},a.createElement("div",{className:"inner-content"},a.createElement(l.T,{style:I,className:"label",size:ee,weight:"caption"},a.createElement("a",{className:d,"data-event-category":E,"data-event-action":_,"data-event-label":S,href:c||"#",onClick:j},f),B&&a.createElement("a",{className:"bookmark",onClick:Y},O?a.createElement(i,{size:18,isActive:!0,"data-event-category":k,"data-event-action":b,"data-event-label":A,activeColor:"#2ED69E"}):a.createElement(i,{size:18,"data-event-category":k,"data-event-action":b,"data-event-label":A}))),a.createElement(u.H,{tag:G,style:q,className:"title",as:X||("lg"===M?"h2":"h3")},a.createElement("a",{className:d,"data-event-category":F,"data-event-action":V,"data-event-label":C,href:e||"#",target:K},$)),R&&a.createElement("a",{href:e||"#",target:K},a.createElement(l.T,{size:J,className:"text"},R))),a.createElement("div",{className:"footer"},"author"===W?a.createElement(v,{size:M,avatarImg:n,authorName:r,authorLink:t,uploadTime:Z,handleClick:Y,isBookmarked:O,dataEventCategoryForBookmark:k,dataEventActionForBookmark:b,dataEventLabelForBookmark:A}):a.createElement(h,{size:M,isMobile:T,avatarImg:n,specialty:U,name:r,link:t,handleClick:Y,isBookmarked:O,dataEventCategoryForBookmark:k,dataEventActionForBookmark:b,dataEventLabelForBookmark:A}))))}},47443:function(e,t,r){var a=r(42118);e.exports=function(e,t){return!!(null==e?0:e.length)&&a(e,t,0)>-1}},1196:function(e){e.exports=function(e,t,r){for(var a=-1,n=null==e?0:e.length;++a=200){var v=t?null:o(e);if(v)return l(v);d=!1,c=i,y=new a}else y=t?[]:m;e:for(;++u"checkbox"===e.type,s=e=>e instanceof Date,i=e=>null==e;const o=e=>"object"===typeof e;var l=e=>!i(e)&&!Array.isArray(e)&&o(e)&&!s(e),u=e=>l(e)&&e.target?n(e.target)?e.target.checked:e.target.value:e,c=(e,t)=>e.has((e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e)(t)),f=e=>Array.isArray(e)?e.filter(Boolean):[],d=e=>void 0===e,m=(e,t,r)=>{if(!t||!l(e))return r;const a=f(t.split(/[,[\].]+?/)).reduce(((e,t)=>i(e)?e:e[t]),e);return d(a)||a===e?d(e[t])?r:e[t]:a};const y="blur",v="focusout",h="change",g="onBlur",p="onChange",b="onSubmit",_="onTouched",V="all",x="max",k="min",E="maxLength",F="minLength",w="pattern",A="required",S="validate",C=a.createContext(null),D=()=>a.useContext(C);var N=(e,t,r,a=!0)=>{const n={defaultValues:t._defaultValues};for(const s in e)Object.defineProperty(n,s,{get:()=>{const n=s;return t._proxyFormState[n]!==V&&(t._proxyFormState[n]=!a||V),r&&(r[n]=!0),e[n]}});return n},O=e=>l(e)&&!Object.keys(e).length,B=(e,t,r)=>{const{name:a,...n}=e;return O(n)||Object.keys(n).length>=Object.keys(t).length||Object.keys(n).find((e=>t[e]===(!r||V)))},T=e=>Array.isArray(e)?e:[e],L=(e,t,r)=>r&&t?e===t:!e||!t||e===t||T(e).some((e=>e&&(e.startsWith(t)||t.startsWith(e))));function j(e){const t=a.useRef(e);t.current=e,a.useEffect((()=>{const r=!e.disabled&&t.current.subject.subscribe({next:t.current.next});return()=>{r&&r.unsubscribe()}}),[e.disabled])}var z=e=>"string"===typeof e,M=(e,t,r,a,n)=>z(e)?(a&&t.watch.add(e),m(r,e,n)):Array.isArray(e)?e.map((e=>(a&&t.watch.add(e),m(r,e)))):(a&&(t.watchAll=!0),r),U="undefined"!==typeof window&&"undefined"!==typeof window.HTMLElement&&"undefined"!==typeof document;function H(e){let t;const r=Array.isArray(e);if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else{if(U&&(e instanceof Blob||e instanceof FileList)||!r&&!l(e))return e;if(t=r?[]:{},Array.isArray(e)||(e=>{const t=e.constructor&&e.constructor.prototype;return l(t)&&t.hasOwnProperty("isPrototypeOf")})(e))for(const r in e)t[r]=H(e[r]);else t=e}return t}function P(e){const t=D(),{name:r,control:n=t.control,shouldUnregister:s}=e,i=c(n._names.array,r),o=function(e){const t=D(),{control:r=t.control,name:n,defaultValue:s,disabled:i,exact:o}=e||{},l=a.useRef(n);l.current=n,j({disabled:i,subject:r._subjects.watch,next:e=>{L(l.current,e.name,o)&&c(H(M(l.current,r._names,e.values||r._formValues,!1,s)))}});const[u,c]=a.useState(r._getWatch(n,s));return a.useEffect((()=>r._removeUnmounted())),u}({control:n,name:r,defaultValue:m(n._formValues,r,m(n._defaultValues,r,e.defaultValue)),exact:!0}),l=function(e){const t=D(),{control:r=t.control,disabled:n,name:s,exact:i}=e||{},[o,l]=a.useState(r._formState),u=a.useRef(!0),c=a.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1}),f=a.useRef(s);return f.current=s,j({disabled:n,next:e=>u.current&&L(f.current,e.name,i)&&B(e,c.current)&&l({...r._formState,...e}),subject:r._subjects.state}),a.useEffect((()=>{u.current=!0;const e=r._proxyFormState.isDirty&&r._getDirty();return e!==r._formState.isDirty&&r._subjects.state.next({isDirty:e}),r._updateValid(),()=>{u.current=!1}}),[r]),N(o,r,c.current,!1)}({control:n,name:r}),f=a.useRef(n.register(r,{...e.rules,value:o}));return a.useEffect((()=>{const e=(e,t)=>{const r=m(n._fields,e);r&&(r._f.mount=t)};return e(r,!0),()=>{const t=n._options.shouldUnregister||s;(i?t&&!n._stateFlags.action:t)?n.unregister(r):e(r,!1)}}),[r,n,i,s]),{field:{name:r,value:o,onChange:a.useCallback((e=>f.current.onChange({target:{value:u(e),name:r},type:h})),[r]),onBlur:a.useCallback((()=>f.current.onBlur({target:{value:m(n._formValues,r),name:r},type:y})),[r,n]),ref:e=>{const t=m(n._fields,r);t&&e&&(t._f.ref={focus:()=>e.focus(),select:()=>e.select(),setCustomValidity:t=>e.setCustomValidity(t),reportValidity:()=>e.reportValidity()})}},formState:l,fieldState:Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!m(l.errors,r)},isDirty:{enumerable:!0,get:()=>!!m(l.dirtyFields,r)},isTouched:{enumerable:!0,get:()=>!!m(l.touchedFields,r)},error:{enumerable:!0,get:()=>m(l.errors,r)}})}}const I=e=>e.render(P(e));var q=(e,t,r,a,n)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[a]:n||!0}}:{},R=e=>/^\w*$/.test(e),$=e=>f(e.replace(/["|']|\]/g,"").split(/\.|\[/));function W(e,t,r){let a=-1;const n=R(t)?[t]:$(t),s=n.length,i=s-1;for(;++a{for(const a of r||Object.keys(e)){const r=m(e,a);if(r){const{_f:e,...a}=r;if(e&&t(e.name)){if(e.ref.focus){e.ref.focus();break}if(e.refs&&e.refs[0].focus){e.refs[0].focus();break}}else l(a)&&Z(a,t)}}};var K=e=>({isOnSubmit:!e||e===b,isOnBlur:e===g,isOnChange:e===p,isOnAll:e===V,isOnTouch:e===_}),Q=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some((t=>e.startsWith(t)&&/^\.\w+/.test(e.slice(t.length))))),X=(e,t,r)=>{const a=f(m(e,r));return W(a,"root",t[r]),W(e,r,a),e},Y=e=>"boolean"===typeof e,G=e=>"file"===e.type,J=e=>"function"===typeof e,ee=e=>{if(!U)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},te=e=>z(e)||a.isValidElement(e),re=e=>"radio"===e.type,ae=e=>e instanceof RegExp;const ne={value:!1,isValid:!1},se={value:!0,isValid:!0};var ie=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter((e=>e&&e.checked&&!e.disabled)).map((e=>e.value));return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!d(e[0].attributes.value)?d(e[0].value)||""===e[0].value?se:{value:e[0].value,isValid:!0}:se:ne}return ne};const oe={isValid:!1,value:null};var le=e=>Array.isArray(e)?e.reduce(((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e),oe):oe;function ue(e,t,r="validate"){if(te(e)||Array.isArray(e)&&e.every(te)||Y(e)&&!e)return{type:r,message:te(e)?e:"",ref:t}}var ce=e=>l(e)&&!ae(e)?e:{value:e,message:""},fe=async(e,t,r,a,s)=>{const{ref:o,refs:u,required:c,maxLength:f,minLength:m,min:y,max:v,pattern:h,validate:g,name:p,valueAsNumber:b,mount:_,disabled:V}=e._f;if(!_||V)return{};const C=u?u[0]:o,D=e=>{a&&C.reportValidity&&(C.setCustomValidity(Y(e)?"":e||""),C.reportValidity())},N={},B=re(o),T=n(o),L=B||T,j=(b||G(o))&&d(o.value)&&d(t)||ee(o)&&""===o.value||""===t||Array.isArray(t)&&!t.length,M=q.bind(null,p,r,N),U=(e,t,r,a=E,n=F)=>{const s=e?t:r;N[p]={type:e?a:n,message:s,ref:o,...M(e?a:n,s)}};if(s?!Array.isArray(t)||!t.length:c&&(!L&&(j||i(t))||Y(t)&&!t||T&&!ie(u).isValid||B&&!le(u).isValid)){const{value:e,message:t}=te(c)?{value:!!c,message:c}:ce(c);if(e&&(N[p]={type:A,message:t,ref:C,...M(A,t)},!r))return D(t),N}if(!j&&(!i(y)||!i(v))){let e,a;const n=ce(v),s=ce(y);if(i(t)||isNaN(t)){const r=o.valueAsDate||new Date(t),i=e=>new Date((new Date).toDateString()+" "+e),l="time"==o.type,u="week"==o.type;z(n.value)&&t&&(e=l?i(t)>i(n.value):u?t>n.value:r>new Date(n.value)),z(s.value)&&t&&(a=l?i(t)n.value),i(s.value)||(a=re.value,s=!i(a.value)&&t.length0&&(s=e);++a{for(const r of e)r.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter((e=>e!==t))}}),unsubscribe:()=>{e=[]}}}var ve=e=>i(e)||!o(e);function he(e,t){if(ve(e)||ve(t))return e===t;if(s(e)&&s(t))return e.getTime()===t.getTime();const r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(const n of r){const r=e[n];if(!a.includes(n))return!1;if("ref"!==n){const e=t[n];if(s(r)&&s(e)||l(r)&&l(e)||Array.isArray(r)&&Array.isArray(e)?!he(r,e):r!==e)return!1}}return!0}var ge=e=>"select-multiple"===e.type,pe=e=>ee(e)&&e.isConnected,be=e=>{for(const t in e)if(J(e[t]))return!0;return!1};function _e(e,t={}){const r=Array.isArray(e);if(l(e)||r)for(const a in e)Array.isArray(e[a])||l(e[a])&&!be(e[a])?(t[a]=Array.isArray(e[a])?[]:{},_e(e[a],t[a])):i(e[a])||(t[a]=!0);return t}function Ve(e,t,r){const a=Array.isArray(e);if(l(e)||a)for(const n in e)Array.isArray(e[n])||l(e[n])&&!be(e[n])?d(t)||ve(r[n])?r[n]=Array.isArray(e[n])?_e(e[n],[]):{..._e(e[n])}:Ve(e[n],i(t)?{}:t[n],r[n]):he(e[n],t[n])?delete r[n]:r[n]=!0;return r}var xe=(e,t)=>Ve(e,t,_e(t)),ke=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:a})=>d(e)?e:t?""===e?NaN:e?+e:e:r&&z(e)?new Date(e):a?a(e):e;function Ee(e){const t=e.ref;if(!(e.refs?e.refs.every((e=>e.disabled)):t.disabled))return G(t)?t.files:re(t)?le(e.refs).value:ge(t)?[...t.selectedOptions].map((({value:e})=>e)):n(t)?ie(e.refs).value:ke(d(t.value)?e.ref.value:t.value,e)}var Fe=e=>d(e)?e:ae(e)?e.source:l(e)?ae(e.value)?e.value.source:e.value:e;function we(e,t,r){const a=m(e,r);if(a||R(r))return{error:a,name:r};const n=r.split(".");for(;n.length;){const a=n.join("."),s=m(t,a),i=m(e,a);if(s&&!Array.isArray(s)&&r!==a)return{name:r};if(i&&i.type)return{name:a,error:i};n.pop()}return{name:r}}const Ae={mode:b,reValidateMode:p,shouldFocusError:!0};function Se(e={},t){let r={...Ae,...e};const a=e.resetOptions&&e.resetOptions.keepDirtyValues;let o,h={submitCount:0,isDirty:!1,isLoading:!0,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},errors:{}},g={},p=l(r.defaultValues)&&H(r.defaultValues)||{},b=r.shouldUnregister?{}:H(p),_={action:!1,mount:!1,watch:!1},x={mount:new Set,unMount:new Set,array:new Set,watch:new Set},k=0;const E={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},F={watch:ye(),array:ye(),state:ye()},w=K(r.mode),A=K(r.reValidateMode),S=r.criteriaMode===V,C=async()=>{if(E.isValid){const e=r.resolver?O((await j()).errors):await P(g,!0);e!==h.isValid&&(h.isValid=e,F.state.next({isValid:e}))}},D=e=>E.isValidating&&F.state.next({isValidating:e}),N=(e,t,r,a)=>{const n=m(g,e);if(n){const s=m(b,e,d(r)?m(p,e):r);d(s)||a&&a.defaultChecked||t?W(b,e,t?s:Ee(n._f)):R(e,s),_.mount&&C()}},B=(e,t,r,a,n)=>{let s=!1,i=!1;const o={name:e};if(!r||a){E.isDirty&&(i=h.isDirty,h.isDirty=o.isDirty=I(),s=i!==o.isDirty);const r=he(m(p,e),t);i=m(h.dirtyFields,e),r?me(h.dirtyFields,e):W(h.dirtyFields,e,!0),o.dirtyFields=h.dirtyFields,s=s||E.dirtyFields&&i!==!r}if(r){const t=m(h.touchedFields,e);t||(W(h.touchedFields,e,r),o.touchedFields=h.touchedFields,s=s||E.touchedFields&&t!==r)}return s&&n&&F.state.next(o),s?o:{}},L=(t,r,a,n)=>{const s=m(h.errors,t),i=E.isValid&&Y(r)&&h.isValid!==r;var l;if(e.delayError&&a?(l=()=>((e,t)=>{W(h.errors,e,t),F.state.next({errors:h.errors})})(t,a),o=e=>{clearTimeout(k),k=window.setTimeout(l,e)},o(e.delayError)):(clearTimeout(k),o=null,a?W(h.errors,t,a):me(h.errors,t)),(a?!he(s,a):s)||!O(n)||i){const e={...n,...i&&Y(r)?{isValid:r}:{},errors:h.errors,name:t};h={...h,...e},F.state.next(e)}D(!1)},j=async e=>await r.resolver(b,r.context,((e,t,r,a)=>{const n={};for(const s of e){const e=m(t,s);e&&W(n,s,e._f)}return{criteriaMode:r,names:[...e],fields:n,shouldUseNativeValidation:a}})(e||x.mount,g,r.criteriaMode,r.shouldUseNativeValidation)),P=async(e,t,a={valid:!0})=>{for(const n in e){const s=e[n];if(s){const{_f:e,...n}=s;if(e){const n=x.array.has(e.name),i=await fe(s,m(b,e.name),S,r.shouldUseNativeValidation,n);if(i[e.name]&&(a.valid=!1,t))break;!t&&(m(i,e.name)?n?X(h.errors,i,e.name):W(h.errors,e.name,i[e.name]):me(h.errors,e.name))}n&&await P(n,t,a)}}return a.valid},I=(e,t)=>(e&&t&&W(b,e,t),!he(se(),p)),q=(e,t,r)=>M(e,x,{..._.mount?b:d(t)?p:z(e)?{[e]:t}:t},r,t),R=(e,t,r={})=>{const a=m(g,e);let s=t;if(a){const r=a._f;r&&(!r.disabled&&W(b,e,ke(t,r)),s=ee(r.ref)&&i(t)?"":t,ge(r.ref)?[...r.ref.options].forEach((e=>e.selected=s.includes(e.value))):r.refs?n(r.ref)?r.refs.length>1?r.refs.forEach((e=>(!e.defaultChecked||!e.disabled)&&(e.checked=Array.isArray(s)?!!s.find((t=>t===e.value)):s===e.value))):r.refs[0]&&(r.refs[0].checked=!!s):r.refs.forEach((e=>e.checked=e.value===s)):G(r.ref)?r.ref.value="":(r.ref.value=s,r.ref.type||F.watch.next({name:e})))}(r.shouldDirty||r.shouldTouch)&&B(e,s,r.shouldTouch,r.shouldDirty,!0),r.shouldValidate&&ne(e)},$=(e,t,r)=>{for(const a in t){const n=t[a],i=`${e}.${a}`,o=m(g,i);!x.array.has(e)&&ve(n)&&(!o||o._f)||s(n)?R(i,n,r):$(i,n,r)}},te=(e,r,a={})=>{const n=m(g,e),s=x.array.has(e),o=H(r);W(b,e,o),s?(F.array.next({name:e,values:b}),(E.isDirty||E.dirtyFields)&&a.shouldDirty&&(h.dirtyFields=xe(p,b),F.state.next({name:e,dirtyFields:h.dirtyFields,isDirty:I(e,o)}))):!n||n._f||i(o)?R(e,o,a):$(e,o,a),Q(e,x)&&F.state.next({}),F.watch.next({name:e}),!_.mount&&t()},ae=async e=>{const t=e.target;let a=t.name;const n=m(g,a);if(n){let i,l;const c=t.type?Ee(n._f):u(e),f=e.type===y||e.type===v,d=!((s=n._f).mount&&(s.required||s.min||s.max||s.maxLength||s.minLength||s.pattern||s.validate))&&!r.resolver&&!m(h.errors,a)&&!n._f.deps||((e,t,r,a,n)=>!n.isOnAll&&(!r&&n.isOnTouch?!(t||e):(r?a.isOnBlur:n.isOnBlur)?!e:!(r?a.isOnChange:n.isOnChange)||e))(f,m(h.touchedFields,a),h.isSubmitted,A,w),p=Q(a,x,f);W(b,a,c),f?(n._f.onBlur&&n._f.onBlur(e),o&&o(0)):n._f.onChange&&n._f.onChange(e);const _=B(a,c,f,!1),V=!O(_)||p;if(!f&&F.watch.next({name:a,type:e.type}),d)return E.isValid&&C(),V&&F.state.next({name:a,...p?{}:_});if(!f&&p&&F.state.next({}),D(!0),r.resolver){const{errors:e}=await j([a]),t=we(h.errors,g,a),r=we(e,g,t.name||a);i=r.error,a=r.name,l=O(e)}else i=(await fe(n,m(b,a),S,r.shouldUseNativeValidation))[a],i?l=!1:E.isValid&&(l=await P(g,!0));n._f.deps&&ne(n._f.deps),L(a,l,i,_)}var s},ne=async(e,t={})=>{let a,n;const s=T(e);if(D(!0),r.resolver){const t=await(async e=>{const{errors:t}=await j();if(e)for(const r of e){const e=m(t,r);e?W(h.errors,r,e):me(h.errors,r)}else h.errors=t;return t})(d(e)?e:s);a=O(t),n=e?!s.some((e=>m(t,e))):a}else e?(n=(await Promise.all(s.map((async e=>{const t=m(g,e);return await P(t&&t._f?{[e]:t}:t)})))).every(Boolean),(n||h.isValid)&&C()):n=a=await P(g);return F.state.next({...!z(e)||E.isValid&&a!==h.isValid?{}:{name:e},...r.resolver||!e?{isValid:a}:{},errors:h.errors,isValidating:!1}),t.shouldFocus&&!n&&Z(g,(e=>e&&m(h.errors,e)),e?s:x.mount),n},se=e=>{const t={...p,..._.mount?b:{}};return d(e)?t:z(e)?m(t,e):e.map((e=>m(t,e)))},ie=(e,t)=>({invalid:!!m((t||h).errors,e),isDirty:!!m((t||h).dirtyFields,e),isTouched:!!m((t||h).touchedFields,e),error:m((t||h).errors,e)}),oe=(e,t={})=>{for(const a of e?T(e):x.mount)x.mount.delete(a),x.array.delete(a),m(g,a)&&(t.keepValue||(me(g,a),me(b,a)),!t.keepError&&me(h.errors,a),!t.keepDirty&&me(h.dirtyFields,a),!t.keepTouched&&me(h.touchedFields,a),!r.shouldUnregister&&!t.keepDefaultValue&&me(p,a));F.watch.next({}),F.state.next({...h,...t.keepDirty?{isDirty:I()}:{}}),!t.keepIsValid&&C()},le=(e,t={})=>{let a=m(g,e);const s=Y(t.disabled);return W(g,e,{...a||{},_f:{...a&&a._f?a._f:{ref:{name:e}},name:e,mount:!0,...t}}),x.mount.add(e),a?s&&W(b,e,t.disabled?void 0:m(b,e,Ee(a._f))):N(e,!0,t.value),{...s?{disabled:t.disabled}:{},...r.shouldUseNativeValidation?{required:!!t.required,min:Fe(t.min),max:Fe(t.max),minLength:Fe(t.minLength),maxLength:Fe(t.maxLength),pattern:Fe(t.pattern)}:{},name:e,onChange:ae,onBlur:ae,ref:s=>{if(s){le(e,t),a=m(g,e);const r=d(s.value)&&s.querySelectorAll&&s.querySelectorAll("input,select,textarea")[0]||s,i=(e=>re(e)||n(e))(r),o=a._f.refs||[];if(i?o.find((e=>e===r)):r===a._f.ref)return;W(g,e,{_f:{...a._f,...i?{refs:[...o.filter(pe),r,...Array.isArray(m(p,e))?[{}]:[]],ref:{type:r.type,name:e}}:{ref:r}}}),N(e,!1,void 0,r)}else a=m(g,e,{}),a._f&&(a._f.mount=!1),(r.shouldUnregister||t.shouldUnregister)&&(!c(x.array,e)||!_.action)&&x.unMount.add(e)}}},ue=()=>r.shouldFocusError&&Z(g,(e=>e&&m(h.errors,e)),x.mount),ce=(r,n={})=>{const s=r||p,i=H(s),o=r&&!O(r)?i:p;if(n.keepDefaultValues||(p=s),!n.keepValues){if(n.keepDirtyValues||a)for(const e of x.mount)m(h.dirtyFields,e)?W(o,e,m(b,e)):te(e,m(o,e));else{if(U&&d(r))for(const e of x.mount){const t=m(g,e);if(t&&t._f){const e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(ee(e)){const t=e.closest("form");if(t){t.reset();break}}}}g={}}b=e.shouldUnregister?n.keepDefaultValues?H(p):{}:i,F.array.next({values:o}),F.watch.next({values:o})}x={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},!_.mount&&t(),_.mount=!E.isValid||!!n.keepIsValid,_.watch=!!e.shouldUnregister,F.state.next({submitCount:n.keepSubmitCount?h.submitCount:0,isDirty:n.keepDirty||n.keepDirtyValues?h.isDirty:!(!n.keepDefaultValues||he(r,p)),isSubmitted:!!n.keepIsSubmitted&&h.isSubmitted,dirtyFields:n.keepDirty||n.keepDirtyValues?h.dirtyFields:n.keepDefaultValues&&r?xe(p,r):{},touchedFields:n.keepTouched?h.touchedFields:{},errors:n.keepErrors?h.errors:{},isSubmitting:!1,isSubmitSuccessful:!1})},de=(e,t)=>ce(J(e)?e(b):e,t);return J(r.defaultValues)&&r.defaultValues().then((e=>{de(e,r.resetOptions),F.state.next({isLoading:!1})})),{control:{register:le,unregister:oe,getFieldState:ie,_executeSchema:j,_focusError:ue,_getWatch:q,_getDirty:I,_updateValid:C,_removeUnmounted:()=>{for(const e of x.unMount){const t=m(g,e);t&&(t._f.refs?t._f.refs.every((e=>!pe(e))):!pe(t._f.ref))&&oe(e)}x.unMount=new Set},_updateFieldArray:(e,t=[],r,a,n=!0,s=!0)=>{if(a&&r){if(_.action=!0,s&&Array.isArray(m(g,e))){const t=r(m(g,e),a.argA,a.argB);n&&W(g,e,t)}if(s&&Array.isArray(m(h.errors,e))){const t=r(m(h.errors,e),a.argA,a.argB);n&&W(h.errors,e,t),((e,t)=>{!f(m(e,t)).length&&me(e,t)})(h.errors,e)}if(E.touchedFields&&s&&Array.isArray(m(h.touchedFields,e))){const t=r(m(h.touchedFields,e),a.argA,a.argB);n&&W(h.touchedFields,e,t)}E.dirtyFields&&(h.dirtyFields=xe(p,b)),F.state.next({name:e,isDirty:I(e,t),dirtyFields:h.dirtyFields,errors:h.errors,isValid:h.isValid})}else W(b,e,t)},_getFieldArray:t=>f(m(_.mount?b:p,t,e.shouldUnregister?m(p,t,[]):[])),_reset:ce,_subjects:F,_proxyFormState:E,get _fields(){return g},get _formValues(){return b},get _stateFlags(){return _},set _stateFlags(e){_=e},get _defaultValues(){return p},get _names(){return x},set _names(e){x=e},get _formState(){return h},set _formState(e){h=e},get _options(){return r},set _options(e){r={...r,...e}}},trigger:ne,register:le,handleSubmit:(e,t)=>async a=>{a&&(a.preventDefault&&a.preventDefault(),a.persist&&a.persist());let n=!0,s=H(b);F.state.next({isSubmitting:!0});try{if(r.resolver){const{errors:e,values:t}=await j();h.errors=e,s=t}else await P(g);O(h.errors)?(F.state.next({errors:{},isSubmitting:!0}),await e(s,a)):(t&&await t({...h.errors},a),ue())}catch(i){throw n=!1,i}finally{h.isSubmitted=!0,F.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:O(h.errors)&&n,submitCount:h.submitCount+1,errors:h.errors})}},watch:(e,t)=>J(e)?F.watch.subscribe({next:r=>e(q(void 0,t),r)}):q(e,t,!0),setValue:te,getValues:se,reset:de,resetField:(e,t={})=>{m(g,e)&&(d(t.defaultValue)?te(e,m(p,e)):(te(e,t.defaultValue),W(p,e,t.defaultValue)),t.keepTouched||me(h.touchedFields,e),t.keepDirty||(me(h.dirtyFields,e),h.isDirty=t.defaultValue?I(e,m(p,e)):I()),t.keepError||(me(h.errors,e),E.isValid&&C()),F.state.next({...h}))},clearErrors:e=>{e?T(e).forEach((e=>me(h.errors,e))):h.errors={},F.state.next({errors:h.errors})},unregister:oe,setError:(e,t,r)=>{const a=(m(g,e,{_f:{}})._f||{}).ref;W(h.errors,e,{...t,ref:a}),F.state.next({name:e,errors:h.errors,isValid:!1}),r&&r.shouldFocus&&a&&a.focus&&a.focus()},setFocus:(e,t={})=>{const r=m(g,e),a=r&&r._f;if(a){const e=a.refs?a.refs[0]:a.ref;e.focus&&(e.focus(),t.shouldSelect&&e.select())}},getFieldState:ie}}function Ce(e={}){const t=a.useRef(),[r,n]=a.useState({isDirty:!1,isValidating:!1,isLoading:!0,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},errors:{},defaultValues:J(e.defaultValues)?void 0:e.defaultValues});t.current||(t.current={...Se(e,(()=>n((e=>({...e}))))),formState:r});const s=t.current.control;return s._options=e,j({subject:s._subjects.state,next:e=>{B(e,s._proxyFormState,!0)&&(s._formState={...s._formState,...e},n({...s._formState}))}}),a.useEffect((()=>{s._stateFlags.mount||(s._proxyFormState.isValid&&s._updateValid(),s._stateFlags.mount=!0),s._stateFlags.watch&&(s._stateFlags.watch=!1,s._subjects.state.next({})),s._removeUnmounted()})),a.useEffect((()=>{e.values&&!he(e.values,s._defaultValues)&&s._reset(e.values,s._options.resetOptions)}),[e.values,s]),a.useEffect((()=>{r.submitCount&&s._focusError()}),[s,r.submitCount]),t.current.formState=N(r,s),t.current}}}]);