2 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.BpmnJS=t()}(this,function(){"use strict";var t=Object.prototype.toString,o=Object.prototype.hasOwnProperty;function l(e){return void 0!==e}function u(e){return"[object Array]"===t.call(e)}function M(e){return"[object Object]"===t.call(e)}function s(e){return"[object Number]"===t.call(e)}function p(e){return"[object Function]"===t.call(e)}function c(e){return"[object String]"===t.call(e)}function k(e,n){var t,i;return n=p(t=n)?t:function(e){return e===t},T(e,function(e,t){if(n(e,t))return i=e,!1}),i}function P(e,n){var i=[];return T(e,function(e,t){n(e,t)&&i.push(e)}),i}function T(e,t){if(void 0!==e){var n,i,r=u(e)?m:h;for(var a in e){if(n=e,i=a,o.call(n,i))if(!1===t(e[a],r(a)))return}}}function b(e,n,i){return T(e,function(e,t){i=n(i,e,t)}),i}function a(e,i){return b(e,function(e,t,n){return e&&i(t,n)},!0)}function g(e,n){var i=[];return T(e,function(e,t){i.push(n(e,t))}),i}function n(e){return function(n){return a(e,function(e,t){return n[t]===e})}}function h(e){return e}function m(e){return Number(e)}var r=Array.prototype.slice;function f(t,n){var i;return function(){var e=r.call(arguments);i&&clearTimeout(i),i=setTimeout(function(){t.apply(void 0,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(e))},n)}}function d(e,t){return e.bind(t)}var y=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e};function N(e){for(var t=arguments.length,n=Array(1<t?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return y.apply(void 0,[e].concat(n))}var i=[].indexOf,v=function(e,t){if(i)return e.indexOf(t);for(var n=0;n<e.length;++n)if(e[n]===t)return n;return-1},x=/\s+/,E=Object.prototype.toString;function w(e){return new A(e)}function A(e){if(!e||!e.nodeType)throw new Error("A DOM element reference is required");this.el=e,this.list=e.classList}function _(e){for(var t;e.childNodes.length;)t=e.childNodes[0],e.removeChild(t);return e}A.prototype.add=function(e){if(this.list)return this.list.add(e),this;var t=this.array();return~v(t,e)||t.push(e),this.el.className=t.join(" "),this},A.prototype.remove=function(e){if("[object RegExp]"==E.call(e))return this.removeMatching(e);if(this.list)return this.list.remove(e),this;var t=this.array(),n=v(t,e);return~n&&t.splice(n,1),this.el.className=t.join(" "),this},A.prototype.removeMatching=function(e){for(var t=this.array(),n=0;n<t.length;n++)e.test(t[n])&&this.remove(t[n]);return this},A.prototype.toggle=function(e,t){return this.list?void 0!==t?t!==this.list.toggle(e,t)&&this.list.toggle(e):this.list.toggle(e):void 0!==t?t?this.add(e):this.remove(e):this.has(e)?this.remove(e):this.add(e),this},A.prototype.array=function(){var e=(this.el.getAttribute("class")||"").replace(/^\s+|\s+$/g,"").split(x);return""===e[0]&&e.shift(),e},A.prototype.has=A.prototype.contains=function(e){return this.list?this.list.contains(e):!!~v(this.array(),e)};var e=Element.prototype,S=e.matchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector,R=function(e,t){if(S)return S.call(e,t);for(var n=e.parentNode.querySelectorAll(t),i=0;i<n.length;++i)if(n[i]==e)return!0;return!1};var C,D=window.addEventListener?"addEventListener":"attachEvent",O=window.removeEventListener?"removeEventListener":"detachEvent",B="addEventListener"!==D?"on":"",L={bind:function(e,t,n,i){return e[D](B+t,n,i||!1),n},unbind:function(e,t,n,i){return e[O](B+t,n,i||!1),n}},I=["focus","blur"],F={bind:function(n,i,e,r,t){return-1!==I.indexOf(e)&&(t=!0),L.bind(n,e,function(e){var t=e.target||e.srcElement;e.delegateTarget=function(e,t,n){for(var i=n?e:e.parentNode;i&&i!==document;){if(R(i,t))return i;i=i.parentNode}}(t,i,!0),e.delegateTarget&&r.call(n,e)},t)},unbind:function(e,t,n,i){-1!==I.indexOf(t)&&(i=!0),L.unbind(e,t,n,i)}},j=function(e,t){if("string"!=typeof e)throw new TypeError("String expected");t||(t=document);var n=/<([\w:]+)/.exec(e);if(!n)return t.createTextNode(e);e=e.replace(/^\s+|\s+$/g,"");var i=n[1];if("body"==i){var r=t.createElement("html");return r.innerHTML=e,r.removeChild(r.lastChild)}var a=W[i]||W._default,o=a[0],s=a[1],l=a[2];(r=t.createElement("div")).innerHTML=s+e+l;for(;o--;)r=r.lastChild;if(r.firstChild==r.lastChild)return r.removeChild(r.firstChild);var p=t.createDocumentFragment();for(;r.firstChild;)p.appendChild(r.removeChild(r.firstChild));return p},V=!1;"undefined"!=typeof document&&((C=document.createElement("div")).innerHTML=' <link/><table></table><a href="/a">a</a><input type="checkbox"/>',V=!C.getElementsByTagName("link").length,C=void 0);var W={legend:[1,"<fieldset>","</fieldset>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],_default:V?[1,"X<div>","</div>"]:[0,"",""]};W.td=W.th=[3,"<table><tbody><tr>","</tr></tbody></table>"],W.option=W.optgroup=[1,'<select multiple="multiple">',"</select>"],W.thead=W.tbody=W.colgroup=W.caption=W.tfoot=[1,"<table>","</table>"],W.polyline=W.ellipse=W.polygon=W.circle=W.text=W.line=W.path=W.rect=W.g=[1,'<svg xmlns="http://www.w3.org/2000/svg" version="1.1">',"</svg>"];var z="undefined"!=typeof Element?Element.prototype:{};z.matches||z.matchesSelector||z.webkitMatchesSelector||z.mozMatchesSelector||z.msMatchesSelector||z.oMatchesSelector;function G(e,t){return(t=t||document).querySelector(e)}function $(e){e.parentNode&&e.parentNode.removeChild(e)}function H(e,t){return t.appendChild(function(e,t){if(e.ownerDocument!==t.ownerDocument)try{return t.ownerDocument.importNode(e,!0)}catch(e){}return e}(e,t))}function K(e,t){return H(t,e),e}var U=2,q={"alignment-baseline":1,"baseline-shift":1,clip:1,"clip-path":1,"clip-rule":1,color:1,"color-interpolation":1,"color-interpolation-filters":1,"color-profile":1,"color-rendering":1,cursor:1,direction:1,display:1,"dominant-baseline":1,"enable-background":1,fill:1,"fill-opacity":1,"fill-rule":1,filter:1,"flood-color":1,"flood-opacity":1,font:1,"font-family":1,"font-size":U,"font-size-adjust":1,"font-stretch":1,"font-style":1,"font-variant":1,"font-weight":1,"glyph-orientation-horizontal":1,"glyph-orientation-vertical":1,"image-rendering":1,kerning:1,"letter-spacing":1,"lighting-color":1,marker:1,"marker-end":1,"marker-mid":1,"marker-start":1,mask:1,opacity:1,overflow:1,"pointer-events":1,"shape-rendering":1,"stop-color":1,"stop-opacity":1,stroke:1,"stroke-dasharray":1,"stroke-dashoffset":1,"stroke-linecap":1,"stroke-linejoin":1,"stroke-miterlimit":1,"stroke-opacity":1,"stroke-width":U,"text-anchor":1,"text-decoration":1,"text-rendering":1,"unicode-bidi":1,visibility:1,"word-spacing":1,"writing-mode":1};function Y(e,t,n){var i=t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),r=q[i];r?(r===U&&"number"==typeof n&&(n=String(n)+"px"),e.style[i]=n):e.setAttributeNS(null,t,n)}function X(e,t,n){if("string"==typeof t){if(void 0===n)return i=e,q[r=t]?i.style[r]:i.getAttributeNS(null,r);Y(e,t,n)}else!function(e,t){var n,i,r=Object.keys(t);for(n=0;i=r[n];n++)Y(e,i,t[i])}(e,t);var i,r;return e}function Z(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0;n<e.length;++n)if(e[n]===t)return n;return-1}var J=/\s+/,Q=Object.prototype.toString;function ee(e){return void 0!==e}function te(e){return new ne(e)}function ne(e){if(!e||!e.nodeType)throw new Error("A DOM element reference is required");this.el=e,this.list=e.classList}function ie(e){var t=e.parentNode;return t&&t.removeChild(e),e}ne.prototype.add=function(e){if(this.list)return this.list.add(e),this;var t=this.array();return~Z(t,e)||t.push(e),ee(this.el.className.baseVal)?this.el.className.baseVal=t.join(" "):this.el.className=t.join(" "),this},ne.prototype.remove=function(e){if("[object RegExp]"===Q.call(e))return this.removeMatching(e);if(this.list)return this.list.remove(e),this;var t=this.array(),n=Z(t,e);return~n&&t.splice(n,1),this.el.className.baseVal=t.join(" "),this},ne.prototype.removeMatching=function(e){for(var t=this.array(),n=0;n<t.length;n++)e.test(t[n])&&this.remove(t[n]);return this},ne.prototype.toggle=function(e,t){return this.list?ee(t)?t!==this.list.toggle(e,t)&&this.list.toggle(e):this.list.toggle(e):ee(t)?t?this.add(e):this.remove(e):this.has(e)?this.remove(e):this.add(e),this},ne.prototype.array=function(){var e=(this.el.getAttribute("class")||"").replace(/^\s+|\s+$/g,"").split(J);return""===e[0]&&e.shift(),e},ne.prototype.has=ne.prototype.contains=function(e){return this.list?this.list.contains(e):!!~Z(this.array(),e)};var re={svg:"http://www.w3.org/2000/svg"},ae='<svg xmlns="'+re.svg+'"';function oe(e){var t=!1;"<svg"===e.substring(0,4)?-1===e.indexOf(re.svg)&&(e=ae+e.substring(4)):(e=ae+">"+e+"</svg>",t=!0);var n,i,r=(n=e,(i=new DOMParser).async=!1,i.parseFromString(n,"text/xml"));if(!t)return r;for(var a=document.createDocumentFragment(),o=r.firstChild;o.firstChild;)a.appendChild(o.firstChild);return a}function se(e,t){var n;return n="<"===e.charAt(0)?(n=oe(e).firstChild,document.importNode(n,!0)):document.createElementNS(re.svg,e),t&&X(n,t),n}var le=se("svg");function pe(e,t,n,i,r,a){var o=le.createSVGMatrix();switch(arguments.length){case 0:return o;case 6:e={a:e,b:t,c:n,d:i,e:r,f:a}}return function(e,t){var n,i,r=Object.keys(t);for(n=0;i=r[n];n++)e[i]=t[i];return e}(o,e)}function ce(e){return e?le.createSVGTransformFromMatrix(e):le.createSVGTransform()}var ue=/([&<>]{1})/g,he=/([\n\r"]{1})/g,me={"&":"&","<":"<",">":">",'"':"'"};function fe(e,t){return e.replace(t,function(e,t){return me[t]||t})}function de(e,t){var n,i,r,a,o;switch(e.nodeType){case 3:t.push(fe(e.textContent,ue));break;case 1:if(t.push("<",e.tagName),e.hasAttributes())for(n=0,i=(r=e.attributes).length;n<i;++n)a=r.item(n),t.push(" ",a.name,'="',fe(a.value,he),'"');if(e.hasChildNodes()){for(t.push(">"),n=0,i=(o=e.childNodes).length;n<i;++n)de(o.item(n),t);t.push("</",e.tagName,">")}else t.push("/>");break;case 8:t.push("\x3c!--",fe(e.nodeValue,ue),"--\x3e");break;case 4:t.push("<![CDATA[",e.nodeValue,"]]>");break;default:throw new Error("unable to handle node "+e.nodeType)}return t}function ye(e,t){var n=oe(t);if(function(e){for(var t;t=e.firstChild;)ie(t)}(e),t){"#document-fragment"!==n.nodeName&&(n=n.documentElement);for(var i,r=(i=n.childNodes,Array.prototype.slice.call(i)),a=0;a<r.length;a++)H(r[a],e)}}function ge(e,t){if(void 0===t)return function(e){for(var t=e.firstChild,n=[];t;)de(t,n),t=t.nextSibling;return n.join("")}(e);try{ye(e,t)}catch(e){throw new Error("error parsing SVG: "+e.message)}return e}function ve(e,t){return t instanceof SVGMatrix?e.createSVGTransformFromMatrix(t):t}function xe(e,t){var n=e.transform.baseVal;if(1===arguments.length)return n.consolidate();t.length?function(e,t){var n,i;for(e.clear(),n=0;i=t[n];n++)e.appendItem(ve(e,i));e.consolidate()}(n,t):n.initialize(ve(n,t))}var be=/^class /;function Ee(e){return"[object Array]"===Object.prototype.toString.call(e)}function we(){var e=Array.prototype.slice.call(arguments);1===e.length&&Ee(e[0])&&(e=e[0]);var t=e.pop();return t.$inject=e,t}var Ae=/constructor\s*[^(]*\(\s*([^)]*)\)/m,_e=/^function\s*[^(]*\(\s*([^)]*)\)/m,Se=/\/\*([^*]*)\*\//m;function Re(e){if("function"!=typeof e)throw new Error('Cannot annotate "'+e+'". Expected a function!');var t,n=e.toString().match((t=e,be.test(t.toString())?Ae:_e));return n&&n[1]&&n[1].split(",").map(function(e){return(n=e.match(Se))?n[1].trim():e.trim()})||[]}var Ce="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function Me(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function ke(e,a){a=a||{get:function(e,t){if(o.push(e),!1===t)return null;throw l('No provider for "'+e+'"!')}};var o=[],h=this._providers=Object.create(a._providers||null),s=this._instances=Object.create(null),m=s.injector=this,l=function(e){var t=o.join(" -> ");return o.length=0,new Error(t?e+" (Resolving: "+t+")":e)},n=function e(t,n){if(!h[t]&&-1!==t.indexOf(".")){for(var i=t.split("."),r=e(i.shift());i.length;)r=r[i.shift()];return r}if(Pe(s,t))return s[t];if(Pe(h,t)){if(-1!==o.indexOf(t))throw o.push(t),l("Cannot resolve circular dependency!");return o.push(t),s[t]=h[t][0](h[t][1]),o.pop(),s[t]}return a.get(t,n)},p=function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if("function"!=typeof e){if(!Ee(e))throw new Error('Cannot invoke "'+e+'". Expected a function!');e=we(e.slice())}return{fn:e,dependencies:(e.$inject||Re(e)).map(function(e){return Pe(t,e)?t[e]:n(e)})}},t=function(e){var t=p(e),n=t.dependencies,i=t.fn;return new(Function.prototype.bind.apply(i,[null].concat(Me(n))))},i=function(e,t,n){var i=p(e,n),r=i.dependencies,a=i.fn;return a.call.apply(a,[t].concat(Me(r)))},f=function(t){return we(function(e){return t.get(e)})},c={factory:i,type:t,value:function(e){return e}};e.forEach(function(i){function r(e,t){return"value"!==e&&Ee(t)&&(t=we(t.slice())),t}if(i instanceof function(){var n=[];this.factory=function(e,t){return n.push([e,"factory",t]),this},this.value=function(e,t){return n.push([e,"value",t]),this},this.type=function(e,t){return n.push([e,"type",t]),this},this.forEach=function(e){n.forEach(e)}})i.forEach(function(e){var t=e[0],n=e[1],i=e[2];h[t]=[c[n],r(n,i),n]});else if("object"===(void 0===i?"undefined":Ce(i)))if(i.__exports__){var e=Object.keys(i).reduce(function(e,t){return"__"!==t.substring(0,2)&&(e[t]=i[t]),e},Object.create(null)),t=new ke((i.__modules__||[]).concat([e]),m),n=we(function(e){return t.get(e)});i.__exports__.forEach(function(e){h[e]=[n,e,"private",t]})}else Object.keys(i).forEach(function(e){if("private"!==i[e][2]){var t=i[e][0],n=i[e][1];h[e]=[c[t],r(t,n),t]}else h[e]=i[e]})}),this.get=n,this.invoke=i,this.instantiate=t,this.createChild=function(e,t){if(t&&t.length){var n,i,r,a,o=Object.create(null),s=Object.create(null),l=[],p=[],c=[];for(var u in h)n=h[u],-1!==t.indexOf(u)&&("private"===n[2]?(i=l.indexOf(n[3]),o[u]=-1===i?(r=n[3].createChild([],t),a=f(r),l.push(n[3]),p.push(r),c.push(a),[a,u,"private",r]):[c[i],u,"private",p[i]]):o[u]=[n[2],n[1]],s[u]=!0),"factory"!==n[2]&&"type"!==n[2]||!n[1].$scope||t.forEach(function(e){-1!==n[1].$scope.indexOf(e)&&(o[u]=[n[2],n[1]],s[e]=!0)});t.forEach(function(e){if(!s[e])throw new Error('No provider for "'+e+'". Cannot use provider from the parent!')}),e.unshift(o)}return new ke(e,m)}}function Pe(e,t){return Object.hasOwnProperty.call(e,t)}"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function Te(e,t){return e(t={exports:{}},t.exports),t.exports}var Ne=Te(function(e){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}),De=1e3;function Oe(e,t){var a=this;t=t||De,e.on(["render.shape","render.connection"],t,function(e,t){var n=e.type,i=t.element,r=t.gfx;if(a.canRender(i))return"render.shape"===n?a.drawShape(r,i):a.drawConnection(r,i)}),e.on(["render.getShapePath","render.getConnectionPath"],t,function(e,t){if(a.canRender(t))return"render.getShapePath"===e.type?a.getShapePath(t):a.getConnectionPath(t)})}function Be(e){return e.join(",").replace(/,?([A-z]),?/g,"$1")}function Le(e){for(var t,n="",i=0;t=e[i];i++)n+=t.x+","+t.y+" ";return n}function Ie(e,t){var n=se("polyline");return X(n,{points:Le(e)}),t&&X(n,t),n}Oe.prototype.canRender=function(){},Oe.prototype.drawShape=function(){},Oe.prototype.drawConnection=function(){},Oe.prototype.getShapePath=function(){},Oe.prototype.getConnectionPath=function(){};function Fe(e,t){Oe.call(this,e,1),this.CONNECTION_STYLE=t.style(["no-fill"],{strokeWidth:5,stroke:"fuchsia"}),this.SHAPE_STYLE=t.style({fill:"white",stroke:"fuchsia",strokeWidth:2})}Ne(Fe,Oe),Fe.prototype.canRender=function(){return!0},Fe.prototype.drawShape=function(e,t){var n=se("rect");return X(n,{x:0,y:0,width:t.width||0,height:t.height||0}),X(n,this.SHAPE_STYLE),K(e,n),n},Fe.prototype.drawConnection=function(e,t){var n=Ie(t.waypoints,this.CONNECTION_STYLE);return K(e,n),n},Fe.prototype.getShapePath=function(e){var t=e.x,n=e.y,i=e.width;return Be([["M",t,n],["l",i,0],["l",0,e.height],["l",-i,0],["z"]])},Fe.prototype.getConnectionPath=function(e){var t,n,i=e.waypoints,r=[];for(t=0;n=i[t];t++)n=n.original||n,r.push([0===t?"M":"L",n.x,n.y]);return Be(r)},Fe.$inject=["eventBus","styles"];var je={__init__:["defaultRenderer"],defaultRenderer:["type",Fe],styles:["type",function(){var i={"no-fill":{fill:"none"},"no-border":{strokeOpacity:0},"no-events":{pointerEvents:"none"}},r=this;this.cls=function(e,t,n){return N(this.style(t,n),{class:e})},this.style=function(e,t){u(e)||t||(t=e,e=[]);var n=b(e,function(e,t){return N(e,i[t]||{})},{});return t?N(n,t):n},this.computeStyle=function(e,t,n){return u(t)||(n=t,t=[]),r.style(t||[],N({},n,e||{}))}}]};function Ve(e,o){var s,l,p,c;return o=!!o,u(e)||(e=[e]),T(e,function(e){var t=e;e.waypoints&&!o&&(t=Ve(e.waypoints,!0));var n=t.x,i=t.y,r=t.height||0,a=t.width||0;(n<s||void 0===s)&&(s=n),(i<l||void 0===l)&&(l=i),(p<n+a||void 0===p)&&(p=n+a),(c<i+r||void 0===c)&&(c=i+r)}),{x:s,y:l,height:c-l,width:p-s}}function We(e,t){return Math.round(e*t)/t}function ze(e){return s(e)?e+"px":e}function Ge(e,t,n){var i=se("g");te(i).add(t);var r=void 0!==n?n:e.childNodes.length-1;return e.insertBefore(i,e.childNodes[r]||null),i}var $e={shape:["x","y","width","height"],connection:["waypoints"]};function He(e,t,n,i){this._eventBus=t,this._elementRegistry=i,this._graphicsFactory=n,this._init(e||{})}function Ke(e,t){var n="matrix("+t.a+","+t.b+","+t.c+","+t.d+","+t.e+","+t.f+")";e.setAttribute("transform",n)}He.$inject=["config.canvas","eventBus","graphicsFactory","elementRegistry"],He.prototype._init=function(e){var t,n,i,r=this._eventBus,a=this._container=(n=(t=N({},{width:"100%",height:"100%"},t=e)).container||document.body,(i=document.createElement("div")).setAttribute("class","djs-container"),N(i.style,{position:"relative",overflow:"hidden",width:ze(t.width),height:ze(t.height)}),n.appendChild(i),i),o=this._svg=se("svg");X(o,{width:"100%",height:"100%"}),K(a,o);var s=this._viewport=Ge(o,"viewport");!(this._layers={})!==e.deferUpdate&&(this._viewboxChanged=f(d(this._viewboxChanged,this),300)),r.on("diagram.init",function(){r.fire("canvas.init",{svg:o,viewport:s})},this),r.on(["shape.added","connection.added","shape.removed","connection.removed","elements.changed"],function(){delete this._cachedViewbox},this),r.on("diagram.destroy",500,this._destroy,this),r.on("diagram.clear",500,this._clear,this)},He.prototype._destroy=function(e){this._eventBus.fire("canvas.destroy",{svg:this._svg,viewport:this._viewport});var t=this._container.parentNode;t&&t.removeChild(this._container),delete this._svg,delete this._container,delete this._layers,delete this._rootElement,delete this._viewport},He.prototype._clear=function(){var i=this;this._elementRegistry.getAll().forEach(function(e){var t,n="waypoints"in(t=e)?"connection":"x"in t?"shape":"root";"root"===n?i.setRootElement(null,!0):i._removeElement(e,n)}),delete this._cachedViewbox},He.prototype.getDefaultLayer=function(){return this.getLayer("base",0)},He.prototype.getLayer=function(e,t){if(!e)throw new Error("must specify a name");var n=this._layers[e];if(n||(n=this._layers[e]=this._createLayer(e,t)),void 0!==t&&n.index!==t)throw new Error("layer <"+e+"> already created at index <"+t+">");return n.group},He.prototype._createLayer=function(e,n){n||(n=0);var t=b(this._layers,function(e,t){return n>=t.index&&e++,e},0);return{group:Ge(this._viewport,"layer-"+e,t),index:n}},He.prototype.getContainer=function(){return this._container},He.prototype._updateMarker=function(e,t,n){var i;e.id||(e=this._elementRegistry.get(e)),(i=this._elementRegistry._elements[e.id])&&(T([i.gfx,i.secondaryGfx],function(e){e&&(n?te(e).add(t):te(e).remove(t))}),this._eventBus.fire("element.marker.update",{element:e,gfx:i.gfx,marker:t,add:!!n}))},He.prototype.addMarker=function(e,t){this._updateMarker(e,t,!0)},He.prototype.removeMarker=function(e,t){this._updateMarker(e,t,!1)},He.prototype.hasMarker=function(e,t){return e.id||(e=this._elementRegistry.get(e)),te(this.getGraphics(e)).has(t)},He.prototype.toggleMarker=function(e,t){this.hasMarker(e,t)?this.removeMarker(e,t):this.addMarker(e,t)},He.prototype.getRootElement=function(){return this._rootElement||this.setRootElement({id:"__implicitroot",children:[]}),this._rootElement},He.prototype.setRootElement=function(e,t){e&&this._ensureValid("root",e);var n=this._rootElement,i=this._elementRegistry,r=this._eventBus;if(n){if(!t)throw new Error("rootElement already set, need to specify override");r.fire("root.remove",{element:n}),r.fire("root.removed",{element:n}),i.remove(n)}if(e){var a=this.getDefaultLayer();r.fire("root.add",{element:e}),i.add(e,a,this._svg),r.fire("root.added",{element:e,gfx:a})}return this._rootElement=e},He.prototype._ensureValid=function(e,t){if(!t.id)throw new Error("element must have an id");if(this._elementRegistry.get(t.id))throw new Error("element with id "+t.id+" already exists");var n=$e[e];if(!a(n,function(e){return void 0!==t[e]}))throw new Error("must supply { "+n.join(", ")+" } with "+e)},He.prototype._setParent=function(e,t,n){!function(e,t,n){if(e&&t){"number"!=typeof n&&(n=-1);var i=e.indexOf(t);if(-1!==i){if(i===n)return;if(-1===n)return;e.splice(i,1)}-1!==n?e.splice(n,0,t):e.push(t)}}(t.children,e,n),e.parent=t},He.prototype._addElement=function(e,t,n,i){n=n||this.getRootElement();var r=this._eventBus,a=this._graphicsFactory;this._ensureValid(e,t),r.fire(e+".add",{element:t,parent:n}),this._setParent(t,n,i);var o=a.create(e,t,i);return this._elementRegistry.add(t,o),a.update(e,t,o),r.fire(e+".added",{element:t,gfx:o}),t},He.prototype.addShape=function(e,t,n){return this._addElement("shape",e,t,n)},He.prototype.addConnection=function(e,t,n){return this._addElement("connection",e,t,n)},He.prototype._removeElement=function(e,t){var n=this._elementRegistry,i=this._graphicsFactory,r=this._eventBus;if(e=n.get(e.id||e))return r.fire(t+".remove",{element:e}),i.remove(e),function(e,t){if(!e||!t)return;var n=e.indexOf(t);-1!==n&&e.splice(n,1)}(e.parent&&e.parent.children,e),e.parent=null,r.fire(t+".removed",{element:e}),n.remove(e),e},He.prototype.removeShape=function(e){return this._removeElement(e,"shape")},He.prototype.removeConnection=function(e){return this._removeElement(e,"connection")},He.prototype.getGraphics=function(e,t){return this._elementRegistry.getGraphics(e,t)},He.prototype._changeViewbox=function(e){this._eventBus.fire("canvas.viewbox.changing"),e.apply(this),this._cachedViewbox=null,this._viewboxChanged()},He.prototype._viewboxChanged=function(){this._eventBus.fire("canvas.viewbox.changed",{viewbox:this.viewbox()})},He.prototype.viewbox=function(t){if(void 0===t&&this._cachedViewbox)return this._cachedViewbox;var e,n,i,r,a,o,s=this._viewport,l=this.getSize();return t?(this._changeViewbox(function(){r=Math.min(l.width/t.width,l.height/t.height);var e=this._svg.createSVGMatrix().scale(r).translate(-t.x,-t.y);xe(s,e)}),t):(e=this.getDefaultLayer().getBBox(),n=(i=xe(s))?i.matrix:pe(),r=We(n.a,1e3),a=We(-n.e||0,1e3),o=We(-n.f||0,1e3),t=this._cachedViewbox={x:a?a/r:0,y:o?o/r:0,width:l.width/r,height:l.height/r,scale:r,inner:{width:e.width,height:e.height,x:e.x,y:e.y},outer:l})},He.prototype.scroll=function(e){var t=this._viewport,n=t.getCTM();return e&&this._changeViewbox(function(){e=N({dx:0,dy:0},e||{}),n=this._svg.createSVGMatrix().translate(e.dx,e.dy).multiply(n),Ke(t,n)}),{x:n.e,y:n.f}},He.prototype.zoom=function(e,t){return e?"fit-viewport"===e?this._fitViewport(t):(this._changeViewbox(function(){"object"!=typeof t&&(n=this.viewbox().outer,t={x:n.width/2,y:n.height/2}),i=this._setZoom(e,t)}),We(i.a,1e3)):this.viewbox(e).scale;var n,i},He.prototype._fitViewport=function(e){var t,n,i=this.viewbox(),r=i.outer,a=i.inner;return n=0<=a.x&&0<=a.y&&a.x+a.width<=r.width&&a.y+a.height<=r.height&&!e?{x:0,y:0,width:Math.max(a.width+a.x,r.width),height:Math.max(a.height+a.y,r.height)}:(t=Math.min(1,r.width/a.width,r.height/a.height),{x:a.x+(e?a.width/2-r.width/t/2:0),y:a.y+(e?a.height/2-r.height/t/2:0),width:r.width/t,height:r.height/t}),this.viewbox(n),this.viewbox(!1).scale},He.prototype._setZoom=function(e,t){var n,i,r,a,o=this._svg,s=this._viewport,l=o.createSVGMatrix(),p=o.createSVGPoint(),c=(i=s.getCTM()).a;return a=t?(n=N(p,t).matrixTransform(i.inverse()),r=l.translate(n.x,n.y).scale(1/c*e).translate(-n.x,-n.y),i.multiply(r)):l.scale(e),Ke(this._viewport,a),a},He.prototype.getSize=function(){return{width:this._container.clientWidth,height:this._container.clientHeight}},He.prototype.getAbsoluteBBox=function(e){var t,n=this.viewbox();e.waypoints?t=this.getGraphics(e).getBBox():t=e;return{x:t.x*n.scale-n.x*n.scale,y:t.y*n.scale-n.y*n.scale,width:t.width*n.scale,height:t.height*n.scale}},He.prototype.resized=function(){delete this._cachedViewbox,this._eventBus.fire("canvas.resized")};var Ue="data-element-id";function qe(e){this._elements={},this._eventBus=e}qe.$inject=["eventBus"],qe.prototype.add=function(e,t,n){var i=e.id;this._validateId(i),X(t,Ue,i),n&&X(n,Ue,i),this._elements[i]={element:e,gfx:t,secondaryGfx:n}},qe.prototype.remove=function(e){var t=this._elements,n=e.id||e,i=n&&t[n];i&&(X(i.gfx,Ue,""),i.secondaryGfx&&X(i.secondaryGfx,Ue,""),delete t[n])},qe.prototype.updateId=function(e,t){this._validateId(t),"string"==typeof e&&(e=this.get(e)),this._eventBus.fire("element.updateId",{element:e,newId:t});var n=this.getGraphics(e),i=this.getGraphics(e,!0);this.remove(e),e.id=t,this.add(e,n,i)},qe.prototype.get=function(e){var t;t="string"==typeof e?e:e&&X(e,Ue);var n=this._elements[t];return n&&n.element},qe.prototype.filter=function(n){var i=[];return this.forEach(function(e,t){n(e,t)&&i.push(e)}),i},qe.prototype.getAll=function(){return this.filter(function(e){return e})},qe.prototype.forEach=function(r){var a=this._elements;Object.keys(a).forEach(function(e){var t=a[e],n=t.element,i=t.gfx;return r(n,i)})},qe.prototype.getGraphics=function(e,t){var n=e.id||e,i=this._elements[n];return i&&(t?i.secondaryGfx:i.gfx)},qe.prototype._validateId=function(e){if(!e)throw new Error("element must have an id");if(this._elements[e])throw new Error("element with id "+e+" already added")};var Ye={extend:function(e,i,t,r){var a=t.inverse;return Object.defineProperty(e,"remove",{value:function(e){var t=this.indexOf(e);return-1!==t&&(this.splice(t,1),i.unset(e,a,r)),e}}),Object.defineProperty(e,"contains",{value:function(e){return-1!==this.indexOf(e)}}),Object.defineProperty(e,"add",{value:function(e,t){var n=this.indexOf(e);if(void 0===t){if(-1!==n)return;t=this.length}-1!==n&&this.splice(n,1),this.splice(t,0,e),-1===n&&i.set(e,a,r)}}),Object.defineProperty(e,"__refs_collection",{value:!0}),e},isExtended:function(e){return!0===e.__refs_collection}};function Xe(t,n,i){var e=Ye.extend(i[n.name]||[],t,n,i);Object.defineProperty(i,n.name,{enumerable:n.enumerable,value:e}),e.length&&e.forEach(function(e){t.set(e,n.inverse,i)})}function Ze(e,t){if(!(this instanceof Ze))return new Ze(e,t);(e.inverse=t).inverse=e,this.props={},this.props[e.name]=e,this.props[t.name]=t}Ze.prototype.bind=function(e,t){if("string"==typeof t){if(!this.props[t])throw new Error("no property <"+t+"> in ref");t=this.props[t]}var n,i,r,a,o;t.collection?Xe(this,t,e):(n=this,r=e,a=(i=t).inverse,o=r[i.name],Object.defineProperty(r,i.name,{configurable:i.configurable,enumerable:i.enumerable,get:function(){return o},set:function(e){if(e!==o){var t=o;o=null,t&&n.unset(t,a,r),o=e,n.set(o,a,r)}}}))},Ze.prototype.ensureRefsCollection=function(e,t){var n=e[t.name];return Ye.isExtended(n)||Xe(this,t,e),n},Ze.prototype.ensureBound=function(e,t){var n,i;n=e,i=t,Object.prototype.hasOwnProperty.call(n,i.name||i)||this.bind(e,t)},Ze.prototype.unset=function(e,t,n){e&&(this.ensureBound(e,t),t.collection?this.ensureRefsCollection(e,t).remove(n):e[t.name]=void 0)},Ze.prototype.set=function(e,t,n){e&&(this.ensureBound(e,t),t.collection?this.ensureRefsCollection(e,t).add(n):e[t.name]=n)};var Je=Ze,Qe=Ye;Je.Collection=Qe;var et=new Je({name:"children",enumerable:!0,collection:!0},{name:"parent"}),tt=new Je({name:"labels",enumerable:!0,collection:!0},{name:"labelTarget"}),nt=new Je({name:"attachers",collection:!0},{name:"host"}),it=new Je({name:"outgoing",collection:!0},{name:"source"}),rt=new Je({name:"incoming",collection:!0},{name:"target"});function at(){Object.defineProperty(this,"businessObject",{writable:!0}),Object.defineProperty(this,"label",{get:function(){return this.labels[0]},set:function(e){var t=this.label,n=this.labels;!e&&t?n.remove(t):n.add(e,0)}}),et.bind(this,"parent"),tt.bind(this,"labels"),it.bind(this,"outgoing"),rt.bind(this,"incoming")}function ot(){at.call(this),et.bind(this,"children"),nt.bind(this,"host"),nt.bind(this,"attachers")}function st(){ot.call(this)}function lt(){ot.call(this),tt.bind(this,"labelTarget")}function pt(){at.call(this),it.bind(this,"source"),rt.bind(this,"target")}Ne(ot,at),Ne(st,ot),Ne(lt,ot),Ne(pt,at);var ct={connection:pt,shape:ot,label:lt,root:st};function ut(){this._uid=12}ut.prototype.createRoot=function(e){return this.create("root",e)},ut.prototype.createLabel=function(e){return this.create("label",e)},ut.prototype.createShape=function(e){return this.create("shape",e)},ut.prototype.createConnection=function(e){return this.create("connection",e)},ut.prototype.create=function(e,t){return(t=N({},t||{})).id||(t.id=e+"_"+this._uid++),function(e,t){var n=ct[e];if(!n)throw new Error("unknown type: <"+e+">");return N(new n,t)}(e,t)};var ht="__fn",mt=Array.prototype.slice;function ft(){this._listeners={},this.on("diagram.destroy",1,this._destroy,this)}function dt(){}function yt(e,t,n){var i=ce();i.setTranslate(t,n),xe(e,i)}function gt(e,t){this._eventBus=e,this._elementRegistry=t}function vt(e,t,n){t.insertBefore(e,n||t.firstChild)}ft.prototype.on=function(e,t,n,i){if(e=u(e)?e:[e],p(t)&&(i=n,n=t,t=1e3),!s(t))throw new Error("priority must be a number");var r=n;i&&((r=d(n,i))[ht]=n[ht]||n);var a=this,o={priority:t,callback:r};e.forEach(function(e){a._addListener(e,o)})},ft.prototype.once=function(e,t,n,i){var r=this;if(p(t)&&(i=n,n=t,t=1e3),!s(t))throw new Error("priority must be a number");function a(){return r.off(e,a),n.apply(i,arguments)}a[ht]=n,this.on(e,t,a)},ft.prototype.off=function(e,t){e=u(e)?e:[e];var n=this;e.forEach(function(e){n._removeListener(e,t)})},ft.prototype.createEvent=function(e){var t=new dt;return t.init(e),t},ft.prototype.fire=function(e,t){var n,i,r,a;if(a=mt.call(arguments),"object"==typeof e&&(e=(n=e).type),!e)throw new Error("no event type specified");if(i=this._listeners[e]){n=t instanceof dt?t:this.createEvent(t);var o=(a[0]=n).type;e!==o&&(n.type=e);try{r=this._invokeListeners(n,a,i)}finally{e!==o&&(n.type=o)}return void 0===r&&n.defaultPrevented&&(r=!1),r}},ft.prototype.handleError=function(e){return!1===this.fire("error",{error:e})},ft.prototype._destroy=function(){this._listeners={}},ft.prototype._invokeListeners=function(e,t,n){var i,r,a;for(i=0;(r=n[i])&&!e.cancelBubble;i++)a=this._invokeListener(e,t,r);return a},ft.prototype._invokeListener=function(e,t,n){var i,r,a;try{r=n.callback,a=t,void 0!==(i=r.apply(null,a))&&(e.returnValue=i,e.stopPropagation()),!1===i&&e.preventDefault()}catch(e){if(!this.handleError(e))throw console.error("unhandled error in event listener"),console.error(e.stack),e}return i},ft.prototype._addListener=function(e,t){var n,i,r=this._getListeners(e);for(i=0;n=r[i];i++)if(n.priority<t.priority)return void r.splice(i,0,t);r.push(t)},ft.prototype._getListeners=function(e){var t=this._listeners[e];return t||(this._listeners[e]=t=[]),t},ft.prototype._removeListener=function(e,t){var n,i,r,a=this._getListeners(e);if(t)for(r=a.length-1;n=a[r];r--)(i=n.callback)!==t&&i[ht]!==t||a.splice(r,1);else a.length=0},dt.prototype.stopPropagation=function(){this.cancelBubble=!0},dt.prototype.preventDefault=function(){this.defaultPrevented=!0},dt.prototype.init=function(e){N(this,e||{})},gt.$inject=["eventBus","elementRegistry"],gt.prototype._getChildren=function(e){var t,n=this._elementRegistry.getGraphics(e);return e.parent?(t=n.parentNode.childNodes[1])||(te(t=se("g")).add("djs-children"),K(n.parentNode,t)):t=n,t},gt.prototype._clear=function(e){var t=G(".djs-visual",e);return _(t),t},gt.prototype._createContainer=function(e,t,n){var i=se("g");te(i).add("djs-group"),void 0!==n?vt(i,t,t.childNodes[n]):K(t,i);var r=se("g");te(r).add("djs-element"),te(r).add("djs-"+e),K(i,r);var a=se("g");return te(a).add("djs-visual"),K(r,a),r},gt.prototype.create=function(e,t,n){var i=this._getChildren(t.parent);return this._createContainer(e,i,n)},gt.prototype.updateContainments=function(e){var i=this,r=this._elementRegistry;T(b(e,function(e,t){return t.parent&&(e[t.parent.id]=t.parent),e},{}),function(e){var t=e.children;if(t){var n=i._getChildren(e);T(t.slice().reverse(),function(e){vt(r.getGraphics(e).parentNode,n)})}})},gt.prototype.drawShape=function(e,t){return this._eventBus.fire("render.shape",{gfx:e,element:t})},gt.prototype.getShapePath=function(e){return this._eventBus.fire("render.getShapePath",e)},gt.prototype.drawConnection=function(e,t){return this._eventBus.fire("render.connection",{gfx:e,element:t})},gt.prototype.getConnectionPath=function(e){return this._eventBus.fire("render.getConnectionPath",e)},gt.prototype.update=function(e,t,n){if(t.parent){var i=this._clear(n);if("shape"===e)this.drawShape(i,t),yt(n,t.x,t.y);else{if("connection"!==e)throw new Error("unknown type: "+e);this.drawConnection(i,t)}t.hidden?X(n,"display","none"):X(n,"display","block")}},gt.prototype.remove=function(e){ie(this._elementRegistry.getGraphics(e).parentNode)};var xt={__depends__:[je],__init__:["canvas"],canvas:["type",He],elementRegistry:["type",qe],elementFactory:["type",ut],eventBus:["type",ft],graphicsFactory:["type",gt]};function bt(e){var i=[],r=[];function a(e){return 0<=i.indexOf(e)}e.forEach(function e(t){var n;a(t)||((t.__depends__||[]).forEach(e),a(t)||(n=t,i.push(n),(t.__init__||[]).forEach(function(e){r.push(e)})))});var t=new ke(i);return r.forEach(function(e){try{t["string"==typeof e?"get":"invoke"](e)}catch(e){throw console.error("Failed to instantiate component"),console.error(e.stack),e}}),t}function Et(e,t){var n;this.injector=t=t||bt([{config:["value",n=(n=e)||{}]},xt].concat(n.modules||[])),this.get=t.get,this.invoke=t.invoke,this.get("eventBus").fire("diagram.init")}Et.prototype.destroy=function(){this.get("eventBus").fire("diagram.destroy")},Et.prototype.clear=function(){this.get("eventBus").fire("diagram.clear")};var wt,At=(wt=Object.freeze({default:Et}))&&wt.default||wt;function _t(){}function St(e,t){this.model=e,this.properties=t}_t.prototype.get=function(e){return this.$model.properties.get(this,e)},_t.prototype.set=function(e,t){this.$model.properties.set(this,e,t)},St.prototype.createType=function(e){var t=this.model,n=this.properties,i=Object.create(_t.prototype);T(e.properties,function(e){e.isMany||void 0===e.default||(i[e.name]=e.default)}),n.defineModel(i,t),n.defineDescriptor(i,e);var r=e.ns.name;function a(e){n.define(this,"$type",{value:r,enumerable:!0}),n.define(this,"$attrs",{value:{}}),n.define(this,"$parent",{writable:!0}),T(e,d(function(e,t){this.set(t,e)},this))}return a.prototype=i,a.hasType=i.$instanceOf=this.model.hasType,n.defineModel(a,t),n.defineDescriptor(a,e),a};var Rt={String:!0,Boolean:!0,Integer:!0,Real:!0,Element:!0},Ct={String:function(e){return e},Boolean:function(e){return"true"===e},Integer:function(e){return parseInt(e,10)},Real:function(e){return parseFloat(e,10)}};function Mt(e,t){var n=Ct[e];return n?n(t):t}function kt(e){return!!Rt[e]}function Pt(e){return!!Ct[e]}function Tt(e,t){var n,i,r=e.split(/:/);if(1===r.length)n=e,i=t;else{if(2!==r.length)throw new Error("expected <prefix:localName> or <localName>, got "+e);n=r[1],i=r[0]}return{name:e=(i?i+":":"")+n,prefix:i,localName:n}}function Nt(e){this.ns=e,this.name=e.name,this.allTypes=[],this.allTypesByName={},this.properties=[],this.propertiesByName={}}function Dt(e,t){this.packageMap={},this.typeMap={},this.packages=[],this.properties=t,T(e,d(this.registerPackage,this))}function Ot(e,t,n){var i=t[n];if(i in e)throw new Error("package with "+n+" <"+i+"> already defined")}function Bt(e){this.model=e}function Lt(e,t,n){Object.defineProperty(e,t.name,{enumerable:!t.isReference,writable:!0,value:n,configurable:!0})}function It(e){this.properties=new Bt(this),this.factory=new St(this,this.properties),this.registry=new Dt(e,this.properties),this.typeCache={}}Nt.prototype.build=function(){return t=this,e=["ns","name","allTypes","allTypesByName","properties","propertiesByName","bodyProperty","idProperty"],n={},i=Object(t),T(e,function(e){e in i&&(n[e]=t[e])}),n;var t,e,n,i},Nt.prototype.addProperty=function(e,t,n){"boolean"==typeof t&&(n=t,t=void 0),this.addNamedProperty(e,!1!==n);var i=this.properties;void 0!==t?i.splice(t,0,e):i.push(e)},Nt.prototype.replaceProperty=function(e,t,n){var i=e.ns,r=this.properties,a=this.propertiesByName,o=e.name!==t.name;if(e.isId){if(!t.isId)throw new Error("property <"+t.ns.name+"> must be id property to refine <"+e.ns.name+">");this.setIdProperty(t,!1)}if(e.isBody){if(!t.isBody)throw new Error("property <"+t.ns.name+"> must be body property to refine <"+e.ns.name+">");this.setBodyProperty(t,!1)}var s=r.indexOf(e);if(-1===s)throw new Error("property <"+i.name+"> not found in property list");r.splice(s,1),this.addProperty(t,n?void 0:s,o),a[i.name]=a[i.localName]=t},Nt.prototype.redefineProperty=function(e,t,n){var i=e.ns.prefix,r=t.split("#"),a=Tt(r[0],i),o=Tt(r[1],a.prefix).name,s=this.propertiesByName[o];if(!s)throw new Error("refined property <"+o+"> not found");this.replaceProperty(s,e,n),delete e.redefines},Nt.prototype.addNamedProperty=function(e,t){var n=e.ns,i=this.propertiesByName;t&&(this.assertNotDefined(e,n.name),this.assertNotDefined(e,n.localName)),i[n.name]=i[n.localName]=e},Nt.prototype.removeNamedProperty=function(e){var t=e.ns,n=this.propertiesByName;delete n[t.name],delete n[t.localName]},Nt.prototype.setBodyProperty=function(e,t){if(t&&this.bodyProperty)throw new Error("body property defined multiple times (<"+this.bodyProperty.ns.name+">, <"+e.ns.name+">)");this.bodyProperty=e},Nt.prototype.setIdProperty=function(e,t){if(t&&this.idProperty)throw new Error("id property defined multiple times (<"+this.idProperty.ns.name+">, <"+e.ns.name+">)");this.idProperty=e},Nt.prototype.assertNotDefined=function(e,t){var n=e.name,i=this.propertiesByName[n];if(i)throw new Error("property <"+n+"> already defined; override of <"+i.definedBy.ns.name+"#"+i.ns.name+"> by <"+e.definedBy.ns.name+"#"+e.ns.name+"> not allowed without redefines")},Nt.prototype.hasProperty=function(e){return this.propertiesByName[e]},Nt.prototype.addTrait=function(i,r){var e=this.allTypesByName,t=this.allTypes,n=i.name;n in e||(T(i.properties,d(function(e){e=N({},e,{name:e.ns.localName,inherited:r}),Object.defineProperty(e,"definedBy",{value:i});var t=e.replaces,n=e.redefines;t||n?this.redefineProperty(e,t||n,t):(e.isBody&&this.setBodyProperty(e),e.isId&&this.setIdProperty(e),this.addProperty(e))},this)),t.push(i),e[n]=i)},Dt.prototype.getPackage=function(e){return this.packageMap[e]},Dt.prototype.getPackages=function(){return this.packages},Dt.prototype.registerPackage=function(t){t=N({},t);var e=this.packageMap;Ot(e,t,"prefix"),Ot(e,t,"uri"),T(t.types,d(function(e){this.registerType(e,t)},this)),e[t.uri]=e[t.prefix]=t,this.packages.push(t)},Dt.prototype.registerType=function(e,t){var i=Tt((e=N({},e,{superClass:(e.superClass||[]).slice(),extends:(e.extends||[]).slice(),properties:(e.properties||[]).slice(),meta:N(e.meta||{})})).name,t.prefix),n=i.name,r={};T(e.properties,d(function(e){var t=Tt(e.name,i.prefix),n=t.name;kt(e.type)||(e.type=Tt(e.type,t.prefix).name),N(e,{ns:t,name:n}),r[n]=e},this)),N(e,{ns:i,name:n,propertiesByName:r}),T(e.extends,d(function(e){var t=this.typeMap[e];t.traits=t.traits||[],t.traits.push(n)},this)),this.definePackage(e,t),this.typeMap[n]=e},Dt.prototype.mapTypes=function(i,r,e){var t=kt(i.name)?{name:i.name}:this.typeMap[i.name],a=this;function n(e){return o(e,!0)}function o(e,t){var n=Tt(e,kt(e)?"":i.prefix);a.mapTypes(n,r,t)}if(!t)throw new Error("unknown type <"+i.name+">");T(t.superClass,e?n:o),r(t,!e),T(t.traits,n)},Dt.prototype.getEffectiveDescriptor=function(e){var t=Tt(e),n=new Nt(t);this.mapTypes(t,function(e,t){n.addTrait(e,t)});var i=n.build();return this.definePackage(i,i.allTypes[i.allTypes.length-1].$pkg),i},Dt.prototype.definePackage=function(e,t){this.properties.define(e,"$pkg",{value:t})},Bt.prototype.set=function(e,t,n){var i=this.model.getPropertyDescriptor(e,t),r=i&&i.name;void 0===n?i?delete e[r]:delete e.$attrs[t]:i?r in e?e[r]=n:Lt(e,i,n):e.$attrs[t]=n},Bt.prototype.get=function(e,t){var n=this.model.getPropertyDescriptor(e,t);if(!n)return e.$attrs[t];var i=n.name;return!e[i]&&n.isMany&&Lt(e,n,[]),e[i]},Bt.prototype.define=function(e,t,n){Object.defineProperty(e,t,n)},Bt.prototype.defineDescriptor=function(e,t){this.define(e,"$descriptor",{value:t})},Bt.prototype.defineModel=function(e,t){this.define(e,"$model",{value:t})},It.prototype.create=function(e,t){var n=this.getType(e);if(!n)throw new Error("unknown type <"+e+">");return new n(t)},It.prototype.getType=function(e){var t=this.typeCache,n=c(e)?e:e.ns.name,i=t[n];return i||(e=this.registry.getEffectiveDescriptor(n),i=t[n]=this.factory.createType(e)),i},It.prototype.createAny=function(e,t,n){var i=Tt(e),r={$type:e,$instanceOf:function(e){return e===this.$type}},a={name:e,isGeneric:!0,ns:{prefix:i.prefix,localName:i.localName,uri:t}};return this.properties.defineDescriptor(r,a),this.properties.defineModel(r,this),this.properties.define(r,"$parent",{enumerable:!1,writable:!0}),T(n,function(e,t){M(e)&&void 0!==e.value?r[e.name]=e.value:r[t]=e}),r},It.prototype.getPackage=function(e){return this.registry.getPackage(e)},It.prototype.getPackages=function(){return this.registry.getPackages()},It.prototype.getElementDescriptor=function(e){return e.$descriptor},It.prototype.hasType=function(e,t){return void 0===t&&(t=e,e=this),t in e.$model.getElementDescriptor(e).allTypesByName},It.prototype.getPropertyDescriptor=function(e,t){return this.getElementDescriptor(e).propertiesByName[t]},It.prototype.getTypeDescriptor=function(e){return this.registry.typeMap[e]};var Ft=Te(function(e,t){var i,n=function(){function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}}();"undefined"!=typeof window&&window,
|
21 | (this,i);for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];this.data=[null].concat(t),this.top=this.data.length-1}return n(i,[{key:"clear",value:function(){return this.data.length=1,this.top=0,this}},{key:"empty",value:function(){return 0===this.top}},{key:"length",value:function(){return this.top}},{key:"peek",value:function(){return this.data[this.top]}},{key:"pop",value:function(){var e=void 0;return 0<this.top&&(e=this.data.pop(),this.top--),e}},{key:"push",value:function(e){return this.data[++this.top]=e,this}},{key:"search",value:function(e){var t=this.data.indexOf(e);return-1===t?-1:this.data.length-t}}]),i}(),e.exports=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return new(Function.prototype.bind.apply(i,[null].concat(t)))}}),jt=String.fromCharCode,Vt=Object.prototype.hasOwnProperty,Wt=/&#(\d+);|&#x([0-9a-f]+);|&(\w+);/gi,zt={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'};function Gt(e,t,n,i){return i?Vt.call(zt,i)?zt[i]:"&"+i+";":jt(t||parseInt(n,16))}function $t(e){return 3<e.length&&-1!==e.indexOf("&")?e.replace(Wt,Gt):e}Object.keys(zt).forEach(function(e){zt[e.toUpperCase()]=zt[e]});var Ht="http://www.w3.org/2001/XMLSchema-instance",Kt="xsi",Ut="xsi:type",qt="non-whitespace outside of root node";function Yt(e){return new Error(e)}function Xt(e){return"missing namespace for prefix <"+e+">"}function Zt(e){return{get:e,enumerable:!0}}function Jt(e){var t,n={};for(t in e)n[t]=e[t];return n}function Qt(e){return e+"$uri"}function en(){return{line:0,column:0}}function tn(e){throw e}function nn(e){if(!this)return new nn(e);var g,A,_,S,n,R,C,M,k,P=e&&e.proxy,i=tn,T=en,N=!1,D=!1,t=null,O=!1;function B(e){e instanceof Error||(e=Yt(e)),i(t=e,T)}function L(e){n&&(e instanceof Error||(e=Yt(e)),n(e,T))}this.on=function(e,t){if("function"!=typeof t)throw Yt("required args <name, cb>");switch(e){case"openTag":A=t;break;case"text":g=t;break;case"closeTag":_=t;break;case"error":i=t;break;case"warn":n=t;break;case"cdata":S=t;break;case"attention":M=t;break;case"question":C=t;break;case"comment":R=t;break;default:throw Yt("unsupported event: "+e)}return this},this.ns=function(e){if(void 0===e&&(e={}),"object"!=typeof e)throw Yt("required args <nsMap={}>");var t,n={};for(t in e)n[t]=e[t];return n[Ht]=Kt,D=!0,k=n,this},this.parse=function(e){if("string"!=typeof e)throw Yt("required args <xml=string>");return t=null,function(o){var e,t,n,i,r,a,s,l,p,v,c=D?[]:null,x=D?function(e){var t,n,i={};for(t in e)i[n=e[t]]=n,i[Qt(n)]=t;return i}(k):null,u=[],b=0,h=!1,m=!1,f=0,d=0,E="",w=0;function y(){if(null!==v)return v;var e,t,n,i,r,a,o,s,l,p,c,u=D&&x.xmlns,h=D&&N?[]:null,m=w,f=E,d=f.length,y={},g={};e:for(;m<d;m++)if(l=!1,!(32===(p=f.charCodeAt(m))||p<14&&8<p)){for((p<65||122<p||90<p&&p<97)&&95!==p&&58!==p&&(L("illegal first char attribute name"),l=!0),c=m+1;c<d;c++)if(!(96<(p=f.charCodeAt(c))&&p<123||64<p&&p<91||47<p&&p<59||46===p||45===p||95===p)){if(32===p||p<14&&8<p){L("missing attribute value"),m=c;continue e}if(61===p)break;L("illegal attribute name char"),l=!0}if("xmlns:xmlns"===(s=f.substring(m,c))&&(L("illegal declaration of xmlns"),l=!0),34===(p=f.charCodeAt(c+1)))-1===(c=f.indexOf('"',m=c+2))&&-1!==(c=f.indexOf("'",m))&&(L("attribute value quote missmatch"),l=!0);else if(39===p)-1===(c=f.indexOf("'",m=c+2))&&-1!==(c=f.indexOf('"',m))&&(L("attribute value quote missmatch"),l=!0);else for(L("missing attribute value quotes"),l=!0,c+=1;c<d&&!(32===(p=f.charCodeAt(c+1))||p<14&&8<p);c++);for(-1===c&&(L("missing closing quotes"),c=d,l=!0),l||(a=f.substring(m,c)),m=c;c+1<d&&!(32===(p=f.charCodeAt(c+1))||p<14&&8<p);c++)m===c&&(L("illegal character after attribute end"),l=!0);if(m=c+1,!l)if(s in g)L("attribute <"+s+"> already defined");else if(g[s]=!0,D)if(N){if(null!==(r="xmlns"===s?"xmlns":120===s.charCodeAt(0)&&"xmlns:"===s.substr(0,6)?s.substr(6):null)){if(e=$t(a),t=Qt(r),!(o=k[e])){if("xmlns"===r||t in x&&x[t]!==e)for(;o="ns"+b++,void 0!==x[o];);else o=r;k[e]=o}x[r]!==o&&(i||(x=Jt(x),i=!0),x[r]=o,"xmlns"===r&&(x[Qt(o)]=e,u=o),x[t]=e),y[s]=a;continue}h.push(s,a)}else-1!==(p=s.indexOf(":"))?(n=x[s.substring(0,p)])?((s=u===n?s.substr(p+1):n+s.substr(p))===Ut&&(a=-1!==(p=a.indexOf(":"))?(n=a.substring(0,p),(n=x[n]||n)+a.substring(p)):u+":"+a),y[s]=a):L(Xt(s.substring(0,p))):y[s]=a;else y[s]=a}if(N)for(m=0,d=h.length;m<d;m++){if(s=h[m++],a=h[m],-1!==(p=s.indexOf(":"))){if(!(n=x[s.substring(0,p)])){L(Xt(s.substring(0,p)));continue}(s=u===n?s.substr(p+1):n+s.substr(p))===Ut&&(a=-1!==(p=a.indexOf(":"))?(n=a.substring(0,p),(n=x[n]||n)+a.substring(p)):u+":"+a)}y[s]=a}return v=y}T=function(){for(var e,t=/(\r\n|\r|\n)/g,n=0,i=0,r=0,a=d;r<=f&&(e=t.exec(o))&&(a=e[0].length+e.index,!(f<a));)n+=1,r=a;return{data:-1==f?(i=a,o.substring(d)):0===d?(console.log(f-r),o.substring(d,f)):(i=f-r,-1==d?o.substring(f):o.substring(f,d+1)),line:n,column:i}},P&&(p=Object.create({},{name:Zt(function(){return s}),originalName:Zt(function(){return l}),attrs:Zt(y),ns:Zt(function(){return x})}));for(;-1!==d;){if(-1===(f=60===o.charCodeAt(d)?d:o.indexOf("<",d)))return u.length?B("unexpected end of file"):0===d?B("missing start tag"):d<o.length&&o.substring(d).trim()&&L(qt);if(d!==f)if(u.length){if(g&&(g(o.substring(d,f),$t,T),O))return}else if(o.substring(d,f).trim()&&(L(qt),O))return;if(33!==(r=o.charCodeAt(f+1)))if(63!==r){if(-1==(d=o.indexOf(">",f+1)))return B("unclosed tag");if(v={},47===r){if(m=!(h=!1),!u.length)return B("missing open tag");if(t=s=u.pop(),i=f+2+t.length,o.substring(f+2,i)!==t)return B("closing tag mismatch");for(;i<d;i++)if(!(32===(r=o.charCodeAt(i))||8<r&&r<14))return B("close tag")}else{if(m=47===o.charCodeAt(d-1)?(t=s=o.substring(f+1,d-1),h=!0):(t=s=o.substring(f+1,d),!(h=!0)),!(96<r&&r<123||64<r&&r<91||95===r||58===r))return B("illegal first char nodeName");for(i=1,n=t.length;i<n;i++)if(!(96<(r=t.charCodeAt(i))&&r<123||64<r&&r<91||47<r&&r<59||45===r||95===r||46==r)){if(32===r||r<14&&8<r){s=t.substring(0,i),v=null;break}return B("invalid nodeName")}m||u.push(s)}if(D){if(e=x,h&&(m||c.push(e),null===v&&(N=-1!==t.indexOf("xmlns",i))&&(w=i,E=t,y(),N=!1)),-1!==(r=(l=s).indexOf(":"))){if(!(a=x[s.substring(0,r)]))return B("missing namespace on <"+l+">");s=s.substr(r+1)}else a=x.xmlns;a&&(s=a+":"+s)}if(h&&(w=i,E=t,A&&(P?A(p,$t,m,T):A(s,y,$t,m,T),O)))return;if(m){if(_&&(_(P?p:s,$t,h,T),O))return;D&&(x=h?e:c.pop())}d+=1}else{if(-1===(d=o.indexOf("?>",f)))return B("unclosed question");if(C&&(C(o.substring(f,d+2),T),O))return;d+=2}else{if(91===(r=o.charCodeAt(f+2))&&"CDATA["===o.substr(f+3,6)){if(-1===(d=o.indexOf("]]>",f)))return B("unclosed cdata");if(S&&(S(o.substring(f+9,d),T),O))return;d+=3;continue}if(45===r&&45===o.charCodeAt(f+3)){if(-1===(d=o.indexOf("--\x3e",f)))return B("unclosed comment");if(R&&(R(o.substring(f+4,d),$t,T),O))return;d+=3;continue}if(-1===(d=o.indexOf(">",f+1)))return B("unclosed tag");if(M&&(M(o.substring(f,d+1),$t,T),O))return;d+=1}}}(e),T=en,O=!1,t},this.stop=function(){O=!0}}function rn(e){return e.xml&&"lowerCase"===e.xml.tagAlias}var an={xsi:"http://www.w3.org/2001/XMLSchema-instance"},on="xsi:type";function sn(e){return e.xml&&e.xml.serialize}function ln(e){return sn(e)===on}function pn(e,t){return rn(t)?e.prefix+":"+((n=e.localName).charAt(0).toUpperCase()+n.slice(1)):e.name;var n}function cn(e){return new Error(e)}function un(e){return e.$descriptor}function hn(e){N(this,e),this.elementsById={},this.references=[],this.warnings=[],this.addReference=function(e){this.references.push(e)},this.addElement=function(e){if(!e)throw cn("expected element");var t,n=this.elementsById,i=un(e).idProperty;if(i&&(t=e.get(i.name))){if(n[t])throw cn("duplicate ID <"+t+">");n[t]=e}},this.addWarning=function(e){this.warnings.push(e)}}function mn(){}function fn(){}function dn(){}function yn(e,t){this.property=e,this.context=t}function gn(e,t){this.element=t,this.propertyDesc=e}function vn(){}function xn(e,t,n){this.model=e,this.type=e.getType(t),this.context=n}function bn(e,t,n){xn.call(this,e,t,n)}function En(e,t,n){this.model=e,this.context=n}function wn(e){e instanceof It&&(e={model:e}),N(this,{lax:!1},e)}mn.prototype.handleEnd=function(){},mn.prototype.handleText=function(){},mn.prototype.handleNode=function(){},(fn.prototype=Object.create(mn.prototype)).handleNode=function(){return this},(dn.prototype=Object.create(mn.prototype)).handleText=function(e){this.body=(this.body||"")+e},(yn.prototype=Object.create(dn.prototype)).handleNode=function(e){if(this.element)throw cn("expected no sub nodes");return this.element=this.createReference(e),this},yn.prototype.handleEnd=function(){this.element.id=this.body},yn.prototype.createReference=function(e){return{property:this.property.ns.name,id:""}},(gn.prototype=Object.create(dn.prototype)).handleEnd=function(){var e=this.body||"",t=this.element,n=this.propertyDesc;e=Mt(n.type,e),n.isMany?t.get(n.name).push(e):t.set(n.name,e)},(vn.prototype=Object.create(dn.prototype)).handleNode=function(e){var t=this,n=this.element;return n?t=this.handleChild(e):(n=this.element=this.createElement(e),this.context.addElement(n)),t},(xn.prototype=Object.create(vn.prototype)).addReference=function(e){this.context.addReference(e)},xn.prototype.handleEnd=function(){var e=this.body,t=this.element,n=un(t).bodyProperty;n&&void 0!==e&&(e=Mt(n.type,e),t.set(n.name,e))},xn.prototype.createElement=function(e){var i,t=e.attributes,n=this.type,r=un(n),a=this.context,o=new n({}),s=this.model;return T(t,function(e,t){var n=r.propertiesByName[t];n&&n.isReference?n.isMany?T(e.split(" "),function(e){a.addReference({element:o,property:n.ns.name,id:e})}):a.addReference({element:o,property:n.ns.name,id:e}):(n?e=Mt(n.type,e):"xmlns"!==t&&(i=Tt(t,r.ns.prefix),s.getPackage(i.prefix)&&a.addWarning({message:"unknown attribute <"+t+">",element:o,property:t,value:e})),o.set(t,e))}),o},xn.prototype.getPropertyForNode=function(e){var t,n,i,r,a,o,s,l,p,c,u=Tt(e.name),h=this.type,m=this.model,f=un(h),d=u.name,y=f.propertiesByName[d];if(y)return ln(y)&&(t=e.attributes[on])?(i=m,p=Tt(t),c=i.getPackage(p.prefix),a=c,o=(r=p).name,s=r.localName,t=(l=a.xml&&a.xml.typePrefix)&&0===s.indexOf(l)?r.prefix+":"+s.slice(l.length):o,N({},y,{effectiveType:un(n=m.getType(t)).name})):y;var g=m.getPackage(u.prefix);if(g){if(t=pn(u,g),n=m.getType(t),y=k(f.properties,function(e){return!e.isVirtual&&!e.isReference&&!e.isAttribute&&n.hasType(e.type)}))return N({},y,{effectiveType:un(n).name})}else if(y=k(f.properties,function(e){return!e.isReference&&!e.isAttribute&&"Element"===e.type}))return y;throw cn("unrecognized element <"+u.name+">")},xn.prototype.toString=function(){return"ElementDescriptor["+un(this.type).name+"]"},xn.prototype.valueHandler=function(e,t){return new gn(e,t)},xn.prototype.referenceHandler=function(e){return new yn(e,this.context)},xn.prototype.handler=function(e){return"Element"===e?new En(this.model,e,this.context):new xn(this.model,e,this.context)},xn.prototype.handleChild=function(e){var t,n,i,r;if(t=this.getPropertyForNode(e),i=this.element,Pt(n=t.effectiveType||t.type))return this.valueHandler(t,i);var a=(r=t.isReference?this.referenceHandler(t).handleNode(e):this.handler(n).handleNode(e)).element;return void 0!==a&&(t.isMany?i.get(t.name).push(a):i.set(t.name,a),t.isReference?(N(a,{element:i}),this.context.addReference(a)):a.$parent=i),r},(bn.prototype=Object.create(xn.prototype)).createElement=function(e){var t=e.name,n=Tt(t),i=this.model,r=this.type,a=i.getPackage(n.prefix),o=a&&pn(n,a)||t;if(!r.hasType(o))throw cn("unexpected element <"+e.originalName+">");return xn.prototype.createElement.call(this,e)},(En.prototype=Object.create(vn.prototype)).createElement=function(e){var t=e.name,n=Tt(t).prefix,i=e.ns[n+"$uri"],r=e.attributes;return this.model.createAny(t,i,r)},En.prototype.handleChild=function(e){var t=new En(this.model,"Element",this.context).handleNode(e),n=this.element,i=t.element;return void 0!==i&&((n.$children=n.$children||[]).push(i),i.$parent=n),t},En.prototype.handleText=function(e){this.body=this.body||""+e},En.prototype.handleEnd=function(){this.body&&(this.element.$body=this.body)},wn.prototype.fromXML=function(n,e,i){var r=e.rootHandler;e instanceof xn?(r=e,e={}):"string"==typeof e?(r=this.handler(e),e={}):"string"==typeof r&&(r=this.handler(r));var t=this.model,o=this.lax,p=new hn(N({},e,{rootHandler:r})),a=new nn({proxy:!0}),s=new Ft;function l(e,t,n){var i=t(),r=i.line,a=i.column,o=i.data;"<"===o.charAt(0)&&-1!==o.indexOf(" ")&&(o=o.slice(0,o.indexOf(" "))+">");var s="unparsable content "+(o?o+" ":"")+"detected\n\tline: "+r+"\n\tcolumn: "+a+"\n\tnested error: "+e.message;if(n)return p.addWarning({message:s,error:e}),console.warn("could not parse node"),console.warn(e),!0;throw console.error("could not parse document"),console.error(e),cn(s)}r.context=p,s.push(r);var c=/^<\?xml /i,u=/ encoding="([^"]+)"/i,h=/^utf-8$/i;var m=t.getPackages().reduce(function(e,t){return e[t.uri]=t.prefix,e},{});a.ns(m).on("openTag",function(e,i,t,n){var r=e.attrs||{},a=Object.keys(r).reduce(function(e,t){var n=i(r[t]);return e[t]=n,e},{});!function(e,t){var n=s.peek();try{s.push(n.handleNode(e))}catch(e){l(e,t,o)&&s.push(new fn)}}({name:e.name,originalName:e.originalName,attributes:a,ns:e.ns},n)}).on("question",function(e){if(c.test(e)){var t=u.exec(e),n=t&&t[1];n&&!h.test(n)&&p.addWarning({message:"unsupported document encoding <"+n+">, falling back to UTF-8"})}}).on("closeTag",function(){s.pop().handleEnd()}).on("cdata",function(e){s.peek().handleText(e)}).on("text",function(e,t){var n;(n=(n=t(e)).trim())&&s.peek().handleText(n)}).on("error",l).on("warn",function(e,t){return l(e,t,!0)}),setTimeout(function(){var t;try{a.parse(n),function(){var e,t,n=p.elementsById,i=p.references;for(e=0;t=i[e];e++){var r=t.element,a=n[t.id],o=un(r).propertiesByName[t.property];if(a||p.addWarning({message:"unresolved reference <"+t.id+">",element:t.element,property:t.property,value:t.id}),o.isMany){var s=r.get(o.name),l=s.indexOf(t);-1===l&&(l=s.length),a?s[l]=a:s.splice(l,1)}else r.set(o.name,a)}}()}catch(e){t=e}var e=r.element;t||e||(t=cn("failed to parse document as <"+r.type.$descriptor.name+">")),i(t,t?void 0:e,p)},0)},wn.prototype.handler=function(e){return new bn(this.model,e)};var An=/<|>|'|"|&|\n\r|\n/g,_n=/<|>|&/g;function Sn(t){var n={},i={},r={},a=[],o=[];this.byUri=function(e){return i[e]||t&&t.byUri(e)},this.add=function(e,t){i[e.uri]=e,t?a.push(e):o.push(e),this.mapPrefix(e.prefix,e.uri)},this.uriByPrefix=function(e){return n[e||"xmlns"]},this.mapPrefix=function(e,t){n[e||"xmlns"]=t},this.logUsed=function(e){var t=e.uri;r[t]=this.byUri(t)},this.getUsed=function(e){return[].concat(a,o).filter(function(e){return r[e.uri]})}}function Rn(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}function Cn(e){return c(e)?e:(e.prefix?e.prefix+":":"")+e.localName}function Mn(e,t){return t.isGeneric?N({localName:t.ns.localName},e):N({localName:(n=t.ns.localName,i=t.$pkg,rn(i)?(r=n).charAt(0).toLowerCase()+r.slice(1):n)},e);var n,i,r}var kn={"\n":"#10","\n\r":"#10",'"':"#34","'":"#39","<":"#60",">":"#62","&":"#38"},Pn={"<":"lt",">":"gt","&":"amp"};function Tn(e,t,n){return(e=c(e)?e:""+e).replace(t,function(e){return"&"+n[e]+";"})}function Nn(e){this.tagName=e}function Dn(){}function On(e){this.tagName=e}function Bn(e,t){this.body=[],this.attrs=[],this.parent=e,this.propertyDescriptor=t}function Ln(e,t){Bn.call(this,e,t)}function In(){this.value="",this.write=function(e){this.value+=e}}function Fn(t,e){var n=[""];this.append=function(e){return t.write(e),this},this.appendNewLine=function(){return e&&t.write("\n"),this},this.appendIndent=function(){return e&&t.write(n.join(" ")),this},this.indent=function(){return n.push(""),this},this.unindent=function(){return n.pop(),this}}function jn(r){return r=N({format:!1,preamble:!0},r||{}),{toXML:function(e,t){var n=t||new In,i=new Fn(n,r.format);if(r.preamble&&i.append('<?xml version="1.0" encoding="UTF-8"?>\n'),(new Bn).build(e).serializeTo(i),!t)return n.value}}}function Vn(e,t){It.call(this,e,t)}Nn.prototype.build=function(e){return this.element=e,this},Nn.prototype.serializeTo=function(e){e.appendIndent().append("<"+this.tagName+">"+this.element.id+"</"+this.tagName+">").appendNewLine()},Dn.prototype.serializeValue=Dn.prototype.serializeTo=function(e){e.append(this.escape?Tn(this.value,_n,Pn):this.value)},Dn.prototype.build=function(e,t){return this.value=t,"String"===e.type&&-1!==t.search(_n)&&(this.escape=!0),this},Rn(On,Dn),On.prototype.serializeTo=function(e){e.appendIndent().append("<"+this.tagName+">"),this.serializeValue(e),e.append("</"+this.tagName+">").appendNewLine()},Bn.prototype.build=function(e){var t,n,i,r=(this.element=e).$descriptor,a=this.propertyDescriptor,o=r.isGeneric;return t=o?this.parseGeneric(e):this.parseNsAttributes(e),this.ns=a?this.nsPropertyTagName(a):this.nsTagName(r),this.tagName=this.addTagName(this.ns),o||(n=P((i=e).$descriptor.properties,function(e){var t=e.name;if(e.isVirtual)return!1;if(!i.hasOwnProperty(t))return!1;var n=i[t];return n!==e.default&&null!==n&&(!e.isMany||n.length)}),this.parseAttributes(P(n,function(e){return e.isAttr})),this.parseContainments(P(n,function(e){return!e.isAttr}))),this.parseGenericAttributes(e,t),this},Bn.prototype.nsTagName=function(e){return Mn(this.logNamespaceUsed(e.ns),e)},Bn.prototype.nsPropertyTagName=function(e){var t,n=this.logNamespaceUsed(e.ns);return t=n,N({localName:e.ns.localName},t)},Bn.prototype.isLocalNs=function(e){return e.uri===this.ns.uri},Bn.prototype.nsAttributeName=function(e){var t;if(t=c(e)?Tt(e):e.ns,e.inherited)return{localName:t.localName};var n=this.logNamespaceUsed(t);return this.getNamespaces().logUsed(n),this.isLocalNs(n)?{localName:t.localName}:N({localName:t.localName},n)},Bn.prototype.parseGeneric=function(n){var i=this,r=this.body,a=[];return T(n,function(e,t){"$body"===t?r.push((new Dn).build({type:"String"},e)):"$children"===t?T(e,function(e){r.push(new Bn(i).build(e))}):0!==t.indexOf("$")&&i.parseNsAttribute(n,t,e)&&a.push({name:t,value:e})}),a},Bn.prototype.parseNsAttribute=function(e,t,n){var i,r=e.$model,a=Tt(t);if("xmlns"===a.prefix&&(i={prefix:a.localName,uri:n}),a.prefix||"xmlns"!==a.localName||(i={uri:n}),!i)return{name:t,value:n};if(r&&r.getPackage(n))this.logNamespace(i,!0,!0);else{var o=this.logNamespaceUsed(i,!0);this.getNamespaces().logUsed(o)}},Bn.prototype.parseNsAttributes=function(i,e){var r=this,t=i.$attrs,a=[];return T(t,function(e,t){var n=r.parseNsAttribute(i,t,e);n&&a.push(n)}),a},Bn.prototype.parseGenericAttributes=function(n,e){var i=this;T(e,function(t){if(t.name!==on)try{i.addAttribute(i.nsAttributeName(t.name),t.value)}catch(e){console.warn("missing namespace information for ",t.name,"=",t.value,"on",n,e)}})},Bn.prototype.parseContainments=function(e){var a=this,o=this.body,s=this.element;T(e,function(n){var e=s.get(n.name),t=n.isReference;if(n.isMany||(e=[e]),n.isBody)o.push((new Dn).build(n,e[0]));else if(Pt(n.type))T(e,function(e){o.push(new On(a.addTagName(a.nsPropertyTagName(n))).build(n,e))});else if(t)T(e,function(e){o.push(new Nn(a.addTagName(a.nsPropertyTagName(n))).build(e))});else{var i=ln(n),r="property"===sn(n);T(e,function(e){var t;t=i?new Ln(a,n):r?new Bn(a,n):new Bn(a),o.push(t.build(e))})}})},Bn.prototype.getNamespaces=function(e){var t,n=this.namespaces,i=this.parent;return n||(t=i&&i.getNamespaces(),e||!t?this.namespaces=n=new Sn(t):n=t),n},Bn.prototype.logNamespace=function(e,t,n){var i=this.getNamespaces(n),r=e.uri,a=e.prefix;return i.byUri(r)||i.add(e,t),i.mapPrefix(a,r),e},Bn.prototype.logNamespaceUsed=function(e,t){var n,i,r,a=this.element.$model,o=this.getNamespaces(t),s=e.prefix,l=e.uri;if(!s&&!l)return{localName:e.localName};if(r=an[s]||a&&(a.getPackage(s)||{}).uri,!(l=l||r||o.uriByPrefix(s)))throw new Error("no namespace uri given for prefix <"+s+">");if(!(e=o.byUri(l))){for(n=s,i=1;o.uriByPrefix(n);)n=s+"_"+i++;e=this.logNamespace({prefix:n,uri:l},r===l)}return s&&o.mapPrefix(s,l),e},Bn.prototype.parseAttributes=function(e){var i=this,r=this.element;T(e,function(e){var t=r.get(e.name);if(e.isReference)if(e.isMany){var n=[];T(t,function(e){n.push(e.id)}),t=n.join(" ")}else t=t.id;i.addAttribute(i.nsAttributeName(e),t)})},Bn.prototype.addTagName=function(e){var t=this.logNamespaceUsed(e);return this.getNamespaces().logUsed(t),Cn(e)},Bn.prototype.addAttribute=function(e,t){var n=this.attrs;c(t)&&(t=Tn(t,An,kn)),n.push({name:e,value:t})},Bn.prototype.serializeAttributes=function(t){var e,n=this.attrs,i=this.namespaces;i&&(n=(e=i,g(e.getUsed(),function(e){return{name:"xmlns"+(e.prefix?":"+e.prefix:""),value:e.uri}})).concat(n)),T(n,function(e){t.append(" ").append(Cn(e.name)).append('="').append(e.value).append('"')})},Bn.prototype.serializeTo=function(t){var e=this.body[0],n=e&&e.constructor!==Dn;t.appendIndent().append("<"+this.tagName),this.serializeAttributes(t),t.append(e?">":" />"),e&&(n&&t.appendNewLine().indent(),T(this.body,function(e){e.serializeTo(t)}),n&&t.unindent().appendIndent(),t.append("</"+this.tagName+">")),t.appendNewLine()},Rn(Ln,Bn),Ln.prototype.parseNsAttributes=function(e){var t=Bn.prototype.parseNsAttributes.call(this,e),n=e.$descriptor;if(n.name===this.propertyDescriptor.type)return t;var i=this.typeNs=this.nsTagName(n);this.getNamespaces().logUsed(this.typeNs);var r=e.$model.getPackage(i.uri),a=r.xml&&r.xml.typePrefix||"";return this.addAttribute(this.nsAttributeName(on),(i.prefix?i.prefix+":":"")+a+n.ns.localName),t},Ln.prototype.isLocalNs=function(e){return e.uri===(this.typeNs||this.ns).uri},(Vn.prototype=Object.create(It.prototype)).fromXML=function(e,t,n,i){c(t)||(i=n,n=t,t="bpmn:Definitions"),p(n)&&(i=n,n={});var r=new wn(N({model:this,lax:!0},n)),a=r.handler(t);r.fromXML(e,a,i)};Vn.prototype.toXML=function(e,t,n){p(t)&&(n=t,t={});var i,r,a=new jn(t);try{i=a.toXML(e)}catch(e){r=e}return n(r,i)};var Wn={bpmn:{name:"BPMN20",uri:"http://www.omg.org/spec/BPMN/20100524/MODEL",associations:[],types:[{name:"Interface",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"operations",type:"Operation",isMany:!0},{name:"implementationRef",type:"String",isAttr:!0}]},{name:"Operation",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"inMessageRef",type:"Message",isReference:!0},{name:"outMessageRef",type:"Message",isReference:!0},{name:"errorRef",type:"Error",isMany:!0,isReference:!0},{name:"implementationRef",type:"String",isAttr:!0}]},{name:"EndPoint",superClass:["RootElement"]},{name:"Auditing",superClass:["BaseElement"]},{name:"GlobalTask",superClass:["CallableElement"],properties:[{name:"resources",type:"ResourceRole",isMany:!0}]},{name:"Monitoring",superClass:["BaseElement"]},{name:"Performer",superClass:["ResourceRole"]},{name:"Process",superClass:["FlowElementsContainer","CallableElement"],properties:[{name:"processType",type:"ProcessType",isAttr:!0},{name:"isClosed",isAttr:!0,type:"Boolean"},{name:"auditing",type:"Auditing"},{name:"monitoring",type:"Monitoring"},{name:"properties",type:"Property",isMany:!0},{name:"laneSets",type:"LaneSet",isMany:!0,replaces:"FlowElementsContainer#laneSets"},{name:"flowElements",type:"FlowElement",isMany:!0,replaces:"FlowElementsContainer#flowElements"},{name:"artifacts",type:"Artifact",isMany:!0},{name:"resources",type:"ResourceRole",isMany:!0},{name:"correlationSubscriptions",type:"CorrelationSubscription",isMany:!0},{name:"supports",type:"Process",isMany:!0,isReference:!0},{name:"definitionalCollaborationRef",type:"Collaboration",isAttr:!0,isReference:!0},{name:"isExecutable",isAttr:!0,type:"Boolean"}]},{name:"LaneSet",superClass:["BaseElement"],properties:[{name:"lanes",type:"Lane",isMany:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"Lane",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"partitionElementRef",type:"BaseElement",isAttr:!0,isReference:!0},{name:"partitionElement",type:"BaseElement"},{name:"flowNodeRef",type:"FlowNode",isMany:!0,isReference:!0},{name:"childLaneSet",type:"LaneSet",xml:{serialize:"xsi:type"}}]},{name:"GlobalManualTask",superClass:["GlobalTask"]},{name:"ManualTask",superClass:["Task"]},{name:"UserTask",superClass:["Task"],properties:[{name:"renderings",type:"Rendering",isMany:!0},{name:"implementation",isAttr:!0,type:"String"}]},{name:"Rendering",superClass:["BaseElement"]},{name:"HumanPerformer",superClass:["Performer"]},{name:"PotentialOwner",superClass:["HumanPerformer"]},{name:"GlobalUserTask",superClass:["GlobalTask"],properties:[{name:"implementation",isAttr:!0,type:"String"},{name:"renderings",type:"Rendering",isMany:!0}]},{name:"Gateway",isAbstract:!0,superClass:["FlowNode"],properties:[{name:"gatewayDirection",type:"GatewayDirection",default:"Unspecified",isAttr:!0}]},{name:"EventBasedGateway",superClass:["Gateway"],properties:[{name:"instantiate",default:!1,isAttr:!0,type:"Boolean"},{name:"eventGatewayType",type:"EventBasedGatewayType",isAttr:!0,default:"Exclusive"}]},{name:"ComplexGateway",superClass:["Gateway"],properties:[{name:"activationCondition",type:"Expression",xml:{serialize:"xsi:type"}},{name:"default",type:"SequenceFlow",isAttr:!0,isReference:!0}]},{name:"ExclusiveGateway",superClass:["Gateway"],properties:[{name:"default",type:"SequenceFlow",isAttr:!0,isReference:!0}]},{name:"InclusiveGateway",superClass:["Gateway"],properties:[{name:"default",type:"SequenceFlow",isAttr:!0,isReference:!0}]},{name:"ParallelGateway",superClass:["Gateway"]},{name:"RootElement",isAbstract:!0,superClass:["BaseElement"]},{name:"Relationship",superClass:["BaseElement"],properties:[{name:"type",isAttr:!0,type:"String"},{name:"direction",type:"RelationshipDirection",isAttr:!0},{name:"source",isMany:!0,isReference:!0,type:"Element"},{name:"target",isMany:!0,isReference:!0,type:"Element"}]},{name:"BaseElement",isAbstract:!0,properties:[{name:"id",isAttr:!0,type:"String",isId:!0},{name:"documentation",type:"Documentation",isMany:!0},{name:"extensionDefinitions",type:"ExtensionDefinition",isMany:!0,isReference:!0},{name:"extensionElements",type:"ExtensionElements"}]},{name:"Extension",properties:[{name:"mustUnderstand",default:!1,isAttr:!0,type:"Boolean"},{name:"definition",type:"ExtensionDefinition",isAttr:!0,isReference:!0}]},{name:"ExtensionDefinition",properties:[{name:"name",isAttr:!0,type:"String"},{name:"extensionAttributeDefinitions",type:"ExtensionAttributeDefinition",isMany:!0}]},{name:"ExtensionAttributeDefinition",properties:[{name:"name",isAttr:!0,type:"String"},{name:"type",isAttr:!0,type:"String"},{name:"isReference",default:!1,isAttr:!0,type:"Boolean"},{name:"extensionDefinition",type:"ExtensionDefinition",isAttr:!0,isReference:!0}]},{name:"ExtensionElements",properties:[{name:"valueRef",isAttr:!0,isReference:!0,type:"Element"},{name:"values",type:"Element",isMany:!0},{name:"extensionAttributeDefinition",type:"ExtensionAttributeDefinition",isAttr:!0,isReference:!0}]},{name:"Documentation",superClass:["BaseElement"],properties:[{name:"text",type:"String",isBody:!0},{name:"textFormat",default:"text/plain",isAttr:!0,type:"String"}]},{name:"Event",isAbstract:!0,superClass:["FlowNode","InteractionNode"],properties:[{name:"properties",type:"Property",isMany:!0}]},{name:"IntermediateCatchEvent",superClass:["CatchEvent"]},{name:"IntermediateThrowEvent",superClass:["ThrowEvent"]},{name:"EndEvent",superClass:["ThrowEvent"]},{name:"StartEvent",superClass:["CatchEvent"],properties:[{name:"isInterrupting",default:!0,isAttr:!0,type:"Boolean"}]},{name:"ThrowEvent",isAbstract:!0,superClass:["Event"],properties:[{name:"dataInputs",type:"DataInput",isMany:!0},{name:"dataInputAssociations",type:"DataInputAssociation",isMany:!0},{name:"inputSet",type:"InputSet"},{name:"eventDefinitions",type:"EventDefinition",isMany:!0},{name:"eventDefinitionRef",type:"EventDefinition",isMany:!0,isReference:!0}]},{name:"CatchEvent",isAbstract:!0,superClass:["Event"],properties:[{name:"parallelMultiple",isAttr:!0,type:"Boolean",default:!1},{name:"dataOutputs",type:"DataOutput",isMany:!0},{name:"dataOutputAssociations",type:"DataOutputAssociation",isMany:!0},{name:"outputSet",type:"OutputSet"},{name:"eventDefinitions",type:"EventDefinition",isMany:!0},{name:"eventDefinitionRef",type:"EventDefinition",isMany:!0,isReference:!0}]},{name:"BoundaryEvent",superClass:["CatchEvent"],properties:[{name:"cancelActivity",default:!0,isAttr:!0,type:"Boolean"},{name:"attachedToRef",type:"Activity",isAttr:!0,isReference:!0}]},{name:"EventDefinition",isAbstract:!0,superClass:["RootElement"]},{name:"CancelEventDefinition",superClass:["EventDefinition"]},{name:"ErrorEventDefinition",superClass:["EventDefinition"],properties:[{name:"errorRef",type:"Error",isAttr:!0,isReference:!0}]},{name:"TerminateEventDefinition",superClass:["EventDefinition"]},{name:"EscalationEventDefinition",superClass:["EventDefinition"],properties:[{name:"escalationRef",type:"Escalation",isAttr:!0,isReference:!0}]},{name:"Escalation",properties:[{name:"structureRef",type:"ItemDefinition",isAttr:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"},{name:"escalationCode",isAttr:!0,type:"String"}],superClass:["RootElement"]},{name:"CompensateEventDefinition",superClass:["EventDefinition"],properties:[{name:"waitForCompletion",isAttr:!0,type:"Boolean",default:!0},{name:"activityRef",type:"Activity",isAttr:!0,isReference:!0}]},{name:"TimerEventDefinition",superClass:["EventDefinition"],properties:[{name:"timeDate",type:"Expression",xml:{serialize:"xsi:type"}},{name:"timeCycle",type:"Expression",xml:{serialize:"xsi:type"}},{name:"timeDuration",type:"Expression",xml:{serialize:"xsi:type"}}]},{name:"LinkEventDefinition",superClass:["EventDefinition"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"target",type:"LinkEventDefinition",isAttr:!0,isReference:!0},{name:"source",type:"LinkEventDefinition",isMany:!0,isReference:!0}]},{name:"MessageEventDefinition",superClass:["EventDefinition"],properties:[{name:"messageRef",type:"Message",isAttr:!0,isReference:!0},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0}]},{name:"ConditionalEventDefinition",superClass:["EventDefinition"],properties:[{name:"condition",type:"Expression",xml:{serialize:"xsi:type"}}]},{name:"SignalEventDefinition",superClass:["EventDefinition"],properties:[{name:"signalRef",type:"Signal",isAttr:!0,isReference:!0}]},{name:"Signal",superClass:["RootElement"],properties:[{name:"structureRef",type:"ItemDefinition",isAttr:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"ImplicitThrowEvent",superClass:["ThrowEvent"]},{name:"DataState",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"}]},{name:"ItemAwareElement",superClass:["BaseElement"],properties:[{name:"itemSubjectRef",type:"ItemDefinition",isAttr:!0,isReference:!0},{name:"dataState",type:"DataState"}]},{name:"DataAssociation",superClass:["BaseElement"],properties:[{name:"assignment",type:"Assignment",isMany:!0},{name:"sourceRef",type:"ItemAwareElement",isMany:!0,isReference:!0},{name:"targetRef",type:"ItemAwareElement",isReference:!0},{name:"transformation",type:"FormalExpression",xml:{serialize:"property"}}]},{name:"DataInput",superClass:["ItemAwareElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"isCollection",default:!1,isAttr:!0,type:"Boolean"},{name:"inputSetRef",type:"InputSet",isVirtual:!0,isMany:!0,isReference:!0},{name:"inputSetWithOptional",type:"InputSet",isVirtual:!0,isMany:!0,isReference:!0},{name:"inputSetWithWhileExecuting",type:"InputSet",isVirtual:!0,isMany:!0,isReference:!0}]},{name:"DataOutput",superClass:["ItemAwareElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"isCollection",default:!1,isAttr:!0,type:"Boolean"},{name:"outputSetRef",type:"OutputSet",isVirtual:!0,isMany:!0,isReference:!0},{name:"outputSetWithOptional",type:"OutputSet",isVirtual:!0,isMany:!0,isReference:!0},{name:"outputSetWithWhileExecuting",type:"OutputSet",isVirtual:!0,isMany:!0,isReference:!0}]},{name:"InputSet",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"dataInputRefs",type:"DataInput",isMany:!0,isReference:!0},{name:"optionalInputRefs",type:"DataInput",isMany:!0,isReference:!0},{name:"whileExecutingInputRefs",type:"DataInput",isMany:!0,isReference:!0},{name:"outputSetRefs",type:"OutputSet",isMany:!0,isReference:!0}]},{name:"OutputSet",superClass:["BaseElement"],properties:[{name:"dataOutputRefs",type:"DataOutput",isMany:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"},{name:"inputSetRefs",type:"InputSet",isMany:!0,isReference:!0},{name:"optionalOutputRefs",type:"DataOutput",isMany:!0,isReference:!0},{name:"whileExecutingOutputRefs",type:"DataOutput",isMany:!0,isReference:!0}]},{name:"Property",superClass:["ItemAwareElement"],properties:[{name:"name",isAttr:!0,type:"String"}]},{name:"DataInputAssociation",superClass:["DataAssociation"]},{name:"DataOutputAssociation",superClass:["DataAssociation"]},{name:"InputOutputSpecification",superClass:["BaseElement"],properties:[{name:"dataInputs",type:"DataInput",isMany:!0},{name:"dataOutputs",type:"DataOutput",isMany:!0},{name:"inputSets",type:"InputSet",isMany:!0},{name:"outputSets",type:"OutputSet",isMany:!0}]},{name:"DataObject",superClass:["FlowElement","ItemAwareElement"],properties:[{name:"isCollection",default:!1,isAttr:!0,type:"Boolean"}]},{name:"InputOutputBinding",properties:[{name:"inputDataRef",type:"InputSet",isAttr:!0,isReference:!0},{name:"outputDataRef",type:"OutputSet",isAttr:!0,isReference:!0},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0}]},{name:"Assignment",superClass:["BaseElement"],properties:[{name:"from",type:"Expression",xml:{serialize:"xsi:type"}},{name:"to",type:"Expression",xml:{serialize:"xsi:type"}}]},{name:"DataStore",superClass:["RootElement","ItemAwareElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"capacity",isAttr:!0,type:"Integer"},{name:"isUnlimited",default:!0,isAttr:!0,type:"Boolean"}]},{name:"DataStoreReference",superClass:["ItemAwareElement","FlowElement"],properties:[{name:"dataStoreRef",type:"DataStore",isAttr:!0,isReference:!0}]},{name:"DataObjectReference",superClass:["ItemAwareElement","FlowElement"],properties:[{name:"dataObjectRef",type:"DataObject",isAttr:!0,isReference:!0}]},{name:"ConversationLink",superClass:["BaseElement"],properties:[{name:"sourceRef",type:"InteractionNode",isAttr:!0,isReference:!0},{name:"targetRef",type:"InteractionNode",isAttr:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"ConversationAssociation",superClass:["BaseElement"],properties:[{name:"innerConversationNodeRef",type:"ConversationNode",isAttr:!0,isReference:!0},{name:"outerConversationNodeRef",type:"ConversationNode",isAttr:!0,isReference:!0}]},{name:"CallConversation",superClass:["ConversationNode"],properties:[{name:"calledCollaborationRef",type:"Collaboration",isAttr:!0,isReference:!0},{name:"participantAssociations",type:"ParticipantAssociation",isMany:!0}]},{name:"Conversation",superClass:["ConversationNode"]},{name:"SubConversation",superClass:["ConversationNode"],properties:[{name:"conversationNodes",type:"ConversationNode",isMany:!0}]},{name:"ConversationNode",isAbstract:!0,superClass:["InteractionNode","BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"participantRef",type:"Participant",isMany:!0,isReference:!0},{name:"messageFlowRefs",type:"MessageFlow",isMany:!0,isReference:!0},{name:"correlationKeys",type:"CorrelationKey",isMany:!0}]},{name:"GlobalConversation",superClass:["Collaboration"]},{name:"PartnerEntity",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"participantRef",type:"Participant",isMany:!0,isReference:!0}]},{name:"PartnerRole",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"participantRef",type:"Participant",isMany:!0,isReference:!0}]},{name:"CorrelationProperty",superClass:["RootElement"],properties:[{name:"correlationPropertyRetrievalExpression",type:"CorrelationPropertyRetrievalExpression",isMany:!0},{name:"name",isAttr:!0,type:"String"},{name:"type",type:"ItemDefinition",isAttr:!0,isReference:!0}]},{name:"Error",superClass:["RootElement"],properties:[{name:"structureRef",type:"ItemDefinition",isAttr:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"},{name:"errorCode",isAttr:!0,type:"String"}]},{name:"CorrelationKey",superClass:["BaseElement"],properties:[{name:"correlationPropertyRef",type:"CorrelationProperty",isMany:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"Expression",superClass:["BaseElement"],isAbstract:!1,properties:[{name:"body",type:"String",isBody:!0}]},{name:"FormalExpression",superClass:["Expression"],properties:[{name:"language",isAttr:!0,type:"String"},{name:"evaluatesToTypeRef",type:"ItemDefinition",isAttr:!0,isReference:!0}]},{name:"Message",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"itemRef",type:"ItemDefinition",isAttr:!0,isReference:!0}]},{name:"ItemDefinition",superClass:["RootElement"],properties:[{name:"itemKind",type:"ItemKind",isAttr:!0},{name:"structureRef",type:"String",isAttr:!0},{name:"isCollection",default:!1,isAttr:!0,type:"Boolean"},{name:"import",type:"Import",isAttr:!0,isReference:!0}]},{name:"FlowElement",isAbstract:!0,superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"auditing",type:"Auditing"},{name:"monitoring",type:"Monitoring"},{name:"categoryValueRef",type:"CategoryValue",isMany:!0,isReference:!0}]},{name:"SequenceFlow",superClass:["FlowElement"],properties:[{name:"isImmediate",isAttr:!0,type:"Boolean"},{name:"conditionExpression",type:"Expression",xml:{serialize:"xsi:type"}},{name:"sourceRef",type:"FlowNode",isAttr:!0,isReference:!0},{name:"targetRef",type:"FlowNode",isAttr:!0,isReference:!0}]},{name:"FlowElementsContainer",isAbstract:!0,superClass:["BaseElement"],properties:[{name:"laneSets",type:"LaneSet",isMany:!0},{name:"flowElements",type:"FlowElement",isMany:!0}]},{name:"CallableElement",isAbstract:!0,superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"ioSpecification",type:"InputOutputSpecification",xml:{serialize:"property"}},{name:"supportedInterfaceRef",type:"Interface",isMany:!0,isReference:!0},{name:"ioBinding",type:"InputOutputBinding",isMany:!0,xml:{serialize:"property"}}]},{name:"FlowNode",isAbstract:!0,superClass:["FlowElement"],properties:[{name:"incoming",type:"SequenceFlow",isMany:!0,isReference:!0},{name:"outgoing",type:"SequenceFlow",isMany:!0,isReference:!0},{name:"lanes",type:"Lane",isVirtual:!0,isMany:!0,isReference:!0}]},{name:"CorrelationPropertyRetrievalExpression",superClass:["BaseElement"],properties:[{name:"messagePath",type:"FormalExpression"},{name:"messageRef",type:"Message",isAttr:!0,isReference:!0}]},{name:"CorrelationPropertyBinding",superClass:["BaseElement"],properties:[{name:"dataPath",type:"FormalExpression"},{name:"correlationPropertyRef",type:"CorrelationProperty",isAttr:!0,isReference:!0}]},{name:"Resource",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"resourceParameters",type:"ResourceParameter",isMany:!0}]},{name:"ResourceParameter",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"isRequired",isAttr:!0,type:"Boolean"},{name:"type",type:"ItemDefinition",isAttr:!0,isReference:!0}]},{name:"CorrelationSubscription",superClass:["BaseElement"],properties:[{name:"correlationKeyRef",type:"CorrelationKey",isAttr:!0,isReference:!0},{name:"correlationPropertyBinding",type:"CorrelationPropertyBinding",isMany:!0}]},{name:"MessageFlow",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"sourceRef",type:"InteractionNode",isAttr:!0,isReference:!0},{name:"targetRef",type:"InteractionNode",isAttr:!0,isReference:!0},{name:"messageRef",type:"Message",isAttr:!0,isReference:!0}]},{name:"MessageFlowAssociation",superClass:["BaseElement"],properties:[{name:"innerMessageFlowRef",type:"MessageFlow",isAttr:!0,isReference:!0},{name:"outerMessageFlowRef",type:"MessageFlow",isAttr:!0,isReference:!0}]},{name:"InteractionNode",isAbstract:!0,properties:[{name:"incomingConversationLinks",type:"ConversationLink",isVirtual:!0,isMany:!0,isReference:!0},{name:"outgoingConversationLinks",type:"ConversationLink",isVirtual:!0,isMany:!0,isReference:!0}]},{name:"Participant",superClass:["InteractionNode","BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"interfaceRef",type:"Interface",isMany:!0,isReference:!0},{name:"participantMultiplicity",type:"ParticipantMultiplicity"},{name:"endPointRefs",type:"EndPoint",isMany:!0,isReference:!0},{name:"processRef",type:"Process",isAttr:!0,isReference:!0}]},{name:"ParticipantAssociation",superClass:["BaseElement"],properties:[{name:"innerParticipantRef",type:"Participant",isAttr:!0,isReference:!0},{name:"outerParticipantRef",type:"Participant",isAttr:!0,isReference:!0}]},{name:"ParticipantMultiplicity",properties:[{name:"minimum",default:0,isAttr:!0,type:"Integer"},{name:"maximum",default:1,isAttr:!0,type:"Integer"}],superClass:["BaseElement"]},{name:"Collaboration",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"isClosed",isAttr:!0,type:"Boolean"},{name:"participants",type:"Participant",isMany:!0},{name:"messageFlows",type:"MessageFlow",isMany:!0},{name:"artifacts",type:"Artifact",isMany:!0},{name:"conversations",type:"ConversationNode",isMany:!0},{name:"conversationAssociations",type:"ConversationAssociation"},{name:"participantAssociations",type:"ParticipantAssociation",isMany:!0},{name:"messageFlowAssociations",type:"MessageFlowAssociation",isMany:!0},{name:"correlationKeys",type:"CorrelationKey",isMany:!0},{name:"choreographyRef",type:"Choreography",isMany:!0,isReference:!0},{name:"conversationLinks",type:"ConversationLink",isMany:!0}]},{name:"ChoreographyActivity",isAbstract:!0,superClass:["FlowNode"],properties:[{name:"participantRef",type:"Participant",isMany:!0,isReference:!0},{name:"initiatingParticipantRef",type:"Participant",isAttr:!0,isReference:!0},{name:"correlationKeys",type:"CorrelationKey",isMany:!0},{name:"loopType",type:"ChoreographyLoopType",default:"None",isAttr:!0}]},{name:"CallChoreography",superClass:["ChoreographyActivity"],properties:[{name:"calledChoreographyRef",type:"Choreography",isAttr:!0,isReference:!0},{name:"participantAssociations",type:"ParticipantAssociation",isMany:!0}]},{name:"SubChoreography",superClass:["ChoreographyActivity","FlowElementsContainer"],properties:[{name:"artifacts",type:"Artifact",isMany:!0}]},{name:"ChoreographyTask",superClass:["ChoreographyActivity"],properties:[{name:"messageFlowRef",type:"MessageFlow",isMany:!0,isReference:!0}]},{name:"Choreography",superClass:["Collaboration","FlowElementsContainer"]},{name:"GlobalChoreographyTask",superClass:["Choreography"],properties:[{name:"initiatingParticipantRef",type:"Participant",isAttr:!0,isReference:!0}]},{name:"TextAnnotation",superClass:["Artifact"],properties:[{name:"text",type:"String"},{name:"textFormat",default:"text/plain",isAttr:!0,type:"String"}]},{name:"Group",superClass:["Artifact"],properties:[{name:"categoryValueRef",type:"CategoryValue",isAttr:!0,isReference:!0}]},{name:"Association",superClass:["Artifact"],properties:[{name:"associationDirection",type:"AssociationDirection",isAttr:!0},{name:"sourceRef",type:"BaseElement",isAttr:!0,isReference:!0},{name:"targetRef",type:"BaseElement",isAttr:!0,isReference:!0}]},{name:"Category",superClass:["RootElement"],properties:[{name:"categoryValue",type:"CategoryValue",isMany:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"Artifact",isAbstract:!0,superClass:["BaseElement"]},{name:"CategoryValue",superClass:["BaseElement"],properties:[{name:"categorizedFlowElements",type:"FlowElement",isVirtual:!0,isMany:!0,isReference:!0},{name:"value",isAttr:!0,type:"String"}]},{name:"Activity",isAbstract:!0,superClass:["FlowNode"],properties:[{name:"isForCompensation",default:!1,isAttr:!0,type:"Boolean"},{name:"default",type:"SequenceFlow",isAttr:!0,isReference:!0},{name:"ioSpecification",type:"InputOutputSpecification",xml:{serialize:"property"}},{name:"boundaryEventRefs",type:"BoundaryEvent",isMany:!0,isReference:!0},{name:"properties",type:"Property",isMany:!0},{name:"dataInputAssociations",type:"DataInputAssociation",isMany:!0},{name:"dataOutputAssociations",type:"DataOutputAssociation",isMany:!0},{name:"startQuantity",default:1,isAttr:!0,type:"Integer"},{name:"resources",type:"ResourceRole",isMany:!0},{name:"completionQuantity",default:1,isAttr:!0,type:"Integer"},{name:"loopCharacteristics",type:"LoopCharacteristics"}]},{name:"ServiceTask",superClass:["Task"],properties:[{name:"implementation",isAttr:!0,type:"String"},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0}]},{name:"SubProcess",superClass:["Activity","FlowElementsContainer","InteractionNode"],properties:[{name:"triggeredByEvent",default:!1,isAttr:!0,type:"Boolean"},{name:"artifacts",type:"Artifact",isMany:!0}]},{name:"LoopCharacteristics",isAbstract:!0,superClass:["BaseElement"]},{name:"MultiInstanceLoopCharacteristics",superClass:["LoopCharacteristics"],properties:[{name:"isSequential",default:!1,isAttr:!0,type:"Boolean"},{name:"behavior",type:"MultiInstanceBehavior",default:"All",isAttr:!0},{name:"loopCardinality",type:"Expression",xml:{serialize:"xsi:type"}},{name:"loopDataInputRef",type:"ItemAwareElement",isReference:!0},{name:"loopDataOutputRef",type:"ItemAwareElement",isReference:!0},{name:"inputDataItem",type:"DataInput",xml:{serialize:"property"}},{name:"outputDataItem",type:"DataOutput",xml:{serialize:"property"}},{name:"complexBehaviorDefinition",type:"ComplexBehaviorDefinition",isMany:!0},{name:"completionCondition",type:"Expression",xml:{serialize:"xsi:type"}},{name:"oneBehaviorEventRef",type:"EventDefinition",isAttr:!0,isReference:!0},{name:"noneBehaviorEventRef",type:"EventDefinition",isAttr:!0,isReference:!0}]},{name:"StandardLoopCharacteristics",superClass:["LoopCharacteristics"],properties:[{name:"testBefore",default:!1,isAttr:!0,type:"Boolean"},{name:"loopCondition",type:"Expression",xml:{serialize:"xsi:type"}},{name:"loopMaximum",type:"Integer",isAttr:!0}]},{name:"CallActivity",superClass:["Activity"],properties:[{name:"calledElement",type:"String",isAttr:!0}]},{name:"Task",superClass:["Activity","InteractionNode"]},{name:"SendTask",superClass:["Task"],properties:[{name:"implementation",isAttr:!0,type:"String"},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0},{name:"messageRef",type:"Message",isAttr:!0,isReference:!0}]},{name:"ReceiveTask",superClass:["Task"],properties:[{name:"implementation",isAttr:!0,type:"String"},{name:"instantiate",default:!1,isAttr:!0,type:"Boolean"},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0},{name:"messageRef",type:"Message",isAttr:!0,isReference:!0}]},{name:"ScriptTask",superClass:["Task"],properties:[{name:"scriptFormat",isAttr:!0,type:"String"},{name:"script",type:"String"}]},{name:"BusinessRuleTask",superClass:["Task"],properties:[{name:"implementation",isAttr:!0,type:"String"}]},{name:"AdHocSubProcess",superClass:["SubProcess"],properties:[{name:"completionCondition",type:"Expression",xml:{serialize:"xsi:type"}},{name:"ordering",type:"AdHocOrdering",isAttr:!0},{name:"cancelRemainingInstances",default:!0,isAttr:!0,type:"Boolean"}]},{name:"Transaction",superClass:["SubProcess"],properties:[{name:"protocol",isAttr:!0,type:"String"},{name:"method",isAttr:!0,type:"String"}]},{name:"GlobalScriptTask",superClass:["GlobalTask"],properties:[{name:"scriptLanguage",isAttr:!0,type:"String"},{name:"script",isAttr:!0,type:"String"}]},{name:"GlobalBusinessRuleTask",superClass:["GlobalTask"],properties:[{name:"implementation",isAttr:!0,type:"String"}]},{name:"ComplexBehaviorDefinition",superClass:["BaseElement"],properties:[{name:"condition",type:"FormalExpression"},{name:"event",type:"ImplicitThrowEvent"}]},{name:"ResourceRole",superClass:["BaseElement"],properties:[{name:"resourceRef",type:"Resource",isReference:!0},{name:"resourceParameterBindings",type:"ResourceParameterBinding",isMany:!0},{name:"resourceAssignmentExpression",type:"ResourceAssignmentExpression"},{name:"name",isAttr:!0,type:"String"}]},{name:"ResourceParameterBinding",properties:[{name:"expression",type:"Expression",xml:{serialize:"xsi:type"}},{name:"parameterRef",type:"ResourceParameter",isAttr:!0,isReference:!0}],superClass:["BaseElement"]},{name:"ResourceAssignmentExpression",properties:[{name:"expression",type:"Expression",xml:{serialize:"xsi:type"}}],superClass:["BaseElement"]},{name:"Import",properties:[{name:"importType",isAttr:!0,type:"String"},{name:"location",isAttr:!0,type:"String"},{name:"namespace",isAttr:!0,type:"String"}]},{name:"Definitions",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"targetNamespace",isAttr:!0,type:"String"},{name:"expressionLanguage",default:"http://www.w3.org/1999/XPath",isAttr:!0,type:"String"},{name:"typeLanguage",default:"http://www.w3.org/2001/XMLSchema",isAttr:!0,type:"String"},{name:"imports",type:"Import",isMany:!0},{name:"extensions",type:"Extension",isMany:!0},{name:"rootElements",type:"RootElement",isMany:!0},{name:"diagrams",isMany:!0,type:"bpmndi:BPMNDiagram"},{name:"exporter",isAttr:!0,type:"String"},{name:"relationships",type:"Relationship",isMany:!0},{name:"exporterVersion",isAttr:!0,type:"String"}]}],enumerations:[{name:"ProcessType",literalValues:[{name:"None"},{name:"Public"},{name:"Private"}]},{name:"GatewayDirection",literalValues:[{name:"Unspecified"},{name:"Converging"},{name:"Diverging"},{name:"Mixed"}]},{name:"EventBasedGatewayType",literalValues:[{name:"Parallel"},{name:"Exclusive"}]},{name:"RelationshipDirection",literalValues:[{name:"None"},{name:"Forward"},{name:"Backward"},{name:"Both"}]},{name:"ItemKind",literalValues:[{name:"Physical"},{name:"Information"}]},{name:"ChoreographyLoopType",literalValues:[{name:"None"},{name:"Standard"},{name:"MultiInstanceSequential"},{name:"MultiInstanceParallel"}]},{name:"AssociationDirection",literalValues:[{name:"None"},{name:"One"},{name:"Both"}]},{name:"MultiInstanceBehavior",literalValues:[{name:"None"},{name:"One"},{name:"All"},{name:"Complex"}]},{name:"AdHocOrdering",literalValues:[{name:"Parallel"},{name:"Sequential"}]}],prefix:"bpmn",xml:{tagAlias:"lowerCase",typePrefix:"t"}},bpmndi:{name:"BPMNDI",uri:"http://www.omg.org/spec/BPMN/20100524/DI",types:[{name:"BPMNDiagram",properties:[{name:"plane",type:"BPMNPlane",redefines:"di:Diagram#rootElement"},{name:"labelStyle",type:"BPMNLabelStyle",isMany:!0}],superClass:["di:Diagram"]},{name:"BPMNPlane",properties:[{name:"bpmnElement",isAttr:!0,isReference:!0,type:"bpmn:BaseElement",redefines:"di:DiagramElement#modelElement"}],superClass:["di:Plane"]},{name:"BPMNShape",properties:[{name:"bpmnElement",isAttr:!0,isReference:!0,type:"bpmn:BaseElement",redefines:"di:DiagramElement#modelElement"},{name:"isHorizontal",isAttr:!0,type:"Boolean"},{name:"isExpanded",isAttr:!0,type:"Boolean"},{name:"isMarkerVisible",isAttr:!0,type:"Boolean"},{name:"label",type:"BPMNLabel"},{name:"isMessageVisible",isAttr:!0,type:"Boolean"},{name:"participantBandKind",type:"ParticipantBandKind",isAttr:!0},{name:"choreographyActivityShape",type:"BPMNShape",isAttr:!0,isReference:!0}],superClass:["di:LabeledShape"]},{name:"BPMNEdge",properties:[{name:"label",type:"BPMNLabel"},{name:"bpmnElement",isAttr:!0,isReference:!0,type:"bpmn:BaseElement",redefines:"di:DiagramElement#modelElement"},{name:"sourceElement",isAttr:!0,isReference:!0,type:"di:DiagramElement",redefines:"di:Edge#source"},{name:"targetElement",isAttr:!0,isReference:!0,type:"di:DiagramElement",redefines:"di:Edge#target"},{name:"messageVisibleKind",type:"MessageVisibleKind",isAttr:!0,default:"initiating"}],superClass:["di:LabeledEdge"]},{name:"BPMNLabel",properties:[{name:"labelStyle",type:"BPMNLabelStyle",isAttr:!0,isReference:!0,redefines:"di:DiagramElement#style"}],superClass:["di:Label"]},{name:"BPMNLabelStyle",properties:[{name:"font",type:"dc:Font"}],superClass:["di:Style"]}],enumerations:[{name:"ParticipantBandKind",literalValues:[{name:"top_initiating"},{name:"middle_initiating"},{name:"bottom_initiating"},{name:"top_non_initiating"},{name:"middle_non_initiating"},{name:"bottom_non_initiating"}]},{name:"MessageVisibleKind",literalValues:[{name:"initiating"},{name:"non_initiating"}]}],associations:[],prefix:"bpmndi"},dc:{name:"DC",uri:"http://www.omg.org/spec/DD/20100524/DC",types:[{name:"Boolean"},{name:"Integer"},{name:"Real"},{name:"String"},{name:"Font",properties:[{name:"name",type:"String",isAttr:!0},{name:"size",type:"Real",isAttr:!0},{name:"isBold",type:"Boolean",isAttr:!0},{name:"isItalic",type:"Boolean",isAttr:!0},{name:"isUnderline",type:"Boolean",isAttr:!0},{name:"isStrikeThrough",type:"Boolean",isAttr:!0}]},{name:"Point",properties:[{name:"x",type:"Real",default:"0",isAttr:!0},{name:"y",type:"Real",default:"0",isAttr:!0}]},{name:"Bounds",properties:[{name:"x",type:"Real",default:"0",isAttr:!0},{name:"y",type:"Real",default:"0",isAttr:!0},{name:"width",type:"Real",isAttr:!0},{name:"height",type:"Real",isAttr:!0}]}],prefix:"dc",associations:[]},di:{name:"DI",uri:"http://www.omg.org/spec/DD/20100524/DI",types:[{name:"DiagramElement",isAbstract:!0,properties:[{name:"id",type:"String",isAttr:!0,isId:!0},{name:"extension",type:"Extension"},{name:"owningDiagram",type:"Diagram",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"owningElement",type:"DiagramElement",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"modelElement",isReadOnly:!0,isVirtual:!0,isReference:!0,type:"Element"},{name:"style",type:"Style",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"ownedElement",type:"DiagramElement",isReadOnly:!0,isVirtual:!0,isMany:!0}]},{name:"Node",isAbstract:!0,superClass:["DiagramElement"]},{name:"Edge",isAbstract:!0,superClass:["DiagramElement"],properties:[{name:"source",type:"DiagramElement",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"target",type:"DiagramElement",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"waypoint",isUnique:!1,isMany:!0,type:"dc:Point",xml:{serialize:"xsi:type"}}]},{name:"Diagram",isAbstract:!0,properties:[{name:"id",type:"String",isAttr:!0,isId:!0},{name:"rootElement",type:"DiagramElement",isReadOnly:!0,isVirtual:!0},{name:"name",isAttr:!0,type:"String"},{name:"documentation",isAttr:!0,type:"String"},{name:"resolution",isAttr:!0,type:"Real"},{name:"ownedStyle",type:"Style",isReadOnly:!0,isVirtual:!0,isMany:!0}]},{name:"Shape",isAbstract:!0,superClass:["Node"],properties:[{name:"bounds",type:"dc:Bounds"}]},{name:"Plane",isAbstract:!0,superClass:["Node"],properties:[{name:"planeElement",type:"DiagramElement",subsettedProperty:"DiagramElement-ownedElement",isMany:!0}]},{name:"LabeledEdge",isAbstract:!0,superClass:["Edge"],properties:[{name:"ownedLabel",type:"Label",isReadOnly:!0,subsettedProperty:"DiagramElement-ownedElement",isVirtual:!0,isMany:!0}]},{name:"LabeledShape",isAbstract:!0,superClass:["Shape"],properties:[{name:"ownedLabel",type:"Label",isReadOnly:!0,subsettedProperty:"DiagramElement-ownedElement",isVirtual:!0,isMany:!0}]},{name:"Label",isAbstract:!0,superClass:["Node"],properties:[{name:"bounds",type:"dc:Bounds"}]},{name:"Style",isAbstract:!0,properties:[{name:"id",type:"String",isAttr:!0,isId:!0}]},{name:"Extension",properties:[{name:"values",type:"Element",isMany:!0}]}],associations:[],prefix:"di",xml:{tagAlias:"lowerCase"}},bioc:{name:"bpmn.io colors for BPMN",uri:"http://bpmn.io/schema/bpmn/biocolor/1.0",prefix:"bioc",types:[{name:"ColoredShape",extends:["bpmndi:BPMNShape"],properties:[{name:"stroke",isAttr:!0,type:"String"},{name:"fill",isAttr:!0,type:"String"}]},{name:"ColoredEdge",extends:["bpmndi:BPMNEdge"],properties:[{name:"stroke",isAttr:!0,type:"String"},{name:"fill",isAttr:!0,type:"String"}]}],enumerations:[],associations:[]}};function zn(e,t){return new Vn(N({},Wn,e),t)}function Gn(e){return e?"<"+e.$type+(e.id?' id="'+e.id:"")+'" />':"<null>"}var $n=new Je({name:"bpmnElement",enumerable:!0},{name:"di",configurable:!0});function Hn(e,t){return e.$instanceOf(t)}function Kn(p,c){var u={},h=[];function m(t,n){return function(e){t(e,n)}}function i(e){u[e.id]=e}function a(t,e){try{var n=t.di&&function(e,t){if(e.gfx)throw new Error(c("already rendered {element}",{element:Gn(e)}));return p.element(e,t)}(t,e);return i(t),n}catch(e){f(e.message,{element:t,error:e}),console.error(c("failed to import {element}",{element:Gn(t)})),console.error(e)}}function f(e,t){p.error(e,t)}function d(e){var t=e.bpmnElement;t?t.di?f(c("multiple DI elements defined for {element}",{element:Gn(t)}),{element:t}):($n.bind(t,"di"),t.di=e):f(c("no bpmnElement referenced in {element}",{element:Gn(e)}),{element:e})}function y(e){var t;d(t=e.plane),T(t.planeElement,n)}function n(e){d(e)}function g(){for(;h.length;)h.shift()()}function v(e,t){R(e,t),E(e.ioSpecification,t),b(e.artifacts,t),i(e)}function x(e,t){a(e,t)}function o(e,t){a(e,t)}function r(e,t){a(e,t)}function s(e,t){a(e,t)}function l(e,t){a(e,t)}function b(e,t){T(e,function(e){Hn(e,"bpmn:Association")?h.push(function(){l(e,t)}):l(e,t)})}function E(e,t){e&&(T(e.dataInputs,m(r,t)),T(e.dataOutputs,m(s,t)))}function w(e,t){R(e,t),b(e.artifacts,t)}function A(e,t){a(e,t)}function _(t,i){h.push(function(){var n,e=a(t,i);t.childLaneSet&&S(t.childLaneSet,e||i),T((n=t).flowNodeRef,function(e){var t=e.get("lanes");t&&t.push(n)})})}function S(e,t){T(e.lanes,m(_,t))}function R(e,t){var n,r;n=e.flowElements,r=t,T(n,function(e){var t,n,i;Hn(e,"bpmn:SequenceFlow")?h.push(function(){a(e,r)}):Hn(e,"bpmn:BoundaryEvent")?h.unshift(function(){a(e,r)}):Hn(e,"bpmn:FlowNode")?(i=a(t=e,n=r),Hn(t,"bpmn:SubProcess")&&w(t,i||n),Hn(t,"bpmn:Activity")&&E(t.ioSpecification,n),h.push(function(){T(t.dataInputAssociations,m(o,n)),T(t.dataOutputAssociations,m(o,n))})):Hn(e,"bpmn:DataObject")||(Hn(e,"bpmn:DataStoreReference")?A(e,r):Hn(e,"bpmn:DataObjectReference")?A(e,r):f(c("unrecognized flowElement {element} in context {context}",{element:Gn(e),context:r?Gn(r.businessObject):"null"}),{element:e,context:r}))}),e.laneSets&&T(e.laneSets,m(S,t))}function C(e,t){var n=a(e,t),i=e.processRef;i&&v(i,n||t)}return{handleDeferred:g,handleDefinitions:function(e,t){var n=e.diagrams;if(t&&-1===n.indexOf(t))throw new Error(c("diagram not part of bpmn:Definitions"));if(!t&&n&&n.length&&(t=n[0]),!t)throw new Error(c("no diagram to display"));y(t);var i=t.plane;if(!i)throw new Error(c("no plane for {element}",{element:Gn(t)}));var r=i.bpmnElement;if(!r){if(!(r=k(e.rootElements,function(e){return Hn(e,"bpmn:Process")||Hn(e,"bpmn:Collaboration")})))throw new Error(c("no process or collaboration to display"));f(c("correcting missing bpmnElement on {plane} to {rootElement}",{plane:Gn(i),rootElement:Gn(r)})),i.bpmnElement=r,d(i)}var a,o,s,l=(a=r,o=i,p.root(a,o));if(Hn(r,"bpmn:Process"))v(r,l);else{if(!Hn(r,"bpmn:Collaboration"))throw new Error(c("unsupported bpmnElement for {plane}: {rootElement}",{plane:Gn(i),rootElement:Gn(r)}));T((s=r).participants,m(C)),b(s.artifacts),h.push(function(){var e;T(s.messageFlows,m(x,e))}),P(e.rootElements,function(e){return!u[e.id]&&Hn(e,"bpmn:Process")&&e.laneSets}).forEach(m(v))}g()},handleSubProcess:w,registerDi:d}}function Un(e,t){var n=qn(e);return n&&"function"==typeof n.$instanceOf&&n.$instanceOf(t)}function qn(e){return e&&e.businessObject||e}function Yn(e){return!Un(e,"bpmn:CallActivity")&&(Un(e,"bpmn:SubProcess")?!!qn(e).di.isExpanded:!Un(e,"bpmn:Participant")||!!qn(e).processRef)}function Xn(t,i,r){return!!k(t.eventDefinitions,function(e){return e.$type===i&&(n=t,a(r,function(e,t){return n[t]==e}));var n})}function Zn(e){return e.businessObject.di}function Jn(e){return e.businessObject}function Qn(e,t){return Zn(e).get("bioc:fill")||t||"white"}function ei(e,t){return Zn(e).get("bioc:stroke")||t||"black"}var ti=Te(function(e){var l=e.exports=function(e,t){if(t||(t=16),void 0===e&&(e=128),e<=0)return"0";for(var n=Math.log(Math.pow(2,e))/Math.log(t),i=2;n===1/0;i*=2)n=Math.log(Math.pow(2,e/i))/Math.log(t)*i;var r=n-Math.floor(n),a="";for(i=0;i<Math.floor(n);i++){a=Math.floor(Math.random()*t).toString(t)+a}if(r){var o=Math.pow(t,r);a=Math.floor(Math.random()*o).toString(t)+a}var s=parseInt(a,t);return s!==1/0&&s>=Math.pow(2,e)?l(e,t):a};l.rack=function(i,r,a){var n=function(e){var t=0;do{if(10<t++){if(!a)throw new Error("too many ID collisions, use more bits");i+=a}var n=l(i,r)}while(Object.hasOwnProperty.call(o,n));return o[n]=e,n},o=n.hats={};return n.get=function(e){return n.hats[e]},n.set=function(e,t){return n.hats[e]=t,n},n.bits=i||128,n.base=r||16,n}});function ni(e){if(!(this instanceof ni))return new ni(e);e=e||[128,36,1],this._seed=e.length?ti.rack(e[0],e[1],e[2]):e}var ii=ni;ni.prototype.next=function(e){return this._seed(e||!0)},ni.prototype.nextPrefixed=function(e,t){for(var n;n=e+this.next(!0),this.assigned(n););return this.claim(n,t),n},ni.prototype.claim=function(e,t){this._seed.set(e,t||!0)},ni.prototype.assigned=function(e){return this._seed.get(e)||!1},ni.prototype.unclaim=function(e){delete this._seed.hats[e]},ni.prototype.clear=function(){var e,t=this._seed.hats;for(e in t)this.unclaim(e)};var ri=new ii;function ai(e,t,r,c,s,o,n){Oe.call(this,t,n);var u=e&&e.defaultFillColor,h=e&&e.defaultStrokeColor,m=ri.next(),l={},p=r.computeStyle;function f(e,t){var n=N({fill:"black",strokeWidth:1,strokeLinecap:"round",strokeDasharray:"none"},t.attrs),i=t.ref||{x:0,y:0},r=t.scale||1;"none"===n.strokeDasharray&&(n.strokeDasharray=[1e4,1]);var a=se("marker");X(t.element,n),K(a,t.element),X(a,{id:e,viewBox:"0 0 20 20",refX:i.x,refY:i.y,markerWidth:20*r,markerHeight:20*r,orient:"auto"});var o=G("defs",s._svg);o||(o=se("defs"),K(s._svg,o)),K(o,a),l[e]=a}function d(e,t,n){var i=e+"-"+t+"-"+n+"-"+m;return l[i]||function(e,t,n){var i=e+"-"+t+"-"+n+"-"+m;if("sequenceflow-end"===e){var r=se("path");X(r,{d:"M 1 5 L 11 10 L 1 15 Z"}),f(i,{element:r,ref:{x:11,y:10},scale:.5,attrs:{fill:n,stroke:n}})}if("messageflow-start"===e){var a=se("circle");X(a,{cx:6,cy:6,r:3.5}),f(i,{element:a,attrs:{fill:t,stroke:n},ref:{x:6,y:6}})}if("messageflow-end"===e){var o=se("path");X(o,{d:"m 1 5 l 0 -3 l 7 3 l -7 3 z"}),f(i,{element:o,attrs:{fill:t,stroke:n,strokeLinecap:"butt"},ref:{x:8.5,y:5}})}if("association-start"===e){var s=se("path");X(s,{d:"M 11 5 L 1 10 L 11 15"}),f(i,{element:s,attrs:{fill:"none",stroke:n,strokeWidth:1.5},ref:{x:1,y:10},scale:.5})}if("association-end"===e){var l=se("path");X(l,{d:"M 1 5 L 11 10 L 1 15"}),f(i,{element:l,attrs:{fill:"none",stroke:n,strokeWidth:1.5},ref:{x:12,y:10},scale:.5})}if("conditional-flow-marker"===e){var p=se("path");X(p,{d:"M 0 10 L 8 6 L 16 10 L 8 14 Z"}),f(i,{element:p,attrs:{fill:t,stroke:n},ref:{x:-1,y:10},scale:.5})}if("conditional-default-flow-marker"===e){var c=se("path");X(c,{d:"M 6 4 L 10 16"}),f(i,{element:c,attrs:{stroke:n},ref:{x:0,y:10},scale:.5})}}(e,t,n),"url(#"+i+")"}function y(e,t,n,i,r){M(i)&&(r=i,i=0),i=i||0,"none"===(r=p(r,{stroke:"black",strokeWidth:2,fill:"white"})).fill&&delete r.fillOpacity;var a=t/2,o=n/2,s=se("circle");return X(s,{cx:a,cy:o,r:Math.round((t+n)/4-i)}),X(s,r),K(e,s),s}function g(e,t,n,i,r,a){M(r)&&(a=r,r=0),r=r||0,a=p(a,{stroke:"black",strokeWidth:2,fill:"white"});var o=se("rect");return X(o,{x:r,y:r,width:t-2*r,height:n-2*r,rx:i,ry:i}),X(o,a),K(e,o),o}function v(e,t,n){var i=Ie(t,n=p(n,["no-fill"],{stroke:"black",strokeWidth:2,fill:"none"}));return K(e,i),i}function x(e,t,n){n=p(n,["no-fill"],{strokeWidth:2,stroke:"black"});var i=se("path");return X(i,{d:t}),X(i,n),K(e,i),i}function i(e,t,n,i){return x(t,n,N({"data-marker":e},i))}function a(n){return function(e,t){return R[n](e,t)}}function b(e){return R[e]}function E(e,t){var n,i=Jn(e),r="bpmn:IntermediateThrowEvent"===(n=i).$type||"bpmn:EndEvent"===n.$type;return Xn(i,"bpmn:MessageEventDefinition")?b("bpmn:MessageEventDefinition")(t,e,r):Xn(i,"bpmn:TimerEventDefinition")?b("bpmn:TimerEventDefinition")(t,e,r):Xn(i,"bpmn:ConditionalEventDefinition")?b("bpmn:ConditionalEventDefinition")(t,e):Xn(i,"bpmn:SignalEventDefinition")?b("bpmn:SignalEventDefinition")(t,e,r):Xn(i,"bpmn:CancelEventDefinition")&&Xn(i,"bpmn:TerminateEventDefinition",{parallelMultiple:!1})?b("bpmn:MultipleEventDefinition")(t,e,r):Xn(i,"bpmn:CancelEventDefinition")&&Xn(i,"bpmn:TerminateEventDefinition",{parallelMultiple:!0})?b("bpmn:ParallelMultipleEventDefinition")(t,e,r):Xn(i,"bpmn:EscalationEventDefinition")?b("bpmn:EscalationEventDefinition")(t,e,r):Xn(i,"bpmn:LinkEventDefinition")?b("bpmn:LinkEventDefinition")(t,e,r):Xn(i,"bpmn:ErrorEventDefinition")?b("bpmn:ErrorEventDefinition")(t,e,r):Xn(i,"bpmn:CancelEventDefinition")?b("bpmn:CancelEventDefinition")(t,e,r):Xn(i,"bpmn:CompensateEventDefinition")?b("bpmn:CompensateEventDefinition")(t,e,r):Xn(i,"bpmn:TerminateEventDefinition")?b("bpmn:TerminateEventDefinition")(t,e,r):null}function w(e,t,n){n=N({size:{width:100}},n);var i=o.createText(t||"",n);return te(i).add("djs-label"),K(e,i),i}function A(e,t,n){return w(e,Jn(t).name,{box:t,align:n,padding:5,style:{fill:ei(t,h)}})}function _(e,t,n){!function(e,t,n,i,r){var a=ce();a.setTranslate(t,n);var o=ce();o.setRotate(i,0,0);var s=ce();s.setScale(r||1,r||1),xe(e,[a,o,s])}(w(e,t,{box:{height:30,width:n.height},align:"center-middle",style:{fill:ei(n,h)}}),0,-(-1*n.height),270)}function S(e){for(var t=e.waypoints,n="m "+t[0].x+","+t[0].y,i=1;i<t.length;i++)n+="L"+t[i].x+","+t[i].y+" ";return n}var R=this.handlers={"bpmn:Event":function(e,t,n){return"fillOpacity"in n||(n.fillOpacity=.95),y(e,t.width,t.height,n)},"bpmn:StartEvent":function(e,t){var n={fill:Qn(t,u),stroke:ei(t,h)};Jn(t).isInterrupting||(n={strokeDasharray:"6",strokeLinecap:"round",fill:Qn(t,u),stroke:ei(t,h)});var i=b("bpmn:Event")(e,t,n);return E(t,e),i},"bpmn:MessageEventDefinition":function(e,t,n){return x(e,c.getScaledPath("EVENT_MESSAGE",{xScaleFactor:.9,yScaleFactor:.9,containerWidth:t.width,containerHeight:t.height,position:{mx:.235,my:.315}}),{strokeWidth:1,fill:n?ei(t,h):Qn(t,u),stroke:n?Qn(t,u):ei(t,h)})},"bpmn:TimerEventDefinition":function(e,t){var n=y(e,t.width,t.height,.2*t.height,{strokeWidth:2,fill:Qn(t,u),stroke:ei(t,h)});x(e,c.getScaledPath("EVENT_TIMER_WH",{xScaleFactor:.75,yScaleFactor:.75,containerWidth:t.width,containerHeight:t.height,position:{mx:.5,my:.5}}),{strokeWidth:2,strokeLinecap:"square",stroke:ei(t,h)});for(var i=0;i<12;i++){var r=c.getScaledPath("EVENT_TIMER_LINE",{xScaleFactor:.75,yScaleFactor:.75,containerWidth:t.width,containerHeight:t.height,position:{mx:.5,my:.5}}),a=t.width/2;x(e,r,{strokeWidth:1,strokeLinecap:"square",transform:"rotate("+30*i+","+t.height/2+","+a+")",stroke:ei(t,h)})}return n},"bpmn:EscalationEventDefinition":function(e,t,n){return x(e,c.getScaledPath("EVENT_ESCALATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.5,my:.2}}),{strokeWidth:1,fill:n?ei(t,h):"none",stroke:ei(t,h)})},"bpmn:ConditionalEventDefinition":function(e,t){return x(e,c.getScaledPath("EVENT_CONDITIONAL",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.5,my:.222}}),{strokeWidth:1,stroke:ei(t,h)})},"bpmn:LinkEventDefinition":function(e,t,n){return x(e,c.getScaledPath("EVENT_LINK",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.57,my:.263}}),{strokeWidth:1,fill:n?ei(t,h):"none",stroke:ei(t,h)})},"bpmn:ErrorEventDefinition":function(e,t,n){return x(e,c.getScaledPath("EVENT_ERROR",{xScaleFactor:1.1,yScaleFactor:1.1,containerWidth:t.width,containerHeight:t.height,position:{mx:.2,my:.722}}),{strokeWidth:1,fill:n?ei(t,h):"none",stroke:ei(t,h)})},"bpmn:CancelEventDefinition":function(e,t,n){var i,r,a,o=x(e,c.getScaledPath("EVENT_CANCEL_45",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.638,my:-.055}}),{strokeWidth:1,fill:n?ei(t,h):"none",stroke:ei(t,h)});return i=o,r=45,(a=ce()).setRotate(r,0,0),xe(i,a),o},"bpmn:CompensateEventDefinition":function(e,t,n){return x(e,c.getScaledPath("EVENT_COMPENSATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.22,my:.5}}),{strokeWidth:1,fill:n?ei(t,h):"none",stroke:ei(t,h)})},"bpmn:SignalEventDefinition":function(e,t,n){return x(e,c.getScaledPath("EVENT_SIGNAL",{xScaleFactor:.9,yScaleFactor:.9,containerWidth:t.width,containerHeight:t.height,position:{mx:.5,my:.2}}),{strokeWidth:1,fill:n?ei(t,h):"none",stroke:ei(t,h)})},"bpmn:MultipleEventDefinition":function(e,t,n){return x(e,c.getScaledPath("EVENT_MULTIPLE",{xScaleFactor:1.1,yScaleFactor:1.1,containerWidth:t.width,containerHeight:t.height,position:{mx:.222,my:.36}}),{strokeWidth:1,fill:n?ei(t,h):"none"})},"bpmn:ParallelMultipleEventDefinition":function(e,t){return x(e,c.getScaledPath("EVENT_PARALLEL_MULTIPLE",{xScaleFactor:1.2,yScaleFactor:1.2,containerWidth:t.width,containerHeight:t.height,position:{mx:.458,my:.194}}),{strokeWidth:1,fill:ei(t,h),stroke:ei(t,h)})},"bpmn:EndEvent":function(e,t){var n=b("bpmn:Event")(e,t,{strokeWidth:4,fill:Qn(t,u),stroke:ei(t,h)});return E(t,e),n},"bpmn:TerminateEventDefinition":function(e,t){return y(e,t.width,t.height,8,{strokeWidth:4,fill:ei(t,h),stroke:ei(t,h)})},"bpmn:IntermediateEvent":function(e,t){var n=b("bpmn:Event")(e,t,{strokeWidth:1,fill:Qn(t,u),stroke:ei(t,h)});return y(e,t.width,t.height,3,{strokeWidth:1,fill:Qn(t,"none"),stroke:ei(t,h)}),E(t,e),n},"bpmn:IntermediateCatchEvent":a("bpmn:IntermediateEvent"),"bpmn:IntermediateThrowEvent":a("bpmn:IntermediateEvent"),"bpmn:Activity":function(e,t,n){return"fillOpacity"in(n=n||{})||(n.fillOpacity=.95),g(e,t.width,t.height,10,n)},"bpmn:Task":function(e,t){var n={fill:Qn(t,u),stroke:ei(t,h)},i=b("bpmn:Activity")(e,t,n);return A(e,t,"center-middle"),C(e,t),i},"bpmn:ServiceTask":function(e,t){var n=b("bpmn:Task")(e,t);return x(e,c.getScaledPath("TASK_TYPE_SERVICE",{abspos:{x:12,y:18}}),{strokeWidth:1,fill:Qn(t,u),stroke:ei(t,h)}),x(e,c.getScaledPath("TASK_TYPE_SERVICE_FILL",{abspos:{x:17.2,y:18}}),{strokeWidth:0,fill:Qn(t,u)}),x(e,c.getScaledPath("TASK_TYPE_SERVICE",{abspos:{x:17,y:22}}),{strokeWidth:1,fill:Qn(t,u),stroke:ei(t,h)}),n},"bpmn:UserTask":function(e,t){var n=b("bpmn:Task")(e,t);return x(e,c.getScaledPath("TASK_TYPE_USER_1",{abspos:{x:15,y:12}}),{strokeWidth:.5,fill:Qn(t,u),stroke:ei(t,h)}),x(e,c.getScaledPath("TASK_TYPE_USER_2",{abspos:{x:15,y:12}}),{strokeWidth:.5,fill:Qn(t,u),stroke:ei(t,h)}),x(e,c.getScaledPath("TASK_TYPE_USER_3",{abspos:{x:15,y:12}}),{strokeWidth:.5,fill:ei(t,h),stroke:ei(t,h)}),n},"bpmn:ManualTask":function(e,t){var n=b("bpmn:Task")(e,t);return x(e,c.getScaledPath("TASK_TYPE_MANUAL",{abspos:{x:17,y:15}}),{strokeWidth:.5,fill:Qn(t,u),stroke:ei(t,h)}),n},"bpmn:SendTask":function(e,t){var n=b("bpmn:Task")(e,t);return x(e,c.getScaledPath("TASK_TYPE_SEND",{xScaleFactor:1,yScaleFactor:1,containerWidth:21,containerHeight:14,position:{mx:.285,my:.357}}),{strokeWidth:1,fill:ei(t,h),stroke:Qn(t,u)}),n},"bpmn:ReceiveTask":function(e,t){var n=Jn(t),i=b("bpmn:Task")(e,t);return x(e,n.instantiate?(y(e,28,28,4.4,{strokeWidth:1}),c.getScaledPath("TASK_TYPE_INSTANTIATING_SEND",{abspos:{x:7.77,y:9.52}})):c.getScaledPath("TASK_TYPE_SEND",{xScaleFactor:.9,yScaleFactor:.9,containerWidth:21,containerHeight:14,position:{mx:.3,my:.4}}),{strokeWidth:1,fill:Qn(t,u),stroke:ei(t,h)}),i},"bpmn:ScriptTask":function(e,t){var n=b("bpmn:Task")(e,t);return x(e,c.getScaledPath("TASK_TYPE_SCRIPT",{abspos:{x:15,y:20}}),{strokeWidth:1,stroke:ei(t,h)}),n},"bpmn:BusinessRuleTask":function(e,t){var n=b("bpmn:Task")(e,t);return X(x(e,c.getScaledPath("TASK_TYPE_BUSINESS_RULE_HEADER",{abspos:{x:8,y:8}})),{strokeWidth:1,fill:Qn(t,"#aaaaaa"),stroke:ei(t,h)}),X(x(e,c.getScaledPath("TASK_TYPE_BUSINESS_RULE_MAIN",{abspos:{x:8,y:8}})),{strokeWidth:1,stroke:ei(t,h)}),n},"bpmn:SubProcess":function(e,t,n){n=N({fill:Qn(t,u),stroke:ei(t,h)},n);var i,r=b("bpmn:Activity")(e,t,n),a=Yn(t);return(i=t)&&qn(i).triggeredByEvent&&X(r,{strokeDasharray:"1,2"}),A(e,t,a?"center-top":"center-middle"),a?C(e,t):C(e,t,["SubProcessMarker"]),r},"bpmn:AdHocSubProcess":function(e,t){return b("bpmn:SubProcess")(e,t)},"bpmn:Transaction":function(e,t){var n=b("bpmn:SubProcess")(e,t),i=r.style(["no-fill","no-events"],{stroke:ei(t,h)});return g(e,t.width,t.height,8,3,i),n},"bpmn:CallActivity":function(e,t){return b("bpmn:SubProcess")(e,t,{strokeWidth:5})},"bpmn:Participant":function(e,t){var n={fillOpacity:.95,fill:Qn(t,u),stroke:ei(t,h)},i=b("bpmn:Lane")(e,t,n);Yn(t)?(v(e,[{x:30,y:0},{x:30,y:t.height}],{stroke:ei(t,h)}),_(e,Jn(t).name,t)):w(e,Jn(t).name,{box:t,align:"center-middle",style:{fill:ei(t,h)}});return!!Jn(t).participantMultiplicity&&b("ParticipantMultiplicityMarker")(e,t),i},"bpmn:Lane":function(e,t,n){var i=g(e,t.width,t.height,0,N({fill:Qn(t,u),fillOpacity:.35,stroke:ei(t,h)},n)),r=Jn(t);"bpmn:Lane"===r.$type&&_(e,r.name,t);return i},"bpmn:InclusiveGateway":function(e,t){var n=b("bpmn:Gateway")(e,t);return y(e,t.width,t.height,.24*t.height,{strokeWidth:2.5,fill:Qn(t,u),stroke:ei(t,h)}),n},"bpmn:ExclusiveGateway":function(e,t){var n=b("bpmn:Gateway")(e,t),i=c.getScaledPath("GATEWAY_EXCLUSIVE",{xScaleFactor:.4,yScaleFactor:.4,containerWidth:t.width,containerHeight:t.height,position:{mx:.32,my:.3}});return Zn(t).isMarkerVisible&&x(e,i,{strokeWidth:1,fill:ei(t,h),stroke:ei(t,h)}),n},"bpmn:ComplexGateway":function(e,t){var n=b("bpmn:Gateway")(e,t);return x(e,c.getScaledPath("GATEWAY_COMPLEX",{xScaleFactor:.5,yScaleFactor:.5,containerWidth:t.width,containerHeight:t.height,position:{mx:.46,my:.26}}),{strokeWidth:1,fill:ei(t,h),stroke:ei(t,h)}),n},"bpmn:ParallelGateway":function(e,t){var n=b("bpmn:Gateway")(e,t);return x(e,c.getScaledPath("GATEWAY_PARALLEL",{xScaleFactor:.6,yScaleFactor:.6,containerWidth:t.width,containerHeight:t.height,position:{mx:.46,my:.2}}),{strokeWidth:1,fill:ei(t,h),stroke:ei(t,h)}),n},"bpmn:EventBasedGateway":function(e,t){var n=Jn(t),i=b("bpmn:Gateway")(e,t);y(e,t.width,t.height,.2*t.height,{strokeWidth:1,fill:"none",stroke:ei(t,h)});var r,a,o=n.eventGatewayType,s=!!n.instantiate;if("Parallel"===o){var l=c.getScaledPath("GATEWAY_PARALLEL",{xScaleFactor:.4,yScaleFactor:.4,containerWidth:t.width,containerHeight:t.height,position:{mx:.474,my:.296}});X(x(e,l),{strokeWidth:1,fill:"none"})}else if("Exclusive"===o){if(!s)X(y(e,t.width,t.height,.26*t.height),{strokeWidth:1,fill:"none",stroke:ei(t,h)});r=c.getScaledPath("GATEWAY_EVENT_BASED",{xScaleFactor:.18,yScaleFactor:.18,containerWidth:t.width,containerHeight:t.height,position:{mx:.36,my:.44}}),a={strokeWidth:2,fill:Qn(t,"none"),stroke:ei(t,h)},x(e,r,a)}return i},"bpmn:Gateway":function(e,t){var n={fill:Qn(t,u),fillOpacity:.95,stroke:ei(t,h)};return function(e,t,n,i){var r=t/2,a=n/2,o=[{x:r,y:0},{x:t,y:a},{x:r,y:n},{x:0,y:a}].map(function(e){return e.x+","+e.y}).join(" ");i=p(i,{stroke:"black",strokeWidth:2,fill:"white"});var s=se("polygon");return X(s,{points:o}),X(s,i),K(e,s),s}(e,t.width,t.height,n)},"bpmn:SequenceFlow":function(e,t){var n,i=S(t),r=Qn(t,u),a=ei(t,h),o=x(e,i,{strokeLinejoin:"round",markerEnd:d("sequenceflow-end",r,a),stroke:ei(t,h)}),s=Jn(t);return t.source&&(n=t.source.businessObject,s.conditionExpression&&n.$instanceOf("bpmn:Activity")&&X(o,{markerStart:d("conditional-flow-marker",r,a)}),n.default&&(n.$instanceOf("bpmn:Gateway")||n.$instanceOf("bpmn:Activity"))&&n.default===s&&X(o,{markerStart:d("conditional-default-flow-marker",r,a)})),o},"bpmn:Association":function(e,t,n){var i=Jn(t),r=Qn(t,u),a=ei(t,h);return n=N({strokeDasharray:"0.5, 5",strokeLinecap:"round",strokeLinejoin:"round",stroke:ei(t,h)},n||{}),"One"!==i.associationDirection&&"Both"!==i.associationDirection||(n.markerEnd=d("association-end",r,a)),"Both"===i.associationDirection&&(n.markerStart=d("association-start",r,a)),v(e,t.waypoints,n)},"bpmn:DataInputAssociation":function(e,t){var n=Qn(t,u),i=ei(t,h);return b("bpmn:Association")(e,t,{markerEnd:d("association-end",n,i)})},"bpmn:DataOutputAssociation":function(e,t){var n=Qn(t,u),i=ei(t,h);return b("bpmn:Association")(e,t,{markerEnd:d("association-end",n,i)})},"bpmn:MessageFlow":function(e,t){var n=Jn(t),i=Zn(t),r=Qn(t,u),a=ei(t,h),o=x(e,S(t),{markerEnd:d("messageflow-end",r,a),markerStart:d("messageflow-start",r,a),strokeDasharray:"10, 12",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5px",stroke:ei(t,h)});if(n.messageRef){var s=o.getPointAtLength(o.getTotalLength()/2),l=c.getScaledPath("MESSAGE_FLOW_MARKER",{abspos:{x:s.x,y:s.y}}),p={strokeWidth:1};"initiating"===i.messageVisibleKind?(p.fill="white",p.stroke="black"):(p.fill="#888",p.stroke="white"),x(e,l,p)}return o},"bpmn:DataObject":function(e,t){var n,i,r,a,o,s,l=x(e,c.getScaledPath("DATA_OBJECT_PATH",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.474,my:.296}}),{fill:Qn(t,u),fillOpacity:.95,stroke:ei(t,h)}),p=Jn(t);return s=(o=p).dataObjectRef,(o.isCollection||s&&s.isCollection)&&(n=e,r=((i=t).height-16)/i.height,a=c.getScaledPath("DATA_OBJECT_COLLECTION_PATH",{xScaleFactor:1,yScaleFactor:1,containerWidth:i.width,containerHeight:i.height,position:{mx:.451,my:r}}),x(n,a,{strokeWidth:2})),l},"bpmn:DataObjectReference":a("bpmn:DataObject"),"bpmn:DataInput":function(e,t){var n=c.getRawPath("DATA_ARROW"),i=b("bpmn:DataObject")(e,t);return x(e,n,{strokeWidth:1}),i},"bpmn:DataOutput":function(e,t){var n=c.getRawPath("DATA_ARROW"),i=b("bpmn:DataObject")(e,t);return x(e,n,{strokeWidth:1,fill:"black"}),i},"bpmn:DataStoreReference":function(e,t){return x(e,c.getScaledPath("DATA_STORE",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:0,my:.133}}),{strokeWidth:2,fill:Qn(t,u),fillOpacity:.95,stroke:ei(t,h)})},"bpmn:BoundaryEvent":function(e,t){var n=Jn(t).cancelActivity,i={strokeWidth:1,fill:Qn(t,u),stroke:ei(t,h)};n||(i.strokeDasharray="6",i.strokeLinecap="round");var r=N({},i,{fillOpacity:1}),a=N({},i,{fill:"none"}),o=b("bpmn:Event")(e,t,r);return y(e,t.width,t.height,3,a),E(t,e),o},"bpmn:Group":function(e,t){var n=Jn(t),i=Zn(t),r=g(e,t.width,t.height,10,{strokeWidth:1,strokeDasharray:"8,3,1,3",fill:"none",pointerEvents:"none"}),a=n.categoryValueRef||{};if(a.value){var o=i.label?i.label.bounds:t;w(e,a.value,{box:o,style:{fill:ei(t,h)}})}return r},label:function(e,t){return n=e,r=Jn(i=t),a={width:90,height:30,x:i.width/2+i.x,y:i.height/2+i.y},w(n,r.name,{box:a,fitBox:!0,style:N({},o.getExternalStyle(),{fill:ei(i,h)})});var n,i,r,a},"bpmn:TextAnnotation":function(e,t){var n=g(e,t.width,t.height,0,0,{fill:"none",stroke:"none"});return x(e,c.getScaledPath("TEXT_ANNOTATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:0,my:0}}),{stroke:ei(t,h)}),w(e,Jn(t).text||"",{box:t,align:"left-top",padding:5,style:{fill:ei(t,h)}}),n},ParticipantMultiplicityMarker:function(e,t){i("participant-multiplicity",e,c.getScaledPath("MARKER_PARALLEL",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:t.width/2/t.width,my:(t.height-15)/t.height}}),{strokeWidth:1,fill:Qn(t,u),stroke:ei(t,h)})},SubProcessMarker:function(e,t){yt(g(e,14,14,0,{strokeWidth:1,fill:Qn(t,u),stroke:ei(t,h)}),t.width/2-7.5,t.height-20),i("sub-process",e,c.getScaledPath("MARKER_SUB_PROCESS",{xScaleFactor:1.5,yScaleFactor:1.5,containerWidth:t.width,containerHeight:t.height,position:{mx:(t.width/2-7.5)/t.width,my:(t.height-20)/t.height}}),{fill:Qn(t,u),stroke:ei(t,h)})},ParallelMarker:function(e,t,n){i("parallel",e,c.getScaledPath("MARKER_PARALLEL",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:(t.width/2+n.parallel)/t.width,my:(t.height-20)/t.height}}),{fill:Qn(t,u),stroke:ei(t,h)})},SequentialMarker:function(e,t,n){i("sequential",e,c.getScaledPath("MARKER_SEQUENTIAL",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:(t.width/2+n.seq)/t.width,my:(t.height-19)/t.height}}),{fill:Qn(t,u),stroke:ei(t,h)})},CompensationMarker:function(e,t,n){i("compensation",e,c.getScaledPath("MARKER_COMPENSATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:(t.width/2+n.compensation)/t.width,my:(t.height-13)/t.height}}),{strokeWidth:1,fill:Qn(t,u),stroke:ei(t,h)})},LoopMarker:function(e,t,n){i("loop",e,c.getScaledPath("MARKER_LOOP",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:(t.width/2+n.loop)/t.width,my:(t.height-7)/t.height}}),{strokeWidth:1,fill:Qn(t,u),stroke:ei(t,h),strokeLinecap:"round",strokeMiterlimit:.5})},AdhocMarker:function(e,t,n){i("adhoc",e,c.getScaledPath("MARKER_ADHOC",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:(t.width/2+n.adhoc)/t.width,my:(t.height-15)/t.height}}),{strokeWidth:1,fill:ei(t,h),stroke:ei(t,h)})}};function C(t,n,e){var i,r=Jn(n),a=e&&-1!==e.indexOf("SubProcessMarker");i=a?{seq:-21,parallel:-22,compensation:-42,loop:-18,adhoc:10}:{seq:-3,parallel:-6,compensation:-27,loop:0,adhoc:10},T(e,function(e){b(e)(t,n,i)}),r.isForCompensation&&b("CompensationMarker")(t,n,i),"bpmn:AdHocSubProcess"===r.$type&&b("AdhocMarker")(t,n,i);var o=r.loopCharacteristics,s=o&&o.isSequential;o&&(void 0===s&&b("LoopMarker")(t,n,i),!1===s&&b("ParallelMarker")(t,n,i),!0===s&&b("SequentialMarker")(t,n,i))}this._drawPath=x}Ne(ai,Oe),ai.$inject=["config.bpmnRenderer","eventBus","styles","pathMap","canvas","textRenderer"],ai.prototype.canRender=function(e){return Un(e,"bpmn:BaseElement")},ai.prototype.drawShape=function(e,t){var n=t.type;return(0,this.handlers[n])(e,t)},ai.prototype.drawConnection=function(e,t){var n=t.type;return(0,this.handlers[n])(e,t)},ai.prototype.getShapePath=function(e){return Un(e,"bpmn:Event")?(n=(t=e).x+t.width/2,i=t.y+t.height/2,r=t.width/2,Be([["M",n,i],["m",0,-r],["a",r,r,0,1,1,0,2*r],["a",r,r,0,1,1,0,-2*r],["z"]])):Un(e,"bpmn:Activity")?(o=10,s=(a=e).x,l=a.y,p=a.width,c=a.height,Be([["M",s+o,l],["l",p-2*o,0],["a",o,o,0,0,1,o,o],["l",0,c-2*o],["a",o,o,0,0,1,-o,o],["l",2*o-p,0],["a",o,o,0,0,1,-o,-o],["l",0,2*o-c],["a",o,o,0,0,1,o,-o],["z"]])):Un(e,"bpmn:Gateway")?(h=(u=e).width/2,m=u.height/2,Be([["M",u.x+h,u.y],["l",h,m],["l",-h,m],["l",-h,-m],["z"]])):(d=(f=e).x,y=f.y,g=f.width,Be([["M",d,y],["l",g,0],["l",0,f.height],["l",-g,0],["z"]]));var t,n,i,r,a,o,s,l,p,c,u,h,m,f,d,y,g};var oi=0,si={width:150,height:50};function li(e,t){var n;t.textContent=e;try{var i,r=""===e;return t.textContent=r?"dummy":e,i={width:(n=t.getBBox()).width+2*n.x,height:n.height},r&&(i.width=0),i}catch(e){return{width:0,height:0}}}function pi(e,t,n){for(var i,r=e.shift(),a=r;;){if((i=li(a,n)).width=a?i.width:0," "===a||""===a||i.width<Math.round(t)||a.length<2)return ci(e,a,r,i);a=ui(a,i.width,t)}}function ci(e,t,n,i){if(t.length<n.length){var r=n.slice(t.length).trim();e.unshift(r)}return{width:i.width,height:i.height,text:t}}function ui(e,t,n){var i=Math.max(e.length*(n/t),1),r=function(e,t){var n,i=e.split(/(\s|-)/g),r=[],a=0;if(1<i.length)for(;n=i.shift();){if(!(n.length+a<t)){"-"===n&&r.pop();break}r.push(n),a+=n.length}return r.join("")}(e,i);return r||(r=e.slice(0,Math.max(Math.round(i-1),1))),r}function hi(e){this._config=N({},{size:si,padding:oi,style:{},align:"center-top"},e||{})}hi.prototype.createText=function(e,t){return this.layoutText(e,t).element},hi.prototype.getDimensions=function(e,t){return this.layoutText(e,t).dimensions},hi.prototype.layoutText=function(e,t){var n,i,r,a,o=N({},this._config.size,t.box),s=N({},this._config.style,t.style),l=(i=t.align||this._config.align,{horizontal:(r=i.split("-"))[0]||"center",vertical:r[1]||"top"}),p=M(n=void 0!==t.padding?t.padding:this._config.padding)?N({top:0,left:0,right:0,bottom:0},n):{top:n,left:n,right:n,bottom:n},c=t.fitBox||!1,u=function(e){if("fontSize"in e&&"lineHeight"in e)return e.lineHeight*parseInt(e.fontSize,10)}(s),h=e.split(/\r?\n/g),m=[],f=o.width-p.left-p.right,d=se("text");for(X(d,{x:0,y:0}),X(d,s),K(((a=document.getElementById("helper-svg"))||(X(a=se("svg"),{id:"helper-svg",width:0,height:0,style:"visibility: hidden; position: fixed"}),document.body.appendChild(a)),a),d);h.length;)m.push(pi(h,f,d));"middle"===l.vertical&&(p.top=p.bottom=0);var y=b(m,function(e,t,n){return e+(u||t.height)},0)+p.top+p.bottom,g=b(m,function(e,t,n){return t.width>e?t.width:e},0),v=p.top;"middle"===l.vertical&&(v+=(o.height-y)/2),v-=(u||m[0].height)/4;var x=se("text");return X(x,s),T(m,function(e){var t;switch(v+=u||e.height,l.horizontal){case"left":t=p.left;break;case"right":t=(c?g:f)-p.right-e.width;break;default:t=Math.max(((c?g:f)-e.width)/2+p.left,0)}var n=se("tspan");X(n,{x:t,y:v}),n.textContent=e.text,K(x,n)}),ie(d),{dimensions:{width:g,height:y},element:x}};function mi(e){var i=N({fontFamily:"Arial, sans-serif",fontSize:12,fontWeight:"normal",lineHeight:1.2},e&&e.defaultStyle||{}),t=parseInt(i.fontSize,10)-1,r=N({},i,{fontSize:t},e&&e.externalStyle||{}),a=new hi({style:i});this.getExternalLabelBounds=function(e,t){var n=a.getDimensions(t,{box:{width:90,height:30,x:e.width/2+e.x,y:e.height/2+e.y},style:r});return{x:Math.round(e.x+e.width/2-n.width/2),y:Math.round(e.y),width:Math.ceil(n.width),height:Math.ceil(n.height)}},this.getTextAnnotationBounds=function(e,t){var n=a.getDimensions(t,{box:e,style:i,align:"left-top",padding:5});return{x:e.x,y:e.y,width:e.width,height:Math.max(30,Math.round(n.height))}},this.createText=function(e,t){return a.createText(e,t||{})},this.getDefaultStyle=function(){return i},this.getExternalStyle=function(){return r}}mi.$inject=["config.textRenderer"];var fi=/\{([^}]+)\}/g,di=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g;var yi={__init__:["bpmnRenderer"],bpmnRenderer:["type",ai],textRenderer:["type",mi],pathMap:["type",function(){this.pathMap={EVENT_MESSAGE:{d:"m {mx},{my} l 0,{e.y1} l {e.x1},0 l 0,-{e.y1} z l {e.x0},{e.y0} l {e.x0},-{e.y0}",height:36,width:36,heightElements:[6,14],widthElements:[10.5,21]},EVENT_SIGNAL:{d:"M {mx},{my} l {e.x0},{e.y0} l -{e.x1},0 Z",height:36,width:36,heightElements:[18],widthElements:[10,20]},EVENT_ESCALATION:{d:"M {mx},{my} l {e.x0},{e.y0} l -{e.x0},-{e.y1} l -{e.x0},{e.y1} Z",height:36,width:36,heightElements:[20,7],widthElements:[8]},EVENT_CONDITIONAL:{d:"M {e.x0},{e.y0} l {e.x1},0 l 0,{e.y2} l -{e.x1},0 Z M {e.x2},{e.y3} l {e.x0},0 M {e.x2},{e.y4} l {e.x0},0 M {e.x2},{e.y5} l {e.x0},0 M {e.x2},{e.y6} l {e.x0},0 M {e.x2},{e.y7} l {e.x0},0 M {e.x2},{e.y8} l {e.x0},0 ",height:36,width:36,heightElements:[8.5,14.5,18,11.5,14.5,17.5,20.5,23.5,26.5],widthElements:[10.5,14.5,12.5]},EVENT_LINK:{d:"m {mx},{my} 0,{e.y0} -{e.x1},0 0,{e.y1} {e.x1},0 0,{e.y0} {e.x0},-{e.y2} -{e.x0},-{e.y2} z",height:36,width:36,heightElements:[4.4375,6.75,7.8125],widthElements:[9.84375,13.5]},EVENT_ERROR:{d:"m {mx},{my} {e.x0},-{e.y0} {e.x1},-{e.y1} {e.x2},{e.y2} {e.x3},-{e.y3} -{e.x4},{e.y4} -{e.x5},-{e.y5} z",height:36,width:36,heightElements:[.023,8.737,8.151,16.564,10.591,8.714],widthElements:[.085,6.672,6.97,4.273,5.337,6.636]},EVENT_CANCEL_45:{d:"m {mx},{my} -{e.x1},0 0,{e.x0} {e.x1},0 0,{e.y1} {e.x0},0 0,-{e.y1} {e.x1},0 0,-{e.y0} -{e.x1},0 0,-{e.y1} -{e.x0},0 z",height:36,width:36,heightElements:[4.75,8.5],widthElements:[4.75,8.5]},EVENT_COMPENSATION:{d:"m {mx},{my} {e.x0},-{e.y0} 0,{e.y1} z m {e.x1},-{e.y2} {e.x2},-{e.y3} 0,{e.y1} -{e.x2},-{e.y3} z",height:36,width:36,heightElements:[6.5,13,.4,6.1],widthElements:[9,9.3,8.7]},EVENT_TIMER_WH:{d:"M {mx},{my} l {e.x0},-{e.y0} m -{e.x0},{e.y0} l {e.x1},{e.y1} ",height:36,width:36,heightElements:[10,2],widthElements:[3,7]},EVENT_TIMER_LINE:{d:"M {mx},{my} m {e.x0},{e.y0} l -{e.x1},{e.y1} ",height:36,width:36,heightElements:[10,3],widthElements:[0,0]},EVENT_MULTIPLE:{d:"m {mx},{my} {e.x1},-{e.y0} {e.x1},{e.y0} -{e.x0},{e.y1} -{e.x2},0 z",height:36,width:36,heightElements:[6.28099,12.56199],widthElements:[3.1405,9.42149,12.56198]},EVENT_PARALLEL_MULTIPLE:{d:"m {mx},{my} {e.x0},0 0,{e.y1} {e.x1},0 0,{e.y0} -{e.x1},0 0,{e.y1} -{e.x0},0 0,-{e.y1} -{e.x1},0 0,-{e.y0} {e.x1},0 z",height:36,width:36,heightElements:[2.56228,7.68683],widthElements:[2.56228,7.68683]},GATEWAY_EXCLUSIVE:{d:"m {mx},{my} {e.x0},{e.y0} {e.x1},{e.y0} {e.x2},0 {e.x4},{e.y2} {e.x4},{e.y1} {e.x2},0 {e.x1},{e.y3} {e.x0},{e.y3} {e.x3},0 {e.x5},{e.y1} {e.x5},{e.y2} {e.x3},0 z",height:17.5,width:17.5,heightElements:[8.5,6.5312,-6.5312,-8.5],widthElements:[6.5,-6.5,3,-3,5,-5]},GATEWAY_PARALLEL:{d:"m {mx},{my} 0,{e.y1} -{e.x1},0 0,{e.y0} {e.x1},0 0,{e.y1} {e.x0},0 0,-{e.y1} {e.x1},0 0,-{e.y0} -{e.x1},0 0,-{e.y1} -{e.x0},0 z",height:30,width:30,heightElements:[5,12.5],widthElements:[5,12.5]},GATEWAY_EVENT_BASED:{d:"m {mx},{my} {e.x0},{e.y0} {e.x0},{e.y1} {e.x1},{e.y2} {e.x2},0 z",height:11,width:11,heightElements:[-6,6,12,-12],widthElements:[9,-3,-12]},GATEWAY_COMPLEX:{d:"m {mx},{my} 0,{e.y0} -{e.x0},-{e.y1} -{e.x1},{e.y2} {e.x0},{e.y1} -{e.x2},0 0,{e.y3} {e.x2},0 -{e.x0},{e.y1} l {e.x1},{e.y2} {e.x0},-{e.y1} 0,{e.y0} {e.x3},0 0,-{e.y0} {e.x0},{e.y1} {e.x1},-{e.y2} -{e.x0},-{e.y1} {e.x2},0 0,-{e.y3} -{e.x2},0 {e.x0},-{e.y1} -{e.x1},-{e.y2} -{e.x0},{e.y1} 0,-{e.y0} -{e.x3},0 z",height:17.125,width:17.125,heightElements:[4.875,3.4375,2.125,3],widthElements:[3.4375,2.125,4.875,3]},DATA_OBJECT_PATH:{d:"m 0,0 {e.x1},0 {e.x0},{e.y0} 0,{e.y1} -{e.x2},0 0,-{e.y2} {e.x1},0 0,{e.y0} {e.x0},0",height:61,width:51,heightElements:[10,50,60],widthElements:[10,40,50,60]},DATA_OBJECT_COLLECTION_PATH:{d:"m {mx}, {my} m 0 15 l 0 -15 m 4 15 l 0 -15 m 4 15 l 0 -15 ",height:61,width:51,heightElements:[12],widthElements:[1,6,12,15]},DATA_ARROW:{d:"m 5,9 9,0 0,-3 5,5 -5,5 0,-3 -9,0 z",height:61,width:51,heightElements:[],widthElements:[]},DATA_STORE:{d:"m {mx},{my} l 0,{e.y2} c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0 l 0,-{e.y2} c -{e.x0},-{e.y1} -{e.x1},-{e.y1} -{e.x2},0c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0 m -{e.x2},{e.y0}c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0m -{e.x2},{e.y0}c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0",height:61,width:61,heightElements:[7,10,45],widthElements:[2,58,60]},TEXT_ANNOTATION:{d:"m {mx}, {my} m 10,0 l -10,0 l 0,{e.y0} l 10,0",height:30,width:10,heightElements:[30],widthElements:[10]},MARKER_SUB_PROCESS:{d:"m{mx},{my} m 7,2 l 0,10 m -5,-5 l 10,0",height:10,width:10,heightElements:[],widthElements:[]},MARKER_PARALLEL:{d:"m{mx},{my} m 3,2 l 0,10 m 3,-10 l 0,10 m 3,-10 l 0,10",height:10,width:10,heightElements:[],widthElements:[]},MARKER_SEQUENTIAL:{d:"m{mx},{my} m 0,3 l 10,0 m -10,3 l 10,0 m -10,3 l 10,0",height:10,width:10,heightElements:[],widthElements:[]},MARKER_COMPENSATION:{d:"m {mx},{my} 7,-5 0,10 z m 7.1,-0.3 6.9,-4.7 0,10 -6.9,-4.7 z",height:10,width:21,heightElements:[],widthElements:[]},MARKER_LOOP:{d:"m {mx},{my} c 3.526979,0 6.386161,-2.829858 6.386161,-6.320661 0,-3.490806 -2.859182,-6.320661 -6.386161,-6.320661 -3.526978,0 -6.38616,2.829855 -6.38616,6.320661 0,1.745402 0.714797,3.325567 1.870463,4.469381 0.577834,0.571908 1.265885,1.034728 2.029916,1.35457 l -0.718163,-3.909793 m 0.718163,3.909793 -3.885211,0.802902",height:13.9,width:13.7,heightElements:[],widthElements:[]},MARKER_ADHOC:{d:"m {mx},{my} m 0.84461,2.64411 c 1.05533,-1.23780996 2.64337,-2.07882 4.29653,-1.97997996 2.05163,0.0805 3.85579,1.15803 5.76082,1.79107 1.06385,0.34139996 2.24454,0.1438 3.18759,-0.43767 0.61743,-0.33642 1.2775,-0.64078 1.7542,-1.17511 0,0.56023 0,1.12046 0,1.6807 -0.98706,0.96237996 -2.29792,1.62393996 -3.6918,1.66181996 -1.24459,0.0927 -2.46671,-0.2491 -3.59505,-0.74812 -1.35789,-0.55965 -2.75133,-1.33436996 -4.27027,-1.18121996 -1.37741,0.14601 -2.41842,1.13685996 -3.44288,1.96782996 z",height:4,width:15,heightElements:[],widthElements:[]},TASK_TYPE_SEND:{d:"m {mx},{my} l 0,{e.y1} l {e.x1},0 l 0,-{e.y1} z l {e.x0},{e.y0} l {e.x0},-{e.y0}",height:14,width:21,heightElements:[6,14],widthElements:[10.5,21]},TASK_TYPE_SCRIPT:{d:"m {mx},{my} c 9.966553,-6.27276 -8.000926,-7.91932 2.968968,-14.938 l -8.802728,0 c -10.969894,7.01868 6.997585,8.66524 -2.968967,14.938 z m -7,-12 l 5,0 m -4.5,3 l 4.5,0 m -3,3 l 5,0m -4,3 l 5,0",height:15,width:12.6,heightElements:[6,14],widthElements:[10.5,21]},TASK_TYPE_USER_1:{d:"m {mx},{my} c 0.909,-0.845 1.594,-2.049 1.594,-3.385 0,-2.554 -1.805,-4.62199999 -4.357,-4.62199999 -2.55199998,0 -4.28799998,2.06799999 -4.28799998,4.62199999 0,1.348 0.974,2.562 1.89599998,3.405 -0.52899998,0.187 -5.669,2.097 -5.794,4.7560005 v 6.718 h 17 v -6.718 c 0,-2.2980005 -5.5279996,-4.5950005 -6.0509996,-4.7760005 zm -8,6 l 0,5.5 m 11,0 l 0,-5"},TASK_TYPE_USER_2:{d:"m {mx},{my} m 2.162,1.009 c 0,2.4470005 -2.158,4.4310005 -4.821,4.4310005 -2.66499998,0 -4.822,-1.981 -4.822,-4.4310005 "},TASK_TYPE_USER_3:{d:"m {mx},{my} m -6.9,-3.80 c 0,0 2.25099998,-2.358 4.27399998,-1.177 2.024,1.181 4.221,1.537 4.124,0.965 -0.098,-0.57 -0.117,-3.79099999 -4.191,-4.13599999 -3.57499998,0.001 -4.20799998,3.36699999 -4.20699998,4.34799999 z"},TASK_TYPE_MANUAL:{d:"m {mx},{my} c 0.234,-0.01 5.604,0.008 8.029,0.004 0.808,0 1.271,-0.172 1.417,-0.752 0.227,-0.898 -0.334,-1.314 -1.338,-1.316 -2.467,-0.01 -7.886,-0.004 -8.108,-0.004 -0.014,-0.079 0.016,-0.533 0,-0.61 0.195,-0.042 8.507,0.006 9.616,0.002 0.877,-0.007 1.35,-0.438 1.353,-1.208 0.003,-0.768 -0.479,-1.09 -1.35,-1.091 -2.968,-0.002 -9.619,-0.013 -9.619,-0.013 v -0.591 c 0,0 5.052,-0.016 7.225,-0.016 0.888,-0.002 1.354,-0.416 1.351,-1.193 -0.006,-0.761 -0.492,-1.196 -1.361,-1.196 -3.473,-0.005 -10.86,-0.003 -11.0829995,-0.003 -0.022,-0.047 -0.045,-0.094 -0.069,-0.139 0.3939995,-0.319 2.0409995,-1.626 2.4149995,-2.017 0.469,-0.4870005 0.519,-1.1650005 0.162,-1.6040005 -0.414,-0.511 -0.973,-0.5 -1.48,-0.236 -1.4609995,0.764 -6.5999995,3.6430005 -7.7329995,4.2710005 -0.9,0.499 -1.516,1.253 -1.882,2.19 -0.37000002,0.95 -0.17,2.01 -0.166,2.979 0.004,0.718 -0.27300002,1.345 -0.055,2.063 0.629,2.087 2.425,3.312 4.859,3.318 4.6179995,0.014 9.2379995,-0.139 13.8569995,-0.158 0.755,-0.004 1.171,-0.301 1.182,-1.033 0.012,-0.754 -0.423,-0.969 -1.183,-0.973 -1.778,-0.01 -5.824,-0.004 -6.04,-0.004 10e-4,-0.084 0.003,-0.586 10e-4,-0.67 z"},TASK_TYPE_INSTANTIATING_SEND:{d:"m {mx},{my} l 0,8.4 l 12.6,0 l 0,-8.4 z l 6.3,3.6 l 6.3,-3.6"},TASK_TYPE_SERVICE:{d:"m {mx},{my} v -1.71335 c 0.352326,-0.0705 0.703932,-0.17838 1.047628,-0.32133 0.344416,-0.14465 0.665822,-0.32133 0.966377,-0.52145 l 1.19431,1.18005 1.567487,-1.57688 -1.195028,-1.18014 c 0.403376,-0.61394 0.683079,-1.29908 0.825447,-2.01824 l 1.622133,-0.01 v -2.2196 l -1.636514,0.01 c -0.07333,-0.35153 -0.178319,-0.70024 -0.323564,-1.04372 -0.145244,-0.34406 -0.321407,-0.6644 -0.522735,-0.96217 l 1.131035,-1.13631 -1.583305,-1.56293 -1.129598,1.13589 c -0.614052,-0.40108 -1.302883,-0.68093 -2.022633,-0.82247 l 0.0093,-1.61852 h -2.241173 l 0.0042,1.63124 c -0.353763,0.0736 -0.705369,0.17977 -1.049785,0.32371 -0.344415,0.14437 -0.665102,0.32092 -0.9635006,0.52046 l -1.1698628,-1.15823 -1.5667691,1.5792 1.1684265,1.15669 c -0.4026573,0.61283 -0.68308,1.29797 -0.8247287,2.01713 l -1.6588041,0.003 v 2.22174 l 1.6724648,-0.006 c 0.073327,0.35077 0.1797598,0.70243 0.3242851,1.04472 0.1452428,0.34448 0.3214064,0.6644 0.5227339,0.96066 l -1.1993431,1.19723 1.5840256,1.56011 1.1964668,-1.19348 c 0.6140517,0.40346 1.3028827,0.68232 2.0233517,0.82331 l 7.19e-4,1.69892 h 2.226848 z m 0.221462,-3.9957 c -1.788948,0.7502 -3.8576,-0.0928 -4.6097055,-1.87438 -0.7521065,-1.78321 0.090598,-3.84627 1.8802645,-4.59604 1.78823,-0.74936 3.856881,0.0929 4.608987,1.87437 0.752106,1.78165 -0.0906,3.84612 -1.879546,4.59605 z"},TASK_TYPE_SERVICE_FILL:{d:"m {mx},{my} c -1.788948,0.7502 -3.8576,-0.0928 -4.6097055,-1.87438 -0.7521065,-1.78321 0.090598,-3.84627 1.8802645,-4.59604 1.78823,-0.74936 3.856881,0.0929 4.608987,1.87437 0.752106,1.78165 -0.0906,3.84612 -1.879546,4.59605 z"},TASK_TYPE_BUSINESS_RULE_HEADER:{d:"m {mx},{my} 0,4 20,0 0,-4 z"},TASK_TYPE_BUSINESS_RULE_MAIN:{d:"m {mx},{my} 0,12 20,0 0,-12 zm 0,8 l 20,0 m -13,-4 l 0,8"},MESSAGE_FLOW_MARKER:{d:"m {mx},{my} m -10.5 ,-7 l 0,14 l 21,0 l 0,-14 z l 10.5,6 l 10.5,-6"}},this.getRawPath=function(e){return this.pathMap[e].d},this.getScaledPath=function(e,t){var n,i,r=this.pathMap[e];i=t.abspos?(n=t.abspos.x,t.abspos.y):(n=t.containerWidth*t.position.mx,t.containerHeight*t.position.my);var a,o,s={};if(t.position){for(var l=t.containerHeight/r.height*t.yScaleFactor,p=t.containerWidth/r.width*t.xScaleFactor,c=0;c<r.heightElements.length;c++)s["y"+c]=r.heightElements[c]*l;for(var u=0;u<r.widthElements.length;u++)s["x"+u]=r.widthElements[u]*p}return a=r.d,o={mx:n,my:i,e:s},String(a).replace(fi,function(e,t){return n=e,a=i=o,t.replace(di,function(e,t,n,i,r){t=t||i,a&&(t in a&&(a=a[t]),"function"==typeof a&&r&&(a=a()))}),a=(null==a||a==i?n:a)+"";var n,i,a})}}]};var gi={translate:["value",function(e,n){return n=n||{},e.replace(/{([^}]+)}/g,function(e,t){return n[t]||"{"+t+"}"})}]},vi={width:90,height:20},xi=15;function bi(e){var t,n,i,r,a=e.length/2-1,o=e[Math.floor(a)],s=e[Math.ceil(a+.01)],l=(n=(t=e).length/2-1,i=t[Math.floor(n)],r=t[Math.ceil(n+.01)],{x:i.x+(r.x-i.x)/2,y:i.y+(r.y-i.y)/2}),p=Math.atan((s.y-o.y)/(s.x-o.x)),c=l.x,u=l.y;return Math.abs(p)<Math.PI/2?u-=xi:c+=xi,{x:c,y:u}}function Ei(e,t){var n,i,r,a,o=e.di.label;return o&&o.bounds?(r=o.bounds,i={width:Math.max(vi.width,r.width),height:r.height},n={x:r.x+r.width/2,y:r.y+r.height/2}):(n=(a=t).waypoints?bi(a.waypoints):{x:a.x+a.width/2,y:a.y+a.height+vi.height/2},i=vi),N({x:n.x-i.width/2,y:n.y-i.height/2},i)}
|