diff --git a/Kitodo/src/main/webapp/WEB-INF/resources/js/modeler_min.js b/Kitodo/src/main/webapp/WEB-INF/resources/js/modeler_min.js index 21f9f51d0a4..6b9bc745429 100644 --- a/Kitodo/src/main/webapp/WEB-INF/resources/js/modeler_min.js +++ b/Kitodo/src/main/webapp/WEB-INF/resources/js/modeler_min.js @@ -10,4 +10,4 @@ */ -!function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){return o(e[i][1][r]||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i'),this._bindListeners(this._container),config&&config.parent&&this.attachTo(config.parent)},PropertiesPanel.prototype.attachTo=function(parentNode){if(!parentNode)throw new Error("parentNode required");this.detach(),parentNode.get&&parentNode.constructor.prototype.jquery&&(parentNode=parentNode.get(0)),"string"==typeof parentNode&&(parentNode=domQuery(parentNode));var container=this._container;parentNode.appendChild(container),this._emit("attach")},PropertiesPanel.prototype.detach=function(){var container=this._container,parentNode=container.parentNode;parentNode&&(this._emit("detach"),parentNode.removeChild(container))},PropertiesPanel.prototype.activateTab=function(tab){var tabId="string"==typeof tab?tab:tab.id,panelNode=this._current.panel,allTabNodes=domQueryAll(".bpp-properties-tab",panelNode),allTabLinkNodes=domQueryAll(".bpp-properties-tab-link",panelNode);forEach(allTabNodes,function(tabNode){var currentTabId=domAttr(tabNode,"data-tab");domClasses(tabNode).toggle("bpp-active",tabId===currentTabId)}),forEach(allTabLinkNodes,function(tabLinkNode){var tabLink=domQuery("[data-tab-target]",tabLinkNode),currentTabId=domAttr(tabLink,"data-tab-target");domClasses(tabLinkNode).toggle("bpp-active",tabId===currentTabId)})},PropertiesPanel.prototype.update=function(element){var current=this._current,needsCreate=!0;void 0===element&&(element=this._canvas.getRootElement());var newTabs=this._propertiesProvider.getTabs(element);if(current&¤t.element===element&&(needsCreate=this._entriesChanged(current,newTabs)),needsCreate){if(current){var activeTabId,activeTabNode=domQuery(".bpp-properties-tab.bpp-active",current.panel);activeTabNode&&(activeTabId=domAttr(activeTabNode,"data-tab")),domRemove(current.panel)}this._current=this._create(element,newTabs),activeTabId?this.activateTab(activeTabId):this.activateTab(this._current.tabs[0])}this._current&&this._updateActivation(this._current),this._emit("changed")},PropertiesPanel.prototype._entriesChanged=function(current,newTabs){var oldEntryIds=keys(current.entries),newEntryIds=keys(extractEntries(newTabs));return!isEmpty(xor(oldEntryIds,newEntryIds))},PropertiesPanel.prototype._emit=function(event){this._eventBus.fire("propertiesPanel."+event,{panel:this,current:this._current})},PropertiesPanel.prototype._bindListeners=function(container){var self=this,handleChange=function(event){var entryId,entry,inputNode=event.delegateTarget,entryNode=domClosest(inputNode,"[data-entry]");if(entryNode){entryId=domAttr(entryNode,"data-entry"),entry=self.getEntry(entryId);var values=getFormControlValues(entryNode);if("change"===event.type){var onChangeAction=domAttr(inputNode,"data-on-change");if(onChangeAction)if(!self.executeAction(entry,entryNode,onChangeAction,event))return self.update(self._current.element)}self.applyChanges(entry,values,entryNode),self.updateState(entry,entryNode)}};domDelegate.bind(container,"input, textarea, [contenteditable]","input",debounce(handleChange,300)),domDelegate.bind(container,"input, textarea, select, [contenteditable]","change",handleChange),domDelegate.bind(container,"[contenteditable]","paste",function(event){var text=(event.clipboardData||window.clipboardData).getData("text");document.execCommand("insertText",!1,text),event.preventDefault()}),domDelegate.bind(container,"select","keydown",function(e){46===e.keyCode&&(e.stopPropagation(),e.preventDefault())}),domDelegate.bind(container,"[data-action]","click",function(event){var inputNode=event.delegateTarget,entryNode=domClosest(inputNode,"[data-entry]"),actionId=domAttr(inputNode,"data-action"),entryId=domAttr(entryNode,"data-entry"),entry=self.getEntry(entryId);if(self.executeAction(entry,entryNode,actionId,event)){var values=getFormControlValues(entryNode);self.applyChanges(entry,values,entryNode)}self.updateState(entry,entryNode)}),domDelegate.bind(container,"[data-blur]","blur",function(event,element){var inputNode=event.delegateTarget,entryNode=domClosest(inputNode,"[data-entry]");if(entryNode){var eventHandlerId=domAttr(inputNode,"data-blur"),entryId=domAttr(entryNode,"data-entry"),entry=self.getEntry(entryId);if(self.executeAction(entry,entryNode,eventHandlerId,event)){var values=getFormControlValues(entryNode);self.applyChanges(entry,values,entryNode)}self.updateState(entry,entryNode)}},!0),domDelegate.bind(container,".bpp-properties-tabs-links [data-tab-target]","click",function(event){event.preventDefault();var delegateTarget=event.delegateTarget,tabId=domAttr(delegateTarget,"data-tab-target");self.activateTab(tabId)})},PropertiesPanel.prototype.updateState=function(entry,entryNode){this.updateShow(entry,entryNode),this.updateDisable(entry,entryNode)},PropertiesPanel.prototype.updateShow=function(entry,node){var current=this._current;if(current){var showNodes=domQueryAll("[data-show]",node)||[];forEach(showNodes,function(showNode){var expr=domAttr(showNode,"data-show"),fn=get(entry,expr);if(fn){var scope=domClosest(showNode,"[data-scope]")||node;fn(current.element,node,showNode,scope)||!1?domClasses(showNode).remove(HIDE_CLASS):domClasses(showNode).add(HIDE_CLASS)}})}},PropertiesPanel.prototype.updateDisable=function(entry,node){var current=this._current;if(current){var nodes=domQueryAll("[data-disable]",node)||[];forEach(nodes,function(currentNode){var expr=domAttr(currentNode,"data-disable"),fn=get(entry,expr);if(fn){var scope=domClosest(currentNode,"[data-scope]")||node,shouldDisable=fn(current.element,node,currentNode,scope)||!1;domAttr(currentNode,"disabled",shouldDisable?"":null)}})}},PropertiesPanel.prototype.executeAction=function(entry,entryNode,actionId,event){var current=this._current;if(current){var fn=get(entry,actionId);if(fn){var scopeNode=domClosest(event.target,"[data-scope]")||entryNode;return fn.apply(entry,[current.element,entryNode,event,scopeNode])}}},PropertiesPanel.prototype.applyChanges=function(entry,values,containerElement){var element=this._current.element;if(!function(values,oldValues){return isArray(values)?values.length===oldValues.length&&values.every(function(v,idx){return valueEqual(v,oldValues[idx])}):valueEqual(values,oldValues)}(values,entry.oldValues)){var commandToExecute,command=entry.set(element,values,containerElement);isArray(command)?command.length&&(commandToExecute={cmd:"properties-panel.multi-command-executor",context:flattenDeep(command)}):commandToExecute=command,commandToExecute?this._commandStack.execute(commandToExecute.cmd,commandToExecute.context||{element:element}):this.update(element)}},PropertiesPanel.prototype.applyValidationErrors=function(validationErrors,entryNode){var valid=!0,controlNodes=getFormControls(entryNode,!0);return forEach(controlNodes,function(controlNode){var name=domAttr(controlNode,"name")||domAttr(controlNode,"data-name"),error=validationErrors&&validationErrors[name],errorMessageNode=domQuery(".bpp-error-message",controlNode.parentNode);error?(valid=!1,errorMessageNode||(errorMessageNode=domify("
"),domClasses(errorMessageNode).add("bpp-error-message"),controlNode.parentNode.insertBefore(errorMessageNode,controlNode.nextSibling)),errorMessageNode.textContent=error,domClasses(controlNode).add("invalid")):(domClasses(controlNode).remove("invalid"),errorMessageNode&&controlNode.parentNode.removeChild(errorMessageNode))}),valid},PropertiesPanel.prototype.validate=function(entry,values,entryNode){var current=this._current,valid=!0;if(entryNode=entryNode||domQuery('[data-entry="'+entry.id+'"]',current.panel),values instanceof Array)for(var listEntryNodes=domQuery("[data-list-entry-container]",entryNode).children||[],i=0;i'),headerNode=domify('
'),tabBarNode=domify('
'),tabLinksNode=domify(''),tabContainerNode=domify('
');return panelNode.appendChild(headerNode),forEach(tabs,function(tab,tabIndex){if(!tab.id)throw new Error("tab must have an id");var tabNode=domify('
'),tabLinkNode=domify('"),groups=tab.groups;forEach(groups,function(group){if(!group.id)throw new Error("group must have an id");var groupNode=domify('
'+escapeHTML(group.label)+"
");groupNode.querySelector(".group-toggle").addEventListener("click",function(evt){domClasses(groupNode).toggle("group-closed"),evt.preventDefault(),evt.stopPropagation()}),groupNode.addEventListener("click",function(evt){!evt.defaultPrevented&&domClasses(groupNode).has("group-closed")&&domClasses(groupNode).remove("group-closed")}),forEach(group.entries,function(entry){if(!entry.id)throw new Error("entry must have an id");var html=entry.html;"string"==typeof html&&(html=domify(html)),html.get&&html.constructor.prototype.jquery&&(html=html.get(0));var entryNode=domify('
');forEach(entry.cssClasses||[],function(cssClass){domClasses(entryNode).add(cssClass)}),entryNode.appendChild(html),groupNode.appendChild(entryNode),self.updateState(entry,entryNode)}),tabNode.appendChild(groupNode)}),tabLinksNode.appendChild(tabLinkNode),tabContainerNode.appendChild(tabNode)}),tabBarNode.appendChild(tabLinksNode),panelNode.appendChild(tabBarNode),panelNode.appendChild(tabContainerNode),panelNode}},{"./Utils":4,"bpmn-js/lib/util/ModelUtil":173,"lodash/debounce":534,"lodash/filter":536,"lodash/flattenDeep":539,"lodash/forEach":540,"lodash/get":541,"lodash/isArray":545,"lodash/isEmpty":549,"lodash/keyBy":556,"lodash/keys":557,"lodash/map":558,"lodash/xor":571,"min-dom":573,"scroll-tabs":582,"selection-update":583}],4:[function(require,module,exports){"use strict";var domQuery=require("min-dom").query,domClear=require("min-dom").clear,is=require("bpmn-js/lib/util/ModelUtil").is,forEach=require("lodash/forEach"),domify=require("min-dom").domify,Ids=require("ids").default,SPACE_REGEX=/\s/,QNAME_REGEX=/^([a-z][\w-.]*:)?[a-z_][\w-.]*$/i,ID_REGEX=/^[a-z_][\w-.]*$/i,HTML_ESCAPE_MAP={"&":"&","<":"<",">":">",'"':""","'":"'"};function selectedOption(selectBox){if(0<=selectBox.selectedIndex)return selectBox.options[selectBox.selectedIndex].value}function getRoot(businessObject){for(var parent=businessObject;parent.$parent;)parent=parent.$parent;return parent}function filterElementsByType(objectList,type){var result=[];return forEach(objectList||[],function(obj){is(obj,type)&&result.push(obj)}),result}function findRootElementsByType(businessObject,referencedType){return filterElementsByType(getRoot(businessObject).rootElements,referencedType)}function addEmptyParameter(list){return list.push({label:"",value:"",name:""})}function refreshOptionsModel(businessObject,referencedType){var model=[],referableObjects=findRootElementsByType(businessObject,referencedType);return forEach(referableObjects,function(obj){model.push({label:(obj.name||"")+" (id="+obj.id+")",value:obj.id,name:obj.name})}),model}function validateId(idValue,translate){return containsSpace(idValue)?translate("Id must not contain spaces."):ID_REGEX.test(idValue)?void 0:QNAME_REGEX.test(idValue)?translate("Id must not contain prefix."):translate("Id must be a valid QName.")}function containsSpace(value){return SPACE_REGEX.test(value)}function escapeHTML(str){return(str=""+str)&&str.replace(/[&<>"']/g,function(match){return HTML_ESCAPE_MAP[match]})}module.exports.selectedOption=selectedOption,module.exports.selectedType=function(elementSyntax,inputNode){return selectedOption(domQuery(elementSyntax,inputNode))},module.exports.getRoot=getRoot,module.exports.filterElementsByType=filterElementsByType,module.exports.findRootElementsByType=findRootElementsByType,module.exports.removeAllChildren=function(domElement){for(;domElement.firstChild;)domElement.removeChild(domElement.firstChild)},module.exports.addEmptyParameter=addEmptyParameter,module.exports.refreshOptionsModel=refreshOptionsModel,module.exports.updateOptionsDropDown=function(domSelector,businessObject,referencedType,entryNode){var options=refreshOptionsModel(businessObject,referencedType);addEmptyParameter(options);var selectBox=domQuery(domSelector,entryNode);return domClear(selectBox),forEach(options,function(option){var optionEntry=domify('");selectBox.appendChild(optionEntry)}),options},module.exports.isIdValid=function(bo,idValue,translate){var assigned=bo.$model.ids.assigned(idValue);return!idValue||assigned&&assigned!==bo?translate("Element must have an unique id."):validateId(idValue,translate)},module.exports.validateId=validateId,module.exports.containsSpace=containsSpace,module.exports.nextId=function(prefix){return new Ids([32,32,1]).nextPrefixed(prefix)},module.exports.triggerClickEvent=function(element){var evt;if(document.createEvent){try{evt=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0})}catch(e){(evt=document.createEvent("MouseEvent")).initEvent("click",!0,!0)}return element.dispatchEvent(evt)}return evt=document.createEventObject(),element.fireEvent("onclick",evt)},module.exports.escapeHTML=escapeHTML},{"bpmn-js/lib/util/ModelUtil":173,ids:365,"lodash/forEach":540,"min-dom":573}],5:[function(require,module,exports){"use strict";var elementHelper=require("../helper/ElementHelper");function CreateAndReferenceElementHandler(elementRegistry,bpmnFactory){this._elementRegistry=elementRegistry,this._bpmnFactory=bpmnFactory}function ensureNotNull(prop,name){if(!prop)throw new Error(name+" required");return prop}CreateAndReferenceElementHandler.$inject=["elementRegistry","bpmnFactory"],(module.exports=CreateAndReferenceElementHandler).prototype.execute=function(context){var referencingObject=ensureNotNull(context.referencingObject,"referencingObject"),referenceProperty=ensureNotNull(context.referenceProperty,"referenceProperty"),newObject=ensureNotNull(context.newObject,"newObject"),newObjectContainer=ensureNotNull(context.newObjectContainer,"newObjectContainer"),newObjectParent=ensureNotNull(context.newObjectParent,"newObjectParent"),changed=[context.element],referencedObject=elementHelper.createElement(newObject.type,newObject.properties,newObjectParent,this._bpmnFactory);return context.referencedObject=referencedObject,newObjectContainer.push(referencedObject),context.previousReference=referencingObject[referenceProperty],referencingObject[referenceProperty]=referencedObject,context.changed=changed},CreateAndReferenceElementHandler.prototype.revert=function(context){var referencingObject=context.referencingObject,referenceProperty=context.referenceProperty,previousReference=context.previousReference,referencedObject=context.referencedObject,newObjectContainer=context.newObjectContainer;return referencingObject.set(referenceProperty,previousReference),newObjectContainer.splice(newObjectContainer.indexOf(referencedObject),1),context.changed}},{"../helper/ElementHelper":24}],6:[function(require,module,exports){"use strict";var forEach=require("lodash/forEach"),elementHelper=require("../helper/ElementHelper");function CreateBusinessObjectListHandler(elementRegistry,bpmnFactory){this._elementRegistry=elementRegistry,this._bpmnFactory=bpmnFactory}function ensureNotNull(prop,name){if(!prop)throw new Error(name+" required");return prop}CreateBusinessObjectListHandler.$inject=["elementRegistry","bpmnFactory"],(module.exports=CreateBusinessObjectListHandler).prototype.execute=function(context){var currentObject=ensureNotNull(context.currentObject,"currentObject"),propertyName=ensureNotNull(context.propertyName,"propertyName"),newObjects=function(prop,name){if(!prop||"[object Array]"!==Object.prototype.toString.call(prop))throw new Error(name+" needs to be a list");return prop}(context.newObjects,"newObjects"),changed=[context.element],childObjects=[],self=this;return forEach(newObjects,function(obj){var element=elementHelper.createElement(obj.type,obj.properties,currentObject,self._bpmnFactory);childObjects.push(element)}),context.childObject=childObjects,context.previousChilds=currentObject[propertyName],currentObject[propertyName]=childObjects,context.changed=changed},CreateBusinessObjectListHandler.prototype.revert=function(context){var currentObject=context.currentObject,propertyName=context.propertyName,previousChilds=context.previousChilds;return currentObject.set(propertyName,previousChilds),context.changed}},{"../helper/ElementHelper":24,"lodash/forEach":540}],7:[function(require,module,exports){"use strict";var forEach=require("lodash/forEach");function MultiCommandHandler(commandStack){this._commandStack=commandStack}MultiCommandHandler.$inject=["commandStack"],(module.exports=MultiCommandHandler).prototype.preExecute=function(context){var commandStack=this._commandStack;forEach(context,function(command){commandStack.execute(command.cmd,command.context)})}},{"lodash/forEach":540}],8:[function(require,module,exports){"use strict";var reduce=require("lodash/transform"),is=require("bpmn-js/lib/util/ModelUtil").is,keys=require("lodash/keys"),forEach=require("lodash/forEach");function UpdateBusinessObjectHandler(elementRegistry){this._elementRegistry=elementRegistry}function setProperties(businessObject,properties){forEach(properties,function(value,key){businessObject.set(key,value)})}UpdateBusinessObjectHandler.$inject=["elementRegistry"],(module.exports=UpdateBusinessObjectHandler).prototype.execute=function(context){var element=context.element,businessObject=context.businessObject,rootElements=function(businessObject){for(var parent=businessObject;parent.$parent;)parent=parent.$parent;return parent}(businessObject).rootElements,referenceType=context.referenceType,referenceProperty=context.referenceProperty,changed=[element];if(!element)throw new Error("element required");if(!businessObject)throw new Error("businessObject required");var properties=context.properties,oldProperties=context.oldProperties||function(businessObject,propertyNames){return reduce(propertyNames,function(result,key){return result[key]=businessObject.get(key),result},{})}(businessObject,keys(properties));return void 0!==referenceType&&void 0!==referenceProperty&&forEach(rootElements,function(rootElement){is(rootElement,referenceType)&&rootElement.id===properties[referenceProperty]&&(properties[referenceProperty]=rootElement)}),setProperties(businessObject,properties),context.oldProperties=oldProperties,context.changed=changed},UpdateBusinessObjectHandler.prototype.revert=function(context){var oldProperties=context.oldProperties;return setProperties(context.businessObject,oldProperties),context.changed}},{"bpmn-js/lib/util/ModelUtil":173,"lodash/forEach":540,"lodash/keys":557,"lodash/transform":569}],9:[function(require,module,exports){"use strict";var forEach=require("lodash/forEach");function UpdateBusinessObjectListHandler(elementRegistry,bpmnFactory){this._elementRegistry=elementRegistry,this._bpmnFactory=bpmnFactory}function ensureNotNull(prop,name){if(!prop)throw new Error(name+"required");return prop}UpdateBusinessObjectListHandler.$inject=["elementRegistry","bpmnFactory"],(module.exports=UpdateBusinessObjectListHandler).prototype.execute=function(context){var referencePropertyName,currentObject=ensureNotNull(context.currentObject,"currentObject"),propertyName=ensureNotNull(context.propertyName,"propertyName"),updatedObjectList=context.updatedObjectList,objectsToRemove=context.objectsToRemove||[],objectsToAdd=context.objectsToAdd||[],changed=[context.element];context.referencePropertyName&&(referencePropertyName=context.referencePropertyName);var objectList=currentObject[propertyName];if(context.previousList=currentObject[propertyName],updatedObjectList)currentObject[propertyName]=updatedObjectList;else{var listCopy=[];if(forEach(objectList,function(object){-1==objectsToRemove.indexOf(object)&&listCopy.push(object)}),0<(listCopy=listCopy.concat(objectsToAdd)).length||!referencePropertyName)currentObject[propertyName]=listCopy;else if(referencePropertyName){currentObject.$parent.set(referencePropertyName,void 0)}}return context.changed=changed},UpdateBusinessObjectListHandler.prototype.revert=function(context){var currentObject=context.currentObject,propertyName=context.propertyName,previousList=context.previousList,parentObject=currentObject.$parent;return context.referencePropertyName&&parentObject.set(context.referencePropertyName,currentObject),currentObject.set(propertyName,previousList),context.changed}},{"lodash/forEach":540}],10:[function(require,module,exports){"use strict";var forEach=require("lodash/forEach"),HANDLERS={"properties-panel.update-businessobject":require("./UpdateBusinessObjectHandler"),"properties-panel.create-and-reference":require("./CreateAndReferenceHandler"),"properties-panel.create-businessobject-list":require("./CreateBusinessObjectListHandler"),"properties-panel.update-businessobject-list":require("./UpdateBusinessObjectListHandler"),"properties-panel.multi-command-executor":require("./MultiCommandHandler")};function CommandInitializer(eventBus,commandStack){eventBus.on("diagram.init",function(){forEach(HANDLERS,function(handler,id){commandStack.registerHandler(id,handler)})})}CommandInitializer.$inject=["eventBus","commandStack"],module.exports={__init__:[CommandInitializer]}},{"./CreateAndReferenceHandler":5,"./CreateBusinessObjectListHandler":6,"./MultiCommandHandler":7,"./UpdateBusinessObjectHandler":8,"./UpdateBusinessObjectListHandler":9,"lodash/forEach":540}],11:[function(require,module,exports){"use strict";var getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,cmdHelper=require("../helper/CmdHelper"),escapeHTML=require("../Utils").escapeHTML,entryFieldDescription=require("./EntryFieldDescription");module.exports=function(options,defaultParameters){var resource=defaultParameters,id=resource.id,label=options.label||id,canBeDisabled=!!options.disabled&&"function"==typeof options.disabled,canBeHidden=!!options.hidden&&"function"==typeof options.hidden,description=options.description;return resource.html='",description&&(resource.html+=entryFieldDescription(description)),resource.get=function(element){var bo=getBusinessObject(element),res={};return res[options.modelProperty]=bo.get(options.modelProperty),res},resource.set=function(element,values){var res={};return res[options.modelProperty]=!!values[options.modelProperty],cmdHelper.updateProperties(element,res)},"function"==typeof options.set&&(resource.set=options.set),"function"==typeof options.get&&(resource.get=options.get),canBeDisabled&&(resource.isDisabled=function(){return options.disabled.apply(resource,arguments)}),canBeHidden&&(resource.isHidden=function(){return!options.hidden.apply(resource,arguments)}),resource.cssClasses=["bpp-checkbox"],resource}},{"../Utils":4,"../helper/CmdHelper":23,"./EntryFieldDescription":14,"bpmn-js/lib/util/ModelUtil":173}],12:[function(require,module,exports){"use strict";var assign=require("lodash/assign"),find=require("lodash/find"),domQuery=require("min-dom").query,escapeHTML=require("../Utils").escapeHTML,selectEntryFactory=require("./SelectEntryFactory"),entryFieldDescription=require("./EntryFieldDescription");module.exports=function(options){var selectOptions=options.selectOptions,modelProperty=options.modelProperty,customValue=options.customValue||"custom",customName=options.customName||"custom "+modelProperty,description=options.description,comboOptions=assign({},options);comboOptions.showCustomInput=function(element,node){var selectBox=domQuery('[data-entry="'+options.id+'"] select',node.parentNode);return!!selectBox&&selectBox.value===customValue},comboOptions.get=function(element,node){var value=options.get(element,node),modifiedValues={};return function(value){return void 0!==value[modelProperty]&&!find(selectOptions,function(option){return value[modelProperty]===option.value})}(value)?(modifiedValues[modelProperty]=customValue,modifiedValues["custom-"+modelProperty]=value[modelProperty]):modifiedValues[modelProperty]=value[modelProperty]||"",modifiedValues},comboOptions.set=function(element,values,node){var modifiedValues={};return values[modelProperty]===customValue?modifiedValues[modelProperty]=values["custom-"+modelProperty]||"":options.emptyParameter&&""===values[modelProperty]?modifiedValues[modelProperty]=void 0:modifiedValues[modelProperty]=values[modelProperty],options.set(element,modifiedValues,node)},comboOptions.selectOptions.push({name:customName,value:customValue});var comboBoxEntry=assign({},selectEntryFactory(comboOptions,comboOptions));return comboBoxEntry.html+='
',description&&(comboBoxEntry.html+=entryFieldDescription(description)),comboBoxEntry}},{"../Utils":4,"./EntryFieldDescription":14,"./SelectEntryFactory":17,"lodash/assign":531,"lodash/find":537,"min-dom":573}],13:[function(require,module,exports){"use strict";var getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,textInputField=require("./TextInputEntryFactory"),checkboxField=require("./CheckboxEntryFactory"),selectBoxField=require("./SelectEntryFactory"),comboBoxField=require("./ComboEntryFactory"),textBoxField=require("./TextBoxEntryFactory"),validationAwareTextInputField=require("./ValidationAwareTextInput"),tableField=require("./TableEntryFactory"),labelEntry=require("./LabelFactory"),link=require("./LinkEntryFactory"),cmdHelper=require("../helper/CmdHelper");function ensureNotNull(prop){if(!prop)throw new Error(prop+" must be set.");return prop}var setDefaultParameters=function(options){return{id:options.id,description:options.description||"",get:options.get||function(element){var bo=getBusinessObject(element),res={},prop=ensureNotNull(options.modelProperty);return res[prop]=bo.get(prop),res},set:options.set||function(element,values){var res={},prop=ensureNotNull(options.modelProperty);return""!==values[prop]?res[prop]=values[prop]:res[prop]=void 0,cmdHelper.updateProperties(element,res)},validate:options.validate||function(){return{}},html:""}};function EntryFactory(){}EntryFactory.textField=function(options){return textInputField(options,setDefaultParameters(options))},EntryFactory.validationAwareTextField=function(options){return validationAwareTextInputField(options,setDefaultParameters(options))},EntryFactory.checkbox=function(options){return checkboxField(options,setDefaultParameters(options))},EntryFactory.textBox=function(options){return textBoxField(options,setDefaultParameters(options))},EntryFactory.selectBox=function(options){return selectBoxField(options,setDefaultParameters(options))},EntryFactory.comboBox=function(options){return comboBoxField(options)},EntryFactory.table=function(options){return tableField(options)},EntryFactory.label=function(options){return labelEntry(options)},EntryFactory.link=function(options){return link(options)},module.exports=EntryFactory},{"../helper/CmdHelper":23,"./CheckboxEntryFactory":11,"./ComboEntryFactory":12,"./LabelFactory":15,"./LinkEntryFactory":16,"./SelectEntryFactory":17,"./TableEntryFactory":18,"./TextBoxEntryFactory":19,"./TextInputEntryFactory":20,"./ValidationAwareTextInput":21,"bpmn-js/lib/util/ModelUtil":173}],14:[function(require,module,exports){"use strict";var escapeHTML=require("../Utils").escapeHTML;function escapeText(text){for(var match,index=0,escaped=[],pattern=//gi;match=pattern.exec(text);)match.index>index&&escaped.push(escapeHTML(text.substring(index,match.index))),escaped.push("
"),index=match.index+match[0].length;return index(.+?(?=<\/))<\/a>)/gi,index=0;match=pattern.exec(description);)match.index>index&&escaped.push(escapeText(description.substring(index,match.index))),link=match[2]&&encodeURI(match[2])||match[3],text=match[1]||match[4],escaped.push(''+escapeText(text)+""),index=match.index+match[0].length;return index'+escaped.join("")+""}},{"../Utils":4}],15:[function(require,module,exports){"use strict";module.exports=function(options){return{id:options.id,html:'',get:function(element,node){return"function"==typeof options.get?options.get(element,node):{label:options.labelText}},showLabel:function(element,node){return"function"!=typeof options.showLabel||options.showLabel(element,node)}}}},{}],16:[function(require,module,exports){"use strict";var escapeHTML=require("../Utils").escapeHTML,entryFieldDescription=require("./EntryFieldDescription"),bind=require("lodash/bind");module.exports=function(options){var id=options.id,label=options.label||id,showLink=options.showLink,handleClick=options.handleClick,description=options.description;if(showLink&&"function"!=typeof showLink)throw new Error("options.showLink must be a function");if("function"!=typeof handleClick)throw new Error("options.handleClick must be a function");var resource={id:id};return resource.html=''+escapeHTML(label)+"",description&&(resource.html+=entryFieldDescription(description)),resource.handleClick=bind(handleClick,resource),"function"==typeof showLink&&(resource.showLink=function(){return showLink.apply(resource,arguments)}),resource}},{"../Utils":4,"./EntryFieldDescription":14,"lodash/bind":532}],17:[function(require,module,exports){"use strict";var escapeHTML=require("../Utils").escapeHTML,domify=require("min-dom").domify,forEach=require("lodash/forEach"),entryFieldDescription=require("./EntryFieldDescription");module.exports=function(options,defaultParameters){var resource=defaultParameters,label=options.label||resource.id,selectOptions=options.selectOptions||[{name:"",value:""}],modelProperty=options.modelProperty,emptyParameter=options.emptyParameter,canBeDisabled=!!options.disabled&&"function"==typeof options.disabled,canBeHidden=!!options.hidden&&"function"==typeof options.hidden,description=options.description;return emptyParameter&&(selectOptions=function(list){return list.concat([{name:"",value:""}])}(selectOptions)),resource.html='",description&&"function"!=typeof options.showCustomInput&&(resource.html+=entryFieldDescription(description)),resource.setControlValue=function(element,entryNode,inputNode,inputName,newValue){if("function"==typeof selectOptions){var options=selectOptions(element,inputNode);if(options){for(;inputNode.firstChild;)inputNode.removeChild(inputNode.firstChild);forEach(options,function(option){var template=domify(function(option){return'"}(option));inputNode.appendChild(template)})}}void 0!==newValue&&(inputNode.value=newValue)},canBeDisabled&&(resource.isDisabled=function(){return options.disabled.apply(resource,arguments)}),canBeHidden&&(resource.isHidden=function(){return!options.hidden.apply(resource,arguments)}),resource.cssClasses=["bpp-dropdown"],resource}},{"../Utils":4,"./EntryFieldDescription":14,"lodash/forEach":540,"min-dom":573}],18:[function(require,module,exports){"use strict";var escapeHTML=require("../Utils").escapeHTML,cmdHelper=require("../helper/CmdHelper"),domQuery=require("min-dom").query,domAttr=require("min-dom").attr,domClosest=require("min-dom").closest,filter=require("lodash/filter"),forEach=require("lodash/forEach"),keys=require("lodash/keys"),domify=require("min-dom").domify,entryFieldDescription=require("./EntryFieldDescription"),updateSelection=require("selection-update");function createInputRowTemplate(properties,canRemove){var template='
';return template+=function(properties,canRemove){var columns=properties.length,template="";return forEach(properties,function(prop){template+=''}),template}(properties,canRemove),template+=canRemove?'':"",template+="
"}function createLabelRowTemplate(labels){var template='
';return template+=function(labels){var columns=labels.length,template="";return forEach(labels,function(label){template+='"}),template}(labels),template+="
"}function diff(element,node,values,oldValues,editable){return filter(values,function(value,idx){return!function(element,node,value,oldValue,editable,idx){return!(value&&!oldValue)&&keys(value).concat(keys(oldValue)).every(function(key){var n=value[key]||void 0,o=oldValue[key]||void 0;return!editable(element,node,key,idx)||n===o})}(element,node,value,oldValues[idx],editable,idx)})}function getEntryNode(node){return domClosest(node,"[data-entry]",!0)}function getContainer(node){return domQuery("div[data-list-entry-container]",node)}module.exports=function(options){var id=options.id,modelProperties=options.modelProperties,labels=options.labels,description=options.description,labelRow=createLabelRowTemplate(labels),getElements=options.getElements,removeElement=options.removeElement,canRemove="function"==typeof removeElement,addElement=options.addElement,canAdd="function"==typeof addElement,addLabel=options.addLabel||"Add Value",updateElement=options.updateElement,canUpdate="function"==typeof updateElement,_editable=options.editable||function(){return!0},setControlValue=options.setControlValue,_show=options.show,canBeShown="function"==typeof _show,elements=function(element,node){return function(elements,properties){return(elements||[]).map(function(elem){var newElement={};return forEach(properties,function(prop){newElement[prop]=elem[prop]||""}),newElement})}(getElements(element,node),modelProperties)},factory={id:id,html:(canAdd?'
':"")+'
'+labelRow+"
"+(description?entryFieldDescription(description):""),get:function(element,node){var boElements=elements(element,node,this.__invalidValues),invalidValues=this.__invalidValues;return delete this.__invalidValues,forEach(invalidValues,function(value,idx){var element=boElements[idx];forEach(modelProperties,function(prop){element[prop]=value[prop]})}),boElements},set:function(element,values,node){var action=this.__action||{};if(delete this.__action,"delete-element"===action.id)return removeElement(element,node,action.idx);if("add-element"===action.id)return addElement(element,node);if(canUpdate){var commands=[],valuesToValidate=values;"function"!=typeof options.validate&&(valuesToValidate=diff(element,node,values,elements(element,node),_editable));var self=this;return forEach(valuesToValidate,function(value){var validationError,idx=values.indexOf(value);if("function"==typeof options.validate&&(validationError=options.validate(element,value,node,idx)),validationError)self.__invalidValues=self.__invalidValues||{},self.__invalidValues[idx]=value,commands.push(cmdHelper.updateProperties(element,{}));else{var cmd=updateElement(element,value,node,idx);cmd&&commands.push(cmd)}}),commands}},createListEntryTemplate:function(){return createInputRowTemplate(modelProperties,canRemove)},addElement:function(element,node){var template=domify(createInputRowTemplate(modelProperties,canRemove));return getContainer(node).appendChild(template),this.__action={id:"add-element"},!0},deleteElement:function(element,node,event){var container=getContainer(node),rowToDelete=event.delegateTarget.parentNode,idx=parseInt(domAttr(rowToDelete,"data-index"),10);return container.removeChild(rowToDelete),this.__action={id:"delete-element",idx:idx},!0},editable:function(element,rowNode,input,prop,value,idx){var entryNode=domClosest(rowNode,"[data-entry]");return _editable(element,entryNode,prop,idx)},show:function(element,entryNode,node,scopeNode){return entryNode=getEntryNode(entryNode),_show(element,entryNode,node,scopeNode)},showTable:function(element,entryNode,node,scopeNode){entryNode=getEntryNode(entryNode);var elems=elements(element,entryNode);return elems&&elems.length&&(!canBeShown||_show(element,entryNode,node,scopeNode))},validateListItem:function(element,value,node,idx){if("function"==typeof options.validate)return options.validate(element,value,node,idx)}};return setControlValue&&(factory.setControlValue=function(element,rowNode,input,prop,value,idx){var selection,entryNode=getEntryNode(rowNode),isReadOnly=domAttr(input,"readonly"),oldValue=input.value;void 0===value&&(value=""),isReadOnly&&oldValue===value||(document.activeElement===input&&(selection=updateSelection(function(node){return{start:node.selectionStart,end:node.selectionEnd}}(input),oldValue,value)),setControlValue(element,entryNode,input,prop,value,idx),selection&&function(node,selection){node.selectionStart=selection.start,node.selectionEnd=selection.end}(input,selection))}),factory}},{"../Utils":4,"../helper/CmdHelper":23,"./EntryFieldDescription":14,"lodash/filter":536,"lodash/forEach":540,"lodash/keys":557,"min-dom":573,"selection-update":583}],19:[function(require,module,exports){"use strict";var escapeHTML=require("../Utils").escapeHTML,entryFieldDescription=require("./EntryFieldDescription");module.exports=function(options,defaultParameters){var resource=defaultParameters,label=options.label||resource.id,canBeShown=!!options.show&&"function"==typeof options.show,description=options.description;return resource.html='
',description&&(resource.html+=entryFieldDescription(description)),canBeShown&&(resource.isShown=function(){return options.show.apply(resource,arguments)}),resource.cssClasses=["bpp-textbox"],resource}},{"../Utils":4,"./EntryFieldDescription":14}],20:[function(require,module,exports){"use strict";var escapeHTML=require("../Utils").escapeHTML,domQuery=require("min-dom").query,entryFieldDescription=require("./EntryFieldDescription");module.exports=function(options,defaultParameters){var resource=defaultParameters,label=options.label||resource.id,dataValueLabel=options.dataValueLabel,buttonLabel=options.buttonLabel||"X",actionName=void 0!==options.buttonAction?options.buttonAction.name:"clear",actionMethod=void 0!==options.buttonAction?options.buttonAction.method:function(element,inputNode){return!(domQuery('input[name="'+options.modelProperty+'"]',inputNode).value="")},showName=void 0!==options.buttonShow?options.buttonShow.name:"canClear",showMethod=void 0!==options.buttonShow?options.buttonShow.method:function(element,inputNode){return""!==domQuery('input[name="'+options.modelProperty+'"]',inputNode).value},canBeDisabled=!!options.disabled&&"function"==typeof options.disabled,canBeHidden=!!options.hidden&&"function"==typeof options.hidden,description=options.description;return resource.html='
",description&&(resource.html+=entryFieldDescription(description)),resource[actionName]=actionMethod,resource[showName]=showMethod,canBeDisabled&&(resource.isDisabled=function(){return options.disabled.apply(resource,arguments)}),canBeHidden&&(resource.isHidden=function(){return!options.hidden.apply(resource,arguments)}),resource.cssClasses=["bpp-textfield"],resource}},{"../Utils":4,"./EntryFieldDescription":14,"min-dom":573}],21:[function(require,module,exports){"use strict";var textField=require("./TextInputEntryFactory");module.exports=function(options,defaultParameters){var modelProperty=options.modelProperty;defaultParameters.get=function(element,node){var value=this.__lastInvalidValue;delete this.__lastInvalidValue;var properties={};return properties[modelProperty]=void 0!==value?value:options.getProperty(element,node),properties},defaultParameters.set=function(element,values,node){var validationErrors=validate.apply(this,[element,values,node]),propertyValue=values[modelProperty];if(validationErrors&&validationErrors[modelProperty])return this.__lastInvalidValue=propertyValue,options.setProperty(element,{},node);var properties={};return properties[modelProperty]=propertyValue,options.setProperty(element,properties,node)};var validate=defaultParameters.validate=function(element,values,node){var value=values[modelProperty]||this.__lastInvalidValue,property={};return property[modelProperty]=value,options.validate(element,property,node)};return textField(options,defaultParameters)}},{"./TextInputEntryFactory":20}],22:[function(require,module,exports){"use strict";var collectionAdd=require("diagram-js/lib/util/Collections").add,getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,CategoryHelper={};(module.exports=CategoryHelper).createCategoryValue=function(definitions,bpmnFactory){var categoryValue=bpmnFactory.create("bpmn:CategoryValue"),category=bpmnFactory.create("bpmn:Category",{categoryValue:[categoryValue]});return collectionAdd(definitions.get("rootElements"),category),getBusinessObject(category).$parent=definitions,getBusinessObject(categoryValue).$parent=category,categoryValue}},{"bpmn-js/lib/util/ModelUtil":173,"diagram-js/lib/util/Collections":346}],23:[function(require,module,exports){"use strict";var CmdHelper={};(module.exports=CmdHelper).updateProperties=function(element,properties){return{cmd:"element.updateProperties",context:{element:element,properties:properties}}},CmdHelper.updateBusinessObject=function(element,businessObject,newProperties){return{cmd:"properties-panel.update-businessobject",context:{element:element,businessObject:businessObject,properties:newProperties}}},CmdHelper.addElementsTolist=function(element,businessObject,listPropertyName,objectsToAdd){return{cmd:"properties-panel.update-businessobject-list",context:{element:element,currentObject:businessObject,propertyName:listPropertyName,objectsToAdd:objectsToAdd}}},CmdHelper.removeElementsFromList=function(element,businessObject,listPropertyName,referencePropertyName,objectsToRemove){return{cmd:"properties-panel.update-businessobject-list",context:{element:element,currentObject:businessObject,propertyName:listPropertyName,referencePropertyName:referencePropertyName,objectsToRemove:objectsToRemove}}},CmdHelper.addAndRemoveElementsFromList=function(element,businessObject,listPropertyName,referencePropertyName,objectsToAdd,objectsToRemove){return{cmd:"properties-panel.update-businessobject-list",context:{element:element,currentObject:businessObject,propertyName:listPropertyName,referencePropertyName:referencePropertyName,objectsToAdd:objectsToAdd,objectsToRemove:objectsToRemove}}},CmdHelper.setList=function(element,businessObject,listPropertyName,updatedObjectList){return{cmd:"properties-panel.update-businessobject-list",context:{element:element,currentObject:businessObject,propertyName:listPropertyName,updatedObjectList:updatedObjectList}}}},{}],24:[function(require,module,exports){"use strict";var ElementHelper={};(module.exports=ElementHelper).createElement=function(elementType,properties,parent,factory){var element=factory.create(elementType,properties);return element.$parent=parent,element}},{}],25:[function(require,module,exports){"use strict";var getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,is=require("bpmn-js/lib/util/ModelUtil").is,forEach=require("lodash/forEach"),EventDefinitionHelper={};(module.exports=EventDefinitionHelper).getEventDefinition=function(element,eventType){var bo=getBusinessObject(element),eventDefinition=null;return bo.eventDefinitions&&forEach(bo.eventDefinitions,function(event){is(event,eventType)&&(eventDefinition=event)}),eventDefinition},EventDefinitionHelper.getTimerEventDefinition=function(element){return this.getEventDefinition(element,"bpmn:TimerEventDefinition")},EventDefinitionHelper.getMessageEventDefinition=function(element){return this.getEventDefinition(element,"bpmn:MessageEventDefinition")},EventDefinitionHelper.getSignalEventDefinition=function(element){return this.getEventDefinition(element,"bpmn:SignalEventDefinition")},EventDefinitionHelper.getErrorEventDefinition=function(element){return this.getEventDefinition(element,"bpmn:ErrorEventDefinition")},EventDefinitionHelper.getEscalationEventDefinition=function(element){return this.getEventDefinition(element,"bpmn:EscalationEventDefinition")},EventDefinitionHelper.getCompensateEventDefinition=function(element){return this.getEventDefinition(element,"bpmn:CompensateEventDefinition")},EventDefinitionHelper.getLinkEventDefinition=function(element){return this.getEventDefinition(element,"bpmn:LinkEventDefinition")},EventDefinitionHelper.getConditionalEventDefinition=function(element){return this.getEventDefinition(element,"bpmn:ConditionalEventDefinition")}},{"bpmn-js/lib/util/ModelUtil":173,"lodash/forEach":540}],26:[function(require,module,exports){"use strict";var is=require("bpmn-js/lib/util/ModelUtil").is,getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,cmdHelper=require("./CmdHelper"),ParticipantHelper={};(module.exports=ParticipantHelper).modifyProcessBusinessObject=function(element,property,values){if(!is(element,"bpmn:Participant"))return{};var bo=getBusinessObject(element).get("processRef"),properties={};return properties[property]=values[property],cmdHelper.updateBusinessObject(element,bo,properties)},ParticipantHelper.getProcessBusinessObject=function(element,propertyName){if(!is(element,"bpmn:Participant"))return{};var bo=getBusinessObject(element).get("processRef"),properties={};return properties[propertyName]=bo.get(propertyName),properties}},{"./CmdHelper":23,"bpmn-js/lib/util/ModelUtil":173}],27:[function(require,module,exports){"use strict";module.exports={__depends__:[require("./cmd"),require("diagram-js/lib/i18n/translate").default],__init__:["propertiesPanel"],propertiesPanel:["type",require("./PropertiesPanel")]}},{"./PropertiesPanel":3,"./cmd":10,"diagram-js/lib/i18n/translate":329}],28:[function(require,module,exports){"use strict";var is=require("bpmn-js/lib/util/ModelUtil").is,isAny=require("bpmn-js/lib/features/modeling/util/ModelingUtil").isAny,getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,eventDefinitionHelper=require("../../../helper/EventDefinitionHelper"),forEach=require("lodash/forEach"),message=require("./implementation/MessageEventDefinition"),signal=require("./implementation/SignalEventDefinition"),error=require("./implementation/ErrorEventDefinition"),escalation=require("./implementation/EscalationEventDefinition"),timer=require("./implementation/TimerEventDefinition"),compensation=require("./implementation/CompensateEventDefinition"),condition=require("./implementation/ConditionalEventDefinition");module.exports=function(group,element,bpmnFactory,elementRegistry,translate){forEach(["bpmn:StartEvent","bpmn:EndEvent","bpmn:IntermediateThrowEvent","bpmn:BoundaryEvent","bpmn:IntermediateCatchEvent"],function(event){if(is(element,event)){var messageEventDefinition=eventDefinitionHelper.getMessageEventDefinition(element),signalEventDefinition=eventDefinitionHelper.getSignalEventDefinition(element);messageEventDefinition&&message(group,element,bpmnFactory,messageEventDefinition,translate),signalEventDefinition&&signal(group,element,bpmnFactory,signalEventDefinition,translate)}}),is(element,"bpmn:ReceiveTask")&&message(group,element,bpmnFactory,getBusinessObject(element),translate);forEach(["bpmn:StartEvent","bpmn:BoundaryEvent","bpmn:EndEvent"],function(event){if(is(element,event)){var errorEventDefinition=eventDefinitionHelper.getErrorEventDefinition(element);errorEventDefinition&&error(group,element,bpmnFactory,errorEventDefinition,translate)}});forEach(["bpmn:StartEvent","bpmn:BoundaryEvent","bpmn:IntermediateThrowEvent","bpmn:EndEvent"],function(event){if(is(element,event)){var showEscalationCodeVariable=is(element,"bpmn:StartEvent")||is(element,"bpmn:BoundaryEvent"),escalationEventDefinition=eventDefinitionHelper.getEscalationEventDefinition(element);escalationEventDefinition&&escalation(group,element,bpmnFactory,escalationEventDefinition,showEscalationCodeVariable,translate)}});forEach(["bpmn:StartEvent","bpmn:BoundaryEvent","bpmn:IntermediateCatchEvent"],function(event){if(is(element,event)){var timerEventDefinition=eventDefinitionHelper.getTimerEventDefinition(element);timerEventDefinition&&timer(group,element,bpmnFactory,timerEventDefinition,translate)}});forEach(["bpmn:EndEvent","bpmn:IntermediateThrowEvent"],function(event){if(is(element,event)){var compensateEventDefinition=eventDefinitionHelper.getCompensateEventDefinition(element);compensateEventDefinition&&compensation(group,element,bpmnFactory,compensateEventDefinition,elementRegistry,translate)}});if(isAny(element,["bpmn:StartEvent","bpmn:BoundaryEvent","bpmn:IntermediateThrowEvent","bpmn:IntermediateCatchEvent"])){var conditionalEventDefinition=eventDefinitionHelper.getConditionalEventDefinition(element);conditionalEventDefinition&&condition(group,element,bpmnFactory,conditionalEventDefinition,elementRegistry,translate)}}},{"../../../helper/EventDefinitionHelper":25,"./implementation/CompensateEventDefinition":33,"./implementation/ConditionalEventDefinition":34,"./implementation/ErrorEventDefinition":36,"./implementation/EscalationEventDefinition":37,"./implementation/MessageEventDefinition":39,"./implementation/SignalEventDefinition":41,"./implementation/TimerEventDefinition":42,"bpmn-js/lib/features/modeling/util/ModelingUtil":145,"bpmn-js/lib/util/ModelUtil":173,"lodash/forEach":540}],29:[function(require,module,exports){"use strict";var entryFactory=require("../../../factory/EntryFactory"),getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,utils=require("../../../Utils"),cmdHelper=require("../../../helper/CmdHelper");module.exports=function(group,element,translate,options){var description=options&&options.description;group.entries.push(entryFactory.validationAwareTextField({id:"id",label:translate("Id"),description:description&&translate(description),modelProperty:"id",getProperty:function(element){return getBusinessObject(element).id},setProperty:function(element,properties){return element=element.labelTarget||element,cmdHelper.updateProperties(element,properties)},validate:function(element,values){var idValue=values.id,bo=getBusinessObject(element),idError=utils.isIdValid(bo,idValue,translate);return idError?{id:idError}:{}}}))}},{"../../../Utils":4,"../../../factory/EntryFactory":13,"../../../helper/CmdHelper":23,"bpmn-js/lib/util/ModelUtil":173}],30:[function(require,module,exports){"use strict";var is=require("bpmn-js/lib/util/ModelUtil").is,getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,entryFactory=require("../../../factory/EntryFactory"),cmdHelper=require("../../../helper/CmdHelper"),forEach=require("lodash/forEach");module.exports=function(group,element,translate){forEach(["bpmn:IntermediateThrowEvent","bpmn:IntermediateCatchEvent"],function(event){if(is(element,event)){var linkEventDefinition=function(element){var bo=getBusinessObject(element),linkEventDefinition=null;return bo.eventDefinitions&&forEach(bo.eventDefinitions,function(eventDefinition){is(eventDefinition,"bpmn:LinkEventDefinition")&&(linkEventDefinition=eventDefinition)}),linkEventDefinition}(element);if(linkEventDefinition){var entry=entryFactory.textField({id:"link-event",label:translate("Link Name"),modelProperty:"link-name"});entry.get=function(){return{"link-name":linkEventDefinition.get("name")}},entry.set=function(element,values){var newProperties={name:values["link-name"]};return cmdHelper.updateBusinessObject(element,linkEventDefinition,newProperties)},group.entries.push(entry)}}})}},{"../../../factory/EntryFactory":13,"../../../helper/CmdHelper":23,"bpmn-js/lib/util/ModelUtil":173,"lodash/forEach":540}],31:[function(require,module,exports){"use strict";var nameEntryFactory=require("./implementation/Name"),createCategoryValue=require("../../../helper/CategoryHelper").createCategoryValue,is=require("bpmn-js/lib/util/ModelUtil").is,getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject;module.exports=function(group,element,bpmnFactory,canvas,translate){var options;is(element,"bpmn:Collaboration")||(is(element,"bpmn:TextAnnotation")?options={modelProperty:"text",label:translate("Text")}:is(element,"bpmn:Group")&&(options={modelProperty:"categoryValue",label:translate("Category Value"),get:function(element){return{categoryValue:(getBusinessObject(element).categoryValueRef||{}).value}},set:function(element,values){var bo=getBusinessObject(element);return bo.categoryValueRef||function(semantic){var rootElement=canvas.getRootElement(),definitions=getBusinessObject(rootElement).$parent,categoryValue=createCategoryValue(definitions,bpmnFactory);semantic.categoryValueRef=categoryValue}(bo),{cmd:"element.updateLabel",context:{element:element,newLabel:values.categoryValue}}}}),group.entries=group.entries.concat(nameEntryFactory(element,options,translate)))}},{"../../../helper/CategoryHelper":22,"./implementation/Name":40,"bpmn-js/lib/util/ModelUtil":173}],32:[function(require,module,exports){"use strict";var is=require("bpmn-js/lib/util/ModelUtil").is,entryFactory=require("../../../factory/EntryFactory"),participantHelper=require("../../../helper/ParticipantHelper"),getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,nameEntryFactory=require("./implementation/Name"),utils=require("../../../Utils");module.exports=function(group,element,translate,options){var businessObject=getBusinessObject(element),processIdDescription=options&&options.processIdDescription;if((is(element,"bpmn:Process")||is(element,"bpmn:Participant")&&businessObject.get("processRef"))&&is(element,"bpmn:Participant")){var idEntry=entryFactory.validationAwareTextField({id:"process-id",label:translate("Process Id"),description:processIdDescription&&translate(processIdDescription),modelProperty:"processId"});idEntry.get=function(element){return{processId:participantHelper.getProcessBusinessObject(element,"id").id}},idEntry.set=function(element,values){return participantHelper.modifyProcessBusinessObject(element,"id",{id:values.processId})},idEntry.validate=function(element,values){var idValue=values.processId,bo=getBusinessObject(element),processIdError=utils.isIdValid(bo.processRef,idValue,translate);return processIdError?{processId:processIdError}:{}},group.entries.push(idEntry);var processNameEntry=nameEntryFactory(element,{id:"process-name",label:translate("Process Name")})[0];processNameEntry.get=function(element){return participantHelper.getProcessBusinessObject(element,"name")},processNameEntry.set=function(element,values){return participantHelper.modifyProcessBusinessObject(element,"name",values)},group.entries.push(processNameEntry)}}},{"../../../Utils":4,"../../../factory/EntryFactory":13,"../../../helper/ParticipantHelper":26,"./implementation/Name":40,"bpmn-js/lib/util/ModelUtil":173}],33:[function(require,module,exports){"use strict";var entryFactory=require("../../../../factory/EntryFactory"),cmdHelper=require("../../../../helper/CmdHelper"),eventDefinitionHelper=require("../../../../helper/EventDefinitionHelper"),utils=require("../../../../Utils"),getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,is=require("bpmn-js/lib/util/ModelUtil").is,forEach=require("lodash/forEach"),find=require("lodash/find"),filter=require("lodash/filter");function getFlowElements(element,type){return utils.filterElementsByType(element.flowElements,type)}function canActivityBeCompensated(activity,boundaryEvents){return is(activity,"bpmn:SubProcess")&&!activity.triggeredByEvent||is(activity,"bpmn:CallActivity")||function(activity,boundaryEvents){var activityId=activity.id;return!!find(boundaryEvents,function(boundaryEvent){var compensateEventDefinition=eventDefinitionHelper.getCompensateEventDefinition(boundaryEvent),attachedToRef=boundaryEvent.attachedToRef;return compensateEventDefinition&&attachedToRef&&attachedToRef.id===activityId})}(activity,boundaryEvents)}function getActivitiesForCompensation(element){var boundaryEvents=function(element){return getFlowElements(element,"bpmn:BoundaryEvent")}(element);return filter(function(element){return getFlowElements(element,"bpmn:Activity")}(element),function(activity){return canActivityBeCompensated(activity,boundaryEvents)})}function createActivityRefOptions(element){var options=[{value:""}],activities=function(element){var parent=getBusinessObject(element).$parent,activitiesForActivityRef=getActivitiesForCompensation(parent);return is(parent,"bpmn:SubProcess")&&parent.triggeredByEvent&&(parent=parent.$parent)&&(activitiesForActivityRef=activitiesForActivityRef.concat(getActivitiesForCompensation(parent))),activitiesForActivityRef}(element);return forEach(activities,function(activity){var activityId=activity.id,name=(activity.name?activity.name+" ":"")+"(id="+activityId+")";options.push({value:activityId,name:name})}),options}module.exports=function(group,element,bpmnFactory,compensateEventDefinition,elementRegistry,translate){group.entries.push(entryFactory.checkbox({id:"wait-for-completion",label:translate("Wait for Completion"),modelProperty:"waitForCompletion",get:function(){return{waitForCompletion:compensateEventDefinition.waitForCompletion}},set:function(element,values){return values.waitForCompletion=values.waitForCompletion||!1,cmdHelper.updateBusinessObject(element,compensateEventDefinition,values)}})),group.entries.push(entryFactory.selectBox({id:"activity-ref",label:translate("Activity Ref"),selectOptions:createActivityRefOptions(element),modelProperty:"activityRef",get:function(){var activityRef=compensateEventDefinition.activityRef;return{activityRef:(activityRef=activityRef&&activityRef.id)||""}},set:function(element,values){var activityRef=values.activityRef||void 0;return activityRef=activityRef&&getBusinessObject(elementRegistry.get(activityRef)),cmdHelper.updateBusinessObject(element,compensateEventDefinition,{activityRef:activityRef})}}))}},{"../../../../Utils":4,"../../../../factory/EntryFactory":13,"../../../../helper/CmdHelper":23,"../../../../helper/EventDefinitionHelper":25,"bpmn-js/lib/util/ModelUtil":173,"lodash/filter":536,"lodash/find":537,"lodash/forEach":540}],34:[function(require,module,exports){"use strict";var entryFactory=require("../../../../factory/EntryFactory"),cmdHelper=require("../../../../helper/CmdHelper"),is=require("bpmn-js/lib/util/ModelUtil").is,isEventSubProcess=require("bpmn-js/lib/util/DiUtil").isEventSubProcess;module.exports=function(group,element,bpmnFactory,conditionalEventDefinition,elementRegistry,translate){var getValue=function(modelProperty){return function(element){var modelPropertyValue=conditionalEventDefinition.get("camunda:"+modelProperty),value={};return value[modelProperty]=modelPropertyValue,value}},setValue=function(modelProperty){return function(element,values){var props={};return props["camunda:"+modelProperty]=values[modelProperty]||void 0,cmdHelper.updateBusinessObject(element,conditionalEventDefinition,props)}};group.entries.push(entryFactory.textField({id:"variableName",label:translate("Variable Name"),modelProperty:"variableName",get:getValue("variableName"),set:setValue("variableName")})),is(element,"bpmn:StartEvent")&&!isEventSubProcess(element.parent)||group.entries.push(entryFactory.textField({id:"variableEvent",label:translate("Variable Event"),description:translate("Specify more than one variable change event as a comma separated list."),modelProperty:"variableEvent",get:getValue("variableEvent"),set:setValue("variableEvent")}))}},{"../../../../factory/EntryFactory":13,"../../../../helper/CmdHelper":23,"bpmn-js/lib/util/DiUtil":171,"bpmn-js/lib/util/ModelUtil":173}],35:[function(require,module,exports){"use strict";var entryFactory=require("../../../../factory/EntryFactory"),cmdHelper=require("../../../../helper/CmdHelper");module.exports=function(element,definition,bpmnFactory,options){var id=options.id||"element-property",label=options.label,referenceProperty=options.referenceProperty,modelProperty=options.modelProperty||"name",shouldValidate=options.shouldValidate||!1,entry=entryFactory.textField({id:id,label:label,modelProperty:modelProperty,get:function(){var reference=definition.get(referenceProperty),props={};return props[modelProperty]=reference&&reference.get(modelProperty),props},set:function(element,values){var reference=definition.get(referenceProperty),props={};return props[modelProperty]=values[modelProperty]||void 0,cmdHelper.updateBusinessObject(element,reference,props)},hidden:function(){return!definition.get(referenceProperty)}});return shouldValidate&&(entry.validate=function(element,values,node){if(definition.get(referenceProperty)&&!values[modelProperty]){var validationErrors={};return validationErrors[modelProperty]="Must provide a value",validationErrors}}),[entry]}},{"../../../../factory/EntryFactory":13,"../../../../helper/CmdHelper":23}],36:[function(require,module,exports){"use strict";var eventDefinitionReference=require("./EventDefinitionReference"),elementReferenceProperty=require("./ElementReferenceProperty");module.exports=function(group,element,bpmnFactory,errorEventDefinition,translate){group.entries=group.entries.concat(eventDefinitionReference(element,errorEventDefinition,bpmnFactory,{label:translate("Error"),elementName:"error",elementType:"bpmn:Error",referenceProperty:"errorRef",newElementIdPrefix:"Error_"})),group.entries=group.entries.concat(elementReferenceProperty(element,errorEventDefinition,bpmnFactory,{id:"error-element-name",label:translate("Error Name"),referenceProperty:"errorRef",modelProperty:"name",shouldValidate:!0})),group.entries=group.entries.concat(elementReferenceProperty(element,errorEventDefinition,bpmnFactory,{id:"error-element-code",label:translate("Error Code"),referenceProperty:"errorRef",modelProperty:"errorCode"}))}},{"./ElementReferenceProperty":35,"./EventDefinitionReference":38}],37:[function(require,module,exports){"use strict";var entryFactory=require("../../../../factory/EntryFactory"),cmdHelper=require("../../../../helper/CmdHelper"),eventDefinitionReference=require("./EventDefinitionReference"),elementReferenceProperty=require("./ElementReferenceProperty");module.exports=function(group,element,bpmnFactory,escalationEventDefinition,showEscalationCodeVariable,translate){group.entries=group.entries.concat(eventDefinitionReference(element,escalationEventDefinition,bpmnFactory,{label:translate("Escalation"),elementName:"escalation",elementType:"bpmn:Escalation",referenceProperty:"escalationRef",newElementIdPrefix:"Escalation_"})),group.entries=group.entries.concat(elementReferenceProperty(element,escalationEventDefinition,bpmnFactory,{id:"escalation-element-name",label:translate("Escalation Name"),referenceProperty:"escalationRef",modelProperty:"name",shouldValidate:!0})),group.entries=group.entries.concat(elementReferenceProperty(element,escalationEventDefinition,bpmnFactory,{id:"escalation-element-code",label:translate("Escalation Code"),referenceProperty:"escalationRef",modelProperty:"escalationCode"})),showEscalationCodeVariable&&group.entries.push(entryFactory.textField({id:"escalationCodeVariable",label:translate("Escalation Code Variable"),modelProperty:"escalationCodeVariable",get:function(){return{escalationCodeVariable:escalationEventDefinition.get("camunda:escalationCodeVariable")}},set:function(element,values){return cmdHelper.updateBusinessObject(element,escalationEventDefinition,{"camunda:escalationCodeVariable":values.escalationCodeVariable||void 0})}}))}},{"../../../../factory/EntryFactory":13,"../../../../helper/CmdHelper":23,"./ElementReferenceProperty":35,"./EventDefinitionReference":38}],38:[function(require,module,exports){"use strict";var cmdHelper=require("../../../../helper/CmdHelper"),domQuery=require("min-dom").query,domify=require("min-dom").domify,domAttr=require("min-dom").attr,forEach=require("lodash/forEach"),find=require("lodash/find"),elementHelper=require("../../../../helper/ElementHelper"),utils=require("../../../../Utils"),escapeHTML=utils.escapeHTML,selector="select[name=selectedElement]";module.exports=function(element,definition,bpmnFactory,options){var elementName=options.elementName||"",elementType=options.elementType,referenceProperty=options.referenceProperty,newElementIdPrefix=options.newElementIdPrefix||"elem_",label=options.label||"",description=options.description||"",entries=[];return entries.push({id:"event-definitions-"+elementName,description:description,html:'
',get:function(element,entryNode){utils.updateOptionsDropDown(selector,definition,elementType,entryNode);var reference=definition.get(referenceProperty);return{selectedElement:reference&&reference.id||""}},set:function(element,values){var selection=values.selectedElement,props={};if(!selection||void 0===selection)return props[referenceProperty]=void 0,cmdHelper.updateBusinessObject(element,definition,props);var commands=[],selectedElement=function(eventDefinition,type,id){var elements=utils.findRootElementsByType(eventDefinition,type);return find(elements,function(element){return element.id===id})}(definition,elementType,selection);if(!selectedElement){var root=utils.getRoot(definition);selectedElement=elementHelper.createElement(elementType,{name:selection},root,bpmnFactory),commands.push(cmdHelper.addAndRemoveElementsFromList(element,root,"rootElements",null,[selectedElement]))}return props[referenceProperty]=selectedElement,commands.push(cmdHelper.updateBusinessObject(element,definition,props)),commands},addElement:function(element,inputNode){var id=utils.nextId(newElementIdPrefix),optionTemplate=domify('"),selectBox=function(node){return domQuery(selector,node.parentElement)}(inputNode);return selectBox.insertBefore(optionTemplate,selectBox.firstChild),forEach(selectBox,function(option){option.value===id?domAttr(option,"selected","selected"):domAttr(option,"selected",null)}),!0}}),entries}},{"../../../../Utils":4,"../../../../helper/CmdHelper":23,"../../../../helper/ElementHelper":24,"lodash/find":537,"lodash/forEach":540,"min-dom":573}],39:[function(require,module,exports){"use strict";var eventDefinitionReference=require("./EventDefinitionReference"),elementReferenceProperty=require("./ElementReferenceProperty");module.exports=function(group,element,bpmnFactory,messageEventDefinition,translate){group.entries=group.entries.concat(eventDefinitionReference(element,messageEventDefinition,bpmnFactory,{label:translate("Message"),elementName:"message",elementType:"bpmn:Message",referenceProperty:"messageRef",newElementIdPrefix:"Message_"})),group.entries=group.entries.concat(elementReferenceProperty(element,messageEventDefinition,bpmnFactory,{id:"message-element-name",label:translate("Message Name"),referenceProperty:"messageRef",modelProperty:"name",shouldValidate:!0}))}},{"./ElementReferenceProperty":35,"./EventDefinitionReference":38}],40:[function(require,module,exports){"use strict";var entryFactory=require("../../../../factory/EntryFactory");module.exports=function(element,options,translate){var id=(options=options||{}).id||"name",label=options.label||translate("Name"),modelProperty=options.modelProperty||"name";return[entryFactory.textBox({id:id,label:label,modelProperty:modelProperty,get:options.get,set:options.set})]}},{"../../../../factory/EntryFactory":13}],41:[function(require,module,exports){"use strict";var eventDefinitionReference=require("./EventDefinitionReference"),elementReferenceProperty=require("./ElementReferenceProperty");module.exports=function(group,element,bpmnFactory,signalEventDefinition,translate){group.entries=group.entries.concat(eventDefinitionReference(element,signalEventDefinition,bpmnFactory,{label:translate("Signal"),elementName:"signal",elementType:"bpmn:Signal",referenceProperty:"signalRef",newElementIdPrefix:"Signal_"})),group.entries=group.entries.concat(elementReferenceProperty(element,signalEventDefinition,bpmnFactory,{id:"signal-element-name",label:translate("Signal Name"),referenceProperty:"signalRef",modelProperty:"name",shouldValidate:!0}))}},{"./ElementReferenceProperty":35,"./EventDefinitionReference":38}],42:[function(require,module,exports){"use strict";var elementHelper=require("../../../../helper/ElementHelper"),cmdHelper=require("../../../../helper/CmdHelper"),entryFactory=require("../../../../factory/EntryFactory");function getTimerDefinitionType(timer){if(timer)return void 0!==timer.get("timeDate")?"timeDate":void 0!==timer.get("timeCycle")?"timeCycle":void 0!==timer.get("timeDuration")?"timeDuration":void 0}function getTimerDefinition(timerOrFunction,element,node){return"function"==typeof timerOrFunction?timerOrFunction(element,node):timerOrFunction}module.exports=function(group,element,bpmnFactory,timerEventDefinition,translate,options){var selectOptions=[{value:"timeDate",name:translate("Date")},{value:"timeDuration",name:translate("Duration")},{value:"timeCycle",name:translate("Cycle")}],prefix=options&&options.idPrefix,createTimerEventDefinition=options&&options.createTimerEventDefinition;group.entries.push(entryFactory.selectBox({id:prefix+"timer-event-definition-type",label:translate("Timer Definition Type"),selectOptions:selectOptions,emptyParameter:!0,modelProperty:"timerDefinitionType",get:function(element,node){return{timerDefinitionType:getTimerDefinitionType(getTimerDefinition(timerEventDefinition,element,node))||""}},set:function(element,values,node){var props={timeDuration:void 0,timeDate:void 0,timeCycle:void 0},timerDefinition=getTimerDefinition(timerEventDefinition,element,node),newType=values.timerDefinitionType;if(timerDefinition||"function"!=typeof createTimerEventDefinition||(timerDefinition=createTimerEventDefinition(element,node)),values.timerDefinitionType){var value,oldType=getTimerDefinitionType(timerDefinition);if(oldType)value=timerDefinition.get(oldType).get("body");props[newType]=function(parent,body,bpmnFactory){return body=body||void 0,elementHelper.createElement("bpmn:FormalExpression",{body:body},parent,bpmnFactory)}(timerDefinition,value,bpmnFactory)}return cmdHelper.updateBusinessObject(element,timerDefinition,props)},hidden:function(element,node){return void 0===getTimerDefinition(timerEventDefinition,element,node)}})),group.entries.push(entryFactory.textField({id:prefix+"timer-event-definition",label:translate("Timer Definition"),modelProperty:"timerDefinition",get:function(element,node){var timerDefinition=getTimerDefinition(timerEventDefinition,element,node),type=getTimerDefinitionType(timerDefinition),definition=type&&timerDefinition.get(type);return{timerDefinition:definition&&definition.get("body")}},set:function(element,values,node){var timerDefinition=getTimerDefinition(timerEventDefinition,element,node),type=getTimerDefinitionType(timerDefinition),definition=type&&timerDefinition.get(type);if(definition)return cmdHelper.updateBusinessObject(element,definition,{body:values.timerDefinition||void 0})},validate:function(element,node){var timerDefinition=getTimerDefinition(timerEventDefinition,element,node),type=getTimerDefinitionType(timerDefinition),definition=type&&timerDefinition.get(type);if(definition&&!definition.get("body"))return{timerDefinition:translate("Must provide a value")}},hidden:function(element,node){return!getTimerDefinitionType(getTimerDefinition(timerEventDefinition,element,node))}}))}},{"../../../../factory/EntryFactory":13,"../../../../helper/CmdHelper":23,"../../../../helper/ElementHelper":24}],43:[function(require,module,exports){"use strict";var is=require("bpmn-js/lib/util/ModelUtil").is,isAny=require("bpmn-js/lib/features/modeling/util/ModelingUtil").isAny,getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,escapeHTML=require("../../../Utils").escapeHTML,domQuery=require("min-dom").query,cmdHelper=require("../../../helper/CmdHelper"),elementHelper=require("../../../helper/ElementHelper"),eventDefinitionHelper=require("../../../helper/EventDefinitionHelper"),scriptImplementation=require("./implementation/Script");module.exports=function(group,element,bpmnFactory,translate){var bo=getBusinessObject(element);if(bo){var conditionalEventDefinition=eventDefinitionHelper.getConditionalEventDefinition(element);if(is(element,"bpmn:SequenceFlow")&&function(element){return isAny(element,CONDITIONAL_SOURCES)}(element.source)||conditionalEventDefinition){var script=scriptImplementation("language","body",!0,translate);group.entries.push({id:"condition",label:translate("Condition"),html:'
'+script.template+"
",get:function(element){var conditionalEventDefinition=eventDefinitionHelper.getConditionalEventDefinition(element),conditionExpression=conditionalEventDefinition?conditionalEventDefinition.condition:bo.conditionExpression,values={},conditionType="";conditionExpression&&(void 0!==conditionExpression.language?(conditionType="script",values=script.get(element,conditionExpression)):(conditionType="expression",values.condition=conditionExpression.get("body")));return values.conditionType=conditionType,values},set:function(element,values,containerElement){var conditionOrConditionExpression,conditionType=values.conditionType,commands=[],conditionProps={body:void 0};if("script"===conditionType)conditionProps=script.set(element,values,containerElement);else{var condition=values.condition;conditionProps.body=condition}if(conditionType){conditionOrConditionExpression=elementHelper.createElement("bpmn:FormalExpression",conditionProps,conditionalEventDefinition||bo,bpmnFactory);var source=element.source;source&&source.businessObject.default===bo&&commands.push(cmdHelper.updateProperties(source,{default:void 0}))}var update=conditionalEventDefinition?{condition:conditionOrConditionExpression}:{conditionExpression:conditionOrConditionExpression};return commands.push(cmdHelper.updateBusinessObject(element,conditionalEventDefinition||bo,update)),commands},validate:function(element,values){var validationResult={};return values.condition||"expression"!==values.conditionType?"script"===values.conditionType&&(validationResult=script.validate(element,values)):validationResult.condition=translate("Must provide a value"),validationResult},isExpression:function(element,inputNode){var conditionType=domQuery("select[name=conditionType]",inputNode);if(0<=conditionType.selectedIndex)return"expression"===conditionType.options[conditionType.selectedIndex].value},isScript:function(element,inputNode){var conditionType=domQuery("select[name=conditionType]",inputNode);if(0<=conditionType.selectedIndex)return"script"===conditionType.options[conditionType.selectedIndex].value},clear:function(element,inputNode){return!(domQuery("input[name=condition]",inputNode).value="")},canClear:function(element,inputNode){return""!==domQuery("input[name=condition]",inputNode).value},script:script,cssClasses:["bpp-textfield"]})}}};var CONDITIONAL_SOURCES=["bpmn:Activity","bpmn:ExclusiveGateway","bpmn:InclusiveGateway","bpmn:ComplexGateway"]},{"../../../Utils":4,"../../../helper/CmdHelper":23,"../../../helper/ElementHelper":24,"../../../helper/EventDefinitionHelper":25,"./implementation/Script":44,"bpmn-js/lib/features/modeling/util/ModelingUtil":145,"bpmn-js/lib/util/ModelUtil":173,"min-dom":573}],44:[function(require,module,exports){"use strict";var domQuery=require("min-dom").query,escapeHTML=require("../../../../Utils").escapeHTML,utils=require("../../../../Utils");function getScriptType(node){return utils.selectedType("select[name=scriptType]",node.parentElement)}module.exports=function(scriptLanguagePropName,scriptValuePropName,isFormatRequired,translate){return{template:'
',get:function(element,bo){var values={},boScriptResource=bo.get("camunda:resource"),boScript=bo.get(scriptValuePropName),boScriptFormat=bo.get(scriptLanguagePropName);return void 0!==boScriptResource?(values.scriptResourceValue=boScriptResource,values.scriptType="scriptResource"):(values.scriptValue=boScript,values.scriptType="script"),values.scriptFormat=boScriptFormat,values},set:function(element,values){var scriptFormat=values.scriptFormat,scriptType=values.scriptType,scriptResourceValue=values.scriptResourceValue,scriptValue=values.scriptValue,update={"camunda:resource":void 0};return update[scriptValuePropName]=void 0,update[scriptLanguagePropName]=void 0,isFormatRequired?update[scriptLanguagePropName]=scriptFormat||"":""!==scriptFormat&&(update[scriptLanguagePropName]=scriptFormat),"scriptResource"===scriptType?update["camunda:resource"]=scriptResourceValue||"":update[scriptValuePropName]=scriptValue||"",update},validate:function(element,values){var validationResult={};return"script"!==values.scriptType||values.scriptValue||(validationResult.scriptValue=translate("Must provide a value")),"scriptResource"!==values.scriptType||values.scriptResourceValue||(validationResult.scriptResourceValue=translate("Must provide a value")),!isFormatRequired||values.scriptFormat&&0!==values.scriptFormat.length||(validationResult.scriptFormat=translate("Must provide a value")),validationResult},clearScriptFormat:function(element,inputNode,btnNode,scopeNode){return!(domQuery("input[name=scriptFormat]",scopeNode).value="")},canClearScriptFormat:function(element,inputNode,btnNode,scopeNode){return""!==domQuery("input[name=scriptFormat]",scopeNode).value},clearScriptResource:function(element,inputNode,btnNode,scopeNode){return!(domQuery("input[name=scriptResourceValue]",scopeNode).value="")},canClearScriptResource:function(element,inputNode,btnNode,scopeNode){return""!==domQuery("input[name=scriptResourceValue]",scopeNode).value},clearScript:function(element,inputNode,btnNode,scopeNode){return!(domQuery("textarea[name=scriptValue]",scopeNode).value="")},canClearScript:function(element,inputNode,btnNode,scopeNode){return""!==domQuery("textarea[name=scriptValue]",scopeNode).value},isScriptResource:function(element,inputNode,btnNode,scopeNode){return"scriptResource"===getScriptType(scopeNode)},isScript:function(element,inputNode,btnNode,scopeNode){return"script"===getScriptType(scopeNode)}}}},{"../../../../Utils":4,"min-dom":573}],45:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=BaseModeler;var _inherits2=_interopRequireDefault(require("inherits")),_ids2=_interopRequireDefault(require("ids")),_BaseViewer2=_interopRequireDefault(require("./BaseViewer"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function BaseModeler(options){_BaseViewer2.default.call(this,options),this.on("import.parse.complete",function(event){event.error||this._collectIds(event.definitions,event.context)},this),this.on("diagram.destroy",function(){this.get("moddle").ids.clear()},this)}(0,_inherits2.default)(BaseModeler,_BaseViewer2.default),BaseModeler.prototype._createModdle=function(options){var moddle=_BaseViewer2.default.prototype._createModdle.call(this,options);return moddle.ids=new _ids2.default([32,36,1]),moddle},BaseModeler.prototype._collectIds=function(definitions,context){var id,ids=definitions.$model.ids;for(id in ids.clear(),context.elementsById)ids.claim(id,context.elementsById[id])}},{"./BaseViewer":46,ids:365,inherits:366}],46:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=BaseViewer;var _minDash=require("min-dash"),_minDom=require("min-dom"),_tinySvg=require("tiny-svg"),_diagramJs2=_interopRequireDefault(require("diagram-js")),_bpmnModdle2=_interopRequireDefault(require("bpmn-moddle")),_inherits2=_interopRequireDefault(require("inherits")),_Importer=require("./import/Importer"),_PoweredByUtil=require("./util/PoweredByUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function BaseViewer(options){options=(0,_minDash.assign)({},DEFAULT_OPTIONS,options),this._moddle=this._createModdle(options),this._container=this._createContainer(options),function(container){var linkMarkup=''+_PoweredByUtil.BPMNIO_IMG+"",linkElement=(0,_minDom.domify)(linkMarkup);container.appendChild(linkElement),_minDom.event.bind(linkElement,"click",function(event){(0,_PoweredByUtil.open)(),event.preventDefault()})}(this._container),this._init(this._container,this._moddle,options)}(0,_inherits2.default)(BaseViewer,_diagramJs2.default),BaseViewer.prototype.importXML=function(xml,bpmnDiagram,done){(0,_minDash.isFunction)(bpmnDiagram)&&(done=bpmnDiagram,bpmnDiagram=null),done=done||function(){};var self=this;xml=this._emit("import.parse.start",{xml:xml})||xml,this._moddle.fromXML(xml,"bpmn:Definitions",function(err,definitions,context){definitions=self._emit("import.parse.complete",{error:err,definitions:definitions,context:context})||definitions;var parseWarnings=context.warnings;if(err)return err=function(err){var match=/unparsable content <([^>]+)> detected([\s\S]*)$/.exec(err.message);match&&(err.message="unparsable content <"+match[1]+"> detected; this may indicate an invalid BPMN 2.0 diagram file"+match[2]);return err}(err),self._emit("import.done",{error:err,warnings:parseWarnings}),done(err,parseWarnings);self.importDefinitions(definitions,bpmnDiagram,function(err,importWarnings){var allWarnings=[].concat(parseWarnings,importWarnings||[]);self._emit("import.done",{error:err,warnings:allWarnings}),done(err,allWarnings)})})},BaseViewer.prototype.importDefinitions=function(definitions,bpmnDiagram,done){return(0,_minDash.isFunction)(bpmnDiagram)&&(done=bpmnDiagram,bpmnDiagram=null),done=done||function(){},this._setDefinitions(definitions),this.open(bpmnDiagram,done)},BaseViewer.prototype.open=function(bpmnDiagramOrId,done){(0,_minDash.isFunction)(bpmnDiagramOrId)&&(done=bpmnDiagramOrId,bpmnDiagramOrId=null);var definitions=this._definitions,bpmnDiagram=bpmnDiagramOrId;if(done=done||function(){},!definitions)return done(new Error("no XML imported"));if("string"==typeof bpmnDiagramOrId&&!(bpmnDiagram=function(definitions,diagramId){return diagramId&&(0,_minDash.find)(definitions.diagrams,function(element){return element.id===diagramId})||null}(definitions,bpmnDiagramOrId)))return done(new Error("BPMNDiagram <"+bpmnDiagramOrId+"> not found"));try{this.clear()}catch(error){return done(error)}return(0,_Importer.importBpmnDiagram)(this,definitions,bpmnDiagram,done)},BaseViewer.prototype.saveXML=function(options,done){done||(done=options,options={});var self=this,definitions=this._definitions;if(!definitions)return done(new Error("no definitions loaded"));definitions=this._emit("saveXML.start",{definitions:definitions})||definitions,this._moddle.toXML(definitions,options,function(err,xml){try{xml=self._emit("saveXML.serialized",{error:err,xml:xml})||xml,self._emit("saveXML.done",{error:err,xml:xml})}catch(e){console.error("error in saveXML life-cycle listener",e)}done(err,xml)})},BaseViewer.prototype.saveSVG=function(options,done){var svg,err;done||(done=options,options={}),this._emit("saveSVG.start");try{var canvas=this.get("canvas"),contentNode=canvas.getDefaultLayer(),defsNode=(0,_minDom.query)("defs",canvas._svg),contents=(0,_tinySvg.innerSVG)(contentNode),defs=defsNode?""+(0,_tinySvg.innerSVG)(defsNode)+"":"",bbox=contentNode.getBBox();svg='\n\x3c!-- created with bpmn-js / http://bpmn.io --\x3e\n\n'+defs+contents+""}catch(e){err=e}this._emit("saveSVG.done",{error:err,svg:svg}),done(err,svg)},BaseViewer.prototype._setDefinitions=function(definitions){this._definitions=definitions},BaseViewer.prototype.getModules=function(){return this._modules},BaseViewer.prototype.clear=function(){this.getDefinitions()&&(this.get("elementRegistry").forEach(function(element){var bo=element.businessObject;bo&&bo.di&&delete bo.di}),_diagramJs2.default.prototype.clear.call(this))},BaseViewer.prototype.destroy=function(){_diagramJs2.default.prototype.destroy.call(this),(0,_minDom.remove)(this._container)},BaseViewer.prototype.on=function(event,priority,callback,target){return this.get("eventBus").on(event,priority,callback,target)},BaseViewer.prototype.off=function(event,callback){this.get("eventBus").off(event,callback)},BaseViewer.prototype.attachTo=function(parentNode){if(!parentNode)throw new Error("parentNode required");this.detach(),parentNode.get&&parentNode.constructor.prototype.jquery&&(parentNode=parentNode.get(0)),"string"==typeof parentNode&&(parentNode=(0,_minDom.query)(parentNode)),parentNode.appendChild(this._container),this._emit("attach",{}),this.get("canvas").resized()},BaseViewer.prototype.getDefinitions=function(){return this._definitions},BaseViewer.prototype.detach=function(){var container=this._container,parentNode=container.parentNode;parentNode&&(this._emit("detach",{}),parentNode.removeChild(container))},BaseViewer.prototype._init=function(container,moddle,options){var baseModules=options.modules||this.getModules(),additionalModules=options.additionalModules||[],diagramModules=[].concat([{bpmnjs:["value",this],moddle:["value",moddle]}],baseModules,additionalModules),diagramOptions=(0,_minDash.assign)((0,_minDash.omit)(options,["additionalModules"]),{canvas:(0,_minDash.assign)({},options.canvas,{container:container}),modules:diagramModules});_diagramJs2.default.call(this,diagramOptions),options&&options.container&&this.attachTo(options.container)},BaseViewer.prototype._emit=function(type,event){return this.get("eventBus").fire(type,event)},BaseViewer.prototype._createContainer=function(options){var container=(0,_minDom.domify)('
');return(0,_minDash.assign)(container.style,{width:ensureUnit(options.width),height:ensureUnit(options.height),position:options.position}),container},BaseViewer.prototype._createModdle=function(options){var moddleOptions=(0,_minDash.assign)({},this._moddleExtensions,options.moddleExtensions);return new _bpmnModdle2.default(moddleOptions)},BaseViewer.prototype._modules=[];var DEFAULT_OPTIONS={width:"100%",height:"100%",position:"relative"};function ensureUnit(val){return val+((0,_minDash.isNumber)(val)?"px":"")}},{"./import/Importer":168,"./util/PoweredByUtil":174,"bpmn-moddle":175,"diagram-js":180,inherits:366,"min-dash":572,"min-dom":573,"tiny-svg":584}],47:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Modeler;var _inherits2=_interopRequireDefault(require("inherits")),_BaseModeler2=_interopRequireDefault(require("./BaseModeler")),_Viewer2=_interopRequireDefault(require("./Viewer")),_NavigatedViewer2=_interopRequireDefault(require("./NavigatedViewer")),_keyboardMove2=_interopRequireDefault(require("diagram-js/lib/navigation/keyboard-move")),_movecanvas2=_interopRequireDefault(require("diagram-js/lib/navigation/movecanvas")),_touch2=_interopRequireDefault(require("diagram-js/lib/navigation/touch")),_zoomscroll2=_interopRequireDefault(require("diagram-js/lib/navigation/zoomscroll")),_alignElements2=_interopRequireDefault(require("diagram-js/lib/features/align-elements")),_autoPlace2=_interopRequireDefault(require("./features/auto-place")),_autoResize2=_interopRequireDefault(require("./features/auto-resize")),_autoScroll2=_interopRequireDefault(require("diagram-js/lib/features/auto-scroll")),_bendpoints2=_interopRequireDefault(require("diagram-js/lib/features/bendpoints")),_connect2=_interopRequireDefault(require("diagram-js/lib/features/connect")),_connectionPreview2=_interopRequireDefault(require("diagram-js/lib/features/connection-preview")),_contextPad2=_interopRequireDefault(require("./features/context-pad")),_copyPaste2=_interopRequireDefault(require("./features/copy-paste")),_create2=_interopRequireDefault(require("diagram-js/lib/features/create")),_distributeElements2=_interopRequireDefault(require("./features/distribute-elements")),_editorActions2=_interopRequireDefault(require("./features/editor-actions")),_gridSnapping2=_interopRequireDefault(require("./features/grid-snapping")),_interactionEvents2=_interopRequireDefault(require("./features/interaction-events")),_keyboard2=_interopRequireDefault(require("./features/keyboard")),_keyboardMoveSelection2=_interopRequireDefault(require("diagram-js/lib/features/keyboard-move-selection")),_labelEditing2=_interopRequireDefault(require("./features/label-editing")),_modeling2=_interopRequireDefault(require("./features/modeling")),_move2=_interopRequireDefault(require("diagram-js/lib/features/move")),_palette2=_interopRequireDefault(require("./features/palette")),_replacePreview2=_interopRequireDefault(require("./features/replace-preview")),_resize2=_interopRequireDefault(require("diagram-js/lib/features/resize")),_snapping2=_interopRequireDefault(require("./features/snapping")),_search2=_interopRequireDefault(require("./features/search"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function Modeler(options){_BaseModeler2.default.call(this,options)}(0,_inherits2.default)(Modeler,_BaseModeler2.default),Modeler.Viewer=_Viewer2.default,Modeler.NavigatedViewer=_NavigatedViewer2.default,Modeler.prototype.createDiagram=function(done){return this.importXML('',done)},Modeler.prototype._interactionModules=[_keyboardMove2.default,_movecanvas2.default,_touch2.default,_zoomscroll2.default],Modeler.prototype._modelingModules=[_alignElements2.default,_autoPlace2.default,_autoScroll2.default,_autoResize2.default,_bendpoints2.default,_connect2.default,_connectionPreview2.default,_contextPad2.default,_copyPaste2.default,_create2.default,_distributeElements2.default,_editorActions2.default,_gridSnapping2.default,_interactionEvents2.default,_keyboard2.default,_keyboardMoveSelection2.default,_labelEditing2.default,_modeling2.default,_move2.default,_palette2.default,_replacePreview2.default,_resize2.default,_snapping2.default,_search2.default],Modeler.prototype._modules=[].concat(_Viewer2.default.prototype._modules,Modeler.prototype._interactionModules,Modeler.prototype._modelingModules)},{"./BaseModeler":45,"./NavigatedViewer":48,"./Viewer":49,"./features/auto-place":59,"./features/auto-resize":62,"./features/context-pad":64,"./features/copy-paste":67,"./features/distribute-elements":71,"./features/editor-actions":73,"./features/grid-snapping":79,"./features/interaction-events":81,"./features/keyboard":83,"./features/label-editing":88,"./features/modeling":143,"./features/palette":149,"./features/replace-preview":154,"./features/search":161,"./features/snapping":165,"diagram-js/lib/features/align-elements":196,"diagram-js/lib/features/auto-scroll":202,"diagram-js/lib/features/bendpoints":209,"diagram-js/lib/features/connect":216,"diagram-js/lib/features/connection-preview":218,"diagram-js/lib/features/create":225,"diagram-js/lib/features/keyboard-move-selection":246,"diagram-js/lib/features/move":284,"diagram-js/lib/features/resize":302,"diagram-js/lib/navigation/keyboard-move":337,"diagram-js/lib/navigation/movecanvas":339,"diagram-js/lib/navigation/touch":340,"diagram-js/lib/navigation/zoomscroll":343,inherits:366}],48:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=NavigatedViewer;var _inherits2=_interopRequireDefault(require("inherits")),_Viewer2=_interopRequireDefault(require("./Viewer")),_keyboardMove2=_interopRequireDefault(require("diagram-js/lib/navigation/keyboard-move")),_movecanvas2=_interopRequireDefault(require("diagram-js/lib/navigation/movecanvas")),_zoomscroll2=_interopRequireDefault(require("diagram-js/lib/navigation/zoomscroll"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function NavigatedViewer(options){_Viewer2.default.call(this,options)}(0,_inherits2.default)(NavigatedViewer,_Viewer2.default),NavigatedViewer.prototype._navigationModules=[_keyboardMove2.default,_movecanvas2.default,_zoomscroll2.default],NavigatedViewer.prototype._modules=[].concat(_Viewer2.default.prototype._modules,NavigatedViewer.prototype._navigationModules)},{"./Viewer":49,"diagram-js/lib/navigation/keyboard-move":337,"diagram-js/lib/navigation/movecanvas":339,"diagram-js/lib/navigation/zoomscroll":343,inherits:366}],49:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Viewer;var _inherits2=_interopRequireDefault(require("inherits")),_core2=_interopRequireDefault(require("./core")),_translate2=_interopRequireDefault(require("diagram-js/lib/i18n/translate")),_selection2=_interopRequireDefault(require("diagram-js/lib/features/selection")),_overlays2=_interopRequireDefault(require("diagram-js/lib/features/overlays")),_BaseViewer2=_interopRequireDefault(require("./BaseViewer"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function Viewer(options){_BaseViewer2.default.call(this,options)}(0,_inherits2.default)(Viewer,_BaseViewer2.default),Viewer.prototype._modules=[_core2.default,_translate2.default,_selection2.default,_overlays2.default],Viewer.prototype._moddleExtensions={}},{"./BaseViewer":46,"./core":50,"diagram-js/lib/features/overlays":289,"diagram-js/lib/features/selection":311,"diagram-js/lib/i18n/translate":329,inherits:366}],50:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _draw2=_interopRequireDefault(require("../draw")),_import2=_interopRequireDefault(require("../import"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_draw2.default,_import2.default]}},{"../draw":55,"../import":170}],51:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isTypedEvent=function(event,eventDefinitionType,filter){return(0,_minDash.some)(event.eventDefinitions,function(definition){return definition.$type===eventDefinitionType&&function(definition,filter){return(0,_minDash.every)(filter,function(val,key){return definition[key]==val})}(event,filter)})},exports.isThrowEvent=function(event){return"bpmn:IntermediateThrowEvent"===event.$type||"bpmn:EndEvent"===event.$type},exports.isCollection=function(element){var dataObject=element.dataObjectRef;return element.isCollection||dataObject&&dataObject.isCollection},exports.getDi=getDi,exports.getSemantic=function(element){return element.businessObject},exports.getFillColor=function(element,defaultColor){return getDi(element).get("bioc:fill")||defaultColor||"white"},exports.getStrokeColor=function(element,defaultColor){return getDi(element).get("bioc:stroke")||defaultColor||"black"},exports.getCirclePath=function(shape){var cx=shape.x+shape.width/2,cy=shape.y+shape.height/2,radius=shape.width/2,circlePath=[["M",cx,cy],["m",0,-radius],["a",radius,radius,0,1,1,0,2*radius],["a",radius,radius,0,1,1,0,-2*radius],["z"]];return(0,_RenderUtil.componentsToPath)(circlePath)},exports.getRoundRectPath=function(shape,borderRadius){var x=shape.x,y=shape.y,width=shape.width,height=shape.height,roundRectPath=[["M",x+borderRadius,y],["l",width-2*borderRadius,0],["a",borderRadius,borderRadius,0,0,1,borderRadius,borderRadius],["l",0,height-2*borderRadius],["a",borderRadius,borderRadius,0,0,1,-borderRadius,borderRadius],["l",2*borderRadius-width,0],["a",borderRadius,borderRadius,0,0,1,-borderRadius,-borderRadius],["l",0,2*borderRadius-height],["a",borderRadius,borderRadius,0,0,1,borderRadius,-borderRadius],["z"]];return(0,_RenderUtil.componentsToPath)(roundRectPath)},exports.getDiamondPath=function(shape){var width=shape.width,height=shape.height,x=shape.x,y=shape.y,halfWidth=width/2,halfHeight=height/2,diamondPath=[["M",x+halfWidth,y],["l",halfWidth,halfHeight],["l",-halfWidth,halfHeight],["l",-halfWidth,-halfHeight],["z"]];return(0,_RenderUtil.componentsToPath)(diamondPath)},exports.getRectPath=function(shape){var x=shape.x,y=shape.y,width=shape.width,height=shape.height,rectPath=[["M",x,y],["l",width,0],["l",0,height],["l",-width,0],["z"]];return(0,_RenderUtil.componentsToPath)(rectPath)};var _minDash=require("min-dash"),_RenderUtil=require("diagram-js/lib/util/RenderUtil");function getDi(element){return element.businessObject.di}},{"diagram-js/lib/util/RenderUtil":360,"min-dash":572}],52:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=BpmnRenderer;var _inherits2=_interopRequireDefault(require("inherits")),_minDash=require("min-dash"),_BaseRenderer2=_interopRequireDefault(require("diagram-js/lib/draw/BaseRenderer")),_DiUtil=require("../util/DiUtil"),_LabelUtil=require("../features/label-editing/LabelUtil"),_ModelUtil=require("../util/ModelUtil"),_RenderUtil=require("diagram-js/lib/util/RenderUtil"),_BpmnRenderUtil=require("./BpmnRenderUtil"),_minDom=require("min-dom"),_tinySvg=require("tiny-svg"),_SvgTransformUtil=require("diagram-js/lib/util/SvgTransformUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var RENDERER_IDS=new(_interopRequireDefault(require("ids")).default),TASK_BORDER_RADIUS=10,INNER_OUTER_DIST=3,DEFAULT_FILL_OPACITY=.95,HIGH_FILL_OPACITY=.35;function BpmnRenderer(config,eventBus,styles,pathMap,canvas,textRenderer,priority){_BaseRenderer2.default.call(this,eventBus,priority);var defaultFillColor=config&&config.defaultFillColor,defaultStrokeColor=config&&config.defaultStrokeColor,rendererId=RENDERER_IDS.next(),markers={},computeStyle=styles.computeStyle;function addMarker(id,options){var attrs=(0,_minDash.assign)({fill:"black",strokeWidth:1,strokeLinecap:"round",strokeDasharray:"none"},options.attrs),ref=options.ref||{x:0,y:0},scale=options.scale||1;"none"===attrs.strokeDasharray&&(attrs.strokeDasharray=[1e4,1]);var marker=(0,_tinySvg.create)("marker");(0,_tinySvg.attr)(options.element,attrs),(0,_tinySvg.append)(marker,options.element),(0,_tinySvg.attr)(marker,{id:id,viewBox:"0 0 20 20",refX:ref.x,refY:ref.y,markerWidth:20*scale,markerHeight:20*scale,orient:"auto"});var defs=(0,_minDom.query)("defs",canvas._svg);defs||(defs=(0,_tinySvg.create)("defs"),(0,_tinySvg.append)(canvas._svg,defs)),(0,_tinySvg.append)(defs,marker),markers[id]=marker}function colorEscape(str){return str.replace(/[^0-9a-zA-z]+/g,"_")}function marker(type,fill,stroke){var id=type+"-"+colorEscape(fill)+"-"+colorEscape(stroke)+"-"+rendererId;return markers[id]||function(id,type,fill,stroke){if("sequenceflow-end"===type){var sequenceflowEnd=(0,_tinySvg.create)("path");(0,_tinySvg.attr)(sequenceflowEnd,{d:"M 1 5 L 11 10 L 1 15 Z"}),addMarker(id,{element:sequenceflowEnd,ref:{x:11,y:10},scale:.5,attrs:{fill:stroke,stroke:stroke}})}if("messageflow-start"===type){var messageflowStart=(0,_tinySvg.create)("circle");(0,_tinySvg.attr)(messageflowStart,{cx:6,cy:6,r:3.5}),addMarker(id,{element:messageflowStart,attrs:{fill:fill,stroke:stroke},ref:{x:6,y:6}})}if("messageflow-end"===type){var messageflowEnd=(0,_tinySvg.create)("path");(0,_tinySvg.attr)(messageflowEnd,{d:"m 1 5 l 0 -3 l 7 3 l -7 3 z"}),addMarker(id,{element:messageflowEnd,attrs:{fill:fill,stroke:stroke,strokeLinecap:"butt"},ref:{x:8.5,y:5}})}if("association-start"===type){var associationStart=(0,_tinySvg.create)("path");(0,_tinySvg.attr)(associationStart,{d:"M 11 5 L 1 10 L 11 15"}),addMarker(id,{element:associationStart,attrs:{fill:"none",stroke:stroke,strokeWidth:1.5},ref:{x:1,y:10},scale:.5})}if("association-end"===type){var associationEnd=(0,_tinySvg.create)("path");(0,_tinySvg.attr)(associationEnd,{d:"M 1 5 L 11 10 L 1 15"}),addMarker(id,{element:associationEnd,attrs:{fill:"none",stroke:stroke,strokeWidth:1.5},ref:{x:12,y:10},scale:.5})}if("conditional-flow-marker"===type){var conditionalflowMarker=(0,_tinySvg.create)("path");(0,_tinySvg.attr)(conditionalflowMarker,{d:"M 0 10 L 8 6 L 16 10 L 8 14 Z"}),addMarker(id,{element:conditionalflowMarker,attrs:{fill:fill,stroke:stroke},ref:{x:-1,y:10},scale:.5})}if("conditional-default-flow-marker"===type){var conditionaldefaultflowMarker=(0,_tinySvg.create)("path");(0,_tinySvg.attr)(conditionaldefaultflowMarker,{d:"M 6 4 L 10 16"}),addMarker(id,{element:conditionaldefaultflowMarker,attrs:{stroke:stroke},ref:{x:0,y:10},scale:.5})}}(id,type,fill,stroke),"url(#"+id+")"}function drawCircle(parentGfx,width,height,offset,attrs){(0,_minDash.isObject)(offset)&&(attrs=offset,offset=0),offset=offset||0,"none"===(attrs=computeStyle(attrs,{stroke:"black",strokeWidth:2,fill:"white"})).fill&&delete attrs.fillOpacity;var cx=width/2,cy=height/2,circle=(0,_tinySvg.create)("circle");return(0,_tinySvg.attr)(circle,{cx:cx,cy:cy,r:Math.round((width+height)/4-offset)}),(0,_tinySvg.attr)(circle,attrs),(0,_tinySvg.append)(parentGfx,circle),circle}function drawRect(parentGfx,width,height,r,offset,attrs){(0,_minDash.isObject)(offset)&&(attrs=offset,offset=0),offset=offset||0,attrs=computeStyle(attrs,{stroke:"black",strokeWidth:2,fill:"white"});var rect=(0,_tinySvg.create)("rect");return(0,_tinySvg.attr)(rect,{x:offset,y:offset,width:width-2*offset,height:height-2*offset,rx:r,ry:r}),(0,_tinySvg.attr)(rect,attrs),(0,_tinySvg.append)(parentGfx,rect),rect}function drawLine(parentGfx,waypoints,attrs){attrs=computeStyle(attrs,["no-fill"],{stroke:"black",strokeWidth:2,fill:"none"});var line=(0,_RenderUtil.createLine)(waypoints,attrs);return(0,_tinySvg.append)(parentGfx,line),line}function drawPath(parentGfx,d,attrs){attrs=computeStyle(attrs,["no-fill"],{strokeWidth:2,stroke:"black"});var path=(0,_tinySvg.create)("path");return(0,_tinySvg.attr)(path,{d:d}),(0,_tinySvg.attr)(path,attrs),(0,_tinySvg.append)(parentGfx,path),path}function drawMarker(type,parentGfx,path,attrs){return drawPath(parentGfx,path,(0,_minDash.assign)({"data-marker":type},attrs))}function as(type){return function(parentGfx,element){return handlers[type](parentGfx,element)}}function renderer(type){return handlers[type]}function renderEventContent(element,parentGfx){var event=(0,_BpmnRenderUtil.getSemantic)(element),isThrowing=(0,_BpmnRenderUtil.isThrowEvent)(event);return event.eventDefinitions&&1sourceMid[axis]?options.min=position[axis]:options.max=position[axis],(0,_ModelUtil.is)(shape,"bpmn:TextAnnotation")&&(!function(axis){return"x"===axis}(axis)?options.offset=-shape.height/2:options.offset=-shape.width/2),position[axis]=gridSnapping.snapValue(position[axis],options))}),position})}AutoPlaceBehavior.$inject=["eventBus","gridSnapping"]},{"../../../util/ModelUtil":173,"../../auto-place/AutoPlaceUtil":58,"diagram-js/lib/layout/LayoutUtil":333}],76:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=CreateParticipantBehavior;var _ModelUtil=require("../../../util/ModelUtil"),HIGHER_PRIORITY=1750;function CreateParticipantBehavior(canvas,eventBus,gridSnapping){eventBus.on(["create.start","shape.move.start"],HIGHER_PRIORITY,function(event){var context=event.context,shape=context.shape,rootElement=canvas.getRootElement();(0,_ModelUtil.is)(shape,"bpmn:Participant")&&(0,_ModelUtil.is)(rootElement,"bpmn:Process")&&rootElement.children.length&&context.createConstraints&&(shape.width=gridSnapping.snapValue(shape.width,{min:shape.width}),shape.height=gridSnapping.snapValue(shape.height,{min:shape.height}))})}CreateParticipantBehavior.$inject=["canvas","eventBus","gridSnapping"]},{"../../../util/ModelUtil":173}],77:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=LayoutConnectionBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_Geometry=require("diagram-js/lib/util/Geometry"),_minDash=require("min-dash");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var HIGH_PRIORITY=3e3;function LayoutConnectionBehavior(eventBus,gridSnapping,modeling){_CommandInterceptor2.default.call(this,eventBus),this._gridSnapping=gridSnapping;var self=this;this.postExecuted(["connection.create","connection.layout"],HIGH_PRIORITY,function(event){var context=event.context,connection=context.connection,hints=context.hints||{},waypoints=connection.waypoints;hints.connectionStart||hints.connectionEnd||!1===hints.createElementsBehavior||!function(waypoints){return 3shape.y?bottomAffected.push(element):topAffected.push(element),element.children}),siblings.length&&(offset=bottomAffected.length&&topAffected.length?shape.height/2:shape.height,topAffected.length&&(topAdjustments=spaceTool.calculateAdjustments(topAffected,"y",offset,shape.y-10),spaceTool.makeSpace(topAdjustments.movingShapes,topAdjustments.resizingShapes,{x:0,y:offset},"s")),bottomAffected.length&&(bottomAdjustments=spaceTool.calculateAdjustments(bottomAffected,"y",-offset,shape.y+shape.height+10),spaceTool.makeSpace(bottomAdjustments.movingShapes,bottomAdjustments.resizingShapes,{x:0,y:-offset},"n")))}(shape,oldParent))})}DeleteLaneBehavior.$inject=["eventBus","modeling","spaceTool"],(0,_inherits2.default)(DeleteLaneBehavior,_CommandInterceptor2.default)},{"../../../util/ModelUtil":173,"../util/LaneUtil":144,"diagram-js/lib/command/CommandInterceptor":182,"diagram-js/lib/util/Elements":348,inherits:366}],105:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=DetachEventBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil"),_LabelUtil=require("../../../util/LabelUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var LOW_PRIORITY=500;function DetachEventBehavior(bpmnReplace,injector){injector.invoke(_CommandInterceptor2.default,this),this._bpmnReplace=bpmnReplace;var self=this;this.postExecuted("elements.create",LOW_PRIORITY,function(context){var elements=context.elements;elements.filter(function(shape){return shouldReplace(shape,shape.host)}).map(function(shape){return elements.indexOf(shape)}).forEach(function(index){context.elements[index]=self.replaceShape(elements[index])})},!0),this.preExecute("elements.move",LOW_PRIORITY,function(context){var shapes=context.shapes,newHost=context.newHost;shapes.forEach(function(shape,index){var host=shape.host;shouldReplace(shape,function(array,item){return-1!==array.indexOf(item)}(shapes,host)?host:newHost)&&(shapes[index]=self.replaceShape(shape))})},!0)}function shouldReplace(shape,host){return!(0,_LabelUtil.isLabel)(shape)&&(0,_ModelUtil.is)(shape,"bpmn:BoundaryEvent")&&!host}DetachEventBehavior.$inject=["bpmnReplace","injector"],(0,_inherits2.default)(DetachEventBehavior,_CommandInterceptor2.default),DetachEventBehavior.prototype.replaceShape=function(shape){var intermediateEvent,eventDefinition=function(element){var eventDefinitions=(0,_ModelUtil.getBusinessObject)(element).eventDefinitions;return eventDefinitions&&eventDefinitions[0]}(shape);return intermediateEvent=eventDefinition?{type:"bpmn:IntermediateCatchEvent",eventDefinitionType:eventDefinition.$type}:{type:"bpmn:IntermediateThrowEvent"},this._bpmnReplace.replaceElement(shape,intermediateEvent,{layoutConnection:!1})}},{"../../../util/LabelUtil":172,"../../../util/ModelUtil":173,"diagram-js/lib/command/CommandInterceptor":182,inherits:366}],106:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=DropOnFlowBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_minDash=require("min-dash"),_LayoutUtil=require("diagram-js/lib/layout/LayoutUtil"),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_LineIntersection=require("diagram-js/lib/util/LineIntersection");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function DropOnFlowBehavior(eventBus,bpmnRules,modeling){function insertShape(shape,targetFlow,positionOrBounds){var waypointsBefore,waypointsAfter,dockingPoint,source,target,incomingConnection,outgoingConnection,mid,waypoints=targetFlow.waypoints,oldOutgoing=shape.outgoing.slice(),oldIncoming=shape.incoming.slice();mid=(0,_minDash.isNumber)(positionOrBounds.width)?(0,_LayoutUtil.getMid)(positionOrBounds):positionOrBounds;var intersection=(0,_LineIntersection.getApproxIntersection)(waypoints,mid);if(intersection){if(waypointsBefore=waypoints.slice(0,intersection.index),waypointsAfter=waypoints.slice(intersection.index+(intersection.bendpoint?1:0)),!waypointsBefore.length||!waypointsAfter.length)return;dockingPoint=intersection.bendpoint?waypoints[intersection.index]:mid,isPointInsideBBox(shape,waypointsBefore[waypointsBefore.length-1])||waypointsBefore.push(copy(dockingPoint)),isPointInsideBBox(shape,waypointsAfter[0])||waypointsAfter.unshift(copy(dockingPoint))}source=targetFlow.source,target=targetFlow.target,bpmnRules.canConnect(source,shape,targetFlow)&&(modeling.reconnectEnd(targetFlow,shape,waypointsBefore||mid),incomingConnection=targetFlow),bpmnRules.canConnect(shape,target,targetFlow)&&(outgoingConnection=incomingConnection?modeling.connect(shape,target,{type:targetFlow.type,waypoints:waypointsAfter}):(modeling.reconnectStart(targetFlow,shape,waypointsAfter||mid),targetFlow));var duplicateConnections=[].concat(incomingConnection&&(0,_minDash.filter)(oldIncoming,function(connection){return connection.source===incomingConnection.source})||[],outgoingConnection&&(0,_minDash.filter)(oldOutgoing,function(connection){return connection.target===outgoingConnection.target})||[]);duplicateConnections.length&&modeling.removeElements(duplicateConnections)}_CommandInterceptor2.default.call(this,eventBus),this.preExecute("elements.move",function(context){var newParent=context.newParent,shapes=context.shapes,delta=context.delta,shape=shapes[0];if(shape&&newParent){newParent&&newParent.waypoints&&(context.newParent=newParent=newParent.parent);var shapeMid=(0,_LayoutUtil.getMid)(shape),newShapeMid={x:shapeMid.x+delta.x,y:shapeMid.y+delta.y},connection=(0,_minDash.find)(newParent.children,function(element){return bpmnRules.canInsert(shapes,element)&&(0,_LineIntersection.getApproxIntersection)(element.waypoints,newShapeMid)});connection&&(context.targetFlow=connection,context.position=newShapeMid)}},!0),this.postExecuted("elements.move",function(context){var shapes=context.shapes,targetFlow=context.targetFlow,position=context.position;targetFlow&&insertShape(shapes[0],targetFlow,position)},!0),this.preExecute("shape.create",function(context){var parent=context.parent,shape=context.shape;bpmnRules.canInsert(shape,parent)&&(context.targetFlow=parent,context.parent=parent.parent)},!0),this.postExecuted("shape.create",function(context){var shape=context.shape,targetFlow=context.targetFlow,positionOrBounds=context.position;targetFlow&&insertShape(shape,targetFlow,positionOrBounds)},!0)}function isPointInsideBBox(bbox,point){var x=point.x,y=point.y;return x>=bbox.x&&x<=bbox.x+bbox.width&&y>=bbox.y&&y<=bbox.y+bbox.height}function copy(obj){return(0,_minDash.assign)({},obj)}(0,_inherits2.default)(DropOnFlowBehavior,_CommandInterceptor2.default),DropOnFlowBehavior.$inject=["eventBus","bpmnRules","modeling"]},{"diagram-js/lib/command/CommandInterceptor":182,"diagram-js/lib/layout/LayoutUtil":333,"diagram-js/lib/util/LineIntersection":354,inherits:366,"min-dash":572}],107:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=EventBasedGatewayBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function EventBasedGatewayBehavior(eventBus,modeling){_CommandInterceptor2.default.call(this,eventBus),this.preExecuted("connection.create",function(event){var context=event.context,source=context.source,target=context.target,existingIncomingConnections=target.incoming.slice();context.hints&&!1===context.hints.createElementsBehavior||(0,_ModelUtil.is)(source,"bpmn:EventBasedGateway")&&target.incoming.length&&existingIncomingConnections.filter(isSequenceFlow).forEach(function(sequenceFlow){modeling.removeConnection(sequenceFlow)})}),this.preExecuted("shape.replace",function(event){var newShape=event.context.newShape;(0,_ModelUtil.is)(newShape,"bpmn:EventBasedGateway")&&newShape.outgoing.filter(isSequenceFlow).map(function(sequenceFlow){return sequenceFlow.target}).reduce(function(sequenceFlows,target){var incomingSequenceFlows=target.incoming.filter(isSequenceFlow);return sequenceFlows.concat(incomingSequenceFlows)},[]).forEach(function(sequenceFlow){sequenceFlow.source!==newShape&&modeling.removeConnection(sequenceFlow)})})}function isSequenceFlow(connection){return(0,_ModelUtil.is)(connection,"bpmn:SequenceFlow")}EventBasedGatewayBehavior.$inject=["eventBus","modeling"],(0,_inherits2.default)(EventBasedGatewayBehavior,_CommandInterceptor2.default)},{"../../../util/ModelUtil":173,"diagram-js/lib/command/CommandInterceptor":182,inherits:366}],108:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=FixHoverBehavior;var _LaneUtil=require("../util/LaneUtil"),_ModelUtil=require("../../../util/ModelUtil"),_ModelingUtil=require("../util/ModelingUtil"),HIGH_PRIORITY=1500,HIGHEST_PRIORITY=2e3;function FixHoverBehavior(elementRegistry,eventBus,canvas){eventBus.on(["create.hover","create.move","create.end","shape.move.hover","shape.move.move","shape.move.end"],HIGH_PRIORITY,function(event){var shape=event.context.shape||event.shape,hover=event.hover;(0,_ModelUtil.is)(hover,"bpmn:Lane")&&!(0,_ModelingUtil.isAny)(shape,["bpmn:Lane","bpmn:Participant"])&&(event.hover=(0,_LaneUtil.getLanesRoot)(hover),event.hoverGfx=elementRegistry.getGraphics(event.hover));var rootElement=canvas.getRootElement();hover!==rootElement&&(shape.labelTarget||(0,_ModelUtil.is)(shape,"bpmn:Group"))&&(event.hover=rootElement,event.hoverGfx=elementRegistry.getGraphics(event.hover))}),eventBus.on(["connect.hover","connect.out","connect.end","connect.cleanup","global-connect.hover","global-connect.out","global-connect.end","global-connect.cleanup"],HIGH_PRIORITY,function(event){var hover=event.hover;(0,_ModelUtil.is)(hover,"bpmn:Lane")&&(event.hover=(0,_LaneUtil.getLanesRoot)(hover)||hover,event.hoverGfx=elementRegistry.getGraphics(event.hover))}),eventBus.on(["bendpoint.move.hover"],HIGH_PRIORITY,function(event){var context=event.context,hover=event.hover,type=context.type;(0,_ModelUtil.is)(hover,"bpmn:Lane")&&/reconnect/.test(type)&&(event.hover=(0,_LaneUtil.getLanesRoot)(hover)||hover,event.hoverGfx=elementRegistry.getGraphics(event.hover))}),eventBus.on(["connect.start"],HIGH_PRIORITY,function(event){var context=event.context,start=context.start;(0,_ModelUtil.is)(start,"bpmn:Lane")&&(context.start=(0,_LaneUtil.getLanesRoot)(start)||start)}),eventBus.on("shape.move.start",HIGHEST_PRIORITY,function(event){var shape=event.shape;(0,_ModelUtil.is)(shape,"bpmn:Lane")&&(event.shape=(0,_LaneUtil.getLanesRoot)(shape)||shape)})}FixHoverBehavior.$inject=["elementRegistry","eventBus","canvas"]},{"../../../util/ModelUtil":173,"../util/LaneUtil":144,"../util/ModelingUtil":145}],109:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=GroupBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_Collections=require("diagram-js/lib/util/Collections"),_ModelUtil=require("../../../util/ModelUtil"),_CategoryUtil=require("./util/CategoryUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var HIGH_PRIORITY=2e3;function GroupBehavior(bpmnFactory,canvas,elementRegistry,eventBus,injector,moddleCopy){function getDefinitions(){var rootElement=canvas.getRootElement();return(0,_ModelUtil.getBusinessObject)(rootElement).$parent}function removeReferencedCategoryValue(shape){var categoryValue=(0,_ModelUtil.getBusinessObject)(shape).categoryValueRef;if(categoryValue){var category=categoryValue.$parent;categoryValue&&((0,_Collections.remove)(category.categoryValue,categoryValue),category&&!category.categoryValue.length&&function(category){var definitions=getDefinitions();(0,_Collections.remove)(definitions.get("rootElements"),category)}(category))}}injector.invoke(_CommandInterceptor2.default,this),this.executed("shape.delete",function(event){var shape=event.context.shape;if((0,_ModelUtil.is)(shape,"bpmn:Group")){var categoryValueRef=(0,_ModelUtil.getBusinessObject)(shape).categoryValueRef;!function(elements,categoryValue){return elements.some(function(e){var businessObject=(0,_ModelUtil.getBusinessObject)(e);return businessObject.categoryValueRef&&businessObject.categoryValueRef===categoryValue})}(elementRegistry.filter(function(e){return(0,_ModelUtil.is)(e,"bpmn:Group")}),categoryValueRef)&&removeReferencedCategoryValue(shape)}}),this.reverted("shape.delete",function(event){var shape=event.context.shape;if((0,_ModelUtil.is)(shape,"bpmn:Group")){var categoryValueRef=(0,_ModelUtil.getBusinessObject)(shape).categoryValueRef,definitions=getDefinitions(),category=categoryValueRef?categoryValueRef.$parent:null;(0,_Collections.add)(category.get("categoryValue"),categoryValueRef),(0,_Collections.add)(definitions.get("rootElements"),category)}}),this.execute("shape.create",function(event){var shape=event.context.shape,businessObject=(0,_ModelUtil.getBusinessObject)(shape);if((0,_ModelUtil.is)(businessObject,"bpmn:Group")&&!businessObject.categoryValueRef){var definitions=getDefinitions(),categoryValue=(0,_CategoryUtil.createCategoryValue)(definitions,bpmnFactory);businessObject.categoryValueRef=categoryValue}}),this.revert("shape.create",function(event){var shape=event.context.shape;(0,_ModelUtil.is)(shape,"bpmn:Group")&&(removeReferencedCategoryValue(shape),delete(0,_ModelUtil.getBusinessObject)(shape).categoryValueRef)}),eventBus.on("moddleCopy.canCopyProperty",HIGH_PRIORITY,function(context){var categoryValue,property=context.property;if((0,_ModelUtil.is)(property,"bpmn:CategoryValue"))return categoryValue=(0,_CategoryUtil.createCategoryValue)(getDefinitions(),bpmnFactory),moddleCopy.copyElement(property,categoryValue)})}GroupBehavior.$inject=["bpmnFactory","canvas","elementRegistry","eventBus","injector","moddleCopy"],(0,_inherits2.default)(GroupBehavior,_CommandInterceptor2.default)},{"../../../util/ModelUtil":173,"./util/CategoryUtil":128,"diagram-js/lib/command/CommandInterceptor":182,"diagram-js/lib/util/Collections":346,inherits:366}],110:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ImportDockingFix;var obj,_LayoutUtil=require("diagram-js/lib/layout/LayoutUtil"),_LineIntersect=require("./util/LineIntersect"),_LineIntersect2=(obj=_LineIntersect)&&obj.__esModule?obj:{default:obj};function ImportDockingFix(eventBus){function adjustDocking(startPoint,nextPoint,elementMid){var centerIntersect,elementTop={x:elementMid.x,y:elementMid.y-50},elementLeft={x:elementMid.x-50,y:elementMid.y},verticalIntersect=(0,_LineIntersect2.default)(startPoint,nextPoint,elementMid,elementTop),horizontalIntersect=(0,_LineIntersect2.default)(startPoint,nextPoint,elementMid,elementLeft);centerIntersect=verticalIntersect&&horizontalIntersect?getDistance(verticalIntersect,elementMid)>getDistance(horizontalIntersect,elementMid)?horizontalIntersect:verticalIntersect:verticalIntersect||horizontalIntersect,startPoint.original=centerIntersect}eventBus.on("bpmnElement.added",function(e){var element=e.element;element.waypoints&&function(connection){var waypoints=connection.waypoints;adjustDocking(waypoints[0],waypoints[1],(0,_LayoutUtil.getMid)(connection.source)),adjustDocking(waypoints[waypoints.length-1],waypoints[waypoints.length-2],(0,_LayoutUtil.getMid)(connection.target))}(element)})}function getDistance(p1,p2){return Math.sqrt(Math.pow(p1.x-p2.x,2)+Math.pow(p1.y-p2.y,2))}ImportDockingFix.$inject=["eventBus"]},{"./util/LineIntersect":132,"diagram-js/lib/layout/LayoutUtil":333}],111:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=IsHorizontalFix;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil"),_ModelingUtil=require("../util/ModelingUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function IsHorizontalFix(eventBus){_CommandInterceptor2.default.call(this,eventBus);var elementTypesToUpdate=["bpmn:Participant","bpmn:Lane"];this.executed(["shape.move","shape.create","shape.resize"],function(event){var bo=(0,_ModelUtil.getBusinessObject)(event.context.shape);(0,_ModelingUtil.isAny)(bo,elementTypesToUpdate)&&!bo.di.get("isHorizontal")&&bo.di.set("isHorizontal",!0)})}IsHorizontalFix.$inject=["eventBus"],(0,_inherits2.default)(IsHorizontalFix,_CommandInterceptor2.default)},{"../../../util/ModelUtil":173,"../util/ModelingUtil":145,"diagram-js/lib/command/CommandInterceptor":182,inherits:366}],112:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=LabelBehavior,exports.getReferencePointDelta=getReferencePointDelta,exports.getReferencePoint=getReferencePoint,exports.asEdges=asEdges;var _minDash=require("min-dash"),_inherits2=_interopRequireDefault(require("inherits")),_ModelUtil=require("../../../util/ModelUtil"),_LabelUtil=require("../../../util/LabelUtil"),_LabelUtil2=require("../../label-editing/LabelUtil"),_LabelLayoutUtil=require("./util/LabelLayoutUtil"),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_AttachUtil=require("diagram-js/lib/util/AttachUtil"),_LayoutUtil=require("diagram-js/lib/layout/LayoutUtil"),_PositionUtil=require("diagram-js/lib/util/PositionUtil"),_GeometricUtil=require("./util/GeometricUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var DEFAULT_LABEL_DIMENSIONS={width:90,height:20},NAME_PROPERTY="name",TEXT_PROPERTY="text";function LabelBehavior(eventBus,modeling,bpmnFactory,textRenderer){_CommandInterceptor2.default.call(this,eventBus),this.postExecute("element.updateProperties",function(e){var context=e.context,element=context.element,properties=context.properties;if(NAME_PROPERTY in properties&&modeling.updateLabel(element,properties[NAME_PROPERTY]),TEXT_PROPERTY in properties&&(0,_ModelUtil.is)(element,"bpmn:TextAnnotation")){var newBounds=textRenderer.getTextAnnotationBounds({x:element.x,y:element.y,width:element.width,height:element.height},properties[TEXT_PROPERTY]||"");modeling.updateLabel(element,properties.text,newBounds)}}),this.postExecute(["shape.create","connection.create"],function(e){var context=e.context;if(!1!==(context.hints||{}).createElementsBehavior){var element=context.shape||context.connection,businessObject=element.businessObject;if(!(0,_LabelUtil.isLabel)(element)&&(0,_LabelUtil.isLabelExternal)(element)&&(0,_LabelUtil2.getLabel)(element)){var labelCenter=(0,_LabelUtil.getExternalLabelMid)(element),labelDimensions=textRenderer.getExternalLabelBounds(DEFAULT_LABEL_DIMENSIONS,(0,_LabelUtil2.getLabel)(element));modeling.createLabel(element,labelCenter,{id:businessObject.id+"_label",businessObject:businessObject,width:labelDimensions.width,height:labelDimensions.height})}}}),this.postExecute("shape.delete",function(event){var context=event.context,labelTarget=context.labelTarget,hints=context.hints||{};labelTarget&&!1!==hints.unsetLabel&&modeling.updateLabel(labelTarget,null,null,{removeShape:!1})}),this.postExecute(["label.create"],function(event){var di,element=event.context.shape;element.labelTarget&&(0,_ModelUtil.is)(element.labelTarget||element,"bpmn:BaseElement")&&((di=element.businessObject.di).label||(di.label=bpmnFactory.create("bpmndi:BPMNLabel",{bounds:bpmnFactory.create("dc:Bounds")})),(0,_minDash.assign)(di.label.bounds,{x:element.x,y:element.y,width:element.width,height:element.height}))}),this.postExecute(["connection.layout","connection.updateWaypoints"],function(event){var context=event.context;if(!1!==(context.hints||{}).labelBehavior){var labelAdjustment,label=context.connection.label;label&&label.parent&&(labelAdjustment=function(event){var context=event.context,connection=context.connection,label=connection.label,hints=(0,_minDash.assign)({},context.hints),newWaypoints=context.newWaypoints||connection.waypoints,oldWaypoints=context.oldWaypoints;return void 0===hints.startChanged&&(hints.startChanged=!!hints.connectionStart),void 0===hints.endChanged&&(hints.endChanged=!!hints.connectionEnd),(0,_LabelLayoutUtil.getLabelAdjustment)(label,newWaypoints,oldWaypoints,hints)}(event),modeling.moveShape(label,labelAdjustment))}}),this.postExecute(["shape.replace"],function(event){var context=event.context,newShape=context.newShape,oldShape=context.oldShape,businessObject=(0,_ModelUtil.getBusinessObject)(newShape);businessObject&&(0,_LabelUtil.isLabelExternal)(businessObject)&&oldShape.label&&newShape.label&&(newShape.label.x=oldShape.label.x,newShape.label.y=oldShape.label.y)}),this.postExecute("shape.resize",function(event){var context=event.context,shape=context.shape,newBounds=context.newBounds,oldBounds=context.oldBounds;if((0,_LabelUtil.hasExternalLabel)(shape)){var label=shape.label,delta=getReferencePointDelta(getReferencePoint((0,_LayoutUtil.getMid)(label),asEdges(oldBounds)),oldBounds,newBounds);modeling.moveShape(label,delta)}})}function getReferencePointDelta(referencePoint,oldBounds,newBounds){var newReferencePoint=(0,_AttachUtil.getNewAttachPoint)(referencePoint,oldBounds,newBounds);return(0,_LayoutUtil.roundPoint)((0,_PositionUtil.delta)(newReferencePoint,referencePoint))}function getReferencePoint(point,lines){if(lines.length){var nearestLine=function(point,lines){var distances=lines.map(function(l){return{line:l,distance:(0,_GeometricUtil.getDistancePointLine)(point,l)}});return(0,_minDash.sortBy)(distances,"distance")[0].line}(point,lines);return(0,_GeometricUtil.perpendicularFoot)(point,nearestLine)}}function asEdges(bounds){return[[{x:bounds.x,y:bounds.y},{x:bounds.x+(bounds.width||0),y:bounds.y}],[{x:bounds.x+(bounds.width||0),y:bounds.y},{x:bounds.x+(bounds.width||0),y:bounds.y+(bounds.height||0)}],[{x:bounds.x,y:bounds.y+(bounds.height||0)},{x:bounds.x+(bounds.width||0),y:bounds.y+(bounds.height||0)}],[{x:bounds.x,y:bounds.y},{x:bounds.x,y:bounds.y+(bounds.height||0)}]]}(0,_inherits2.default)(LabelBehavior,_CommandInterceptor2.default),LabelBehavior.$inject=["eventBus","modeling","bpmnFactory","textRenderer"]},{"../../../util/LabelUtil":172,"../../../util/ModelUtil":173,"../../label-editing/LabelUtil":86,"./util/GeometricUtil":129,"./util/LabelLayoutUtil":130,"diagram-js/lib/command/CommandInterceptor":182,"diagram-js/lib/layout/LayoutUtil":333,"diagram-js/lib/util/AttachUtil":344,"diagram-js/lib/util/PositionUtil":358,inherits:366,"min-dash":572}],113:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ModelingFeedback;var _ModelUtil=require("../../../util/ModelUtil"),COLLAB_ERR_MSG="flow elements must be children of pools/participants",PROCESS_ERR_MSG="participants cannot be pasted onto a non-empty process diagram";function ModelingFeedback(eventBus,tooltips,translate){function showError(position,message,timeout){tooltips.add({position:{x:position.x+5,y:position.y+5},type:"error",timeout:timeout||2e3,html:"
"+message+"
"})}eventBus.on(["shape.move.rejected","create.rejected"],function(event){var context=event.context,shape=context.shape,target=context.target;(0,_ModelUtil.is)(target,"bpmn:Collaboration")&&(0,_ModelUtil.is)(shape,"bpmn:FlowNode")&&showError(event,translate(COLLAB_ERR_MSG))}),eventBus.on(["elements.paste.rejected"],function(event){var context=event.context,position=context.position,target=context.target;(0,_ModelUtil.is)(target,"bpmn:Collaboration")&&showError(position,translate(COLLAB_ERR_MSG)),(0,_ModelUtil.is)(target,"bpmn:Process")&&showError(position,translate(PROCESS_ERR_MSG),3e3)})}ModelingFeedback.$inject=["eventBus","tooltips","translate"]},{"../../../util/ModelUtil":173}],114:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=RemoveElementBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_ModelUtil=require("../../../util/ModelUtil"),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_LineIntersect2=_interopRequireDefault(require("./util/LineIntersect"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function RemoveElementBehavior(eventBus,bpmnRules,modeling){_CommandInterceptor2.default.call(this,eventBus),this.preExecute("shape.delete",function(e){var shape=e.context.shape;if(1===shape.incoming.length&&1===shape.outgoing.length){var inConnection=shape.incoming[0],outConnection=shape.outgoing[0];if((0,_ModelUtil.is)(inConnection,"bpmn:SequenceFlow")&&(0,_ModelUtil.is)(outConnection,"bpmn:SequenceFlow")&&bpmnRules.canConnect(inConnection.source,outConnection.target,inConnection)){var newWaypoints=function(inWaypoints,outWaypoints){var intersection=(0,_LineIntersect2.default)(getDocking(inWaypoints[inWaypoints.length-2]),getDocking(inWaypoints[inWaypoints.length-1]),getDocking(outWaypoints[1]),getDocking(outWaypoints[0]));return intersection?[].concat(inWaypoints.slice(0,inWaypoints.length-1),[intersection],outWaypoints.slice(1)):[getDocking(inWaypoints[0]),getDocking(outWaypoints[outWaypoints.length-1])]}(inConnection.waypoints,outConnection.waypoints);modeling.reconnectEnd(inConnection,outConnection.target,newWaypoints)}}})}function getDocking(point){return point.original||point}(0,_inherits2.default)(RemoveElementBehavior,_CommandInterceptor2.default),RemoveElementBehavior.$inject=["eventBus","bpmnRules","modeling"]},{"../../../util/ModelUtil":173,"./util/LineIntersect":132,"diagram-js/lib/command/CommandInterceptor":182,inherits:366}],115:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=RemoveParticipantBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function RemoveParticipantBehavior(eventBus,modeling){_CommandInterceptor2.default.call(this,eventBus),this.preExecute("shape.delete",function(context){var shape=context.shape,parent=shape.parent;(0,_ModelUtil.is)(shape,"bpmn:Participant")&&(context.collaborationRoot=parent)},!0),this.postExecute("shape.delete",function(context){var collaborationRoot=context.collaborationRoot;collaborationRoot&&!collaborationRoot.businessObject.participants.length&&modeling.makeProcess()},!0)}RemoveParticipantBehavior.$inject=["eventBus","modeling"],(0,_inherits2.default)(RemoveParticipantBehavior,_CommandInterceptor2.default)},{"../../../util/ModelUtil":173,"diagram-js/lib/command/CommandInterceptor":182,inherits:366}],116:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ReplaceConnectionBehavior;var _minDash=require("min-dash"),_inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function ReplaceConnectionBehavior(eventBus,modeling,bpmnRules,injector){_CommandInterceptor2.default.call(this,eventBus);var dragging=injector.get("dragging",!1);function fixConnection(connection){var replacementType,remove,source=connection.source,target=connection.target;connection.parent&&((0,_ModelUtil.is)(connection,"bpmn:SequenceFlow")&&(bpmnRules.canConnectSequenceFlow(source,target)||(remove=!0),bpmnRules.canConnectMessageFlow(source,target)&&(replacementType="bpmn:MessageFlow")),(0,_ModelUtil.is)(connection,"bpmn:MessageFlow")&&(bpmnRules.canConnectMessageFlow(source,target)||(remove=!0),bpmnRules.canConnectSequenceFlow(source,target)&&(replacementType="bpmn:SequenceFlow")),(0,_ModelUtil.is)(connection,"bpmn:Association")&&!bpmnRules.canConnectAssociation(source,target)&&(remove=!0),remove&&modeling.removeConnection(connection),replacementType&&modeling.connect(source,target,{type:replacementType,waypoints:connection.waypoints.slice()}))}this.postExecuted("elements.move",function(context){var allConnections=context.closure.allConnections;(0,_minDash.forEach)(allConnections,fixConnection)},!0),this.preExecute("connection.reconnect",function(event){var allowed,replacement,context=event.context,connection=context.connection,source=context.newSource||connection.source,target=context.newTarget||connection.target;(allowed=bpmnRules.canConnect(source,target))&&allowed.type!==connection.type&&(replacement=modeling.connect(source,target,{type:allowed.type,waypoints:connection.waypoints.slice()}),modeling.removeConnection(connection),context.connection=replacement,dragging&&function(oldConnection,newConnection){var index,context=dragging.context(),previousSelection=context&&context.payload.previousSelection;if(!previousSelection||!previousSelection.length)return;if(-1===(index=previousSelection.indexOf(oldConnection)))return;previousSelection.splice(index,1,newConnection)}(connection,replacement))}),this.postExecuted("element.updateProperties",function(event){var connection,context=event.context,properties=context.properties,element=context.element,businessObject=element.businessObject;properties.default&&(connection=(0,_minDash.find)(element.outgoing,(0,_minDash.matchPattern)({id:element.businessObject.default.id})))&&modeling.updateProperties(connection,{conditionExpression:void 0}),properties.conditionExpression&&businessObject.sourceRef.default===businessObject&&modeling.updateProperties(element.source,{default:void 0})})}(0,_inherits2.default)(ReplaceConnectionBehavior,_CommandInterceptor2.default),ReplaceConnectionBehavior.$inject=["eventBus","modeling","bpmnRules","injector"]},{"../../../util/ModelUtil":173,"diagram-js/lib/command/CommandInterceptor":182,inherits:366,"min-dash":572}],117:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ReplaceElementBehaviour;var _inherits2=_interopRequireDefault(require("inherits")),_minDash=require("min-dash"),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_DiUtil=require("../../../util/DiUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function ReplaceElementBehaviour(bpmnReplace,bpmnRules,elementRegistry,injector,modeling,selection){injector.invoke(_CommandInterceptor2.default,this),this._bpmnReplace=bpmnReplace,this._elementRegistry=elementRegistry,this._selection=selection,this.postExecuted(["elements.move"],500,function(event){var context=event.context,target=context.newParent,newHost=context.newHost,elements=[];(0,_minDash.forEach)(context.closure.topLevel,function(topLevelElements){elements=(0,_DiUtil.isEventSubProcess)(topLevelElements)?elements.concat(topLevelElements.children):elements.concat(topLevelElements)}),1===elements.length&&newHost&&(target=newHost);var canReplace=bpmnRules.canReplace(elements,target);canReplace&&this.replaceElements(elements,canReplace.replacements,newHost)},this),this.postExecute(["shape.replace"],1500,function(e){var canReplace,context=e.context,oldShape=context.oldShape,newShape=context.newShape,attachers=oldShape.attachers;attachers&&attachers.length&&(canReplace=bpmnRules.canReplace(attachers,newShape),this.replaceElements(attachers,canReplace.replacements))},this),this.postExecuted(["shape.replace"],1500,function(e){var context=e.context,oldShape=context.oldShape,newShape=context.newShape;modeling.unclaimId(oldShape.businessObject.id,oldShape.businessObject),modeling.updateProperties(newShape,{id:oldShape.id})})}(0,_inherits2.default)(ReplaceElementBehaviour,_CommandInterceptor2.default),ReplaceElementBehaviour.prototype.replaceElements=function(elements,newElements){var elementRegistry=this._elementRegistry,bpmnReplace=this._bpmnReplace,selection=this._selection;(0,_minDash.forEach)(newElements,function(replacement){var newElement={type:replacement.newElementType},oldElement=elementRegistry.get(replacement.oldElementId),idx=elements.indexOf(oldElement);elements[idx]=bpmnReplace.replaceElement(oldElement,newElement,{select:!1})}),newElements&&selection.select(elements)},ReplaceElementBehaviour.$inject=["bpmnReplace","bpmnRules","elementRegistry","injector","modeling","selection"]},{"../../../util/DiUtil":171,"diagram-js/lib/command/CommandInterceptor":182,inherits:366,"min-dash":572}],118:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TEXT_ANNOTATION_MIN_DIMENSIONS=exports.SUB_PROCESS_MIN_DIMENSIONS=exports.PARTICIPANT_MIN_DIMENSIONS=void 0,exports.default=ResizeBehavior;var _ModelUtil=require("../../../util/ModelUtil"),_DiUtil=require("../../../util/DiUtil"),_ResizeUtil=require("./util/ResizeUtil"),HIGH_PRIORITY=1500,PARTICIPANT_MIN_DIMENSIONS=exports.PARTICIPANT_MIN_DIMENSIONS={width:300,height:150},SUB_PROCESS_MIN_DIMENSIONS=exports.SUB_PROCESS_MIN_DIMENSIONS={width:140,height:120},TEXT_ANNOTATION_MIN_DIMENSIONS=exports.TEXT_ANNOTATION_MIN_DIMENSIONS={width:50,height:30};function ResizeBehavior(eventBus){eventBus.on("resize.start",HIGH_PRIORITY,function(event){var context=event.context,shape=context.shape,direction=context.direction,balanced=context.balanced;((0,_ModelUtil.is)(shape,"bpmn:Lane")||(0,_ModelUtil.is)(shape,"bpmn:Participant"))&&(context.resizeConstraints=(0,_ResizeUtil.getParticipantResizeConstraints)(shape,direction,balanced)),(0,_ModelUtil.is)(shape,"bpmn:Participant")&&(context.minDimensions=PARTICIPANT_MIN_DIMENSIONS),(0,_ModelUtil.is)(shape,"bpmn:SubProcess")&&(0,_DiUtil.isExpanded)(shape)&&(context.minDimensions=SUB_PROCESS_MIN_DIMENSIONS),(0,_ModelUtil.is)(shape,"bpmn:TextAnnotation")&&(context.minDimensions=TEXT_ANNOTATION_MIN_DIMENSIONS)})}ResizeBehavior.$inject=["eventBus"]},{"../../../util/DiUtil":171,"../../../util/ModelUtil":173,"./util/ResizeUtil":133}],119:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ResizeLaneBehavior;var _ModelUtil=require("../../../util/ModelUtil"),_LayoutUtil=require("diagram-js/lib/layout/LayoutUtil"),_Mouse=require("diagram-js/lib/util/Mouse"),SLIGHTLY_HIGHER_PRIORITY=1001;function ResizeLaneBehavior(eventBus,modeling){eventBus.on("resize.start",SLIGHTLY_HIGHER_PRIORITY+500,function(event){var context=event.context,shape=context.shape;((0,_ModelUtil.is)(shape,"bpmn:Lane")||(0,_ModelUtil.is)(shape,"bpmn:Participant"))&&(context.balanced=!(0,_Mouse.hasPrimaryModifier)(event))}),eventBus.on("resize.end",SLIGHTLY_HIGHER_PRIORITY,function(event){var context=event.context,shape=context.shape,canExecute=context.canExecute,newBounds=context.newBounds;if((0,_ModelUtil.is)(shape,"bpmn:Lane")||(0,_ModelUtil.is)(shape,"bpmn:Participant"))return canExecute&&(newBounds=(0,_LayoutUtil.roundBounds)(newBounds),modeling.resizeLane(shape,newBounds,context.balanced)),!1})}ResizeLaneBehavior.$inject=["eventBus","modeling"]},{"../../../util/ModelUtil":173,"diagram-js/lib/layout/LayoutUtil":333,"diagram-js/lib/util/Mouse":356}],120:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=RootElementReferenceBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_minDash=require("min-dash"),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_Collections=require("diagram-js/lib/util/Collections"),_ModelUtil=require("../../../util/ModelUtil"),_ModelingUtil=require("../util/ModelingUtil"),_DiUtil=require("../../../util/DiUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var LOW_PRIORITY=500;function RootElementReferenceBehavior(bpmnjs,eventBus,injector,moddleCopy,bpmnFactory){function canHaveRootElementReference(element){return(0,_ModelingUtil.isAny)(element,["bpmn:ReceiveTask","bpmn:SendTask"])||function(element,types){(0,_minDash.isArray)(types)||(types=[types]);return(0,_minDash.some)(types,function(type){return(0,_DiUtil.hasEventDefinition)(element,type)})}(element,["bpmn:ErrorEventDefinition","bpmn:EscalationEventDefinition","bpmn:MessageEventDefinition","bpmn:SignalEventDefinition"])}function hasRootElement(rootElement){var rootElements=bpmnjs.getDefinitions().get("rootElements");return!!(0,_minDash.find)(rootElements,(0,_minDash.matchPattern)({id:rootElement.id}))}function getRootElementReferencePropertyName(eventDefinition){return(0,_ModelUtil.is)(eventDefinition,"bpmn:ErrorEventDefinition")?"errorRef":(0,_ModelUtil.is)(eventDefinition,"bpmn:EscalationEventDefinition")?"escalationRef":(0,_ModelUtil.is)(eventDefinition,"bpmn:MessageEventDefinition")?"messageRef":(0,_ModelUtil.is)(eventDefinition,"bpmn:SignalEventDefinition")?"signalRef":void 0}function getRootElement(businessObject){if((0,_ModelingUtil.isAny)(businessObject,["bpmn:ReceiveTask","bpmn:SendTask"]))return businessObject.get("messageRef");var eventDefinition=businessObject.get("eventDefinitions")[0];return eventDefinition.get(getRootElementReferencePropertyName(eventDefinition))}injector.invoke(_CommandInterceptor2.default,this),this.executed("shape.create",function(context){var shape=context.shape;if(canHaveRootElementReference(shape)){var rootElements,rootElement=getRootElement((0,_ModelUtil.getBusinessObject)(shape));rootElement&&!hasRootElement(rootElement)&&(rootElements=bpmnjs.getDefinitions().get("rootElements"),(0,_Collections.add)(rootElements,rootElement),context.addedRootElement=rootElement)}},!0),this.reverted("shape.create",function(context){var addedRootElement=context.addedRootElement;if(addedRootElement){var rootElements=bpmnjs.getDefinitions().get("rootElements");(0,_Collections.remove)(rootElements,addedRootElement)}},!0),eventBus.on("copyPaste.copyElement",function(context){var descriptor=context.descriptor,element=context.element;if(canHaveRootElementReference(element)){var rootElement=getRootElement((0,_ModelUtil.getBusinessObject)(element));rootElement&&(descriptor.referencedRootElement=rootElement)}}),eventBus.on("copyPaste.pasteElement",LOW_PRIORITY,function(context){var descriptor=context.descriptor,businessObject=descriptor.businessObject;if(canHaveRootElementReference(businessObject)){var referencedRootElement=descriptor.referencedRootElement;referencedRootElement&&(hasRootElement(referencedRootElement)||(referencedRootElement=moddleCopy.copyElement(referencedRootElement,bpmnFactory.create(referencedRootElement.$type))),function(businessObject,rootElement){if((0,_ModelingUtil.isAny)(businessObject,["bpmn:ReceiveTask","bpmn:SendTask"]))return businessObject.set("messageRef",rootElement);var eventDefinition=businessObject.get("eventDefinitions")[0];eventDefinition.set(getRootElementReferencePropertyName(eventDefinition),rootElement)}(businessObject,referencedRootElement))}})}RootElementReferenceBehavior.$inject=["bpmnjs","eventBus","injector","moddleCopy","bpmnFactory"],(0,_inherits2.default)(RootElementReferenceBehavior,_CommandInterceptor2.default)},{"../../../util/DiUtil":171,"../../../util/ModelUtil":173,"../util/ModelingUtil":145,"diagram-js/lib/command/CommandInterceptor":182,"diagram-js/lib/util/Collections":346,inherits:366,"min-dash":572}],121:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=SpaceToolBehavior;var _minDash=require("min-dash"),_ModelUtil=require("../../../util/ModelUtil"),_DiUtil=require("../../../util/DiUtil"),_ResizeBehavior=require("./ResizeBehavior");function SpaceToolBehavior(eventBus){eventBus.on("spaceTool.getMinDimensions",function(context){var shapes=context.shapes,minDimensions={};return(0,_minDash.forEach)(shapes,function(shape){var id=shape.id;(0,_ModelUtil.is)(shape,"bpmn:Participant")&&(minDimensions[id]=_ResizeBehavior.PARTICIPANT_MIN_DIMENSIONS),(0,_ModelUtil.is)(shape,"bpmn:SubProcess")&&(0,_DiUtil.isExpanded)(shape)&&(minDimensions[id]=_ResizeBehavior.SUB_PROCESS_MIN_DIMENSIONS),(0,_ModelUtil.is)(shape,"bpmn:TextAnnotation")&&(minDimensions[id]=_ResizeBehavior.TEXT_ANNOTATION_MIN_DIMENSIONS)}),minDimensions})}SpaceToolBehavior.$inject=["eventBus"]},{"../../../util/DiUtil":171,"../../../util/ModelUtil":173,"./ResizeBehavior":118,"min-dash":572}],122:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=SubProcessStartEventBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil"),_DiUtil=require("../../../util/DiUtil.js");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function SubProcessStartEventBehavior(injector,modeling){injector.invoke(_CommandInterceptor2.default,this),this.postExecuted("shape.replace",function(event){var oldShape=event.context.oldShape,newShape=event.context.newShape;if((0,_ModelUtil.is)(newShape,"bpmn:SubProcess")&&(0,_ModelUtil.is)(oldShape,"bpmn:Task")&&(0,_DiUtil.isExpanded)(newShape)){var position=function(shape){return{x:shape.x+shape.width/6,y:shape.y+shape.height/2}}(newShape);modeling.createShape({type:"bpmn:StartEvent"},position,newShape)}})}SubProcessStartEventBehavior.$inject=["injector","modeling"],(0,_inherits2.default)(SubProcessStartEventBehavior,_CommandInterceptor2.default)},{"../../../util/DiUtil.js":171,"../../../util/ModelUtil":173,"diagram-js/lib/command/CommandInterceptor":182,inherits:366}],123:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ToggleElementCollapseBehaviour;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil"),_ResizeUtil=require("diagram-js/lib/features/resize/ResizeUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var LOW_PRIORITY=500;function ToggleElementCollapseBehaviour(eventBus,elementFactory,modeling,resize){function expandedBounds(shape,defaultSize){var visibleElements,visibleBBox,newBounds=defaultSize;return visibleElements=function(elements){return elements.filter(function(e){return!e.hidden})}(shape.children).concat([shape]),(visibleBBox=(0,_ResizeUtil.computeChildrenBBox)(visibleElements))?(newBounds.width=Math.max(visibleBBox.width,newBounds.width),newBounds.height=Math.max(visibleBBox.height,newBounds.height),newBounds.x=visibleBBox.x+(visibleBBox.width-newBounds.width)/2,newBounds.y=visibleBBox.y+(visibleBBox.height-newBounds.height)/2):(newBounds.x=shape.x+(shape.width-newBounds.width)/2,newBounds.y=shape.y+(shape.height-newBounds.height)/2),newBounds}_CommandInterceptor2.default.call(this,eventBus),this.executed(["shape.toggleCollapse"],LOW_PRIORITY,function(e){var shape=e.context.shape;(0,_ModelUtil.is)(shape,"bpmn:SubProcess")&&(shape.collapsed?(0,_ModelUtil.getBusinessObject)(shape).di.isExpanded=!1:(function(children){children.length&&children.forEach(function(child){"label"!==child.type||child.businessObject.name||(child.hidden=!0)})}(shape.children),(0,_ModelUtil.getBusinessObject)(shape).di.isExpanded=!0))}),this.reverted(["shape.toggleCollapse"],LOW_PRIORITY,function(e){var shape=e.context.shape;shape.collapsed?(0,_ModelUtil.getBusinessObject)(shape).di.isExpanded=!1:(0,_ModelUtil.getBusinessObject)(shape).di.isExpanded=!0}),this.postExecuted(["shape.toggleCollapse"],LOW_PRIORITY,function(e){var newBounds,shape=e.context.shape,defaultSize=elementFactory._getDefaultSize(shape);newBounds=shape.collapsed?function(shape,defaultSize){return{x:shape.x+(shape.width-defaultSize.width)/2,y:shape.y+(shape.height-defaultSize.height)/2,width:defaultSize.width,height:defaultSize.height}}(shape,defaultSize):expandedBounds(shape,defaultSize),modeling.resizeShape(shape,newBounds,null,{autoResize:!shape.collapsed&&"nwse"})})}(0,_inherits2.default)(ToggleElementCollapseBehaviour,_CommandInterceptor2.default),ToggleElementCollapseBehaviour.$inject=["eventBus","elementFactory","modeling"]},{"../../../util/ModelUtil":173,"diagram-js/lib/command/CommandInterceptor":182,"diagram-js/lib/features/resize/ResizeUtil":301,inherits:366}],124:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=UnclaimIdBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil"),_DiUtil=require("../../../util/DiUtil"),_LabelUtil=require("../../../util/LabelUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function UnclaimIdBehavior(canvas,injector,moddle,modeling){injector.invoke(_CommandInterceptor2.default,this),this.preExecute("shape.delete",function(event){var shape=event.context.shape,shapeBo=shape.businessObject;(0,_LabelUtil.isLabel)(shape)||((0,_ModelUtil.is)(shape,"bpmn:Participant")&&(0,_DiUtil.isExpanded)(shape)&&moddle.ids.unclaim(shapeBo.processRef.id),modeling.unclaimId(shapeBo.id,shapeBo))}),this.preExecute("connection.delete",function(event){var connectionBo=event.context.connection.businessObject;modeling.unclaimId(connectionBo.id,connectionBo)}),this.preExecute("canvas.updateRoot",function(){var rootElementBo=canvas.getRootElement().businessObject;moddle.ids.unclaim(rootElementBo.id)})}(0,_inherits2.default)(UnclaimIdBehavior,_CommandInterceptor2.default),UnclaimIdBehavior.$inject=["canvas","injector","moddle","modeling"]},{"../../../util/DiUtil":171,"../../../util/LabelUtil":172,"../../../util/ModelUtil":173,"diagram-js/lib/command/CommandInterceptor":182,inherits:366}],125:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=DeleteSequenceFlowBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function DeleteSequenceFlowBehavior(eventBus,modeling){_CommandInterceptor2.default.call(this,eventBus),this.preExecute("connection.delete",function(event){var connection=event.context.connection,source=connection.source;!function(connection,source){if(!(0,_ModelUtil.is)(connection,"bpmn:SequenceFlow"))return!1;var sourceBo=(0,_ModelUtil.getBusinessObject)(source),sequenceFlow=(0,_ModelUtil.getBusinessObject)(connection);return sourceBo.get("default")===sequenceFlow}(connection,source)||modeling.updateProperties(source,{default:null})})}(0,_inherits2.default)(DeleteSequenceFlowBehavior,_CommandInterceptor2.default),DeleteSequenceFlowBehavior.$inject=["eventBus","modeling"]},{"../../../util/ModelUtil":173,"diagram-js/lib/command/CommandInterceptor":182,inherits:366}],126:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=UpdateFlowNodeRefsBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var LOW_PRIORITY=500,HIGH_PRIORITY=5e3;function UpdateFlowNodeRefsBehavior(eventBus,modeling,translate){var context;function getContext(){if(!context)throw new Error(translate("out of bounds release"));return context}_CommandInterceptor2.default.call(this,eventBus);var laneRefUpdateEvents=["spaceTool","lane.add","lane.resize","lane.split","elements.create","elements.delete","elements.move","shape.create","shape.delete","shape.move","shape.resize"];this.preExecute(laneRefUpdateEvents,HIGH_PRIORITY,function(event){(context=context||new UpdateContext).enter()}),this.postExecuted(laneRefUpdateEvents,LOW_PRIORITY,function(event){!function(){if(!context)throw new Error(translate("out of bounds release"));var triggerUpdate=context.leave();triggerUpdate&&(modeling.updateLaneRefs(context.flowNodes,context.lanes),context=null)}()}),this.preExecute(["shape.create","shape.move","shape.delete","shape.resize"],function(event){var shape=event.context.shape,updateContext=getContext();shape.labelTarget||((0,_ModelUtil.is)(shape,"bpmn:Lane")&&updateContext.addLane(shape),(0,_ModelUtil.is)(shape,"bpmn:FlowNode")&&updateContext.addFlowNode(shape))})}function UpdateContext(){this.flowNodes=[],this.lanes=[],this.counter=0,this.addLane=function(lane){this.lanes.push(lane)},this.addFlowNode=function(flowNode){this.flowNodes.push(flowNode)},this.enter=function(){this.counter++},this.leave=function(){return this.counter--,!this.counter}}UpdateFlowNodeRefsBehavior.$inject=["eventBus","modeling","translate"],(0,_inherits2.default)(UpdateFlowNodeRefsBehavior,_CommandInterceptor2.default)},{"../../../util/ModelUtil":173,"diagram-js/lib/command/CommandInterceptor":182,inherits:366}],127:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _AdaptiveLabelPositioningBehavior2=_interopRequireDefault(require("./AdaptiveLabelPositioningBehavior")),_AppendBehavior2=_interopRequireDefault(require("./AppendBehavior")),_AssociationBehavior2=_interopRequireDefault(require("./AssociationBehavior")),_AttachEventBehavior2=_interopRequireDefault(require("./AttachEventBehavior")),_BoundaryEventBehavior2=_interopRequireDefault(require("./BoundaryEventBehavior")),_RootElementReferenceBehavior2=_interopRequireDefault(require("./RootElementReferenceBehavior")),_CreateBehavior2=_interopRequireDefault(require("./CreateBehavior")),_FixHoverBehavior2=_interopRequireDefault(require("./FixHoverBehavior")),_CreateDataObjectBehavior2=_interopRequireDefault(require("./CreateDataObjectBehavior")),_CreateParticipantBehavior2=_interopRequireDefault(require("./CreateParticipantBehavior")),_DataInputAssociationBehavior2=_interopRequireDefault(require("./DataInputAssociationBehavior")),_DataStoreBehavior2=_interopRequireDefault(require("./DataStoreBehavior")),_DeleteLaneBehavior2=_interopRequireDefault(require("./DeleteLaneBehavior")),_DetachEventBehavior2=_interopRequireDefault(require("./DetachEventBehavior")),_DropOnFlowBehavior2=_interopRequireDefault(require("./DropOnFlowBehavior")),_EventBasedGatewayBehavior2=_interopRequireDefault(require("./EventBasedGatewayBehavior")),_GroupBehavior2=_interopRequireDefault(require("./GroupBehavior")),_ImportDockingFix2=_interopRequireDefault(require("./ImportDockingFix")),_IsHorizontalFix2=_interopRequireDefault(require("./IsHorizontalFix")),_LabelBehavior2=_interopRequireDefault(require("./LabelBehavior")),_ModelingFeedback2=_interopRequireDefault(require("./ModelingFeedback")),_ReplaceConnectionBehavior2=_interopRequireDefault(require("./ReplaceConnectionBehavior")),_RemoveParticipantBehavior2=_interopRequireDefault(require("./RemoveParticipantBehavior")),_ReplaceElementBehaviour2=_interopRequireDefault(require("./ReplaceElementBehaviour")),_ResizeBehavior2=_interopRequireDefault(require("./ResizeBehavior")),_ResizeLaneBehavior2=_interopRequireDefault(require("./ResizeLaneBehavior")),_RemoveElementBehavior2=_interopRequireDefault(require("./RemoveElementBehavior")),_SpaceToolBehavior2=_interopRequireDefault(require("./SpaceToolBehavior")),_SubProcessStartEventBehavior2=_interopRequireDefault(require("./SubProcessStartEventBehavior")),_ToggleElementCollapseBehaviour2=_interopRequireDefault(require("./ToggleElementCollapseBehaviour")),_UnclaimIdBehavior2=_interopRequireDefault(require("./UnclaimIdBehavior")),_UpdateFlowNodeRefsBehavior2=_interopRequireDefault(require("./UpdateFlowNodeRefsBehavior")),_UnsetDefaultFlowBehavior2=_interopRequireDefault(require("./UnsetDefaultFlowBehavior"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__init__:["adaptiveLabelPositioningBehavior","appendBehavior","associationBehavior","attachEventBehavior","boundaryEventBehavior","rootElementReferenceBehavior","createBehavior","fixHoverBehavior","createDataObjectBehavior","createParticipantBehavior","dataStoreBehavior","dataInputAssociationBehavior","deleteLaneBehavior","detachEventBehavior","dropOnFlowBehavior","eventBasedGatewayBehavior","groupBehavior","importDockingFix","isHorizontalFix","labelBehavior","modelingFeedback","removeElementBehavior","removeParticipantBehavior","replaceConnectionBehavior","replaceElementBehaviour","resizeBehavior","resizeLaneBehavior","toggleElementCollapseBehaviour","spaceToolBehavior","subProcessStartEventBehavior","unclaimIdBehavior","unsetDefaultFlowBehavior","updateFlowNodeRefsBehavior"],adaptiveLabelPositioningBehavior:["type",_AdaptiveLabelPositioningBehavior2.default],appendBehavior:["type",_AppendBehavior2.default],associationBehavior:["type",_AssociationBehavior2.default],attachEventBehavior:["type",_AttachEventBehavior2.default],boundaryEventBehavior:["type",_BoundaryEventBehavior2.default],rootElementReferenceBehavior:["type",_RootElementReferenceBehavior2.default],createBehavior:["type",_CreateBehavior2.default],fixHoverBehavior:["type",_FixHoverBehavior2.default],createDataObjectBehavior:["type",_CreateDataObjectBehavior2.default],createParticipantBehavior:["type",_CreateParticipantBehavior2.default],dataInputAssociationBehavior:["type",_DataInputAssociationBehavior2.default],dataStoreBehavior:["type",_DataStoreBehavior2.default],deleteLaneBehavior:["type",_DeleteLaneBehavior2.default],detachEventBehavior:["type",_DetachEventBehavior2.default],dropOnFlowBehavior:["type",_DropOnFlowBehavior2.default],eventBasedGatewayBehavior:["type",_EventBasedGatewayBehavior2.default],groupBehavior:["type",_GroupBehavior2.default],importDockingFix:["type",_ImportDockingFix2.default],isHorizontalFix:["type",_IsHorizontalFix2.default],labelBehavior:["type",_LabelBehavior2.default],modelingFeedback:["type",_ModelingFeedback2.default],replaceConnectionBehavior:["type",_ReplaceConnectionBehavior2.default],removeParticipantBehavior:["type",_RemoveParticipantBehavior2.default],replaceElementBehaviour:["type",_ReplaceElementBehaviour2.default],resizeBehavior:["type",_ResizeBehavior2.default],resizeLaneBehavior:["type",_ResizeLaneBehavior2.default],removeElementBehavior:["type",_RemoveElementBehavior2.default],toggleElementCollapseBehaviour:["type",_ToggleElementCollapseBehaviour2.default],spaceToolBehavior:["type",_SpaceToolBehavior2.default],subProcessStartEventBehavior:["type",_SubProcessStartEventBehavior2.default],unclaimIdBehavior:["type",_UnclaimIdBehavior2.default],updateFlowNodeRefsBehavior:["type",_UpdateFlowNodeRefsBehavior2.default],unsetDefaultFlowBehavior:["type",_UnsetDefaultFlowBehavior2.default]}},{"./AdaptiveLabelPositioningBehavior":94,"./AppendBehavior":95,"./AssociationBehavior":96,"./AttachEventBehavior":97,"./BoundaryEventBehavior":98,"./CreateBehavior":99,"./CreateDataObjectBehavior":100,"./CreateParticipantBehavior":101,"./DataInputAssociationBehavior":102,"./DataStoreBehavior":103,"./DeleteLaneBehavior":104,"./DetachEventBehavior":105,"./DropOnFlowBehavior":106,"./EventBasedGatewayBehavior":107,"./FixHoverBehavior":108,"./GroupBehavior":109,"./ImportDockingFix":110,"./IsHorizontalFix":111,"./LabelBehavior":112,"./ModelingFeedback":113,"./RemoveElementBehavior":114,"./RemoveParticipantBehavior":115,"./ReplaceConnectionBehavior":116,"./ReplaceElementBehaviour":117,"./ResizeBehavior":118,"./ResizeLaneBehavior":119,"./RootElementReferenceBehavior":120,"./SpaceToolBehavior":121,"./SubProcessStartEventBehavior":122,"./ToggleElementCollapseBehaviour":123,"./UnclaimIdBehavior":124,"./UnsetDefaultFlowBehavior":125,"./UpdateFlowNodeRefsBehavior":126}],128:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createCategoryValue=function(definitions,bpmnFactory){var categoryValue=bpmnFactory.create("bpmn:CategoryValue"),category=bpmnFactory.create("bpmn:Category",{categoryValue:[categoryValue]});return(0,_Collections.add)(definitions.get("rootElements"),category),(0,_ModelUtil.getBusinessObject)(category).$parent=definitions,(0,_ModelUtil.getBusinessObject)(categoryValue).$parent=category,categoryValue};var _Collections=require("diagram-js/lib/util/Collections"),_ModelUtil=require("../../../../util/ModelUtil")},{"../../../../util/ModelUtil":173,"diagram-js/lib/util/Collections":346}],129:[function(require,module,exports){"use strict";function vectorLength(v){return Math.sqrt(Math.pow(v.x,2)+Math.pow(v.y,2))}function perpendicularFoot(point,line){var a=line[0],b=line[1],bd={x:b.x-a.x,y:b.y-a.y},r=function(a,b,c){var system=[{n:a[0]-c[0],lambda:b[0]},{n:a[1]-c[1],lambda:b[1]}];return-(system[0].n*b[0]+system[1].n*b[1])/(system[0].lambda*b[0]+system[1].lambda*b[1])}([a.x,a.y],[bd.x,bd.y],[point.x,point.y]);return{x:a.x+r*bd.x,y:a.y+r*bd.y}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.vectorLength=vectorLength,exports.getAngle=function(line){return Math.atan((line[1].y-line[0].y)/(line[1].x-line[0].x))},exports.rotateVector=function(vector,angle){return angle?{x:Math.cos(angle)*vector.x-Math.sin(angle)*vector.y,y:Math.sin(angle)*vector.x+Math.cos(angle)*vector.y}:vector},exports.perpendicularFoot=perpendicularFoot,exports.getDistancePointLine=function(point,line){var pfPoint=perpendicularFoot(point,line);return vectorLength({x:pfPoint.x-point.x,y:pfPoint.y-point.y})},exports.getDistancePointPoint=function(point1,point2){return vectorLength({x:point1.x-point2.x,y:point1.y-point2.y})}},{}],130:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.findNewLabelLineStartIndex=findNewLabelLineStartIndex,exports.getLabelAdjustment=function(label,newWaypoints,oldWaypoints,hints){var x=0,y=0,labelPosition=function(label){return{x:label.x+label.width/2,y:label.y+label.height/2}}(label),attachment=(0,_LineAttachmentUtil.getAttachment)(labelPosition,oldWaypoints),oldLabelLineIndex=attachment.segmentIndex,newLabelLineIndex=findNewLabelLineStartIndex(oldWaypoints,newWaypoints,attachment,hints);if(null===newLabelLineIndex)return{x:x,y:y};if(newLabelLineIndex<0||newLabelLineIndex>newWaypoints.length-2)return{x:x,y:y};var oldLabelLine=getLine(oldWaypoints,oldLabelLineIndex),newLabelLine=getLine(newWaypoints,newLabelLineIndex),oldFoot=attachment.position,relativeFootPosition=function(line,foot){var length=(0,_GeometricUtil.getDistancePointPoint)(line[0],line[1]),lengthToFoot=(0,_GeometricUtil.getDistancePointPoint)(line[0],foot);return 0===length?0:lengthToFoot/length}(oldLabelLine,oldFoot),angleDelta=function(l1,l2){var a1=(0,_GeometricUtil.getAngle)(l1);return(0,_GeometricUtil.getAngle)(l2)-a1}(oldLabelLine,newLabelLine);if("bendpoint"===attachment.type){var offset=newWaypoints.length-oldWaypoints.length,oldBendpointIndex=attachment.bendpointIndex,oldBendpoint=oldWaypoints[oldBendpointIndex];if(-1!==newWaypoints.indexOf(oldBendpoint))return{x:x,y:y};if(0==offset){var newBendpoint=newWaypoints[oldBendpointIndex];return{x:newBendpoint.x-attachment.position.x,y:newBendpoint.y-attachment.position.y}}offset<0&&0!==oldBendpointIndex&&oldBendpointIndex line intersections");1===intersections.length&&(attachment={type:"bendpoint",position:intersections[0],segmentIndex:idx,bendpointIndex:pointsEqual(segmentStart,intersections[0])?idx:idx+1}),2===intersections.length&&(p1=intersections[0],p2=intersections[1],attachmentPosition={x:(p1.x+p2.x)/2,y:(p1.y+p2.y)/2},attachment={type:"segment",position:attachmentPosition,segmentIndex:idx,relativeLocation:getDistance(segmentStart,attachmentPosition)/getDistance(segmentStart,segmentEnd)}),attachmentDistance=getDistance(attachment.position,point),(!closestAttachment||attachmentDistance=min(rangeStart,rangeEnd)-EQUAL_THRESHOLD&&n<=max(rangeStart,rangeEnd)+EQUAL_THRESHOLD}var EQUAL_THRESHOLD=.1;function pointsEqual(p1,p2){return abs(p1.x-p2.x)<=EQUAL_THRESHOLD&&abs(p1.y-p2.y)<=EQUAL_THRESHOLD}},{}],132:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(l1s,l1e,l2s,l2e){var denominator,a,b,c,numerator;return 0!=(denominator=(l2e.y-l2s.y)*(l1e.x-l1s.x)-(l2e.x-l2s.x)*(l1e.y-l1s.y))?(a=l1s.y-l2s.y,b=l1s.x-l2s.x,numerator=(l2e.x-l2s.x)*a-(l2e.y-l2s.y)*b,c=numerator/denominator,{x:Math.round(l1s.x+c*(l1e.x-l1s.x)),y:Math.round(l1s.y+c*(l1e.y-l1s.y))}):null}},{}],133:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getParticipantResizeConstraints=function(laneShape,resizeDirection,balanced){var lanesRoot=(0,_LaneUtil.getLanesRoot)(laneShape),isFirst=!0,isLast=!0,allLanes=(0,_LaneUtil.collectLanes)(lanesRoot,[lanesRoot]),laneTrbl=(0,_LayoutUtil.asTRBL)(laneShape),maxTrbl={},minTrbl={};/e/.test(resizeDirection)?minTrbl.right=laneTrbl.left+LANE_MIN_WIDTH:/w/.test(resizeDirection)&&(minTrbl.left=laneTrbl.right-LANE_MIN_WIDTH);return allLanes.forEach(function(other){var otherTrbl=(0,_LayoutUtil.asTRBL)(other);/n/.test(resizeDirection)&&(otherTrbl.toplaneTrbl.bottom+10&&(isLast=!1),balanced&&abs(laneTrbl.bottom-otherTrbl.top)<10&&addMin(maxTrbl,"bottom",otherTrbl.bottom-LANE_MIN_HEIGHT),abs(laneTrbl.bottom-otherTrbl.bottom)<5&&addMax(minTrbl,"bottom",otherTrbl.top+LANE_MIN_HEIGHT))}),lanesRoot.children.filter(function(s){return!s.hidden&&!s.waypoints&&((0,_ModelUtil.is)(s,"bpmn:FlowElement")||(0,_ModelUtil.is)(s,"bpmn:Artifact"))}).forEach(function(flowElement){var flowElementTrbl=(0,_LayoutUtil.asTRBL)(flowElement);isFirst&&/n/.test(resizeDirection)&&addMin(minTrbl,"top",flowElementTrbl.top-LANE_TOP_PADDING),/e/.test(resizeDirection)&&addMax(minTrbl,"right",flowElementTrbl.right+LANE_RIGHT_PADDING),isLast&&/s/.test(resizeDirection)&&addMax(minTrbl,"bottom",flowElementTrbl.bottom+LANE_BOTTOM_PADDING),/w/.test(resizeDirection)&&addMin(minTrbl,"left",flowElementTrbl.left-LANE_LEFT_PADDING)}),{min:minTrbl,max:maxTrbl}};var _ModelUtil=require("../../../../util/ModelUtil"),_LayoutUtil=require("diagram-js/lib/layout/LayoutUtil"),_LaneUtil=require("../../../modeling/util/LaneUtil"),abs=Math.abs,min=Math.min,max=Math.max;function addToTrbl(trbl,attr,value,choice){var current=trbl[attr];trbl[attr]=void 0===current?value:choice(value,current)}function addMin(trbl,attr,value){return addToTrbl(trbl,attr,value,min)}function addMax(trbl,attr,value){return addToTrbl(trbl,attr,value,max)}var LANE_MIN_HEIGHT=60,LANE_MIN_WIDTH=300,LANE_RIGHT_PADDING=20,LANE_LEFT_PADDING=50,LANE_TOP_PADDING=20,LANE_BOTTOM_PADDING=20},{"../../../../util/ModelUtil":173,"../../../modeling/util/LaneUtil":144,"diagram-js/lib/layout/LayoutUtil":333}],134:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=AddLaneHandler;var _minDash=require("min-dash"),_Elements=require("diagram-js/lib/util/Elements"),_LaneUtil=require("../util/LaneUtil");function AddLaneHandler(modeling,spaceTool){this._modeling=modeling,this._spaceTool=spaceTool}AddLaneHandler.$inject=["modeling","spaceTool"],AddLaneHandler.prototype.preExecute=function(context){var spaceTool=this._spaceTool,modeling=this._modeling,shape=context.shape,location=context.location,lanesRoot=(0,_LaneUtil.getLanesRoot)(shape),isRoot=lanesRoot===shape,laneParent=isRoot?shape:shape.parent;(0,_LaneUtil.getChildLanes)(laneParent).length||modeling.createShape({type:"bpmn:Lane"},{x:shape.x+_LaneUtil.LANE_INDENTATION,y:shape.y,width:shape.width-_LaneUtil.LANE_INDENTATION,height:shape.height},laneParent);var allAffected=[];(0,_Elements.eachElement)(lanesRoot,function(element){return allAffected.push(element),element.label&&allAffected.push(element.label),element===shape?[]:(0,_minDash.filter)(element.children,function(c){return c!==shape})});var offset="top"===location?-120:120,lanePosition="top"===location?shape.y:shape.y+shape.height,spacePos=lanePosition+("top"===location?10:-10),direction="top"===location?"n":"s",adjustments=spaceTool.calculateAdjustments(allAffected,"y",offset,spacePos);spaceTool.makeSpace(adjustments.movingShapes,adjustments.resizingShapes,{x:0,y:offset},direction,spacePos),context.newLane=modeling.createShape({type:"bpmn:Lane"},{x:shape.x+(isRoot?_LaneUtil.LANE_INDENTATION:0),y:lanePosition-("top"===location?120:0),width:shape.width-(isRoot?_LaneUtil.LANE_INDENTATION:0),height:120},laneParent)}},{"../util/LaneUtil":144,"diagram-js/lib/util/Elements":348,"min-dash":572}],135:[function(require,module,exports){"use strict";function IdClaimHandler(moddle){this._moddle=moddle}Object.defineProperty(exports,"__esModule",{value:!0}),(exports.default=IdClaimHandler).$inject=["moddle"],IdClaimHandler.prototype.execute=function(context){var ids=this._moddle.ids,id=context.id,element=context.element;context.claiming?ids.claim(id,element):ids.unclaim(id)},IdClaimHandler.prototype.revert=function(context){var ids=this._moddle.ids,id=context.id,element=context.element;context.claiming?ids.unclaim(id):ids.claim(id,element)}},{}],136:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ResizeLaneHandler;var _ModelUtil=require("../../../util/ModelUtil"),_LaneUtil=require("../util/LaneUtil"),_Elements=require("diagram-js/lib/util/Elements"),_LayoutUtil=require("diagram-js/lib/layout/LayoutUtil"),_ResizeUtil=require("diagram-js/lib/features/resize/ResizeUtil");function ResizeLaneHandler(modeling,spaceTool){this._modeling=modeling,this._spaceTool=spaceTool}ResizeLaneHandler.$inject=["modeling","spaceTool"],ResizeLaneHandler.prototype.preExecute=function(context){var shape=context.shape,newBounds=context.newBounds;!1!==context.balanced?this.resizeBalanced(shape,newBounds):this.resizeSpace(shape,newBounds)},ResizeLaneHandler.prototype.resizeBalanced=function(shape,newBounds){var modeling=this._modeling,resizeNeeded=(0,_LaneUtil.computeLanesResize)(shape,newBounds);modeling.resizeShape(shape,newBounds),resizeNeeded.forEach(function(r){modeling.resizeShape(r.shape,r.newBounds)})},ResizeLaneHandler.prototype.resizeSpace=function(shape,newBounds){var change,spacePos,direction,offset,adjustments,spaceTool=this._spaceTool,shapeTrbl=(0,_LayoutUtil.asTRBL)(shape),newTrbl=(0,_LayoutUtil.asTRBL)(newBounds),trblDiff=(0,_ResizeUtil.substractTRBL)(newTrbl,shapeTrbl),lanesRoot=(0,_LaneUtil.getLanesRoot)(shape),allAffected=[],allLanes=[];(0,_Elements.eachElement)(lanesRoot,function(element){return allAffected.push(element),((0,_ModelUtil.is)(element,"bpmn:Lane")||(0,_ModelUtil.is)(element,"bpmn:Participant"))&&allLanes.push(element),element.children}),(trblDiff.bottom||trblDiff.top)&&(change=trblDiff.bottom||trblDiff.top,spacePos=shape.y+(trblDiff.bottom?shape.height:0)+(trblDiff.bottom?-10:10),direction=trblDiff.bottom?"s":"n",offset=0laneTrbl.left&&elementMid_xlaneTrbl.top&&elementMid_ytarget[axis]+dimensionForAxis-padding&&(0,_SnapUtil.setSnapped)(event,axis,target[axis]+dimensionForAxis-padding)})}(event,hover,function(target){return(0,_ModelUtil.is)(target,"bpmn:Task")?TASK_BOUNDS_PADDING:TARGET_BOUNDS_PADDING}(hover)),hover&&function(attrs,types){return(0,_minDash.some)(types,function(type){return isType(attrs,type)})}(canExecute,["bpmn:Association","bpmn:DataInputAssociation","bpmn:DataOutputAssociation","bpmn:SequenceFlow"])?(context.connectionStart=(0,_SnapUtil.mid)(start),(0,_ModelingUtil.isAny)(hover,["bpmn:Event","bpmn:Gateway"])&&snapToPosition(event,(0,_SnapUtil.mid)(hover)),(0,_ModelingUtil.isAny)(hover,["bpmn:Task","bpmn:SubProcess"])&&function(event,target){var targetMid=(0,_SnapUtil.mid)(target);AXES.forEach(function(axis){!function(event,target,axis){return event[axis]>target[axis]+TARGET_CENTER_PADDING&&event[axis]sourceMid[axis]?sourceMid[axis]+BOUNDARY_TO_HOST_THRESHOLD:sourceMid[axis]-BOUNDARY_TO_HOST_THRESHOLD,(0,_SnapUtil.setSnapped)(event,axis,newCoordinate))})}(event)):isType(canExecute,"bpmn:MessageFlow")?((0,_ModelUtil.is)(start,"bpmn:Event")&&(context.connectionStart=(0,_SnapUtil.mid)(start)),(0,_ModelUtil.is)(hover,"bpmn:Event")&&snapToPosition(event,(0,_SnapUtil.mid)(hover))):context.connectionStart=context.initialConnectionStart)})}function snapToPosition(event,position){(0,_SnapUtil.setSnapped)(event,"x",position.x),(0,_SnapUtil.setSnapped)(event,"y",position.y)}function isType(attrs,type){return attrs&&attrs.type===type}function getDimensionForAxis(axis,element){return"x"===axis?element.width:element.height}BpmnConnectSnapping.$inject=["eventBus"]},{"../../util/ModelUtil":173,"../modeling/util/ModelingUtil":145,"diagram-js/lib/features/keyboard/KeyboardUtil":249,"diagram-js/lib/features/snapping/SnapUtil":315,"diagram-js/lib/layout/LayoutUtil":333,"min-dash":572}],163:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=BpmnCreateMoveSnapping;var _inherits2=_interopRequireDefault(require("inherits")),_CreateMoveSnapping2=_interopRequireDefault(require("diagram-js/lib/features/snapping/CreateMoveSnapping")),_SnapUtil=require("diagram-js/lib/features/snapping/SnapUtil"),_DiUtil=require("../../util/DiUtil"),_ModelUtil=require("../../util/ModelUtil"),_LayoutUtil=require("diagram-js/lib/layout/LayoutUtil"),_BpmnSnappingUtil=require("./BpmnSnappingUtil"),_minDash=require("min-dash");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var HIGH_PRIORITY=1500;function BpmnCreateMoveSnapping(eventBus,injector){injector.invoke(_CreateMoveSnapping2.default,this),eventBus.on(["create.move","create.end"],HIGH_PRIORITY,setSnappedIfConstrained),eventBus.on(["create.move","create.end","shape.move.move","shape.move.end"],HIGH_PRIORITY,function(event){var context=event.context,canExecute=context.canExecute,target=context.target;!canExecute||"attach"!==canExecute&&!canExecute.attach||(0,_SnapUtil.isSnapped)(event)||function(event,target){var offset,targetTRBL=(0,_LayoutUtil.asTRBL)(target),direction=(0,_BpmnSnappingUtil.getBoundaryAttachment)(event,target),shape=event.context.shape;offset=shape.parent?{x:0,y:0}:(0,_LayoutUtil.getMid)(shape);/top/.test(direction)?(0,_SnapUtil.setSnapped)(event,"y",targetTRBL.top-offset.y):/bottom/.test(direction)&&(0,_SnapUtil.setSnapped)(event,"y",targetTRBL.bottom-offset.y);/left/.test(direction)?(0,_SnapUtil.setSnapped)(event,"x",targetTRBL.left-offset.x):/right/.test(direction)&&(0,_SnapUtil.setSnapped)(event,"x",targetTRBL.right-offset.x)}(event,target)})}function setSnappedIfConstrained(event){var createConstraints=event.context.createConstraints;if(createConstraints){var top=createConstraints.top,right=createConstraints.right,bottom=createConstraints.bottom,left=createConstraints.left;(left&&left>=event.x||right&&right<=event.x)&&(0,_SnapUtil.setSnapped)(event,"x",event.x),(top&&top>=event.y||bottom&&bottom<=event.y)&&(0,_SnapUtil.setSnapped)(event,"y",event.y)}}function includes(array,value){return-1!==array.indexOf(value)}function getDockingSnapOrigin(docking,isMove,event){return isMove?{x:docking.x-event.x,y:docking.y-event.y}:{x:docking.x,y:docking.y}}(0,_inherits2.default)(BpmnCreateMoveSnapping,_CreateMoveSnapping2.default),BpmnCreateMoveSnapping.$inject=["eventBus","injector"],BpmnCreateMoveSnapping.prototype.initSnap=function(event){var snapContext=_CreateMoveSnapping2.default.prototype.initSnap.call(this,event),shape=event.shape,isMove=!!this._elementRegistry.get(shape.id);return(0,_minDash.forEach)(shape.outgoing,function(connection){var docking=connection.waypoints[0];docking=docking.original||docking,snapContext.setSnapOrigin(connection.id+"-docking",getDockingSnapOrigin(docking,isMove,event))}),(0,_minDash.forEach)(shape.incoming,function(connection){var docking=connection.waypoints[connection.waypoints.length-1];docking=docking.original||docking,snapContext.setSnapOrigin(connection.id+"-docking",getDockingSnapOrigin(docking,isMove,event))}),(0,_ModelUtil.is)(shape,"bpmn:Participant")&&snapContext.setSnapLocations(["top-left","bottom-right","mid"]),snapContext},BpmnCreateMoveSnapping.prototype.addSnapTargetPoints=function(snapPoints,shape,target){_CreateMoveSnapping2.default.prototype.addSnapTargetPoints.call(this,snapPoints,shape,target);var snapTargets=this.getSnapTargets(shape,target);(0,_minDash.forEach)(snapTargets,function(snapTarget){(function(element){if((0,_ModelUtil.is)(element,"bpmn:SubProcess")&&(0,_DiUtil.isExpanded)(element))return!0;return(0,_ModelUtil.is)(element,"bpmn:Participant")}(snapTarget)||function(elements,type){return elements.every(function(el){return(0,_ModelUtil.is)(el,type)})}([shape,snapTarget],"bpmn:TextAnnotation"))&&(snapPoints.add("top-left",(0,_SnapUtil.topLeft)(snapTarget)),snapPoints.add("bottom-right",(0,_SnapUtil.bottomRight)(snapTarget)))});var elementRegistry=this._elementRegistry;return(0,_minDash.forEach)(shape.incoming,function(connection){if(elementRegistry.get(shape.id)){includes(snapTargets,connection.source)||snapPoints.add("mid",(0,_LayoutUtil.getMid)(connection.source));var docking=connection.waypoints[0];snapPoints.add(connection.id+"-docking",docking.original||docking)}}),(0,_minDash.forEach)(shape.outgoing,function(connection){if(elementRegistry.get(shape.id)){includes(snapTargets,connection.target)||snapPoints.add("mid",(0,_LayoutUtil.getMid)(connection.target));var docking=connection.waypoints[connection.waypoints.length-1];snapPoints.add(connection.id+"-docking",docking.original||docking)}}),(0,_ModelUtil.is)(target,"bpmn:SequenceFlow")&&(snapPoints=this.addSnapTargetPoints(snapPoints,shape,target.parent)),snapPoints},BpmnCreateMoveSnapping.prototype.getSnapTargets=function(shape,target){return _CreateMoveSnapping2.default.prototype.getSnapTargets.call(this,shape,target).filter(function(snapTarget){return!(0,_ModelUtil.is)(snapTarget,"bpmn:Lane")})}},{"../../util/DiUtil":171,"../../util/ModelUtil":173,"./BpmnSnappingUtil":164,"diagram-js/lib/features/snapping/CreateMoveSnapping":312,"diagram-js/lib/features/snapping/SnapUtil":315,"diagram-js/lib/layout/LayoutUtil":333,inherits:366,"min-dash":572}],164:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getBoundaryAttachment=function(position,targetBounds){var orientation=(0,_LayoutUtil.getOrientation)(position,targetBounds,-15);return"intersect"!==orientation?orientation:null};var _LayoutUtil=require("diagram-js/lib/layout/LayoutUtil")},{"diagram-js/lib/layout/LayoutUtil":333}],165:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _BpmnConnectSnapping2=_interopRequireDefault(require("./BpmnConnectSnapping")),_BpmnCreateMoveSnapping2=_interopRequireDefault(require("./BpmnCreateMoveSnapping")),_snapping2=_interopRequireDefault(require("diagram-js/lib/features/snapping"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_snapping2.default],__init__:["connectSnapping","createMoveSnapping"],connectSnapping:["type",_BpmnConnectSnapping2.default],createMoveSnapping:["type",_BpmnCreateMoveSnapping2.default]}},{"./BpmnConnectSnapping":162,"./BpmnCreateMoveSnapping":163,"diagram-js/lib/features/snapping":317}],166:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=BpmnImporter;var _minDash=require("min-dash"),_ModelUtil=require("../util/ModelUtil"),_LabelUtil=require("../util/LabelUtil"),_LayoutUtil=require("diagram-js/lib/layout/LayoutUtil"),_DiUtil=require("../util/DiUtil"),_LabelUtil2=require("../features/label-editing/LabelUtil"),_Util=require("./Util");function elementData(semantic,attrs){return(0,_minDash.assign)({id:semantic.id,type:semantic.$type,businessObject:semantic},attrs)}function notYetDrawn(translate,semantic,refSemantic,property){return new Error(translate("element {element} referenced by {referenced}#{property} not yet drawn",{element:(0,_Util.elementToString)(refSemantic),referenced:(0,_Util.elementToString)(semantic),property:property}))}function BpmnImporter(eventBus,canvas,elementFactory,elementRegistry,translate,textRenderer){this._eventBus=eventBus,this._canvas=canvas,this._elementFactory=elementFactory,this._elementRegistry=elementRegistry,this._translate=translate,this._textRenderer=textRenderer}BpmnImporter.$inject=["eventBus","canvas","elementFactory","elementRegistry","translate","textRenderer"],BpmnImporter.prototype.add=function(semantic,parentElement){var element,hidden,parentIndex,di=semantic.di,translate=this._translate;if((0,_ModelUtil.is)(di,"bpmndi:BPMNPlane"))element=this._elementFactory.createRoot(elementData(semantic)),this._canvas.setRootElement(element);else if((0,_ModelUtil.is)(di,"bpmndi:BPMNShape")){var collapsed=!(0,_DiUtil.isExpanded)(semantic),isFrame=function(semantic){return(0,_ModelUtil.is)(semantic,"bpmn:Group")}(semantic);hidden=parentElement&&(parentElement.hidden||parentElement.collapsed);var bounds=semantic.di.bounds;element=this._elementFactory.createShape(elementData(semantic,{collapsed:collapsed,hidden:hidden,x:Math.round(bounds.x),y:Math.round(bounds.y),width:Math.round(bounds.width),height:Math.round(bounds.height),isFrame:isFrame})),(0,_ModelUtil.is)(semantic,"bpmn:BoundaryEvent")&&this._attachBoundary(semantic,element),(0,_ModelUtil.is)(semantic,"bpmn:Lane")&&(parentIndex=0),(0,_ModelUtil.is)(semantic,"bpmn:DataStoreReference")&&!function(bbox,point){var x=point.x,y=point.y;return x>=bbox.x&&x<=bbox.x+bbox.width&&y>=bbox.y&&y<=bbox.y+bbox.height}(parentElement,(0,_LayoutUtil.getMid)(bounds))&&(parentElement=this._canvas.getRootElement()),this._canvas.addShape(element,parentElement,parentIndex)}else{if(!(0,_ModelUtil.is)(di,"bpmndi:BPMNEdge"))throw new Error(translate("unknown di {di} for element {semantic}",{di:(0,_Util.elementToString)(di),semantic:(0,_Util.elementToString)(semantic)}));var source=this._getSource(semantic),target=this._getTarget(semantic);hidden=parentElement&&(parentElement.hidden||parentElement.collapsed),element=this._elementFactory.createConnection(elementData(semantic,{hidden:hidden,source:source,target:target,waypoints:function(bo,source,target){var waypoints=bo.di.waypoint;return!waypoints||waypoints.length<2?[(0,_LayoutUtil.getMid)(source),(0,_LayoutUtil.getMid)(target)]:waypoints.map(function(p){return{x:p.x,y:p.y}})}(semantic,source,target)})),(0,_ModelUtil.is)(semantic,"bpmn:DataAssociation")&&(parentElement=null),(0,_ModelUtil.is)(semantic,"bpmn:SequenceFlow")&&(parentIndex=0),this._canvas.addConnection(element,parentElement,parentIndex)}return(0,_LabelUtil.isLabelExternal)(semantic)&&(0,_LabelUtil2.getLabel)(element)&&this.addLabel(semantic,element),this._eventBus.fire("bpmnElement.added",{element:element}),element},BpmnImporter.prototype._attachBoundary=function(boundarySemantic,boundaryElement){var translate=this._translate,hostSemantic=boundarySemantic.attachedToRef;if(!hostSemantic)throw new Error(translate("missing {semantic}#attachedToRef",{semantic:(0,_Util.elementToString)(boundarySemantic)}));var host=this._elementRegistry.get(hostSemantic.id),attachers=host&&host.attachers;if(!host)throw notYetDrawn(translate,boundarySemantic,hostSemantic,"attachedToRef");boundaryElement.host=host,attachers||(host.attachers=attachers=[]),-1===attachers.indexOf(boundaryElement)&&attachers.push(boundaryElement)},BpmnImporter.prototype.addLabel=function(semantic,element){var bounds,text,label;return bounds=(0,_LabelUtil.getExternalLabelBounds)(semantic,element),(text=(0,_LabelUtil2.getLabel)(element))&&(bounds=this._textRenderer.getExternalLabelBounds(bounds,text)),label=this._elementFactory.createLabel(elementData(semantic,{id:semantic.id+"_label",labelTarget:element,type:"label",hidden:element.hidden||!(0,_LabelUtil2.getLabel)(element),x:Math.round(bounds.x),y:Math.round(bounds.y),width:Math.round(bounds.width),height:Math.round(bounds.height)})),this._canvas.addShape(label,element.parent)},BpmnImporter.prototype._getEnd=function(semantic,side){var element,refSemantic,type=semantic.$type,translate=this._translate;if(refSemantic=semantic[side+"Ref"],"source"===side&&"bpmn:DataInputAssociation"===type&&(refSemantic=refSemantic&&refSemantic[0]),("source"===side&&"bpmn:DataOutputAssociation"===type||"target"===side&&"bpmn:DataInputAssociation"===type)&&(refSemantic=semantic.$parent),element=refSemantic&&this._getElement(refSemantic))return element;throw refSemantic?notYetDrawn(translate,semantic,refSemantic,side+"Ref"):new Error(translate("{semantic}#{side} Ref not specified",{semantic:(0,_Util.elementToString)(semantic),side:side}))},BpmnImporter.prototype._getSource=function(semantic){return this._getEnd(semantic,"source")},BpmnImporter.prototype._getTarget=function(semantic){return this._getEnd(semantic,"target")},BpmnImporter.prototype._getElement=function(semantic){return this._elementRegistry.get(semantic.id)}},{"../features/label-editing/LabelUtil":86,"../util/DiUtil":171,"../util/LabelUtil":172,"../util/ModelUtil":173,"./Util":169,"diagram-js/lib/layout/LayoutUtil":333,"min-dash":572}],167:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(handler,translate){var handledElements={},deferred=[];function contextual(fn,ctx){return function(e){fn(e,ctx)}}function handled(element){handledElements[element.id]=element}function visitIfDi(element,ctx){try{var gfx=element.di&&function(element,ctx){if(element.gfx)throw new Error(translate("already rendered {element}",{element:(0,_Util.elementToString)(element)}));return handler.element(element,ctx)}(element,ctx);return handled(element),gfx}catch(e){logError(e.message,{element:element,error:e}),console.error(translate("failed to import {element}",{element:(0,_Util.elementToString)(element)})),console.error(e)}}function logError(message,context){handler.error(message,context)}function registerDi(di){var bpmnElement=di.bpmnElement;bpmnElement?bpmnElement.di?logError(translate("multiple DI elements defined for {element}",{element:(0,_Util.elementToString)(bpmnElement)}),{element:bpmnElement}):(diRefs.bind(bpmnElement,"di"),bpmnElement.di=di):logError(translate("no bpmnElement referenced in {element}",{element:(0,_Util.elementToString)(di)}),{element:di})}function handleDiagram(diagram){!function(plane){registerDi(plane),(0,_minDash.forEach)(plane.planeElement,handlePlaneElement)}(diagram.plane)}function handlePlaneElement(planeElement){registerDi(planeElement)}function handleDeferred(){for(;deferred.length;)deferred.shift()()}function handleProcess(process,context){handleFlowElementsContainer(process,context),handleIoSpecification(process.ioSpecification,context),handleArtifacts(process.artifacts,context),handled(process)}function handleMessageFlow(messageFlow,context){visitIfDi(messageFlow,context)}function handleDataAssociation(association,context){visitIfDi(association,context)}function handleDataInput(dataInput,context){visitIfDi(dataInput,context)}function handleDataOutput(dataOutput,context){visitIfDi(dataOutput,context)}function handleArtifact(artifact,context){visitIfDi(artifact,context)}function handleArtifacts(artifacts,context){(0,_minDash.forEach)(artifacts,function(e){is(e,"bpmn:Association")?deferred.push(function(){handleArtifact(e,context)}):handleArtifact(e,context)})}function handleIoSpecification(ioSpecification,context){ioSpecification&&((0,_minDash.forEach)(ioSpecification.dataInputs,contextual(handleDataInput,context)),(0,_minDash.forEach)(ioSpecification.dataOutputs,contextual(handleDataOutput,context)))}function handleSubProcess(subProcess,context){handleFlowElementsContainer(subProcess,context),handleArtifacts(subProcess.artifacts,context)}function handleFlowNode(flowNode,context){var childCtx=visitIfDi(flowNode,context);is(flowNode,"bpmn:SubProcess")&&handleSubProcess(flowNode,childCtx||context),is(flowNode,"bpmn:Activity")&&handleIoSpecification(flowNode.ioSpecification,context),deferred.push(function(){(0,_minDash.forEach)(flowNode.dataInputAssociations,contextual(handleDataAssociation,context)),(0,_minDash.forEach)(flowNode.dataOutputAssociations,contextual(handleDataAssociation,context))})}function handleDataElement(dataObject,context){visitIfDi(dataObject,context)}function handleLane(lane,context){deferred.push(function(){var newContext=visitIfDi(lane,context);lane.childLaneSet&&handleLaneSet(lane.childLaneSet,newContext||context),function(lane){(0,_minDash.forEach)(lane.flowNodeRef,function(flowNode){var lanes=flowNode.get("lanes");lanes&&lanes.push(lane)})}(lane)})}function handleLaneSet(laneSet,context){(0,_minDash.forEach)(laneSet.lanes,contextual(handleLane,context))}function handleFlowElementsContainer(container,context){!function(flowElements,context){(0,_minDash.forEach)(flowElements,function(e){is(e,"bpmn:SequenceFlow")?deferred.push(function(){!function(sequenceFlow,context){visitIfDi(sequenceFlow,context)}(e,context)}):is(e,"bpmn:BoundaryEvent")?deferred.unshift(function(){handleFlowNode(e,context)}):is(e,"bpmn:FlowNode")?handleFlowNode(e,context):is(e,"bpmn:DataObject")||(is(e,"bpmn:DataStoreReference")?handleDataElement(e,context):is(e,"bpmn:DataObjectReference")?handleDataElement(e,context):logError(translate("unrecognized flowElement {element} in context {context}",{element:(0,_Util.elementToString)(e),context:context?(0,_Util.elementToString)(context.businessObject):"null"}),{element:e,context:context}))})}(container.flowElements,context),container.laneSets&&function(laneSets,context){(0,_minDash.forEach)(laneSets,contextual(handleLaneSet,context))}(container.laneSets,context)}function handleParticipant(participant,context){var newCtx=visitIfDi(participant,context),process=participant.processRef;process&&handleProcess(process,newCtx||context)}return{handleDeferred:handleDeferred,handleDefinitions:function(definitions,diagram){var diagrams=definitions.diagrams;if(diagram&&-1===diagrams.indexOf(diagram))throw new Error(translate("diagram not part of bpmn:Definitions"));if(!diagram&&diagrams&&diagrams.length&&(diagram=diagrams[0]),!diagram)throw new Error(translate("no diagram to display"));handleDiagram(diagram);var plane=diagram.plane;if(!plane)throw new Error(translate("no plane for {element}",{element:(0,_Util.elementToString)(diagram)}));var rootElement=plane.bpmnElement;if(!rootElement){if(!(rootElement=function(definitions){return(0,_minDash.find)(definitions.rootElements,function(e){return is(e,"bpmn:Process")||is(e,"bpmn:Collaboration")})}(definitions)))throw new Error(translate("no process or collaboration to display"));logError(translate("correcting missing bpmnElement on {plane} to {rootElement}",{plane:(0,_Util.elementToString)(plane),rootElement:(0,_Util.elementToString)(rootElement)})),plane.bpmnElement=rootElement,registerDi(plane)}var ctx=function(element,diagram){return handler.root(element,diagram)}(rootElement,plane);if(is(rootElement,"bpmn:Process"))handleProcess(rootElement,ctx);else{if(!is(rootElement,"bpmn:Collaboration"))throw new Error(translate("unsupported bpmnElement for {plane}: {rootElement}",{plane:(0,_Util.elementToString)(plane),rootElement:(0,_Util.elementToString)(rootElement)}));!function(collaboration){(0,_minDash.forEach)(collaboration.participants,contextual(handleParticipant)),handleArtifacts(collaboration.artifacts),deferred.push(function(){!function(messageFlows,context){(0,_minDash.forEach)(messageFlows,contextual(handleMessageFlow,context))}(collaboration.messageFlows)})}(rootElement),function(rootElements,ctx){(0,_minDash.filter)(rootElements,function(e){return!function(element){return handledElements[element.id]}(e)&&is(e,"bpmn:Process")&&e.laneSets}).forEach(contextual(handleProcess,ctx))}(definitions.rootElements,ctx)}handleDeferred()},handleSubProcess:handleSubProcess,registerDi:registerDi}};var obj,_minDash=require("min-dash"),_objectRefs=require("object-refs"),_objectRefs2=(obj=_objectRefs)&&obj.__esModule?obj:{default:obj},_Util=require("./Util");var diRefs=new _objectRefs2.default({name:"bpmnElement",enumerable:!0},{name:"di",configurable:!0});function is(element,type){return element.$instanceOf(type)}},{"./Util":169,"min-dash":572,"object-refs":577}],168:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.importBpmnDiagram=function(diagram,definitions,bpmnDiagram,done){(0,_minDash.isFunction)(bpmnDiagram)&&(done=bpmnDiagram,bpmnDiagram=null);var importer,eventBus,translate,error,warnings=[];try{importer=diagram.get("bpmnImporter"),eventBus=diagram.get("eventBus"),translate=diagram.get("translate"),eventBus.fire("import.render.start",{definitions:definitions}),function(definitions,bpmnDiagram){var visitor={root:function(element){return importer.add(element)},element:function(_element,parentShape){return importer.add(_element,parentShape)},error:function(message,context){warnings.push({message:message,context:context})}};new _BpmnTreeWalker2.default(visitor,translate).handleDefinitions(definitions,bpmnDiagram)}(definitions,bpmnDiagram),eventBus.fire("import.render.complete",{error:error,warnings:warnings})}catch(e){error=e}done(error,warnings)};var obj,_BpmnTreeWalker=require("./BpmnTreeWalker"),_BpmnTreeWalker2=(obj=_BpmnTreeWalker)&&obj.__esModule?obj:{default:obj},_minDash=require("min-dash")},{"./BpmnTreeWalker":167,"min-dash":572}],169:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.elementToString=function(e){return e?"<"+e.$type+(e.id?' id="'+e.id:"")+'" />':""}},{}],170:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _translate2=_interopRequireDefault(require("diagram-js/lib/i18n/translate")),_BpmnImporter2=_interopRequireDefault(require("./BpmnImporter"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_translate2.default],bpmnImporter:["type",_BpmnImporter2.default]}},{"./BpmnImporter":166,"diagram-js/lib/i18n/translate":329}],171:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isExpanded=function(element){if((0,_ModelUtil.is)(element,"bpmn:CallActivity"))return!1;if((0,_ModelUtil.is)(element,"bpmn:SubProcess"))return!!(0,_ModelUtil.getBusinessObject)(element).di.isExpanded;if((0,_ModelUtil.is)(element,"bpmn:Participant"))return!!(0,_ModelUtil.getBusinessObject)(element).processRef;return!0},exports.isInterrupting=function(element){return element&&!1!==(0,_ModelUtil.getBusinessObject)(element).isInterrupting},exports.isEventSubProcess=function(element){return element&&!!(0,_ModelUtil.getBusinessObject)(element).triggeredByEvent},exports.hasEventDefinition=hasEventDefinition,exports.hasErrorEventDefinition=function(element){return hasEventDefinition(element,"bpmn:ErrorEventDefinition")},exports.hasEscalationEventDefinition=function(element){return hasEventDefinition(element,"bpmn:EscalationEventDefinition")},exports.hasCompensateEventDefinition=function(element){return hasEventDefinition(element,"bpmn:CompensateEventDefinition")};var _ModelUtil=require("./ModelUtil"),_minDash=require("min-dash");function hasEventDefinition(element,eventType){var bo=(0,_ModelUtil.getBusinessObject)(element),hasEventDefinition=!1;return bo.eventDefinitions&&(0,_minDash.forEach)(bo.eventDefinitions,function(event){(0,_ModelUtil.is)(event,eventType)&&(hasEventDefinition=!0)}),hasEventDefinition}},{"./ModelUtil":173,"min-dash":572}],172:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.FLOW_LABEL_INDENT=exports.DEFAULT_LABEL_SIZE=void 0,exports.isLabelExternal=function(semantic){return(0,_ModelUtil.is)(semantic,"bpmn:Event")||(0,_ModelUtil.is)(semantic,"bpmn:Gateway")||(0,_ModelUtil.is)(semantic,"bpmn:DataStoreReference")||(0,_ModelUtil.is)(semantic,"bpmn:DataObjectReference")||(0,_ModelUtil.is)(semantic,"bpmn:DataInput")||(0,_ModelUtil.is)(semantic,"bpmn:DataOutput")||(0,_ModelUtil.is)(semantic,"bpmn:SequenceFlow")||(0,_ModelUtil.is)(semantic,"bpmn:MessageFlow")||(0,_ModelUtil.is)(semantic,"bpmn:Group")},exports.hasExternalLabel=function(element){return isLabel(element.label)},exports.getFlowLabelPosition=getFlowLabelPosition,exports.getWaypointsMid=getWaypointsMid,exports.getExternalLabelMid=getExternalLabelMid,exports.getExternalLabelBounds=function(semantic,element){var mid,size,bounds,label=semantic.di.label;label&&label.bounds?(bounds=label.bounds,size={width:Math.max(DEFAULT_LABEL_SIZE.width,bounds.width),height:bounds.height},mid={x:bounds.x+bounds.width/2,y:bounds.y+bounds.height/2}):(mid=getExternalLabelMid(element),size=DEFAULT_LABEL_SIZE);return(0,_minDash.assign)({x:mid.x-size.width/2,y:mid.y-size.height/2},size)},exports.isLabel=isLabel;var _minDash=require("min-dash"),_ModelUtil=require("./ModelUtil"),DEFAULT_LABEL_SIZE=exports.DEFAULT_LABEL_SIZE={width:90,height:20},FLOW_LABEL_INDENT=exports.FLOW_LABEL_INDENT=15;function getFlowLabelPosition(waypoints){var mid=waypoints.length/2-1,first=waypoints[Math.floor(mid)],second=waypoints[Math.ceil(.01+mid)],position=getWaypointsMid(waypoints),angle=Math.atan((second.y-first.y)/(second.x-first.x)),x=position.x,y=position.y;return Math.abs(angle)'),BPMNIO_IMG=exports.BPMNIO_IMG='';function css(attrs){return attrs.join(";")}var lightbox,LIGHTBOX_MARKUP='
'+BPMNIO_IMG+'Web-based tooling for BPMN, DMN and CMMN diagrams powered by bpmn.io.
'},{"min-dom":573}],175:[function(require,module,exports){"use strict";var minDash=require("min-dash"),moddle=require("moddle"),moddleXml=require("moddle-xml");function BpmnModdle(packages,options){moddle.Moddle.call(this,packages,options)}(BpmnModdle.prototype=Object.create(moddle.Moddle.prototype)).fromXML=function(xmlStr,typeName,options,done){minDash.isString(typeName)||(done=options,options=typeName,typeName="bpmn:Definitions"),minDash.isFunction(options)&&(done=options,options={});var reader=new moddleXml.Reader(minDash.assign({model:this,lax:!0},options)),rootHandler=reader.handler(typeName);reader.fromXML(xmlStr,rootHandler,done)};BpmnModdle.prototype.toXML=function(element,options,done){minDash.isFunction(options)&&(done=options,options={});var result,err,writer=new moddleXml.Writer(options);try{result=writer.toXML(element)}catch(e){err=e}return done(err,result)};var packages={bpmn:{name:"BPMN20",uri:"http://www.omg.org/spec/BPMN/20100524/MODEL",prefix:"bpmn",associations:[],types:[{name:"Interface",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"operations",type:"Operation",isMany:!0},{name:"implementationRef",isAttr:!0,type:"String"}]},{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",isAttr:!0,type:"String"}]},{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",isMany:!0,replaces:"FlowElementsContainer#laneSets",type:"LaneSet"},{name:"flowElements",isMany:!0,replaces:"FlowElementsContainer#flowElements",type:"FlowElement"},{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:!(BpmnModdle.prototype.toXML=function(element,options,done){minDash.isFunction(options)&&(done=options,options={});var result,err,writer=new moddleXml.Writer(options);try{result=writer.toXML(element)}catch(e){err=e}return done(err,result)}),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:"sourceRef",type:"ItemAwareElement",isMany:!0,isReference:!0},{name:"targetRef",type:"ItemAwareElement",isReference:!0},{name:"transformation",type:"FormalExpression",xml:{serialize:"property"}},{name:"assignment",type:"Assignment",isMany:!0}]},{name:"DataInput",superClass:["ItemAwareElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"isCollection",default:!1,isAttr:!0,type:"Boolean"},{name:"inputSetRef",type:"InputSet",isMany:!0,isVirtual:!0,isReference:!0},{name:"inputSetWithOptional",type:"InputSet",isMany:!0,isVirtual:!0,isReference:!0},{name:"inputSetWithWhileExecuting",type:"InputSet",isMany:!0,isVirtual:!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",isMany:!0,isVirtual:!0,isReference:!0},{name:"outputSetWithOptional",type:"OutputSet",isMany:!0,isVirtual:!0,isReference:!0},{name:"outputSetWithWhileExecuting",type:"OutputSet",isMany:!0,isVirtual:!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",isBody:!0,type:"String"}]},{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",isAttr:!0,type:"String"},{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",isMany:!0,isVirtual:!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",isMany:!0,isVirtual:!0,isReference:!0},{name:"outgoingConversationLinks",type:"ConversationLink",isMany:!0,isVirtual:!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",isMany:!0,isVirtual:!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"}]}],xml:{tagAlias:"lowerCase",typePrefix:"t"}},bpmndi:{name:"BPMNDI",uri:"http://www.omg.org/spec/BPMN/20100524/DI",prefix:"bpmndi",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:[]},dc:{name:"DC",uri:"http://www.omg.org/spec/DD/20100524/DC",prefix:"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}]}],associations:[]},di:{name:"DI",uri:"http://www.omg.org/spec/DD/20100524/DI",prefix:"di",types:[{name:"DiagramElement",isAbstract:!0,properties:[{name:"id",isAttr:!0,isId:!0,type:"String"},{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,isMany:!0,isVirtual:!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",isAttr:!0,isId:!0,type:"String"},{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,isMany:!0,isVirtual:!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",isMany:!0,isVirtual:!0}]},{name:"LabeledShape",isAbstract:!0,superClass:["Shape"],properties:[{name:"ownedLabel",type:"Label",isReadOnly:!0,subsettedProperty:"DiagramElement-ownedElement",isMany:!0,isVirtual:!0}]},{name:"Label",isAbstract:!0,superClass:["Node"],properties:[{name:"bounds",type:"dc:Bounds"}]},{name:"Style",isAbstract:!0,properties:[{name:"id",isAttr:!0,isId:!0,type:"String"}]},{name:"Extension",properties:[{name:"values",isMany:!0,type:"Element"}]}],associations:[],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:[]}};module.exports=function(additionalPackages,options){return new BpmnModdle(minDash.assign({},packages,additionalPackages),options)}},{"min-dash":572,moddle:576,"moddle-xml":575}],176:[function(require,module,exports){(function(global){"use strict";var root,factory,_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};root=void 0!==global?global:void 0,factory=function(root){if(root.CSS&&root.CSS.escape)return root.CSS.escape;var cssEscape=function(value){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var codeUnit,string=String(value),length=string.length,index=-1,result="",firstCodeUnit=string.charCodeAt(0);++index
'),this.content=(0,_minDom.query)("[contenteditable]",this.parent),this.keyHandler=options.keyHandler||function(){},this.resizeHandler=options.resizeHandler||function(){},this.autoResize=(0,_minDash.bind)(this.autoResize,this),this.handlePaste=(0,_minDash.bind)(this.handlePaste,this)}TextBox.prototype.create=function(bounds,style,value,options){var parent=this.parent,content=this.content,container=this.container;options=this.options=options||{},style=this.style=style||{};var parentStyle=(0,_minDash.pick)(style,["width","height","maxWidth","maxHeight","minWidth","minHeight","left","top","backgroundColor","position","overflow","border","wordWrap","textAlign","outline","transform"]);(0,_minDash.assign)(parent.style,{width:bounds.width+"px",height:bounds.height+"px",maxWidth:bounds.maxWidth+"px",maxHeight:bounds.maxHeight+"px",minWidth:bounds.minWidth+"px",minHeight:bounds.minHeight+"px",left:bounds.x+"px",top:bounds.y+"px",backgroundColor:"#ffffff",position:"absolute",overflow:"visible",border:"1px solid #ccc",boxSizing:"border-box",wordWrap:"normal",textAlign:"center",outline:"none"},parentStyle);var contentStyle=(0,_minDash.pick)(style,["fontFamily","fontSize","fontWeight","lineHeight","padding","paddingTop","paddingRight","paddingBottom","paddingLeft"]);return(0,_minDash.assign)(content.style,{boxSizing:"border-box",width:"100%",outline:"none",wordWrap:"break-word"},contentStyle),options.centerVertically&&(0,_minDash.assign)(content.style,{position:"absolute",top:"50%",transform:"translate(0, -50%)"},contentStyle),content.innerText=value,_minDom.event.bind(content,"keydown",this.keyHandler),_minDom.event.bind(content,"mousedown",stopPropagation),_minDom.event.bind(content,"paste",this.handlePaste),options.autoResize&&_minDom.event.bind(content,"input",this.autoResize),options.resizable&&this.resizable(style),container.appendChild(parent),this.setSelection(content.lastChild,content.lastChild&&content.lastChild.length),parent},TextBox.prototype.handlePaste=function(e){var text,options=this.options,style=this.style;if(e.preventDefault(),text=e.clipboardData?e.clipboardData.getData("text/plain"):window.clipboardData.getData("Text"),this.insertText(text),options.autoResize){var hasResized=this.autoResize(style);hasResized&&this.resizeHandler(hasResized)}},TextBox.prototype.insertText=function(text){document.execCommand("insertText",!1,text)||this._insertTextIE(text)},TextBox.prototype._insertTextIE=function(text){var container,offset,range=this.getSelection(),startContainer=range.startContainer,endContainer=range.endContainer,startOffset=range.startOffset,endOffset=range.endOffset,commonAncestorContainer=range.commonAncestorContainer,childNodesArray=function(nodeList){return[].slice.call(nodeList)}(commonAncestorContainer.childNodes);if(function(node){return node.nodeType===Node.TEXT_NODE}(commonAncestorContainer)){var containerTextContent=startContainer.textContent;startContainer.textContent=containerTextContent.substring(0,startOffset)+text+containerTextContent.substring(endOffset),container=startContainer,offset=startOffset+text.length}else if(startContainer===this.content&&endContainer===this.content){var textNode=document.createTextNode(text);this.content.insertBefore(textNode,childNodesArray[startOffset]),offset=(container=textNode).textContent.length}else{var startContainerChildIndex=childNodesArray.indexOf(startContainer),endContainerChildIndex=childNodesArray.indexOf(endContainer);childNodesArray.forEach(function(childNode,index){index===startContainerChildIndex?childNode.textContent=startContainer.textContent.substring(0,startOffset)+text+endContainer.textContent.substring(endOffset):startContainerChildIndexparent.offsetHeight||content.scrollHeight');var onMouseMove=function(e){preventDefault(e),stopPropagation(e);var newWidth=min(max(startWidth+e.clientX-startX,minWidth),maxWidth),newHeight=min(max(startHeight+e.clientY-startY,minHeight),maxHeight);parent.style.width=newWidth+"px",parent.style.height=newHeight+"px",self.resizeHandler({width:startWidth,height:startHeight,dx:e.clientX-startX,dy:e.clientY-startY})},onMouseUp=function onMouseUp(e){preventDefault(e),stopPropagation(e),_minDom.event.unbind(document,"mousemove",onMouseMove,!1),_minDom.event.unbind(document,"mouseup",onMouseUp,!1)};_minDom.event.bind(resizeHandle,"mousedown",function(e){preventDefault(e),stopPropagation(e),startX=e.clientX,startY=e.clientY;var bounds=parent.getBoundingClientRect();startWidth=bounds.width,startHeight=bounds.height,_minDom.event.bind(document,"mousemove",onMouseMove),_minDom.event.bind(document,"mouseup",onMouseUp)})}(0,_minDash.assign)(resizeHandle.style,{position:"absolute",bottom:"0px",right:"0px",cursor:"nwse-resize",width:"0",height:"0",borderTop:(parseInt(this.style.fontSize)/4||3)+"px solid transparent",borderRight:(parseInt(this.style.fontSize)/4||3)+"px solid #ccc",borderBottom:(parseInt(this.style.fontSize)/4||3)+"px solid #ccc",borderLeft:(parseInt(this.style.fontSize)/4||3)+"px solid transparent"}),parent.appendChild(resizeHandle)},TextBox.prototype.destroy=function(){var parent=this.parent,content=this.content,resizeHandle=this.resizeHandle;content.innerText="",parent.removeAttribute("style"),content.removeAttribute("style"),_minDom.event.unbind(content,"keydown",this.keyHandler),_minDom.event.unbind(content,"mousedown",stopPropagation),_minDom.event.unbind(content,"input",this.autoResize),_minDom.event.unbind(content,"paste",this.handlePaste),resizeHandle&&(resizeHandle.removeAttribute("style"),(0,_minDom.remove)(resizeHandle)),(0,_minDom.remove)(parent)},TextBox.prototype.getValue=function(){return this.content.innerText.trim()},TextBox.prototype.getSelection=function(){return window.getSelection().getRangeAt(0)},TextBox.prototype.setSelection=function(container,offset){var range=document.createRange();null===container?range.selectNodeContents(this.content):(range.setStart(container,offset),range.setEnd(container,offset));var selection=window.getSelection();selection.removeAllRanges(),selection.addRange(range)}},{"min-dash":572,"min-dom":573}],180:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _Diagram=require("./lib/Diagram");Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_Diagram).default}})},{"./lib/Diagram":181}],181:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Diagram;var obj,_didi=require("didi"),_core=require("./core"),_core2=(obj=_core)&&obj.__esModule?obj:{default:obj};function bootstrap(bootstrapModules){var modules=[],components=[];function hasModule(m){return 0<=modules.indexOf(m)}bootstrapModules.forEach(function visit(m){hasModule(m)||((m.__depends__||[]).forEach(visit),hasModule(m)||(function(m){modules.push(m)}(m),(m.__init__||[]).forEach(function(c){components.push(c)})))});var injector=new _didi.Injector(modules);return components.forEach(function(c){try{injector["string"==typeof c?"get":"invoke"](c)}catch(e){throw console.error("Failed to instantiate component"),console.error(e.stack),e}}),injector}function Diagram(options,injector){this.injector=injector=injector||function(options){return bootstrap([{config:["value",options=options||{}]},_core2.default].concat(options.modules||[]))}(options),this.get=injector.get,this.invoke=injector.invoke,this.get("eventBus").fire("diagram.init")}Diagram.prototype.destroy=function(){this.get("eventBus").fire("diagram.destroy")},Diagram.prototype.clear=function(){this.get("eventBus").fire("diagram.clear")}},{"./core":190,didi:363}],182:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=CommandInterceptor;var _minDash=require("min-dash");function CommandInterceptor(eventBus){this._eventBus=eventBus}CommandInterceptor.$inject=["eventBus"],CommandInterceptor.prototype.on=function(events,hook,priority,handlerFn,unwrap,that){if(((0,_minDash.isFunction)(hook)||(0,_minDash.isNumber)(hook))&&(that=unwrap,unwrap=handlerFn,handlerFn=priority,priority=hook,hook=null),(0,_minDash.isFunction)(priority)&&(that=unwrap,unwrap=handlerFn,handlerFn=priority,priority=1e3),(0,_minDash.isObject)(unwrap)&&(that=unwrap,unwrap=!1),!(0,_minDash.isFunction)(handlerFn))throw new Error("handlerFn must be a function");(0,_minDash.isArray)(events)||(events=[events]);var eventBus=this._eventBus;(0,_minDash.forEach)(events,function(event){var fullEvent=["commandStack",event,hook].filter(function(e){return e}).join(".");eventBus.on(fullEvent,priority,unwrap?function(fn,that){return function(event){return fn.call(that||null,event.context,event.command,event)}}(handlerFn,that):handlerFn,that)})};(0,_minDash.forEach)(["canExecute","preExecute","preExecuted","execute","executed","postExecute","postExecuted","revert","reverted"],function(hook){CommandInterceptor.prototype[hook]=function(events,priority,handlerFn,unwrap,that){((0,_minDash.isFunction)(events)||(0,_minDash.isNumber)(events))&&(that=unwrap,unwrap=handlerFn,handlerFn=priority,priority=events,events=null),this.on(events,hook,priority,handlerFn,unwrap,that)}})},{"min-dash":572}],183:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=CommandStack;var _minDash=require("min-dash");function CommandStack(eventBus,injector){this._handlerMap={},this._stack=[],this._stackIdx=-1,this._currentExecution={actions:[],dirty:[]},this._injector=injector,this._eventBus=eventBus,this._uid=1,eventBus.on(["diagram.destroy","diagram.clear"],function(){this.clear(!1)},this)}CommandStack.$inject=["eventBus","injector"],CommandStack.prototype.execute=function(command,context){if(!command)throw new Error("command required");var action={command:command,context:context};this._pushAction(action),this._internalExecute(action),this._popAction(action)},CommandStack.prototype.canExecute=function(command,context){var action={command:command,context:context},handler=this._getHandler(command),result=this._fire(command,"canExecute",action);if(void 0===result){if(!handler)return!1;handler.canExecute&&(result=handler.canExecute(context))}return result},CommandStack.prototype.clear=function(emit){this._stack.length=0,!(this._stackIdx=-1)!==emit&&this._fire("changed")},CommandStack.prototype.undo=function(){var next,action=this._getUndoAction();if(action){for(this._pushAction(action);action&&(this._internalUndo(action),(next=this._getUndoAction())&&next.id===action.id);)action=next;this._popAction()}},CommandStack.prototype.redo=function(){var next,action=this._getRedoAction();if(action){for(this._pushAction(action);action&&(this._internalExecute(action,!0),(next=this._getRedoAction())&&next.id===action.id);)action=next;this._popAction()}},CommandStack.prototype.register=function(command,handler){this._setHandler(command,handler)},CommandStack.prototype.registerHandler=function(command,handlerCls){if(!command||!handlerCls)throw new Error("command and handlerCls must be defined");var handler=this._injector.instantiate(handlerCls);this.register(command,handler)},CommandStack.prototype.canUndo=function(){return!!this._getUndoAction()},CommandStack.prototype.canRedo=function(){return!!this._getRedoAction()},CommandStack.prototype._getRedoAction=function(){return this._stack[this._stackIdx+1]},CommandStack.prototype._getUndoAction=function(){return this._stack[this._stackIdx]},CommandStack.prototype._internalUndo=function(action){var self=this,command=action.command,context=action.context,handler=this._getHandler(command);this._atomicDo(function(){self._fire(command,"revert",action),handler.revert&&self._markDirty(handler.revert(context)),self._revertedAction(action),self._fire(command,"reverted",action)})},CommandStack.prototype._fire=function(command,qualifier,event){arguments.length<3&&(event=qualifier,qualifier=null);var i,name,result,names=qualifier?[command+"."+qualifier,qualifier]:[command];for(event=this._eventBus.createEvent(event),i=0;(name=names[i])&&(result=this._eventBus.fire("commandStack."+name,event),!event.cancelBubble);i++);return result},CommandStack.prototype._createId=function(){return this._uid++},CommandStack.prototype._atomicDo=function(fn){var execution=this._currentExecution;execution.atomic=!0;try{fn()}finally{execution.atomic=!1}},CommandStack.prototype._internalExecute=function(action,redo){var self=this,command=action.command,context=action.context,handler=this._getHandler(command);if(!handler)throw new Error("no command handler registered for <"+command+">");this._pushAction(action),redo||(this._fire(command,"preExecute",action),handler.preExecute&&handler.preExecute(context),this._fire(command,"preExecuted",action)),this._atomicDo(function(){self._fire(command,"execute",action),handler.execute&&self._markDirty(handler.execute(context)),self._executedAction(action,redo),self._fire(command,"executed",action)}),redo||(this._fire(command,"postExecute",action),handler.postExecute&&handler.postExecute(context),this._fire(command,"postExecuted",action)),this._popAction(action)},CommandStack.prototype._pushAction=function(action){var execution=this._currentExecution,actions=execution.actions,baseAction=actions[0];if(execution.atomic)throw new Error("illegal invocation in or phase (action: "+action.command+")");action.id||(action.id=baseAction&&baseAction.id||this._createId()),actions.push(action)},CommandStack.prototype._popAction=function(){var execution=this._currentExecution,actions=execution.actions,dirty=execution.dirty;actions.pop(),actions.length||(this._eventBus.fire("elements.changed",{elements:(0,_minDash.uniqueBy)("id",dirty.reverse())}),dirty.length=0,this._fire("changed"))},CommandStack.prototype._markDirty=function(elements){var execution=this._currentExecution;elements&&(elements=(0,_minDash.isArray)(elements)?elements:[elements],execution.dirty=execution.dirty.concat(elements))},CommandStack.prototype._executedAction=function(action,redo){var stackIdx=++this._stackIdx;redo||this._stack.splice(stackIdx,this._stack.length,action)},CommandStack.prototype._revertedAction=function(action){this._stackIdx--},CommandStack.prototype._getHandler=function(command){return this._handlerMap[command]},CommandStack.prototype._setHandler=function(command,handler){if(!command||!handler)throw new Error("command and handler required");if(this._handlerMap[command])throw new Error("overriding handler for command <"+command+">");this._handlerMap[command]=handler}},{"min-dash":572}],184:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_CommandStack=require("./CommandStack"),_CommandStack2=(obj=_CommandStack)&&obj.__esModule?obj:{default:obj};exports.default={commandStack:["type",_CommandStack2.default]}},{"./CommandStack":183}],185:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};exports.default=Canvas;var _minDash=require("min-dash"),_Collections=require("../util/Collections"),_Elements=require("../util/Elements"),_tinySvg=require("tiny-svg");function round(number,resolution){return Math.round(number*resolution)/resolution}function ensurePx(number){return(0,_minDash.isNumber)(number)?number+"px":number}function createGroup(parent,cls,childIndex){var group=(0,_tinySvg.create)("g");(0,_tinySvg.classes)(group).add(cls);var index=void 0!==childIndex?childIndex:parent.childNodes.length-1;return parent.insertBefore(group,parent.childNodes[index]||null),group}var REQUIRED_MODEL_ATTRS={shape:["x","y","width","height"],connection:["waypoints"]};function Canvas(config,eventBus,graphicsFactory,elementRegistry){this._eventBus=eventBus,this._elementRegistry=elementRegistry,this._graphicsFactory=graphicsFactory,this._init(config||{})}function setCTM(node,m){var mstr="matrix("+m.a+","+m.b+","+m.c+","+m.d+","+m.e+","+m.f+")";node.setAttribute("transform",mstr)}Canvas.$inject=["config.canvas","eventBus","graphicsFactory","elementRegistry"],Canvas.prototype._init=function(config){var eventBus=this._eventBus,container=this._container=function(options){var container=(options=(0,_minDash.assign)({},{width:"100%",height:"100%"},options)).container||document.body,parent=document.createElement("div");return parent.setAttribute("class","djs-container"),(0,_minDash.assign)(parent.style,{position:"relative",overflow:"hidden",width:ensurePx(options.width),height:ensurePx(options.height)}),container.appendChild(parent),parent}(config),svg=this._svg=(0,_tinySvg.create)("svg");(0,_tinySvg.attr)(svg,{width:"100%",height:"100%"}),(0,_tinySvg.append)(container,svg);var viewport=this._viewport=createGroup(svg,"viewport");!(this._layers={})!==config.deferUpdate&&(this._viewboxChanged=(0,_minDash.debounce)((0,_minDash.bind)(this._viewboxChanged,this),300)),eventBus.on("diagram.init",function(){eventBus.fire("canvas.init",{svg:svg,viewport:viewport})},this),eventBus.on(["shape.added","connection.added","shape.removed","connection.removed","elements.changed"],function(){delete this._cachedViewbox},this),eventBus.on("diagram.destroy",500,this._destroy,this),eventBus.on("diagram.clear",500,this._clear,this)},Canvas.prototype._destroy=function(emit){this._eventBus.fire("canvas.destroy",{svg:this._svg,viewport:this._viewport});var parent=this._container.parentNode;parent&&parent.removeChild(this._container),delete this._svg,delete this._container,delete this._layers,delete this._rootElement,delete this._viewport},Canvas.prototype._clear=function(){var self=this;this._elementRegistry.getAll().forEach(function(element){var type=(0,_Elements.getType)(element);"root"===type?self.setRootElement(null,!0):self._removeElement(element,type)}),delete this._cachedViewbox},Canvas.prototype.getDefaultLayer=function(){return this.getLayer("base",0)},Canvas.prototype.getLayer=function(name,index){if(!name)throw new Error("must specify a name");var layer=this._layers[name];if(layer=layer||(this._layers[name]=this._createLayer(name,index)),void 0!==index&&layer.index!==index)throw new Error("layer <"+name+"> already created at index <"+index+">");return layer.group},Canvas.prototype._createLayer=function(name,index){index=index||0;var childIndex=(0,_minDash.reduce)(this._layers,function(childIndex,layer){return index>=layer.index&&childIndex++,childIndex},0);return{group:createGroup(this._viewport,"layer-"+name,childIndex),index:index}},Canvas.prototype.getContainer=function(){return this._container},Canvas.prototype._updateMarker=function(element,marker,add){var container;element.id||(element=this._elementRegistry.get(element)),(container=this._elementRegistry._elements[element.id])&&((0,_minDash.forEach)([container.gfx,container.secondaryGfx],function(gfx){gfx&&(add?(0,_tinySvg.classes)(gfx).add(marker):(0,_tinySvg.classes)(gfx).remove(marker))}),this._eventBus.fire("element.marker.update",{element:element,gfx:container.gfx,marker:marker,add:!!add}))},Canvas.prototype.addMarker=function(element,marker){this._updateMarker(element,marker,!0)},Canvas.prototype.removeMarker=function(element,marker){this._updateMarker(element,marker,!1)},Canvas.prototype.hasMarker=function(element,marker){element.id||(element=this._elementRegistry.get(element));var gfx=this.getGraphics(element);return(0,_tinySvg.classes)(gfx).has(marker)},Canvas.prototype.toggleMarker=function(element,marker){this.hasMarker(element,marker)?this.removeMarker(element,marker):this.addMarker(element,marker)},Canvas.prototype.getRootElement=function(){return this._rootElement||this.setRootElement({id:"__implicitroot",children:[]}),this._rootElement},Canvas.prototype.setRootElement=function(element,override){element&&this._ensureValid("root",element);var currentRoot=this._rootElement,elementRegistry=this._elementRegistry,eventBus=this._eventBus;if(currentRoot){if(!override)throw new Error("rootElement already set, need to specify override");eventBus.fire("root.remove",{element:currentRoot}),eventBus.fire("root.removed",{element:currentRoot}),elementRegistry.remove(currentRoot)}if(element){var gfx=this.getDefaultLayer();eventBus.fire("root.add",{element:element}),elementRegistry.add(element,gfx,this._svg),eventBus.fire("root.added",{element:element,gfx:gfx})}return this._rootElement=element},Canvas.prototype._ensureValid=function(type,element){if(!element.id)throw new Error("element must have an id");if(this._elementRegistry.get(element.id))throw new Error("element with id "+element.id+" already exists");var requiredAttrs=REQUIRED_MODEL_ATTRS[type];if(!(0,_minDash.every)(requiredAttrs,function(attr){return void 0!==element[attr]}))throw new Error("must supply { "+requiredAttrs.join(", ")+" } with "+type)},Canvas.prototype._setParent=function(element,parent,parentIndex){(0,_Collections.add)(parent.children,element,parentIndex),element.parent=parent},Canvas.prototype._addElement=function(type,element,parent,parentIndex){parent=parent||this.getRootElement();var eventBus=this._eventBus,graphicsFactory=this._graphicsFactory;this._ensureValid(type,element),eventBus.fire(type+".add",{element:element,parent:parent}),this._setParent(element,parent,parentIndex);var gfx=graphicsFactory.create(type,element,parentIndex);return this._elementRegistry.add(element,gfx),graphicsFactory.update(type,element,gfx),eventBus.fire(type+".added",{element:element,gfx:gfx}),element},Canvas.prototype.addShape=function(shape,parent,parentIndex){return this._addElement("shape",shape,parent,parentIndex)},Canvas.prototype.addConnection=function(connection,parent,parentIndex){return this._addElement("connection",connection,parent,parentIndex)},Canvas.prototype._removeElement=function(element,type){var elementRegistry=this._elementRegistry,graphicsFactory=this._graphicsFactory,eventBus=this._eventBus;if(element=elementRegistry.get(element.id||element))return eventBus.fire(type+".remove",{element:element}),graphicsFactory.remove(element),(0,_Collections.remove)(element.parent&&element.parent.children,element),element.parent=null,eventBus.fire(type+".removed",{element:element}),elementRegistry.remove(element),element},Canvas.prototype.removeShape=function(shape){return this._removeElement(shape,"shape")},Canvas.prototype.removeConnection=function(connection){return this._removeElement(connection,"connection")},Canvas.prototype.getGraphics=function(element,secondary){return this._elementRegistry.getGraphics(element,secondary)},Canvas.prototype._changeViewbox=function(changeFn){this._eventBus.fire("canvas.viewbox.changing"),changeFn.apply(this),this._cachedViewbox=null,this._viewboxChanged()},Canvas.prototype._viewboxChanged=function(){this._eventBus.fire("canvas.viewbox.changed",{viewbox:this.viewbox()})},Canvas.prototype.viewbox=function(box){if(void 0===box&&this._cachedViewbox)return this._cachedViewbox;var innerBox,matrix,transform,scale,x,y,viewport=this._viewport,outerBox=this.getSize();return box?(this._changeViewbox(function(){scale=Math.min(outerBox.width/box.width,outerBox.height/box.height);var matrix=this._svg.createSVGMatrix().scale(scale).translate(-box.x,-box.y);(0,_tinySvg.transform)(viewport,matrix)}),box):(innerBox=this.getDefaultLayer().getBBox(),matrix=(transform=(0,_tinySvg.transform)(viewport))?transform.matrix:(0,_tinySvg.createMatrix)(),scale=round(matrix.a,1e3),x=round(-matrix.e||0,1e3),y=round(-matrix.f||0,1e3),box=this._cachedViewbox={x:x?x/scale:0,y:y?y/scale:0,width:outerBox.width/scale,height:outerBox.height/scale,scale:scale,inner:{width:innerBox.width,height:innerBox.height,x:innerBox.x,y:innerBox.y},outer:outerBox})},Canvas.prototype.scroll=function(delta){var node=this._viewport,matrix=node.getCTM();return delta&&this._changeViewbox(function(){delta=(0,_minDash.assign)({dx:0,dy:0},delta||{}),matrix=this._svg.createSVGMatrix().translate(delta.dx,delta.dy).multiply(matrix),setCTM(node,matrix)}),{x:matrix.e,y:matrix.f}},Canvas.prototype.zoom=function(newScale,center){return newScale?"fit-viewport"===newScale?this._fitViewport(center):(this._changeViewbox(function(){"object"!==(void 0===center?"undefined":_typeof(center))&&(outer=this.viewbox().outer,center={x:outer.width/2,y:outer.height/2}),matrix=this._setZoom(newScale,center)}),round(matrix.a,1e3)):this.viewbox(newScale).scale;var outer,matrix},Canvas.prototype._fitViewport=function(center){var newScale,newViewbox,vbox=this.viewbox(),outer=vbox.outer,inner=vbox.inner;return newViewbox=0<=inner.x&&0<=inner.y&&inner.x+inner.width<=outer.width&&inner.y+inner.height<=outer.height&&!center?{x:0,y:0,width:Math.max(inner.width+inner.x,outer.width),height:Math.max(inner.height+inner.y,outer.height)}:(newScale=Math.min(1,outer.width/inner.width,outer.height/inner.height),{x:inner.x+(center?inner.width/2-outer.width/newScale/2:0),y:inner.y+(center?inner.height/2-outer.height/newScale/2:0),width:outer.width/newScale,height:outer.height/newScale}),this.viewbox(newViewbox),this.viewbox(!1).scale},Canvas.prototype._setZoom=function(scale,center){var originalPoint,currentMatrix,scaleMatrix,newMatrix,svg=this._svg,viewport=this._viewport,matrix=svg.createSVGMatrix(),point=svg.createSVGPoint(),currentScale=(currentMatrix=viewport.getCTM()).a;return newMatrix=center?(originalPoint=(0,_minDash.assign)(point,center).matrixTransform(currentMatrix.inverse()),scaleMatrix=matrix.translate(originalPoint.x,originalPoint.y).scale(1/currentScale*scale).translate(-originalPoint.x,-originalPoint.y),currentMatrix.multiply(scaleMatrix)):matrix.scale(scale),setCTM(this._viewport,newMatrix),newMatrix},Canvas.prototype.getSize=function(){return{width:this._container.clientWidth,height:this._container.clientHeight}},Canvas.prototype.getAbsoluteBBox=function(element){var bbox,vbox=this.viewbox();element.waypoints?bbox=this.getGraphics(element).getBBox():bbox=element;return{x:bbox.x*vbox.scale-vbox.x*vbox.scale,y:bbox.y*vbox.scale-vbox.y*vbox.scale,width:bbox.width*vbox.scale,height:bbox.height*vbox.scale}},Canvas.prototype.resized=function(){delete this._cachedViewbox,this._eventBus.fire("canvas.resized")}},{"../util/Collections":346,"../util/Elements":348,"min-dash":572,"tiny-svg":584}],186:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ElementFactory;var _model=require("../model"),_minDash=require("min-dash");function ElementFactory(){this._uid=12}ElementFactory.prototype.createRoot=function(attrs){return this.create("root",attrs)},ElementFactory.prototype.createLabel=function(attrs){return this.create("label",attrs)},ElementFactory.prototype.createShape=function(attrs){return this.create("shape",attrs)},ElementFactory.prototype.createConnection=function(attrs){return this.create("connection",attrs)},ElementFactory.prototype.create=function(type,attrs){return(attrs=(0,_minDash.assign)({},attrs||{})).id||(attrs.id=type+"_"+this._uid++),(0,_model.create)(type,attrs)}},{"../model":335,"min-dash":572}],187:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ElementRegistry;var _tinySvg=require("tiny-svg"),ELEMENT_ID="data-element-id";function ElementRegistry(eventBus){this._elements={},this._eventBus=eventBus}ElementRegistry.$inject=["eventBus"],ElementRegistry.prototype.add=function(element,gfx,secondaryGfx){var id=element.id;this._validateId(id),(0,_tinySvg.attr)(gfx,ELEMENT_ID,id),secondaryGfx&&(0,_tinySvg.attr)(secondaryGfx,ELEMENT_ID,id),this._elements[id]={element:element,gfx:gfx,secondaryGfx:secondaryGfx}},ElementRegistry.prototype.remove=function(element){var elements=this._elements,id=element.id||element,container=id&&elements[id];container&&((0,_tinySvg.attr)(container.gfx,ELEMENT_ID,""),container.secondaryGfx&&(0,_tinySvg.attr)(container.secondaryGfx,ELEMENT_ID,""),delete elements[id])},ElementRegistry.prototype.updateId=function(element,newId){this._validateId(newId),"string"==typeof element&&(element=this.get(element)),this._eventBus.fire("element.updateId",{element:element,newId:newId});var gfx=this.getGraphics(element),secondaryGfx=this.getGraphics(element,!0);this.remove(element),element.id=newId,this.add(element,gfx,secondaryGfx)},ElementRegistry.prototype.get=function(filter){var id;id="string"==typeof filter?filter:filter&&(0,_tinySvg.attr)(filter,ELEMENT_ID);var container=this._elements[id];return container&&container.element},ElementRegistry.prototype.filter=function(fn){var filtered=[];return this.forEach(function(element,gfx){fn(element,gfx)&&filtered.push(element)}),filtered},ElementRegistry.prototype.getAll=function(){return this.filter(function(e){return e})},ElementRegistry.prototype.forEach=function(fn){var map=this._elements;Object.keys(map).forEach(function(id){var container=map[id],element=container.element,gfx=container.gfx;return fn(element,gfx)})},ElementRegistry.prototype.getGraphics=function(filter,secondary){var id=filter.id||filter,container=this._elements[id];return container&&(secondary?container.secondaryGfx:container.gfx)},ElementRegistry.prototype._validateId=function(id){if(!id)throw new Error("element must have an id");if(this._elements[id])throw new Error("element with id "+id+" already added")}},{"tiny-svg":584}],188:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};exports.default=EventBus;var _minDash=require("min-dash"),slice=Array.prototype.slice;function EventBus(){this._listeners={},this.on("diagram.destroy",1,this._destroy,this)}function InternalEvent(){}EventBus.prototype.on=function(events,priority,callback,that){if(events=(0,_minDash.isArray)(events)?events:[events],(0,_minDash.isFunction)(priority)&&(that=callback,callback=priority,priority=1e3),!(0,_minDash.isNumber)(priority))throw new Error("priority must be a number");var actualCallback=callback;that&&((actualCallback=(0,_minDash.bind)(callback,that)).__fn=callback.__fn||callback);var self=this;events.forEach(function(e){self._addListener(e,{priority:priority,callback:actualCallback,next:null})})},EventBus.prototype.once=function(event,priority,callback,that){var self=this;if((0,_minDash.isFunction)(priority)&&(that=callback,callback=priority,priority=1e3),!(0,_minDash.isNumber)(priority))throw new Error("priority must be a number");function wrappedCallback(){var result=callback.apply(that,arguments);return self.off(event,wrappedCallback),result}wrappedCallback.__fn=callback,this.on(event,priority,wrappedCallback)},EventBus.prototype.off=function(events,callback){events=(0,_minDash.isArray)(events)?events:[events];var self=this;events.forEach(function(event){self._removeListener(event,callback)})},EventBus.prototype.createEvent=function(data){var event=new InternalEvent;return event.init(data),event},EventBus.prototype.fire=function(type,data){var event,firstListener,returnValue,args;if(args=slice.call(arguments),"object"===(void 0===type?"undefined":_typeof(type))&&(type=(data=type).type),!type)throw new Error("no event type specified");if(firstListener=this._listeners[type]){event=data instanceof InternalEvent?data:this.createEvent(data);var originalType=(args[0]=event).type;type!==originalType&&(event.type=type);try{returnValue=this._invokeListeners(event,args,firstListener)}finally{type!==originalType&&(event.type=originalType)}return void 0===returnValue&&event.defaultPrevented&&(returnValue=!1),returnValue}},EventBus.prototype.handleError=function(error){return!1===this.fire("error",{error:error})},EventBus.prototype._destroy=function(){this._listeners={}},EventBus.prototype._invokeListeners=function(event,args,listener){for(var returnValue;listener&&!event.cancelBubble;)returnValue=this._invokeListener(event,args,listener),listener=listener.next;return returnValue},EventBus.prototype._invokeListener=function(event,args,listener){var returnValue;try{void 0!==(returnValue=function(fn,args){return fn.apply(null,args)}(listener.callback,args))&&(event.returnValue=returnValue,event.stopPropagation()),!1===returnValue&&event.preventDefault()}catch(e){if(!this.handleError(e))throw console.error("unhandled error in event listener"),console.error(e.stack),e}return returnValue},EventBus.prototype._addListener=function(event,newListener){var previousListener,listener=this._getListeners(event);if(listener){for(;listener;){if(listener.prioritynewBounds.top&&(directions=directions.concat("n"));oldBounds.rightnewBounds.left&&(directions=directions.concat("e"));return directions}((0,_minDash.pick)(target,["x","y","width","height"]),newBounds);this.resize(target,newBounds,{autoResize:resizeDirections});var parent=target.parent;parent&&this._expand([target],parent)}}},AutoResize.prototype.getOffset=function(shape){return{top:60,bottom:60,left:100,right:100}},AutoResize.prototype.getPadding=function(shape){return{top:2,bottom:2,left:15,right:15}},AutoResize.prototype.resize=function(shape,newBounds,hints){this._modeling.resizeShape(shape,newBounds,null,hints)}},{"../../command/CommandInterceptor":182,"../../layout/LayoutUtil":333,"../../util/Elements":348,inherits:366,"min-dash":572}],200:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=AutoResizeProvider;var _RuleProvider2=_interopRequireDefault(require("../rules/RuleProvider")),_inherits2=_interopRequireDefault(require("inherits"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function AutoResizeProvider(eventBus){_RuleProvider2.default.call(this,eventBus);var self=this;this.addRule("element.autoResize",function(context){return self.canResize(context.elements,context.target)})}AutoResizeProvider.$inject=["eventBus"],(0,_inherits2.default)(AutoResizeProvider,_RuleProvider2.default),AutoResizeProvider.prototype.canResize=function(elements,target){return!1}},{"../rules/RuleProvider":303,inherits:366}],201:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=AutoScroll;var _minDash=require("min-dash"),_Event=require("../../util/Event");function AutoScroll(config,eventBus,canvas){this._canvas=canvas,this._opts=(0,_minDash.assign)({scrollThresholdIn:[20,20,20,20],scrollThresholdOut:[0,0,0,0],scrollRepeatTimeout:15,scrollStep:10},config);var self=this;eventBus.on("drag.move",function(e){var point=self._toBorderPoint(e);self.startScroll(point)}),eventBus.on(["drag.cleanup"],function(){self.stopScroll()})}function between(val,start,end){return startwaypoints.length-3&&referenceWaypoints.unshift(mid(connection.target)),context.snapPoints=snapPoints={horizontal:[],vertical:[]},(0,_minDash.forEach)(referenceWaypoints,function(p){p&&(p=p.original||p,"y"===axis&&snapPoints.horizontal.push(p.y),"x"===axis&&snapPoints.vertical.push(p.x))}),snapPoints}(event.context),x=event.x,y=event.y;if(snapPoints){var cx=x-(sx=snapTo(snapPoints.vertical,x)),cy=y-(sy=snapTo(snapPoints.horizontal,y));(0,_minDash.assign)(event,{dx:event.dx-cx,dy:event.dy-cy,x:sx,y:sy}),!cx&&-1===snapPoints.vertical.indexOf(x)||(0,_SnapUtil.setSnapped)(event,"x",sx),!cy&&-1===snapPoints.horizontal.indexOf(y)||(0,_SnapUtil.setSnapped)(event,"y",sy)}}),eventBus.on(["bendpoint.move.move","bendpoint.move.end"],1500,function(event){var sx,sy,context=event.context,snapPoints=function(context){var snapPoints=context.snapPoints,waypoints=context.connection.waypoints,bendpointIndex=context.bendpointIndex;if(snapPoints)return snapPoints;var referenceWaypoints=[waypoints[bendpointIndex-1],waypoints[bendpointIndex+1]];return context.snapPoints=snapPoints={horizontal:[],vertical:[]},(0,_minDash.forEach)(referenceWaypoints,function(p){p&&(p=p.original||p,snapPoints.horizontal.push(p.y),snapPoints.vertical.push(p.x))}),snapPoints}(context),hover=context.hover,hoverMid=hover&&mid(hover),x=event.x,y=event.y;if(snapPoints){var cx=x-(sx=snapTo(hoverMid?snapPoints.vertical.concat([hoverMid.x]):snapPoints.vertical,x)),cy=y-(sy=snapTo(hoverMid?snapPoints.horizontal.concat([hoverMid.y]):snapPoints.horizontal,y));(0,_minDash.assign)(event,{dx:event.dx-cx,dy:event.dy-cy,x:event.x-cx,y:event.y-cy}),!cx&&-1===snapPoints.vertical.indexOf(x)||(0,_SnapUtil.setSnapped)(event,"x",sx),!cy&&-1===snapPoints.horizontal.indexOf(y)||(0,_SnapUtil.setSnapped)(event,"y",sy)}})}BendpointSnapping.$inject=["eventBus"]},{"../snapping/SnapUtil":315,"min-dash":572}],206:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SEGMENT_DRAGGER_CLS=exports.BENDPOINT_CLS=void 0,exports.toCanvasCoordinates=toCanvasCoordinates,exports.getConnectionIntersection=function(canvas,waypoints,event){var localPosition=toCanvasCoordinates(canvas,event);return(0,_LineIntersection.getApproxIntersection)(waypoints,localPosition)},exports.addBendpoint=function(parentGfx,cls){var groupGfx=(0,_tinySvg.create)("g");(0,_tinySvg.classes)(groupGfx).add(BENDPOINT_CLS),(0,_tinySvg.append)(parentGfx,groupGfx);var visual=(0,_tinySvg.create)("circle");(0,_tinySvg.attr)(visual,{cx:0,cy:0,r:4}),(0,_tinySvg.classes)(visual).add("djs-visual"),(0,_tinySvg.append)(groupGfx,visual);var hit=(0,_tinySvg.create)("circle");(0,_tinySvg.attr)(hit,{cx:0,cy:0,r:10}),(0,_tinySvg.classes)(hit).add("djs-hit"),(0,_tinySvg.append)(groupGfx,hit),cls&&(0,_tinySvg.classes)(groupGfx).add(cls);return groupGfx},exports.addSegmentDragger=function(parentGfx,segmentStart,segmentEnd){var groupGfx=(0,_tinySvg.create)("g"),mid=(0,_Geometry.getMidPoint)(segmentStart,segmentEnd),alignment=(0,_Geometry.pointsAligned)(segmentStart,segmentEnd);return(0,_tinySvg.append)(parentGfx,groupGfx),function(parentGfx,segmentStart,segmentEnd,alignment){var draggerGfx=(0,_tinySvg.create)("g");(0,_tinySvg.append)(parentGfx,draggerGfx);var hitWidth=function(segmentStart,segmentEnd,alignment){var segmentLengthXAxis=segmentEnd.x-segmentStart.x,segmentLengthYAxis=segmentEnd.y-segmentStart.y;return calculateSegmentMoveRegion("h"===alignment?segmentLengthXAxis:segmentLengthYAxis)}(segmentStart,segmentEnd,alignment),visual=(0,_tinySvg.create)("rect");(0,_tinySvg.attr)(visual,{x:-7,y:-1.5,width:14,height:3}),(0,_tinySvg.classes)(visual).add("djs-visual"),(0,_tinySvg.append)(draggerGfx,visual);var hit=(0,_tinySvg.create)("rect");(0,_tinySvg.attr)(hit,{x:-hitWidth/2,y:-4.5,width:hitWidth,height:9}),(0,_tinySvg.classes)(hit).add("djs-hit"),(0,_tinySvg.append)(draggerGfx,hit),(0,_SvgTransformUtil.rotate)(draggerGfx,"v"===alignment?90:0,0,0)}(groupGfx,segmentStart,segmentEnd,alignment),(0,_tinySvg.classes)(groupGfx).add(SEGMENT_DRAGGER_CLS),(0,_tinySvg.classes)(groupGfx).add("h"===alignment?"horizontal":"vertical"),(0,_SvgTransformUtil.translate)(groupGfx,mid.x,mid.y),groupGfx},exports.calculateSegmentMoveRegion=calculateSegmentMoveRegion;var _Event=require("../../util/Event"),_Geometry=require("../../util/Geometry"),_tinySvg=require("tiny-svg"),_SvgTransformUtil=require("../../util/SvgTransformUtil"),_LineIntersection=require("../../util/LineIntersection"),BENDPOINT_CLS=exports.BENDPOINT_CLS="djs-bendpoint",SEGMENT_DRAGGER_CLS=exports.SEGMENT_DRAGGER_CLS="djs-segment-dragger";function toCanvasCoordinates(canvas,event){var offset,position=(0,_Event.toPoint)(event),clientRect=canvas._container.getBoundingClientRect();offset={x:clientRect.left,y:clientRect.top};var viewbox=canvas.viewbox();return{x:viewbox.x+(position.x-offset.x)/viewbox.scale,y:viewbox.y+(position.y-offset.y)/viewbox.scale}}function calculateSegmentMoveRegion(segmentLength){return Math.abs(Math.round(2*segmentLength/3))}},{"../../util/Event":350,"../../util/Geometry":351,"../../util/LineIntersection":354,"../../util/SvgTransformUtil":361,"tiny-svg":584}],207:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Bendpoints;var _minDash=require("min-dash"),_minDom=require("min-dom"),_BendpointUtil=require("./BendpointUtil"),_EscapeUtil=require("../../util/EscapeUtil"),_Geometry=require("../../util/Geometry"),_tinySvg=require("tiny-svg"),_SvgTransformUtil=require("../../util/SvgTransformUtil");function Bendpoints(eventBus,canvas,interactionEvents,bendpointMove,connectionSegmentMove){function activateBendpointMove(event,connection){var waypoints=connection.waypoints,intersection=(0,_BendpointUtil.getConnectionIntersection)(canvas,waypoints,event);if(intersection)return!function(intersection,waypoints,treshold){var p0,p1,mid,aligned,xDelta,yDelta,idx=intersection.index,p=intersection.point;return!(idx<=0||intersection.bendpoint)&&(p0=waypoints[idx-1],p1=waypoints[idx],mid=(0,_Geometry.getMidPoint)(p0,p1),aligned=(0,_Geometry.pointsAligned)(p0,p1),xDelta=Math.abs(p.x-mid.x),yDelta=Math.abs(p.y-mid.y),aligned&&xDelta<=treshold&&yDelta<=treshold)}(intersection,waypoints,function(connection,intersection){var relevantSegment,alignment,segmentLength,waypoints=connection.waypoints;return intersection.index<=0||intersection.bendpoint?null:(relevantSegment={start:waypoints[intersection.index-1],end:waypoints[intersection.index]},(alignment=(0,_Geometry.pointsAligned)(relevantSegment.start,relevantSegment.end))?(segmentLength="h"===alignment?relevantSegment.end.x-relevantSegment.start.x:relevantSegment.end.y-relevantSegment.start.y,(0,_BendpointUtil.calculateSegmentMoveRegion)(segmentLength)/2):null)}(connection,intersection))?bendpointMove.start(event,connection,intersection.index,!intersection.bendpoint):connectionSegmentMove.start(event,connection,intersection.index),!0}function bindInteractionEvents(node,eventName,element){_minDom.event.bind(node,eventName,function(event){interactionEvents.triggerMouseEvent(eventName,event,element),event.stopPropagation()})}function getBendpointsContainer(element,create){var layer=canvas.getLayer("overlays"),gfx=(0,_minDom.query)('.djs-bendpoints[data-element-id="'+(0,_EscapeUtil.escapeCSS)(element.id)+'"]',layer);return!gfx&&create&&(gfx=(0,_tinySvg.create)("g"),(0,_tinySvg.attr)(gfx,{"data-element-id":element.id}),(0,_tinySvg.classes)(gfx).add("djs-bendpoints"),(0,_tinySvg.append)(layer,gfx),bindInteractionEvents(gfx,"mousedown",element),bindInteractionEvents(gfx,"click",element),bindInteractionEvents(gfx,"dblclick",element)),gfx}function getSegmentDragger(idx,parentGfx){return(0,_minDom.query)('.djs-segment-dragger[data-segment-idx="'+idx+'"]',parentGfx)}function createBendpoints(gfx,connection){connection.waypoints.forEach(function(p,idx){var bendpoint=(0,_BendpointUtil.addBendpoint)(gfx);(0,_tinySvg.append)(gfx,bendpoint),(0,_SvgTransformUtil.translate)(bendpoint,p.x,p.y)}),(0,_BendpointUtil.addBendpoint)(gfx,"floating")}function createSegmentDraggers(gfx,connection){for(var segmentStart,segmentEnd,segmentDraggerGfx,waypoints=connection.waypoints,i=1;i');(0,_minDom.attr)(control,"data-action",id),(container=(0,_minDom.query)("[data-group="+grouping+"]",html))||(container=(0,_minDom.domify)('
'),html.appendChild(container)),container.appendChild(control),entry.className&&function(element,classNames){var classes=(0,_minDom.classes)(element);((0,_minDash.isArray)(classNames)?classNames:classNames.split(/\s+/g)).forEach(function(cls){classes.add(cls)})}(control,entry.className),entry.title&&(0,_minDom.attr)(control,"title",entry.title),entry.imageUrl&&control.appendChild((0,_minDom.domify)(''))}),(0,_minDom.classes)(html).add("open"),this._current={element:element,pad:pad,entries:entries},this._eventBus.fire("contextPad.open",{current:this._current})},ContextPad.prototype.getPad=function(element){if(this.isOpen())return this._current.pad;var self=this,overlays=this._overlays,html=(0,_minDom.domify)('
'),overlaysConfig=(0,_minDash.assign)({html:html},this._overlaysConfig);_minDom.delegate.bind(html,".entry","click",function(event){self.trigger("click",event)}),_minDom.delegate.bind(html,".entry","dragstart",function(event){self.trigger("dragstart",event)}),_minDom.event.bind(html,"mousedown",function(event){event.stopPropagation()}),this._overlayId=overlays.add(element,"context-pad",overlaysConfig);var pad=overlays.get(this._overlayId);return this._eventBus.fire("contextPad.create",{element:element,pad:pad}),pad},ContextPad.prototype.close=function(){this.isOpen()&&(this._overlays.remove(this._overlayId),this._overlayId=null,this._eventBus.fire("contextPad.close",{current:this._current}),this._current=null)},ContextPad.prototype.isOpen=function(element){return!(!this._current||element&&this._current.element!==element)}},{"min-dash":572,"min-dom":573}],220:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _interactionEvents2=_interopRequireDefault(require("../interaction-events")),_overlays2=_interopRequireDefault(require("../overlays")),_ContextPad2=_interopRequireDefault(require("./ContextPad"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_interactionEvents2.default,_overlays2.default],contextPad:["type",_ContextPad2.default]}},{"../interaction-events":244,"../overlays":289,"./ContextPad":219}],221:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=CopyPaste;var _minDash=require("min-dash"),_Elements=require("../../util/Elements");function CopyPaste(canvas,create,clipboard,elementFactory,eventBus,modeling,mouse,rules){this._canvas=canvas,this._create=create,this._clipboard=clipboard,this._elementFactory=elementFactory,this._eventBus=eventBus,this._modeling=modeling,this._mouse=mouse,this._rules=rules,eventBus.on("copyPaste.copyElement",function(context){var descriptor=context.descriptor,element=context.element,elements=context.elements;descriptor.priority=1,descriptor.id=element.id,(0,_minDash.find)(elements,function(e){return e===element.parent})&&(descriptor.parent=element.parent.id),function(element){return!!element.host}(element)&&(descriptor.priority=2,descriptor.host=element.host.id),isConnection(element)&&(descriptor.priority=3,descriptor.source=element.source.id,descriptor.target=element.target.id,descriptor.waypoints=function(element){return(0,_minDash.map)(element.waypoints,function(waypoint){return(waypoint=copyWaypoint(waypoint)).original&&(waypoint.original=copyWaypoint(waypoint.original)),waypoint})}(element)),isLabel(element)&&(descriptor.priority=4,descriptor.labelTarget=element.labelTarget.id),(0,_minDash.forEach)(["x","y","width","height"],function(property){(0,_minDash.isNumber)(element[property])&&(descriptor[property]=element[property])}),descriptor.hidden=element.hidden,descriptor.collapsed=element.collapsed}),eventBus.on("copyPaste.pasteElements",function(context){var hints=context.hints;(0,_minDash.assign)(hints,{createElementsBehavior:!1})})}function isConnection(element){return!!element.waypoints}function isLabel(element){return!!element.labelTarget}function copyWaypoint(waypoint){return(0,_minDash.assign)({},waypoint)}function removeElement(element,elements){var index=elements.indexOf(element);return-1===index?elements:elements.splice(index,1)}CopyPaste.$inject=["canvas","create","clipboard","elementFactory","eventBus","modeling","mouse","rules"],CopyPaste.prototype.copy=function(elements){var allowed,tree;return(0,_minDash.isArray)(elements)||(elements=elements?[elements]:[]),tree=!1===(allowed=this._eventBus.fire("copyPaste.canCopyElements",{elements:elements}))?{}:this.createTree((0,_minDash.isArray)(allowed)?allowed:elements),this._clipboard.set(tree),this._eventBus.fire("copyPaste.elementsCopied",{elements:elements,tree:tree}),tree},CopyPaste.prototype.paste=function(context){var tree=this._clipboard.get();if(!this._clipboard.isEmpty()){var hints=context&&context.hints||{};this._eventBus.fire("copyPaste.pasteElements",{hints:hints});var elements=this._createElements(tree);if(context&&context.element&&context.point)return this._paste(elements,context.element,context.point,hints);this._create.start(this._mouse.getLastMoveEvent(),elements,{hints:hints||{}})}},CopyPaste.prototype._paste=function(elements,target,position,hints){(0,_minDash.forEach)(elements,function(element){(0,_minDash.isNumber)(element.x)||(element.x=0),(0,_minDash.isNumber)(element.y)||(element.y=0)});var bbox=(0,_Elements.getBBox)(elements);return(0,_minDash.forEach)(elements,function(element){isConnection(element)&&(element.waypoints=(0,_minDash.map)(element.waypoints,function(waypoint){return{x:waypoint.x-bbox.x-bbox.width/2,y:waypoint.y-bbox.y-bbox.height/2}})),(0,_minDash.assign)(element,{x:element.x-bbox.x-bbox.width/2,y:element.y-bbox.y-bbox.height/2})}),this._modeling.createElements(elements,position,target,(0,_minDash.assign)({},hints))},CopyPaste.prototype._createElements=function(tree){var self=this,eventBus=this._eventBus,cache={},elements=[];return(0,_minDash.forEach)(tree,function(branch,depth){depth=parseInt(depth,10),branch=(0,_minDash.sortBy)(branch,"priority"),(0,_minDash.forEach)(branch,function(descriptor){var element,attrs=(0,_minDash.assign)({},(0,_minDash.omit)(descriptor,["priority"]));return cache[descriptor.parent]?attrs.parent=cache[descriptor.parent]:delete attrs.parent,eventBus.fire("copyPaste.pasteElement",{cache:cache,descriptor:attrs}),element=isConnection(attrs)?(attrs.source=cache[descriptor.source],attrs.target=cache[descriptor.target],cache[descriptor.id]=self.createConnection(attrs)):isLabel(attrs)?(attrs.labelTarget=cache[attrs.labelTarget],cache[descriptor.id]=self.createLabel(attrs)):(attrs.host&&(attrs.host=cache[attrs.host]),cache[descriptor.id]=self.createShape(attrs)),void elements.push(element)})}),elements},CopyPaste.prototype.createConnection=function(attrs){return this._elementFactory.createConnection((0,_minDash.omit)(attrs,["id"]))},CopyPaste.prototype.createLabel=function(attrs){return this._elementFactory.createLabel((0,_minDash.omit)(attrs,["id"]))},CopyPaste.prototype.createShape=function(attrs){return this._elementFactory.createShape((0,_minDash.omit)(attrs,["id"]))},CopyPaste.prototype.hasRelations=function(element,elements){var source,target;return!(isConnection(element)&&(source=(0,_minDash.find)(elements,(0,_minDash.matchPattern)({id:element.source.id})),target=(0,_minDash.find)(elements,(0,_minDash.matchPattern)({id:element.target.id})),!source||!target))&&!(isLabel(element)&&!(0,_minDash.find)(elements,(0,_minDash.matchPattern)({id:element.labelTarget.id})))},CopyPaste.prototype.createTree=function(elements){var rules=this._rules,self=this,tree={},elementsData=[],parents=(0,_Elements.getParents)(elements);function addElementData(element,depth){var foundElementData=(0,_minDash.find)(elementsData,function(elementsData){return element===elementsData.element});foundElementData?foundElementData.depth=Math.min(rangeB.min,rangeB.max)&&Math.min(rangeA.min,rangeA.max)<=Math.max(rangeB.min,rangeB.max)},DistributeElements.prototype._findRange=function(element){var axis=element[this._axis];return{min:axis+5,max:axis+element[this._dimension]-5}}},{"min-dash":572}],227:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_DistributeElements=require("./DistributeElements"),_DistributeElements2=(obj=_DistributeElements)&&obj.__esModule?obj:{default:obj};exports.default={__init__:["distributeElements"],distributeElements:["type",_DistributeElements2.default]}},{"./DistributeElements":226}],228:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Dragging;var _minDash=require("min-dash"),_minDom=require("min-dom"),_Event=require("../../util/Event"),_Cursor=require("../../util/Cursor"),_ClickTrap=require("../../util/ClickTrap"),_PositionUtil=require("../../util/PositionUtil"),round=Math.round,DRAG_ACTIVE_CLS="djs-drag-active";function preventDefault(event){event.preventDefault()}function Dragging(eventBus,canvas,selection,elementRegistry){var context,defaultOptions={threshold:5,trapClick:!0};function toLocalPoint(globalPosition){var viewbox=canvas.viewbox(),clientRect=canvas._container.getBoundingClientRect();return{x:viewbox.x+(globalPosition.x-clientRect.left)/viewbox.scale,y:viewbox.y+(globalPosition.y-clientRect.top)/viewbox.scale}}function fire(type,dragContext){dragContext=dragContext||context;var event=eventBus.createEvent((0,_minDash.assign)({},dragContext.payload,dragContext.data,{isTouch:dragContext.isTouch}));return!1!==eventBus.fire("drag."+type,event)&&eventBus.fire(dragContext.prefix+"."+type,event)}function move(event,activate){var payload=context.payload,displacement=context.displacement,globalStart=context.globalStart,globalCurrent=(0,_Event.toPoint)(event),globalDelta=(0,_PositionUtil.delta)(globalCurrent,globalStart),localStart=context.localStart,localCurrent=toLocalPoint(globalCurrent),localDelta=(0,_PositionUtil.delta)(localCurrent,localStart);if(!context.active&&(activate||function(point){return Math.sqrt(Math.pow(point.x,2)+Math.pow(point.y,2))}(globalDelta)>context.threshold)){if((0,_minDash.assign)(payload,{x:round(localStart.x+displacement.x),y:round(localStart.y+displacement.y),dx:0,dy:0},{originalEvent:event}),!1===fire("start"))return cancel();context.active=!0,context.keepSelection||(payload.previousSelection=selection.get(),selection.select(null)),context.cursor&&(0,_Cursor.set)(context.cursor),canvas.addMarker(canvas.getRootElement(),DRAG_ACTIVE_CLS)}(0,_Event.stopPropagation)(event),context.active&&((0,_minDash.assign)(payload,{x:round(localCurrent.x+displacement.x),y:round(localCurrent.y+displacement.y),dx:round(localDelta.x),dy:round(localDelta.y)},{originalEvent:event}),fire("move"))}function end(event){var returnValue=!0;context.active&&(event&&(context.payload.originalEvent=event,(0,_Event.stopPropagation)(event)),returnValue=fire("end")),!1===returnValue&&fire("rejected"),fire("ended",cleanup(!0!==returnValue))}function checkCancel(event){27===event.which&&(preventDefault(event),cancel())}function trapClickAndEnd(event){var untrap;context.active&&(untrap=(0,_ClickTrap.install)(eventBus),setTimeout(untrap,400),preventDefault(event)),end(event)}function trapTouch(event){move(event)}function hover(event){var payload=context.payload;payload.hoverGfx=event.gfx,payload.hover=event.element,fire("hover")}function out(event){fire("out");var payload=context.payload;payload.hoverGfx=null,payload.hover=null}function cancel(restore){var previousContext;if(context){var wasActive=context.active;wasActive&&fire("cancel"),previousContext=cleanup(restore),wasActive&&fire("canceled",previousContext)}}function cleanup(restore){var previousContext,endDrag;fire("cleanup"),(0,_Cursor.unset)(),endDrag=context.trapClick?trapClickAndEnd:end,_minDom.event.unbind(document,"mousemove",move),_minDom.event.unbind(document,"dragstart",preventDefault),_minDom.event.unbind(document,"selectstart",preventDefault),_minDom.event.unbind(document,"mousedown",endDrag,!0),_minDom.event.unbind(document,"mouseup",endDrag,!0),_minDom.event.unbind(document,"keyup",checkCancel),_minDom.event.unbind(document,"touchstart",trapTouch,!0),_minDom.event.unbind(document,"touchcancel",cancel,!0),_minDom.event.unbind(document,"touchmove",move,!0),_minDom.event.unbind(document,"touchend",end,!0),eventBus.off("element.hover",hover),eventBus.off("element.out",out),canvas.removeMarker(canvas.getRootElement(),DRAG_ACTIVE_CLS);var previousSelection=context.payload.previousSelection;return!1!==restore&&previousSelection&&!selection.get().length&&function(previousSelection){var existingSelection=previousSelection.filter(function(element){return elementRegistry.get(element.id)});existingSelection.length&&selection.select(existingSelection)}(previousSelection),previousContext=context,context=null,previousContext}eventBus.on("diagram.destroy",cancel),this.init=function(event,relativeTo,prefix,options){context&&cancel(!1),"string"==typeof relativeTo&&(options=prefix,prefix=relativeTo,relativeTo=null);var originalEvent,globalStart,localStart,endDrag,isTouch,data=(options=(0,_minDash.assign)({},defaultOptions,options||{})).data||{};endDrag=options.trapClick?trapClickAndEnd:end,event?(originalEvent=(0,_Event.getOriginal)(event)||event,globalStart=(0,_Event.toPoint)(event),(0,_Event.stopPropagation)(event),"dragstart"===originalEvent.type&&preventDefault(originalEvent)):(originalEvent=null,globalStart={x:0,y:0}),localStart=toLocalPoint(globalStart),relativeTo=relativeTo||localStart,isTouch=function(event){return"undefined"!=typeof TouchEvent&&event instanceof TouchEvent}(originalEvent),context=(0,_minDash.assign)({prefix:prefix,data:data,payload:{},globalStart:globalStart,displacement:(0,_PositionUtil.delta)(relativeTo,localStart),localStart:localStart,isTouch:isTouch},options),options.manual||(isTouch?(_minDom.event.bind(document,"touchstart",trapTouch,!0),_minDom.event.bind(document,"touchcancel",cancel,!0),_minDom.event.bind(document,"touchmove",move,!0),_minDom.event.bind(document,"touchend",end,!0)):(_minDom.event.bind(document,"mousemove",move),_minDom.event.bind(document,"dragstart",preventDefault),_minDom.event.bind(document,"selectstart",preventDefault),_minDom.event.bind(document,"mousedown",endDrag,!0),_minDom.event.bind(document,"mouseup",endDrag,!0)),_minDom.event.bind(document,"keyup",checkCancel),eventBus.on("element.hover",hover),eventBus.on("element.out",out)),fire("init"),options.autoActivate&&move(event,!0)},this.move=move,this.hover=hover,this.out=out,this.end=end,this.cancel=cancel,this.context=function(){return context},this.setOptions=function(options){(0,_minDash.assign)(defaultOptions,options)}}Dragging.$inject=["eventBus","canvas","selection","elementRegistry"]},{"../../util/ClickTrap":345,"../../util/Cursor":347,"../../util/Event":350,"../../util/PositionUtil":358,"min-dash":572,"min-dom":573}],229:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=HoverFix;var _minDom=require("min-dom"),_Event=require("../../util/Event"),HIGH_PRIORITY=1500;function HoverFix(eventBus,dragging,elementRegistry){var self=this;eventBus.on("drag.start",function(event){eventBus.once("drag.move",HIGH_PRIORITY,function(event){!function(event){if(!event.hover){var originalEvent=event.originalEvent,gfx=self._findTargetGfx(originalEvent),element=gfx&&elementRegistry.get(gfx);gfx&&element&&(event.stopPropagation(),dragging.hover({element:element,gfx:gfx}),dragging.move(originalEvent))}}(event)})}),eventBus.on("drag.init",function(){var hover,hoverGfx;function setDragHover(event){hover=event.hover,hoverGfx=event.hoverGfx}function unsetHover(){hoverGfx=hover=null}function ensureOut(){if(hover){var element=hover,gfx=hoverGfx;hoverGfx=hover=null,dragging.out({element:element,gfx:gfx})}}eventBus.on("drag.hover",setDragHover),eventBus.on("element.out",unsetHover),eventBus.on("element.hover",HIGH_PRIORITY,ensureOut),eventBus.once("drag.cleanup",function(){eventBus.off("drag.hover",setDragHover),eventBus.off("element.out",unsetHover),eventBus.off("element.hover",ensureOut)})}),this._findTargetGfx=function(event){var position;if(event instanceof MouseEvent)return position=(0,_Event.toPoint)(event),function(target){return(0,_minDom.closest)(target,"svg, .djs-element",!0)}(document.elementFromPoint(position.x,position.y))}}HoverFix.$inject=["eventBus","dragging","elementRegistry"]},{"../../util/Event":350,"min-dom":573}],230:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _selection2=_interopRequireDefault(require("../selection")),_Dragging2=_interopRequireDefault(require("./Dragging")),_HoverFix2=_interopRequireDefault(require("./HoverFix"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__init__:["hoverFix"],__depends__:[_selection2.default],dragging:["type",_Dragging2.default],hoverFix:["type",_HoverFix2.default]}},{"../selection":311,"./Dragging":228,"./HoverFix":229}],231:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=EditorActions;var _minDash=require("min-dash");function EditorActions(eventBus,injector){this._actions={};var self=this;eventBus.on("diagram.init",function(){self._registerDefaultActions(injector),eventBus.fire("editorActions.init",{editorActions:self})})}function error(action,message){return new Error(action+" "+message)}EditorActions.$inject=["eventBus","injector"],EditorActions.prototype._registerDefaultActions=function(injector){var commandStack=injector.get("commandStack",!1),modeling=injector.get("modeling",!1),selection=injector.get("selection",!1),zoomScroll=injector.get("zoomScroll",!1),copyPaste=injector.get("copyPaste",!1),canvas=injector.get("canvas",!1),rules=injector.get("rules",!1),keyboardMove=injector.get("keyboardMove",!1),keyboardMoveSelection=injector.get("keyboardMoveSelection",!1);commandStack&&(this.register("undo",function(){commandStack.undo()}),this.register("redo",function(){commandStack.redo()})),copyPaste&&selection&&this.register("copy",function(){var selectedElements=selection.get();copyPaste.copy(selectedElements)}),copyPaste&&this.register("paste",function(){copyPaste.paste()}),zoomScroll&&this.register("stepZoom",function(opts){zoomScroll.stepZoom(opts.value)}),canvas&&this.register("zoom",function(opts){canvas.zoom(opts.value)}),modeling&&selection&&rules&&this.register("removeSelection",function(){var selectedElements=selection.get();if(selectedElements.length){var removableElements,allowed=rules.allowed("elements.delete",{elements:selectedElements});!1!==allowed&&(removableElements=(0,_minDash.isArray)(allowed)?allowed:selectedElements).length&&modeling.removeElements(removableElements.slice())}}),keyboardMove&&this.register("moveCanvas",function(opts){keyboardMove.moveCanvas(opts)}),keyboardMoveSelection&&this.register("moveSelection",function(opts){keyboardMoveSelection.moveSelection(opts.direction,opts.accelerated)})},EditorActions.prototype.trigger=function(action,opts){if(!this._actions[action])throw error(action,"is not a registered action");return this._actions[action](opts)},EditorActions.prototype.register=function(actions,listener){var self=this;if("string"==typeof actions)return this._registerAction(actions,listener);(0,_minDash.forEach)(actions,function(listener,action){self._registerAction(action,listener)})},EditorActions.prototype._registerAction=function(action,listener){if(this.isRegistered(action))throw error(action,"is already registered");this._actions[action]=listener},EditorActions.prototype.unregister=function(action){if(!this.isRegistered(action))throw error(action,"is not a registered action");this._actions[action]=void 0},EditorActions.prototype.getActions=function(){return Object.keys(this._actions)},EditorActions.prototype.isRegistered=function(action){return!!this._actions[action]}},{"min-dash":572}],232:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_EditorActions=require("./EditorActions"),_EditorActions2=(obj=_EditorActions)&&obj.__esModule?obj:{default:obj};exports.default={__init__:["editorActions"],editorActions:["type",_EditorActions2.default]}},{"./EditorActions":231}],233:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=GlobalConnect;var MARKER_OK="connect-ok",MARKER_NOT_OK="connect-not-ok";function GlobalConnect(eventBus,dragging,connect,canvas,toolManager,rules){var self=this;this._dragging=dragging,this._rules=rules,toolManager.registerTool("global-connect",{tool:"global-connect",dragging:"global-connect.drag"}),eventBus.on("global-connect.hover",function(event){var context=event.context,startTarget=event.hover,canStartConnect=context.canStartConnect=self.canStartConnect(startTarget);null!==canStartConnect&&(context.startTarget=startTarget,canvas.addMarker(startTarget,canStartConnect?MARKER_OK:MARKER_NOT_OK))}),eventBus.on(["global-connect.out","global-connect.cleanup"],function(event){var startTarget=event.context.startTarget,canStartConnect=event.context.canStartConnect;startTarget&&canvas.removeMarker(startTarget,canStartConnect?MARKER_OK:MARKER_NOT_OK)}),eventBus.on(["global-connect.ended"],function(event){var startTarget=event.context.startTarget,startPosition={x:event.x,y:event.y};if(self.canStartConnect(startTarget))return eventBus.once("element.out",function(){eventBus.once(["connect.ended","connect.canceled"],function(){eventBus.fire("global-connect.drag.ended")}),connect.start(null,startTarget,startPosition)}),!1})}GlobalConnect.$inject=["eventBus","dragging","connect","canvas","toolManager","rules"],GlobalConnect.prototype.start=function(event){this._dragging.init(event,"global-connect",{trapClick:!1,data:{context:{}}})},GlobalConnect.prototype.toggle=function(){this.isActive()?this._dragging.cancel():this.start()},GlobalConnect.prototype.isActive=function(){var context=this._dragging.context();return context&&/^global-connect/.test(context.prefix)},GlobalConnect.prototype.canStartConnect=function(startTarget){return this._rules.allowed("connection.start",{source:startTarget})}},{}],234:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _connect2=_interopRequireDefault(require("../connect")),_rules2=_interopRequireDefault(require("../rules")),_dragging2=_interopRequireDefault(require("../dragging")),_toolManager2=_interopRequireDefault(require("../tool-manager")),_GlobalConnect2=_interopRequireDefault(require("./GlobalConnect"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_connect2.default,_rules2.default,_dragging2.default,_toolManager2.default],globalConnect:["type",_GlobalConnect2.default]}},{"../connect":216,"../dragging":230,"../rules":305,"../tool-manager":323,"./GlobalConnect":233}],235:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=GridSnapping;var _SnapUtil=require("../snapping/SnapUtil"),_KeyboardUtil=require("../keyboard/KeyboardUtil"),_minDash=require("min-dash"),_GridUtil=require("./GridUtil"),LOWER_PRIORITY=1200,LOW_PRIORITY=800;function GridSnapping(elementRegistry,eventBus,config){var active=!config||!1!==config.active;this._eventBus=eventBus;var self=this;eventBus.on("diagram.init",LOW_PRIORITY,function(){self.setActive(active)}),eventBus.on(["create.move","create.end","bendpoint.move.move","bendpoint.move.end","connect.move","connect.end","connectionSegment.move.move","connectionSegment.move.end","resize.move","resize.end","shape.move.move","shape.move.end"],LOWER_PRIORITY,function(event){var originalEvent=event.originalEvent;if(!(!self.active||originalEvent&&(0,_KeyboardUtil.isCmd)(originalEvent))){var context=event.context,gridSnappingContext=context.gridSnappingContext;gridSnappingContext=gridSnappingContext||(context.gridSnappingContext={}),["x","y"].forEach(function(axis){var options={},snapOffset=function(event,axis,elementRegistry){var context=event.context,shape=event.shape,gridSnappingContext=context.gridSnappingContext,snapLocation=gridSnappingContext.snapLocation,snapOffset=gridSnappingContext.snapOffset;if(snapOffset&&(0,_minDash.isNumber)(snapOffset[axis]))return snapOffset[axis];snapOffset=snapOffset||(gridSnappingContext.snapOffset={});(0,_minDash.isNumber)(snapOffset[axis])||(snapOffset[axis]=0);if(!shape)return snapOffset[axis];elementRegistry.get(shape.id)||(isHorizontal(axis)?snapOffset[axis]+=shape[axis]+shape.width/2:snapOffset[axis]+=shape[axis]+shape.height/2);if(!snapLocation)return snapOffset[axis];"x"===axis?/left/.test(snapLocation)?snapOffset[axis]-=shape.width/2:/right/.test(snapLocation)&&(snapOffset[axis]+=shape.width/2):/top/.test(snapLocation)?snapOffset[axis]-=shape.height/2:/bottom/.test(snapLocation)&&(snapOffset[axis]+=shape.height/2);return snapOffset[axis]}(event,axis,elementRegistry);snapOffset&&(options.offset=snapOffset);var snapConstraints=function(event,axis){var context=event.context,createConstraints=context.createConstraints,resizeConstraints=context.resizeConstraints||{},gridSnappingContext=context.gridSnappingContext,snapConstraints=gridSnappingContext.snapConstraints;if(snapConstraints&&snapConstraints[axis])return snapConstraints[axis];snapConstraints=snapConstraints||(gridSnappingContext.snapConstraints={});snapConstraints[axis]||(snapConstraints[axis]={});var direction=context.direction;createConstraints&&(isHorizontal(axis)?(snapConstraints.x.min=createConstraints.left,snapConstraints.x.max=createConstraints.right):(snapConstraints.y.min=createConstraints.top,snapConstraints.y.max=createConstraints.bottom));var minResizeConstraints=resizeConstraints.min,maxResizeConstraints=resizeConstraints.max;minResizeConstraints&&(isHorizontal(axis)?isWest(direction)?snapConstraints.x.max=minResizeConstraints.left:snapConstraints.x.min=minResizeConstraints.right:isNorth(direction)?snapConstraints.y.max=minResizeConstraints.top:snapConstraints.y.min=minResizeConstraints.bottom);maxResizeConstraints&&(isHorizontal(axis)?isWest(direction)?snapConstraints.x.min=maxResizeConstraints.left:snapConstraints.x.max=maxResizeConstraints.right:isNorth(direction)?snapConstraints.y.min=maxResizeConstraints.top:snapConstraints.y.max=maxResizeConstraints.bottom);return snapConstraints[axis]}(event,axis);snapConstraints&&(0,_minDash.assign)(options,snapConstraints),(0,_SnapUtil.isSnapped)(event,axis)||self.snapEvent(event,axis,options)})}})}function isHorizontal(axis){return"x"===axis}function isNorth(direction){return-1!==direction.indexOf("n")}function isWest(direction){return-1!==direction.indexOf("w")}GridSnapping.prototype.snapEvent=function(event,axis,options){var snappedValue=this.snapValue(event[axis],options);(0,_SnapUtil.setSnapped)(event,axis,snappedValue)},GridSnapping.prototype.getGridSpacing=function(){return _GridUtil.SPACING},GridSnapping.prototype.snapValue=function(value,options){var min,max,offset=0;return options&&options.offset&&(offset=options.offset),value+=offset,value=(0,_GridUtil.quantize)(value,_GridUtil.SPACING),options&&options.min&&(min=options.min,(0,_minDash.isNumber)(min)&&(min=(0,_GridUtil.quantize)(min+offset,_GridUtil.SPACING,"ceil"),value=Math.max(value,min))),options&&options.max&&(max=options.max,(0,_minDash.isNumber)(max)&&(max=(0,_GridUtil.quantize)(max+offset,_GridUtil.SPACING,"floor"),value=Math.min(value,max))),value-=offset},GridSnapping.prototype.isActive=function(){return this.active},GridSnapping.prototype.setActive=function(active){this.active=active,this._eventBus.fire("gridSnapping.toggle",{active:active})},GridSnapping.prototype.toggleActive=function(){this.setActive(!this.active)},GridSnapping.$inject=["elementRegistry","eventBus","config.gridSnapping"]},{"../keyboard/KeyboardUtil":249,"../snapping/SnapUtil":315,"./GridUtil":236,"min-dash":572}],236:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.quantize=function(value,quantum,fn){fn=fn||"round";return Math[fn](value/quantum)*quantum};exports.SPACING=10},{}],237:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ResizeBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("../../../command/CommandInterceptor")),_minDash=require("min-dash");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function ResizeBehavior(eventBus,gridSnapping){_CommandInterceptor2.default.call(this,eventBus),this._gridSnapping=gridSnapping;var self=this;this.preExecute("shape.resize",function(event){var context=event.context,autoResize=(context.hints||{}).autoResize;if(autoResize){var shape=context.shape,newBounds=context.newBounds;(0,_minDash.isString)(autoResize)?context.newBounds=self.snapComplex(newBounds,autoResize):context.newBounds=self.snapSimple(shape,newBounds)}})}ResizeBehavior.$inject=["eventBus","gridSnapping","modeling"],(0,_inherits2.default)(ResizeBehavior,_CommandInterceptor2.default),ResizeBehavior.prototype.snapSimple=function(shape,newBounds){var gridSnapping=this._gridSnapping;return newBounds.width=gridSnapping.snapValue(newBounds.width,{min:newBounds.width}),newBounds.height=gridSnapping.snapValue(newBounds.height,{min:newBounds.height}),newBounds.x=shape.x+shape.width/2-newBounds.width/2,newBounds.y=shape.y+shape.height/2-newBounds.height/2,newBounds},ResizeBehavior.prototype.snapComplex=function(newBounds,directions){return/w|e/.test(directions)&&(newBounds=this.snapHorizontally(newBounds,directions)),/n|s/.test(directions)&&(newBounds=this.snapVertically(newBounds,directions)),newBounds},ResizeBehavior.prototype.snapHorizontally=function(newBounds,directions){var gridSnapping=this._gridSnapping,west=/w/.test(directions),east=/e/.test(directions),snappedNewBounds={};return snappedNewBounds.width=gridSnapping.snapValue(newBounds.width,{min:newBounds.width}),east&&(west?(snappedNewBounds.x=gridSnapping.snapValue(newBounds.x,{max:newBounds.x}),snappedNewBounds.width+=gridSnapping.snapValue(newBounds.x-snappedNewBounds.x,{min:newBounds.x-snappedNewBounds.x})):newBounds.x=newBounds.x+newBounds.width-snappedNewBounds.width),(0,_minDash.assign)(newBounds,snappedNewBounds),newBounds},ResizeBehavior.prototype.snapVertically=function(newBounds,directions){var gridSnapping=this._gridSnapping,north=/n/.test(directions),south=/s/.test(directions),snappedNewBounds={};return snappedNewBounds.height=gridSnapping.snapValue(newBounds.height,{min:newBounds.height}),north&&(south?(snappedNewBounds.y=gridSnapping.snapValue(newBounds.y,{max:newBounds.y}),snappedNewBounds.height+=gridSnapping.snapValue(newBounds.y-snappedNewBounds.y,{min:newBounds.y-snappedNewBounds.y})):newBounds.y=newBounds.y+newBounds.height-snappedNewBounds.height),(0,_minDash.assign)(newBounds,snappedNewBounds),newBounds}},{"../../../command/CommandInterceptor":182,inherits:366,"min-dash":572}],238:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=SpaceToolBehavior;var HIGH_PRIORITY=2e3;function SpaceToolBehavior(eventBus,gridSnapping){eventBus.on(["spaceTool.move","spaceTool.end"],HIGH_PRIORITY,function(event){var snapped,context=event.context;context.initialized&&("x"===context.axis?(snapped=gridSnapping.snapValue(event.dx),event.x=event.x+snapped-event.dx,event.dx=snapped):(snapped=gridSnapping.snapValue(event.dy),event.y=event.y+snapped-event.dy,event.dy=snapped))})}SpaceToolBehavior.$inject=["eventBus","gridSnapping"]},{}],239:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _ResizeBehavior2=_interopRequireDefault(require("./ResizeBehavior")),_SpaceToolBehavior2=_interopRequireDefault(require("./SpaceToolBehavior"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__init__:["gridSnappingResizeBehavior","gridSnappingSpaceToolBehavior"],gridSnappingResizeBehavior:["type",_ResizeBehavior2.default],gridSnappingSpaceToolBehavior:["type",_SpaceToolBehavior2.default]}},{"./ResizeBehavior":237,"./SpaceToolBehavior":238}],240:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _GridSnapping2=_interopRequireDefault(require("./GridSnapping")),_behavior2=_interopRequireDefault(require("./behavior"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_behavior2.default],__init__:["gridSnapping"],gridSnapping:["type",_GridSnapping2.default]}},{"./GridSnapping":235,"./behavior":239}],241:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};exports.default=HandTool;var _Mouse=require("../../util/Mouse"),_KeyboardUtil=require("../../features/keyboard/KeyboardUtil"),HIGH_PRIORITY=1500;function HandTool(eventBus,canvas,dragging,injector,toolManager){this._dragging=dragging;var self=this,keyboard=injector.get("keyboard",!1);toolManager.registerTool("hand",{tool:"hand",dragging:"hand.move"}),eventBus.on("element.mousedown",HIGH_PRIORITY,function(event){if((0,_Mouse.hasPrimaryModifier)(event))return this.activateMove(event.originalEvent),!1},this),keyboard&&keyboard.addListener(HIGH_PRIORITY,function(e){function activateMove(event){self.activateMove(event),window.removeEventListener("mousemove",activateMove)}isSpace(e.keyEvent)&&(self.isActive()||(window.addEventListener("mousemove",activateMove),keyboard.addListener(HIGH_PRIORITY,function deactivateMove(e){isSpace(e.keyEvent)&&(window.removeEventListener("mousemove",activateMove),keyboard.removeListener(deactivateMove,"keyboard.keyup"),dragging.cancel())},"keyboard.keyup")))},"keyboard.keydown"),eventBus.on("hand.end",function(event){var target=event.originalEvent.target;if(!(event.hover||target instanceof SVGElement))return!1;eventBus.once("hand.ended",function(){this.activateMove(event.originalEvent,{reactivate:!0})},this)},this),eventBus.on("hand.move.move",function(event){var scale=canvas.viewbox().scale;canvas.scroll({dx:event.dx*scale,dy:event.dy*scale})}),eventBus.on("hand.move.end",function(event){var reactivate=event.context.reactivate;return!(0,_Mouse.hasPrimaryModifier)(event)&&reactivate&&eventBus.once("hand.move.ended",function(event){this.activateHand(event.originalEvent,!0,!0)},this),!1},this)}function isSpace(keyEvent){return(0,_KeyboardUtil.isKey)(" ",keyEvent)}HandTool.$inject=["eventBus","canvas","dragging","injector","toolManager"],HandTool.prototype.activateMove=function(event,autoActivate,context){"object"===(void 0===autoActivate?"undefined":_typeof(autoActivate))&&(context=autoActivate,autoActivate=!1),this._dragging.init(event,"hand.move",{autoActivate:autoActivate,cursor:"grab",data:{context:context||{}}})},HandTool.prototype.activateHand=function(event,autoActivate,reactivate){this._dragging.init(event,"hand",{trapClick:!1,autoActivate:autoActivate,cursor:"grab",data:{context:{reactivate:reactivate}}})},HandTool.prototype.toggle=function(){this.isActive()?this._dragging.cancel():this.activateHand()},HandTool.prototype.isActive=function(){var context=this._dragging.context();return!!context&&/^(hand|hand\.move)$/.test(context.prefix)}},{"../../features/keyboard/KeyboardUtil":249,"../../util/Mouse":356}],242:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _toolManager2=_interopRequireDefault(require("../tool-manager")),_HandTool2=_interopRequireDefault(require("./HandTool"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_toolManager2.default],__init__:["handTool"],handTool:["type",_HandTool2.default]}},{"../tool-manager":323,"./HandTool":241}],243:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=InteractionEvents;var _minDash=require("min-dash"),_minDom=require("min-dom"),_Mouse=require("../../util/Mouse"),_tinySvg=require("tiny-svg"),_RenderUtil=require("../../util/RenderUtil");function allowAll(e){return!0}var LOW_PRIORITY=500;function InteractionEvents(eventBus,elementRegistry,styles){var self=this;function fire(type,event,element){var target,gfx;!function(localEventName,event){return!(ignoredFilters[localEventName]||_Mouse.isPrimaryButton)(event)}(type,event)&&(element?gfx=elementRegistry.getGraphics(element):(target=event.delegateTarget||event.target)&&(gfx=target,element=elementRegistry.get(gfx)),gfx&&element&&!1===eventBus.fire(type,{element:element,gfx:gfx,originalEvent:event})&&(event.stopPropagation(),event.preventDefault()))}var handlers={};function mouseHandler(localEventName){return handlers[localEventName]}var bindings={click:"element.click",contextmenu:"element.contextmenu",dblclick:"element.dblclick",mousedown:"element.mousedown",mousemove:"element.mousemove",mouseover:"element.hover",mouseout:"element.out",mouseup:"element.mouseup"},ignoredFilters={"element.contextmenu":allowAll};var ELEMENT_SELECTOR="svg, .djs-element";function registerEvent(node,event,localEvent,ignoredFilter){var handler=handlers[localEvent]=function(event){fire(localEvent,event)};ignoredFilter&&(ignoredFilters[localEvent]=ignoredFilter),handler.$delegate=_minDom.delegate.bind(node,ELEMENT_SELECTOR,event,handler)}function unregisterEvent(node,event,localEvent){var handler=mouseHandler(localEvent);handler&&_minDom.delegate.unbind(node,event,handler.$delegate)}eventBus.on("canvas.destroy",function(event){!function(svg){(0,_minDash.forEach)(bindings,function(val,key){unregisterEvent(svg,key,val)})}(event.svg)}),eventBus.on("canvas.init",function(event){!function(svg){(0,_minDash.forEach)(bindings,function(val,key){registerEvent(svg,key,val)})}(event.svg)}),eventBus.on(["shape.added","connection.added"],function(event){var element=event.element,gfx=event.gfx;eventBus.fire("interactionEvents.createHit",{element:element,gfx:gfx})}),eventBus.on(["shape.changed","connection.changed"],LOW_PRIORITY,function(event){var element=event.element,gfx=event.gfx;eventBus.fire("interactionEvents.updateHit",{element:element,gfx:gfx})}),eventBus.on("interactionEvents.createHit",LOW_PRIORITY,function(event){var element=event.element,gfx=event.gfx;self.createDefaultHit(element,gfx)}),eventBus.on("interactionEvents.updateHit",function(event){var element=event.element,gfx=event.gfx;self.updateDefaultHit(element,gfx)});var STROKE_HIT_STYLE=createHitStyle("djs-hit djs-hit-stroke"),CLICK_STROKE_HIT_STYLE=createHitStyle("djs-hit djs-hit-click-stroke"),HIT_TYPES={all:createHitStyle("djs-hit djs-hit-all"),"click-stroke":CLICK_STROKE_HIT_STYLE,stroke:STROKE_HIT_STYLE};function createHitStyle(classNames,attrs){return attrs=(0,_minDash.assign)({stroke:"white",strokeWidth:15},attrs||{}),styles.cls(classNames,["no-fill","no-border"],attrs)}function applyStyle(hit,type){var attrs=HIT_TYPES[type];if(!attrs)throw new Error("invalid hit type <"+type+">");return(0,_tinySvg.attr)(hit,attrs),hit}function appendHit(gfx,hit){(0,_tinySvg.append)(gfx,hit)}this.removeHits=function(gfx){var hits=(0,_minDom.queryAll)(".djs-hit",gfx);(0,_minDash.forEach)(hits,_tinySvg.remove)},this.createDefaultHit=function(element,gfx){var boxType,waypoints=element.waypoints,isFrame=element.isFrame;return waypoints?this.createWaypointsHit(gfx,waypoints):(boxType=isFrame?"stroke":"all",this.createBoxHit(gfx,boxType,{width:element.width,height:element.height}))},this.createWaypointsHit=function(gfx,waypoints){var hit=(0,_RenderUtil.createLine)(waypoints);return applyStyle(hit,"stroke"),appendHit(gfx,hit),hit},this.createBoxHit=function(gfx,type,attrs){attrs=(0,_minDash.assign)({x:0,y:0},attrs);var hit=(0,_tinySvg.create)("rect");return applyStyle(hit,type),(0,_tinySvg.attr)(hit,attrs),appendHit(gfx,hit),hit},this.updateDefaultHit=function(element,gfx){var hit=(0,_minDom.query)(".djs-hit",gfx);if(hit)return element.waypoints?(0,_RenderUtil.updateLine)(hit,element.waypoints):(0,_tinySvg.attr)(hit,{width:element.width,height:element.height}),hit},this.fire=fire,this.triggerMouseEvent=function(eventName,event,targetElement){var localEventName=bindings[eventName];if(!localEventName)throw new Error("unmapped DOM event name <"+eventName+">");return fire(localEventName,event,targetElement)},this.mouseHandler=mouseHandler,this.registerEvent=registerEvent,this.unregisterEvent=unregisterEvent}InteractionEvents.$inject=["eventBus","elementRegistry","styles"]},{"../../util/Mouse":356,"../../util/RenderUtil":360,"min-dash":572,"min-dom":573,"tiny-svg":584}],244:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_InteractionEvents=require("./InteractionEvents"),_InteractionEvents2=(obj=_InteractionEvents)&&obj.__esModule?obj:{default:obj};exports.default={__init__:["interactionEvents"],interactionEvents:["type",_InteractionEvents2.default]}},{"./InteractionEvents":243}],245:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=KeyboardMoveSelection;var _minDash=require("min-dash"),DEFAULT_CONFIG={moveSpeed:1,moveSpeedAccelerated:10},HIGHER_PRIORITY=1500,KEY_TO_DIRECTION={ArrowLeft:"left",Left:"left",ArrowUp:"up",Up:"up",ArrowRight:"right",Right:"right",ArrowDown:"down",Down:"down"},DIRECTIONS_DELTA={left:function(speed){return{x:-speed,y:0}},up:function(speed){return{x:0,y:-speed}},right:function(speed){return{x:speed,y:0}},down:function(speed){return{x:0,y:speed}}};function KeyboardMoveSelection(config,keyboard,modeling,rules,selection){var self=this;this._config=(0,_minDash.assign)({},DEFAULT_CONFIG,config||{}),keyboard.addListener(HIGHER_PRIORITY,function(event){var keyEvent=event.keyEvent,direction=KEY_TO_DIRECTION[keyEvent.key];if(direction&&!keyboard.isCmd(keyEvent)){var accelerated=keyboard.isShift(keyEvent);return self.moveSelection(direction,accelerated),!0}}),this.moveSelection=function(direction,accelerated){var selectedElements=selection.get();if(selectedElements.length){var speed=this._config[accelerated?"moveSpeedAccelerated":"moveSpeed"],delta=DIRECTIONS_DELTA[direction](speed);rules.allowed("elements.move",{shapes:selectedElements})&&modeling.moveElements(selectedElements,delta)}}}KeyboardMoveSelection.$inject=["config.keyboardMoveSelection","keyboard","modeling","rules","selection"]},{"min-dash":572}],246:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _keyboard2=_interopRequireDefault(require("../keyboard")),_selection2=_interopRequireDefault(require("../selection")),_KeyboardMoveSelection2=_interopRequireDefault(require("./KeyboardMoveSelection"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_keyboard2.default,_selection2.default],__init__:["keyboardMoveSelection"],keyboardMoveSelection:["type",_KeyboardMoveSelection2.default]}},{"../keyboard":250,"../selection":311,"./KeyboardMoveSelection":245}],247:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Keyboard;var _minDash=require("min-dash"),_minDom=require("min-dom"),_KeyboardUtil=require("./KeyboardUtil");function Keyboard(config,eventBus){var self=this;this._config=config||{},this._eventBus=eventBus,this._keydownHandler=this._keydownHandler.bind(this),this._keyupHandler=this._keyupHandler.bind(this),eventBus.on("diagram.destroy",function(){self._fire("destroy"),self.unbind()}),eventBus.on("diagram.init",function(){self._fire("init")}),eventBus.on("attach",function(){config&&config.bindTo&&self.bind(config.bindTo)}),eventBus.on("detach",function(){self.unbind()})}Keyboard.$inject=["config.keyboard","eventBus"],Keyboard.prototype._keydownHandler=function(event){this._keyHandler(event,"keyboard.keydown")},Keyboard.prototype._keyupHandler=function(event){this._keyHandler(event,"keyboard.keyup")},Keyboard.prototype._keyHandler=function(event,type){if(!function(target){return target&&((0,_minDom.matches)(target,"input, textarea")||"true"===target.contentEditable)}(event.target)){var context={keyEvent:event};this._eventBus.fire(type||"keyboard.keydown",context)&&event.preventDefault()}},Keyboard.prototype.bind=function(node){this.unbind(),this._node=node,_minDom.event.bind(node,"keydown",this._keydownHandler,!0),_minDom.event.bind(node,"keyup",this._keyupHandler,!0),this._fire("bind")},Keyboard.prototype.getBinding=function(){return this._node},Keyboard.prototype.unbind=function(){var node=this._node;node&&(this._fire("unbind"),_minDom.event.unbind(node,"keydown",this._keydownHandler,!0),_minDom.event.unbind(node,"keyup",this._keyupHandler,!0)),this._node=null},Keyboard.prototype._fire=function(event){this._eventBus.fire("keyboard."+event,{node:this._node})},Keyboard.prototype.addListener=function(priority,listener,type){(0,_minDash.isFunction)(priority)&&(type=listener,listener=priority,priority=1e3),this._eventBus.on(type||"keyboard.keydown",priority,listener)},Keyboard.prototype.removeListener=function(listener,type){this._eventBus.off(type||"keyboard.keydown",listener)},Keyboard.prototype.hasModifier=_KeyboardUtil.hasModifier,Keyboard.prototype.isCmd=_KeyboardUtil.isCmd,Keyboard.prototype.isShift=_KeyboardUtil.isShift,Keyboard.prototype.isKey=_KeyboardUtil.isKey},{"./KeyboardUtil":249,"min-dash":572,"min-dom":573}],248:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=KeyboardBindings;var _KeyboardUtil=require("./KeyboardUtil"),LOW_PRIORITY=500;function KeyboardBindings(eventBus,keyboard){var self=this;eventBus.on("editorActions.init",LOW_PRIORITY,function(event){var editorActions=event.editorActions;self.registerBindings(keyboard,editorActions)})}KeyboardBindings.$inject=["eventBus","keyboard"],KeyboardBindings.prototype.registerBindings=function(keyboard,editorActions){function addListener(action,fn){editorActions.isRegistered(action)&&keyboard.addListener(fn)}addListener("undo",function(context){var event=context.keyEvent;if((0,_KeyboardUtil.isCmd)(event)&&!(0,_KeyboardUtil.isShift)(event)&&(0,_KeyboardUtil.isKey)(["z","Z"],event))return editorActions.trigger("undo"),!0}),addListener("redo",function(context){var event=context.keyEvent;if((0,_KeyboardUtil.isCmd)(event)&&((0,_KeyboardUtil.isKey)(["y","Y"],event)||(0,_KeyboardUtil.isKey)(["z","Z"],event)&&(0,_KeyboardUtil.isShift)(event)))return editorActions.trigger("redo"),!0}),addListener("copy",function(context){var event=context.keyEvent;if((0,_KeyboardUtil.isCmd)(event)&&(0,_KeyboardUtil.isKey)(["c","C"],event))return editorActions.trigger("copy"),!0}),addListener("paste",function(context){var event=context.keyEvent;if((0,_KeyboardUtil.isCmd)(event)&&(0,_KeyboardUtil.isKey)(["v","V"],event))return editorActions.trigger("paste"),!0}),addListener("stepZoom",function(context){var event=context.keyEvent;if((0,_KeyboardUtil.isKey)(["+","Add"],event)&&(0,_KeyboardUtil.isCmd)(event))return editorActions.trigger("stepZoom",{value:1}),!0}),addListener("stepZoom",function(context){var event=context.keyEvent;if((0,_KeyboardUtil.isKey)(["-","Subtract"],event)&&(0,_KeyboardUtil.isCmd)(event))return editorActions.trigger("stepZoom",{value:-1}),!0}),addListener("zoom",function(context){var event=context.keyEvent;if((0,_KeyboardUtil.isKey)("0",event)&&(0,_KeyboardUtil.isCmd)(event))return editorActions.trigger("zoom",{value:1}),!0}),addListener("removeSelection",function(context){var event=context.keyEvent;if((0,_KeyboardUtil.isKey)(["Delete","Del"],event))return editorActions.trigger("removeSelection"),!0})}},{"./KeyboardUtil":249}],249:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.hasModifier=function(event){return event.ctrlKey||event.metaKey||event.shiftKey||event.altKey},exports.isCmd=function(event){if(event.altKey)return!1;return event.ctrlKey||event.metaKey},exports.isKey=function(keys,event){return-1<(keys=(0,_minDash.isArray)(keys)?keys:[keys]).indexOf(event.key)},exports.isShift=function(event){return event.shiftKey};var _minDash=require("min-dash")},{"min-dash":572}],250:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _Keyboard2=_interopRequireDefault(require("./Keyboard")),_KeyboardBindings2=_interopRequireDefault(require("./KeyboardBindings"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__init__:["keyboard","keyboardBindings"],keyboard:["type",_Keyboard2.default],keyboardBindings:["type",_KeyboardBindings2.default]}},{"./Keyboard":247,"./KeyboardBindings":248}],251:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=LabelSupport;var _minDash=require("min-dash"),_inherits2=_interopRequireDefault(require("inherits")),_Collections=require("../../util/Collections"),_Removal=require("../../util/Removal"),_CommandInterceptor2=_interopRequireDefault(require("../../command/CommandInterceptor"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var LOW_PRIORITY=250,HIGH_PRIORITY=1400;function LabelSupport(injector,eventBus,modeling){_CommandInterceptor2.default.call(this,eventBus);var movePreview=injector.get("movePreview",!1);eventBus.on("shape.move.start",HIGH_PRIORITY,function(e){var context=e.context,shapes=context.shapes,validatedShapes=context.validatedShapes;context.shapes=removeLabels(shapes),context.validatedShapes=removeLabels(validatedShapes)}),movePreview&&eventBus.on("shape.move.start",LOW_PRIORITY,function(e){var context=e.context,shapes=context.shapes,labels=[];(0,_minDash.forEach)(shapes,function(element){(0,_minDash.forEach)(element.labels,function(label){label.hidden||-1!==context.shapes.indexOf(label)||labels.push(label),element.labelTarget&&labels.push(element)})}),(0,_minDash.forEach)(labels,function(label){movePreview.makeDraggable(context,label,!0)})}),this.preExecuted("elements.move",HIGH_PRIORITY,function(e){var closure=e.context.closure,enclosedElements=closure.enclosedElements,enclosedLabels=[];(0,_minDash.forEach)(enclosedElements,function(element){(0,_minDash.forEach)(element.labels,function(label){enclosedElements[label.id]||enclosedLabels.push(label)})}),closure.addAll(enclosedLabels)}),this.preExecute(["connection.delete","shape.delete"],function(e){var context=e.context,element=context.connection||context.shape;(0,_Removal.saveClear)(element.labels,function(label){modeling.removeShape(label,{nested:!0})})}),this.execute("shape.delete",function(e){var context=e.context,shape=context.shape,labelTarget=shape.labelTarget;labelTarget&&(context.labelTargetIndex=(0,_Collections.indexOf)(labelTarget.labels,shape),context.labelTarget=labelTarget,shape.labelTarget=null)}),this.revert("shape.delete",function(e){var context=e.context,shape=context.shape,labelTarget=context.labelTarget,labelTargetIndex=context.labelTargetIndex;labelTarget&&((0,_Collections.add)(labelTarget.labels,shape,labelTargetIndex),shape.labelTarget=labelTarget)})}function removeLabels(elements){return(0,_minDash.filter)(elements,function(element){return-1===elements.indexOf(element.labelTarget)})}(0,_inherits2.default)(LabelSupport,_CommandInterceptor2.default),LabelSupport.$inject=["injector","eventBus","modeling"]},{"../../command/CommandInterceptor":182,"../../util/Collections":346,"../../util/Removal":359,inherits:366,"min-dash":572}],252:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_LabelSupport=require("./LabelSupport"),_LabelSupport2=(obj=_LabelSupport)&&obj.__esModule?obj:{default:obj};exports.default={__init__:["labelSupport"],labelSupport:["type",_LabelSupport2.default]}},{"./LabelSupport":251}],253:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=LassoTool;var _minDash=require("min-dash"),_Elements=require("../../util/Elements"),_Mouse=require("../../util/Mouse"),_tinySvg=require("tiny-svg");function LassoTool(eventBus,canvas,dragging,elementRegistry,selection,toolManager){this._selection=selection,this._dragging=dragging;var self=this,visuals_create=function(context){var frame,container=canvas.getDefaultLayer();frame=context.frame=(0,_tinySvg.create)("rect"),(0,_tinySvg.attr)(frame,{class:"djs-lasso-overlay",width:1,height:1,x:0,y:0}),(0,_tinySvg.append)(container,frame)},visuals_update=function(context){var frame=context.frame,bbox=context.bbox;(0,_tinySvg.attr)(frame,{x:bbox.x,y:bbox.y,width:bbox.width,height:bbox.height})},visuals_remove=function(context){context.frame&&(0,_tinySvg.remove)(context.frame)};toolManager.registerTool("lasso",{tool:"lasso.selection",dragging:"lasso"}),eventBus.on("lasso.selection.end",function(event){var target=event.originalEvent.target;(event.hover||target instanceof SVGElement)&&eventBus.once("lasso.selection.ended",function(){self.activateLasso(event.originalEvent,!0)})}),eventBus.on("lasso.end",function(event){var bbox=toBBox(event),elements=elementRegistry.filter(function(element){return element});self.select(elements,bbox)}),eventBus.on("lasso.start",function(event){var context=event.context;context.bbox=toBBox(event),visuals_create(context)}),eventBus.on("lasso.move",function(event){var context=event.context;context.bbox=toBBox(event),visuals_update(context)}),eventBus.on("lasso.cleanup",function(event){var context=event.context;visuals_remove(context)}),eventBus.on("element.mousedown",1500,function(event){if((0,_Mouse.hasSecondaryModifier)(event))return self.activateLasso(event.originalEvent),!0})}function toBBox(event){var start={x:event.x-event.dx,y:event.y-event.dy},end={x:event.x,y:event.y};return start.x<=end.x&&start.ystart:/n|w/.test(direction)?waypoint[relevantAxis]');return parentNode.insertBefore(root,parentNode.firstChild),root}(canvas.getContainer()),this._init()}function setPosition(el,x,y){(0,_minDash.assign)(el.style,{left:x+"px",top:y+"px"})}function setVisible(el,visible){el.style.display=!1===visible?"none":""}function setTransform(el,transform){el.style["transform-origin"]="top left",["","-ms-","-webkit-"].forEach(function(prefix){el.style[prefix+"transform"]=transform})}Overlays.$inject=["config.overlays","eventBus","canvas","elementRegistry"],Overlays.prototype.get=function(search){if((0,_minDash.isString)(search)&&(search={id:search}),(0,_minDash.isString)(search.element)&&(search.element=this._elementRegistry.get(search.element)),search.element){var container=this._getOverlayContainer(search.element,!0);return container?search.type?(0,_minDash.filter)(container.overlays,(0,_minDash.matchPattern)({type:search.type})):container.overlays.slice():[]}return search.type?(0,_minDash.filter)(this._overlays,(0,_minDash.matchPattern)({type:search.type})):search.id?this._overlays[search.id]:null},Overlays.prototype.add=function(element,type,overlay){if((0,_minDash.isObject)(type)&&(overlay=type,type=null),element.id||(element=this._elementRegistry.get(element)),!overlay.position)throw new Error("must specifiy overlay position");if(!overlay.html)throw new Error("must specifiy overlay html");if(!element)throw new Error("invalid element specified");var id=this._ids.next();return overlay=(0,_minDash.assign)({},this._overlayDefaults,overlay,{id:id,type:type,element:element,html:overlay.html}),this._addOverlay(overlay),id},Overlays.prototype.remove=function(filter){var overlays=this.get(filter)||[];(0,_minDash.isArray)(overlays)||(overlays=[overlays]);var self=this;(0,_minDash.forEach)(overlays,function(overlay){var container=self._getOverlayContainer(overlay.element,!0);if(overlay&&((0,_minDom.remove)(overlay.html),(0,_minDom.remove)(overlay.htmlContainer),delete overlay.htmlContainer,delete overlay.element,delete self._overlays[overlay.id]),container){var idx=container.overlays.indexOf(overlay);-1!==idx&&container.overlays.splice(idx,1)}})},Overlays.prototype.show=function(){setVisible(this._overlayRoot)},Overlays.prototype.hide=function(){setVisible(this._overlayRoot,!1)},Overlays.prototype.clear=function(){this._overlays={},this._overlayContainers=[],(0,_minDom.clear)(this._overlayRoot)},Overlays.prototype._updateOverlayContainer=function(container){var element=container.element,html=container.html,x=element.x,y=element.y;if(element.waypoints){var bbox=(0,_Elements.getBBox)(element);x=bbox.x,y=bbox.y}setPosition(html,x,y),(0,_minDom.attr)(container.html,"data-container-id",element.id)},Overlays.prototype._updateOverlay=function(overlay){var width,height,position=overlay.position,htmlContainer=overlay.htmlContainer,element=overlay.element,left=position.left,top=position.top;void 0!==position.right&&(width=element.waypoints?(0,_Elements.getBBox)(element).width:element.width,left=-1*position.right+width);void 0!==position.bottom&&(height=element.waypoints?(0,_Elements.getBBox)(element).height:element.height,top=-1*position.bottom+height);setPosition(htmlContainer,left||0,top||0)},Overlays.prototype._createOverlayContainer=function(element){var html=(0,_minDom.domify)('
');this._overlayRoot.appendChild(html);var container={html:html,element:element,overlays:[]};return this._updateOverlayContainer(container),this._overlayContainers.push(container),container},Overlays.prototype._updateRoot=function(viewbox){var scale=viewbox.scale||1,matrix="matrix("+[scale,0,0,scale,-1*viewbox.x*scale,-1*viewbox.y*scale].join(",")+")";setTransform(this._overlayRoot,matrix)},Overlays.prototype._getOverlayContainer=function(element,raw){var container=(0,_minDash.find)(this._overlayContainers,function(c){return c.element===element});return container||raw?container:this._createOverlayContainer(element)},Overlays.prototype._addOverlay=function(overlay){var htmlContainer,overlayContainer,id=overlay.id,element=overlay.element,html=overlay.html;html.get&&html.constructor.prototype.jquery&&(html=html.get(0)),(0,_minDash.isString)(html)&&(html=(0,_minDom.domify)(html)),overlayContainer=this._getOverlayContainer(element),(htmlContainer=(0,_minDom.domify)('
')).appendChild(html),overlay.type&&(0,_minDom.classes)(htmlContainer).add("djs-overlay-"+overlay.type),overlay.htmlContainer=htmlContainer,overlayContainer.overlays.push(overlay),overlayContainer.html.appendChild(htmlContainer),this._overlays[id]=overlay,this._updateOverlay(overlay),this._updateOverlayVisibilty(overlay,this._canvas.viewbox())},Overlays.prototype._updateOverlayVisibilty=function(overlay,viewbox){var show=overlay.show,minZoom=show&&show.minZoom,maxZoom=show&&show.maxZoom,htmlContainer=overlay.htmlContainer,visible=!0;show&&(((0,_minDash.isDefined)(minZoom)&&minZoom>viewbox.scale||(0,_minDash.isDefined)(maxZoom)&&maxZoommaxScale&&(scale=(1/viewbox.scale||1)*maxScale)),(0,_minDash.isDefined)(scale)&&(transform="scale("+scale+","+scale+")"),setTransform(htmlContainer,transform)},Overlays.prototype._updateOverlaysVisibilty=function(viewbox){var self=this;(0,_minDash.forEach)(this._overlays,function(overlay){self._updateOverlayVisibilty(overlay,viewbox)})},Overlays.prototype._init=function(){var eventBus=this._eventBus,self=this;eventBus.on("canvas.viewbox.changing",function(event){self.hide()}),eventBus.on("canvas.viewbox.changed",function(event){!function(viewbox){self._updateRoot(viewbox),self._updateOverlaysVisibilty(viewbox),self.show()}(event.viewbox)}),eventBus.on(["shape.remove","connection.remove"],function(e){var element=e.element,overlays=self.get({element:element});(0,_minDash.forEach)(overlays,function(o){self.remove(o.id)});var container=self._getOverlayContainer(element);if(container){(0,_minDom.remove)(container.html);var i=self._overlayContainers.indexOf(container);-1!==i&&self._overlayContainers.splice(i,1)}}),eventBus.on("element.changed",500,function(e){var element=e.element,container=self._getOverlayContainer(element,!0);container&&((0,_minDash.forEach)(container.overlays,function(overlay){self._updateOverlay(overlay)}),self._updateOverlayContainer(container))}),eventBus.on("element.marker.update",function(e){var container=self._getOverlayContainer(e.element,!0);container&&(0,_minDom.classes)(container.html)[e.add?"add":"remove"](e.marker)}),eventBus.on("diagram.clear",this.clear,this)}},{"../../util/Elements":348,"../../util/IdGenerator":353,"min-dash":572,"min-dom":573}],289:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_Overlays=require("./Overlays"),_Overlays2=(obj=_Overlays)&&obj.__esModule?obj:{default:obj};exports.default={__init__:["overlays"],overlays:["type",_Overlays2.default]}},{"./Overlays":288}],290:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Palette;var _minDash=require("min-dash"),_minDom=require("min-dom");function Palette(eventBus,canvas){this._eventBus=eventBus,this._canvas=canvas;var self=this;eventBus.on("tool-manager.update",function(event){var tool=event.tool;self.updateToolHighlight(tool)}),eventBus.on("i18n.changed",function(){self._update()}),eventBus.on("diagram.init",function(){self._diagramInitialized=!0,self._rebuild()})}function addPaletteEntries(entries,provider){var entriesOrUpdater=provider.getPaletteEntries();return(0,_minDash.isFunction)(entriesOrUpdater)?entriesOrUpdater(entries):((0,_minDash.forEach)(entriesOrUpdater,function(entry,id){entries[id]=entry}),entries)}Palette.$inject=["eventBus","canvas"],Palette.prototype.registerProvider=function(priority,provider){provider||(provider=priority,priority=1e3),this._eventBus.on("palette.getProviders",priority,function(event){event.providers.push(provider)}),this._rebuild()},Palette.prototype.getEntries=function(){return this._getProviders().reduce(addPaletteEntries,{})},Palette.prototype._rebuild=function(){this._diagramInitialized&&this._getProviders().length&&(this._container||this._init(),this._update())},Palette.prototype._init=function(){var self=this,eventBus=this._eventBus,parentContainer=this._getParentContainer(),container=this._container=(0,_minDom.domify)(Palette.HTML_MARKUP);parentContainer.appendChild(container),_minDom.delegate.bind(container,".djs-palette-toggle, .entry","click",function(event){var target=event.delegateTarget;if((0,_minDom.matches)(target,".djs-palette-toggle"))return self.toggle();self.trigger("click",event)}),_minDom.event.bind(container,"mousedown",function(event){event.stopPropagation()}),_minDom.delegate.bind(container,".entry","dragstart",function(event){self.trigger("dragstart",event)}),eventBus.on("canvas.resized",this._layoutChanged,this),eventBus.fire("palette.create",{container:container})},Palette.prototype._getProviders=function(id){var event=this._eventBus.createEvent({type:"palette.getProviders",providers:[]});return this._eventBus.fire(event),event.providers},Palette.prototype._toggleState=function(state){state=state||{};var twoColumn,parent=this._getParentContainer(),container=this._container,eventBus=this._eventBus,cls=(0,_minDom.classes)(container);twoColumn="twoColumn"in state?state.twoColumn:this._needsCollapse(parent.clientHeight,this._entries||{}),cls.toggle("two-column",twoColumn),"open"in state&&cls.toggle("open",state.open),eventBus.fire("palette.changed",{twoColumn:twoColumn,open:this.isOpen()})},Palette.prototype._update=function(){var entriesContainer=(0,_minDom.query)(".djs-palette-entries",this._container),entries=this._entries=this.getEntries();(0,_minDom.clear)(entriesContainer),(0,_minDash.forEach)(entries,function(entry,id){var grouping=entry.group||"default",container=(0,_minDom.query)("[data-group="+grouping+"]",entriesContainer);container||(container=(0,_minDom.domify)('
'),entriesContainer.appendChild(container));var html=entry.html||(entry.separator?'
':'
'),control=(0,_minDom.domify)(html);container.appendChild(control),entry.separator||((0,_minDom.attr)(control,"data-action",id),entry.title&&(0,_minDom.attr)(control,"title",entry.title),entry.className&&function(element,classNames){var classes=(0,_minDom.classes)(element);((0,_minDash.isArray)(classNames)?classNames:classNames.split(/\s+/g)).forEach(function(cls){classes.add(cls)})}(control,entry.className),entry.imageUrl&&control.appendChild((0,_minDom.domify)('')))}),this.open()},Palette.prototype.trigger=function(action,event,autoActivate){var entry,handler,originalEvent,entries=this._entries,button=event.delegateTarget||event.target;if(!button)return event.preventDefault();(entry=entries[(0,_minDom.attr)(button,"data-action")])&&(handler=entry.action,originalEvent=event.originalEvent||event,(0,_minDash.isFunction)(handler)?"click"===action&&handler(originalEvent,autoActivate):handler[action]&&handler[action](originalEvent,autoActivate),event.preventDefault())},Palette.prototype._layoutChanged=function(){this._toggleState({})},Palette.prototype._needsCollapse=function(availableHeight,entries){return availableHeight<50+46*Object.keys(entries).length},Palette.prototype.close=function(){this._toggleState({open:!1,twoColumn:!1})},Palette.prototype.open=function(){this._toggleState({open:!0})},Palette.prototype.toggle=function(open){this.isOpen()?this.close():this.open()},Palette.prototype.isActiveTool=function(tool){return tool&&this._activeTool===tool},Palette.prototype.updateToolHighlight=function(name){var entriesContainer,toolsContainer;this._toolsContainer||(entriesContainer=(0,_minDom.query)(".djs-palette-entries",this._container),this._toolsContainer=(0,_minDom.query)("[data-group=tools]",entriesContainer)),toolsContainer=this._toolsContainer,(0,_minDash.forEach)(toolsContainer.children,function(tool){var actionName=tool.getAttribute("data-action");if(actionName){var toolClasses=(0,_minDom.classes)(tool);actionName=actionName.replace("-tool",""),toolClasses.contains("entry")&&actionName===name?toolClasses.add("highlighted-entry"):toolClasses.remove("highlighted-entry")}})},Palette.prototype.isOpen=function(){return(0,_minDom.classes)(this._container).has("open")},Palette.prototype._getParentContainer=function(){return this._canvas.getContainer()},Palette.HTML_MARKUP='
'},{"min-dash":572,"min-dom":573}],291:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_Palette=require("./Palette"),_Palette2=(obj=_Palette)&&obj.__esModule?obj:{default:obj};exports.default={__init__:["palette"],palette:["type",_Palette2.default]}},{"./Palette":290}],292:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=PopupMenu;var _minDash=require("min-dash"),_minDom=require("min-dom"),CLOSE_EVENTS=["contextPad.close","canvas.viewbox.changing","commandStack.changed"];function PopupMenu(config,eventBus,canvas){var scale=(0,_minDash.isDefined)(config&&config.scale)?config.scale:{min:1,max:1.5};this._config={scale:scale},this._eventBus=eventBus,this._canvas=canvas,this._providers={},this._current={}}PopupMenu.$inject=["config.popupMenu","eventBus","canvas"],PopupMenu.prototype.registerProvider=function(id,priority,provider){provider||(provider=priority,priority=1e3),this._eventBus.on("popupMenu.getProviders."+id,priority,function(event){event.providers.push(provider)})},PopupMenu.prototype.isEmpty=function(element,providerId){if(!element)throw new Error("element parameter is missing");if(!providerId)throw new Error("providerId parameter is missing");var providers=this._getProviders(providerId);if(!providers)return!0;var entries=this._getEntries(element,providers),headerEntries=this._getHeaderEntries(element,providers),hasEntries=0<(0,_minDash.size)(entries),hasHeaderEntries=headerEntries&&0<(0,_minDash.size)(headerEntries);return!hasEntries&&!hasHeaderEntries},PopupMenu.prototype.open=function(element,id,position){var providers=this._getProviders(id);if(!element)throw new Error("Element is missing");if(!providers||!providers.length)throw new Error("No registered providers for: "+id);if(!position)throw new Error("the position argument is missing");this.isOpen()&&this.close(),this._emit("open");var current=this._current={className:id,element:element,position:position},entries=this._getEntries(element,providers),headerEntries=this._getHeaderEntries(element,providers);current.entries=(0,_minDash.assign)({},entries,headerEntries),current.container=this._createContainer(),(0,_minDash.size)(headerEntries)&¤t.container.appendChild(this._createEntries(headerEntries,"djs-popup-header")),(0,_minDash.size)(entries)&¤t.container.appendChild(this._createEntries(entries,"djs-popup-body"));var parent=this._canvas.getContainer();this._attachContainer(current.container,parent,position.cursor),this._bindAutoClose()},PopupMenu.prototype.close=function(){this.isOpen()&&(this._emit("close"),this._unbindAutoClose(),(0,_minDom.remove)(this._current.container),this._current.container=null)},PopupMenu.prototype.isOpen=function(){return!!this._current.container},PopupMenu.prototype.trigger=function(event){event.preventDefault();var element=event.delegateTarget||event.target,entryId=(0,_minDom.attr)(element,"data-id"),entry=this._getEntry(entryId);if(entry.action)return entry.action.call(null,event,entry)},PopupMenu.prototype._getProviders=function(id){var event=this._eventBus.createEvent({type:"popupMenu.getProviders."+id,providers:[]});return this._eventBus.fire(event),event.providers},PopupMenu.prototype._getEntries=function(element,providers){var entries={};return(0,_minDash.forEach)(providers,function(provider){if(provider.getPopupMenuEntries){var entriesOrUpdater=provider.getPopupMenuEntries(element);(0,_minDash.isFunction)(entriesOrUpdater)?entries=entriesOrUpdater(entries):(0,_minDash.forEach)(entriesOrUpdater,function(entry,id){entries[id]=entry})}else(0,_minDash.forEach)(provider.getEntries(element),function(entry){var id=entry.id;if(!id)throw new Error("every entry must have the id property set");entries[id]=(0,_minDash.omit)(entry,["id"])})}),entries},PopupMenu.prototype._getHeaderEntries=function(element,providers){var entries={};return(0,_minDash.forEach)(providers,function(provider){if(provider.getPopupMenuHeaderEntries){var entriesOrUpdater=provider.getPopupMenuHeaderEntries(element);(0,_minDash.isFunction)(entriesOrUpdater)?entries=entriesOrUpdater(entries):(0,_minDash.forEach)(entriesOrUpdater,function(entry,id){entries[id]=entry})}else{if(!provider.getHeaderEntries)return;(0,_minDash.forEach)(provider.getHeaderEntries(element),function(entry){var id=entry.id;if(!id)throw new Error("every entry must have the id property set");entries[id]=(0,_minDash.omit)(entry,["id"])})}}),entries},PopupMenu.prototype._getEntry=function(entryId){var entry=this._current.entries[entryId];if(!entry)throw new Error("entry not found");return entry},PopupMenu.prototype._emit=function(eventName){this._eventBus.fire("popupMenu."+eventName)},PopupMenu.prototype._createContainer=function(){var container=(0,_minDom.domify)('
'),position=this._current.position,className=this._current.className;return(0,_minDash.assign)(container.style,{position:"absolute",left:position.x+"px",top:position.y+"px",visibility:"hidden"}),(0,_minDom.classes)(container).add(className),container},PopupMenu.prototype._attachContainer=function(container,parent,cursor){var self=this;_minDom.delegate.bind(container,".entry","click",function(event){self.trigger(event)}),this._updateScale(container),parent.appendChild(container),cursor&&this._assureIsInbounds(container,cursor)},PopupMenu.prototype._updateScale=function(container){var minScale,maxScale,zoom=this._canvas.zoom(),scaleConfig=this._config.scale,scale=zoom;!0!==scaleConfig&&(maxScale=!1===scaleConfig?minScale=1:(minScale=scaleConfig.min,scaleConfig.max),(0,_minDash.isDefined)(minScale)&&zoomclientRect.width&&(overAxis.x=!0),containerY+containerHeight>clientRect.height&&(overAxis.y=!0),overAxis.x&&overAxis.y?(left=cursorPosition_x-containerWidth+"px",top=cursorPosition_y-containerHeight+"px"):overAxis.x?(left=cursorPosition_x-containerWidth+"px",top=cursorPosition_y+"px"):overAxis.y&&cursorPosition_y"),self=this;return(0,_minDom.classes)(entriesContainer).add(className),(0,_minDash.forEach)(entries,function(entry,id){var entryContainer=self._createEntry(entry,id);entriesContainer.appendChild(entryContainer)}),entriesContainer},PopupMenu.prototype._createEntry=function(entry,id){var entryContainer=(0,_minDom.domify)("
"),entryClasses=(0,_minDom.classes)(entryContainer);if(entryClasses.add("entry"),entry.className&&entry.className.split(" ").forEach(function(className){entryClasses.add(className)}),(0,_minDom.attr)(entryContainer,"data-id",id),entry.label){var label=(0,_minDom.domify)("");label.textContent=entry.label,entryContainer.appendChild(label)}return entry.imageUrl&&entryContainer.appendChild((0,_minDom.domify)('')),!0===entry.active&&entryClasses.add("active"),!0===entry.disabled&&entryClasses.add("disabled"),entry.title&&(entryContainer.title=entry.title),entryContainer},PopupMenu.prototype._bindAutoClose=function(){this._eventBus.once(CLOSE_EVENTS,this.close,this)},PopupMenu.prototype._unbindAutoClose=function(){this._eventBus.off(CLOSE_EVENTS,this.close,this)}},{"min-dash":572,"min-dom":573}],293:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_PopupMenu=require("./PopupMenu"),_PopupMenu2=(obj=_PopupMenu)&&obj.__esModule?obj:{default:obj};exports.default={__init__:["popupMenu"],popupMenu:["type",_PopupMenu2.default]}},{"./PopupMenu":292}],294:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=PreviewSupport;var _minDash=require("min-dash"),_tinySvg=require("tiny-svg"),_minDom=require("min-dom"),_GraphicsUtil=require("../../util/GraphicsUtil"),MARKER_TYPES=["marker-start","marker-mid","marker-end"],NODES_CAN_HAVE_MARKER=["circle","ellipse","line","path","polygon","polyline","rect"];function PreviewSupport(elementRegistry,eventBus,canvas,styles){this._elementRegistry=elementRegistry,this._canvas=canvas,this._styles=styles,this._clonedMarkers={};var self=this;eventBus.on("drag.cleanup",function(){(0,_minDash.forEach)(self._clonedMarkers,function(clonedMarker){(0,_tinySvg.remove)(clonedMarker)}),self._clonedMarkers={}})}PreviewSupport.$inject=["elementRegistry","eventBus","canvas","styles"],PreviewSupport.prototype.getGfx=function(element){return this._elementRegistry.getGraphics(element)},PreviewSupport.prototype.addDragger=function(element,group,gfx){gfx=gfx||this.getGfx(element);var dragger=(0,_tinySvg.clone)(gfx),bbox=gfx.getBoundingClientRect();return this._cloneMarkers((0,_GraphicsUtil.getVisual)(dragger)),(0,_tinySvg.attr)(dragger,this._styles.cls("djs-dragger",[],{x:bbox.top,y:bbox.left})),(0,_tinySvg.append)(group,dragger),dragger},PreviewSupport.prototype.addFrame=function(shape,group){var frame=(0,_tinySvg.create)("rect",{class:"djs-resize-overlay",width:shape.width,height:shape.height,x:shape.x,y:shape.y});return(0,_tinySvg.append)(group,frame),frame},PreviewSupport.prototype._cloneMarkers=function(gfx){var self=this;if(gfx.childNodes)for(var i=0;i'+(0,_EscapeUtil.escapeHTML)(t.matched)+"":htmlText+=(0,_EscapeUtil.escapeHTML)(t.normal)}),""!==htmlText?htmlText:null}(tokens),childNode=(0,_minDom.domify)(template);childNode.innerHTML=text,parentNode.appendChild(childNode)}SearchPad.$inject=["canvas","eventBus","overlays","selection"],SearchPad.prototype._bindEvents=function(){var self=this;function listen(el,selector,type,fn){self._eventMaps.push({el:el,type:type,listener:_minDom.delegate.bind(el,selector,type,fn)})}listen(document,"html","click",function(e){self.close()}),listen(this._container,SearchPad.INPUT_SELECTOR,"click",function(e){e.stopPropagation(),e.delegateTarget.focus()}),listen(this._container,SearchPad.RESULT_SELECTOR,"mouseover",function(e){e.stopPropagation(),self._scrollToNode(e.delegateTarget),self._preselect(e.delegateTarget)}),listen(this._container,SearchPad.RESULT_SELECTOR,"click",function(e){e.stopPropagation(),self._select(e.delegateTarget)}),listen(this._container,SearchPad.INPUT_SELECTOR,"keydown",function(e){38===e.keyCode&&e.preventDefault(),40===e.keyCode&&e.preventDefault()}),listen(this._container,SearchPad.INPUT_SELECTOR,"keyup",function(e){if(27===e.keyCode)return self.close();if(13!==e.keyCode)return 38===e.keyCode?self._scrollToDirection(!0):40===e.keyCode?self._scrollToDirection():void(37!==e.keyCode&&39!==e.keyCode&&self._search(e.delegateTarget.value));var selected=self._getCurrentResult();return selected?self._select(selected):self.close()})},SearchPad.prototype._unbindEvents=function(){this._eventMaps.forEach(function(m){_minDom.delegate.unbind(m.el,m.type,m.listener)})},SearchPad.prototype._search=function(pattern){var self=this;if(this._clearResults(),pattern&&""!==pattern){var searchResults=this._searchProvider.find(pattern);if(searchResults.length){searchResults.forEach(function(result){var id=result.element.id,node=self._createResultNode(result,id);self._results[id]={element:result.element,node:node}});var node=(0,_minDom.query)(SearchPad.RESULT_SELECTOR,this._resultsContainer);this._scrollToNode(node),this._preselect(node)}}},SearchPad.prototype._scrollToDirection=function(previous){var selected=this._getCurrentResult();if(selected){var node=previous?selected.previousElementSibling:selected.nextElementSibling;node&&(this._scrollToNode(node),this._preselect(node))}},SearchPad.prototype._scrollToNode=function(node){if(node&&node!==this._getCurrentResult()){var nodeOffset=node.offsetTop,containerScroll=this._resultsContainer.scrollTop,bottomScroll=nodeOffset-this._resultsContainer.clientHeight+node.clientHeight;nodeOffset
'}}((0,_Elements.getBBox)(element));this._overlayId=this._overlays.add(element,overlay)}},SearchPad.CONTAINER_SELECTOR=".djs-search-container",SearchPad.INPUT_SELECTOR=".djs-search-input input",SearchPad.RESULTS_CONTAINER_SELECTOR=".djs-search-results",SearchPad.RESULT_SELECTOR=".djs-search-result",SearchPad.RESULT_SELECTED_SELECTOR="."+(SearchPad.RESULT_SELECTED_CLASS="djs-search-result-selected"),SearchPad.RESULT_ID_ATTRIBUTE="data-result-id",SearchPad.RESULT_HIGHLIGHT_CLASS="djs-search-highlight",SearchPad.OVERLAY_CLASS="djs-search-overlay",SearchPad.BOX_HTML='
',SearchPad.RESULT_HTML='
',SearchPad.RESULT_PRIMARY_HTML='
',SearchPad.RESULT_SECONDARY_HTML='

'},{"../../util/Elements":348,"../../util/EscapeUtil":349,"min-dom":573}],307:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _overlays2=_interopRequireDefault(require("../overlays")),_selection2=_interopRequireDefault(require("../selection")),_SearchPad2=_interopRequireDefault(require("./SearchPad"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_overlays2.default,_selection2.default],searchPad:["type",_SearchPad2.default]}},{"../overlays":289,"../selection":311,"./SearchPad":306}],308:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Selection;var _minDash=require("min-dash");function Selection(eventBus){this._eventBus=eventBus,this._selectedElements=[];var self=this;eventBus.on(["shape.remove","connection.remove"],function(e){var element=e.element;self.deselect(element)}),eventBus.on(["diagram.clear"],function(e){self.select(null)})}Selection.$inject=["eventBus"],Selection.prototype.deselect=function(element){var selectedElements=this._selectedElements,idx=selectedElements.indexOf(element);if(-1!==idx){var oldSelection=selectedElements.slice();selectedElements.splice(idx,1),this._eventBus.fire("selection.changed",{oldSelection:oldSelection,newSelection:selectedElements})}},Selection.prototype.get=function(){return this._selectedElements},Selection.prototype.isSelected=function(element){return-1!==this._selectedElements.indexOf(element)},Selection.prototype.select=function(elements,add){var selectedElements=this._selectedElements,oldSelection=selectedElements.slice();(0,_minDash.isArray)(elements)||(elements=elements?[elements]:[]),add?(0,_minDash.forEach)(elements,function(element){-1===selectedElements.indexOf(element)&&selectedElements.push(element)}):this._selectedElements=selectedElements=elements.slice(),this._eventBus.fire("selection.changed",{oldSelection:oldSelection,newSelection:selectedElements})}},{"min-dash":572}],309:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=SelectionBehavior;var _Mouse=require("../../util/Mouse"),_minDash=require("min-dash");function SelectionBehavior(eventBus,selection,canvas,elementRegistry){eventBus.on("create.end",500,function(e){var context=e.context,canExecute=context.canExecute,elements=context.elements,autoSelect=(context.hints||{}).autoSelect;if(canExecute){if(!1===autoSelect)return;(0,_minDash.isArray)(autoSelect)?selection.select(autoSelect):selection.select(elements.filter(isShown))}}),eventBus.on("connect.end",500,function(e){e.context.canExecute&&e.context.hover&&selection.select(e.context.hover)}),eventBus.on("shape.move.end",500,function(e){var previousSelection=e.previousSelection||[],shape=elementRegistry.get(e.context.shape.id);(0,_minDash.find)(previousSelection,function(selectedShape){return shape.id===selectedShape.id})||selection.select(shape)}),eventBus.on("element.click",function(event){var element=event.element;element===canvas.getRootElement()&&(element=null);var isSelected=selection.isSelected(element),isMultiSelect=1abs(event.dy)?"x":"y",delta=event["d"+axis],start=event[axis]-delta;if(abs(delta)<5)return!1;delta<0&&(delta*=-1),(0,_Mouse.hasPrimaryModifier)(event)&&(delta*=-1);var direction=(0,_SpaceUtil.getDirection)(axis,delta),root=this._canvas.getRootElement(),children=(0,_Elements.selfAndAllChildren)(root,!0),elements=this.calculateAdjustments(children,axis,delta,start),spaceToolConstraints=function(elements,axis,direction,start,minDimensions){var movingShapes=elements.movingShapes,resizingShapes=elements.resizingShapes;if(!resizingShapes.length)return;var min,max,spaceToolConstraints={};return(0,_minDash.forEach)(resizingShapes,function(resizingShape){var minOrMax,nonMovingResizingChildrenBBox,movingChildrenBBox,resizingShapeBBox=(0,_LayoutUtil.asTRBL)(resizingShape),nonMovingResizingChildren=(0,_minDash.filter)(resizingShape.children,function(child){return!(isConnection(child)||isLabel(child)||includes(movingShapes,child)||includes(resizingShapes,child))}),movingChildren=(0,_minDash.filter)(resizingShape.children,function(child){return!isConnection(child)&&!isLabel(child)&&includes(movingShapes,child)});nonMovingResizingChildren.length&&(nonMovingResizingChildrenBBox=addPadding((0,_LayoutUtil.asTRBL)((0,_Elements.getBBox)(nonMovingResizingChildren))),minOrMax=start-resizingShapeBBox[DIRECTION_TO_TRBL[direction]]+nonMovingResizingChildrenBBox[DIRECTION_TO_TRBL[direction]],"n"===direction?spaceToolConstraints.bottom=max=(0,_minDash.isNumber)(max)?Math.min(max,minOrMax):minOrMax:"w"===direction?spaceToolConstraints.right=max=(0,_minDash.isNumber)(max)?Math.min(max,minOrMax):minOrMax:"s"===direction?spaceToolConstraints.top=min=(0,_minDash.isNumber)(min)?Math.max(min,minOrMax):minOrMax:"e"===direction&&(spaceToolConstraints.left=min=(0,_minDash.isNumber)(min)?Math.max(min,minOrMax):minOrMax)),movingChildren.length&&(movingChildrenBBox=addPadding((0,_LayoutUtil.asTRBL)((0,_Elements.getBBox)(movingChildren))),minOrMax=start-movingChildrenBBox[DIRECTION_TO_TRBL[DIRECTION_TO_OPPOSITE[direction]]]+resizingShapeBBox[DIRECTION_TO_TRBL[DIRECTION_TO_OPPOSITE[direction]]],"n"===direction?spaceToolConstraints.bottom=max=(0,_minDash.isNumber)(max)?Math.min(max,minOrMax):minOrMax:"w"===direction?spaceToolConstraints.right=max=(0,_minDash.isNumber)(max)?Math.min(max,minOrMax):minOrMax:"s"===direction?spaceToolConstraints.top=min=(0,_minDash.isNumber)(min)?Math.max(min,minOrMax):minOrMax:"e"===direction&&(spaceToolConstraints.left=min=(0,_minDash.isNumber)(min)?Math.max(min,minOrMax):minOrMax));var resizingShapeMinDimensions=minDimensions&&minDimensions[resizingShape.id];resizingShapeMinDimensions&&("n"===direction?(minOrMax=start+resizingShape[AXIS_TO_DIMENSION[axis]]-resizingShapeMinDimensions[AXIS_TO_DIMENSION[axis]],spaceToolConstraints.bottom=max=(0,_minDash.isNumber)(max)?Math.min(max,minOrMax):minOrMax):"w"===direction?(minOrMax=start+resizingShape[AXIS_TO_DIMENSION[axis]]-resizingShapeMinDimensions[AXIS_TO_DIMENSION[axis]],spaceToolConstraints.right=max=(0,_minDash.isNumber)(max)?Math.min(max,minOrMax):minOrMax):"s"===direction?(minOrMax=start-resizingShape[AXIS_TO_DIMENSION[axis]]+resizingShapeMinDimensions[AXIS_TO_DIMENSION[axis]],spaceToolConstraints.top=min=(0,_minDash.isNumber)(min)?Math.max(min,minOrMax):minOrMax):"e"===direction&&(minOrMax=start-resizingShape[AXIS_TO_DIMENSION[axis]]+resizingShapeMinDimensions[AXIS_TO_DIMENSION[axis]],spaceToolConstraints.left=min=(0,_minDash.isNumber)(min)?Math.max(min,minOrMax):minOrMax))}),spaceToolConstraints}(elements,axis,direction,start,this._eventBus.fire("spaceTool.getMinDimensions",{axis:axis,direction:direction,shapes:elements.resizingShapes,start:start}));return(0,_minDash.assign)(context,elements,{axis:axis,direction:direction,spaceToolConstraints:spaceToolConstraints,start:start}),(0,_Cursor.set)("resize-"+("x"==axis?"ew":"ns")),!0},SpaceTool.prototype.calculateAdjustments=function(elements,axis,delta,start){var rules=this._rules,movingShapes=[],resizingShapes=[];return(0,_minDash.forEach)(elements,function(element){if(element.parent&&!isConnection(element)){var shapeStart=element[axis],shapeEnd=shapeStart+element[AXIS_TO_DIMENSION[axis]];return 0');return parentNode.insertBefore(root,parentNode.firstChild),root}(canvas.getContainer());var self=this;_minDom.delegate.bind(this._tooltipRoot,tooltipSelector,"mousedown",function(event){event.stopPropagation()}),_minDom.delegate.bind(this._tooltipRoot,tooltipSelector,"mouseover",function(event){self.trigger("mouseover",event)}),_minDom.delegate.bind(this._tooltipRoot,tooltipSelector,"mouseout",function(event){self.trigger("mouseout",event)}),this._init()}Tooltips.$inject=["eventBus","canvas"],Tooltips.prototype.add=function(tooltip){if(!tooltip.position)throw new Error("must specifiy tooltip position");if(!tooltip.html)throw new Error("must specifiy tooltip html");var id=this._ids.next();return tooltip=(0,_minDash.assign)({},this._tooltipDefaults,tooltip,{id:id}),this._addTooltip(tooltip),tooltip.timeout&&this.setTimeout(tooltip),id},Tooltips.prototype.trigger=function(action,event){var node=event.delegateTarget||event.target,tooltip=this.get((0,_minDom.attr)(node,"data-tooltip-id"));tooltip&&("mouseover"===action&&tooltip.timeout&&this.clearTimeout(tooltip),"mouseout"===action&&tooltip.timeout&&(tooltip.timeout=1e3,this.setTimeout(tooltip)))},Tooltips.prototype.get=function(id){return"string"!=typeof id&&(id=id.id),this._tooltips[id]},Tooltips.prototype.clearTimeout=function(tooltip){if(tooltip=this.get(tooltip)){var removeTimer=tooltip.removeTimer;removeTimer&&(clearTimeout(removeTimer),tooltip.removeTimer=null)}},Tooltips.prototype.setTimeout=function(tooltip){if(tooltip=this.get(tooltip)){this.clearTimeout(tooltip);var self=this;tooltip.removeTimer=setTimeout(function(){self.remove(tooltip)},tooltip.timeout)}},Tooltips.prototype.remove=function(id){var tooltip=this.get(id);tooltip&&((0,_minDom.remove)(tooltip.html),(0,_minDom.remove)(tooltip.htmlContainer),delete tooltip.htmlContainer,delete this._tooltips[tooltip.id])},Tooltips.prototype.show=function(){setVisible(this._tooltipRoot)},Tooltips.prototype.hide=function(){setVisible(this._tooltipRoot,!1)},Tooltips.prototype._updateRoot=function(viewbox){var a=viewbox.scale||1,d=viewbox.scale||1,matrix="matrix("+a+",0,0,"+d+","+-1*viewbox.x*a+","+-1*viewbox.y*d+")";this._tooltipRoot.style.transform=matrix,this._tooltipRoot.style["-ms-transform"]=matrix},Tooltips.prototype._addTooltip=function(tooltip){var htmlContainer,id=tooltip.id,html=tooltip.html,tooltipRoot=this._tooltipRoot;html.get&&html.constructor.prototype.jquery&&(html=html.get(0)),(0,_minDash.isString)(html)&&(html=(0,_minDom.domify)(html)),(htmlContainer=(0,_minDom.domify)('
')).appendChild(html),tooltip.type&&(0,_minDom.classes)(htmlContainer).add("djs-tooltip-"+tooltip.type),tooltip.className&&(0,_minDom.classes)(htmlContainer).add(tooltip.className),tooltip.htmlContainer=htmlContainer,tooltipRoot.appendChild(htmlContainer),this._tooltips[id]=tooltip,this._updateTooltip(tooltip)},Tooltips.prototype._updateTooltip=function(tooltip){var position=tooltip.position;!function(el,x,y){(0,_minDash.assign)(el.style,{left:x+"px",top:y+"px"})}(tooltip.htmlContainer,position.x,position.y)},Tooltips.prototype._updateTooltipVisibilty=function(viewbox){(0,_minDash.forEach)(this._tooltips,function(tooltip){var show=tooltip.show,htmlContainer=tooltip.htmlContainer,visible=!0;show&&((show.minZoom>viewbox.scale||show.maxZoom=referenceOrientation.right,bottom=rectOrientation.top-padding.y>=referenceOrientation.bottom,left=rectOrientation.right+padding.x<=referenceOrientation.left,vertical=top?"top":bottom?"bottom":null,horizontal=left?"left":right?"right":null;return horizontal&&vertical?vertical+"-"+horizontal:horizontal||vertical||"intersect"},exports.getElementLineIntersection=function(elementPath,linePath,cropStart){var intersections=getIntersections(elementPath,linePath);{if(1===intersections.length)return roundPoint(intersections[0]);if(2===intersections.length&&(0,_Geometry.pointDistance)(intersections[0],intersections[1])<1)return roundPoint(intersections[0]);if(1: must be specified as : with start/end in { h,v,t,r,b,l }");if(isExplicitDirections(directions)){var startSegment=function(a,b,directions){return getSegmentBendpoints(a,b,directions)}(a,b,directions),endSegment=function(a,b,directions){var invertedSegment=getSegmentBendpoints(b,a,invertDirections(directions));return{waypoints:invertedSegment.waypoints.slice().reverse(),directions:invertDirections(invertedSegment.directions),turnNextDirections:invertedSegment.turnNextDirections}}(a,b,directions),midSegment=function(startSegment,endSegment){var startDirection=startSegment.directions.split(":")[1],endDirection=endSegment.directions.split(":")[0];startSegment.turnNextDirections&&(startDirection="h"==startDirection?"v":"h"),endSegment.turnNextDirections&&(endDirection="h"==endDirection?"v":"h");var directions=startDirection+":"+endDirection;return{waypoints:getBendpoints(startSegment.waypoints[startSegment.waypoints.length-1],endSegment.waypoints[0],directions),directions:directions}}(startSegment,endSegment);return[].concat(startSegment.waypoints,midSegment.waypoints,endSegment.waypoints)}return function(a,b,directions){var xmid=round((b.x-a.x)/2+a.x),ymid=round((b.y-a.y)/2+a.y);if("h:v"===directions)return[{x:b.x,y:a.y}];if("v:h"===directions)return[{x:a.x,y:b.y}];if("h:h"===directions)return[{x:xmid,y:a.y},{x:xmid,y:b.y}];if("v:v"===directions)return[{x:a.x,y:ymid},{x:b.x,y:ymid}];throw new Error("invalid directions: can only handle varians of [hv]:[hv]")}(a,b,directions)}function connectPoints(a,b,directions){var points=getBendpoints(a,b,directions);return points.unshift(a),points.push(b),withoutRedundantPoints(points)}function connectRectangles(source,target,start,end,hints){var preferredLayouts=hints&&hints.preferredLayouts||[],preferredLayout=(0,_minDash.without)(preferredLayouts,"straight")[0]||"h:h",threshold=ORIENTATION_THRESHOLD[preferredLayout]||0,orientation=(0,_LayoutUtil.getOrientation)(source,target,threshold),directions=function(orientation,defaultLayout){if(isExplicitDirections(defaultLayout))return defaultLayout;switch(orientation){case"intersect":return"t:t";case"top":case"bottom":return"v:v";case"left":case"right":return"h:h";default:return defaultLayout}}(orientation,preferredLayout);start=start||(0,_LayoutUtil.getMid)(source),end=end||(0,_LayoutUtil.getMid)(target);var directionSplit=directions.split(":");return connectPoints(getDockingPoint(start,source,directionSplit[0],function(orientation){return{top:"bottom",bottom:"top",left:"right",right:"left","top-left":"bottom-right","bottom-right":"top-left","top-right":"bottom-left","bottom-left":"top-right"}[orientation]}(orientation)),getDockingPoint(end,target,directionSplit[1],orientation),directions)}function isInRange(axis,a,b){return function(a,start,end){return start<=a&&a<=end}(a[axis],b[axis],b[axis]+b[{x:"width",y:"height"}[axis]])}function tryLayoutStraight(source,target,start,end,hints){var primaryAxis,orientation,axis={};return orientation=(0,_LayoutUtil.getOrientation)(source,target),/^(top|bottom|left|right)$/.test(orientation)?(/top|bottom/.test(orientation)&&(primaryAxis="x"),/left|right/.test(orientation)&&(primaryAxis="y"),"target"===hints.preserveDocking?isInRange(primaryAxis,end,source)?(axis[primaryAxis]=end[primaryAxis],[{x:void 0!==axis.x?axis.x:start.x,y:void 0!==axis.y?axis.y:start.y,original:{x:void 0!==axis.x?axis.x:start.x,y:void 0!==axis.y?axis.y:start.y}},{x:end.x,y:end.y}]):null:isInRange(primaryAxis,start,target)?(axis[primaryAxis]=start[primaryAxis],[{x:start.x,y:start.y},{x:void 0!==axis.x?axis.x:end.x,y:void 0!==axis.y?axis.y:end.y,original:{x:void 0!==axis.x?axis.x:end.x,y:void 0!==axis.y?axis.y:end.y}}]):null):null}function _tryRepairConnectionSide(moved,other,newDocking,points){if(function(points){return points.length<3||!(4")}function withoutRedundantPoints(waypoints){return waypoints.reduce(function(points,p,idx){var previous=points[points.length-1],next=waypoints[idx+1];return(0,_Geometry.pointsOnLine)(previous,next,p,0)||points.push(p),points},[])}},{"../util/Geometry":351,"./LayoutUtil":333,"min-dash":572}],335:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Base=Base,exports.Shape=Shape,exports.Root=Root,exports.Label=Label,exports.Connection=Connection,exports.create=function(type,attrs){var Type=types[type];if(Type)return(0,_minDash.assign)(new Type,attrs);throw new Error("unknown type: <"+type+">")};var _minDash=require("min-dash"),_inherits2=_interopRequireDefault(require("inherits")),_objectRefs2=_interopRequireDefault(require("object-refs"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var parentRefs=new _objectRefs2.default({name:"children",enumerable:!0,collection:!0},{name:"parent"}),labelRefs=new _objectRefs2.default({name:"labels",enumerable:!0,collection:!0},{name:"labelTarget"}),attacherRefs=new _objectRefs2.default({name:"attachers",collection:!0},{name:"host"}),outgoingRefs=new _objectRefs2.default({name:"outgoing",collection:!0},{name:"source"}),incomingRefs=new _objectRefs2.default({name:"incoming",collection:!0},{name:"target"});function Base(){Object.defineProperty(this,"businessObject",{writable:!0}),Object.defineProperty(this,"label",{get:function(){return this.labels[0]},set:function(newLabel){var label=this.label,labels=this.labels;!newLabel&&label?labels.remove(label):labels.add(newLabel,0)}}),parentRefs.bind(this,"parent"),labelRefs.bind(this,"labels"),outgoingRefs.bind(this,"outgoing"),incomingRefs.bind(this,"incoming")}function Shape(){Base.call(this),parentRefs.bind(this,"children"),attacherRefs.bind(this,"host"),attacherRefs.bind(this,"attachers")}function Root(){Shape.call(this)}function Label(){Shape.call(this),labelRefs.bind(this,"labelTarget")}function Connection(){Base.call(this),outgoingRefs.bind(this,"source"),incomingRefs.bind(this,"target")}(0,_inherits2.default)(Shape,Base),(0,_inherits2.default)(Root,Shape),(0,_inherits2.default)(Label,Shape),(0,_inherits2.default)(Connection,Base);var types={connection:Connection,shape:Shape,label:Label,root:Root}},{inherits:366,"min-dash":572,"object-refs":577}],336:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=KeyboardMove;var _minDash=require("min-dash"),DEFAULT_CONFIG={moveSpeed:50,moveSpeedAccelerated:200};function KeyboardMove(config,keyboard,canvas){var self=this;this._config=(0,_minDash.assign)({},DEFAULT_CONFIG,config||{}),keyboard.addListener(function(context){var event=context.keyEvent,config=self._config;if(!keyboard.isCmd(event))return;if(keyboard.isKey(["ArrowLeft","Left","ArrowUp","Up","ArrowDown","Down","ArrowRight","Right"],event)){var direction,speed=keyboard.isShift(event)?config.moveSpeedAccelerated:config.moveSpeed;switch(event.key){case"ArrowLeft":case"Left":direction="left";break;case"ArrowUp":case"Up":direction="up";break;case"ArrowRight":case"Right":direction="right";break;case"ArrowDown":case"Down":direction="down"}return self.moveCanvas({speed:speed,direction:direction}),!0}}),this.moveCanvas=function(opts){var dx=0,dy=0,actualSpeed=opts.speed/Math.min(Math.sqrt(canvas.viewbox().scale),1);switch(opts.direction){case"left":dx=actualSpeed;break;case"up":dy=actualSpeed;break;case"right":dx=-actualSpeed;break;case"down":dy=-actualSpeed}canvas.scroll({dx:dx,dy:dy})}}KeyboardMove.$inject=["config.keyboardMove","keyboard","canvas"]},{"min-dash":572}],337:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _keyboard2=_interopRequireDefault(require("../../features/keyboard")),_KeyboardMove2=_interopRequireDefault(require("./KeyboardMove"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_keyboard2.default],__init__:["keyboardMove"],keyboardMove:["type",_KeyboardMove2.default]}},{"../../features/keyboard":250,"./KeyboardMove":336}],338:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=MoveCanvas;var _Cursor=require("../../util/Cursor"),_ClickTrap=require("../../util/ClickTrap"),_PositionUtil=require("../../util/PositionUtil"),_minDom=require("min-dom"),_Event=require("../../util/Event"),THRESHOLD=15;function MoveCanvas(eventBus,canvas){var context;function handleMove(event){var start=context.start,position=(0,_Event.toPoint)(event),delta=(0,_PositionUtil.delta)(position,start);if(!context.dragging&&function(point){return Math.sqrt(Math.pow(point.x,2)+Math.pow(point.y,2))}(delta)>THRESHOLD&&(context.dragging=!0,(0,_ClickTrap.install)(eventBus),(0,_Cursor.set)("grab")),context.dragging){var lastPosition=context.last||context.start;delta=(0,_PositionUtil.delta)(position,lastPosition),canvas.scroll({dx:delta.x,dy:delta.y}),context.last=position}event.preventDefault()}function handleEnd(event){_minDom.event.unbind(document,"mousemove",handleMove),_minDom.event.unbind(document,"mouseup",handleEnd),context=null,(0,_Cursor.unset)()}eventBus.on("element.mousedown",500,function(e){return function(event){if((0,_minDom.closest)(event.target,".djs-draggable"))return;if(event.button||event.ctrlKey||event.shiftKey||event.altKey)return;return context={start:(0,_Event.toPoint)(event)},_minDom.event.bind(document,"mousemove",handleMove),_minDom.event.bind(document,"mouseup",handleEnd),!0}(e.originalEvent)})}MoveCanvas.$inject=["eventBus","canvas"]},{"../../util/ClickTrap":345,"../../util/Cursor":347,"../../util/Event":350,"../../util/PositionUtil":358,"min-dom":573}],339:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_MoveCanvas=require("./MoveCanvas"),_MoveCanvas2=(obj=_MoveCanvas)&&obj.__esModule?obj:{default:obj};exports.default={__init__:["moveCanvas"],moveCanvas:["type",_MoveCanvas2.default]}},{"./MoveCanvas":338}],340:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_touch=require("../../features/touch"),_touch2=(obj=_touch)&&obj.__esModule?obj:{default:obj};exports.default={__depends__:[_touch2.default]}},{"../../features/touch":328}],341:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ZoomScroll;var _minDom=require("min-dom"),_ZoomUtil=require("./ZoomUtil"),_Math=require("../../util/Math"),_minDash=require("min-dash"),sign=Math.sign||function(n){return 0<=n?1:-1},RANGE={min:.2,max:4},DEFAULT_SCALE=.75;function ZoomScroll(config,eventBus,canvas){config=config||{},this._enabled=!1,this._canvas=canvas,this._container=canvas._container,this._handleWheel=(0,_minDash.bind)(this._handleWheel,this),this._totalDelta=0,this._scale=config.scale||DEFAULT_SCALE;var self=this;eventBus.on("canvas.init",function(e){self._init(!1!==config.enabled)})}ZoomScroll.$inject=["config.zoomScroll","eventBus","canvas"],ZoomScroll.prototype.scroll=function(delta){this._canvas.scroll(delta)},ZoomScroll.prototype.reset=function(){this._canvas.zoom("fit-viewport")},ZoomScroll.prototype.zoom=function(delta,position){var stepSize=(0,_ZoomUtil.getStepSize)(RANGE,20);this._totalDelta+=delta,.1bbox.x&&(filteredElements[element.id]=element),!(0,_minDash.isNumber)(bbox.x)&&e.y>bbox.y&&(filteredElements[element.id]=element),e.x>bbox.x&&e.y>bbox.y&&((0,_minDash.isNumber)(bbox.width)&&(0,_minDash.isNumber)(bbox.height)&&e.width+e.x"']/g,function(match){return HTML_ESCAPE_MAP[match]})};var HTML_ESCAPE_MAP={"&":"&","<":"<",">":">",'"':""","'":"'"}},{"css.escape":176}],350:[function(require,module,exports){"use strict";function __stopPropagation(event){event&&"function"==typeof event.stopPropagation&&event.stopPropagation()}function getOriginal(event){return event.originalEvent||event.srcEvent}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getOriginal=getOriginal,exports.stopPropagation=function(event,immediate){__stopPropagation(event),__stopPropagation(getOriginal(event))},exports.toPoint=function(event){event.pointers&&event.pointers.length&&(event=event.pointers[0]);event.touches&&event.touches.length&&(event=event.touches[0]);return event?{x:event.clientX,y:event.clientY}:null}},{}],351:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.pointDistance=pointDistance,exports.pointsOnLine=function(p,q,r,accuracy){void 0===accuracy&&(accuracy=5);if(!p||!q||!r)return!1;var val=(q.x-p.x)*(r.y-p.y)-(q.y-p.y)*(r.x-p.x),dist=pointDistance(p,q);return Math.abs(val/dist)<=accuracy},exports.pointsAligned=function(a,b){var points;points=(0,_minDash.isArray)(a)?a:[a,b];if(pointsAlignedHorizontally(points))return"h";if(pointsAlignedVertically(points))return"v";return!1},exports.pointsAlignedHorizontally=pointsAlignedHorizontally,exports.pointsAlignedVertically=pointsAlignedVertically,exports.pointInRect=function(p,rect,tolerance){return tolerance=tolerance||0,p.x>rect.x-tolerance&&p.y>rect.y-tolerance&&p.xsum?line.width:sum},0),y=padding.top;"middle"===align.vertical&&(y+=(box.height-totalHeight)/2),y-=(lineHeight||layouted[0].height)/4;var textElement=(0,_tinySvg.create)("text");return(0,_tinySvg.attr)(textElement,style),(0,_minDash.forEach)(layouted,function(line){var x;switch(y+=lineHeight||line.height,align.horizontal){case"left":x=padding.left;break;case"right":x=(fitBox?maxLineWidth:maxWidth)-padding.right-line.width;break;default:x=Math.max(((fitBox?maxLineWidth:maxWidth)-line.width)/2+padding.left,0)}var tspan=(0,_tinySvg.create)("tspan");(0,_tinySvg.attr)(tspan,{x:x,y:y}),tspan.textContent=line.text,(0,_tinySvg.append)(textElement,tspan)}),(0,_tinySvg.remove)(helperText),{dimensions:{width:maxLineWidth,height:totalHeight},element:textElement}}},{"min-dash":572,"tiny-svg":584}],363:[function(require,module,exports){"use strict";var _typeof2="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var CLASS_PATTERN=/^class /;function isArray(obj){return"[object Array]"===Object.prototype.toString.call(obj)}function annotate(){var args=Array.prototype.slice.call(arguments);1===args.length&&isArray(args[0])&&(args=args[0]);var fn=args.pop();return fn.$inject=args,fn}var CONSTRUCTOR_ARGS=/constructor\s*[^(]*\(\s*([^)]*)\)/m,FN_ARGS=/^function\s*[^(]*\(\s*([^)]*)\)/m,FN_ARG=/\/\*([^*]*)\*\//m;function parse(fn){if("function"!=typeof fn)throw new Error('Cannot annotate "'+fn+'". Expected a function!');var match=fn.toString().match(function(fn){return CLASS_PATTERN.test(fn.toString())}(fn)?CONSTRUCTOR_ARGS:FN_ARGS);return match&&match[1]&&match[1].split(",").map(function(arg){return(match=arg.match(FN_ARG))?match[1].trim():arg.trim()})||[]}function Module(){var providers=[];this.factory=function(name,factory){return providers.push([name,"factory",factory]),this},this.value=function(name,value){return providers.push([name,"value",value]),this},this.type=function(name,type){return providers.push([name,"type",type]),this},this.forEach=function(iterator){providers.forEach(iterator)}}var _typeof="function"==typeof Symbol&&"symbol"===_typeof2(Symbol.iterator)?function(obj){return void 0===obj?"undefined":_typeof2(obj)}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":void 0===obj?"undefined":_typeof2(obj)};function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i ");return currentlyResolving.length=0,new Error(stack?msg+" (Resolving: "+stack+")":msg)},fnDef=function(fn,argument_1){var locals=1\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",log=window.console&&(window.console.warn||window.console.log);return log&&log.call(window.console,deprecationMessage,stack),method.apply(this,arguments)}}assign="function"!=typeof Object.assign?function(target){if(target===undefined||null===target)throw new TypeError("Cannot convert undefined or null to object");for(var output=Object(target),index=1;indexb[key]}):results.sort()),results}function prefixed(obj,property){for(var prefix,prop,camelProp=property[0].toUpperCase()+property.slice(1),i=0;iabs(overallVelocity.y)?overallVelocity.x:overallVelocity.y,input.scale=firstMultiple?function(start,end){return getDistance(end[0],end[1],PROPS_CLIENT_XY)/getDistance(start[0],start[1],PROPS_CLIENT_XY)}(firstMultiple.pointers,pointers):1,input.rotation=firstMultiple?function(start,end){return getAngle(end[1],end[0],PROPS_CLIENT_XY)+getAngle(start[1],start[0],PROPS_CLIENT_XY)}(firstMultiple.pointers,pointers):0,input.maxPointers=session.prevInput?input.pointers.length>session.prevInput.maxPointers?input.pointers.length:session.prevInput.maxPointers:input.pointers.length,function(session,input){var velocity,velocityX,velocityY,direction,last=session.lastInterval||input,deltaTime=input.timeStamp-last.timeStamp;if(input.eventType!=INPUT_CANCEL&&(COMPUTE_INTERVALabs(v.y)?v.x:v.y,direction=getDirection(deltaX,deltaY),session.lastInterval=input}else velocity=last.velocity,velocityX=last.velocityX,velocityY=last.velocityY,direction=last.direction;input.velocity=velocity,input.velocityX=velocityX,input.velocityY=velocityY,input.direction=direction}(session,input);var target=manager.element;hasParent(input.srcEvent.target,target)&&(target=input.srcEvent.target);input.target=target}(manager,input),manager.emit("hammer.input",input),manager.recognize(input),manager.session.prevInput=input}function simpleCloneInputData(input){for(var pointers=[],i=0;i=abs(y)?x<0?DIRECTION_LEFT:DIRECTION_RIGHT:y<0?DIRECTION_UP:DIRECTION_DOWN}function getDistance(p1,p2,props){var x=p2[(props=props||PROPS_XY)[0]]-p1[props[0]],y=p2[props[1]]-p1[props[1]];return Math.sqrt(x*x+y*y)}function getAngle(p1,p2,props){var x=p2[(props=props||PROPS_XY)[0]]-p1[props[0]],y=p2[props[1]]-p1[props[1]];return 180*Math.atan2(y,x)/Math.PI}Input.prototype={handler:function(){},init:function(){this.evEl&&addEventListeners(this.element,this.evEl,this.domHandler),this.evTarget&&addEventListeners(this.target,this.evTarget,this.domHandler),this.evWin&&addEventListeners(getWindowForElement(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&removeEventListeners(this.element,this.evEl,this.domHandler),this.evTarget&&removeEventListeners(this.target,this.evTarget,this.domHandler),this.evWin&&removeEventListeners(getWindowForElement(this.element),this.evWin,this.domHandler)}};var MOUSE_INPUT_MAP={mousedown:INPUT_START,mousemove:2,mouseup:INPUT_END},MOUSE_ELEMENT_EVENTS="mousedown",MOUSE_WINDOW_EVENTS="mousemove mouseup";function MouseInput(){this.evEl=MOUSE_ELEMENT_EVENTS,this.evWin=MOUSE_WINDOW_EVENTS,this.pressed=!1,Input.apply(this,arguments)}inherit(MouseInput,Input,{handler:function(ev){var eventType=MOUSE_INPUT_MAP[ev.type];eventType&INPUT_START&&0===ev.button&&(this.pressed=!0),2&eventType&&1!==ev.which&&(eventType=INPUT_END),this.pressed&&(eventType&INPUT_END&&(this.pressed=!1),this.callback(this.manager,eventType,{pointers:[ev],changedPointers:[ev],pointerType:"mouse",srcEvent:ev}))}});var POINTER_INPUT_MAP={pointerdown:INPUT_START,pointermove:2,pointerup:INPUT_END,pointercancel:INPUT_CANCEL,pointerout:INPUT_CANCEL},IE10_POINTER_TYPE_ENUM={2:"touch",3:"pen",4:"mouse",5:"kinect"},POINTER_ELEMENT_EVENTS="pointerdown",POINTER_WINDOW_EVENTS="pointermove pointerup pointercancel";function PointerEventInput(){this.evEl=POINTER_ELEMENT_EVENTS,this.evWin=POINTER_WINDOW_EVENTS,Input.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}window.MSPointerEvent&&!window.PointerEvent&&(POINTER_ELEMENT_EVENTS="MSPointerDown",POINTER_WINDOW_EVENTS="MSPointerMove MSPointerUp MSPointerCancel"),inherit(PointerEventInput,Input,{handler:function(ev){var store=this.store,removePointer=!1,eventTypeNormalized=ev.type.toLowerCase().replace("ms",""),eventType=POINTER_INPUT_MAP[eventTypeNormalized],pointerType=IE10_POINTER_TYPE_ENUM[ev.pointerType]||ev.pointerType,isTouch="touch"==pointerType,storeIndex=inArray(store,ev.pointerId,"pointerId");eventType&INPUT_START&&(0===ev.button||isTouch)?storeIndex<0&&(store.push(ev),storeIndex=store.length-1):eventType&(INPUT_END|INPUT_CANCEL)&&(removePointer=!0),storeIndex<0||(store[storeIndex]=ev,this.callback(this.manager,eventType,{pointers:store,changedPointers:[ev],pointerType:pointerType,srcEvent:ev}),removePointer&&store.splice(storeIndex,1))}});var SINGLE_TOUCH_INPUT_MAP={touchstart:INPUT_START,touchmove:2,touchend:INPUT_END,touchcancel:INPUT_CANCEL};function SingleTouchInput(){this.evTarget="touchstart",this.evWin="touchstart touchmove touchend touchcancel",this.started=!1,Input.apply(this,arguments)}inherit(SingleTouchInput,Input,{handler:function(ev){var type=SINGLE_TOUCH_INPUT_MAP[ev.type];if(type===INPUT_START&&(this.started=!0),this.started){var touches=function(ev,type){var all=toArray(ev.touches),changed=toArray(ev.changedTouches);type&(INPUT_END|INPUT_CANCEL)&&(all=uniqueArray(all.concat(changed),"identifier",!0));return[all,changed]}.call(this,ev,type);type&(INPUT_END|INPUT_CANCEL)&&touches[0].length-touches[1].length==0&&(this.started=!1),this.callback(this.manager,type,{pointers:touches[0],changedPointers:touches[1],pointerType:"touch",srcEvent:ev})}}});var TOUCH_INPUT_MAP={touchstart:INPUT_START,touchmove:2,touchend:INPUT_END,touchcancel:INPUT_CANCEL},TOUCH_TARGET_EVENTS="touchstart touchmove touchend touchcancel";function TouchInput(){this.evTarget=TOUCH_TARGET_EVENTS,this.targetIds={},Input.apply(this,arguments)}inherit(TouchInput,Input,{handler:function(ev){var type=TOUCH_INPUT_MAP[ev.type],touches=function(ev,type){var allTouches=toArray(ev.touches),targetIds=this.targetIds;if(type&(2|INPUT_START)&&1===allTouches.length)return targetIds[allTouches[0].identifier]=!0,[allTouches,allTouches];var i,targetTouches,changedTouches=toArray(ev.changedTouches),changedTargetTouches=[],target=this.target;if(targetTouches=allTouches.filter(function(touch){return hasParent(touch.target,target)}),type===INPUT_START)for(i=0;ioptions.threshold&&direction&options.direction},attrTest:function(input){return AttrRecognizer.prototype.attrTest.call(this,input)&&(2&this.state||!(2&this.state)&&this.directionTest(input))},emit:function(input){this.pX=input.deltaX,this.pY=input.deltaY;var direction=directionStr(input.direction);direction&&(input.additionalEvent=this.options.event+direction),this._super.emit.call(this,input)}}),inherit(PinchRecognizer,AttrRecognizer,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(input){return this._super.attrTest.call(this,input)&&(Math.abs(input.scale-1)>this.options.threshold||2&this.state)},emit:function(input){if(1!==input.scale){var inOut=input.scale<1?"in":"out";input.additionalEvent=this.options.event+inOut}this._super.emit.call(this,input)}}),inherit(PressRecognizer,Recognizer,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(input){var options=this.options,validPointers=input.pointers.length===options.pointers,validMovement=input.distanceoptions.time;if(this._input=input,!validMovement||!validPointers||input.eventType&(INPUT_END|INPUT_CANCEL)&&!validTime)this.reset();else if(input.eventType&INPUT_START)this.reset(),this._timer=setTimeoutContext(function(){this.state=8,this.tryEmit()},options.time,this);else if(input.eventType&INPUT_END)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(input){8===this.state&&(input&&input.eventType&INPUT_END?this.manager.emit(this.options.event+"up",input):(this._input.timeStamp=now(),this.manager.emit(this.options.event,this._input)))}}),inherit(RotateRecognizer,AttrRecognizer,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(input){return this._super.attrTest.call(this,input)&&(Math.abs(input.rotation)>this.options.threshold||2&this.state)}}),inherit(SwipeRecognizer,AttrRecognizer,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:DIRECTION_HORIZONTAL|DIRECTION_VERTICAL,pointers:1},getTouchAction:function(){return PanRecognizer.prototype.getTouchAction.call(this)},attrTest:function(input){var velocity,direction=this.options.direction;return direction&(DIRECTION_HORIZONTAL|DIRECTION_VERTICAL)?velocity=input.overallVelocity:direction&DIRECTION_HORIZONTAL?velocity=input.overallVelocityX:direction&DIRECTION_VERTICAL&&(velocity=input.overallVelocityY),this._super.attrTest.call(this,input)&&direction&input.offsetDirection&&input.distance>this.options.threshold&&input.maxPointers==this.options.pointers&&abs(velocity)>this.options.velocity&&input.eventType&INPUT_END},emit:function(input){var direction=directionStr(input.offsetDirection);direction&&this.manager.emit(this.options.event+direction,input),this.manager.emit(this.options.event,input)}}),inherit(TapRecognizer,Recognizer,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return["manipulation"]},process:function(input){var options=this.options,validPointers=input.pointers.length===options.pointers,validMovement=input.distance=Math.pow(2,bits)?hat(bits,base):res};hat.rack=function(bits,base,expandBy){var fn=function(data){var iters=0;do{if(10+~]|"+whitespace+")"+whitespace+"*"),rdescend=new RegExp(whitespace+"|>"),rpseudo=new RegExp(pseudos),ridentifier=new RegExp("^"+identifier+"$"),matchExpr={ID:new RegExp("^#("+identifier+")"),CLASS:new RegExp("^\\.("+identifier+")"),TAG:new RegExp("^("+identifier+"|[*])"),ATTR:new RegExp("^"+attributes),PSEUDO:new RegExp("^"+pseudos),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),bool:new RegExp("^(?:"+booleans+")$","i"),needsContext:new RegExp("^"+whitespace+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")},rhtml=/HTML$/i,rinputs=/^(?:input|select|textarea|button)$/i,rheader=/^h\d$/i,rnative=/^[^{]+\{\s*\[native \w/,rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,rsibling=/[+~]/,runescape=new RegExp("\\\\([\\da-f]{1,6}"+whitespace+"?|("+whitespace+")|.)","ig"),funescape=function(_,escaped,escapedWhitespace){var high="0x"+escaped-65536;return high!=high||escapedWhitespace?escaped:high<0?String.fromCharCode(65536+high):String.fromCharCode(high>>10|55296,1023&high|56320)},rcssescape=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,fcssescape=function(ch,asCodePoint){return asCodePoint?"\0"===ch?"�":ch.slice(0,-1)+"\\"+ch.charCodeAt(ch.length-1).toString(16)+" ":"\\"+ch},unloadHandler=function(){setDocument()},inDisabledFieldset=addCombinator(function(elem){return!0===elem.disabled&&"fieldset"===elem.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{push.apply(arr=slice.call(preferredDoc.childNodes),preferredDoc.childNodes),arr[preferredDoc.childNodes.length].nodeType}catch(e){push={apply:arr.length?function(target,els){push_native.apply(target,slice.call(els))}:function(target,els){for(var j=target.length,i=0;target[j++]=els[i++];);target.length=j-1}}}function Sizzle(selector,context,results,seed){var m,i,elem,nid,match,groups,newSelector,newContext=context&&context.ownerDocument,nodeType=context?context.nodeType:9;if(results=results||[],"string"!=typeof selector||!selector||1!==nodeType&&9!==nodeType&&11!==nodeType)return results;if(!seed&&((context?context.ownerDocument||context:preferredDoc)!==document&&setDocument(context),context=context||document,documentIsHTML)){if(11!==nodeType&&(match=rquickExpr.exec(selector)))if(m=match[1]){if(9===nodeType){if(!(elem=context.getElementById(m)))return results;if(elem.id===m)return results.push(elem),results}else if(newContext&&(elem=newContext.getElementById(m))&&contains(context,elem)&&elem.id===m)return results.push(elem),results}else{if(match[2])return push.apply(results,context.getElementsByTagName(selector)),results;if((m=match[3])&&support.getElementsByClassName&&context.getElementsByClassName)return push.apply(results,context.getElementsByClassName(m)),results}if(support.qsa&&!nonnativeSelectorCache[selector+" "]&&(!rbuggyQSA||!rbuggyQSA.test(selector))&&(1!==nodeType||"object"!==context.nodeName.toLowerCase())){if(newSelector=selector,newContext=context,1===nodeType&&rdescend.test(selector)){for((nid=context.getAttribute("id"))?nid=nid.replace(rcssescape,fcssescape):context.setAttribute("id",nid=expando),i=(groups=tokenize(selector)).length;i--;)groups[i]="#"+nid+" "+toSelector(groups[i]);newSelector=groups.join(","),newContext=rsibling.test(selector)&&testContext(context.parentNode)||context}try{return push.apply(results,newContext.querySelectorAll(newSelector)),results}catch(qsaError){nonnativeSelectorCache(selector,!0)}finally{nid===expando&&context.removeAttribute("id")}}}return select(selector.replace(rtrim,"$1"),context,results,seed)}function createCache(){var keys=[];return function cache(key,value){return keys.push(key+" ")>Expr.cacheLength&&delete cache[keys.shift()],cache[key+" "]=value}}function markFunction(fn){return fn[expando]=!0,fn}function assert(fn){var el=document.createElement("fieldset");try{return!!fn(el)}catch(e){return!1}finally{el.parentNode&&el.parentNode.removeChild(el),el=null}}function addHandle(attrs,handler){for(var arr=attrs.split("|"),i=arr.length;i--;)Expr.attrHandle[arr[i]]=handler}function siblingCheck(a,b){var cur=b&&a,diff=cur&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(diff)return diff;if(cur)for(;cur=cur.nextSibling;)if(cur===b)return-1;return a?1:-1}function createInputPseudo(type){return function(elem){return"input"===elem.nodeName.toLowerCase()&&elem.type===type}}function createButtonPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return("input"===name||"button"===name)&&elem.type===type}}function createDisabledPseudo(disabled){return function(elem){return"form"in elem?elem.parentNode&&!1===elem.disabled?"label"in elem?"label"in elem.parentNode?elem.parentNode.disabled===disabled:elem.disabled===disabled:elem.isDisabled===disabled||elem.isDisabled!==!disabled&&inDisabledFieldset(elem)===disabled:elem.disabled===disabled:"label"in elem&&elem.disabled===disabled}}function createPositionalPseudo(fn){return markFunction(function(argument){return argument=+argument,markFunction(function(seed,matches){for(var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;i--;)seed[j=matchIndexes[i]]&&(seed[j]=!(matches[j]=seed[j]))})})}function testContext(context){return context&&void 0!==context.getElementsByTagName&&context}for(i in support=Sizzle.support={},isXML=Sizzle.isXML=function(elem){var namespace=elem.namespaceURI,docElem=(elem.ownerDocument||elem).documentElement;return!rhtml.test(namespace||docElem&&docElem.nodeName||"HTML")},setDocument=Sizzle.setDocument=function(node){var hasCompare,subWindow,doc=node?node.ownerDocument||node:preferredDoc;return doc!==document&&9===doc.nodeType&&doc.documentElement&&(docElem=(document=doc).documentElement,documentIsHTML=!isXML(document),preferredDoc!==document&&(subWindow=document.defaultView)&&subWindow.top!==subWindow&&(subWindow.addEventListener?subWindow.addEventListener("unload",unloadHandler,!1):subWindow.attachEvent&&subWindow.attachEvent("onunload",unloadHandler)),support.attributes=assert(function(el){return el.className="i",!el.getAttribute("className")}),support.getElementsByTagName=assert(function(el){return el.appendChild(document.createComment("")),!el.getElementsByTagName("*").length}),support.getElementsByClassName=rnative.test(document.getElementsByClassName),support.getById=assert(function(el){return docElem.appendChild(el).id=expando,!document.getElementsByName||!document.getElementsByName(expando).length}),support.getById?(Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){return elem.getAttribute("id")===attrId}},Expr.find.ID=function(id,context){if(void 0!==context.getElementById&&documentIsHTML){var elem=context.getElementById(id);return elem?[elem]:[]}}):(Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node=void 0!==elem.getAttributeNode&&elem.getAttributeNode("id");return node&&node.value===attrId}},Expr.find.ID=function(id,context){if(void 0!==context.getElementById&&documentIsHTML){var node,i,elems,elem=context.getElementById(id);if(elem){if((node=elem.getAttributeNode("id"))&&node.value===id)return[elem];for(elems=context.getElementsByName(id),i=0;elem=elems[i++];)if((node=elem.getAttributeNode("id"))&&node.value===id)return[elem]}return[]}}),Expr.find.TAG=support.getElementsByTagName?function(tag,context){return void 0!==context.getElementsByTagName?context.getElementsByTagName(tag):support.qsa?context.querySelectorAll(tag):void 0}:function(tag,context){var elem,tmp=[],i=0,results=context.getElementsByTagName(tag);if("*"!==tag)return results;for(;elem=results[i++];)1===elem.nodeType&&tmp.push(elem);return tmp},Expr.find.CLASS=support.getElementsByClassName&&function(className,context){if(void 0!==context.getElementsByClassName&&documentIsHTML)return context.getElementsByClassName(className)},rbuggyMatches=[],rbuggyQSA=[],(support.qsa=rnative.test(document.querySelectorAll))&&(assert(function(el){docElem.appendChild(el).innerHTML="",el.querySelectorAll("[msallowcapture^='']").length&&rbuggyQSA.push("[*^$]="+whitespace+"*(?:''|\"\")"),el.querySelectorAll("[selected]").length||rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")"),el.querySelectorAll("[id~="+expando+"-]").length||rbuggyQSA.push("~="),el.querySelectorAll(":checked").length||rbuggyQSA.push(":checked"),el.querySelectorAll("a#"+expando+"+*").length||rbuggyQSA.push(".#.+[+~]")}),assert(function(el){el.innerHTML="";var input=document.createElement("input");input.setAttribute("type","hidden"),el.appendChild(input).setAttribute("name","D"),el.querySelectorAll("[name=d]").length&&rbuggyQSA.push("name"+whitespace+"*[*^$|!~]?="),2!==el.querySelectorAll(":enabled").length&&rbuggyQSA.push(":enabled",":disabled"),docElem.appendChild(el).disabled=!0,2!==el.querySelectorAll(":disabled").length&&rbuggyQSA.push(":enabled",":disabled"),el.querySelectorAll("*,:x"),rbuggyQSA.push(",.*:")})),(support.matchesSelector=rnative.test(matches=docElem.matches||docElem.webkitMatchesSelector||docElem.mozMatchesSelector||docElem.oMatchesSelector||docElem.msMatchesSelector))&&assert(function(el){support.disconnectedMatch=matches.call(el,"*"),matches.call(el,"[s!='']:x"),rbuggyMatches.push("!=",pseudos)}),rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|")),rbuggyMatches=rbuggyMatches.length&&new RegExp(rbuggyMatches.join("|")),hasCompare=rnative.test(docElem.compareDocumentPosition),contains=hasCompare||rnative.test(docElem.contains)?function(a,b){var adown=9===a.nodeType?a.documentElement:a,bup=b&&b.parentNode;return a===bup||!(!bup||1!==bup.nodeType||!(adown.contains?adown.contains(bup):a.compareDocumentPosition&&16&a.compareDocumentPosition(bup)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},sortOrder=hasCompare?function(a,b){if(a===b)return hasDuplicate=!0,0;var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;return compare||(1&(compare=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1)||!support.sortDetached&&b.compareDocumentPosition(a)===compare?a===document||a.ownerDocument===preferredDoc&&contains(preferredDoc,a)?-1:b===document||b.ownerDocument===preferredDoc&&contains(preferredDoc,b)?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0:4&compare?-1:1)}:function(a,b){if(a===b)return hasDuplicate=!0,0;var cur,i=0,aup=a.parentNode,bup=b.parentNode,ap=[a],bp=[b];if(!aup||!bup)return a===document?-1:b===document?1:aup?-1:bup?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0;if(aup===bup)return siblingCheck(a,b);for(cur=a;cur=cur.parentNode;)ap.unshift(cur);for(cur=b;cur=cur.parentNode;)bp.unshift(cur);for(;ap[i]===bp[i];)i++;return i?siblingCheck(ap[i],bp[i]):ap[i]===preferredDoc?-1:bp[i]===preferredDoc?1:0}),document},Sizzle.matches=function(expr,elements){return Sizzle(expr,null,null,elements)},Sizzle.matchesSelector=function(elem,expr){if((elem.ownerDocument||elem)!==document&&setDocument(elem),support.matchesSelector&&documentIsHTML&&!nonnativeSelectorCache[expr+" "]&&(!rbuggyMatches||!rbuggyMatches.test(expr))&&(!rbuggyQSA||!rbuggyQSA.test(expr)))try{var ret=matches.call(elem,expr);if(ret||support.disconnectedMatch||elem.document&&11!==elem.document.nodeType)return ret}catch(e){nonnativeSelectorCache(expr,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(match){return match[1]=match[1].replace(runescape,funescape),match[3]=(match[3]||match[4]||match[5]||"").replace(runescape,funescape),"~="===match[2]&&(match[3]=" "+match[3]+" "),match.slice(0,4)},CHILD:function(match){return match[1]=match[1].toLowerCase(),"nth"===match[1].slice(0,3)?(match[3]||Sizzle.error(match[0]),match[4]=+(match[4]?match[5]+(match[6]||1):2*("even"===match[3]||"odd"===match[3])),match[5]=+(match[7]+match[8]||"odd"===match[3])):match[3]&&Sizzle.error(match[0]),match},PSEUDO:function(match){var excess,unquoted=!match[6]&&match[2];return matchExpr.CHILD.test(match[0])?null:(match[3]?match[2]=match[4]||match[5]||"":unquoted&&rpseudo.test(unquoted)&&(excess=tokenize(unquoted,!0))&&(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)&&(match[0]=match[0].slice(0,excess),match[2]=unquoted.slice(0,excess)),match.slice(0,3))}},filter:{TAG:function(nodeNameSelector){var nodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();return"*"===nodeNameSelector?function(){return!0}:function(elem){return elem.nodeName&&elem.nodeName.toLowerCase()===nodeName}},CLASS:function(className){var pattern=classCache[className+" "];return pattern||(pattern=new RegExp("(^|"+whitespace+")"+className+"("+whitespace+"|$)"))&&classCache(className,function(elem){return pattern.test("string"==typeof elem.className&&elem.className||void 0!==elem.getAttribute&&elem.getAttribute("class")||"")})},ATTR:function(name,operator,check){return function(elem){var result=Sizzle.attr(elem,name);return null==result?"!="===operator:!operator||(result+="","="===operator?result===check:"!="===operator?result!==check:"^="===operator?check&&0===result.indexOf(check):"*="===operator?check&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function winnow(elements,qualifier,not){return isFunction(qualifier)?jQuery.grep(elements,function(elem,i){return!!qualifier.call(elem,i,elem)!==not}):qualifier.nodeType?jQuery.grep(elements,function(elem){return elem===qualifier!==not}):"string"!=typeof qualifier?jQuery.grep(elements,function(elem){return-1)[^>]*|#([\w-]+))$/;(jQuery.fn.init=function(selector,context,root){var match,elem;if(!selector)return this;if(root=root||rootjQuery,"string"!=typeof selector)return selector.nodeType?(this[0]=selector,this.length=1,this):isFunction(selector)?void 0!==root.ready?root.ready(selector):selector(jQuery):jQuery.makeArray(selector,this);if(!(match="<"===selector[0]&&">"===selector[selector.length-1]&&3<=selector.length?[null,selector,null]:rquickExpr.exec(selector))||!match[1]&&context)return!context||context.jquery?(context||root).find(selector):this.constructor(context).find(selector);if(match[1]){if(context=context instanceof jQuery?context[0]:context,jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,!0)),rsingleTag.test(match[1])&&jQuery.isPlainObject(context))for(match in context)isFunction(this[match])?this[match](context[match]):this.attr(match,context[match]);return this}return(elem=document.getElementById(match[2]))&&(this[0]=elem,this.length=1),this}).prototype=jQuery.fn,rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,guaranteedUnique={children:!0,contents:!0,next:!0,prev:!0};function sibling(cur,dir){for(;(cur=cur[dir])&&1!==cur.nodeType;);return cur}jQuery.fn.extend({has:function(target){var targets=jQuery(target,this),l=targets.length;return this.filter(function(){for(var i=0;i\x20\t\r\n\f]*)/i,rscriptType=/^$|^module$|\/(?:java|ecma)script/i,wrapMap={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function getAll(context,tag){var ret;return ret=void 0!==context.getElementsByTagName?context.getElementsByTagName(tag||"*"):void 0!==context.querySelectorAll?context.querySelectorAll(tag||"*"):[],void 0===tag||tag&&nodeName(context,tag)?jQuery.merge([context],ret):ret}function setGlobalEval(elems,refElements){for(var i=0,l=elems.length;ix",support.noCloneChecked=!!div.cloneNode(!0).lastChild.defaultValue;var rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,rtypenamespace=/^([^.]*)(?:\.(.+)|)/;function returnTrue(){return!0}function returnFalse(){return!1}function expectSync(elem,type){return elem===function(){try{return document.activeElement}catch(err){}}()==("focus"===type)}function _on(elem,types,selector,data,fn,one){var origFn,type;if("object"===(void 0===types?"undefined":_typeof(types))){for(type in"string"!=typeof selector&&(data=data||selector,selector=void 0),types)_on(elem,type,selector,data,types[type],one);return elem}if(null==data&&null==fn?(fn=selector,data=selector=void 0):null==fn&&("string"==typeof selector?(fn=data,data=void 0):(fn=data,data=selector,selector=void 0)),!1===fn)fn=returnFalse;else if(!fn)return elem;return 1===one&&(origFn=fn,(fn=function(event){return jQuery().off(event),origFn.apply(this,arguments)}).guid=origFn.guid||(origFn.guid=jQuery.guid++)),elem.each(function(){jQuery.event.add(this,types,fn,data,selector)})}function leverageNative(el,type,expectSync){expectSync?(dataPriv.set(el,type,!1),jQuery.event.add(el,type,{namespace:!1,handler:function(event){var notAsync,result,saved=dataPriv.get(this,type);if(1&event.isTrigger&&this[type]){if(saved.length)(jQuery.event.special[type]||{}).delegateType&&event.stopPropagation();else if(saved=_slice.call(arguments),dataPriv.set(this,type,saved),notAsync=expectSync(this,type),this[type](),saved!==(result=dataPriv.get(this,type))||notAsync?dataPriv.set(this,type,!1):result={},saved!==result)return event.stopImmediatePropagation(),event.preventDefault(),result.value}else saved.length&&(dataPriv.set(this,type,{value:jQuery.event.trigger(jQuery.extend(saved[0],jQuery.Event.prototype),saved.slice(1),this)}),event.stopImmediatePropagation())}})):void 0===dataPriv.get(el,type)&&jQuery.event.add(el,type,returnTrue)}jQuery.event={global:{},add:function(elem,types,handler,data,selector){var handleObjIn,eventHandle,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.get(elem);if(elemData)for(handler.handler&&(handler=(handleObjIn=handler).handler,selector=handleObjIn.selector),selector&&jQuery.find.matchesSelector(documentElement,selector),handler.guid||(handler.guid=jQuery.guid++),(events=elemData.events)||(events=elemData.events={}),(eventHandle=elemData.handle)||(eventHandle=elemData.handle=function(e){return void 0!==jQuery&&jQuery.event.triggered!==e.type?jQuery.event.dispatch.apply(elem,arguments):void 0}),t=(types=(types||"").match(rnothtmlwhite)||[""]).length;t--;)type=origType=(tmp=rtypenamespace.exec(types[t])||[])[1],namespaces=(tmp[2]||"").split(".").sort(),type&&(special=jQuery.event.special[type]||{},type=(selector?special.delegateType:special.bindType)||type,special=jQuery.event.special[type]||{},handleObj=jQuery.extend({type:type,origType:origType,data:data,handler:handler,guid:handler.guid,selector:selector,needsContext:selector&&jQuery.expr.match.needsContext.test(selector),namespace:namespaces.join(".")},handleObjIn),(handlers=events[type])||((handlers=events[type]=[]).delegateCount=0,special.setup&&!1!==special.setup.call(elem,data,namespaces,eventHandle)||elem.addEventListener&&elem.addEventListener(type,eventHandle)),special.add&&(special.add.call(elem,handleObj),handleObj.handler.guid||(handleObj.handler.guid=handler.guid)),selector?handlers.splice(handlers.delegateCount++,0,handleObj):handlers.push(handleObj),jQuery.event.global[type]=!0)},remove:function(elem,types,handler,selector,mappedTypes){var j,origCount,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.hasData(elem)&&dataPriv.get(elem);if(elemData&&(events=elemData.events)){for(t=(types=(types||"").match(rnothtmlwhite)||[""]).length;t--;)if(type=origType=(tmp=rtypenamespace.exec(types[t])||[])[1],namespaces=(tmp[2]||"").split(".").sort(),type){for(special=jQuery.event.special[type]||{},handlers=events[type=(selector?special.delegateType:special.bindType)||type]||[],tmp=tmp[2]&&new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"),origCount=j=handlers.length;j--;)handleObj=handlers[j],!mappedTypes&&origType!==handleObj.origType||handler&&handler.guid!==handleObj.guid||tmp&&!tmp.test(handleObj.namespace)||selector&&selector!==handleObj.selector&&("**"!==selector||!handleObj.selector)||(handlers.splice(j,1),handleObj.selector&&handlers.delegateCount--,special.remove&&special.remove.call(elem,handleObj));origCount&&!handlers.length&&(special.teardown&&!1!==special.teardown.call(elem,namespaces,elemData.handle)||jQuery.removeEvent(elem,type,elemData.handle),delete events[type])}else for(type in events)jQuery.event.remove(elem,type+types[t],handler,selector,!0);jQuery.isEmptyObject(events)&&dataPriv.remove(elem,"handle events")}},dispatch:function(nativeEvent){var i,j,ret,matched,handleObj,handlerQueue,event=jQuery.event.fix(nativeEvent),args=new Array(arguments.length),handlers=(dataPriv.get(this,"events")||{})[event.type]||[],special=jQuery.event.special[event.type]||{};for(args[0]=event,i=1;i\x20\t\r\n\f]*)[^>]*)\/>/gi,rnoInnerhtml=/\s*$/g;function manipulationTarget(elem,content){return nodeName(elem,"table")&&nodeName(11!==content.nodeType?content:content.firstChild,"tr")&&jQuery(elem).children("tbody")[0]||elem}function disableScript(elem){return elem.type=(null!==elem.getAttribute("type"))+"/"+elem.type,elem}function restoreScript(elem){return"true/"===(elem.type||"").slice(0,5)?elem.type=elem.type.slice(5):elem.removeAttribute("type"),elem}function cloneCopyEvent(src,dest){var i,l,type,pdataOld,pdataCur,udataOld,udataCur,events;if(1===dest.nodeType){if(dataPriv.hasData(src)&&(pdataOld=dataPriv.access(src),pdataCur=dataPriv.set(dest,pdataOld),events=pdataOld.events))for(type in delete pdataCur.handle,pdataCur.events={},events)for(i=0,l=events[type].length;i")},clone:function(elem,dataAndEvents,deepDataAndEvents){var i,l,srcElements,destElements,src,dest,nodeName,clone=elem.cloneNode(!0),inPage=isAttached(elem);if(!(support.noCloneChecked||1!==elem.nodeType&&11!==elem.nodeType||jQuery.isXMLDoc(elem)))for(destElements=getAll(clone),i=0,l=(srcElements=getAll(elem)).length;i").attr(s.scriptAttrs||{}).prop({charset:s.scriptCharset,src:s.url}).on("load error",_callback2=function(evt){script.remove(),_callback2=null,evt&&complete("error"===evt.type?404:200,evt.type)}),document.head.appendChild(script[0])},abort:function(){_callback2&&_callback2()}}});var body,oldCallbacks=[],rjsonp=/(=)\?(?=&|$)|\?\?/;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var callback=oldCallbacks.pop()||jQuery.expando+"_"+nonce++;return this[callback]=!0,callback}}),jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=!1!==s.jsonp&&(rjsonp.test(s.url)?"url":"string"==typeof s.data&&0===(s.contentType||"").indexOf("application/x-www-form-urlencoded")&&rjsonp.test(s.data)&&"data");if(jsonProp||"jsonp"===s.dataTypes[0])return callbackName=s.jsonpCallback=isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback,jsonProp?s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName):!1!==s.jsonp&&(s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName),s.converters["script json"]=function(){return responseContainer||jQuery.error(callbackName+" was not called"),responseContainer[0]},s.dataTypes[0]="json",overwritten=window[callbackName],window[callbackName]=function(){responseContainer=arguments},jqXHR.always(function(){void 0===overwritten?jQuery(window).removeProp(callbackName):window[callbackName]=overwritten,s[callbackName]&&(s.jsonpCallback=originalSettings.jsonpCallback,oldCallbacks.push(callbackName)),responseContainer&&isFunction(overwritten)&&overwritten(responseContainer[0]),responseContainer=overwritten=void 0}),"script"}),support.createHTMLDocument=((body=document.implementation.createHTMLDocument("").body).innerHTML="
",2===body.childNodes.length),jQuery.parseHTML=function(data,context,keepScripts){return"string"!=typeof data?[]:("boolean"==typeof context&&(keepScripts=context,context=!1),context||(support.createHTMLDocument?((base=(context=document.implementation.createHTMLDocument("")).createElement("base")).href=document.location.href,context.head.appendChild(base)):context=document),scripts=!keepScripts&&[],(parsed=rsingleTag.exec(data))?[context.createElement(parsed[1])]:(parsed=buildFragment([data],context,scripts),scripts&&scripts.length&&jQuery(scripts).remove(),jQuery.merge([],parsed.childNodes)));var base,parsed,scripts},jQuery.fn.load=function(url,params,callback){var selector,type,response,self=this,off=url.indexOf(" ");return-1").append(jQuery.parseHTML(responseText)).find(selector):responseText)}).always(callback&&function(jqXHR,status){self.each(function(){callback.apply(this,response||[jqXHR.responseText,status,jqXHR])})}),this},jQuery.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(i,type){jQuery.fn[type]=function(fn){return this.on(type,fn)}}),jQuery.expr.pseudos.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem}).length},jQuery.offset={setOffset:function(elem,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,position=jQuery.css(elem,"position"),curElem=jQuery(elem),props={};"static"===position&&(elem.style.position="relative"),curOffset=curElem.offset(),curCSSTop=jQuery.css(elem,"top"),curCSSLeft=jQuery.css(elem,"left"),curLeft=("absolute"===position||"fixed"===position)&&-1<(curCSSTop+curCSSLeft).indexOf("auto")?(curTop=(curPosition=curElem.position()).top,curPosition.left):(curTop=parseFloat(curCSSTop)||0,parseFloat(curCSSLeft)||0),isFunction(options)&&(options=options.call(elem,i,jQuery.extend({},curOffset))),null!=options.top&&(props.top=options.top-curOffset.top+curTop),null!=options.left&&(props.left=options.left-curOffset.left+curLeft),"using"in options?options.using.call(elem,props):curElem.css(props)}},jQuery.fn.extend({offset:function(options){if(arguments.length)return void 0===options?this:this.each(function(i){jQuery.offset.setOffset(this,options,i)});var rect,win,elem=this[0];return elem?elem.getClientRects().length?(rect=elem.getBoundingClientRect(),win=elem.ownerDocument.defaultView,{top:rect.top+win.pageYOffset,left:rect.left+win.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var offsetParent,offset,doc,elem=this[0],parentOffset={top:0,left:0};if("fixed"===jQuery.css(elem,"position"))offset=elem.getBoundingClientRect();else{for(offset=this.offset(),doc=elem.ownerDocument,offsetParent=elem.offsetParent||doc.documentElement;offsetParent&&(offsetParent===doc.body||offsetParent===doc.documentElement)&&"static"===jQuery.css(offsetParent,"position");)offsetParent=offsetParent.parentNode;offsetParent&&offsetParent!==elem&&1===offsetParent.nodeType&&((parentOffset=jQuery(offsetParent).offset()).top+=jQuery.css(offsetParent,"borderTopWidth",!0),parentOffset.left+=jQuery.css(offsetParent,"borderLeftWidth",!0))}return{top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",!0),left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var offsetParent=this.offsetParent;offsetParent&&"static"===jQuery.css(offsetParent,"position");)offsetParent=offsetParent.offsetParent;return offsetParent||documentElement})}}),jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){var top="pageYOffset"===prop;jQuery.fn[method]=function(val){return access(this,function(elem,method,val){var win;if(isWindow(elem)?win=elem:9===elem.nodeType&&(win=elem.defaultView),void 0===val)return win?win[prop]:elem[method];win?win.scrollTo(top?win.pageXOffset:val,top?val:win.pageYOffset):elem[method]=val},method,val,arguments.length)}}),jQuery.each(["top","left"],function(i,prop){jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,function(elem,computed){if(computed)return computed=curCSS(elem,prop),rnumnonpx.test(computed)?jQuery(elem).position()[prop]+"px":computed})}),jQuery.each({Height:"height",Width:"width"},function(name,type){jQuery.each({padding:"inner"+name,content:type,"":"outer"+name},function(defaultExtra,funcName){jQuery.fn[funcName]=function(margin,value){var chainable=arguments.length&&(defaultExtra||"boolean"!=typeof margin),extra=defaultExtra||(!0===margin||!0===value?"margin":"border");return access(this,function(elem,type,value){var doc;return isWindow(elem)?0===funcName.indexOf("outer")?elem["inner"+name]:elem.document.documentElement["client"+name]:9===elem.nodeType?(doc=elem.documentElement,Math.max(elem.body["scroll"+name],doc["scroll"+name],elem.body["offset"+name],doc["offset"+name],doc["client"+name])):void 0===value?jQuery.css(elem,type,extra):jQuery.style(elem,type,value,extra)},type,chainable?margin:void 0,chainable)}})}),jQuery.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(i,name){jQuery.fn[name]=function(data,fn){return 0
a',innerHTMLBug=!bugTestDiv.getElementsByTagName("link").length,bugTestDiv=void 0);var map={legend:[1,"
","
"],tr:[2,"","
"],col:[2,"","
"],_default:innerHTMLBug?[1,"X
","
"]:[0,"",""]};map.td=map.th=[3,"","
"],map.option=map.optgroup=[1,'"],map.thead=map.tbody=map.colgroup=map.caption=map.tfoot=[1,"","
"],map.polyline=map.ellipse=map.polygon=map.circle=map.text=map.line=map.path=map.rect=map.g=[1,'',""],exports.attr=function(el,name,val){return 2==arguments.length?el.getAttribute(name):null===val?el.removeAttribute(name):(el.setAttribute(name,val),el)},exports.classes=function(el){return new ClassList(el)},exports.clear=function(el){for(var c;el.childNodes.length;)c=el.childNodes[0],el.removeChild(c);return el},exports.closest=function(element,selector,checkYourSelf){for(var currentElem=checkYourSelf?element:element.parentNode;currentElem&¤tElem.nodeType!==document.DOCUMENT_NODE&¤tElem.nodeType!==document.DOCUMENT_FRAGMENT_NODE;){if(matchesSelector(currentElem,selector))return currentElem;currentElem=currentElem.parentNode}return matchesSelector(currentElem,selector)?currentElem:null},exports.delegate=delegateEvents,exports.domify=domify,exports.event=componentEvent,exports.matches=matchesSelector,exports.query=function(selector,el){return(el=el||document).querySelector(selector)},exports.queryAll=function(selector,el){return(el=el||document).querySelectorAll(selector)},exports.remove=function(el){el.parentNode&&el.parentNode.removeChild(el)}},{}],574:[function(require,module,exports){"use strict";module.exports=function(n){return n=n||Object.create(null),{on:function(c,e){(n[c]||(n[c]=[])).push(e)},off:function(c,e){n[c]&&n[c].splice(n[c].indexOf(e)>>>0,1)},emit:function(c,e){(n[c]||[]).slice().map(function(n){n(e)}),(n["*"]||[]).slice().map(function(n){n(c,e)})}}}},{}],575:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var minDash=require("min-dash"),saxen=require("saxen"),moddle=require("moddle");function hasLowerCaseAlias(pkg){return pkg.xml&&"lowerCase"===pkg.xml.tagAlias}var DEFAULT_NS_MAP={xsi:"http://www.w3.org/2001/XMLSchema-instance"};function serializeFormat(element){return element.xml&&element.xml.serialize}function serializeAsType(element){return"xsi:type"===serializeFormat(element)}function aliasToName(aliasNs,pkg){return hasLowerCaseAlias(pkg)?aliasNs.prefix+":"+function(str){return str.charAt(0).toUpperCase()+str.slice(1)}(aliasNs.localName):aliasNs.name}function normalizeXsiTypeName(name,model){var nameNs=moddle.parseNameNS(name);return function(nameNs,pkg){var name=nameNs.name,localName=nameNs.localName,typePrefix=pkg.xml&&pkg.xml.typePrefix;return typePrefix&&0===localName.indexOf(typePrefix)?nameNs.prefix+":"+localName.slice(typePrefix.length):name}(nameNs,model.getPackage(nameNs.prefix))}function error(message){return new Error(message)}function getModdleDescriptor(element){return element.$descriptor}function Context(options){minDash.assign(this,options),this.elementsById={},this.references=[],this.warnings=[],this.addReference=function(reference){this.references.push(reference)},this.addElement=function(element){if(!element)throw error("expected element");var id,elementsById=this.elementsById,idProperty=getModdleDescriptor(element).idProperty;if(idProperty&&(id=element.get(idProperty.name))){if(!/^([a-z][\w-.]*:)?[a-z_][\w-.]*$/i.test(id))throw new Error("illegal ID <"+id+">");if(elementsById[id])throw error("duplicate ID <"+id+">");elementsById[id]=element}},this.addWarning=function(warning){this.warnings.push(warning)}}function BaseHandler(){}function NoopHandler(){}function BodyHandler(){}function ReferenceHandler(property,context){this.property=property,this.context=context}function ValueHandler(propertyDesc,element){this.element=element,this.propertyDesc=propertyDesc}function BaseElementHandler(){}function ElementHandler(model,typeName,context){this.model=model,this.type=model.getType(typeName),this.context=context}function RootElementHandler(model,typeName,context){ElementHandler.call(this,model,typeName,context)}function GenericElementHandler(model,typeName,context){this.model=model,this.context=context}function Reader(options){options instanceof moddle.Moddle&&(options={model:options}),minDash.assign(this,{lax:!1},options)}BaseHandler.prototype.handleEnd=function(){},BaseHandler.prototype.handleText=function(){},BaseHandler.prototype.handleNode=function(){},(NoopHandler.prototype=Object.create(BaseHandler.prototype)).handleNode=function(){return this},(BodyHandler.prototype=Object.create(BaseHandler.prototype)).handleText=function(text){this.body=(this.body||"")+text},(ReferenceHandler.prototype=Object.create(BodyHandler.prototype)).handleNode=function(node){if(this.element)throw error("expected no sub nodes");return this.element=this.createReference(node),this},ReferenceHandler.prototype.handleEnd=function(){this.element.id=this.body},ReferenceHandler.prototype.createReference=function(node){return{property:this.property.ns.name,id:""}},(ValueHandler.prototype=Object.create(BodyHandler.prototype)).handleEnd=function(){var value=this.body||"",element=this.element,propertyDesc=this.propertyDesc;value=moddle.coerceType(propertyDesc.type,value),propertyDesc.isMany?element.get(propertyDesc.name).push(value):element.set(propertyDesc.name,value)},(BaseElementHandler.prototype=Object.create(BodyHandler.prototype)).handleNode=function(node){var parser=this,element=this.element;return element?parser=this.handleChild(node):(element=this.element=this.createElement(node),this.context.addElement(element)),parser},(ElementHandler.prototype=Object.create(BaseElementHandler.prototype)).addReference=function(reference){this.context.addReference(reference)},ElementHandler.prototype.handleText=function(text){if(!getModdleDescriptor(this.element).bodyProperty)throw error("unexpected body text <"+text+">");BodyHandler.prototype.handleText.call(this,text)},ElementHandler.prototype.handleEnd=function(){var value=this.body,element=this.element,bodyProperty=getModdleDescriptor(element).bodyProperty;bodyProperty&&void 0!==value&&(value=moddle.coerceType(bodyProperty.type,value),element.set(bodyProperty.name,value))},ElementHandler.prototype.createElement=function(node){var propNameNs,attributes=node.attributes,Type=this.type,descriptor=getModdleDescriptor(Type),context=this.context,instance=new Type({}),model=this.model;return minDash.forEach(attributes,function(value,name){var values,prop=descriptor.propertiesByName[name];prop&&prop.isReference?prop.isMany?(values=value.split(" "),minDash.forEach(values,function(v){context.addReference({element:instance,property:prop.ns.name,id:v})})):context.addReference({element:instance,property:prop.ns.name,id:value}):(prop?value=moddle.coerceType(prop.type,value):"xmlns"!==name&&(propNameNs=moddle.parseNameNS(name,descriptor.ns.prefix),model.getPackage(propNameNs.prefix)&&context.addWarning({message:"unknown attribute <"+name+">",element:instance,property:name,value:value})),instance.set(name,value))}),instance},ElementHandler.prototype.getPropertyForNode=function(node){var elementTypeName,elementType,name=node.name,nameNs=moddle.parseNameNS(name),type=this.type,model=this.model,descriptor=getModdleDescriptor(type),propertyName=nameNs.name,property=descriptor.propertiesByName[propertyName];if(property&&!property.isAttr)return serializeAsType(property)&&(elementTypeName=node.attributes["xsi:type"])?(elementTypeName=normalizeXsiTypeName(elementTypeName,model),elementType=model.getType(elementTypeName),minDash.assign({},property,{effectiveType:getModdleDescriptor(elementType).name})):property;var pkg=model.getPackage(nameNs.prefix);if(pkg){if(elementTypeName=aliasToName(nameNs,pkg),elementType=model.getType(elementTypeName),property=minDash.find(descriptor.properties,function(p){return!p.isVirtual&&!p.isReference&&!p.isAttribute&&elementType.hasType(p.type)}))return minDash.assign({},property,{effectiveType:getModdleDescriptor(elementType).name})}else if(property=minDash.find(descriptor.properties,function(p){return!p.isReference&&!p.isAttribute&&"Element"===p.type}))return property;throw error("unrecognized element <"+nameNs.name+">")},ElementHandler.prototype.toString=function(){return"ElementDescriptor["+getModdleDescriptor(this.type).name+"]"},ElementHandler.prototype.valueHandler=function(propertyDesc,element){return new ValueHandler(propertyDesc,element)},ElementHandler.prototype.referenceHandler=function(propertyDesc){return new ReferenceHandler(propertyDesc,this.context)},ElementHandler.prototype.handler=function(type){return"Element"===type?new GenericElementHandler(this.model,type,this.context):new ElementHandler(this.model,type,this.context)},ElementHandler.prototype.handleChild=function(node){var propertyDesc,type,element,childHandler;if(propertyDesc=this.getPropertyForNode(node),element=this.element,type=propertyDesc.effectiveType||propertyDesc.type,moddle.isSimpleType(type))return this.valueHandler(propertyDesc,element);var newElement=(childHandler=propertyDesc.isReference?this.referenceHandler(propertyDesc).handleNode(node):this.handler(type).handleNode(node)).element;return void 0!==newElement&&(propertyDesc.isMany?element.get(propertyDesc.name).push(newElement):element.set(propertyDesc.name,newElement),propertyDesc.isReference?(minDash.assign(newElement,{element:element}),this.context.addReference(newElement)):newElement.$parent=element),childHandler},(RootElementHandler.prototype=Object.create(ElementHandler.prototype)).createElement=function(node){var name=node.name,nameNs=moddle.parseNameNS(name),model=this.model,type=this.type,pkg=model.getPackage(nameNs.prefix),typeName=pkg&&aliasToName(nameNs,pkg)||name;if(!type.hasType(typeName))throw error("unexpected element <"+node.originalName+">");return ElementHandler.prototype.createElement.call(this,node)},(GenericElementHandler.prototype=Object.create(BaseElementHandler.prototype)).createElement=function(node){var name=node.name,prefix=moddle.parseNameNS(name).prefix,uri=node.ns[prefix+"$uri"],attributes=node.attributes;return this.model.createAny(name,uri,attributes)},GenericElementHandler.prototype.handleChild=function(node){var handler=new GenericElementHandler(this.model,"Element",this.context).handleNode(node),element=this.element,newElement=handler.element;return void 0!==newElement&&((element.$children=element.$children||[]).push(newElement),newElement.$parent=element),handler},GenericElementHandler.prototype.handleEnd=function(){this.body&&(this.element.$body=this.body)},Reader.prototype.fromXML=function(xml,options,done){var rootHandler=options.rootHandler;options instanceof ElementHandler?(rootHandler=options,options={}):"string"==typeof options?(rootHandler=this.handler(options),options={}):"string"==typeof rootHandler&&(rootHandler=this.handler(rootHandler));var model=this.model,lax=this.lax,context=new Context(minDash.assign({},options,{rootHandler:rootHandler})),parser=new saxen.Parser({proxy:!0}),stack=function(){var stack=[];return Object.defineProperty(stack,"peek",{value:function(){return this[this.length-1]}}),stack}();function handleError(err,getContext,lax){var ctx=getContext(),line=ctx.line,column=ctx.column,data=ctx.data;"<"===data.charAt(0)&&-1!==data.indexOf(" ")&&(data=data.slice(0,data.indexOf(" "))+">");var message="unparsable content "+(data?data+" ":"")+"detected\n\tline: "+line+"\n\tcolumn: "+column+"\n\tnested error: "+err.message;if(lax)return context.addWarning({message:message,error:err}),!0;throw error(message)}function handleWarning(err,getContext){return handleError(err,getContext,!0)}rootHandler.context=context,stack.push(rootHandler);var PREAMBLE_START_PATTERN=/^<\?xml /i,ENCODING_PATTERN=/ encoding="([^"]+)"/i,UTF_8_PATTERN=/^utf-8$/i;function handleCData(text,getContext){try{stack.peek().handleText(text)}catch(err){handleWarning(err,getContext)}}var uriMap=model.getPackages().reduce(function(uriMap,p){return uriMap[p.uri]=p.prefix,uriMap},{});parser.ns(uriMap).on("openTag",function(obj,decodeStr,selfClosing,getContext){var attrs=obj.attrs||{},decodedAttrs=Object.keys(attrs).reduce(function(d,key){var value=decodeStr(attrs[key]);return d[key]=value,d},{});!function(node,getContext){var handler=stack.peek();try{stack.push(handler.handleNode(node))}catch(err){handleError(err,getContext,lax)&&stack.push(new NoopHandler)}}({name:obj.name,originalName:obj.originalName,attributes:decodedAttrs,ns:obj.ns},getContext)}).on("question",function(question){if(PREAMBLE_START_PATTERN.test(question)){var match=ENCODING_PATTERN.exec(question),encoding=match&&match[1];encoding&&!UTF_8_PATTERN.test(encoding)&&context.addWarning({message:"unsupported document encoding <"+encoding+">, falling back to UTF-8"})}}).on("closeTag",function(){stack.pop().handleEnd()}).on("cdata",handleCData).on("text",function(text,decodeEntities,getContext){!function(text,getContext){(text=text.trim())&&handleCData(text,getContext)}(decodeEntities(text),getContext)}).on("error",handleError).on("warn",handleWarning),function(fn){setTimeout(fn,0)}(function(){var err;try{parser.parse(xml),function(){var i,r,elementsById=context.elementsById,references=context.references;for(i=0;r=references[i];i++){var element=r.element,reference=elementsById[r.id],property=getModdleDescriptor(element).propertiesByName[r.property];if(reference||context.addWarning({message:"unresolved reference <"+r.id+">",element:r.element,property:r.property,value:r.id}),property.isMany){var collection=element.get(property.name),idx=collection.indexOf(r);-1===idx&&(idx=collection.length),reference?collection[idx]=reference:collection.splice(idx,1)}else element.set(property.name,reference)}}()}catch(e){err=e}var element=rootHandler.element;err||element||(err=error("failed to parse document as <"+rootHandler.type.$descriptor.name+">")),done(err,err?void 0:element,context)})},Reader.prototype.handler=function(name){return new RootElementHandler(this.model,name)};var ESCAPE_ATTR_CHARS=/<|>|'|"|&|\n\r|\n/g,ESCAPE_CHARS=/<|>|&/g;function Namespaces(parent){var prefixMap={},uriMap={},used={},wellknown=[],custom=[];this.byUri=function(uri){return uriMap[uri]||parent&&parent.byUri(uri)},this.add=function(ns,isWellknown){uriMap[ns.uri]=ns,isWellknown?wellknown.push(ns):custom.push(ns),this.mapPrefix(ns.prefix,ns.uri)},this.uriByPrefix=function(prefix){return prefixMap[prefix||"xmlns"]},this.mapPrefix=function(prefix,uri){prefixMap[prefix||"xmlns"]=uri},this.logUsed=function(ns){var uri=ns.uri;used[uri]=this.byUri(uri)},this.getUsed=function(ns){return[].concat(wellknown,custom).filter(function(ns){return used[ns.uri]})}}function nameToAlias(name,pkg){return hasLowerCaseAlias(pkg)?function(string){return string.charAt(0).toLowerCase()+string.slice(1)}(name):name}function inherits(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})}function nsName(ns){return minDash.isString(ns)?ns:(ns.prefix?ns.prefix+":":"")+ns.localName}var ESCAPE_ATTR_MAP={"\n":"#10","\n\r":"#10",'"':"#34","'":"#39","<":"#60",">":"#62","&":"#38"},ESCAPE_MAP={"<":"lt",">":"gt","&":"amp"};function escape(str,charPattern,replaceMap){return(str=minDash.isString(str)?str:""+str).replace(charPattern,function(s){return"&"+replaceMap[s]+";"})}function ReferenceSerializer(tagName){this.tagName=tagName}function BodySerializer(){}function ValueSerializer(tagName){this.tagName=tagName}function ElementSerializer(parent,propertyDescriptor){this.body=[],this.attrs=[],this.parent=parent,this.propertyDescriptor=propertyDescriptor}function TypeSerializer(parent,propertyDescriptor){ElementSerializer.call(this,parent,propertyDescriptor)}function SavingWriter(){this.value="",this.write=function(str){this.value+=str}}function FormatingWriter(out,format){var indent=[""];this.append=function(str){return out.write(str),this},this.appendNewLine=function(){return format&&out.write("\n"),this},this.appendIndent=function(){return format&&out.write(indent.join(" ")),this},this.indent=function(){return indent.push(""),this},this.unindent=function(){return indent.pop(),this}}ReferenceSerializer.prototype.build=function(element){return this.element=element,this},ReferenceSerializer.prototype.serializeTo=function(writer){writer.appendIndent().append("<"+this.tagName+">"+this.element.id+"").appendNewLine()},BodySerializer.prototype.serializeValue=BodySerializer.prototype.serializeTo=function(writer){writer.append(this.escape?function(str){return escape(str,ESCAPE_CHARS,ESCAPE_MAP)}(this.value):this.value)},BodySerializer.prototype.build=function(prop,value){return this.value=value,"String"===prop.type&&-1!==value.search(ESCAPE_CHARS)&&(this.escape=!0),this},inherits(ValueSerializer,BodySerializer),ValueSerializer.prototype.serializeTo=function(writer){writer.appendIndent().append("<"+this.tagName+">"),this.serializeValue(writer),writer.append("").appendNewLine()},ElementSerializer.prototype.build=function(element){var otherAttrs,properties,elementDescriptor=(this.element=element).$descriptor,propertyDescriptor=this.propertyDescriptor,isGeneric=elementDescriptor.isGeneric;return otherAttrs=isGeneric?this.parseGeneric(element):this.parseNsAttributes(element),this.ns=propertyDescriptor?this.nsPropertyTagName(propertyDescriptor):this.nsTagName(elementDescriptor),this.tagName=this.addTagName(this.ns),isGeneric||(properties=function(element){var descriptor=element.$descriptor;return minDash.filter(descriptor.properties,function(p){var name=p.name;if(p.isVirtual)return!1;if(!element.hasOwnProperty(name))return!1;var value=element[name];return value!==p.default&&(null!==value&&(!p.isMany||value.length))})}(element),this.parseAttributes(function(props){return minDash.filter(props,function(p){return p.isAttr})}(properties)),this.parseContainments(function(props){return minDash.filter(props,function(p){return!p.isAttr})}(properties))),this.parseGenericAttributes(element,otherAttrs),this},ElementSerializer.prototype.nsTagName=function(descriptor){return function(ns,descriptor){return descriptor.isGeneric?minDash.assign({localName:descriptor.ns.localName},ns):minDash.assign({localName:nameToAlias(descriptor.ns.localName,descriptor.$pkg)},ns)}(this.logNamespaceUsed(descriptor.ns),descriptor)},ElementSerializer.prototype.nsPropertyTagName=function(descriptor){return function(ns,descriptor){return minDash.assign({localName:descriptor.ns.localName},ns)}(this.logNamespaceUsed(descriptor.ns),descriptor)},ElementSerializer.prototype.isLocalNs=function(ns){return ns.uri===this.ns.uri},ElementSerializer.prototype.nsAttributeName=function(element){var ns;if(ns=minDash.isString(element)?moddle.parseNameNS(element):element.ns,element.inherited)return{localName:ns.localName};var effectiveNs=this.logNamespaceUsed(ns);return this.getNamespaces().logUsed(effectiveNs),this.isLocalNs(effectiveNs)?{localName:ns.localName}:minDash.assign({localName:ns.localName},effectiveNs)},ElementSerializer.prototype.parseGeneric=function(element){var self=this,body=this.body,attributes=[];return minDash.forEach(element,function(val,key){"$body"===key?body.push((new BodySerializer).build({type:"String"},val)):"$children"===key?minDash.forEach(val,function(child){body.push(new ElementSerializer(self).build(child))}):0!==key.indexOf("$")&&self.parseNsAttribute(element,key,val)&&attributes.push({name:key,value:val})}),attributes},ElementSerializer.prototype.parseNsAttribute=function(element,name,value){var ns,model=element.$model,nameNs=moddle.parseNameNS(name);if("xmlns"===nameNs.prefix&&(ns={prefix:nameNs.localName,uri:value}),nameNs.prefix||"xmlns"!==nameNs.localName||(ns={uri:value}),!ns)return{name:name,value:value};if(model&&model.getPackage(value))this.logNamespace(ns,!0,!0);else{var actualNs=this.logNamespaceUsed(ns,!0);this.getNamespaces().logUsed(actualNs)}},ElementSerializer.prototype.parseNsAttributes=function(element,attrs){var self=this,genericAttrs=element.$attrs,attributes=[];return minDash.forEach(genericAttrs,function(value,name){var nonNsAttr=self.parseNsAttribute(element,name,value);nonNsAttr&&attributes.push(nonNsAttr)}),attributes},ElementSerializer.prototype.parseGenericAttributes=function(element,attributes){var self=this;minDash.forEach(attributes,function(attr){if("xsi:type"!==attr.name)try{self.addAttribute(self.nsAttributeName(attr.name),attr.value)}catch(e){console.warn("missing namespace information for ",attr.name,"=",attr.value,"on",element,e)}})},ElementSerializer.prototype.parseContainments=function(properties){var self=this,body=this.body,element=this.element;minDash.forEach(properties,function(p){var value=element.get(p.name),isReference=p.isReference;if(p.isMany||(value=[value]),p.isBody)body.push((new BodySerializer).build(p,value[0]));else if(moddle.isSimpleType(p.type))minDash.forEach(value,function(v){body.push(new ValueSerializer(self.addTagName(self.nsPropertyTagName(p))).build(p,v))});else if(isReference)minDash.forEach(value,function(v){body.push(new ReferenceSerializer(self.addTagName(self.nsPropertyTagName(p))).build(v))});else{var asType=serializeAsType(p),asProperty=function(element){return"property"===serializeFormat(element)}(p);minDash.forEach(value,function(v){var serializer;serializer=asType?new TypeSerializer(self,p):asProperty?new ElementSerializer(self,p):new ElementSerializer(self),body.push(serializer.build(v))})}})},ElementSerializer.prototype.getNamespaces=function(local){var parentNamespaces,namespaces=this.namespaces,parent=this.parent;return namespaces||(parentNamespaces=parent&&parent.getNamespaces(),local||!parentNamespaces?this.namespaces=namespaces=new Namespaces(parentNamespaces):namespaces=parentNamespaces),namespaces},ElementSerializer.prototype.logNamespace=function(ns,wellknown,local){var namespaces=this.getNamespaces(local),nsUri=ns.uri,nsPrefix=ns.prefix;return namespaces.byUri(nsUri)||namespaces.add(ns,wellknown),namespaces.mapPrefix(nsPrefix,nsUri),ns},ElementSerializer.prototype.logNamespaceUsed=function(ns,local){var newPrefix,idx,wellknownUri,model=this.element.$model,namespaces=this.getNamespaces(local),prefix=ns.prefix,uri=ns.uri;if(!prefix&&!uri)return{localName:ns.localName};if(wellknownUri=DEFAULT_NS_MAP[prefix]||model&&(model.getPackage(prefix)||{}).uri,!(uri=uri||wellknownUri||namespaces.uriByPrefix(prefix)))throw new Error("no namespace uri given for prefix <"+prefix+">");if(!(ns=namespaces.byUri(uri))){for(newPrefix=prefix,idx=1;namespaces.uriByPrefix(newPrefix);)newPrefix=prefix+"_"+idx++;ns=this.logNamespace({prefix:newPrefix,uri:uri},wellknownUri===uri)}return prefix&&namespaces.mapPrefix(prefix,uri),ns},ElementSerializer.prototype.parseAttributes=function(properties){var self=this,element=this.element;minDash.forEach(properties,function(p){var value=element.get(p.name);if(p.isReference)if(p.isMany){var values=[];minDash.forEach(value,function(v){values.push(v.id)}),value=values.join(" ")}else value=value.id;self.addAttribute(self.nsAttributeName(p),value)})},ElementSerializer.prototype.addTagName=function(nsTagName){var actualNs=this.logNamespaceUsed(nsTagName);return this.getNamespaces().logUsed(actualNs),nsName(nsTagName)},ElementSerializer.prototype.addAttribute=function(name,value){var attrs=this.attrs;minDash.isString(value)&&(value=function(str){return escape(str,ESCAPE_ATTR_CHARS,ESCAPE_ATTR_MAP)}(value)),attrs.push({name:name,value:value})},ElementSerializer.prototype.serializeAttributes=function(writer){var attrs=this.attrs,namespaces=this.namespaces;namespaces&&(attrs=function(namespaces){return minDash.map(namespaces.getUsed(),function(ns){return{name:"xmlns"+(ns.prefix?":"+ns.prefix:""),value:ns.uri}})}(namespaces).concat(attrs)),minDash.forEach(attrs,function(a){writer.append(" ").append(nsName(a.name)).append('="').append(a.value).append('"')})},ElementSerializer.prototype.serializeTo=function(writer){var firstBody=this.body[0],indent=firstBody&&firstBody.constructor!==BodySerializer;writer.appendIndent().append("<"+this.tagName),this.serializeAttributes(writer),writer.append(firstBody?">":" />"),firstBody&&(indent&&writer.appendNewLine().indent(),minDash.forEach(this.body,function(b){b.serializeTo(writer)}),indent&&writer.unindent().appendIndent(),writer.append("")),writer.appendNewLine()},inherits(TypeSerializer,ElementSerializer),TypeSerializer.prototype.parseNsAttributes=function(element){var attributes=ElementSerializer.prototype.parseNsAttributes.call(this,element),descriptor=element.$descriptor;if(descriptor.name===this.propertyDescriptor.type)return attributes;var typeNs=this.typeNs=this.nsTagName(descriptor);this.getNamespaces().logUsed(this.typeNs);var pkg=element.$model.getPackage(typeNs.uri),typePrefix=pkg.xml&&pkg.xml.typePrefix||"";return this.addAttribute(this.nsAttributeName("xsi:type"),(typeNs.prefix?typeNs.prefix+":":"")+typePrefix+descriptor.ns.localName),attributes},TypeSerializer.prototype.isLocalNs=function(ns){return ns.uri===(this.typeNs||this.ns).uri},exports.Reader=Reader,exports.Writer=function(options){return options=minDash.assign({format:!1,preamble:!0},options||{}),{toXML:function(tree,writer){var internalWriter=writer||new SavingWriter,formatingWriter=new FormatingWriter(internalWriter,options.format);if(options.preamble&&formatingWriter.append('\n'),(new ElementSerializer).build(tree).serializeTo(formatingWriter),!writer)return internalWriter.value}}}},{"min-dash":572,moddle:576,saxen:581}],576:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var minDash=require("min-dash");function Base(){}function Factory(model,properties){this.model=model,this.properties=properties}Base.prototype.get=function(name){return this.$model.properties.get(this,name)},Base.prototype.set=function(name,value){this.$model.properties.set(this,name,value)},Factory.prototype.createType=function(descriptor){var model=this.model,props=this.properties,prototype=Object.create(Base.prototype);minDash.forEach(descriptor.properties,function(p){p.isMany||void 0===p.default||(prototype[p.name]=p.default)}),props.defineModel(prototype,model),props.defineDescriptor(prototype,descriptor);var name=descriptor.ns.name;function ModdleElement(attrs){props.define(this,"$type",{value:name,enumerable:!0}),props.define(this,"$attrs",{value:{}}),props.define(this,"$parent",{writable:!0}),minDash.forEach(attrs,minDash.bind(function(val,key){this.set(key,val)},this))}return ModdleElement.prototype=prototype,ModdleElement.hasType=prototype.$instanceOf=this.model.hasType,props.defineModel(ModdleElement,model),props.defineDescriptor(ModdleElement,descriptor),ModdleElement};var BUILTINS={String:!0,Boolean:!0,Integer:!0,Real:!0,Element:!0},TYPE_CONVERTERS={String:function(s){return s},Boolean:function(s){return"true"===s},Integer:function(s){return parseInt(s,10)},Real:function(s){return parseFloat(s,10)}};function isBuiltIn(type){return!!BUILTINS[type]}function parseName(name,defaultPrefix){var localName,prefix,parts=name.split(/:/);if(1===parts.length)localName=name,prefix=defaultPrefix;else{if(2!==parts.length)throw new Error("expected or , got "+name);localName=parts[1],prefix=parts[0]}return{name:name=(prefix?prefix+":":"")+localName,prefix:prefix,localName:localName}}function DescriptorBuilder(nameNs){this.ns=nameNs,this.name=nameNs.name,this.allTypes=[],this.allTypesByName={},this.properties=[],this.propertiesByName={}}function Registry(packages,properties){this.packageMap={},this.typeMap={},this.packages=[],this.properties=properties,minDash.forEach(packages,minDash.bind(this.registerPackage,this))}function ensureAvailable(packageMap,pkg,identifierKey){var value=pkg[identifierKey];if(value in packageMap)throw new Error("package with "+identifierKey+" <"+value+"> already defined")}function Properties(model){this.model=model}function defineProperty(target,property,value){Object.defineProperty(target,property.name,{enumerable:!property.isReference,writable:!0,value:value,configurable:!0})}function Moddle(packages){this.properties=new Properties(this),this.factory=new Factory(this,this.properties),this.registry=new Registry(packages,this.properties),this.typeCache={}}DescriptorBuilder.prototype.build=function(){return minDash.pick(this,["ns","name","allTypes","allTypesByName","properties","propertiesByName","bodyProperty","idProperty"])},DescriptorBuilder.prototype.addProperty=function(p,idx,validate){"boolean"==typeof idx&&(validate=idx,idx=void 0),this.addNamedProperty(p,!1!==validate);var properties=this.properties;void 0!==idx?properties.splice(idx,0,p):properties.push(p)},DescriptorBuilder.prototype.replaceProperty=function(oldProperty,newProperty,replace){var oldNameNs=oldProperty.ns,props=this.properties,propertiesByName=this.propertiesByName,rename=oldProperty.name!==newProperty.name;if(oldProperty.isId){if(!newProperty.isId)throw new Error("property <"+newProperty.ns.name+"> must be id property to refine <"+oldProperty.ns.name+">");this.setIdProperty(newProperty,!1)}if(oldProperty.isBody){if(!newProperty.isBody)throw new Error("property <"+newProperty.ns.name+"> must be body property to refine <"+oldProperty.ns.name+">");this.setBodyProperty(newProperty,!1)}var idx=props.indexOf(oldProperty);if(-1===idx)throw new Error("property <"+oldNameNs.name+"> not found in property list");props.splice(idx,1),this.addProperty(newProperty,replace?void 0:idx,rename),propertiesByName[oldNameNs.name]=propertiesByName[oldNameNs.localName]=newProperty},DescriptorBuilder.prototype.redefineProperty=function(p,targetPropertyName,replace){var nsPrefix=p.ns.prefix,parts=targetPropertyName.split("#"),name=parseName(parts[0],nsPrefix),attrName=parseName(parts[1],name.prefix).name,redefinedProperty=this.propertiesByName[attrName];if(!redefinedProperty)throw new Error("refined property <"+attrName+"> not found");this.replaceProperty(redefinedProperty,p,replace),delete p.redefines},DescriptorBuilder.prototype.addNamedProperty=function(p,validate){var ns=p.ns,propsByName=this.propertiesByName;validate&&(this.assertNotDefined(p,ns.name),this.assertNotDefined(p,ns.localName)),propsByName[ns.name]=propsByName[ns.localName]=p},DescriptorBuilder.prototype.removeNamedProperty=function(p){var ns=p.ns,propsByName=this.propertiesByName;delete propsByName[ns.name],delete propsByName[ns.localName]},DescriptorBuilder.prototype.setBodyProperty=function(p,validate){if(validate&&this.bodyProperty)throw new Error("body property defined multiple times (<"+this.bodyProperty.ns.name+">, <"+p.ns.name+">)");this.bodyProperty=p},DescriptorBuilder.prototype.setIdProperty=function(p,validate){if(validate&&this.idProperty)throw new Error("id property defined multiple times (<"+this.idProperty.ns.name+">, <"+p.ns.name+">)");this.idProperty=p},DescriptorBuilder.prototype.assertNotDefined=function(p,name){var propertyName=p.name,definedProperty=this.propertiesByName[propertyName];if(definedProperty)throw new Error("property <"+propertyName+"> already defined; override of <"+definedProperty.definedBy.ns.name+"#"+definedProperty.ns.name+"> by <"+p.definedBy.ns.name+"#"+p.ns.name+"> not allowed without redefines")},DescriptorBuilder.prototype.hasProperty=function(name){return this.propertiesByName[name]},DescriptorBuilder.prototype.addTrait=function(t,inherited){var typesByName=this.allTypesByName,types=this.allTypes,typeName=t.name;typeName in typesByName||(minDash.forEach(t.properties,minDash.bind(function(p){p=minDash.assign({},p,{name:p.ns.localName,inherited:inherited}),Object.defineProperty(p,"definedBy",{value:t});var replaces=p.replaces,redefines=p.redefines;replaces||redefines?this.redefineProperty(p,replaces||redefines,replaces):(p.isBody&&this.setBodyProperty(p),p.isId&&this.setIdProperty(p),this.addProperty(p))},this)),types.push(t),typesByName[typeName]=t)},Registry.prototype.getPackage=function(uriOrPrefix){return this.packageMap[uriOrPrefix]},Registry.prototype.getPackages=function(){return this.packages},Registry.prototype.registerPackage=function(pkg){pkg=minDash.assign({},pkg);var pkgMap=this.packageMap;ensureAvailable(pkgMap,pkg,"prefix"),ensureAvailable(pkgMap,pkg,"uri"),minDash.forEach(pkg.types,minDash.bind(function(descriptor){this.registerType(descriptor,pkg)},this)),pkgMap[pkg.uri]=pkgMap[pkg.prefix]=pkg,this.packages.push(pkg)},Registry.prototype.registerType=function(type,pkg){var ns=parseName((type=minDash.assign({},type,{superClass:(type.superClass||[]).slice(),extends:(type.extends||[]).slice(),properties:(type.properties||[]).slice(),meta:minDash.assign(type.meta||{})})).name,pkg.prefix),name=ns.name,propertiesByName={};minDash.forEach(type.properties,minDash.bind(function(p){var propertyNs=parseName(p.name,ns.prefix),propertyName=propertyNs.name;isBuiltIn(p.type)||(p.type=parseName(p.type,propertyNs.prefix).name),minDash.assign(p,{ns:propertyNs,name:propertyName}),propertiesByName[propertyName]=p},this)),minDash.assign(type,{ns:ns,name:name,propertiesByName:propertiesByName}),minDash.forEach(type.extends,minDash.bind(function(extendsName){var extended=this.typeMap[extendsName];extended.traits=extended.traits||[],extended.traits.push(name)},this)),this.definePackage(type,pkg),this.typeMap[name]=type},Registry.prototype.mapTypes=function(nsName,iterator,trait){var type=isBuiltIn(nsName.name)?{name:nsName.name}:this.typeMap[nsName.name],self=this;function traverseTrait(cls){return traverseSuper(cls,!0)}function traverseSuper(cls,trait){var parentNs=parseName(cls,isBuiltIn(cls)?"":nsName.prefix);self.mapTypes(parentNs,iterator,trait)}if(!type)throw new Error("unknown type <"+nsName.name+">");minDash.forEach(type.superClass,trait?traverseTrait:traverseSuper),iterator(type,!trait),minDash.forEach(type.traits,traverseTrait)},Registry.prototype.getEffectiveDescriptor=function(name){var nsName=parseName(name),builder=new DescriptorBuilder(nsName);this.mapTypes(nsName,function(type,inherited){builder.addTrait(type,inherited)});var descriptor=builder.build();return this.definePackage(descriptor,descriptor.allTypes[descriptor.allTypes.length-1].$pkg),descriptor},Registry.prototype.definePackage=function(target,pkg){this.properties.define(target,"$pkg",{value:pkg})},Properties.prototype.set=function(target,name,value){var property=this.model.getPropertyDescriptor(target,name),propertyName=property&&property.name;!function(val){return void 0===val}(value)?property?propertyName in target?target[propertyName]=value:defineProperty(target,property,value):target.$attrs[name]=value:property?delete target[propertyName]:delete target.$attrs[name]},Properties.prototype.get=function(target,name){var property=this.model.getPropertyDescriptor(target,name);if(!property)return target.$attrs[name];var propertyName=property.name;return!target[propertyName]&&property.isMany&&defineProperty(target,property,[]),target[propertyName]},Properties.prototype.define=function(target,name,options){Object.defineProperty(target,name,options)},Properties.prototype.defineDescriptor=function(target,descriptor){this.define(target,"$descriptor",{value:descriptor})},Properties.prototype.defineModel=function(target,model){this.define(target,"$model",{value:model})},Moddle.prototype.create=function(descriptor,attrs){var Type=this.getType(descriptor);if(!Type)throw new Error("unknown type <"+descriptor+">");return new Type(attrs)},Moddle.prototype.getType=function(descriptor){var cache=this.typeCache,name=minDash.isString(descriptor)?descriptor:descriptor.ns.name,type=cache[name];return type||(descriptor=this.registry.getEffectiveDescriptor(name),type=cache[name]=this.factory.createType(descriptor)),type},Moddle.prototype.createAny=function(name,nsUri,properties){var nameNs=parseName(name),element={$type:name,$instanceOf:function(type){return type===this.$type}},descriptor={name:name,isGeneric:!0,ns:{prefix:nameNs.prefix,localName:nameNs.localName,uri:nsUri}};return this.properties.defineDescriptor(element,descriptor),this.properties.defineModel(element,this),this.properties.define(element,"$parent",{enumerable:!1,writable:!0}),minDash.forEach(properties,function(a,key){minDash.isObject(a)&&void 0!==a.value?element[a.name]=a.value:element[key]=a}),element},Moddle.prototype.getPackage=function(uriOrPrefix){return this.registry.getPackage(uriOrPrefix)},Moddle.prototype.getPackages=function(){return this.registry.getPackages()},Moddle.prototype.getElementDescriptor=function(element){return element.$descriptor},Moddle.prototype.hasType=function(element,type){return void 0===type&&(type=element,element=this),type in element.$model.getElementDescriptor(element).allTypesByName},Moddle.prototype.getPropertyDescriptor=function(element,property){return this.getElementDescriptor(element).propertiesByName[property]},Moddle.prototype.getTypeDescriptor=function(type){return this.registry.typeMap[type]},exports.Moddle=Moddle,exports.coerceType=function(type,value){var converter=TYPE_CONVERTERS[type];return converter?converter(value):value},exports.isBuiltInType=isBuiltIn,exports.isSimpleType=function(type){return!!TYPE_CONVERTERS[type]},exports.parseNameNS=parseName},{"min-dash":572}],577:[function(require,module,exports){"use strict";module.exports=require("./lib/refs"),module.exports.Collection=require("./lib/collection")},{"./lib/collection":578,"./lib/refs":579}],578:[function(require,module,exports){"use strict";module.exports.extend=function(collection,refs,property,target){var inverseProperty=property.inverse;return Object.defineProperty(collection,"remove",{value:function(element){var idx=this.indexOf(element);return-1!==idx&&(this.splice(idx,1),refs.unset(element,inverseProperty,target)),element}}),Object.defineProperty(collection,"contains",{value:function(element){return-1!==this.indexOf(element)}}),Object.defineProperty(collection,"add",{value:function(element,idx){var currentIdx=this.indexOf(element);if(void 0===idx){if(-1!==currentIdx)return;idx=this.length}-1!==currentIdx&&this.splice(currentIdx,1),this.splice(idx,0,element),-1===currentIdx&&refs.set(element,inverseProperty,target)}}),Object.defineProperty(collection,"__refs_collection",{value:!0}),collection},module.exports.isExtended=function(collection){return!0===collection.__refs_collection}},{}],579:[function(require,module,exports){"use strict";var Collection=require("./collection");function defineCollectionProperty(ref,property,target){var collection=Collection.extend(target[property.name]||[],ref,property,target);Object.defineProperty(target,property.name,{enumerable:property.enumerable,value:collection}),collection.length&&collection.forEach(function(o){ref.set(o,property.inverse,target)})}function Refs(a,b){if(!(this instanceof Refs))return new Refs(a,b);(a.inverse=b).inverse=a,this.props={},this.props[a.name]=a,this.props[b.name]=b}Refs.prototype.bind=function(target,property){if("string"==typeof property){if(!this.props[property])throw new Error("no property <"+property+"> in ref");property=this.props[property]}property.collection?defineCollectionProperty(this,property,target):function(ref,property,target){var inverseProperty=property.inverse,_value=target[property.name];Object.defineProperty(target,property.name,{configurable:property.configurable,enumerable:property.enumerable,get:function(){return _value},set:function(value){if(value!==_value){var old=_value;_value=null,old&&ref.unset(old,inverseProperty,target),_value=value,ref.set(_value,inverseProperty,target)}}})}(this,property,target)},Refs.prototype.ensureRefsCollection=function(target,property){var collection=target[property.name];return Collection.isExtended(collection)||defineCollectionProperty(this,property,target),collection},Refs.prototype.ensureBound=function(target,property){!function(e,property){return Object.prototype.hasOwnProperty.call(e,property.name||property)}(target,property)&&this.bind(target,property)},Refs.prototype.unset=function(target,property,value){target&&(this.ensureBound(target,property),property.collection?this.ensureRefsCollection(target,property).remove(value):target[property.name]=void 0)},Refs.prototype.set=function(target,property,value){target&&(this.ensureBound(target,property),property.collection?this.ensureRefsCollection(target,property).add(value):target[property.name]=value)},module.exports=Refs},{"./collection":578}],580:[function(require,module,exports){"use strict";var p2s=/,?([a-z]),?/gi,toFloat=parseFloat,math=Math,PI=math.PI,mmin=math.min,mmax=math.max,pow=math.pow,abs=math.abs,pathCommand=/([a-z])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?[\s]*,?[\s]*)+)/gi,pathValues=/(-?\d*\.?\d*(?:e[-+]?\\d+)?)[\s]*,?[\s]*/gi,isArray=Array.isArray||function(o){return o instanceof Array};function hasProperty(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function clone(obj){if("function"==typeof obj||Object(obj)!==obj)return obj;var res=new obj.constructor;for(var key in obj)hasProperty(obj,key)&&(res[key]=clone(obj[key]));return res}function cacher(f){return function newf(){var arg=Array.prototype.slice.call(arguments,0),args=arg.join("␀"),cache=newf.cache=newf.cache||{},count=newf.count=newf.count||[];return hasProperty(cache,args)?function(array,item){for(var i=0,ii=array.length;i=bbox.x&&x<=bbox.x+bbox.width&&y>=bbox.y&&y<=bbox.y+bbox.height}function base3(t,p1,p2,p3,p4){return t*(t*(-3*p1+9*p2-9*p3+3*p4)+6*p1-12*p2+6*p3)-3*p1+3*p2}function bezlen(x1,y1,x2,y2,x3,y3,x4,y4,z){null==z&&(z=1);for(var z2=(z=1mmax(x3,x4)||mmax(y1,y2)mmax(y3,y4))){var ny=(x1*y2-y1*x2)*(y3-y4)-(y1-y2)*(x3*y4-y3*x4),denominator=(x1-x2)*(y3-y4)-(y1-y2)*(x3-x4);if(denominator){var px=fixError(((x1*y2-y1*x2)*(x3-x4)-(x1-x2)*(x3*y4-y3*x4))/denominator),py=fixError(ny/denominator),px2=+px.toFixed(2),py2=+py.toFixed(2);if(!(px2<+mmin(x1,x2).toFixed(2)||px2>+mmax(x1,x2).toFixed(2)||px2<+mmin(x3,x4).toFixed(2)||px2>+mmax(x3,x4).toFixed(2)||py2<+mmin(y1,y2).toFixed(2)||py2>+mmax(y1,y2).toFixed(2)||py2<+mmin(y3,y4).toFixed(2)||py2>+mmax(y3,y4).toFixed(2)))return{x:px,y:py}}}}function fixError(number){return Math.round(1e11*number)/1e11}function findBezierIntersections(bez1,bez2,justCount){if(!function(bbox1,bbox2){return bbox1=rectBBox(bbox1),isPointInsideBBox(bbox2=rectBBox(bbox2),bbox1.x,bbox1.y)||isPointInsideBBox(bbox2,bbox1.x2,bbox1.y)||isPointInsideBBox(bbox2,bbox1.x,bbox1.y2)||isPointInsideBBox(bbox2,bbox1.x2,bbox1.y2)||isPointInsideBBox(bbox1,bbox2.x,bbox2.y)||isPointInsideBBox(bbox1,bbox2.x2,bbox2.y)||isPointInsideBBox(bbox1,bbox2.x,bbox2.y2)||isPointInsideBBox(bbox1,bbox2.x2,bbox2.y2)||(bbox1.xbbox2.x||bbox2.xbbox1.x)&&(bbox1.ybbox2.y||bbox2.ybbox1.y)}(bezierBBox(bez1),bezierBBox(bez2)))return justCount?0:[];for(var l1=bezlen.apply(0,bez1),l2=bezlen.apply(0,bez2),n1=isLine(bez1)?1:~~(l1/5)||1,n2=isLine(bez2)?1:~~(l2/5)||1,dots1=[],dots2=[],xy={},res=justCount?0:[],i=0;i=paramCounts[name]&&(data.push([b].concat(params.splice(0,paramCounts[name]))),paramCounts[name]););}),data.toString=paths.toString,pth.arr=clone(data),data}(pathArray)),!pathArray||!pathArray.length)return[["M",0,0]];var pa0,res=[],x=0,y=0,mx=0,my=0,start=0;"M"==pathArray[0][0]&&(mx=x=+pathArray[0][1],my=y=+pathArray[0][2],start++,res[0]=["M",x,y]);for(var r,pa,i=start,ii=pathArray.length;i_120){var f2old=f2,x2old=x2,y2old=y2;f2=f1+_120*(sweep_flag&&f1",lt:"<",quot:'"'};function replaceEntities(_,d,x,z){return z?hasOwnProperty.call(ENTITY_MAPPING,z)?ENTITY_MAPPING[z]:"&"+z+";":fromCharCode(d||parseInt(x,16))}function decodeEntities(s){return 3"}function getter(getFn){return{get:getFn,enumerable:!0}}function cloneNsMatrix(nsMatrix){var key,clone={};for(key in nsMatrix)clone[key]=nsMatrix[key];return clone}function uriPrefix(prefix){return prefix+"$uri"}function noopGetContext(){return{line:0,column:0}}function throwFunc(err){throw err}exports.Parser=function Parser(options){if(!this)return new Parser(options);var onText,onOpenTag,onCloseTag,onCDATA,onWarning,onComment,onQuestion,onAttention,nsUriToPrefix,proxy=options&&options.proxy,onError=throwFunc,getContext=noopGetContext,maybeNS=!1,isNamespace=!1,returnError=null,parseStop=!1;function handleError(err){err instanceof Error||(err=error(err)),onError(returnError=err,getContext)}function handleWarning(err){onWarning&&(err instanceof Error||(err=error(err)),onWarning(err,getContext))}this.on=function(name,cb){if("function"!=typeof cb)throw error("required args ");switch(name){case"openTag":onOpenTag=cb;break;case"text":onText=cb;break;case"closeTag":onCloseTag=cb;break;case"error":onError=cb;break;case"warn":onWarning=cb;break;case"cdata":onCDATA=cb;break;case"attention":onAttention=cb;break;case"question":onQuestion=cb;break;case"comment":onComment=cb;break;default:throw error("unsupported event: "+name)}return this},this.ns=function(nsMap){if(void 0===nsMap&&(nsMap={}),"object"!==(void 0===nsMap?"undefined":_typeof(nsMap)))throw error("required args ");var k,_nsUriToPrefix={};for(k in nsMap)_nsUriToPrefix[k]=nsMap[k];return _nsUriToPrefix[XSI_URI]=XSI_PREFIX,isNamespace=!0,nsUriToPrefix=_nsUriToPrefix,this},this.parse=function(xml){if("string"!=typeof xml)throw error("required args ");return returnError=null,function(xml){var _nsMatrix,x,y,q,w,v,xmlns,elementName,_elementName,elementProxy,cachedAttrs,nsMatrixStack=isNamespace?[]:null,nsMatrix=isNamespace?function(nsUriToPrefix){var uri,prefix,nsMatrix={};for(uri in nsUriToPrefix)nsMatrix[prefix=nsUriToPrefix[uri]]=prefix,nsMatrix[uriPrefix(prefix)]=uri;return nsMatrix}(nsUriToPrefix):null,nodeStack=[],anonymousNsCount=0,tagStart=!1,tagEnd=!1,i=0,j=0,attrsString="",attrsStart=0;function getAttrs(){if(null!==cachedAttrs)return cachedAttrs;var nsUri,nsUriPrefix,nsName,hasNewMatrix,newalias,value,alias,name,skipAttr,w,j,defaultAlias=isNamespace&&nsMatrix.xmlns,attrList=isNamespace&&maybeNS?[]:null,i=attrsStart,s=attrsString,l=s.length,attrs={},seenAttrs={};parseAttr:for(;i already defined");else if(seenAttrs[name]=!0,isNamespace)if(maybeNS){if(null!==(newalias="xmlns"===name?"xmlns":120===name.charCodeAt(0)&&"xmlns:"===name.substr(0,6)?name.substr(6):null)){if(nsUri=decodeEntities(value),nsUriPrefix=uriPrefix(newalias),!(alias=nsUriToPrefix[nsUri])){if("xmlns"===newalias||nsUriPrefix in nsMatrix&&nsMatrix[nsUriPrefix]!==nsUri)for(;alias="ns"+anonymousNsCount++,void 0!==nsMatrix[alias];);else alias=newalias;nsUriToPrefix[nsUri]=alias}nsMatrix[newalias]!==alias&&(hasNewMatrix||(nsMatrix=cloneNsMatrix(nsMatrix),hasNewMatrix=!0),nsMatrix[newalias]=alias,"xmlns"===newalias&&(nsMatrix[uriPrefix(alias)]=nsUri,defaultAlias=alias),nsMatrix[nsUriPrefix]=nsUri),attrs[name]=value;continue}attrList.push(name,value)}else-1!==(w=name.indexOf(":"))?(nsName=nsMatrix[name.substring(0,w)])?((name=defaultAlias===nsName?name.substr(w+1):nsName+name.substr(w))===XSI_TYPE&&(value=-1!==(w=value.indexOf(":"))?(nsName=value.substring(0,w),(nsName=nsMatrix[nsName]||nsName)+value.substring(w)):defaultAlias+":"+value),attrs[name]=value):handleWarning(missingNamespaceForPrefix(name.substring(0,w))):attrs[name]=value;else attrs[name]=value}if(maybeNS)for(i=0,l=attrList.length;i",i)))return handleError("unclosed cdata");if(onCDATA&&(onCDATA(xml.substring(i+9,j),getContext),parseStop))return;j+=3;continue}if(45===q&&45===xml.charCodeAt(i+3)){if(-1===(j=xml.indexOf("--\x3e",i)))return handleError("unclosed comment");if(onComment&&(onComment(xml.substring(i+4,j),decodeEntities,getContext),parseStop))return;j+=3;continue}}if(63!==w){for(x=i+1;;x++){if(v=xml.charCodeAt(x),isNaN(v))return j=-1,handleError("unclosed tag");if(34===v)q=xml.indexOf('"',x+1),x=-1!==q?q:x;else if(39===v)q=xml.indexOf("'",x+1),x=-1!==q?q:x;else if(62===v){j=x;break}}if(33!==w){if(cachedAttrs={},47===w){if(tagEnd=!(tagStart=!1),!nodeStack.length)return handleError("missing open tag");if(x=elementName=nodeStack.pop(),q=i+2+x.length,xml.substring(i+2,q)!==x)return handleError("closing tag mismatch");for(;q");elementName=elementName.substr(w+1)}else xmlns=nsMatrix.xmlns;xmlns&&(elementName=xmlns+":"+elementName)}if(tagStart&&(attrsStart=q,attrsString=x,onOpenTag&&(proxy?onOpenTag(elementProxy,decodeEntities,tagEnd,getContext):onOpenTag(elementName,getAttrs,decodeEntities,tagEnd,getContext),parseStop)))return;if(tagEnd){if(onCloseTag&&(onCloseTag(proxy?elementProxy:elementName,decodeEntities,tagStart,getContext),parseStop))return;isNamespace&&(nsMatrix=tagStart?_nsMatrix:nsMatrixStack.pop())}j+=1}else{if(onAttention&&(onAttention(xml.substring(i,j+1),decodeEntities,getContext),parseStop))return;j+=1}}else{if(-1===(j=xml.indexOf("?>",i)))return handleError("unclosed question");if(onQuestion&&(onQuestion(xml.substring(i,j+2),getContext),parseStop))return;j+=2}}}(xml),getContext=noopGetContext,parseStop=!1,returnError},this.stop=function(){parseStop=!0}},exports.decode=decodeEntities},{}],582:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=create;var obj,_minDom=require("min-dom"),_minDash=require("min-dash"),_mitt=require("mitt"),_mitt2=(obj=_mitt)&&obj.__esModule?obj:{default:obj};var DEFAULT_OPTIONS={scrollSymbolLeft:"‹",scrollSymbolRight:"›"};function ScrollTabs($el,options){(0,_minDash.assign)(this,(0,_mitt2.default)()),this.options=options=(0,_minDash.assign)({},DEFAULT_OPTIONS,options),this.container=$el,this._createScrollButtons($el,options),this._bindEvents($el)}function create($el,options){var scrollTabs=get($el);return scrollTabs||(scrollTabs=new ScrollTabs($el,options),$el.__scrollTabs=scrollTabs),scrollTabs}function get($el){return $el.__scrollTabs}ScrollTabs.prototype._createButton=function(parentNode,options){var className=options.className,direction=options.direction,button=(0,_minDom.query)("."+className,parentNode);return button||(button=(0,_minDom.domify)(''+options.label+""),parentNode.insertBefore(button,parentNode.childNodes[0])),(0,_minDom.attr)(button,"data-direction",direction),button},ScrollTabs.prototype._createScrollButtons=function(parentNode,options){this._createButton(parentNode,{className:"scroll-tabs-left",label:options.scrollSymbolLeft,direction:-1}),this._createButton(parentNode,{className:"scroll-tabs-right",label:options.scrollSymbolRight,direction:1})},ScrollTabs.prototype.getActiveTabNode=function(){return(0,_minDom.query)(this.options.selectors.active,this.container)},ScrollTabs.prototype.getTabsContainerNode=function(){return(0,_minDom.query)(this.options.selectors.tabsContainer,this.container)},ScrollTabs.prototype.getAllTabNodes=function(){return(0,_minDom.queryAll)(this.options.selectors.tab,this.container)},ScrollTabs.prototype.getVisibleTabs=function(){var allTabs=this.getAllTabNodes(),ignore=this.options.selectors.ignore;return(0,_minDash.filter)(allTabs,function(tabNode){return!(0,_minDom.matches)(tabNode,ignore)})},ScrollTabs.prototype.getAdjacentTab=function(referenceTabNode,n){var visibleTabs=this.getVisibleTabs(),index=visibleTabs.indexOf(referenceTabNode);return visibleTabs[index+n]},ScrollTabs.prototype._bindEvents=function(node){this._bindWheelEvent(node),this._bindTabClickEvents(node),this._bindScrollButtonEvents(node)},ScrollTabs.prototype._bindTabClickEvents=function(node){var selector=this.options.selectors.tab,self=this;_minDom.delegate.bind(node,selector,"click",function(event){self.scrollToTabNode(event.delegateTarget)})},ScrollTabs.prototype._bindWheelEvent=function(node){var self=this;_minDom.event.bind(node,"wheel",function(e){var direction=Math.sign(e.deltaY),oldActiveTab=self.getActiveTabNode(),newActiveTab=self.getAdjacentTab(oldActiveTab,direction);newActiveTab&&(self.scrollToTabNode(newActiveTab),self.emit("scroll",newActiveTab,oldActiveTab,direction)),e.preventDefault()})},ScrollTabs.prototype._bindScrollButtonEvents=function(node){var self=this;_minDom.delegate.bind(node,".scroll-tabs-button","click",function(event){var target=event.delegateTarget,direction=parseInt((0,_minDom.attr)(target,"data-direction"),10),oldActiveTabNode=self.getActiveTabNode(),newActiveTabNode=self.getAdjacentTab(oldActiveTabNode,direction);newActiveTabNode&&(self.scrollToTabNode(newActiveTabNode),self.emit("scroll",newActiveTabNode,oldActiveTabNode,direction)),event.preventDefault()})},ScrollTabs.prototype.scrollToTabNode=function(tabNode){if(tabNode){var tabsContainerNode=tabNode.parentNode,tabWidth=tabNode.offsetWidth,tabOffsetLeft=tabNode.offsetLeft,tabOffsetRight=tabOffsetLeft+tabWidth,containerWidth=tabsContainerNode.offsetWidth;tabOffsetLefttabsContainerNode.offsetWidth;(0,_minDom.classes)(this.container).toggle("scroll-tabs-overflow",overflow),overflow&&this.scrollToTabNode(this.getActiveTabNode())},create.get=get},{"min-dash":572,"min-dom":573,mitt:574}],583:[function(require,module,exports){"use strict";function range(start,end){return{start:start,end:void 0===end?start:end}}module.exports=function(currentSelection,currentValue,newValue){var currentCursor=currentSelection.start,newCursor=currentCursor,diff=newValue.length-currentValue.length,currentTail=(newValue.length,currentValue.length,currentValue.substring(currentCursor));return newValue.lastIndexOf(currentTail)===newValue.length-currentTail.length&&(currentValue=currentValue.substring(0,currentValue.length-currentTail.length),newValue=newValue.substring(0,newValue.length-currentTail.length)),(diff=function(currentValue,newValue){var insert,l_str,l_char,s_str,s_char,l_idx=0,s_idx=0;s_str=newValue.length>currentValue.length?(l_str=newValue,currentValue):(l_str=currentValue,newValue);for(;l_idxcurrentValue.length?{newStart:insert.l_start,newEnd:insert.l_end,type:"add"}:{newStart:insert.s_start,newEnd:insert.s_end,type:newValue.length"+svg+"",unwrap=!0);var parsed=function(svg){var parser;return(parser=new DOMParser).async=!1,parser.parseFromString(svg,"text/xml")}(svg);if(!unwrap)return parsed;for(var fragment=document.createDocumentFragment(),parent=parsed.firstChild;parent.firstChild;)fragment.appendChild(parent.firstChild);return fragment}function create(name,attrs){var element;return element="<"===name.charAt(0)?(element=parse(name).firstChild,document.importNode(element,!0)):document.createElementNS(ns.svg,name),attrs&&attr(element,attrs),element}var node=create("svg");function extend(object,props){var i,k,keys=Object.keys(props);for(i=0;k=keys[i];i++)object[k]=props[k];return object}var TEXT_ENTITIES=/([&<>]{1})/g,ATTR_ENTITIES=/([\n\r"]{1})/g,ENTITY_REPLACEMENT={"&":"&","<":"<",">":">",'"':"'"};function escape(str,pattern){return str.replace(pattern,function(match,entity){return ENTITY_REPLACEMENT[entity]||entity})}function serialize(node,output){var i,len,attrMap,attrNode,childNodes;switch(node.nodeType){case 3:output.push(escape(node.textContent,TEXT_ENTITIES));break;case 1:if(output.push("<",node.tagName),node.hasAttributes())for(i=0,len=(attrMap=node.attributes).length;i"),i=0,len=(childNodes=node.childNodes).length;i")}else output.push("/>");break;case 8:output.push("\x3c!--",escape(node.nodeValue,TEXT_ENTITIES),"--\x3e");break;case 4:output.push("");break;default:throw new Error("unable to handle node "+node.nodeType)}return output}function set(element,svg){var parsed=parse(svg);if(clear(element),svg){!function(node){return"#document-fragment"===node.nodeName}(parsed)&&(parsed=parsed.documentElement);for(var nodes=function(arr){return Array.prototype.slice.call(arr)}(parsed.childNodes),i=0;i defined");event.preventDefault(),action(event)}var delegates={};function parseActionAttr(element){var match=(0,_jquery2.default)(element).attr("jsaction").split(/:(.+$)/,2);return{event:match[0],name:match[1]}}(0,_jquery2.default)("[jsaction]").each(function(){var jsaction=parseActionAttr((0,_jquery2.default)(this)),event=jsaction.event;delegates[event]||((0,_jquery2.default)(document.body).on(event,"[jsaction]",actionListener),delegates[event]=!0);var name=jsaction.name;if(!modelerActions[name])throw new Error("no action <"+name+"> defined")}),(0,_jquery2.default)("#editForm\\:workflowTabView\\:js-create-diagram").click(function(e){e.stopPropagation(),e.preventDefault(),openDiagram(_initialDiagram2.default)}),(0,_jquery2.default)("#editForm\\:workflowTabView\\:btnReadXmlDiagram").click(function(e){e.stopPropagation(),e.preventDefault(),function(){var placeholderForDiagram=document.getElementById("editForm:workflowTabView:xmlDiagram");placeholderForDiagram?openDiagram(placeholderForDiagram.value):alert("diagram is empty!")}()})})},{"../resources/initialDiagram.bpmn":585,"./descriptors/template":586,"./provider/template":589,"bpmn-js-properties-panel":1,"bpmn-js/lib/Modeler":47,jquery:367,"min-dash":572}],588:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=TemplatePropertiesProvider;var _inherits2=_interopRequireDefault(require("inherits")),_PropertiesActivator2=_interopRequireDefault(require("bpmn-js-properties-panel/lib/PropertiesActivator")),_ProcessProps2=_interopRequireDefault(require("bpmn-js-properties-panel/lib/provider/bpmn/parts/ProcessProps")),_EventProps2=_interopRequireDefault(require("bpmn-js-properties-panel/lib/provider/bpmn/parts/EventProps")),_LinkProps2=_interopRequireDefault(require("bpmn-js-properties-panel/lib/provider/bpmn/parts/LinkProps")),_IdProps2=_interopRequireDefault(require("bpmn-js-properties-panel/lib/provider/bpmn/parts/IdProps")),_ConditionalProps2=(_interopRequireDefault(require("bpmn-js-properties-panel/lib/provider/bpmn/parts/NameProps")),_interopRequireDefault(require("bpmn-js-properties-panel/lib/provider/camunda/parts/ConditionalProps"))),_ScriptTaskProperties2=_interopRequireDefault(require("./parts/ScriptTaskProperties")),_TaskProperties2=_interopRequireDefault(require("./parts/TaskProperties")),_PermissionProperties2=_interopRequireDefault(require("./parts/PermissionProperties")),_ConditionProperties2=_interopRequireDefault(require("./parts/ConditionProperties")),_KitodoNameProps2=_interopRequireDefault(require("./parts/KitodoNameProps"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var is=require("bpmn-js/lib/util/ModelUtil").is;function TemplatePropertiesProvider(eventBus,bpmnFactory,elementRegistry,translate){_PropertiesActivator2.default.call(this,eventBus),this.getTabs=function(element){return[{id:"general",label:getLocalizedStringForKey("propertiesLabel"),groups:function(element,bpmnFactory,elementRegistry,translate){var title="";(is(element,"bpmn:Task")||is(element,"bpmn:StartEvent")||is(element,"bpmn:EndEvent"))&&(title=getLocalizedStringForKey("generalGroupLabel"));var generalGroup={id:"general",label:title,entries:[]};(0,_IdProps2.default)(generalGroup,element,translate),(0,_KitodoNameProps2.default)(generalGroup,element,translate),(0,_ProcessProps2.default)(generalGroup,element,translate);var detailsGroup={id:"details",label:getLocalizedStringForKey("detailsGroupLabel"),entries:[]};(0,_LinkProps2.default)(detailsGroup,element,translate),(0,_EventProps2.default)(detailsGroup,element,bpmnFactory,elementRegistry,translate),(0,_ConditionalProps2.default)(detailsGroup,element,bpmnFactory,translate);var taskGroup={id:"task",label:getLocalizedStringForKey("taskGroupLabel"),entries:[]};(0,_TaskProperties2.default)(taskGroup,element);var scriptTaskGroup={id:"scriptTask",label:getLocalizedStringForKey("scriptGroupLabel"),entries:[]};return(0,_ScriptTaskProperties2.default)(scriptTaskGroup,element),[generalGroup,taskGroup,scriptTaskGroup]}(element,bpmnFactory,elementRegistry,translate)},{id:"permissions",label:getLocalizedStringForKey("permissionsLabel"),groups:function(element){var permissionGroup={id:"permission",label:getLocalizedStringForKey("conditionLabel"),entries:[]};return(0,_PermissionProperties2.default)(permissionGroup,element),[permissionGroup]}(element)},{id:"conditions",label:getLocalizedStringForKey("conditionLabel"),groups:function(element){var conditionGroup={id:"condition",label:getLocalizedStringForKey("conditionLabel"),entries:[]};return(0,_ConditionProperties2.default)(conditionGroup,element),[conditionGroup]}(element)}]}}(0,_inherits2.default)(TemplatePropertiesProvider,_PropertiesActivator2.default)},{"./parts/ConditionProperties":590,"./parts/KitodoNameProps":591,"./parts/PermissionProperties":592,"./parts/ScriptTaskProperties":593,"./parts/TaskProperties":594,"bpmn-js-properties-panel/lib/PropertiesActivator":2,"bpmn-js-properties-panel/lib/provider/bpmn/parts/EventProps":28,"bpmn-js-properties-panel/lib/provider/bpmn/parts/IdProps":29,"bpmn-js-properties-panel/lib/provider/bpmn/parts/LinkProps":30,"bpmn-js-properties-panel/lib/provider/bpmn/parts/NameProps":31,"bpmn-js-properties-panel/lib/provider/bpmn/parts/ProcessProps":32,"bpmn-js-properties-panel/lib/provider/camunda/parts/ConditionalProps":43,"bpmn-js/lib/util/ModelUtil":173,inherits:366}],589:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_TemplatePropertiesProvider=require("./TemplatePropertiesProvider"),_TemplatePropertiesProvider2=(obj=_TemplatePropertiesProvider)&&obj.__esModule?obj:{default:obj};exports.default={__init__:["propertiesProvider"],propertiesProvider:["type",_TemplatePropertiesProvider2.default]}},{"./TemplatePropertiesProvider":588}],590:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(group,element){(0,_ModelUtil.is)(element,"bpmn:Task")&&(group.entries.push(_EntryFactory2.default.selectBox({id:"conditionType",description:getLocalizedStringForKey("kitodoConditionTypeDescription"),label:getLocalizedStringForKey("kitodoConditionType"),selectOptions:[{name:getLocalizedStringForKey("kitodoConditionTypeScript"),value:"script"},{name:getLocalizedStringForKey("kitodoConditionTypeXPath"),value:"xpath"}],modelProperty:"kitodoConditionType"})),group.entries.push(_EntryFactory2.default.textField({id:"conditionValue",description:getLocalizedStringForKey("kitodoConditionValueDescription"),label:getLocalizedStringForKey("kitodoConditionValue"),modelProperty:"kitodoConditionValue"})))};var obj,_EntryFactory=require("bpmn-js-properties-panel/lib/factory/EntryFactory"),_EntryFactory2=(obj=_EntryFactory)&&obj.__esModule?obj:{default:obj},_ModelUtil=require("bpmn-js/lib/util/ModelUtil")},{"bpmn-js-properties-panel/lib/factory/EntryFactory":13,"bpmn-js/lib/util/ModelUtil":173}],591:[function(require,module,exports){"use strict";var obj,_EntryFactory=require("bpmn-js-properties-panel/lib/factory/EntryFactory"),_EntryFactory2=(obj=_EntryFactory)&&obj.__esModule?obj:{default:obj};var is=require("bpmn-js/lib/util/ModelUtil").is,getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,cmdHelper=require("bpmn-js-properties-panel/lib/helper/CmdHelper");require("diagram-js/lib/core/ElementRegistry").get,require("diagram-js/lib/core/EventBus");module.exports=function(group,element,translate){if(!is(element,"bpmn:Collaboration")){var options;is(element,"bpmn:TextAnnotation")&&(options={modelProperty:"text"}),options={id:"name",label:"Name",modelProperty:"name",get:function(){var res={},assignedName=getBusinessObject(element).get(options.modelProperty);return null==assignedName?is(element,"bpmn:Task")?res[options.modelProperty]=getLocalizedStringForKey("taskDefaultName"):is(element,"bpmn:StartEvent")?res[options.modelProperty]=getLocalizedStringForKey("startEventDefaultName"):is(element,"bpmn:EndEvent")&&(res[options.modelProperty]=getLocalizedStringForKey("endEventDefaultName")):res[options.modelProperty]=assignedName,cmdHelper.updateProperties(element,res),res}};var nameEntryTextBox=_EntryFactory2.default.textBox(options);is(element,"bpmn:Task")||is(element,"bpmn:StartEvent")||is(element,"bpmn:EndEvent")||(nameEntryTextBox.cssClasses=["hidden"]),group.entries=group.entries.concat(nameEntryTextBox)}}},{"bpmn-js-properties-panel/lib/factory/EntryFactory":13,"bpmn-js-properties-panel/lib/helper/CmdHelper":23,"bpmn-js/lib/util/ModelUtil":173,"diagram-js/lib/core/ElementRegistry":187,"diagram-js/lib/core/EventBus":188}],592:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(group,element){(0,_ModelUtil.is)(element,"bpmn:Task")&&$.each(availableUserRoles,function(index,value){var permissionCheckbox=_EntryFactory2.default.checkbox({id:"permittedUserRole_"+value.value,description:"",label:value.name,modelProperty:"permittedUserRole_"+index});permissionCheckbox.get=function(element){var res={},assignedRoles=getBusinessObject(element).get("permittedUserRole");if(null==assignedRoles)return res["permittedUserRole_"+index]=!1,res;var isSet=assignedRoles.split(",").indexOf(value.value);return res["permittedUserRole_"+index]=-1!==isSet,res},permissionCheckbox.set=function(element,values){var rolesArray,res={},assignedRoles=getBusinessObject(element).get("permittedUserRole");rolesArray=null==assignedRoles?(assignedRoles="",[]):assignedRoles.split(",");var checkboxValue=values["permittedUserRole_"+index];if(null==checkboxValue){var position=rolesArray.indexOf(value.value);rolesArray.splice(position,1)}1==checkboxValue&&rolesArray.push(value.value);var propertyString=rolesArray.join(",");return","==propertyString.charAt(0)&&(propertyString=propertyString.substr(1)),res.permittedUserRole=propertyString,cmdHelper.updateProperties(element,res)},group.entries.push(permissionCheckbox)})};var obj,_EntryFactory=require("bpmn-js-properties-panel/lib/factory/EntryFactory"),_EntryFactory2=(obj=_EntryFactory)&&obj.__esModule?obj:{default:obj},_ModelUtil=require("bpmn-js/lib/util/ModelUtil");var getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,cmdHelper=require("bpmn-js-properties-panel/lib/helper/CmdHelper")},{"bpmn-js-properties-panel/lib/factory/EntryFactory":13,"bpmn-js-properties-panel/lib/helper/CmdHelper":23,"bpmn-js/lib/util/ModelUtil":173}],593:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(group,element){(0,_ModelUtil.is)(element,"bpmn:ScriptTask")&&(group.entries.push(_EntryFactory2.default.textField({id:"scriptName",description:getLocalizedStringForKey("scriptNameDescription"),label:getLocalizedStringForKey("scriptName"),modelProperty:"scriptName"})),group.entries.push(_EntryFactory2.default.textField({id:"scriptPath",description:getLocalizedStringForKey("scriptPathDescription"),label:getLocalizedStringForKey("scriptPath"),modelProperty:"scriptPath"})))};var obj,_EntryFactory=require("bpmn-js-properties-panel/lib/factory/EntryFactory"),_EntryFactory2=(obj=_EntryFactory)&&obj.__esModule?obj:{default:obj},_ModelUtil=require("bpmn-js/lib/util/ModelUtil")},{"bpmn-js-properties-panel/lib/factory/EntryFactory":13,"bpmn-js/lib/util/ModelUtil":173}],594:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(group,element){(0,_ModelUtil.is)(element,"bpmn:Task")&&(group.entries.push(_EntryFactory2.default.checkbox({id:"correction",description:getLocalizedStringForKey("correctionDescription"),label:getLocalizedStringForKey("correction"),modelProperty:"correction"})),group.entries.push(_EntryFactory2.default.selectBox({id:"processingStatus",description:getLocalizedStringForKey("processingstatusDescription"),label:getLocalizedStringForKey("processingstatus"),selectOptions:[{name:getLocalizedStringForKey("locked"),value:0},{name:getLocalizedStringForKey("closed"),value:3}],modelProperty:"processingStatus"})),group.entries.push(_EntryFactory2.default.checkbox({id:"typeMetadata",description:getLocalizedStringForKey("metadataDescription"),label:getLocalizedStringForKey("metadata"),modelProperty:"typeMetadata"})),group.entries.push(_EntryFactory2.default.checkbox({id:"separateStructure",description:getLocalizedStringForKey("separateStructureDescription"),label:getLocalizedStringForKey("separateStructure"),modelProperty:"separateStructure"})),group.entries.push(_EntryFactory2.default.checkbox({id:"typeImagesRead",description:getLocalizedStringForKey("typeImagesReadDescription"),label:getLocalizedStringForKey("typeImagesRead"),modelProperty:"typeImagesRead"})),group.entries.push(_EntryFactory2.default.checkbox({id:"typeImagesWrite",description:getLocalizedStringForKey("typeImagesWriteDescription"),label:getLocalizedStringForKey("typeImagesWrite"),modelProperty:"typeImagesWrite"})),group.entries.push(_EntryFactory2.default.checkbox({id:"typeGenerateImages",description:getLocalizedStringForKey("typeGenerateImagesDescription"),label:getLocalizedStringForKey("typeGenerateImages"),modelProperty:"typeGenerateImages"})),group.entries.push(_EntryFactory2.default.checkbox({id:"typeValidateImages",description:getLocalizedStringForKey("typeValidateImagesDescription"),label:getLocalizedStringForKey("typeValidateImages"),modelProperty:"typeValidateImages"})),group.entries.push(_EntryFactory2.default.checkbox({id:"typeExportDMS",description:getLocalizedStringForKey("typeExportDMSDescription"),label:getLocalizedStringForKey("typeExportDMS"),modelProperty:"typeExportDMS"})),group.entries.push(_EntryFactory2.default.checkbox({id:"typeCloseVerify",description:getLocalizedStringForKey("typeCloseVerifyDescription"),label:getLocalizedStringForKey("typeCloseVerify"),modelProperty:"typeCloseVerify"})),group.entries.push(_EntryFactory2.default.checkbox({id:"typeAcceptClose",description:getLocalizedStringForKey("typeAcceptCloseDescription"),label:getLocalizedStringForKey("typeAcceptClose"),modelProperty:"typeAcceptClose"})),group.entries.push(_EntryFactory2.default.checkbox({id:"typeAutomatic",description:getLocalizedStringForKey("typeAutomaticDescription"),label:getLocalizedStringForKey("typeAutomatic"),modelProperty:"typeAutomatic"})),group.entries.push(_EntryFactory2.default.checkbox({id:"batchStep",description:getLocalizedStringForKey("batchStepDescription"),label:getLocalizedStringForKey("batchStep"),modelProperty:"batchStep"})),group.entries.push(_EntryFactory2.default.checkbox({id:"concurrent",description:getLocalizedStringForKey("concurrentDescription"),label:getLocalizedStringForKey("concurrent"),modelProperty:"concurrent"})))};var obj,_EntryFactory=require("bpmn-js-properties-panel/lib/factory/EntryFactory"),_EntryFactory2=(obj=_EntryFactory)&&obj.__esModule?obj:{default:obj},_ModelUtil=require("bpmn-js/lib/util/ModelUtil")},{"bpmn-js-properties-panel/lib/factory/EntryFactory":13,"bpmn-js/lib/util/ModelUtil":173}]},{},[587,589,590,591,592,593,594,588]),de_DE={generalGroupLabel:"Allgemeine Eigenschaften",taskGroupLabel:"Aufgaben Eigenschaften",scriptGroupLabel:"Skript Eigenschaften",detailsGroupLabel:"Details",propertiesLabel:"Eigenschaften",permissionsLabel:"Berechtigungen",conditionLabel:"Bedingungen",correction:"Korrektur",correctionDescription:" ",processingstatus:"Bearbeitungsstatus",processingstatusDescription:" ",locked:"Gesperrt",closed:"Abgeschlossen",metadata:"Metadaten",metadataDescription:"Metadaten in der Aufgabe bearbeiten?",separateStructure:"Erweiterter Strukturbaum",separateStructureDescription:" ",typeImagesRead:"Bilder lesen",typeImagesReadDescription:" ",typeImagesWrite:"Bilder schreiben",typeImagesWriteDescription:" ",typeGenerateImages:"Bilder generieren",typeGenerateImagesDescription:" ",typeValidateImages:"Bilder validieren",typeValidateImagesDescription:" ",typeExportDMS:"Export DMS",typeExportDMSDescription:" ",typeCloseVerify:"Beim Abschluss validieren",typeCloseVerifyDescription:" ",typeAcceptClose:"Nach dem Annehmen schließen",typeAcceptCloseDescription:" ",typeAutomatic:"Automatisch",typeAutomaticDescription:"Ist es eine automatische Aufgabe?",batchStep:"Stapelverarbeitung",batchStepDescription:" ",concurrent:"Parallele Aufgabe",concurrentDescription:" ",scriptName:"Skript",scriptNameDescription:"Name des Skripts einfügen",scriptPath:"Skript Pfad",scriptPathDescription:"Pfad zum Skript einfügen",kitodoConditionType:" ",kitodoConditionTypeDescription:" ",kitodoConditionTypeScript:"Script",kitodoConditionTypeXPath:"XPath",kitodoConditionValue:"Wert",kitodoConditionValueDescription:" ",taskDefaultName:"Aufgabe",startEventDefaultName:"Start",endEventDefaultName:"Ende"},en_EN={generalGroupLabel:"General Properties",taskGroupLabel:"Task Properties",scriptGroupLabel:"Script Properties",detailsGroupLabel:"Details",propertiesLabel:"Properties",permissionsLabel:"Permissions",conditionLabel:"Conditions",correction:"Correction",correctionDescription:" ",processingstatus:"Processing status",processingstatusDescription:" ",locked:"Locked",closed:"Closed",metadata:"Metadata",metadataDescription:"Is it task metadata type?",separateStructure:"Extended Structure Tree",separateStructureDescription:" ",typeImagesRead:"Read images",typeImagesReadDescription:" ",typeImagesWrite:"Write Images",typeImagesWriteDescription:" ",typeGenerateImages:"Generate Images",typeGenerateImagesDescription:" ",typeValidateImages:"Validate Images",typeValidateImagesDescription:" ",typeExportDMS:"Export DMS",typeExportDMSDescription:" ",typeCloseVerify:"Validate on Exit",typeCloseVerifyDescription:" ",typeAcceptClose:"Finalise task after accepting",typeAcceptCloseDescription:" ",typeAutomatic:"Automatic Task",typeAutomaticDescription:"Is it task automatic type?",batchStep:"Batch Task",batchStepDescription:" ",concurrent:"Concurrent Task",concurrentDescription:" ",scriptName:"Script Name",scriptNameDescription:"Insert script name",scriptPath:"Script Path",scriptPathDescription:"Insert script path",kitodoConditionType:" ",kitodoConditionTypeDescription:" ",kitodoConditionTypeScript:"Script",kitodoConditionTypeXPath:"XPath",kitodoConditionValue:"Value",kitodoConditionValueDescription:" ",taskDefaultName:"Task",startEventDefaultName:"Start",endEventDefaultName:"End"}; \ No newline at end of file +!function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){return o(e[i][1][r]||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i
'),this._bindListeners(this._container),config&&config.parent&&this.attachTo(config.parent)},PropertiesPanel.prototype.attachTo=function(parentNode){if(!parentNode)throw new Error("parentNode required");this.detach(),parentNode.get&&parentNode.constructor.prototype.jquery&&(parentNode=parentNode.get(0)),"string"==typeof parentNode&&(parentNode=domQuery(parentNode));var container=this._container;parentNode.appendChild(container),this._emit("attach")},PropertiesPanel.prototype.detach=function(){var container=this._container,parentNode=container.parentNode;parentNode&&(this._emit("detach"),parentNode.removeChild(container))},PropertiesPanel.prototype.activateTab=function(tab){var tabId="string"==typeof tab?tab:tab.id,panelNode=this._current.panel,allTabNodes=domQueryAll(".bpp-properties-tab",panelNode),allTabLinkNodes=domQueryAll(".bpp-properties-tab-link",panelNode);forEach(allTabNodes,function(tabNode){var currentTabId=domAttr(tabNode,"data-tab");domClasses(tabNode).toggle("bpp-active",tabId===currentTabId)}),forEach(allTabLinkNodes,function(tabLinkNode){var tabLink=domQuery("[data-tab-target]",tabLinkNode),currentTabId=domAttr(tabLink,"data-tab-target");domClasses(tabLinkNode).toggle("bpp-active",tabId===currentTabId)})},PropertiesPanel.prototype.update=function(element){var current=this._current,needsCreate=!0;void 0===element&&(element=this._canvas.getRootElement());var newTabs=this._propertiesProvider.getTabs(element);if(current&¤t.element===element&&(needsCreate=this._entriesChanged(current,newTabs)),needsCreate){if(current){var activeTabId,activeTabNode=domQuery(".bpp-properties-tab.bpp-active",current.panel);activeTabNode&&(activeTabId=domAttr(activeTabNode,"data-tab")),domRemove(current.panel)}this._current=this._create(element,newTabs),activeTabId?this.activateTab(activeTabId):this.activateTab(this._current.tabs[0])}this._current&&this._updateActivation(this._current),this._emit("changed")},PropertiesPanel.prototype._entriesChanged=function(current,newTabs){var oldEntryIds=keys(current.entries),newEntryIds=keys(extractEntries(newTabs));return!isEmpty(xor(oldEntryIds,newEntryIds))},PropertiesPanel.prototype._emit=function(event){this._eventBus.fire("propertiesPanel."+event,{panel:this,current:this._current})},PropertiesPanel.prototype._bindListeners=function(container){var self=this,handleChange=function(event){var entryId,entry,inputNode=event.delegateTarget,entryNode=domClosest(inputNode,"[data-entry]");if(entryNode){entryId=domAttr(entryNode,"data-entry"),entry=self.getEntry(entryId);var values=getFormControlValues(entryNode);if("change"===event.type){var onChangeAction=domAttr(inputNode,"data-on-change");if(onChangeAction)if(!self.executeAction(entry,entryNode,onChangeAction,event))return self.update(self._current.element)}self.applyChanges(entry,values,entryNode),self.updateState(entry,entryNode)}};domDelegate.bind(container,"input, textarea, [contenteditable]","input",debounce(handleChange,300)),domDelegate.bind(container,"input, textarea, select, [contenteditable]","change",handleChange),domDelegate.bind(container,"[contenteditable]","paste",function(event){var text=(event.clipboardData||window.clipboardData).getData("text");document.execCommand("insertText",!1,text),event.preventDefault()}),domDelegate.bind(container,"select","keydown",function(e){46===e.keyCode&&(e.stopPropagation(),e.preventDefault())}),domDelegate.bind(container,"[data-action]","click",function(event){var inputNode=event.delegateTarget,entryNode=domClosest(inputNode,"[data-entry]"),actionId=domAttr(inputNode,"data-action"),entryId=domAttr(entryNode,"data-entry"),entry=self.getEntry(entryId);if(self.executeAction(entry,entryNode,actionId,event)){var values=getFormControlValues(entryNode);self.applyChanges(entry,values,entryNode)}self.updateState(entry,entryNode)}),domDelegate.bind(container,"[data-blur]","blur",function(event,element){var inputNode=event.delegateTarget,entryNode=domClosest(inputNode,"[data-entry]");if(entryNode){var eventHandlerId=domAttr(inputNode,"data-blur"),entryId=domAttr(entryNode,"data-entry"),entry=self.getEntry(entryId);if(self.executeAction(entry,entryNode,eventHandlerId,event)){var values=getFormControlValues(entryNode);self.applyChanges(entry,values,entryNode)}self.updateState(entry,entryNode)}},!0),domDelegate.bind(container,".bpp-properties-tabs-links [data-tab-target]","click",function(event){event.preventDefault();var delegateTarget=event.delegateTarget,tabId=domAttr(delegateTarget,"data-tab-target");self.activateTab(tabId)})},PropertiesPanel.prototype.updateState=function(entry,entryNode){this.updateShow(entry,entryNode),this.updateDisable(entry,entryNode)},PropertiesPanel.prototype.updateShow=function(entry,node){var current=this._current;if(current){var showNodes=domQueryAll("[data-show]",node)||[];forEach(showNodes,function(showNode){var expr=domAttr(showNode,"data-show"),fn=get(entry,expr);if(fn){var scope=domClosest(showNode,"[data-scope]")||node;fn(current.element,node,showNode,scope)||!1?domClasses(showNode).remove(HIDE_CLASS):domClasses(showNode).add(HIDE_CLASS)}})}},PropertiesPanel.prototype.updateDisable=function(entry,node){var current=this._current;if(current){var nodes=domQueryAll("[data-disable]",node)||[];forEach(nodes,function(currentNode){var expr=domAttr(currentNode,"data-disable"),fn=get(entry,expr);if(fn){var scope=domClosest(currentNode,"[data-scope]")||node,shouldDisable=fn(current.element,node,currentNode,scope)||!1;domAttr(currentNode,"disabled",shouldDisable?"":null)}})}},PropertiesPanel.prototype.executeAction=function(entry,entryNode,actionId,event){var current=this._current;if(current){var fn=get(entry,actionId);if(fn){var scopeNode=domClosest(event.target,"[data-scope]")||entryNode;return fn.apply(entry,[current.element,entryNode,event,scopeNode])}}},PropertiesPanel.prototype.applyChanges=function(entry,values,containerElement){var element=this._current.element;if(!function(values,oldValues){return isArray(values)?values.length===oldValues.length&&values.every(function(v,idx){return valueEqual(v,oldValues[idx])}):valueEqual(values,oldValues)}(values,entry.oldValues)){var commandToExecute,command=entry.set(element,values,containerElement);isArray(command)?command.length&&(commandToExecute={cmd:"properties-panel.multi-command-executor",context:flattenDeep(command)}):commandToExecute=command,commandToExecute?this._commandStack.execute(commandToExecute.cmd,commandToExecute.context||{element:element}):this.update(element)}},PropertiesPanel.prototype.applyValidationErrors=function(validationErrors,entryNode){var valid=!0,controlNodes=getFormControls(entryNode,!0);return forEach(controlNodes,function(controlNode){var name=domAttr(controlNode,"name")||domAttr(controlNode,"data-name"),error=validationErrors&&validationErrors[name],errorMessageNode=domQuery(".bpp-error-message",controlNode.parentNode);error?(valid=!1,errorMessageNode||(errorMessageNode=domify("
"),domClasses(errorMessageNode).add("bpp-error-message"),controlNode.parentNode.insertBefore(errorMessageNode,controlNode.nextSibling)),errorMessageNode.textContent=error,domClasses(controlNode).add("invalid")):(domClasses(controlNode).remove("invalid"),errorMessageNode&&controlNode.parentNode.removeChild(errorMessageNode))}),valid},PropertiesPanel.prototype.validate=function(entry,values,entryNode){var current=this._current,valid=!0;if(entryNode=entryNode||domQuery('[data-entry="'+entry.id+'"]',current.panel),values instanceof Array)for(var listEntryNodes=domQuery("[data-list-entry-container]",entryNode).children||[],i=0;i
'),headerNode=domify('
'),tabBarNode=domify('
'),tabLinksNode=domify(''),tabContainerNode=domify('
');return panelNode.appendChild(headerNode),forEach(tabs,function(tab,tabIndex){if(!tab.id)throw new Error("tab must have an id");var tabNode=domify('
'),tabLinkNode=domify('"),groups=tab.groups;forEach(groups,function(group){if(!group.id)throw new Error("group must have an id");var groupNode=domify('
'+escapeHTML(group.label)+"
");groupNode.querySelector(".group-toggle").addEventListener("click",function(evt){domClasses(groupNode).toggle("group-closed"),evt.preventDefault(),evt.stopPropagation()}),groupNode.addEventListener("click",function(evt){!evt.defaultPrevented&&domClasses(groupNode).has("group-closed")&&domClasses(groupNode).remove("group-closed")}),forEach(group.entries,function(entry){if(!entry.id)throw new Error("entry must have an id");var html=entry.html;"string"==typeof html&&(html=domify(html)),html.get&&html.constructor.prototype.jquery&&(html=html.get(0));var entryNode=domify('
');forEach(entry.cssClasses||[],function(cssClass){domClasses(entryNode).add(cssClass)}),entryNode.appendChild(html),groupNode.appendChild(entryNode),self.updateState(entry,entryNode)}),tabNode.appendChild(groupNode)}),tabLinksNode.appendChild(tabLinkNode),tabContainerNode.appendChild(tabNode)}),tabBarNode.appendChild(tabLinksNode),panelNode.appendChild(tabBarNode),panelNode.appendChild(tabContainerNode),panelNode}},{"./Utils":4,"bpmn-js/lib/util/ModelUtil":172,"lodash/debounce":537,"lodash/filter":539,"lodash/flattenDeep":542,"lodash/forEach":543,"lodash/get":544,"lodash/isArray":548,"lodash/isEmpty":552,"lodash/keyBy":559,"lodash/keys":560,"lodash/map":561,"lodash/xor":574,"min-dom":576,"scroll-tabs":585,"selection-update":586}],4:[function(require,module,exports){"use strict";var domQuery=require("min-dom").query,domClear=require("min-dom").clear,is=require("bpmn-js/lib/util/ModelUtil").is,forEach=require("lodash/forEach"),domify=require("min-dom").domify,Ids=require("ids").default,SPACE_REGEX=/\s/,QNAME_REGEX=/^([a-z][\w-.]*:)?[a-z_][\w-.]*$/i,ID_REGEX=/^[a-z_][\w-.]*$/i,HTML_ESCAPE_MAP={"&":"&","<":"<",">":">",'"':""","'":"'"};function selectedOption(selectBox){if(0<=selectBox.selectedIndex)return selectBox.options[selectBox.selectedIndex].value}function getRoot(businessObject){for(var parent=businessObject;parent.$parent;)parent=parent.$parent;return parent}function filterElementsByType(objectList,type){var result=[];return forEach(objectList||[],function(obj){is(obj,type)&&result.push(obj)}),result}function findRootElementsByType(businessObject,referencedType){return filterElementsByType(getRoot(businessObject).rootElements,referencedType)}function addEmptyParameter(list){return list.push({label:"",value:"",name:""})}function refreshOptionsModel(businessObject,referencedType){var model=[],referableObjects=findRootElementsByType(businessObject,referencedType);return forEach(referableObjects,function(obj){model.push({label:(obj.name||"")+" (id="+obj.id+")",value:obj.id,name:obj.name})}),model}function validateId(idValue,translate){return containsSpace(idValue)?translate("Id must not contain spaces."):ID_REGEX.test(idValue)?void 0:QNAME_REGEX.test(idValue)?translate("Id must not contain prefix."):translate("Id must be a valid QName.")}function containsSpace(value){return SPACE_REGEX.test(value)}function escapeHTML(str){return(str=""+str)&&str.replace(/[&<>"']/g,function(match){return HTML_ESCAPE_MAP[match]})}module.exports.selectedOption=selectedOption,module.exports.selectedType=function(elementSyntax,inputNode){return selectedOption(domQuery(elementSyntax,inputNode))},module.exports.getRoot=getRoot,module.exports.filterElementsByType=filterElementsByType,module.exports.findRootElementsByType=findRootElementsByType,module.exports.removeAllChildren=function(domElement){for(;domElement.firstChild;)domElement.removeChild(domElement.firstChild)},module.exports.addEmptyParameter=addEmptyParameter,module.exports.refreshOptionsModel=refreshOptionsModel,module.exports.updateOptionsDropDown=function(domSelector,businessObject,referencedType,entryNode){var options=refreshOptionsModel(businessObject,referencedType);addEmptyParameter(options);var selectBox=domQuery(domSelector,entryNode);return domClear(selectBox),forEach(options,function(option){var optionEntry=domify('");selectBox.appendChild(optionEntry)}),options},module.exports.isIdValid=function(bo,idValue,translate){var assigned=bo.$model.ids.assigned(idValue);return!idValue||assigned&&assigned!==bo?translate("Element must have an unique id."):validateId(idValue,translate)},module.exports.validateId=validateId,module.exports.containsSpace=containsSpace,module.exports.nextId=function(prefix){return new Ids([32,32,1]).nextPrefixed(prefix)},module.exports.triggerClickEvent=function(element){var evt;if(document.createEvent){try{evt=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0})}catch(e){(evt=document.createEvent("MouseEvent")).initEvent("click",!0,!0)}return element.dispatchEvent(evt)}return evt=document.createEventObject(),element.fireEvent("onclick",evt)},module.exports.escapeHTML=escapeHTML},{"bpmn-js/lib/util/ModelUtil":172,ids:368,"lodash/forEach":543,"min-dom":576}],5:[function(require,module,exports){"use strict";var elementHelper=require("../helper/ElementHelper");function CreateAndReferenceElementHandler(elementRegistry,bpmnFactory){this._elementRegistry=elementRegistry,this._bpmnFactory=bpmnFactory}function ensureNotNull(prop,name){if(!prop)throw new Error(name+" required");return prop}CreateAndReferenceElementHandler.$inject=["elementRegistry","bpmnFactory"],(module.exports=CreateAndReferenceElementHandler).prototype.execute=function(context){var referencingObject=ensureNotNull(context.referencingObject,"referencingObject"),referenceProperty=ensureNotNull(context.referenceProperty,"referenceProperty"),newObject=ensureNotNull(context.newObject,"newObject"),newObjectContainer=ensureNotNull(context.newObjectContainer,"newObjectContainer"),newObjectParent=ensureNotNull(context.newObjectParent,"newObjectParent"),changed=[context.element],referencedObject=elementHelper.createElement(newObject.type,newObject.properties,newObjectParent,this._bpmnFactory);return context.referencedObject=referencedObject,newObjectContainer.push(referencedObject),context.previousReference=referencingObject[referenceProperty],referencingObject[referenceProperty]=referencedObject,context.changed=changed},CreateAndReferenceElementHandler.prototype.revert=function(context){var referencingObject=context.referencingObject,referenceProperty=context.referenceProperty,previousReference=context.previousReference,referencedObject=context.referencedObject,newObjectContainer=context.newObjectContainer;return referencingObject.set(referenceProperty,previousReference),newObjectContainer.splice(newObjectContainer.indexOf(referencedObject),1),context.changed}},{"../helper/ElementHelper":24}],6:[function(require,module,exports){"use strict";var forEach=require("lodash/forEach"),elementHelper=require("../helper/ElementHelper");function CreateBusinessObjectListHandler(elementRegistry,bpmnFactory){this._elementRegistry=elementRegistry,this._bpmnFactory=bpmnFactory}function ensureNotNull(prop,name){if(!prop)throw new Error(name+" required");return prop}CreateBusinessObjectListHandler.$inject=["elementRegistry","bpmnFactory"],(module.exports=CreateBusinessObjectListHandler).prototype.execute=function(context){var currentObject=ensureNotNull(context.currentObject,"currentObject"),propertyName=ensureNotNull(context.propertyName,"propertyName"),newObjects=function(prop,name){if(!prop||"[object Array]"!==Object.prototype.toString.call(prop))throw new Error(name+" needs to be a list");return prop}(context.newObjects,"newObjects"),changed=[context.element],childObjects=[],self=this;return forEach(newObjects,function(obj){var element=elementHelper.createElement(obj.type,obj.properties,currentObject,self._bpmnFactory);childObjects.push(element)}),context.childObject=childObjects,context.previousChilds=currentObject[propertyName],currentObject[propertyName]=childObjects,context.changed=changed},CreateBusinessObjectListHandler.prototype.revert=function(context){var currentObject=context.currentObject,propertyName=context.propertyName,previousChilds=context.previousChilds;return currentObject.set(propertyName,previousChilds),context.changed}},{"../helper/ElementHelper":24,"lodash/forEach":543}],7:[function(require,module,exports){"use strict";var forEach=require("lodash/forEach");function MultiCommandHandler(commandStack){this._commandStack=commandStack}MultiCommandHandler.$inject=["commandStack"],(module.exports=MultiCommandHandler).prototype.preExecute=function(context){var commandStack=this._commandStack;forEach(context,function(command){commandStack.execute(command.cmd,command.context)})}},{"lodash/forEach":543}],8:[function(require,module,exports){"use strict";var reduce=require("lodash/transform"),is=require("bpmn-js/lib/util/ModelUtil").is,keys=require("lodash/keys"),forEach=require("lodash/forEach");function UpdateBusinessObjectHandler(elementRegistry){this._elementRegistry=elementRegistry}function setProperties(businessObject,properties){forEach(properties,function(value,key){businessObject.set(key,value)})}UpdateBusinessObjectHandler.$inject=["elementRegistry"],(module.exports=UpdateBusinessObjectHandler).prototype.execute=function(context){var element=context.element,businessObject=context.businessObject,rootElements=function(businessObject){for(var parent=businessObject;parent.$parent;)parent=parent.$parent;return parent}(businessObject).rootElements,referenceType=context.referenceType,referenceProperty=context.referenceProperty,changed=[element];if(!element)throw new Error("element required");if(!businessObject)throw new Error("businessObject required");var properties=context.properties,oldProperties=context.oldProperties||function(businessObject,propertyNames){return reduce(propertyNames,function(result,key){return result[key]=businessObject.get(key),result},{})}(businessObject,keys(properties));return void 0!==referenceType&&void 0!==referenceProperty&&forEach(rootElements,function(rootElement){is(rootElement,referenceType)&&rootElement.id===properties[referenceProperty]&&(properties[referenceProperty]=rootElement)}),setProperties(businessObject,properties),context.oldProperties=oldProperties,context.changed=changed},UpdateBusinessObjectHandler.prototype.revert=function(context){var oldProperties=context.oldProperties;return setProperties(context.businessObject,oldProperties),context.changed}},{"bpmn-js/lib/util/ModelUtil":172,"lodash/forEach":543,"lodash/keys":560,"lodash/transform":572}],9:[function(require,module,exports){"use strict";var forEach=require("lodash/forEach");function UpdateBusinessObjectListHandler(elementRegistry,bpmnFactory){this._elementRegistry=elementRegistry,this._bpmnFactory=bpmnFactory}function ensureNotNull(prop,name){if(!prop)throw new Error(name+"required");return prop}UpdateBusinessObjectListHandler.$inject=["elementRegistry","bpmnFactory"],(module.exports=UpdateBusinessObjectListHandler).prototype.execute=function(context){var referencePropertyName,currentObject=ensureNotNull(context.currentObject,"currentObject"),propertyName=ensureNotNull(context.propertyName,"propertyName"),updatedObjectList=context.updatedObjectList,objectsToRemove=context.objectsToRemove||[],objectsToAdd=context.objectsToAdd||[],changed=[context.element];context.referencePropertyName&&(referencePropertyName=context.referencePropertyName);var objectList=currentObject[propertyName];if(context.previousList=currentObject[propertyName],updatedObjectList)currentObject[propertyName]=updatedObjectList;else{var listCopy=[];if(forEach(objectList,function(object){-1==objectsToRemove.indexOf(object)&&listCopy.push(object)}),0<(listCopy=listCopy.concat(objectsToAdd)).length||!referencePropertyName)currentObject[propertyName]=listCopy;else if(referencePropertyName){currentObject.$parent.set(referencePropertyName,void 0)}}return context.changed=changed},UpdateBusinessObjectListHandler.prototype.revert=function(context){var currentObject=context.currentObject,propertyName=context.propertyName,previousList=context.previousList,parentObject=currentObject.$parent;return context.referencePropertyName&&parentObject.set(context.referencePropertyName,currentObject),currentObject.set(propertyName,previousList),context.changed}},{"lodash/forEach":543}],10:[function(require,module,exports){"use strict";var forEach=require("lodash/forEach"),HANDLERS={"properties-panel.update-businessobject":require("./UpdateBusinessObjectHandler"),"properties-panel.create-and-reference":require("./CreateAndReferenceHandler"),"properties-panel.create-businessobject-list":require("./CreateBusinessObjectListHandler"),"properties-panel.update-businessobject-list":require("./UpdateBusinessObjectListHandler"),"properties-panel.multi-command-executor":require("./MultiCommandHandler")};function CommandInitializer(eventBus,commandStack){eventBus.on("diagram.init",function(){forEach(HANDLERS,function(handler,id){commandStack.registerHandler(id,handler)})})}CommandInitializer.$inject=["eventBus","commandStack"],module.exports={__init__:[CommandInitializer]}},{"./CreateAndReferenceHandler":5,"./CreateBusinessObjectListHandler":6,"./MultiCommandHandler":7,"./UpdateBusinessObjectHandler":8,"./UpdateBusinessObjectListHandler":9,"lodash/forEach":543}],11:[function(require,module,exports){"use strict";var getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,cmdHelper=require("../helper/CmdHelper"),escapeHTML=require("../Utils").escapeHTML,entryFieldDescription=require("./EntryFieldDescription");module.exports=function(options,defaultParameters){var resource=defaultParameters,id=resource.id,label=options.label||id,canBeDisabled=!!options.disabled&&"function"==typeof options.disabled,canBeHidden=!!options.hidden&&"function"==typeof options.hidden,description=options.description;return resource.html='",description&&(resource.html+=entryFieldDescription(description)),resource.get=function(element){var bo=getBusinessObject(element),res={};return res[options.modelProperty]=bo.get(options.modelProperty),res},resource.set=function(element,values){var res={};return res[options.modelProperty]=!!values[options.modelProperty],cmdHelper.updateProperties(element,res)},"function"==typeof options.set&&(resource.set=options.set),"function"==typeof options.get&&(resource.get=options.get),canBeDisabled&&(resource.isDisabled=function(){return options.disabled.apply(resource,arguments)}),canBeHidden&&(resource.isHidden=function(){return!options.hidden.apply(resource,arguments)}),resource.cssClasses=["bpp-checkbox"],resource}},{"../Utils":4,"../helper/CmdHelper":23,"./EntryFieldDescription":14,"bpmn-js/lib/util/ModelUtil":172}],12:[function(require,module,exports){"use strict";var assign=require("lodash/assign"),find=require("lodash/find"),domQuery=require("min-dom").query,escapeHTML=require("../Utils").escapeHTML,selectEntryFactory=require("./SelectEntryFactory"),entryFieldDescription=require("./EntryFieldDescription");module.exports=function(options){var selectOptions=options.selectOptions,modelProperty=options.modelProperty,customValue=options.customValue||"custom",customName=options.customName||"custom "+modelProperty,description=options.description,comboOptions=assign({},options);comboOptions.showCustomInput=function(element,node){var selectBox=domQuery('[data-entry="'+options.id+'"] select',node.parentNode);return!!selectBox&&selectBox.value===customValue},comboOptions.get=function(element,node){var value=options.get(element,node),modifiedValues={};return function(value){return void 0!==value[modelProperty]&&!find(selectOptions,function(option){return value[modelProperty]===option.value})}(value)?(modifiedValues[modelProperty]=customValue,modifiedValues["custom-"+modelProperty]=value[modelProperty]):modifiedValues[modelProperty]=value[modelProperty]||"",modifiedValues},comboOptions.set=function(element,values,node){var modifiedValues={};return values[modelProperty]===customValue?modifiedValues[modelProperty]=values["custom-"+modelProperty]||"":options.emptyParameter&&""===values[modelProperty]?modifiedValues[modelProperty]=void 0:modifiedValues[modelProperty]=values[modelProperty],options.set(element,modifiedValues,node)},comboOptions.selectOptions.push({name:customName,value:customValue});var comboBoxEntry=assign({},selectEntryFactory(comboOptions,comboOptions));return comboBoxEntry.html+='
',description&&(comboBoxEntry.html+=entryFieldDescription(description)),comboBoxEntry}},{"../Utils":4,"./EntryFieldDescription":14,"./SelectEntryFactory":17,"lodash/assign":534,"lodash/find":540,"min-dom":576}],13:[function(require,module,exports){"use strict";var getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,textInputField=require("./TextInputEntryFactory"),checkboxField=require("./CheckboxEntryFactory"),selectBoxField=require("./SelectEntryFactory"),comboBoxField=require("./ComboEntryFactory"),textBoxField=require("./TextBoxEntryFactory"),validationAwareTextInputField=require("./ValidationAwareTextInput"),tableField=require("./TableEntryFactory"),labelEntry=require("./LabelFactory"),link=require("./LinkEntryFactory"),cmdHelper=require("../helper/CmdHelper");function ensureNotNull(prop){if(!prop)throw new Error(prop+" must be set.");return prop}var setDefaultParameters=function(options){return{id:options.id,description:options.description||"",get:options.get||function(element){var bo=getBusinessObject(element),res={},prop=ensureNotNull(options.modelProperty);return res[prop]=bo.get(prop),res},set:options.set||function(element,values){var res={},prop=ensureNotNull(options.modelProperty);return""!==values[prop]?res[prop]=values[prop]:res[prop]=void 0,cmdHelper.updateProperties(element,res)},validate:options.validate||function(){return{}},html:""}};function EntryFactory(){}EntryFactory.textField=function(options){return textInputField(options,setDefaultParameters(options))},EntryFactory.validationAwareTextField=function(options){return validationAwareTextInputField(options,setDefaultParameters(options))},EntryFactory.checkbox=function(options){return checkboxField(options,setDefaultParameters(options))},EntryFactory.textBox=function(options){return textBoxField(options,setDefaultParameters(options))},EntryFactory.selectBox=function(options){return selectBoxField(options,setDefaultParameters(options))},EntryFactory.comboBox=function(options){return comboBoxField(options)},EntryFactory.table=function(options){return tableField(options)},EntryFactory.label=function(options){return labelEntry(options)},EntryFactory.link=function(options){return link(options)},module.exports=EntryFactory},{"../helper/CmdHelper":23,"./CheckboxEntryFactory":11,"./ComboEntryFactory":12,"./LabelFactory":15,"./LinkEntryFactory":16,"./SelectEntryFactory":17,"./TableEntryFactory":18,"./TextBoxEntryFactory":19,"./TextInputEntryFactory":20,"./ValidationAwareTextInput":21,"bpmn-js/lib/util/ModelUtil":172}],14:[function(require,module,exports){"use strict";var escapeHTML=require("../Utils").escapeHTML;function escapeText(text){for(var match,index=0,escaped=[],pattern=//gi;match=pattern.exec(text);)match.index>index&&escaped.push(escapeHTML(text.substring(index,match.index))),escaped.push("
"),index=match.index+match[0].length;return index(.+?(?=<\/))<\/a>)/gi,index=0;match=pattern.exec(description);)match.index>index&&escaped.push(escapeText(description.substring(index,match.index))),link=match[2]&&encodeURI(match[2])||match[3],text=match[1]||match[4],escaped.push(''+escapeText(text)+""),index=match.index+match[0].length;return index'+escaped.join("")+"
"}},{"../Utils":4}],15:[function(require,module,exports){"use strict";module.exports=function(options){return{id:options.id,html:'',get:function(element,node){return"function"==typeof options.get?options.get(element,node):{label:options.labelText}},showLabel:function(element,node){return"function"!=typeof options.showLabel||options.showLabel(element,node)}}}},{}],16:[function(require,module,exports){"use strict";var escapeHTML=require("../Utils").escapeHTML,entryFieldDescription=require("./EntryFieldDescription"),bind=require("lodash/bind");module.exports=function(options){var id=options.id,label=options.label||id,showLink=options.showLink,handleClick=options.handleClick,description=options.description;if(showLink&&"function"!=typeof showLink)throw new Error("options.showLink must be a function");if("function"!=typeof handleClick)throw new Error("options.handleClick must be a function");var resource={id:id};return resource.html=''+escapeHTML(label)+"",description&&(resource.html+=entryFieldDescription(description)),resource.handleClick=bind(handleClick,resource),"function"==typeof showLink&&(resource.showLink=function(){return showLink.apply(resource,arguments)}),resource}},{"../Utils":4,"./EntryFieldDescription":14,"lodash/bind":535}],17:[function(require,module,exports){"use strict";var escapeHTML=require("../Utils").escapeHTML,domify=require("min-dom").domify,forEach=require("lodash/forEach"),entryFieldDescription=require("./EntryFieldDescription");module.exports=function(options,defaultParameters){var resource=defaultParameters,label=options.label||resource.id,selectOptions=options.selectOptions||[{name:"",value:""}],modelProperty=options.modelProperty,emptyParameter=options.emptyParameter,canBeDisabled=!!options.disabled&&"function"==typeof options.disabled,canBeHidden=!!options.hidden&&"function"==typeof options.hidden,description=options.description;return emptyParameter&&(selectOptions=function(list){return list.concat([{name:"",value:""}])}(selectOptions)),resource.html='",description&&"function"!=typeof options.showCustomInput&&(resource.html+=entryFieldDescription(description)),resource.setControlValue=function(element,entryNode,inputNode,inputName,newValue){if("function"==typeof selectOptions){var options=selectOptions(element,inputNode);if(options){for(;inputNode.firstChild;)inputNode.removeChild(inputNode.firstChild);forEach(options,function(option){var template=domify(function(option){return'"}(option));inputNode.appendChild(template)})}}void 0!==newValue&&(inputNode.value=newValue)},canBeDisabled&&(resource.isDisabled=function(){return options.disabled.apply(resource,arguments)}),canBeHidden&&(resource.isHidden=function(){return!options.hidden.apply(resource,arguments)}),resource.cssClasses=["bpp-dropdown"],resource}},{"../Utils":4,"./EntryFieldDescription":14,"lodash/forEach":543,"min-dom":576}],18:[function(require,module,exports){"use strict";var escapeHTML=require("../Utils").escapeHTML,cmdHelper=require("../helper/CmdHelper"),domQuery=require("min-dom").query,domAttr=require("min-dom").attr,domClosest=require("min-dom").closest,filter=require("lodash/filter"),forEach=require("lodash/forEach"),keys=require("lodash/keys"),domify=require("min-dom").domify,entryFieldDescription=require("./EntryFieldDescription"),updateSelection=require("selection-update");function createInputRowTemplate(properties,canRemove){var template='
';return template+=function(properties,canRemove){var columns=properties.length,template="";return forEach(properties,function(prop){template+=''}),template}(properties,canRemove),template+=canRemove?'':"",template+="
"}function createLabelRowTemplate(labels){var template='
';return template+=function(labels){var columns=labels.length,template="";return forEach(labels,function(label){template+='"}),template}(labels),template+="
"}function diff(element,node,values,oldValues,editable){return filter(values,function(value,idx){return!function(element,node,value,oldValue,editable,idx){return!(value&&!oldValue)&&keys(value).concat(keys(oldValue)).every(function(key){var n=value[key]||void 0,o=oldValue[key]||void 0;return!editable(element,node,key,idx)||n===o})}(element,node,value,oldValues[idx],editable,idx)})}function getEntryNode(node){return domClosest(node,"[data-entry]",!0)}function getContainer(node){return domQuery("div[data-list-entry-container]",node)}module.exports=function(options){var id=options.id,modelProperties=options.modelProperties,labels=options.labels,description=options.description,labelRow=createLabelRowTemplate(labels),getElements=options.getElements,removeElement=options.removeElement,canRemove="function"==typeof removeElement,addElement=options.addElement,canAdd="function"==typeof addElement,addLabel=options.addLabel||"Add Value",updateElement=options.updateElement,canUpdate="function"==typeof updateElement,_editable=options.editable||function(){return!0},setControlValue=options.setControlValue,_show=options.show,canBeShown="function"==typeof _show,elements=function(element,node){return function(elements,properties){return(elements||[]).map(function(elem){var newElement={};return forEach(properties,function(prop){newElement[prop]=elem[prop]||""}),newElement})}(getElements(element,node),modelProperties)},factory={id:id,html:(canAdd?'
':"")+'
'+labelRow+"
"+(description?entryFieldDescription(description):""),get:function(element,node){var boElements=elements(element,node,this.__invalidValues),invalidValues=this.__invalidValues;return delete this.__invalidValues,forEach(invalidValues,function(value,idx){var element=boElements[idx];forEach(modelProperties,function(prop){element[prop]=value[prop]})}),boElements},set:function(element,values,node){var action=this.__action||{};if(delete this.__action,"delete-element"===action.id)return removeElement(element,node,action.idx);if("add-element"===action.id)return addElement(element,node);if(canUpdate){var commands=[],valuesToValidate=values;"function"!=typeof options.validate&&(valuesToValidate=diff(element,node,values,elements(element,node),_editable));var self=this;return forEach(valuesToValidate,function(value){var validationError,idx=values.indexOf(value);if("function"==typeof options.validate&&(validationError=options.validate(element,value,node,idx)),validationError)self.__invalidValues=self.__invalidValues||{},self.__invalidValues[idx]=value,commands.push(cmdHelper.updateProperties(element,{}));else{var cmd=updateElement(element,value,node,idx);cmd&&commands.push(cmd)}}),commands}},createListEntryTemplate:function(){return createInputRowTemplate(modelProperties,canRemove)},addElement:function(element,node){var template=domify(createInputRowTemplate(modelProperties,canRemove));return getContainer(node).appendChild(template),this.__action={id:"add-element"},!0},deleteElement:function(element,node,event){var container=getContainer(node),rowToDelete=event.delegateTarget.parentNode,idx=parseInt(domAttr(rowToDelete,"data-index"),10);return container.removeChild(rowToDelete),this.__action={id:"delete-element",idx:idx},!0},editable:function(element,rowNode,input,prop,value,idx){var entryNode=domClosest(rowNode,"[data-entry]");return _editable(element,entryNode,prop,idx)},show:function(element,entryNode,node,scopeNode){return entryNode=getEntryNode(entryNode),_show(element,entryNode,node,scopeNode)},showTable:function(element,entryNode,node,scopeNode){entryNode=getEntryNode(entryNode);var elems=elements(element,entryNode);return elems&&elems.length&&(!canBeShown||_show(element,entryNode,node,scopeNode))},validateListItem:function(element,value,node,idx){if("function"==typeof options.validate)return options.validate(element,value,node,idx)}};return setControlValue&&(factory.setControlValue=function(element,rowNode,input,prop,value,idx){var selection,entryNode=getEntryNode(rowNode),isReadOnly=domAttr(input,"readonly"),oldValue=input.value;void 0===value&&(value=""),isReadOnly&&oldValue===value||(document.activeElement===input&&(selection=updateSelection(function(node){return{start:node.selectionStart,end:node.selectionEnd}}(input),oldValue,value)),setControlValue(element,entryNode,input,prop,value,idx),selection&&function(node,selection){node.selectionStart=selection.start,node.selectionEnd=selection.end}(input,selection))}),factory}},{"../Utils":4,"../helper/CmdHelper":23,"./EntryFieldDescription":14,"lodash/filter":539,"lodash/forEach":543,"lodash/keys":560,"min-dom":576,"selection-update":586}],19:[function(require,module,exports){"use strict";var escapeHTML=require("../Utils").escapeHTML,entryFieldDescription=require("./EntryFieldDescription");module.exports=function(options,defaultParameters){var resource=defaultParameters,label=options.label||resource.id,canBeShown=!!options.show&&"function"==typeof options.show,description=options.description;return resource.html='
',description&&(resource.html+=entryFieldDescription(description)),canBeShown&&(resource.isShown=function(){return options.show.apply(resource,arguments)}),resource.cssClasses=["bpp-textbox"],resource}},{"../Utils":4,"./EntryFieldDescription":14}],20:[function(require,module,exports){"use strict";var escapeHTML=require("../Utils").escapeHTML,domQuery=require("min-dom").query,entryFieldDescription=require("./EntryFieldDescription");module.exports=function(options,defaultParameters){var resource=defaultParameters,label=options.label||resource.id,dataValueLabel=options.dataValueLabel,buttonLabel=options.buttonLabel||"X",actionName=void 0!==options.buttonAction?options.buttonAction.name:"clear",actionMethod=void 0!==options.buttonAction?options.buttonAction.method:function(element,inputNode){return!(domQuery('input[name="'+options.modelProperty+'"]',inputNode).value="")},showName=void 0!==options.buttonShow?options.buttonShow.name:"canClear",showMethod=void 0!==options.buttonShow?options.buttonShow.method:function(element,inputNode){return""!==domQuery('input[name="'+options.modelProperty+'"]',inputNode).value},canBeDisabled=!!options.disabled&&"function"==typeof options.disabled,canBeHidden=!!options.hidden&&"function"==typeof options.hidden,description=options.description;return resource.html='
",description&&(resource.html+=entryFieldDescription(description)),resource[actionName]=actionMethod,resource[showName]=showMethod,canBeDisabled&&(resource.isDisabled=function(){return options.disabled.apply(resource,arguments)}),canBeHidden&&(resource.isHidden=function(){return!options.hidden.apply(resource,arguments)}),resource.cssClasses=["bpp-textfield"],resource}},{"../Utils":4,"./EntryFieldDescription":14,"min-dom":576}],21:[function(require,module,exports){"use strict";var textField=require("./TextInputEntryFactory");module.exports=function(options,defaultParameters){var modelProperty=options.modelProperty;defaultParameters.get=function(element,node){var value=this.__lastInvalidValue;delete this.__lastInvalidValue;var properties={};return properties[modelProperty]=void 0!==value?value:options.getProperty(element,node),properties},defaultParameters.set=function(element,values,node){var validationErrors=validate.apply(this,[element,values,node]),propertyValue=values[modelProperty];if(validationErrors&&validationErrors[modelProperty])return this.__lastInvalidValue=propertyValue,options.setProperty(element,{},node);var properties={};return properties[modelProperty]=propertyValue,options.setProperty(element,properties,node)};var validate=defaultParameters.validate=function(element,values,node){var value=values[modelProperty]||this.__lastInvalidValue,property={};return property[modelProperty]=value,options.validate(element,property,node)};return textField(options,defaultParameters)}},{"./TextInputEntryFactory":20}],22:[function(require,module,exports){"use strict";var collectionAdd=require("diagram-js/lib/util/Collections").add,getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,CategoryHelper={};(module.exports=CategoryHelper).createCategoryValue=function(definitions,bpmnFactory){var categoryValue=bpmnFactory.create("bpmn:CategoryValue"),category=bpmnFactory.create("bpmn:Category",{categoryValue:[categoryValue]});return collectionAdd(definitions.get("rootElements"),category),getBusinessObject(category).$parent=definitions,getBusinessObject(categoryValue).$parent=category,categoryValue}},{"bpmn-js/lib/util/ModelUtil":172,"diagram-js/lib/util/Collections":349}],23:[function(require,module,exports){"use strict";var CmdHelper={};(module.exports=CmdHelper).updateProperties=function(element,properties){return{cmd:"element.updateProperties",context:{element:element,properties:properties}}},CmdHelper.updateBusinessObject=function(element,businessObject,newProperties){return{cmd:"properties-panel.update-businessobject",context:{element:element,businessObject:businessObject,properties:newProperties}}},CmdHelper.addElementsTolist=function(element,businessObject,listPropertyName,objectsToAdd){return{cmd:"properties-panel.update-businessobject-list",context:{element:element,currentObject:businessObject,propertyName:listPropertyName,objectsToAdd:objectsToAdd}}},CmdHelper.removeElementsFromList=function(element,businessObject,listPropertyName,referencePropertyName,objectsToRemove){return{cmd:"properties-panel.update-businessobject-list",context:{element:element,currentObject:businessObject,propertyName:listPropertyName,referencePropertyName:referencePropertyName,objectsToRemove:objectsToRemove}}},CmdHelper.addAndRemoveElementsFromList=function(element,businessObject,listPropertyName,referencePropertyName,objectsToAdd,objectsToRemove){return{cmd:"properties-panel.update-businessobject-list",context:{element:element,currentObject:businessObject,propertyName:listPropertyName,referencePropertyName:referencePropertyName,objectsToAdd:objectsToAdd,objectsToRemove:objectsToRemove}}},CmdHelper.setList=function(element,businessObject,listPropertyName,updatedObjectList){return{cmd:"properties-panel.update-businessobject-list",context:{element:element,currentObject:businessObject,propertyName:listPropertyName,updatedObjectList:updatedObjectList}}}},{}],24:[function(require,module,exports){"use strict";var ElementHelper={};(module.exports=ElementHelper).createElement=function(elementType,properties,parent,factory){var element=factory.create(elementType,properties);return element.$parent=parent,element}},{}],25:[function(require,module,exports){"use strict";var getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,is=require("bpmn-js/lib/util/ModelUtil").is,forEach=require("lodash/forEach"),EventDefinitionHelper={};(module.exports=EventDefinitionHelper).getEventDefinition=function(element,eventType){var bo=getBusinessObject(element),eventDefinition=null;return bo.eventDefinitions&&forEach(bo.eventDefinitions,function(event){is(event,eventType)&&(eventDefinition=event)}),eventDefinition},EventDefinitionHelper.getTimerEventDefinition=function(element){return this.getEventDefinition(element,"bpmn:TimerEventDefinition")},EventDefinitionHelper.getMessageEventDefinition=function(element){return this.getEventDefinition(element,"bpmn:MessageEventDefinition")},EventDefinitionHelper.getSignalEventDefinition=function(element){return this.getEventDefinition(element,"bpmn:SignalEventDefinition")},EventDefinitionHelper.getErrorEventDefinition=function(element){return this.getEventDefinition(element,"bpmn:ErrorEventDefinition")},EventDefinitionHelper.getEscalationEventDefinition=function(element){return this.getEventDefinition(element,"bpmn:EscalationEventDefinition")},EventDefinitionHelper.getCompensateEventDefinition=function(element){return this.getEventDefinition(element,"bpmn:CompensateEventDefinition")},EventDefinitionHelper.getLinkEventDefinition=function(element){return this.getEventDefinition(element,"bpmn:LinkEventDefinition")},EventDefinitionHelper.getConditionalEventDefinition=function(element){return this.getEventDefinition(element,"bpmn:ConditionalEventDefinition")}},{"bpmn-js/lib/util/ModelUtil":172,"lodash/forEach":543}],26:[function(require,module,exports){"use strict";var is=require("bpmn-js/lib/util/ModelUtil").is,getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,cmdHelper=require("./CmdHelper"),ParticipantHelper={};(module.exports=ParticipantHelper).modifyProcessBusinessObject=function(element,property,values){if(!is(element,"bpmn:Participant"))return{};var bo=getBusinessObject(element).get("processRef"),properties={};return properties[property]=values[property],cmdHelper.updateBusinessObject(element,bo,properties)},ParticipantHelper.getProcessBusinessObject=function(element,propertyName){if(!is(element,"bpmn:Participant"))return{};var bo=getBusinessObject(element).get("processRef"),properties={};return properties[propertyName]=bo.get(propertyName),properties}},{"./CmdHelper":23,"bpmn-js/lib/util/ModelUtil":172}],27:[function(require,module,exports){"use strict";module.exports={__depends__:[require("./cmd"),require("diagram-js/lib/i18n/translate").default],__init__:["propertiesPanel"],propertiesPanel:["type",require("./PropertiesPanel")]}},{"./PropertiesPanel":3,"./cmd":10,"diagram-js/lib/i18n/translate":332}],28:[function(require,module,exports){"use strict";var is=require("bpmn-js/lib/util/ModelUtil").is,isAny=require("bpmn-js/lib/features/modeling/util/ModelingUtil").isAny,getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,eventDefinitionHelper=require("../../../helper/EventDefinitionHelper"),forEach=require("lodash/forEach"),message=require("./implementation/MessageEventDefinition"),signal=require("./implementation/SignalEventDefinition"),error=require("./implementation/ErrorEventDefinition"),escalation=require("./implementation/EscalationEventDefinition"),timer=require("./implementation/TimerEventDefinition"),compensation=require("./implementation/CompensateEventDefinition"),condition=require("./implementation/ConditionalEventDefinition");module.exports=function(group,element,bpmnFactory,elementRegistry,translate){forEach(["bpmn:StartEvent","bpmn:EndEvent","bpmn:IntermediateThrowEvent","bpmn:BoundaryEvent","bpmn:IntermediateCatchEvent"],function(event){if(is(element,event)){var messageEventDefinition=eventDefinitionHelper.getMessageEventDefinition(element),signalEventDefinition=eventDefinitionHelper.getSignalEventDefinition(element);messageEventDefinition&&message(group,element,bpmnFactory,messageEventDefinition,translate),signalEventDefinition&&signal(group,element,bpmnFactory,signalEventDefinition,translate)}}),is(element,"bpmn:ReceiveTask")&&message(group,element,bpmnFactory,getBusinessObject(element),translate);forEach(["bpmn:StartEvent","bpmn:BoundaryEvent","bpmn:EndEvent"],function(event){if(is(element,event)){var errorEventDefinition=eventDefinitionHelper.getErrorEventDefinition(element);errorEventDefinition&&error(group,element,bpmnFactory,errorEventDefinition,translate)}});forEach(["bpmn:StartEvent","bpmn:BoundaryEvent","bpmn:IntermediateThrowEvent","bpmn:EndEvent"],function(event){if(is(element,event)){var showEscalationCodeVariable=is(element,"bpmn:StartEvent")||is(element,"bpmn:BoundaryEvent"),escalationEventDefinition=eventDefinitionHelper.getEscalationEventDefinition(element);escalationEventDefinition&&escalation(group,element,bpmnFactory,escalationEventDefinition,showEscalationCodeVariable,translate)}});forEach(["bpmn:StartEvent","bpmn:BoundaryEvent","bpmn:IntermediateCatchEvent"],function(event){if(is(element,event)){var timerEventDefinition=eventDefinitionHelper.getTimerEventDefinition(element);timerEventDefinition&&timer(group,element,bpmnFactory,timerEventDefinition,translate)}});forEach(["bpmn:EndEvent","bpmn:IntermediateThrowEvent"],function(event){if(is(element,event)){var compensateEventDefinition=eventDefinitionHelper.getCompensateEventDefinition(element);compensateEventDefinition&&compensation(group,element,bpmnFactory,compensateEventDefinition,elementRegistry,translate)}});if(isAny(element,["bpmn:StartEvent","bpmn:BoundaryEvent","bpmn:IntermediateThrowEvent","bpmn:IntermediateCatchEvent"])){var conditionalEventDefinition=eventDefinitionHelper.getConditionalEventDefinition(element);conditionalEventDefinition&&condition(group,element,bpmnFactory,conditionalEventDefinition,elementRegistry,translate)}}},{"../../../helper/EventDefinitionHelper":25,"./implementation/CompensateEventDefinition":33,"./implementation/ConditionalEventDefinition":34,"./implementation/ErrorEventDefinition":36,"./implementation/EscalationEventDefinition":37,"./implementation/MessageEventDefinition":39,"./implementation/SignalEventDefinition":41,"./implementation/TimerEventDefinition":42,"bpmn-js/lib/features/modeling/util/ModelingUtil":144,"bpmn-js/lib/util/ModelUtil":172,"lodash/forEach":543}],29:[function(require,module,exports){"use strict";var entryFactory=require("../../../factory/EntryFactory"),getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,utils=require("../../../Utils"),cmdHelper=require("../../../helper/CmdHelper");module.exports=function(group,element,translate,options){var description=options&&options.description;group.entries.push(entryFactory.validationAwareTextField({id:"id",label:translate("Id"),description:description&&translate(description),modelProperty:"id",getProperty:function(element){return getBusinessObject(element).id},setProperty:function(element,properties){return element=element.labelTarget||element,cmdHelper.updateProperties(element,properties)},validate:function(element,values){var idValue=values.id,bo=getBusinessObject(element),idError=utils.isIdValid(bo,idValue,translate);return idError?{id:idError}:{}}}))}},{"../../../Utils":4,"../../../factory/EntryFactory":13,"../../../helper/CmdHelper":23,"bpmn-js/lib/util/ModelUtil":172}],30:[function(require,module,exports){"use strict";var is=require("bpmn-js/lib/util/ModelUtil").is,getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,entryFactory=require("../../../factory/EntryFactory"),cmdHelper=require("../../../helper/CmdHelper"),forEach=require("lodash/forEach");module.exports=function(group,element,translate){forEach(["bpmn:IntermediateThrowEvent","bpmn:IntermediateCatchEvent"],function(event){if(is(element,event)){var linkEventDefinition=function(element){var bo=getBusinessObject(element),linkEventDefinition=null;return bo.eventDefinitions&&forEach(bo.eventDefinitions,function(eventDefinition){is(eventDefinition,"bpmn:LinkEventDefinition")&&(linkEventDefinition=eventDefinition)}),linkEventDefinition}(element);if(linkEventDefinition){var entry=entryFactory.textField({id:"link-event",label:translate("Link Name"),modelProperty:"link-name"});entry.get=function(){return{"link-name":linkEventDefinition.get("name")}},entry.set=function(element,values){var newProperties={name:values["link-name"]};return cmdHelper.updateBusinessObject(element,linkEventDefinition,newProperties)},group.entries.push(entry)}}})}},{"../../../factory/EntryFactory":13,"../../../helper/CmdHelper":23,"bpmn-js/lib/util/ModelUtil":172,"lodash/forEach":543}],31:[function(require,module,exports){"use strict";var nameEntryFactory=require("./implementation/Name"),createCategoryValue=require("../../../helper/CategoryHelper").createCategoryValue,is=require("bpmn-js/lib/util/ModelUtil").is,getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject;module.exports=function(group,element,bpmnFactory,canvas,translate){var options;is(element,"bpmn:Collaboration")||(is(element,"bpmn:TextAnnotation")?options={modelProperty:"text",label:translate("Text")}:is(element,"bpmn:Group")&&(options={modelProperty:"categoryValue",label:translate("Category Value"),get:function(element){return{categoryValue:(getBusinessObject(element).categoryValueRef||{}).value}},set:function(element,values){var bo=getBusinessObject(element);return bo.categoryValueRef||function(semantic){var rootElement=canvas.getRootElement(),definitions=getBusinessObject(rootElement).$parent,categoryValue=createCategoryValue(definitions,bpmnFactory);semantic.categoryValueRef=categoryValue}(bo),{cmd:"element.updateLabel",context:{element:element,newLabel:values.categoryValue}}}}),group.entries=group.entries.concat(nameEntryFactory(element,options,translate)))}},{"../../../helper/CategoryHelper":22,"./implementation/Name":40,"bpmn-js/lib/util/ModelUtil":172}],32:[function(require,module,exports){"use strict";var is=require("bpmn-js/lib/util/ModelUtil").is,entryFactory=require("../../../factory/EntryFactory"),participantHelper=require("../../../helper/ParticipantHelper"),getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,nameEntryFactory=require("./implementation/Name"),utils=require("../../../Utils");module.exports=function(group,element,translate,options){var businessObject=getBusinessObject(element),processIdDescription=options&&options.processIdDescription;if((is(element,"bpmn:Process")||is(element,"bpmn:Participant")&&businessObject.get("processRef"))&&is(element,"bpmn:Participant")){var idEntry=entryFactory.validationAwareTextField({id:"process-id",label:translate("Process Id"),description:processIdDescription&&translate(processIdDescription),modelProperty:"processId"});idEntry.get=function(element){return{processId:participantHelper.getProcessBusinessObject(element,"id").id}},idEntry.set=function(element,values){return participantHelper.modifyProcessBusinessObject(element,"id",{id:values.processId})},idEntry.validate=function(element,values){var idValue=values.processId,bo=getBusinessObject(element),processIdError=utils.isIdValid(bo.processRef,idValue,translate);return processIdError?{processId:processIdError}:{}},group.entries.push(idEntry);var processNameEntry=nameEntryFactory(element,{id:"process-name",label:translate("Process Name")})[0];processNameEntry.get=function(element){return participantHelper.getProcessBusinessObject(element,"name")},processNameEntry.set=function(element,values){return participantHelper.modifyProcessBusinessObject(element,"name",values)},group.entries.push(processNameEntry)}}},{"../../../Utils":4,"../../../factory/EntryFactory":13,"../../../helper/ParticipantHelper":26,"./implementation/Name":40,"bpmn-js/lib/util/ModelUtil":172}],33:[function(require,module,exports){"use strict";var entryFactory=require("../../../../factory/EntryFactory"),cmdHelper=require("../../../../helper/CmdHelper"),eventDefinitionHelper=require("../../../../helper/EventDefinitionHelper"),utils=require("../../../../Utils"),getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,is=require("bpmn-js/lib/util/ModelUtil").is,forEach=require("lodash/forEach"),find=require("lodash/find"),filter=require("lodash/filter");function getFlowElements(element,type){return utils.filterElementsByType(element.flowElements,type)}function canActivityBeCompensated(activity,boundaryEvents){return is(activity,"bpmn:SubProcess")&&!activity.triggeredByEvent||is(activity,"bpmn:CallActivity")||function(activity,boundaryEvents){var activityId=activity.id;return!!find(boundaryEvents,function(boundaryEvent){var compensateEventDefinition=eventDefinitionHelper.getCompensateEventDefinition(boundaryEvent),attachedToRef=boundaryEvent.attachedToRef;return compensateEventDefinition&&attachedToRef&&attachedToRef.id===activityId})}(activity,boundaryEvents)}function getActivitiesForCompensation(element){var boundaryEvents=function(element){return getFlowElements(element,"bpmn:BoundaryEvent")}(element);return filter(function(element){return getFlowElements(element,"bpmn:Activity")}(element),function(activity){return canActivityBeCompensated(activity,boundaryEvents)})}function createActivityRefOptions(element){var options=[{value:""}],activities=function(element){var parent=getBusinessObject(element).$parent,activitiesForActivityRef=getActivitiesForCompensation(parent);return is(parent,"bpmn:SubProcess")&&parent.triggeredByEvent&&(parent=parent.$parent)&&(activitiesForActivityRef=activitiesForActivityRef.concat(getActivitiesForCompensation(parent))),activitiesForActivityRef}(element);return forEach(activities,function(activity){var activityId=activity.id,name=(activity.name?activity.name+" ":"")+"(id="+activityId+")";options.push({value:activityId,name:name})}),options}module.exports=function(group,element,bpmnFactory,compensateEventDefinition,elementRegistry,translate){group.entries.push(entryFactory.checkbox({id:"wait-for-completion",label:translate("Wait for Completion"),modelProperty:"waitForCompletion",get:function(){return{waitForCompletion:compensateEventDefinition.waitForCompletion}},set:function(element,values){return values.waitForCompletion=values.waitForCompletion||!1,cmdHelper.updateBusinessObject(element,compensateEventDefinition,values)}})),group.entries.push(entryFactory.selectBox({id:"activity-ref",label:translate("Activity Ref"),selectOptions:createActivityRefOptions(element),modelProperty:"activityRef",get:function(){var activityRef=compensateEventDefinition.activityRef;return{activityRef:(activityRef=activityRef&&activityRef.id)||""}},set:function(element,values){var activityRef=values.activityRef||void 0;return activityRef=activityRef&&getBusinessObject(elementRegistry.get(activityRef)),cmdHelper.updateBusinessObject(element,compensateEventDefinition,{activityRef:activityRef})}}))}},{"../../../../Utils":4,"../../../../factory/EntryFactory":13,"../../../../helper/CmdHelper":23,"../../../../helper/EventDefinitionHelper":25,"bpmn-js/lib/util/ModelUtil":172,"lodash/filter":539,"lodash/find":540,"lodash/forEach":543}],34:[function(require,module,exports){"use strict";var entryFactory=require("../../../../factory/EntryFactory"),cmdHelper=require("../../../../helper/CmdHelper"),is=require("bpmn-js/lib/util/ModelUtil").is,isEventSubProcess=require("bpmn-js/lib/util/DiUtil").isEventSubProcess;module.exports=function(group,element,bpmnFactory,conditionalEventDefinition,elementRegistry,translate){var getValue=function(modelProperty){return function(element){var modelPropertyValue=conditionalEventDefinition.get("camunda:"+modelProperty),value={};return value[modelProperty]=modelPropertyValue,value}},setValue=function(modelProperty){return function(element,values){var props={};return props["camunda:"+modelProperty]=values[modelProperty]||void 0,cmdHelper.updateBusinessObject(element,conditionalEventDefinition,props)}};group.entries.push(entryFactory.textField({id:"variableName",label:translate("Variable Name"),modelProperty:"variableName",get:getValue("variableName"),set:setValue("variableName")})),is(element,"bpmn:StartEvent")&&!isEventSubProcess(element.parent)||group.entries.push(entryFactory.textField({id:"variableEvent",label:translate("Variable Event"),description:translate("Specify more than one variable change event as a comma separated list."),modelProperty:"variableEvent",get:getValue("variableEvent"),set:setValue("variableEvent")}))}},{"../../../../factory/EntryFactory":13,"../../../../helper/CmdHelper":23,"bpmn-js/lib/util/DiUtil":170,"bpmn-js/lib/util/ModelUtil":172}],35:[function(require,module,exports){"use strict";var entryFactory=require("../../../../factory/EntryFactory"),cmdHelper=require("../../../../helper/CmdHelper");module.exports=function(element,definition,bpmnFactory,options){var id=options.id||"element-property",label=options.label,referenceProperty=options.referenceProperty,modelProperty=options.modelProperty||"name",shouldValidate=options.shouldValidate||!1,entry=entryFactory.textField({id:id,label:label,modelProperty:modelProperty,get:function(){var reference=definition.get(referenceProperty),props={};return props[modelProperty]=reference&&reference.get(modelProperty),props},set:function(element,values){var reference=definition.get(referenceProperty),props={};return props[modelProperty]=values[modelProperty]||void 0,cmdHelper.updateBusinessObject(element,reference,props)},hidden:function(){return!definition.get(referenceProperty)}});return shouldValidate&&(entry.validate=function(element,values,node){if(definition.get(referenceProperty)&&!values[modelProperty]){var validationErrors={};return validationErrors[modelProperty]="Must provide a value",validationErrors}}),[entry]}},{"../../../../factory/EntryFactory":13,"../../../../helper/CmdHelper":23}],36:[function(require,module,exports){"use strict";var eventDefinitionReference=require("./EventDefinitionReference"),elementReferenceProperty=require("./ElementReferenceProperty");module.exports=function(group,element,bpmnFactory,errorEventDefinition,translate){group.entries=group.entries.concat(eventDefinitionReference(element,errorEventDefinition,bpmnFactory,{label:translate("Error"),elementName:"error",elementType:"bpmn:Error",referenceProperty:"errorRef",newElementIdPrefix:"Error_"})),group.entries=group.entries.concat(elementReferenceProperty(element,errorEventDefinition,bpmnFactory,{id:"error-element-name",label:translate("Error Name"),referenceProperty:"errorRef",modelProperty:"name",shouldValidate:!0})),group.entries=group.entries.concat(elementReferenceProperty(element,errorEventDefinition,bpmnFactory,{id:"error-element-code",label:translate("Error Code"),referenceProperty:"errorRef",modelProperty:"errorCode"}))}},{"./ElementReferenceProperty":35,"./EventDefinitionReference":38}],37:[function(require,module,exports){"use strict";var entryFactory=require("../../../../factory/EntryFactory"),cmdHelper=require("../../../../helper/CmdHelper"),eventDefinitionReference=require("./EventDefinitionReference"),elementReferenceProperty=require("./ElementReferenceProperty");module.exports=function(group,element,bpmnFactory,escalationEventDefinition,showEscalationCodeVariable,translate){group.entries=group.entries.concat(eventDefinitionReference(element,escalationEventDefinition,bpmnFactory,{label:translate("Escalation"),elementName:"escalation",elementType:"bpmn:Escalation",referenceProperty:"escalationRef",newElementIdPrefix:"Escalation_"})),group.entries=group.entries.concat(elementReferenceProperty(element,escalationEventDefinition,bpmnFactory,{id:"escalation-element-name",label:translate("Escalation Name"),referenceProperty:"escalationRef",modelProperty:"name",shouldValidate:!0})),group.entries=group.entries.concat(elementReferenceProperty(element,escalationEventDefinition,bpmnFactory,{id:"escalation-element-code",label:translate("Escalation Code"),referenceProperty:"escalationRef",modelProperty:"escalationCode"})),showEscalationCodeVariable&&group.entries.push(entryFactory.textField({id:"escalationCodeVariable",label:translate("Escalation Code Variable"),modelProperty:"escalationCodeVariable",get:function(){return{escalationCodeVariable:escalationEventDefinition.get("camunda:escalationCodeVariable")}},set:function(element,values){return cmdHelper.updateBusinessObject(element,escalationEventDefinition,{"camunda:escalationCodeVariable":values.escalationCodeVariable||void 0})}}))}},{"../../../../factory/EntryFactory":13,"../../../../helper/CmdHelper":23,"./ElementReferenceProperty":35,"./EventDefinitionReference":38}],38:[function(require,module,exports){"use strict";var cmdHelper=require("../../../../helper/CmdHelper"),domQuery=require("min-dom").query,domify=require("min-dom").domify,domAttr=require("min-dom").attr,forEach=require("lodash/forEach"),find=require("lodash/find"),elementHelper=require("../../../../helper/ElementHelper"),utils=require("../../../../Utils"),escapeHTML=utils.escapeHTML,selector="select[name=selectedElement]";module.exports=function(element,definition,bpmnFactory,options){var elementName=options.elementName||"",elementType=options.elementType,referenceProperty=options.referenceProperty,newElementIdPrefix=options.newElementIdPrefix||"elem_",label=options.label||"",description=options.description||"",entries=[];return entries.push({id:"event-definitions-"+elementName,description:description,html:'
',get:function(element,entryNode){utils.updateOptionsDropDown(selector,definition,elementType,entryNode);var reference=definition.get(referenceProperty);return{selectedElement:reference&&reference.id||""}},set:function(element,values){var selection=values.selectedElement,props={};if(!selection||void 0===selection)return props[referenceProperty]=void 0,cmdHelper.updateBusinessObject(element,definition,props);var commands=[],selectedElement=function(eventDefinition,type,id){var elements=utils.findRootElementsByType(eventDefinition,type);return find(elements,function(element){return element.id===id})}(definition,elementType,selection);if(!selectedElement){var root=utils.getRoot(definition);selectedElement=elementHelper.createElement(elementType,{name:selection},root,bpmnFactory),commands.push(cmdHelper.addAndRemoveElementsFromList(element,root,"rootElements",null,[selectedElement]))}return props[referenceProperty]=selectedElement,commands.push(cmdHelper.updateBusinessObject(element,definition,props)),commands},addElement:function(element,inputNode){var id=utils.nextId(newElementIdPrefix),optionTemplate=domify('"),selectBox=function(node){return domQuery(selector,node.parentElement)}(inputNode);return selectBox.insertBefore(optionTemplate,selectBox.firstChild),forEach(selectBox,function(option){option.value===id?domAttr(option,"selected","selected"):domAttr(option,"selected",null)}),!0}}),entries}},{"../../../../Utils":4,"../../../../helper/CmdHelper":23,"../../../../helper/ElementHelper":24,"lodash/find":540,"lodash/forEach":543,"min-dom":576}],39:[function(require,module,exports){"use strict";var eventDefinitionReference=require("./EventDefinitionReference"),elementReferenceProperty=require("./ElementReferenceProperty");module.exports=function(group,element,bpmnFactory,messageEventDefinition,translate){group.entries=group.entries.concat(eventDefinitionReference(element,messageEventDefinition,bpmnFactory,{label:translate("Message"),elementName:"message",elementType:"bpmn:Message",referenceProperty:"messageRef",newElementIdPrefix:"Message_"})),group.entries=group.entries.concat(elementReferenceProperty(element,messageEventDefinition,bpmnFactory,{id:"message-element-name",label:translate("Message Name"),referenceProperty:"messageRef",modelProperty:"name",shouldValidate:!0}))}},{"./ElementReferenceProperty":35,"./EventDefinitionReference":38}],40:[function(require,module,exports){"use strict";var entryFactory=require("../../../../factory/EntryFactory");module.exports=function(element,options,translate){var id=(options=options||{}).id||"name",label=options.label||translate("Name"),modelProperty=options.modelProperty||"name";return[entryFactory.textBox({id:id,label:label,modelProperty:modelProperty,get:options.get,set:options.set})]}},{"../../../../factory/EntryFactory":13}],41:[function(require,module,exports){"use strict";var eventDefinitionReference=require("./EventDefinitionReference"),elementReferenceProperty=require("./ElementReferenceProperty");module.exports=function(group,element,bpmnFactory,signalEventDefinition,translate){group.entries=group.entries.concat(eventDefinitionReference(element,signalEventDefinition,bpmnFactory,{label:translate("Signal"),elementName:"signal",elementType:"bpmn:Signal",referenceProperty:"signalRef",newElementIdPrefix:"Signal_"})),group.entries=group.entries.concat(elementReferenceProperty(element,signalEventDefinition,bpmnFactory,{id:"signal-element-name",label:translate("Signal Name"),referenceProperty:"signalRef",modelProperty:"name",shouldValidate:!0}))}},{"./ElementReferenceProperty":35,"./EventDefinitionReference":38}],42:[function(require,module,exports){"use strict";var elementHelper=require("../../../../helper/ElementHelper"),cmdHelper=require("../../../../helper/CmdHelper"),entryFactory=require("../../../../factory/EntryFactory");function getTimerDefinitionType(timer){if(timer)return void 0!==timer.get("timeDate")?"timeDate":void 0!==timer.get("timeCycle")?"timeCycle":void 0!==timer.get("timeDuration")?"timeDuration":void 0}function getTimerDefinition(timerOrFunction,element,node){return"function"==typeof timerOrFunction?timerOrFunction(element,node):timerOrFunction}module.exports=function(group,element,bpmnFactory,timerEventDefinition,translate,options){var selectOptions=[{value:"timeDate",name:translate("Date")},{value:"timeDuration",name:translate("Duration")},{value:"timeCycle",name:translate("Cycle")}],prefix=options&&options.idPrefix,createTimerEventDefinition=options&&options.createTimerEventDefinition;group.entries.push(entryFactory.selectBox({id:prefix+"timer-event-definition-type",label:translate("Timer Definition Type"),selectOptions:selectOptions,emptyParameter:!0,modelProperty:"timerDefinitionType",get:function(element,node){return{timerDefinitionType:getTimerDefinitionType(getTimerDefinition(timerEventDefinition,element,node))||""}},set:function(element,values,node){var props={timeDuration:void 0,timeDate:void 0,timeCycle:void 0},timerDefinition=getTimerDefinition(timerEventDefinition,element,node),newType=values.timerDefinitionType;if(timerDefinition||"function"!=typeof createTimerEventDefinition||(timerDefinition=createTimerEventDefinition(element,node)),values.timerDefinitionType){var value,oldType=getTimerDefinitionType(timerDefinition);if(oldType)value=timerDefinition.get(oldType).get("body");props[newType]=function(parent,body,bpmnFactory){return body=body||void 0,elementHelper.createElement("bpmn:FormalExpression",{body:body},parent,bpmnFactory)}(timerDefinition,value,bpmnFactory)}return cmdHelper.updateBusinessObject(element,timerDefinition,props)},hidden:function(element,node){return void 0===getTimerDefinition(timerEventDefinition,element,node)}})),group.entries.push(entryFactory.textField({id:prefix+"timer-event-definition",label:translate("Timer Definition"),modelProperty:"timerDefinition",get:function(element,node){var timerDefinition=getTimerDefinition(timerEventDefinition,element,node),type=getTimerDefinitionType(timerDefinition),definition=type&&timerDefinition.get(type);return{timerDefinition:definition&&definition.get("body")}},set:function(element,values,node){var timerDefinition=getTimerDefinition(timerEventDefinition,element,node),type=getTimerDefinitionType(timerDefinition),definition=type&&timerDefinition.get(type);if(definition)return cmdHelper.updateBusinessObject(element,definition,{body:values.timerDefinition||void 0})},validate:function(element,node){var timerDefinition=getTimerDefinition(timerEventDefinition,element,node),type=getTimerDefinitionType(timerDefinition),definition=type&&timerDefinition.get(type);if(definition&&!definition.get("body"))return{timerDefinition:translate("Must provide a value")}},hidden:function(element,node){return!getTimerDefinitionType(getTimerDefinition(timerEventDefinition,element,node))}}))}},{"../../../../factory/EntryFactory":13,"../../../../helper/CmdHelper":23,"../../../../helper/ElementHelper":24}],43:[function(require,module,exports){"use strict";var is=require("bpmn-js/lib/util/ModelUtil").is,isAny=require("bpmn-js/lib/features/modeling/util/ModelingUtil").isAny,getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,escapeHTML=require("../../../Utils").escapeHTML,domQuery=require("min-dom").query,cmdHelper=require("../../../helper/CmdHelper"),elementHelper=require("../../../helper/ElementHelper"),eventDefinitionHelper=require("../../../helper/EventDefinitionHelper"),scriptImplementation=require("./implementation/Script");module.exports=function(group,element,bpmnFactory,translate){var bo=getBusinessObject(element);if(bo){var conditionalEventDefinition=eventDefinitionHelper.getConditionalEventDefinition(element);if(is(element,"bpmn:SequenceFlow")&&function(element){return isAny(element,CONDITIONAL_SOURCES)}(element.source)||conditionalEventDefinition){var script=scriptImplementation("language","body",!0,translate);group.entries.push({id:"condition",label:translate("Condition"),html:'
'+script.template+"
",get:function(element){var conditionalEventDefinition=eventDefinitionHelper.getConditionalEventDefinition(element),conditionExpression=conditionalEventDefinition?conditionalEventDefinition.condition:bo.conditionExpression,values={},conditionType="";conditionExpression&&(void 0!==conditionExpression.language?(conditionType="script",values=script.get(element,conditionExpression)):(conditionType="expression",values.condition=conditionExpression.get("body")));return values.conditionType=conditionType,values},set:function(element,values,containerElement){var conditionOrConditionExpression,conditionType=values.conditionType,commands=[],conditionProps={body:void 0};if("script"===conditionType)conditionProps=script.set(element,values,containerElement);else{var condition=values.condition;conditionProps.body=condition}if(conditionType){conditionOrConditionExpression=elementHelper.createElement("bpmn:FormalExpression",conditionProps,conditionalEventDefinition||bo,bpmnFactory);var source=element.source;source&&source.businessObject.default===bo&&commands.push(cmdHelper.updateProperties(source,{default:void 0}))}var update=conditionalEventDefinition?{condition:conditionOrConditionExpression}:{conditionExpression:conditionOrConditionExpression};return commands.push(cmdHelper.updateBusinessObject(element,conditionalEventDefinition||bo,update)),commands},validate:function(element,values){var validationResult={};return values.condition||"expression"!==values.conditionType?"script"===values.conditionType&&(validationResult=script.validate(element,values)):validationResult.condition=translate("Must provide a value"),validationResult},isExpression:function(element,inputNode){var conditionType=domQuery("select[name=conditionType]",inputNode);if(0<=conditionType.selectedIndex)return"expression"===conditionType.options[conditionType.selectedIndex].value},isScript:function(element,inputNode){var conditionType=domQuery("select[name=conditionType]",inputNode);if(0<=conditionType.selectedIndex)return"script"===conditionType.options[conditionType.selectedIndex].value},clear:function(element,inputNode){return!(domQuery("input[name=condition]",inputNode).value="")},canClear:function(element,inputNode){return""!==domQuery("input[name=condition]",inputNode).value},script:script,cssClasses:["bpp-textfield"]})}}};var CONDITIONAL_SOURCES=["bpmn:Activity","bpmn:ExclusiveGateway","bpmn:InclusiveGateway","bpmn:ComplexGateway"]},{"../../../Utils":4,"../../../helper/CmdHelper":23,"../../../helper/ElementHelper":24,"../../../helper/EventDefinitionHelper":25,"./implementation/Script":44,"bpmn-js/lib/features/modeling/util/ModelingUtil":144,"bpmn-js/lib/util/ModelUtil":172,"min-dom":576}],44:[function(require,module,exports){"use strict";var domQuery=require("min-dom").query,escapeHTML=require("../../../../Utils").escapeHTML,utils=require("../../../../Utils");function getScriptType(node){return utils.selectedType("select[name=scriptType]",node.parentElement)}module.exports=function(scriptLanguagePropName,scriptValuePropName,isFormatRequired,translate){return{template:'
',get:function(element,bo){var values={},boScriptResource=bo.get("camunda:resource"),boScript=bo.get(scriptValuePropName),boScriptFormat=bo.get(scriptLanguagePropName);return void 0!==boScriptResource?(values.scriptResourceValue=boScriptResource,values.scriptType="scriptResource"):(values.scriptValue=boScript,values.scriptType="script"),values.scriptFormat=boScriptFormat,values},set:function(element,values){var scriptFormat=values.scriptFormat,scriptType=values.scriptType,scriptResourceValue=values.scriptResourceValue,scriptValue=values.scriptValue,update={"camunda:resource":void 0};return update[scriptValuePropName]=void 0,update[scriptLanguagePropName]=void 0,isFormatRequired?update[scriptLanguagePropName]=scriptFormat||"":""!==scriptFormat&&(update[scriptLanguagePropName]=scriptFormat),"scriptResource"===scriptType?update["camunda:resource"]=scriptResourceValue||"":update[scriptValuePropName]=scriptValue||"",update},validate:function(element,values){var validationResult={};return"script"!==values.scriptType||values.scriptValue||(validationResult.scriptValue=translate("Must provide a value")),"scriptResource"!==values.scriptType||values.scriptResourceValue||(validationResult.scriptResourceValue=translate("Must provide a value")),!isFormatRequired||values.scriptFormat&&0!==values.scriptFormat.length||(validationResult.scriptFormat=translate("Must provide a value")),validationResult},clearScriptFormat:function(element,inputNode,btnNode,scopeNode){return!(domQuery("input[name=scriptFormat]",scopeNode).value="")},canClearScriptFormat:function(element,inputNode,btnNode,scopeNode){return""!==domQuery("input[name=scriptFormat]",scopeNode).value},clearScriptResource:function(element,inputNode,btnNode,scopeNode){return!(domQuery("input[name=scriptResourceValue]",scopeNode).value="")},canClearScriptResource:function(element,inputNode,btnNode,scopeNode){return""!==domQuery("input[name=scriptResourceValue]",scopeNode).value},clearScript:function(element,inputNode,btnNode,scopeNode){return!(domQuery("textarea[name=scriptValue]",scopeNode).value="")},canClearScript:function(element,inputNode,btnNode,scopeNode){return""!==domQuery("textarea[name=scriptValue]",scopeNode).value},isScriptResource:function(element,inputNode,btnNode,scopeNode){return"scriptResource"===getScriptType(scopeNode)},isScript:function(element,inputNode,btnNode,scopeNode){return"script"===getScriptType(scopeNode)}}}},{"../../../../Utils":4,"min-dom":576}],45:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=BaseModeler;var _inherits2=_interopRequireDefault(require("inherits")),_ids2=_interopRequireDefault(require("ids")),_BaseViewer2=_interopRequireDefault(require("./BaseViewer"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function BaseModeler(options){_BaseViewer2.default.call(this,options),this.on("import.parse.complete",function(event){event.error||this._collectIds(event.definitions,event.context)},this),this.on("diagram.destroy",function(){this.get("moddle").ids.clear()},this)}(0,_inherits2.default)(BaseModeler,_BaseViewer2.default),BaseModeler.prototype._createModdle=function(options){var moddle=_BaseViewer2.default.prototype._createModdle.call(this,options);return moddle.ids=new _ids2.default([32,36,1]),moddle},BaseModeler.prototype._collectIds=function(definitions,context){var id,ids=definitions.$model.ids;for(id in ids.clear(),context.elementsById)ids.claim(id,context.elementsById[id])}},{"./BaseViewer":46,ids:368,inherits:369}],46:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=BaseViewer;var _minDash=require("min-dash"),_minDom=require("min-dom"),_tinySvg=require("tiny-svg"),_diagramJs2=_interopRequireDefault(require("diagram-js")),_bpmnModdle2=_interopRequireDefault(require("bpmn-moddle")),_inherits2=_interopRequireDefault(require("inherits")),_Importer=require("./import/Importer"),_PoweredByUtil=require("./util/PoweredByUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function BaseViewer(options){options=(0,_minDash.assign)({},DEFAULT_OPTIONS,options),this._moddle=this._createModdle(options),this._container=this._createContainer(options),function(container){var linkMarkup=''+_PoweredByUtil.BPMNIO_IMG+"",linkElement=(0,_minDom.domify)(linkMarkup);container.appendChild(linkElement),_minDom.event.bind(linkElement,"click",function(event){(0,_PoweredByUtil.open)(),event.preventDefault()})}(this._container),this._init(this._container,this._moddle,options)}(0,_inherits2.default)(BaseViewer,_diagramJs2.default),BaseViewer.prototype.importXML=function(xml,bpmnDiagram,done){(0,_minDash.isFunction)(bpmnDiagram)&&(done=bpmnDiagram,bpmnDiagram=null),done=done||function(){};var self=this;xml=this._emit("import.parse.start",{xml:xml})||xml,this._moddle.fromXML(xml,"bpmn:Definitions",function(err,definitions,context){definitions=self._emit("import.parse.complete",{error:err,definitions:definitions,context:context})||definitions;var parseWarnings=context.warnings;if(err)return err=function(err){var match=/unparsable content <([^>]+)> detected([\s\S]*)$/.exec(err.message);match&&(err.message="unparsable content <"+match[1]+"> detected; this may indicate an invalid BPMN 2.0 diagram file"+match[2]);return err}(err),self._emit("import.done",{error:err,warnings:parseWarnings}),done(err,parseWarnings);self.importDefinitions(definitions,bpmnDiagram,function(err,importWarnings){var allWarnings=[].concat(parseWarnings,importWarnings||[]);self._emit("import.done",{error:err,warnings:allWarnings}),done(err,allWarnings)})})},BaseViewer.prototype.importDefinitions=function(definitions,bpmnDiagram,done){return(0,_minDash.isFunction)(bpmnDiagram)&&(done=bpmnDiagram,bpmnDiagram=null),done=done||function(){},this._setDefinitions(definitions),this.open(bpmnDiagram,done)},BaseViewer.prototype.open=function(bpmnDiagramOrId,done){(0,_minDash.isFunction)(bpmnDiagramOrId)&&(done=bpmnDiagramOrId,bpmnDiagramOrId=null);var definitions=this._definitions,bpmnDiagram=bpmnDiagramOrId;if(done=done||function(){},!definitions)return done(new Error("no XML imported"));if("string"==typeof bpmnDiagramOrId&&!(bpmnDiagram=function(definitions,diagramId){return diagramId&&(0,_minDash.find)(definitions.diagrams,function(element){return element.id===diagramId})||null}(definitions,bpmnDiagramOrId)))return done(new Error("BPMNDiagram <"+bpmnDiagramOrId+"> not found"));try{this.clear()}catch(error){return done(error)}return(0,_Importer.importBpmnDiagram)(this,definitions,bpmnDiagram,done)},BaseViewer.prototype.saveXML=function(options,done){done||(done=options,options={});var self=this,definitions=this._definitions;if(!definitions)return done(new Error("no definitions loaded"));definitions=this._emit("saveXML.start",{definitions:definitions})||definitions,this._moddle.toXML(definitions,options,function(err,xml){try{xml=self._emit("saveXML.serialized",{error:err,xml:xml})||xml,self._emit("saveXML.done",{error:err,xml:xml})}catch(e){console.error("error in saveXML life-cycle listener",e)}done(err,xml)})},BaseViewer.prototype.saveSVG=function(options,done){var svg,err;done||(done=options,options={}),this._emit("saveSVG.start");try{var canvas=this.get("canvas"),contentNode=canvas.getDefaultLayer(),defsNode=(0,_minDom.query)("defs",canvas._svg),contents=(0,_tinySvg.innerSVG)(contentNode),defs=defsNode?""+(0,_tinySvg.innerSVG)(defsNode)+"":"",bbox=contentNode.getBBox();svg='\n\x3c!-- created with bpmn-js / http://bpmn.io --\x3e\n\n'+defs+contents+""}catch(e){err=e}this._emit("saveSVG.done",{error:err,svg:svg}),done(err,svg)},BaseViewer.prototype._setDefinitions=function(definitions){this._definitions=definitions},BaseViewer.prototype.getModules=function(){return this._modules},BaseViewer.prototype.clear=function(){this.getDefinitions()&&(this.get("elementRegistry").forEach(function(element){var bo=element.businessObject;bo&&bo.di&&delete bo.di}),_diagramJs2.default.prototype.clear.call(this))},BaseViewer.prototype.destroy=function(){_diagramJs2.default.prototype.destroy.call(this),(0,_minDom.remove)(this._container)},BaseViewer.prototype.on=function(event,priority,callback,target){return this.get("eventBus").on(event,priority,callback,target)},BaseViewer.prototype.off=function(event,callback){this.get("eventBus").off(event,callback)},BaseViewer.prototype.attachTo=function(parentNode){if(!parentNode)throw new Error("parentNode required");this.detach(),parentNode.get&&parentNode.constructor.prototype.jquery&&(parentNode=parentNode.get(0)),"string"==typeof parentNode&&(parentNode=(0,_minDom.query)(parentNode)),parentNode.appendChild(this._container),this._emit("attach",{}),this.get("canvas").resized()},BaseViewer.prototype.getDefinitions=function(){return this._definitions},BaseViewer.prototype.detach=function(){var container=this._container,parentNode=container.parentNode;parentNode&&(this._emit("detach",{}),parentNode.removeChild(container))},BaseViewer.prototype._init=function(container,moddle,options){var baseModules=options.modules||this.getModules(),additionalModules=options.additionalModules||[],diagramModules=[].concat([{bpmnjs:["value",this],moddle:["value",moddle]}],baseModules,additionalModules),diagramOptions=(0,_minDash.assign)((0,_minDash.omit)(options,["additionalModules"]),{canvas:(0,_minDash.assign)({},options.canvas,{container:container}),modules:diagramModules});_diagramJs2.default.call(this,diagramOptions),options&&options.container&&this.attachTo(options.container)},BaseViewer.prototype._emit=function(type,event){return this.get("eventBus").fire(type,event)},BaseViewer.prototype._createContainer=function(options){var container=(0,_minDom.domify)('
');return(0,_minDash.assign)(container.style,{width:ensureUnit(options.width),height:ensureUnit(options.height),position:options.position}),container},BaseViewer.prototype._createModdle=function(options){var moddleOptions=(0,_minDash.assign)({},this._moddleExtensions,options.moddleExtensions);return new _bpmnModdle2.default(moddleOptions)},BaseViewer.prototype._modules=[];var DEFAULT_OPTIONS={width:"100%",height:"100%",position:"relative"};function ensureUnit(val){return val+((0,_minDash.isNumber)(val)?"px":"")}},{"./import/Importer":167,"./util/PoweredByUtil":173,"bpmn-moddle":174,"diagram-js":179,inherits:369,"min-dash":575,"min-dom":576,"tiny-svg":587}],47:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Modeler;var _inherits2=_interopRequireDefault(require("inherits")),_BaseModeler2=_interopRequireDefault(require("./BaseModeler")),_Viewer2=_interopRequireDefault(require("./Viewer")),_NavigatedViewer2=_interopRequireDefault(require("./NavigatedViewer")),_keyboardMove2=_interopRequireDefault(require("diagram-js/lib/navigation/keyboard-move")),_movecanvas2=_interopRequireDefault(require("diagram-js/lib/navigation/movecanvas")),_touch2=_interopRequireDefault(require("diagram-js/lib/navigation/touch")),_zoomscroll2=_interopRequireDefault(require("diagram-js/lib/navigation/zoomscroll")),_alignElements2=_interopRequireDefault(require("diagram-js/lib/features/align-elements")),_autoPlace2=_interopRequireDefault(require("./features/auto-place")),_autoResize2=_interopRequireDefault(require("./features/auto-resize")),_autoScroll2=_interopRequireDefault(require("diagram-js/lib/features/auto-scroll")),_bendpoints2=_interopRequireDefault(require("diagram-js/lib/features/bendpoints")),_connect2=_interopRequireDefault(require("diagram-js/lib/features/connect")),_connectionPreview2=_interopRequireDefault(require("diagram-js/lib/features/connection-preview")),_contextPad2=_interopRequireDefault(require("./features/context-pad")),_copyPaste2=_interopRequireDefault(require("./features/copy-paste")),_create2=_interopRequireDefault(require("diagram-js/lib/features/create")),_distributeElements2=_interopRequireDefault(require("./features/distribute-elements")),_editorActions2=_interopRequireDefault(require("./features/editor-actions")),_gridSnapping2=_interopRequireDefault(require("./features/grid-snapping")),_interactionEvents2=_interopRequireDefault(require("./features/interaction-events")),_keyboard2=_interopRequireDefault(require("./features/keyboard")),_keyboardMoveSelection2=_interopRequireDefault(require("diagram-js/lib/features/keyboard-move-selection")),_labelEditing2=_interopRequireDefault(require("./features/label-editing")),_modeling2=_interopRequireDefault(require("./features/modeling")),_move2=_interopRequireDefault(require("diagram-js/lib/features/move")),_palette2=_interopRequireDefault(require("./features/palette")),_replacePreview2=_interopRequireDefault(require("./features/replace-preview")),_resize2=_interopRequireDefault(require("diagram-js/lib/features/resize")),_snapping2=_interopRequireDefault(require("./features/snapping")),_search2=_interopRequireDefault(require("./features/search"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function Modeler(options){_BaseModeler2.default.call(this,options)}(0,_inherits2.default)(Modeler,_BaseModeler2.default),Modeler.Viewer=_Viewer2.default,Modeler.NavigatedViewer=_NavigatedViewer2.default,Modeler.prototype.createDiagram=function(done){return this.importXML('',done)},Modeler.prototype._interactionModules=[_keyboardMove2.default,_movecanvas2.default,_touch2.default,_zoomscroll2.default],Modeler.prototype._modelingModules=[_alignElements2.default,_autoPlace2.default,_autoScroll2.default,_autoResize2.default,_bendpoints2.default,_connect2.default,_connectionPreview2.default,_contextPad2.default,_copyPaste2.default,_create2.default,_distributeElements2.default,_editorActions2.default,_gridSnapping2.default,_interactionEvents2.default,_keyboard2.default,_keyboardMoveSelection2.default,_labelEditing2.default,_modeling2.default,_move2.default,_palette2.default,_replacePreview2.default,_resize2.default,_snapping2.default,_search2.default],Modeler.prototype._modules=[].concat(_Viewer2.default.prototype._modules,Modeler.prototype._interactionModules,Modeler.prototype._modelingModules)},{"./BaseModeler":45,"./NavigatedViewer":48,"./Viewer":49,"./features/auto-place":58,"./features/auto-resize":61,"./features/context-pad":63,"./features/copy-paste":66,"./features/distribute-elements":70,"./features/editor-actions":72,"./features/grid-snapping":78,"./features/interaction-events":80,"./features/keyboard":82,"./features/label-editing":87,"./features/modeling":142,"./features/palette":148,"./features/replace-preview":153,"./features/search":160,"./features/snapping":164,"diagram-js/lib/features/align-elements":195,"diagram-js/lib/features/auto-scroll":205,"diagram-js/lib/features/bendpoints":212,"diagram-js/lib/features/connect":219,"diagram-js/lib/features/connection-preview":221,"diagram-js/lib/features/create":228,"diagram-js/lib/features/keyboard-move-selection":249,"diagram-js/lib/features/move":287,"diagram-js/lib/features/resize":305,"diagram-js/lib/navigation/keyboard-move":340,"diagram-js/lib/navigation/movecanvas":342,"diagram-js/lib/navigation/touch":343,"diagram-js/lib/navigation/zoomscroll":346,inherits:369}],48:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=NavigatedViewer;var _inherits2=_interopRequireDefault(require("inherits")),_Viewer2=_interopRequireDefault(require("./Viewer")),_keyboardMove2=_interopRequireDefault(require("diagram-js/lib/navigation/keyboard-move")),_movecanvas2=_interopRequireDefault(require("diagram-js/lib/navigation/movecanvas")),_zoomscroll2=_interopRequireDefault(require("diagram-js/lib/navigation/zoomscroll"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function NavigatedViewer(options){_Viewer2.default.call(this,options)}(0,_inherits2.default)(NavigatedViewer,_Viewer2.default),NavigatedViewer.prototype._navigationModules=[_keyboardMove2.default,_movecanvas2.default,_zoomscroll2.default],NavigatedViewer.prototype._modules=[].concat(_Viewer2.default.prototype._modules,NavigatedViewer.prototype._navigationModules)},{"./Viewer":49,"diagram-js/lib/navigation/keyboard-move":340,"diagram-js/lib/navigation/movecanvas":342,"diagram-js/lib/navigation/zoomscroll":346,inherits:369}],49:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Viewer;var _inherits2=_interopRequireDefault(require("inherits")),_core2=_interopRequireDefault(require("./core")),_translate2=_interopRequireDefault(require("diagram-js/lib/i18n/translate")),_selection2=_interopRequireDefault(require("diagram-js/lib/features/selection")),_overlays2=_interopRequireDefault(require("diagram-js/lib/features/overlays")),_BaseViewer2=_interopRequireDefault(require("./BaseViewer"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function Viewer(options){_BaseViewer2.default.call(this,options)}(0,_inherits2.default)(Viewer,_BaseViewer2.default),Viewer.prototype._modules=[_core2.default,_translate2.default,_selection2.default,_overlays2.default],Viewer.prototype._moddleExtensions={}},{"./BaseViewer":46,"./core":50,"diagram-js/lib/features/overlays":292,"diagram-js/lib/features/selection":314,"diagram-js/lib/i18n/translate":332,inherits:369}],50:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _draw2=_interopRequireDefault(require("../draw")),_import2=_interopRequireDefault(require("../import"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_draw2.default,_import2.default]}},{"../draw":55,"../import":169}],51:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isTypedEvent=function(event,eventDefinitionType,filter){return(0,_minDash.some)(event.eventDefinitions,function(definition){return definition.$type===eventDefinitionType&&function(definition,filter){return(0,_minDash.every)(filter,function(val,key){return definition[key]==val})}(event,filter)})},exports.isThrowEvent=function(event){return"bpmn:IntermediateThrowEvent"===event.$type||"bpmn:EndEvent"===event.$type},exports.isCollection=function(element){var dataObject=element.dataObjectRef;return element.isCollection||dataObject&&dataObject.isCollection},exports.getDi=getDi,exports.getSemantic=function(element){return element.businessObject},exports.getFillColor=function(element,defaultColor){return getDi(element).get("bioc:fill")||defaultColor||"white"},exports.getStrokeColor=function(element,defaultColor){return getDi(element).get("bioc:stroke")||defaultColor||"black"},exports.getCirclePath=function(shape){var cx=shape.x+shape.width/2,cy=shape.y+shape.height/2,radius=shape.width/2,circlePath=[["M",cx,cy],["m",0,-radius],["a",radius,radius,0,1,1,0,2*radius],["a",radius,radius,0,1,1,0,-2*radius],["z"]];return(0,_RenderUtil.componentsToPath)(circlePath)},exports.getRoundRectPath=function(shape,borderRadius){var x=shape.x,y=shape.y,width=shape.width,height=shape.height,roundRectPath=[["M",x+borderRadius,y],["l",width-2*borderRadius,0],["a",borderRadius,borderRadius,0,0,1,borderRadius,borderRadius],["l",0,height-2*borderRadius],["a",borderRadius,borderRadius,0,0,1,-borderRadius,borderRadius],["l",2*borderRadius-width,0],["a",borderRadius,borderRadius,0,0,1,-borderRadius,-borderRadius],["l",0,2*borderRadius-height],["a",borderRadius,borderRadius,0,0,1,borderRadius,-borderRadius],["z"]];return(0,_RenderUtil.componentsToPath)(roundRectPath)},exports.getDiamondPath=function(shape){var width=shape.width,height=shape.height,x=shape.x,y=shape.y,halfWidth=width/2,halfHeight=height/2,diamondPath=[["M",x+halfWidth,y],["l",halfWidth,halfHeight],["l",-halfWidth,halfHeight],["l",-halfWidth,-halfHeight],["z"]];return(0,_RenderUtil.componentsToPath)(diamondPath)},exports.getRectPath=function(shape){var x=shape.x,y=shape.y,width=shape.width,height=shape.height,rectPath=[["M",x,y],["l",width,0],["l",0,height],["l",-width,0],["z"]];return(0,_RenderUtil.componentsToPath)(rectPath)};var _minDash=require("min-dash"),_RenderUtil=require("diagram-js/lib/util/RenderUtil");function getDi(element){return element.businessObject.di}},{"diagram-js/lib/util/RenderUtil":363,"min-dash":575}],52:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=BpmnRenderer;var _inherits2=_interopRequireDefault(require("inherits")),_minDash=require("min-dash"),_BaseRenderer2=_interopRequireDefault(require("diagram-js/lib/draw/BaseRenderer")),_DiUtil=require("../util/DiUtil"),_LabelUtil=require("../features/label-editing/LabelUtil"),_ModelUtil=require("../util/ModelUtil"),_RenderUtil=require("diagram-js/lib/util/RenderUtil"),_BpmnRenderUtil=require("./BpmnRenderUtil"),_minDom=require("min-dom"),_tinySvg=require("tiny-svg"),_SvgTransformUtil=require("diagram-js/lib/util/SvgTransformUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var RENDERER_IDS=new(_interopRequireDefault(require("ids")).default),TASK_BORDER_RADIUS=10,INNER_OUTER_DIST=3,DEFAULT_FILL_OPACITY=.95,HIGH_FILL_OPACITY=.35;function BpmnRenderer(config,eventBus,styles,pathMap,canvas,textRenderer,priority){_BaseRenderer2.default.call(this,eventBus,priority);var defaultFillColor=config&&config.defaultFillColor,defaultStrokeColor=config&&config.defaultStrokeColor,rendererId=RENDERER_IDS.next(),markers={},computeStyle=styles.computeStyle;function addMarker(id,options){var attrs=(0,_minDash.assign)({fill:"black",strokeWidth:1,strokeLinecap:"round",strokeDasharray:"none"},options.attrs),ref=options.ref||{x:0,y:0},scale=options.scale||1;"none"===attrs.strokeDasharray&&(attrs.strokeDasharray=[1e4,1]);var marker=(0,_tinySvg.create)("marker");(0,_tinySvg.attr)(options.element,attrs),(0,_tinySvg.append)(marker,options.element),(0,_tinySvg.attr)(marker,{id:id,viewBox:"0 0 20 20",refX:ref.x,refY:ref.y,markerWidth:20*scale,markerHeight:20*scale,orient:"auto"});var defs=(0,_minDom.query)("defs",canvas._svg);defs||(defs=(0,_tinySvg.create)("defs"),(0,_tinySvg.append)(canvas._svg,defs)),(0,_tinySvg.append)(defs,marker),markers[id]=marker}function colorEscape(str){return str.replace(/[^0-9a-zA-z]+/g,"_")}function marker(type,fill,stroke){var id=type+"-"+colorEscape(fill)+"-"+colorEscape(stroke)+"-"+rendererId;return markers[id]||function(id,type,fill,stroke){if("sequenceflow-end"===type){var sequenceflowEnd=(0,_tinySvg.create)("path");(0,_tinySvg.attr)(sequenceflowEnd,{d:"M 1 5 L 11 10 L 1 15 Z"}),addMarker(id,{element:sequenceflowEnd,ref:{x:11,y:10},scale:.5,attrs:{fill:stroke,stroke:stroke}})}if("messageflow-start"===type){var messageflowStart=(0,_tinySvg.create)("circle");(0,_tinySvg.attr)(messageflowStart,{cx:6,cy:6,r:3.5}),addMarker(id,{element:messageflowStart,attrs:{fill:fill,stroke:stroke},ref:{x:6,y:6}})}if("messageflow-end"===type){var messageflowEnd=(0,_tinySvg.create)("path");(0,_tinySvg.attr)(messageflowEnd,{d:"m 1 5 l 0 -3 l 7 3 l -7 3 z"}),addMarker(id,{element:messageflowEnd,attrs:{fill:fill,stroke:stroke,strokeLinecap:"butt"},ref:{x:8.5,y:5}})}if("association-start"===type){var associationStart=(0,_tinySvg.create)("path");(0,_tinySvg.attr)(associationStart,{d:"M 11 5 L 1 10 L 11 15"}),addMarker(id,{element:associationStart,attrs:{fill:"none",stroke:stroke,strokeWidth:1.5},ref:{x:1,y:10},scale:.5})}if("association-end"===type){var associationEnd=(0,_tinySvg.create)("path");(0,_tinySvg.attr)(associationEnd,{d:"M 1 5 L 11 10 L 1 15"}),addMarker(id,{element:associationEnd,attrs:{fill:"none",stroke:stroke,strokeWidth:1.5},ref:{x:12,y:10},scale:.5})}if("conditional-flow-marker"===type){var conditionalflowMarker=(0,_tinySvg.create)("path");(0,_tinySvg.attr)(conditionalflowMarker,{d:"M 0 10 L 8 6 L 16 10 L 8 14 Z"}),addMarker(id,{element:conditionalflowMarker,attrs:{fill:fill,stroke:stroke},ref:{x:-1,y:10},scale:.5})}if("conditional-default-flow-marker"===type){var conditionaldefaultflowMarker=(0,_tinySvg.create)("path");(0,_tinySvg.attr)(conditionaldefaultflowMarker,{d:"M 6 4 L 10 16"}),addMarker(id,{element:conditionaldefaultflowMarker,attrs:{stroke:stroke},ref:{x:0,y:10},scale:.5})}}(id,type,fill,stroke),"url(#"+id+")"}function drawCircle(parentGfx,width,height,offset,attrs){(0,_minDash.isObject)(offset)&&(attrs=offset,offset=0),offset=offset||0,"none"===(attrs=computeStyle(attrs,{stroke:"black",strokeWidth:2,fill:"white"})).fill&&delete attrs.fillOpacity;var cx=width/2,cy=height/2,circle=(0,_tinySvg.create)("circle");return(0,_tinySvg.attr)(circle,{cx:cx,cy:cy,r:Math.round((width+height)/4-offset)}),(0,_tinySvg.attr)(circle,attrs),(0,_tinySvg.append)(parentGfx,circle),circle}function drawRect(parentGfx,width,height,r,offset,attrs){(0,_minDash.isObject)(offset)&&(attrs=offset,offset=0),offset=offset||0,attrs=computeStyle(attrs,{stroke:"black",strokeWidth:2,fill:"white"});var rect=(0,_tinySvg.create)("rect");return(0,_tinySvg.attr)(rect,{x:offset,y:offset,width:width-2*offset,height:height-2*offset,rx:r,ry:r}),(0,_tinySvg.attr)(rect,attrs),(0,_tinySvg.append)(parentGfx,rect),rect}function drawLine(parentGfx,waypoints,attrs){attrs=computeStyle(attrs,["no-fill"],{stroke:"black",strokeWidth:2,fill:"none"});var line=(0,_RenderUtil.createLine)(waypoints,attrs);return(0,_tinySvg.append)(parentGfx,line),line}function drawPath(parentGfx,d,attrs){attrs=computeStyle(attrs,["no-fill"],{strokeWidth:2,stroke:"black"});var path=(0,_tinySvg.create)("path");return(0,_tinySvg.attr)(path,{d:d}),(0,_tinySvg.attr)(path,attrs),(0,_tinySvg.append)(parentGfx,path),path}function drawMarker(type,parentGfx,path,attrs){return drawPath(parentGfx,path,(0,_minDash.assign)({"data-marker":type},attrs))}function as(type){return function(parentGfx,element){return handlers[type](parentGfx,element)}}function renderer(type){return handlers[type]}function renderEventContent(element,parentGfx){var event=(0,_BpmnRenderUtil.getSemantic)(element),isThrowing=(0,_BpmnRenderUtil.isThrowEvent)(event);return event.eventDefinitions&&1sourceMid[axis]?options.min=position[axis]:options.max=position[axis],(0,_ModelUtil.is)(shape,"bpmn:TextAnnotation")&&(!function(axis){return"x"===axis}(axis)?options.offset=-shape.height/2:options.offset=-shape.width/2),position[axis]=gridSnapping.snapValue(position[axis],options))}),position})}AutoPlaceBehavior.$inject=["eventBus","gridSnapping"]},{"../../../util/ModelUtil":172,"../../auto-place/BpmnAutoPlaceUtil":57,"diagram-js/lib/layout/LayoutUtil":336}],75:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=CreateParticipantBehavior;var _ModelUtil=require("../../../util/ModelUtil"),HIGHER_PRIORITY=1750;function CreateParticipantBehavior(canvas,eventBus,gridSnapping){eventBus.on(["create.start","shape.move.start"],HIGHER_PRIORITY,function(event){var context=event.context,shape=context.shape,rootElement=canvas.getRootElement();(0,_ModelUtil.is)(shape,"bpmn:Participant")&&(0,_ModelUtil.is)(rootElement,"bpmn:Process")&&rootElement.children.length&&context.createConstraints&&(shape.width=gridSnapping.snapValue(shape.width,{min:shape.width}),shape.height=gridSnapping.snapValue(shape.height,{min:shape.height}))})}CreateParticipantBehavior.$inject=["canvas","eventBus","gridSnapping"]},{"../../../util/ModelUtil":172}],76:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=LayoutConnectionBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_Geometry=require("diagram-js/lib/util/Geometry"),_minDash=require("min-dash");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var HIGH_PRIORITY=3e3;function LayoutConnectionBehavior(eventBus,gridSnapping,modeling){_CommandInterceptor2.default.call(this,eventBus),this._gridSnapping=gridSnapping;var self=this;this.postExecuted(["connection.create","connection.layout"],HIGH_PRIORITY,function(event){var context=event.context,connection=context.connection,hints=context.hints||{},waypoints=connection.waypoints;hints.connectionStart||hints.connectionEnd||!1===hints.createElementsBehavior||!function(waypoints){return 3shape.y?bottomAffected.push(element):topAffected.push(element),element.children}),siblings.length&&(offset=bottomAffected.length&&topAffected.length?shape.height/2:shape.height,topAffected.length&&(topAdjustments=spaceTool.calculateAdjustments(topAffected,"y",offset,shape.y-10),spaceTool.makeSpace(topAdjustments.movingShapes,topAdjustments.resizingShapes,{x:0,y:offset},"s")),bottomAffected.length&&(bottomAdjustments=spaceTool.calculateAdjustments(bottomAffected,"y",-offset,shape.y+shape.height+10),spaceTool.makeSpace(bottomAdjustments.movingShapes,bottomAdjustments.resizingShapes,{x:0,y:-offset},"n")))}(shape,oldParent))})}DeleteLaneBehavior.$inject=["eventBus","modeling","spaceTool"],(0,_inherits2.default)(DeleteLaneBehavior,_CommandInterceptor2.default)},{"../../../util/ModelUtil":172,"../util/LaneUtil":143,"diagram-js/lib/command/CommandInterceptor":181,"diagram-js/lib/util/Elements":351,inherits:369}],104:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=DetachEventBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil"),_LabelUtil=require("../../../util/LabelUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var LOW_PRIORITY=500;function DetachEventBehavior(bpmnReplace,injector){injector.invoke(_CommandInterceptor2.default,this),this._bpmnReplace=bpmnReplace;var self=this;this.postExecuted("elements.create",LOW_PRIORITY,function(context){var elements=context.elements;elements.filter(function(shape){return shouldReplace(shape,shape.host)}).map(function(shape){return elements.indexOf(shape)}).forEach(function(index){context.elements[index]=self.replaceShape(elements[index])})},!0),this.preExecute("elements.move",LOW_PRIORITY,function(context){var shapes=context.shapes,newHost=context.newHost;shapes.forEach(function(shape,index){var host=shape.host;shouldReplace(shape,function(array,item){return-1!==array.indexOf(item)}(shapes,host)?host:newHost)&&(shapes[index]=self.replaceShape(shape))})},!0)}function shouldReplace(shape,host){return!(0,_LabelUtil.isLabel)(shape)&&(0,_ModelUtil.is)(shape,"bpmn:BoundaryEvent")&&!host}DetachEventBehavior.$inject=["bpmnReplace","injector"],(0,_inherits2.default)(DetachEventBehavior,_CommandInterceptor2.default),DetachEventBehavior.prototype.replaceShape=function(shape){var intermediateEvent,eventDefinition=function(element){var eventDefinitions=(0,_ModelUtil.getBusinessObject)(element).eventDefinitions;return eventDefinitions&&eventDefinitions[0]}(shape);return intermediateEvent=eventDefinition?{type:"bpmn:IntermediateCatchEvent",eventDefinitionType:eventDefinition.$type}:{type:"bpmn:IntermediateThrowEvent"},this._bpmnReplace.replaceElement(shape,intermediateEvent,{layoutConnection:!1})}},{"../../../util/LabelUtil":171,"../../../util/ModelUtil":172,"diagram-js/lib/command/CommandInterceptor":181,inherits:369}],105:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=DropOnFlowBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_minDash=require("min-dash"),_LayoutUtil=require("diagram-js/lib/layout/LayoutUtil"),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_LineIntersection=require("diagram-js/lib/util/LineIntersection");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function DropOnFlowBehavior(eventBus,bpmnRules,modeling){function insertShape(shape,targetFlow,positionOrBounds){var waypointsBefore,waypointsAfter,dockingPoint,source,target,incomingConnection,outgoingConnection,mid,waypoints=targetFlow.waypoints,oldOutgoing=shape.outgoing.slice(),oldIncoming=shape.incoming.slice();mid=(0,_minDash.isNumber)(positionOrBounds.width)?(0,_LayoutUtil.getMid)(positionOrBounds):positionOrBounds;var intersection=(0,_LineIntersection.getApproxIntersection)(waypoints,mid);if(intersection){if(waypointsBefore=waypoints.slice(0,intersection.index),waypointsAfter=waypoints.slice(intersection.index+(intersection.bendpoint?1:0)),!waypointsBefore.length||!waypointsAfter.length)return;dockingPoint=intersection.bendpoint?waypoints[intersection.index]:mid,isPointInsideBBox(shape,waypointsBefore[waypointsBefore.length-1])||waypointsBefore.push(copy(dockingPoint)),isPointInsideBBox(shape,waypointsAfter[0])||waypointsAfter.unshift(copy(dockingPoint))}source=targetFlow.source,target=targetFlow.target,bpmnRules.canConnect(source,shape,targetFlow)&&(modeling.reconnectEnd(targetFlow,shape,waypointsBefore||mid),incomingConnection=targetFlow),bpmnRules.canConnect(shape,target,targetFlow)&&(outgoingConnection=incomingConnection?modeling.connect(shape,target,{type:targetFlow.type,waypoints:waypointsAfter}):(modeling.reconnectStart(targetFlow,shape,waypointsAfter||mid),targetFlow));var duplicateConnections=[].concat(incomingConnection&&(0,_minDash.filter)(oldIncoming,function(connection){return connection.source===incomingConnection.source})||[],outgoingConnection&&(0,_minDash.filter)(oldOutgoing,function(connection){return connection.target===outgoingConnection.target})||[]);duplicateConnections.length&&modeling.removeElements(duplicateConnections)}_CommandInterceptor2.default.call(this,eventBus),this.preExecute("elements.move",function(context){var newParent=context.newParent,shapes=context.shapes,delta=context.delta,shape=shapes[0];if(shape&&newParent){newParent&&newParent.waypoints&&(context.newParent=newParent=newParent.parent);var shapeMid=(0,_LayoutUtil.getMid)(shape),newShapeMid={x:shapeMid.x+delta.x,y:shapeMid.y+delta.y},connection=(0,_minDash.find)(newParent.children,function(element){return bpmnRules.canInsert(shapes,element)&&(0,_LineIntersection.getApproxIntersection)(element.waypoints,newShapeMid)});connection&&(context.targetFlow=connection,context.position=newShapeMid)}},!0),this.postExecuted("elements.move",function(context){var shapes=context.shapes,targetFlow=context.targetFlow,position=context.position;targetFlow&&insertShape(shapes[0],targetFlow,position)},!0),this.preExecute("shape.create",function(context){var parent=context.parent,shape=context.shape;bpmnRules.canInsert(shape,parent)&&(context.targetFlow=parent,context.parent=parent.parent)},!0),this.postExecuted("shape.create",function(context){var shape=context.shape,targetFlow=context.targetFlow,positionOrBounds=context.position;targetFlow&&insertShape(shape,targetFlow,positionOrBounds)},!0)}function isPointInsideBBox(bbox,point){var x=point.x,y=point.y;return x>=bbox.x&&x<=bbox.x+bbox.width&&y>=bbox.y&&y<=bbox.y+bbox.height}function copy(obj){return(0,_minDash.assign)({},obj)}(0,_inherits2.default)(DropOnFlowBehavior,_CommandInterceptor2.default),DropOnFlowBehavior.$inject=["eventBus","bpmnRules","modeling"]},{"diagram-js/lib/command/CommandInterceptor":181,"diagram-js/lib/layout/LayoutUtil":336,"diagram-js/lib/util/LineIntersection":357,inherits:369,"min-dash":575}],106:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=EventBasedGatewayBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function EventBasedGatewayBehavior(eventBus,modeling){_CommandInterceptor2.default.call(this,eventBus),this.preExecuted("connection.create",function(event){var context=event.context,source=context.source,target=context.target,existingIncomingConnections=target.incoming.slice();context.hints&&!1===context.hints.createElementsBehavior||(0,_ModelUtil.is)(source,"bpmn:EventBasedGateway")&&target.incoming.length&&existingIncomingConnections.filter(isSequenceFlow).forEach(function(sequenceFlow){modeling.removeConnection(sequenceFlow)})}),this.preExecuted("shape.replace",function(event){var newShape=event.context.newShape;(0,_ModelUtil.is)(newShape,"bpmn:EventBasedGateway")&&newShape.outgoing.filter(isSequenceFlow).map(function(sequenceFlow){return sequenceFlow.target}).reduce(function(sequenceFlows,target){var incomingSequenceFlows=target.incoming.filter(isSequenceFlow);return sequenceFlows.concat(incomingSequenceFlows)},[]).forEach(function(sequenceFlow){sequenceFlow.source!==newShape&&modeling.removeConnection(sequenceFlow)})})}function isSequenceFlow(connection){return(0,_ModelUtil.is)(connection,"bpmn:SequenceFlow")}EventBasedGatewayBehavior.$inject=["eventBus","modeling"],(0,_inherits2.default)(EventBasedGatewayBehavior,_CommandInterceptor2.default)},{"../../../util/ModelUtil":172,"diagram-js/lib/command/CommandInterceptor":181,inherits:369}],107:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=FixHoverBehavior;var _LaneUtil=require("../util/LaneUtil"),_ModelUtil=require("../../../util/ModelUtil"),_ModelingUtil=require("../util/ModelingUtil"),HIGH_PRIORITY=1500,HIGHEST_PRIORITY=2e3;function FixHoverBehavior(elementRegistry,eventBus,canvas){eventBus.on(["create.hover","create.move","create.end","shape.move.hover","shape.move.move","shape.move.end"],HIGH_PRIORITY,function(event){var shape=event.context.shape||event.shape,hover=event.hover;(0,_ModelUtil.is)(hover,"bpmn:Lane")&&!(0,_ModelingUtil.isAny)(shape,["bpmn:Lane","bpmn:Participant"])&&(event.hover=(0,_LaneUtil.getLanesRoot)(hover),event.hoverGfx=elementRegistry.getGraphics(event.hover));var rootElement=canvas.getRootElement();hover!==rootElement&&(shape.labelTarget||(0,_ModelUtil.is)(shape,"bpmn:Group"))&&(event.hover=rootElement,event.hoverGfx=elementRegistry.getGraphics(event.hover))}),eventBus.on(["connect.hover","connect.out","connect.end","connect.cleanup","global-connect.hover","global-connect.out","global-connect.end","global-connect.cleanup"],HIGH_PRIORITY,function(event){var hover=event.hover;(0,_ModelUtil.is)(hover,"bpmn:Lane")&&(event.hover=(0,_LaneUtil.getLanesRoot)(hover)||hover,event.hoverGfx=elementRegistry.getGraphics(event.hover))}),eventBus.on(["bendpoint.move.hover"],HIGH_PRIORITY,function(event){var context=event.context,hover=event.hover,type=context.type;(0,_ModelUtil.is)(hover,"bpmn:Lane")&&/reconnect/.test(type)&&(event.hover=(0,_LaneUtil.getLanesRoot)(hover)||hover,event.hoverGfx=elementRegistry.getGraphics(event.hover))}),eventBus.on(["connect.start"],HIGH_PRIORITY,function(event){var context=event.context,start=context.start;(0,_ModelUtil.is)(start,"bpmn:Lane")&&(context.start=(0,_LaneUtil.getLanesRoot)(start)||start)}),eventBus.on("shape.move.start",HIGHEST_PRIORITY,function(event){var shape=event.shape;(0,_ModelUtil.is)(shape,"bpmn:Lane")&&(event.shape=(0,_LaneUtil.getLanesRoot)(shape)||shape)})}FixHoverBehavior.$inject=["elementRegistry","eventBus","canvas"]},{"../../../util/ModelUtil":172,"../util/LaneUtil":143,"../util/ModelingUtil":144}],108:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=GroupBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_Collections=require("diagram-js/lib/util/Collections"),_ModelUtil=require("../../../util/ModelUtil"),_CategoryUtil=require("./util/CategoryUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var HIGH_PRIORITY=2e3;function GroupBehavior(bpmnFactory,canvas,elementRegistry,eventBus,injector,moddleCopy){function getDefinitions(){var rootElement=canvas.getRootElement();return(0,_ModelUtil.getBusinessObject)(rootElement).$parent}function removeReferencedCategoryValue(shape){var categoryValue=(0,_ModelUtil.getBusinessObject)(shape).categoryValueRef;if(categoryValue){var category=categoryValue.$parent;categoryValue&&((0,_Collections.remove)(category.categoryValue,categoryValue),category&&!category.categoryValue.length&&function(category){var definitions=getDefinitions();(0,_Collections.remove)(definitions.get("rootElements"),category)}(category))}}injector.invoke(_CommandInterceptor2.default,this),this.executed("shape.delete",function(event){var shape=event.context.shape;if((0,_ModelUtil.is)(shape,"bpmn:Group")){var categoryValueRef=(0,_ModelUtil.getBusinessObject)(shape).categoryValueRef;!function(elements,categoryValue){return elements.some(function(e){var businessObject=(0,_ModelUtil.getBusinessObject)(e);return businessObject.categoryValueRef&&businessObject.categoryValueRef===categoryValue})}(elementRegistry.filter(function(e){return(0,_ModelUtil.is)(e,"bpmn:Group")}),categoryValueRef)&&removeReferencedCategoryValue(shape)}}),this.reverted("shape.delete",function(event){var shape=event.context.shape;if((0,_ModelUtil.is)(shape,"bpmn:Group")){var categoryValueRef=(0,_ModelUtil.getBusinessObject)(shape).categoryValueRef,definitions=getDefinitions(),category=categoryValueRef?categoryValueRef.$parent:null;(0,_Collections.add)(category.get("categoryValue"),categoryValueRef),(0,_Collections.add)(definitions.get("rootElements"),category)}}),this.execute("shape.create",function(event){var shape=event.context.shape,businessObject=(0,_ModelUtil.getBusinessObject)(shape);if((0,_ModelUtil.is)(businessObject,"bpmn:Group")&&!businessObject.categoryValueRef){var definitions=getDefinitions(),categoryValue=(0,_CategoryUtil.createCategoryValue)(definitions,bpmnFactory);businessObject.categoryValueRef=categoryValue}}),this.revert("shape.create",function(event){var shape=event.context.shape;(0,_ModelUtil.is)(shape,"bpmn:Group")&&(removeReferencedCategoryValue(shape),delete(0,_ModelUtil.getBusinessObject)(shape).categoryValueRef)}),eventBus.on("moddleCopy.canCopyProperty",HIGH_PRIORITY,function(context){var categoryValue,property=context.property;if((0,_ModelUtil.is)(property,"bpmn:CategoryValue"))return categoryValue=(0,_CategoryUtil.createCategoryValue)(getDefinitions(),bpmnFactory),moddleCopy.copyElement(property,categoryValue)})}GroupBehavior.$inject=["bpmnFactory","canvas","elementRegistry","eventBus","injector","moddleCopy"],(0,_inherits2.default)(GroupBehavior,_CommandInterceptor2.default)},{"../../../util/ModelUtil":172,"./util/CategoryUtil":127,"diagram-js/lib/command/CommandInterceptor":181,"diagram-js/lib/util/Collections":349,inherits:369}],109:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ImportDockingFix;var obj,_LayoutUtil=require("diagram-js/lib/layout/LayoutUtil"),_LineIntersect=require("./util/LineIntersect"),_LineIntersect2=(obj=_LineIntersect)&&obj.__esModule?obj:{default:obj};function ImportDockingFix(eventBus){function adjustDocking(startPoint,nextPoint,elementMid){var centerIntersect,elementTop={x:elementMid.x,y:elementMid.y-50},elementLeft={x:elementMid.x-50,y:elementMid.y},verticalIntersect=(0,_LineIntersect2.default)(startPoint,nextPoint,elementMid,elementTop),horizontalIntersect=(0,_LineIntersect2.default)(startPoint,nextPoint,elementMid,elementLeft);centerIntersect=verticalIntersect&&horizontalIntersect?getDistance(verticalIntersect,elementMid)>getDistance(horizontalIntersect,elementMid)?horizontalIntersect:verticalIntersect:verticalIntersect||horizontalIntersect,startPoint.original=centerIntersect}eventBus.on("bpmnElement.added",function(e){var element=e.element;element.waypoints&&function(connection){var waypoints=connection.waypoints;adjustDocking(waypoints[0],waypoints[1],(0,_LayoutUtil.getMid)(connection.source)),adjustDocking(waypoints[waypoints.length-1],waypoints[waypoints.length-2],(0,_LayoutUtil.getMid)(connection.target))}(element)})}function getDistance(p1,p2){return Math.sqrt(Math.pow(p1.x-p2.x,2)+Math.pow(p1.y-p2.y,2))}ImportDockingFix.$inject=["eventBus"]},{"./util/LineIntersect":131,"diagram-js/lib/layout/LayoutUtil":336}],110:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=IsHorizontalFix;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil"),_ModelingUtil=require("../util/ModelingUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function IsHorizontalFix(eventBus){_CommandInterceptor2.default.call(this,eventBus);var elementTypesToUpdate=["bpmn:Participant","bpmn:Lane"];this.executed(["shape.move","shape.create","shape.resize"],function(event){var bo=(0,_ModelUtil.getBusinessObject)(event.context.shape);(0,_ModelingUtil.isAny)(bo,elementTypesToUpdate)&&!bo.di.get("isHorizontal")&&bo.di.set("isHorizontal",!0)})}IsHorizontalFix.$inject=["eventBus"],(0,_inherits2.default)(IsHorizontalFix,_CommandInterceptor2.default)},{"../../../util/ModelUtil":172,"../util/ModelingUtil":144,"diagram-js/lib/command/CommandInterceptor":181,inherits:369}],111:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=LabelBehavior,exports.getReferencePointDelta=getReferencePointDelta,exports.getReferencePoint=getReferencePoint,exports.asEdges=asEdges;var _minDash=require("min-dash"),_inherits2=_interopRequireDefault(require("inherits")),_ModelUtil=require("../../../util/ModelUtil"),_LabelUtil=require("../../../util/LabelUtil"),_LabelUtil2=require("../../label-editing/LabelUtil"),_LabelLayoutUtil=require("./util/LabelLayoutUtil"),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_AttachUtil=require("diagram-js/lib/util/AttachUtil"),_LayoutUtil=require("diagram-js/lib/layout/LayoutUtil"),_PositionUtil=require("diagram-js/lib/util/PositionUtil"),_GeometricUtil=require("./util/GeometricUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var DEFAULT_LABEL_DIMENSIONS={width:90,height:20},NAME_PROPERTY="name",TEXT_PROPERTY="text";function LabelBehavior(eventBus,modeling,bpmnFactory,textRenderer){_CommandInterceptor2.default.call(this,eventBus),this.postExecute("element.updateProperties",function(e){var context=e.context,element=context.element,properties=context.properties;if(NAME_PROPERTY in properties&&modeling.updateLabel(element,properties[NAME_PROPERTY]),TEXT_PROPERTY in properties&&(0,_ModelUtil.is)(element,"bpmn:TextAnnotation")){var newBounds=textRenderer.getTextAnnotationBounds({x:element.x,y:element.y,width:element.width,height:element.height},properties[TEXT_PROPERTY]||"");modeling.updateLabel(element,properties.text,newBounds)}}),this.postExecute(["shape.create","connection.create"],function(e){var context=e.context;if(!1!==(context.hints||{}).createElementsBehavior){var element=context.shape||context.connection,businessObject=element.businessObject;if(!(0,_LabelUtil.isLabel)(element)&&(0,_LabelUtil.isLabelExternal)(element)&&(0,_LabelUtil2.getLabel)(element)){var labelCenter=(0,_LabelUtil.getExternalLabelMid)(element),labelDimensions=textRenderer.getExternalLabelBounds(DEFAULT_LABEL_DIMENSIONS,(0,_LabelUtil2.getLabel)(element));modeling.createLabel(element,labelCenter,{id:businessObject.id+"_label",businessObject:businessObject,width:labelDimensions.width,height:labelDimensions.height})}}}),this.postExecute("shape.delete",function(event){var context=event.context,labelTarget=context.labelTarget,hints=context.hints||{};labelTarget&&!1!==hints.unsetLabel&&modeling.updateLabel(labelTarget,null,null,{removeShape:!1})}),this.postExecute(["label.create"],function(event){var di,element=event.context.shape;element.labelTarget&&(0,_ModelUtil.is)(element.labelTarget||element,"bpmn:BaseElement")&&((di=element.businessObject.di).label||(di.label=bpmnFactory.create("bpmndi:BPMNLabel",{bounds:bpmnFactory.create("dc:Bounds")})),(0,_minDash.assign)(di.label.bounds,{x:element.x,y:element.y,width:element.width,height:element.height}))}),this.postExecute(["connection.layout","connection.updateWaypoints"],function(event){var context=event.context;if(!1!==(context.hints||{}).labelBehavior){var labelAdjustment,label=context.connection.label;label&&label.parent&&(labelAdjustment=function(event){var context=event.context,connection=context.connection,label=connection.label,hints=(0,_minDash.assign)({},context.hints),newWaypoints=context.newWaypoints||connection.waypoints,oldWaypoints=context.oldWaypoints;return void 0===hints.startChanged&&(hints.startChanged=!!hints.connectionStart),void 0===hints.endChanged&&(hints.endChanged=!!hints.connectionEnd),(0,_LabelLayoutUtil.getLabelAdjustment)(label,newWaypoints,oldWaypoints,hints)}(event),modeling.moveShape(label,labelAdjustment))}}),this.postExecute(["shape.replace"],function(event){var context=event.context,newShape=context.newShape,oldShape=context.oldShape,businessObject=(0,_ModelUtil.getBusinessObject)(newShape);businessObject&&(0,_LabelUtil.isLabelExternal)(businessObject)&&oldShape.label&&newShape.label&&(newShape.label.x=oldShape.label.x,newShape.label.y=oldShape.label.y)}),this.postExecute("shape.resize",function(event){var context=event.context,shape=context.shape,newBounds=context.newBounds,oldBounds=context.oldBounds;if((0,_LabelUtil.hasExternalLabel)(shape)){var label=shape.label,delta=getReferencePointDelta(getReferencePoint((0,_LayoutUtil.getMid)(label),asEdges(oldBounds)),oldBounds,newBounds);modeling.moveShape(label,delta)}})}function getReferencePointDelta(referencePoint,oldBounds,newBounds){var newReferencePoint=(0,_AttachUtil.getNewAttachPoint)(referencePoint,oldBounds,newBounds);return(0,_LayoutUtil.roundPoint)((0,_PositionUtil.delta)(newReferencePoint,referencePoint))}function getReferencePoint(point,lines){if(lines.length){var nearestLine=function(point,lines){var distances=lines.map(function(l){return{line:l,distance:(0,_GeometricUtil.getDistancePointLine)(point,l)}});return(0,_minDash.sortBy)(distances,"distance")[0].line}(point,lines);return(0,_GeometricUtil.perpendicularFoot)(point,nearestLine)}}function asEdges(bounds){return[[{x:bounds.x,y:bounds.y},{x:bounds.x+(bounds.width||0),y:bounds.y}],[{x:bounds.x+(bounds.width||0),y:bounds.y},{x:bounds.x+(bounds.width||0),y:bounds.y+(bounds.height||0)}],[{x:bounds.x,y:bounds.y+(bounds.height||0)},{x:bounds.x+(bounds.width||0),y:bounds.y+(bounds.height||0)}],[{x:bounds.x,y:bounds.y},{x:bounds.x,y:bounds.y+(bounds.height||0)}]]}(0,_inherits2.default)(LabelBehavior,_CommandInterceptor2.default),LabelBehavior.$inject=["eventBus","modeling","bpmnFactory","textRenderer"]},{"../../../util/LabelUtil":171,"../../../util/ModelUtil":172,"../../label-editing/LabelUtil":85,"./util/GeometricUtil":128,"./util/LabelLayoutUtil":129,"diagram-js/lib/command/CommandInterceptor":181,"diagram-js/lib/layout/LayoutUtil":336,"diagram-js/lib/util/AttachUtil":347,"diagram-js/lib/util/PositionUtil":361,inherits:369,"min-dash":575}],112:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ModelingFeedback;var _ModelUtil=require("../../../util/ModelUtil"),COLLAB_ERR_MSG="flow elements must be children of pools/participants",PROCESS_ERR_MSG="participants cannot be pasted onto a non-empty process diagram";function ModelingFeedback(eventBus,tooltips,translate){function showError(position,message,timeout){tooltips.add({position:{x:position.x+5,y:position.y+5},type:"error",timeout:timeout||2e3,html:"
"+message+"
"})}eventBus.on(["shape.move.rejected","create.rejected"],function(event){var context=event.context,shape=context.shape,target=context.target;(0,_ModelUtil.is)(target,"bpmn:Collaboration")&&(0,_ModelUtil.is)(shape,"bpmn:FlowNode")&&showError(event,translate(COLLAB_ERR_MSG))}),eventBus.on(["elements.paste.rejected"],function(event){var context=event.context,position=context.position,target=context.target;(0,_ModelUtil.is)(target,"bpmn:Collaboration")&&showError(position,translate(COLLAB_ERR_MSG)),(0,_ModelUtil.is)(target,"bpmn:Process")&&showError(position,translate(PROCESS_ERR_MSG),3e3)})}ModelingFeedback.$inject=["eventBus","tooltips","translate"]},{"../../../util/ModelUtil":172}],113:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=RemoveElementBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_ModelUtil=require("../../../util/ModelUtil"),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_LineIntersect2=_interopRequireDefault(require("./util/LineIntersect"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function RemoveElementBehavior(eventBus,bpmnRules,modeling){_CommandInterceptor2.default.call(this,eventBus),this.preExecute("shape.delete",function(e){var shape=e.context.shape;if(1===shape.incoming.length&&1===shape.outgoing.length){var inConnection=shape.incoming[0],outConnection=shape.outgoing[0];if((0,_ModelUtil.is)(inConnection,"bpmn:SequenceFlow")&&(0,_ModelUtil.is)(outConnection,"bpmn:SequenceFlow")&&bpmnRules.canConnect(inConnection.source,outConnection.target,inConnection)){var newWaypoints=function(inWaypoints,outWaypoints){var intersection=(0,_LineIntersect2.default)(getDocking(inWaypoints[inWaypoints.length-2]),getDocking(inWaypoints[inWaypoints.length-1]),getDocking(outWaypoints[1]),getDocking(outWaypoints[0]));return intersection?[].concat(inWaypoints.slice(0,inWaypoints.length-1),[intersection],outWaypoints.slice(1)):[getDocking(inWaypoints[0]),getDocking(outWaypoints[outWaypoints.length-1])]}(inConnection.waypoints,outConnection.waypoints);modeling.reconnectEnd(inConnection,outConnection.target,newWaypoints)}}})}function getDocking(point){return point.original||point}(0,_inherits2.default)(RemoveElementBehavior,_CommandInterceptor2.default),RemoveElementBehavior.$inject=["eventBus","bpmnRules","modeling"]},{"../../../util/ModelUtil":172,"./util/LineIntersect":131,"diagram-js/lib/command/CommandInterceptor":181,inherits:369}],114:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=RemoveParticipantBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function RemoveParticipantBehavior(eventBus,modeling){_CommandInterceptor2.default.call(this,eventBus),this.preExecute("shape.delete",function(context){var shape=context.shape,parent=shape.parent;(0,_ModelUtil.is)(shape,"bpmn:Participant")&&(context.collaborationRoot=parent)},!0),this.postExecute("shape.delete",function(context){var collaborationRoot=context.collaborationRoot;collaborationRoot&&!collaborationRoot.businessObject.participants.length&&modeling.makeProcess()},!0)}RemoveParticipantBehavior.$inject=["eventBus","modeling"],(0,_inherits2.default)(RemoveParticipantBehavior,_CommandInterceptor2.default)},{"../../../util/ModelUtil":172,"diagram-js/lib/command/CommandInterceptor":181,inherits:369}],115:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ReplaceConnectionBehavior;var _minDash=require("min-dash"),_inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function ReplaceConnectionBehavior(eventBus,modeling,bpmnRules,injector){_CommandInterceptor2.default.call(this,eventBus);var dragging=injector.get("dragging",!1);function fixConnection(connection){var replacementType,remove,source=connection.source,target=connection.target;connection.parent&&((0,_ModelUtil.is)(connection,"bpmn:SequenceFlow")&&(bpmnRules.canConnectSequenceFlow(source,target)||(remove=!0),bpmnRules.canConnectMessageFlow(source,target)&&(replacementType="bpmn:MessageFlow")),(0,_ModelUtil.is)(connection,"bpmn:MessageFlow")&&(bpmnRules.canConnectMessageFlow(source,target)||(remove=!0),bpmnRules.canConnectSequenceFlow(source,target)&&(replacementType="bpmn:SequenceFlow")),(0,_ModelUtil.is)(connection,"bpmn:Association")&&!bpmnRules.canConnectAssociation(source,target)&&(remove=!0),remove&&modeling.removeConnection(connection),replacementType&&modeling.connect(source,target,{type:replacementType,waypoints:connection.waypoints.slice()}))}this.postExecuted("elements.move",function(context){var allConnections=context.closure.allConnections;(0,_minDash.forEach)(allConnections,fixConnection)},!0),this.preExecute("connection.reconnect",function(event){var allowed,replacement,context=event.context,connection=context.connection,source=context.newSource||connection.source,target=context.newTarget||connection.target;(allowed=bpmnRules.canConnect(source,target))&&allowed.type!==connection.type&&(replacement=modeling.connect(source,target,{type:allowed.type,waypoints:connection.waypoints.slice()}),modeling.removeConnection(connection),context.connection=replacement,dragging&&function(oldConnection,newConnection){var index,context=dragging.context(),previousSelection=context&&context.payload.previousSelection;if(!previousSelection||!previousSelection.length)return;if(-1===(index=previousSelection.indexOf(oldConnection)))return;previousSelection.splice(index,1,newConnection)}(connection,replacement))}),this.postExecuted("element.updateProperties",function(event){var connection,context=event.context,properties=context.properties,element=context.element,businessObject=element.businessObject;properties.default&&(connection=(0,_minDash.find)(element.outgoing,(0,_minDash.matchPattern)({id:element.businessObject.default.id})))&&modeling.updateProperties(connection,{conditionExpression:void 0}),properties.conditionExpression&&businessObject.sourceRef.default===businessObject&&modeling.updateProperties(element.source,{default:void 0})})}(0,_inherits2.default)(ReplaceConnectionBehavior,_CommandInterceptor2.default),ReplaceConnectionBehavior.$inject=["eventBus","modeling","bpmnRules","injector"]},{"../../../util/ModelUtil":172,"diagram-js/lib/command/CommandInterceptor":181,inherits:369,"min-dash":575}],116:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ReplaceElementBehaviour;var _inherits2=_interopRequireDefault(require("inherits")),_minDash=require("min-dash"),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_DiUtil=require("../../../util/DiUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function ReplaceElementBehaviour(bpmnReplace,bpmnRules,elementRegistry,injector,modeling,selection){injector.invoke(_CommandInterceptor2.default,this),this._bpmnReplace=bpmnReplace,this._elementRegistry=elementRegistry,this._selection=selection,this.postExecuted(["elements.move"],500,function(event){var context=event.context,target=context.newParent,newHost=context.newHost,elements=[];(0,_minDash.forEach)(context.closure.topLevel,function(topLevelElements){elements=(0,_DiUtil.isEventSubProcess)(topLevelElements)?elements.concat(topLevelElements.children):elements.concat(topLevelElements)}),1===elements.length&&newHost&&(target=newHost);var canReplace=bpmnRules.canReplace(elements,target);canReplace&&this.replaceElements(elements,canReplace.replacements,newHost)},this),this.postExecute(["shape.replace"],1500,function(e){var canReplace,context=e.context,oldShape=context.oldShape,newShape=context.newShape,attachers=oldShape.attachers;attachers&&attachers.length&&(canReplace=bpmnRules.canReplace(attachers,newShape),this.replaceElements(attachers,canReplace.replacements))},this),this.postExecuted(["shape.replace"],1500,function(e){var context=e.context,oldShape=context.oldShape,newShape=context.newShape;modeling.unclaimId(oldShape.businessObject.id,oldShape.businessObject),modeling.updateProperties(newShape,{id:oldShape.id})})}(0,_inherits2.default)(ReplaceElementBehaviour,_CommandInterceptor2.default),ReplaceElementBehaviour.prototype.replaceElements=function(elements,newElements){var elementRegistry=this._elementRegistry,bpmnReplace=this._bpmnReplace,selection=this._selection;(0,_minDash.forEach)(newElements,function(replacement){var newElement={type:replacement.newElementType},oldElement=elementRegistry.get(replacement.oldElementId),idx=elements.indexOf(oldElement);elements[idx]=bpmnReplace.replaceElement(oldElement,newElement,{select:!1})}),newElements&&selection.select(elements)},ReplaceElementBehaviour.$inject=["bpmnReplace","bpmnRules","elementRegistry","injector","modeling","selection"]},{"../../../util/DiUtil":170,"diagram-js/lib/command/CommandInterceptor":181,inherits:369,"min-dash":575}],117:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TEXT_ANNOTATION_MIN_DIMENSIONS=exports.SUB_PROCESS_MIN_DIMENSIONS=exports.PARTICIPANT_MIN_DIMENSIONS=exports.LANE_MIN_DIMENSIONS=void 0,exports.default=ResizeBehavior;var _ModelUtil=require("../../../util/ModelUtil"),_DiUtil=require("../../../util/DiUtil"),_ResizeUtil=require("./util/ResizeUtil"),HIGH_PRIORITY=1500,PARTICIPANT_MIN_DIMENSIONS=(exports.LANE_MIN_DIMENSIONS={width:300,height:60},exports.PARTICIPANT_MIN_DIMENSIONS={width:300,height:150}),SUB_PROCESS_MIN_DIMENSIONS=exports.SUB_PROCESS_MIN_DIMENSIONS={width:140,height:120},TEXT_ANNOTATION_MIN_DIMENSIONS=exports.TEXT_ANNOTATION_MIN_DIMENSIONS={width:50,height:30};function ResizeBehavior(eventBus){eventBus.on("resize.start",HIGH_PRIORITY,function(event){var context=event.context,shape=context.shape,direction=context.direction,balanced=context.balanced;((0,_ModelUtil.is)(shape,"bpmn:Lane")||(0,_ModelUtil.is)(shape,"bpmn:Participant"))&&(context.resizeConstraints=(0,_ResizeUtil.getParticipantResizeConstraints)(shape,direction,balanced)),(0,_ModelUtil.is)(shape,"bpmn:Participant")&&(context.minDimensions=PARTICIPANT_MIN_DIMENSIONS),(0,_ModelUtil.is)(shape,"bpmn:SubProcess")&&(0,_DiUtil.isExpanded)(shape)&&(context.minDimensions=SUB_PROCESS_MIN_DIMENSIONS),(0,_ModelUtil.is)(shape,"bpmn:TextAnnotation")&&(context.minDimensions=TEXT_ANNOTATION_MIN_DIMENSIONS)})}ResizeBehavior.$inject=["eventBus"]},{"../../../util/DiUtil":170,"../../../util/ModelUtil":172,"./util/ResizeUtil":132}],118:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ResizeLaneBehavior;var _ModelUtil=require("../../../util/ModelUtil"),_LayoutUtil=require("diagram-js/lib/layout/LayoutUtil"),_Mouse=require("diagram-js/lib/util/Mouse"),SLIGHTLY_HIGHER_PRIORITY=1001;function ResizeLaneBehavior(eventBus,modeling){eventBus.on("resize.start",SLIGHTLY_HIGHER_PRIORITY+500,function(event){var context=event.context,shape=context.shape;((0,_ModelUtil.is)(shape,"bpmn:Lane")||(0,_ModelUtil.is)(shape,"bpmn:Participant"))&&(context.balanced=!(0,_Mouse.hasPrimaryModifier)(event))}),eventBus.on("resize.end",SLIGHTLY_HIGHER_PRIORITY,function(event){var context=event.context,shape=context.shape,canExecute=context.canExecute,newBounds=context.newBounds;if((0,_ModelUtil.is)(shape,"bpmn:Lane")||(0,_ModelUtil.is)(shape,"bpmn:Participant"))return canExecute&&(newBounds=(0,_LayoutUtil.roundBounds)(newBounds),modeling.resizeLane(shape,newBounds,context.balanced)),!1})}ResizeLaneBehavior.$inject=["eventBus","modeling"]},{"../../../util/ModelUtil":172,"diagram-js/lib/layout/LayoutUtil":336,"diagram-js/lib/util/Mouse":359}],119:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=RootElementReferenceBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_minDash=require("min-dash"),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_Collections=require("diagram-js/lib/util/Collections"),_ModelUtil=require("../../../util/ModelUtil"),_ModelingUtil=require("../util/ModelingUtil"),_DiUtil=require("../../../util/DiUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var LOW_PRIORITY=500;function RootElementReferenceBehavior(bpmnjs,eventBus,injector,moddleCopy,bpmnFactory){function canHaveRootElementReference(element){return(0,_ModelingUtil.isAny)(element,["bpmn:ReceiveTask","bpmn:SendTask"])||function(element,types){(0,_minDash.isArray)(types)||(types=[types]);return(0,_minDash.some)(types,function(type){return(0,_DiUtil.hasEventDefinition)(element,type)})}(element,["bpmn:ErrorEventDefinition","bpmn:EscalationEventDefinition","bpmn:MessageEventDefinition","bpmn:SignalEventDefinition"])}function hasRootElement(rootElement){var rootElements=bpmnjs.getDefinitions().get("rootElements");return!!(0,_minDash.find)(rootElements,(0,_minDash.matchPattern)({id:rootElement.id}))}function getRootElementReferencePropertyName(eventDefinition){return(0,_ModelUtil.is)(eventDefinition,"bpmn:ErrorEventDefinition")?"errorRef":(0,_ModelUtil.is)(eventDefinition,"bpmn:EscalationEventDefinition")?"escalationRef":(0,_ModelUtil.is)(eventDefinition,"bpmn:MessageEventDefinition")?"messageRef":(0,_ModelUtil.is)(eventDefinition,"bpmn:SignalEventDefinition")?"signalRef":void 0}function getRootElement(businessObject){if((0,_ModelingUtil.isAny)(businessObject,["bpmn:ReceiveTask","bpmn:SendTask"]))return businessObject.get("messageRef");var eventDefinition=businessObject.get("eventDefinitions")[0];return eventDefinition.get(getRootElementReferencePropertyName(eventDefinition))}injector.invoke(_CommandInterceptor2.default,this),this.executed("shape.create",function(context){var shape=context.shape;if(canHaveRootElementReference(shape)){var rootElements,rootElement=getRootElement((0,_ModelUtil.getBusinessObject)(shape));rootElement&&!hasRootElement(rootElement)&&(rootElements=bpmnjs.getDefinitions().get("rootElements"),(0,_Collections.add)(rootElements,rootElement),context.addedRootElement=rootElement)}},!0),this.reverted("shape.create",function(context){var addedRootElement=context.addedRootElement;if(addedRootElement){var rootElements=bpmnjs.getDefinitions().get("rootElements");(0,_Collections.remove)(rootElements,addedRootElement)}},!0),eventBus.on("copyPaste.copyElement",function(context){var descriptor=context.descriptor,element=context.element;if(canHaveRootElementReference(element)){var rootElement=getRootElement((0,_ModelUtil.getBusinessObject)(element));rootElement&&(descriptor.referencedRootElement=rootElement)}}),eventBus.on("copyPaste.pasteElement",LOW_PRIORITY,function(context){var descriptor=context.descriptor,businessObject=descriptor.businessObject;if(canHaveRootElementReference(businessObject)){var referencedRootElement=descriptor.referencedRootElement;referencedRootElement&&(hasRootElement(referencedRootElement)||(referencedRootElement=moddleCopy.copyElement(referencedRootElement,bpmnFactory.create(referencedRootElement.$type))),function(businessObject,rootElement){if((0,_ModelingUtil.isAny)(businessObject,["bpmn:ReceiveTask","bpmn:SendTask"]))return businessObject.set("messageRef",rootElement);var eventDefinition=businessObject.get("eventDefinitions")[0];eventDefinition.set(getRootElementReferencePropertyName(eventDefinition),rootElement)}(businessObject,referencedRootElement))}})}RootElementReferenceBehavior.$inject=["bpmnjs","eventBus","injector","moddleCopy","bpmnFactory"],(0,_inherits2.default)(RootElementReferenceBehavior,_CommandInterceptor2.default)},{"../../../util/DiUtil":170,"../../../util/ModelUtil":172,"../util/ModelingUtil":144,"diagram-js/lib/command/CommandInterceptor":181,"diagram-js/lib/util/Collections":349,inherits:369,"min-dash":575}],120:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=SpaceToolBehavior;var _minDash=require("min-dash"),_ModelUtil=require("../../../util/ModelUtil"),_DiUtil=require("../../../util/DiUtil"),_ResizeBehavior=require("./ResizeBehavior"),_LaneUtil=require("../util/LaneUtil"),max=Math.max;function SpaceToolBehavior(eventBus){eventBus.on("spaceTool.getMinDimensions",function(context){var shapes=context.shapes,axis=context.axis,start=context.start,minDimensions={};return(0,_minDash.forEach)(shapes,function(shape){var id=shape.id;(0,_ModelUtil.is)(shape,"bpmn:Participant")&&(!function(axis){return"x"===axis}(axis)?minDimensions[id]={width:_ResizeBehavior.PARTICIPANT_MIN_DIMENSIONS.width,height:function(participant,start){var lanesMinHeight;return function(element){return!!(0,_LaneUtil.getChildLanes)(element).length}(participant)?(lanesMinHeight=function(participant,resizeStart){var resizedLane,lanes=(0,_LaneUtil.getChildLanes)(participant);return resizedLane=function findResizedLane(lanes,resizeStart){var i,lane,childLanes;for(i=0;i=lane.y&&resizeStart<=lane.y+lane.height)return(childLanes=(0,_LaneUtil.getChildLanes)(lane)).length?findResizedLane(childLanes,resizeStart):lane}(lanes,resizeStart),participant.height-resizedLane.height+_ResizeBehavior.LANE_MIN_DIMENSIONS.height}(participant,start),max(_ResizeBehavior.PARTICIPANT_MIN_DIMENSIONS.height,lanesMinHeight)):_ResizeBehavior.PARTICIPANT_MIN_DIMENSIONS.height}(shape,start)}:minDimensions[id]=_ResizeBehavior.PARTICIPANT_MIN_DIMENSIONS),(0,_ModelUtil.is)(shape,"bpmn:SubProcess")&&(0,_DiUtil.isExpanded)(shape)&&(minDimensions[id]=_ResizeBehavior.SUB_PROCESS_MIN_DIMENSIONS),(0,_ModelUtil.is)(shape,"bpmn:TextAnnotation")&&(minDimensions[id]=_ResizeBehavior.TEXT_ANNOTATION_MIN_DIMENSIONS)}),minDimensions})}SpaceToolBehavior.$inject=["eventBus"]},{"../../../util/DiUtil":170,"../../../util/ModelUtil":172,"../util/LaneUtil":143,"./ResizeBehavior":117,"min-dash":575}],121:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=SubProcessStartEventBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil"),_DiUtil=require("../../../util/DiUtil.js");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function SubProcessStartEventBehavior(injector,modeling){injector.invoke(_CommandInterceptor2.default,this),this.postExecuted("shape.replace",function(event){var oldShape=event.context.oldShape,newShape=event.context.newShape;if((0,_ModelUtil.is)(newShape,"bpmn:SubProcess")&&(0,_ModelUtil.is)(oldShape,"bpmn:Task")&&(0,_DiUtil.isExpanded)(newShape)){var position=function(shape){return{x:shape.x+shape.width/6,y:shape.y+shape.height/2}}(newShape);modeling.createShape({type:"bpmn:StartEvent"},position,newShape)}})}SubProcessStartEventBehavior.$inject=["injector","modeling"],(0,_inherits2.default)(SubProcessStartEventBehavior,_CommandInterceptor2.default)},{"../../../util/DiUtil.js":170,"../../../util/ModelUtil":172,"diagram-js/lib/command/CommandInterceptor":181,inherits:369}],122:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ToggleElementCollapseBehaviour;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil"),_ResizeUtil=require("diagram-js/lib/features/resize/ResizeUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var LOW_PRIORITY=500;function ToggleElementCollapseBehaviour(eventBus,elementFactory,modeling,resize){function expandedBounds(shape,defaultSize){var visibleElements,visibleBBox,newBounds=defaultSize;return visibleElements=function(elements){return elements.filter(function(e){return!e.hidden})}(shape.children).concat([shape]),(visibleBBox=(0,_ResizeUtil.computeChildrenBBox)(visibleElements))?(newBounds.width=Math.max(visibleBBox.width,newBounds.width),newBounds.height=Math.max(visibleBBox.height,newBounds.height),newBounds.x=visibleBBox.x+(visibleBBox.width-newBounds.width)/2,newBounds.y=visibleBBox.y+(visibleBBox.height-newBounds.height)/2):(newBounds.x=shape.x+(shape.width-newBounds.width)/2,newBounds.y=shape.y+(shape.height-newBounds.height)/2),newBounds}_CommandInterceptor2.default.call(this,eventBus),this.executed(["shape.toggleCollapse"],LOW_PRIORITY,function(e){var shape=e.context.shape;(0,_ModelUtil.is)(shape,"bpmn:SubProcess")&&(shape.collapsed?(0,_ModelUtil.getBusinessObject)(shape).di.isExpanded=!1:(function(children){children.length&&children.forEach(function(child){"label"!==child.type||child.businessObject.name||(child.hidden=!0)})}(shape.children),(0,_ModelUtil.getBusinessObject)(shape).di.isExpanded=!0))}),this.reverted(["shape.toggleCollapse"],LOW_PRIORITY,function(e){var shape=e.context.shape;shape.collapsed?(0,_ModelUtil.getBusinessObject)(shape).di.isExpanded=!1:(0,_ModelUtil.getBusinessObject)(shape).di.isExpanded=!0}),this.postExecuted(["shape.toggleCollapse"],LOW_PRIORITY,function(e){var newBounds,shape=e.context.shape,defaultSize=elementFactory._getDefaultSize(shape);newBounds=shape.collapsed?function(shape,defaultSize){return{x:shape.x+(shape.width-defaultSize.width)/2,y:shape.y+(shape.height-defaultSize.height)/2,width:defaultSize.width,height:defaultSize.height}}(shape,defaultSize):expandedBounds(shape,defaultSize),modeling.resizeShape(shape,newBounds,null,{autoResize:!shape.collapsed&&"nwse"})})}(0,_inherits2.default)(ToggleElementCollapseBehaviour,_CommandInterceptor2.default),ToggleElementCollapseBehaviour.$inject=["eventBus","elementFactory","modeling"]},{"../../../util/ModelUtil":172,"diagram-js/lib/command/CommandInterceptor":181,"diagram-js/lib/features/resize/ResizeUtil":304,inherits:369}],123:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=UnclaimIdBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil"),_DiUtil=require("../../../util/DiUtil"),_LabelUtil=require("../../../util/LabelUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function UnclaimIdBehavior(canvas,injector,moddle,modeling){injector.invoke(_CommandInterceptor2.default,this),this.preExecute("shape.delete",function(event){var shape=event.context.shape,shapeBo=shape.businessObject;(0,_LabelUtil.isLabel)(shape)||((0,_ModelUtil.is)(shape,"bpmn:Participant")&&(0,_DiUtil.isExpanded)(shape)&&moddle.ids.unclaim(shapeBo.processRef.id),modeling.unclaimId(shapeBo.id,shapeBo))}),this.preExecute("connection.delete",function(event){var connectionBo=event.context.connection.businessObject;modeling.unclaimId(connectionBo.id,connectionBo)}),this.preExecute("canvas.updateRoot",function(){var rootElementBo=canvas.getRootElement().businessObject;moddle.ids.unclaim(rootElementBo.id)})}(0,_inherits2.default)(UnclaimIdBehavior,_CommandInterceptor2.default),UnclaimIdBehavior.$inject=["canvas","injector","moddle","modeling"]},{"../../../util/DiUtil":170,"../../../util/LabelUtil":171,"../../../util/ModelUtil":172,"diagram-js/lib/command/CommandInterceptor":181,inherits:369}],124:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=DeleteSequenceFlowBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function DeleteSequenceFlowBehavior(eventBus,modeling){_CommandInterceptor2.default.call(this,eventBus),this.preExecute("connection.delete",function(event){var connection=event.context.connection,source=connection.source;!function(connection,source){if(!(0,_ModelUtil.is)(connection,"bpmn:SequenceFlow"))return!1;var sourceBo=(0,_ModelUtil.getBusinessObject)(source),sequenceFlow=(0,_ModelUtil.getBusinessObject)(connection);return sourceBo.get("default")===sequenceFlow}(connection,source)||modeling.updateProperties(source,{default:null})})}(0,_inherits2.default)(DeleteSequenceFlowBehavior,_CommandInterceptor2.default),DeleteSequenceFlowBehavior.$inject=["eventBus","modeling"]},{"../../../util/ModelUtil":172,"diagram-js/lib/command/CommandInterceptor":181,inherits:369}],125:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=UpdateFlowNodeRefsBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("diagram-js/lib/command/CommandInterceptor")),_ModelUtil=require("../../../util/ModelUtil");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var LOW_PRIORITY=500,HIGH_PRIORITY=5e3;function UpdateFlowNodeRefsBehavior(eventBus,modeling,translate){var context;function getContext(){if(!context)throw new Error(translate("out of bounds release"));return context}_CommandInterceptor2.default.call(this,eventBus);var laneRefUpdateEvents=["spaceTool","lane.add","lane.resize","lane.split","elements.create","elements.delete","elements.move","shape.create","shape.delete","shape.move","shape.resize"];this.preExecute(laneRefUpdateEvents,HIGH_PRIORITY,function(event){(context=context||new UpdateContext).enter()}),this.postExecuted(laneRefUpdateEvents,LOW_PRIORITY,function(event){!function(){if(!context)throw new Error(translate("out of bounds release"));var triggerUpdate=context.leave();triggerUpdate&&(modeling.updateLaneRefs(context.flowNodes,context.lanes),context=null)}()}),this.preExecute(["shape.create","shape.move","shape.delete","shape.resize"],function(event){var shape=event.context.shape,updateContext=getContext();shape.labelTarget||((0,_ModelUtil.is)(shape,"bpmn:Lane")&&updateContext.addLane(shape),(0,_ModelUtil.is)(shape,"bpmn:FlowNode")&&updateContext.addFlowNode(shape))})}function UpdateContext(){this.flowNodes=[],this.lanes=[],this.counter=0,this.addLane=function(lane){this.lanes.push(lane)},this.addFlowNode=function(flowNode){this.flowNodes.push(flowNode)},this.enter=function(){this.counter++},this.leave=function(){return this.counter--,!this.counter}}UpdateFlowNodeRefsBehavior.$inject=["eventBus","modeling","translate"],(0,_inherits2.default)(UpdateFlowNodeRefsBehavior,_CommandInterceptor2.default)},{"../../../util/ModelUtil":172,"diagram-js/lib/command/CommandInterceptor":181,inherits:369}],126:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _AdaptiveLabelPositioningBehavior2=_interopRequireDefault(require("./AdaptiveLabelPositioningBehavior")),_AppendBehavior2=_interopRequireDefault(require("./AppendBehavior")),_AssociationBehavior2=_interopRequireDefault(require("./AssociationBehavior")),_AttachEventBehavior2=_interopRequireDefault(require("./AttachEventBehavior")),_BoundaryEventBehavior2=_interopRequireDefault(require("./BoundaryEventBehavior")),_RootElementReferenceBehavior2=_interopRequireDefault(require("./RootElementReferenceBehavior")),_CreateBehavior2=_interopRequireDefault(require("./CreateBehavior")),_FixHoverBehavior2=_interopRequireDefault(require("./FixHoverBehavior")),_CreateDataObjectBehavior2=_interopRequireDefault(require("./CreateDataObjectBehavior")),_CreateParticipantBehavior2=_interopRequireDefault(require("./CreateParticipantBehavior")),_DataInputAssociationBehavior2=_interopRequireDefault(require("./DataInputAssociationBehavior")),_DataStoreBehavior2=_interopRequireDefault(require("./DataStoreBehavior")),_DeleteLaneBehavior2=_interopRequireDefault(require("./DeleteLaneBehavior")),_DetachEventBehavior2=_interopRequireDefault(require("./DetachEventBehavior")),_DropOnFlowBehavior2=_interopRequireDefault(require("./DropOnFlowBehavior")),_EventBasedGatewayBehavior2=_interopRequireDefault(require("./EventBasedGatewayBehavior")),_GroupBehavior2=_interopRequireDefault(require("./GroupBehavior")),_ImportDockingFix2=_interopRequireDefault(require("./ImportDockingFix")),_IsHorizontalFix2=_interopRequireDefault(require("./IsHorizontalFix")),_LabelBehavior2=_interopRequireDefault(require("./LabelBehavior")),_ModelingFeedback2=_interopRequireDefault(require("./ModelingFeedback")),_ReplaceConnectionBehavior2=_interopRequireDefault(require("./ReplaceConnectionBehavior")),_RemoveParticipantBehavior2=_interopRequireDefault(require("./RemoveParticipantBehavior")),_ReplaceElementBehaviour2=_interopRequireDefault(require("./ReplaceElementBehaviour")),_ResizeBehavior2=_interopRequireDefault(require("./ResizeBehavior")),_ResizeLaneBehavior2=_interopRequireDefault(require("./ResizeLaneBehavior")),_RemoveElementBehavior2=_interopRequireDefault(require("./RemoveElementBehavior")),_SpaceToolBehavior2=_interopRequireDefault(require("./SpaceToolBehavior")),_SubProcessStartEventBehavior2=_interopRequireDefault(require("./SubProcessStartEventBehavior")),_ToggleElementCollapseBehaviour2=_interopRequireDefault(require("./ToggleElementCollapseBehaviour")),_UnclaimIdBehavior2=_interopRequireDefault(require("./UnclaimIdBehavior")),_UpdateFlowNodeRefsBehavior2=_interopRequireDefault(require("./UpdateFlowNodeRefsBehavior")),_UnsetDefaultFlowBehavior2=_interopRequireDefault(require("./UnsetDefaultFlowBehavior"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__init__:["adaptiveLabelPositioningBehavior","appendBehavior","associationBehavior","attachEventBehavior","boundaryEventBehavior","rootElementReferenceBehavior","createBehavior","fixHoverBehavior","createDataObjectBehavior","createParticipantBehavior","dataStoreBehavior","dataInputAssociationBehavior","deleteLaneBehavior","detachEventBehavior","dropOnFlowBehavior","eventBasedGatewayBehavior","groupBehavior","importDockingFix","isHorizontalFix","labelBehavior","modelingFeedback","removeElementBehavior","removeParticipantBehavior","replaceConnectionBehavior","replaceElementBehaviour","resizeBehavior","resizeLaneBehavior","toggleElementCollapseBehaviour","spaceToolBehavior","subProcessStartEventBehavior","unclaimIdBehavior","unsetDefaultFlowBehavior","updateFlowNodeRefsBehavior"],adaptiveLabelPositioningBehavior:["type",_AdaptiveLabelPositioningBehavior2.default],appendBehavior:["type",_AppendBehavior2.default],associationBehavior:["type",_AssociationBehavior2.default],attachEventBehavior:["type",_AttachEventBehavior2.default],boundaryEventBehavior:["type",_BoundaryEventBehavior2.default],rootElementReferenceBehavior:["type",_RootElementReferenceBehavior2.default],createBehavior:["type",_CreateBehavior2.default],fixHoverBehavior:["type",_FixHoverBehavior2.default],createDataObjectBehavior:["type",_CreateDataObjectBehavior2.default],createParticipantBehavior:["type",_CreateParticipantBehavior2.default],dataInputAssociationBehavior:["type",_DataInputAssociationBehavior2.default],dataStoreBehavior:["type",_DataStoreBehavior2.default],deleteLaneBehavior:["type",_DeleteLaneBehavior2.default],detachEventBehavior:["type",_DetachEventBehavior2.default],dropOnFlowBehavior:["type",_DropOnFlowBehavior2.default],eventBasedGatewayBehavior:["type",_EventBasedGatewayBehavior2.default],groupBehavior:["type",_GroupBehavior2.default],importDockingFix:["type",_ImportDockingFix2.default],isHorizontalFix:["type",_IsHorizontalFix2.default],labelBehavior:["type",_LabelBehavior2.default],modelingFeedback:["type",_ModelingFeedback2.default],replaceConnectionBehavior:["type",_ReplaceConnectionBehavior2.default],removeParticipantBehavior:["type",_RemoveParticipantBehavior2.default],replaceElementBehaviour:["type",_ReplaceElementBehaviour2.default],resizeBehavior:["type",_ResizeBehavior2.default],resizeLaneBehavior:["type",_ResizeLaneBehavior2.default],removeElementBehavior:["type",_RemoveElementBehavior2.default],toggleElementCollapseBehaviour:["type",_ToggleElementCollapseBehaviour2.default],spaceToolBehavior:["type",_SpaceToolBehavior2.default],subProcessStartEventBehavior:["type",_SubProcessStartEventBehavior2.default],unclaimIdBehavior:["type",_UnclaimIdBehavior2.default],updateFlowNodeRefsBehavior:["type",_UpdateFlowNodeRefsBehavior2.default],unsetDefaultFlowBehavior:["type",_UnsetDefaultFlowBehavior2.default]}},{"./AdaptiveLabelPositioningBehavior":93,"./AppendBehavior":94,"./AssociationBehavior":95,"./AttachEventBehavior":96,"./BoundaryEventBehavior":97,"./CreateBehavior":98,"./CreateDataObjectBehavior":99,"./CreateParticipantBehavior":100,"./DataInputAssociationBehavior":101,"./DataStoreBehavior":102,"./DeleteLaneBehavior":103,"./DetachEventBehavior":104,"./DropOnFlowBehavior":105,"./EventBasedGatewayBehavior":106,"./FixHoverBehavior":107,"./GroupBehavior":108,"./ImportDockingFix":109,"./IsHorizontalFix":110,"./LabelBehavior":111,"./ModelingFeedback":112,"./RemoveElementBehavior":113,"./RemoveParticipantBehavior":114,"./ReplaceConnectionBehavior":115,"./ReplaceElementBehaviour":116,"./ResizeBehavior":117,"./ResizeLaneBehavior":118,"./RootElementReferenceBehavior":119,"./SpaceToolBehavior":120,"./SubProcessStartEventBehavior":121,"./ToggleElementCollapseBehaviour":122,"./UnclaimIdBehavior":123,"./UnsetDefaultFlowBehavior":124,"./UpdateFlowNodeRefsBehavior":125}],127:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createCategoryValue=function(definitions,bpmnFactory){var categoryValue=bpmnFactory.create("bpmn:CategoryValue"),category=bpmnFactory.create("bpmn:Category",{categoryValue:[categoryValue]});return(0,_Collections.add)(definitions.get("rootElements"),category),(0,_ModelUtil.getBusinessObject)(category).$parent=definitions,(0,_ModelUtil.getBusinessObject)(categoryValue).$parent=category,categoryValue};var _Collections=require("diagram-js/lib/util/Collections"),_ModelUtil=require("../../../../util/ModelUtil")},{"../../../../util/ModelUtil":172,"diagram-js/lib/util/Collections":349}],128:[function(require,module,exports){"use strict";function vectorLength(v){return Math.sqrt(Math.pow(v.x,2)+Math.pow(v.y,2))}function perpendicularFoot(point,line){var a=line[0],b=line[1],bd={x:b.x-a.x,y:b.y-a.y},r=function(a,b,c){var system=[{n:a[0]-c[0],lambda:b[0]},{n:a[1]-c[1],lambda:b[1]}];return-(system[0].n*b[0]+system[1].n*b[1])/(system[0].lambda*b[0]+system[1].lambda*b[1])}([a.x,a.y],[bd.x,bd.y],[point.x,point.y]);return{x:a.x+r*bd.x,y:a.y+r*bd.y}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.vectorLength=vectorLength,exports.getAngle=function(line){return Math.atan((line[1].y-line[0].y)/(line[1].x-line[0].x))},exports.rotateVector=function(vector,angle){return angle?{x:Math.cos(angle)*vector.x-Math.sin(angle)*vector.y,y:Math.sin(angle)*vector.x+Math.cos(angle)*vector.y}:vector},exports.perpendicularFoot=perpendicularFoot,exports.getDistancePointLine=function(point,line){var pfPoint=perpendicularFoot(point,line);return vectorLength({x:pfPoint.x-point.x,y:pfPoint.y-point.y})},exports.getDistancePointPoint=function(point1,point2){return vectorLength({x:point1.x-point2.x,y:point1.y-point2.y})}},{}],129:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.findNewLabelLineStartIndex=findNewLabelLineStartIndex,exports.getLabelAdjustment=function(label,newWaypoints,oldWaypoints,hints){var x=0,y=0,labelPosition=function(label){return{x:label.x+label.width/2,y:label.y+label.height/2}}(label),attachment=(0,_LineAttachmentUtil.getAttachment)(labelPosition,oldWaypoints),oldLabelLineIndex=attachment.segmentIndex,newLabelLineIndex=findNewLabelLineStartIndex(oldWaypoints,newWaypoints,attachment,hints);if(null===newLabelLineIndex)return{x:x,y:y};if(newLabelLineIndex<0||newLabelLineIndex>newWaypoints.length-2)return{x:x,y:y};var oldLabelLine=getLine(oldWaypoints,oldLabelLineIndex),newLabelLine=getLine(newWaypoints,newLabelLineIndex),oldFoot=attachment.position,relativeFootPosition=function(line,foot){var length=(0,_GeometricUtil.getDistancePointPoint)(line[0],line[1]),lengthToFoot=(0,_GeometricUtil.getDistancePointPoint)(line[0],foot);return 0===length?0:lengthToFoot/length}(oldLabelLine,oldFoot),angleDelta=function(l1,l2){var a1=(0,_GeometricUtil.getAngle)(l1);return(0,_GeometricUtil.getAngle)(l2)-a1}(oldLabelLine,newLabelLine);if("bendpoint"===attachment.type){var offset=newWaypoints.length-oldWaypoints.length,oldBendpointIndex=attachment.bendpointIndex,oldBendpoint=oldWaypoints[oldBendpointIndex];if(-1!==newWaypoints.indexOf(oldBendpoint))return{x:x,y:y};if(0==offset){var newBendpoint=newWaypoints[oldBendpointIndex];return{x:newBendpoint.x-attachment.position.x,y:newBendpoint.y-attachment.position.y}}offset<0&&0!==oldBendpointIndex&&oldBendpointIndex line intersections");1===intersections.length&&(attachment={type:"bendpoint",position:intersections[0],segmentIndex:idx,bendpointIndex:pointsEqual(segmentStart,intersections[0])?idx:idx+1}),2===intersections.length&&(p1=intersections[0],p2=intersections[1],attachmentPosition={x:(p1.x+p2.x)/2,y:(p1.y+p2.y)/2},attachment={type:"segment",position:attachmentPosition,segmentIndex:idx,relativeLocation:getDistance(segmentStart,attachmentPosition)/getDistance(segmentStart,segmentEnd)}),attachmentDistance=getDistance(attachment.position,point),(!closestAttachment||attachmentDistance=min(rangeStart,rangeEnd)-EQUAL_THRESHOLD&&n<=max(rangeStart,rangeEnd)+EQUAL_THRESHOLD}var EQUAL_THRESHOLD=.1;function pointsEqual(p1,p2){return abs(p1.x-p2.x)<=EQUAL_THRESHOLD&&abs(p1.y-p2.y)<=EQUAL_THRESHOLD}},{}],131:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(l1s,l1e,l2s,l2e){var denominator,a,b,c,numerator;return 0!=(denominator=(l2e.y-l2s.y)*(l1e.x-l1s.x)-(l2e.x-l2s.x)*(l1e.y-l1s.y))?(a=l1s.y-l2s.y,b=l1s.x-l2s.x,numerator=(l2e.x-l2s.x)*a-(l2e.y-l2s.y)*b,c=numerator/denominator,{x:Math.round(l1s.x+c*(l1e.x-l1s.x)),y:Math.round(l1s.y+c*(l1e.y-l1s.y))}):null}},{}],132:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getParticipantResizeConstraints=function(laneShape,resizeDirection,balanced){var lanesRoot=(0,_LaneUtil.getLanesRoot)(laneShape),isFirst=!0,isLast=!0,allLanes=(0,_LaneUtil.collectLanes)(lanesRoot,[lanesRoot]),laneTrbl=(0,_LayoutUtil.asTRBL)(laneShape),maxTrbl={},minTrbl={};/e/.test(resizeDirection)?minTrbl.right=laneTrbl.left+_ResizeBehavior.LANE_MIN_DIMENSIONS.width:/w/.test(resizeDirection)&&(minTrbl.left=laneTrbl.right-_ResizeBehavior.LANE_MIN_DIMENSIONS.width);return allLanes.forEach(function(other){var otherTrbl=(0,_LayoutUtil.asTRBL)(other);/n/.test(resizeDirection)&&(otherTrbl.toplaneTrbl.bottom+10&&(isLast=!1),balanced&&abs(laneTrbl.bottom-otherTrbl.top)<10&&addMin(maxTrbl,"bottom",otherTrbl.bottom-_ResizeBehavior.LANE_MIN_DIMENSIONS.height),abs(laneTrbl.bottom-otherTrbl.bottom)<5&&addMax(minTrbl,"bottom",otherTrbl.top+_ResizeBehavior.LANE_MIN_DIMENSIONS.height))}),lanesRoot.children.filter(function(s){return!s.hidden&&!s.waypoints&&((0,_ModelUtil.is)(s,"bpmn:FlowElement")||(0,_ModelUtil.is)(s,"bpmn:Artifact"))}).forEach(function(flowElement){var flowElementTrbl=(0,_LayoutUtil.asTRBL)(flowElement);isFirst&&/n/.test(resizeDirection)&&addMin(minTrbl,"top",flowElementTrbl.top-LANE_TOP_PADDING),/e/.test(resizeDirection)&&addMax(minTrbl,"right",flowElementTrbl.right+LANE_RIGHT_PADDING),isLast&&/s/.test(resizeDirection)&&addMax(minTrbl,"bottom",flowElementTrbl.bottom+LANE_BOTTOM_PADDING),/w/.test(resizeDirection)&&addMin(minTrbl,"left",flowElementTrbl.left-LANE_LEFT_PADDING)}),{min:minTrbl,max:maxTrbl}};var _ModelUtil=require("../../../../util/ModelUtil"),_LayoutUtil=require("diagram-js/lib/layout/LayoutUtil"),_LaneUtil=require("../../../modeling/util/LaneUtil"),_ResizeBehavior=require("../ResizeBehavior"),abs=Math.abs,min=Math.min,max=Math.max;function addToTrbl(trbl,attr,value,choice){var current=trbl[attr];trbl[attr]=void 0===current?value:choice(value,current)}function addMin(trbl,attr,value){return addToTrbl(trbl,attr,value,min)}function addMax(trbl,attr,value){return addToTrbl(trbl,attr,value,max)}var LANE_RIGHT_PADDING=20,LANE_LEFT_PADDING=50,LANE_TOP_PADDING=20,LANE_BOTTOM_PADDING=20},{"../../../../util/ModelUtil":172,"../../../modeling/util/LaneUtil":143,"../ResizeBehavior":117,"diagram-js/lib/layout/LayoutUtil":336}],133:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=AddLaneHandler;var _minDash=require("min-dash"),_Elements=require("diagram-js/lib/util/Elements"),_LaneUtil=require("../util/LaneUtil");function AddLaneHandler(modeling,spaceTool){this._modeling=modeling,this._spaceTool=spaceTool}AddLaneHandler.$inject=["modeling","spaceTool"],AddLaneHandler.prototype.preExecute=function(context){var spaceTool=this._spaceTool,modeling=this._modeling,shape=context.shape,location=context.location,lanesRoot=(0,_LaneUtil.getLanesRoot)(shape),isRoot=lanesRoot===shape,laneParent=isRoot?shape:shape.parent;(0,_LaneUtil.getChildLanes)(laneParent).length||modeling.createShape({type:"bpmn:Lane"},{x:shape.x+_LaneUtil.LANE_INDENTATION,y:shape.y,width:shape.width-_LaneUtil.LANE_INDENTATION,height:shape.height},laneParent);var allAffected=[];(0,_Elements.eachElement)(lanesRoot,function(element){return allAffected.push(element),element.label&&allAffected.push(element.label),element===shape?[]:(0,_minDash.filter)(element.children,function(c){return c!==shape})});var offset="top"===location?-120:120,lanePosition="top"===location?shape.y:shape.y+shape.height,spacePos=lanePosition+("top"===location?10:-10),direction="top"===location?"n":"s",adjustments=spaceTool.calculateAdjustments(allAffected,"y",offset,spacePos);spaceTool.makeSpace(adjustments.movingShapes,adjustments.resizingShapes,{x:0,y:offset},direction,spacePos),context.newLane=modeling.createShape({type:"bpmn:Lane"},{x:shape.x+(isRoot?_LaneUtil.LANE_INDENTATION:0),y:lanePosition-("top"===location?120:0),width:shape.width-(isRoot?_LaneUtil.LANE_INDENTATION:0),height:120},laneParent)}},{"../util/LaneUtil":143,"diagram-js/lib/util/Elements":351,"min-dash":575}],134:[function(require,module,exports){"use strict";function IdClaimHandler(moddle){this._moddle=moddle}Object.defineProperty(exports,"__esModule",{value:!0}),(exports.default=IdClaimHandler).$inject=["moddle"],IdClaimHandler.prototype.execute=function(context){var ids=this._moddle.ids,id=context.id,element=context.element;context.claiming?ids.claim(id,element):ids.unclaim(id)},IdClaimHandler.prototype.revert=function(context){var ids=this._moddle.ids,id=context.id,element=context.element;context.claiming?ids.unclaim(id):ids.claim(id,element)}},{}],135:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ResizeLaneHandler;var _ModelUtil=require("../../../util/ModelUtil"),_LaneUtil=require("../util/LaneUtil"),_Elements=require("diagram-js/lib/util/Elements"),_LayoutUtil=require("diagram-js/lib/layout/LayoutUtil"),_ResizeUtil=require("diagram-js/lib/features/resize/ResizeUtil");function ResizeLaneHandler(modeling,spaceTool){this._modeling=modeling,this._spaceTool=spaceTool}ResizeLaneHandler.$inject=["modeling","spaceTool"],ResizeLaneHandler.prototype.preExecute=function(context){var shape=context.shape,newBounds=context.newBounds;!1!==context.balanced?this.resizeBalanced(shape,newBounds):this.resizeSpace(shape,newBounds)},ResizeLaneHandler.prototype.resizeBalanced=function(shape,newBounds){var modeling=this._modeling,resizeNeeded=(0,_LaneUtil.computeLanesResize)(shape,newBounds);modeling.resizeShape(shape,newBounds),resizeNeeded.forEach(function(r){modeling.resizeShape(r.shape,r.newBounds)})},ResizeLaneHandler.prototype.resizeSpace=function(shape,newBounds){var change,spacePos,direction,offset,adjustments,spaceTool=this._spaceTool,shapeTrbl=(0,_LayoutUtil.asTRBL)(shape),newTrbl=(0,_LayoutUtil.asTRBL)(newBounds),trblDiff=(0,_ResizeUtil.substractTRBL)(newTrbl,shapeTrbl),lanesRoot=(0,_LaneUtil.getLanesRoot)(shape),allAffected=[],allLanes=[];(0,_Elements.eachElement)(lanesRoot,function(element){return allAffected.push(element),((0,_ModelUtil.is)(element,"bpmn:Lane")||(0,_ModelUtil.is)(element,"bpmn:Participant"))&&allLanes.push(element),element.children}),(trblDiff.bottom||trblDiff.top)&&(change=trblDiff.bottom||trblDiff.top,spacePos=shape.y+(trblDiff.bottom?shape.height:0)+(trblDiff.bottom?-10:10),direction=trblDiff.bottom?"s":"n",offset=0laneTrbl.left&&elementMid_xlaneTrbl.top&&elementMid_ytarget[axis]+dimensionForAxis-padding&&(0,_SnapUtil.setSnapped)(event,axis,target[axis]+dimensionForAxis-padding)})}(event,hover,function(target){return(0,_ModelUtil.is)(target,"bpmn:Task")?TASK_BOUNDS_PADDING:TARGET_BOUNDS_PADDING}(hover)),hover&&function(attrs,types){return(0,_minDash.some)(types,function(type){return isType(attrs,type)})}(canExecute,["bpmn:Association","bpmn:DataInputAssociation","bpmn:DataOutputAssociation","bpmn:SequenceFlow"])?(context.connectionStart=(0,_SnapUtil.mid)(start),(0,_ModelingUtil.isAny)(hover,["bpmn:Event","bpmn:Gateway"])&&snapToPosition(event,(0,_SnapUtil.mid)(hover)),(0,_ModelingUtil.isAny)(hover,["bpmn:Task","bpmn:SubProcess"])&&function(event,target){var targetMid=(0,_SnapUtil.mid)(target);AXES.forEach(function(axis){!function(event,target,axis){return event[axis]>target[axis]+TARGET_CENTER_PADDING&&event[axis]sourceMid[axis]?sourceMid[axis]+BOUNDARY_TO_HOST_THRESHOLD:sourceMid[axis]-BOUNDARY_TO_HOST_THRESHOLD,(0,_SnapUtil.setSnapped)(event,axis,newCoordinate))})}(event)):isType(canExecute,"bpmn:MessageFlow")?((0,_ModelUtil.is)(start,"bpmn:Event")&&(context.connectionStart=(0,_SnapUtil.mid)(start)),(0,_ModelUtil.is)(hover,"bpmn:Event")&&snapToPosition(event,(0,_SnapUtil.mid)(hover))):context.connectionStart=context.initialConnectionStart)})}function snapToPosition(event,position){(0,_SnapUtil.setSnapped)(event,"x",position.x),(0,_SnapUtil.setSnapped)(event,"y",position.y)}function isType(attrs,type){return attrs&&attrs.type===type}function getDimensionForAxis(axis,element){return"x"===axis?element.width:element.height}BpmnConnectSnapping.$inject=["eventBus"]},{"../../util/ModelUtil":172,"../modeling/util/ModelingUtil":144,"diagram-js/lib/features/keyboard/KeyboardUtil":252,"diagram-js/lib/features/snapping/SnapUtil":318,"diagram-js/lib/layout/LayoutUtil":336,"min-dash":575}],162:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=BpmnCreateMoveSnapping;var _inherits2=_interopRequireDefault(require("inherits")),_CreateMoveSnapping2=_interopRequireDefault(require("diagram-js/lib/features/snapping/CreateMoveSnapping")),_SnapUtil=require("diagram-js/lib/features/snapping/SnapUtil"),_DiUtil=require("../../util/DiUtil"),_ModelUtil=require("../../util/ModelUtil"),_LayoutUtil=require("diagram-js/lib/layout/LayoutUtil"),_BpmnSnappingUtil=require("./BpmnSnappingUtil"),_minDash=require("min-dash");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var HIGH_PRIORITY=1500;function BpmnCreateMoveSnapping(eventBus,injector){injector.invoke(_CreateMoveSnapping2.default,this),eventBus.on(["create.move","create.end"],HIGH_PRIORITY,setSnappedIfConstrained),eventBus.on(["create.move","create.end","shape.move.move","shape.move.end"],HIGH_PRIORITY,function(event){var context=event.context,canExecute=context.canExecute,target=context.target;!canExecute||"attach"!==canExecute&&!canExecute.attach||(0,_SnapUtil.isSnapped)(event)||function(event,target){var offset,targetTRBL=(0,_LayoutUtil.asTRBL)(target),direction=(0,_BpmnSnappingUtil.getBoundaryAttachment)(event,target),shape=event.context.shape;offset=shape.parent?{x:0,y:0}:(0,_LayoutUtil.getMid)(shape);/top/.test(direction)?(0,_SnapUtil.setSnapped)(event,"y",targetTRBL.top-offset.y):/bottom/.test(direction)&&(0,_SnapUtil.setSnapped)(event,"y",targetTRBL.bottom-offset.y);/left/.test(direction)?(0,_SnapUtil.setSnapped)(event,"x",targetTRBL.left-offset.x):/right/.test(direction)&&(0,_SnapUtil.setSnapped)(event,"x",targetTRBL.right-offset.x)}(event,target)})}function setSnappedIfConstrained(event){var createConstraints=event.context.createConstraints;if(createConstraints){var top=createConstraints.top,right=createConstraints.right,bottom=createConstraints.bottom,left=createConstraints.left;(left&&left>=event.x||right&&right<=event.x)&&(0,_SnapUtil.setSnapped)(event,"x",event.x),(top&&top>=event.y||bottom&&bottom<=event.y)&&(0,_SnapUtil.setSnapped)(event,"y",event.y)}}function includes(array,value){return-1!==array.indexOf(value)}function getDockingSnapOrigin(docking,isMove,event){return isMove?{x:docking.x-event.x,y:docking.y-event.y}:{x:docking.x,y:docking.y}}(0,_inherits2.default)(BpmnCreateMoveSnapping,_CreateMoveSnapping2.default),BpmnCreateMoveSnapping.$inject=["eventBus","injector"],BpmnCreateMoveSnapping.prototype.initSnap=function(event){var snapContext=_CreateMoveSnapping2.default.prototype.initSnap.call(this,event),shape=event.shape,isMove=!!this._elementRegistry.get(shape.id);return(0,_minDash.forEach)(shape.outgoing,function(connection){var docking=connection.waypoints[0];docking=docking.original||docking,snapContext.setSnapOrigin(connection.id+"-docking",getDockingSnapOrigin(docking,isMove,event))}),(0,_minDash.forEach)(shape.incoming,function(connection){var docking=connection.waypoints[connection.waypoints.length-1];docking=docking.original||docking,snapContext.setSnapOrigin(connection.id+"-docking",getDockingSnapOrigin(docking,isMove,event))}),(0,_ModelUtil.is)(shape,"bpmn:Participant")&&snapContext.setSnapLocations(["top-left","bottom-right","mid"]),snapContext},BpmnCreateMoveSnapping.prototype.addSnapTargetPoints=function(snapPoints,shape,target){_CreateMoveSnapping2.default.prototype.addSnapTargetPoints.call(this,snapPoints,shape,target);var snapTargets=this.getSnapTargets(shape,target);(0,_minDash.forEach)(snapTargets,function(snapTarget){(function(element){if((0,_ModelUtil.is)(element,"bpmn:SubProcess")&&(0,_DiUtil.isExpanded)(element))return!0;return(0,_ModelUtil.is)(element,"bpmn:Participant")}(snapTarget)||function(elements,type){return elements.every(function(el){return(0,_ModelUtil.is)(el,type)})}([shape,snapTarget],"bpmn:TextAnnotation"))&&(snapPoints.add("top-left",(0,_SnapUtil.topLeft)(snapTarget)),snapPoints.add("bottom-right",(0,_SnapUtil.bottomRight)(snapTarget)))});var elementRegistry=this._elementRegistry;return(0,_minDash.forEach)(shape.incoming,function(connection){if(elementRegistry.get(shape.id)){includes(snapTargets,connection.source)||snapPoints.add("mid",(0,_LayoutUtil.getMid)(connection.source));var docking=connection.waypoints[0];snapPoints.add(connection.id+"-docking",docking.original||docking)}}),(0,_minDash.forEach)(shape.outgoing,function(connection){if(elementRegistry.get(shape.id)){includes(snapTargets,connection.target)||snapPoints.add("mid",(0,_LayoutUtil.getMid)(connection.target));var docking=connection.waypoints[connection.waypoints.length-1];snapPoints.add(connection.id+"-docking",docking.original||docking)}}),(0,_ModelUtil.is)(target,"bpmn:SequenceFlow")&&(snapPoints=this.addSnapTargetPoints(snapPoints,shape,target.parent)),snapPoints},BpmnCreateMoveSnapping.prototype.getSnapTargets=function(shape,target){return _CreateMoveSnapping2.default.prototype.getSnapTargets.call(this,shape,target).filter(function(snapTarget){return!(0,_ModelUtil.is)(snapTarget,"bpmn:Lane")})}},{"../../util/DiUtil":170,"../../util/ModelUtil":172,"./BpmnSnappingUtil":163,"diagram-js/lib/features/snapping/CreateMoveSnapping":315,"diagram-js/lib/features/snapping/SnapUtil":318,"diagram-js/lib/layout/LayoutUtil":336,inherits:369,"min-dash":575}],163:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getBoundaryAttachment=function(position,targetBounds){var orientation=(0,_LayoutUtil.getOrientation)(position,targetBounds,-15);return"intersect"!==orientation?orientation:null};var _LayoutUtil=require("diagram-js/lib/layout/LayoutUtil")},{"diagram-js/lib/layout/LayoutUtil":336}],164:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _BpmnConnectSnapping2=_interopRequireDefault(require("./BpmnConnectSnapping")),_BpmnCreateMoveSnapping2=_interopRequireDefault(require("./BpmnCreateMoveSnapping")),_snapping2=_interopRequireDefault(require("diagram-js/lib/features/snapping"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_snapping2.default],__init__:["connectSnapping","createMoveSnapping"],connectSnapping:["type",_BpmnConnectSnapping2.default],createMoveSnapping:["type",_BpmnCreateMoveSnapping2.default]}},{"./BpmnConnectSnapping":161,"./BpmnCreateMoveSnapping":162,"diagram-js/lib/features/snapping":320}],165:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=BpmnImporter;var _minDash=require("min-dash"),_ModelUtil=require("../util/ModelUtil"),_LabelUtil=require("../util/LabelUtil"),_LayoutUtil=require("diagram-js/lib/layout/LayoutUtil"),_DiUtil=require("../util/DiUtil"),_LabelUtil2=require("../features/label-editing/LabelUtil"),_Util=require("./Util");function elementData(semantic,attrs){return(0,_minDash.assign)({id:semantic.id,type:semantic.$type,businessObject:semantic},attrs)}function notYetDrawn(translate,semantic,refSemantic,property){return new Error(translate("element {element} referenced by {referenced}#{property} not yet drawn",{element:(0,_Util.elementToString)(refSemantic),referenced:(0,_Util.elementToString)(semantic),property:property}))}function BpmnImporter(eventBus,canvas,elementFactory,elementRegistry,translate,textRenderer){this._eventBus=eventBus,this._canvas=canvas,this._elementFactory=elementFactory,this._elementRegistry=elementRegistry,this._translate=translate,this._textRenderer=textRenderer}BpmnImporter.$inject=["eventBus","canvas","elementFactory","elementRegistry","translate","textRenderer"],BpmnImporter.prototype.add=function(semantic,parentElement){var element,hidden,parentIndex,di=semantic.di,translate=this._translate;if((0,_ModelUtil.is)(di,"bpmndi:BPMNPlane"))element=this._elementFactory.createRoot(elementData(semantic)),this._canvas.setRootElement(element);else if((0,_ModelUtil.is)(di,"bpmndi:BPMNShape")){var collapsed=!(0,_DiUtil.isExpanded)(semantic),isFrame=function(semantic){return(0,_ModelUtil.is)(semantic,"bpmn:Group")}(semantic);hidden=parentElement&&(parentElement.hidden||parentElement.collapsed);var bounds=semantic.di.bounds;element=this._elementFactory.createShape(elementData(semantic,{collapsed:collapsed,hidden:hidden,x:Math.round(bounds.x),y:Math.round(bounds.y),width:Math.round(bounds.width),height:Math.round(bounds.height),isFrame:isFrame})),(0,_ModelUtil.is)(semantic,"bpmn:BoundaryEvent")&&this._attachBoundary(semantic,element),(0,_ModelUtil.is)(semantic,"bpmn:Lane")&&(parentIndex=0),(0,_ModelUtil.is)(semantic,"bpmn:DataStoreReference")&&!function(bbox,point){var x=point.x,y=point.y;return x>=bbox.x&&x<=bbox.x+bbox.width&&y>=bbox.y&&y<=bbox.y+bbox.height}(parentElement,(0,_LayoutUtil.getMid)(bounds))&&(parentElement=this._canvas.getRootElement()),this._canvas.addShape(element,parentElement,parentIndex)}else{if(!(0,_ModelUtil.is)(di,"bpmndi:BPMNEdge"))throw new Error(translate("unknown di {di} for element {semantic}",{di:(0,_Util.elementToString)(di),semantic:(0,_Util.elementToString)(semantic)}));var source=this._getSource(semantic),target=this._getTarget(semantic);hidden=parentElement&&(parentElement.hidden||parentElement.collapsed),element=this._elementFactory.createConnection(elementData(semantic,{hidden:hidden,source:source,target:target,waypoints:function(bo,source,target){var waypoints=bo.di.waypoint;return!waypoints||waypoints.length<2?[(0,_LayoutUtil.getMid)(source),(0,_LayoutUtil.getMid)(target)]:waypoints.map(function(p){return{x:p.x,y:p.y}})}(semantic,source,target)})),(0,_ModelUtil.is)(semantic,"bpmn:DataAssociation")&&(parentElement=null),(0,_ModelUtil.is)(semantic,"bpmn:SequenceFlow")&&(parentIndex=0),this._canvas.addConnection(element,parentElement,parentIndex)}return(0,_LabelUtil.isLabelExternal)(semantic)&&(0,_LabelUtil2.getLabel)(element)&&this.addLabel(semantic,element),this._eventBus.fire("bpmnElement.added",{element:element}),element},BpmnImporter.prototype._attachBoundary=function(boundarySemantic,boundaryElement){var translate=this._translate,hostSemantic=boundarySemantic.attachedToRef;if(!hostSemantic)throw new Error(translate("missing {semantic}#attachedToRef",{semantic:(0,_Util.elementToString)(boundarySemantic)}));var host=this._elementRegistry.get(hostSemantic.id),attachers=host&&host.attachers;if(!host)throw notYetDrawn(translate,boundarySemantic,hostSemantic,"attachedToRef");boundaryElement.host=host,attachers||(host.attachers=attachers=[]),-1===attachers.indexOf(boundaryElement)&&attachers.push(boundaryElement)},BpmnImporter.prototype.addLabel=function(semantic,element){var bounds,text,label;return bounds=(0,_LabelUtil.getExternalLabelBounds)(semantic,element),(text=(0,_LabelUtil2.getLabel)(element))&&(bounds=this._textRenderer.getExternalLabelBounds(bounds,text)),label=this._elementFactory.createLabel(elementData(semantic,{id:semantic.id+"_label",labelTarget:element,type:"label",hidden:element.hidden||!(0,_LabelUtil2.getLabel)(element),x:Math.round(bounds.x),y:Math.round(bounds.y),width:Math.round(bounds.width),height:Math.round(bounds.height)})),this._canvas.addShape(label,element.parent)},BpmnImporter.prototype._getEnd=function(semantic,side){var element,refSemantic,type=semantic.$type,translate=this._translate;if(refSemantic=semantic[side+"Ref"],"source"===side&&"bpmn:DataInputAssociation"===type&&(refSemantic=refSemantic&&refSemantic[0]),("source"===side&&"bpmn:DataOutputAssociation"===type||"target"===side&&"bpmn:DataInputAssociation"===type)&&(refSemantic=semantic.$parent),element=refSemantic&&this._getElement(refSemantic))return element;throw refSemantic?notYetDrawn(translate,semantic,refSemantic,side+"Ref"):new Error(translate("{semantic}#{side} Ref not specified",{semantic:(0,_Util.elementToString)(semantic),side:side}))},BpmnImporter.prototype._getSource=function(semantic){return this._getEnd(semantic,"source")},BpmnImporter.prototype._getTarget=function(semantic){return this._getEnd(semantic,"target")},BpmnImporter.prototype._getElement=function(semantic){return this._elementRegistry.get(semantic.id)}},{"../features/label-editing/LabelUtil":85,"../util/DiUtil":170,"../util/LabelUtil":171,"../util/ModelUtil":172,"./Util":168,"diagram-js/lib/layout/LayoutUtil":336,"min-dash":575}],166:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(handler,translate){var handledElements={},deferred=[];function contextual(fn,ctx){return function(e){fn(e,ctx)}}function handled(element){handledElements[element.id]=element}function visitIfDi(element,ctx){try{var gfx=element.di&&function(element,ctx){if(element.gfx)throw new Error(translate("already rendered {element}",{element:(0,_Util.elementToString)(element)}));return handler.element(element,ctx)}(element,ctx);return handled(element),gfx}catch(e){logError(e.message,{element:element,error:e}),console.error(translate("failed to import {element}",{element:(0,_Util.elementToString)(element)})),console.error(e)}}function logError(message,context){handler.error(message,context)}function registerDi(di){var bpmnElement=di.bpmnElement;bpmnElement?bpmnElement.di?logError(translate("multiple DI elements defined for {element}",{element:(0,_Util.elementToString)(bpmnElement)}),{element:bpmnElement}):(diRefs.bind(bpmnElement,"di"),bpmnElement.di=di):logError(translate("no bpmnElement referenced in {element}",{element:(0,_Util.elementToString)(di)}),{element:di})}function handleDiagram(diagram){!function(plane){registerDi(plane),(0,_minDash.forEach)(plane.planeElement,handlePlaneElement)}(diagram.plane)}function handlePlaneElement(planeElement){registerDi(planeElement)}function handleDeferred(){for(;deferred.length;)deferred.shift()()}function handleProcess(process,context){handleFlowElementsContainer(process,context),handleIoSpecification(process.ioSpecification,context),handleArtifacts(process.artifacts,context),handled(process)}function handleMessageFlow(messageFlow,context){visitIfDi(messageFlow,context)}function handleDataAssociation(association,context){visitIfDi(association,context)}function handleDataInput(dataInput,context){visitIfDi(dataInput,context)}function handleDataOutput(dataOutput,context){visitIfDi(dataOutput,context)}function handleArtifact(artifact,context){visitIfDi(artifact,context)}function handleArtifacts(artifacts,context){(0,_minDash.forEach)(artifacts,function(e){is(e,"bpmn:Association")?deferred.push(function(){handleArtifact(e,context)}):handleArtifact(e,context)})}function handleIoSpecification(ioSpecification,context){ioSpecification&&((0,_minDash.forEach)(ioSpecification.dataInputs,contextual(handleDataInput,context)),(0,_minDash.forEach)(ioSpecification.dataOutputs,contextual(handleDataOutput,context)))}function handleSubProcess(subProcess,context){handleFlowElementsContainer(subProcess,context),handleArtifacts(subProcess.artifacts,context)}function handleFlowNode(flowNode,context){var childCtx=visitIfDi(flowNode,context);is(flowNode,"bpmn:SubProcess")&&handleSubProcess(flowNode,childCtx||context),is(flowNode,"bpmn:Activity")&&handleIoSpecification(flowNode.ioSpecification,context),deferred.push(function(){(0,_minDash.forEach)(flowNode.dataInputAssociations,contextual(handleDataAssociation,context)),(0,_minDash.forEach)(flowNode.dataOutputAssociations,contextual(handleDataAssociation,context))})}function handleDataElement(dataObject,context){visitIfDi(dataObject,context)}function handleLane(lane,context){deferred.push(function(){var newContext=visitIfDi(lane,context);lane.childLaneSet&&handleLaneSet(lane.childLaneSet,newContext||context),function(lane){(0,_minDash.forEach)(lane.flowNodeRef,function(flowNode){var lanes=flowNode.get("lanes");lanes&&lanes.push(lane)})}(lane)})}function handleLaneSet(laneSet,context){(0,_minDash.forEach)(laneSet.lanes,contextual(handleLane,context))}function handleFlowElementsContainer(container,context){!function(flowElements,context){(0,_minDash.forEach)(flowElements,function(e){is(e,"bpmn:SequenceFlow")?deferred.push(function(){!function(sequenceFlow,context){visitIfDi(sequenceFlow,context)}(e,context)}):is(e,"bpmn:BoundaryEvent")?deferred.unshift(function(){handleFlowNode(e,context)}):is(e,"bpmn:FlowNode")?handleFlowNode(e,context):is(e,"bpmn:DataObject")||(is(e,"bpmn:DataStoreReference")?handleDataElement(e,context):is(e,"bpmn:DataObjectReference")?handleDataElement(e,context):logError(translate("unrecognized flowElement {element} in context {context}",{element:(0,_Util.elementToString)(e),context:context?(0,_Util.elementToString)(context.businessObject):"null"}),{element:e,context:context}))})}(container.flowElements,context),container.laneSets&&function(laneSets,context){(0,_minDash.forEach)(laneSets,contextual(handleLaneSet,context))}(container.laneSets,context)}function handleParticipant(participant,context){var newCtx=visitIfDi(participant,context),process=participant.processRef;process&&handleProcess(process,newCtx||context)}return{handleDeferred:handleDeferred,handleDefinitions:function(definitions,diagram){var diagrams=definitions.diagrams;if(diagram&&-1===diagrams.indexOf(diagram))throw new Error(translate("diagram not part of bpmn:Definitions"));if(!diagram&&diagrams&&diagrams.length&&(diagram=diagrams[0]),!diagram)throw new Error(translate("no diagram to display"));handleDiagram(diagram);var plane=diagram.plane;if(!plane)throw new Error(translate("no plane for {element}",{element:(0,_Util.elementToString)(diagram)}));var rootElement=plane.bpmnElement;if(!rootElement){if(!(rootElement=function(definitions){return(0,_minDash.find)(definitions.rootElements,function(e){return is(e,"bpmn:Process")||is(e,"bpmn:Collaboration")})}(definitions)))throw new Error(translate("no process or collaboration to display"));logError(translate("correcting missing bpmnElement on {plane} to {rootElement}",{plane:(0,_Util.elementToString)(plane),rootElement:(0,_Util.elementToString)(rootElement)})),plane.bpmnElement=rootElement,registerDi(plane)}var ctx=function(element,diagram){return handler.root(element,diagram)}(rootElement,plane);if(is(rootElement,"bpmn:Process"))handleProcess(rootElement,ctx);else{if(!is(rootElement,"bpmn:Collaboration"))throw new Error(translate("unsupported bpmnElement for {plane}: {rootElement}",{plane:(0,_Util.elementToString)(plane),rootElement:(0,_Util.elementToString)(rootElement)}));!function(collaboration){(0,_minDash.forEach)(collaboration.participants,contextual(handleParticipant)),handleArtifacts(collaboration.artifacts),deferred.push(function(){!function(messageFlows,context){(0,_minDash.forEach)(messageFlows,contextual(handleMessageFlow,context))}(collaboration.messageFlows)})}(rootElement),function(rootElements,ctx){(0,_minDash.filter)(rootElements,function(e){return!function(element){return handledElements[element.id]}(e)&&is(e,"bpmn:Process")&&e.laneSets}).forEach(contextual(handleProcess,ctx))}(definitions.rootElements,ctx)}handleDeferred()},handleSubProcess:handleSubProcess,registerDi:registerDi}};var obj,_minDash=require("min-dash"),_objectRefs=require("object-refs"),_objectRefs2=(obj=_objectRefs)&&obj.__esModule?obj:{default:obj},_Util=require("./Util");var diRefs=new _objectRefs2.default({name:"bpmnElement",enumerable:!0},{name:"di",configurable:!0});function is(element,type){return element.$instanceOf(type)}},{"./Util":168,"min-dash":575,"object-refs":580}],167:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.importBpmnDiagram=function(diagram,definitions,bpmnDiagram,done){(0,_minDash.isFunction)(bpmnDiagram)&&(done=bpmnDiagram,bpmnDiagram=null);var importer,eventBus,translate,error,warnings=[];try{importer=diagram.get("bpmnImporter"),eventBus=diagram.get("eventBus"),translate=diagram.get("translate"),eventBus.fire("import.render.start",{definitions:definitions}),function(definitions,bpmnDiagram){var visitor={root:function(element){return importer.add(element)},element:function(_element,parentShape){return importer.add(_element,parentShape)},error:function(message,context){warnings.push({message:message,context:context})}};new _BpmnTreeWalker2.default(visitor,translate).handleDefinitions(definitions,bpmnDiagram)}(definitions,bpmnDiagram),eventBus.fire("import.render.complete",{error:error,warnings:warnings})}catch(e){error=e}done(error,warnings)};var obj,_BpmnTreeWalker=require("./BpmnTreeWalker"),_BpmnTreeWalker2=(obj=_BpmnTreeWalker)&&obj.__esModule?obj:{default:obj},_minDash=require("min-dash")},{"./BpmnTreeWalker":166,"min-dash":575}],168:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.elementToString=function(e){return e?"<"+e.$type+(e.id?' id="'+e.id:"")+'" />':""}},{}],169:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _translate2=_interopRequireDefault(require("diagram-js/lib/i18n/translate")),_BpmnImporter2=_interopRequireDefault(require("./BpmnImporter"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_translate2.default],bpmnImporter:["type",_BpmnImporter2.default]}},{"./BpmnImporter":165,"diagram-js/lib/i18n/translate":332}],170:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isExpanded=function(element){if((0,_ModelUtil.is)(element,"bpmn:CallActivity"))return!1;if((0,_ModelUtil.is)(element,"bpmn:SubProcess"))return!!(0,_ModelUtil.getBusinessObject)(element).di.isExpanded;if((0,_ModelUtil.is)(element,"bpmn:Participant"))return!!(0,_ModelUtil.getBusinessObject)(element).processRef;return!0},exports.isInterrupting=function(element){return element&&!1!==(0,_ModelUtil.getBusinessObject)(element).isInterrupting},exports.isEventSubProcess=function(element){return element&&!!(0,_ModelUtil.getBusinessObject)(element).triggeredByEvent},exports.hasEventDefinition=hasEventDefinition,exports.hasErrorEventDefinition=function(element){return hasEventDefinition(element,"bpmn:ErrorEventDefinition")},exports.hasEscalationEventDefinition=function(element){return hasEventDefinition(element,"bpmn:EscalationEventDefinition")},exports.hasCompensateEventDefinition=function(element){return hasEventDefinition(element,"bpmn:CompensateEventDefinition")};var _ModelUtil=require("./ModelUtil"),_minDash=require("min-dash");function hasEventDefinition(element,eventType){var bo=(0,_ModelUtil.getBusinessObject)(element),hasEventDefinition=!1;return bo.eventDefinitions&&(0,_minDash.forEach)(bo.eventDefinitions,function(event){(0,_ModelUtil.is)(event,eventType)&&(hasEventDefinition=!0)}),hasEventDefinition}},{"./ModelUtil":172,"min-dash":575}],171:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.FLOW_LABEL_INDENT=exports.DEFAULT_LABEL_SIZE=void 0,exports.isLabelExternal=function(semantic){return(0,_ModelUtil.is)(semantic,"bpmn:Event")||(0,_ModelUtil.is)(semantic,"bpmn:Gateway")||(0,_ModelUtil.is)(semantic,"bpmn:DataStoreReference")||(0,_ModelUtil.is)(semantic,"bpmn:DataObjectReference")||(0,_ModelUtil.is)(semantic,"bpmn:DataInput")||(0,_ModelUtil.is)(semantic,"bpmn:DataOutput")||(0,_ModelUtil.is)(semantic,"bpmn:SequenceFlow")||(0,_ModelUtil.is)(semantic,"bpmn:MessageFlow")||(0,_ModelUtil.is)(semantic,"bpmn:Group")},exports.hasExternalLabel=function(element){return isLabel(element.label)},exports.getFlowLabelPosition=getFlowLabelPosition,exports.getWaypointsMid=getWaypointsMid,exports.getExternalLabelMid=getExternalLabelMid,exports.getExternalLabelBounds=function(semantic,element){var mid,size,bounds,label=semantic.di.label;label&&label.bounds?(bounds=label.bounds,size={width:Math.max(DEFAULT_LABEL_SIZE.width,bounds.width),height:bounds.height},mid={x:bounds.x+bounds.width/2,y:bounds.y+bounds.height/2}):(mid=getExternalLabelMid(element),size=DEFAULT_LABEL_SIZE);return(0,_minDash.assign)({x:mid.x-size.width/2,y:mid.y-size.height/2},size)},exports.isLabel=isLabel;var _minDash=require("min-dash"),_ModelUtil=require("./ModelUtil"),DEFAULT_LABEL_SIZE=exports.DEFAULT_LABEL_SIZE={width:90,height:20},FLOW_LABEL_INDENT=exports.FLOW_LABEL_INDENT=15;function getFlowLabelPosition(waypoints){var mid=waypoints.length/2-1,first=waypoints[Math.floor(mid)],second=waypoints[Math.ceil(.01+mid)],position=getWaypointsMid(waypoints),angle=Math.atan((second.y-first.y)/(second.x-first.x)),x=position.x,y=position.y;return Math.abs(angle)'),BPMNIO_IMG=exports.BPMNIO_IMG='';function css(attrs){return attrs.join(";")}var lightbox,LIGHTBOX_MARKUP='
'+BPMNIO_IMG+'Web-based tooling for BPMN, DMN and CMMN diagrams powered by bpmn.io.
'},{"min-dom":576}],174:[function(require,module,exports){"use strict";var minDash=require("min-dash"),moddle=require("moddle"),moddleXml=require("moddle-xml");function BpmnModdle(packages,options){moddle.Moddle.call(this,packages,options)}(BpmnModdle.prototype=Object.create(moddle.Moddle.prototype)).fromXML=function(xmlStr,typeName,options,done){minDash.isString(typeName)||(done=options,options=typeName,typeName="bpmn:Definitions"),minDash.isFunction(options)&&(done=options,options={});var reader=new moddleXml.Reader(minDash.assign({model:this,lax:!0},options)),rootHandler=reader.handler(typeName);reader.fromXML(xmlStr,rootHandler,done)};BpmnModdle.prototype.toXML=function(element,options,done){minDash.isFunction(options)&&(done=options,options={});var result,err,writer=new moddleXml.Writer(options);try{result=writer.toXML(element)}catch(e){err=e}return done(err,result)};var packages={bpmn:{name:"BPMN20",uri:"http://www.omg.org/spec/BPMN/20100524/MODEL",prefix:"bpmn",associations:[],types:[{name:"Interface",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"operations",type:"Operation",isMany:!0},{name:"implementationRef",isAttr:!0,type:"String"}]},{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",isAttr:!0,type:"String"}]},{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",isMany:!0,replaces:"FlowElementsContainer#laneSets",type:"LaneSet"},{name:"flowElements",isMany:!0,replaces:"FlowElementsContainer#flowElements",type:"FlowElement"},{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:!(BpmnModdle.prototype.toXML=function(element,options,done){minDash.isFunction(options)&&(done=options,options={});var result,err,writer=new moddleXml.Writer(options);try{result=writer.toXML(element)}catch(e){err=e}return done(err,result)}),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:"sourceRef",type:"ItemAwareElement",isMany:!0,isReference:!0},{name:"targetRef",type:"ItemAwareElement",isReference:!0},{name:"transformation",type:"FormalExpression",xml:{serialize:"property"}},{name:"assignment",type:"Assignment",isMany:!0}]},{name:"DataInput",superClass:["ItemAwareElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"isCollection",default:!1,isAttr:!0,type:"Boolean"},{name:"inputSetRef",type:"InputSet",isMany:!0,isVirtual:!0,isReference:!0},{name:"inputSetWithOptional",type:"InputSet",isMany:!0,isVirtual:!0,isReference:!0},{name:"inputSetWithWhileExecuting",type:"InputSet",isMany:!0,isVirtual:!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",isMany:!0,isVirtual:!0,isReference:!0},{name:"outputSetWithOptional",type:"OutputSet",isMany:!0,isVirtual:!0,isReference:!0},{name:"outputSetWithWhileExecuting",type:"OutputSet",isMany:!0,isVirtual:!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",isBody:!0,type:"String"}]},{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",isAttr:!0,type:"String"},{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",isMany:!0,isVirtual:!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",isMany:!0,isVirtual:!0,isReference:!0},{name:"outgoingConversationLinks",type:"ConversationLink",isMany:!0,isVirtual:!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",isMany:!0,isVirtual:!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"}]}],xml:{tagAlias:"lowerCase",typePrefix:"t"}},bpmndi:{name:"BPMNDI",uri:"http://www.omg.org/spec/BPMN/20100524/DI",prefix:"bpmndi",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:[]},dc:{name:"DC",uri:"http://www.omg.org/spec/DD/20100524/DC",prefix:"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}]}],associations:[]},di:{name:"DI",uri:"http://www.omg.org/spec/DD/20100524/DI",prefix:"di",types:[{name:"DiagramElement",isAbstract:!0,properties:[{name:"id",isAttr:!0,isId:!0,type:"String"},{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,isMany:!0,isVirtual:!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",isAttr:!0,isId:!0,type:"String"},{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,isMany:!0,isVirtual:!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",isMany:!0,isVirtual:!0}]},{name:"LabeledShape",isAbstract:!0,superClass:["Shape"],properties:[{name:"ownedLabel",type:"Label",isReadOnly:!0,subsettedProperty:"DiagramElement-ownedElement",isMany:!0,isVirtual:!0}]},{name:"Label",isAbstract:!0,superClass:["Node"],properties:[{name:"bounds",type:"dc:Bounds"}]},{name:"Style",isAbstract:!0,properties:[{name:"id",isAttr:!0,isId:!0,type:"String"}]},{name:"Extension",properties:[{name:"values",isMany:!0,type:"Element"}]}],associations:[],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:[]}};module.exports=function(additionalPackages,options){return new BpmnModdle(minDash.assign({},packages,additionalPackages),options)}},{"min-dash":575,moddle:579,"moddle-xml":578}],175:[function(require,module,exports){(function(global){"use strict";var root,factory,_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};root=void 0!==global?global:void 0,factory=function(root){if(root.CSS&&root.CSS.escape)return root.CSS.escape;var cssEscape=function(value){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var codeUnit,string=String(value),length=string.length,index=-1,result="",firstCodeUnit=string.charCodeAt(0);++index
'),this.content=(0,_minDom.query)("[contenteditable]",this.parent),this.keyHandler=options.keyHandler||function(){},this.resizeHandler=options.resizeHandler||function(){},this.autoResize=(0,_minDash.bind)(this.autoResize,this),this.handlePaste=(0,_minDash.bind)(this.handlePaste,this)}TextBox.prototype.create=function(bounds,style,value,options){var parent=this.parent,content=this.content,container=this.container;options=this.options=options||{},style=this.style=style||{};var parentStyle=(0,_minDash.pick)(style,["width","height","maxWidth","maxHeight","minWidth","minHeight","left","top","backgroundColor","position","overflow","border","wordWrap","textAlign","outline","transform"]);(0,_minDash.assign)(parent.style,{width:bounds.width+"px",height:bounds.height+"px",maxWidth:bounds.maxWidth+"px",maxHeight:bounds.maxHeight+"px",minWidth:bounds.minWidth+"px",minHeight:bounds.minHeight+"px",left:bounds.x+"px",top:bounds.y+"px",backgroundColor:"#ffffff",position:"absolute",overflow:"visible",border:"1px solid #ccc",boxSizing:"border-box",wordWrap:"normal",textAlign:"center",outline:"none"},parentStyle);var contentStyle=(0,_minDash.pick)(style,["fontFamily","fontSize","fontWeight","lineHeight","padding","paddingTop","paddingRight","paddingBottom","paddingLeft"]);return(0,_minDash.assign)(content.style,{boxSizing:"border-box",width:"100%",outline:"none",wordWrap:"break-word"},contentStyle),options.centerVertically&&(0,_minDash.assign)(content.style,{position:"absolute",top:"50%",transform:"translate(0, -50%)"},contentStyle),content.innerText=value,_minDom.event.bind(content,"keydown",this.keyHandler),_minDom.event.bind(content,"mousedown",stopPropagation),_minDom.event.bind(content,"paste",this.handlePaste),options.autoResize&&_minDom.event.bind(content,"input",this.autoResize),options.resizable&&this.resizable(style),container.appendChild(parent),this.setSelection(content.lastChild,content.lastChild&&content.lastChild.length),parent},TextBox.prototype.handlePaste=function(e){var text,options=this.options,style=this.style;if(e.preventDefault(),text=e.clipboardData?e.clipboardData.getData("text/plain"):window.clipboardData.getData("Text"),this.insertText(text),options.autoResize){var hasResized=this.autoResize(style);hasResized&&this.resizeHandler(hasResized)}},TextBox.prototype.insertText=function(text){document.execCommand("insertText",!1,text)||this._insertTextIE(text)},TextBox.prototype._insertTextIE=function(text){var container,offset,range=this.getSelection(),startContainer=range.startContainer,endContainer=range.endContainer,startOffset=range.startOffset,endOffset=range.endOffset,commonAncestorContainer=range.commonAncestorContainer,childNodesArray=function(nodeList){return[].slice.call(nodeList)}(commonAncestorContainer.childNodes);if(function(node){return node.nodeType===Node.TEXT_NODE}(commonAncestorContainer)){var containerTextContent=startContainer.textContent;startContainer.textContent=containerTextContent.substring(0,startOffset)+text+containerTextContent.substring(endOffset),container=startContainer,offset=startOffset+text.length}else if(startContainer===this.content&&endContainer===this.content){var textNode=document.createTextNode(text);this.content.insertBefore(textNode,childNodesArray[startOffset]),offset=(container=textNode).textContent.length}else{var startContainerChildIndex=childNodesArray.indexOf(startContainer),endContainerChildIndex=childNodesArray.indexOf(endContainer);childNodesArray.forEach(function(childNode,index){index===startContainerChildIndex?childNode.textContent=startContainer.textContent.substring(0,startOffset)+text+endContainer.textContent.substring(endOffset):startContainerChildIndexparent.offsetHeight||content.scrollHeight
');var onMouseMove=function(e){preventDefault(e),stopPropagation(e);var newWidth=min(max(startWidth+e.clientX-startX,minWidth),maxWidth),newHeight=min(max(startHeight+e.clientY-startY,minHeight),maxHeight);parent.style.width=newWidth+"px",parent.style.height=newHeight+"px",self.resizeHandler({width:startWidth,height:startHeight,dx:e.clientX-startX,dy:e.clientY-startY})},onMouseUp=function onMouseUp(e){preventDefault(e),stopPropagation(e),_minDom.event.unbind(document,"mousemove",onMouseMove,!1),_minDom.event.unbind(document,"mouseup",onMouseUp,!1)};_minDom.event.bind(resizeHandle,"mousedown",function(e){preventDefault(e),stopPropagation(e),startX=e.clientX,startY=e.clientY;var bounds=parent.getBoundingClientRect();startWidth=bounds.width,startHeight=bounds.height,_minDom.event.bind(document,"mousemove",onMouseMove),_minDom.event.bind(document,"mouseup",onMouseUp)})}(0,_minDash.assign)(resizeHandle.style,{position:"absolute",bottom:"0px",right:"0px",cursor:"nwse-resize",width:"0",height:"0",borderTop:(parseInt(this.style.fontSize)/4||3)+"px solid transparent",borderRight:(parseInt(this.style.fontSize)/4||3)+"px solid #ccc",borderBottom:(parseInt(this.style.fontSize)/4||3)+"px solid #ccc",borderLeft:(parseInt(this.style.fontSize)/4||3)+"px solid transparent"}),parent.appendChild(resizeHandle)},TextBox.prototype.destroy=function(){var parent=this.parent,content=this.content,resizeHandle=this.resizeHandle;content.innerText="",parent.removeAttribute("style"),content.removeAttribute("style"),_minDom.event.unbind(content,"keydown",this.keyHandler),_minDom.event.unbind(content,"mousedown",stopPropagation),_minDom.event.unbind(content,"input",this.autoResize),_minDom.event.unbind(content,"paste",this.handlePaste),resizeHandle&&(resizeHandle.removeAttribute("style"),(0,_minDom.remove)(resizeHandle)),(0,_minDom.remove)(parent)},TextBox.prototype.getValue=function(){return this.content.innerText.trim()},TextBox.prototype.getSelection=function(){return window.getSelection().getRangeAt(0)},TextBox.prototype.setSelection=function(container,offset){var range=document.createRange();null===container?range.selectNodeContents(this.content):(range.setStart(container,offset),range.setEnd(container,offset));var selection=window.getSelection();selection.removeAllRanges(),selection.addRange(range)}},{"min-dash":575,"min-dom":576}],179:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _Diagram=require("./lib/Diagram");Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_Diagram).default}})},{"./lib/Diagram":180}],180:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Diagram;var obj,_didi=require("didi"),_core=require("./core"),_core2=(obj=_core)&&obj.__esModule?obj:{default:obj};function bootstrap(bootstrapModules){var modules=[],components=[];function hasModule(m){return 0<=modules.indexOf(m)}bootstrapModules.forEach(function visit(m){hasModule(m)||((m.__depends__||[]).forEach(visit),hasModule(m)||(function(m){modules.push(m)}(m),(m.__init__||[]).forEach(function(c){components.push(c)})))});var injector=new _didi.Injector(modules);return components.forEach(function(c){try{injector["string"==typeof c?"get":"invoke"](c)}catch(e){throw console.error("Failed to instantiate component"),console.error(e.stack),e}}),injector}function Diagram(options,injector){this.injector=injector=injector||function(options){return bootstrap([{config:["value",options=options||{}]},_core2.default].concat(options.modules||[]))}(options),this.get=injector.get,this.invoke=injector.invoke,this.get("eventBus").fire("diagram.init")}Diagram.prototype.destroy=function(){this.get("eventBus").fire("diagram.destroy")},Diagram.prototype.clear=function(){this.get("eventBus").fire("diagram.clear")}},{"./core":189,didi:366}],181:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=CommandInterceptor;var _minDash=require("min-dash");function CommandInterceptor(eventBus){this._eventBus=eventBus}CommandInterceptor.$inject=["eventBus"],CommandInterceptor.prototype.on=function(events,hook,priority,handlerFn,unwrap,that){if(((0,_minDash.isFunction)(hook)||(0,_minDash.isNumber)(hook))&&(that=unwrap,unwrap=handlerFn,handlerFn=priority,priority=hook,hook=null),(0,_minDash.isFunction)(priority)&&(that=unwrap,unwrap=handlerFn,handlerFn=priority,priority=1e3),(0,_minDash.isObject)(unwrap)&&(that=unwrap,unwrap=!1),!(0,_minDash.isFunction)(handlerFn))throw new Error("handlerFn must be a function");(0,_minDash.isArray)(events)||(events=[events]);var eventBus=this._eventBus;(0,_minDash.forEach)(events,function(event){var fullEvent=["commandStack",event,hook].filter(function(e){return e}).join(".");eventBus.on(fullEvent,priority,unwrap?function(fn,that){return function(event){return fn.call(that||null,event.context,event.command,event)}}(handlerFn,that):handlerFn,that)})};(0,_minDash.forEach)(["canExecute","preExecute","preExecuted","execute","executed","postExecute","postExecuted","revert","reverted"],function(hook){CommandInterceptor.prototype[hook]=function(events,priority,handlerFn,unwrap,that){((0,_minDash.isFunction)(events)||(0,_minDash.isNumber)(events))&&(that=unwrap,unwrap=handlerFn,handlerFn=priority,priority=events,events=null),this.on(events,hook,priority,handlerFn,unwrap,that)}})},{"min-dash":575}],182:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=CommandStack;var _minDash=require("min-dash");function CommandStack(eventBus,injector){this._handlerMap={},this._stack=[],this._stackIdx=-1,this._currentExecution={actions:[],dirty:[]},this._injector=injector,this._eventBus=eventBus,this._uid=1,eventBus.on(["diagram.destroy","diagram.clear"],function(){this.clear(!1)},this)}CommandStack.$inject=["eventBus","injector"],CommandStack.prototype.execute=function(command,context){if(!command)throw new Error("command required");var action={command:command,context:context};this._pushAction(action),this._internalExecute(action),this._popAction(action)},CommandStack.prototype.canExecute=function(command,context){var action={command:command,context:context},handler=this._getHandler(command),result=this._fire(command,"canExecute",action);if(void 0===result){if(!handler)return!1;handler.canExecute&&(result=handler.canExecute(context))}return result},CommandStack.prototype.clear=function(emit){this._stack.length=0,!(this._stackIdx=-1)!==emit&&this._fire("changed")},CommandStack.prototype.undo=function(){var next,action=this._getUndoAction();if(action){for(this._pushAction(action);action&&(this._internalUndo(action),(next=this._getUndoAction())&&next.id===action.id);)action=next;this._popAction()}},CommandStack.prototype.redo=function(){var next,action=this._getRedoAction();if(action){for(this._pushAction(action);action&&(this._internalExecute(action,!0),(next=this._getRedoAction())&&next.id===action.id);)action=next;this._popAction()}},CommandStack.prototype.register=function(command,handler){this._setHandler(command,handler)},CommandStack.prototype.registerHandler=function(command,handlerCls){if(!command||!handlerCls)throw new Error("command and handlerCls must be defined");var handler=this._injector.instantiate(handlerCls);this.register(command,handler)},CommandStack.prototype.canUndo=function(){return!!this._getUndoAction()},CommandStack.prototype.canRedo=function(){return!!this._getRedoAction()},CommandStack.prototype._getRedoAction=function(){return this._stack[this._stackIdx+1]},CommandStack.prototype._getUndoAction=function(){return this._stack[this._stackIdx]},CommandStack.prototype._internalUndo=function(action){var self=this,command=action.command,context=action.context,handler=this._getHandler(command);this._atomicDo(function(){self._fire(command,"revert",action),handler.revert&&self._markDirty(handler.revert(context)),self._revertedAction(action),self._fire(command,"reverted",action)})},CommandStack.prototype._fire=function(command,qualifier,event){arguments.length<3&&(event=qualifier,qualifier=null);var i,name,result,names=qualifier?[command+"."+qualifier,qualifier]:[command];for(event=this._eventBus.createEvent(event),i=0;(name=names[i])&&(result=this._eventBus.fire("commandStack."+name,event),!event.cancelBubble);i++);return result},CommandStack.prototype._createId=function(){return this._uid++},CommandStack.prototype._atomicDo=function(fn){var execution=this._currentExecution;execution.atomic=!0;try{fn()}finally{execution.atomic=!1}},CommandStack.prototype._internalExecute=function(action,redo){var self=this,command=action.command,context=action.context,handler=this._getHandler(command);if(!handler)throw new Error("no command handler registered for <"+command+">");this._pushAction(action),redo||(this._fire(command,"preExecute",action),handler.preExecute&&handler.preExecute(context),this._fire(command,"preExecuted",action)),this._atomicDo(function(){self._fire(command,"execute",action),handler.execute&&self._markDirty(handler.execute(context)),self._executedAction(action,redo),self._fire(command,"executed",action)}),redo||(this._fire(command,"postExecute",action),handler.postExecute&&handler.postExecute(context),this._fire(command,"postExecuted",action)),this._popAction(action)},CommandStack.prototype._pushAction=function(action){var execution=this._currentExecution,actions=execution.actions,baseAction=actions[0];if(execution.atomic)throw new Error("illegal invocation in or phase (action: "+action.command+")");action.id||(action.id=baseAction&&baseAction.id||this._createId()),actions.push(action)},CommandStack.prototype._popAction=function(){var execution=this._currentExecution,actions=execution.actions,dirty=execution.dirty;actions.pop(),actions.length||(this._eventBus.fire("elements.changed",{elements:(0,_minDash.uniqueBy)("id",dirty.reverse())}),dirty.length=0,this._fire("changed"))},CommandStack.prototype._markDirty=function(elements){var execution=this._currentExecution;elements&&(elements=(0,_minDash.isArray)(elements)?elements:[elements],execution.dirty=execution.dirty.concat(elements))},CommandStack.prototype._executedAction=function(action,redo){var stackIdx=++this._stackIdx;redo||this._stack.splice(stackIdx,this._stack.length,action)},CommandStack.prototype._revertedAction=function(action){this._stackIdx--},CommandStack.prototype._getHandler=function(command){return this._handlerMap[command]},CommandStack.prototype._setHandler=function(command,handler){if(!command||!handler)throw new Error("command and handler required");if(this._handlerMap[command])throw new Error("overriding handler for command <"+command+">");this._handlerMap[command]=handler}},{"min-dash":575}],183:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_CommandStack=require("./CommandStack"),_CommandStack2=(obj=_CommandStack)&&obj.__esModule?obj:{default:obj};exports.default={commandStack:["type",_CommandStack2.default]}},{"./CommandStack":182}],184:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};exports.default=Canvas;var _minDash=require("min-dash"),_Collections=require("../util/Collections"),_Elements=require("../util/Elements"),_tinySvg=require("tiny-svg");function round(number,resolution){return Math.round(number*resolution)/resolution}function ensurePx(number){return(0,_minDash.isNumber)(number)?number+"px":number}function createGroup(parent,cls,childIndex){var group=(0,_tinySvg.create)("g");(0,_tinySvg.classes)(group).add(cls);var index=void 0!==childIndex?childIndex:parent.childNodes.length-1;return parent.insertBefore(group,parent.childNodes[index]||null),group}var REQUIRED_MODEL_ATTRS={shape:["x","y","width","height"],connection:["waypoints"]};function Canvas(config,eventBus,graphicsFactory,elementRegistry){this._eventBus=eventBus,this._elementRegistry=elementRegistry,this._graphicsFactory=graphicsFactory,this._init(config||{})}function setCTM(node,m){var mstr="matrix("+m.a+","+m.b+","+m.c+","+m.d+","+m.e+","+m.f+")";node.setAttribute("transform",mstr)}Canvas.$inject=["config.canvas","eventBus","graphicsFactory","elementRegistry"],Canvas.prototype._init=function(config){var eventBus=this._eventBus,container=this._container=function(options){var container=(options=(0,_minDash.assign)({},{width:"100%",height:"100%"},options)).container||document.body,parent=document.createElement("div");return parent.setAttribute("class","djs-container"),(0,_minDash.assign)(parent.style,{position:"relative",overflow:"hidden",width:ensurePx(options.width),height:ensurePx(options.height)}),container.appendChild(parent),parent}(config),svg=this._svg=(0,_tinySvg.create)("svg");(0,_tinySvg.attr)(svg,{width:"100%",height:"100%"}),(0,_tinySvg.append)(container,svg);var viewport=this._viewport=createGroup(svg,"viewport");!(this._layers={})!==config.deferUpdate&&(this._viewboxChanged=(0,_minDash.debounce)((0,_minDash.bind)(this._viewboxChanged,this),300)),eventBus.on("diagram.init",function(){eventBus.fire("canvas.init",{svg:svg,viewport:viewport})},this),eventBus.on(["shape.added","connection.added","shape.removed","connection.removed","elements.changed"],function(){delete this._cachedViewbox},this),eventBus.on("diagram.destroy",500,this._destroy,this),eventBus.on("diagram.clear",500,this._clear,this)},Canvas.prototype._destroy=function(emit){this._eventBus.fire("canvas.destroy",{svg:this._svg,viewport:this._viewport});var parent=this._container.parentNode;parent&&parent.removeChild(this._container),delete this._svg,delete this._container,delete this._layers,delete this._rootElement,delete this._viewport},Canvas.prototype._clear=function(){var self=this;this._elementRegistry.getAll().forEach(function(element){var type=(0,_Elements.getType)(element);"root"===type?self.setRootElement(null,!0):self._removeElement(element,type)}),delete this._cachedViewbox},Canvas.prototype.getDefaultLayer=function(){return this.getLayer("base",0)},Canvas.prototype.getLayer=function(name,index){if(!name)throw new Error("must specify a name");var layer=this._layers[name];if(layer=layer||(this._layers[name]=this._createLayer(name,index)),void 0!==index&&layer.index!==index)throw new Error("layer <"+name+"> already created at index <"+index+">");return layer.group},Canvas.prototype._createLayer=function(name,index){index=index||0;var childIndex=(0,_minDash.reduce)(this._layers,function(childIndex,layer){return index>=layer.index&&childIndex++,childIndex},0);return{group:createGroup(this._viewport,"layer-"+name,childIndex),index:index}},Canvas.prototype.getContainer=function(){return this._container},Canvas.prototype._updateMarker=function(element,marker,add){var container;element.id||(element=this._elementRegistry.get(element)),(container=this._elementRegistry._elements[element.id])&&((0,_minDash.forEach)([container.gfx,container.secondaryGfx],function(gfx){gfx&&(add?(0,_tinySvg.classes)(gfx).add(marker):(0,_tinySvg.classes)(gfx).remove(marker))}),this._eventBus.fire("element.marker.update",{element:element,gfx:container.gfx,marker:marker,add:!!add}))},Canvas.prototype.addMarker=function(element,marker){this._updateMarker(element,marker,!0)},Canvas.prototype.removeMarker=function(element,marker){this._updateMarker(element,marker,!1)},Canvas.prototype.hasMarker=function(element,marker){element.id||(element=this._elementRegistry.get(element));var gfx=this.getGraphics(element);return(0,_tinySvg.classes)(gfx).has(marker)},Canvas.prototype.toggleMarker=function(element,marker){this.hasMarker(element,marker)?this.removeMarker(element,marker):this.addMarker(element,marker)},Canvas.prototype.getRootElement=function(){return this._rootElement||this.setRootElement({id:"__implicitroot",children:[]}),this._rootElement},Canvas.prototype.setRootElement=function(element,override){element&&this._ensureValid("root",element);var currentRoot=this._rootElement,elementRegistry=this._elementRegistry,eventBus=this._eventBus;if(currentRoot){if(!override)throw new Error("rootElement already set, need to specify override");eventBus.fire("root.remove",{element:currentRoot}),eventBus.fire("root.removed",{element:currentRoot}),elementRegistry.remove(currentRoot)}if(element){var gfx=this.getDefaultLayer();eventBus.fire("root.add",{element:element}),elementRegistry.add(element,gfx,this._svg),eventBus.fire("root.added",{element:element,gfx:gfx})}return this._rootElement=element},Canvas.prototype._ensureValid=function(type,element){if(!element.id)throw new Error("element must have an id");if(this._elementRegistry.get(element.id))throw new Error("element with id "+element.id+" already exists");var requiredAttrs=REQUIRED_MODEL_ATTRS[type];if(!(0,_minDash.every)(requiredAttrs,function(attr){return void 0!==element[attr]}))throw new Error("must supply { "+requiredAttrs.join(", ")+" } with "+type)},Canvas.prototype._setParent=function(element,parent,parentIndex){(0,_Collections.add)(parent.children,element,parentIndex),element.parent=parent},Canvas.prototype._addElement=function(type,element,parent,parentIndex){parent=parent||this.getRootElement();var eventBus=this._eventBus,graphicsFactory=this._graphicsFactory;this._ensureValid(type,element),eventBus.fire(type+".add",{element:element,parent:parent}),this._setParent(element,parent,parentIndex);var gfx=graphicsFactory.create(type,element,parentIndex);return this._elementRegistry.add(element,gfx),graphicsFactory.update(type,element,gfx),eventBus.fire(type+".added",{element:element,gfx:gfx}),element},Canvas.prototype.addShape=function(shape,parent,parentIndex){return this._addElement("shape",shape,parent,parentIndex)},Canvas.prototype.addConnection=function(connection,parent,parentIndex){return this._addElement("connection",connection,parent,parentIndex)},Canvas.prototype._removeElement=function(element,type){var elementRegistry=this._elementRegistry,graphicsFactory=this._graphicsFactory,eventBus=this._eventBus;if(element=elementRegistry.get(element.id||element))return eventBus.fire(type+".remove",{element:element}),graphicsFactory.remove(element),(0,_Collections.remove)(element.parent&&element.parent.children,element),element.parent=null,eventBus.fire(type+".removed",{element:element}),elementRegistry.remove(element),element},Canvas.prototype.removeShape=function(shape){return this._removeElement(shape,"shape")},Canvas.prototype.removeConnection=function(connection){return this._removeElement(connection,"connection")},Canvas.prototype.getGraphics=function(element,secondary){return this._elementRegistry.getGraphics(element,secondary)},Canvas.prototype._changeViewbox=function(changeFn){this._eventBus.fire("canvas.viewbox.changing"),changeFn.apply(this),this._cachedViewbox=null,this._viewboxChanged()},Canvas.prototype._viewboxChanged=function(){this._eventBus.fire("canvas.viewbox.changed",{viewbox:this.viewbox()})},Canvas.prototype.viewbox=function(box){if(void 0===box&&this._cachedViewbox)return this._cachedViewbox;var innerBox,matrix,transform,scale,x,y,viewport=this._viewport,outerBox=this.getSize();return box?(this._changeViewbox(function(){scale=Math.min(outerBox.width/box.width,outerBox.height/box.height);var matrix=this._svg.createSVGMatrix().scale(scale).translate(-box.x,-box.y);(0,_tinySvg.transform)(viewport,matrix)}),box):(innerBox=this.getDefaultLayer().getBBox(),matrix=(transform=(0,_tinySvg.transform)(viewport))?transform.matrix:(0,_tinySvg.createMatrix)(),scale=round(matrix.a,1e3),x=round(-matrix.e||0,1e3),y=round(-matrix.f||0,1e3),box=this._cachedViewbox={x:x?x/scale:0,y:y?y/scale:0,width:outerBox.width/scale,height:outerBox.height/scale,scale:scale,inner:{width:innerBox.width,height:innerBox.height,x:innerBox.x,y:innerBox.y},outer:outerBox})},Canvas.prototype.scroll=function(delta){var node=this._viewport,matrix=node.getCTM();return delta&&this._changeViewbox(function(){delta=(0,_minDash.assign)({dx:0,dy:0},delta||{}),matrix=this._svg.createSVGMatrix().translate(delta.dx,delta.dy).multiply(matrix),setCTM(node,matrix)}),{x:matrix.e,y:matrix.f}},Canvas.prototype.zoom=function(newScale,center){return newScale?"fit-viewport"===newScale?this._fitViewport(center):(this._changeViewbox(function(){"object"!==(void 0===center?"undefined":_typeof(center))&&(outer=this.viewbox().outer,center={x:outer.width/2,y:outer.height/2}),matrix=this._setZoom(newScale,center)}),round(matrix.a,1e3)):this.viewbox(newScale).scale;var outer,matrix},Canvas.prototype._fitViewport=function(center){var newScale,newViewbox,vbox=this.viewbox(),outer=vbox.outer,inner=vbox.inner;return newViewbox=0<=inner.x&&0<=inner.y&&inner.x+inner.width<=outer.width&&inner.y+inner.height<=outer.height&&!center?{x:0,y:0,width:Math.max(inner.width+inner.x,outer.width),height:Math.max(inner.height+inner.y,outer.height)}:(newScale=Math.min(1,outer.width/inner.width,outer.height/inner.height),{x:inner.x+(center?inner.width/2-outer.width/newScale/2:0),y:inner.y+(center?inner.height/2-outer.height/newScale/2:0),width:outer.width/newScale,height:outer.height/newScale}),this.viewbox(newViewbox),this.viewbox(!1).scale},Canvas.prototype._setZoom=function(scale,center){var originalPoint,currentMatrix,scaleMatrix,newMatrix,svg=this._svg,viewport=this._viewport,matrix=svg.createSVGMatrix(),point=svg.createSVGPoint(),currentScale=(currentMatrix=viewport.getCTM()).a;return newMatrix=center?(originalPoint=(0,_minDash.assign)(point,center).matrixTransform(currentMatrix.inverse()),scaleMatrix=matrix.translate(originalPoint.x,originalPoint.y).scale(1/currentScale*scale).translate(-originalPoint.x,-originalPoint.y),currentMatrix.multiply(scaleMatrix)):matrix.scale(scale),setCTM(this._viewport,newMatrix),newMatrix},Canvas.prototype.getSize=function(){return{width:this._container.clientWidth,height:this._container.clientHeight}},Canvas.prototype.getAbsoluteBBox=function(element){var bbox,vbox=this.viewbox();element.waypoints?bbox=this.getGraphics(element).getBBox():bbox=element;return{x:bbox.x*vbox.scale-vbox.x*vbox.scale,y:bbox.y*vbox.scale-vbox.y*vbox.scale,width:bbox.width*vbox.scale,height:bbox.height*vbox.scale}},Canvas.prototype.resized=function(){delete this._cachedViewbox,this._eventBus.fire("canvas.resized")}},{"../util/Collections":349,"../util/Elements":351,"min-dash":575,"tiny-svg":587}],185:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ElementFactory;var _model=require("../model"),_minDash=require("min-dash");function ElementFactory(){this._uid=12}ElementFactory.prototype.createRoot=function(attrs){return this.create("root",attrs)},ElementFactory.prototype.createLabel=function(attrs){return this.create("label",attrs)},ElementFactory.prototype.createShape=function(attrs){return this.create("shape",attrs)},ElementFactory.prototype.createConnection=function(attrs){return this.create("connection",attrs)},ElementFactory.prototype.create=function(type,attrs){return(attrs=(0,_minDash.assign)({},attrs||{})).id||(attrs.id=type+"_"+this._uid++),(0,_model.create)(type,attrs)}},{"../model":338,"min-dash":575}],186:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ElementRegistry;var _tinySvg=require("tiny-svg"),ELEMENT_ID="data-element-id";function ElementRegistry(eventBus){this._elements={},this._eventBus=eventBus}ElementRegistry.$inject=["eventBus"],ElementRegistry.prototype.add=function(element,gfx,secondaryGfx){var id=element.id;this._validateId(id),(0,_tinySvg.attr)(gfx,ELEMENT_ID,id),secondaryGfx&&(0,_tinySvg.attr)(secondaryGfx,ELEMENT_ID,id),this._elements[id]={element:element,gfx:gfx,secondaryGfx:secondaryGfx}},ElementRegistry.prototype.remove=function(element){var elements=this._elements,id=element.id||element,container=id&&elements[id];container&&((0,_tinySvg.attr)(container.gfx,ELEMENT_ID,""),container.secondaryGfx&&(0,_tinySvg.attr)(container.secondaryGfx,ELEMENT_ID,""),delete elements[id])},ElementRegistry.prototype.updateId=function(element,newId){this._validateId(newId),"string"==typeof element&&(element=this.get(element)),this._eventBus.fire("element.updateId",{element:element,newId:newId});var gfx=this.getGraphics(element),secondaryGfx=this.getGraphics(element,!0);this.remove(element),element.id=newId,this.add(element,gfx,secondaryGfx)},ElementRegistry.prototype.get=function(filter){var id;id="string"==typeof filter?filter:filter&&(0,_tinySvg.attr)(filter,ELEMENT_ID);var container=this._elements[id];return container&&container.element},ElementRegistry.prototype.filter=function(fn){var filtered=[];return this.forEach(function(element,gfx){fn(element,gfx)&&filtered.push(element)}),filtered},ElementRegistry.prototype.getAll=function(){return this.filter(function(e){return e})},ElementRegistry.prototype.forEach=function(fn){var map=this._elements;Object.keys(map).forEach(function(id){var container=map[id],element=container.element,gfx=container.gfx;return fn(element,gfx)})},ElementRegistry.prototype.getGraphics=function(filter,secondary){var id=filter.id||filter,container=this._elements[id];return container&&(secondary?container.secondaryGfx:container.gfx)},ElementRegistry.prototype._validateId=function(id){if(!id)throw new Error("element must have an id");if(this._elements[id])throw new Error("element with id "+id+" already added")}},{"tiny-svg":587}],187:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};exports.default=EventBus;var _minDash=require("min-dash"),slice=Array.prototype.slice;function EventBus(){this._listeners={},this.on("diagram.destroy",1,this._destroy,this)}function InternalEvent(){}EventBus.prototype.on=function(events,priority,callback,that){if(events=(0,_minDash.isArray)(events)?events:[events],(0,_minDash.isFunction)(priority)&&(that=callback,callback=priority,priority=1e3),!(0,_minDash.isNumber)(priority))throw new Error("priority must be a number");var actualCallback=callback;that&&((actualCallback=(0,_minDash.bind)(callback,that)).__fn=callback.__fn||callback);var self=this;events.forEach(function(e){self._addListener(e,{priority:priority,callback:actualCallback,next:null})})},EventBus.prototype.once=function(event,priority,callback,that){var self=this;if((0,_minDash.isFunction)(priority)&&(that=callback,callback=priority,priority=1e3),!(0,_minDash.isNumber)(priority))throw new Error("priority must be a number");function wrappedCallback(){var result=callback.apply(that,arguments);return self.off(event,wrappedCallback),result}wrappedCallback.__fn=callback,this.on(event,priority,wrappedCallback)},EventBus.prototype.off=function(events,callback){events=(0,_minDash.isArray)(events)?events:[events];var self=this;events.forEach(function(event){self._removeListener(event,callback)})},EventBus.prototype.createEvent=function(data){var event=new InternalEvent;return event.init(data),event},EventBus.prototype.fire=function(type,data){var event,firstListener,returnValue,args;if(args=slice.call(arguments),"object"===(void 0===type?"undefined":_typeof(type))&&(type=(data=type).type),!type)throw new Error("no event type specified");if(firstListener=this._listeners[type]){event=data instanceof InternalEvent?data:this.createEvent(data);var originalType=(args[0]=event).type;type!==originalType&&(event.type=type);try{returnValue=this._invokeListeners(event,args,firstListener)}finally{type!==originalType&&(event.type=originalType)}return void 0===returnValue&&event.defaultPrevented&&(returnValue=!1),returnValue}},EventBus.prototype.handleError=function(error){return!1===this.fire("error",{error:error})},EventBus.prototype._destroy=function(){this._listeners={}},EventBus.prototype._invokeListeners=function(event,args,listener){for(var returnValue;listener&&!event.cancelBubble;)returnValue=this._invokeListener(event,args,listener),listener=listener.next;return returnValue},EventBus.prototype._invokeListener=function(event,args,listener){var returnValue;try{void 0!==(returnValue=function(fn,args){return fn.apply(null,args)}(listener.callback,args))&&(event.returnValue=returnValue,event.stopPropagation()),!1===returnValue&&event.preventDefault()}catch(e){if(!this.handleError(e))throw console.error("unhandled error in event listener"),console.error(e.stack),e}return returnValue},EventBus.prototype._addListener=function(event,newListener){var previousListener,listener=this._getListeners(event);if(listener){for(;listener;){if(listener.prioritynewBounds.top&&(directions=directions.concat("n"));oldBounds.rightnewBounds.left&&(directions=directions.concat("e"));return directions}((0,_minDash.pick)(target,["x","y","width","height"]),newBounds);this.resize(target,newBounds,{autoResize:resizeDirections});var parent=target.parent;parent&&this._expand([target],parent)}}},AutoResize.prototype.getOffset=function(shape){return{top:60,bottom:60,left:100,right:100}},AutoResize.prototype.getPadding=function(shape){return{top:2,bottom:2,left:15,right:15}},AutoResize.prototype.resize=function(shape,newBounds,hints){this._modeling.resizeShape(shape,newBounds,null,hints)}},{"../../command/CommandInterceptor":181,"../../layout/LayoutUtil":336,"../../util/Elements":351,inherits:369,"min-dash":575}],203:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=AutoResizeProvider;var _RuleProvider2=_interopRequireDefault(require("../rules/RuleProvider")),_inherits2=_interopRequireDefault(require("inherits"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function AutoResizeProvider(eventBus){_RuleProvider2.default.call(this,eventBus);var self=this;this.addRule("element.autoResize",function(context){return self.canResize(context.elements,context.target)})}AutoResizeProvider.$inject=["eventBus"],(0,_inherits2.default)(AutoResizeProvider,_RuleProvider2.default),AutoResizeProvider.prototype.canResize=function(elements,target){return!1}},{"../rules/RuleProvider":306,inherits:369}],204:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=AutoScroll;var _minDash=require("min-dash"),_Event=require("../../util/Event");function AutoScroll(config,eventBus,canvas){this._canvas=canvas,this._opts=(0,_minDash.assign)({scrollThresholdIn:[20,20,20,20],scrollThresholdOut:[0,0,0,0],scrollRepeatTimeout:15,scrollStep:10},config);var self=this;eventBus.on("drag.move",function(e){var point=self._toBorderPoint(e);self.startScroll(point)}),eventBus.on(["drag.cleanup"],function(){self.stopScroll()})}function between(val,start,end){return startwaypoints.length-3&&referenceWaypoints.unshift(mid(connection.target)),context.snapPoints=snapPoints={horizontal:[],vertical:[]},(0,_minDash.forEach)(referenceWaypoints,function(p){p&&(p=p.original||p,"y"===axis&&snapPoints.horizontal.push(p.y),"x"===axis&&snapPoints.vertical.push(p.x))}),snapPoints}(event.context),x=event.x,y=event.y;if(snapPoints){var cx=x-(sx=snapTo(snapPoints.vertical,x)),cy=y-(sy=snapTo(snapPoints.horizontal,y));(0,_minDash.assign)(event,{dx:event.dx-cx,dy:event.dy-cy,x:sx,y:sy}),!cx&&-1===snapPoints.vertical.indexOf(x)||(0,_SnapUtil.setSnapped)(event,"x",sx),!cy&&-1===snapPoints.horizontal.indexOf(y)||(0,_SnapUtil.setSnapped)(event,"y",sy)}}),eventBus.on(["bendpoint.move.move","bendpoint.move.end"],1500,function(event){var sx,sy,context=event.context,snapPoints=function(context){var snapPoints=context.snapPoints,waypoints=context.connection.waypoints,bendpointIndex=context.bendpointIndex;if(snapPoints)return snapPoints;var referenceWaypoints=[waypoints[bendpointIndex-1],waypoints[bendpointIndex+1]];return context.snapPoints=snapPoints={horizontal:[],vertical:[]},(0,_minDash.forEach)(referenceWaypoints,function(p){p&&(p=p.original||p,snapPoints.horizontal.push(p.y),snapPoints.vertical.push(p.x))}),snapPoints}(context),hover=context.hover,hoverMid=hover&&mid(hover),x=event.x,y=event.y;if(snapPoints){var cx=x-(sx=snapTo(hoverMid?snapPoints.vertical.concat([hoverMid.x]):snapPoints.vertical,x)),cy=y-(sy=snapTo(hoverMid?snapPoints.horizontal.concat([hoverMid.y]):snapPoints.horizontal,y));(0,_minDash.assign)(event,{dx:event.dx-cx,dy:event.dy-cy,x:event.x-cx,y:event.y-cy}),!cx&&-1===snapPoints.vertical.indexOf(x)||(0,_SnapUtil.setSnapped)(event,"x",sx),!cy&&-1===snapPoints.horizontal.indexOf(y)||(0,_SnapUtil.setSnapped)(event,"y",sy)}})}BendpointSnapping.$inject=["eventBus"]},{"../snapping/SnapUtil":318,"min-dash":575}],209:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SEGMENT_DRAGGER_CLS=exports.BENDPOINT_CLS=void 0,exports.toCanvasCoordinates=toCanvasCoordinates,exports.getConnectionIntersection=function(canvas,waypoints,event){var localPosition=toCanvasCoordinates(canvas,event);return(0,_LineIntersection.getApproxIntersection)(waypoints,localPosition)},exports.addBendpoint=function(parentGfx,cls){var groupGfx=(0,_tinySvg.create)("g");(0,_tinySvg.classes)(groupGfx).add(BENDPOINT_CLS),(0,_tinySvg.append)(parentGfx,groupGfx);var visual=(0,_tinySvg.create)("circle");(0,_tinySvg.attr)(visual,{cx:0,cy:0,r:4}),(0,_tinySvg.classes)(visual).add("djs-visual"),(0,_tinySvg.append)(groupGfx,visual);var hit=(0,_tinySvg.create)("circle");(0,_tinySvg.attr)(hit,{cx:0,cy:0,r:10}),(0,_tinySvg.classes)(hit).add("djs-hit"),(0,_tinySvg.append)(groupGfx,hit),cls&&(0,_tinySvg.classes)(groupGfx).add(cls);return groupGfx},exports.addSegmentDragger=function(parentGfx,segmentStart,segmentEnd){var groupGfx=(0,_tinySvg.create)("g"),mid=(0,_Geometry.getMidPoint)(segmentStart,segmentEnd),alignment=(0,_Geometry.pointsAligned)(segmentStart,segmentEnd);return(0,_tinySvg.append)(parentGfx,groupGfx),function(parentGfx,segmentStart,segmentEnd,alignment){var draggerGfx=(0,_tinySvg.create)("g");(0,_tinySvg.append)(parentGfx,draggerGfx);var hitWidth=function(segmentStart,segmentEnd,alignment){var segmentLengthXAxis=segmentEnd.x-segmentStart.x,segmentLengthYAxis=segmentEnd.y-segmentStart.y;return calculateSegmentMoveRegion("h"===alignment?segmentLengthXAxis:segmentLengthYAxis)}(segmentStart,segmentEnd,alignment),visual=(0,_tinySvg.create)("rect");(0,_tinySvg.attr)(visual,{x:-7,y:-1.5,width:14,height:3}),(0,_tinySvg.classes)(visual).add("djs-visual"),(0,_tinySvg.append)(draggerGfx,visual);var hit=(0,_tinySvg.create)("rect");(0,_tinySvg.attr)(hit,{x:-hitWidth/2,y:-4.5,width:hitWidth,height:9}),(0,_tinySvg.classes)(hit).add("djs-hit"),(0,_tinySvg.append)(draggerGfx,hit),(0,_SvgTransformUtil.rotate)(draggerGfx,"v"===alignment?90:0,0,0)}(groupGfx,segmentStart,segmentEnd,alignment),(0,_tinySvg.classes)(groupGfx).add(SEGMENT_DRAGGER_CLS),(0,_tinySvg.classes)(groupGfx).add("h"===alignment?"horizontal":"vertical"),(0,_SvgTransformUtil.translate)(groupGfx,mid.x,mid.y),groupGfx},exports.calculateSegmentMoveRegion=calculateSegmentMoveRegion;var _Event=require("../../util/Event"),_Geometry=require("../../util/Geometry"),_tinySvg=require("tiny-svg"),_SvgTransformUtil=require("../../util/SvgTransformUtil"),_LineIntersection=require("../../util/LineIntersection"),BENDPOINT_CLS=exports.BENDPOINT_CLS="djs-bendpoint",SEGMENT_DRAGGER_CLS=exports.SEGMENT_DRAGGER_CLS="djs-segment-dragger";function toCanvasCoordinates(canvas,event){var offset,position=(0,_Event.toPoint)(event),clientRect=canvas._container.getBoundingClientRect();offset={x:clientRect.left,y:clientRect.top};var viewbox=canvas.viewbox();return{x:viewbox.x+(position.x-offset.x)/viewbox.scale,y:viewbox.y+(position.y-offset.y)/viewbox.scale}}function calculateSegmentMoveRegion(segmentLength){return Math.abs(Math.round(2*segmentLength/3))}},{"../../util/Event":353,"../../util/Geometry":354,"../../util/LineIntersection":357,"../../util/SvgTransformUtil":364,"tiny-svg":587}],210:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Bendpoints;var _minDash=require("min-dash"),_minDom=require("min-dom"),_BendpointUtil=require("./BendpointUtil"),_EscapeUtil=require("../../util/EscapeUtil"),_Geometry=require("../../util/Geometry"),_tinySvg=require("tiny-svg"),_SvgTransformUtil=require("../../util/SvgTransformUtil");function Bendpoints(eventBus,canvas,interactionEvents,bendpointMove,connectionSegmentMove){function activateBendpointMove(event,connection){var waypoints=connection.waypoints,intersection=(0,_BendpointUtil.getConnectionIntersection)(canvas,waypoints,event);if(intersection)return!function(intersection,waypoints,treshold){var p0,p1,mid,aligned,xDelta,yDelta,idx=intersection.index,p=intersection.point;return!(idx<=0||intersection.bendpoint)&&(p0=waypoints[idx-1],p1=waypoints[idx],mid=(0,_Geometry.getMidPoint)(p0,p1),aligned=(0,_Geometry.pointsAligned)(p0,p1),xDelta=Math.abs(p.x-mid.x),yDelta=Math.abs(p.y-mid.y),aligned&&xDelta<=treshold&&yDelta<=treshold)}(intersection,waypoints,function(connection,intersection){var relevantSegment,alignment,segmentLength,waypoints=connection.waypoints;return intersection.index<=0||intersection.bendpoint?null:(relevantSegment={start:waypoints[intersection.index-1],end:waypoints[intersection.index]},(alignment=(0,_Geometry.pointsAligned)(relevantSegment.start,relevantSegment.end))?(segmentLength="h"===alignment?relevantSegment.end.x-relevantSegment.start.x:relevantSegment.end.y-relevantSegment.start.y,(0,_BendpointUtil.calculateSegmentMoveRegion)(segmentLength)/2):null)}(connection,intersection))?bendpointMove.start(event,connection,intersection.index,!intersection.bendpoint):connectionSegmentMove.start(event,connection,intersection.index),!0}function bindInteractionEvents(node,eventName,element){_minDom.event.bind(node,eventName,function(event){interactionEvents.triggerMouseEvent(eventName,event,element),event.stopPropagation()})}function getBendpointsContainer(element,create){var layer=canvas.getLayer("overlays"),gfx=(0,_minDom.query)('.djs-bendpoints[data-element-id="'+(0,_EscapeUtil.escapeCSS)(element.id)+'"]',layer);return!gfx&&create&&(gfx=(0,_tinySvg.create)("g"),(0,_tinySvg.attr)(gfx,{"data-element-id":element.id}),(0,_tinySvg.classes)(gfx).add("djs-bendpoints"),(0,_tinySvg.append)(layer,gfx),bindInteractionEvents(gfx,"mousedown",element),bindInteractionEvents(gfx,"click",element),bindInteractionEvents(gfx,"dblclick",element)),gfx}function getSegmentDragger(idx,parentGfx){return(0,_minDom.query)('.djs-segment-dragger[data-segment-idx="'+idx+'"]',parentGfx)}function createBendpoints(gfx,connection){connection.waypoints.forEach(function(p,idx){var bendpoint=(0,_BendpointUtil.addBendpoint)(gfx);(0,_tinySvg.append)(gfx,bendpoint),(0,_SvgTransformUtil.translate)(bendpoint,p.x,p.y)}),(0,_BendpointUtil.addBendpoint)(gfx,"floating")}function createSegmentDraggers(gfx,connection){for(var segmentStart,segmentEnd,segmentDraggerGfx,waypoints=connection.waypoints,i=1;i');(0,_minDom.attr)(control,"data-action",id),(container=(0,_minDom.query)("[data-group="+grouping+"]",html))||(container=(0,_minDom.domify)('
'),html.appendChild(container)),container.appendChild(control),entry.className&&function(element,classNames){var classes=(0,_minDom.classes)(element);((0,_minDash.isArray)(classNames)?classNames:classNames.split(/\s+/g)).forEach(function(cls){classes.add(cls)})}(control,entry.className),entry.title&&(0,_minDom.attr)(control,"title",entry.title),entry.imageUrl&&control.appendChild((0,_minDom.domify)(''))}),(0,_minDom.classes)(html).add("open"),this._current={element:element,pad:pad,entries:entries},this._eventBus.fire("contextPad.open",{current:this._current})},ContextPad.prototype.getPad=function(element){if(this.isOpen())return this._current.pad;var self=this,overlays=this._overlays,html=(0,_minDom.domify)('
'),overlaysConfig=(0,_minDash.assign)({html:html},this._overlaysConfig);_minDom.delegate.bind(html,".entry","click",function(event){self.trigger("click",event)}),_minDom.delegate.bind(html,".entry","dragstart",function(event){self.trigger("dragstart",event)}),_minDom.event.bind(html,"mousedown",function(event){event.stopPropagation()}),this._overlayId=overlays.add(element,"context-pad",overlaysConfig);var pad=overlays.get(this._overlayId);return this._eventBus.fire("contextPad.create",{element:element,pad:pad}),pad},ContextPad.prototype.close=function(){this.isOpen()&&(this._overlays.remove(this._overlayId),this._overlayId=null,this._eventBus.fire("contextPad.close",{current:this._current}),this._current=null)},ContextPad.prototype.isOpen=function(element){return!(!this._current||element&&this._current.element!==element)}},{"min-dash":575,"min-dom":576}],223:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _interactionEvents2=_interopRequireDefault(require("../interaction-events")),_overlays2=_interopRequireDefault(require("../overlays")),_ContextPad2=_interopRequireDefault(require("./ContextPad"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_interactionEvents2.default,_overlays2.default],contextPad:["type",_ContextPad2.default]}},{"../interaction-events":247,"../overlays":292,"./ContextPad":222}],224:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=CopyPaste;var _minDash=require("min-dash"),_Elements=require("../../util/Elements");function CopyPaste(canvas,create,clipboard,elementFactory,eventBus,modeling,mouse,rules){this._canvas=canvas,this._create=create,this._clipboard=clipboard,this._elementFactory=elementFactory,this._eventBus=eventBus,this._modeling=modeling,this._mouse=mouse,this._rules=rules,eventBus.on("copyPaste.copyElement",function(context){var descriptor=context.descriptor,element=context.element,elements=context.elements;descriptor.priority=1,descriptor.id=element.id,(0,_minDash.find)(elements,function(e){return e===element.parent})&&(descriptor.parent=element.parent.id),function(element){return!!element.host}(element)&&(descriptor.priority=2,descriptor.host=element.host.id),isConnection(element)&&(descriptor.priority=3,descriptor.source=element.source.id,descriptor.target=element.target.id,descriptor.waypoints=function(element){return(0,_minDash.map)(element.waypoints,function(waypoint){return(waypoint=copyWaypoint(waypoint)).original&&(waypoint.original=copyWaypoint(waypoint.original)),waypoint})}(element)),isLabel(element)&&(descriptor.priority=4,descriptor.labelTarget=element.labelTarget.id),(0,_minDash.forEach)(["x","y","width","height"],function(property){(0,_minDash.isNumber)(element[property])&&(descriptor[property]=element[property])}),descriptor.hidden=element.hidden,descriptor.collapsed=element.collapsed}),eventBus.on("copyPaste.pasteElements",function(context){var hints=context.hints;(0,_minDash.assign)(hints,{createElementsBehavior:!1})})}function isConnection(element){return!!element.waypoints}function isLabel(element){return!!element.labelTarget}function copyWaypoint(waypoint){return(0,_minDash.assign)({},waypoint)}function removeElement(element,elements){var index=elements.indexOf(element);return-1===index?elements:elements.splice(index,1)}CopyPaste.$inject=["canvas","create","clipboard","elementFactory","eventBus","modeling","mouse","rules"],CopyPaste.prototype.copy=function(elements){var allowed,tree;return(0,_minDash.isArray)(elements)||(elements=elements?[elements]:[]),tree=!1===(allowed=this._eventBus.fire("copyPaste.canCopyElements",{elements:elements}))?{}:this.createTree((0,_minDash.isArray)(allowed)?allowed:elements),this._clipboard.set(tree),this._eventBus.fire("copyPaste.elementsCopied",{elements:elements,tree:tree}),tree},CopyPaste.prototype.paste=function(context){var tree=this._clipboard.get();if(!this._clipboard.isEmpty()){var hints=context&&context.hints||{};this._eventBus.fire("copyPaste.pasteElements",{hints:hints});var elements=this._createElements(tree);if(context&&context.element&&context.point)return this._paste(elements,context.element,context.point,hints);this._create.start(this._mouse.getLastMoveEvent(),elements,{hints:hints||{}})}},CopyPaste.prototype._paste=function(elements,target,position,hints){(0,_minDash.forEach)(elements,function(element){(0,_minDash.isNumber)(element.x)||(element.x=0),(0,_minDash.isNumber)(element.y)||(element.y=0)});var bbox=(0,_Elements.getBBox)(elements);return(0,_minDash.forEach)(elements,function(element){isConnection(element)&&(element.waypoints=(0,_minDash.map)(element.waypoints,function(waypoint){return{x:waypoint.x-bbox.x-bbox.width/2,y:waypoint.y-bbox.y-bbox.height/2}})),(0,_minDash.assign)(element,{x:element.x-bbox.x-bbox.width/2,y:element.y-bbox.y-bbox.height/2})}),this._modeling.createElements(elements,position,target,(0,_minDash.assign)({},hints))},CopyPaste.prototype._createElements=function(tree){var self=this,eventBus=this._eventBus,cache={},elements=[];return(0,_minDash.forEach)(tree,function(branch,depth){depth=parseInt(depth,10),branch=(0,_minDash.sortBy)(branch,"priority"),(0,_minDash.forEach)(branch,function(descriptor){var element,attrs=(0,_minDash.assign)({},(0,_minDash.omit)(descriptor,["priority"]));return cache[descriptor.parent]?attrs.parent=cache[descriptor.parent]:delete attrs.parent,eventBus.fire("copyPaste.pasteElement",{cache:cache,descriptor:attrs}),element=isConnection(attrs)?(attrs.source=cache[descriptor.source],attrs.target=cache[descriptor.target],cache[descriptor.id]=self.createConnection(attrs)):isLabel(attrs)?(attrs.labelTarget=cache[attrs.labelTarget],cache[descriptor.id]=self.createLabel(attrs)):(attrs.host&&(attrs.host=cache[attrs.host]),cache[descriptor.id]=self.createShape(attrs)),void elements.push(element)})}),elements},CopyPaste.prototype.createConnection=function(attrs){return this._elementFactory.createConnection((0,_minDash.omit)(attrs,["id"]))},CopyPaste.prototype.createLabel=function(attrs){return this._elementFactory.createLabel((0,_minDash.omit)(attrs,["id"]))},CopyPaste.prototype.createShape=function(attrs){return this._elementFactory.createShape((0,_minDash.omit)(attrs,["id"]))},CopyPaste.prototype.hasRelations=function(element,elements){var source,target;return!(isConnection(element)&&(source=(0,_minDash.find)(elements,(0,_minDash.matchPattern)({id:element.source.id})),target=(0,_minDash.find)(elements,(0,_minDash.matchPattern)({id:element.target.id})),!source||!target))&&!(isLabel(element)&&!(0,_minDash.find)(elements,(0,_minDash.matchPattern)({id:element.labelTarget.id})))},CopyPaste.prototype.createTree=function(elements){var rules=this._rules,self=this,tree={},elementsData=[],parents=(0,_Elements.getParents)(elements);function addElementData(element,depth){var foundElementData=(0,_minDash.find)(elementsData,function(elementsData){return element===elementsData.element});foundElementData?foundElementData.depth=Math.min(rangeB.min,rangeB.max)&&Math.min(rangeA.min,rangeA.max)<=Math.max(rangeB.min,rangeB.max)},DistributeElements.prototype._findRange=function(element){var axis=element[this._axis];return{min:axis+5,max:axis+element[this._dimension]-5}}},{"min-dash":575}],230:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_DistributeElements=require("./DistributeElements"),_DistributeElements2=(obj=_DistributeElements)&&obj.__esModule?obj:{default:obj};exports.default={__init__:["distributeElements"],distributeElements:["type",_DistributeElements2.default]}},{"./DistributeElements":229}],231:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Dragging;var _minDash=require("min-dash"),_minDom=require("min-dom"),_Event=require("../../util/Event"),_Cursor=require("../../util/Cursor"),_ClickTrap=require("../../util/ClickTrap"),_PositionUtil=require("../../util/PositionUtil"),round=Math.round,DRAG_ACTIVE_CLS="djs-drag-active";function preventDefault(event){event.preventDefault()}function Dragging(eventBus,canvas,selection,elementRegistry){var context,defaultOptions={threshold:5,trapClick:!0};function toLocalPoint(globalPosition){var viewbox=canvas.viewbox(),clientRect=canvas._container.getBoundingClientRect();return{x:viewbox.x+(globalPosition.x-clientRect.left)/viewbox.scale,y:viewbox.y+(globalPosition.y-clientRect.top)/viewbox.scale}}function fire(type,dragContext){dragContext=dragContext||context;var event=eventBus.createEvent((0,_minDash.assign)({},dragContext.payload,dragContext.data,{isTouch:dragContext.isTouch}));return!1!==eventBus.fire("drag."+type,event)&&eventBus.fire(dragContext.prefix+"."+type,event)}function move(event,activate){var payload=context.payload,displacement=context.displacement,globalStart=context.globalStart,globalCurrent=(0,_Event.toPoint)(event),globalDelta=(0,_PositionUtil.delta)(globalCurrent,globalStart),localStart=context.localStart,localCurrent=toLocalPoint(globalCurrent),localDelta=(0,_PositionUtil.delta)(localCurrent,localStart);if(!context.active&&(activate||function(point){return Math.sqrt(Math.pow(point.x,2)+Math.pow(point.y,2))}(globalDelta)>context.threshold)){if((0,_minDash.assign)(payload,{x:round(localStart.x+displacement.x),y:round(localStart.y+displacement.y),dx:0,dy:0},{originalEvent:event}),!1===fire("start"))return cancel();context.active=!0,context.keepSelection||(payload.previousSelection=selection.get(),selection.select(null)),context.cursor&&(0,_Cursor.set)(context.cursor),canvas.addMarker(canvas.getRootElement(),DRAG_ACTIVE_CLS)}(0,_Event.stopPropagation)(event),context.active&&((0,_minDash.assign)(payload,{x:round(localCurrent.x+displacement.x),y:round(localCurrent.y+displacement.y),dx:round(localDelta.x),dy:round(localDelta.y)},{originalEvent:event}),fire("move"))}function end(event){var returnValue=!0;context.active&&(event&&(context.payload.originalEvent=event,(0,_Event.stopPropagation)(event)),returnValue=fire("end")),!1===returnValue&&fire("rejected"),fire("ended",cleanup(!0!==returnValue))}function checkCancel(event){27===event.which&&(preventDefault(event),cancel())}function trapClickAndEnd(event){var untrap;context.active&&(untrap=(0,_ClickTrap.install)(eventBus),setTimeout(untrap,400),preventDefault(event)),end(event)}function trapTouch(event){move(event)}function hover(event){var payload=context.payload;payload.hoverGfx=event.gfx,payload.hover=event.element,fire("hover")}function out(event){fire("out");var payload=context.payload;payload.hoverGfx=null,payload.hover=null}function cancel(restore){var previousContext;if(context){var wasActive=context.active;wasActive&&fire("cancel"),previousContext=cleanup(restore),wasActive&&fire("canceled",previousContext)}}function cleanup(restore){var previousContext,endDrag;fire("cleanup"),(0,_Cursor.unset)(),endDrag=context.trapClick?trapClickAndEnd:end,_minDom.event.unbind(document,"mousemove",move),_minDom.event.unbind(document,"dragstart",preventDefault),_minDom.event.unbind(document,"selectstart",preventDefault),_minDom.event.unbind(document,"mousedown",endDrag,!0),_minDom.event.unbind(document,"mouseup",endDrag,!0),_minDom.event.unbind(document,"keyup",checkCancel),_minDom.event.unbind(document,"touchstart",trapTouch,!0),_minDom.event.unbind(document,"touchcancel",cancel,!0),_minDom.event.unbind(document,"touchmove",move,!0),_minDom.event.unbind(document,"touchend",end,!0),eventBus.off("element.hover",hover),eventBus.off("element.out",out),canvas.removeMarker(canvas.getRootElement(),DRAG_ACTIVE_CLS);var previousSelection=context.payload.previousSelection;return!1!==restore&&previousSelection&&!selection.get().length&&function(previousSelection){var existingSelection=previousSelection.filter(function(element){return elementRegistry.get(element.id)});existingSelection.length&&selection.select(existingSelection)}(previousSelection),previousContext=context,context=null,previousContext}eventBus.on("diagram.destroy",cancel),this.init=function(event,relativeTo,prefix,options){context&&cancel(!1),"string"==typeof relativeTo&&(options=prefix,prefix=relativeTo,relativeTo=null);var originalEvent,globalStart,localStart,endDrag,isTouch,data=(options=(0,_minDash.assign)({},defaultOptions,options||{})).data||{};endDrag=options.trapClick?trapClickAndEnd:end,event?(originalEvent=(0,_Event.getOriginal)(event)||event,globalStart=(0,_Event.toPoint)(event),(0,_Event.stopPropagation)(event),"dragstart"===originalEvent.type&&preventDefault(originalEvent)):(originalEvent=null,globalStart={x:0,y:0}),localStart=toLocalPoint(globalStart),relativeTo=relativeTo||localStart,isTouch=function(event){return"undefined"!=typeof TouchEvent&&event instanceof TouchEvent}(originalEvent),context=(0,_minDash.assign)({prefix:prefix,data:data,payload:{},globalStart:globalStart,displacement:(0,_PositionUtil.delta)(relativeTo,localStart),localStart:localStart,isTouch:isTouch},options),options.manual||(isTouch?(_minDom.event.bind(document,"touchstart",trapTouch,!0),_minDom.event.bind(document,"touchcancel",cancel,!0),_minDom.event.bind(document,"touchmove",move,!0),_minDom.event.bind(document,"touchend",end,!0)):(_minDom.event.bind(document,"mousemove",move),_minDom.event.bind(document,"dragstart",preventDefault),_minDom.event.bind(document,"selectstart",preventDefault),_minDom.event.bind(document,"mousedown",endDrag,!0),_minDom.event.bind(document,"mouseup",endDrag,!0)),_minDom.event.bind(document,"keyup",checkCancel),eventBus.on("element.hover",hover),eventBus.on("element.out",out)),fire("init"),options.autoActivate&&move(event,!0)},this.move=move,this.hover=hover,this.out=out,this.end=end,this.cancel=cancel,this.context=function(){return context},this.setOptions=function(options){(0,_minDash.assign)(defaultOptions,options)}}Dragging.$inject=["eventBus","canvas","selection","elementRegistry"]},{"../../util/ClickTrap":348,"../../util/Cursor":350,"../../util/Event":353,"../../util/PositionUtil":361,"min-dash":575,"min-dom":576}],232:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=HoverFix;var _minDom=require("min-dom"),_Event=require("../../util/Event"),HIGH_PRIORITY=1500;function HoverFix(eventBus,dragging,elementRegistry){var self=this;eventBus.on("drag.start",function(event){eventBus.once("drag.move",HIGH_PRIORITY,function(event){!function(event){if(!event.hover){var originalEvent=event.originalEvent,gfx=self._findTargetGfx(originalEvent),element=gfx&&elementRegistry.get(gfx);gfx&&element&&(event.stopPropagation(),dragging.hover({element:element,gfx:gfx}),dragging.move(originalEvent))}}(event)})}),eventBus.on("drag.init",function(){var hover,hoverGfx;function setDragHover(event){hover=event.hover,hoverGfx=event.hoverGfx}function unsetHover(){hoverGfx=hover=null}function ensureOut(){if(hover){var element=hover,gfx=hoverGfx;hoverGfx=hover=null,dragging.out({element:element,gfx:gfx})}}eventBus.on("drag.hover",setDragHover),eventBus.on("element.out",unsetHover),eventBus.on("element.hover",HIGH_PRIORITY,ensureOut),eventBus.once("drag.cleanup",function(){eventBus.off("drag.hover",setDragHover),eventBus.off("element.out",unsetHover),eventBus.off("element.hover",ensureOut)})}),this._findTargetGfx=function(event){var position;if(event instanceof MouseEvent)return position=(0,_Event.toPoint)(event),function(target){return(0,_minDom.closest)(target,"svg, .djs-element",!0)}(document.elementFromPoint(position.x,position.y))}}HoverFix.$inject=["eventBus","dragging","elementRegistry"]},{"../../util/Event":353,"min-dom":576}],233:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _selection2=_interopRequireDefault(require("../selection")),_Dragging2=_interopRequireDefault(require("./Dragging")),_HoverFix2=_interopRequireDefault(require("./HoverFix"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__init__:["hoverFix"],__depends__:[_selection2.default],dragging:["type",_Dragging2.default],hoverFix:["type",_HoverFix2.default]}},{"../selection":314,"./Dragging":231,"./HoverFix":232}],234:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=EditorActions;var _minDash=require("min-dash");function EditorActions(eventBus,injector){this._actions={};var self=this;eventBus.on("diagram.init",function(){self._registerDefaultActions(injector),eventBus.fire("editorActions.init",{editorActions:self})})}function error(action,message){return new Error(action+" "+message)}EditorActions.$inject=["eventBus","injector"],EditorActions.prototype._registerDefaultActions=function(injector){var commandStack=injector.get("commandStack",!1),modeling=injector.get("modeling",!1),selection=injector.get("selection",!1),zoomScroll=injector.get("zoomScroll",!1),copyPaste=injector.get("copyPaste",!1),canvas=injector.get("canvas",!1),rules=injector.get("rules",!1),keyboardMove=injector.get("keyboardMove",!1),keyboardMoveSelection=injector.get("keyboardMoveSelection",!1);commandStack&&(this.register("undo",function(){commandStack.undo()}),this.register("redo",function(){commandStack.redo()})),copyPaste&&selection&&this.register("copy",function(){var selectedElements=selection.get();copyPaste.copy(selectedElements)}),copyPaste&&this.register("paste",function(){copyPaste.paste()}),zoomScroll&&this.register("stepZoom",function(opts){zoomScroll.stepZoom(opts.value)}),canvas&&this.register("zoom",function(opts){canvas.zoom(opts.value)}),modeling&&selection&&rules&&this.register("removeSelection",function(){var selectedElements=selection.get();if(selectedElements.length){var removableElements,allowed=rules.allowed("elements.delete",{elements:selectedElements});!1!==allowed&&(removableElements=(0,_minDash.isArray)(allowed)?allowed:selectedElements).length&&modeling.removeElements(removableElements.slice())}}),keyboardMove&&this.register("moveCanvas",function(opts){keyboardMove.moveCanvas(opts)}),keyboardMoveSelection&&this.register("moveSelection",function(opts){keyboardMoveSelection.moveSelection(opts.direction,opts.accelerated)})},EditorActions.prototype.trigger=function(action,opts){if(!this._actions[action])throw error(action,"is not a registered action");return this._actions[action](opts)},EditorActions.prototype.register=function(actions,listener){var self=this;if("string"==typeof actions)return this._registerAction(actions,listener);(0,_minDash.forEach)(actions,function(listener,action){self._registerAction(action,listener)})},EditorActions.prototype._registerAction=function(action,listener){if(this.isRegistered(action))throw error(action,"is already registered");this._actions[action]=listener},EditorActions.prototype.unregister=function(action){if(!this.isRegistered(action))throw error(action,"is not a registered action");this._actions[action]=void 0},EditorActions.prototype.getActions=function(){return Object.keys(this._actions)},EditorActions.prototype.isRegistered=function(action){return!!this._actions[action]}},{"min-dash":575}],235:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_EditorActions=require("./EditorActions"),_EditorActions2=(obj=_EditorActions)&&obj.__esModule?obj:{default:obj};exports.default={__init__:["editorActions"],editorActions:["type",_EditorActions2.default]}},{"./EditorActions":234}],236:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=GlobalConnect;var MARKER_OK="connect-ok",MARKER_NOT_OK="connect-not-ok";function GlobalConnect(eventBus,dragging,connect,canvas,toolManager,rules){var self=this;this._dragging=dragging,this._rules=rules,toolManager.registerTool("global-connect",{tool:"global-connect",dragging:"global-connect.drag"}),eventBus.on("global-connect.hover",function(event){var context=event.context,startTarget=event.hover,canStartConnect=context.canStartConnect=self.canStartConnect(startTarget);null!==canStartConnect&&(context.startTarget=startTarget,canvas.addMarker(startTarget,canStartConnect?MARKER_OK:MARKER_NOT_OK))}),eventBus.on(["global-connect.out","global-connect.cleanup"],function(event){var startTarget=event.context.startTarget,canStartConnect=event.context.canStartConnect;startTarget&&canvas.removeMarker(startTarget,canStartConnect?MARKER_OK:MARKER_NOT_OK)}),eventBus.on(["global-connect.ended"],function(event){var startTarget=event.context.startTarget,startPosition={x:event.x,y:event.y};if(self.canStartConnect(startTarget))return eventBus.once("element.out",function(){eventBus.once(["connect.ended","connect.canceled"],function(){eventBus.fire("global-connect.drag.ended")}),connect.start(null,startTarget,startPosition)}),!1})}GlobalConnect.$inject=["eventBus","dragging","connect","canvas","toolManager","rules"],GlobalConnect.prototype.start=function(event){this._dragging.init(event,"global-connect",{trapClick:!1,data:{context:{}}})},GlobalConnect.prototype.toggle=function(){this.isActive()?this._dragging.cancel():this.start()},GlobalConnect.prototype.isActive=function(){var context=this._dragging.context();return context&&/^global-connect/.test(context.prefix)},GlobalConnect.prototype.canStartConnect=function(startTarget){return this._rules.allowed("connection.start",{source:startTarget})}},{}],237:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _connect2=_interopRequireDefault(require("../connect")),_rules2=_interopRequireDefault(require("../rules")),_dragging2=_interopRequireDefault(require("../dragging")),_toolManager2=_interopRequireDefault(require("../tool-manager")),_GlobalConnect2=_interopRequireDefault(require("./GlobalConnect"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_connect2.default,_rules2.default,_dragging2.default,_toolManager2.default],globalConnect:["type",_GlobalConnect2.default]}},{"../connect":219,"../dragging":233,"../rules":308,"../tool-manager":326,"./GlobalConnect":236}],238:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=GridSnapping;var _SnapUtil=require("../snapping/SnapUtil"),_KeyboardUtil=require("../keyboard/KeyboardUtil"),_minDash=require("min-dash"),_GridUtil=require("./GridUtil"),LOWER_PRIORITY=1200,LOW_PRIORITY=800;function GridSnapping(elementRegistry,eventBus,config){var active=!config||!1!==config.active;this._eventBus=eventBus;var self=this;eventBus.on("diagram.init",LOW_PRIORITY,function(){self.setActive(active)}),eventBus.on(["create.move","create.end","bendpoint.move.move","bendpoint.move.end","connect.move","connect.end","connectionSegment.move.move","connectionSegment.move.end","resize.move","resize.end","shape.move.move","shape.move.end"],LOWER_PRIORITY,function(event){var originalEvent=event.originalEvent;if(!(!self.active||originalEvent&&(0,_KeyboardUtil.isCmd)(originalEvent))){var context=event.context,gridSnappingContext=context.gridSnappingContext;gridSnappingContext=gridSnappingContext||(context.gridSnappingContext={}),["x","y"].forEach(function(axis){var options={},snapOffset=function(event,axis,elementRegistry){var context=event.context,shape=event.shape,gridSnappingContext=context.gridSnappingContext,snapLocation=gridSnappingContext.snapLocation,snapOffset=gridSnappingContext.snapOffset;if(snapOffset&&(0,_minDash.isNumber)(snapOffset[axis]))return snapOffset[axis];snapOffset=snapOffset||(gridSnappingContext.snapOffset={});(0,_minDash.isNumber)(snapOffset[axis])||(snapOffset[axis]=0);if(!shape)return snapOffset[axis];elementRegistry.get(shape.id)||(isHorizontal(axis)?snapOffset[axis]+=shape[axis]+shape.width/2:snapOffset[axis]+=shape[axis]+shape.height/2);if(!snapLocation)return snapOffset[axis];"x"===axis?/left/.test(snapLocation)?snapOffset[axis]-=shape.width/2:/right/.test(snapLocation)&&(snapOffset[axis]+=shape.width/2):/top/.test(snapLocation)?snapOffset[axis]-=shape.height/2:/bottom/.test(snapLocation)&&(snapOffset[axis]+=shape.height/2);return snapOffset[axis]}(event,axis,elementRegistry);snapOffset&&(options.offset=snapOffset);var snapConstraints=function(event,axis){var context=event.context,createConstraints=context.createConstraints,resizeConstraints=context.resizeConstraints||{},gridSnappingContext=context.gridSnappingContext,snapConstraints=gridSnappingContext.snapConstraints;if(snapConstraints&&snapConstraints[axis])return snapConstraints[axis];snapConstraints=snapConstraints||(gridSnappingContext.snapConstraints={});snapConstraints[axis]||(snapConstraints[axis]={});var direction=context.direction;createConstraints&&(isHorizontal(axis)?(snapConstraints.x.min=createConstraints.left,snapConstraints.x.max=createConstraints.right):(snapConstraints.y.min=createConstraints.top,snapConstraints.y.max=createConstraints.bottom));var minResizeConstraints=resizeConstraints.min,maxResizeConstraints=resizeConstraints.max;minResizeConstraints&&(isHorizontal(axis)?isWest(direction)?snapConstraints.x.max=minResizeConstraints.left:snapConstraints.x.min=minResizeConstraints.right:isNorth(direction)?snapConstraints.y.max=minResizeConstraints.top:snapConstraints.y.min=minResizeConstraints.bottom);maxResizeConstraints&&(isHorizontal(axis)?isWest(direction)?snapConstraints.x.min=maxResizeConstraints.left:snapConstraints.x.max=maxResizeConstraints.right:isNorth(direction)?snapConstraints.y.min=maxResizeConstraints.top:snapConstraints.y.max=maxResizeConstraints.bottom);return snapConstraints[axis]}(event,axis);snapConstraints&&(0,_minDash.assign)(options,snapConstraints),(0,_SnapUtil.isSnapped)(event,axis)||self.snapEvent(event,axis,options)})}})}function isHorizontal(axis){return"x"===axis}function isNorth(direction){return-1!==direction.indexOf("n")}function isWest(direction){return-1!==direction.indexOf("w")}GridSnapping.prototype.snapEvent=function(event,axis,options){var snappedValue=this.snapValue(event[axis],options);(0,_SnapUtil.setSnapped)(event,axis,snappedValue)},GridSnapping.prototype.getGridSpacing=function(){return _GridUtil.SPACING},GridSnapping.prototype.snapValue=function(value,options){var min,max,offset=0;return options&&options.offset&&(offset=options.offset),value+=offset,value=(0,_GridUtil.quantize)(value,_GridUtil.SPACING),options&&options.min&&(min=options.min,(0,_minDash.isNumber)(min)&&(min=(0,_GridUtil.quantize)(min+offset,_GridUtil.SPACING,"ceil"),value=Math.max(value,min))),options&&options.max&&(max=options.max,(0,_minDash.isNumber)(max)&&(max=(0,_GridUtil.quantize)(max+offset,_GridUtil.SPACING,"floor"),value=Math.min(value,max))),value-=offset},GridSnapping.prototype.isActive=function(){return this.active},GridSnapping.prototype.setActive=function(active){this.active=active,this._eventBus.fire("gridSnapping.toggle",{active:active})},GridSnapping.prototype.toggleActive=function(){this.setActive(!this.active)},GridSnapping.$inject=["elementRegistry","eventBus","config.gridSnapping"]},{"../keyboard/KeyboardUtil":252,"../snapping/SnapUtil":318,"./GridUtil":239,"min-dash":575}],239:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.quantize=function(value,quantum,fn){fn=fn||"round";return Math[fn](value/quantum)*quantum};exports.SPACING=10},{}],240:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ResizeBehavior;var _inherits2=_interopRequireDefault(require("inherits")),_CommandInterceptor2=_interopRequireDefault(require("../../../command/CommandInterceptor")),_minDash=require("min-dash");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function ResizeBehavior(eventBus,gridSnapping){_CommandInterceptor2.default.call(this,eventBus),this._gridSnapping=gridSnapping;var self=this;this.preExecute("shape.resize",function(event){var context=event.context,autoResize=(context.hints||{}).autoResize;if(autoResize){var shape=context.shape,newBounds=context.newBounds;(0,_minDash.isString)(autoResize)?context.newBounds=self.snapComplex(newBounds,autoResize):context.newBounds=self.snapSimple(shape,newBounds)}})}ResizeBehavior.$inject=["eventBus","gridSnapping","modeling"],(0,_inherits2.default)(ResizeBehavior,_CommandInterceptor2.default),ResizeBehavior.prototype.snapSimple=function(shape,newBounds){var gridSnapping=this._gridSnapping;return newBounds.width=gridSnapping.snapValue(newBounds.width,{min:newBounds.width}),newBounds.height=gridSnapping.snapValue(newBounds.height,{min:newBounds.height}),newBounds.x=shape.x+shape.width/2-newBounds.width/2,newBounds.y=shape.y+shape.height/2-newBounds.height/2,newBounds},ResizeBehavior.prototype.snapComplex=function(newBounds,directions){return/w|e/.test(directions)&&(newBounds=this.snapHorizontally(newBounds,directions)),/n|s/.test(directions)&&(newBounds=this.snapVertically(newBounds,directions)),newBounds},ResizeBehavior.prototype.snapHorizontally=function(newBounds,directions){var gridSnapping=this._gridSnapping,west=/w/.test(directions),east=/e/.test(directions),snappedNewBounds={};return snappedNewBounds.width=gridSnapping.snapValue(newBounds.width,{min:newBounds.width}),east&&(west?(snappedNewBounds.x=gridSnapping.snapValue(newBounds.x,{max:newBounds.x}),snappedNewBounds.width+=gridSnapping.snapValue(newBounds.x-snappedNewBounds.x,{min:newBounds.x-snappedNewBounds.x})):newBounds.x=newBounds.x+newBounds.width-snappedNewBounds.width),(0,_minDash.assign)(newBounds,snappedNewBounds),newBounds},ResizeBehavior.prototype.snapVertically=function(newBounds,directions){var gridSnapping=this._gridSnapping,north=/n/.test(directions),south=/s/.test(directions),snappedNewBounds={};return snappedNewBounds.height=gridSnapping.snapValue(newBounds.height,{min:newBounds.height}),north&&(south?(snappedNewBounds.y=gridSnapping.snapValue(newBounds.y,{max:newBounds.y}),snappedNewBounds.height+=gridSnapping.snapValue(newBounds.y-snappedNewBounds.y,{min:newBounds.y-snappedNewBounds.y})):newBounds.y=newBounds.y+newBounds.height-snappedNewBounds.height),(0,_minDash.assign)(newBounds,snappedNewBounds),newBounds}},{"../../../command/CommandInterceptor":181,inherits:369,"min-dash":575}],241:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=SpaceToolBehavior;var HIGH_PRIORITY=2e3;function SpaceToolBehavior(eventBus,gridSnapping){eventBus.on(["spaceTool.move","spaceTool.end"],HIGH_PRIORITY,function(event){var snapped,context=event.context;context.initialized&&("x"===context.axis?(snapped=gridSnapping.snapValue(event.dx),event.x=event.x+snapped-event.dx,event.dx=snapped):(snapped=gridSnapping.snapValue(event.dy),event.y=event.y+snapped-event.dy,event.dy=snapped))})}SpaceToolBehavior.$inject=["eventBus","gridSnapping"]},{}],242:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _ResizeBehavior2=_interopRequireDefault(require("./ResizeBehavior")),_SpaceToolBehavior2=_interopRequireDefault(require("./SpaceToolBehavior"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__init__:["gridSnappingResizeBehavior","gridSnappingSpaceToolBehavior"],gridSnappingResizeBehavior:["type",_ResizeBehavior2.default],gridSnappingSpaceToolBehavior:["type",_SpaceToolBehavior2.default]}},{"./ResizeBehavior":240,"./SpaceToolBehavior":241}],243:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _GridSnapping2=_interopRequireDefault(require("./GridSnapping")),_behavior2=_interopRequireDefault(require("./behavior"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_behavior2.default],__init__:["gridSnapping"],gridSnapping:["type",_GridSnapping2.default]}},{"./GridSnapping":238,"./behavior":242}],244:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};exports.default=HandTool;var _Mouse=require("../../util/Mouse"),_KeyboardUtil=require("../../features/keyboard/KeyboardUtil"),HIGH_PRIORITY=1500;function HandTool(eventBus,canvas,dragging,injector,toolManager){this._dragging=dragging;var self=this,keyboard=injector.get("keyboard",!1);toolManager.registerTool("hand",{tool:"hand",dragging:"hand.move"}),eventBus.on("element.mousedown",HIGH_PRIORITY,function(event){if((0,_Mouse.hasPrimaryModifier)(event))return this.activateMove(event.originalEvent),!1},this),keyboard&&keyboard.addListener(HIGH_PRIORITY,function(e){function activateMove(event){self.activateMove(event),window.removeEventListener("mousemove",activateMove)}isSpace(e.keyEvent)&&(self.isActive()||(window.addEventListener("mousemove",activateMove),keyboard.addListener(HIGH_PRIORITY,function deactivateMove(e){isSpace(e.keyEvent)&&(window.removeEventListener("mousemove",activateMove),keyboard.removeListener(deactivateMove,"keyboard.keyup"),dragging.cancel())},"keyboard.keyup")))},"keyboard.keydown"),eventBus.on("hand.end",function(event){var target=event.originalEvent.target;if(!(event.hover||target instanceof SVGElement))return!1;eventBus.once("hand.ended",function(){this.activateMove(event.originalEvent,{reactivate:!0})},this)},this),eventBus.on("hand.move.move",function(event){var scale=canvas.viewbox().scale;canvas.scroll({dx:event.dx*scale,dy:event.dy*scale})}),eventBus.on("hand.move.end",function(event){var reactivate=event.context.reactivate;return!(0,_Mouse.hasPrimaryModifier)(event)&&reactivate&&eventBus.once("hand.move.ended",function(event){this.activateHand(event.originalEvent,!0,!0)},this),!1},this)}function isSpace(keyEvent){return(0,_KeyboardUtil.isKey)(" ",keyEvent)}HandTool.$inject=["eventBus","canvas","dragging","injector","toolManager"],HandTool.prototype.activateMove=function(event,autoActivate,context){"object"===(void 0===autoActivate?"undefined":_typeof(autoActivate))&&(context=autoActivate,autoActivate=!1),this._dragging.init(event,"hand.move",{autoActivate:autoActivate,cursor:"grab",data:{context:context||{}}})},HandTool.prototype.activateHand=function(event,autoActivate,reactivate){this._dragging.init(event,"hand",{trapClick:!1,autoActivate:autoActivate,cursor:"grab",data:{context:{reactivate:reactivate}}})},HandTool.prototype.toggle=function(){this.isActive()?this._dragging.cancel():this.activateHand()},HandTool.prototype.isActive=function(){var context=this._dragging.context();return!!context&&/^(hand|hand\.move)$/.test(context.prefix)}},{"../../features/keyboard/KeyboardUtil":252,"../../util/Mouse":359}],245:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _toolManager2=_interopRequireDefault(require("../tool-manager")),_HandTool2=_interopRequireDefault(require("./HandTool"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_toolManager2.default],__init__:["handTool"],handTool:["type",_HandTool2.default]}},{"../tool-manager":326,"./HandTool":244}],246:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=InteractionEvents;var _minDash=require("min-dash"),_minDom=require("min-dom"),_Mouse=require("../../util/Mouse"),_tinySvg=require("tiny-svg"),_RenderUtil=require("../../util/RenderUtil");function allowAll(e){return!0}var LOW_PRIORITY=500;function InteractionEvents(eventBus,elementRegistry,styles){var self=this;function fire(type,event,element){var target,gfx;!function(localEventName,event){return!(ignoredFilters[localEventName]||_Mouse.isPrimaryButton)(event)}(type,event)&&(element?gfx=elementRegistry.getGraphics(element):(target=event.delegateTarget||event.target)&&(gfx=target,element=elementRegistry.get(gfx)),gfx&&element&&!1===eventBus.fire(type,{element:element,gfx:gfx,originalEvent:event})&&(event.stopPropagation(),event.preventDefault()))}var handlers={};function mouseHandler(localEventName){return handlers[localEventName]}var bindings={click:"element.click",contextmenu:"element.contextmenu",dblclick:"element.dblclick",mousedown:"element.mousedown",mousemove:"element.mousemove",mouseover:"element.hover",mouseout:"element.out",mouseup:"element.mouseup"},ignoredFilters={"element.contextmenu":allowAll};var ELEMENT_SELECTOR="svg, .djs-element";function registerEvent(node,event,localEvent,ignoredFilter){var handler=handlers[localEvent]=function(event){fire(localEvent,event)};ignoredFilter&&(ignoredFilters[localEvent]=ignoredFilter),handler.$delegate=_minDom.delegate.bind(node,ELEMENT_SELECTOR,event,handler)}function unregisterEvent(node,event,localEvent){var handler=mouseHandler(localEvent);handler&&_minDom.delegate.unbind(node,event,handler.$delegate)}eventBus.on("canvas.destroy",function(event){!function(svg){(0,_minDash.forEach)(bindings,function(val,key){unregisterEvent(svg,key,val)})}(event.svg)}),eventBus.on("canvas.init",function(event){!function(svg){(0,_minDash.forEach)(bindings,function(val,key){registerEvent(svg,key,val)})}(event.svg)}),eventBus.on(["shape.added","connection.added"],function(event){var element=event.element,gfx=event.gfx;eventBus.fire("interactionEvents.createHit",{element:element,gfx:gfx})}),eventBus.on(["shape.changed","connection.changed"],LOW_PRIORITY,function(event){var element=event.element,gfx=event.gfx;eventBus.fire("interactionEvents.updateHit",{element:element,gfx:gfx})}),eventBus.on("interactionEvents.createHit",LOW_PRIORITY,function(event){var element=event.element,gfx=event.gfx;self.createDefaultHit(element,gfx)}),eventBus.on("interactionEvents.updateHit",function(event){var element=event.element,gfx=event.gfx;self.updateDefaultHit(element,gfx)});var STROKE_HIT_STYLE=createHitStyle("djs-hit djs-hit-stroke"),CLICK_STROKE_HIT_STYLE=createHitStyle("djs-hit djs-hit-click-stroke"),HIT_TYPES={all:createHitStyle("djs-hit djs-hit-all"),"click-stroke":CLICK_STROKE_HIT_STYLE,stroke:STROKE_HIT_STYLE};function createHitStyle(classNames,attrs){return attrs=(0,_minDash.assign)({stroke:"white",strokeWidth:15},attrs||{}),styles.cls(classNames,["no-fill","no-border"],attrs)}function applyStyle(hit,type){var attrs=HIT_TYPES[type];if(!attrs)throw new Error("invalid hit type <"+type+">");return(0,_tinySvg.attr)(hit,attrs),hit}function appendHit(gfx,hit){(0,_tinySvg.append)(gfx,hit)}this.removeHits=function(gfx){var hits=(0,_minDom.queryAll)(".djs-hit",gfx);(0,_minDash.forEach)(hits,_tinySvg.remove)},this.createDefaultHit=function(element,gfx){var boxType,waypoints=element.waypoints,isFrame=element.isFrame;return waypoints?this.createWaypointsHit(gfx,waypoints):(boxType=isFrame?"stroke":"all",this.createBoxHit(gfx,boxType,{width:element.width,height:element.height}))},this.createWaypointsHit=function(gfx,waypoints){var hit=(0,_RenderUtil.createLine)(waypoints);return applyStyle(hit,"stroke"),appendHit(gfx,hit),hit},this.createBoxHit=function(gfx,type,attrs){attrs=(0,_minDash.assign)({x:0,y:0},attrs);var hit=(0,_tinySvg.create)("rect");return applyStyle(hit,type),(0,_tinySvg.attr)(hit,attrs),appendHit(gfx,hit),hit},this.updateDefaultHit=function(element,gfx){var hit=(0,_minDom.query)(".djs-hit",gfx);if(hit)return element.waypoints?(0,_RenderUtil.updateLine)(hit,element.waypoints):(0,_tinySvg.attr)(hit,{width:element.width,height:element.height}),hit},this.fire=fire,this.triggerMouseEvent=function(eventName,event,targetElement){var localEventName=bindings[eventName];if(!localEventName)throw new Error("unmapped DOM event name <"+eventName+">");return fire(localEventName,event,targetElement)},this.mouseHandler=mouseHandler,this.registerEvent=registerEvent,this.unregisterEvent=unregisterEvent}InteractionEvents.$inject=["eventBus","elementRegistry","styles"]},{"../../util/Mouse":359,"../../util/RenderUtil":363,"min-dash":575,"min-dom":576,"tiny-svg":587}],247:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_InteractionEvents=require("./InteractionEvents"),_InteractionEvents2=(obj=_InteractionEvents)&&obj.__esModule?obj:{default:obj};exports.default={__init__:["interactionEvents"],interactionEvents:["type",_InteractionEvents2.default]}},{"./InteractionEvents":246}],248:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=KeyboardMoveSelection;var _minDash=require("min-dash"),DEFAULT_CONFIG={moveSpeed:1,moveSpeedAccelerated:10},HIGHER_PRIORITY=1500,KEY_TO_DIRECTION={ArrowLeft:"left",Left:"left",ArrowUp:"up",Up:"up",ArrowRight:"right",Right:"right",ArrowDown:"down",Down:"down"},DIRECTIONS_DELTA={left:function(speed){return{x:-speed,y:0}},up:function(speed){return{x:0,y:-speed}},right:function(speed){return{x:speed,y:0}},down:function(speed){return{x:0,y:speed}}};function KeyboardMoveSelection(config,keyboard,modeling,rules,selection){var self=this;this._config=(0,_minDash.assign)({},DEFAULT_CONFIG,config||{}),keyboard.addListener(HIGHER_PRIORITY,function(event){var keyEvent=event.keyEvent,direction=KEY_TO_DIRECTION[keyEvent.key];if(direction&&!keyboard.isCmd(keyEvent)){var accelerated=keyboard.isShift(keyEvent);return self.moveSelection(direction,accelerated),!0}}),this.moveSelection=function(direction,accelerated){var selectedElements=selection.get();if(selectedElements.length){var speed=this._config[accelerated?"moveSpeedAccelerated":"moveSpeed"],delta=DIRECTIONS_DELTA[direction](speed);rules.allowed("elements.move",{shapes:selectedElements})&&modeling.moveElements(selectedElements,delta)}}}KeyboardMoveSelection.$inject=["config.keyboardMoveSelection","keyboard","modeling","rules","selection"]},{"min-dash":575}],249:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _keyboard2=_interopRequireDefault(require("../keyboard")),_selection2=_interopRequireDefault(require("../selection")),_KeyboardMoveSelection2=_interopRequireDefault(require("./KeyboardMoveSelection"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_keyboard2.default,_selection2.default],__init__:["keyboardMoveSelection"],keyboardMoveSelection:["type",_KeyboardMoveSelection2.default]}},{"../keyboard":253,"../selection":314,"./KeyboardMoveSelection":248}],250:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Keyboard;var _minDash=require("min-dash"),_minDom=require("min-dom"),_KeyboardUtil=require("./KeyboardUtil");function Keyboard(config,eventBus){var self=this;this._config=config||{},this._eventBus=eventBus,this._keydownHandler=this._keydownHandler.bind(this),this._keyupHandler=this._keyupHandler.bind(this),eventBus.on("diagram.destroy",function(){self._fire("destroy"),self.unbind()}),eventBus.on("diagram.init",function(){self._fire("init")}),eventBus.on("attach",function(){config&&config.bindTo&&self.bind(config.bindTo)}),eventBus.on("detach",function(){self.unbind()})}Keyboard.$inject=["config.keyboard","eventBus"],Keyboard.prototype._keydownHandler=function(event){this._keyHandler(event,"keyboard.keydown")},Keyboard.prototype._keyupHandler=function(event){this._keyHandler(event,"keyboard.keyup")},Keyboard.prototype._keyHandler=function(event,type){if(!function(target){return target&&((0,_minDom.matches)(target,"input, textarea")||"true"===target.contentEditable)}(event.target)){var context={keyEvent:event};this._eventBus.fire(type||"keyboard.keydown",context)&&event.preventDefault()}},Keyboard.prototype.bind=function(node){this.unbind(),this._node=node,_minDom.event.bind(node,"keydown",this._keydownHandler,!0),_minDom.event.bind(node,"keyup",this._keyupHandler,!0),this._fire("bind")},Keyboard.prototype.getBinding=function(){return this._node},Keyboard.prototype.unbind=function(){var node=this._node;node&&(this._fire("unbind"),_minDom.event.unbind(node,"keydown",this._keydownHandler,!0),_minDom.event.unbind(node,"keyup",this._keyupHandler,!0)),this._node=null},Keyboard.prototype._fire=function(event){this._eventBus.fire("keyboard."+event,{node:this._node})},Keyboard.prototype.addListener=function(priority,listener,type){(0,_minDash.isFunction)(priority)&&(type=listener,listener=priority,priority=1e3),this._eventBus.on(type||"keyboard.keydown",priority,listener)},Keyboard.prototype.removeListener=function(listener,type){this._eventBus.off(type||"keyboard.keydown",listener)},Keyboard.prototype.hasModifier=_KeyboardUtil.hasModifier,Keyboard.prototype.isCmd=_KeyboardUtil.isCmd,Keyboard.prototype.isShift=_KeyboardUtil.isShift,Keyboard.prototype.isKey=_KeyboardUtil.isKey},{"./KeyboardUtil":252,"min-dash":575,"min-dom":576}],251:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KEYS_UNDO=exports.KEYS_REDO=exports.KEYS_PASTE=exports.KEYS_COPY=exports.KEYCODE_Z=exports.KEYCODE_Y=exports.KEYCODE_V=exports.KEYCODE_C=void 0,exports.default=KeyboardBindings;var _KeyboardUtil=require("./KeyboardUtil"),LOW_PRIORITY=500,KEYCODE_C=exports.KEYCODE_C=67,KEYCODE_V=exports.KEYCODE_V=86,KEYCODE_Y=exports.KEYCODE_Y=89,KEYCODE_Z=exports.KEYCODE_Z=90,KEYS_COPY=exports.KEYS_COPY=["c","C",KEYCODE_C],KEYS_PASTE=exports.KEYS_PASTE=["v","V",KEYCODE_V],KEYS_REDO=exports.KEYS_REDO=["y","Y",KEYCODE_Y],KEYS_UNDO=exports.KEYS_UNDO=["z","Z",KEYCODE_Z];function KeyboardBindings(eventBus,keyboard){var self=this;eventBus.on("editorActions.init",LOW_PRIORITY,function(event){var editorActions=event.editorActions;self.registerBindings(keyboard,editorActions)})}KeyboardBindings.$inject=["eventBus","keyboard"],KeyboardBindings.prototype.registerBindings=function(keyboard,editorActions){function addListener(action,fn){editorActions.isRegistered(action)&&keyboard.addListener(fn)}addListener("undo",function(context){var event=context.keyEvent;if((0,_KeyboardUtil.isCmd)(event)&&!(0,_KeyboardUtil.isShift)(event)&&(0,_KeyboardUtil.isKey)(KEYS_UNDO,event))return editorActions.trigger("undo"),!0}),addListener("redo",function(context){var event=context.keyEvent;if((0,_KeyboardUtil.isCmd)(event)&&((0,_KeyboardUtil.isKey)(KEYS_REDO,event)||(0,_KeyboardUtil.isKey)(KEYS_UNDO,event)&&(0,_KeyboardUtil.isShift)(event)))return editorActions.trigger("redo"),!0}),addListener("copy",function(context){var event=context.keyEvent;if((0,_KeyboardUtil.isCmd)(event)&&(0,_KeyboardUtil.isKey)(KEYS_COPY,event))return editorActions.trigger("copy"),!0}),addListener("paste",function(context){var event=context.keyEvent;if((0,_KeyboardUtil.isCmd)(event)&&(0,_KeyboardUtil.isKey)(KEYS_PASTE,event))return editorActions.trigger("paste"),!0}),addListener("stepZoom",function(context){var event=context.keyEvent;if((0,_KeyboardUtil.isKey)(["+","Add"],event)&&(0,_KeyboardUtil.isCmd)(event))return editorActions.trigger("stepZoom",{value:1}),!0}),addListener("stepZoom",function(context){var event=context.keyEvent;if((0,_KeyboardUtil.isKey)(["-","Subtract"],event)&&(0,_KeyboardUtil.isCmd)(event))return editorActions.trigger("stepZoom",{value:-1}),!0}),addListener("zoom",function(context){var event=context.keyEvent;if((0,_KeyboardUtil.isKey)("0",event)&&(0,_KeyboardUtil.isCmd)(event))return editorActions.trigger("zoom",{value:1}),!0}),addListener("removeSelection",function(context){var event=context.keyEvent;if((0,_KeyboardUtil.isKey)(["Delete","Del"],event))return editorActions.trigger("removeSelection"),!0})}},{"./KeyboardUtil":252}],252:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.hasModifier=function(event){return event.ctrlKey||event.metaKey||event.shiftKey||event.altKey},exports.isCmd=function(event){if(event.altKey)return!1;return event.ctrlKey||event.metaKey},exports.isKey=function(keys,event){return-1!==(keys=(0,_minDash.isArray)(keys)?keys:[keys]).indexOf(event.key)||-1!==keys.indexOf(event.keyCode)},exports.isShift=function(event){return event.shiftKey};var _minDash=require("min-dash")},{"min-dash":575}],253:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _Keyboard2=_interopRequireDefault(require("./Keyboard")),_KeyboardBindings2=_interopRequireDefault(require("./KeyboardBindings"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__init__:["keyboard","keyboardBindings"],keyboard:["type",_Keyboard2.default],keyboardBindings:["type",_KeyboardBindings2.default]}},{"./Keyboard":250,"./KeyboardBindings":251}],254:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=LabelSupport;var _minDash=require("min-dash"),_inherits2=_interopRequireDefault(require("inherits")),_Collections=require("../../util/Collections"),_Removal=require("../../util/Removal"),_CommandInterceptor2=_interopRequireDefault(require("../../command/CommandInterceptor"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var LOW_PRIORITY=250,HIGH_PRIORITY=1400;function LabelSupport(injector,eventBus,modeling){_CommandInterceptor2.default.call(this,eventBus);var movePreview=injector.get("movePreview",!1);eventBus.on("shape.move.start",HIGH_PRIORITY,function(e){var context=e.context,shapes=context.shapes,validatedShapes=context.validatedShapes;context.shapes=removeLabels(shapes),context.validatedShapes=removeLabels(validatedShapes)}),movePreview&&eventBus.on("shape.move.start",LOW_PRIORITY,function(e){var context=e.context,shapes=context.shapes,labels=[];(0,_minDash.forEach)(shapes,function(element){(0,_minDash.forEach)(element.labels,function(label){label.hidden||-1!==context.shapes.indexOf(label)||labels.push(label),element.labelTarget&&labels.push(element)})}),(0,_minDash.forEach)(labels,function(label){movePreview.makeDraggable(context,label,!0)})}),this.preExecuted("elements.move",HIGH_PRIORITY,function(e){var closure=e.context.closure,enclosedElements=closure.enclosedElements,enclosedLabels=[];(0,_minDash.forEach)(enclosedElements,function(element){(0,_minDash.forEach)(element.labels,function(label){enclosedElements[label.id]||enclosedLabels.push(label)})}),closure.addAll(enclosedLabels)}),this.preExecute(["connection.delete","shape.delete"],function(e){var context=e.context,element=context.connection||context.shape;(0,_Removal.saveClear)(element.labels,function(label){modeling.removeShape(label,{nested:!0})})}),this.execute("shape.delete",function(e){var context=e.context,shape=context.shape,labelTarget=shape.labelTarget;labelTarget&&(context.labelTargetIndex=(0,_Collections.indexOf)(labelTarget.labels,shape),context.labelTarget=labelTarget,shape.labelTarget=null)}),this.revert("shape.delete",function(e){var context=e.context,shape=context.shape,labelTarget=context.labelTarget,labelTargetIndex=context.labelTargetIndex;labelTarget&&((0,_Collections.add)(labelTarget.labels,shape,labelTargetIndex),shape.labelTarget=labelTarget)})}function removeLabels(elements){return(0,_minDash.filter)(elements,function(element){return-1===elements.indexOf(element.labelTarget)})}(0,_inherits2.default)(LabelSupport,_CommandInterceptor2.default),LabelSupport.$inject=["injector","eventBus","modeling"]},{"../../command/CommandInterceptor":181,"../../util/Collections":349,"../../util/Removal":362,inherits:369,"min-dash":575}],255:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_LabelSupport=require("./LabelSupport"),_LabelSupport2=(obj=_LabelSupport)&&obj.__esModule?obj:{default:obj};exports.default={__init__:["labelSupport"],labelSupport:["type",_LabelSupport2.default]}},{"./LabelSupport":254}],256:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=LassoTool;var _minDash=require("min-dash"),_Elements=require("../../util/Elements"),_Mouse=require("../../util/Mouse"),_tinySvg=require("tiny-svg");function LassoTool(eventBus,canvas,dragging,elementRegistry,selection,toolManager){this._selection=selection,this._dragging=dragging;var self=this,visuals_create=function(context){var frame,container=canvas.getDefaultLayer();frame=context.frame=(0,_tinySvg.create)("rect"),(0,_tinySvg.attr)(frame,{class:"djs-lasso-overlay",width:1,height:1,x:0,y:0}),(0,_tinySvg.append)(container,frame)},visuals_update=function(context){var frame=context.frame,bbox=context.bbox;(0,_tinySvg.attr)(frame,{x:bbox.x,y:bbox.y,width:bbox.width,height:bbox.height})},visuals_remove=function(context){context.frame&&(0,_tinySvg.remove)(context.frame)};toolManager.registerTool("lasso",{tool:"lasso.selection",dragging:"lasso"}),eventBus.on("lasso.selection.end",function(event){var target=event.originalEvent.target;(event.hover||target instanceof SVGElement)&&eventBus.once("lasso.selection.ended",function(){self.activateLasso(event.originalEvent,!0)})}),eventBus.on("lasso.end",function(event){var bbox=toBBox(event),elements=elementRegistry.filter(function(element){return element});self.select(elements,bbox)}),eventBus.on("lasso.start",function(event){var context=event.context;context.bbox=toBBox(event),visuals_create(context)}),eventBus.on("lasso.move",function(event){var context=event.context;context.bbox=toBBox(event),visuals_update(context)}),eventBus.on("lasso.cleanup",function(event){var context=event.context;visuals_remove(context)}),eventBus.on("element.mousedown",1500,function(event){if((0,_Mouse.hasSecondaryModifier)(event))return self.activateLasso(event.originalEvent),!0})}function toBBox(event){var start={x:event.x-event.dx,y:event.y-event.dy},end={x:event.x,y:event.y};return start.x<=end.x&&start.ystart:/n|w/.test(direction)?waypoint[relevantAxis]');return parentNode.insertBefore(root,parentNode.firstChild),root}(canvas.getContainer()),this._init()}function setPosition(el,x,y){(0,_minDash.assign)(el.style,{left:x+"px",top:y+"px"})}function setVisible(el,visible){el.style.display=!1===visible?"none":""}function setTransform(el,transform){el.style["transform-origin"]="top left",["","-ms-","-webkit-"].forEach(function(prefix){el.style[prefix+"transform"]=transform})}Overlays.$inject=["config.overlays","eventBus","canvas","elementRegistry"],Overlays.prototype.get=function(search){if((0,_minDash.isString)(search)&&(search={id:search}),(0,_minDash.isString)(search.element)&&(search.element=this._elementRegistry.get(search.element)),search.element){var container=this._getOverlayContainer(search.element,!0);return container?search.type?(0,_minDash.filter)(container.overlays,(0,_minDash.matchPattern)({type:search.type})):container.overlays.slice():[]}return search.type?(0,_minDash.filter)(this._overlays,(0,_minDash.matchPattern)({type:search.type})):search.id?this._overlays[search.id]:null},Overlays.prototype.add=function(element,type,overlay){if((0,_minDash.isObject)(type)&&(overlay=type,type=null),element.id||(element=this._elementRegistry.get(element)),!overlay.position)throw new Error("must specifiy overlay position");if(!overlay.html)throw new Error("must specifiy overlay html");if(!element)throw new Error("invalid element specified");var id=this._ids.next();return overlay=(0,_minDash.assign)({},this._overlayDefaults,overlay,{id:id,type:type,element:element,html:overlay.html}),this._addOverlay(overlay),id},Overlays.prototype.remove=function(filter){var overlays=this.get(filter)||[];(0,_minDash.isArray)(overlays)||(overlays=[overlays]);var self=this;(0,_minDash.forEach)(overlays,function(overlay){var container=self._getOverlayContainer(overlay.element,!0);if(overlay&&((0,_minDom.remove)(overlay.html),(0,_minDom.remove)(overlay.htmlContainer),delete overlay.htmlContainer,delete overlay.element,delete self._overlays[overlay.id]),container){var idx=container.overlays.indexOf(overlay);-1!==idx&&container.overlays.splice(idx,1)}})},Overlays.prototype.show=function(){setVisible(this._overlayRoot)},Overlays.prototype.hide=function(){setVisible(this._overlayRoot,!1)},Overlays.prototype.clear=function(){this._overlays={},this._overlayContainers=[],(0,_minDom.clear)(this._overlayRoot)},Overlays.prototype._updateOverlayContainer=function(container){var element=container.element,html=container.html,x=element.x,y=element.y;if(element.waypoints){var bbox=(0,_Elements.getBBox)(element);x=bbox.x,y=bbox.y}setPosition(html,x,y),(0,_minDom.attr)(container.html,"data-container-id",element.id)},Overlays.prototype._updateOverlay=function(overlay){var width,height,position=overlay.position,htmlContainer=overlay.htmlContainer,element=overlay.element,left=position.left,top=position.top;void 0!==position.right&&(width=element.waypoints?(0,_Elements.getBBox)(element).width:element.width,left=-1*position.right+width);void 0!==position.bottom&&(height=element.waypoints?(0,_Elements.getBBox)(element).height:element.height,top=-1*position.bottom+height);setPosition(htmlContainer,left||0,top||0)},Overlays.prototype._createOverlayContainer=function(element){var html=(0,_minDom.domify)('
');this._overlayRoot.appendChild(html);var container={html:html,element:element,overlays:[]};return this._updateOverlayContainer(container),this._overlayContainers.push(container),container},Overlays.prototype._updateRoot=function(viewbox){var scale=viewbox.scale||1,matrix="matrix("+[scale,0,0,scale,-1*viewbox.x*scale,-1*viewbox.y*scale].join(",")+")";setTransform(this._overlayRoot,matrix)},Overlays.prototype._getOverlayContainer=function(element,raw){var container=(0,_minDash.find)(this._overlayContainers,function(c){return c.element===element});return container||raw?container:this._createOverlayContainer(element)},Overlays.prototype._addOverlay=function(overlay){var htmlContainer,overlayContainer,id=overlay.id,element=overlay.element,html=overlay.html;html.get&&html.constructor.prototype.jquery&&(html=html.get(0)),(0,_minDash.isString)(html)&&(html=(0,_minDom.domify)(html)),overlayContainer=this._getOverlayContainer(element),(htmlContainer=(0,_minDom.domify)('
')).appendChild(html),overlay.type&&(0,_minDom.classes)(htmlContainer).add("djs-overlay-"+overlay.type),overlay.htmlContainer=htmlContainer,overlayContainer.overlays.push(overlay),overlayContainer.html.appendChild(htmlContainer),this._overlays[id]=overlay,this._updateOverlay(overlay),this._updateOverlayVisibilty(overlay,this._canvas.viewbox())},Overlays.prototype._updateOverlayVisibilty=function(overlay,viewbox){var show=overlay.show,minZoom=show&&show.minZoom,maxZoom=show&&show.maxZoom,htmlContainer=overlay.htmlContainer,visible=!0;show&&(((0,_minDash.isDefined)(minZoom)&&minZoom>viewbox.scale||(0,_minDash.isDefined)(maxZoom)&&maxZoommaxScale&&(scale=(1/viewbox.scale||1)*maxScale)),(0,_minDash.isDefined)(scale)&&(transform="scale("+scale+","+scale+")"),setTransform(htmlContainer,transform)},Overlays.prototype._updateOverlaysVisibilty=function(viewbox){var self=this;(0,_minDash.forEach)(this._overlays,function(overlay){self._updateOverlayVisibilty(overlay,viewbox)})},Overlays.prototype._init=function(){var eventBus=this._eventBus,self=this;eventBus.on("canvas.viewbox.changing",function(event){self.hide()}),eventBus.on("canvas.viewbox.changed",function(event){!function(viewbox){self._updateRoot(viewbox),self._updateOverlaysVisibilty(viewbox),self.show()}(event.viewbox)}),eventBus.on(["shape.remove","connection.remove"],function(e){var element=e.element,overlays=self.get({element:element});(0,_minDash.forEach)(overlays,function(o){self.remove(o.id)});var container=self._getOverlayContainer(element);if(container){(0,_minDom.remove)(container.html);var i=self._overlayContainers.indexOf(container);-1!==i&&self._overlayContainers.splice(i,1)}}),eventBus.on("element.changed",500,function(e){var element=e.element,container=self._getOverlayContainer(element,!0);container&&((0,_minDash.forEach)(container.overlays,function(overlay){self._updateOverlay(overlay)}),self._updateOverlayContainer(container))}),eventBus.on("element.marker.update",function(e){var container=self._getOverlayContainer(e.element,!0);container&&(0,_minDom.classes)(container.html)[e.add?"add":"remove"](e.marker)}),eventBus.on("diagram.clear",this.clear,this)}},{"../../util/Elements":351,"../../util/IdGenerator":356,"min-dash":575,"min-dom":576}],292:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_Overlays=require("./Overlays"),_Overlays2=(obj=_Overlays)&&obj.__esModule?obj:{default:obj};exports.default={__init__:["overlays"],overlays:["type",_Overlays2.default]}},{"./Overlays":291}],293:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Palette;var _minDash=require("min-dash"),_minDom=require("min-dom");function Palette(eventBus,canvas){this._eventBus=eventBus,this._canvas=canvas;var self=this;eventBus.on("tool-manager.update",function(event){var tool=event.tool;self.updateToolHighlight(tool)}),eventBus.on("i18n.changed",function(){self._update()}),eventBus.on("diagram.init",function(){self._diagramInitialized=!0,self._rebuild()})}function addPaletteEntries(entries,provider){var entriesOrUpdater=provider.getPaletteEntries();return(0,_minDash.isFunction)(entriesOrUpdater)?entriesOrUpdater(entries):((0,_minDash.forEach)(entriesOrUpdater,function(entry,id){entries[id]=entry}),entries)}Palette.$inject=["eventBus","canvas"],Palette.prototype.registerProvider=function(priority,provider){provider||(provider=priority,priority=1e3),this._eventBus.on("palette.getProviders",priority,function(event){event.providers.push(provider)}),this._rebuild()},Palette.prototype.getEntries=function(){return this._getProviders().reduce(addPaletteEntries,{})},Palette.prototype._rebuild=function(){this._diagramInitialized&&this._getProviders().length&&(this._container||this._init(),this._update())},Palette.prototype._init=function(){var self=this,eventBus=this._eventBus,parentContainer=this._getParentContainer(),container=this._container=(0,_minDom.domify)(Palette.HTML_MARKUP);parentContainer.appendChild(container),_minDom.delegate.bind(container,".djs-palette-toggle, .entry","click",function(event){var target=event.delegateTarget;if((0,_minDom.matches)(target,".djs-palette-toggle"))return self.toggle();self.trigger("click",event)}),_minDom.event.bind(container,"mousedown",function(event){event.stopPropagation()}),_minDom.delegate.bind(container,".entry","dragstart",function(event){self.trigger("dragstart",event)}),eventBus.on("canvas.resized",this._layoutChanged,this),eventBus.fire("palette.create",{container:container})},Palette.prototype._getProviders=function(id){var event=this._eventBus.createEvent({type:"palette.getProviders",providers:[]});return this._eventBus.fire(event),event.providers},Palette.prototype._toggleState=function(state){state=state||{};var twoColumn,parent=this._getParentContainer(),container=this._container,eventBus=this._eventBus,cls=(0,_minDom.classes)(container);twoColumn="twoColumn"in state?state.twoColumn:this._needsCollapse(parent.clientHeight,this._entries||{}),cls.toggle("two-column",twoColumn),"open"in state&&cls.toggle("open",state.open),eventBus.fire("palette.changed",{twoColumn:twoColumn,open:this.isOpen()})},Palette.prototype._update=function(){var entriesContainer=(0,_minDom.query)(".djs-palette-entries",this._container),entries=this._entries=this.getEntries();(0,_minDom.clear)(entriesContainer),(0,_minDash.forEach)(entries,function(entry,id){var grouping=entry.group||"default",container=(0,_minDom.query)("[data-group="+grouping+"]",entriesContainer);container||(container=(0,_minDom.domify)('
'),entriesContainer.appendChild(container));var html=entry.html||(entry.separator?'
':'
'),control=(0,_minDom.domify)(html);container.appendChild(control),entry.separator||((0,_minDom.attr)(control,"data-action",id),entry.title&&(0,_minDom.attr)(control,"title",entry.title),entry.className&&function(element,classNames){var classes=(0,_minDom.classes)(element);((0,_minDash.isArray)(classNames)?classNames:classNames.split(/\s+/g)).forEach(function(cls){classes.add(cls)})}(control,entry.className),entry.imageUrl&&control.appendChild((0,_minDom.domify)('')))}),this.open()},Palette.prototype.trigger=function(action,event,autoActivate){var entry,handler,originalEvent,entries=this._entries,button=event.delegateTarget||event.target;if(!button)return event.preventDefault();(entry=entries[(0,_minDom.attr)(button,"data-action")])&&(handler=entry.action,originalEvent=event.originalEvent||event,(0,_minDash.isFunction)(handler)?"click"===action&&handler(originalEvent,autoActivate):handler[action]&&handler[action](originalEvent,autoActivate),event.preventDefault())},Palette.prototype._layoutChanged=function(){this._toggleState({})},Palette.prototype._needsCollapse=function(availableHeight,entries){return availableHeight<50+46*Object.keys(entries).length},Palette.prototype.close=function(){this._toggleState({open:!1,twoColumn:!1})},Palette.prototype.open=function(){this._toggleState({open:!0})},Palette.prototype.toggle=function(open){this.isOpen()?this.close():this.open()},Palette.prototype.isActiveTool=function(tool){return tool&&this._activeTool===tool},Palette.prototype.updateToolHighlight=function(name){var entriesContainer,toolsContainer;this._toolsContainer||(entriesContainer=(0,_minDom.query)(".djs-palette-entries",this._container),this._toolsContainer=(0,_minDom.query)("[data-group=tools]",entriesContainer)),toolsContainer=this._toolsContainer,(0,_minDash.forEach)(toolsContainer.children,function(tool){var actionName=tool.getAttribute("data-action");if(actionName){var toolClasses=(0,_minDom.classes)(tool);actionName=actionName.replace("-tool",""),toolClasses.contains("entry")&&actionName===name?toolClasses.add("highlighted-entry"):toolClasses.remove("highlighted-entry")}})},Palette.prototype.isOpen=function(){return(0,_minDom.classes)(this._container).has("open")},Palette.prototype._getParentContainer=function(){return this._canvas.getContainer()},Palette.HTML_MARKUP='
'},{"min-dash":575,"min-dom":576}],294:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_Palette=require("./Palette"),_Palette2=(obj=_Palette)&&obj.__esModule?obj:{default:obj};exports.default={__init__:["palette"],palette:["type",_Palette2.default]}},{"./Palette":293}],295:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=PopupMenu;var _minDash=require("min-dash"),_minDom=require("min-dom"),CLOSE_EVENTS=["contextPad.close","canvas.viewbox.changing","commandStack.changed"];function PopupMenu(config,eventBus,canvas){var scale=(0,_minDash.isDefined)(config&&config.scale)?config.scale:{min:1,max:1.5};this._config={scale:scale},this._eventBus=eventBus,this._canvas=canvas,this._providers={},this._current={}}PopupMenu.$inject=["config.popupMenu","eventBus","canvas"],PopupMenu.prototype.registerProvider=function(id,priority,provider){provider||(provider=priority,priority=1e3),this._eventBus.on("popupMenu.getProviders."+id,priority,function(event){event.providers.push(provider)})},PopupMenu.prototype.isEmpty=function(element,providerId){if(!element)throw new Error("element parameter is missing");if(!providerId)throw new Error("providerId parameter is missing");var providers=this._getProviders(providerId);if(!providers)return!0;var entries=this._getEntries(element,providers),headerEntries=this._getHeaderEntries(element,providers),hasEntries=0<(0,_minDash.size)(entries),hasHeaderEntries=headerEntries&&0<(0,_minDash.size)(headerEntries);return!hasEntries&&!hasHeaderEntries},PopupMenu.prototype.open=function(element,id,position){var providers=this._getProviders(id);if(!element)throw new Error("Element is missing");if(!providers||!providers.length)throw new Error("No registered providers for: "+id);if(!position)throw new Error("the position argument is missing");this.isOpen()&&this.close(),this._emit("open");var current=this._current={className:id,element:element,position:position},entries=this._getEntries(element,providers),headerEntries=this._getHeaderEntries(element,providers);current.entries=(0,_minDash.assign)({},entries,headerEntries),current.container=this._createContainer(),(0,_minDash.size)(headerEntries)&¤t.container.appendChild(this._createEntries(headerEntries,"djs-popup-header")),(0,_minDash.size)(entries)&¤t.container.appendChild(this._createEntries(entries,"djs-popup-body"));var parent=this._canvas.getContainer();this._attachContainer(current.container,parent,position.cursor),this._bindAutoClose()},PopupMenu.prototype.close=function(){this.isOpen()&&(this._emit("close"),this._unbindAutoClose(),(0,_minDom.remove)(this._current.container),this._current.container=null)},PopupMenu.prototype.isOpen=function(){return!!this._current.container},PopupMenu.prototype.trigger=function(event){event.preventDefault();var element=event.delegateTarget||event.target,entryId=(0,_minDom.attr)(element,"data-id"),entry=this._getEntry(entryId);if(entry.action)return entry.action.call(null,event,entry)},PopupMenu.prototype._getProviders=function(id){var event=this._eventBus.createEvent({type:"popupMenu.getProviders."+id,providers:[]});return this._eventBus.fire(event),event.providers},PopupMenu.prototype._getEntries=function(element,providers){var entries={};return(0,_minDash.forEach)(providers,function(provider){if(provider.getPopupMenuEntries){var entriesOrUpdater=provider.getPopupMenuEntries(element);(0,_minDash.isFunction)(entriesOrUpdater)?entries=entriesOrUpdater(entries):(0,_minDash.forEach)(entriesOrUpdater,function(entry,id){entries[id]=entry})}else(0,_minDash.forEach)(provider.getEntries(element),function(entry){var id=entry.id;if(!id)throw new Error("every entry must have the id property set");entries[id]=(0,_minDash.omit)(entry,["id"])})}),entries},PopupMenu.prototype._getHeaderEntries=function(element,providers){var entries={};return(0,_minDash.forEach)(providers,function(provider){if(provider.getPopupMenuHeaderEntries){var entriesOrUpdater=provider.getPopupMenuHeaderEntries(element);(0,_minDash.isFunction)(entriesOrUpdater)?entries=entriesOrUpdater(entries):(0,_minDash.forEach)(entriesOrUpdater,function(entry,id){entries[id]=entry})}else{if(!provider.getHeaderEntries)return;(0,_minDash.forEach)(provider.getHeaderEntries(element),function(entry){var id=entry.id;if(!id)throw new Error("every entry must have the id property set");entries[id]=(0,_minDash.omit)(entry,["id"])})}}),entries},PopupMenu.prototype._getEntry=function(entryId){var entry=this._current.entries[entryId];if(!entry)throw new Error("entry not found");return entry},PopupMenu.prototype._emit=function(eventName){this._eventBus.fire("popupMenu."+eventName)},PopupMenu.prototype._createContainer=function(){var container=(0,_minDom.domify)('
'),position=this._current.position,className=this._current.className;return(0,_minDash.assign)(container.style,{position:"absolute",left:position.x+"px",top:position.y+"px",visibility:"hidden"}),(0,_minDom.classes)(container).add(className),container},PopupMenu.prototype._attachContainer=function(container,parent,cursor){var self=this;_minDom.delegate.bind(container,".entry","click",function(event){self.trigger(event)}),this._updateScale(container),parent.appendChild(container),cursor&&this._assureIsInbounds(container,cursor)},PopupMenu.prototype._updateScale=function(container){var minScale,maxScale,zoom=this._canvas.zoom(),scaleConfig=this._config.scale,scale=zoom;!0!==scaleConfig&&(maxScale=!1===scaleConfig?minScale=1:(minScale=scaleConfig.min,scaleConfig.max),(0,_minDash.isDefined)(minScale)&&zoomclientRect.width&&(overAxis.x=!0),containerY+containerHeight>clientRect.height&&(overAxis.y=!0),overAxis.x&&overAxis.y?(left=cursorPosition_x-containerWidth+"px",top=cursorPosition_y-containerHeight+"px"):overAxis.x?(left=cursorPosition_x-containerWidth+"px",top=cursorPosition_y+"px"):overAxis.y&&cursorPosition_y"),self=this;return(0,_minDom.classes)(entriesContainer).add(className),(0,_minDash.forEach)(entries,function(entry,id){var entryContainer=self._createEntry(entry,id);entriesContainer.appendChild(entryContainer)}),entriesContainer},PopupMenu.prototype._createEntry=function(entry,id){var entryContainer=(0,_minDom.domify)("
"),entryClasses=(0,_minDom.classes)(entryContainer);if(entryClasses.add("entry"),entry.className&&entry.className.split(" ").forEach(function(className){entryClasses.add(className)}),(0,_minDom.attr)(entryContainer,"data-id",id),entry.label){var label=(0,_minDom.domify)("");label.textContent=entry.label,entryContainer.appendChild(label)}return entry.imageUrl&&entryContainer.appendChild((0,_minDom.domify)('')),!0===entry.active&&entryClasses.add("active"),!0===entry.disabled&&entryClasses.add("disabled"),entry.title&&(entryContainer.title=entry.title),entryContainer},PopupMenu.prototype._bindAutoClose=function(){this._eventBus.once(CLOSE_EVENTS,this.close,this)},PopupMenu.prototype._unbindAutoClose=function(){this._eventBus.off(CLOSE_EVENTS,this.close,this)}},{"min-dash":575,"min-dom":576}],296:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_PopupMenu=require("./PopupMenu"),_PopupMenu2=(obj=_PopupMenu)&&obj.__esModule?obj:{default:obj};exports.default={__init__:["popupMenu"],popupMenu:["type",_PopupMenu2.default]}},{"./PopupMenu":295}],297:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=PreviewSupport;var _minDash=require("min-dash"),_tinySvg=require("tiny-svg"),_minDom=require("min-dom"),_GraphicsUtil=require("../../util/GraphicsUtil"),MARKER_TYPES=["marker-start","marker-mid","marker-end"],NODES_CAN_HAVE_MARKER=["circle","ellipse","line","path","polygon","polyline","rect"];function PreviewSupport(elementRegistry,eventBus,canvas,styles){this._elementRegistry=elementRegistry,this._canvas=canvas,this._styles=styles,this._clonedMarkers={};var self=this;eventBus.on("drag.cleanup",function(){(0,_minDash.forEach)(self._clonedMarkers,function(clonedMarker){(0,_tinySvg.remove)(clonedMarker)}),self._clonedMarkers={}})}PreviewSupport.$inject=["elementRegistry","eventBus","canvas","styles"],PreviewSupport.prototype.getGfx=function(element){return this._elementRegistry.getGraphics(element)},PreviewSupport.prototype.addDragger=function(element,group,gfx){gfx=gfx||this.getGfx(element);var dragger=(0,_tinySvg.clone)(gfx),bbox=gfx.getBoundingClientRect();return this._cloneMarkers((0,_GraphicsUtil.getVisual)(dragger)),(0,_tinySvg.attr)(dragger,this._styles.cls("djs-dragger",[],{x:bbox.top,y:bbox.left})),(0,_tinySvg.append)(group,dragger),dragger},PreviewSupport.prototype.addFrame=function(shape,group){var frame=(0,_tinySvg.create)("rect",{class:"djs-resize-overlay",width:shape.width,height:shape.height,x:shape.x,y:shape.y});return(0,_tinySvg.append)(group,frame),frame},PreviewSupport.prototype._cloneMarkers=function(gfx){var self=this;if(gfx.childNodes)for(var i=0;i'+(0,_EscapeUtil.escapeHTML)(t.matched)+"":htmlText+=(0,_EscapeUtil.escapeHTML)(t.normal)}),""!==htmlText?htmlText:null}(tokens),childNode=(0,_minDom.domify)(template);childNode.innerHTML=text,parentNode.appendChild(childNode)}SearchPad.$inject=["canvas","eventBus","overlays","selection"],SearchPad.prototype._bindEvents=function(){var self=this;function listen(el,selector,type,fn){self._eventMaps.push({el:el,type:type,listener:_minDom.delegate.bind(el,selector,type,fn)})}listen(document,"html","click",function(e){self.close()}),listen(this._container,SearchPad.INPUT_SELECTOR,"click",function(e){e.stopPropagation(),e.delegateTarget.focus()}),listen(this._container,SearchPad.RESULT_SELECTOR,"mouseover",function(e){e.stopPropagation(),self._scrollToNode(e.delegateTarget),self._preselect(e.delegateTarget)}),listen(this._container,SearchPad.RESULT_SELECTOR,"click",function(e){e.stopPropagation(),self._select(e.delegateTarget)}),listen(this._container,SearchPad.INPUT_SELECTOR,"keydown",function(e){38===e.keyCode&&e.preventDefault(),40===e.keyCode&&e.preventDefault()}),listen(this._container,SearchPad.INPUT_SELECTOR,"keyup",function(e){if(27===e.keyCode)return self.close();if(13!==e.keyCode)return 38===e.keyCode?self._scrollToDirection(!0):40===e.keyCode?self._scrollToDirection():void(37!==e.keyCode&&39!==e.keyCode&&self._search(e.delegateTarget.value));var selected=self._getCurrentResult();return selected?self._select(selected):self.close()})},SearchPad.prototype._unbindEvents=function(){this._eventMaps.forEach(function(m){_minDom.delegate.unbind(m.el,m.type,m.listener)})},SearchPad.prototype._search=function(pattern){var self=this;if(this._clearResults(),pattern&&""!==pattern){var searchResults=this._searchProvider.find(pattern);if(searchResults.length){searchResults.forEach(function(result){var id=result.element.id,node=self._createResultNode(result,id);self._results[id]={element:result.element,node:node}});var node=(0,_minDom.query)(SearchPad.RESULT_SELECTOR,this._resultsContainer);this._scrollToNode(node),this._preselect(node)}}},SearchPad.prototype._scrollToDirection=function(previous){var selected=this._getCurrentResult();if(selected){var node=previous?selected.previousElementSibling:selected.nextElementSibling;node&&(this._scrollToNode(node),this._preselect(node))}},SearchPad.prototype._scrollToNode=function(node){if(node&&node!==this._getCurrentResult()){var nodeOffset=node.offsetTop,containerScroll=this._resultsContainer.scrollTop,bottomScroll=nodeOffset-this._resultsContainer.clientHeight+node.clientHeight;nodeOffset
'}}((0,_Elements.getBBox)(element));this._overlayId=this._overlays.add(element,overlay)}},SearchPad.CONTAINER_SELECTOR=".djs-search-container",SearchPad.INPUT_SELECTOR=".djs-search-input input",SearchPad.RESULTS_CONTAINER_SELECTOR=".djs-search-results",SearchPad.RESULT_SELECTOR=".djs-search-result",SearchPad.RESULT_SELECTED_SELECTOR="."+(SearchPad.RESULT_SELECTED_CLASS="djs-search-result-selected"),SearchPad.RESULT_ID_ATTRIBUTE="data-result-id",SearchPad.RESULT_HIGHLIGHT_CLASS="djs-search-highlight",SearchPad.OVERLAY_CLASS="djs-search-overlay",SearchPad.BOX_HTML='
',SearchPad.RESULT_HTML='
',SearchPad.RESULT_PRIMARY_HTML='
',SearchPad.RESULT_SECONDARY_HTML='

'},{"../../util/Elements":351,"../../util/EscapeUtil":352,"min-dom":576}],310:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _overlays2=_interopRequireDefault(require("../overlays")),_selection2=_interopRequireDefault(require("../selection")),_SearchPad2=_interopRequireDefault(require("./SearchPad"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_overlays2.default,_selection2.default],searchPad:["type",_SearchPad2.default]}},{"../overlays":292,"../selection":314,"./SearchPad":309}],311:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Selection;var _minDash=require("min-dash");function Selection(eventBus){this._eventBus=eventBus,this._selectedElements=[];var self=this;eventBus.on(["shape.remove","connection.remove"],function(e){var element=e.element;self.deselect(element)}),eventBus.on(["diagram.clear"],function(e){self.select(null)})}Selection.$inject=["eventBus"],Selection.prototype.deselect=function(element){var selectedElements=this._selectedElements,idx=selectedElements.indexOf(element);if(-1!==idx){var oldSelection=selectedElements.slice();selectedElements.splice(idx,1),this._eventBus.fire("selection.changed",{oldSelection:oldSelection,newSelection:selectedElements})}},Selection.prototype.get=function(){return this._selectedElements},Selection.prototype.isSelected=function(element){return-1!==this._selectedElements.indexOf(element)},Selection.prototype.select=function(elements,add){var selectedElements=this._selectedElements,oldSelection=selectedElements.slice();(0,_minDash.isArray)(elements)||(elements=elements?[elements]:[]),add?(0,_minDash.forEach)(elements,function(element){-1===selectedElements.indexOf(element)&&selectedElements.push(element)}):this._selectedElements=selectedElements=elements.slice(),this._eventBus.fire("selection.changed",{oldSelection:oldSelection,newSelection:selectedElements})}},{"min-dash":575}],312:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=SelectionBehavior;var _Mouse=require("../../util/Mouse"),_minDash=require("min-dash");function SelectionBehavior(eventBus,selection,canvas,elementRegistry){eventBus.on("create.end",500,function(e){var context=e.context,canExecute=context.canExecute,elements=context.elements,autoSelect=(context.hints||{}).autoSelect;if(canExecute){if(!1===autoSelect)return;(0,_minDash.isArray)(autoSelect)?selection.select(autoSelect):selection.select(elements.filter(isShown))}}),eventBus.on("connect.end",500,function(e){e.context.canExecute&&e.context.hover&&selection.select(e.context.hover)}),eventBus.on("shape.move.end",500,function(e){var previousSelection=e.previousSelection||[],shape=elementRegistry.get(e.context.shape.id);(0,_minDash.find)(previousSelection,function(selectedShape){return shape.id===selectedShape.id})||selection.select(shape)}),eventBus.on("element.click",function(event){var element=event.element;element===canvas.getRootElement()&&(element=null);var isSelected=selection.isSelected(element),isMultiSelect=1abs(event.dy)?"x":"y",delta=event["d"+axis],start=event[axis]-delta;if(abs(delta)<5)return!1;delta<0&&(delta*=-1),(0,_Mouse.hasPrimaryModifier)(event)&&(delta*=-1);var direction=(0,_SpaceUtil.getDirection)(axis,delta),root=this._canvas.getRootElement(),children=(0,_Elements.selfAndAllChildren)(root,!0),elements=this.calculateAdjustments(children,axis,delta,start),spaceToolConstraints=function(elements,axis,direction,start,minDimensions){var movingShapes=elements.movingShapes,resizingShapes=elements.resizingShapes;if(!resizingShapes.length)return;var min,max,spaceToolConstraints={};return(0,_minDash.forEach)(resizingShapes,function(resizingShape){var minOrMax,nonMovingResizingChildrenBBox,movingChildrenBBox,resizingShapeBBox=(0,_LayoutUtil.asTRBL)(resizingShape),nonMovingResizingChildren=(0,_minDash.filter)(resizingShape.children,function(child){return!(isConnection(child)||isLabel(child)||includes(movingShapes,child)||includes(resizingShapes,child))}),movingChildren=(0,_minDash.filter)(resizingShape.children,function(child){return!isConnection(child)&&!isLabel(child)&&includes(movingShapes,child)});nonMovingResizingChildren.length&&(nonMovingResizingChildrenBBox=addPadding((0,_LayoutUtil.asTRBL)((0,_Elements.getBBox)(nonMovingResizingChildren))),minOrMax=start-resizingShapeBBox[DIRECTION_TO_TRBL[direction]]+nonMovingResizingChildrenBBox[DIRECTION_TO_TRBL[direction]],"n"===direction?spaceToolConstraints.bottom=max=(0,_minDash.isNumber)(max)?Math.min(max,minOrMax):minOrMax:"w"===direction?spaceToolConstraints.right=max=(0,_minDash.isNumber)(max)?Math.min(max,minOrMax):minOrMax:"s"===direction?spaceToolConstraints.top=min=(0,_minDash.isNumber)(min)?Math.max(min,minOrMax):minOrMax:"e"===direction&&(spaceToolConstraints.left=min=(0,_minDash.isNumber)(min)?Math.max(min,minOrMax):minOrMax)),movingChildren.length&&(movingChildrenBBox=addPadding((0,_LayoutUtil.asTRBL)((0,_Elements.getBBox)(movingChildren))),minOrMax=start-movingChildrenBBox[DIRECTION_TO_TRBL[DIRECTION_TO_OPPOSITE[direction]]]+resizingShapeBBox[DIRECTION_TO_TRBL[DIRECTION_TO_OPPOSITE[direction]]],"n"===direction?spaceToolConstraints.bottom=max=(0,_minDash.isNumber)(max)?Math.min(max,minOrMax):minOrMax:"w"===direction?spaceToolConstraints.right=max=(0,_minDash.isNumber)(max)?Math.min(max,minOrMax):minOrMax:"s"===direction?spaceToolConstraints.top=min=(0,_minDash.isNumber)(min)?Math.max(min,minOrMax):minOrMax:"e"===direction&&(spaceToolConstraints.left=min=(0,_minDash.isNumber)(min)?Math.max(min,minOrMax):minOrMax));var resizingShapeMinDimensions=minDimensions&&minDimensions[resizingShape.id];resizingShapeMinDimensions&&("n"===direction?(minOrMax=start+resizingShape[AXIS_TO_DIMENSION[axis]]-resizingShapeMinDimensions[AXIS_TO_DIMENSION[axis]],spaceToolConstraints.bottom=max=(0,_minDash.isNumber)(max)?Math.min(max,minOrMax):minOrMax):"w"===direction?(minOrMax=start+resizingShape[AXIS_TO_DIMENSION[axis]]-resizingShapeMinDimensions[AXIS_TO_DIMENSION[axis]],spaceToolConstraints.right=max=(0,_minDash.isNumber)(max)?Math.min(max,minOrMax):minOrMax):"s"===direction?(minOrMax=start-resizingShape[AXIS_TO_DIMENSION[axis]]+resizingShapeMinDimensions[AXIS_TO_DIMENSION[axis]],spaceToolConstraints.top=min=(0,_minDash.isNumber)(min)?Math.max(min,minOrMax):minOrMax):"e"===direction&&(minOrMax=start-resizingShape[AXIS_TO_DIMENSION[axis]]+resizingShapeMinDimensions[AXIS_TO_DIMENSION[axis]],spaceToolConstraints.left=min=(0,_minDash.isNumber)(min)?Math.max(min,minOrMax):minOrMax))}),spaceToolConstraints}(elements,axis,direction,start,this._eventBus.fire("spaceTool.getMinDimensions",{axis:axis,direction:direction,shapes:elements.resizingShapes,start:start}));return(0,_minDash.assign)(context,elements,{axis:axis,direction:direction,spaceToolConstraints:spaceToolConstraints,start:start}),(0,_Cursor.set)("resize-"+("x"==axis?"ew":"ns")),!0},SpaceTool.prototype.calculateAdjustments=function(elements,axis,delta,start){var rules=this._rules,movingShapes=[],resizingShapes=[];return(0,_minDash.forEach)(elements,function(element){if(element.parent&&!isConnection(element)){var shapeStart=element[axis],shapeEnd=shapeStart+element[AXIS_TO_DIMENSION[axis]];return 0');return parentNode.insertBefore(root,parentNode.firstChild),root}(canvas.getContainer());var self=this;_minDom.delegate.bind(this._tooltipRoot,tooltipSelector,"mousedown",function(event){event.stopPropagation()}),_minDom.delegate.bind(this._tooltipRoot,tooltipSelector,"mouseover",function(event){self.trigger("mouseover",event)}),_minDom.delegate.bind(this._tooltipRoot,tooltipSelector,"mouseout",function(event){self.trigger("mouseout",event)}),this._init()}Tooltips.$inject=["eventBus","canvas"],Tooltips.prototype.add=function(tooltip){if(!tooltip.position)throw new Error("must specifiy tooltip position");if(!tooltip.html)throw new Error("must specifiy tooltip html");var id=this._ids.next();return tooltip=(0,_minDash.assign)({},this._tooltipDefaults,tooltip,{id:id}),this._addTooltip(tooltip),tooltip.timeout&&this.setTimeout(tooltip),id},Tooltips.prototype.trigger=function(action,event){var node=event.delegateTarget||event.target,tooltip=this.get((0,_minDom.attr)(node,"data-tooltip-id"));tooltip&&("mouseover"===action&&tooltip.timeout&&this.clearTimeout(tooltip),"mouseout"===action&&tooltip.timeout&&(tooltip.timeout=1e3,this.setTimeout(tooltip)))},Tooltips.prototype.get=function(id){return"string"!=typeof id&&(id=id.id),this._tooltips[id]},Tooltips.prototype.clearTimeout=function(tooltip){if(tooltip=this.get(tooltip)){var removeTimer=tooltip.removeTimer;removeTimer&&(clearTimeout(removeTimer),tooltip.removeTimer=null)}},Tooltips.prototype.setTimeout=function(tooltip){if(tooltip=this.get(tooltip)){this.clearTimeout(tooltip);var self=this;tooltip.removeTimer=setTimeout(function(){self.remove(tooltip)},tooltip.timeout)}},Tooltips.prototype.remove=function(id){var tooltip=this.get(id);tooltip&&((0,_minDom.remove)(tooltip.html),(0,_minDom.remove)(tooltip.htmlContainer),delete tooltip.htmlContainer,delete this._tooltips[tooltip.id])},Tooltips.prototype.show=function(){setVisible(this._tooltipRoot)},Tooltips.prototype.hide=function(){setVisible(this._tooltipRoot,!1)},Tooltips.prototype._updateRoot=function(viewbox){var a=viewbox.scale||1,d=viewbox.scale||1,matrix="matrix("+a+",0,0,"+d+","+-1*viewbox.x*a+","+-1*viewbox.y*d+")";this._tooltipRoot.style.transform=matrix,this._tooltipRoot.style["-ms-transform"]=matrix},Tooltips.prototype._addTooltip=function(tooltip){var htmlContainer,id=tooltip.id,html=tooltip.html,tooltipRoot=this._tooltipRoot;html.get&&html.constructor.prototype.jquery&&(html=html.get(0)),(0,_minDash.isString)(html)&&(html=(0,_minDom.domify)(html)),(htmlContainer=(0,_minDom.domify)('
')).appendChild(html),tooltip.type&&(0,_minDom.classes)(htmlContainer).add("djs-tooltip-"+tooltip.type),tooltip.className&&(0,_minDom.classes)(htmlContainer).add(tooltip.className),tooltip.htmlContainer=htmlContainer,tooltipRoot.appendChild(htmlContainer),this._tooltips[id]=tooltip,this._updateTooltip(tooltip)},Tooltips.prototype._updateTooltip=function(tooltip){var position=tooltip.position;!function(el,x,y){(0,_minDash.assign)(el.style,{left:x+"px",top:y+"px"})}(tooltip.htmlContainer,position.x,position.y)},Tooltips.prototype._updateTooltipVisibilty=function(viewbox){(0,_minDash.forEach)(this._tooltips,function(tooltip){var show=tooltip.show,htmlContainer=tooltip.htmlContainer,visible=!0;show&&((show.minZoom>viewbox.scale||show.maxZoom=referenceOrientation.right,bottom=rectOrientation.top-padding.y>=referenceOrientation.bottom,left=rectOrientation.right+padding.x<=referenceOrientation.left,vertical=top?"top":bottom?"bottom":null,horizontal=left?"left":right?"right":null;return horizontal&&vertical?vertical+"-"+horizontal:horizontal||vertical||"intersect"},exports.getElementLineIntersection=function(elementPath,linePath,cropStart){var intersections=getIntersections(elementPath,linePath);{if(1===intersections.length)return roundPoint(intersections[0]);if(2===intersections.length&&(0,_Geometry.pointDistance)(intersections[0],intersections[1])<1)return roundPoint(intersections[0]);if(1: must be specified as : with start/end in { h,v,t,r,b,l }");if(isExplicitDirections(directions)){var startSegment=function(a,b,directions){return getSegmentBendpoints(a,b,directions)}(a,b,directions),endSegment=function(a,b,directions){var invertedSegment=getSegmentBendpoints(b,a,invertDirections(directions));return{waypoints:invertedSegment.waypoints.slice().reverse(),directions:invertDirections(invertedSegment.directions),turnNextDirections:invertedSegment.turnNextDirections}}(a,b,directions),midSegment=function(startSegment,endSegment){var startDirection=startSegment.directions.split(":")[1],endDirection=endSegment.directions.split(":")[0];startSegment.turnNextDirections&&(startDirection="h"==startDirection?"v":"h"),endSegment.turnNextDirections&&(endDirection="h"==endDirection?"v":"h");var directions=startDirection+":"+endDirection;return{waypoints:getBendpoints(startSegment.waypoints[startSegment.waypoints.length-1],endSegment.waypoints[0],directions),directions:directions}}(startSegment,endSegment);return[].concat(startSegment.waypoints,midSegment.waypoints,endSegment.waypoints)}return function(a,b,directions){var xmid=round((b.x-a.x)/2+a.x),ymid=round((b.y-a.y)/2+a.y);if("h:v"===directions)return[{x:b.x,y:a.y}];if("v:h"===directions)return[{x:a.x,y:b.y}];if("h:h"===directions)return[{x:xmid,y:a.y},{x:xmid,y:b.y}];if("v:v"===directions)return[{x:a.x,y:ymid},{x:b.x,y:ymid}];throw new Error("invalid directions: can only handle varians of [hv]:[hv]")}(a,b,directions)}function connectPoints(a,b,directions){var points=getBendpoints(a,b,directions);return points.unshift(a),points.push(b),withoutRedundantPoints(points)}function connectRectangles(source,target,start,end,hints){var preferredLayouts=hints&&hints.preferredLayouts||[],preferredLayout=(0,_minDash.without)(preferredLayouts,"straight")[0]||"h:h",threshold=ORIENTATION_THRESHOLD[preferredLayout]||0,orientation=(0,_LayoutUtil.getOrientation)(source,target,threshold),directions=function(orientation,defaultLayout){if(isExplicitDirections(defaultLayout))return defaultLayout;switch(orientation){case"intersect":return"t:t";case"top":case"bottom":return"v:v";case"left":case"right":return"h:h";default:return defaultLayout}}(orientation,preferredLayout);start=start||(0,_LayoutUtil.getMid)(source),end=end||(0,_LayoutUtil.getMid)(target);var directionSplit=directions.split(":");return connectPoints(getDockingPoint(start,source,directionSplit[0],function(orientation){return{top:"bottom",bottom:"top",left:"right",right:"left","top-left":"bottom-right","bottom-right":"top-left","top-right":"bottom-left","bottom-left":"top-right"}[orientation]}(orientation)),getDockingPoint(end,target,directionSplit[1],orientation),directions)}function isInRange(axis,a,b){return function(a,start,end){return start<=a&&a<=end}(a[axis],b[axis],b[axis]+b[{x:"width",y:"height"}[axis]])}function tryLayoutStraight(source,target,start,end,hints){var primaryAxis,orientation,axis={};return orientation=(0,_LayoutUtil.getOrientation)(source,target),/^(top|bottom|left|right)$/.test(orientation)?(/top|bottom/.test(orientation)&&(primaryAxis="x"),/left|right/.test(orientation)&&(primaryAxis="y"),"target"===hints.preserveDocking?isInRange(primaryAxis,end,source)?(axis[primaryAxis]=end[primaryAxis],[{x:void 0!==axis.x?axis.x:start.x,y:void 0!==axis.y?axis.y:start.y,original:{x:void 0!==axis.x?axis.x:start.x,y:void 0!==axis.y?axis.y:start.y}},{x:end.x,y:end.y}]):null:isInRange(primaryAxis,start,target)?(axis[primaryAxis]=start[primaryAxis],[{x:start.x,y:start.y},{x:void 0!==axis.x?axis.x:end.x,y:void 0!==axis.y?axis.y:end.y,original:{x:void 0!==axis.x?axis.x:end.x,y:void 0!==axis.y?axis.y:end.y}}]):null):null}function _tryRepairConnectionSide(moved,other,newDocking,points){if(function(points){return points.length<3||!(4")}function withoutRedundantPoints(waypoints){return waypoints.reduce(function(points,p,idx){var previous=points[points.length-1],next=waypoints[idx+1];return(0,_Geometry.pointsOnLine)(previous,next,p,0)||points.push(p),points},[])}},{"../util/Geometry":354,"./LayoutUtil":336,"min-dash":575}],338:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Base=Base,exports.Shape=Shape,exports.Root=Root,exports.Label=Label,exports.Connection=Connection,exports.create=function(type,attrs){var Type=types[type];if(Type)return(0,_minDash.assign)(new Type,attrs);throw new Error("unknown type: <"+type+">")};var _minDash=require("min-dash"),_inherits2=_interopRequireDefault(require("inherits")),_objectRefs2=_interopRequireDefault(require("object-refs"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var parentRefs=new _objectRefs2.default({name:"children",enumerable:!0,collection:!0},{name:"parent"}),labelRefs=new _objectRefs2.default({name:"labels",enumerable:!0,collection:!0},{name:"labelTarget"}),attacherRefs=new _objectRefs2.default({name:"attachers",collection:!0},{name:"host"}),outgoingRefs=new _objectRefs2.default({name:"outgoing",collection:!0},{name:"source"}),incomingRefs=new _objectRefs2.default({name:"incoming",collection:!0},{name:"target"});function Base(){Object.defineProperty(this,"businessObject",{writable:!0}),Object.defineProperty(this,"label",{get:function(){return this.labels[0]},set:function(newLabel){var label=this.label,labels=this.labels;!newLabel&&label?labels.remove(label):labels.add(newLabel,0)}}),parentRefs.bind(this,"parent"),labelRefs.bind(this,"labels"),outgoingRefs.bind(this,"outgoing"),incomingRefs.bind(this,"incoming")}function Shape(){Base.call(this),parentRefs.bind(this,"children"),attacherRefs.bind(this,"host"),attacherRefs.bind(this,"attachers")}function Root(){Shape.call(this)}function Label(){Shape.call(this),labelRefs.bind(this,"labelTarget")}function Connection(){Base.call(this),outgoingRefs.bind(this,"source"),incomingRefs.bind(this,"target")}(0,_inherits2.default)(Shape,Base),(0,_inherits2.default)(Root,Shape),(0,_inherits2.default)(Label,Shape),(0,_inherits2.default)(Connection,Base);var types={connection:Connection,shape:Shape,label:Label,root:Root}},{inherits:369,"min-dash":575,"object-refs":580}],339:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=KeyboardMove;var _minDash=require("min-dash"),DEFAULT_CONFIG={moveSpeed:50,moveSpeedAccelerated:200};function KeyboardMove(config,keyboard,canvas){var self=this;this._config=(0,_minDash.assign)({},DEFAULT_CONFIG,config||{}),keyboard.addListener(function(context){var event=context.keyEvent,config=self._config;if(!keyboard.isCmd(event))return;if(keyboard.isKey(["ArrowLeft","Left","ArrowUp","Up","ArrowDown","Down","ArrowRight","Right"],event)){var direction,speed=keyboard.isShift(event)?config.moveSpeedAccelerated:config.moveSpeed;switch(event.key){case"ArrowLeft":case"Left":direction="left";break;case"ArrowUp":case"Up":direction="up";break;case"ArrowRight":case"Right":direction="right";break;case"ArrowDown":case"Down":direction="down"}return self.moveCanvas({speed:speed,direction:direction}),!0}}),this.moveCanvas=function(opts){var dx=0,dy=0,actualSpeed=opts.speed/Math.min(Math.sqrt(canvas.viewbox().scale),1);switch(opts.direction){case"left":dx=actualSpeed;break;case"up":dy=actualSpeed;break;case"right":dx=-actualSpeed;break;case"down":dy=-actualSpeed}canvas.scroll({dx:dx,dy:dy})}}KeyboardMove.$inject=["config.keyboardMove","keyboard","canvas"]},{"min-dash":575}],340:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _keyboard2=_interopRequireDefault(require("../../features/keyboard")),_KeyboardMove2=_interopRequireDefault(require("./KeyboardMove"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={__depends__:[_keyboard2.default],__init__:["keyboardMove"],keyboardMove:["type",_KeyboardMove2.default]}},{"../../features/keyboard":253,"./KeyboardMove":339}],341:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=MoveCanvas;var _Cursor=require("../../util/Cursor"),_ClickTrap=require("../../util/ClickTrap"),_PositionUtil=require("../../util/PositionUtil"),_minDom=require("min-dom"),_Event=require("../../util/Event"),THRESHOLD=15;function MoveCanvas(eventBus,canvas){var context;function handleMove(event){var start=context.start,position=(0,_Event.toPoint)(event),delta=(0,_PositionUtil.delta)(position,start);if(!context.dragging&&function(point){return Math.sqrt(Math.pow(point.x,2)+Math.pow(point.y,2))}(delta)>THRESHOLD&&(context.dragging=!0,(0,_ClickTrap.install)(eventBus),(0,_Cursor.set)("grab")),context.dragging){var lastPosition=context.last||context.start;delta=(0,_PositionUtil.delta)(position,lastPosition),canvas.scroll({dx:delta.x,dy:delta.y}),context.last=position}event.preventDefault()}function handleEnd(event){_minDom.event.unbind(document,"mousemove",handleMove),_minDom.event.unbind(document,"mouseup",handleEnd),context=null,(0,_Cursor.unset)()}eventBus.on("element.mousedown",500,function(e){return function(event){if((0,_minDom.closest)(event.target,".djs-draggable"))return;if(event.button||event.ctrlKey||event.shiftKey||event.altKey)return;return context={start:(0,_Event.toPoint)(event)},_minDom.event.bind(document,"mousemove",handleMove),_minDom.event.bind(document,"mouseup",handleEnd),!0}(e.originalEvent)})}MoveCanvas.$inject=["eventBus","canvas"]},{"../../util/ClickTrap":348,"../../util/Cursor":350,"../../util/Event":353,"../../util/PositionUtil":361,"min-dom":576}],342:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_MoveCanvas=require("./MoveCanvas"),_MoveCanvas2=(obj=_MoveCanvas)&&obj.__esModule?obj:{default:obj};exports.default={__init__:["moveCanvas"],moveCanvas:["type",_MoveCanvas2.default]}},{"./MoveCanvas":341}],343:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_touch=require("../../features/touch"),_touch2=(obj=_touch)&&obj.__esModule?obj:{default:obj};exports.default={__depends__:[_touch2.default]}},{"../../features/touch":331}],344:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ZoomScroll;var _minDom=require("min-dom"),_ZoomUtil=require("./ZoomUtil"),_Math=require("../../util/Math"),_minDash=require("min-dash"),sign=Math.sign||function(n){return 0<=n?1:-1},RANGE={min:.2,max:4},DEFAULT_SCALE=.75;function ZoomScroll(config,eventBus,canvas){config=config||{},this._enabled=!1,this._canvas=canvas,this._container=canvas._container,this._handleWheel=(0,_minDash.bind)(this._handleWheel,this),this._totalDelta=0,this._scale=config.scale||DEFAULT_SCALE;var self=this;eventBus.on("canvas.init",function(e){self._init(!1!==config.enabled)})}ZoomScroll.$inject=["config.zoomScroll","eventBus","canvas"],ZoomScroll.prototype.scroll=function(delta){this._canvas.scroll(delta)},ZoomScroll.prototype.reset=function(){this._canvas.zoom("fit-viewport")},ZoomScroll.prototype.zoom=function(delta,position){var stepSize=(0,_ZoomUtil.getStepSize)(RANGE,20);this._totalDelta+=delta,.1bbox.x&&(filteredElements[element.id]=element),!(0,_minDash.isNumber)(bbox.x)&&e.y>bbox.y&&(filteredElements[element.id]=element),e.x>bbox.x&&e.y>bbox.y&&((0,_minDash.isNumber)(bbox.width)&&(0,_minDash.isNumber)(bbox.height)&&e.width+e.x"']/g,function(match){return HTML_ESCAPE_MAP[match]})};var HTML_ESCAPE_MAP={"&":"&","<":"<",">":">",'"':""","'":"'"}},{"css.escape":175}],353:[function(require,module,exports){"use strict";function __stopPropagation(event){event&&"function"==typeof event.stopPropagation&&event.stopPropagation()}function getOriginal(event){return event.originalEvent||event.srcEvent}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getOriginal=getOriginal,exports.stopPropagation=function(event,immediate){__stopPropagation(event),__stopPropagation(getOriginal(event))},exports.toPoint=function(event){event.pointers&&event.pointers.length&&(event=event.pointers[0]);event.touches&&event.touches.length&&(event=event.touches[0]);return event?{x:event.clientX,y:event.clientY}:null}},{}],354:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.pointDistance=pointDistance,exports.pointsOnLine=function(p,q,r,accuracy){void 0===accuracy&&(accuracy=5);if(!p||!q||!r)return!1;var val=(q.x-p.x)*(r.y-p.y)-(q.y-p.y)*(r.x-p.x),dist=pointDistance(p,q);return Math.abs(val/dist)<=accuracy},exports.pointsAligned=function(a,b){var points;points=(0,_minDash.isArray)(a)?a:[a,b];if(pointsAlignedHorizontally(points))return"h";if(pointsAlignedVertically(points))return"v";return!1},exports.pointsAlignedHorizontally=pointsAlignedHorizontally,exports.pointsAlignedVertically=pointsAlignedVertically,exports.pointInRect=function(p,rect,tolerance){return tolerance=tolerance||0,p.x>rect.x-tolerance&&p.y>rect.y-tolerance&&p.xsum?line.width:sum},0),y=padding.top;"middle"===align.vertical&&(y+=(box.height-totalHeight)/2),y-=(lineHeight||layouted[0].height)/4;var textElement=(0,_tinySvg.create)("text");return(0,_tinySvg.attr)(textElement,style),(0,_minDash.forEach)(layouted,function(line){var x;switch(y+=lineHeight||line.height,align.horizontal){case"left":x=padding.left;break;case"right":x=(fitBox?maxLineWidth:maxWidth)-padding.right-line.width;break;default:x=Math.max(((fitBox?maxLineWidth:maxWidth)-line.width)/2+padding.left,0)}var tspan=(0,_tinySvg.create)("tspan");(0,_tinySvg.attr)(tspan,{x:x,y:y}),tspan.textContent=line.text,(0,_tinySvg.append)(textElement,tspan)}),(0,_tinySvg.remove)(helperText),{dimensions:{width:maxLineWidth,height:totalHeight},element:textElement}}},{"min-dash":575,"tiny-svg":587}],366:[function(require,module,exports){"use strict";var _typeof2="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var CLASS_PATTERN=/^class /;function isArray(obj){return"[object Array]"===Object.prototype.toString.call(obj)}function annotate(){var args=Array.prototype.slice.call(arguments);1===args.length&&isArray(args[0])&&(args=args[0]);var fn=args.pop();return fn.$inject=args,fn}var CONSTRUCTOR_ARGS=/constructor\s*[^(]*\(\s*([^)]*)\)/m,FN_ARGS=/^function\s*[^(]*\(\s*([^)]*)\)/m,FN_ARG=/\/\*([^*]*)\*\//m;function parse(fn){if("function"!=typeof fn)throw new Error('Cannot annotate "'+fn+'". Expected a function!');var match=fn.toString().match(function(fn){return CLASS_PATTERN.test(fn.toString())}(fn)?CONSTRUCTOR_ARGS:FN_ARGS);return match&&match[1]&&match[1].split(",").map(function(arg){return(match=arg.match(FN_ARG))?match[1].trim():arg.trim()})||[]}function Module(){var providers=[];this.factory=function(name,factory){return providers.push([name,"factory",factory]),this},this.value=function(name,value){return providers.push([name,"value",value]),this},this.type=function(name,type){return providers.push([name,"type",type]),this},this.forEach=function(iterator){providers.forEach(iterator)}}var _typeof="function"==typeof Symbol&&"symbol"===_typeof2(Symbol.iterator)?function(obj){return void 0===obj?"undefined":_typeof2(obj)}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":void 0===obj?"undefined":_typeof2(obj)};function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i ");return currentlyResolving.length=0,new Error(stack?msg+" (Resolving: "+stack+")":msg)},fnDef=function(fn,argument_1){var locals=1\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",log=window.console&&(window.console.warn||window.console.log);return log&&log.call(window.console,deprecationMessage,stack),method.apply(this,arguments)}}assign="function"!=typeof Object.assign?function(target){if(target===undefined||null===target)throw new TypeError("Cannot convert undefined or null to object");for(var output=Object(target),index=1;indexb[key]}):results.sort()),results}function prefixed(obj,property){for(var prefix,prop,camelProp=property[0].toUpperCase()+property.slice(1),i=0;iabs(overallVelocity.y)?overallVelocity.x:overallVelocity.y,input.scale=firstMultiple?function(start,end){return getDistance(end[0],end[1],PROPS_CLIENT_XY)/getDistance(start[0],start[1],PROPS_CLIENT_XY)}(firstMultiple.pointers,pointers):1,input.rotation=firstMultiple?function(start,end){return getAngle(end[1],end[0],PROPS_CLIENT_XY)+getAngle(start[1],start[0],PROPS_CLIENT_XY)}(firstMultiple.pointers,pointers):0,input.maxPointers=session.prevInput?input.pointers.length>session.prevInput.maxPointers?input.pointers.length:session.prevInput.maxPointers:input.pointers.length,function(session,input){var velocity,velocityX,velocityY,direction,last=session.lastInterval||input,deltaTime=input.timeStamp-last.timeStamp;if(input.eventType!=INPUT_CANCEL&&(COMPUTE_INTERVALabs(v.y)?v.x:v.y,direction=getDirection(deltaX,deltaY),session.lastInterval=input}else velocity=last.velocity,velocityX=last.velocityX,velocityY=last.velocityY,direction=last.direction;input.velocity=velocity,input.velocityX=velocityX,input.velocityY=velocityY,input.direction=direction}(session,input);var target=manager.element;hasParent(input.srcEvent.target,target)&&(target=input.srcEvent.target);input.target=target}(manager,input),manager.emit("hammer.input",input),manager.recognize(input),manager.session.prevInput=input}function simpleCloneInputData(input){for(var pointers=[],i=0;i=abs(y)?x<0?DIRECTION_LEFT:DIRECTION_RIGHT:y<0?DIRECTION_UP:DIRECTION_DOWN}function getDistance(p1,p2,props){var x=p2[(props=props||PROPS_XY)[0]]-p1[props[0]],y=p2[props[1]]-p1[props[1]];return Math.sqrt(x*x+y*y)}function getAngle(p1,p2,props){var x=p2[(props=props||PROPS_XY)[0]]-p1[props[0]],y=p2[props[1]]-p1[props[1]];return 180*Math.atan2(y,x)/Math.PI}Input.prototype={handler:function(){},init:function(){this.evEl&&addEventListeners(this.element,this.evEl,this.domHandler),this.evTarget&&addEventListeners(this.target,this.evTarget,this.domHandler),this.evWin&&addEventListeners(getWindowForElement(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&removeEventListeners(this.element,this.evEl,this.domHandler),this.evTarget&&removeEventListeners(this.target,this.evTarget,this.domHandler),this.evWin&&removeEventListeners(getWindowForElement(this.element),this.evWin,this.domHandler)}};var MOUSE_INPUT_MAP={mousedown:INPUT_START,mousemove:2,mouseup:INPUT_END},MOUSE_ELEMENT_EVENTS="mousedown",MOUSE_WINDOW_EVENTS="mousemove mouseup";function MouseInput(){this.evEl=MOUSE_ELEMENT_EVENTS,this.evWin=MOUSE_WINDOW_EVENTS,this.pressed=!1,Input.apply(this,arguments)}inherit(MouseInput,Input,{handler:function(ev){var eventType=MOUSE_INPUT_MAP[ev.type];eventType&INPUT_START&&0===ev.button&&(this.pressed=!0),2&eventType&&1!==ev.which&&(eventType=INPUT_END),this.pressed&&(eventType&INPUT_END&&(this.pressed=!1),this.callback(this.manager,eventType,{pointers:[ev],changedPointers:[ev],pointerType:"mouse",srcEvent:ev}))}});var POINTER_INPUT_MAP={pointerdown:INPUT_START,pointermove:2,pointerup:INPUT_END,pointercancel:INPUT_CANCEL,pointerout:INPUT_CANCEL},IE10_POINTER_TYPE_ENUM={2:"touch",3:"pen",4:"mouse",5:"kinect"},POINTER_ELEMENT_EVENTS="pointerdown",POINTER_WINDOW_EVENTS="pointermove pointerup pointercancel";function PointerEventInput(){this.evEl=POINTER_ELEMENT_EVENTS,this.evWin=POINTER_WINDOW_EVENTS,Input.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}window.MSPointerEvent&&!window.PointerEvent&&(POINTER_ELEMENT_EVENTS="MSPointerDown",POINTER_WINDOW_EVENTS="MSPointerMove MSPointerUp MSPointerCancel"),inherit(PointerEventInput,Input,{handler:function(ev){var store=this.store,removePointer=!1,eventTypeNormalized=ev.type.toLowerCase().replace("ms",""),eventType=POINTER_INPUT_MAP[eventTypeNormalized],pointerType=IE10_POINTER_TYPE_ENUM[ev.pointerType]||ev.pointerType,isTouch="touch"==pointerType,storeIndex=inArray(store,ev.pointerId,"pointerId");eventType&INPUT_START&&(0===ev.button||isTouch)?storeIndex<0&&(store.push(ev),storeIndex=store.length-1):eventType&(INPUT_END|INPUT_CANCEL)&&(removePointer=!0),storeIndex<0||(store[storeIndex]=ev,this.callback(this.manager,eventType,{pointers:store,changedPointers:[ev],pointerType:pointerType,srcEvent:ev}),removePointer&&store.splice(storeIndex,1))}});var SINGLE_TOUCH_INPUT_MAP={touchstart:INPUT_START,touchmove:2,touchend:INPUT_END,touchcancel:INPUT_CANCEL};function SingleTouchInput(){this.evTarget="touchstart",this.evWin="touchstart touchmove touchend touchcancel",this.started=!1,Input.apply(this,arguments)}inherit(SingleTouchInput,Input,{handler:function(ev){var type=SINGLE_TOUCH_INPUT_MAP[ev.type];if(type===INPUT_START&&(this.started=!0),this.started){var touches=function(ev,type){var all=toArray(ev.touches),changed=toArray(ev.changedTouches);type&(INPUT_END|INPUT_CANCEL)&&(all=uniqueArray(all.concat(changed),"identifier",!0));return[all,changed]}.call(this,ev,type);type&(INPUT_END|INPUT_CANCEL)&&touches[0].length-touches[1].length==0&&(this.started=!1),this.callback(this.manager,type,{pointers:touches[0],changedPointers:touches[1],pointerType:"touch",srcEvent:ev})}}});var TOUCH_INPUT_MAP={touchstart:INPUT_START,touchmove:2,touchend:INPUT_END,touchcancel:INPUT_CANCEL},TOUCH_TARGET_EVENTS="touchstart touchmove touchend touchcancel";function TouchInput(){this.evTarget=TOUCH_TARGET_EVENTS,this.targetIds={},Input.apply(this,arguments)}inherit(TouchInput,Input,{handler:function(ev){var type=TOUCH_INPUT_MAP[ev.type],touches=function(ev,type){var allTouches=toArray(ev.touches),targetIds=this.targetIds;if(type&(2|INPUT_START)&&1===allTouches.length)return targetIds[allTouches[0].identifier]=!0,[allTouches,allTouches];var i,targetTouches,changedTouches=toArray(ev.changedTouches),changedTargetTouches=[],target=this.target;if(targetTouches=allTouches.filter(function(touch){return hasParent(touch.target,target)}),type===INPUT_START)for(i=0;ioptions.threshold&&direction&options.direction},attrTest:function(input){return AttrRecognizer.prototype.attrTest.call(this,input)&&(2&this.state||!(2&this.state)&&this.directionTest(input))},emit:function(input){this.pX=input.deltaX,this.pY=input.deltaY;var direction=directionStr(input.direction);direction&&(input.additionalEvent=this.options.event+direction),this._super.emit.call(this,input)}}),inherit(PinchRecognizer,AttrRecognizer,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(input){return this._super.attrTest.call(this,input)&&(Math.abs(input.scale-1)>this.options.threshold||2&this.state)},emit:function(input){if(1!==input.scale){var inOut=input.scale<1?"in":"out";input.additionalEvent=this.options.event+inOut}this._super.emit.call(this,input)}}),inherit(PressRecognizer,Recognizer,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(input){var options=this.options,validPointers=input.pointers.length===options.pointers,validMovement=input.distanceoptions.time;if(this._input=input,!validMovement||!validPointers||input.eventType&(INPUT_END|INPUT_CANCEL)&&!validTime)this.reset();else if(input.eventType&INPUT_START)this.reset(),this._timer=setTimeoutContext(function(){this.state=8,this.tryEmit()},options.time,this);else if(input.eventType&INPUT_END)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(input){8===this.state&&(input&&input.eventType&INPUT_END?this.manager.emit(this.options.event+"up",input):(this._input.timeStamp=now(),this.manager.emit(this.options.event,this._input)))}}),inherit(RotateRecognizer,AttrRecognizer,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(input){return this._super.attrTest.call(this,input)&&(Math.abs(input.rotation)>this.options.threshold||2&this.state)}}),inherit(SwipeRecognizer,AttrRecognizer,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:DIRECTION_HORIZONTAL|DIRECTION_VERTICAL,pointers:1},getTouchAction:function(){return PanRecognizer.prototype.getTouchAction.call(this)},attrTest:function(input){var velocity,direction=this.options.direction;return direction&(DIRECTION_HORIZONTAL|DIRECTION_VERTICAL)?velocity=input.overallVelocity:direction&DIRECTION_HORIZONTAL?velocity=input.overallVelocityX:direction&DIRECTION_VERTICAL&&(velocity=input.overallVelocityY),this._super.attrTest.call(this,input)&&direction&input.offsetDirection&&input.distance>this.options.threshold&&input.maxPointers==this.options.pointers&&abs(velocity)>this.options.velocity&&input.eventType&INPUT_END},emit:function(input){var direction=directionStr(input.offsetDirection);direction&&this.manager.emit(this.options.event+direction,input),this.manager.emit(this.options.event,input)}}),inherit(TapRecognizer,Recognizer,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return["manipulation"]},process:function(input){var options=this.options,validPointers=input.pointers.length===options.pointers,validMovement=input.distance=Math.pow(2,bits)?hat(bits,base):res};hat.rack=function(bits,base,expandBy){var fn=function(data){var iters=0;do{if(10+~]|"+whitespace+")"+whitespace+"*"),rdescend=new RegExp(whitespace+"|>"),rpseudo=new RegExp(pseudos),ridentifier=new RegExp("^"+identifier+"$"),matchExpr={ID:new RegExp("^#("+identifier+")"),CLASS:new RegExp("^\\.("+identifier+")"),TAG:new RegExp("^("+identifier+"|[*])"),ATTR:new RegExp("^"+attributes),PSEUDO:new RegExp("^"+pseudos),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),bool:new RegExp("^(?:"+booleans+")$","i"),needsContext:new RegExp("^"+whitespace+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")},rhtml=/HTML$/i,rinputs=/^(?:input|select|textarea|button)$/i,rheader=/^h\d$/i,rnative=/^[^{]+\{\s*\[native \w/,rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,rsibling=/[+~]/,runescape=new RegExp("\\\\[\\da-fA-F]{1,6}"+whitespace+"?|\\\\([^\\r\\n\\f])","g"),funescape=function(escape,nonHex){var high="0x"+escape.slice(1)-65536;return nonHex||(high<0?String.fromCharCode(65536+high):String.fromCharCode(high>>10|55296,1023&high|56320))},rcssescape=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,fcssescape=function(ch,asCodePoint){return asCodePoint?"\0"===ch?"�":ch.slice(0,-1)+"\\"+ch.charCodeAt(ch.length-1).toString(16)+" ":"\\"+ch},unloadHandler=function(){setDocument()},inDisabledFieldset=addCombinator(function(elem){return!0===elem.disabled&&"fieldset"===elem.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{push.apply(arr=slice.call(preferredDoc.childNodes),preferredDoc.childNodes),arr[preferredDoc.childNodes.length].nodeType}catch(e){push={apply:arr.length?function(target,els){pushNative.apply(target,slice.call(els))}:function(target,els){for(var j=target.length,i=0;target[j++]=els[i++];);target.length=j-1}}}function Sizzle(selector,context,results,seed){var m,i,elem,nid,match,groups,newSelector,newContext=context&&context.ownerDocument,nodeType=context?context.nodeType:9;if(results=results||[],"string"!=typeof selector||!selector||1!==nodeType&&9!==nodeType&&11!==nodeType)return results;if(!seed&&(setDocument(context),context=context||document,documentIsHTML)){if(11!==nodeType&&(match=rquickExpr.exec(selector)))if(m=match[1]){if(9===nodeType){if(!(elem=context.getElementById(m)))return results;if(elem.id===m)return results.push(elem),results}else if(newContext&&(elem=newContext.getElementById(m))&&contains(context,elem)&&elem.id===m)return results.push(elem),results}else{if(match[2])return push.apply(results,context.getElementsByTagName(selector)),results;if((m=match[3])&&support.getElementsByClassName&&context.getElementsByClassName)return push.apply(results,context.getElementsByClassName(m)),results}if(support.qsa&&!nonnativeSelectorCache[selector+" "]&&(!rbuggyQSA||!rbuggyQSA.test(selector))&&(1!==nodeType||"object"!==context.nodeName.toLowerCase())){if(newSelector=selector,newContext=context,1===nodeType&&(rdescend.test(selector)||rcombinators.test(selector))){for((newContext=rsibling.test(selector)&&testContext(context.parentNode)||context)===context&&support.scope||((nid=context.getAttribute("id"))?nid=nid.replace(rcssescape,fcssescape):context.setAttribute("id",nid=expando)),i=(groups=tokenize(selector)).length;i--;)groups[i]=(nid?"#"+nid:":scope")+" "+toSelector(groups[i]);newSelector=groups.join(",")}try{return push.apply(results,newContext.querySelectorAll(newSelector)),results}catch(qsaError){nonnativeSelectorCache(selector,!0)}finally{nid===expando&&context.removeAttribute("id")}}}return select(selector.replace(rtrim,"$1"),context,results,seed)}function createCache(){var keys=[];return function cache(key,value){return keys.push(key+" ")>Expr.cacheLength&&delete cache[keys.shift()],cache[key+" "]=value}}function markFunction(fn){return fn[expando]=!0,fn}function assert(fn){var el=document.createElement("fieldset");try{return!!fn(el)}catch(e){return!1}finally{el.parentNode&&el.parentNode.removeChild(el),el=null}}function addHandle(attrs,handler){for(var arr=attrs.split("|"),i=arr.length;i--;)Expr.attrHandle[arr[i]]=handler}function siblingCheck(a,b){var cur=b&&a,diff=cur&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(diff)return diff;if(cur)for(;cur=cur.nextSibling;)if(cur===b)return-1;return a?1:-1}function createInputPseudo(type){return function(elem){return"input"===elem.nodeName.toLowerCase()&&elem.type===type}}function createButtonPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return("input"===name||"button"===name)&&elem.type===type}}function createDisabledPseudo(disabled){return function(elem){return"form"in elem?elem.parentNode&&!1===elem.disabled?"label"in elem?"label"in elem.parentNode?elem.parentNode.disabled===disabled:elem.disabled===disabled:elem.isDisabled===disabled||elem.isDisabled!==!disabled&&inDisabledFieldset(elem)===disabled:elem.disabled===disabled:"label"in elem&&elem.disabled===disabled}}function createPositionalPseudo(fn){return markFunction(function(argument){return argument=+argument,markFunction(function(seed,matches){for(var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;i--;)seed[j=matchIndexes[i]]&&(seed[j]=!(matches[j]=seed[j]))})})}function testContext(context){return context&&void 0!==context.getElementsByTagName&&context}for(i in support=Sizzle.support={},isXML=Sizzle.isXML=function(elem){var namespace=elem.namespaceURI,docElem=(elem.ownerDocument||elem).documentElement;return!rhtml.test(namespace||docElem&&docElem.nodeName||"HTML")},setDocument=Sizzle.setDocument=function(node){var hasCompare,subWindow,doc=node?node.ownerDocument||node:preferredDoc;return doc!=document&&9===doc.nodeType&&doc.documentElement&&(docElem=(document=doc).documentElement,documentIsHTML=!isXML(document),preferredDoc!=document&&(subWindow=document.defaultView)&&subWindow.top!==subWindow&&(subWindow.addEventListener?subWindow.addEventListener("unload",unloadHandler,!1):subWindow.attachEvent&&subWindow.attachEvent("onunload",unloadHandler)),support.scope=assert(function(el){return docElem.appendChild(el).appendChild(document.createElement("div")),void 0!==el.querySelectorAll&&!el.querySelectorAll(":scope fieldset div").length}),support.attributes=assert(function(el){return el.className="i",!el.getAttribute("className")}),support.getElementsByTagName=assert(function(el){return el.appendChild(document.createComment("")),!el.getElementsByTagName("*").length}),support.getElementsByClassName=rnative.test(document.getElementsByClassName),support.getById=assert(function(el){return docElem.appendChild(el).id=expando,!document.getElementsByName||!document.getElementsByName(expando).length}),support.getById?(Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){return elem.getAttribute("id")===attrId}},Expr.find.ID=function(id,context){if(void 0!==context.getElementById&&documentIsHTML){var elem=context.getElementById(id);return elem?[elem]:[]}}):(Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node=void 0!==elem.getAttributeNode&&elem.getAttributeNode("id");return node&&node.value===attrId}},Expr.find.ID=function(id,context){if(void 0!==context.getElementById&&documentIsHTML){var node,i,elems,elem=context.getElementById(id);if(elem){if((node=elem.getAttributeNode("id"))&&node.value===id)return[elem];for(elems=context.getElementsByName(id),i=0;elem=elems[i++];)if((node=elem.getAttributeNode("id"))&&node.value===id)return[elem]}return[]}}),Expr.find.TAG=support.getElementsByTagName?function(tag,context){return void 0!==context.getElementsByTagName?context.getElementsByTagName(tag):support.qsa?context.querySelectorAll(tag):void 0}:function(tag,context){var elem,tmp=[],i=0,results=context.getElementsByTagName(tag);if("*"!==tag)return results;for(;elem=results[i++];)1===elem.nodeType&&tmp.push(elem);return tmp},Expr.find.CLASS=support.getElementsByClassName&&function(className,context){if(void 0!==context.getElementsByClassName&&documentIsHTML)return context.getElementsByClassName(className)},rbuggyMatches=[],rbuggyQSA=[],(support.qsa=rnative.test(document.querySelectorAll))&&(assert(function(el){var input;docElem.appendChild(el).innerHTML="",el.querySelectorAll("[msallowcapture^='']").length&&rbuggyQSA.push("[*^$]="+whitespace+"*(?:''|\"\")"),el.querySelectorAll("[selected]").length||rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")"),el.querySelectorAll("[id~="+expando+"-]").length||rbuggyQSA.push("~="),(input=document.createElement("input")).setAttribute("name",""),el.appendChild(input),el.querySelectorAll("[name='']").length||rbuggyQSA.push("\\["+whitespace+"*name"+whitespace+"*="+whitespace+"*(?:''|\"\")"),el.querySelectorAll(":checked").length||rbuggyQSA.push(":checked"),el.querySelectorAll("a#"+expando+"+*").length||rbuggyQSA.push(".#.+[+~]"),el.querySelectorAll("\\\f"),rbuggyQSA.push("[\\r\\n\\f]")}),assert(function(el){el.innerHTML="";var input=document.createElement("input");input.setAttribute("type","hidden"),el.appendChild(input).setAttribute("name","D"),el.querySelectorAll("[name=d]").length&&rbuggyQSA.push("name"+whitespace+"*[*^$|!~]?="),2!==el.querySelectorAll(":enabled").length&&rbuggyQSA.push(":enabled",":disabled"),docElem.appendChild(el).disabled=!0,2!==el.querySelectorAll(":disabled").length&&rbuggyQSA.push(":enabled",":disabled"),el.querySelectorAll("*,:x"),rbuggyQSA.push(",.*:")})),(support.matchesSelector=rnative.test(matches=docElem.matches||docElem.webkitMatchesSelector||docElem.mozMatchesSelector||docElem.oMatchesSelector||docElem.msMatchesSelector))&&assert(function(el){support.disconnectedMatch=matches.call(el,"*"),matches.call(el,"[s!='']:x"),rbuggyMatches.push("!=",pseudos)}),rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|")),rbuggyMatches=rbuggyMatches.length&&new RegExp(rbuggyMatches.join("|")),hasCompare=rnative.test(docElem.compareDocumentPosition),contains=hasCompare||rnative.test(docElem.contains)?function(a,b){var adown=9===a.nodeType?a.documentElement:a,bup=b&&b.parentNode;return a===bup||!(!bup||1!==bup.nodeType||!(adown.contains?adown.contains(bup):a.compareDocumentPosition&&16&a.compareDocumentPosition(bup)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},sortOrder=hasCompare?function(a,b){if(a===b)return hasDuplicate=!0,0;var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;return compare||(1&(compare=(a.ownerDocument||a)==(b.ownerDocument||b)?a.compareDocumentPosition(b):1)||!support.sortDetached&&b.compareDocumentPosition(a)===compare?a==document||a.ownerDocument==preferredDoc&&contains(preferredDoc,a)?-1:b==document||b.ownerDocument==preferredDoc&&contains(preferredDoc,b)?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0:4&compare?-1:1)}:function(a,b){if(a===b)return hasDuplicate=!0,0;var cur,i=0,aup=a.parentNode,bup=b.parentNode,ap=[a],bp=[b];if(!aup||!bup)return a==document?-1:b==document?1:aup?-1:bup?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0;if(aup===bup)return siblingCheck(a,b);for(cur=a;cur=cur.parentNode;)ap.unshift(cur);for(cur=b;cur=cur.parentNode;)bp.unshift(cur);for(;ap[i]===bp[i];)i++;return i?siblingCheck(ap[i],bp[i]):ap[i]==preferredDoc?-1:bp[i]==preferredDoc?1:0}),document},Sizzle.matches=function(expr,elements){return Sizzle(expr,null,null,elements)},Sizzle.matchesSelector=function(elem,expr){if(setDocument(elem),support.matchesSelector&&documentIsHTML&&!nonnativeSelectorCache[expr+" "]&&(!rbuggyMatches||!rbuggyMatches.test(expr))&&(!rbuggyQSA||!rbuggyQSA.test(expr)))try{var ret=matches.call(elem,expr);if(ret||support.disconnectedMatch||elem.document&&11!==elem.document.nodeType)return ret}catch(e){nonnativeSelectorCache(expr,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(match){return match[1]=match[1].replace(runescape,funescape),match[3]=(match[3]||match[4]||match[5]||"").replace(runescape,funescape),"~="===match[2]&&(match[3]=" "+match[3]+" "),match.slice(0,4)},CHILD:function(match){return match[1]=match[1].toLowerCase(),"nth"===match[1].slice(0,3)?(match[3]||Sizzle.error(match[0]),match[4]=+(match[4]?match[5]+(match[6]||1):2*("even"===match[3]||"odd"===match[3])),match[5]=+(match[7]+match[8]||"odd"===match[3])):match[3]&&Sizzle.error(match[0]),match},PSEUDO:function(match){var excess,unquoted=!match[6]&&match[2];return matchExpr.CHILD.test(match[0])?null:(match[3]?match[2]=match[4]||match[5]||"":unquoted&&rpseudo.test(unquoted)&&(excess=tokenize(unquoted,!0))&&(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)&&(match[0]=match[0].slice(0,excess),match[2]=unquoted.slice(0,excess)),match.slice(0,3))}},filter:{TAG:function(nodeNameSelector){var nodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();return"*"===nodeNameSelector?function(){return!0}:function(elem){return elem.nodeName&&elem.nodeName.toLowerCase()===nodeName}},CLASS:function(className){var pattern=classCache[className+" "];return pattern||(pattern=new RegExp("(^|"+whitespace+")"+className+"("+whitespace+"|$)"))&&classCache(className,function(elem){return pattern.test("string"==typeof elem.className&&elem.className||void 0!==elem.getAttribute&&elem.getAttribute("class")||"")})},ATTR:function(name,operator,check){return function(elem){var result=Sizzle.attr(elem,name);return null==result?"!="===operator:!operator||(result+="","="===operator?result===check:"!="===operator?result!==check:"^="===operator?check&&0===result.indexOf(check):"*="===operator?check&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function winnow(elements,qualifier,not){return isFunction(qualifier)?jQuery.grep(elements,function(elem,i){return!!qualifier.call(elem,i,elem)!==not}):qualifier.nodeType?jQuery.grep(elements,function(elem){return elem===qualifier!==not}):"string"!=typeof qualifier?jQuery.grep(elements,function(elem){return-1)[^>]*|#([\w-]+))$/;(jQuery.fn.init=function(selector,context,root){var match,elem;if(!selector)return this;if(root=root||rootjQuery,"string"!=typeof selector)return selector.nodeType?(this[0]=selector,this.length=1,this):isFunction(selector)?void 0!==root.ready?root.ready(selector):selector(jQuery):jQuery.makeArray(selector,this);if(!(match="<"===selector[0]&&">"===selector[selector.length-1]&&3<=selector.length?[null,selector,null]:rquickExpr.exec(selector))||!match[1]&&context)return!context||context.jquery?(context||root).find(selector):this.constructor(context).find(selector);if(match[1]){if(context=context instanceof jQuery?context[0]:context,jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,!0)),rsingleTag.test(match[1])&&jQuery.isPlainObject(context))for(match in context)isFunction(this[match])?this[match](context[match]):this.attr(match,context[match]);return this}return(elem=document.getElementById(match[2]))&&(this[0]=elem,this.length=1),this}).prototype=jQuery.fn,rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,guaranteedUnique={children:!0,contents:!0,next:!0,prev:!0};function sibling(cur,dir){for(;(cur=cur[dir])&&1!==cur.nodeType;);return cur}jQuery.fn.extend({has:function(target){var targets=jQuery(target,this),l=targets.length;return this.filter(function(){for(var i=0;i\x20\t\r\n\f]*)/i,rscriptType=/^$|^module$|\/(?:java|ecma)script/i;div=document.createDocumentFragment().appendChild(document.createElement("div")),(input=document.createElement("input")).setAttribute("type","radio"),input.setAttribute("checked","checked"),input.setAttribute("name","t"),div.appendChild(input),support.checkClone=div.cloneNode(!0).cloneNode(!0).lastChild.checked,div.innerHTML="",support.noCloneChecked=!!div.cloneNode(!0).lastChild.defaultValue,div.innerHTML="",support.option=!!div.lastChild;var wrapMap={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function getAll(context,tag){var ret;return ret=void 0!==context.getElementsByTagName?context.getElementsByTagName(tag||"*"):void 0!==context.querySelectorAll?context.querySelectorAll(tag||"*"):[],void 0===tag||tag&&nodeName(context,tag)?jQuery.merge([context],ret):ret}function setGlobalEval(elems,refElements){for(var i=0,l=elems.length;i",""]);var rhtml=/<|&#?\w+;/;function buildFragment(elems,context,scripts,selection,ignored){for(var elem,tmp,tag,wrap,attached,j,fragment=context.createDocumentFragment(),nodes=[],i=0,l=elems.length;i\s*$/g;function manipulationTarget(elem,content){return nodeName(elem,"table")&&nodeName(11!==content.nodeType?content:content.firstChild,"tr")&&jQuery(elem).children("tbody")[0]||elem}function disableScript(elem){return elem.type=(null!==elem.getAttribute("type"))+"/"+elem.type,elem}function restoreScript(elem){return"true/"===(elem.type||"").slice(0,5)?elem.type=elem.type.slice(5):elem.removeAttribute("type"),elem}function cloneCopyEvent(src,dest){var i,l,type,udataOld,udataCur,events;if(1===dest.nodeType){if(dataPriv.hasData(src)&&(events=dataPriv.get(src).events))for(type in dataPriv.remove(dest,"handle events"),events)for(i=0,l=events[type].length;i").attr(s.scriptAttrs||{}).prop({charset:s.scriptCharset,src:s.url}).on("load error",_callback2=function(evt){script.remove(),_callback2=null,evt&&complete("error"===evt.type?404:200,evt.type)}),document.head.appendChild(script[0])},abort:function(){_callback2&&_callback2()}}});var body,oldCallbacks=[],rjsonp=/(=)\?(?=&|$)|\?\?/;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var callback=oldCallbacks.pop()||jQuery.expando+"_"+nonce.guid++;return this[callback]=!0,callback}}),jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=!1!==s.jsonp&&(rjsonp.test(s.url)?"url":"string"==typeof s.data&&0===(s.contentType||"").indexOf("application/x-www-form-urlencoded")&&rjsonp.test(s.data)&&"data");if(jsonProp||"jsonp"===s.dataTypes[0])return callbackName=s.jsonpCallback=isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback,jsonProp?s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName):!1!==s.jsonp&&(s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName),s.converters["script json"]=function(){return responseContainer||jQuery.error(callbackName+" was not called"),responseContainer[0]},s.dataTypes[0]="json",overwritten=window[callbackName],window[callbackName]=function(){responseContainer=arguments},jqXHR.always(function(){void 0===overwritten?jQuery(window).removeProp(callbackName):window[callbackName]=overwritten,s[callbackName]&&(s.jsonpCallback=originalSettings.jsonpCallback,oldCallbacks.push(callbackName)),responseContainer&&isFunction(overwritten)&&overwritten(responseContainer[0]),responseContainer=overwritten=void 0}),"script"}),support.createHTMLDocument=((body=document.implementation.createHTMLDocument("").body).innerHTML="
",2===body.childNodes.length),jQuery.parseHTML=function(data,context,keepScripts){return"string"!=typeof data?[]:("boolean"==typeof context&&(keepScripts=context,context=!1),context||(support.createHTMLDocument?((base=(context=document.implementation.createHTMLDocument("")).createElement("base")).href=document.location.href,context.head.appendChild(base)):context=document),scripts=!keepScripts&&[],(parsed=rsingleTag.exec(data))?[context.createElement(parsed[1])]:(parsed=buildFragment([data],context,scripts),scripts&&scripts.length&&jQuery(scripts).remove(),jQuery.merge([],parsed.childNodes)));var base,parsed,scripts},jQuery.fn.load=function(url,params,callback){var selector,type,response,self=this,off=url.indexOf(" ");return-1").append(jQuery.parseHTML(responseText)).find(selector):responseText)}).always(callback&&function(jqXHR,status){self.each(function(){callback.apply(this,response||[jqXHR.responseText,status,jqXHR])})}),this},jQuery.expr.pseudos.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem}).length},jQuery.offset={setOffset:function(elem,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,position=jQuery.css(elem,"position"),curElem=jQuery(elem),props={};"static"===position&&(elem.style.position="relative"),curOffset=curElem.offset(),curCSSTop=jQuery.css(elem,"top"),curCSSLeft=jQuery.css(elem,"left"),curLeft=("absolute"===position||"fixed"===position)&&-1<(curCSSTop+curCSSLeft).indexOf("auto")?(curTop=(curPosition=curElem.position()).top,curPosition.left):(curTop=parseFloat(curCSSTop)||0,parseFloat(curCSSLeft)||0),isFunction(options)&&(options=options.call(elem,i,jQuery.extend({},curOffset))),null!=options.top&&(props.top=options.top-curOffset.top+curTop),null!=options.left&&(props.left=options.left-curOffset.left+curLeft),"using"in options?options.using.call(elem,props):("number"==typeof props.top&&(props.top+="px"),"number"==typeof props.left&&(props.left+="px"),curElem.css(props))}},jQuery.fn.extend({offset:function(options){if(arguments.length)return void 0===options?this:this.each(function(i){jQuery.offset.setOffset(this,options,i)});var rect,win,elem=this[0];return elem?elem.getClientRects().length?(rect=elem.getBoundingClientRect(),win=elem.ownerDocument.defaultView,{top:rect.top+win.pageYOffset,left:rect.left+win.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var offsetParent,offset,doc,elem=this[0],parentOffset={top:0,left:0};if("fixed"===jQuery.css(elem,"position"))offset=elem.getBoundingClientRect();else{for(offset=this.offset(),doc=elem.ownerDocument,offsetParent=elem.offsetParent||doc.documentElement;offsetParent&&(offsetParent===doc.body||offsetParent===doc.documentElement)&&"static"===jQuery.css(offsetParent,"position");)offsetParent=offsetParent.parentNode;offsetParent&&offsetParent!==elem&&1===offsetParent.nodeType&&((parentOffset=jQuery(offsetParent).offset()).top+=jQuery.css(offsetParent,"borderTopWidth",!0),parentOffset.left+=jQuery.css(offsetParent,"borderLeftWidth",!0))}return{top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",!0),left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var offsetParent=this.offsetParent;offsetParent&&"static"===jQuery.css(offsetParent,"position");)offsetParent=offsetParent.offsetParent;return offsetParent||documentElement})}}),jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){var top="pageYOffset"===prop;jQuery.fn[method]=function(val){return access(this,function(elem,method,val){var win;if(isWindow(elem)?win=elem:9===elem.nodeType&&(win=elem.defaultView),void 0===val)return win?win[prop]:elem[method];win?win.scrollTo(top?win.pageXOffset:val,top?val:win.pageYOffset):elem[method]=val},method,val,arguments.length)}}),jQuery.each(["top","left"],function(_i,prop){jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,function(elem,computed){if(computed)return computed=curCSS(elem,prop),rnumnonpx.test(computed)?jQuery(elem).position()[prop]+"px":computed})}),jQuery.each({Height:"height",Width:"width"},function(name,type){jQuery.each({padding:"inner"+name,content:type,"":"outer"+name},function(defaultExtra,funcName){jQuery.fn[funcName]=function(margin,value){var chainable=arguments.length&&(defaultExtra||"boolean"!=typeof margin),extra=defaultExtra||(!0===margin||!0===value?"margin":"border");return access(this,function(elem,type,value){var doc;return isWindow(elem)?0===funcName.indexOf("outer")?elem["inner"+name]:elem.document.documentElement["client"+name]:9===elem.nodeType?(doc=elem.documentElement,Math.max(elem.body["scroll"+name],doc["scroll"+name],elem.body["offset"+name],doc["offset"+name],doc["client"+name])):void 0===value?jQuery.css(elem,type,extra):jQuery.style(elem,type,value,extra)},type,chainable?margin:void 0,chainable)}})}),jQuery.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(_i,type){jQuery.fn[type]=function(fn){return this.on(type,fn)}}),jQuery.fn.extend({bind:function(types,data,fn){return this.on(types,null,data,fn)},unbind:function(types,fn){return this.off(types,null,fn)},delegate:function(selector,types,data,fn){return this.on(types,selector,data,fn)},undelegate:function(selector,types,fn){return 1===arguments.length?this.off(selector,"**"):this.off(types,selector||"**",fn)},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver)}}),jQuery.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(_i,name){jQuery.fn[name]=function(data,fn){return 0
a',innerHTMLBug=!bugTestDiv.getElementsByTagName("link").length,bugTestDiv=void 0);var map={legend:[1,"
","
"],tr:[2,"","
"],col:[2,"","
"],_default:innerHTMLBug?[1,"X
","
"]:[0,"",""]};map.td=map.th=[3,"","
"],map.option=map.optgroup=[1,'"],map.thead=map.tbody=map.colgroup=map.caption=map.tfoot=[1,"","
"],map.polyline=map.ellipse=map.polygon=map.circle=map.text=map.line=map.path=map.rect=map.g=[1,'',""],exports.attr=function(el,name,val){return 2==arguments.length?el.getAttribute(name):null===val?el.removeAttribute(name):(el.setAttribute(name,val),el)},exports.classes=function(el){return new ClassList(el)},exports.clear=function(el){for(var c;el.childNodes.length;)c=el.childNodes[0],el.removeChild(c);return el},exports.closest=function(element,selector,checkYourSelf){for(var currentElem=checkYourSelf?element:element.parentNode;currentElem&¤tElem.nodeType!==document.DOCUMENT_NODE&¤tElem.nodeType!==document.DOCUMENT_FRAGMENT_NODE;){if(matchesSelector(currentElem,selector))return currentElem;currentElem=currentElem.parentNode}return matchesSelector(currentElem,selector)?currentElem:null},exports.delegate=delegateEvents,exports.domify=domify,exports.event=componentEvent,exports.matches=matchesSelector,exports.query=function(selector,el){return(el=el||document).querySelector(selector)},exports.queryAll=function(selector,el){return(el=el||document).querySelectorAll(selector)},exports.remove=function(el){el.parentNode&&el.parentNode.removeChild(el)}},{}],577:[function(require,module,exports){"use strict";module.exports=function(n){return n=n||Object.create(null),{on:function(c,e){(n[c]||(n[c]=[])).push(e)},off:function(c,e){n[c]&&n[c].splice(n[c].indexOf(e)>>>0,1)},emit:function(c,e){(n[c]||[]).slice().map(function(n){n(e)}),(n["*"]||[]).slice().map(function(n){n(c,e)})}}}},{}],578:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var minDash=require("min-dash"),saxen=require("saxen"),moddle=require("moddle");function hasLowerCaseAlias(pkg){return pkg.xml&&"lowerCase"===pkg.xml.tagAlias}var DEFAULT_NS_MAP={xsi:"http://www.w3.org/2001/XMLSchema-instance"};function serializeFormat(element){return element.xml&&element.xml.serialize}function serializeAsType(element){return"xsi:type"===serializeFormat(element)}function aliasToName(aliasNs,pkg){return hasLowerCaseAlias(pkg)?aliasNs.prefix+":"+function(str){return str.charAt(0).toUpperCase()+str.slice(1)}(aliasNs.localName):aliasNs.name}function normalizeXsiTypeName(name,model){var nameNs=moddle.parseNameNS(name);return function(nameNs,pkg){var name=nameNs.name,localName=nameNs.localName,typePrefix=pkg.xml&&pkg.xml.typePrefix;return typePrefix&&0===localName.indexOf(typePrefix)?nameNs.prefix+":"+localName.slice(typePrefix.length):name}(nameNs,model.getPackage(nameNs.prefix))}function error(message){return new Error(message)}function getModdleDescriptor(element){return element.$descriptor}function Context(options){minDash.assign(this,options),this.elementsById={},this.references=[],this.warnings=[],this.addReference=function(reference){this.references.push(reference)},this.addElement=function(element){if(!element)throw error("expected element");var id,elementsById=this.elementsById,idProperty=getModdleDescriptor(element).idProperty;if(idProperty&&(id=element.get(idProperty.name))){if(!/^([a-z][\w-.]*:)?[a-z_][\w-.]*$/i.test(id))throw new Error("illegal ID <"+id+">");if(elementsById[id])throw error("duplicate ID <"+id+">");elementsById[id]=element}},this.addWarning=function(warning){this.warnings.push(warning)}}function BaseHandler(){}function NoopHandler(){}function BodyHandler(){}function ReferenceHandler(property,context){this.property=property,this.context=context}function ValueHandler(propertyDesc,element){this.element=element,this.propertyDesc=propertyDesc}function BaseElementHandler(){}function ElementHandler(model,typeName,context){this.model=model,this.type=model.getType(typeName),this.context=context}function RootElementHandler(model,typeName,context){ElementHandler.call(this,model,typeName,context)}function GenericElementHandler(model,typeName,context){this.model=model,this.context=context}function Reader(options){options instanceof moddle.Moddle&&(options={model:options}),minDash.assign(this,{lax:!1},options)}BaseHandler.prototype.handleEnd=function(){},BaseHandler.prototype.handleText=function(){},BaseHandler.prototype.handleNode=function(){},(NoopHandler.prototype=Object.create(BaseHandler.prototype)).handleNode=function(){return this},(BodyHandler.prototype=Object.create(BaseHandler.prototype)).handleText=function(text){this.body=(this.body||"")+text},(ReferenceHandler.prototype=Object.create(BodyHandler.prototype)).handleNode=function(node){if(this.element)throw error("expected no sub nodes");return this.element=this.createReference(node),this},ReferenceHandler.prototype.handleEnd=function(){this.element.id=this.body},ReferenceHandler.prototype.createReference=function(node){return{property:this.property.ns.name,id:""}},(ValueHandler.prototype=Object.create(BodyHandler.prototype)).handleEnd=function(){var value=this.body||"",element=this.element,propertyDesc=this.propertyDesc;value=moddle.coerceType(propertyDesc.type,value),propertyDesc.isMany?element.get(propertyDesc.name).push(value):element.set(propertyDesc.name,value)},(BaseElementHandler.prototype=Object.create(BodyHandler.prototype)).handleNode=function(node){var parser=this,element=this.element;return element?parser=this.handleChild(node):(element=this.element=this.createElement(node),this.context.addElement(element)),parser},(ElementHandler.prototype=Object.create(BaseElementHandler.prototype)).addReference=function(reference){this.context.addReference(reference)},ElementHandler.prototype.handleText=function(text){if(!getModdleDescriptor(this.element).bodyProperty)throw error("unexpected body text <"+text+">");BodyHandler.prototype.handleText.call(this,text)},ElementHandler.prototype.handleEnd=function(){var value=this.body,element=this.element,bodyProperty=getModdleDescriptor(element).bodyProperty;bodyProperty&&void 0!==value&&(value=moddle.coerceType(bodyProperty.type,value),element.set(bodyProperty.name,value))},ElementHandler.prototype.createElement=function(node){var propNameNs,attributes=node.attributes,Type=this.type,descriptor=getModdleDescriptor(Type),context=this.context,instance=new Type({}),model=this.model;return minDash.forEach(attributes,function(value,name){var values,prop=descriptor.propertiesByName[name];prop&&prop.isReference?prop.isMany?(values=value.split(" "),minDash.forEach(values,function(v){context.addReference({element:instance,property:prop.ns.name,id:v})})):context.addReference({element:instance,property:prop.ns.name,id:value}):(prop?value=moddle.coerceType(prop.type,value):"xmlns"!==name&&(propNameNs=moddle.parseNameNS(name,descriptor.ns.prefix),model.getPackage(propNameNs.prefix)&&context.addWarning({message:"unknown attribute <"+name+">",element:instance,property:name,value:value})),instance.set(name,value))}),instance},ElementHandler.prototype.getPropertyForNode=function(node){var elementTypeName,elementType,name=node.name,nameNs=moddle.parseNameNS(name),type=this.type,model=this.model,descriptor=getModdleDescriptor(type),propertyName=nameNs.name,property=descriptor.propertiesByName[propertyName];if(property&&!property.isAttr)return serializeAsType(property)&&(elementTypeName=node.attributes["xsi:type"])?(elementTypeName=normalizeXsiTypeName(elementTypeName,model),elementType=model.getType(elementTypeName),minDash.assign({},property,{effectiveType:getModdleDescriptor(elementType).name})):property;var pkg=model.getPackage(nameNs.prefix);if(pkg){if(elementTypeName=aliasToName(nameNs,pkg),elementType=model.getType(elementTypeName),property=minDash.find(descriptor.properties,function(p){return!p.isVirtual&&!p.isReference&&!p.isAttribute&&elementType.hasType(p.type)}))return minDash.assign({},property,{effectiveType:getModdleDescriptor(elementType).name})}else if(property=minDash.find(descriptor.properties,function(p){return!p.isReference&&!p.isAttribute&&"Element"===p.type}))return property;throw error("unrecognized element <"+nameNs.name+">")},ElementHandler.prototype.toString=function(){return"ElementDescriptor["+getModdleDescriptor(this.type).name+"]"},ElementHandler.prototype.valueHandler=function(propertyDesc,element){return new ValueHandler(propertyDesc,element)},ElementHandler.prototype.referenceHandler=function(propertyDesc){return new ReferenceHandler(propertyDesc,this.context)},ElementHandler.prototype.handler=function(type){return"Element"===type?new GenericElementHandler(this.model,type,this.context):new ElementHandler(this.model,type,this.context)},ElementHandler.prototype.handleChild=function(node){var propertyDesc,type,element,childHandler;if(propertyDesc=this.getPropertyForNode(node),element=this.element,type=propertyDesc.effectiveType||propertyDesc.type,moddle.isSimpleType(type))return this.valueHandler(propertyDesc,element);var newElement=(childHandler=propertyDesc.isReference?this.referenceHandler(propertyDesc).handleNode(node):this.handler(type).handleNode(node)).element;return void 0!==newElement&&(propertyDesc.isMany?element.get(propertyDesc.name).push(newElement):element.set(propertyDesc.name,newElement),propertyDesc.isReference?(minDash.assign(newElement,{element:element}),this.context.addReference(newElement)):newElement.$parent=element),childHandler},(RootElementHandler.prototype=Object.create(ElementHandler.prototype)).createElement=function(node){var name=node.name,nameNs=moddle.parseNameNS(name),model=this.model,type=this.type,pkg=model.getPackage(nameNs.prefix),typeName=pkg&&aliasToName(nameNs,pkg)||name;if(!type.hasType(typeName))throw error("unexpected element <"+node.originalName+">");return ElementHandler.prototype.createElement.call(this,node)},(GenericElementHandler.prototype=Object.create(BaseElementHandler.prototype)).createElement=function(node){var name=node.name,prefix=moddle.parseNameNS(name).prefix,uri=node.ns[prefix+"$uri"],attributes=node.attributes;return this.model.createAny(name,uri,attributes)},GenericElementHandler.prototype.handleChild=function(node){var handler=new GenericElementHandler(this.model,"Element",this.context).handleNode(node),element=this.element,newElement=handler.element;return void 0!==newElement&&((element.$children=element.$children||[]).push(newElement),newElement.$parent=element),handler},GenericElementHandler.prototype.handleEnd=function(){this.body&&(this.element.$body=this.body)},Reader.prototype.fromXML=function(xml,options,done){var rootHandler=options.rootHandler;options instanceof ElementHandler?(rootHandler=options,options={}):"string"==typeof options?(rootHandler=this.handler(options),options={}):"string"==typeof rootHandler&&(rootHandler=this.handler(rootHandler));var model=this.model,lax=this.lax,context=new Context(minDash.assign({},options,{rootHandler:rootHandler})),parser=new saxen.Parser({proxy:!0}),stack=function(){var stack=[];return Object.defineProperty(stack,"peek",{value:function(){return this[this.length-1]}}),stack}();function handleError(err,getContext,lax){var ctx=getContext(),line=ctx.line,column=ctx.column,data=ctx.data;"<"===data.charAt(0)&&-1!==data.indexOf(" ")&&(data=data.slice(0,data.indexOf(" "))+">");var message="unparsable content "+(data?data+" ":"")+"detected\n\tline: "+line+"\n\tcolumn: "+column+"\n\tnested error: "+err.message;if(lax)return context.addWarning({message:message,error:err}),!0;throw error(message)}function handleWarning(err,getContext){return handleError(err,getContext,!0)}rootHandler.context=context,stack.push(rootHandler);var PREAMBLE_START_PATTERN=/^<\?xml /i,ENCODING_PATTERN=/ encoding="([^"]+)"/i,UTF_8_PATTERN=/^utf-8$/i;function handleCData(text,getContext){try{stack.peek().handleText(text)}catch(err){handleWarning(err,getContext)}}var uriMap=model.getPackages().reduce(function(uriMap,p){return uriMap[p.uri]=p.prefix,uriMap},{});parser.ns(uriMap).on("openTag",function(obj,decodeStr,selfClosing,getContext){var attrs=obj.attrs||{},decodedAttrs=Object.keys(attrs).reduce(function(d,key){var value=decodeStr(attrs[key]);return d[key]=value,d},{});!function(node,getContext){var handler=stack.peek();try{stack.push(handler.handleNode(node))}catch(err){handleError(err,getContext,lax)&&stack.push(new NoopHandler)}}({name:obj.name,originalName:obj.originalName,attributes:decodedAttrs,ns:obj.ns},getContext)}).on("question",function(question){if(PREAMBLE_START_PATTERN.test(question)){var match=ENCODING_PATTERN.exec(question),encoding=match&&match[1];encoding&&!UTF_8_PATTERN.test(encoding)&&context.addWarning({message:"unsupported document encoding <"+encoding+">, falling back to UTF-8"})}}).on("closeTag",function(){stack.pop().handleEnd()}).on("cdata",handleCData).on("text",function(text,decodeEntities,getContext){!function(text,getContext){(text=text.trim())&&handleCData(text,getContext)}(decodeEntities(text),getContext)}).on("error",handleError).on("warn",handleWarning),function(fn){setTimeout(fn,0)}(function(){var err;try{parser.parse(xml),function(){var i,r,elementsById=context.elementsById,references=context.references;for(i=0;r=references[i];i++){var element=r.element,reference=elementsById[r.id],property=getModdleDescriptor(element).propertiesByName[r.property];if(reference||context.addWarning({message:"unresolved reference <"+r.id+">",element:r.element,property:r.property,value:r.id}),property.isMany){var collection=element.get(property.name),idx=collection.indexOf(r);-1===idx&&(idx=collection.length),reference?collection[idx]=reference:collection.splice(idx,1)}else element.set(property.name,reference)}}()}catch(e){err=e}var element=rootHandler.element;err||element||(err=error("failed to parse document as <"+rootHandler.type.$descriptor.name+">")),done(err,err?void 0:element,context)})},Reader.prototype.handler=function(name){return new RootElementHandler(this.model,name)};var ESCAPE_ATTR_CHARS=/<|>|'|"|&|\n\r|\n/g,ESCAPE_CHARS=/<|>|&/g;function Namespaces(parent){var prefixMap={},uriMap={},used={},wellknown=[],custom=[];this.byUri=function(uri){return uriMap[uri]||parent&&parent.byUri(uri)},this.add=function(ns,isWellknown){uriMap[ns.uri]=ns,isWellknown?wellknown.push(ns):custom.push(ns),this.mapPrefix(ns.prefix,ns.uri)},this.uriByPrefix=function(prefix){return prefixMap[prefix||"xmlns"]},this.mapPrefix=function(prefix,uri){prefixMap[prefix||"xmlns"]=uri},this.getNSKey=function(ns){return void 0!==ns.prefix?ns.uri+"|"+ns.prefix:ns.uri},this.logUsed=function(ns){var uri=ns.uri,nsKey=this.getNSKey(ns);used[nsKey]=this.byUri(uri),parent&&parent.logUsed(ns)},this.getUsed=function(ns){var self=this;return[].concat(wellknown,custom).filter(function(ns){var nsKey=self.getNSKey(ns);return used[nsKey]})}}function nameToAlias(name,pkg){return hasLowerCaseAlias(pkg)?function(string){return string.charAt(0).toLowerCase()+string.slice(1)}(name):name}function inherits(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})}function nsName(ns){return minDash.isString(ns)?ns:(ns.prefix?ns.prefix+":":"")+ns.localName}var ESCAPE_ATTR_MAP={"\n":"#10","\n\r":"#10",'"':"#34","'":"#39","<":"#60",">":"#62","&":"#38"},ESCAPE_MAP={"<":"lt",">":"gt","&":"amp"};function escape(str,charPattern,replaceMap){return(str=minDash.isString(str)?str:""+str).replace(charPattern,function(s){return"&"+replaceMap[s]+";"})}function ReferenceSerializer(tagName){this.tagName=tagName}function BodySerializer(){}function ValueSerializer(tagName){this.tagName=tagName}function ElementSerializer(parent,propertyDescriptor){this.body=[],this.attrs=[],this.parent=parent,this.propertyDescriptor=propertyDescriptor}function TypeSerializer(parent,propertyDescriptor){ElementSerializer.call(this,parent,propertyDescriptor)}function SavingWriter(){this.value="",this.write=function(str){this.value+=str}}function FormatingWriter(out,format){var indent=[""];this.append=function(str){return out.write(str),this},this.appendNewLine=function(){return format&&out.write("\n"),this},this.appendIndent=function(){return format&&out.write(indent.join(" ")),this},this.indent=function(){return indent.push(""),this},this.unindent=function(){return indent.pop(),this}}ReferenceSerializer.prototype.build=function(element){return this.element=element,this},ReferenceSerializer.prototype.serializeTo=function(writer){writer.appendIndent().append("<"+this.tagName+">"+this.element.id+"").appendNewLine()},BodySerializer.prototype.serializeValue=BodySerializer.prototype.serializeTo=function(writer){writer.append(this.escape?function(str){return escape(str,ESCAPE_CHARS,ESCAPE_MAP)}(this.value):this.value)},BodySerializer.prototype.build=function(prop,value){return this.value=value,"String"===prop.type&&-1!==value.search(ESCAPE_CHARS)&&(this.escape=!0),this},inherits(ValueSerializer,BodySerializer),ValueSerializer.prototype.serializeTo=function(writer){writer.appendIndent().append("<"+this.tagName+">"),this.serializeValue(writer),writer.append("").appendNewLine()},ElementSerializer.prototype.build=function(element){var otherAttrs,properties,elementDescriptor=(this.element=element).$descriptor,propertyDescriptor=this.propertyDescriptor,isGeneric=elementDescriptor.isGeneric;return otherAttrs=isGeneric?this.parseGeneric(element):this.parseNsAttributes(element),this.ns=propertyDescriptor?this.nsPropertyTagName(propertyDescriptor):this.nsTagName(elementDescriptor),this.tagName=this.addTagName(this.ns),isGeneric||(properties=function(element){var descriptor=element.$descriptor;return minDash.filter(descriptor.properties,function(p){var name=p.name;if(p.isVirtual)return!1;if(!element.hasOwnProperty(name))return!1;var value=element[name];return value!==p.default&&(null!==value&&(!p.isMany||value.length))})}(element),this.parseAttributes(function(props){return minDash.filter(props,function(p){return p.isAttr})}(properties)),this.parseContainments(function(props){return minDash.filter(props,function(p){return!p.isAttr})}(properties))),this.parseGenericAttributes(element,otherAttrs),this},ElementSerializer.prototype.nsTagName=function(descriptor){return function(ns,descriptor){return descriptor.isGeneric?minDash.assign({localName:descriptor.ns.localName},ns):minDash.assign({localName:nameToAlias(descriptor.ns.localName,descriptor.$pkg)},ns)}(this.logNamespaceUsed(descriptor.ns),descriptor)},ElementSerializer.prototype.nsPropertyTagName=function(descriptor){return function(ns,descriptor){return minDash.assign({localName:descriptor.ns.localName},ns)}(this.logNamespaceUsed(descriptor.ns),descriptor)},ElementSerializer.prototype.isLocalNs=function(ns){return ns.uri===this.ns.uri},ElementSerializer.prototype.nsAttributeName=function(element){var ns;if(ns=minDash.isString(element)?moddle.parseNameNS(element):element.ns,element.inherited)return{localName:ns.localName};var effectiveNs=this.logNamespaceUsed(ns);return this.getNamespaces().logUsed(effectiveNs),this.isLocalNs(effectiveNs)?{localName:ns.localName}:minDash.assign({localName:ns.localName},effectiveNs)},ElementSerializer.prototype.parseGeneric=function(element){var self=this,body=this.body,attributes=[];return minDash.forEach(element,function(val,key){"$body"===key?body.push((new BodySerializer).build({type:"String"},val)):"$children"===key?minDash.forEach(val,function(child){body.push(new ElementSerializer(self).build(child))}):0!==key.indexOf("$")&&self.parseNsAttribute(element,key,val)&&attributes.push({name:key,value:val})}),attributes},ElementSerializer.prototype.parseNsAttribute=function(element,name,value){var ns,model=element.$model,nameNs=moddle.parseNameNS(name);if("xmlns"===nameNs.prefix&&(ns={prefix:nameNs.localName,uri:value}),nameNs.prefix||"xmlns"!==nameNs.localName||(ns={uri:value}),!ns)return{name:name,value:value};if(model&&model.getPackage(value))this.logNamespace(ns,!0,!0);else{var actualNs=this.logNamespaceUsed(ns,!0);this.getNamespaces().logUsed(actualNs)}},ElementSerializer.prototype.parseNsAttributes=function(element,attrs){var self=this,genericAttrs=element.$attrs,attributes=[];return minDash.forEach(genericAttrs,function(value,name){var nonNsAttr=self.parseNsAttribute(element,name,value);nonNsAttr&&attributes.push(nonNsAttr)}),attributes},ElementSerializer.prototype.parseGenericAttributes=function(element,attributes){var self=this;minDash.forEach(attributes,function(attr){if("xsi:type"!==attr.name)try{self.addAttribute(self.nsAttributeName(attr.name),attr.value)}catch(e){console.warn("missing namespace information for ",attr.name,"=",attr.value,"on",element,e)}})},ElementSerializer.prototype.parseContainments=function(properties){var self=this,body=this.body,element=this.element;minDash.forEach(properties,function(p){var value=element.get(p.name),isReference=p.isReference;if(p.isMany||(value=[value]),p.isBody)body.push((new BodySerializer).build(p,value[0]));else if(moddle.isSimpleType(p.type))minDash.forEach(value,function(v){body.push(new ValueSerializer(self.addTagName(self.nsPropertyTagName(p))).build(p,v))});else if(isReference)minDash.forEach(value,function(v){body.push(new ReferenceSerializer(self.addTagName(self.nsPropertyTagName(p))).build(v))});else{var asType=serializeAsType(p),asProperty=function(element){return"property"===serializeFormat(element)}(p);minDash.forEach(value,function(v){var serializer;serializer=asType?new TypeSerializer(self,p):asProperty?new ElementSerializer(self,p):new ElementSerializer(self),body.push(serializer.build(v))})}})},ElementSerializer.prototype.getNamespaces=function(local){var parentNamespaces,namespaces=this.namespaces,parent=this.parent;return namespaces||(parentNamespaces=parent&&parent.getNamespaces(),local||!parentNamespaces?this.namespaces=namespaces=new Namespaces(parentNamespaces):namespaces=parentNamespaces),namespaces},ElementSerializer.prototype.logNamespace=function(ns,wellknown,local){var namespaces=this.getNamespaces(local),nsUri=ns.uri,nsPrefix=ns.prefix;return namespaces.byUri(nsUri)&&!local||namespaces.add(ns,wellknown),namespaces.mapPrefix(nsPrefix,nsUri),ns},ElementSerializer.prototype.logNamespaceUsed=function(ns,local){var newPrefix,idx,wellknownUri,model=this.element.$model,namespaces=this.getNamespaces(local),prefix=ns.prefix,uri=ns.uri;if(!prefix&&!uri)return{localName:ns.localName};if(wellknownUri=DEFAULT_NS_MAP[prefix]||model&&(model.getPackage(prefix)||{}).uri,!(uri=uri||wellknownUri||namespaces.uriByPrefix(prefix)))throw new Error("no namespace uri given for prefix <"+prefix+">");if(!(ns=namespaces.byUri(uri))){for(newPrefix=prefix,idx=1;namespaces.uriByPrefix(newPrefix);)newPrefix=prefix+"_"+idx++;ns=this.logNamespace({prefix:newPrefix,uri:uri},wellknownUri===uri)}return prefix&&namespaces.mapPrefix(prefix,uri),ns},ElementSerializer.prototype.parseAttributes=function(properties){var self=this,element=this.element;minDash.forEach(properties,function(p){var value=element.get(p.name);if(p.isReference)if(p.isMany){var values=[];minDash.forEach(value,function(v){values.push(v.id)}),value=values.join(" ")}else value=value.id;self.addAttribute(self.nsAttributeName(p),value)})},ElementSerializer.prototype.addTagName=function(nsTagName){var actualNs=this.logNamespaceUsed(nsTagName);return this.getNamespaces().logUsed(actualNs),nsName(nsTagName)},ElementSerializer.prototype.addAttribute=function(name,value){var attrs=this.attrs;minDash.isString(value)&&(value=function(str){return escape(str,ESCAPE_ATTR_CHARS,ESCAPE_ATTR_MAP)}(value)),attrs.push({name:name,value:value})},ElementSerializer.prototype.serializeAttributes=function(writer){var attrs=this.attrs,namespaces=this.namespaces;namespaces&&(attrs=function(namespaces){return minDash.map(namespaces.getUsed(),function(ns){return{name:"xmlns"+(ns.prefix?":"+ns.prefix:""),value:ns.uri}})}(namespaces).concat(attrs)),minDash.forEach(attrs,function(a){writer.append(" ").append(nsName(a.name)).append('="').append(a.value).append('"')})},ElementSerializer.prototype.serializeTo=function(writer){var firstBody=this.body[0],indent=firstBody&&firstBody.constructor!==BodySerializer;writer.appendIndent().append("<"+this.tagName),this.serializeAttributes(writer),writer.append(firstBody?">":" />"),firstBody&&(indent&&writer.appendNewLine().indent(),minDash.forEach(this.body,function(b){b.serializeTo(writer)}),indent&&writer.unindent().appendIndent(),writer.append("")),writer.appendNewLine()},inherits(TypeSerializer,ElementSerializer),TypeSerializer.prototype.parseNsAttributes=function(element){var attributes=ElementSerializer.prototype.parseNsAttributes.call(this,element),descriptor=element.$descriptor;if(descriptor.name===this.propertyDescriptor.type)return attributes;var typeNs=this.typeNs=this.nsTagName(descriptor);this.getNamespaces().logUsed(this.typeNs);var pkg=element.$model.getPackage(typeNs.uri),typePrefix=pkg.xml&&pkg.xml.typePrefix||"";return this.addAttribute(this.nsAttributeName("xsi:type"),(typeNs.prefix?typeNs.prefix+":":"")+typePrefix+descriptor.ns.localName),attributes},TypeSerializer.prototype.isLocalNs=function(ns){return ns.uri===(this.typeNs||this.ns).uri},exports.Reader=Reader,exports.Writer=function(options){return options=minDash.assign({format:!1,preamble:!0},options||{}),{toXML:function(tree,writer){var internalWriter=writer||new SavingWriter,formatingWriter=new FormatingWriter(internalWriter,options.format);if(options.preamble&&formatingWriter.append('\n'),(new ElementSerializer).build(tree).serializeTo(formatingWriter),!writer)return internalWriter.value}}}},{"min-dash":575,moddle:579,saxen:584}],579:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var minDash=require("min-dash");function Base(){}function Factory(model,properties){this.model=model,this.properties=properties}Base.prototype.get=function(name){return this.$model.properties.get(this,name)},Base.prototype.set=function(name,value){this.$model.properties.set(this,name,value)},Factory.prototype.createType=function(descriptor){var model=this.model,props=this.properties,prototype=Object.create(Base.prototype);minDash.forEach(descriptor.properties,function(p){p.isMany||void 0===p.default||(prototype[p.name]=p.default)}),props.defineModel(prototype,model),props.defineDescriptor(prototype,descriptor);var name=descriptor.ns.name;function ModdleElement(attrs){props.define(this,"$type",{value:name,enumerable:!0}),props.define(this,"$attrs",{value:{}}),props.define(this,"$parent",{writable:!0}),minDash.forEach(attrs,minDash.bind(function(val,key){this.set(key,val)},this))}return ModdleElement.prototype=prototype,ModdleElement.hasType=prototype.$instanceOf=this.model.hasType,props.defineModel(ModdleElement,model),props.defineDescriptor(ModdleElement,descriptor),ModdleElement};var BUILTINS={String:!0,Boolean:!0,Integer:!0,Real:!0,Element:!0},TYPE_CONVERTERS={String:function(s){return s},Boolean:function(s){return"true"===s},Integer:function(s){return parseInt(s,10)},Real:function(s){return parseFloat(s,10)}};function isBuiltIn(type){return!!BUILTINS[type]}function parseName(name,defaultPrefix){var localName,prefix,parts=name.split(/:/);if(1===parts.length)localName=name,prefix=defaultPrefix;else{if(2!==parts.length)throw new Error("expected or , got "+name);localName=parts[1],prefix=parts[0]}return{name:name=(prefix?prefix+":":"")+localName,prefix:prefix,localName:localName}}function DescriptorBuilder(nameNs){this.ns=nameNs,this.name=nameNs.name,this.allTypes=[],this.allTypesByName={},this.properties=[],this.propertiesByName={}}function Registry(packages,properties){this.packageMap={},this.typeMap={},this.packages=[],this.properties=properties,minDash.forEach(packages,minDash.bind(this.registerPackage,this))}function ensureAvailable(packageMap,pkg,identifierKey){var value=pkg[identifierKey];if(value in packageMap)throw new Error("package with "+identifierKey+" <"+value+"> already defined")}function Properties(model){this.model=model}function defineProperty(target,property,value){Object.defineProperty(target,property.name,{enumerable:!property.isReference,writable:!0,value:value,configurable:!0})}function Moddle(packages){this.properties=new Properties(this),this.factory=new Factory(this,this.properties),this.registry=new Registry(packages,this.properties),this.typeCache={}}DescriptorBuilder.prototype.build=function(){return minDash.pick(this,["ns","name","allTypes","allTypesByName","properties","propertiesByName","bodyProperty","idProperty"])},DescriptorBuilder.prototype.addProperty=function(p,idx,validate){"boolean"==typeof idx&&(validate=idx,idx=void 0),this.addNamedProperty(p,!1!==validate);var properties=this.properties;void 0!==idx?properties.splice(idx,0,p):properties.push(p)},DescriptorBuilder.prototype.replaceProperty=function(oldProperty,newProperty,replace){var oldNameNs=oldProperty.ns,props=this.properties,propertiesByName=this.propertiesByName,rename=oldProperty.name!==newProperty.name;if(oldProperty.isId){if(!newProperty.isId)throw new Error("property <"+newProperty.ns.name+"> must be id property to refine <"+oldProperty.ns.name+">");this.setIdProperty(newProperty,!1)}if(oldProperty.isBody){if(!newProperty.isBody)throw new Error("property <"+newProperty.ns.name+"> must be body property to refine <"+oldProperty.ns.name+">");this.setBodyProperty(newProperty,!1)}var idx=props.indexOf(oldProperty);if(-1===idx)throw new Error("property <"+oldNameNs.name+"> not found in property list");props.splice(idx,1),this.addProperty(newProperty,replace?void 0:idx,rename),propertiesByName[oldNameNs.name]=propertiesByName[oldNameNs.localName]=newProperty},DescriptorBuilder.prototype.redefineProperty=function(p,targetPropertyName,replace){var nsPrefix=p.ns.prefix,parts=targetPropertyName.split("#"),name=parseName(parts[0],nsPrefix),attrName=parseName(parts[1],name.prefix).name,redefinedProperty=this.propertiesByName[attrName];if(!redefinedProperty)throw new Error("refined property <"+attrName+"> not found");this.replaceProperty(redefinedProperty,p,replace),delete p.redefines},DescriptorBuilder.prototype.addNamedProperty=function(p,validate){var ns=p.ns,propsByName=this.propertiesByName;validate&&(this.assertNotDefined(p,ns.name),this.assertNotDefined(p,ns.localName)),propsByName[ns.name]=propsByName[ns.localName]=p},DescriptorBuilder.prototype.removeNamedProperty=function(p){var ns=p.ns,propsByName=this.propertiesByName;delete propsByName[ns.name],delete propsByName[ns.localName]},DescriptorBuilder.prototype.setBodyProperty=function(p,validate){if(validate&&this.bodyProperty)throw new Error("body property defined multiple times (<"+this.bodyProperty.ns.name+">, <"+p.ns.name+">)");this.bodyProperty=p},DescriptorBuilder.prototype.setIdProperty=function(p,validate){if(validate&&this.idProperty)throw new Error("id property defined multiple times (<"+this.idProperty.ns.name+">, <"+p.ns.name+">)");this.idProperty=p},DescriptorBuilder.prototype.assertNotDefined=function(p,name){var propertyName=p.name,definedProperty=this.propertiesByName[propertyName];if(definedProperty)throw new Error("property <"+propertyName+"> already defined; override of <"+definedProperty.definedBy.ns.name+"#"+definedProperty.ns.name+"> by <"+p.definedBy.ns.name+"#"+p.ns.name+"> not allowed without redefines")},DescriptorBuilder.prototype.hasProperty=function(name){return this.propertiesByName[name]},DescriptorBuilder.prototype.addTrait=function(t,inherited){var typesByName=this.allTypesByName,types=this.allTypes,typeName=t.name;typeName in typesByName||(minDash.forEach(t.properties,minDash.bind(function(p){p=minDash.assign({},p,{name:p.ns.localName,inherited:inherited}),Object.defineProperty(p,"definedBy",{value:t});var replaces=p.replaces,redefines=p.redefines;replaces||redefines?this.redefineProperty(p,replaces||redefines,replaces):(p.isBody&&this.setBodyProperty(p),p.isId&&this.setIdProperty(p),this.addProperty(p))},this)),types.push(t),typesByName[typeName]=t)},Registry.prototype.getPackage=function(uriOrPrefix){return this.packageMap[uriOrPrefix]},Registry.prototype.getPackages=function(){return this.packages},Registry.prototype.registerPackage=function(pkg){pkg=minDash.assign({},pkg);var pkgMap=this.packageMap;ensureAvailable(pkgMap,pkg,"prefix"),ensureAvailable(pkgMap,pkg,"uri"),minDash.forEach(pkg.types,minDash.bind(function(descriptor){this.registerType(descriptor,pkg)},this)),pkgMap[pkg.uri]=pkgMap[pkg.prefix]=pkg,this.packages.push(pkg)},Registry.prototype.registerType=function(type,pkg){var ns=parseName((type=minDash.assign({},type,{superClass:(type.superClass||[]).slice(),extends:(type.extends||[]).slice(),properties:(type.properties||[]).slice(),meta:minDash.assign(type.meta||{})})).name,pkg.prefix),name=ns.name,propertiesByName={};minDash.forEach(type.properties,minDash.bind(function(p){var propertyNs=parseName(p.name,ns.prefix),propertyName=propertyNs.name;isBuiltIn(p.type)||(p.type=parseName(p.type,propertyNs.prefix).name),minDash.assign(p,{ns:propertyNs,name:propertyName}),propertiesByName[propertyName]=p},this)),minDash.assign(type,{ns:ns,name:name,propertiesByName:propertiesByName}),minDash.forEach(type.extends,minDash.bind(function(extendsName){var extended=this.typeMap[extendsName];extended.traits=extended.traits||[],extended.traits.push(name)},this)),this.definePackage(type,pkg),this.typeMap[name]=type},Registry.prototype.mapTypes=function(nsName,iterator,trait){var type=isBuiltIn(nsName.name)?{name:nsName.name}:this.typeMap[nsName.name],self=this;function traverseTrait(cls){return traverseSuper(cls,!0)}function traverseSuper(cls,trait){var parentNs=parseName(cls,isBuiltIn(cls)?"":nsName.prefix);self.mapTypes(parentNs,iterator,trait)}if(!type)throw new Error("unknown type <"+nsName.name+">");minDash.forEach(type.superClass,trait?traverseTrait:traverseSuper),iterator(type,!trait),minDash.forEach(type.traits,traverseTrait)},Registry.prototype.getEffectiveDescriptor=function(name){var nsName=parseName(name),builder=new DescriptorBuilder(nsName);this.mapTypes(nsName,function(type,inherited){builder.addTrait(type,inherited)});var descriptor=builder.build();return this.definePackage(descriptor,descriptor.allTypes[descriptor.allTypes.length-1].$pkg),descriptor},Registry.prototype.definePackage=function(target,pkg){this.properties.define(target,"$pkg",{value:pkg})},Properties.prototype.set=function(target,name,value){var property=this.model.getPropertyDescriptor(target,name),propertyName=property&&property.name;!function(val){return void 0===val}(value)?property?propertyName in target?target[propertyName]=value:defineProperty(target,property,value):target.$attrs[name]=value:property?delete target[propertyName]:delete target.$attrs[name]},Properties.prototype.get=function(target,name){var property=this.model.getPropertyDescriptor(target,name);if(!property)return target.$attrs[name];var propertyName=property.name;return!target[propertyName]&&property.isMany&&defineProperty(target,property,[]),target[propertyName]},Properties.prototype.define=function(target,name,options){Object.defineProperty(target,name,options)},Properties.prototype.defineDescriptor=function(target,descriptor){this.define(target,"$descriptor",{value:descriptor})},Properties.prototype.defineModel=function(target,model){this.define(target,"$model",{value:model})},Moddle.prototype.create=function(descriptor,attrs){var Type=this.getType(descriptor);if(!Type)throw new Error("unknown type <"+descriptor+">");return new Type(attrs)},Moddle.prototype.getType=function(descriptor){var cache=this.typeCache,name=minDash.isString(descriptor)?descriptor:descriptor.ns.name,type=cache[name];return type||(descriptor=this.registry.getEffectiveDescriptor(name),type=cache[name]=this.factory.createType(descriptor)),type},Moddle.prototype.createAny=function(name,nsUri,properties){var nameNs=parseName(name),element={$type:name,$instanceOf:function(type){return type===this.$type}},descriptor={name:name,isGeneric:!0,ns:{prefix:nameNs.prefix,localName:nameNs.localName,uri:nsUri}};return this.properties.defineDescriptor(element,descriptor),this.properties.defineModel(element,this),this.properties.define(element,"$parent",{enumerable:!1,writable:!0}),minDash.forEach(properties,function(a,key){minDash.isObject(a)&&void 0!==a.value?element[a.name]=a.value:element[key]=a}),element},Moddle.prototype.getPackage=function(uriOrPrefix){return this.registry.getPackage(uriOrPrefix)},Moddle.prototype.getPackages=function(){return this.registry.getPackages()},Moddle.prototype.getElementDescriptor=function(element){return element.$descriptor},Moddle.prototype.hasType=function(element,type){return void 0===type&&(type=element,element=this),type in element.$model.getElementDescriptor(element).allTypesByName},Moddle.prototype.getPropertyDescriptor=function(element,property){return this.getElementDescriptor(element).propertiesByName[property]},Moddle.prototype.getTypeDescriptor=function(type){return this.registry.typeMap[type]},exports.Moddle=Moddle,exports.coerceType=function(type,value){var converter=TYPE_CONVERTERS[type];return converter?converter(value):value},exports.isBuiltInType=isBuiltIn,exports.isSimpleType=function(type){return!!TYPE_CONVERTERS[type]},exports.parseNameNS=parseName},{"min-dash":575}],580:[function(require,module,exports){"use strict";module.exports=require("./lib/refs"),module.exports.Collection=require("./lib/collection")},{"./lib/collection":581,"./lib/refs":582}],581:[function(require,module,exports){"use strict";module.exports.extend=function(collection,refs,property,target){var inverseProperty=property.inverse;return Object.defineProperty(collection,"remove",{value:function(element){var idx=this.indexOf(element);return-1!==idx&&(this.splice(idx,1),refs.unset(element,inverseProperty,target)),element}}),Object.defineProperty(collection,"contains",{value:function(element){return-1!==this.indexOf(element)}}),Object.defineProperty(collection,"add",{value:function(element,idx){var currentIdx=this.indexOf(element);if(void 0===idx){if(-1!==currentIdx)return;idx=this.length}-1!==currentIdx&&this.splice(currentIdx,1),this.splice(idx,0,element),-1===currentIdx&&refs.set(element,inverseProperty,target)}}),Object.defineProperty(collection,"__refs_collection",{value:!0}),collection},module.exports.isExtended=function(collection){return!0===collection.__refs_collection}},{}],582:[function(require,module,exports){"use strict";var Collection=require("./collection");function defineCollectionProperty(ref,property,target){var collection=Collection.extend(target[property.name]||[],ref,property,target);Object.defineProperty(target,property.name,{enumerable:property.enumerable,value:collection}),collection.length&&collection.forEach(function(o){ref.set(o,property.inverse,target)})}function Refs(a,b){if(!(this instanceof Refs))return new Refs(a,b);(a.inverse=b).inverse=a,this.props={},this.props[a.name]=a,this.props[b.name]=b}Refs.prototype.bind=function(target,property){if("string"==typeof property){if(!this.props[property])throw new Error("no property <"+property+"> in ref");property=this.props[property]}property.collection?defineCollectionProperty(this,property,target):function(ref,property,target){var inverseProperty=property.inverse,_value=target[property.name];Object.defineProperty(target,property.name,{configurable:property.configurable,enumerable:property.enumerable,get:function(){return _value},set:function(value){if(value!==_value){var old=_value;_value=null,old&&ref.unset(old,inverseProperty,target),_value=value,ref.set(_value,inverseProperty,target)}}})}(this,property,target)},Refs.prototype.ensureRefsCollection=function(target,property){var collection=target[property.name];return Collection.isExtended(collection)||defineCollectionProperty(this,property,target),collection},Refs.prototype.ensureBound=function(target,property){!function(e,property){return Object.prototype.hasOwnProperty.call(e,property.name||property)}(target,property)&&this.bind(target,property)},Refs.prototype.unset=function(target,property,value){target&&(this.ensureBound(target,property),property.collection?this.ensureRefsCollection(target,property).remove(value):target[property.name]=void 0)},Refs.prototype.set=function(target,property,value){target&&(this.ensureBound(target,property),property.collection?this.ensureRefsCollection(target,property).add(value):target[property.name]=value)},module.exports=Refs},{"./collection":581}],583:[function(require,module,exports){"use strict";var p2s=/,?([a-z]),?/gi,toFloat=parseFloat,math=Math,PI=math.PI,mmin=math.min,mmax=math.max,pow=math.pow,abs=math.abs,pathCommand=/([a-z])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?[\s]*,?[\s]*)+)/gi,pathValues=/(-?\d*\.?\d*(?:e[-+]?\\d+)?)[\s]*,?[\s]*/gi,isArray=Array.isArray||function(o){return o instanceof Array};function hasProperty(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function clone(obj){if("function"==typeof obj||Object(obj)!==obj)return obj;var res=new obj.constructor;for(var key in obj)hasProperty(obj,key)&&(res[key]=clone(obj[key]));return res}function cacher(f){return function newf(){var arg=Array.prototype.slice.call(arguments,0),args=arg.join("␀"),cache=newf.cache=newf.cache||{},count=newf.count=newf.count||[];return hasProperty(cache,args)?function(array,item){for(var i=0,ii=array.length;i=bbox.x&&x<=bbox.x+bbox.width&&y>=bbox.y&&y<=bbox.y+bbox.height}function base3(t,p1,p2,p3,p4){return t*(t*(-3*p1+9*p2-9*p3+3*p4)+6*p1-12*p2+6*p3)-3*p1+3*p2}function bezlen(x1,y1,x2,y2,x3,y3,x4,y4,z){null==z&&(z=1);for(var z2=(z=1mmax(x3,x4)||mmax(y1,y2)mmax(y3,y4))){var ny=(x1*y2-y1*x2)*(y3-y4)-(y1-y2)*(x3*y4-y3*x4),denominator=(x1-x2)*(y3-y4)-(y1-y2)*(x3-x4);if(denominator){var px=fixError(((x1*y2-y1*x2)*(x3-x4)-(x1-x2)*(x3*y4-y3*x4))/denominator),py=fixError(ny/denominator),px2=+px.toFixed(2),py2=+py.toFixed(2);if(!(px2<+mmin(x1,x2).toFixed(2)||px2>+mmax(x1,x2).toFixed(2)||px2<+mmin(x3,x4).toFixed(2)||px2>+mmax(x3,x4).toFixed(2)||py2<+mmin(y1,y2).toFixed(2)||py2>+mmax(y1,y2).toFixed(2)||py2<+mmin(y3,y4).toFixed(2)||py2>+mmax(y3,y4).toFixed(2)))return{x:px,y:py}}}}function fixError(number){return Math.round(1e11*number)/1e11}function findBezierIntersections(bez1,bez2,justCount){if(!function(bbox1,bbox2){return bbox1=rectBBox(bbox1),isPointInsideBBox(bbox2=rectBBox(bbox2),bbox1.x,bbox1.y)||isPointInsideBBox(bbox2,bbox1.x2,bbox1.y)||isPointInsideBBox(bbox2,bbox1.x,bbox1.y2)||isPointInsideBBox(bbox2,bbox1.x2,bbox1.y2)||isPointInsideBBox(bbox1,bbox2.x,bbox2.y)||isPointInsideBBox(bbox1,bbox2.x2,bbox2.y)||isPointInsideBBox(bbox1,bbox2.x,bbox2.y2)||isPointInsideBBox(bbox1,bbox2.x2,bbox2.y2)||(bbox1.xbbox2.x||bbox2.xbbox1.x)&&(bbox1.ybbox2.y||bbox2.ybbox1.y)}(bezierBBox(bez1),bezierBBox(bez2)))return justCount?0:[];for(var l1=bezlen.apply(0,bez1),l2=bezlen.apply(0,bez2),n1=isLine(bez1)?1:~~(l1/5)||1,n2=isLine(bez2)?1:~~(l2/5)||1,dots1=[],dots2=[],xy={},res=justCount?0:[],i=0;i=paramCounts[name]&&(data.push([b].concat(params.splice(0,paramCounts[name]))),paramCounts[name]););}),data.toString=paths.toString,pth.arr=clone(data),data}(pathArray)),!pathArray||!pathArray.length)return[["M",0,0]];var pa0,res=[],x=0,y=0,mx=0,my=0,start=0;"M"==pathArray[0][0]&&(mx=x=+pathArray[0][1],my=y=+pathArray[0][2],start++,res[0]=["M",x,y]);for(var r,pa,i=start,ii=pathArray.length;i_120){var f2old=f2,x2old=x2,y2old=y2;f2=f1+_120*(sweep_flag&&f1",lt:"<",quot:'"'};function replaceEntities(_,d,x,z){return z?hasOwnProperty.call(ENTITY_MAPPING,z)?ENTITY_MAPPING[z]:"&"+z+";":fromCharCode(d||parseInt(x,16))}function decodeEntities(s){return 3"}function getter(getFn){return{get:getFn,enumerable:!0}}function cloneNsMatrix(nsMatrix){var key,clone={};for(key in nsMatrix)clone[key]=nsMatrix[key];return clone}function uriPrefix(prefix){return prefix+"$uri"}function noopGetContext(){return{line:0,column:0}}function throwFunc(err){throw err}exports.Parser=function Parser(options){if(!this)return new Parser(options);var onText,onOpenTag,onCloseTag,onCDATA,onWarning,onComment,onQuestion,onAttention,nsUriToPrefix,proxy=options&&options.proxy,onError=throwFunc,getContext=noopGetContext,maybeNS=!1,isNamespace=!1,returnError=null,parseStop=!1;function handleError(err){err instanceof Error||(err=error(err)),onError(returnError=err,getContext)}function handleWarning(err){onWarning&&(err instanceof Error||(err=error(err)),onWarning(err,getContext))}this.on=function(name,cb){if("function"!=typeof cb)throw error("required args ");switch(name){case"openTag":onOpenTag=cb;break;case"text":onText=cb;break;case"closeTag":onCloseTag=cb;break;case"error":onError=cb;break;case"warn":onWarning=cb;break;case"cdata":onCDATA=cb;break;case"attention":onAttention=cb;break;case"question":onQuestion=cb;break;case"comment":onComment=cb;break;default:throw error("unsupported event: "+name)}return this},this.ns=function(nsMap){if(void 0===nsMap&&(nsMap={}),"object"!==(void 0===nsMap?"undefined":_typeof(nsMap)))throw error("required args ");var k,_nsUriToPrefix={};for(k in nsMap)_nsUriToPrefix[k]=nsMap[k];return _nsUriToPrefix[XSI_URI]=XSI_PREFIX,isNamespace=!0,nsUriToPrefix=_nsUriToPrefix,this},this.parse=function(xml){if("string"!=typeof xml)throw error("required args ");return returnError=null,function(xml){var _nsMatrix,x,y,q,w,v,xmlns,elementName,_elementName,elementProxy,cachedAttrs,nsMatrixStack=isNamespace?[]:null,nsMatrix=isNamespace?function(nsUriToPrefix){var uri,prefix,nsMatrix={};for(uri in nsUriToPrefix)nsMatrix[prefix=nsUriToPrefix[uri]]=prefix,nsMatrix[uriPrefix(prefix)]=uri;return nsMatrix}(nsUriToPrefix):null,nodeStack=[],anonymousNsCount=0,tagStart=!1,tagEnd=!1,i=0,j=0,attrsString="",attrsStart=0;function getAttrs(){if(null!==cachedAttrs)return cachedAttrs;var nsUri,nsUriPrefix,nsName,hasNewMatrix,newalias,value,alias,name,skipAttr,w,j,defaultAlias=isNamespace&&nsMatrix.xmlns,attrList=isNamespace&&maybeNS?[]:null,i=attrsStart,s=attrsString,l=s.length,attrs={},seenAttrs={};parseAttr:for(;i already defined");else if(seenAttrs[name]=!0,isNamespace)if(maybeNS){if(null!==(newalias="xmlns"===name?"xmlns":120===name.charCodeAt(0)&&"xmlns:"===name.substr(0,6)?name.substr(6):null)){if(nsUri=decodeEntities(value),nsUriPrefix=uriPrefix(newalias),!(alias=nsUriToPrefix[nsUri])){if("xmlns"===newalias||nsUriPrefix in nsMatrix&&nsMatrix[nsUriPrefix]!==nsUri)for(;alias="ns"+anonymousNsCount++,void 0!==nsMatrix[alias];);else alias=newalias;nsUriToPrefix[nsUri]=alias}nsMatrix[newalias]!==alias&&(hasNewMatrix||(nsMatrix=cloneNsMatrix(nsMatrix),hasNewMatrix=!0),nsMatrix[newalias]=alias,"xmlns"===newalias&&(nsMatrix[uriPrefix(alias)]=nsUri,defaultAlias=alias),nsMatrix[nsUriPrefix]=nsUri),attrs[name]=value;continue}attrList.push(name,value)}else-1!==(w=name.indexOf(":"))?(nsName=nsMatrix[name.substring(0,w)])?((name=defaultAlias===nsName?name.substr(w+1):nsName+name.substr(w))===XSI_TYPE&&(value=-1!==(w=value.indexOf(":"))?(nsName=value.substring(0,w),(nsName=nsMatrix[nsName]||nsName)+value.substring(w)):defaultAlias+":"+value),attrs[name]=value):handleWarning(missingNamespaceForPrefix(name.substring(0,w))):attrs[name]=value;else attrs[name]=value}if(maybeNS)for(i=0,l=attrList.length;i",i)))return handleError("unclosed cdata");if(onCDATA&&(onCDATA(xml.substring(i+9,j),getContext),parseStop))return;j+=3;continue}if(45===q&&45===xml.charCodeAt(i+3)){if(-1===(j=xml.indexOf("--\x3e",i)))return handleError("unclosed comment");if(onComment&&(onComment(xml.substring(i+4,j),decodeEntities,getContext),parseStop))return;j+=3;continue}}if(63!==w){for(x=i+1;;x++){if(v=xml.charCodeAt(x),isNaN(v))return j=-1,handleError("unclosed tag");if(34===v)q=xml.indexOf('"',x+1),x=-1!==q?q:x;else if(39===v)q=xml.indexOf("'",x+1),x=-1!==q?q:x;else if(62===v){j=x;break}}if(33!==w){if(cachedAttrs={},47===w){if(tagEnd=!(tagStart=!1),!nodeStack.length)return handleError("missing open tag");if(x=elementName=nodeStack.pop(),q=i+2+x.length,xml.substring(i+2,q)!==x)return handleError("closing tag mismatch");for(;q");elementName=elementName.substr(w+1)}else xmlns=nsMatrix.xmlns;xmlns&&(elementName=xmlns+":"+elementName)}if(tagStart&&(attrsStart=q,attrsString=x,onOpenTag&&(proxy?onOpenTag(elementProxy,decodeEntities,tagEnd,getContext):onOpenTag(elementName,getAttrs,decodeEntities,tagEnd,getContext),parseStop)))return;if(tagEnd){if(onCloseTag&&(onCloseTag(proxy?elementProxy:elementName,decodeEntities,tagStart,getContext),parseStop))return;isNamespace&&(nsMatrix=tagStart?_nsMatrix:nsMatrixStack.pop())}j+=1}else{if(onAttention&&(onAttention(xml.substring(i,j+1),decodeEntities,getContext),parseStop))return;j+=1}}else{if(-1===(j=xml.indexOf("?>",i)))return handleError("unclosed question");if(onQuestion&&(onQuestion(xml.substring(i,j+2),getContext),parseStop))return;j+=2}}}(xml),getContext=noopGetContext,parseStop=!1,returnError},this.stop=function(){parseStop=!0}},exports.decode=decodeEntities},{}],585:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=create;var obj,_minDom=require("min-dom"),_minDash=require("min-dash"),_mitt=require("mitt"),_mitt2=(obj=_mitt)&&obj.__esModule?obj:{default:obj};var DEFAULT_OPTIONS={scrollSymbolLeft:"‹",scrollSymbolRight:"›"};function ScrollTabs($el,options){(0,_minDash.assign)(this,(0,_mitt2.default)()),this.options=options=(0,_minDash.assign)({},DEFAULT_OPTIONS,options),this.container=$el,this._createScrollButtons($el,options),this._bindEvents($el)}function create($el,options){var scrollTabs=get($el);return scrollTabs||(scrollTabs=new ScrollTabs($el,options),$el.__scrollTabs=scrollTabs),scrollTabs}function get($el){return $el.__scrollTabs}ScrollTabs.prototype._createButton=function(parentNode,options){var className=options.className,direction=options.direction,button=(0,_minDom.query)("."+className,parentNode);return button||(button=(0,_minDom.domify)(''+options.label+""),parentNode.insertBefore(button,parentNode.childNodes[0])),(0,_minDom.attr)(button,"data-direction",direction),button},ScrollTabs.prototype._createScrollButtons=function(parentNode,options){this._createButton(parentNode,{className:"scroll-tabs-left",label:options.scrollSymbolLeft,direction:-1}),this._createButton(parentNode,{className:"scroll-tabs-right",label:options.scrollSymbolRight,direction:1})},ScrollTabs.prototype.getActiveTabNode=function(){return(0,_minDom.query)(this.options.selectors.active,this.container)},ScrollTabs.prototype.getTabsContainerNode=function(){return(0,_minDom.query)(this.options.selectors.tabsContainer,this.container)},ScrollTabs.prototype.getAllTabNodes=function(){return(0,_minDom.queryAll)(this.options.selectors.tab,this.container)},ScrollTabs.prototype.getVisibleTabs=function(){var allTabs=this.getAllTabNodes(),ignore=this.options.selectors.ignore;return(0,_minDash.filter)(allTabs,function(tabNode){return!(0,_minDom.matches)(tabNode,ignore)})},ScrollTabs.prototype.getAdjacentTab=function(referenceTabNode,n){var visibleTabs=this.getVisibleTabs(),index=visibleTabs.indexOf(referenceTabNode);return visibleTabs[index+n]},ScrollTabs.prototype._bindEvents=function(node){this._bindWheelEvent(node),this._bindTabClickEvents(node),this._bindScrollButtonEvents(node)},ScrollTabs.prototype._bindTabClickEvents=function(node){var selector=this.options.selectors.tab,self=this;_minDom.delegate.bind(node,selector,"click",function(event){self.scrollToTabNode(event.delegateTarget)})},ScrollTabs.prototype._bindWheelEvent=function(node){var self=this;_minDom.event.bind(node,"wheel",function(e){var direction=Math.sign(e.deltaY),oldActiveTab=self.getActiveTabNode(),newActiveTab=self.getAdjacentTab(oldActiveTab,direction);newActiveTab&&(self.scrollToTabNode(newActiveTab),self.emit("scroll",newActiveTab,oldActiveTab,direction)),e.preventDefault()})},ScrollTabs.prototype._bindScrollButtonEvents=function(node){var self=this;_minDom.delegate.bind(node,".scroll-tabs-button","click",function(event){var target=event.delegateTarget,direction=parseInt((0,_minDom.attr)(target,"data-direction"),10),oldActiveTabNode=self.getActiveTabNode(),newActiveTabNode=self.getAdjacentTab(oldActiveTabNode,direction);newActiveTabNode&&(self.scrollToTabNode(newActiveTabNode),self.emit("scroll",newActiveTabNode,oldActiveTabNode,direction)),event.preventDefault()})},ScrollTabs.prototype.scrollToTabNode=function(tabNode){if(tabNode){var tabsContainerNode=tabNode.parentNode,tabWidth=tabNode.offsetWidth,tabOffsetLeft=tabNode.offsetLeft,tabOffsetRight=tabOffsetLeft+tabWidth,containerWidth=tabsContainerNode.offsetWidth;tabOffsetLefttabsContainerNode.offsetWidth;(0,_minDom.classes)(this.container).toggle("scroll-tabs-overflow",overflow),overflow&&this.scrollToTabNode(this.getActiveTabNode())},create.get=get},{"min-dash":575,"min-dom":576,mitt:577}],586:[function(require,module,exports){"use strict";function range(start,end){return{start:start,end:void 0===end?start:end}}module.exports=function(currentSelection,currentValue,newValue){var currentCursor=currentSelection.start,newCursor=currentCursor,diff=newValue.length-currentValue.length,currentTail=(newValue.length,currentValue.length,currentValue.substring(currentCursor));return newValue.lastIndexOf(currentTail)===newValue.length-currentTail.length&&(currentValue=currentValue.substring(0,currentValue.length-currentTail.length),newValue=newValue.substring(0,newValue.length-currentTail.length)),(diff=function(currentValue,newValue){var insert,l_str,l_char,s_str,s_char,l_idx=0,s_idx=0;s_str=newValue.length>currentValue.length?(l_str=newValue,currentValue):(l_str=currentValue,newValue);for(;l_idxcurrentValue.length?{newStart:insert.l_start,newEnd:insert.l_end,type:"add"}:{newStart:insert.s_start,newEnd:insert.s_end,type:newValue.length"+svg+"",unwrap=!0);var parsed=function(svg){var parser;return(parser=new DOMParser).async=!1,parser.parseFromString(svg,"text/xml")}(svg);if(!unwrap)return parsed;for(var fragment=document.createDocumentFragment(),parent=parsed.firstChild;parent.firstChild;)fragment.appendChild(parent.firstChild);return fragment}function create(name,attrs){var element;return element="<"===name.charAt(0)?(element=parse(name).firstChild,document.importNode(element,!0)):document.createElementNS(ns.svg,name),attrs&&attr(element,attrs),element}var node=create("svg");function extend(object,props){var i,k,keys=Object.keys(props);for(i=0;k=keys[i];i++)object[k]=props[k];return object}var TEXT_ENTITIES=/([&<>]{1})/g,ATTR_ENTITIES=/([\n\r"]{1})/g,ENTITY_REPLACEMENT={"&":"&","<":"<",">":">",'"':"'"};function escape(str,pattern){return str.replace(pattern,function(match,entity){return ENTITY_REPLACEMENT[entity]||entity})}function serialize(node,output){var i,len,attrMap,attrNode,childNodes;switch(node.nodeType){case 3:output.push(escape(node.textContent,TEXT_ENTITIES));break;case 1:if(output.push("<",node.tagName),node.hasAttributes())for(i=0,len=(attrMap=node.attributes).length;i"),i=0,len=(childNodes=node.childNodes).length;i")}else output.push("/>");break;case 8:output.push("\x3c!--",escape(node.nodeValue,TEXT_ENTITIES),"--\x3e");break;case 4:output.push("");break;default:throw new Error("unable to handle node "+node.nodeType)}return output}function set(element,svg){var parsed=parse(svg);if(clear(element),svg){!function(node){return"#document-fragment"===node.nodeName}(parsed)&&(parsed=parsed.documentElement);for(var nodes=function(arr){return Array.prototype.slice.call(arr)}(parsed.childNodes),i=0;i defined");event.preventDefault(),action(event)}var delegates={};function parseActionAttr(element){var match=(0,_jquery2.default)(element).attr("jsaction").split(/:(.+$)/,2);return{event:match[0],name:match[1]}}(0,_jquery2.default)("[jsaction]").each(function(){var jsaction=parseActionAttr((0,_jquery2.default)(this)),event=jsaction.event;delegates[event]||((0,_jquery2.default)(document.body).on(event,"[jsaction]",actionListener),delegates[event]=!0);var name=jsaction.name;if(!modelerActions[name])throw new Error("no action <"+name+"> defined")}),(0,_jquery2.default)("#editForm\\:workflowTabView\\:js-create-diagram").click(function(e){e.stopPropagation(),e.preventDefault(),openDiagram(_initialDiagram2.default)}),(0,_jquery2.default)("#editForm\\:workflowTabView\\:btnReadXmlDiagram").click(function(e){e.stopPropagation(),e.preventDefault(),function(){var placeholderForDiagram=document.getElementById("editForm:workflowTabView:xmlDiagram");placeholderForDiagram?openDiagram(placeholderForDiagram.value):alert("diagram is empty!")}()})})},{"../resources/initialDiagram.bpmn":588,"./descriptors/template":589,"./provider/template":592,"bpmn-js-properties-panel":1,"bpmn-js/lib/Modeler":47,jquery:370,"min-dash":575}],591:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=TemplatePropertiesProvider;var _inherits2=_interopRequireDefault(require("inherits")),_PropertiesActivator2=_interopRequireDefault(require("bpmn-js-properties-panel/lib/PropertiesActivator")),_ProcessProps2=_interopRequireDefault(require("bpmn-js-properties-panel/lib/provider/bpmn/parts/ProcessProps")),_EventProps2=_interopRequireDefault(require("bpmn-js-properties-panel/lib/provider/bpmn/parts/EventProps")),_LinkProps2=_interopRequireDefault(require("bpmn-js-properties-panel/lib/provider/bpmn/parts/LinkProps")),_IdProps2=_interopRequireDefault(require("bpmn-js-properties-panel/lib/provider/bpmn/parts/IdProps")),_ConditionalProps2=(_interopRequireDefault(require("bpmn-js-properties-panel/lib/provider/bpmn/parts/NameProps")),_interopRequireDefault(require("bpmn-js-properties-panel/lib/provider/camunda/parts/ConditionalProps"))),_ScriptTaskProperties2=_interopRequireDefault(require("./parts/ScriptTaskProperties")),_TaskProperties2=_interopRequireDefault(require("./parts/TaskProperties")),_PermissionProperties2=_interopRequireDefault(require("./parts/PermissionProperties")),_ConditionProperties2=_interopRequireDefault(require("./parts/ConditionProperties")),_KitodoNameProps2=_interopRequireDefault(require("./parts/KitodoNameProps"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var is=require("bpmn-js/lib/util/ModelUtil").is;function TemplatePropertiesProvider(eventBus,bpmnFactory,elementRegistry,translate){_PropertiesActivator2.default.call(this,eventBus),this.getTabs=function(element){return[{id:"general",label:getLocalizedStringForKey("propertiesLabel"),groups:function(element,bpmnFactory,elementRegistry,translate){var title="";(is(element,"bpmn:Task")||is(element,"bpmn:StartEvent")||is(element,"bpmn:EndEvent"))&&(title=getLocalizedStringForKey("generalGroupLabel"));var generalGroup={id:"general",label:title,entries:[]};(0,_IdProps2.default)(generalGroup,element,translate),(0,_KitodoNameProps2.default)(generalGroup,element,translate),(0,_ProcessProps2.default)(generalGroup,element,translate);var detailsGroup={id:"details",label:getLocalizedStringForKey("detailsGroupLabel"),entries:[]};(0,_LinkProps2.default)(detailsGroup,element,translate),(0,_EventProps2.default)(detailsGroup,element,bpmnFactory,elementRegistry,translate),(0,_ConditionalProps2.default)(detailsGroup,element,bpmnFactory,translate);var taskGroup={id:"task",label:getLocalizedStringForKey("taskGroupLabel"),entries:[]};(0,_TaskProperties2.default)(taskGroup,element);var scriptTaskGroup={id:"scriptTask",label:getLocalizedStringForKey("scriptGroupLabel"),entries:[]};return(0,_ScriptTaskProperties2.default)(scriptTaskGroup,element),[generalGroup,taskGroup,scriptTaskGroup]}(element,bpmnFactory,elementRegistry,translate)},{id:"permissions",label:getLocalizedStringForKey("permissionsLabel"),groups:function(element){var permissionGroup={id:"permission",label:"",entries:[]};return(0,_PermissionProperties2.default)(permissionGroup,element),[permissionGroup]}(element)},{id:"conditions",label:getLocalizedStringForKey("conditionLabel"),groups:function(element){var conditionGroup={id:"condition",label:"",entries:[]};return(0,_ConditionProperties2.default)(conditionGroup,element),[conditionGroup]}(element)}]}}(0,_inherits2.default)(TemplatePropertiesProvider,_PropertiesActivator2.default)},{"./parts/ConditionProperties":593,"./parts/KitodoNameProps":594,"./parts/PermissionProperties":595,"./parts/ScriptTaskProperties":596,"./parts/TaskProperties":597,"bpmn-js-properties-panel/lib/PropertiesActivator":2,"bpmn-js-properties-panel/lib/provider/bpmn/parts/EventProps":28,"bpmn-js-properties-panel/lib/provider/bpmn/parts/IdProps":29,"bpmn-js-properties-panel/lib/provider/bpmn/parts/LinkProps":30,"bpmn-js-properties-panel/lib/provider/bpmn/parts/NameProps":31,"bpmn-js-properties-panel/lib/provider/bpmn/parts/ProcessProps":32,"bpmn-js-properties-panel/lib/provider/camunda/parts/ConditionalProps":43,"bpmn-js/lib/util/ModelUtil":172,inherits:369}],592:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,_TemplatePropertiesProvider=require("./TemplatePropertiesProvider"),_TemplatePropertiesProvider2=(obj=_TemplatePropertiesProvider)&&obj.__esModule?obj:{default:obj};exports.default={__init__:["propertiesProvider"],propertiesProvider:["type",_TemplatePropertiesProvider2.default]}},{"./TemplatePropertiesProvider":591}],593:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(group,element){(0,_ModelUtil.is)(element,"bpmn:Task")&&(group.entries.push(_EntryFactory2.default.selectBox({id:"conditionType",description:getLocalizedStringForKey("kitodoConditionTypeDescription"),label:getLocalizedStringForKey("kitodoConditionType"),selectOptions:[{name:getLocalizedStringForKey("kitodoConditionTypeNone"),value:"none"},{name:getLocalizedStringForKey("kitodoConditionTypeScript"),value:"script"},{name:getLocalizedStringForKey("kitodoConditionTypeXPath"),value:"xpath"}],modelProperty:"kitodoConditionType"})),group.entries.push(_EntryFactory2.default.textField({id:"conditionValue",description:getLocalizedStringForKey("kitodoConditionValueDescription"),label:getLocalizedStringForKey("kitodoConditionValue"),modelProperty:"kitodoConditionValue"})))};var obj,_EntryFactory=require("bpmn-js-properties-panel/lib/factory/EntryFactory"),_EntryFactory2=(obj=_EntryFactory)&&obj.__esModule?obj:{default:obj},_ModelUtil=require("bpmn-js/lib/util/ModelUtil")},{"bpmn-js-properties-panel/lib/factory/EntryFactory":13,"bpmn-js/lib/util/ModelUtil":172}],594:[function(require,module,exports){"use strict";var obj,_EntryFactory=require("bpmn-js-properties-panel/lib/factory/EntryFactory"),_EntryFactory2=(obj=_EntryFactory)&&obj.__esModule?obj:{default:obj};var is=require("bpmn-js/lib/util/ModelUtil").is,getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,cmdHelper=require("bpmn-js-properties-panel/lib/helper/CmdHelper");require("diagram-js/lib/core/ElementRegistry").get,require("diagram-js/lib/core/EventBus");module.exports=function(group,element,translate){if(!is(element,"bpmn:Collaboration")){var options;is(element,"bpmn:TextAnnotation")&&(options={modelProperty:"text"}),options={id:"name",label:"Name",modelProperty:"name",get:function(){var res={},assignedName=getBusinessObject(element).get(options.modelProperty);return null==assignedName?is(element,"bpmn:Task")?res[options.modelProperty]=getLocalizedStringForKey("taskDefaultName"):is(element,"bpmn:StartEvent")?res[options.modelProperty]=getLocalizedStringForKey("startEventDefaultName"):is(element,"bpmn:EndEvent")&&(res[options.modelProperty]=getLocalizedStringForKey("endEventDefaultName")):res[options.modelProperty]=assignedName,cmdHelper.updateProperties(element,res),res}};var nameEntryTextBox=_EntryFactory2.default.textBox(options);is(element,"bpmn:Task")||is(element,"bpmn:StartEvent")||is(element,"bpmn:EndEvent")||(nameEntryTextBox.cssClasses=["hidden"]),group.entries=group.entries.concat(nameEntryTextBox)}}},{"bpmn-js-properties-panel/lib/factory/EntryFactory":13,"bpmn-js-properties-panel/lib/helper/CmdHelper":23,"bpmn-js/lib/util/ModelUtil":172,"diagram-js/lib/core/ElementRegistry":186,"diagram-js/lib/core/EventBus":187}],595:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(group,element){(0,_ModelUtil.is)(element,"bpmn:Task")&&$.each(availableUserRoles,function(index,value){var permissionCheckbox=_EntryFactory2.default.checkbox({id:"permittedUserRole_"+value.value,description:"",label:value.name,modelProperty:"permittedUserRole_"+index});permissionCheckbox.get=function(element){var res={},assignedRoles=getBusinessObject(element).get("permittedUserRole");if(null==assignedRoles)return res["permittedUserRole_"+index]=!1,res;var isSet=assignedRoles.split(",").indexOf(value.value);return res["permittedUserRole_"+index]=-1!==isSet,res},permissionCheckbox.set=function(element,values){var rolesArray,res={},assignedRoles=getBusinessObject(element).get("permittedUserRole");rolesArray=null==assignedRoles?(assignedRoles="",[]):assignedRoles.split(",");var checkboxValue=values["permittedUserRole_"+index];if(null==checkboxValue){var position=rolesArray.indexOf(value.value);rolesArray.splice(position,1)}1==checkboxValue&&rolesArray.push(value.value);var propertyString=rolesArray.join(",");return","==propertyString.charAt(0)&&(propertyString=propertyString.substr(1)),res.permittedUserRole=propertyString,cmdHelper.updateProperties(element,res)},group.entries.push(permissionCheckbox)})};var obj,_EntryFactory=require("bpmn-js-properties-panel/lib/factory/EntryFactory"),_EntryFactory2=(obj=_EntryFactory)&&obj.__esModule?obj:{default:obj},_ModelUtil=require("bpmn-js/lib/util/ModelUtil");var getBusinessObject=require("bpmn-js/lib/util/ModelUtil").getBusinessObject,cmdHelper=require("bpmn-js-properties-panel/lib/helper/CmdHelper")},{"bpmn-js-properties-panel/lib/factory/EntryFactory":13,"bpmn-js-properties-panel/lib/helper/CmdHelper":23,"bpmn-js/lib/util/ModelUtil":172}],596:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(group,element){(0,_ModelUtil.is)(element,"bpmn:ScriptTask")&&(group.entries.push(_EntryFactory2.default.textField({id:"scriptName",description:getLocalizedStringForKey("scriptNameDescription"),label:getLocalizedStringForKey("scriptName"),modelProperty:"scriptName"})),group.entries.push(_EntryFactory2.default.textField({id:"scriptPath",description:getLocalizedStringForKey("scriptPathDescription"),label:getLocalizedStringForKey("scriptPath"),modelProperty:"scriptPath"})))};var obj,_EntryFactory=require("bpmn-js-properties-panel/lib/factory/EntryFactory"),_EntryFactory2=(obj=_EntryFactory)&&obj.__esModule?obj:{default:obj},_ModelUtil=require("bpmn-js/lib/util/ModelUtil")},{"bpmn-js-properties-panel/lib/factory/EntryFactory":13,"bpmn-js/lib/util/ModelUtil":172}],597:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(group,element){(0,_ModelUtil.is)(element,"bpmn:Task")&&(group.entries.push(_EntryFactory2.default.checkbox({id:"correction",description:getLocalizedStringForKey("correctionDescription"),label:getLocalizedStringForKey("correction"),modelProperty:"correction"})),group.entries.push(_EntryFactory2.default.selectBox({id:"processingStatus",description:getLocalizedStringForKey("processingstatusDescription"),label:getLocalizedStringForKey("processingstatus"),selectOptions:[{name:getLocalizedStringForKey("locked"),value:0},{name:getLocalizedStringForKey("closed"),value:3}],modelProperty:"processingStatus"})),group.entries.push(_EntryFactory2.default.checkbox({id:"typeMetadata",description:getLocalizedStringForKey("metadataDescription"),label:getLocalizedStringForKey("metadata"),modelProperty:"typeMetadata"})),group.entries.push(_EntryFactory2.default.checkbox({id:"separateStructure",description:getLocalizedStringForKey("separateStructureDescription"),label:getLocalizedStringForKey("separateStructure"),modelProperty:"separateStructure"})),group.entries.push(_EntryFactory2.default.checkbox({id:"typeImagesRead",description:getLocalizedStringForKey("typeImagesReadDescription"),label:getLocalizedStringForKey("typeImagesRead"),modelProperty:"typeImagesRead"})),group.entries.push(_EntryFactory2.default.checkbox({id:"typeImagesWrite",description:getLocalizedStringForKey("typeImagesWriteDescription"),label:getLocalizedStringForKey("typeImagesWrite"),modelProperty:"typeImagesWrite"})),group.entries.push(_EntryFactory2.default.checkbox({id:"typeGenerateImages",description:getLocalizedStringForKey("typeGenerateImagesDescription"),label:getLocalizedStringForKey("typeGenerateImages"),modelProperty:"typeGenerateImages"})),group.entries.push(_EntryFactory2.default.checkbox({id:"typeValidateImages",description:getLocalizedStringForKey("typeValidateImagesDescription"),label:getLocalizedStringForKey("typeValidateImages"),modelProperty:"typeValidateImages"})),group.entries.push(_EntryFactory2.default.checkbox({id:"typeExportDMS",description:getLocalizedStringForKey("typeExportDMSDescription"),label:getLocalizedStringForKey("typeExportDMS"),modelProperty:"typeExportDMS"})),group.entries.push(_EntryFactory2.default.checkbox({id:"typeCloseVerify",description:getLocalizedStringForKey("typeCloseVerifyDescription"),label:getLocalizedStringForKey("typeCloseVerify"),modelProperty:"typeCloseVerify"})),group.entries.push(_EntryFactory2.default.checkbox({id:"typeAcceptClose",description:getLocalizedStringForKey("typeAcceptCloseDescription"),label:getLocalizedStringForKey("typeAcceptClose"),modelProperty:"typeAcceptClose"})),group.entries.push(_EntryFactory2.default.checkbox({id:"typeAutomatic",description:getLocalizedStringForKey("typeAutomaticDescription"),label:getLocalizedStringForKey("typeAutomatic"),modelProperty:"typeAutomatic"})),group.entries.push(_EntryFactory2.default.checkbox({id:"batchStep",description:getLocalizedStringForKey("batchStepDescription"),label:getLocalizedStringForKey("batchStep"),modelProperty:"batchStep"})),group.entries.push(_EntryFactory2.default.checkbox({id:"concurrent",description:getLocalizedStringForKey("concurrentDescription"),label:getLocalizedStringForKey("concurrent"),modelProperty:"concurrent"})))};var obj,_EntryFactory=require("bpmn-js-properties-panel/lib/factory/EntryFactory"),_EntryFactory2=(obj=_EntryFactory)&&obj.__esModule?obj:{default:obj},_ModelUtil=require("bpmn-js/lib/util/ModelUtil")},{"bpmn-js-properties-panel/lib/factory/EntryFactory":13,"bpmn-js/lib/util/ModelUtil":172}]},{},[590,592,593,594,595,596,597,591]),de_DE={generalGroupLabel:"Allgemeine Eigenschaften",taskGroupLabel:"Aufgaben Eigenschaften",scriptGroupLabel:"Skript Eigenschaften",detailsGroupLabel:"Details",propertiesLabel:"Eigenschaften",permissionsLabel:"Berechtigungen",conditionLabel:"Bedingungen",correction:"Korrektur",correctionDescription:" ",processingstatus:"Bearbeitungsstatus",processingstatusDescription:" ",locked:"Gesperrt",closed:"Abgeschlossen",metadata:"Metadaten",metadataDescription:"Metadaten in der Aufgabe bearbeiten?",separateStructure:"Erweiterter Strukturbaum",separateStructureDescription:" ",typeImagesRead:"Bilder lesen",typeImagesReadDescription:" ",typeImagesWrite:"Bilder schreiben",typeImagesWriteDescription:" ",typeGenerateImages:"Bilder generieren",typeGenerateImagesDescription:" ",typeValidateImages:"Bilder validieren",typeValidateImagesDescription:" ",typeExportDMS:"Export DMS",typeExportDMSDescription:" ",typeCloseVerify:"Beim Abschluss validieren",typeCloseVerifyDescription:" ",typeAcceptClose:"Nach dem Annehmen schließen",typeAcceptCloseDescription:" ",typeAutomatic:"Automatisch",typeAutomaticDescription:"Ist es eine automatische Aufgabe?",batchStep:"Stapelverarbeitung",batchStepDescription:" ",concurrent:"Parallele Aufgabe",concurrentDescription:" ",scriptName:"Skript",scriptNameDescription:"Name des Skripts einfügen",scriptPath:"Skript Pfad",scriptPathDescription:"Pfad zum Skript einfügen",kitodoConditionType:" ",kitodoConditionTypeDescription:" ",kitodoConditionTypeNone:"Keine",kitodoConditionTypeScript:"Script",kitodoConditionTypeXPath:"XPath",kitodoConditionValue:"Wert",kitodoConditionValueDescription:" ",taskDefaultName:"Aufgabe",startEventDefaultName:"Start",endEventDefaultName:"Ende"},en_EN={generalGroupLabel:"General Properties",taskGroupLabel:"Task Properties",scriptGroupLabel:"Script Properties",detailsGroupLabel:"Details",propertiesLabel:"Properties",permissionsLabel:"Permissions",conditionLabel:"Conditions",correction:"Correction",correctionDescription:" ",processingstatus:"Processing status",processingstatusDescription:" ",locked:"Locked",closed:"Closed",metadata:"Metadata",metadataDescription:"Is it task metadata type?",separateStructure:"Extended Structure Tree",separateStructureDescription:" ",typeImagesRead:"Read images",typeImagesReadDescription:" ",typeImagesWrite:"Write Images",typeImagesWriteDescription:" ",typeGenerateImages:"Generate Images",typeGenerateImagesDescription:" ",typeValidateImages:"Validate Images",typeValidateImagesDescription:" ",typeExportDMS:"Export DMS",typeExportDMSDescription:" ",typeCloseVerify:"Validate on Exit",typeCloseVerifyDescription:" ",typeAcceptClose:"Finalise task after accepting",typeAcceptCloseDescription:" ",typeAutomatic:"Automatic Task",typeAutomaticDescription:"Is it task automatic type?",batchStep:"Batch Task",batchStepDescription:" ",concurrent:"Concurrent Task",concurrentDescription:" ",scriptName:"Script Name",scriptNameDescription:"Insert script name",scriptPath:"Script Path",scriptPathDescription:"Insert script path",kitodoConditionType:" ",kitodoConditionTypeDescription:" ",kitodoConditionTypeNone:"None",kitodoConditionTypeScript:"Script",kitodoConditionTypeXPath:"XPath",kitodoConditionValue:"Value",kitodoConditionValueDescription:" ",taskDefaultName:"Task",startEventDefaultName:"Start",endEventDefaultName:"End"}; \ No newline at end of file