UNPKG

56.6 kBJavaScriptView Raw
1!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).XState={})}(this,(function(t){"use strict";
2/*! *****************************************************************************
3 Copyright (c) Microsoft Corporation.
4
5 Permission to use, copy, modify, and/or distribute this software for any
6 purpose with or without fee is hereby granted.
7
8 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9 REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10 AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11 INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12 LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13 OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14 PERFORMANCE OF THIS SOFTWARE.
15 ***************************************************************************** */var e,n,r=function(){return(r=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};function i(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]])}return n}function o(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function a(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)a.push(r.value)}catch(t){i={error:t}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function s(t,e,n){if(n||2===arguments.length)for(var r,i=0,o=e.length;i<o;i++)!r&&i in e||(r||(r=Array.prototype.slice.call(e,0,i)),r[i]=e[i]);return t.concat(r||Array.prototype.slice.call(e))}t.ActionTypes=void 0,(e=t.ActionTypes||(t.ActionTypes={})).Start="xstate.start",e.Stop="xstate.stop",e.Raise="xstate.raise",e.Send="xstate.send",e.Cancel="xstate.cancel",e.NullEvent="",e.Assign="xstate.assign",e.After="xstate.after",e.DoneState="done.state",e.DoneInvoke="done.invoke",e.Log="xstate.log",e.Init="xstate.init",e.Invoke="xstate.invoke",e.ErrorExecution="error.execution",e.ErrorCommunication="error.communication",e.ErrorPlatform="error.platform",e.ErrorCustom="xstate.error",e.Update="xstate.update",e.Pure="xstate.pure",e.Choose="xstate.choose",t.SpecialTargets=void 0,(n=t.SpecialTargets||(t.SpecialTargets={})).Parent="#_parent",n.Internal="#_internal";var c,u=t.ActionTypes.Start,h=t.ActionTypes.Stop,f=t.ActionTypes.Raise,l=t.ActionTypes.Send,d=t.ActionTypes.Cancel,v=t.ActionTypes.NullEvent,p=t.ActionTypes.Assign,y=t.ActionTypes.After,g=t.ActionTypes.DoneState,m=t.ActionTypes.Log,S=t.ActionTypes.Init,x=t.ActionTypes.Invoke,b=t.ActionTypes.ErrorExecution,w=t.ActionTypes.ErrorPlatform,_=t.ActionTypes.ErrorCustom,E=t.ActionTypes.Update,T=t.ActionTypes.Choose,O=t.ActionTypes.Pure,k=Object.freeze({__proto__:null,start:u,stop:h,raise:f,send:l,cancel:d,nullEvent:v,assign:p,after:y,doneState:g,log:m,init:S,invoke:x,errorExecution:b,errorPlatform:w,error:_,update:E,choose:T,pure:O}),j={};function A(t,e,n){void 0===n&&(n=".");var r=I(t,n),i=I(e,n);return G(i)?!!G(r)&&i===r:G(r)?r in i:Object.keys(r).every((function(t){return t in i&&A(r[t],i[t])}))}function N(t){try{return G(t)||"number"==typeof t?"".concat(t):t.type}catch(t){throw new Error("Events must be strings or objects with a string event.type property.")}}function P(t,e){try{return $(t)?t:t.toString().split(e)}catch(e){throw new Error("'".concat(t,"' is not a valid state path."))}}function I(t,e){return"object"==typeof(n=t)&&"value"in n&&"context"in n&&"event"in n&&"_event"in n?t.value:$(t)?C(t):"string"!=typeof t?t:C(P(t,e));var n}function C(t){if(1===t.length)return t[0];for(var e={},n=e,r=0;r<t.length-1;r++)r===t.length-2?n[t[r]]=t[r+1]:(n[t[r]]={},n=n[t[r]]);return e}function V(t,e){for(var n={},r=Object.keys(t),i=0;i<r.length;i++){var o=r[i];n[o]=e(t[o],o,t,i)}return n}function L(t,e,n){var r,i,a={};try{for(var s=o(Object.keys(t)),c=s.next();!c.done;c=s.next()){var u=c.value,h=t[u];n(h)&&(a[u]=e(h,u,t))}}catch(t){r={error:t}}finally{try{c&&!c.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}return a}var D=function(t){return function(e){var n,r,i=e;try{for(var a=o(t),s=a.next();!s.done;s=a.next()){i=i[s.value]}}catch(t){n={error:t}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}return i}};function R(t){return t?G(t)?[[t]]:M(Object.keys(t).map((function(e){var n=t[e];return"string"==typeof n||n&&Object.keys(n).length?R(t[e]).map((function(t){return[e].concat(t)})):[[e]]}))):[[]]}function M(t){var e;return(e=[]).concat.apply(e,s([],a(t),!1))}function z(t){return $(t)?t:[t]}function F(t){return void 0===t?[]:z(t)}function B(t,e,n){var r,i;if(H(t))return t(e,n.data);var a={};try{for(var s=o(Object.keys(t)),c=s.next();!c.done;c=s.next()){var u=c.value,h=t[u];H(h)?a[u]=h(e,n.data):a[u]=h}}catch(t){r={error:t}}finally{try{c&&!c.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}return a}function U(t){return t instanceof Promise||!(null===t||!H(t)&&"object"!=typeof t||!H(t.then))}function J(t,e){var n,r,i=a([[],[]],2),s=i[0],c=i[1];try{for(var u=o(t),h=u.next();!h.done;h=u.next()){var f=h.value;e(f)?s.push(f):c.push(f)}}catch(t){n={error:t}}finally{try{h&&!h.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}return[s,c]}function q(t,e){return V(t.states,(function(t,n){if(t){var r=(G(e)?void 0:e[n])||(t?t.current:void 0);if(r)return{current:r,states:q(t,r)}}}))}function X(t,e,n,r){return t?n.reduce((function(t,n){var i,a,s=n.assignment,c={state:r,action:n,_event:e},u={};if(H(s))u=s(t,e.data,c);else try{for(var h=o(Object.keys(s)),f=h.next();!f.done;f=h.next()){var l=f.value,d=s[l];u[l]=H(d)?d(t,e.data,c):d}}catch(t){i={error:t}}finally{try{f&&!f.done&&(a=h.return)&&a.call(h)}finally{if(i)throw i.error}}return Object.assign({},t,u)}),t):t}function $(t){return Array.isArray(t)}function H(t){return"function"==typeof t}function G(t){return"string"==typeof t}function K(t,e){if(t)return G(t)?{type:"xstate.guard",name:t,predicate:e?e[t]:void 0}:H(t)?{type:"xstate.guard",name:t.name,predicate:t}:t}var Q=function(){return"function"==typeof Symbol&&Symbol.observable||"@@observable"}();function W(t){return!!t&&"__xstatenode"in t}(c={})[Q]=function(){return this},c[Symbol.observable]=function(){return this};var Y=function(){var t=0;return function(){return(++t).toString(16)}}();function Z(t,e){return G(t)||"number"==typeof t?r({type:t},e):t}function tt(t,e){if(!G(t)&&"$$type"in t&&"scxml"===t.$$type)return t;var n=Z(t);return r({name:n.type,data:n,$$type:"scxml",type:"external"},e)}function et(t,e){return z(e).map((function(e){return void 0===e||"string"==typeof e||W(e)?{target:e,event:t}:r(r({},e),{event:t})}))}function nt(t,e,n,r,i){var o=t.options.guards,a={state:i,cond:e,_event:r};if("xstate.guard"===e.type)return((null==o?void 0:o[e.name])||e.predicate)(n,r.data,a);var s=null==o?void 0:o[e.type];if(!s)throw new Error("Guard '".concat(e.type,"' is not implemented on machine '").concat(t.id,"'."));return s(n,r.data,a)}function rt(t){return"string"==typeof t?{type:t}:t}function it(t,e,n){if("object"==typeof t)return t;var r=function(){};return{next:t,error:e||r,complete:n||r}}function ot(t,e){return"".concat(t,":invocation[").concat(e,"]")}var at=tt({type:S});function st(t,e){return e&&e[t]||void 0}function ct(t,e){var n;if(G(t)||"number"==typeof t)n=H(i=st(t,e))?{type:t,exec:i}:i||{type:t,exec:void 0};else if(H(t))n={type:t.name||t.toString(),exec:t};else{var i;if(H(i=st(t.type,e)))n=r(r({},t),{exec:i});else if(i){var o=i.type||t.type;n=r(r(r({},i),t),{type:o})}else n=t}return n}var ut=function(t,e){return t?($(t)?t:[t]).map((function(t){return ct(t,e)})):[]};function ht(t){var e=ct(t);return r(r({id:G(t)?t:e.id},e),{type:e.type})}function ft(e){return G(e)?{type:f,event:e}:dt(e,{to:t.SpecialTargets.Internal})}function lt(t){return{type:f,_event:tt(t.event)}}function dt(t,e){return{to:e?e.to:void 0,type:l,event:H(t)?t:Z(t),delay:e?e.delay:void 0,id:e&&void 0!==e.id?e.id:H(t)?t.name:N(t)}}function vt(t,e,n,i){var o,a={_event:n},s=tt(H(t.event)?t.event(e,n.data,a):t.event);if(G(t.delay)){var c=i&&i[t.delay];o=H(c)?c(e,n.data,a):c}else o=H(t.delay)?t.delay(e,n.data,a):t.delay;var u=H(t.to)?t.to(e,n.data,a):t.to;return r(r({},t),{to:u,_event:s,event:s.data,delay:o})}function pt(e,n){return dt(e,r(r({},n),{to:t.SpecialTargets.Parent}))}function yt(){return pt(E)}var gt=function(t,e){return{context:t,event:e}};var mt=function(t,e,n){return r(r({},t),{value:G(t.expr)?t.expr:t.expr(e,n.data,{_event:n})})},St=function(t){return{type:d,sendId:t}};function xt(e){var n=ht(e);return{type:t.ActionTypes.Start,activity:n,exec:void 0}}function bt(e){var n=H(e)?e:ht(e);return{type:t.ActionTypes.Stop,activity:n,exec:void 0}}function wt(e,n,r){var i=H(e.activity)?e.activity(n,r.data):e.activity,o="string"==typeof i?{id:i}:i;return{type:t.ActionTypes.Stop,activity:o}}var _t=function(t){return{type:p,assignment:t}};function Et(e,n){var r=n?"#".concat(n):"";return"".concat(t.ActionTypes.After,"(").concat(e,")").concat(r)}function Tt(e,n){var r="".concat(t.ActionTypes.DoneState,".").concat(e),i={type:r,data:n,toString:function(){return r}};return i}function Ot(e,n){var r="".concat(t.ActionTypes.DoneInvoke,".").concat(e),i={type:r,data:n,toString:function(){return r}};return i}function kt(e,n){var r="".concat(t.ActionTypes.ErrorPlatform,".").concat(e),i={type:r,data:n,toString:function(){return r}};return i}function jt(t,e){return dt((function(t,e){return e}),r(r({},e),{to:t}))}function At(t,e,n,i,o,c){void 0===c&&(c=!1);var u=a(c?[[],o]:J(o,(function(t){return t.type===p})),2),d=u[0],v=u[1],y=d.length?X(n,i,d,e):n,g=c?[n]:void 0;return[M(v.map((function(n){var o;switch(n.type){case f:return lt(n);case l:return vt(n,y,i,t.options.delays);case m:return mt(n,y,i);case T:if(!(S=null===(o=n.conds.find((function(n){var r=K(n.cond,t.options.guards);return!r||nt(t,r,y,i,e)})))||void 0===o?void 0:o.actions))return[];var u=a(At(t,e,y,i,ut(F(S),t.options.actions),c),2),d=u[0],v=u[1];return y=v,null==g||g.push(y),d;case O:var S;if(!(S=n.get(y,i.data)))return[];var x=a(At(t,e,y,i,ut(F(S),t.options.actions),c),2),b=x[0],w=x[1];return y=w,null==g||g.push(y),b;case h:return wt(n,y,i);case p:y=X(y,i,[n],e),null==g||g.push(y);break;default:var _=ct(n,t.options.actions),E=_.exec;if(E&&g){var k=g.length-1;_=r(r({},_),{exec:function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];E.apply(void 0,s([g[k]],a(e),!1))}})}return _}})).filter((function(t){return!!t}))),y]}var Nt=Object.freeze({__proto__:null,actionTypes:k,initEvent:at,getActionFunction:st,toActionObject:ct,toActionObjects:ut,toActivityDefinition:ht,raise:ft,resolveRaise:lt,send:dt,resolveSend:vt,sendParent:pt,sendTo:function(t,e,n){return dt(e,r(r({},n),{to:t}))},sendUpdate:yt,respond:function(t,e){return dt(t,r(r({},e),{to:function(t,e,n){return n._event.origin}}))},log:function(t,e){return void 0===t&&(t=gt),{type:m,label:e,expr:t}},resolveLog:mt,cancel:St,start:xt,stop:bt,resolveStop:wt,assign:_t,isActionObject:function(t){return"object"==typeof t&&"type"in t},after:Et,done:Tt,doneInvoke:Ot,error:kt,pure:function(e){return{type:t.ActionTypes.Pure,get:e}},forwardTo:jt,escalate:function(e,n){return pt((function(t,n,r){return{type:_,data:H(e)?e(t,n,r):e}}),r(r({},n),{to:t.SpecialTargets.Parent}))},choose:function(e){return{type:t.ActionTypes.Choose,conds:e}},resolveActions:At}),Pt=[],It=function(t,e){Pt.push(t);var n=e(t);return Pt.pop(),n};function Ct(t){var e;return(e={id:t,send:function(){},subscribe:function(){return{unsubscribe:function(){}}},getSnapshot:function(){},toJSON:function(){return{id:t}}})[Q]=function(){return this},e}function Vt(t,e,n){var r=Ct(e);if(r.deferred=!0,W(t)){var i=r.state=It(void 0,(function(){return(n?t.withContext(n):t).initialState}));r.getSnapshot=function(){return i}}return r}function Lt(t){var e;return r(((e={subscribe:function(){return{unsubscribe:function(){}}},id:"anonymous",getSnapshot:function(){}})[Q]=function(){return this},e),t)}var Dt=function(t){return"atomic"===t.type||"final"===t.type};function Rt(t){return Object.keys(t.states).map((function(e){return t.states[e]})).filter((function(t){return"history"!==t.type}))}function Mt(t){var e=[t];return Dt(t)?e:e.concat(M(Rt(t).map(Mt)))}function zt(t,e){var n,r,i,a,s,c,u,h,f=Ft(new Set(t)),l=new Set(e);try{for(var d=o(l),v=d.next();!v.done;v=d.next())for(var p=(E=v.value).parent;p&&!l.has(p);)l.add(p),p=p.parent}catch(t){n={error:t}}finally{try{v&&!v.done&&(r=d.return)&&r.call(d)}finally{if(n)throw n.error}}var y=Ft(l);try{for(var g=o(l),m=g.next();!m.done;m=g.next()){if("compound"!==(E=m.value).type||y.get(E)&&y.get(E).length){if("parallel"===E.type)try{for(var S=(s=void 0,o(Rt(E))),x=S.next();!x.done;x=S.next()){var b=x.value;l.has(b)||(l.add(b),f.get(b)?f.get(b).forEach((function(t){return l.add(t)})):b.initialStateNodes.forEach((function(t){return l.add(t)})))}}catch(t){s={error:t}}finally{try{x&&!x.done&&(c=S.return)&&c.call(S)}finally{if(s)throw s.error}}}else f.get(E)?f.get(E).forEach((function(t){return l.add(t)})):E.initialStateNodes.forEach((function(t){return l.add(t)}))}}catch(t){i={error:t}}finally{try{m&&!m.done&&(a=g.return)&&a.call(g)}finally{if(i)throw i.error}}try{for(var w=o(l),_=w.next();!_.done;_=w.next()){var E;for(p=(E=_.value).parent;p&&!l.has(p);)l.add(p),p=p.parent}}catch(t){u={error:t}}finally{try{_&&!_.done&&(h=w.return)&&h.call(w)}finally{if(u)throw u.error}}return l}function Ft(t){var e,n,r=new Map;try{for(var i=o(t),a=i.next();!a.done;a=i.next()){var s=a.value;r.has(s)||r.set(s,[]),s.parent&&(r.has(s.parent)||r.set(s.parent,[]),r.get(s.parent).push(s))}}catch(t){e={error:t}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return r}function Bt(t,e){return function t(e,n){var r=n.get(e);if(!r)return{};if("compound"===e.type){var i=r[0];if(!i)return{};if(Dt(i))return i.key}var o={};return r.forEach((function(e){o[e.key]=t(e,n)})),o}(t,Ft(zt([t],e)))}function Ut(t,e){return Array.isArray(t)?t.some((function(t){return t===e})):t instanceof Set&&t.has(e)}function Jt(t,e){return"compound"===e.type?Rt(e).some((function(e){return"final"===e.type&&Ut(t,e)})):"parallel"===e.type&&Rt(e).every((function(e){return Jt(t,e)}))}function qt(t){return new Set(M(t.map((function(t){return t.tags}))))}var Xt=function(){function t(t){var e,n,r=this;this.actions=[],this.activities=j,this.meta={},this.events=[],this.value=t.value,this.context=t.context,this._event=t._event,this._sessionid=t._sessionid,this.event=this._event.data,this.historyValue=t.historyValue,this.history=t.history,this.actions=t.actions||[],this.activities=t.activities||j,this.meta=(void 0===(n=t.configuration)&&(n=[]),n.reduce((function(t,e){return void 0!==e.meta&&(t[e.id]=e.meta),t}),{})),this.events=t.events||[],this.matches=this.matches.bind(this),this.toStrings=this.toStrings.bind(this),this.configuration=t.configuration,this.transitions=t.transitions,this.children=t.children,this.done=!!t.done,this.tags=null!==(e=Array.isArray(t.tags)?new Set(t.tags):t.tags)&&void 0!==e?e:new Set,this.machine=t.machine,Object.defineProperty(this,"nextEvents",{get:function(){return function(t){return s([],a(new Set(M(s([],a(t.map((function(t){return t.ownEvents}))),!1)))),!1)}(r.configuration)}})}return t.from=function(e,n){return e instanceof t?e.context!==n?new t({value:e.value,context:n,_event:e._event,_sessionid:null,historyValue:e.historyValue,history:e.history,actions:[],activities:e.activities,meta:{},events:[],configuration:[],transitions:[],children:{}}):e:new t({value:e,context:n,_event:at,_sessionid:null,historyValue:void 0,history:void 0,actions:[],activities:void 0,meta:void 0,events:[],configuration:[],transitions:[],children:{}})},t.create=function(e){return new t(e)},t.inert=function(e,n){if(e instanceof t){if(!e.actions.length)return e;var r=at;return new t({value:e.value,context:n,_event:r,_sessionid:null,historyValue:e.historyValue,history:e.history,activities:e.activities,configuration:e.configuration,transitions:[],children:{}})}return t.from(e,n)},t.prototype.toStrings=function(t,e){var n=this;if(void 0===t&&(t=this.value),void 0===e&&(e="."),G(t))return[t];var r=Object.keys(t);return r.concat.apply(r,s([],a(r.map((function(r){return n.toStrings(t[r],e).map((function(t){return r+e+t}))}))),!1))},t.prototype.toJSON=function(){var t=this;t.configuration,t.transitions;var e=t.tags;t.machine;var n=i(t,["configuration","transitions","tags","machine"]);return r(r({},n),{tags:Array.from(e)})},t.prototype.matches=function(t){return A(t,this.value)},t.prototype.hasTag=function(t){return this.tags.has(t)},t.prototype.can=function(t){var e;this.machine;var n=null===(e=this.machine)||void 0===e?void 0:e.getTransitionData(this,t);return!!(null==n?void 0:n.transitions.length)&&n.transitions.some((function(t){return void 0!==t.target||t.actions.length}))},t}(),$t={deferEvents:!1},Ht=function(){function t(t){this.processingEvent=!1,this.queue=[],this.initialized=!1,this.options=r(r({},$t),t)}return t.prototype.initialize=function(t){if(this.initialized=!0,t){if(!this.options.deferEvents)return void this.schedule(t);this.process(t)}this.flushEvents()},t.prototype.schedule=function(t){if(this.initialized&&!this.processingEvent){if(0!==this.queue.length)throw new Error("Event queue should be empty when it is not processing events");this.process(t),this.flushEvents()}else this.queue.push(t)},t.prototype.clear=function(){this.queue=[]},t.prototype.flushEvents=function(){for(var t=this.queue.shift();t;)this.process(t),t=this.queue.shift()},t.prototype.process=function(t){this.processingEvent=!0;try{t()}catch(t){throw this.clear(),t}finally{this.processingEvent=!1}},t}(),Gt=new Map,Kt=0,Qt=function(){return"x:".concat(Kt++)},Wt=function(t,e){return Gt.set(t,e),t},Yt=function(t){return Gt.get(t)},Zt=function(t){Gt.delete(t)};function te(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0}function ee(t){if(te()){var e=function(){var t=te();if(t&&"__xstate__"in t)return t.__xstate__}();e&&e.register(t)}}function ne(t,e){void 0===e&&(e={});var n=t.initialState,r=new Set,i=[],o=!1,a=Lt({id:e.id,send:function(e){i.push(e),function(){if(!o){for(o=!0;i.length>0;){var e=i.shift();n=t.transition(n,e,s),r.forEach((function(t){return t.next(n)}))}o=!1}}()},getSnapshot:function(){return n},subscribe:function(t,e,i){var o=it(t,e,i);return r.add(o),o.next(n),{unsubscribe:function(){r.delete(o)}}}}),s={parent:e.parent,self:a,id:e.id||"anonymous",observers:r};return n=t.start?t.start(s):n,a}var re,ie={sync:!1,autoForward:!1};t.InterpreterStatus=void 0,(re=t.InterpreterStatus||(t.InterpreterStatus={}))[re.NotStarted=0]="NotStarted",re[re.Running=1]="Running",re[re.Stopped=2]="Stopped";var oe=function(){function e(n,i){var o=this;void 0===i&&(i=e.defaultOptions),this.machine=n,this.delayedEventsMap={},this.listeners=new Set,this.contextListeners=new Set,this.stopListeners=new Set,this.doneListeners=new Set,this.eventListeners=new Set,this.sendListeners=new Set,this.initialized=!1,this.status=t.InterpreterStatus.NotStarted,this.children=new Map,this.forwardTo=new Set,this.init=this.start,this.send=function(e,n){if($(e))return o.batch(e),o.state;var r=tt(Z(e,n));if(o.status===t.InterpreterStatus.Stopped)return o.state;if(o.status!==t.InterpreterStatus.Running&&!o.options.deferEvents)throw new Error('Event "'.concat(r.name,'" was sent to uninitialized service "').concat(o.machine.id,'". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.\nEvent: ').concat(JSON.stringify(r.data)));return o.scheduler.schedule((function(){o.forward(r);var t=o.nextState(r);o.update(t,r)})),o._state},this.sendTo=function(e,n){var i,a=o.parent&&(n===t.SpecialTargets.Parent||o.parent.id===n),s=a?o.parent:G(n)?o.children.get(n)||Yt(n):(i=n)&&"function"==typeof i.send?n:void 0;if(s)"machine"in s?s.send(r(r({},e),{name:e.name===_?"".concat(kt(o.id)):e.name,origin:o.sessionId})):s.send(e.data);else if(!a)throw new Error("Unable to send event to child '".concat(n,"' from service '").concat(o.id,"'."))};var a=r(r({},e.defaultOptions),i),s=a.clock,c=a.logger,u=a.parent,h=a.id,f=void 0!==h?h:n.id;this.id=f,this.logger=c,this.clock=s,this.parent=u,this.options=a,this.scheduler=new Ht({deferEvents:this.options.deferEvents}),this.sessionId=Qt()}return Object.defineProperty(e.prototype,"initialState",{get:function(){var t=this;return this._initialState?this._initialState:It(this,(function(){return t._initialState=t.machine.initialState,t._initialState}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"state",{get:function(){return this._state},enumerable:!1,configurable:!0}),e.prototype.execute=function(t,e){var n,r;try{for(var i=o(t.actions),a=i.next();!a.done;a=i.next()){var s=a.value;this.exec(s,t,e)}}catch(t){n={error:t}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}},e.prototype.update=function(t,e){var n,r,i,a,s,c,u,h,f=this;if(t._sessionid=this.sessionId,this._state=t,this.options.execute&&this.execute(this.state),this.children.forEach((function(t){f.state.children[t.id]=t})),this.devTools&&this.devTools.send(e.data,t),t.event)try{for(var l=o(this.eventListeners),d=l.next();!d.done;d=l.next()){(0,d.value)(t.event)}}catch(t){n={error:t}}finally{try{d&&!d.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}try{for(var v=o(this.listeners),p=v.next();!p.done;p=v.next()){(0,p.value)(t,t.event)}}catch(t){i={error:t}}finally{try{p&&!p.done&&(a=v.return)&&a.call(v)}finally{if(i)throw i.error}}try{for(var y=o(this.contextListeners),g=y.next();!g.done;g=y.next()){(0,g.value)(this.state.context,this.state.history?this.state.history.context:void 0)}}catch(t){s={error:t}}finally{try{g&&!g.done&&(c=y.return)&&c.call(y)}finally{if(s)throw s.error}}var m=Jt(t.configuration||[],this.machine);if(this.state.configuration&&m){var S=t.configuration.find((function(t){return"final"===t.type&&t.parent===f.machine})),x=S&&S.doneData?B(S.doneData,t.context,e):void 0;try{for(var b=o(this.doneListeners),w=b.next();!w.done;w=b.next()){(0,w.value)(Ot(this.id,x))}}catch(t){u={error:t}}finally{try{w&&!w.done&&(h=b.return)&&h.call(b)}finally{if(u)throw u.error}}this.stop()}},e.prototype.onTransition=function(e){return this.listeners.add(e),this.status===t.InterpreterStatus.Running&&e(this.state,this.state.event),this},e.prototype.subscribe=function(e,n,r){var i,o=this;if(!e)return{unsubscribe:function(){}};var a=r;return"function"==typeof e?i=e:(i=e.next.bind(e),a=e.complete.bind(e)),this.listeners.add(i),this.status!==t.InterpreterStatus.NotStarted&&i(this.state),a&&(this.status===t.InterpreterStatus.Stopped?a():this.onDone(a)),{unsubscribe:function(){i&&o.listeners.delete(i),a&&o.doneListeners.delete(a)}}},e.prototype.onEvent=function(t){return this.eventListeners.add(t),this},e.prototype.onSend=function(t){return this.sendListeners.add(t),this},e.prototype.onChange=function(t){return this.contextListeners.add(t),this},e.prototype.onStop=function(t){return this.stopListeners.add(t),this},e.prototype.onDone=function(t){return this.doneListeners.add(t),this},e.prototype.off=function(t){return this.listeners.delete(t),this.eventListeners.delete(t),this.sendListeners.delete(t),this.stopListeners.delete(t),this.doneListeners.delete(t),this.contextListeners.delete(t),this},e.prototype.start=function(e){var n=this;if(this.status===t.InterpreterStatus.Running)return this;this.machine._init(),Wt(this.sessionId,this),this.initialized=!0,this.status=t.InterpreterStatus.Running;var r=void 0===e?this.initialState:It(this,(function(){return"object"==typeof(t=e)&&null!==t&&"value"in t&&"_event"in t?n.machine.resolveState(e):n.machine.resolveState(Xt.from(e,n.machine.context));var t}));return this.options.devTools&&this.attachDev(),this.scheduler.initialize((function(){n.update(r,at)})),this},e.prototype.stop=function(){var e,n,r,i,c,u,h,f,l,d,v=this;try{for(var p=o(this.listeners),y=p.next();!y.done;y=p.next()){var g=y.value;this.listeners.delete(g)}}catch(t){e={error:t}}finally{try{y&&!y.done&&(n=p.return)&&n.call(p)}finally{if(e)throw e.error}}try{for(var m=o(this.stopListeners),S=m.next();!S.done;S=m.next()){(g=S.value)(),this.stopListeners.delete(g)}}catch(t){r={error:t}}finally{try{S&&!S.done&&(i=m.return)&&i.call(m)}finally{if(r)throw r.error}}try{for(var x=o(this.contextListeners),b=x.next();!b.done;b=x.next()){g=b.value;this.contextListeners.delete(g)}}catch(t){c={error:t}}finally{try{b&&!b.done&&(u=x.return)&&u.call(x)}finally{if(c)throw c.error}}try{for(var w=o(this.doneListeners),_=w.next();!_.done;_=w.next()){g=_.value;this.doneListeners.delete(g)}}catch(t){h={error:t}}finally{try{_&&!_.done&&(f=w.return)&&f.call(w)}finally{if(h)throw h.error}}if(!this.initialized)return this;s([],a(this.state.configuration),!1).sort((function(t,e){return e.order-t.order})).forEach((function(t){var e,n;try{for(var r=o(t.definition.exit),i=r.next();!i.done;i=r.next()){var a=i.value;v.exec(a,v.state)}}catch(t){e={error:t}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}})),this.children.forEach((function(t){H(t.stop)&&t.stop()})),this.children.clear();try{for(var E=o(Object.keys(this.delayedEventsMap)),T=E.next();!T.done;T=E.next()){var O=T.value;this.clock.clearTimeout(this.delayedEventsMap[O])}}catch(t){l={error:t}}finally{try{T&&!T.done&&(d=E.return)&&d.call(E)}finally{if(l)throw l.error}}return this.scheduler.clear(),this.scheduler=new Ht({deferEvents:this.options.deferEvents}),this.initialized=!1,this.status=t.InterpreterStatus.Stopped,this._initialState=void 0,Zt(this.sessionId),this},e.prototype.batch=function(e){var n=this;if(this.status===t.InterpreterStatus.NotStarted&&this.options.deferEvents);else if(this.status!==t.InterpreterStatus.Running)throw new Error("".concat(e.length,' event(s) were sent to uninitialized service "').concat(this.machine.id,'". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.'));this.scheduler.schedule((function(){var t,i,c=n.state,u=!1,h=[],f=function(t){var e=tt(t);n.forward(e),c=It(n,(function(){return n.machine.transition(c,e)})),h.push.apply(h,s([],a(c.actions.map((function(t){return n=c,i=(e=t).exec,r(r({},e),{exec:void 0!==i?function(){return i(n.context,n.event,{action:e,state:n,_event:n._event})}:void 0});var e,n,i}))),!1)),u=u||!!c.changed};try{for(var l=o(e),d=l.next();!d.done;d=l.next()){f(d.value)}}catch(e){t={error:e}}finally{try{d&&!d.done&&(i=l.return)&&i.call(l)}finally{if(t)throw t.error}}c.changed=u,c.actions=h,n.update(c,tt(e[e.length-1]))}))},e.prototype.sender=function(t){return this.send.bind(this,t)},e.prototype.nextState=function(t){var e=this,n=tt(t);if(0===n.name.indexOf(w)&&!this.state.nextEvents.some((function(t){return 0===t.indexOf(w)})))throw n.data.data;return It(this,(function(){return e.machine.transition(e.state,n)}))},e.prototype.forward=function(t){var e,n;try{for(var r=o(this.forwardTo),i=r.next();!i.done;i=r.next()){var a=i.value,s=this.children.get(a);if(!s)throw new Error("Unable to forward event '".concat(t,"' from interpreter '").concat(this.id,"' to nonexistant child '").concat(a,"'."));s.send(t)}}catch(t){e={error:t}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}},e.prototype.defer=function(t){var e=this;this.delayedEventsMap[t.id]=this.clock.setTimeout((function(){t.to?e.sendTo(t._event,t.to):e.send(t._event)}),t.delay)},e.prototype.cancel=function(t){this.clock.clearTimeout(this.delayedEventsMap[t]),delete this.delayedEventsMap[t]},e.prototype.exec=function(e,n,r){void 0===r&&(r=this.machine.options.actions);var i=n.context,o=n._event,a=e.exec||st(e.type,r),s=H(a)?a:a?a.exec:e.exec;if(s)try{return s(i,o.data,{action:e,state:this.state,_event:o})}catch(t){throw this.parent&&this.parent.send({type:"xstate.error",data:t}),t}switch(e.type){case l:var c=e;if("number"==typeof c.delay)return void this.defer(c);c.to?this.sendTo(c._event,c.to):this.send(c._event);break;case d:this.cancel(e.sendId);break;case u:if(this.status!==t.InterpreterStatus.Running)return;var f=e.activity;if(!this.state.activities[f.id||f.type])break;if(f.type===t.ActionTypes.Invoke){var v=rt(f.src),p=this.machine.options.services?this.machine.options.services[v.type]:void 0,y=f.id,g=f.data,S="autoForward"in f?f.autoForward:!!f.forward;if(!p)return;var x=g?B(g,i,o):void 0;if("string"==typeof p)return;var b=H(p)?p(i,o.data,{data:x,src:v,meta:f.meta}):p;if(!b)return;var w=void 0;W(b)&&(b=x?b.withContext(x):b,w={autoForward:S}),this.spawn(b,y,w)}else this.spawnActivity(f);break;case h:this.stopChild(e.activity.id);break;case m:var _=e.label,E=e.value;_?this.logger(_,E):this.logger(E)}},e.prototype.removeChild=function(t){var e;this.children.delete(t),this.forwardTo.delete(t),null===(e=this.state)||void 0===e||delete e.children[t]},e.prototype.stopChild=function(t){var e=this.children.get(t);e&&(this.removeChild(t),H(e.stop)&&e.stop())},e.prototype.spawn=function(t,e,n){if(U(t))return this.spawnPromise(Promise.resolve(t),e);if(H(t))return this.spawnCallback(t,e);if(function(t){try{return"function"==typeof t.send}catch(t){return!1}}(o=t)&&"id"in o)return this.spawnActor(t,e);if(function(t){try{return"subscribe"in t&&H(t.subscribe)}catch(t){return!1}}(t))return this.spawnObservable(t,e);if(W(t))return this.spawnMachine(t,r(r({},n),{id:e}));if(null!==(i=t)&&"object"==typeof i&&"transition"in i&&"function"==typeof i.transition)return this.spawnBehavior(t,e);throw new Error('Unable to spawn entity "'.concat(e,'" of type "').concat(typeof t,'".'));var i,o},e.prototype.spawnMachine=function(t,n){var i=this;void 0===n&&(n={});var o=new e(t,r(r({},this.options),{parent:this,id:n.id||t.id})),a=r(r({},ie),n);a.sync&&o.onTransition((function(t){i.send(E,{state:t,id:o.id})}));var s=o;return this.children.set(o.id,s),a.autoForward&&this.forwardTo.add(o.id),o.onDone((function(t){i.removeChild(o.id),i.send(tt(t,{origin:o.id}))})).start(),s},e.prototype.spawnBehavior=function(t,e){var n=ne(t,{id:e,parent:this});return this.children.set(e,n),n},e.prototype.spawnPromise=function(t,e){var n,r,i=this,o=!1;t.then((function(t){o||(r=t,i.removeChild(e),i.send(tt(Ot(e,t),{origin:e})))}),(function(t){if(!o){i.removeChild(e);var n=kt(e,t);try{i.send(tt(n,{origin:e}))}catch(t){i.devTools&&i.devTools.send(n,i.state),i.machine.strict&&i.stop()}}}));var a=((n={id:e,send:function(){},subscribe:function(e,n,r){var i=it(e,n,r),o=!1;return t.then((function(t){o||(i.next(t),o||i.complete())}),(function(t){o||i.error(t)})),{unsubscribe:function(){return o=!0}}},stop:function(){o=!0},toJSON:function(){return{id:e}},getSnapshot:function(){return r}})[Q]=function(){return this},n);return this.children.set(e,a),a},e.prototype.spawnCallback=function(t,e){var n,r,i,o=this,a=!1,s=new Set,c=new Set;try{i=t((function(t){r=t,c.forEach((function(e){return e(t)})),a||o.send(tt(t,{origin:e}))}),(function(t){s.add(t)}))}catch(t){this.send(kt(e,t))}if(U(i))return this.spawnPromise(i,e);var u=((n={id:e,send:function(t){return s.forEach((function(e){return e(t)}))},subscribe:function(t){var e=it(t);return c.add(e.next),{unsubscribe:function(){c.delete(e.next)}}},stop:function(){a=!0,H(i)&&i()},toJSON:function(){return{id:e}},getSnapshot:function(){return r}})[Q]=function(){return this},n);return this.children.set(e,u),u},e.prototype.spawnObservable=function(t,e){var n,r,i=this,o=t.subscribe((function(t){r=t,i.send(tt(t,{origin:e}))}),(function(t){i.removeChild(e),i.send(tt(kt(e,t),{origin:e}))}),(function(){i.removeChild(e),i.send(tt(Ot(e),{origin:e}))})),a=((n={id:e,send:function(){},subscribe:function(e,n,r){return t.subscribe(e,n,r)},stop:function(){return o.unsubscribe()},getSnapshot:function(){return r},toJSON:function(){return{id:e}}})[Q]=function(){return this},n);return this.children.set(e,a),a},e.prototype.spawnActor=function(t,e){return this.children.set(e,t),t},e.prototype.spawnActivity=function(t){var e=this.machine.options&&this.machine.options.activities?this.machine.options.activities[t.type]:void 0;if(e){var n=e(this.state.context,t);this.spawnEffect(t.id,n)}},e.prototype.spawnEffect=function(t,e){var n;this.children.set(t,((n={id:t,send:function(){},subscribe:function(){return{unsubscribe:function(){}}},stop:e||void 0,getSnapshot:function(){},toJSON:function(){return{id:t}}})[Q]=function(){return this},n))},e.prototype.attachDev=function(){var t=te();if(this.options.devTools&&t){if(t.__REDUX_DEVTOOLS_EXTENSION__){var e="object"==typeof this.options.devTools?this.options.devTools:void 0;this.devTools=t.__REDUX_DEVTOOLS_EXTENSION__.connect(r(r({name:this.id,autoPause:!0,stateSanitizer:function(t){return{value:t.value,context:t.context,actions:t.actions}}},e),{features:r({jump:!1,skip:!1},e?e.features:void 0)}),this.machine),this.devTools.init(this.state)}ee(this)}},e.prototype.toJSON=function(){return{id:this.id}},e.prototype[Q]=function(){return this},e.prototype.getSnapshot=function(){return this.status===t.InterpreterStatus.NotStarted?this.initialState:this._state},e.defaultOptions={execute:!0,deferEvents:!0,clock:{setTimeout:function(t,e){return setTimeout(t,e)},clearTimeout:function(t){return clearTimeout(t)}},logger:console.log.bind(console),devTools:!1},e.interpret=ae,e}();function ae(t,e){return new oe(t,e)}function se(t){if("string"==typeof t){var e={type:t,toString:function(){return t}};return e}return t}function ce(t){return r(r({type:x},t),{toJSON:function(){t.onDone,t.onError;var e=i(t,["onDone","onError"]);return r(r({},e),{type:x,src:se(t.src)})}})}var ue={},he=function(t){return"#"===t[0]},fe=function(){function e(t,n,i,c){var u,h=this;void 0===i&&(i="context"in t?t.context:void 0),this.config=t,this._context=i,this.order=-1,this.__xstatenode=!0,this.__cache={events:void 0,relativeValue:new Map,initialStateValue:void 0,initialState:void 0,on:void 0,transitions:void 0,candidates:{},delayedTransitions:void 0},this.idMap={},this.tags=[],this.options=Object.assign({actions:{},guards:{},services:{},activities:{},delays:{}},n),this.parent=null==c?void 0:c.parent,this.key=this.config.key||(null==c?void 0:c.key)||this.config.id||"(machine)",this.machine=this.parent?this.parent.machine:this,this.path=this.parent?this.parent.path.concat(this.key):[],this.delimiter=this.config.delimiter||(this.parent?this.parent.delimiter:"."),this.id=this.config.id||s([this.machine.key],a(this.path),!1).join(this.delimiter),this.version=this.parent?this.parent.version:this.config.version,this.type=this.config.type||(this.config.parallel?"parallel":this.config.states&&Object.keys(this.config.states).length?"compound":this.config.history?"history":"atomic"),this.schema=this.parent?this.machine.schema:null!==(u=this.config.schema)&&void 0!==u?u:{},this.description=this.config.description,this.initial=this.config.initial,this.states=this.config.states?V(this.config.states,(function(t,n){var i,o=new e(t,{},void 0,{parent:h,key:n});return Object.assign(h.idMap,r(((i={})[o.id]=o,i),o.idMap)),o})):ue;var f=0;!function t(e){var n,r;e.order=f++;try{for(var i=o(Rt(e)),a=i.next();!a.done;a=i.next()){t(a.value)}}catch(t){n={error:t}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}(this),this.history=!0===this.config.history?"shallow":this.config.history||!1,this._transient=!!this.config.always||!!this.config.on&&(Array.isArray(this.config.on)?this.config.on.some((function(t){return""===t.event})):""in this.config.on),this.strict=!!this.config.strict,this.onEntry=F(this.config.entry||this.config.onEntry).map((function(t){return ct(t)})),this.onExit=F(this.config.exit||this.config.onExit).map((function(t){return ct(t)})),this.meta=this.config.meta,this.doneData="final"===this.type?this.config.data:void 0,this.invoke=F(this.config.invoke).map((function(t,e){var n,i;if(W(t)){var o=ot(h.id,e);return h.machine.options.services=r(((n={})[o]=t,n),h.machine.options.services),ce({src:o,id:o})}if(G(t.src)){o=t.id||ot(h.id,e);return ce(r(r({},t),{id:o,src:t.src}))}if(W(t.src)||H(t.src)){o=t.id||ot(h.id,e);return h.machine.options.services=r(((i={})[o]=t.src,i),h.machine.options.services),ce(r(r({id:o},t),{src:o}))}var a=t.src;return ce(r(r({id:ot(h.id,e)},t),{src:a}))})),this.activities=F(this.config.activities).concat(this.invoke).map((function(t){return ht(t)})),this.transition=this.transition.bind(this),this.tags=F(this.config.tags)}return e.prototype._init=function(){this.__cache.transitions||Mt(this).forEach((function(t){return t.on}))},e.prototype.withConfig=function(t,n){var i=this.options,o=i.actions,a=i.activities,s=i.guards,c=i.services,u=i.delays;return new e(this.config,{actions:r(r({},o),t.actions),activities:r(r({},a),t.activities),guards:r(r({},s),t.guards),services:r(r({},c),t.services),delays:r(r({},u),t.delays)},null!=n?n:this.context)},e.prototype.withContext=function(t){return new e(this.config,this.options,t)},Object.defineProperty(e.prototype,"context",{get:function(){return H(this._context)?this._context():this._context},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"definition",{get:function(){return{id:this.id,key:this.key,version:this.version,context:this.context,type:this.type,initial:this.initial,history:this.history,states:V(this.states,(function(t){return t.definition})),on:this.on,transitions:this.transitions,entry:this.onEntry,exit:this.onExit,activities:this.activities||[],meta:this.meta,order:this.order||-1,data:this.doneData,invoke:this.invoke,description:this.description,tags:this.tags}},enumerable:!1,configurable:!0}),e.prototype.toJSON=function(){return this.definition},Object.defineProperty(e.prototype,"on",{get:function(){if(this.__cache.on)return this.__cache.on;var t=this.transitions;return this.__cache.on=t.reduce((function(t,e){return t[e.eventType]=t[e.eventType]||[],t[e.eventType].push(e),t}),{})},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"after",{get:function(){return this.__cache.delayedTransitions||(this.__cache.delayedTransitions=this.getDelayedTransitions(),this.__cache.delayedTransitions)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"transitions",{get:function(){return this.__cache.transitions||(this.__cache.transitions=this.formatTransitions(),this.__cache.transitions)},enumerable:!1,configurable:!0}),e.prototype.getCandidates=function(t){if(this.__cache.candidates[t])return this.__cache.candidates[t];var e=""===t,n=this.transitions.filter((function(n){var r=n.eventType===t;return e?r:r||"*"===n.eventType}));return this.__cache.candidates[t]=n,n},e.prototype.getDelayedTransitions=function(){var t=this,e=this.config.after;if(!e)return[];var n=function(e,n){var r=Et(H(e)?"".concat(t.id,":delay[").concat(n,"]"):e,t.id);return t.onEntry.push(dt(r,{delay:e})),t.onExit.push(St(r)),r};return($(e)?e.map((function(t,e){var i=n(t.delay,e);return r(r({},t),{event:i})})):M(Object.keys(e).map((function(t,i){var o=e[t],a=G(o)?{target:o}:o,s=isNaN(+t)?t:+t,c=n(s,i);return F(a).map((function(t){return r(r({},t),{event:c,delay:s})}))})))).map((function(e){var n=e.delay;return r(r({},t.formatTransition(e)),{delay:n})}))},e.prototype.getStateNodes=function(t){var e,n=this;if(!t)return[];var r=t instanceof Xt?t.value:I(t,this.delimiter);if(G(r)){var i=this.getStateNode(r).initial;return void 0!==i?this.getStateNodes(((e={})[r]=i,e)):[this,this.states[r]]}var o=Object.keys(r),c=[this];return c.push.apply(c,s([],a(M(o.map((function(t){return n.getStateNode(t).getStateNodes(r[t])})))),!1)),c},e.prototype.handles=function(t){var e=N(t);return this.events.includes(e)},e.prototype.resolveState=function(t){var e=t instanceof Xt?t:Xt.create(t),n=Array.from(zt([],this.getStateNodes(e.value)));return new Xt(r(r({},e),{value:this.resolve(e.value),configuration:n,done:Jt(n,this),tags:qt(n),machine:this.machine}))},e.prototype.transitionLeafNode=function(t,e,n){var r=this.getStateNode(t).next(e,n);return r&&r.transitions.length?r:this.next(e,n)},e.prototype.transitionCompoundNode=function(t,e,n){var r=Object.keys(t),i=this.getStateNode(r[0])._transition(t[r[0]],e,n);return i&&i.transitions.length?i:this.next(e,n)},e.prototype.transitionParallelNode=function(t,e,n){var r,i,a={};try{for(var s=o(Object.keys(t)),c=s.next();!c.done;c=s.next()){var u=c.value,h=t[u];if(h){var f=this.getStateNode(u)._transition(h,e,n);f&&(a[u]=f)}}}catch(t){r={error:t}}finally{try{c&&!c.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}var l=Object.keys(a).map((function(t){return a[t]})),d=M(l.map((function(t){return t.transitions})));if(!l.some((function(t){return t.transitions.length>0})))return this.next(e,n);var v=M(l.map((function(t){return t.entrySet}))),p=M(Object.keys(a).map((function(t){return a[t].configuration})));return{transitions:d,entrySet:v,exitSet:M(l.map((function(t){return t.exitSet}))),configuration:p,source:e,actions:M(Object.keys(a).map((function(t){return a[t].actions})))}},e.prototype._transition=function(t,e,n){return G(t)?this.transitionLeafNode(t,e,n):1===Object.keys(t).length?this.transitionCompoundNode(t,e,n):this.transitionParallelNode(t,e,n)},e.prototype.getTransitionData=function(t,e){return this._transition(t.value,t,tt(e))},e.prototype.next=function(t,e){var n,r,i,c=this,u=e.name,h=[],f=[];try{for(var l=o(this.getCandidates(u)),d=l.next();!d.done;d=l.next()){var v=d.value,p=v.cond,y=v.in,g=t.context,m=!y||(G(y)&&he(y)?t.matches(I(this.getStateNodeById(y).path,this.delimiter)):A(I(y,this.delimiter),D(this.path.slice(0,-2))(t.value))),S=!1;try{S=!p||nt(this.machine,p,g,e,t)}catch(t){throw new Error("Unable to evaluate guard '".concat(p.name||p.type,"' in transition for event '").concat(u,"' in state node '").concat(this.id,"':\n").concat(t.message))}if(S&&m){void 0!==v.target&&(f=v.target),h.push.apply(h,s([],a(v.actions),!1)),i=v;break}}}catch(t){n={error:t}}finally{try{d&&!d.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}if(i){if(!f.length)return{transitions:[i],entrySet:[],exitSet:[],configuration:t.value?[this]:[],source:t,actions:h};var x=M(f.map((function(e){return c.getRelativeStateNodes(e,t.historyValue)}))),b=!!i.internal;return{transitions:[i],entrySet:b?[]:M(x.map((function(t){return c.nodesFromChild(t)}))),exitSet:b?[]:[this],configuration:x,source:t,actions:h}}},e.prototype.nodesFromChild=function(t){if(t.escapes(this))return[];for(var e=[],n=t;n&&n!==this;)e.push(n),n=n.parent;return e.push(this),e},e.prototype.escapes=function(t){if(this===t)return!1;for(var e=this.parent;e;){if(e===t)return!1;e=e.parent}return!0},e.prototype.getActions=function(t,e,n,r){var i,c,u,h,f=zt([],r?this.getStateNodes(r.value):[this]),l=t.configuration.length?zt(f,t.configuration):f;try{for(var d=o(l),v=d.next();!v.done;v=d.next()){Ut(f,g=v.value)||t.entrySet.push(g)}}catch(t){i={error:t}}finally{try{v&&!v.done&&(c=d.return)&&c.call(d)}finally{if(i)throw i.error}}try{for(var p=o(f),y=p.next();!y.done;y=p.next()){var g;Ut(l,g=y.value)&&!Ut(t.exitSet,g.parent)||t.exitSet.push(g)}}catch(t){u={error:t}}finally{try{y&&!y.done&&(h=p.return)&&h.call(p)}finally{if(u)throw u.error}}var m=M(t.entrySet.map((function(r){var i=[];if("final"!==r.type)return i;var o=r.parent;if(!o.parent)return i;i.push(Tt(r.id,r.doneData),Tt(o.id,r.doneData?B(r.doneData,e,n):void 0));var a=o.parent;return"parallel"===a.type&&Rt(a).every((function(e){return Jt(t.configuration,e)}))&&i.push(Tt(a.id)),i})));t.exitSet.sort((function(t,e){return e.order-t.order})),t.entrySet.sort((function(t,e){return t.order-e.order}));var S=new Set(t.entrySet),x=new Set(t.exitSet),b=a([M(Array.from(S).map((function(t){return s(s([],a(t.activities.map((function(t){return xt(t)}))),!1),a(t.onEntry),!1)}))).concat(m.map(ft)),M(Array.from(x).map((function(t){return s(s([],a(t.onExit),!1),a(t.activities.map((function(t){return bt(t)}))),!1)})))],2),w=b[0],_=b[1];return ut(_.concat(t.actions).concat(w),this.machine.options.actions)},e.prototype.transition=function(t,e,n){void 0===t&&(t=this.initialState);var r,i,o=tt(e);if(t instanceof Xt)r=void 0===n?t:this.resolveState(Xt.from(t,n));else{var c=G(t)?this.resolve(C(this.getResolvedPath(t))):this.resolve(t),u=null!=n?n:this.machine.context;r=this.resolveState(Xt.from(c,u))}if(this.strict&&!this.events.includes(o.name)&&(i=o.name,!/^(done|error)\./.test(i)))throw new Error("Machine '".concat(this.id,"' does not accept event '").concat(o.name,"'"));var h=this._transition(r.value,r,o)||{transitions:[],configuration:[],entrySet:[],exitSet:[],source:r,actions:[]},f=zt([],this.getStateNodes(r.value)),l=h.configuration.length?zt(f,h.configuration):f;return h.configuration=s([],a(l),!1),this.resolveTransition(h,r,r.context,o)},e.prototype.resolveRaisedTransition=function(t,e,n){var r,i=t.actions;return(t=this.transition(t,e))._event=n,t.event=n.data,(r=t.actions).unshift.apply(r,s([],a(i),!1)),t},e.prototype.resolveTransition=function(e,n,i,s){var c,d,p=this;void 0===s&&(s=at);var y=e.configuration,g=!n||e.transitions.length>0,m=g?Bt(this.machine,y):void 0,S=n?n.historyValue?n.historyValue:e.source?this.machine.historyValue(n.value):void 0:void 0,b=this.getActions(e,i,s,n),w=n?r({},n.activities):{};try{for(var _=o(b),T=_.next();!T.done;T=_.next()){var O=T.value;O.type===u?w[O.activity.id||O.activity.type]=O:O.type===h&&(w[O.activity.id||O.activity.type]=!1)}}catch(t){c={error:t}}finally{try{T&&!T.done&&(d=_.return)&&d.call(_)}finally{if(c)throw c.error}}var k,j,A=a(At(this,n,i,s,b,this.machine.config.preserveActionOrder),2),N=A[0],P=A[1],I=a(J(N,(function(e){return e.type===f||e.type===l&&e.to===t.SpecialTargets.Internal})),2),C=I[0],V=I[1],L=N.filter((function(t){var e;return t.type===u&&(null===(e=t.activity)||void 0===e?void 0:e.type)===x})).reduce((function(t,e){return t[e.activity.id]=function(t,e,n,r){var i,o=rt(t.src),a=null===(i=null==e?void 0:e.options.services)||void 0===i?void 0:i[o.type],s=t.data?B(t.data,n,r):void 0,c=a?Vt(a,t.id,s):Ct(t.id);return c.meta=t,c}(e.activity,p.machine,P,s),t}),n?r({},n.children):{}),D=g?e.configuration:n?n.configuration:[],R=Jt(D,this),M=new Xt({value:m||n.value,context:P,_event:s,_sessionid:n?n._sessionid:null,historyValue:m?S?(k=S,j=m,{current:j,states:q(k,j)}):void 0:n?n.historyValue:void 0,history:!m||e.source?n:void 0,actions:m?V:[],activities:m?w:n?n.activities:{},events:[],configuration:D,transitions:e.transitions,children:L,done:R,tags:qt(D),machine:this}),z=i!==P;M.changed=s.name===E||z;var F=M.history;F&&delete F.history;var U=!R&&(this._transient||y.some((function(t){return t._transient})));if(!(g||U&&""!==s.name))return M;var X=M;if(!R)for(U&&(X=this.resolveRaisedTransition(X,{type:v},s));C.length;){var $=C.shift();X=this.resolveRaisedTransition(X,$._event,s)}var H=X.changed||(F?!!X.actions.length||z||typeof F.value!=typeof X.value||!function t(e,n){if(e===n)return!0;if(void 0===e||void 0===n)return!1;if(G(e)||G(n))return e===n;var r=Object.keys(e),i=Object.keys(n);return r.length===i.length&&r.every((function(r){return t(e[r],n[r])}))}(X.value,F.value):void 0);return X.changed=H,X.history=F,X},e.prototype.getStateNode=function(t){if(he(t))return this.machine.getStateNodeById(t);if(!this.states)throw new Error("Unable to retrieve child state '".concat(t,"' from '").concat(this.id,"'; no child states exist."));var e=this.states[t];if(!e)throw new Error("Child state '".concat(t,"' does not exist on '").concat(this.id,"'"));return e},e.prototype.getStateNodeById=function(t){var e=he(t)?t.slice("#".length):t;if(e===this.id)return this;var n=this.machine.idMap[e];if(!n)throw new Error("Child state node '#".concat(e,"' does not exist on machine '").concat(this.id,"'"));return n},e.prototype.getStateNodeByPath=function(t){if("string"==typeof t&&he(t))try{return this.getStateNodeById(t.slice(1))}catch(t){}for(var e=P(t,this.delimiter).slice(),n=this;e.length;){var r=e.shift();if(!r.length)break;n=n.getStateNode(r)}return n},e.prototype.resolve=function(t){var e,n=this;if(!t)return this.initialStateValue||ue;switch(this.type){case"parallel":return V(this.initialStateValue,(function(e,r){return e?n.getStateNode(r).resolve(t[r]||e):ue}));case"compound":if(G(t)){var r=this.getStateNode(t);return"parallel"===r.type||"compound"===r.type?((e={})[t]=r.initialStateValue,e):t}return Object.keys(t).length?V(t,(function(t,e){return t?n.getStateNode(e).resolve(t):ue})):this.initialStateValue||{};default:return t||ue}},e.prototype.getResolvedPath=function(t){if(he(t)){var e=this.machine.idMap[t.slice("#".length)];if(!e)throw new Error("Unable to find state node '".concat(t,"'"));return e.path}return P(t,this.delimiter)},Object.defineProperty(e.prototype,"initialStateValue",{get:function(){var t,e;if(this.__cache.initialStateValue)return this.__cache.initialStateValue;if("parallel"===this.type)e=L(this.states,(function(t){return t.initialStateValue||ue}),(function(t){return!("history"===t.type)}));else if(void 0!==this.initial){if(!this.states[this.initial])throw new Error("Initial state '".concat(this.initial,"' not found on '").concat(this.key,"'"));e=Dt(this.states[this.initial])?this.initial:((t={})[this.initial]=this.states[this.initial].initialStateValue,t)}else e={};return this.__cache.initialStateValue=e,this.__cache.initialStateValue},enumerable:!1,configurable:!0}),e.prototype.getInitialState=function(t,e){this._init();var n=this.getStateNodes(t);return this.resolveTransition({configuration:n,entrySet:n,exitSet:[],transitions:[],source:void 0,actions:[]},void 0,null!=e?e:this.machine.context,void 0)},Object.defineProperty(e.prototype,"initialState",{get:function(){var t=this.initialStateValue;if(!t)throw new Error("Cannot retrieve initial state from simple state '".concat(this.id,"'."));return this.getInitialState(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"target",{get:function(){var t;if("history"===this.type){var e=this.config;t=G(e.target)&&he(e.target)?C(this.machine.getStateNodeById(e.target).path.slice(this.path.length-1)):e.target}return t},enumerable:!1,configurable:!0}),e.prototype.getRelativeStateNodes=function(t,e,n){return void 0===n&&(n=!0),n?"history"===t.type?t.resolveHistory(e):t.initialStateNodes:[t]},Object.defineProperty(e.prototype,"initialStateNodes",{get:function(){var t=this;return Dt(this)?[this]:"compound"!==this.type||this.initial?M(R(this.initialStateValue).map((function(e){return t.getFromRelativePath(e)}))):[this]},enumerable:!1,configurable:!0}),e.prototype.getFromRelativePath=function(t){if(!t.length)return[this];var e=a(t),n=e[0],r=e.slice(1);if(!this.states)throw new Error("Cannot retrieve subPath '".concat(n,"' from node with no states"));var i=this.getStateNode(n);if("history"===i.type)return i.resolveHistory();if(!this.states[n])throw new Error("Child state '".concat(n,"' does not exist on '").concat(this.id,"'"));return this.states[n].getFromRelativePath(r)},e.prototype.historyValue=function(t){if(Object.keys(this.states).length)return{current:t||this.initialStateValue,states:L(this.states,(function(e,n){if(!t)return e.historyValue();var r=G(t)?void 0:t[n];return e.historyValue(r||e.initialStateValue)}),(function(t){return!t.history}))}},e.prototype.resolveHistory=function(t){var e=this;if("history"!==this.type)return[this];var n=this.parent;if(!t){var r=this.target;return r?M(R(r).map((function(t){return n.getFromRelativePath(t)}))):n.initialStateNodes}var i,a,s=(i=n.path,a="states",function(t){var e,n,r=t;try{for(var s=o(i),c=s.next();!c.done;c=s.next()){var u=c.value;r=r[a][u]}}catch(t){e={error:t}}finally{try{c&&!c.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}return r})(t).current;return G(s)?[n.getStateNode(s)]:M(R(s).map((function(t){return"deep"===e.history?n.getFromRelativePath(t):[n.states[t[0]]]})))},Object.defineProperty(e.prototype,"stateIds",{get:function(){var t=this,e=M(Object.keys(this.states).map((function(e){return t.states[e].stateIds})));return[this.id].concat(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"events",{get:function(){var t,e,n,r;if(this.__cache.events)return this.__cache.events;var i=this.states,a=new Set(this.ownEvents);if(i)try{for(var s=o(Object.keys(i)),c=s.next();!c.done;c=s.next()){var u=i[c.value];if(u.states)try{for(var h=(n=void 0,o(u.events)),f=h.next();!f.done;f=h.next()){var l=f.value;a.add("".concat(l))}}catch(t){n={error:t}}finally{try{f&&!f.done&&(r=h.return)&&r.call(h)}finally{if(n)throw n.error}}}}catch(e){t={error:e}}finally{try{c&&!c.done&&(e=s.return)&&e.call(s)}finally{if(t)throw t.error}}return this.__cache.events=Array.from(a)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"ownEvents",{get:function(){var t=new Set(this.transitions.filter((function(t){return!(!t.target&&!t.actions.length&&t.internal)})).map((function(t){return t.eventType})));return Array.from(t)},enumerable:!1,configurable:!0}),e.prototype.resolveTarget=function(t){var e=this;if(void 0!==t)return t.map((function(t){if(!G(t))return t;var n=t[0]===e.delimiter;if(n&&!e.parent)return e.getStateNodeByPath(t.slice(1));var r=n?e.key+t:t;if(!e.parent)return e.getStateNodeByPath(r);try{return e.parent.getStateNodeByPath(r)}catch(t){throw new Error("Invalid transition definition for state node '".concat(e.id,"':\n").concat(t.message))}}))},e.prototype.formatTransition=function(t){var e=this,n=function(t){if(void 0!==t&&""!==t)return F(t)}(t.target),i="internal"in t?t.internal:!n||n.some((function(t){return G(t)&&t[0]===e.delimiter})),o=this.machine.options.guards,a=this.resolveTarget(n),s=r(r({},t),{actions:ut(F(t.actions)),cond:K(t.cond,o),target:a,source:this,internal:i,eventType:t.event,toJSON:function(){return r(r({},s),{target:s.target?s.target.map((function(t){return"#".concat(t.id)})):void 0,source:"#".concat(e.id)})}});return s},e.prototype.formatTransitions=function(){var t,e,n,r=this;if(this.config.on)if(Array.isArray(this.config.on))n=this.config.on;else{var c=this.config.on,u=c["*"],h=void 0===u?[]:u,f=i(c,["*"]);n=M(Object.keys(f).map((function(t){return et(t,f[t])})).concat(et("*",h)))}else n=[];var l=this.config.always?et("",this.config.always):[],d=this.config.onDone?et(String(Tt(this.id)),this.config.onDone):[],v=M(this.invoke.map((function(t){var e=[];return t.onDone&&e.push.apply(e,s([],a(et(String(Ot(t.id)),t.onDone)),!1)),t.onError&&e.push.apply(e,s([],a(et(String(kt(t.id)),t.onError)),!1)),e}))),p=this.after,y=M(s(s(s(s([],a(d),!1),a(v),!1),a(n),!1),a(l),!1).map((function(t){return F(t).map((function(t){return r.formatTransition(t)}))})));try{for(var g=o(p),m=g.next();!m.done;m=g.next()){var S=m.value;y.push(S)}}catch(e){t={error:e}}finally{try{m&&!m.done&&(e=g.return)&&e.call(g)}finally{if(t)throw t.error}}return y},e}();function le(t){return t}var de=le,ve=_t,pe=dt,ye=pt,ge=yt,me=jt,Se=Ot;t.Interpreter=oe,t.Machine=function(t,e,n){return void 0===n&&(n=t.context),new fe(t,e,n)},t.State=Xt,t.StateNode=fe,t.actions=Nt,t.assign=ve,t.createMachine=function(t,e){return new fe(t,e)},t.createSchema=le,t.doneInvoke=Se,t.forwardTo=me,t.interpret=ae,t.mapState=function(t,e){var n,r,i;try{for(var a=o(Object.keys(t)),s=a.next();!s.done;s=a.next()){var c=s.value;A(c,e)&&(!i||e.length>i.length)&&(i=c)}}catch(t){n={error:t}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}return t[i]},t.matchState=function(t,e,n){var r,i,s=Xt.from(t,t instanceof Xt?t.context:void 0);try{for(var c=o(e),u=c.next();!u.done;u=c.next()){var h=a(u.value,2),f=h[0],l=h[1];if(s.matches(f))return l(s)}}catch(t){r={error:t}}finally{try{u&&!u.done&&(i=c.return)&&i.call(c)}finally{if(r)throw r.error}}return n(s)},t.matchesState=A,t.send=pe,t.sendParent=ye,t.sendUpdate=ge,t.spawn=function(t,e){var n=function(t){return G(t)?r(r({},ie),{name:t}):r(r(r({},ie),{name:Y()}),t)}(e);return function(e){return e?e.spawn(t,n.name,n):Vt(t,n.name)}(Pt[Pt.length-1])},t.spawnBehavior=ne,t.t=de,t.toActorRef=Lt,t.toEventObject=Z,t.toObserver=it,t.toSCXMLEvent=tt,Object.defineProperty(t,"__esModule",{value:!0})}));