annotate test-data/rpviz_single_output.html @ 0:ea2ca40a24c5 draft

"planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
author tduigou
date Mon, 13 Dec 2021 17:40:42 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1 <!DOCTYPE html>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3 <!--
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4 __author__ = 'Thomas Duigou (thomas.duigou@inra.fr)'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5 __license__ = 'MIT'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6 -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
7
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
8 <html lang="en">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
9 <head>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
10 <meta charset="utf-8">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
11 <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1"/>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
12
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
13 <title>Pathway viewer</title>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
14
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
15 <!-- Local libraries -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
16 <script >/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
17 !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.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(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
18 </script>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
19 <script >/**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
20 * Copyright (c) 2016-2021, The Cytoscape Consortium.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
21 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
22 * Permission is hereby granted, free of charge, to any person obtaining a copy of
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
23 * this software and associated documentation files (the “Software”), to deal in
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
24 * the Software without restriction, including without limitation the rights to
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
25 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
26 * of the Software, and to permit persons to whom the Software is furnished to do
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
27 * so, subject to the following conditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
28 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
29 * The above copyright notice and this permission notice shall be included in all
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
30 * copies or substantial portions of the Software.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
31 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
32 * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
33 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
34 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
35 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
36 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
37 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
38 * SOFTWARE.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
39 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
40
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
41 !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).cytoscape=t()}(this,(function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function r(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var o="undefined"==typeof window?null:window,s=o?o.navigator:null,l=(o&&o.document,e("")),u=e({}),c=e((function(){})),d="undefined"==typeof HTMLElement?"undefined":e(HTMLElement),h=function(e){return e&&e.instanceString&&f(e.instanceString)?e.instanceString():null},p=function(t){return null!=t&&e(t)==l},f=function(t){return null!=t&&e(t)===c},g=function(e){return!b(e)&&(Array.isArray?Array.isArray(e):null!=e&&e instanceof Array)},v=function(t){return null!=t&&e(t)===u&&!g(t)&&t.constructor===Object},y=function(t){return null!=t&&e(t)===e(1)&&!isNaN(t)},m=function(e){return"undefined"===d?void 0:null!=e&&e instanceof HTMLElement},b=function(e){return x(e)||w(e)},x=function(e){return"collection"===h(e)&&e._private.single},w=function(e){return"collection"===h(e)&&!e._private.single},E=function(e){return"core"===h(e)},k=function(e){return"stylesheet"===h(e)},C=function(e){return null==e||!(""!==e&&!e.match(/^\s+$/))},S=function(t){return function(t){return null!=t&&e(t)===u}(t)&&f(t.then)},P=function(e,t){t||(t=function(){if(1===arguments.length)return arguments[0];if(0===arguments.length)return"undefined";for(var e=[],t=0;t<arguments.length;t++)e.push(arguments[t]);return e.join("$")});var n=function n(){var r,i=this,a=arguments,o=t.apply(i,a),s=n.cache;return(r=s[o])||(r=s[o]=e.apply(i,a)),r};return n.cache={},n},D=P((function(e){return e.replace(/([A-Z])/g,(function(e){return"-"+e.toLowerCase()}))})),T=P((function(e){return e.replace(/(-\w)/g,(function(e){return e[1].toUpperCase()}))})),M=P((function(e,t){return e+t[0].toUpperCase()+t.substring(1)}),(function(e,t){return e+"$"+t})),B=function(e){return C(e)?e:e.charAt(0).toUpperCase()+e.substring(1)},_="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",N=function(e,t){return e<t?-1:e>t?1:0},I=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,n=1;n<t.length;n++){var r=t[n];if(null!=r)for(var i=Object.keys(r),a=0;a<i.length;a++){var o=i[a];e[o]=r[o]}}return e},z=function(e){return(g(e)?e:null)||function(e){return L[e.toLowerCase()]}(e)||function(e){if((4===e.length||7===e.length)&&"#"===e[0]){var t,n,r;return 4===e.length?(t=parseInt(e[1]+e[1],16),n=parseInt(e[2]+e[2],16),r=parseInt(e[3]+e[3],16)):(t=parseInt(e[1]+e[2],16),n=parseInt(e[3]+e[4],16),r=parseInt(e[5]+e[6],16)),[t,n,r]}}(e)||function(e){var t,n=new RegExp("^rgb[a]?\\(((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%]?)\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%]?)\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%]?)(?:\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))))?\\)$").exec(e);if(n){t=[];for(var r=[],i=1;i<=3;i++){var a=n[i];if("%"===a[a.length-1]&&(r[i]=!0),a=parseFloat(a),r[i]&&(a=a/100*255),a<0||a>255)return;t.push(Math.floor(a))}var o=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(o&&!s)return;var l=n[4];if(void 0!==l){if((l=parseFloat(l))<0||l>1)return;t.push(l)}}return t}(e)||function(e){var t,n,r,i,a,o,s,l;function u(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var c=new RegExp("^hsl[a]?\\(((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?)))\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%])\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%])(?:\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))))?\\)$").exec(e);if(c){if((n=parseInt(c[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(c[2]))<0||r>100)return;if(r/=100,(i=parseFloat(c[3]))<0||i>100)return;if(i/=100,void 0!==(a=c[4])&&((a=parseFloat(a))<0||a>1))return;if(0===r)o=s=l=Math.round(255*i);else{var d=i<.5?i*(1+r):i+r-i*r,h=2*i-d;o=Math.round(255*u(h,d,n+1/3)),s=Math.round(255*u(h,d,n)),l=Math.round(255*u(h,d,n-1/3))}t=[o,s,l,a]}return t}(e)},L={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},A=function(e){for(var t=e.map,n=e.keys,r=n.length,i=0;i<r;i++){var a=n[i];if(v(a))throw Error("Tried to set map with object key");i<n.length-1?(null==t[a]&&(t[a]={}),t=t[a]):t[a]=e.value}},O=function(e){for(var t=e.map,n=e.keys,r=n.length,i=0;i<r;i++){var a=n[i];if(v(a))throw Error("Tried to get map with object key");if(null==(t=t[a]))return t}return t},R="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var V=/^\s+|\s+$/g,F=/^[-+]0x[0-9a-f]+$/i,q=/^0b[01]+$/i,j=/^0o[0-7]+$/i,Y=parseInt,X="object"==typeof R&&R&&R.Object===Object&&R,W="object"==typeof self&&self&&self.Object===Object&&self,H=X||W||Function("return this")(),K=Object.prototype.toString,G=Math.max,Z=Math.min,U=function(){return H.Date.now()};function $(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function Q(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==K.call(e)}(e))return NaN;if($(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=$(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(V,"");var n=q.test(e);return n||j.test(e)?Y(e.slice(2),n?2:8):F.test(e)?NaN:+e}var J=function(e,t,n){var r,i,a,o,s,l,u=0,c=!1,d=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var n=r,a=i;return r=i=void 0,u=t,o=e.apply(a,n)}function f(e){return u=e,s=setTimeout(v,t),c?p(e):o}function g(e){var n=e-l;return void 0===l||n>=t||n<0||d&&e-u>=a}function v(){var e=U();if(g(e))return y(e);s=setTimeout(v,function(e){var n=t-(e-l);return d?Z(n,a-(e-u)):n}(e))}function y(e){return s=void 0,h&&r?p(e):(r=i=void 0,o)}function m(){var e=U(),n=g(e);if(r=arguments,i=this,l=e,n){if(void 0===s)return f(l);if(d)return s=setTimeout(v,t),p(l)}return void 0===s&&(s=setTimeout(v,t)),o}return t=Q(t)||0,$(n)&&(c=!!n.leading,a=(d="maxWait"in n)?G(Q(n.maxWait)||0,t):a,h="trailing"in n?!!n.trailing:h),m.cancel=function(){void 0!==s&&clearTimeout(s),u=0,r=l=i=s=void 0},m.flush=function(){return void 0===s?o:y(U())},m},ee=o?o.performance:null,te=ee&&ee.now?function(){return ee.now()}:function(){return Date.now()},ne=function(){if(o){if(o.requestAnimationFrame)return function(e){o.requestAnimationFrame(e)};if(o.mozRequestAnimationFrame)return function(e){o.mozRequestAnimationFrame(e)};if(o.webkitRequestAnimationFrame)return function(e){o.webkitRequestAnimationFrame(e)};if(o.msRequestAnimationFrame)return function(e){o.msRequestAnimationFrame(e)}}return function(e){e&&setTimeout((function(){e(te())}),1e3/60)}}(),re=function(e){return ne(e)},ie=te,ae=65599,oe=function(e){for(var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261,r=n;!(t=e.next()).done;)r=r*ae+t.value|0;return r},se=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261;return t*ae+e|0},le=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5381;return(t<<5)+t+e|0},ue=function(e){return 2097152*e[0]+e[1]},ce=function(e,t){return[se(e[0],t[0]),le(e[1],t[1])]},de=function(e,t){var n={value:0,done:!1},r=0,i=e.length;return oe({next:function(){return r<i?n.value=e.charCodeAt(r++):n.done=!0,n}},t)},he=function(){return pe(arguments)},pe=function(e){for(var t,n=0;n<e.length;n++){var r=e[n];t=0===n?de(r):de(r,t)}return t},fe=!0,ge=null!=console.warn,ve=null!=console.trace,ye=Number.MAX_SAFE_INTEGER||9007199254740991,me=function(){return!0},be=function(){return!1},xe=function(){return 0},we=function(){},Ee=function(e){throw new Error(e)},ke=function(e){if(void 0===e)return fe;fe=!!e},Ce=function(e){ke()&&(ge?console.warn(e):(console.log(e),ve&&console.trace()))},Se=function(e){return null==e?e:g(e)?e.slice():v(e)?function(e){return I({},e)}(e):e},Pe=function(e,t){for(t=e="";e++<36;t+=51*e&52?(15^e?8^Math.random()*(20^e?16:4):4).toString(16):"-");return t},De={},Te=function(){return De},Me=function(e){var t=Object.keys(e);return function(n){for(var r={},i=0;i<t.length;i++){var a=t[i],o=null==n?void 0:n[a];r[a]=void 0===o?e[a]:o}return r}},Be=function(e,t,n){for(var r=e.length-1;r>=0&&(e[r]!==t||(e.splice(r,1),!n));r--);},_e=function(e){e.splice(0,e.length)},Ne=function(e,t,n){return n&&(t=M(n,t)),e[t]},Ie=function(e,t,n,r){n&&(t=M(n,t)),e[t]=r},ze="undefined"!=typeof Map?Map:function(){function e(){t(this,e),this._obj={}}return r(e,[{key:"set",value:function(e,t){return this._obj[e]=t,this}},{key:"delete",value:function(e){return this._obj[e]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(e){return void 0!==this._obj[e]}},{key:"get",value:function(e){return this._obj[e]}}]),e}(),Le=function(){function e(n){if(t(this,e),this._obj=Object.create(null),this.size=0,null!=n){var r;r=null!=n.instanceString&&n.instanceString()===this.instanceString()?n.toArray():n;for(var i=0;i<r.length;i++)this.add(r[i])}}return r(e,[{key:"instanceString",value:function(){return"set"}},{key:"add",value:function(e){var t=this._obj;1!==t[e]&&(t[e]=1,this.size++)}},{key:"delete",value:function(e){var t=this._obj;1===t[e]&&(t[e]=0,this.size--)}},{key:"clear",value:function(){this._obj=Object.create(null)}},{key:"has",value:function(e){return 1===this._obj[e]}},{key:"toArray",value:function(){var e=this;return Object.keys(this._obj).filter((function(t){return e.has(t)}))}},{key:"forEach",value:function(e,t){return this.toArray().forEach(e,t)}}]),e}(),Ae="undefined"!==("undefined"==typeof Set?"undefined":e(Set))?Set:Le,Oe=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0!==e&&void 0!==t&&E(e)){var r=t.group;if(null==r&&(r=t.data&&null!=t.data.source&&null!=t.data.target?"edges":"nodes"),"nodes"===r||"edges"===r){this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:void 0===t.selectable||!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:void 0===t.grabbable||!!t.grabbable,pannable:void 0===t.pannable?"edges"===r:!!t.pannable,active:!1,classes:new Ae,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),t.renderedPosition){var a=t.renderedPosition,o=e.pan(),s=e.zoom();i.position={x:(a.x-o.x)/s,y:(a.y-o.y)/s}}var l=[];g(t.classes)?l=t.classes:p(t.classes)&&(l=t.classes.split(/\s+/));for(var u=0,c=l.length;u<c;u++){var d=l[u];d&&""!==d&&i.classes.add(d)}this.createEmitter();var h=t.style||t.css;h&&(Ce("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."),this.style(h)),(void 0===n||n)&&this.restore()}else Ee("An element must be of type `nodes` or `edges`; you specified `"+r+"`")}else Ee("An element must have a core reference and parameters set")},Re=function(e){return e={bfs:e.bfs||!e.dfs,dfs:e.dfs||!e.bfs},function(t,n,r){var i;v(t)&&!b(t)&&(t=(i=t).roots||i.root,n=i.visit,r=i.directed),r=2!==arguments.length||f(n)?r:n,n=f(n)?n:function(){};for(var a,o=this._private.cy,s=t=p(t)?this.filter(t):t,l=[],u=[],c={},d={},h={},g=0,y=this.byGroup(),m=y.nodes,x=y.edges,w=0;w<s.length;w++){var E=s[w],k=E.id();E.isNode()&&(l.unshift(E),e.bfs&&(h[k]=!0,u.push(E)),d[k]=0)}var C=function(){var t=e.bfs?l.shift():l.pop(),i=t.id();if(e.dfs){if(h[i])return"continue";h[i]=!0,u.push(t)}var o,s=d[i],p=c[i],f=null!=p?p.source():null,v=null!=p?p.target():null,y=null==p?void 0:t.same(f)?v[0]:f[0];if(!0===(o=n(t,p,y,g++,s)))return a=t,"break";if(!1===o)return"break";for(var b=t.connectedEdges().filter((function(e){return(!r||e.source().same(t))&&x.has(e)})),w=0;w<b.length;w++){var E=b[w],k=E.connectedNodes().filter((function(e){return!e.same(t)&&m.has(e)})),C=k.id();0===k.length||h[C]||(k=k[0],l.push(k),e.bfs&&(h[C]=!0,u.push(k)),c[C]=E,d[C]=d[i]+1)}};e:for(;0!==l.length;){var S=C();switch(S){case"continue":continue;case"break":break e}}for(var P=o.collection(),D=0;D<u.length;D++){var T=u[D],M=c[T.id()];null!=M&&P.push(M),P.push(T)}return{path:o.collection(P),found:o.collection(a)}}},Ve={breadthFirstSearch:Re({bfs:!0}),depthFirstSearch:Re({dfs:!0})};Ve.bfs=Ve.breadthFirstSearch,Ve.dfs=Ve.depthFirstSearch;var Fe=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e,t){(function(){var t,n,r,i,a,o,s,l,u,c,d,h,p,f,g;r=Math.floor,c=Math.min,n=function(e,t){return e<t?-1:e>t?1:0},u=function(e,t,i,a,o){var s;if(null==i&&(i=0),null==o&&(o=n),i<0)throw new Error("lo must be non-negative");for(null==a&&(a=e.length);i<a;)o(t,e[s=r((i+a)/2)])<0?a=s:i=s+1;return[].splice.apply(e,[i,i-i].concat(t)),t},o=function(e,t,r){return null==r&&(r=n),e.push(t),f(e,0,e.length-1,r)},a=function(e,t){var r,i;return null==t&&(t=n),r=e.pop(),e.length?(i=e[0],e[0]=r,g(e,0,t)):i=r,i},l=function(e,t,r){var i;return null==r&&(r=n),i=e[0],e[0]=t,g(e,0,r),i},s=function(e,t,r){var i;return null==r&&(r=n),e.length&&r(e[0],t)<0&&(t=(i=[e[0],t])[0],e[0]=i[1],g(e,0,r)),t},i=function(e,t){var i,a,o,s,l,u;for(null==t&&(t=n),l=[],a=0,o=(s=function(){u=[];for(var t=0,n=r(e.length/2);0<=n?t<n:t>n;0<=n?t++:t--)u.push(t);return u}.apply(this).reverse()).length;a<o;a++)i=s[a],l.push(g(e,i,t));return l},p=function(e,t,r){var i;if(null==r&&(r=n),-1!==(i=e.indexOf(t)))return f(e,0,i,r),g(e,i,r)},d=function(e,t,r){var a,o,l,u,c;if(null==r&&(r=n),!(o=e.slice(0,t)).length)return o;for(i(o,r),l=0,u=(c=e.slice(t)).length;l<u;l++)a=c[l],s(o,a,r);return o.sort(r).reverse()},h=function(e,t,r){var o,s,l,d,h,p,f,g,v;if(null==r&&(r=n),10*t<=e.length){if(!(l=e.slice(0,t).sort(r)).length)return l;for(s=l[l.length-1],d=0,p=(f=e.slice(t)).length;d<p;d++)r(o=f[d],s)<0&&(u(l,o,0,null,r),l.pop(),s=l[l.length-1]);return l}for(i(e,r),v=[],h=0,g=c(t,e.length);0<=g?h<g:h>g;0<=g?++h:--h)v.push(a(e,r));return v},f=function(e,t,r,i){var a,o,s;for(null==i&&(i=n),a=e[r];r>t&&i(a,o=e[s=r-1>>1])<0;)e[r]=o,r=s;return e[r]=a},g=function(e,t,r){var i,a,o,s,l;for(null==r&&(r=n),a=e.length,l=t,o=e[t],i=2*t+1;i<a;)(s=i+1)<a&&!(r(e[i],e[s])<0)&&(i=s),e[t]=e[i],i=2*(t=i)+1;return e[t]=o,f(e,l,t,r)},t=function(){function e(e){this.cmp=null!=e?e:n,this.nodes=[]}return e.push=o,e.pop=a,e.replace=l,e.pushpop=s,e.heapify=i,e.updateItem=p,e.nlargest=d,e.nsmallest=h,e.prototype.push=function(e){return o(this.nodes,e,this.cmp)},e.prototype.pop=function(){return a(this.nodes,this.cmp)},e.prototype.peek=function(){return this.nodes[0]},e.prototype.contains=function(e){return-1!==this.nodes.indexOf(e)},e.prototype.replace=function(e){return l(this.nodes,e,this.cmp)},e.prototype.pushpop=function(e){return s(this.nodes,e,this.cmp)},e.prototype.heapify=function(){return i(this.nodes,this.cmp)},e.prototype.updateItem=function(e){return p(this.nodes,e,this.cmp)},e.prototype.clear=function(){return this.nodes=[]},e.prototype.empty=function(){return 0===this.nodes.length},e.prototype.size=function(){return this.nodes.length},e.prototype.clone=function(){var t;return(t=new e).nodes=this.nodes.slice(0),t},e.prototype.toArray=function(){return this.nodes.slice(0)},e.prototype.insert=e.prototype.push,e.prototype.top=e.prototype.peek,e.prototype.front=e.prototype.peek,e.prototype.has=e.prototype.contains,e.prototype.copy=e.prototype.clone,e}(),e.exports=t}).call(R)})),qe=Me({root:null,weight:function(e){return 1},directed:!1}),je={dijkstra:function(e){if(!v(e)){var t=arguments;e={root:t[0],weight:t[1],directed:t[2]}}var n=qe(e),r=n.root,i=n.weight,a=n.directed,o=this,s=i,l=p(r)?this.filter(r)[0]:r[0],u={},c={},d={},h=this.byGroup(),f=h.nodes,g=h.edges;g.unmergeBy((function(e){return e.isLoop()}));for(var y=function(e){return u[e.id()]},m=function(e,t){u[e.id()]=t,b.updateItem(e)},b=new Fe((function(e,t){return y(e)-y(t)})),x=0;x<f.length;x++){var w=f[x];u[w.id()]=w.same(l)?0:1/0,b.push(w)}for(var E=function(e,t){for(var n,r=(a?e.edgesTo(t):e.edgesWith(t)).intersect(g),i=1/0,o=0;o<r.length;o++){var l=r[o],u=s(l);(u<i||!n)&&(i=u,n=l)}return{edge:n,dist:i}};b.size()>0;){var k=b.pop(),C=y(k),S=k.id();if(d[S]=C,C!==1/0)for(var P=k.neighborhood().intersect(f),D=0;D<P.length;D++){var T=P[D],M=T.id(),B=E(k,T),_=C+B.dist;_<y(T)&&(m(T,_),c[M]={node:k,edge:B.edge})}}return{distanceTo:function(e){var t=p(e)?f.filter(e)[0]:e[0];return d[t.id()]},pathTo:function(e){var t=p(e)?f.filter(e)[0]:e[0],n=[],r=t,i=r.id();if(t.length>0)for(n.unshift(t);c[i];){var a=c[i];n.unshift(a.edge),n.unshift(a.node),i=(r=a.node).id()}return o.spawn(n)}}}},Ye={kruskal:function(e){e=e||function(e){return 1};for(var t=this.byGroup(),n=t.nodes,r=t.edges,i=n.length,a=new Array(i),o=n,s=function(e){for(var t=0;t<a.length;t++){if(a[t].has(e))return t}},l=0;l<i;l++)a[l]=this.spawn(n[l]);for(var u=r.sort((function(t,n){return e(t)-e(n)})),c=0;c<u.length;c++){var d=u[c],h=d.source()[0],p=d.target()[0],f=s(h),g=s(p),v=a[f],y=a[g];f!==g&&(o.merge(d),v.merge(y),a.splice(g,1))}return o}},Xe=Me({root:null,goal:null,weight:function(e){return 1},heuristic:function(e){return 0},directed:!1}),We={aStar:function(e){var t=this.cy(),n=Xe(e),r=n.root,i=n.goal,a=n.heuristic,o=n.directed,s=n.weight;r=t.collection(r)[0],i=t.collection(i)[0];var l,u,c=r.id(),d=i.id(),h={},p={},f={},g=new Fe((function(e,t){return p[e.id()]-p[t.id()]})),v=new Ae,y={},m={},b=function(e,t){g.push(e),v.add(t)};b(r,c),h[c]=0,p[c]=a(r);for(var x,w=0;g.size()>0;){if(l=g.pop(),u=l.id(),v.delete(u),w++,u===d){for(var E=[],k=i,C=d,S=m[C];E.unshift(k),null!=S&&E.unshift(S),null!=(k=y[C]);)S=m[C=k.id()];return{found:!0,distance:h[u],path:this.spawn(E),steps:w}}f[u]=!0;for(var P=l._private.edges,D=0;D<P.length;D++){var T=P[D];if(this.hasElementWithId(T.id())&&(!o||T.data("source")===u)){var M=T.source(),B=T.target(),_=M.id()!==u?M:B,N=_.id();if(this.hasElementWithId(N)&&!f[N]){var I=h[u]+s(T);x=N,v.has(x)?I<h[N]&&(h[N]=I,p[N]=I+a(_),y[N]=l,m[N]=T):(h[N]=I,p[N]=I+a(_),b(_,N),y[N]=l,m[N]=T)}}}}return{found:!1,distance:void 0,path:void 0,steps:w}}},He=Me({weight:function(e){return 1},directed:!1}),Ke={floydWarshall:function(e){for(var t=this.cy(),n=He(e),r=n.weight,i=n.directed,a=r,o=this.byGroup(),s=o.nodes,l=o.edges,u=s.length,c=u*u,d=function(e){return s.indexOf(e)},h=function(e){return s[e]},f=new Array(c),g=0;g<c;g++){var v=g%u,y=(g-v)/u;f[g]=y===v?0:1/0}for(var m=new Array(c),b=new Array(c),x=0;x<l.length;x++){var w=l[x],E=w.source()[0],k=w.target()[0];if(E!==k){var C=d(E),S=d(k),P=C*u+S,D=a(w);if(f[P]>D&&(f[P]=D,m[P]=S,b[P]=w),!i){var T=S*u+C;!i&&f[T]>D&&(f[T]=D,m[T]=C,b[T]=w)}}}for(var M=0;M<u;M++)for(var B=0;B<u;B++)for(var _=B*u+M,N=0;N<u;N++){var I=B*u+N,z=M*u+N;f[_]+f[z]<f[I]&&(f[I]=f[_]+f[z],m[I]=m[_])}var L=function(e){return d(function(e){return(p(e)?t.filter(e):e)[0]}(e))};return{distance:function(e,t){var n=L(e),r=L(t);return f[n*u+r]},path:function(e,n){var r=L(e),i=L(n),a=h(r);if(r===i)return a.collection();if(null==m[r*u+i])return t.collection();var o,s=t.collection(),l=r;for(s.merge(a);r!==i;)l=r,r=m[r*u+i],o=b[l*u+r],s.merge(o),s.merge(h(r));return s}}}},Ge=Me({weight:function(e){return 1},directed:!1,root:null}),Ze={bellmanFord:function(e){var t=this,n=Ge(e),r=n.weight,i=n.directed,a=n.root,o=r,s=this,l=this.cy(),u=this.byGroup(),c=u.edges,d=u.nodes,h=d.length,f=new ze,g=!1;a=l.collection(a)[0],c.unmergeBy((function(e){return e.isLoop()}));for(var v=c.length,y=function(e){var t=f.get(e.id());return t||(t={},f.set(e.id(),t)),t},m=function(e){return(p(e)?l.$(e):e)[0]},b=0;b<h;b++){var x=d[b],w=y(x);x.same(a)?w.dist=0:w.dist=1/0,w.pred=null,w.edge=null}for(var E=!1,k=function(e,t,n,r,i,a){var o=r.dist+a;o<i.dist&&!n.same(r.edge)&&(i.dist=o,i.pred=e,i.edge=n,E=!0)},C=1;C<h;C++){E=!1;for(var S=0;S<v;S++){var P=c[S],D=P.source(),T=P.target(),M=o(P),B=y(D),_=y(T);k(D,0,P,B,_,M),i||k(T,0,P,_,B,M)}if(!E)break}if(E)for(var N=0;N<v;N++){var I=c[N],z=I.source(),L=I.target(),A=o(I),O=y(z).dist,R=y(L).dist;if(O+A<R||!i&&R+A<O){Ce("Graph contains a negative weight cycle for Bellman-Ford"),g=!0;break}}return{distanceTo:function(e){return y(m(e)).dist},pathTo:function(e){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a,r=m(e),i=[],o=r;;){if(null==o)return t.spawn();var l=y(o),u=l.edge,c=l.pred;if(i.unshift(o[0]),o.same(n)&&i.length>0)break;null!=u&&i.unshift(u),o=c}return s.spawn(i)},hasNegativeWeightCycle:g,negativeWeightCycles:[]}}},Ue=Math.sqrt(2),$e=function(e,t,n){0===n.length&&Ee("Karger-Stein must be run on a connected (sub)graph");for(var r=n[e],i=r[1],a=r[2],o=t[i],s=t[a],l=n,u=l.length-1;u>=0;u--){var c=l[u],d=c[1],h=c[2];(t[d]===o&&t[h]===s||t[d]===s&&t[h]===o)&&l.splice(u,1)}for(var p=0;p<l.length;p++){var f=l[p];f[1]===s?(l[p]=f.slice(),l[p][1]=o):f[2]===s&&(l[p]=f.slice(),l[p][2]=o)}for(var g=0;g<t.length;g++)t[g]===s&&(t[g]=o);return l},Qe=function(e,t,n,r){for(;n>r;){var i=Math.floor(Math.random()*t.length);t=$e(i,e,t),n--}return t},Je={kargerStein:function(){var e=this,t=this.byGroup(),n=t.nodes,r=t.edges;r.unmergeBy((function(e){return e.isLoop()}));var i=n.length,a=r.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/Ue);if(!(i<2)){for(var l=[],u=0;u<a;u++){var c=r[u];l.push([u,n.indexOf(c.source()),n.indexOf(c.target())])}for(var d=1/0,h=[],p=new Array(i),f=new Array(i),g=new Array(i),v=function(e,t){for(var n=0;n<i;n++)t[n]=e[n]},y=0;y<=o;y++){for(var m=0;m<i;m++)f[m]=m;var b=Qe(f,l.slice(),i,s),x=b.slice();v(f,g);var w=Qe(f,b,s,2),E=Qe(g,x,s,2);w.length<=E.length&&w.length<d?(d=w.length,h=w,v(f,p)):E.length<=w.length&&E.length<d&&(d=E.length,h=E,v(g,p))}for(var k=this.spawn(h.map((function(e){return r[e[0]]}))),C=this.spawn(),S=this.spawn(),P=p[0],D=0;D<p.length;D++){var T=p[D],M=n[D];T===P?C.merge(M):S.merge(M)}var B=function(t){var n=e.spawn();return t.forEach((function(t){n.merge(t),t.connectedEdges().forEach((function(t){e.contains(t)&&!k.contains(t)&&n.merge(t)}))})),n},_=[B(C),B(S)];return{cut:k,components:_,partition1:C,partition2:S}}Ee("At least 2 nodes are required for Karger-Stein algorithm")}},et=function(e,t,n){return{x:e.x*t+n.x,y:e.y*t+n.y}},tt=function(e,t,n){return{x:(e.x-n.x)/t,y:(e.y-n.y)/t}},nt=function(e){return{x:e[0],y:e[1]}},rt=function(e,t){return Math.atan2(t,e)-Math.PI/2},it=Math.log2||function(e){return Math.log(e)/Math.log(2)},at=function(e){return e>0?1:e<0?-1:0},ot=function(e,t){return Math.sqrt(st(e,t))},st=function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},lt=function(e){for(var t=e.length,n=0,r=0;r<t;r++)n+=e[r];for(var i=0;i<t;i++)e[i]=e[i]/n;return e},ut=function(e,t,n,r){return(1-r)*(1-r)*e+2*(1-r)*r*t+r*r*n},ct=function(e,t,n,r){return{x:ut(e.x,t.x,n.x,r),y:ut(e.y,t.y,n.y,r)}},dt=function(e,t,n){return Math.max(e,Math.min(n,t))},ht=function(e){if(null==e)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if(null!=e.x1&&null!=e.y1){if(null!=e.x2&&null!=e.y2&&e.x2>=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(null!=e.w&&null!=e.h&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},pt=function(e,t,n){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},ft=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},gt=function(e){var t,n,r,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===o.length)t=n=r=i=o[0];else if(2===o.length)t=r=o[0],i=n=o[1];else if(4===o.length){var s=a(o,4);t=s[0],n=s[1],r=s[2],i=s[3]}return e.x1-=i,e.x2+=n,e.y1-=t,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},vt=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},yt=function(e,t){return!(e.x1>t.x2)&&(!(t.x1>e.x2)&&(!(e.x2<t.x1)&&(!(t.x2<e.x1)&&(!(e.y2<t.y1)&&(!(t.y2<e.y1)&&(!(e.y1>t.y2)&&!(t.y1>e.y2)))))))},mt=function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},bt=function(e,t){return mt(e,t.x1,t.y1)&&mt(e,t.x2,t.y2)},xt=function(e,t,n,r,i,a,o){var s,l=Rt(i,a),u=i/2,c=a/2,d=r-c-o;if((s=Nt(e,t,n,r,n-u+l-o,d,n+u-l+o,d,!1)).length>0)return s;var h=n+u+o;if((s=Nt(e,t,n,r,h,r-c+l-o,h,r+c-l+o,!1)).length>0)return s;var p=r+c+o;if((s=Nt(e,t,n,r,n-u+l-o,p,n+u-l+o,p,!1)).length>0)return s;var f,g=n-u-o;if((s=Nt(e,t,n,r,g,r-c+l-o,g,r+c-l+o,!1)).length>0)return s;var v=n-u+l,y=r-c+l;if((f=Bt(e,t,n,r,v,y,l+o)).length>0&&f[0]<=v&&f[1]<=y)return[f[0],f[1]];var m=n+u-l,b=r-c+l;if((f=Bt(e,t,n,r,m,b,l+o)).length>0&&f[0]>=m&&f[1]<=b)return[f[0],f[1]];var x=n+u-l,w=r+c-l;if((f=Bt(e,t,n,r,x,w,l+o)).length>0&&f[0]>=x&&f[1]>=w)return[f[0],f[1]];var E=n-u+l,k=r+c-l;return(f=Bt(e,t,n,r,E,k,l+o)).length>0&&f[0]<=E&&f[1]>=k?[f[0],f[1]]:[]},wt=function(e,t,n,r,i,a,o){var s=o,l=Math.min(n,i),u=Math.max(n,i),c=Math.min(r,a),d=Math.max(r,a);return l-s<=e&&e<=u+s&&c-s<=t&&t<=d+s},Et=function(e,t,n,r,i,a,o,s,l){var u=Math.min(n,o,i)-l,c=Math.max(n,o,i)+l,d=Math.min(r,s,a)-l,h=Math.max(r,s,a)+l;return!(e<u||e>c||t<d||t>h)},kt=function(e,t,n,r,i,a,o,s){var l=[];!function(e,t,n,r,i){var a,o,s,l,u,c,d,h;0===e&&(e=1e-5),s=-27*(r/=e)+(t/=e)*(9*(n/=e)-t*t*2),a=(o=(3*n-t*t)/9)*o*o+(s/=54)*s,i[1]=0,d=t/3,a>0?(u=(u=s+Math.sqrt(a))<0?-Math.pow(-u,1/3):Math.pow(u,1/3),c=(c=s-Math.sqrt(a))<0?-Math.pow(-c,1/3):Math.pow(c,1/3),i[0]=-d+u+c,d+=(u+c)/2,i[4]=i[2]=-d,d=Math.sqrt(3)*(-c+u)/2,i[3]=d,i[5]=-d):(i[5]=i[3]=0,0===a?(h=s<0?-Math.pow(-s,1/3):Math.pow(s,1/3),i[0]=2*h-d,i[4]=i[2]=-(h+d)):(l=(o=-o)*o*o,l=Math.acos(s/Math.sqrt(l)),h=2*Math.sqrt(o),i[0]=-d+h*Math.cos(l/3),i[2]=-d+h*Math.cos((l+2*Math.PI)/3),i[4]=-d+h*Math.cos((l+4*Math.PI)/3)))}(1*n*n-4*n*i+2*n*o+4*i*i-4*i*o+o*o+r*r-4*r*a+2*r*s+4*a*a-4*a*s+s*s,9*n*i-3*n*n-3*n*o-6*i*i+3*i*o+9*r*a-3*r*r-3*r*s-6*a*a+3*a*s,3*n*n-6*n*i+n*o-n*e+2*i*i+2*i*e-o*e+3*r*r-6*r*a+r*s-r*t+2*a*a+2*a*t-s*t,1*n*i-n*n+n*e-i*e+r*a-r*r+r*t-a*t,l);for(var u=[],c=0;c<6;c+=2)Math.abs(l[c+1])<1e-7&&l[c]>=0&&l[c]<=1&&u.push(l[c]);u.push(1),u.push(0);for(var d,h,p,f=-1,g=0;g<u.length;g++)d=Math.pow(1-u[g],2)*n+2*(1-u[g])*u[g]*i+u[g]*u[g]*o,h=Math.pow(1-u[g],2)*r+2*(1-u[g])*u[g]*a+u[g]*u[g]*s,p=Math.pow(d-e,2)+Math.pow(h-t,2),f>=0?p<f&&(f=p):f=p;return f},Ct=function(e,t,n,r,i,a){var o=[e-n,t-r],s=[i-n,a-r],l=s[0]*s[0]+s[1]*s[1],u=o[0]*o[0]+o[1]*o[1],c=o[0]*s[0]+o[1]*s[1],d=c*c/l;return c<0?u:d>l?(e-i)*(e-i)+(t-a)*(t-a):u-d},St=function(e,t,n){for(var r,i,a,o,s=0,l=0;l<n.length/2;l++)if(r=n[2*l],i=n[2*l+1],l+1<n.length/2?(a=n[2*(l+1)],o=n[2*(l+1)+1]):(a=n[2*(l+1-n.length/2)],o=n[2*(l+1-n.length/2)+1]),r==e&&a==e);else{if(!(r>=e&&e>=a||r<=e&&e<=a))continue;(e-r)/(a-r)*(o-i)+i>t&&s++}return s%2!=0},Pt=function(e,t,n,r,i,a,o,s,l){var u,c=new Array(n.length);null!=s[0]?(u=Math.atan(s[1]/s[0]),s[0]<0?u+=Math.PI/2:u=-u-Math.PI/2):u=s;for(var d,h=Math.cos(-u),p=Math.sin(-u),f=0;f<c.length/2;f++)c[2*f]=a/2*(n[2*f]*h-n[2*f+1]*p),c[2*f+1]=o/2*(n[2*f+1]*h+n[2*f]*p),c[2*f]+=r,c[2*f+1]+=i;if(l>0){var g=Tt(c,-l);d=Dt(g)}else d=c;return St(e,t,d)},Dt=function(e){for(var t,n,r,i,a,o,s,l,u=new Array(e.length/2),c=0;c<e.length/4;c++){t=e[4*c],n=e[4*c+1],r=e[4*c+2],i=e[4*c+3],c<e.length/4-1?(a=e[4*(c+1)],o=e[4*(c+1)+1],s=e[4*(c+1)+2],l=e[4*(c+1)+3]):(a=e[0],o=e[1],s=e[2],l=e[3]);var d=Nt(t,n,r,i,a,o,s,l,!0);u[2*c]=d[0],u[2*c+1]=d[1]}return u},Tt=function(e,t){for(var n,r,i,a,o=new Array(2*e.length),s=0;s<e.length/2;s++){n=e[2*s],r=e[2*s+1],s<e.length/2-1?(i=e[2*(s+1)],a=e[2*(s+1)+1]):(i=e[0],a=e[1]);var l=a-r,u=-(i-n),c=Math.sqrt(l*l+u*u),d=l/c,h=u/c;o[4*s]=n+d*t,o[4*s+1]=r+h*t,o[4*s+2]=i+d*t,o[4*s+3]=a+h*t}return o},Mt=function(e,t,n,r,i,a,o){return e-=i,t-=a,(e/=n/2+o)*e+(t/=r/2+o)*t<=1},Bt=function(e,t,n,r,i,a,o){var s=[n-e,r-t],l=[e-i,t-a],u=s[0]*s[0]+s[1]*s[1],c=2*(l[0]*s[0]+l[1]*s[1]),d=c*c-4*u*(l[0]*l[0]+l[1]*l[1]-o*o);if(d<0)return[];var h=(-c+Math.sqrt(d))/(2*u),p=(-c-Math.sqrt(d))/(2*u),f=Math.min(h,p),g=Math.max(h,p),v=[];if(f>=0&&f<=1&&v.push(f),g>=0&&g<=1&&v.push(g),0===v.length)return[];var y=v[0]*s[0]+e,m=v[0]*s[1]+t;return v.length>1?v[0]==v[1]?[y,m]:[y,m,v[1]*s[0]+e,v[1]*s[1]+t]:[y,m]},_t=function(e,t,n){return t<=e&&e<=n||n<=e&&e<=t?e:e<=t&&t<=n||n<=t&&t<=e?t:n},Nt=function(e,t,n,r,i,a,o,s,l){var u=e-i,c=n-e,d=o-i,h=t-a,p=r-t,f=s-a,g=d*h-f*u,v=c*h-p*u,y=f*c-d*p;if(0!==y){var m=g/y,b=v/y;return-.001<=m&&m<=1.001&&-.001<=b&&b<=1.001||l?[e+m*c,t+m*p]:[]}return 0===g||0===v?_t(e,n,o)===o?[o,s]:_t(e,n,i)===i?[i,a]:_t(i,o,n)===n?[n,r]:[]:[]},It=function(e,t,n,r,i,a,o,s){var l,u,c,d,h,p,f=[],g=new Array(n.length),v=!0;if(null==a&&(v=!1),v){for(var y=0;y<g.length/2;y++)g[2*y]=n[2*y]*a+r,g[2*y+1]=n[2*y+1]*o+i;if(s>0){var m=Tt(g,-s);u=Dt(m)}else u=g}else u=n;for(var b=0;b<u.length/2;b++)c=u[2*b],d=u[2*b+1],b<u.length/2-1?(h=u[2*(b+1)],p=u[2*(b+1)+1]):(h=u[0],p=u[1]),0!==(l=Nt(e,t,r,i,c,d,h,p)).length&&f.push(l[0],l[1]);return f},zt=function(e,t,n){var r=[e[0]-t[0],e[1]-t[1]],i=Math.sqrt(r[0]*r[0]+r[1]*r[1]),a=(i-n)/i;return a<0&&(a=1e-5),[t[0]+a*r[0],t[1]+a*r[1]]},Lt=function(e,t){var n=Ot(e,t);return n=At(n)},At=function(e){for(var t,n,r=e.length/2,i=1/0,a=1/0,o=-1/0,s=-1/0,l=0;l<r;l++)t=e[2*l],n=e[2*l+1],i=Math.min(i,t),o=Math.max(o,t),a=Math.min(a,n),s=Math.max(s,n);for(var u=2/(o-i),c=2/(s-a),d=0;d<r;d++)t=e[2*d]=e[2*d]*u,n=e[2*d+1]=e[2*d+1]*c,i=Math.min(i,t),o=Math.max(o,t),a=Math.min(a,n),s=Math.max(s,n);if(a<-1)for(var h=0;h<r;h++)n=e[2*h+1]=e[2*h+1]+(-1-a);return e},Ot=function(e,t){var n=1/e*2*Math.PI,r=e%2==0?Math.PI/2+n/2:Math.PI/2;r+=t;for(var i,a=new Array(2*e),o=0;o<e;o++)i=o*n+r,a[2*o]=Math.cos(i),a[2*o+1]=Math.sin(-i);return a},Rt=function(e,t){return Math.min(e/4,t/4,8)},Vt=function(e,t){return Math.min(e/10,t/10,8)},Ft=function(e,t){return{heightOffset:Math.min(15,.05*t),widthOffset:Math.min(100,.25*e),ctrlPtOffsetPct:.05}},qt=Me({dampingFactor:.8,precision:1e-6,iterations:200,weight:function(e){return 1}}),jt={pageRank:function(e){for(var t=qt(e),n=t.dampingFactor,r=t.precision,i=t.iterations,a=t.weight,o=this._private.cy,s=this.byGroup(),l=s.nodes,u=s.edges,c=l.length,d=c*c,h=u.length,p=new Array(d),f=new Array(c),g=(1-n)/c,v=0;v<c;v++){for(var y=0;y<c;y++){p[v*c+y]=0}f[v]=0}for(var m=0;m<h;m++){var b=u[m],x=b.data("source"),w=b.data("target");if(x!==w){var E=l.indexOfId(x),k=l.indexOfId(w),C=a(b);p[k*c+E]+=C,f[E]+=C}}for(var S=1/c+g,P=0;P<c;P++)if(0===f[P])for(var D=0;D<c;D++){p[D*c+P]=S}else for(var T=0;T<c;T++){var M=T*c+P;p[M]=p[M]/f[P]+g}for(var B,_=new Array(c),N=new Array(c),I=0;I<c;I++)_[I]=1;for(var z=0;z<i;z++){for(var L=0;L<c;L++)N[L]=0;for(var A=0;A<c;A++)for(var O=0;O<c;O++){var R=A*c+O;N[A]+=p[R]*_[O]}lt(N),B=_,_=N,N=B;for(var V=0,F=0;F<c;F++){var q=B[F]-_[F];V+=q*q}if(V<r)break}return{rank:function(e){return e=o.collection(e)[0],_[l.indexOf(e)]}}}},Yt=Me({root:null,weight:function(e){return 1},directed:!1,alpha:0}),Xt={degreeCentralityNormalized:function(e){e=Yt(e);var t=this.cy(),n=this.nodes(),r=n.length;if(e.directed){for(var i={},a={},o=0,s=0,l=0;l<r;l++){var u=n[l],c=u.id();e.root=u;var d=this.degreeCentrality(e);o<d.indegree&&(o=d.indegree),s<d.outdegree&&(s=d.outdegree),i[c]=d.indegree,a[c]=d.outdegree}return{indegree:function(e){return 0==o?0:(p(e)&&(e=t.filter(e)),i[e.id()]/o)},outdegree:function(e){return 0===s?0:(p(e)&&(e=t.filter(e)),a[e.id()]/s)}}}for(var h={},f=0,g=0;g<r;g++){var v=n[g];e.root=v;var y=this.degreeCentrality(e);f<y.degree&&(f=y.degree),h[v.id()]=y.degree}return{degree:function(e){return 0===f?0:(p(e)&&(e=t.filter(e)),h[e.id()]/f)}}},degreeCentrality:function(e){e=Yt(e);var t=this.cy(),n=this,r=e,i=r.root,a=r.weight,o=r.directed,s=r.alpha;if(i=t.collection(i)[0],o){for(var l=i.connectedEdges(),u=l.filter((function(e){return e.target().same(i)&&n.has(e)})),c=l.filter((function(e){return e.source().same(i)&&n.has(e)})),d=u.length,h=c.length,p=0,f=0,g=0;g<u.length;g++)p+=a(u[g]);for(var v=0;v<c.length;v++)f+=a(c[v]);return{indegree:Math.pow(d,1-s)*Math.pow(p,s),outdegree:Math.pow(h,1-s)*Math.pow(f,s)}}for(var y=i.connectedEdges().intersection(n),m=y.length,b=0,x=0;x<y.length;x++)b+=a(y[x]);return{degree:Math.pow(m,1-s)*Math.pow(b,s)}}};Xt.dc=Xt.degreeCentrality,Xt.dcn=Xt.degreeCentralityNormalised=Xt.degreeCentralityNormalized;var Wt=Me({harmonic:!0,weight:function(){return 1},directed:!1,root:null}),Ht={closenessCentralityNormalized:function(e){for(var t=Wt(e),n=t.harmonic,r=t.weight,i=t.directed,a=this.cy(),o={},s=0,l=this.nodes(),u=this.floydWarshall({weight:r,directed:i}),c=0;c<l.length;c++){for(var d=0,h=l[c],f=0;f<l.length;f++)if(c!==f){var g=u.distance(h,l[f]);d+=n?1/g:g}n||(d=1/d),s<d&&(s=d),o[h.id()]=d}return{closeness:function(e){return 0==s?0:(e=p(e)?a.filter(e)[0].id():e.id(),o[e]/s)}}},closenessCentrality:function(e){var t=Wt(e),n=t.root,r=t.weight,i=t.directed,a=t.harmonic;n=this.filter(n)[0];for(var o=this.dijkstra({root:n,weight:r,directed:i}),s=0,l=this.nodes(),u=0;u<l.length;u++){var c=l[u];if(!c.same(n)){var d=o.distanceTo(c);s+=a?1/d:d}}return a?s:1/s}};Ht.cc=Ht.closenessCentrality,Ht.ccn=Ht.closenessCentralityNormalised=Ht.closenessCentralityNormalized;var Kt=Me({weight:null,directed:!1}),Gt={betweennessCentrality:function(e){for(var t=Kt(e),n=t.directed,r=t.weight,i=null!=r,a=this.cy(),o=this.nodes(),s={},l={},u=0,c=function(e,t){l[e]=t,t>u&&(u=t)},d=function(e){return l[e]},h=0;h<o.length;h++){var p=o[h],f=p.id();s[f]=n?p.outgoers().nodes():p.openNeighborhood().nodes(),c(f,0)}for(var g=function(e){for(var t=o[e].id(),n=[],l={},u={},h={},p=new Fe((function(e,t){return h[e]-h[t]})),f=0;f<o.length;f++){var g=o[f].id();l[g]=[],u[g]=0,h[g]=1/0}for(u[t]=1,h[t]=0,p.push(t);!p.empty();){var v=p.pop();if(n.push(v),i)for(var y=0;y<s[v].length;y++){var m=s[v][y],b=a.getElementById(v),x=void 0;x=b.edgesTo(m).length>0?b.edgesTo(m)[0]:m.edgesTo(b)[0];var w=r(x);m=m.id(),h[m]>h[v]+w&&(h[m]=h[v]+w,p.nodes.indexOf(m)<0?p.push(m):p.updateItem(m),u[m]=0,l[m]=[]),h[m]==h[v]+w&&(u[m]=u[m]+u[v],l[m].push(v))}else for(var E=0;E<s[v].length;E++){var k=s[v][E].id();h[k]==1/0&&(p.push(k),h[k]=h[v]+1),h[k]==h[v]+1&&(u[k]=u[k]+u[v],l[k].push(v))}}for(var C={},S=0;S<o.length;S++)C[o[S].id()]=0;for(;n.length>0;){for(var P=n.pop(),D=0;D<l[P].length;D++){var T=l[P][D];C[T]=C[T]+u[T]/u[P]*(1+C[P])}P!=o[e].id()&&c(P,d(P)+C[P])}},v=0;v<o.length;v++)g(v);var y={betweenness:function(e){var t=a.collection(e).id();return d(t)},betweennessNormalized:function(e){if(0==u)return 0;var t=a.collection(e).id();return d(t)/u}};return y.betweennessNormalised=y.betweennessNormalized,y}};Gt.bc=Gt.betweennessCentrality;var Zt=Me({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(e){return 1}]}),Ut=function(e,t){for(var n=0,r=0;r<t.length;r++)n+=t[r](e);return n},$t=function(e,t){for(var n,r=0;r<t;r++){n=0;for(var i=0;i<t;i++)n+=e[i*t+r];for(var a=0;a<t;a++)e[a*t+r]=e[a*t+r]/n}},Qt=function(e,t,n){for(var r=new Array(n*n),i=0;i<n;i++){for(var a=0;a<n;a++)r[i*n+a]=0;for(var o=0;o<n;o++)for(var s=0;s<n;s++)r[i*n+s]+=e[i*n+o]*t[o*n+s]}return r},Jt=function(e,t,n){for(var r=e.slice(0),i=1;i<n;i++)e=Qt(e,r,t);return e},en=function(e,t,n){for(var r=new Array(t*t),i=0;i<t*t;i++)r[i]=Math.pow(e[i],n);return $t(r,t),r},tn=function(e,t,n,r){for(var i=0;i<n;i++){if(Math.round(e[i]*Math.pow(10,r))/Math.pow(10,r)!==Math.round(t[i]*Math.pow(10,r))/Math.pow(10,r))return!1}return!0},nn=function(e,t){for(var n=0;n<e.length;n++)if(!t[n]||e[n].id()!==t[n].id())return!1;return!0},rn=function(e){for(var t=this.nodes(),n=this.edges(),r=this.cy(),i=function(e){return Zt(e)}(e),a={},o=0;o<t.length;o++)a[t[o].id()]=o;for(var s,l=t.length,u=l*l,c=new Array(u),d=0;d<u;d++)c[d]=0;for(var h=0;h<n.length;h++){var p=n[h],f=a[p.source().id()],g=a[p.target().id()],v=Ut(p,i.attributes);c[f*l+g]+=v,c[g*l+f]+=v}!function(e,t,n){for(var r=0;r<t;r++)e[r*t+r]=n}(c,l,i.multFactor),$t(c,l);for(var y=!0,m=0;y&&m<i.maxIterations;)y=!1,s=Jt(c,l,i.expandFactor),c=en(s,l,i.inflateFactor),tn(c,s,u,4)||(y=!0),m++;var b=function(e,t,n,r){for(var i=[],a=0;a<t;a++){for(var o=[],s=0;s<t;s++)Math.round(1e3*e[a*t+s])/1e3>0&&o.push(n[s]);0!==o.length&&i.push(r.collection(o))}return i}(c,l,t,r);return b=function(e){for(var t=0;t<e.length;t++)for(var n=0;n<e.length;n++)t!=n&&nn(e[t],e[n])&&e.splice(n,1);return e}(b)},an={markovClustering:rn,mcl:rn},on=function(e){return e},sn=function(e,t){return Math.abs(t-e)},ln=function(e,t,n){return e+sn(t,n)},un=function(e,t,n){return e+Math.pow(n-t,2)},cn=function(e){return Math.sqrt(e)},dn=function(e,t,n){return Math.max(e,sn(t,n))},hn=function(e,t,n,r,i){for(var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:on,o=r,s=0;s<e;s++)o=i(o,t(s),n(s));return a(o)},pn={euclidean:function(e,t,n){return e>=2?hn(e,t,n,0,un,cn):hn(e,t,n,0,ln)},squaredEuclidean:function(e,t,n){return hn(e,t,n,0,un)},manhattan:function(e,t,n){return hn(e,t,n,0,ln)},max:function(e,t,n){return hn(e,t,n,-1/0,dn)}};function fn(e,t,n,r,i,a){var o;return o=f(e)?e:pn[e]||pn.euclidean,0===t&&f(e)?o(i,a):o(t,n,r,i,a)}pn["squared-euclidean"]=pn.squaredEuclidean,pn.squaredeuclidean=pn.squaredEuclidean;var gn=Me({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),vn=function(e){return gn(e)},yn=function(e,t,n,r,i){var a="kMedoids"!==i?function(e){return n[e]}:function(e){return r[e](n)},o=n,s=t;return fn(e,r.length,a,(function(e){return r[e](t)}),o,s)},mn=function(e,t,n){for(var r=n.length,i=new Array(r),a=new Array(r),o=new Array(t),s=null,l=0;l<r;l++)i[l]=e.min(n[l]).value,a[l]=e.max(n[l]).value;for(var u=0;u<t;u++){s=[];for(var c=0;c<r;c++)s[c]=Math.random()*(a[c]-i[c])+i[c];o[u]=s}return o},bn=function(e,t,n,r,i){for(var a=1/0,o=0,s=0;s<t.length;s++){var l=yn(n,e,t[s],r,i);l<a&&(a=l,o=s)}return o},xn=function(e,t,n){for(var r=[],i=null,a=0;a<t.length;a++)n[(i=t[a]).id()]===e&&r.push(i);return r},wn=function(e,t,n){for(var r=0;r<e.length;r++)for(var i=0;i<e[r].length;i++){if(Math.abs(e[r][i]-t[r][i])>n)return!1}return!0},En=function(e,t,n){for(var r=0;r<n;r++)if(e===t[r])return!0;return!1},kn=function(e,t){var n=new Array(t);if(e.length<50)for(var r=0;r<t;r++){for(var i=e[Math.floor(Math.random()*e.length)];En(i,n,r);)i=e[Math.floor(Math.random()*e.length)];n[r]=i}else for(var a=0;a<t;a++)n[a]=e[Math.floor(Math.random()*e.length)];return n},Cn=function(e,t,n){for(var r=0,i=0;i<t.length;i++)r+=yn("manhattan",t[i],e,n,"kMedoids");return r},Sn=function(e,t,n,r,i){for(var a,o,s=0;s<t.length;s++)for(var l=0;l<e.length;l++)r[s][l]=Math.pow(n[s][l],i.m);for(var u=0;u<e.length;u++)for(var c=0;c<i.attributes.length;c++){a=0,o=0;for(var d=0;d<t.length;d++)a+=r[d][u]*i.attributes[c](t[d]),o+=r[d][u];e[u][c]=a/o}},Pn=function(e,t,n,r,i){for(var a=0;a<e.length;a++)t[a]=e[a].slice();for(var o,s,l,u=2/(i.m-1),c=0;c<n.length;c++)for(var d=0;d<r.length;d++){o=0;for(var h=0;h<n.length;h++)s=yn(i.distance,r[d],n[c],i.attributes,"cmeans"),l=yn(i.distance,r[d],n[h],i.attributes,"cmeans"),o+=Math.pow(s/l,u);e[d][c]=1/o}},Dn=function(e){var t,n,r,i,a=this.cy(),o=this.nodes(),s=vn(e);r=new Array(o.length);for(var l=0;l<o.length;l++)r[l]=new Array(s.k);n=new Array(o.length);for(var u=0;u<o.length;u++)n[u]=new Array(s.k);for(var c=0;c<o.length;c++){for(var d=0,h=0;h<s.k;h++)n[c][h]=Math.random(),d+=n[c][h];for(var p=0;p<s.k;p++)n[c][p]=n[c][p]/d}t=new Array(s.k);for(var f=0;f<s.k;f++)t[f]=new Array(s.attributes.length);i=new Array(o.length);for(var g=0;g<o.length;g++)i[g]=new Array(s.k);for(var v=!0,y=0;v&&y<s.maxIterations;)v=!1,Sn(t,o,n,i,s),Pn(n,r,t,o,s),wn(n,r,s.sensitivityThreshold)||(v=!0),y++;return{clusters:function(e,t,n,r){for(var i,a,o=new Array(n.k),s=0;s<o.length;s++)o[s]=[];for(var l=0;l<t.length;l++){i=-1/0,a=-1;for(var u=0;u<t[0].length;u++)t[l][u]>i&&(i=t[l][u],a=u);o[a].push(e[l])}for(var c=0;c<o.length;c++)o[c]=r.collection(o[c]);return o}(o,n,s,a),degreeOfMembership:n}},Tn={kMeans:function(t){var n,r=this.cy(),i=this.nodes(),a=null,o=vn(t),s=new Array(o.k),l={};n=o.testMode?"number"==typeof o.testCentroids?mn(i,o.k,o.attributes):"object"===e(o.testCentroids)?o.testCentroids:mn(i,o.k,o.attributes):mn(i,o.k,o.attributes);for(var u,c,d,h=!0,p=0;h&&p<o.maxIterations;){for(var f=0;f<i.length;f++)l[(a=i[f]).id()]=bn(a,n,o.distance,o.attributes,"kMeans");h=!1;for(var g=0;g<o.k;g++){var v=xn(g,i,l);if(0!==v.length){for(var y=o.attributes.length,m=n[g],b=new Array(y),x=new Array(y),w=0;w<y;w++){x[w]=0;for(var E=0;E<v.length;E++)a=v[E],x[w]+=o.attributes[w](a);b[w]=x[w]/v.length,u=b[w],c=m[w],d=o.sensitivityThreshold,Math.abs(c-u)<=d||(h=!0)}n[g]=b,s[g]=r.collection(v)}}p++}return s},kMedoids:function(t){var n,r,i=this.cy(),a=this.nodes(),o=null,s=vn(t),l=new Array(s.k),u={},c=new Array(s.k);s.testMode?"number"==typeof s.testCentroids||(n="object"===e(s.testCentroids)?s.testCentroids:kn(a,s.k)):n=kn(a,s.k);for(var d=!0,h=0;d&&h<s.maxIterations;){for(var p=0;p<a.length;p++)u[(o=a[p]).id()]=bn(o,n,s.distance,s.attributes,"kMedoids");d=!1;for(var f=0;f<n.length;f++){var g=xn(f,a,u);if(0!==g.length){c[f]=Cn(n[f],g,s.attributes);for(var v=0;v<g.length;v++)(r=Cn(g[v],g,s.attributes))<c[f]&&(c[f]=r,n[f]=g[v],d=!0);l[f]=i.collection(g)}}h++}return l},fuzzyCMeans:Dn,fcm:Dn},Mn=Me({distance:"euclidean",linkage:"min",mode:"threshold",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),Bn={single:"min",complete:"max"},_n=function(e,t,n,r,i){for(var a,o=0,s=1/0,l=i.attributes,u=function(e,t){return fn(i.distance,l.length,(function(t){return l[t](e)}),(function(e){return l[e](t)}),e,t)},c=0;c<e.length;c++){var d=e[c].key,h=n[d][r[d]];h<s&&(o=d,s=h)}if("threshold"===i.mode&&s>=i.threshold||"dendrogram"===i.mode&&1===e.length)return!1;var p,f=t[o],g=t[r[o]];p="dendrogram"===i.mode?{left:f,right:g,key:f.key}:{value:f.value.concat(g.value),key:f.key},e[f.index]=p,e.splice(g.index,1),t[f.key]=p;for(var v=0;v<e.length;v++){var y=e[v];f.key===y.key?a=1/0:"min"===i.linkage?(a=n[f.key][y.key],n[f.key][y.key]>n[g.key][y.key]&&(a=n[g.key][y.key])):"max"===i.linkage?(a=n[f.key][y.key],n[f.key][y.key]<n[g.key][y.key]&&(a=n[g.key][y.key])):a="mean"===i.linkage?(n[f.key][y.key]*f.size+n[g.key][y.key]*g.size)/(f.size+g.size):"dendrogram"===i.mode?u(y.value,f.value):u(y.value[0],f.value[0]),n[f.key][y.key]=n[y.key][f.key]=a}for(var m=0;m<e.length;m++){var b=e[m].key;if(r[b]===f.key||r[b]===g.key){for(var x=b,w=0;w<e.length;w++){var E=e[w].key;n[b][E]<n[b][x]&&(x=E)}r[b]=x}e[m].index=m}return f.key=g.key=f.index=g.index=null,!0},Nn=function e(t,n,r){t&&(t.value?n.push(t.value):(t.left&&e(t.left,n),t.right&&e(t.right,n)))},In=function(e){for(var t=this.cy(),n=this.nodes(),r=function(e){var t=Mn(e),n=Bn[t.linkage];return null!=n&&(t.linkage=n),t}(e),i=r.attributes,a=function(e,t){return fn(r.distance,i.length,(function(t){return i[t](e)}),(function(e){return i[e](t)}),e,t)},o=[],s=[],l=[],u=[],c=0;c<n.length;c++){var d={value:"dendrogram"===r.mode?n[c]:[n[c]],key:c,index:c};o[c]=d,u[c]=d,s[c]=[],l[c]=0}for(var h=0;h<o.length;h++)for(var p=0;p<=h;p++){var f=void 0;f="dendrogram"===r.mode?h===p?1/0:a(o[h].value,o[p].value):h===p?1/0:a(o[h].value[0],o[p].value[0]),s[h][p]=f,s[p][h]=f,f<s[h][l[h]]&&(l[h]=p)}for(var g,v=_n(o,u,s,l,r);v;)v=_n(o,u,s,l,r);return"dendrogram"===r.mode?(g=function e(t,n,r){if(!t)return[];var i=[],a=[],o=[];return 0===n?(t.left&&Nn(t.left,i),t.right&&Nn(t.right,a),o=i.concat(a),[r.collection(o)]):1===n?t.value?[r.collection(t.value)]:(t.left&&Nn(t.left,i),t.right&&Nn(t.right,a),[r.collection(i),r.collection(a)]):t.value?[r.collection(t.value)]:(t.left&&(i=e(t.left,n-1,r)),t.right&&(a=e(t.right,n-1,r)),i.concat(a))}(o[0],r.dendrogramDepth,t),r.addDendrogram&&function e(t,n){if(!t)return"";if(t.left&&t.right){var r=e(t.left,n),i=e(t.right,n),a=n.add({group:"nodes",data:{id:r+","+i}});return n.add({group:"edges",data:{source:r,target:a.id()}}),n.add({group:"edges",data:{source:i,target:a.id()}}),a.id()}return t.value?t.value.id():void 0}(o[0],t)):(g=new Array(o.length),o.forEach((function(e,n){e.key=e.index=null,g[n]=t.collection(e.value)}))),g},zn={hierarchicalClustering:In,hca:In},Ln=Me({distance:"euclidean",preference:"median",damping:.8,maxIterations:1e3,minIterations:100,attributes:[]}),An=function(e,t,n,r){var i=function(e,t){return r[t](e)};return-fn(e,r.length,(function(e){return i(t,e)}),(function(e){return i(n,e)}),t,n)},On=function(e,t){return"median"===t?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];r?e=e.slice(t,n):(n<e.length&&e.splice(n,e.length-n),t>0&&e.splice(0,t));for(var o=0,s=e.length-1;s>=0;s--){var l=e[s];a?isFinite(l)||(e[s]=-1/0,o++):e.splice(s,1)}i&&e.sort((function(e,t){return e-t}));var u=e.length,c=Math.floor(u/2);return u%2!=0?e[c+1+o]:(e[c-1+o]+e[c+o])/2}(e):"mean"===t?function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=0,i=0,a=t;a<n;a++){var o=e[a];isFinite(o)&&(r+=o,i++)}return r/i}(e):"min"===t?function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=1/0,i=t;i<n;i++){var a=e[i];isFinite(a)&&(r=Math.min(a,r))}return r}(e):"max"===t?function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=-1/0,i=t;i<n;i++){var a=e[i];isFinite(a)&&(r=Math.max(a,r))}return r}(e):t},Rn=function(e,t,n){for(var r=[],i=0;i<e;i++){for(var a=-1,o=-1/0,s=0;s<n.length;s++){var l=n[s];t[i*e+l]>o&&(a=l,o=t[i*e+l])}a>0&&r.push(a)}for(var u=0;u<n.length;u++)r[n[u]]=n[u];return r},Vn=function(e){for(var t,n,r,i,a,o,s=this.cy(),l=this.nodes(),u=function(e){var t=e.damping,n=e.preference;.5<=t&&t<1||Ee("Damping must range on [0.5, 1). Got: ".concat(t));var r=["median","mean","min","max"];return r.some((function(e){return e===n}))||y(n)||Ee("Preference must be one of [".concat(r.map((function(e){return"'".concat(e,"'")})).join(", "),"] or a number. Got: ").concat(n)),Ln(e)}(e),c={},d=0;d<l.length;d++)c[l[d].id()]=d;n=(t=l.length)*t,r=new Array(n);for(var h=0;h<n;h++)r[h]=-1/0;for(var p=0;p<t;p++)for(var f=0;f<t;f++)p!==f&&(r[p*t+f]=An(u.distance,l[p],l[f],u.attributes));i=On(r,u.preference);for(var g=0;g<t;g++)r[g*t+g]=i;a=new Array(n);for(var v=0;v<n;v++)a[v]=0;o=new Array(n);for(var m=0;m<n;m++)o[m]=0;for(var b=new Array(t),x=new Array(t),w=new Array(t),E=0;E<t;E++)b[E]=0,x[E]=0,w[E]=0;for(var k,C=new Array(t*u.minIterations),S=0;S<C.length;S++)C[S]=0;for(k=0;k<u.maxIterations;k++){for(var P=0;P<t;P++){for(var D=-1/0,T=-1/0,M=-1,B=0,_=0;_<t;_++)b[_]=a[P*t+_],(B=o[P*t+_]+r[P*t+_])>=D?(T=D,D=B,M=_):B>T&&(T=B);for(var N=0;N<t;N++)a[P*t+N]=(1-u.damping)*(r[P*t+N]-D)+u.damping*b[N];a[P*t+M]=(1-u.damping)*(r[P*t+M]-T)+u.damping*b[M]}for(var I=0;I<t;I++){for(var z=0,L=0;L<t;L++)b[L]=o[L*t+I],x[L]=Math.max(0,a[L*t+I]),z+=x[L];z-=x[I],x[I]=a[I*t+I],z+=x[I];for(var A=0;A<t;A++)o[A*t+I]=(1-u.damping)*Math.min(0,z-x[A])+u.damping*b[A];o[I*t+I]=(1-u.damping)*(z-x[I])+u.damping*b[I]}for(var O=0,R=0;R<t;R++){var V=o[R*t+R]+a[R*t+R]>0?1:0;C[k%u.minIterations*t+R]=V,O+=V}if(O>0&&(k>=u.minIterations-1||k==u.maxIterations-1)){for(var F=0,q=0;q<t;q++){w[q]=0;for(var j=0;j<u.minIterations;j++)w[q]+=C[j*t+q];0!==w[q]&&w[q]!==u.minIterations||F++}if(F===t)break}}for(var Y=function(e,t,n){for(var r=[],i=0;i<e;i++)t[i*e+i]+n[i*e+i]>0&&r.push(i);return r}(t,a,o),X=function(e,t,n){for(var r=Rn(e,t,n),i=0;i<n.length;i++){for(var a=[],o=0;o<r.length;o++)r[o]===n[i]&&a.push(o);for(var s=-1,l=-1/0,u=0;u<a.length;u++){for(var c=0,d=0;d<a.length;d++)c+=t[a[d]*e+a[u]];c>l&&(s=u,l=c)}n[i]=a[s]}return r=Rn(e,t,n)}(t,r,Y),W={},H=0;H<Y.length;H++)W[Y[H]]=[];for(var K=0;K<l.length;K++){var G=X[c[l[K].id()]];null!=G&&W[G].push(l[K])}for(var Z=new Array(Y.length),U=0;U<Y.length;U++)Z[U]=s.collection(W[Y[U]]);return Z},Fn={affinityPropagation:Vn,ap:Vn},qn=Me({root:void 0,directed:!1}),jn=function(){var e=this,t={},n=0,r=0,i=[],a=[],o={},s=function s(l,u,c){l===c&&(r+=1),t[u]={id:n,low:n++,cutVertex:!1};var d,h,p,f,g=e.getElementById(u).connectedEdges().intersection(e);0===g.size()?i.push(e.spawn(e.getElementById(u))):g.forEach((function(n){d=n.source().id(),h=n.target().id(),(p=d===u?h:d)!==c&&(f=n.id(),o[f]||(o[f]=!0,a.push({x:u,y:p,edge:n})),p in t?t[u].low=Math.min(t[u].low,t[p].id):(s(l,p,u),t[u].low=Math.min(t[u].low,t[p].low),t[u].id<=t[p].low&&(t[u].cutVertex=!0,function(n,r){for(var o=a.length-1,s=[],l=e.spawn();a[o].x!=n||a[o].y!=r;)s.push(a.pop().edge),o--;s.push(a.pop().edge),s.forEach((function(n){var r=n.connectedNodes().intersection(e);l.merge(n),r.forEach((function(n){var r=n.id(),i=n.connectedEdges().intersection(e);l.merge(n),t[r].cutVertex?l.merge(i.filter((function(e){return e.isLoop()}))):l.merge(i)}))})),i.push(l)}(u,p))))}))};e.forEach((function(e){if(e.isNode()){var n=e.id();n in t||(r=0,s(n,n),t[n].cutVertex=r>1)}}));var l=Object.keys(t).filter((function(e){return t[e].cutVertex})).map((function(t){return e.getElementById(t)}));return{cut:e.spawn(l),components:i}},Yn=function(){var e=this,t={},n=0,r=[],i=[],a=e.spawn(e);return e.forEach((function(o){if(o.isNode()){var s=o.id();s in t||function o(s){if(i.push(s),t[s]={index:n,low:n++,explored:!1},e.getElementById(s).connectedEdges().intersection(e).forEach((function(e){var n=e.target().id();n!==s&&(n in t||o(n),t[n].explored||(t[s].low=Math.min(t[s].low,t[n].low)))})),t[s].index===t[s].low){for(var l=e.spawn();;){var u=i.pop();if(l.merge(e.getElementById(u)),t[u].low=t[s].index,t[u].explored=!0,u===s)break}var c=l.edgesWith(l),d=l.merge(c);r.push(d),a=a.difference(d)}}(s)}})),{cut:a,components:r}},Xn={};[Ve,je,Ye,We,Ke,Ze,Je,jt,Xt,Ht,Gt,an,Tn,zn,Fn,{hierholzer:function(e){if(!v(e)){var t=arguments;e={root:t[0],directed:t[1]}}var n,r,i,a=qn(e),o=a.root,s=a.directed,l=this,u=!1;o&&(i=p(o)?this.filter(o)[0].id():o[0].id());var c={},d={};s?l.forEach((function(e){var t=e.id();if(e.isNode()){var i=e.indegree(!0),a=e.outdegree(!0),o=i-a,s=a-i;1==o?n?u=!0:n=t:1==s?r?u=!0:r=t:(s>1||o>1)&&(u=!0),c[t]=[],e.outgoers().forEach((function(e){e.isEdge()&&c[t].push(e.id())}))}else d[t]=[void 0,e.target().id()]})):l.forEach((function(e){var t=e.id();e.isNode()?(e.degree(!0)%2&&(n?r?u=!0:r=t:n=t),c[t]=[],e.connectedEdges().forEach((function(e){return c[t].push(e.id())}))):d[t]=[e.source().id(),e.target().id()]}));var h={found:!1,trail:void 0};if(u)return h;if(r&&n)if(s){if(i&&r!=i)return h;i=r}else{if(i&&r!=i&&n!=i)return h;i||(i=r)}else i||(i=l[0].id());var f=function(e){for(var t,n,r,i=e,a=[e];c[i].length;)t=c[i].shift(),n=d[t][0],i!=(r=d[t][1])?(c[r]=c[r].filter((function(e){return e!=t})),i=r):s||i==n||(c[n]=c[n].filter((function(e){return e!=t})),i=n),a.unshift(t),a.unshift(i);return a},g=[],y=[];for(y=f(i);1!=y.length;)0==c[y[0]].length?(g.unshift(l.getElementById(y.shift())),g.unshift(l.getElementById(y.shift()))):y=f(y.shift()).concat(y);for(var m in g.unshift(l.getElementById(y.shift())),c)if(c[m].length)return h;return h.found=!0,h.trail=this.spawn(g,!0),h}},{hopcroftTarjanBiconnected:jn,htbc:jn,htb:jn,hopcroftTarjanBiconnectedComponents:jn},{tarjanStronglyConnected:Yn,tsc:Yn,tscc:Yn,tarjanStronglyConnectedComponents:Yn}].forEach((function(e){I(Xn,e)}));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
42 /*!
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
43 Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
44 Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
45 Licensed under The MIT License (http://opensource.org/licenses/MIT)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
46 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
47 var Wn=function e(t){if(!(this instanceof e))return new e(t);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof t&&t.call(this,this.fulfill.bind(this),this.reject.bind(this))};Wn.prototype={fulfill:function(e){return Hn(this,1,"fulfillValue",e)},reject:function(e){return Hn(this,2,"rejectReason",e)},then:function(e,t){var n=new Wn;return this.onFulfilled.push(Zn(e,n,"fulfill")),this.onRejected.push(Zn(t,n,"reject")),Kn(this),n.proxy}};var Hn=function(e,t,n,r){return 0===e.state&&(e.state=t,e[n]=r,Kn(e)),e},Kn=function(e){1===e.state?Gn(e,"onFulfilled",e.fulfillValue):2===e.state&&Gn(e,"onRejected",e.rejectReason)},Gn=function(e,t,n){if(0!==e[t].length){var r=e[t];e[t]=[];var i=function(){for(var e=0;e<r.length;e++)r[e](n)};"function"==typeof setImmediate?setImmediate(i):setTimeout(i,0)}},Zn=function(e,t,n){return function(r){if("function"!=typeof e)t[n].call(t,r);else{var i;try{i=e(r)}catch(e){return void t.reject(e)}Un(t,i)}}},Un=function t(n,r){if(n!==r&&n.proxy!==r){var i;if("object"===e(r)&&null!==r||"function"==typeof r)try{i=r.then}catch(e){return void n.reject(e)}if("function"!=typeof i)n.fulfill(r);else{var a=!1;try{i.call(r,(function(e){a||(a=!0,e===r?n.reject(new TypeError("circular thenable chain")):t(n,e))}),(function(e){a||(a=!0,n.reject(e))}))}catch(e){a||n.reject(e)}}}else n.reject(new TypeError("cannot resolve promise with itself"))};Wn.all=function(e){return new Wn((function(t,n){for(var r=new Array(e.length),i=0,a=function(n,a){r[n]=a,++i===e.length&&t(r)},o=0;o<e.length;o++)!function(t){var r=e[t];null!=r&&null!=r.then?r.then((function(e){a(t,e)}),(function(e){n(e)})):a(t,r)}(o)}))},Wn.resolve=function(e){return new Wn((function(t,n){t(e)}))},Wn.reject=function(e){return new Wn((function(t,n){n(e)}))};var $n="undefined"!=typeof Promise?Promise:Wn,Qn=function(e,t,n){var r=E(e),i=!r,a=this._private=I({duration:1e3},t,n);if(a.target=e,a.style=a.style||a.css,a.started=!1,a.playing=!1,a.hooked=!1,a.applying=!1,a.progress=0,a.completes=[],a.frames=[],a.complete&&f(a.complete)&&a.completes.push(a.complete),i){var o=e.position();a.startPosition=a.startPosition||{x:o.x,y:o.y},a.startStyle=a.startStyle||e.cy().style().getAnimationStartStyle(e,a.style)}if(r){var s=e.pan();a.startPan={x:s.x,y:s.y},a.startZoom=e.zoom()}this.length=1,this[0]=this},Jn=Qn.prototype;I(Jn,{instanceString:function(){return"animation"},hook:function(){var e=this._private;if(!e.hooked){var t=e.target._private.animation;(e.queue?t.queue:t.current).push(this),b(e.target)&&e.target.cy().addToAnimationPool(e.target),e.hooked=!0}return this},play:function(){var e=this._private;return 1===e.progress&&(e.progress=0),e.playing=!0,e.started=!1,e.stopped=!1,this.hook(),this},playing:function(){return this._private.playing},apply:function(){var e=this._private;return e.applying=!0,e.started=!1,e.stopped=!1,this.hook(),this},applying:function(){return this._private.applying},pause:function(){var e=this._private;return e.playing=!1,e.started=!1,this},stop:function(){var e=this._private;return e.playing=!1,e.started=!1,e.stopped=!0,this},rewind:function(){return this.progress(0)},fastforward:function(){return this.progress(1)},time:function(e){var t=this._private;return void 0===e?t.progress*t.duration:this.progress(e/t.duration)},progress:function(e){var t=this._private,n=t.playing;return void 0===e?t.progress:(n&&this.pause(),t.progress=e,t.started=!1,n&&this.play(),this)},completed:function(){return 1===this._private.progress},reverse:function(){var e=this._private,t=e.playing;t&&this.pause(),e.progress=1-e.progress,e.started=!1;var n=function(t,n){var r=e[t];null!=r&&(e[t]=e[n],e[n]=r)};if(n("zoom","startZoom"),n("pan","startPan"),n("position","startPosition"),e.style)for(var r=0;r<e.style.length;r++){var i=e.style[r],a=i.name,o=e.startStyle[a];e.startStyle[a]=i,e.style[r]=o}return t&&this.play(),this},promise:function(e){var t,n=this._private;switch(e){case"frame":t=n.frames;break;default:case"complete":case"completed":t=n.completes}return new $n((function(e,n){t.push((function(){e()}))}))}}),Jn.complete=Jn.completed,Jn.run=Jn.play,Jn.running=Jn.playing;var er={};[{animated:function(){return function(){var e=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return!1;var t=e[0];return t?t._private.animation.current.length>0:void 0}},clearQueue:function(){return function(){var e=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;for(var t=0;t<e.length;t++){e[t]._private.animation.queue=[]}return this}},delay:function(){return function(e,t){return(this._private.cy||this).styleEnabled()?this.animate({delay:e,duration:e,complete:t}):this}},delayAnimation:function(){return function(e,t){return(this._private.cy||this).styleEnabled()?this.animation({delay:e,duration:e,complete:t}):this}},animation:function(){return function(e,t){var n=void 0!==this.length,r=n?this:[this],i=this._private.cy||this,a=!n,o=!a;if(!i.styleEnabled())return this;var s=i.style();if(e=I({},e,t),0===Object.keys(e).length)return new Qn(r[0],e);switch(void 0===e.duration&&(e.duration=400),e.duration){case"slow":e.duration=600;break;case"fast":e.duration=200}if(o&&(e.style=s.getPropsList(e.style||e.css),e.css=void 0),o&&null!=e.renderedPosition){var l=e.renderedPosition,u=i.pan(),c=i.zoom();e.position=tt(l,c,u)}if(a&&null!=e.panBy){var d=e.panBy,h=i.pan();e.pan={x:h.x+d.x,y:h.y+d.y}}var p=e.center||e.centre;if(a&&null!=p){var f=i.getCenterPan(p.eles,e.zoom);null!=f&&(e.pan=f)}if(a&&null!=e.fit){var g=e.fit,y=i.getFitViewport(g.eles||g.boundingBox,g.padding);null!=y&&(e.pan=y.pan,e.zoom=y.zoom)}if(a&&v(e.zoom)){var m=i.getZoomedViewport(e.zoom);null!=m?(m.zoomed&&(e.zoom=m.zoom),m.panned&&(e.pan=m.pan)):e.zoom=null}return new Qn(r[0],e)}},animate:function(){return function(e,t){var n=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;t&&(e=I({},e,t));for(var r=0;r<n.length;r++){var i=n[r],a=i.animated()&&(void 0===e.queue||e.queue);i.animation(e,a?{queue:!0}:void 0).play()}return this}},stop:function(){return function(e,t){var n=void 0!==this.length?this:[this],r=this._private.cy||this;if(!r.styleEnabled())return this;for(var i=0;i<n.length;i++){for(var a=n[i]._private,o=a.animation.current,s=0;s<o.length;s++){var l=o[s]._private;t&&(l.duration=0)}e&&(a.animation.queue=[]),t||(a.animation.current=[])}return r.notify("draw"),this}}},{data:function(e){return e=I({},{field:"data",bindingEvent:"data",allowBinding:!1,allowSetting:!1,allowGetting:!1,settingEvent:"data",settingTriggersEvent:!1,triggerFnName:"trigger",immutableKeys:{},updateStyle:!1,beforeGet:function(e){},beforeSet:function(e,t){},onSet:function(e){},canSet:function(e){return!0}},e),function(t,n){var r=e,a=void 0!==this.length,o=a?this:[this],s=a?this[0]:this;if(p(t)){var l;if(r.allowGetting&&void 0===n)return s&&(r.beforeGet(s),l=s._private[r.field][t]),l;if(r.allowSetting&&void 0!==n&&!r.immutableKeys[t]){var u=i({},t,n);r.beforeSet(this,u);for(var c=0,d=o.length;c<d;c++){var h=o[c];r.canSet(h)&&(h._private[r.field][t]=n)}r.updateStyle&&this.updateStyle(),r.onSet(this),r.settingTriggersEvent&&this[r.triggerFnName](r.settingEvent)}}else if(r.allowSetting&&v(t)){var g,y,m=t,b=Object.keys(m);r.beforeSet(this,m);for(var x=0;x<b.length;x++){if(y=m[g=b[x]],!r.immutableKeys[g])for(var w=0;w<o.length;w++){var E=o[w];r.canSet(E)&&(E._private[r.field][g]=y)}}r.updateStyle&&this.updateStyle(),r.onSet(this),r.settingTriggersEvent&&this[r.triggerFnName](r.settingEvent)}else if(r.allowBinding&&f(t)){var k=t;this.on(r.bindingEvent,k)}else if(r.allowGetting&&void 0===t){var C;return s&&(r.beforeGet(s),C=s._private[r.field]),C}return this}},removeData:function(e){return e=I({},{field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!1,immutableKeys:{}},e),function(t){var n=e,r=void 0!==this.length?this:[this];if(p(t)){for(var i=t.split(/\s+/),a=i.length,o=0;o<a;o++){var s=i[o];if(!C(s))if(!n.immutableKeys[s])for(var l=0,u=r.length;l<u;l++)r[l]._private[n.field][s]=void 0}n.triggerEvent&&this[n.triggerFnName](n.event)}else if(void 0===t){for(var c=0,d=r.length;c<d;c++)for(var h=r[c]._private[n.field],f=Object.keys(h),g=0;g<f.length;g++){var v=f[g];!n.immutableKeys[v]&&(h[v]=void 0)}n.triggerEvent&&this[n.triggerFnName](n.event)}return this}}},{eventAliasesOn:function(e){var t=e;t.addListener=t.listen=t.bind=t.on,t.unlisten=t.unbind=t.off=t.removeListener,t.trigger=t.emit,t.pon=t.promiseOn=function(e,t){var n=this,r=Array.prototype.slice.call(arguments,0);return new $n((function(e,t){var i=r.concat([function(t){n.off.apply(n,a),e(t)}]),a=i.concat([]);n.on.apply(n,i)}))}}}].forEach((function(e){I(er,e)}));var tr={animate:er.animate(),animation:er.animation(),animated:er.animated(),clearQueue:er.clearQueue(),delay:er.delay(),delayAnimation:er.delayAnimation(),stop:er.stop()},nr={classes:function(e){if(void 0===e){var t=[];return this[0]._private.classes.forEach((function(e){return t.push(e)})),t}g(e)||(e=(e||"").match(/\S+/g)||[]);for(var n=[],r=new Ae(e),i=0;i<this.length;i++){for(var a=this[i],o=a._private,s=o.classes,l=!1,u=0;u<e.length;u++){var c=e[u];if(!s.has(c)){l=!0;break}}l||(l=s.size!==e.length),l&&(o.classes=r,n.push(a))}return n.length>0&&this.spawn(n).updateStyle().emit("class"),this},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){g(e)||(e=e.match(/\S+/g)||[]);for(var n=void 0===t,r=[],i=0,a=this.length;i<a;i++)for(var o=this[i],s=o._private.classes,l=!1,u=0;u<e.length;u++){var c=e[u],d=s.has(c),h=!1;t||n&&!d?(s.add(c),h=!0):(!t||n&&d)&&(s.delete(c),h=!0),!l&&h&&(r.push(o),l=!0)}return r.length>0&&this.spawn(r).updateStyle().emit("class"),this},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout((function(){n.removeClass(e)}),t),n}};nr.className=nr.classNames=nr.classes;var rr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:_,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};rr.variable="(?:[\\w-]|(?:\\\\"+rr.metaChar+"))+",rr.value=rr.string+"|"+rr.number,rr.className=rr.variable,rr.id=rr.variable,function(){var e,t,n;for(e=rr.comparatorOp.split("|"),n=0;n<e.length;n++)t=e[n],rr.comparatorOp+="|@"+t;for(e=rr.comparatorOp.split("|"),n=0;n<e.length;n++)(t=e[n]).indexOf("!")>=0||"="!==t&&(rr.comparatorOp+="|\\!"+t)}();var ir=0,ar=1,or=2,sr=3,lr=4,ur=5,cr=6,dr=7,hr=8,pr=9,fr=10,gr=11,vr=12,yr=13,mr=14,br=15,xr=16,wr=17,Er=18,kr=19,Cr=20,Sr=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort((function(e,t){return function(e,t){return-1*N(e,t)}(e.selector,t.selector)})),Pr=function(){for(var e,t={},n=0;n<Sr.length;n++)t[(e=Sr[n]).selector]=e.matches;return t}(),Dr="("+Sr.map((function(e){return e.selector})).join("|")+")",Tr=function(e){return e.replace(new RegExp("\\\\("+rr.metaChar+")","g"),(function(e,t){return t}))},Mr=function(e,t,n){e[e.length-1]=n},Br=[{name:"group",query:!0,regex:"("+rr.group+")",populate:function(e,t,n){var r=a(n,1)[0];t.checks.push({type:ir,value:"*"===r?r:r+"s"})}},{name:"state",query:!0,regex:Dr,populate:function(e,t,n){var r=a(n,1)[0];t.checks.push({type:dr,value:r})}},{name:"id",query:!0,regex:"\\#("+rr.id+")",populate:function(e,t,n){var r=a(n,1)[0];t.checks.push({type:hr,value:Tr(r)})}},{name:"className",query:!0,regex:"\\.("+rr.className+")",populate:function(e,t,n){var r=a(n,1)[0];t.checks.push({type:pr,value:Tr(r)})}},{name:"dataExists",query:!0,regex:"\\[\\s*("+rr.variable+")\\s*\\]",populate:function(e,t,n){var r=a(n,1)[0];t.checks.push({type:lr,field:Tr(r)})}},{name:"dataCompare",query:!0,regex:"\\[\\s*("+rr.variable+")\\s*("+rr.comparatorOp+")\\s*("+rr.value+")\\s*\\]",populate:function(e,t,n){var r=a(n,3),i=r[0],o=r[1],s=r[2];s=null!=new RegExp("^"+rr.string+"$").exec(s)?s.substring(1,s.length-1):parseFloat(s),t.checks.push({type:sr,field:Tr(i),operator:o,value:s})}},{name:"dataBool",query:!0,regex:"\\[\\s*("+rr.boolOp+")\\s*("+rr.variable+")\\s*\\]",populate:function(e,t,n){var r=a(n,2),i=r[0],o=r[1];t.checks.push({type:ur,field:Tr(o),operator:i})}},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+rr.meta+")\\s*("+rr.comparatorOp+")\\s*("+rr.number+")\\s*\\]\\]",populate:function(e,t,n){var r=a(n,3),i=r[0],o=r[1],s=r[2];t.checks.push({type:cr,field:Tr(i),operator:o,value:parseFloat(s)})}},{name:"nextQuery",separator:!0,regex:rr.separator,populate:function(e,t){var n=e.currentSubject,r=e.edgeCount,i=e.compoundCount,a=e[e.length-1];return null!=n&&(a.subject=n,e.currentSubject=null),a.edgeCount=r,a.compoundCount=i,e.edgeCount=0,e.compoundCount=0,e[e.length++]={checks:[]}}},{name:"directedEdge",separator:!0,regex:rr.directedEdge,populate:function(e,t){if(null==e.currentSubject){var n={checks:[]},r=t,i={checks:[]};return n.checks.push({type:gr,source:r,target:i}),Mr(e,0,n),e.edgeCount++,i}var a={checks:[]},o=t,s={checks:[]};return a.checks.push({type:vr,source:o,target:s}),Mr(e,0,a),e.edgeCount++,s}},{name:"undirectedEdge",separator:!0,regex:rr.undirectedEdge,populate:function(e,t){if(null==e.currentSubject){var n={checks:[]},r=t,i={checks:[]};return n.checks.push({type:fr,nodes:[r,i]}),Mr(e,0,n),e.edgeCount++,i}var a={checks:[]},o=t,s={checks:[]};return a.checks.push({type:mr,node:o,neighbor:s}),Mr(e,0,a),s}},{name:"child",separator:!0,regex:rr.child,populate:function(e,t){if(null==e.currentSubject){var n={checks:[]},r={checks:[]},i=e[e.length-1];return n.checks.push({type:br,parent:i,child:r}),Mr(e,0,n),e.compoundCount++,r}if(e.currentSubject===t){var a={checks:[]},o=e[e.length-1],s={checks:[]},l={checks:[]},u={checks:[]},c={checks:[]};return a.checks.push({type:kr,left:o,right:s,subject:l}),l.checks=t.checks,t.checks=[{type:Cr}],c.checks.push({type:Cr}),s.checks.push({type:wr,parent:c,child:u}),Mr(e,0,a),e.currentSubject=l,e.compoundCount++,u}var d={checks:[]},h={checks:[]},p=[{type:wr,parent:d,child:h}];return d.checks=t.checks,t.checks=p,e.compoundCount++,h}},{name:"descendant",separator:!0,regex:rr.descendant,populate:function(e,t){if(null==e.currentSubject){var n={checks:[]},r={checks:[]},i=e[e.length-1];return n.checks.push({type:xr,ancestor:i,descendant:r}),Mr(e,0,n),e.compoundCount++,r}if(e.currentSubject===t){var a={checks:[]},o=e[e.length-1],s={checks:[]},l={checks:[]},u={checks:[]},c={checks:[]};return a.checks.push({type:kr,left:o,right:s,subject:l}),l.checks=t.checks,t.checks=[{type:Cr}],c.checks.push({type:Cr}),s.checks.push({type:Er,ancestor:c,descendant:u}),Mr(e,0,a),e.currentSubject=l,e.compoundCount++,u}var d={checks:[]},h={checks:[]},p=[{type:Er,ancestor:d,descendant:h}];return d.checks=t.checks,t.checks=p,e.compoundCount++,h}},{name:"subject",modifier:!0,regex:rr.subject,populate:function(e,t){if(null!=e.currentSubject&&e.currentSubject!==t)return Ce("Redefinition of subject in selector `"+e.toString()+"`"),!1;e.currentSubject=t;var n=e[e.length-1].checks[0],r=null==n?null:n.type;r===gr?n.type=yr:r===fr&&(n.type=mr,n.node=n.nodes[1],n.neighbor=n.nodes[0],n.nodes=null)}}];Br.forEach((function(e){return e.regexObj=new RegExp("^"+e.regex)}));var _r=function(e){for(var t,n,r,i=0;i<Br.length;i++){var a=Br[i],o=a.name,s=e.match(a.regexObj);if(null!=s){n=s,t=a,r=o;var l=s[0];e=e.substring(l.length);break}}return{expr:t,match:n,name:r,remaining:e}},Nr={parse:function(e){var t=this.inputText=e,n=this[0]={checks:[]};for(this.length=1,t=function(e){var t=e.match(/^\s+/);if(t){var n=t[0];e=e.substring(n.length)}return e}(t);;){var r=_r(t);if(null==r.expr)return Ce("The selector `"+e+"`is invalid"),!1;var i=r.match.slice(1),a=r.expr.populate(this,n,i);if(!1===a)return!1;if(null!=a&&(n=a),(t=r.remaining).match(/^\s*$/))break}var o=this[this.length-1];null!=this.currentSubject&&(o.subject=this.currentSubject),o.edgeCount=this.edgeCount,o.compoundCount=this.compoundCount;for(var s=0;s<this.length;s++){var l=this[s];if(l.compoundCount>0&&l.edgeCount>0)return Ce("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(l.edgeCount>1)return Ce("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===l.edgeCount&&Ce("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var e=function(e){return null==e?"":e},t=function(t){return p(t)?'"'+t+'"':e(t)},n=function(e){return" "+e+" "},r=function(r,a){var o=r.type,s=r.value;switch(o){case ir:var l=e(s);return l.substring(0,l.length-1);case sr:var u=r.field,c=r.operator;return"["+u+n(e(c))+t(s)+"]";case ur:var d=r.operator,h=r.field;return"["+e(d)+h+"]";case lr:return"["+r.field+"]";case cr:var p=r.operator;return"[["+r.field+n(e(p))+t(s)+"]]";case dr:return s;case hr:return"#"+s;case pr:return"."+s;case wr:case br:return i(r.parent,a)+n(">")+i(r.child,a);case Er:case xr:return i(r.ancestor,a)+" "+i(r.descendant,a);case kr:var f=i(r.left,a),g=i(r.subject,a),v=i(r.right,a);return f+(f.length>0?" ":"")+g+v;case Cr:return""}},i=function(e,t){return e.checks.reduce((function(n,i,a){return n+(t===e&&0===a?"$":"")+r(i,t)}),"")},a="",o=0;o<this.length;o++){var s=this[o];a+=i(s,s.subject),this.length>1&&o<this.length-1&&(a+=", ")}return this.toStringCache=a,a}},Ir=function(e,t,n){var r,i,a,o=p(e),s=y(e),l=p(n),u=!1,c=!1,d=!1;switch(t.indexOf("!")>=0&&(t=t.replace("!",""),c=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),u=!0),(o||l||u)&&(i=o||s?""+e:"",a=""+n),u&&(e=i=i.toLowerCase(),n=a=a.toLowerCase()),t){case"*=":r=i.indexOf(a)>=0;break;case"$=":r=i.indexOf(a,i.length-a.length)>=0;break;case"^=":r=0===i.indexOf(a);break;case"=":r=e===n;break;case">":d=!0,r=e>n;break;case">=":d=!0,r=e>=n;break;case"<":d=!0,r=e<n;break;case"<=":d=!0,r=e<=n;break;default:r=!1}return!c||null==e&&d||(r=!r),r},zr=function(e,t){return e.data(t)},Lr=[],Ar=function(e,t){return e.checks.every((function(e){return Lr[e.type](e,t)}))};Lr[ir]=function(e,t){var n=e.value;return"*"===n||n===t.group()},Lr[dr]=function(e,t){return function(e,t){return Pr[e](t)}(e.value,t)},Lr[hr]=function(e,t){var n=e.value;return t.id()===n},Lr[pr]=function(e,t){var n=e.value;return t.hasClass(n)},Lr[cr]=function(e,t){var n=e.field,r=e.operator,i=e.value;return Ir(function(e,t){return e[t]()}(t,n),r,i)},Lr[sr]=function(e,t){var n=e.field,r=e.operator,i=e.value;return Ir(zr(t,n),r,i)},Lr[ur]=function(e,t){var n=e.field,r=e.operator;return function(e,t){switch(t){case"?":return!!e;case"!":return!e;case"^":return void 0===e}}(zr(t,n),r)},Lr[lr]=function(e,t){var n=e.field;e.operator;return void 0!==zr(t,n)},Lr[fr]=function(e,t){var n=e.nodes[0],r=e.nodes[1],i=t.source(),a=t.target();return Ar(n,i)&&Ar(r,a)||Ar(r,i)&&Ar(n,a)},Lr[mr]=function(e,t){return Ar(e.node,t)&&t.neighborhood().some((function(t){return t.isNode()&&Ar(e.neighbor,t)}))},Lr[gr]=function(e,t){return Ar(e.source,t.source())&&Ar(e.target,t.target())},Lr[vr]=function(e,t){return Ar(e.source,t)&&t.outgoers().some((function(t){return t.isNode()&&Ar(e.target,t)}))},Lr[yr]=function(e,t){return Ar(e.target,t)&&t.incomers().some((function(t){return t.isNode()&&Ar(e.source,t)}))},Lr[br]=function(e,t){return Ar(e.child,t)&&Ar(e.parent,t.parent())},Lr[wr]=function(e,t){return Ar(e.parent,t)&&t.children().some((function(t){return Ar(e.child,t)}))},Lr[xr]=function(e,t){return Ar(e.descendant,t)&&t.ancestors().some((function(t){return Ar(e.ancestor,t)}))},Lr[Er]=function(e,t){return Ar(e.ancestor,t)&&t.descendants().some((function(t){return Ar(e.descendant,t)}))},Lr[kr]=function(e,t){return Ar(e.subject,t)&&Ar(e.left,t)&&Ar(e.right,t)},Lr[Cr]=function(){return!0},Lr[ar]=function(e,t){return e.value.has(t)},Lr[or]=function(e,t){return(0,e.value)(t)};var Or=function(e){this.inputText=e,this.currentSubject=null,this.compoundCount=0,this.edgeCount=0,this.length=0,null==e||p(e)&&e.match(/^\s*$/)||(b(e)?this.addQuery({checks:[{type:ar,value:e.collection()}]}):f(e)?this.addQuery({checks:[{type:or,value:e}]}):p(e)?this.parse(e)||(this.invalid=!0):Ee("A selector must be created from a string; found "))},Rr=Or.prototype;[Nr,{matches:function(e){for(var t=0;t<this.length;t++){var n=this[t];if(Ar(n,e))return!0}return!1},filter:function(e){var t=this;if(1===t.length&&1===t[0].checks.length&&t[0].checks[0].type===hr)return e.getElementById(t[0].checks[0].value).collection();var n=function(e){for(var n=0;n<t.length;n++){var r=t[n];if(Ar(r,e))return!0}return!1};return null==t.text()&&(n=function(){return!0}),e.filter(n)}}].forEach((function(e){return I(Rr,e)})),Rr.text=function(){return this.inputText},Rr.size=function(){return this.length},Rr.eq=function(e){return this[e]},Rr.sameText=function(e){return!this.invalid&&!e.invalid&&this.text()===e.text()},Rr.addQuery=function(e){this[this.length++]=e},Rr.selector=Rr.toString;var Vr={allAre:function(e){var t=new Or(e);return this.every((function(e){return t.matches(e)}))},is:function(e){var t=new Or(e);return this.some((function(e){return t.matches(e)}))},some:function(e,t){for(var n=0;n<this.length;n++){if(t?e.apply(t,[this[n],n,this]):e(this[n],n,this))return!0}return!1},every:function(e,t){for(var n=0;n<this.length;n++){if(!(t?e.apply(t,[this[n],n,this]):e(this[n],n,this)))return!1}return!0},same:function(e){if(this===e)return!0;e=this.cy().collection(e);var t=this.length;return t===e.length&&(1===t?this[0]===e[0]:this.every((function(t){return e.hasElementWithId(t.id())})))},anySame:function(e){return e=this.cy().collection(e),this.some((function(t){return e.hasElementWithId(t.id())}))},allAreNeighbors:function(e){e=this.cy().collection(e);var t=this.neighborhood();return e.every((function(e){return t.hasElementWithId(e.id())}))},contains:function(e){e=this.cy().collection(e);var t=this;return e.every((function(e){return t.hasElementWithId(e.id())}))}};Vr.allAreNeighbours=Vr.allAreNeighbors,Vr.has=Vr.contains,Vr.equal=Vr.equals=Vr.same;var Fr,qr,jr=function(e,t){return function(n,r,i,a){var o,s=n;if(null==s?o="":b(s)&&1===s.length&&(o=s.id()),1===this.length&&o){var l=this[0]._private,u=l.traversalCache=l.traversalCache||{},c=u[t]=u[t]||[],d=de(o),h=c[d];return h||(c[d]=e.call(this,n,r,i,a))}return e.call(this,n,r,i,a)}},Yr={parent:function(e){var t=[];if(1===this.length){var n=this[0]._private.parent;if(n)return n}for(var r=0;r<this.length;r++){var i=this[r]._private.parent;i&&t.push(i)}return this.spawn(t,!0).filter(e)},parents:function(e){for(var t=[],n=this.parent();n.nonempty();){for(var r=0;r<n.length;r++){var i=n[r];t.push(i)}n=n.parent()}return this.spawn(t,!0).filter(e)},commonAncestors:function(e){for(var t,n=0;n<this.length;n++){var r=this[n].parents();t=(t=t||r).intersect(r)}return t.filter(e)},orphans:function(e){return this.stdFilter((function(e){return e.isOrphan()})).filter(e)},nonorphans:function(e){return this.stdFilter((function(e){return e.isChild()})).filter(e)},children:jr((function(e){for(var t=[],n=0;n<this.length;n++)for(var r=this[n]._private.children,i=0;i<r.length;i++)t.push(r[i]);return this.spawn(t,!0).filter(e)}),"children"),siblings:function(e){return this.parent().children().not(this).filter(e)},isParent:function(){var e=this[0];if(e)return e.isNode()&&0!==e._private.children.length},isChildless:function(){var e=this[0];if(e)return e.isNode()&&0===e._private.children.length},isChild:function(){var e=this[0];if(e)return e.isNode()&&null!=e._private.parent},isOrphan:function(){var e=this[0];if(e)return e.isNode()&&null==e._private.parent},descendants:function(e){var t=[];return function e(n){for(var r=0;r<n.length;r++){var i=n[r];t.push(i),i.children().nonempty()&&e(i.children())}}(this.children()),this.spawn(t,!0).filter(e)}};function Xr(e,t,n,r){for(var i=[],a=new Ae,o=e.cy().hasCompoundNodes(),s=0;s<e.length;s++){var l=e[s];n?i.push(l):o&&r(i,a,l)}for(;i.length>0;){var u=i.shift();t(u),a.add(u.id()),o&&r(i,a,u)}return e}function Wr(e,t,n){if(n.isParent())for(var r=n._private.children,i=0;i<r.length;i++){var a=r[i];t.has(a.id())||e.push(a)}}function Hr(e,t,n){if(n.isChild()){var r=n._private.parent;t.has(r.id())||e.push(r)}}function Kr(e,t,n){Hr(e,t,n),Wr(e,t,n)}Yr.forEachDown=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Xr(this,e,t,Wr)},Yr.forEachUp=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Xr(this,e,t,Hr)},Yr.forEachUpAndDown=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Xr(this,e,t,Kr)},Yr.ancestors=Yr.parents,(Fr=qr={data:er.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:er.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:er.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:er.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:er.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:er.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}}).attr=Fr.data,Fr.removeAttr=Fr.removeData;var Gr,Zr,Ur=qr,$r={};function Qr(e){return function(t){if(void 0===t&&(t=!0),0!==this.length&&this.isNode()&&!this.removed()){for(var n=0,r=this[0],i=r._private.edges,a=0;a<i.length;a++){var o=i[a];!t&&o.isLoop()||(n+=e(r,o))}return n}}}function Jr(e,t){return function(n){for(var r,i=this.nodes(),a=0;a<i.length;a++){var o=i[a][e](n);void 0===o||void 0!==r&&!t(o,r)||(r=o)}return r}}I($r,{degree:Qr((function(e,t){return t.source().same(t.target())?2:1})),indegree:Qr((function(e,t){return t.target().same(e)?1:0})),outdegree:Qr((function(e,t){return t.source().same(e)?1:0}))}),I($r,{minDegree:Jr("degree",(function(e,t){return e<t})),maxDegree:Jr("degree",(function(e,t){return e>t})),minIndegree:Jr("indegree",(function(e,t){return e<t})),maxIndegree:Jr("indegree",(function(e,t){return e>t})),minOutdegree:Jr("outdegree",(function(e,t){return e<t})),maxOutdegree:Jr("outdegree",(function(e,t){return e>t}))}),I($r,{totalDegree:function(e){for(var t=0,n=this.nodes(),r=0;r<n.length;r++)t+=n[r].degree(e);return t}});var ei=function(e,t,n){for(var r=0;r<e.length;r++){var i=e[r];if(!i.locked()){var a=i._private.position,o={x:null!=t.x?t.x-a.x:0,y:null!=t.y?t.y-a.y:0};!i.isParent()||0===o.x&&0===o.y||i.children().shift(o,n),i.dirtyBoundingBoxCache()}}},ti={field:"position",bindingEvent:"position",allowBinding:!0,allowSetting:!0,settingEvent:"position",settingTriggersEvent:!0,triggerFnName:"emitAndNotify",allowGetting:!0,validKeys:["x","y"],beforeGet:function(e){e.updateCompoundBounds()},beforeSet:function(e,t){ei(e,t,!1)},onSet:function(e){e.dirtyCompoundBoundsCache()},canSet:function(e){return!e.locked()}};(Gr=Zr={position:er.data(ti),silentPosition:er.data(I({},ti,{allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!1,beforeSet:function(e,t){ei(e,t,!0)},onSet:function(e){e.dirtyCompoundBoundsCache()}})),positions:function(e,t){if(v(e))t?this.silentPosition(e):this.position(e);else if(f(e)){var n=e,r=this.cy();r.startBatch();for(var i=0;i<this.length;i++){var a,o=this[i];(a=n(o,i))&&(t?o.silentPosition(a):o.position(a))}r.endBatch()}return this},silentPositions:function(e){return this.positions(e,!0)},shift:function(e,t,n){var r;if(v(e)?(r={x:y(e.x)?e.x:0,y:y(e.y)?e.y:0},n=t):p(e)&&y(t)&&((r={x:0,y:0})[e]=t),null!=r){var i=this.cy();i.startBatch();for(var a=0;a<this.length;a++){var o=this[a],s=o.position(),l={x:s.x+r.x,y:s.y+r.y};n?o.silentPosition(l):o.position(l)}i.endBatch()}return this},silentShift:function(e,t){return v(e)?this.shift(e,!0):p(e)&&y(t)&&this.shift(e,t,!0),this},renderedPosition:function(e,t){var n=this[0],r=this.cy(),i=r.zoom(),a=r.pan(),o=v(e)?e:void 0,s=void 0!==o||void 0!==t&&p(e);if(n&&n.isNode()){if(!s){var l=n.position();return o=et(l,i,a),void 0===e?o:o[e]}for(var u=0;u<this.length;u++){var c=this[u];void 0!==t?c.position(e,(t-a[e])/i):void 0!==o&&c.position(tt(o,i,a))}}else if(!s)return;return this},relativePosition:function(e,t){var n=this[0],r=this.cy(),i=v(e)?e:void 0,a=void 0!==i||void 0!==t&&p(e),o=r.hasCompoundNodes();if(n&&n.isNode()){if(!a){var s=n.position(),l=o?n.parent():null,u=l&&l.length>0,c=u;u&&(l=l[0]);var d=c?l.position():{x:0,y:0};return i={x:s.x-d.x,y:s.y-d.y},void 0===e?i:i[e]}for(var h=0;h<this.length;h++){var f=this[h],g=o?f.parent():null,y=g&&g.length>0,m=y;y&&(g=g[0]);var b=m?g.position():{x:0,y:0};void 0!==t?f.position(e,t+b[e]):void 0!==i&&f.position({x:i.x+b.x,y:i.y+b.y})}}else if(!a)return;return this}}).modelPosition=Gr.point=Gr.position,Gr.modelPositions=Gr.points=Gr.positions,Gr.renderedPoint=Gr.renderedPosition,Gr.relativePoint=Gr.relativePosition;var ni,ri,ii=Zr;ni=ri={},ri.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),i=n.pan(),a=t.x1*r+i.x,o=t.x2*r+i.x,s=t.y1*r+i.y,l=t.y2*r+i.y;return{x1:a,x2:o,y1:s,y2:l,w:o-a,h:l-s}},ri.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()?(this.forEachUp((function(t){if(t.isParent()){var n=t._private;n.compoundBoundsClean=!1,n.bbCache=null,e||t.emitAndNotify("bounds")}})),this):this},ri.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes())return this;if(!e&&t.batching())return this;function n(e){if(e.isParent()){var t=e._private,n=e.children(),r="include"===e.pstyle("compound-sizing-wrt-labels").value,i={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}},a=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),o=t.position;0!==a.w&&0!==a.h||((a={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue}).x1=o.x-a.w/2,a.x2=o.x+a.w/2,a.y1=o.y-a.h/2,a.y2=o.y+a.h/2);var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var l=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(l=100*l/i.width.val);var u=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(u=100*u/i.height.val);var c=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(c=100*c/i.height.val);var d=y(i.width.val-a.w,s,l),h=d.biasDiff,p=d.biasComplementDiff,f=y(i.height.val-a.h,u,c),g=f.biasDiff,v=f.biasComplementDiff;t.autoPadding=function(e,t,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}}(a.w,a.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),t.autoWidth=Math.max(a.w,i.width.val),o.x=(-h+a.x1+a.x2+p)/2,t.autoHeight=Math.max(a.h,i.height.val),o.y=(-g+a.y1+a.y2+v)/2}function y(e,t,n){var r=0,i=0,a=t+n;return e>0&&a>0&&(r=t/a*e,i=n/a*e),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;r<this.length;r++){var i=this[r],a=i._private;a.compoundBoundsClean&&!e||(n(i),t.batching()||(a.compoundBoundsClean=!0))}return this};var ai=function(e){return e===1/0||e===-1/0?0:e},oi=function(e,t,n,r,i){r-t!=0&&i-n!=0&&null!=t&&null!=n&&null!=r&&null!=i&&(e.x1=t<e.x1?t:e.x1,e.x2=r>e.x2?r:e.x2,e.y1=n<e.y1?n:e.y1,e.y2=i>e.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},si=function(e,t){return null==t?e:oi(e,t.x1,t.y1,t.x2,t.y2)},li=function(e,t,n){return Ne(e,t,n)},ui=function(e,t,n){if(!t.cy().headless()){var r,i,a=t._private,o=a.rstyle,s=o.arrowWidth/2;if("none"!==t.pstyle(n+"-arrow-shape").value){"source"===n?(r=o.srcX,i=o.srcY):"target"===n?(r=o.tgtX,i=o.tgtY):(r=o.midX,i=o.midY);var l=a.arrowBounds=a.arrowBounds||{},u=l[n]=l[n]||{};u.x1=r-s,u.y1=i-s,u.x2=r+s,u.y2=i+s,u.w=u.x2-u.x1,u.h=u.y2-u.y1,ft(u,1),oi(e,u.x1,u.y1,u.x2,u.y2)}}},ci=function(e,t,n){if(!t.cy().headless()){var r;r=n?n+"-":"";var i=t._private,a=i.rstyle;if(t.pstyle(r+"label").strValue){var o,s,l,u,c=t.pstyle("text-halign"),d=t.pstyle("text-valign"),h=li(a,"labelWidth",n),p=li(a,"labelHeight",n),f=li(a,"labelX",n),g=li(a,"labelY",n),v=t.pstyle(r+"text-margin-x").pfValue,y=t.pstyle(r+"text-margin-y").pfValue,m=t.isEdge(),b=t.pstyle(r+"text-rotation"),x=t.pstyle("text-outline-width").pfValue,w=t.pstyle("text-border-width").pfValue/2,E=t.pstyle("text-background-padding").pfValue,k=p,C=h,S=C/2,P=k/2;if(m)o=f-S,s=f+S,l=g-P,u=g+P;else{switch(c.value){case"left":o=f-C,s=f;break;case"center":o=f-S,s=f+S;break;case"right":o=f,s=f+C}switch(d.value){case"top":l=g-k,u=g;break;case"center":l=g-P,u=g+P;break;case"bottom":l=g,u=g+k}}o+=v-Math.max(x,w)-E-2,s+=v+Math.max(x,w)+E+2,l+=y-Math.max(x,w)-E-2,u+=y+Math.max(x,w)+E+2;var D=n||"main",T=i.labelBounds,M=T[D]=T[D]||{};M.x1=o,M.y1=l,M.x2=s,M.y2=u,M.w=s-o,M.h=u-l;var B=m&&"autorotate"===b.strValue,_=null!=b.pfValue&&0!==b.pfValue;if(B||_){var N=B?li(i.rstyle,"labelAngle",n):b.pfValue,I=Math.cos(N),z=Math.sin(N),L=(o+s)/2,A=(l+u)/2;if(!m){switch(c.value){case"left":L=s;break;case"right":L=o}switch(d.value){case"top":A=u;break;case"bottom":A=l}}var O=function(e,t){return{x:(e-=L)*I-(t-=A)*z+L,y:e*z+t*I+A}},R=O(o,l),V=O(o,u),F=O(s,l),q=O(s,u);o=Math.min(R.x,V.x,F.x,q.x),s=Math.max(R.x,V.x,F.x,q.x),l=Math.min(R.y,V.y,F.y,q.y),u=Math.max(R.y,V.y,F.y,q.y)}var j=D+"Rot",Y=T[j]=T[j]||{};Y.x1=o,Y.y1=l,Y.x2=s,Y.y2=u,Y.w=s-o,Y.h=u-l,oi(e,o,l,s,u),oi(i.labelBounds.all,o,l,s,u)}return e}},di=function(e){var t=0,n=function(e){return(e?1:0)<<t++},r=0;return r+=n(e.incudeNodes),r+=n(e.includeEdges),r+=n(e.includeLabels),r+=n(e.includeMainLabels),r+=n(e.includeSourceLabels),r+=n(e.includeTargetLabels),r+=n(e.includeOverlays)},hi=function(e){if(e.isEdge()){var t=e.source().position(),n=e.target().position(),r=function(e){return Math.round(e)};return function(e,t){var n={value:0,done:!1},r=0,i=e.length;return oe({next:function(){return r<i?n.value=e[r++]:n.done=!0,n}},t)}([r(t.x),r(t.y),r(n.x),r(n.y)])}return 0},pi=function(e,t){var n,r=e._private,i=e.isEdge(),a=(null==t?gi:di(t))===gi,o=hi(e),s=r.bbCachePosKey===o,l=t.useCache&&s,u=function(e){return null==e._private.bbCache||e._private.styleDirty};if(!l||u(e)||i&&u(e.source())||u(e.target())?(s||e.recalculateRenderedStyle(l),n=function(e,t){var n,r,i,a,o,s,l,u=e._private.cy,c=u.styleEnabled(),d=u.headless(),h=ht(),p=e._private,f=e.isNode(),g=e.isEdge(),v=p.rstyle,y=f&&c?e.pstyle("bounds-expansion").pfValue:[0],m=function(e){return"none"!==e.pstyle("display").value},b=!c||m(e)&&(!g||m(e.source())&&m(e.target()));if(b){var x=0;c&&t.includeOverlays&&0!==e.pstyle("overlay-opacity").value&&(x=e.pstyle("overlay-padding").value);var w=0;if(c&&(w=e.pstyle("width").pfValue/2),f&&t.includeNodes){var E=e.position();o=E.x,s=E.y;var k=e.outerWidth()/2,C=e.outerHeight()/2;oi(h,n=o-k,i=s-C,r=o+k,a=s+C)}else if(g&&t.includeEdges)if(c&&!d){var S=e.pstyle("curve-style").strValue;if(n=Math.min(v.srcX,v.midX,v.tgtX),r=Math.max(v.srcX,v.midX,v.tgtX),i=Math.min(v.srcY,v.midY,v.tgtY),a=Math.max(v.srcY,v.midY,v.tgtY),oi(h,n-=w,i-=w,r+=w,a+=w),"haystack"===S){var P=v.haystackPts;if(P&&2===P.length){if(n=P[0].x,i=P[0].y,n>(r=P[1].x)){var D=n;n=r,r=D}if(i>(a=P[1].y)){var T=i;i=a,a=T}oi(h,n-w,i-w,r+w,a+w)}}else if("bezier"===S||"unbundled-bezier"===S||"segments"===S||"taxi"===S){var M;switch(S){case"bezier":case"unbundled-bezier":M=v.bezierPts;break;case"segments":case"taxi":M=v.linePts}if(null!=M)for(var B=0;B<M.length;B++){var _=M[B];n=_.x-w,r=_.x+w,i=_.y-w,a=_.y+w,oi(h,n,i,r,a)}}}else{var N=e.source().position(),I=e.target().position();if((n=N.x)>(r=I.x)){var z=n;n=r,r=z}if((i=N.y)>(a=I.y)){var L=i;i=a,a=L}oi(h,n-=w,i-=w,r+=w,a+=w)}if(c&&t.includeEdges&&g&&(ui(h,e,"mid-source"),ui(h,e,"mid-target"),ui(h,e,"source"),ui(h,e,"target")),c)if("yes"===e.pstyle("ghost").value){var A=e.pstyle("ghost-offset-x").pfValue,O=e.pstyle("ghost-offset-y").pfValue;oi(h,h.x1+A,h.y1+O,h.x2+A,h.y2+O)}var R=p.bodyBounds=p.bodyBounds||{};vt(R,h),gt(R,y),ft(R,1),c&&(n=h.x1,r=h.x2,i=h.y1,a=h.y2,oi(h,n-x,i-x,r+x,a+x));var V=p.overlayBounds=p.overlayBounds||{};vt(V,h),gt(V,y),ft(V,1);var F=p.labelBounds=p.labelBounds||{};null!=F.all?((l=F.all).x1=1/0,l.y1=1/0,l.x2=-1/0,l.y2=-1/0,l.w=0,l.h=0):F.all=ht(),c&&t.includeLabels&&(t.includeMainLabels&&ci(h,e,null),g&&(t.includeSourceLabels&&ci(h,e,"source"),t.includeTargetLabels&&ci(h,e,"target")))}return h.x1=ai(h.x1),h.y1=ai(h.y1),h.x2=ai(h.x2),h.y2=ai(h.y2),h.w=ai(h.x2-h.x1),h.h=ai(h.y2-h.y1),h.w>0&&h.h>0&&b&&(gt(h,y),ft(h,1)),h}(e,fi),r.bbCache=n,r.bbCachePosKey=o):n=r.bbCache,!a){var c=e.isNode();n=ht(),(t.includeNodes&&c||t.includeEdges&&!c)&&(t.includeOverlays?si(n,r.overlayBounds):si(n,r.bodyBounds)),t.includeLabels&&(t.includeMainLabels&&(!i||t.includeSourceLabels&&t.includeTargetLabels)?si(n,r.labelBounds.all):(t.includeMainLabels&&si(n,r.labelBounds.mainRot),t.includeSourceLabels&&si(n,r.labelBounds.sourceRot),t.includeTargetLabels&&si(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},fi={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,useCache:!0},gi=di(fi),vi=Me(fi);ri.boundingBox=function(e){var t;if(1!==this.length||null==this[0]._private.bbCache||this[0]._private.styleDirty||void 0!==e&&void 0!==e.useCache&&!0!==e.useCache){t=ht();var n=vi(e=e||fi);if(this.cy().styleEnabled())for(var r=0;r<this.length;r++){var i=this[r],a=i._private,o=hi(i),s=a.bbCachePosKey===o,l=n.useCache&&s&&!a.styleDirty;i.recalculateRenderedStyle(l)}this.updateCompoundBounds(!e.useCache);for(var u=0;u<this.length;u++){var c=this[u];si(t,pi(c,n))}}else e=void 0===e?fi:vi(e),t=pi(this[0],e);return t.x1=ai(t.x1),t.y1=ai(t.y1),t.x2=ai(t.x2),t.y2=ai(t.y2),t.w=ai(t.x2-t.x1),t.h=ai(t.y2-t.y1),t},ri.dirtyBoundingBoxCache=function(){for(var e=0;e<this.length;e++){var t=this[e]._private;t.bbCache=null,t.bbCachePosKey=null,t.bodyBounds=null,t.overlayBounds=null,t.labelBounds.all=null,t.labelBounds.source=null,t.labelBounds.target=null,t.labelBounds.main=null,t.labelBounds.sourceRot=null,t.labelBounds.targetRot=null,t.labelBounds.mainRot=null,t.arrowBounds.source=null,t.arrowBounds.target=null,t.arrowBounds["mid-source"]=null,t.arrowBounds["mid-target"]=null}return this.emitAndNotify("bounds"),this},ri.boundingBoxAt=function(e){var t=this.nodes(),n=this.cy(),r=n.hasCompoundNodes(),i=n.collection();if(r&&(i=t.filter((function(e){return e.isParent()})),t=t.not(i)),v(e)){var a=e;e=function(){return a}}n.startBatch(),t.forEach((function(t,n){return t._private.bbAtOldPos=e(t,n)})).silentPositions(e),r&&(i.dirtyCompoundBoundsCache(),i.dirtyBoundingBoxCache(),i.updateCompoundBounds(!0));var o=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}}(this.boundingBox({useCache:!1}));return t.silentPositions((function(e){return e._private.bbAtOldPos})),r&&(i.dirtyCompoundBoundsCache(),i.dirtyBoundingBoxCache(),i.updateCompoundBounds(!0)),n.endBatch(),o},ni.boundingbox=ni.bb=ni.boundingBox,ni.renderedBoundingbox=ni.renderedBoundingBox;var yi,mi,bi=ri;yi=mi={};var xi=function(e){e.uppercaseName=B(e.name),e.autoName="auto"+e.uppercaseName,e.labelName="label"+e.uppercaseName,e.outerName="outer"+e.uppercaseName,e.uppercaseOuterName=B(e.outerName),yi[e.name]=function(){var t=this[0],n=t._private,r=n.cy._private.styleEnabled;if(t){if(!r)return 1;if(t.isParent())return t.updateCompoundBounds(),n[e.autoName]||0;var i=t.pstyle(e.name);switch(i.strValue){case"label":return t.recalculateRenderedStyle(),n.rstyle[e.labelName]||0;default:return i.pfValue}}},yi["outer"+e.uppercaseName]=function(){var t=this[0],n=t._private.cy._private.styleEnabled;if(t)return n?t[e.name]()+t.pstyle("border-width").pfValue+2*t.padding():1},yi["rendered"+e.uppercaseName]=function(){var t=this[0];if(t)return t[e.name]()*this.cy().zoom()},yi["rendered"+e.uppercaseOuterName]=function(){var t=this[0];if(t)return t[e.outerName]()*this.cy().zoom()}};xi({name:"width"}),xi({name:"height"}),mi.padding=function(){var e=this[0],t=e._private;return e.isParent()?(e.updateCompoundBounds(),void 0!==t.autoPadding?t.autoPadding:e.pstyle("padding").pfValue):e.pstyle("padding").pfValue},mi.paddedHeight=function(){var e=this[0];return e.height()+2*e.padding()},mi.paddedWidth=function(){var e=this[0];return e.width()+2*e.padding()};var wi=mi,Ei={controlPoints:{get:function(e){return e.renderer().getControlPoints(e)},mult:!0},segmentPoints:{get:function(e){return e.renderer().getSegmentPoints(e)},mult:!0},sourceEndpoint:{get:function(e){return e.renderer().getSourceEndpoint(e)}},targetEndpoint:{get:function(e){return e.renderer().getTargetEndpoint(e)}},midpoint:{get:function(e){return e.renderer().getEdgeMidpoint(e)}}},ki=Object.keys(Ei).reduce((function(e,t){var n=Ei[t],r=function(e){return"rendered"+e[0].toUpperCase()+e.substr(1)}(t);return e[t]=function(){return function(e,t){if(e.isEdge())return t(e)}(this,n.get)},n.mult?e[r]=function(){return function(e,t){if(e.isEdge()){var n=e.cy(),r=n.pan(),i=n.zoom();return t(e).map((function(e){return et(e,i,r)}))}}(this,n.get)}:e[r]=function(){return function(e,t){if(e.isEdge()){var n=e.cy();return et(t(e),n.zoom(),n.pan())}}(this,n.get)},e}),{}),Ci=I({},ii,bi,wi,ki),Si=function(e,t){this.recycle(e,t)};function Pi(){return!1}function Di(){return!0}Si.prototype={instanceString:function(){return"event"},recycle:function(e,t){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=Pi,null!=e&&e.preventDefault?(this.type=e.type,this.isDefaultPrevented=e.defaultPrevented?Di:Pi):null!=e&&e.type?t=e:this.type=e,null!=t&&(this.originalEvent=t.originalEvent,this.type=null!=t.type?t.type:this.type,this.cy=t.cy,this.target=t.target,this.position=t.position,this.renderedPosition=t.renderedPosition,this.namespace=t.namespace,this.layout=t.layout),null!=this.cy&&null!=this.position&&null==this.renderedPosition){var n=this.position,r=this.cy.zoom(),i=this.cy.pan();this.renderedPosition={x:n.x*r+i.x,y:n.y*r+i.y}}this.timeStamp=e&&e.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=Di;var e=this.originalEvent;e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){this.isPropagationStopped=Di;var e=this.originalEvent;e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Di,this.stopPropagation()},isDefaultPrevented:Pi,isPropagationStopped:Pi,isImmediatePropagationStopped:Pi};var Ti=/^([^.]+)(\.(?:[^.]+))?$/,Mi={qualifierCompare:function(e,t){return e===t},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(e){return e},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},Bi=Object.keys(Mi),_i={};function Ni(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_i,t=arguments.length>1?arguments[1]:void 0,n=0;n<Bi.length;n++){var r=Bi[n];this[r]=e[r]||Mi[r]}this.context=t||this.context,this.listeners=[],this.emitting=0}var Ii=Ni.prototype,zi=function(e,t,n,r,i,a,o){f(r)&&(i=r,r=null),o&&(a=null==a?o:I({},a,o));for(var s=g(n)?n:n.split(/\s+/),l=0;l<s.length;l++){var u=s[l];if(!C(u)){var c=u.match(Ti);if(c)if(!1===t(e,u,c[1],c[2]?c[2]:null,r,i,a))break}}},Li=function(e,t){return e.addEventFields(e.context,t),new Si(t.type,t)},Ai=function(e,t,n){if("event"!==h(n))if(v(n))t(e,Li(e,n));else for(var r=g(n)?n:n.split(/\s+/),i=0;i<r.length;i++){var a=r[i];if(!C(a)){var o=a.match(Ti);if(o){var s=o[1],l=o[2]?o[2]:null;t(e,Li(e,{type:s,namespace:l,target:e.context}))}}}else t(e,n)};Ii.on=Ii.addListener=function(e,t,n,r,i){return zi(this,(function(e,t,n,r,i,a,o){f(a)&&e.listeners.push({event:t,callback:a,type:n,namespace:r,qualifier:i,conf:o})}),e,t,n,r,i),this},Ii.one=function(e,t,n,r){return this.on(e,t,n,r,{one:!0})},Ii.removeListener=Ii.off=function(e,t,n,r){var i=this;0!==this.emitting&&(this.listeners=this.listeners.slice());for(var a=this.listeners,o=function(o){var s=a[o];zi(i,(function(t,n,r,i,l,u){if((s.type===r||"*"===e)&&(!i&&".*"!==s.namespace||s.namespace===i)&&(!l||t.qualifierCompare(s.qualifier,l))&&(!u||s.callback===u))return a.splice(o,1),!1}),e,t,n,r)},s=a.length-1;s>=0;s--)o(s);return this},Ii.removeAllListeners=function(){return this.removeListener("*")},Ii.emit=Ii.trigger=function(e,t,n){var r=this.listeners,i=r.length;return this.emitting++,g(t)||(t=[t]),Ai(this,(function(e,a){null!=n&&(r=[{event:a.event,type:a.type,namespace:a.namespace,callback:n}],i=r.length);for(var o=function(n){var i=r[n];if(i.type===a.type&&(!i.namespace||i.namespace===a.namespace||".*"===i.namespace)&&e.eventMatches(e.context,i,a)){var o=[a];null!=t&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];e.push(r)}}(o,t),e.beforeEmit(e.context,i,a),i.conf&&i.conf.one&&(e.listeners=e.listeners.filter((function(e){return e!==i})));var s=e.callbackContext(e.context,i,a),l=i.callback.apply(s,o);e.afterEmit(e.context,i,a),!1===l&&(a.stopPropagation(),a.preventDefault())}},s=0;s<i;s++)o(s);e.bubble(e.context)&&!a.isPropagationStopped()&&e.parent(e.context).emit(a,t)}),e),this.emitting--,this};var Oi={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&x(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e.cy(),t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e},beforeEmit:function(e,t){t.conf&&t.conf.once&&t.conf.onceCollection.removeListener(t.event,t.qualifier,t.callback)},bubble:function(){return!0},parent:function(e){return e.isChild()?e.parent():e.cy()}},Ri=function(e){return p(e)?new Or(e):e},Vi={createEmitter:function(){for(var e=0;e<this.length;e++){var t=this[e],n=t._private;n.emitter||(n.emitter=new Ni(Oi,t))}return this},emitter:function(){return this._private.emitter},on:function(e,t,n){for(var r=Ri(t),i=0;i<this.length;i++){this[i].emitter().on(e,r,n)}return this},removeListener:function(e,t,n){for(var r=Ri(t),i=0;i<this.length;i++){this[i].emitter().removeListener(e,r,n)}return this},removeAllListeners:function(){for(var e=0;e<this.length;e++){this[e].emitter().removeAllListeners()}return this},one:function(e,t,n){for(var r=Ri(t),i=0;i<this.length;i++){this[i].emitter().one(e,r,n)}return this},once:function(e,t,n){for(var r=Ri(t),i=0;i<this.length;i++){this[i].emitter().on(e,r,n,{once:!0,onceCollection:this})}},emit:function(e,t){for(var n=0;n<this.length;n++){this[n].emitter().emit(e,t)}return this},emitAndNotify:function(e,t){if(0!==this.length)return this.cy().notify(e,this),this.emit(e,t),this}};er.eventAliasesOn(Vi);var Fi={nodes:function(e){return this.filter((function(e){return e.isNode()})).filter(e)},edges:function(e){return this.filter((function(e){return e.isEdge()})).filter(e)},byGroup:function(){for(var e=this.spawn(),t=this.spawn(),n=0;n<this.length;n++){var r=this[n];r.isNode()?e.push(r):t.push(r)}return{nodes:e,edges:t}},filter:function(e,t){if(void 0===e)return this;if(p(e)||b(e))return new Or(e).filter(this);if(f(e)){for(var n=this.spawn(),r=0;r<this.length;r++){var i=this[r];(t?e.apply(t,[i,r,this]):e(i,r,this))&&n.push(i)}return n}return this.spawn()},not:function(e){if(e){p(e)&&(e=this.filter(e));for(var t=this.spawn(),n=0;n<this.length;n++){var r=this[n];e.has(r)||t.push(r)}return t}return this},absoluteComplement:function(){return this.cy().mutableElements().not(this)},intersect:function(e){if(p(e)){var t=e;return this.filter(t)}for(var n=this.spawn(),r=e,i=this.length<e.length,a=i?this:r,o=i?r:this,s=0;s<a.length;s++){var l=a[s];o.has(l)&&n.push(l)}return n},xor:function(e){var t=this._private.cy;p(e)&&(e=t.$(e));var n=this.spawn(),r=e,i=function(e,t){for(var r=0;r<e.length;r++){var i=e[r],a=i._private.data.id;t.hasElementWithId(a)||n.push(i)}};return i(this,r),i(r,this),n},diff:function(e){var t=this._private.cy;p(e)&&(e=t.$(e));var n=this.spawn(),r=this.spawn(),i=this.spawn(),a=e,o=function(e,t,n){for(var r=0;r<e.length;r++){var a=e[r],o=a._private.data.id;t.hasElementWithId(o)?i.merge(a):n.push(a)}};return o(this,a,n),o(a,this,r),{left:n,right:r,both:i}},add:function(e){var t=this._private.cy;if(!e)return this;if(p(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=this.spawnSelf(),i=0;i<e.length;i++){var a=e[i],o=!this.has(a);o&&r.push(a)}return r},merge:function(e){var t=this._private,n=t.cy;if(!e)return this;if(e&&p(e)){var r=e;e=n.mutableElements().filter(r)}for(var i=t.map,a=0;a<e.length;a++){var o=e[a],s=o._private.data.id;if(!i.has(s)){var l=this.length++;this[l]=o,i.set(s,{ele:o,index:l})}}return this},unmergeAt:function(e){var t=this[e].id(),n=this._private.map;this[e]=void 0,n.delete(t);var r=e===this.length-1;if(this.length>1&&!r){var i=this.length-1,a=this[i],o=a._private.data.id;this[i]=void 0,this[e]=a,n.set(o,{ele:a,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&p(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=0;r<e.length;r++)this.unmergeOne(e[r]);return this},unmergeBy:function(e){for(var t=this.length-1;t>=0;t--){e(this[t])&&this.unmergeAt(t)}return this},map:function(e,t){for(var n=[],r=0;r<this.length;r++){var i=this[r],a=t?e.apply(t,[i,r,this]):e(i,r,this);n.push(a)}return n},reduce:function(e,t){for(var n=t,r=0;r<this.length;r++)n=e(n,this[r],r,this);return n},max:function(e,t){for(var n,r=-1/0,i=0;i<this.length;i++){var a=this[i],o=t?e.apply(t,[a,i,this]):e(a,i,this);o>r&&(r=o,n=a)}return{value:r,ele:n}},min:function(e,t){for(var n,r=1/0,i=0;i<this.length;i++){var a=this[i],o=t?e.apply(t,[a,i,this]):e(a,i,this);o<r&&(r=o,n=a)}return{value:r,ele:n}}},qi=Fi;qi.u=qi["|"]=qi["+"]=qi.union=qi.or=qi.add,qi["\\"]=qi["!"]=qi["-"]=qi.difference=qi.relativeComplement=qi.subtract=qi.not,qi.n=qi["&"]=qi["."]=qi.and=qi.intersection=qi.intersect,qi["^"]=qi["(+)"]=qi["(-)"]=qi.symmetricDifference=qi.symdiff=qi.xor,qi.fnFilter=qi.filterFn=qi.stdFilter=qi.filter,qi.complement=qi.abscomp=qi.absoluteComplement;var ji=function(e,t){var n=e.cy().hasCompoundNodes();function r(e){var t=e.pstyle("z-compound-depth");return"auto"===t.value?n?e.zDepth():0:"bottom"===t.value?-1:"top"===t.value?ye:0}var i=r(e)-r(t);if(0!==i)return i;function a(e){return"auto"===e.pstyle("z-index-compare").value&&e.isNode()?1:0}var o=a(e)-a(t);if(0!==o)return o;var s=e.pstyle("z-index").value-t.pstyle("z-index").value;return 0!==s?s:e.poolIndex()-t.poolIndex()},Yi={forEach:function(e,t){if(f(e))for(var n=this.length,r=0;r<n;r++){var i=this[r];if(!1===(t?e.apply(t,[i,r,this]):e(i,r,this)))break}return this},toArray:function(){for(var e=[],t=0;t<this.length;t++)e.push(this[t]);return e},slice:function(e,t){var n=[],r=this.length;null==t&&(t=r),null==e&&(e=0),e<0&&(e=r+e),t<0&&(t=r+t);for(var i=e;i>=0&&i<t&&i<r;i++)n.push(this[i]);return this.spawn(n)},size:function(){return this.length},eq:function(e){return this[e]||this.spawn()},first:function(){return this[0]||this.spawn()},last:function(){return this[this.length-1]||this.spawn()},empty:function(){return 0===this.length},nonempty:function(){return!this.empty()},sort:function(e){if(!f(e))return this;var t=this.toArray().sort(e);return this.spawn(t)},sortByZIndex:function(){return this.sort(ji)},zDepth:function(){var e=this[0];if(e){var t=e._private;if("nodes"===t.group){var n=t.data.parent?e.parents().size():0;return e.isParent()?n:ye-1}var r=t.source,i=t.target,a=r.zDepth(),o=i.zDepth();return Math.max(a,o,0)}}};Yi.each=Yi.forEach;"undefined"!=("undefined"==typeof Symbol?"undefined":e(Symbol))&&"undefined"!=e(Symbol.iterator)&&(Yi[Symbol.iterator]=function(){var e=this,t={value:void 0,done:!1},n=0,r=this.length;return i({next:function(){return n<r?t.value=e[n++]:(t.value=void 0,t.done=!0),t}},Symbol.iterator,(function(){return this}))});var Xi=Me({nodeDimensionsIncludeLabels:!1}),Wi={layoutDimensions:function(e){var t;if(e=Xi(e),this.takesUpSpace())if(e.nodeDimensionsIncludeLabels){var n=this.boundingBox();t={w:n.w,h:n.h}}else t={w:this.outerWidth(),h:this.outerHeight()};else t={w:0,h:0};return 0!==t.w&&0!==t.h||(t.w=t.h=1),t},layoutPositions:function(e,t,n){var r=this.nodes().filter((function(e){return!e.isParent()})),i=this.cy(),a=t.eles,o=function(e){return e.id()},s=P(n,o);e.emit({type:"layoutstart",layout:e}),e.animations=[];var l=t.spacingFactor&&1!==t.spacingFactor,u=function(){if(!l)return null;for(var e=ht(),t=0;t<r.length;t++){var n=r[t],i=s(n,t);pt(e,i.x,i.y)}return e}(),c=P((function(e,n){var r=s(e,n);l&&(r=function(e,t,n){var r=t.x1+t.w/2,i=t.y1+t.h/2;return{x:r+(n.x-r)*e,y:i+(n.y-i)*e}}(Math.abs(t.spacingFactor),u,r));return null!=t.transform&&(r=t.transform(e,r)),r}),o);if(t.animate){for(var d=0;d<r.length;d++){var h=r[d],p=c(h,d);if(null==t.animateFilter||t.animateFilter(h,d)){var f=h.animation({position:p,duration:t.animationDuration,easing:t.animationEasing});e.animations.push(f)}else h.position(p)}if(t.fit){var g=i.animation({fit:{boundingBox:a.boundingBoxAt(c),padding:t.padding},duration:t.animationDuration,easing:t.animationEasing});e.animations.push(g)}else if(void 0!==t.zoom&&void 0!==t.pan){var v=i.animation({zoom:t.zoom,pan:t.pan,duration:t.animationDuration,easing:t.animationEasing});e.animations.push(v)}e.animations.forEach((function(e){return e.play()})),e.one("layoutready",t.ready),e.emit({type:"layoutready",layout:e}),$n.all(e.animations.map((function(e){return e.promise()}))).then((function(){e.one("layoutstop",t.stop),e.emit({type:"layoutstop",layout:e})}))}else r.positions(c),t.fit&&i.fit(t.eles,t.padding),null!=t.zoom&&i.zoom(t.zoom),t.pan&&i.pan(t.pan),e.one("layoutready",t.ready),e.emit({type:"layoutready",layout:e}),e.one("layoutstop",t.stop),e.emit({type:"layoutstop",layout:e});return this},layout:function(e){return this.cy().makeLayout(I({},e,{eles:this}))}};function Hi(e,t,n){var r,i=n._private,a=i.styleCache=i.styleCache||[];return null!=(r=a[e])?r:r=a[e]=t(n)}function Ki(e,t){return e=de(e),function(n){return Hi(e,t,n)}}function Gi(e,t){e=de(e);var n=function(e){return t.call(e)};return function(){var t=this[0];if(t)return Hi(e,n,t)}}Wi.createLayout=Wi.makeLayout=Wi.layout;var Zi={recalculateRenderedStyle:function(e){var t=this.cy(),n=t.renderer(),r=t.styleEnabled();return n&&r&&n.recalculateRenderedStyle(this,e),this},dirtyStyleCache:function(){var e,t=this.cy(),n=function(e){return e._private.styleCache=null};t.hasCompoundNodes()?((e=this.spawnSelf().merge(this.descendants()).merge(this.parents())).merge(e.connectedEdges()),e.forEach(n)):this.forEach((function(e){n(e),e.connectedEdges().forEach(n)}));return this},updateStyle:function(e){var t=this._private.cy;if(!t.styleEnabled())return this;if(t.batching())return t._private.batchStyleEles.merge(this),this;var n=this;e=!(!e&&void 0!==e),t.hasCompoundNodes()&&(n=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var r=n;return e?r.emitAndNotify("style"):r.emit("style"),n.forEach((function(e){return e._private.styleDirty=!0})),this},cleanStyle:function(){var e=this.cy();if(e.styleEnabled())for(var t=0;t<this.length;t++){var n=this[t];n._private.styleDirty&&(n._private.styleDirty=!1,e.style().apply(n))}},parsedStyle:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[e];return null!=i?i:t?r.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled())return t?t.pstyle(e).units:void 0},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];return n?t.style().getRenderedStyle(n,e):void 0},style:function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(v(e)){var i=e;r.applyBypass(this,i,!1),this.emitAndNotify("style")}else if(p(e)){if(void 0===t){var a=this[0];return a?r.getStylePropertyValue(a,e):void 0}r.applyBypass(this,e,t,!1),this.emitAndNotify("style")}else if(void 0===e){var o=this[0];return o?r.getRawStyle(o):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=t.style();if(void 0===e)for(var r=0;r<this.length;r++){var i=this[r];n.removeAllBypasses(i,!1)}else{e=e.split(/\s+/);for(var a=0;a<this.length;a++){var o=this[a];n.removeBypasses(o,e,!1)}}return this.emitAndNotify("style"),this},show:function(){return this.css("display","element"),this},hide:function(){return this.css("display","none"),this},effectiveOpacity:function(){var e=this.cy();if(!e.styleEnabled())return 1;var t=e.hasCompoundNodes(),n=this[0];if(n){var r=n._private,i=n.pstyle("opacity").value;if(!t)return i;var a=r.data.parent?n.parents():null;if(a)for(var o=0;o<a.length;o++){i*=a[o].pstyle("opacity").value}return i}},transparent:function(){if(!this.cy().styleEnabled())return!1;var e=this[0],t=e.cy().hasCompoundNodes();return e?t?0===e.effectiveOpacity():0===e.pstyle("opacity").value:void 0},backgrounding:function(){return!!this.cy().styleEnabled()&&!!this[0]._private.backgrounding}};function Ui(e,t){var n=e._private.data.parent?e.parents():null;if(n)for(var r=0;r<n.length;r++){if(!t(n[r]))return!1}return!0}function $i(e){var t=e.ok,n=e.edgeOkViaNode||e.ok,r=e.parentOk||e.ok;return function(){var e=this.cy();if(!e.styleEnabled())return!0;var i=this[0],a=e.hasCompoundNodes();if(i){var o=i._private;if(!t(i))return!1;if(i.isNode())return!a||Ui(i,r);var s=o.source,l=o.target;return n(s)&&(!a||Ui(s,n))&&(s===l||n(l)&&(!a||Ui(l,n)))}}}var Qi=Ki("eleTakesUpSpace",(function(e){return"element"===e.pstyle("display").value&&0!==e.width()&&(!e.isNode()||0!==e.height())}));Zi.takesUpSpace=Gi("takesUpSpace",$i({ok:Qi}));var Ji=Ki("eleInteractive",(function(e){return"yes"===e.pstyle("events").value&&"visible"===e.pstyle("visibility").value&&Qi(e)})),ea=Ki("parentInteractive",(function(e){return"visible"===e.pstyle("visibility").value&&Qi(e)}));Zi.interactive=Gi("interactive",$i({ok:Ji,parentOk:ea,edgeOkViaNode:Qi})),Zi.noninteractive=function(){var e=this[0];if(e)return!e.interactive()};var ta=Ki("eleVisible",(function(e){return"visible"===e.pstyle("visibility").value&&0!==e.pstyle("opacity").pfValue&&Qi(e)})),na=Qi;Zi.visible=Gi("visible",$i({ok:ta,edgeOkViaNode:na})),Zi.hidden=function(){var e=this[0];if(e)return!e.visible()},Zi.isBundledBezier=Gi("isBundledBezier",(function(){return!!this.cy().styleEnabled()&&(!this.removed()&&"bezier"===this.pstyle("curve-style").value&&this.takesUpSpace())})),Zi.bypass=Zi.css=Zi.style,Zi.renderedCss=Zi.renderedStyle,Zi.removeBypass=Zi.removeCss=Zi.removeStyle,Zi.pstyle=Zi.parsedStyle;var ra={};function ia(e){return function(){var t=arguments,n=[];if(2===t.length){var r=t[0],i=t[1];this.on(e.event,r,i)}else if(1===t.length&&f(t[0])){var a=t[0];this.on(e.event,a)}else if(0===t.length||1===t.length&&g(t[0])){for(var o=1===t.length?t[0]:null,s=0;s<this.length;s++){var l=this[s],u=!e.ableField||l._private[e.ableField],c=l._private[e.field]!=e.value;if(e.overrideAble){var d=e.overrideAble(l);if(void 0!==d&&(u=d,!d))return this}u&&(l._private[e.field]=e.value,c&&n.push(l))}var h=this.spawn(n);h.updateStyle(),h.emit(e.event),o&&h.emit(o)}return this}}function aa(e){ra[e.field]=function(){var t=this[0];if(t){if(e.overrideField){var n=e.overrideField(t);if(void 0!==n)return n}return t._private[e.field]}},ra[e.on]=ia({event:e.on,field:e.field,ableField:e.ableField,overrideAble:e.overrideAble,value:!0}),ra[e.off]=ia({event:e.off,field:e.field,ableField:e.ableField,overrideAble:e.overrideAble,value:!1})}aa({field:"locked",overrideField:function(e){return!!e.cy().autolock()||void 0},on:"lock",off:"unlock"}),aa({field:"grabbable",overrideField:function(e){return!e.cy().autoungrabify()&&!e.pannable()&&void 0},on:"grabify",off:"ungrabify"}),aa({field:"selected",ableField:"selectable",overrideAble:function(e){return!e.cy().autounselectify()&&void 0},on:"select",off:"unselect"}),aa({field:"selectable",overrideField:function(e){return!e.cy().autounselectify()&&void 0},on:"selectify",off:"unselectify"}),ra.deselect=ra.unselect,ra.grabbed=function(){var e=this[0];if(e)return e._private.grabbed},aa({field:"active",on:"activate",off:"unactivate"}),aa({field:"pannable",on:"panify",off:"unpanify"}),ra.inactive=function(){var e=this[0];if(e)return!e._private.active};var oa={},sa=function(e){return function(t){for(var n=[],r=0;r<this.length;r++){var i=this[r];if(i.isNode()){for(var a=!1,o=i.connectedEdges(),s=0;s<o.length;s++){var l=o[s],u=l.source(),c=l.target();if(e.noIncomingEdges&&c===i&&u!==i||e.noOutgoingEdges&&u===i&&c!==i){a=!0;break}}a||n.push(i)}}return this.spawn(n,!0).filter(t)}},la=function(e){return function(t){for(var n=[],r=0;r<this.length;r++){var i=this[r];if(i.isNode())for(var a=i.connectedEdges(),o=0;o<a.length;o++){var s=a[o],l=s.source(),u=s.target();e.outgoing&&l===i?(n.push(s),n.push(u)):e.incoming&&u===i&&(n.push(s),n.push(l))}}return this.spawn(n,!0).filter(t)}},ua=function(e){return function(t){for(var n=this,r=[],i={};;){var a=e.outgoing?n.outgoers():n.incomers();if(0===a.length)break;for(var o=!1,s=0;s<a.length;s++){var l=a[s],u=l.id();i[u]||(i[u]=!0,r.push(l),o=!0)}if(!o)break;n=a}return this.spawn(r,!0).filter(t)}};function ca(e){return function(t){for(var n=[],r=0;r<this.length;r++){var i=this[r]._private[e.attr];i&&n.push(i)}return this.spawn(n,!0).filter(t)}}function da(e){return function(t){var n=[],r=this._private.cy,i=e||{};p(t)&&(t=r.$(t));for(var a=0;a<t.length;a++)for(var o=t[a]._private.edges,s=0;s<o.length;s++){var l=o[s],u=l._private.data,c=this.hasElementWithId(u.source)&&t.hasElementWithId(u.target),d=t.hasElementWithId(u.source)&&this.hasElementWithId(u.target);if(c||d){if(i.thisIsSrc||i.thisIsTgt){if(i.thisIsSrc&&!c)continue;if(i.thisIsTgt&&!d)continue}n.push(l)}}return this.spawn(n,!0)}}function ha(e){return e=I({},{codirected:!1},e),function(t){for(var n=[],r=this.edges(),i=e,a=0;a<r.length;a++)for(var o=r[a]._private,s=o.source,l=s._private.data.id,u=o.data.target,c=s._private.edges,d=0;d<c.length;d++){var h=c[d],p=h._private.data,f=p.target,g=p.source,v=f===u&&g===l,y=l===f&&u===g;(i.codirected&&v||!i.codirected&&(v||y))&&n.push(h)}return this.spawn(n,!0).filter(t)}}oa.clearTraversalCache=function(){for(var e=0;e<this.length;e++)this[e]._private.traversalCache=null},I(oa,{roots:sa({noIncomingEdges:!0}),leaves:sa({noOutgoingEdges:!0}),outgoers:jr(la({outgoing:!0}),"outgoers"),successors:ua({outgoing:!0}),incomers:jr(la({incoming:!0}),"incomers"),predecessors:ua({incoming:!0})}),I(oa,{neighborhood:jr((function(e){for(var t=[],n=this.nodes(),r=0;r<n.length;r++)for(var i=n[r],a=i.connectedEdges(),o=0;o<a.length;o++){var s=a[o],l=s.source(),u=s.target(),c=i===l?u:l;c.length>0&&t.push(c[0]),t.push(s[0])}return this.spawn(t,!0).filter(e)}),"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),oa.neighbourhood=oa.neighborhood,oa.closedNeighbourhood=oa.closedNeighborhood,oa.openNeighbourhood=oa.openNeighborhood,I(oa,{source:jr((function(e){var t,n=this[0];return n&&(t=n._private.source||n.cy().collection()),t&&e?t.filter(e):t}),"source"),target:jr((function(e){var t,n=this[0];return n&&(t=n._private.target||n.cy().collection()),t&&e?t.filter(e):t}),"target"),sources:ca({attr:"source"}),targets:ca({attr:"target"})}),I(oa,{edgesWith:jr(da(),"edgesWith"),edgesTo:jr(da({thisIsSrc:!0}),"edgesTo")}),I(oa,{connectedEdges:jr((function(e){for(var t=[],n=0;n<this.length;n++){var r=this[n];if(r.isNode())for(var i=r._private.edges,a=0;a<i.length;a++){var o=i[a];t.push(o)}}return this.spawn(t,!0).filter(e)}),"connectedEdges"),connectedNodes:jr((function(e){for(var t=[],n=0;n<this.length;n++){var r=this[n];r.isEdge()&&(t.push(r.source()[0]),t.push(r.target()[0]))}return this.spawn(t,!0).filter(e)}),"connectedNodes"),parallelEdges:jr(ha(),"parallelEdges"),codirectedEdges:jr(ha({codirected:!0}),"codirectedEdges")}),I(oa,{components:function(e){var t=this,n=t.cy(),r=n.collection(),i=null==e?t.nodes():e.nodes(),a=[];null!=e&&i.empty()&&(i=e.sources());var o=function(e,t){r.merge(e),i.unmerge(e),t.merge(e)};if(i.empty())return t.spawn();var s=function(){var e=n.collection();a.push(e);var r=i[0];o(r,e),t.bfs({directed:!1,roots:r,visit:function(t){return o(t,e)}}),e.forEach((function(n){n.connectedEdges().forEach((function(n){t.has(n)&&e.has(n.source())&&e.has(n.target())&&e.merge(n)}))}))};do{s()}while(i.length>0);return a},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),oa.componentsOf=oa.components;var pa=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(void 0!==e){var r=new ze,i=!1;if(t){if(t.length>0&&v(t[0])&&!x(t[0])){i=!0;for(var a=[],o=new Ae,s=0,l=t.length;s<l;s++){var u=t[s];null==u.data&&(u.data={});var c=u.data;if(null==c.id)c.id=Pe();else if(e.hasElementWithId(c.id)||o.has(c.id))continue;var d=new Oe(e,u,!1);a.push(d),o.add(c.id)}t=a}}else t=[];this.length=0;for(var h=0,p=t.length;h<p;h++){var f=t[h][0];if(null!=f){var g=f._private.data.id;n&&r.has(g)||(n&&r.set(g,{index:this.length,ele:f}),this[this.length]=f,this.length++)}}this._private={eles:this,cy:e,get map(){return null==this.lazyMap&&this.rebuildMap(),this.lazyMap},set map(e){this.lazyMap=e},rebuildMap:function(){for(var e=this.lazyMap=new ze,t=this.eles,n=0;n<t.length;n++){var r=t[n];e.set(r.id(),{index:n,ele:r})}}},n&&(this._private.map=r),i&&this.restore()}else Ee("A collection must have a reference to the core")},fa=Oe.prototype=pa.prototype=Object.create(Array.prototype);fa.instanceString=function(){return"collection"},fa.spawn=function(e,t){return new pa(this.cy(),e,t)},fa.spawnSelf=function(){return this.spawn(this)},fa.cy=function(){return this._private.cy},fa.renderer=function(){return this._private.cy.renderer()},fa.element=function(){return this[0]},fa.collection=function(){return w(this)?this:new pa(this._private.cy,[this])},fa.unique=function(){return new pa(this._private.cy,this,!0)},fa.hasElementWithId=function(e){return e=""+e,this._private.map.has(e)},fa.getElementById=function(e){e=""+e;var t=this._private.cy,n=this._private.map.get(e);return n?n.ele:new pa(t)},fa.$id=fa.getElementById,fa.poolIndex=function(){var e=this._private.cy._private.elements,t=this[0]._private.data.id;return e._private.map.get(t).index},fa.indexOf=function(e){var t=e[0]._private.data.id;return this._private.map.get(t).index},fa.indexOfId=function(e){return e=""+e,this._private.map.get(e).index},fa.json=function(e){var t=this.element(),n=this.cy();if(null==t&&e)return this;if(null!=t){var r=t._private;if(v(e)){if(n.startBatch(),e.data){t.data(e.data);var i=r.data;if(t.isEdge()){var a=!1,o={},s=e.data.source,l=e.data.target;null!=s&&s!=i.source&&(o.source=""+s,a=!0),null!=l&&l!=i.target&&(o.target=""+l,a=!0),a&&(t=t.move(o))}else{var u="parent"in e.data,c=e.data.parent;!u||null==c&&null==i.parent||c==i.parent||(void 0===c&&(c=null),null!=c&&(c=""+c),t=t.move({parent:c}))}}e.position&&t.position(e.position);var d=function(n,i,a){var o=e[n];null!=o&&o!==r[n]&&(o?t[i]():t[a]())};return d("removed","remove","restore"),d("selected","select","unselect"),d("selectable","selectify","unselectify"),d("locked","lock","unlock"),d("grabbable","grabify","ungrabify"),d("pannable","panify","unpanify"),null!=e.classes&&t.classes(e.classes),n.endBatch(),this}if(void 0===e){var h={data:Se(r.data),position:Se(r.position),group:r.group,removed:r.removed,selected:r.selected,selectable:r.selectable,locked:r.locked,grabbable:r.grabbable,pannable:r.pannable,classes:null};h.classes="";var p=0;return r.classes.forEach((function(e){return h.classes+=0==p++?e:" "+e})),h}}},fa.jsons=function(){for(var e=[],t=0;t<this.length;t++){var n=this[t].json();e.push(n)}return e},fa.clone=function(){for(var e=this.cy(),t=[],n=0;n<this.length;n++){var r=this[n].json(),i=new Oe(e,r,!1);t.push(i)}return new pa(e,t)},fa.copy=fa.clone,fa.restore=function(){for(var e,t,n=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,a=i.cy(),o=a._private,s=[],l=[],u=0,c=i.length;u<c;u++){var d=i[u];r&&!d.removed()||(d.isNode()?s.push(d):l.push(d))}e=s.concat(l);var h=function(){e.splice(t,1),t--};for(t=0;t<e.length;t++){var f=e[t],g=f._private,v=g.data;if(f.clearTraversalCache(),r||g.removed)if(void 0===v.id)v.id=Pe();else if(y(v.id))v.id=""+v.id;else{if(C(v.id)||!p(v.id)){Ee("Can not create element with invalid string ID `"+v.id+"`"),h();continue}if(a.hasElementWithId(v.id)){Ee("Can not create second element with ID `"+v.id+"`"),h();continue}}else;var m=v.id;if(f.isNode()){var b=g.position;null==b.x&&(b.x=0),null==b.y&&(b.y=0)}if(f.isEdge()){for(var x=f,w=["source","target"],E=w.length,k=!1,S=0;S<E;S++){var P=w[S],D=v[P];y(D)&&(D=v[P]=""+v[P]),null==D||""===D?(Ee("Can not create edge `"+m+"` with unspecified "+P),k=!0):a.hasElementWithId(D)||(Ee("Can not create edge `"+m+"` with nonexistant "+P+" `"+D+"`"),k=!0)}if(k){h();continue}var T=a.getElementById(v.source),M=a.getElementById(v.target);T.same(M)?T._private.edges.push(x):(T._private.edges.push(x),M._private.edges.push(x)),x._private.source=T,x._private.target=M}g.map=new ze,g.map.set(m,{ele:f,index:0}),g.removed=!1,r&&a.addToPool(f)}for(var B=0;B<s.length;B++){var _=s[B],N=_._private.data;y(N.parent)&&(N.parent=""+N.parent);var I=N.parent,z=null!=I;if(z){var L=a.getElementById(I);if(L.empty())N.parent=void 0;else{for(var A=!1,O=L;!O.empty();){if(_.same(O)){A=!0,N.parent=void 0;break}O=O.parent()}A||(L[0]._private.children.push(_),_._private.parent=L[0],o.hasCompoundNodes=!0)}}}if(e.length>0){for(var R=e.length===i.length?i:new pa(a,e),V=0;V<R.length;V++){var F=R[V];F.isNode()||(F.parallelEdges().clearTraversalCache(),F.source().clearTraversalCache(),F.target().clearTraversalCache())}(o.hasCompoundNodes?a.collection().merge(R).merge(R.connectedNodes()).merge(R.parent()):R).dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(n),n?R.emitAndNotify("add"):r&&R.emit("add")}return i},fa.removed=function(){var e=this[0];return e&&e._private.removed},fa.inside=function(){var e=this[0];return e&&!e._private.removed},fa.remove=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],i={},a=n._private.cy;function o(e){for(var t=e._private.edges,n=0;n<t.length;n++)l(t[n])}function s(e){for(var t=e._private.children,n=0;n<t.length;n++)l(t[n])}function l(e){var n=i[e.id()];t&&e.removed()||n||(i[e.id()]=!0,e.isNode()?(r.push(e),o(e),s(e)):r.unshift(e))}for(var u=0,c=n.length;u<c;u++){var d=n[u];l(d)}function h(e,t){var n=e._private.edges;Be(n,t),e.clearTraversalCache()}function p(e){e.clearTraversalCache()}var f=[];function g(e,t){t=t[0];var n=(e=e[0])._private.children,r=e.id();Be(n,t),t._private.parent=null,f.ids[r]||(f.ids[r]=!0,f.push(e))}f.ids={},n.dirtyCompoundBoundsCache(),t&&a.removeFromPool(r);for(var v=0;v<r.length;v++){var y=r[v];if(y.isEdge()){var m=y.source()[0],b=y.target()[0];h(m,y),h(b,y);for(var x=y.parallelEdges(),w=0;w<x.length;w++){var E=x[w];p(E),E.isBundledBezier()&&E.dirtyBoundingBoxCache()}}else{var k=y.parent();0!==k.length&&g(k,y)}t&&(y._private.removed=!0)}var C=a._private.elements;a._private.hasCompoundNodes=!1;for(var S=0;S<C.length;S++){var P=C[S];if(P.isParent()){a._private.hasCompoundNodes=!0;break}}var D=new pa(this.cy(),r);D.size()>0&&(e?D.emitAndNotify("remove"):t&&D.emit("remove"));for(var T=0;T<f.length;T++){var M=f[T];t&&M.removed()||M.updateStyle()}return D},fa.move=function(e){var t=this._private.cy,n=this,r=function(e){return null==e?e:""+e};if(void 0!==e.source||void 0!==e.target){var i=r(e.source),a=r(e.target),o=null!=i&&t.hasElementWithId(i),s=null!=a&&t.hasElementWithId(a);(o||s)&&(t.batch((function(){n.remove(!1,!1),n.emitAndNotify("moveout");for(var e=0;e<n.length;e++){var t=n[e],r=t._private.data;t.isEdge()&&(o&&(r.source=i),s&&(r.target=a))}n.restore(!1,!1)})),n.emitAndNotify("move"))}else if(void 0!==e.parent){var l=r(e.parent);if(null===l||t.hasElementWithId(l)){var u=null===l?void 0:l;t.batch((function(){var e=n.remove(!1,!1);e.emitAndNotify("moveout");for(var t=0;t<n.length;t++){var r=n[t],i=r._private.data;r.isNode()&&(i.parent=u)}e.restore(!1,!1)})),n.emitAndNotify("move")}}return this},[Xn,tr,nr,Vr,Yr,Ur,$r,Ci,Vi,Fi,{isNode:function(){return"nodes"===this.group()},isEdge:function(){return"edges"===this.group()},isLoop:function(){return this.isEdge()&&this.source()[0]===this.target()[0]},isSimple:function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},group:function(){var e=this[0];if(e)return e._private.group}},Yi,Wi,Zi,ra,oa].forEach((function(e){I(fa,e)}));var ga={add:function(e){var t,n=this;if(b(e)){var r=e;if(r._private.cy===n)t=r.restore();else{for(var i=[],a=0;a<r.length;a++){var o=r[a];i.push(o.json())}t=new pa(n,i)}}else if(g(e)){t=new pa(n,e)}else if(v(e)&&(g(e.nodes)||g(e.edges))){for(var s=e,l=[],u=["nodes","edges"],c=0,d=u.length;c<d;c++){var h=u[c],p=s[h];if(g(p))for(var f=0,y=p.length;f<y;f++){var m=I({group:h},p[f]);l.push(m)}}t=new pa(n,l)}else{t=new Oe(n,e).collection()}return t},remove:function(e){if(b(e));else if(p(e)){var t=e;e=this.$(t)}return e.remove()}};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
48 /*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
49 /*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
50 var va=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,n,r){var i={x:t.x+r.dx*n,v:t.v+r.dv*n,tension:t.tension,friction:t.friction};return{dx:i.v,dv:e(i)}}function n(n,r){var i={dx:n.v,dv:e(n)},a=t(n,.5*r,i),o=t(n,.5*r,a),s=t(n,r,o),l=1/6*(i.dx+2*(a.dx+o.dx)+s.dx),u=1/6*(i.dv+2*(a.dv+o.dv)+s.dv);return n.x=n.x+l*r,n.v=n.v+u*r,n}return function e(t,r,i){var a,o,s,l={x:-1,v:0,tension:null,friction:null},u=[0],c=0;for(t=parseFloat(t)||500,r=parseFloat(r)||20,i=i||null,l.tension=t,l.friction=r,o=(a=null!==i)?(c=e(t,r))/i*.016:.016;s=n(s||l,o),u.push(1+s.x),c+=16,Math.abs(s.x)>1e-4&&Math.abs(s.v)>1e-4;);return a?function(e){return u[e*(u.length-1)|0]}:c}}(),ya=function(e,t,n,r){var i=function(e,t,n,r){var i=4,a=.001,o=1e-7,s=10,l=11,u=1/(l-1),c="undefined"!=typeof Float32Array;if(4!==arguments.length)return!1;for(var d=0;d<4;++d)if("number"!=typeof arguments[d]||isNaN(arguments[d])||!isFinite(arguments[d]))return!1;e=Math.min(e,1),n=Math.min(n,1),e=Math.max(e,0),n=Math.max(n,0);var h=c?new Float32Array(l):new Array(l);function p(e,t){return 1-3*t+3*e}function f(e,t){return 3*t-6*e}function g(e){return 3*e}function v(e,t,n){return((p(t,n)*e+f(t,n))*e+g(t))*e}function y(e,t,n){return 3*p(t,n)*e*e+2*f(t,n)*e+g(t)}function m(t,r){for(var a=0;a<i;++a){var o=y(r,e,n);if(0===o)return r;r-=(v(r,e,n)-t)/o}return r}function b(){for(var t=0;t<l;++t)h[t]=v(t*u,e,n)}function x(t,r,i){var a,l,u=0;do{(a=v(l=r+(i-r)/2,e,n)-t)>0?i=l:r=l}while(Math.abs(a)>o&&++u<s);return l}function w(t){for(var r=0,i=1,o=l-1;i!==o&&h[i]<=t;++i)r+=u;--i;var s=r+(t-h[i])/(h[i+1]-h[i])*u,c=y(s,e,n);return c>=a?m(t,s):0===c?s:x(t,r,r+u)}var E=!1;function k(){E=!0,e===t&&n===r||b()}var C=function(i){return E||k(),e===t&&n===r?i:0===i?0:1===i?1:v(w(i),t,r)};C.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var S="generateBezier("+[e,t,n,r]+")";return C.toString=function(){return S},C}(e,t,n,r);return function(e,t,n){return e+(t-e)*i(n)}},ma={linear:function(e,t,n){return e+(t-e)*n},ease:ya(.25,.1,.25,1),"ease-in":ya(.42,0,1,1),"ease-out":ya(0,0,.58,1),"ease-in-out":ya(.42,0,.58,1),"ease-in-sine":ya(.47,0,.745,.715),"ease-out-sine":ya(.39,.575,.565,1),"ease-in-out-sine":ya(.445,.05,.55,.95),"ease-in-quad":ya(.55,.085,.68,.53),"ease-out-quad":ya(.25,.46,.45,.94),"ease-in-out-quad":ya(.455,.03,.515,.955),"ease-in-cubic":ya(.55,.055,.675,.19),"ease-out-cubic":ya(.215,.61,.355,1),"ease-in-out-cubic":ya(.645,.045,.355,1),"ease-in-quart":ya(.895,.03,.685,.22),"ease-out-quart":ya(.165,.84,.44,1),"ease-in-out-quart":ya(.77,0,.175,1),"ease-in-quint":ya(.755,.05,.855,.06),"ease-out-quint":ya(.23,1,.32,1),"ease-in-out-quint":ya(.86,0,.07,1),"ease-in-expo":ya(.95,.05,.795,.035),"ease-out-expo":ya(.19,1,.22,1),"ease-in-out-expo":ya(1,0,0,1),"ease-in-circ":ya(.6,.04,.98,.335),"ease-out-circ":ya(.075,.82,.165,1),"ease-in-out-circ":ya(.785,.135,.15,.86),spring:function(e,t,n){if(0===n)return ma.linear;var r=va(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"cubic-bezier":ya};function ba(e,t,n,r,i){if(1===r)return n;if(t===n)return n;var a=i(t,n,r);return null==e||((e.roundValue||e.color)&&(a=Math.round(a)),void 0!==e.min&&(a=Math.max(a,e.min)),void 0!==e.max&&(a=Math.min(a,e.max))),a}function xa(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}function wa(e,t,n,r,i){var a=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var o=xa(e,i),s=xa(t,i);if(y(o)&&y(s))return ba(a,o,s,n,r);if(g(o)&&g(s)){for(var l=[],u=0;u<s.length;u++){var c=o[u],d=s[u];if(null!=c&&null!=d){var h=ba(a,c,d,n,r);l.push(h)}else l.push(d)}return l}}function Ea(e,t,n,r){var i=!r,a=e._private,o=t._private,s=o.easing,l=o.startTime,u=(r?e:e.cy()).style();if(!o.easingImpl)if(null==s)o.easingImpl=ma.linear;else{var c,d,h;if(p(s))c=u.parse("transition-timing-function",s).value;else c=s;p(c)?(d=c,h=[]):(d=c[1],h=c.slice(2).map((function(e){return+e}))),h.length>0?("spring"===d&&h.push(o.duration),o.easingImpl=ma[d].apply(null,h)):o.easingImpl=ma[d]}var f,g=o.easingImpl;if(f=0===o.duration?1:(n-l)/o.duration,o.applying&&(f=o.progress),f<0?f=0:f>1&&(f=1),null==o.delay){var v=o.startPosition,y=o.position;if(y&&i&&!e.locked()){var m={};ka(v.x,y.x)&&(m.x=wa(v.x,y.x,f,g)),ka(v.y,y.y)&&(m.y=wa(v.y,y.y,f,g)),e.position(m)}var b=o.startPan,x=o.pan,w=a.pan,E=null!=x&&r;E&&(ka(b.x,x.x)&&(w.x=wa(b.x,x.x,f,g)),ka(b.y,x.y)&&(w.y=wa(b.y,x.y,f,g)),e.emit("pan"));var k=o.startZoom,C=o.zoom,S=null!=C&&r;S&&(ka(k,C)&&(a.zoom=dt(a.minZoom,wa(k,C,f,g),a.maxZoom)),e.emit("zoom")),(E||S)&&e.emit("viewport");var P=o.style;if(P&&P.length>0&&i){for(var D=0;D<P.length;D++){var T=P[D],M=T.name,B=T,_=o.startStyle[M],N=wa(_,B,f,g,u.properties[_.name]);u.overrideBypass(e,M,N)}e.emit("style")}}return o.progress=f,f}function ka(e,t){return null!=e&&null!=t&&(!(!y(e)||!y(t))||!(!e||!t))}function Ca(e,t,n,r){var i=t._private;i.started=!0,i.startTime=n-i.progress*i.duration}function Sa(e,t){var n=t._private.aniEles,r=[];function i(t,n){var i=t._private,a=i.animation.current,o=i.animation.queue,s=!1;if(0===a.length){var l=o.shift();l&&a.push(l)}for(var u=function(e){for(var t=e.length-1;t>=0;t--){(0,e[t])()}e.splice(0,e.length)},c=a.length-1;c>=0;c--){var d=a[c],h=d._private;h.stopped?(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,u(h.frames)):(h.playing||h.applying)&&(h.playing&&h.applying&&(h.applying=!1),h.started||Ca(0,d,e),Ea(t,d,e,n),h.applying&&(h.applying=!1),u(h.frames),null!=h.step&&h.step(e),d.completed()&&(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,u(h.completes)),s=!0)}return n||0!==a.length||0!==o.length||r.push(t),s}for(var a=!1,o=0;o<n.length;o++){var s=i(n[o]);a=a||s}var l=i(t,!0);(a||l)&&(n.length>0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}var Pa={animate:er.animate(),animation:er.animation(),animated:er.animated(),clearQueue:er.clearQueue(),delay:er.delay(),delayAnimation:er.delayAnimation(),stop:er.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender((function(t,n){Sa(n,e)}),t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&re((function(n){Sa(n,e),t()}))}()}}},Da={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&x(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},Ta=function(e){return p(e)?new Or(e):e},Ma={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new Ni(Da,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,Ta(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,Ta(t),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,n){return this.emitter().one(e,Ta(t),n),this},once:function(e,t,n){return this.emitter().one(e,Ta(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};er.eventAliasesOn(Ma);var Ba={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};Ba.jpeg=Ba.jpg;var _a={layout:function(e){if(null!=e)if(null!=e.name){var t=e.name,n=this.extension("layout",t);if(null!=n){var r;r=p(e.eles)?this.$(e.eles):null!=e.eles?e.eles:this.$();var i=new n(I({},e,{cy:this,eles:r}));return i}Ee("No such layout `"+t+"` found. Did you forget to import it and `cytoscape.use()` it?")}else Ee("A `name` must be specified to make a layout");else Ee("Layout options must be specified to make a layout")}};_a.createLayout=_a.makeLayout=_a.layout;var Na={notify:function(e,t){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();null!=t&&r.merge(t)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(e,t)}},notifications:function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach((function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)}))}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var n=Object.keys(e),r=0;r<n.length;r++){var i=n[r],a=e[i];t.getElementById(i).data(a)}}))}},Ia=Me({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1}),za={renderTo:function(e,t,n,r){return this._private.renderer.renderTo(e,t,n,r),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify("draw"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},initRenderer:function(e){var t=this.extension("renderer",e.name);if(null!=t){void 0!==e.wheelSensitivity&&Ce("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var n=Ia(e);n.cy=this,this._private.renderer=new t(n),this.notify("init")}else Ee("Can not initialise: No such renderer `".concat(e.name,"` found. Did you forget to import it and `cytoscape.use()` it?"))},destroyRenderer:function(){this.notify("destroy");var e=this.container();if(e)for(e._cyreg=null;e.childNodes.length>0;)e.removeChild(e.childNodes[0]);this._private.renderer=null,this.mutableElements().forEach((function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]}))},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};za.invalidateDimensions=za.resize;var La={collection:function(e,t){return p(e)?this.$(e):b(e)?e.collection():g(e)?new pa(this,e,t):new pa(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};La.elements=La.filter=La.$;var Aa={};Aa.apply=function(e){for(var t=this._private.cy.collection(),n=0;n<e.length;n++){var r=e[n],i=this.getContextMeta(r);if(!i.empty){var a=this.getContextStyle(i),o=this.applyContextStyle(i,a,r);r._private.appliedInitStyle?this.updateTransitions(r,o.diffProps):r._private.appliedInitStyle=!0,this.updateStyleHints(r)&&t.push(r)}}return t},Aa.getPropertiesDiff=function(e,t){var n=this._private.propDiffs=this._private.propDiffs||{},r=e+"-"+t,i=n[r];if(i)return i;for(var a=[],o={},s=0;s<this.length;s++){var l=this[s],u="t"===e[s],c="t"===t[s],d=u!==c,h=l.mappedProperties.length>0;if(d||c&&h){var p=void 0;d&&h||d?p=l.properties:h&&(p=l.mappedProperties);for(var f=0;f<p.length;f++){for(var g=p[f],v=g.name,y=!1,m=s+1;m<this.length;m++){var b=this[m];if("t"===t[m]&&(y=null!=b.properties[g.name]))break}o[v]||y||(o[v]=!0,a.push(v))}}}return n[r]=a,a},Aa.getContextMeta=function(e){for(var t,n="",r=e._private.styleCxtKey||"",i=0;i<this.length;i++){var a=this[i];n+=a.selector&&a.selector.matches(e)?"t":"f"}return t=this.getPropertiesDiff(r,n),e._private.styleCxtKey=n,{key:n,diffPropNames:t,empty:0===t.length}},Aa.getContextStyle=function(e){var t=e.key,n=this._private.contextStyles=this._private.contextStyles||{};if(n[t])return n[t];for(var r={_private:{key:t}},i=0;i<this.length;i++){var a=this[i];if("t"===t[i])for(var o=0;o<a.properties.length;o++){var s=a.properties[o];r[s.name]=s}}return n[t]=r,r},Aa.applyContextStyle=function(e,t,n){for(var r=e.diffPropNames,i={},a=this.types,o=0;o<r.length;o++){var s=r[o],l=t[s],u=n.pstyle(s);if(!l){if(!u)continue;l=u.bypass?{name:s,deleteBypassed:!0}:{name:s,delete:!0}}if(u!==l){if(l.mapped===a.fn&&null!=u&&null!=u.mapping&&u.mapping.value===l.value){var c=u.mapping;if((c.fnValue=l.value(n))===c.prevFnValue)continue}var d=i[s]={prev:u};this.applyParsedProperty(n,l),d.next=n.pstyle(s),d.next&&d.next.bypass&&(d.next=d.next.bypassed)}}return{diffProps:i}},Aa.updateStyleHints=function(e){var t=e._private,n=this,r=n.propertyGroupNames,i=n.propertyGroupKeys,a=function(e,t,r){return n.getPropertiesHash(e,t,r)},o=t.styleKey;if(e.removed())return!1;var s="nodes"===t.group,l=e._private.style;r=Object.keys(l);for(var u=0;u<i.length;u++){var c=i[u];t.styleKeys[c]=[9261,5381]}for(var d,h=function(e,n){return t.styleKeys[n][0]=se(e,t.styleKeys[n][0])},p=function(e,n){return t.styleKeys[n][1]=le(e,t.styleKeys[n][1])},f=function(e,t){h(e,t),p(e,t)},g=function(e,t){for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);h(r,t),p(r,t)}},v=0;v<r.length;v++){var y=r[v],m=l[y];if(null!=m){var b=this.properties[y],x=b.type,w=b.groupKey,E=void 0;null!=b.hashOverride?E=b.hashOverride(e,m):null!=m.pfValue&&(E=m.pfValue);var k=null==b.enums?m.value:null,C=null!=E,S=C||null!=k,P=m.units;if(x.number&&S&&!x.multiple)f(-128<(d=C?E:k)&&d<128&&Math.floor(d)!==d?2e9-(1024*d|0):d,w),C||null==P||g(P,w);else g(m.strValue,w)}}for(var D,T,M=[9261,5381],B=0;B<i.length;B++){var _=i[B],N=t.styleKeys[_];M[0]=se(N[0],M[0]),M[1]=le(N[1],M[1])}t.styleKey=(D=M[0],T=M[1],2097152*D+T);var I=t.styleKeys;t.labelDimsKey=ue(I.labelDimensions);var z=a(e,["label"],I.labelDimensions);if(t.labelKey=ue(z),t.labelStyleKey=ue(ce(I.commonLabel,z)),!s){var L=a(e,["source-label"],I.labelDimensions);t.sourceLabelKey=ue(L),t.sourceLabelStyleKey=ue(ce(I.commonLabel,L));var A=a(e,["target-label"],I.labelDimensions);t.targetLabelKey=ue(A),t.targetLabelStyleKey=ue(ce(I.commonLabel,A))}if(s){var O=t.styleKeys,R=O.nodeBody,V=O.nodeBorder,F=O.backgroundImage,q=O.compound,j=O.pie,Y=[R,V,F,q,j].filter((function(e){return null!=e})).reduce(ce,[9261,5381]);t.nodeKey=ue(Y),t.hasPie=null!=j&&9261!==j[0]&&5381!==j[1]}return o!==t.styleKey},Aa.clearStyleHints=function(e){var t=e._private;t.styleCxtKey="",t.styleKeys={},t.styleKey=null,t.labelKey=null,t.labelStyleKey=null,t.sourceLabelKey=null,t.sourceLabelStyleKey=null,t.targetLabelKey=null,t.targetLabelStyleKey=null,t.nodeKey=null,t.hasPie=null},Aa.applyParsedProperty=function(e,t){var n,r=this,i=t,a=e._private.style,o=r.types,s=r.properties[i.name].type,l=i.bypass,u=a[i.name],c=u&&u.bypass,d=e._private,h=function(e){return null==e?null:null!=e.pfValue?e.pfValue:e.value},p=function(){var t=h(u),n=h(i);r.checkTriggers(e,i.name,t,n)};if(i&&"pie"===i.name.substr(0,3)&&Ce("The pie style properties are deprecated. Create charts using background images instead."),"curve-style"===t.name&&e.isEdge()&&("bezier"!==t.value&&e.isLoop()||"haystack"===t.value&&(e.source().isParent()||e.target().isParent()))&&(i=t=this.parse(t.name,"bezier",l)),i.delete)return a[i.name]=void 0,p(),!0;if(i.deleteBypassed)return u?!!u.bypass&&(u.bypassed=void 0,p(),!0):(p(),!0);if(i.deleteBypass)return u?!!u.bypass&&(a[i.name]=u.bypassed,p(),!0):(p(),!0);var f=function(){Ce("Do not assign mappings to elements without corresponding data (i.e. ele `"+e.id()+"` has no mapping for property `"+i.name+"` with data field `"+i.field+"`); try a `["+i.field+"]` selector to limit scope to elements with `"+i.field+"` defined")};switch(i.mapped){case o.mapData:for(var g,v=i.field.split("."),m=d.data,b=0;b<v.length&&m;b++){m=m[v[b]]}if(null==m)return f(),!1;if(!y(m))return Ce("Do not use continuous mappers without specifying numeric data (i.e. `"+i.field+": "+m+"` for `"+e.id()+"` is non-numeric)"),!1;var x=i.fieldMax-i.fieldMin;if((g=0===x?0:(m-i.fieldMin)/x)<0?g=0:g>1&&(g=1),s.color){var w=i.valueMin[0],E=i.valueMax[0],k=i.valueMin[1],C=i.valueMax[1],S=i.valueMin[2],P=i.valueMax[2],D=null==i.valueMin[3]?1:i.valueMin[3],T=null==i.valueMax[3]?1:i.valueMax[3],M=[Math.round(w+(E-w)*g),Math.round(k+(C-k)*g),Math.round(S+(P-S)*g),Math.round(D+(T-D)*g)];n={bypass:i.bypass,name:i.name,value:M,strValue:"rgb("+M[0]+", "+M[1]+", "+M[2]+")"}}else{if(!s.number)return!1;var B=i.valueMin+(i.valueMax-i.valueMin)*g;n=this.parse(i.name,B,i.bypass,"mapping")}if(!n)return f(),!1;n.mapping=i,i=n;break;case o.data:for(var _=i.field.split("."),N=d.data,I=0;I<_.length&&N;I++){N=N[_[I]]}if(null!=N&&(n=this.parse(i.name,N,i.bypass,"mapping")),!n)return f(),!1;n.mapping=i,i=n;break;case o.fn:var z=i.value,L=null!=i.fnValue?i.fnValue:z(e);if(i.prevFnValue=L,null==L)return Ce("Custom function mappers may not return null (i.e. `"+i.name+"` for ele `"+e.id()+"` is null)"),!1;if(!(n=this.parse(i.name,L,i.bypass,"mapping")))return Ce("Custom function mappers may not return invalid values for the property type (i.e. `"+i.name+"` for ele `"+e.id()+"` is invalid)"),!1;n.mapping=Se(i),i=n;break;case void 0:break;default:return!1}return l?(i.bypassed=c?u.bypassed:u,a[i.name]=i):c?u.bypassed=i:a[i.name]=i,p(),!0},Aa.cleanElements=function(e,t){for(var n=0;n<e.length;n++){var r=e[n];if(this.clearStyleHints(r),r.dirtyCompoundBoundsCache(),r.dirtyBoundingBoxCache(),t)for(var i=r._private.style,a=Object.keys(i),o=0;o<a.length;o++){var s=a[o],l=i[s];null!=l&&(l.bypass?l.bypassed=null:i[s]=null)}else r._private.style={}}},Aa.update=function(){this._private.cy.mutableElements().updateStyle()},Aa.updateTransitions=function(e,t){var n=this,r=e._private,i=e.pstyle("transition-property").value,a=e.pstyle("transition-duration").pfValue,o=e.pstyle("transition-delay").pfValue;if(i.length>0&&a>0){for(var s={},l=!1,u=0;u<i.length;u++){var c=i[u],d=e.pstyle(c),h=t[c];if(h){var p=h.prev,f=null!=h.next?h.next:d,v=!1,m=void 0;p&&(y(p.pfValue)&&y(f.pfValue)?(v=f.pfValue-p.pfValue,m=p.pfValue+1e-6*v):y(p.value)&&y(f.value)?(v=f.value-p.value,m=p.value+1e-6*v):g(p.value)&&g(f.value)&&(v=p.value[0]!==f.value[0]||p.value[1]!==f.value[1]||p.value[2]!==f.value[2],m=p.strValue),v&&(s[c]=f.strValue,this.applyBypass(e,c,m),l=!0))}}if(!l)return;r.transitioning=!0,new $n((function(t){o>0?e.delayAnimation(o).play().promise().then(t):t()})).then((function(){return e.animation({style:s,duration:a,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1)},Aa.checkTrigger=function(e,t,n,r,i,a){var o=this.properties[t],s=i(o);null!=s&&s(n,r)&&a(o)},Aa.checkZOrderTrigger=function(e,t,n,r){var i=this;this.checkTrigger(e,t,n,r,(function(e){return e.triggersZOrder}),(function(){i._private.cy.notify("zorder",e)}))},Aa.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,(function(e){return e.triggersBounds}),(function(i){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),"curve-style"!==t||"bezier"!==n&&"bezier"!==r||!i.triggersBoundsOfParallelBeziers||e.parallelEdges().forEach((function(e){e.isBundledBezier()&&e.dirtyBoundingBoxCache()}))}))},Aa.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r)};var Oa={applyBypass:function(e,t,n,r){var i=[];if("*"===t||"**"===t){if(void 0!==n)for(var a=0;a<this.properties.length;a++){var o=this.properties[a].name,s=this.parse(o,n,!0);s&&i.push(s)}}else if(p(t)){var l=this.parse(t,n,!0);l&&i.push(l)}else{if(!v(t))return!1;var u=t;r=n;for(var c=Object.keys(u),d=0;d<c.length;d++){var h=c[d],f=u[h];if(void 0===f&&(f=u[T(h)]),void 0!==f){var g=this.parse(h,f,!0);g&&i.push(g)}}}if(0===i.length)return!1;for(var y=!1,m=0;m<e.length;m++){for(var b=e[m],x={},w=void 0,E=0;E<i.length;E++){var k=i[E];if(r){var C=b.pstyle(k.name);w=x[k.name]={prev:C}}y=this.applyParsedProperty(b,Se(k))||y,r&&(w.next=b.pstyle(k.name))}y&&this.updateStyleHints(b),r&&this.updateTransitions(b,x,!0)}return y},overrideBypass:function(e,t,n){t=D(t);for(var r=0;r<e.length;r++){var i=e[r],a=i._private.style[t],o=this.properties[t].type,s=o.color,l=o.mutiple,u=a?null!=a.pfValue?a.pfValue:a.value:null;a&&a.bypass?(a.value=n,null!=a.pfValue&&(a.pfValue=n),a.strValue=s?"rgb("+n.join(",")+")":l?n.join(" "):""+n,this.updateStyleHints(i)):this.applyBypass(i,t,n),this.checkTriggers(i,t,u,n)}},removeAllBypasses:function(e,t){return this.removeBypasses(e,this.propertyNames,t)},removeBypasses:function(e,t,n){for(var r=0;r<e.length;r++){for(var i=e[r],a={},o=0;o<t.length;o++){var s=t[o],l=this.properties[s],u=i.pstyle(l.name);if(u&&u.bypass){var c=this.parse(s,"",!0),d=a[l.name]={prev:u};this.applyParsedProperty(i,c),d.next=i.pstyle(l.name)}}this.updateStyleHints(i),n&&this.updateTransitions(i,a,!0)}}},Ra={getEmSizeInPixels:function(){var e=this.containerCss("font-size");return null!=e?parseFloat(e):1},containerCss:function(e){var t=this._private.cy.container();if(o&&t&&o.getComputedStyle)return o.getComputedStyle(t).getPropertyValue(e)}},Va={getRenderedStyle:function(e,t){return t?this.getStylePropertyValue(e,t,!0):this.getRawStyle(e,!0)},getRawStyle:function(e,t){if(e=e[0]){for(var n={},r=0;r<this.properties.length;r++){var i=this.properties[r],a=this.getStylePropertyValue(e,i.name,t);null!=a&&(n[i.name]=a,n[T(i.name)]=a)}return n}},getIndexedStyle:function(e,t,n,r){var i=e.pstyle(t)[n][r];return null!=i?i:e.cy().style().getDefaultProperty(t)[n][0]},getStylePropertyValue:function(e,t,n){if(e=e[0]){var r=this.properties[t];r.alias&&(r=r.pointsTo);var i=r.type,a=e.pstyle(r.name);if(a){var o=a.value,s=a.units,l=a.strValue;if(n&&i.number&&null!=o&&y(o)){var u=e.cy().zoom(),c=function(e){return e*u},d=function(e,t){return c(e)+t},h=g(o);return(h?s.every((function(e){return null!=e})):null!=s)?h?o.map((function(e,t){return d(e,s[t])})).join(" "):d(o,s):h?o.map((function(e){return p(e)?e:""+c(e)})).join(" "):""+c(o)}if(null!=l)return l}return null}},getAnimationStartStyle:function(e,t){for(var n={},r=0;r<t.length;r++){var i=t[r].name,a=e.pstyle(i);void 0!==a&&(a=v(a)?this.parse(i,a.strValue):this.parse(i,a)),a&&(n[i]=a)}return n},getPropsList:function(e){var t=[],n=e,r=this.properties;if(n)for(var i=Object.keys(n),a=0;a<i.length;a++){var o=i[a],s=n[o],l=r[o]||r[D(o)],u=this.parse(l.name,s);u&&t.push(u)}return t},getNonDefaultPropertiesHash:function(e,t,n){var r,i,a,o,s,l,u=n.slice();for(s=0;s<t.length;s++)if(r=t[s],null!=(i=e.pstyle(r,!1)))if(null!=i.pfValue)u[0]=se(o,u[0]),u[1]=le(o,u[1]);else for(a=i.strValue,l=0;l<a.length;l++)o=a.charCodeAt(l),u[0]=se(o,u[0]),u[1]=le(o,u[1]);return u}};Va.getPropertiesHash=Va.getNonDefaultPropertiesHash;var Fa={appendFromJson:function(e){for(var t=0;t<e.length;t++){var n=e[t],r=n.selector,i=n.style||n.css,a=Object.keys(i);this.selector(r);for(var o=0;o<a.length;o++){var s=a[o],l=i[s];this.css(s,l)}}return this},fromJson:function(e){return this.resetToDefault(),this.appendFromJson(e),this},json:function(){for(var e=[],t=this.defaultLength;t<this.length;t++){for(var n=this[t],r=n.selector,i=n.properties,a={},o=0;o<i.length;o++){var s=i[o];a[s.name]=s.strValue}e.push({selector:r?r.toString():"core",style:a})}return e}},qa={appendFromString:function(e){var t,n,r,i=""+e;function a(){i=i.length>t.length?i.substr(t.length):""}function o(){n=n.length>r.length?n.substr(r.length):""}for(i=i.replace(/[/][*](\s|.)+?[*][/]/g,"");;){if(i.match(/^\s*$/))break;var s=i.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!s){Ce("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+i);break}t=s[0];var l=s[1];if("core"!==l)if(new Or(l).invalid){Ce("Skipping parsing of block: Invalid selector found in string stylesheet: "+l),a();continue}var u=s[2],c=!1;n=u;for(var d=[];;){if(n.match(/^\s*$/))break;var h=n.match(/^\s*(.+?)\s*:\s*(.+?)\s*;/);if(!h){Ce("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+u),c=!0;break}r=h[0];var p=h[1],f=h[2];if(this.properties[p])this.parse(p,f)?(d.push({name:p,val:f}),o()):(Ce("Skipping property: Invalid property definition in: "+r),o());else Ce("Skipping property: Invalid property name in: "+r),o()}if(c){a();break}this.selector(l);for(var g=0;g<d.length;g++){var v=d[g];this.css(v.name,v.val)}a()}return this},fromString:function(e){return this.resetToDefault(),this.appendFromString(e),this}},ja={};!function(){var e=_,t=function(e){return"^"+e+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},n=function(t){var n=e+"|\\w+|rgb[a]?\\((?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%]?)\\s*,\\s*(?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%]?)\\s*,\\s*(?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%]?)(?:\\s*,\\s*(?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))))?\\)|hsl[a]?\\((?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?)))\\s*,\\s*(?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%])\\s*,\\s*(?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%])(?:\\s*,\\s*(?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))))?\\)|\\#[0-9a-fA-F]{3}|\\#[0-9a-fA-F]{6}";return"^"+t+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+e+")\\s*\\,\\s*("+e+")\\s*,\\s*("+n+")\\s*\\,\\s*("+n+")\\)$"},r=["^url\\s*\\(\\s*['\"]?(.+?)['\"]?\\s*\\)$","^(none)$","^(.+)$"];ja.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},percentages:{number:!0,min:0,max:100,units:"%",implicitUnits:"%",multiple:!0},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizeMaybePercent:{number:!0,allowPercent:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},axisDirection:{enums:["horizontal","leftward","rightward","vertical","upward","downward","auto"]},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials"],multiple:!0},bgClip:{enums:["none","node"],multiple:!0},bgContainment:{enums:["inside","over"],multiple:!0},color:{color:!0},colors:{color:!0,multiple:!0},fill:{enums:["solid","linear-gradient","radial-gradient"]},bool:{enums:["yes","no"]},bools:{enums:["yes","no"],multiple:!0},lineStyle:{enums:["solid","dotted","dashed"]},lineCap:{enums:["butt","round","square"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments","straight","taxi"]},fontFamily:{regex:'^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$'},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]},textOverflowWrap:{enums:["whitespace","anywhere"]},textBackgroundShape:{enums:["rectangle","roundrectangle","round-rectangle"]},nodeShape:{enums:["rectangle","roundrectangle","round-rectangle","cutrectangle","cut-rectangle","bottomroundrectangle","bottom-round-rectangle","barrel","ellipse","triangle","round-triangle","square","pentagon","round-pentagon","hexagon","round-hexagon","concavehexagon","concave-hexagon","heptagon","round-heptagon","octagon","round-octagon","tag","round-tag","star","diamond","round-diamond","vee","rhomboid","polygon"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","square","circle","diamond","chevron","none"]},arrowFill:{enums:["filled","hollow"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","center","bottom"]},halign:{enums:["left","center","right"]},justification:{enums:["left","center","right","auto"]},text:{string:!0},data:{mapping:!0,regex:t("data")},layoutData:{mapping:!0,regex:t("layoutData")},scratch:{mapping:!0,regex:t("scratch")},mapData:{mapping:!0,regex:n("mapData")},mapLayoutData:{mapping:!0,regex:n("mapLayoutData")},mapScratch:{mapping:!0,regex:n("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:r,singleRegexMatchValue:!0},urls:{regexes:r,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-node-or-label","outside-to-line","outside-to-line-or-label"],singleEnum:!0,validate:function(e,t){switch(e.length){case 2:return"deg"!==t[0]&&"rad"!==t[0]&&"deg"!==t[1]&&"rad"!==t[1];case 1:return p(e[0])||"deg"===t[0]||"rad"===t[0];default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+e+")\\s*,\\s*("+e+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+e+")\\s*,\\s*("+e+")\\s*,\\s*("+e+")\\s*,\\s*("+e+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]},gradientDirection:{enums:["to-bottom","to-top","to-left","to-right","to-bottom-right","to-bottom-left","to-top-right","to-top-left","to-right-bottom","to-left-bottom","to-right-top","to-left-top"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:function(e){var t=e.length;return 1===t||2===t||4===t}}};var i={zeroNonZero:function(e,t){return(null==e||null==t)&&e!==t||(0==e&&0!=t||0!=e&&0==t)},any:function(e,t){return e!=t},emptyNonEmpty:function(e,t){var n=C(e),r=C(t);return n&&!r||!n&&r}},a=ja.types,o=[{name:"label",type:a.text,triggersBounds:i.any,triggersZOrder:i.emptyNonEmpty},{name:"text-rotation",type:a.textRotation,triggersBounds:i.any},{name:"text-margin-x",type:a.bidirectionalSize,triggersBounds:i.any},{name:"text-margin-y",type:a.bidirectionalSize,triggersBounds:i.any}],s=[{name:"source-label",type:a.text,triggersBounds:i.any},{name:"source-text-rotation",type:a.textRotation,triggersBounds:i.any},{name:"source-text-margin-x",type:a.bidirectionalSize,triggersBounds:i.any},{name:"source-text-margin-y",type:a.bidirectionalSize,triggersBounds:i.any},{name:"source-text-offset",type:a.size,triggersBounds:i.any}],l=[{name:"target-label",type:a.text,triggersBounds:i.any},{name:"target-text-rotation",type:a.textRotation,triggersBounds:i.any},{name:"target-text-margin-x",type:a.bidirectionalSize,triggersBounds:i.any},{name:"target-text-margin-y",type:a.bidirectionalSize,triggersBounds:i.any},{name:"target-text-offset",type:a.size,triggersBounds:i.any}],u=[{name:"font-family",type:a.fontFamily,triggersBounds:i.any},{name:"font-style",type:a.fontStyle,triggersBounds:i.any},{name:"font-weight",type:a.fontWeight,triggersBounds:i.any},{name:"font-size",type:a.size,triggersBounds:i.any},{name:"text-transform",type:a.textTransform,triggersBounds:i.any},{name:"text-wrap",type:a.textWrap,triggersBounds:i.any},{name:"text-overflow-wrap",type:a.textOverflowWrap,triggersBounds:i.any},{name:"text-max-width",type:a.size,triggersBounds:i.any},{name:"text-outline-width",type:a.size,triggersBounds:i.any},{name:"line-height",type:a.positiveNumber,triggersBounds:i.any}],c=[{name:"text-valign",type:a.valign,triggersBounds:i.any},{name:"text-halign",type:a.halign,triggersBounds:i.any},{name:"color",type:a.color},{name:"text-outline-color",type:a.color},{name:"text-outline-opacity",type:a.zeroOneNumber},{name:"text-background-color",type:a.color},{name:"text-background-opacity",type:a.zeroOneNumber},{name:"text-background-padding",type:a.size,triggersBounds:i.any},{name:"text-border-opacity",type:a.zeroOneNumber},{name:"text-border-color",type:a.color},{name:"text-border-width",type:a.size,triggersBounds:i.any},{name:"text-border-style",type:a.borderStyle,triggersBounds:i.any},{name:"text-background-shape",type:a.textBackgroundShape,triggersBounds:i.any},{name:"text-justification",type:a.justification}],d=[{name:"events",type:a.bool},{name:"text-events",type:a.bool}],h=[{name:"display",type:a.display,triggersZOrder:i.any,triggersBounds:i.any,triggersBoundsOfParallelBeziers:!0},{name:"visibility",type:a.visibility,triggersZOrder:i.any},{name:"opacity",type:a.zeroOneNumber,triggersZOrder:i.zeroNonZero},{name:"text-opacity",type:a.zeroOneNumber},{name:"min-zoomed-font-size",type:a.size},{name:"z-compound-depth",type:a.zCompoundDepth,triggersZOrder:i.any},{name:"z-index-compare",type:a.zIndexCompare,triggersZOrder:i.any},{name:"z-index",type:a.nonNegativeInt,triggersZOrder:i.any}],f=[{name:"overlay-padding",type:a.size,triggersBounds:i.any},{name:"overlay-color",type:a.color},{name:"overlay-opacity",type:a.zeroOneNumber,triggersBounds:i.zeroNonZero}],g=[{name:"transition-property",type:a.propList},{name:"transition-duration",type:a.time},{name:"transition-delay",type:a.time},{name:"transition-timing-function",type:a.easing}],v=function(e,t){return"label"===t.value?-e.poolIndex():t.pfValue},y=[{name:"height",type:a.nodeSize,triggersBounds:i.any,hashOverride:v},{name:"width",type:a.nodeSize,triggersBounds:i.any,hashOverride:v},{name:"shape",type:a.nodeShape,triggersBounds:i.any},{name:"shape-polygon-points",type:a.polygonPointList,triggersBounds:i.any},{name:"background-color",type:a.color},{name:"background-fill",type:a.fill},{name:"background-opacity",type:a.zeroOneNumber},{name:"background-blacken",type:a.nOneOneNumber},{name:"background-gradient-stop-colors",type:a.colors},{name:"background-gradient-stop-positions",type:a.percentages},{name:"background-gradient-direction",type:a.gradientDirection},{name:"padding",type:a.sizeMaybePercent,triggersBounds:i.any},{name:"padding-relative-to",type:a.paddingRelativeTo,triggersBounds:i.any},{name:"bounds-expansion",type:a.boundsExpansion,triggersBounds:i.any}],m=[{name:"border-color",type:a.color},{name:"border-opacity",type:a.zeroOneNumber},{name:"border-width",type:a.size,triggersBounds:i.any},{name:"border-style",type:a.borderStyle}],b=[{name:"background-image",type:a.urls},{name:"background-image-crossorigin",type:a.bgCrossOrigin},{name:"background-image-opacity",type:a.zeroOneNumbers},{name:"background-image-containment",type:a.bgContainment},{name:"background-image-smoothing",type:a.bools},{name:"background-position-x",type:a.bgPos},{name:"background-position-y",type:a.bgPos},{name:"background-width-relative-to",type:a.bgRelativeTo},{name:"background-height-relative-to",type:a.bgRelativeTo},{name:"background-repeat",type:a.bgRepeat},{name:"background-fit",type:a.bgFit},{name:"background-clip",type:a.bgClip},{name:"background-width",type:a.bgWH},{name:"background-height",type:a.bgWH},{name:"background-offset-x",type:a.bgPos},{name:"background-offset-y",type:a.bgPos}],x=[{name:"position",type:a.position,triggersBounds:i.any},{name:"compound-sizing-wrt-labels",type:a.compoundIncludeLabels,triggersBounds:i.any},{name:"min-width",type:a.size,triggersBounds:i.any},{name:"min-width-bias-left",type:a.sizeMaybePercent,triggersBounds:i.any},{name:"min-width-bias-right",type:a.sizeMaybePercent,triggersBounds:i.any},{name:"min-height",type:a.size,triggersBounds:i.any},{name:"min-height-bias-top",type:a.sizeMaybePercent,triggersBounds:i.any},{name:"min-height-bias-bottom",type:a.sizeMaybePercent,triggersBounds:i.any}],w=[{name:"line-style",type:a.lineStyle},{name:"line-color",type:a.color},{name:"line-fill",type:a.fill},{name:"line-cap",type:a.lineCap},{name:"line-opacity",type:a.zeroOneNumber},{name:"line-dash-pattern",type:a.numbers},{name:"line-dash-offset",type:a.number},{name:"line-gradient-stop-colors",type:a.colors},{name:"line-gradient-stop-positions",type:a.percentages},{name:"curve-style",type:a.curveStyle,triggersBounds:i.any,triggersBoundsOfParallelBeziers:!0},{name:"haystack-radius",type:a.zeroOneNumber,triggersBounds:i.any},{name:"source-endpoint",type:a.edgeEndpoint,triggersBounds:i.any},{name:"target-endpoint",type:a.edgeEndpoint,triggersBounds:i.any},{name:"control-point-step-size",type:a.size,triggersBounds:i.any},{name:"control-point-distances",type:a.bidirectionalSizes,triggersBounds:i.any},{name:"control-point-weights",type:a.numbers,triggersBounds:i.any},{name:"segment-distances",type:a.bidirectionalSizes,triggersBounds:i.any},{name:"segment-weights",type:a.numbers,triggersBounds:i.any},{name:"taxi-turn",type:a.bidirectionalSizeMaybePercent,triggersBounds:i.any},{name:"taxi-turn-min-distance",type:a.size,triggersBounds:i.any},{name:"taxi-direction",type:a.axisDirection,triggersBounds:i.any},{name:"edge-distances",type:a.edgeDistances,triggersBounds:i.any},{name:"arrow-scale",type:a.positiveNumber,triggersBounds:i.any},{name:"loop-direction",type:a.angle,triggersBounds:i.any},{name:"loop-sweep",type:a.angle,triggersBounds:i.any},{name:"source-distance-from-node",type:a.size,triggersBounds:i.any},{name:"target-distance-from-node",type:a.size,triggersBounds:i.any}],E=[{name:"ghost",type:a.bool,triggersBounds:i.any},{name:"ghost-offset-x",type:a.bidirectionalSize,triggersBounds:i.any},{name:"ghost-offset-y",type:a.bidirectionalSize,triggersBounds:i.any},{name:"ghost-opacity",type:a.zeroOneNumber}],k=[{name:"selection-box-color",type:a.color},{name:"selection-box-opacity",type:a.zeroOneNumber},{name:"selection-box-border-color",type:a.color},{name:"selection-box-border-width",type:a.size},{name:"active-bg-color",type:a.color},{name:"active-bg-opacity",type:a.zeroOneNumber},{name:"active-bg-size",type:a.size},{name:"outside-texture-bg-color",type:a.color},{name:"outside-texture-bg-opacity",type:a.zeroOneNumber}],S=[];ja.pieBackgroundN=16,S.push({name:"pie-size",type:a.sizeMaybePercent});for(var P=1;P<=ja.pieBackgroundN;P++)S.push({name:"pie-"+P+"-background-color",type:a.color}),S.push({name:"pie-"+P+"-background-size",type:a.percent}),S.push({name:"pie-"+P+"-background-opacity",type:a.zeroOneNumber});var D=[],T=ja.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:a.arrowShape,triggersBounds:i.any},{name:"arrow-color",type:a.color},{name:"arrow-fill",type:a.arrowFill}].forEach((function(e){T.forEach((function(t){var n=t+"-"+e.name,r=e.type,i=e.triggersBounds;D.push({name:n,type:r,triggersBounds:i})}))}),{});var M=ja.properties=[].concat(d,g,h,f,E,c,u,o,s,l,y,m,b,S,x,w,D,k),B=ja.propertyGroups={behavior:d,transition:g,visibility:h,overlay:f,ghost:E,commonLabel:c,labelDimensions:u,mainLabel:o,sourceLabel:s,targetLabel:l,nodeBody:y,nodeBorder:m,backgroundImage:b,pie:S,compound:x,edgeLine:w,edgeArrow:D,core:k},N=ja.propertyGroupNames={};(ja.propertyGroupKeys=Object.keys(B)).forEach((function(e){N[e]=B[e].map((function(e){return e.name})),B[e].forEach((function(t){return t.groupKey=e}))}));var I=ja.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];ja.propertyNames=M.map((function(e){return e.name}));for(var z=0;z<M.length;z++){var L=M[z];M[L.name]=L}for(var A=0;A<I.length;A++){var O=I[A],R=M[O.pointsTo],V={name:O.name,alias:!0,pointsTo:R};M.push(V),M[O.name]=V}}(),ja.getDefaultProperty=function(e){return this.getDefaultProperties()[e]},ja.getDefaultProperties=function(){var e=this._private;if(null!=e.defaultProperties)return e.defaultProperties;for(var t=I({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125,events:"yes","text-events":"no","text-valign":"top","text-halign":"center","text-justification":"auto","line-height":1,color:"#000","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-overflow-wrap":"whitespace","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","background-blacken":0,"background-color":"#999","background-fill":"solid","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-image-containment":"inside","background-image-smoothing":"yes","background-position-x":"50%","background-position-y":"50%","background-offset-x":0,"background-offset-y":0,"background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1, 1, -1, 1, 1, -1, 1","bounds-expansion":0,"background-gradient-direction":"to-bottom","background-gradient-stop-colors":"#999","background-gradient-stop-positions":"0%",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce((function(e,t){for(var n=1;n<=ja.pieBackgroundN;n++){var r=t.name.replace("{{i}}",n),i=t.value;e[r]=i}return e}),{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"line-gradient-stop-colors":"#999","line-gradient-stop-positions":"0%","control-point-step-size":40,"control-point-weights":.5,"segment-weights":.5,"segment-distances":20,"taxi-turn":"50%","taxi-turn-min-distance":10,"taxi-direction":"auto","edge-distances":"intersection","curve-style":"haystack","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","line-dash-pattern":[6,3],"line-dash-offset":0},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"}].reduce((function(e,t){return ja.arrowPrefixes.forEach((function(n){var r=n+"-"+t.name,i=t.value;e[r]=i})),e}),{})),n={},r=0;r<this.properties.length;r++){var i=this.properties[r];if(!i.pointsTo){var a=i.name,o=t[a],s=this.parse(a,o);n[a]=s}}return e.defaultProperties=n,e.defaultProperties},ja.addDefaultStylesheet=function(){this.selector(":parent").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3}).selector(":loop").css({"curve-style":"bezier"}).selector("edge:compound").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector(":parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}),this.defaultLength=this.length};var Ya={parse:function(e,t,n,r){if(f(t))return this.parseImplWarn(e,t,n,r);var i,a=he(e,""+t,n?"t":"f","mapping"===r||!0===r||!1===r||null==r?"dontcare":r),o=this.propCache=this.propCache||[];return(i=o[a])||(i=o[a]=this.parseImplWarn(e,t,n,r)),(n||"mapping"===r)&&(i=Se(i))&&(i.value=Se(i.value)),i},parseImplWarn:function(e,t,n,r){var i=this.parseImpl(e,t,n,r);return i||null==t||Ce("The style property `".concat(e,": ").concat(t,"` is invalid")),!i||"width"!==i.name&&"height"!==i.name||"label"!==t||Ce("The style value of `label` is deprecated for `"+i.name+"`"),i}};Ya.parseImpl=function(e,t,n,r){e=D(e);var i=this.properties[e],a=t,o=this.types;if(!i)return null;if(void 0===t)return null;i.alias&&(i=i.pointsTo,e=i.name);var s=p(t);s&&(t=t.trim());var l,u,c=i.type;if(!c)return null;if(n&&(""===t||null===t))return{name:e,value:t,bypass:!0,deleteBypass:!0};if(f(t))return{name:e,value:t,strValue:"fn",mapped:o.fn,bypass:n};if(!s||r||t.length<7||"a"!==t[1]);else{if(t.length>=7&&"d"===t[0]&&(l=new RegExp(o.data.regex).exec(t))){if(n)return!1;var d=o.data;return{name:e,value:l,strValue:""+t,mapped:d,field:l[1],bypass:n}}if(t.length>=10&&"m"===t[0]&&(u=new RegExp(o.mapData.regex).exec(t))){if(n)return!1;if(c.multiple)return!1;var h=o.mapData;if(!c.color&&!c.number)return!1;var v=this.parse(e,u[4]);if(!v||v.mapped)return!1;var m=this.parse(e,u[5]);if(!m||m.mapped)return!1;if(v.pfValue===m.pfValue||v.strValue===m.strValue)return Ce("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+v.strValue+"`"),this.parse(e,v.strValue);if(c.color){var b=v.value,x=m.value;if(!(b[0]!==x[0]||b[1]!==x[1]||b[2]!==x[2]||b[3]!==x[3]&&(null!=b[3]&&1!==b[3]||null!=x[3]&&1!==x[3])))return!1}return{name:e,value:u,strValue:""+t,mapped:h,field:u[1],fieldMin:parseFloat(u[2]),fieldMax:parseFloat(u[3]),valueMin:v.value,valueMax:m.value,bypass:n}}}if(c.multiple&&"multiple"!==r){var w;if(w=s?t.split(/\s+/):g(t)?t:[t],c.evenMultiple&&w.length%2!=0)return null;for(var E=[],k=[],C=[],S="",P=!1,T=0;T<w.length;T++){var M=this.parse(e,w[T],n,"multiple");P=P||p(M.value),E.push(M.value),C.push(null!=M.pfValue?M.pfValue:M.value),k.push(M.units),S+=(T>0?" ":"")+M.strValue}return c.validate&&!c.validate(E,k)?null:c.singleEnum&&P?1===E.length&&p(E[0])?{name:e,value:E[0],strValue:E[0],bypass:n}:null:{name:e,value:E,pfValue:C,strValue:S,bypass:n,units:k}}var B,N,I=function(){for(var r=0;r<c.enums.length;r++){if(c.enums[r]===t)return{name:e,value:t,strValue:""+t,bypass:n}}return null};if(c.number){var L,A="px";if(c.units&&(L=c.units),c.implicitUnits&&(A=c.implicitUnits),!c.unitless)if(s){var O="px|em"+(c.allowPercent?"|\\%":"");L&&(O=L);var R=t.match("^("+_+")("+O+")?$");R&&(t=R[1],L=R[2]||A)}else L&&!c.implicitUnits||(L=A);if(t=parseFloat(t),isNaN(t)&&void 0===c.enums)return null;if(isNaN(t)&&void 0!==c.enums)return t=a,I();if(c.integer&&(!y(N=t)||Math.floor(N)!==N))return null;if(void 0!==c.min&&(t<c.min||c.strictMin&&t===c.min)||void 0!==c.max&&(t>c.max||c.strictMax&&t===c.max))return null;var V={name:e,value:t,strValue:""+t+(L||""),units:L,bypass:n};return c.unitless||"px"!==L&&"em"!==L?V.pfValue=t:V.pfValue="px"!==L&&L?this.getEmSizeInPixels()*t:t,"ms"!==L&&"s"!==L||(V.pfValue="ms"===L?t:1e3*t),"deg"!==L&&"rad"!==L||(V.pfValue="rad"===L?t:(B=t,Math.PI*B/180)),"%"===L&&(V.pfValue=t/100),V}if(c.propList){var F=[],q=""+t;if("none"===q);else{for(var j=q.split(/\s*,\s*|\s+/),Y=0;Y<j.length;Y++){var X=j[Y].trim();this.properties[X]?F.push(X):Ce("`"+X+"` is not a valid property name")}if(0===F.length)return null}return{name:e,value:F,strValue:0===F.length?"none":F.join(" "),bypass:n}}if(c.color){var W=z(t);return W?{name:e,value:W,pfValue:W,strValue:"rgb("+W[0]+","+W[1]+","+W[2]+")",bypass:n}:null}if(c.regex||c.regexes){if(c.enums){var H=I();if(H)return H}for(var K=c.regexes?c.regexes:[c.regex],G=0;G<K.length;G++){var Z=new RegExp(K[G]).exec(t);if(Z)return{name:e,value:c.singleRegexMatchValue?Z[1]:Z,strValue:""+t,bypass:n}}return null}return c.string?{name:e,value:""+t,strValue:""+t,bypass:n}:c.enums?I():null};var Xa=function e(t){if(!(this instanceof e))return new e(t);E(t)?(this._private={cy:t,coreStyle:{}},this.length=0,this.resetToDefault()):Ee("A style must have a core reference")},Wa=Xa.prototype;Wa.instanceString=function(){return"style"},Wa.clear=function(){for(var e=this._private,t=e.cy.elements(),n=0;n<this.length;n++)this[n]=void 0;return this.length=0,e.contextStyles={},e.propDiffs={},this.cleanElements(t,!0),t.forEach((function(e){var t=e[0]._private;t.styleDirty=!0,t.appliedInitStyle=!1})),this},Wa.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},Wa.core=function(e){return this._private.coreStyle[e]||this.getDefaultProperty(e)},Wa.selector=function(e){var t="core"===e?null:new Or(e),n=this.length++;return this[n]={selector:t,properties:[],mappedProperties:[],index:n},this},Wa.css=function(){var e=this,t=arguments;if(1===t.length)for(var n=t[0],r=0;r<e.properties.length;r++){var i=e.properties[r],a=n[i.name];void 0===a&&(a=n[T(i.name)]),void 0!==a&&this.cssRule(i.name,a)}else 2===t.length&&this.cssRule(t[0],t[1]);return this},Wa.style=Wa.css,Wa.cssRule=function(e,t){var n=this.parse(e,t);if(n){var r=this.length-1;this[r].properties.push(n),this[r].properties[n.name]=n,n.name.match(/pie-(\d+)-background-size/)&&n.value&&(this._private.hasPie=!0),n.mapped&&this[r].mappedProperties.push(n),!this[r].selector&&(this._private.coreStyle[n.name]=n)}return this},Wa.append=function(e){return k(e)?e.appendToStyle(this):g(e)?this.appendFromJson(e):p(e)&&this.appendFromString(e),this},Xa.fromJson=function(e,t){var n=new Xa(e);return n.fromJson(t),n},Xa.fromString=function(e,t){return new Xa(e).fromString(t)},[Aa,Oa,Ra,Va,Fa,qa,ja,Ya].forEach((function(e){I(Wa,e)})),Xa.types=Wa.types,Xa.properties=Wa.properties,Xa.propertyGroups=Wa.propertyGroups,Xa.propertyGroupNames=Wa.propertyGroupNames,Xa.propertyGroupKeys=Wa.propertyGroupKeys;var Ha={style:function(e){e&&this.setStyle(e).update();return this._private.style},setStyle:function(e){var t=this._private;return k(e)?t.style=e.generateStyle(this):g(e)?t.style=Xa.fromJson(this,e):p(e)?t.style=Xa.fromString(this,e):t.style=Xa(this),t.style},updateStyle:function(){this.mutableElements().updateStyle()}},Ka={autolock:function(e){return void 0===e?this._private.autolock:(this._private.autolock=!!e,this)},autoungrabify:function(e){return void 0===e?this._private.autoungrabify:(this._private.autoungrabify=!!e,this)},autounselectify:function(e){return void 0===e?this._private.autounselectify:(this._private.autounselectify=!!e,this)},selectionType:function(e){var t=this._private;return null==t.selectionType&&(t.selectionType="single"),void 0===e?t.selectionType:("additive"!==e&&"single"!==e||(t.selectionType=e),this)},panningEnabled:function(e){return void 0===e?this._private.panningEnabled:(this._private.panningEnabled=!!e,this)},userPanningEnabled:function(e){return void 0===e?this._private.userPanningEnabled:(this._private.userPanningEnabled=!!e,this)},zoomingEnabled:function(e){return void 0===e?this._private.zoomingEnabled:(this._private.zoomingEnabled=!!e,this)},userZoomingEnabled:function(e){return void 0===e?this._private.userZoomingEnabled:(this._private.userZoomingEnabled=!!e,this)},boxSelectionEnabled:function(e){return void 0===e?this._private.boxSelectionEnabled:(this._private.boxSelectionEnabled=!!e,this)},pan:function(){var e,t,n,r,i,a=arguments,o=this._private.pan;switch(a.length){case 0:return o;case 1:if(p(a[0]))return o[e=a[0]];if(v(a[0])){if(!this._private.panningEnabled)return this;r=(n=a[0]).x,i=n.y,y(r)&&(o.x=r),y(i)&&(o.y=i),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;e=a[0],t=a[1],"x"!==e&&"y"!==e||!y(t)||(o[e]=t),this.emit("pan viewport")}return this.notify("viewport"),this},panBy:function(e,t){var n,r,i,a,o,s=arguments,l=this._private.pan;if(!this._private.panningEnabled)return this;switch(s.length){case 1:v(e)&&(a=(i=s[0]).x,o=i.y,y(a)&&(l.x+=a),y(o)&&(l.y+=o),this.emit("pan viewport"));break;case 2:r=t,"x"!==(n=e)&&"y"!==n||!y(r)||(l[n]+=r),this.emit("pan viewport")}return this.notify("viewport"),this},fit:function(e,t){var n=this.getFitViewport(e,t);if(n){var r=this._private;r.zoom=n.zoom,r.pan=n.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},getFitViewport:function(e,t){if(y(e)&&void 0===t&&(t=e,e=void 0),this._private.panningEnabled&&this._private.zoomingEnabled){var n,r;if(p(e)){var i=e;e=this.$(i)}else if(v(r=e)&&y(r.x1)&&y(r.x2)&&y(r.y1)&&y(r.y2)){var a=e;(n={x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2}).w=n.x2-n.x1,n.h=n.y2-n.y1}else b(e)||(e=this.mutableElements());if(!b(e)||!e.empty()){n=n||e.boundingBox();var o,s=this.width(),l=this.height();if(t=y(t)?t:0,!isNaN(s)&&!isNaN(l)&&s>0&&l>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:o=(o=(o=Math.min((s-2*t)/n.w,(l-2*t)/n.h))>this._private.maxZoom?this._private.maxZoom:o)<this._private.minZoom?this._private.minZoom:o,pan:{x:(s-o*(n.x1+n.x2))/2,y:(l-o*(n.y1+n.y2))/2}}}}},zoomRange:function(e,t){var n=this._private;if(null==t){var r=e;e=r.min,t=r.max}return y(e)&&y(t)&&e<=t?(n.minZoom=e,n.maxZoom=t):y(e)&&void 0===t&&e<=n.maxZoom?n.minZoom=e:y(t)&&void 0===e&&t>=n.minZoom&&(n.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,n,r=this._private,i=r.pan,a=r.zoom,o=!1;if(r.zoomingEnabled||(o=!0),y(e)?n=e:v(e)&&(n=e.level,null!=e.position?t=et(e.position,a,i):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||r.panningEnabled||(o=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)<r.minZoom?r.minZoom:n,o||!y(n)||n===a||null!=t&&(!y(t.x)||!y(t.y)))return null;if(null!=t){var s=i,l=a,u=n;return{zoomed:!0,panned:!0,zoom:u,pan:{x:-u/l*(t.x-s.x)+t.x,y:-u/l*(t.y-s.y)+t.y}}}return{zoomed:!0,panned:!1,zoom:n,pan:i}},zoom:function(e){if(void 0===e)return this._private.zoom;var t=this.getZoomedViewport(e),n=this._private;return null!=t&&t.zoomed?(n.zoom=t.zoom,t.panned&&(n.pan.x=t.pan.x,n.pan.y=t.pan.y),this.emit("zoom"+(t.panned?" pan":"")+" viewport"),this.notify("viewport"),this):this},viewport:function(e){var t=this._private,n=!0,r=!0,i=[],a=!1,o=!1;if(!e)return this;if(y(e.zoom)||(n=!1),v(e.pan)||(r=!1),!n&&!r)return this;if(n){var s=e.zoom;s<t.minZoom||s>t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=s,i.push("zoom"))}if(r&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var l=e.pan;y(l.x)&&(t.pan.x=l.x,o=!1),y(l.y)&&(t.pan.y=l.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(p(e)){var n=e;e=this.mutableElements().filter(n)}else b(e)||(e=this.mutableElements());if(0!==e.length){var r=e.boundingBox(),i=this.width(),a=this.height();return{x:(i-(t=void 0===t?this._private.zoom:t)*(r.x1+r.x2))/2,y:(a-t*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(e=o.getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}}};Ka.centre=Ka.center,Ka.autolockNodes=Ka.autolock,Ka.autoungrabifyNodes=Ka.autoungrabify;var Ga={data:er.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:er.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:er.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:er.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Ga.attr=Ga.data,Ga.removeAttr=Ga.removeData;var Za=function(e){var t=this,n=(e=I({},e)).container;n&&!m(n)&&m(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var a=void 0!==o&&void 0!==n&&!e.headless,s=e;s.layout=I({name:a?"grid":"null"},s.layout),s.renderer=I({name:a?"canvas":"null"},s.renderer);var l=function(e,t,n){return void 0!==t?t:void 0!==n?n:e},u=this._private={container:n,ready:!1,options:s,elements:new pa(this),listeners:[],aniEles:new pa(this),data:s.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,s.zoomingEnabled),userZoomingEnabled:l(!0,s.userZoomingEnabled),panningEnabled:l(!0,s.panningEnabled),userPanningEnabled:l(!0,s.userPanningEnabled),boxSelectionEnabled:l(!0,s.boxSelectionEnabled),autolock:l(!1,s.autolock,s.autolockNodes),autoungrabify:l(!1,s.autoungrabify,s.autoungrabifyNodes),autounselectify:l(!1,s.autounselectify),styleEnabled:void 0===s.styleEnabled?a:s.styleEnabled,zoom:y(s.zoom)?s.zoom:1,pan:{x:v(s.pan)&&y(s.pan.x)?s.pan.x:0,y:v(s.pan)&&y(s.pan.y)?s.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1};this.createEmitter(),this.selectionType(s.selectionType),this.zoomRange({min:s.minZoom,max:s.maxZoom});u.styleEnabled&&t.setStyle([]);var c=I({},s,s.renderer);t.initRenderer(c);!function(e,t){if(e.some(S))return $n.all(e).then(t);t(e)}([s.style,s.elements],(function(e){var n=e[0],a=e[1];u.styleEnabled&&t.style().append(n),function(e,n,r){t.notifications(!1);var i=t.mutableElements();i.length>0&&i.remove(),null!=e&&(v(e)||g(e))&&t.add(e),t.one("layoutready",(function(e){t.notifications(!0),t.emit(e),t.one("load",n),t.emitAndNotify("load")})).one("layoutstop",(function(){t.one("done",r),t.emit("done")}));var a=I({},t._private.options.layout);a.eles=t.elements(),t.layout(a).run()}(a,(function(){t.startAnimationLoop(),u.ready=!0,f(s.ready)&&t.on("ready",s.ready);for(var e=0;e<i.length;e++){var n=i[e];t.on("ready",n)}r&&(r.readies=[]),t.emit("ready")}),s.done)}))},Ua=Za.prototype;I(Ua,{instanceString:function(){return"core"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(e){return this.isReady()?this.emitter().emit("ready",[],e):this.on("ready",e),this},destroy:function(){var e=this;if(!e.destroyed())return e.stopAnimationLoop(),e.destroyRenderer(),this.emit("destroy"),e._private.destroyed=!0,e},hasElementWithId:function(e){return this._private.elements.hasElementWithId(e)},getElementById:function(e){return this._private.elements.getElementById(e)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(e){return this._private.elements.merge(e),this},removeFromPool:function(e){return this._private.elements.unmerge(e),this},container:function(){return this._private.container||null},mount:function(e){if(null!=e){var t=this,n=t._private,r=n.options;return!m(e)&&m(e[0])&&(e=e[0]),t.stopAnimationLoop(),t.destroyRenderer(),n.container=e,n.styleEnabled=!0,t.invalidateSize(),t.initRenderer(I({},r,r.renderer,{name:"null"===r.renderer.name?"canvas":r.renderer.name})),t.startAnimationLoop(),t.style(r.style),t.emit("mount"),t}},unmount:function(){var e=this;return e.stopAnimationLoop(),e.destroyRenderer(),e.initRenderer({name:"null"}),e.emit("unmount"),e},options:function(){return Se(this._private.options)},json:function(e){var t=this,n=t._private,r=t.mutableElements();if(v(e)){if(t.startBatch(),e.elements){var i={},a=function(e,n){for(var r=[],a=[],o=0;o<e.length;o++){var s=e[o];if(s.data.id){var l=""+s.data.id,u=t.getElementById(l);i[l]=!0,0!==u.length?a.push({ele:u,json:s}):n?(s.group=n,r.push(s)):r.push(s)}else Ce("cy.json() cannot handle elements without an ID attribute")}t.add(r);for(var c=0;c<a.length;c++){var d=a[c],h=d.ele,p=d.json;h.json(p)}};if(g(e.elements))a(e.elements);else for(var o=["nodes","edges"],s=0;s<o.length;s++){var l=o[s],u=e.elements[l];g(u)&&a(u,l)}var c=t.collection();r.filter((function(e){return!i[e.id()]})).forEach((function(e){e.isParent()?c.merge(e):e.remove()})),c.forEach((function(e){return e.children().move({parent:null})})),c.forEach((function(e){return function(e){return t.getElementById(e.id())}(e).remove()}))}e.style&&t.style(e.style),null!=e.zoom&&e.zoom!==n.zoom&&t.zoom(e.zoom),e.pan&&(e.pan.x===n.pan.x&&e.pan.y===n.pan.y||t.pan(e.pan)),e.data&&t.data(e.data);for(var d=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify"],h=0;h<d.length;h++){var p=d[h];null!=e[p]&&t[p](e[p])}return t.endBatch(),this}var f={};!!e?f.elements=this.elements().map((function(e){return e.json()})):(f.elements={},r.forEach((function(e){var t=e.group();f.elements[t]||(f.elements[t]=[]),f.elements[t].push(e.json())}))),this._private.styleEnabled&&(f.style=t.style().json()),f.data=Se(t.data());var y=n.options;return f.zoomingEnabled=n.zoomingEnabled,f.userZoomingEnabled=n.userZoomingEnabled,f.zoom=n.zoom,f.minZoom=n.minZoom,f.maxZoom=n.maxZoom,f.panningEnabled=n.panningEnabled,f.userPanningEnabled=n.userPanningEnabled,f.pan=Se(n.pan),f.boxSelectionEnabled=n.boxSelectionEnabled,f.renderer=Se(y.renderer),f.hideEdgesOnViewport=y.hideEdgesOnViewport,f.textureOnViewport=y.textureOnViewport,f.wheelSensitivity=y.wheelSensitivity,f.motionBlur=y.motionBlur,f}}),Ua.$id=Ua.getElementById,[ga,Pa,Ma,Ba,_a,Na,za,La,Ha,Ka,Ga].forEach((function(e){I(Ua,e)}));var $a={fit:!0,directed:!1,padding:30,circle:!1,grid:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,maximal:!1,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}},Qa=function(e){return e.scratch("breadthfirst")},Ja=function(e,t){return e.scratch("breadthfirst",t)};function eo(e){this.options=I({},$a,e)}eo.prototype.run=function(){var e,t=this.options,n=t,r=t.cy,i=n.eles,a=i.nodes().filter((function(e){return!e.isParent()})),o=i,s=n.directed,l=n.maximal||n.maximalAdjustments>0,u=ht(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(b(n.roots))e=n.roots;else if(g(n.roots)){for(var c=[],d=0;d<n.roots.length;d++){var h=n.roots[d],f=r.getElementById(h);c.push(f)}e=r.collection(c)}else if(p(n.roots))e=r.$(n.roots);else if(s)e=a.roots();else{var v=i.components();e=r.collection();for(var y=function(t){var n=v[t],r=n.maxDegree(!1),i=n.filter((function(e){return e.degree(!1)===r}));e=e.add(i)},m=0;m<v.length;m++)y(m)}var x=[],w={},E=function(e,t){null==x[t]&&(x[t]=[]);var n=x[t].length;x[t].push(e),Ja(e,{index:n,depth:t})};o.bfs({roots:e,directed:n.directed,visit:function(e,t,n,r,i){var a=e[0],o=a.id();E(a,i),w[o]=!0}});for(var k=[],C=0;C<a.length;C++){var S=a[C];w[S.id()]||k.push(S)}var P=function(e){for(var t=x[e],n=0;n<t.length;n++){var r=t[n];null!=r?Ja(r,{depth:e,index:n}):(t.splice(n,1),n--)}},D=function(){for(var e=0;e<x.length;e++)P(e)},T=function(e,t){for(var n=Qa(e),r=e.incomers().filter((function(e){return e.isNode()&&i.has(e)})),a=-1,o=e.id(),s=0;s<r.length;s++){var l=r[s],u=Qa(l);a=Math.max(a,u.depth)}return n.depth<=a&&(t[o]?null:(function(e,t){var n=Qa(e),r=n.depth,i=n.index;x[r][i]=null,E(e,t)}(e,a+1),t[o]=!0,!0))};if(s&&l){var M=[],B={},_=function(e){return M.push(e)};for(a.forEach((function(e){return M.push(e)}));M.length>0;){var I=M.shift(),z=T(I,B);if(z)I.outgoers().filter((function(e){return e.isNode()&&i.has(e)})).forEach(_);else if(null===z){Ce("Detected double maximal shift for node `"+I.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}D();var L=0;if(n.avoidOverlap)for(var A=0;A<a.length;A++){var O=a[A].layoutDimensions(n),R=O.w,V=O.h;L=Math.max(L,R,V)}for(var F={},q=function(e){if(F[e.id()])return F[e.id()];for(var t=Qa(e).depth,n=e.neighborhood(),r=0,i=0,o=0;o<n.length;o++){var s=n[o];if(!s.isEdge()&&!s.isParent()&&a.has(s)){var l=Qa(s);if(null!=l){var u=l.index,c=l.depth;if(null!=u&&null!=c){var d=x[c].length;c<t&&(r+=u/d,i++)}}}}return r/=i=Math.max(1,i),0===i&&(r=0),F[e.id()]=r,r},j=function(e,t){var n=q(e)-q(t);return 0===n?N(e.id(),t.id()):n},Y=0;Y<x.length;Y++)x[Y].sort(j),P(Y);for(var X=[],W=0;W<k.length;W++)X.push(k[W]);x.unshift(X),D();for(var H=0,K=0;K<x.length;K++)H=Math.max(x[K].length,H);var G=u.x1+u.w/2,Z=u.x1+u.h/2,U=x.reduce((function(e,t){return Math.max(e,t.length)}),0);return i.nodes().layoutPositions(this,n,(function(e){var t=Qa(e),r=t.depth,i=t.index,a=x[r].length,o=Math.max(u.w/((n.grid?U:a)+1),L),s=Math.max(u.h/(x.length+1),L),l=Math.min(u.w/2/x.length,u.h/2/x.length);if(l=Math.max(l,L),n.circle){var c=l*r+l-(x.length>0&&x[0].length<=3?l/2:0),d=2*Math.PI/x[r].length*i;return 0===r&&1===x[0].length&&(c=1),{x:G+c*Math.cos(d),y:Z+c*Math.sin(d)}}return{x:G+(i+1-(a+1)/2)*o,y:(r+1)*s}})),this};var to={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function no(e){this.options=I({},to,e)}no.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,a=r.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));for(var o,s=ht(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l=s.x1+s.w/2,u=s.y1+s.h/2,c=(void 0===t.sweep?2*Math.PI-2*Math.PI/a.length:t.sweep)/Math.max(1,a.length-1),d=0,h=0;h<a.length;h++){var p=a[h].layoutDimensions(t),f=p.w,g=p.h;d=Math.max(d,f,g)}if(o=y(t.radius)?t.radius:a.length<=1?0:Math.min(s.h,s.w)/2-d,a.length>1&&t.avoidOverlap){d*=1.75;var v=Math.cos(c)-Math.cos(0),m=Math.sin(c)-Math.sin(0),b=Math.sqrt(d*d/(v*v+m*m));o=Math.max(b,o)}return r.nodes().layoutPositions(this,t,(function(e,n){var r=t.startAngle+n*c*(i?1:-1),a=o*Math.cos(r),s=o*Math.sin(r);return{x:l+a,y:u+s}})),this};var ro,io={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function ao(e){this.options=I({},io,e)}ao.prototype.run=function(){for(var e=this.options,t=e,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=e.cy,i=t.eles,a=i.nodes().not(":parent"),o=ht(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=o.x1+o.w/2,l=o.y1+o.h/2,u=[],c=0,d=0;d<a.length;d++){var h,p=a[d];h=t.concentric(p),u.push({value:h,node:p}),p._private.scratch.concentric=h}a.updateStyle();for(var f=0;f<a.length;f++){var g=a[f].layoutDimensions(t);c=Math.max(c,g.w,g.h)}u.sort((function(e,t){return t.value-e.value}));for(var v=t.levelWidth(a),y=[[]],m=y[0],b=0;b<u.length;b++){var x=u[b];if(m.length>0)Math.abs(m[0].value-x.value)>=v&&(m=[],y.push(m));m.push(x)}var w=c+t.minNodeSpacing;if(!t.avoidOverlap){var E=y.length>0&&y[0].length>1,k=(Math.min(o.w,o.h)/2-w)/(y.length+E?1:0);w=Math.min(w,k)}for(var C=0,S=0;S<y.length;S++){var P=y[S],D=void 0===t.sweep?2*Math.PI-2*Math.PI/P.length:t.sweep,T=P.dTheta=D/Math.max(1,P.length-1);if(P.length>1&&t.avoidOverlap){var M=Math.cos(T)-Math.cos(0),B=Math.sin(T)-Math.sin(0),_=Math.sqrt(w*w/(M*M+B*B));C=Math.max(_,C)}P.r=C,C+=w}if(t.equidistant){for(var N=0,I=0,z=0;z<y.length;z++){var L=y[z].r-I;N=Math.max(N,L)}I=0;for(var A=0;A<y.length;A++){var O=y[A];0===A&&(I=O.r),O.r=I,I+=N}}for(var R={},V=0;V<y.length;V++)for(var F=y[V],q=F.dTheta,j=F.r,Y=0;Y<F.length;Y++){var X=F[Y],W=t.startAngle+(n?1:-1)*q*Y,H={x:s+j*Math.cos(W),y:l+j*Math.sin(W)};R[X.node.id()]=H}return i.nodes().layoutPositions(this,t,(function(e){var t=e.id();return R[t]})),this};var oo={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(e,t){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(e){return 2048},nodeOverlap:4,idealEdgeLength:function(e){return 32},edgeElasticity:function(e){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function so(e){this.options=I({},oo,e),this.options.layout=this}so.prototype.run=function(){var e=this.options,t=e.cy,n=this;n.stopped=!1,!0!==e.animate&&!1!==e.animate||n.emit({type:"layoutstart",layout:n}),ro=!0===e.debug;var r=lo(t,n,e);ro&&(void 0)(r),e.randomize&&ho(r);var i=ie(),a=function(){fo(r,t,e),!0===e.fit&&t.fit(e.padding)},o=function(t){return!(n.stopped||t>=e.numIter)&&(go(r,e),r.temperature=r.temperature*e.coolingFactor,!(r.temperature<e.minTemp))},s=function(){if(!0===e.animate||!1===e.animate)a(),n.one("layoutstop",e.stop),n.emit({type:"layoutstop",layout:n});else{var t=e.eles.nodes(),i=po(r,e,t);t.layoutPositions(n,e,i)}},l=0,u=!0;if(!0===e.animate){!function t(){for(var n=0;u&&n<e.refresh;)u=o(l),l++,n++;u?(ie()-i>=e.animationThreshold&&a(),re(t)):(Do(r,e),s())}()}else{for(;u;)u=o(l),l++;Do(r,e),s()}return this},so.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},so.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var lo=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),a={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:e.width(),clientHeight:e.width(),boundingBox:ht(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()})},o=n.eles.components(),s={},l=0;l<o.length;l++)for(var u=o[l],c=0;c<u.length;c++){s[u[c].id()]=l}for(l=0;l<a.nodeSize;l++){var d=(y=i[l]).layoutDimensions(n);(I={}).isLocked=y.locked(),I.id=y.data("id"),I.parentId=y.data("parent"),I.cmptId=s[y.id()],I.children=[],I.positionX=y.position("x"),I.positionY=y.position("y"),I.offsetX=0,I.offsetY=0,I.height=d.w,I.width=d.h,I.maxX=I.positionX+I.width/2,I.minX=I.positionX-I.width/2,I.maxY=I.positionY+I.height/2,I.minY=I.positionY-I.height/2,I.padLeft=parseFloat(y.style("padding")),I.padRight=parseFloat(y.style("padding")),I.padTop=parseFloat(y.style("padding")),I.padBottom=parseFloat(y.style("padding")),I.nodeRepulsion=f(n.nodeRepulsion)?n.nodeRepulsion(y):n.nodeRepulsion,a.layoutNodes.push(I),a.idToIndex[I.id]=l}var h=[],p=0,g=-1,v=[];for(l=0;l<a.nodeSize;l++){var y,m=(y=a.layoutNodes[l]).parentId;null!=m?a.layoutNodes[a.idToIndex[m]].children.push(y.id):(h[++g]=y.id,v.push(y.id))}for(a.graphSet.push(v);p<=g;){var b=h[p++],x=a.idToIndex[b],w=a.layoutNodes[x].children;if(w.length>0){a.graphSet.push(w);for(l=0;l<w.length;l++)h[++g]=w[l]}}for(l=0;l<a.graphSet.length;l++){var E=a.graphSet[l];for(c=0;c<E.length;c++){var k=a.idToIndex[E[c]];a.indexToGraph[k]=l}}for(l=0;l<a.edgeSize;l++){var C=r[l],S={};S.id=C.data("id"),S.sourceId=C.data("source"),S.targetId=C.data("target");var P=f(n.idealEdgeLength)?n.idealEdgeLength(C):n.idealEdgeLength,D=f(n.edgeElasticity)?n.edgeElasticity(C):n.edgeElasticity,T=a.idToIndex[S.sourceId],M=a.idToIndex[S.targetId];if(a.indexToGraph[T]!=a.indexToGraph[M]){for(var B=uo(S.sourceId,S.targetId,a),_=a.graphSet[B],N=0,I=a.layoutNodes[T];-1===_.indexOf(I.id);)I=a.layoutNodes[a.idToIndex[I.parentId]],N++;for(I=a.layoutNodes[M];-1===_.indexOf(I.id);)I=a.layoutNodes[a.idToIndex[I.parentId]],N++;P*=N*n.nestingFactor}S.idealLength=P,S.elasticity=D,a.layoutEdges.push(S)}return a},uo=function(e,t,n){var r=co(e,t,0,n);return 2>r.count?0:r.graph},co=function e(t,n,r,i){var a=i.graphSet[r];if(-1<a.indexOf(t)&&-1<a.indexOf(n))return{count:2,graph:r};for(var o=0,s=0;s<a.length;s++){var l=a[s],u=i.idToIndex[l],c=i.layoutNodes[u].children;if(0!==c.length){var d=e(t,n,i.indexToGraph[i.idToIndex[c[0]]],i);if(0!==d.count){if(1!==d.count)return d;if(2===++o)break}}}return{count:o,graph:r}},ho=function(e,t){for(var n=e.clientWidth,r=e.clientHeight,i=0;i<e.nodeSize;i++){var a=e.layoutNodes[i];0!==a.children.length||a.isLocked||(a.positionX=Math.random()*n,a.positionY=Math.random()*r)}},po=function(e,t,n){var r=e.boundingBox,i={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return t.boundingBox&&(n.forEach((function(t){var n=e.layoutNodes[e.idToIndex[t.data("id")]];i.x1=Math.min(i.x1,n.positionX),i.x2=Math.max(i.x2,n.positionX),i.y1=Math.min(i.y1,n.positionY),i.y2=Math.max(i.y2,n.positionY)})),i.w=i.x2-i.x1,i.h=i.y2-i.y1),function(n,a){var o=e.layoutNodes[e.idToIndex[n.data("id")]];if(t.boundingBox){var s=(o.positionX-i.x1)/i.w,l=(o.positionY-i.y1)/i.h;return{x:r.x1+s*r.w,y:r.y1+l*r.h}}return{x:o.positionX,y:o.positionY}}},fo=function(e,t,n){var r=n.layout,i=n.eles.nodes(),a=po(e,n,i);i.positions(a),!0!==e.ready&&(e.ready=!0,r.one("layoutready",n.ready),r.emit({type:"layoutready",layout:this}))},go=function(e,t,n){vo(e,t),wo(e),Eo(e,t),ko(e),Co(e)},vo=function(e,t){for(var n=0;n<e.graphSet.length;n++)for(var r=e.graphSet[n],i=r.length,a=0;a<i;a++)for(var o=e.layoutNodes[e.idToIndex[r[a]]],s=a+1;s<i;s++){var l=e.layoutNodes[e.idToIndex[r[s]]];mo(o,l,e,t)}},yo=function(e){return-e+2*e*Math.random()},mo=function(e,t,n,r){if(e.cmptId===t.cmptId||n.isCompound){var i=t.positionX-e.positionX,a=t.positionY-e.positionY;0===i&&0===a&&(i=yo(1),a=yo(1));var o=bo(e,t,i,a);if(o>0)var s=(u=r.nodeOverlap*o)*i/(g=Math.sqrt(i*i+a*a)),l=u*a/g;else{var u,c=xo(e,i,a),d=xo(t,-1*i,-1*a),h=d.x-c.x,p=d.y-c.y,f=h*h+p*p,g=Math.sqrt(f);s=(u=(e.nodeRepulsion+t.nodeRepulsion)/f)*h/g,l=u*p/g}e.isLocked||(e.offsetX-=s,e.offsetY-=l),t.isLocked||(t.offsetX+=s,t.offsetY+=l)}},bo=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else i=t.maxX-e.minX;if(r>0)var a=e.maxY-t.minY;else a=t.maxY-e.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0},xo=function(e,t,n){var r=e.positionX,i=e.positionY,a=e.height||1,o=e.width||1,s=n/t,l=a/o,u={};return 0===t&&0<n||0===t&&0>n?(u.x=r,u.y=i+a/2,u):0<t&&-1*l<=s&&s<=l?(u.x=r+o/2,u.y=i+o*n/2/t,u):0>t&&-1*l<=s&&s<=l?(u.x=r-o/2,u.y=i-o*n/2/t,u):0<n&&(s<=-1*l||s>=l)?(u.x=r+a*t/2/n,u.y=i+a/2,u):0>n&&(s<=-1*l||s>=l)?(u.x=r-a*t/2/n,u.y=i-a/2,u):u},wo=function(e,t){for(var n=0;n<e.edgeSize;n++){var r=e.layoutEdges[n],i=e.idToIndex[r.sourceId],a=e.layoutNodes[i],o=e.idToIndex[r.targetId],s=e.layoutNodes[o],l=s.positionX-a.positionX,u=s.positionY-a.positionY;if(0!==l||0!==u){var c=xo(a,l,u),d=xo(s,-1*l,-1*u),h=d.x-c.x,p=d.y-c.y,f=Math.sqrt(h*h+p*p),g=Math.pow(r.idealLength-f,2)/r.elasticity;if(0!==f)var v=g*h/f,y=g*p/f;else v=0,y=0;a.isLocked||(a.offsetX+=v,a.offsetY+=y),s.isLocked||(s.offsetX-=v,s.offsetY-=y)}}},Eo=function(e,t){for(var n=0;n<e.graphSet.length;n++){var r=e.graphSet[n],i=r.length;if(0===n)var a=e.clientHeight/2,o=e.clientWidth/2;else{var s=e.layoutNodes[e.idToIndex[r[0]]],l=e.layoutNodes[e.idToIndex[s.parentId]];a=l.positionX,o=l.positionY}for(var u=0;u<i;u++){var c=e.layoutNodes[e.idToIndex[r[u]]];if(!c.isLocked){var d=a-c.positionX,h=o-c.positionY,p=Math.sqrt(d*d+h*h);if(p>1){var f=t.gravity*d/p,g=t.gravity*h/p;c.offsetX+=f,c.offsetY+=g}}}}},ko=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var a=n[r++],o=e.idToIndex[a],s=e.layoutNodes[o],l=s.children;if(0<l.length&&!s.isLocked){for(var u=s.offsetX,c=s.offsetY,d=0;d<l.length;d++){var h=e.layoutNodes[e.idToIndex[l[d]]];h.offsetX+=u,h.offsetY+=c,n[++i]=l[d]}s.offsetX=0,s.offsetY=0}}},Co=function(e,t){for(var n=0;n<e.nodeSize;n++){0<(i=e.layoutNodes[n]).children.length&&(i.maxX=void 0,i.minX=void 0,i.maxY=void 0,i.minY=void 0)}for(n=0;n<e.nodeSize;n++){if(!(0<(i=e.layoutNodes[n]).children.length||i.isLocked)){var r=So(i.offsetX,i.offsetY,e.temperature);i.positionX+=r.x,i.positionY+=r.y,i.offsetX=0,i.offsetY=0,i.minX=i.positionX-i.width,i.maxX=i.positionX+i.width,i.minY=i.positionY-i.height,i.maxY=i.positionY+i.height,Po(i,e)}}for(n=0;n<e.nodeSize;n++){var i;0<(i=e.layoutNodes[n]).children.length&&!i.isLocked&&(i.positionX=(i.maxX+i.minX)/2,i.positionY=(i.maxY+i.minY)/2,i.width=i.maxX-i.minX,i.height=i.maxY-i.minY)}},So=function(e,t,n){var r=Math.sqrt(e*e+t*t);if(r>n)var i={x:n*e/r,y:n*t/r};else i={x:e,y:t};return i},Po=function e(t,n){var r=t.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],a=!1;return(null==i.maxX||t.maxX+i.padRight>i.maxX)&&(i.maxX=t.maxX+i.padRight,a=!0),(null==i.minX||t.minX-i.padLeft<i.minX)&&(i.minX=t.minX-i.padLeft,a=!0),(null==i.maxY||t.maxY+i.padBottom>i.maxY)&&(i.maxY=t.maxY+i.padBottom,a=!0),(null==i.minY||t.minY-i.padTop<i.minY)&&(i.minY=t.minY-i.padTop,a=!0),a?e(i,n):void 0}},Do=function(e,t){for(var n=e.layoutNodes,r=[],i=0;i<n.length;i++){var a=n[i],o=a.cmptId;(r[o]=r[o]||[]).push(a)}var s=0;for(i=0;i<r.length;i++){if(g=r[i]){g.x1=1/0,g.x2=-1/0,g.y1=1/0,g.y2=-1/0;for(var l=0;l<g.length;l++){var u=g[l];g.x1=Math.min(g.x1,u.positionX-u.width/2),g.x2=Math.max(g.x2,u.positionX+u.width/2),g.y1=Math.min(g.y1,u.positionY-u.height/2),g.y2=Math.max(g.y2,u.positionY+u.height/2)}g.w=g.x2-g.x1,g.h=g.y2-g.y1,s+=g.w*g.h}}r.sort((function(e,t){return t.w*t.h-e.w*e.h}));var c=0,d=0,h=0,p=0,f=Math.sqrt(s)*e.clientWidth/e.clientHeight;for(i=0;i<r.length;i++){var g;if(g=r[i]){for(l=0;l<g.length;l++){(u=g[l]).isLocked||(u.positionX+=c-g.x1,u.positionY+=d-g.y1)}c+=g.w+t.componentSpacing,h+=g.w+t.componentSpacing,p=Math.max(p,g.h),h>f&&(d+=p+t.componentSpacing,c=0,h=0,p=0)}}},To={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Mo(e){this.options=I({},To,e)}Mo.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=r.nodes().not(":parent");t.sort&&(i=i.sort(t.sort));var a=ht(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===a.h||0===a.w)r.nodes().layoutPositions(this,t,(function(e){return{x:a.x1,y:a.y1}}));else{var o=i.size(),s=Math.sqrt(o*a.h/a.w),l=Math.round(s),u=Math.round(a.w/a.h*s),c=function(e){if(null==e)return Math.min(l,u);Math.min(l,u)==l?l=e:u=e},d=function(e){if(null==e)return Math.max(l,u);Math.max(l,u)==l?l=e:u=e},h=t.rows,p=null!=t.cols?t.cols:t.columns;if(null!=h&&null!=p)l=h,u=p;else if(null!=h&&null==p)l=h,u=Math.ceil(o/l);else if(null==h&&null!=p)u=p,l=Math.ceil(o/u);else if(u*l>o){var f=c(),g=d();(f-1)*g>=o?c(f-1):(g-1)*f>=o&&d(g-1)}else for(;u*l<o;){var v=c(),y=d();(y+1)*v>=o?d(y+1):c(v+1)}var m=a.w/u,b=a.h/l;if(t.condense&&(m=0,b=0),t.avoidOverlap)for(var x=0;x<i.length;x++){var w=i[x],E=w._private.position;null!=E.x&&null!=E.y||(E.x=0,E.y=0);var k=w.layoutDimensions(t),C=t.avoidOverlapPadding,S=k.w+C,P=k.h+C;m=Math.max(m,S),b=Math.max(b,P)}for(var D={},T=function(e,t){return!!D["c-"+e+"-"+t]},M=function(e,t){D["c-"+e+"-"+t]=!0},B=0,_=0,N=function(){++_>=u&&(_=0,B++)},I={},z=0;z<i.length;z++){var L=i[z],A=t.position(L);if(A&&(void 0!==A.row||void 0!==A.col)){var O={row:A.row,col:A.col};if(void 0===O.col)for(O.col=0;T(O.row,O.col);)O.col++;else if(void 0===O.row)for(O.row=0;T(O.row,O.col);)O.row++;I[L.id()]=O,M(O.row,O.col)}}i.layoutPositions(this,t,(function(e,t){var n,r;if(e.locked()||e.isParent())return!1;var i=I[e.id()];if(i)n=i.col*m+m/2+a.x1,r=i.row*b+b/2+a.y1;else{for(;T(B,_);)N();n=_*m+m/2+a.x1,r=B*b+b/2+a.y1,M(B,_),N()}return{x:n,y:r}}))}return this};var Bo={ready:function(){},stop:function(){}};function _o(e){this.options=I({},Bo,e)}_o.prototype.run=function(){var e=this.options,t=e.eles;e.cy;return this.emit("layoutstart"),t.nodes().positions((function(){return{x:0,y:0}})),this.one("layoutready",e.ready),this.emit("layoutready"),this.one("layoutstop",e.stop),this.emit("layoutstop"),this},_o.prototype.stop=function(){return this};var No={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Io(e){this.options=I({},No,e)}Io.prototype.run=function(){var e=this.options,t=e.eles.nodes(),n=f(e.positions);return t.layoutPositions(this,e,(function(t,r){var i=function(t){if(null==e.positions)return function(e){return{x:e.x,y:e.y}}(t.position());if(n)return e.positions(t);var r=e.positions[t._private.data.id];return null==r?null:r}(t);return!t.locked()&&null!=i&&i})),this};var zo={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Lo(e){this.options=I({},zo,e)}Lo.prototype.run=function(){var e=this.options,t=e.cy,n=e.eles,r=ht(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()});return n.nodes().layoutPositions(this,e,(function(e,t){return{x:r.x1+Math.round(Math.random()*r.w),y:r.y1+Math.round(Math.random()*r.h)}})),this};var Ao=[{name:"breadthfirst",impl:eo},{name:"circle",impl:no},{name:"concentric",impl:ao},{name:"cose",impl:so},{name:"grid",impl:Mo},{name:"null",impl:_o},{name:"preset",impl:Io},{name:"random",impl:Lo}];function Oo(e){this.options=e,this.notifications=0}var Ro=function(){},Vo=function(){throw new Error("A headless instance can not render images")};Oo.prototype={recalculateRenderedStyle:Ro,notify:function(){this.notifications++},init:Ro,isHeadless:function(){return!0},png:Vo,jpg:Vo};var Fo={arrowShapeWidth:.3,registerArrowShapes:function(){var e=this.arrowShapes={},t=this,n=function(e,t,n,r,i,a,o){var s=i.x-n/2-o,l=i.x+n/2+o,u=i.y-n/2-o,c=i.y+n/2+o;return s<=e&&e<=l&&u<=t&&t<=c},r=function(e,t,n,r,i){var a=e*Math.cos(r)-t*Math.sin(r),o=(e*Math.sin(r)+t*Math.cos(r))*n;return{x:a*n+i.x,y:o+i.y}},i=function(e,t,n,i){for(var a=[],o=0;o<e.length;o+=2){var s=e[o],l=e[o+1];a.push(r(s,l,t,n,i))}return a},a=function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];t.push(r.x,r.y)}return t},o=function(e){return e.pstyle("width").pfValue*e.pstyle("arrow-scale").pfValue*2},s=function(r,s){p(s)&&(s=e[s]),e[r]=I({name:r,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(e,t,n,r,o,s){var l=a(i(this.points,n+2*s,r,o));return St(e,t,l)},roughCollide:n,draw:function(e,n,r,a){var o=i(this.points,n,r,a);t.arrowShapeImpl("polygon")(e,o)},spacing:function(e){return 0},gap:o},s)};s("none",{collide:be,roughCollide:be,draw:we,spacing:xe,gap:xe}),s("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),s("arrow","triangle"),s("triangle-backcurve",{points:e.triangle.points,controlPoint:[0,-.15],roughCollide:n,draw:function(e,n,a,o,s){var l=i(this.points,n,a,o),u=this.controlPoint,c=r(u[0],u[1],n,a,o);t.arrowShapeImpl(this.name)(e,l,c)},gap:function(e){return.8*o(e)}}),s("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(e,t,n,r,o,s,l){var u=a(i(this.points,n+2*l,r,o)),c=a(i(this.pointsTee,n+2*l,r,o));return St(e,t,u)||St(e,t,c)},draw:function(e,n,r,a,o){var s=i(this.points,n,r,a),l=i(this.pointsTee,n,r,a);t.arrowShapeImpl(this.name)(e,s,l)}}),s("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:function(e,t,n,r,o,s,l){var u=o,c=Math.pow(u.x-e,2)+Math.pow(u.y-t,2)<=Math.pow((n+2*l)*this.radius,2),d=a(i(this.points,n+2*l,r,o));return St(e,t,d)||c},draw:function(e,n,r,a,o){var s=i(this.pointsTr,n,r,a);t.arrowShapeImpl(this.name)(e,s,a.x,a.y,this.radius*n)},spacing:function(e){return t.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.radius}}),s("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(e,t){var n=this.baseCrossLinePts.slice(),r=t/e;return n[3]=n[3]-r,n[5]=n[5]-r,n},collide:function(e,t,n,r,o,s,l){var u=a(i(this.points,n+2*l,r,o)),c=a(i(this.crossLinePts(n,s),n+2*l,r,o));return St(e,t,u)||St(e,t,c)},draw:function(e,n,r,a,o){var s=i(this.points,n,r,a),l=i(this.crossLinePts(n,o),n,r,a);t.arrowShapeImpl(this.name)(e,s,l)}}),s("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(e){return.525*o(e)}}),s("circle",{radius:.15,collide:function(e,t,n,r,i,a,o){var s=i;return Math.pow(s.x-e,2)+Math.pow(s.y-t,2)<=Math.pow((n+2*o)*this.radius,2)},draw:function(e,n,r,i,a){t.arrowShapeImpl(this.name)(e,i.x,i.y,this.radius*n)},spacing:function(e){return t.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.radius}}),s("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(e){return 1},gap:function(e){return 1}}),s("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),s("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(e){return e.pstyle("width").pfValue*e.pstyle("arrow-scale").value}}),s("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:function(e){return.95*e.pstyle("width").pfValue*e.pstyle("arrow-scale").value}})}},qo={projectIntoViewport:function(e,t){var n=this.cy,r=this.findContainerClientCoords(),i=r[0],a=r[1],o=r[4],s=n.pan(),l=n.zoom();return[((e-i)/o-s.x)/l,((t-a)/o-s.y)/l]},findContainerClientCoords:function(){if(this.containerBB)return this.containerBB;var e=this.container,t=e.getBoundingClientRect(),n=o.getComputedStyle(e),r=function(e){return parseFloat(n.getPropertyValue(e))},i=r("padding-left"),a=r("padding-right"),s=r("padding-top"),l=r("padding-bottom"),u=r("border-left-width"),c=r("border-right-width"),d=r("border-top-width"),h=(r("border-bottom-width"),e.clientWidth),p=e.clientHeight,f=i+a,g=s+l,v=u+c,y=t.width/(h+v),m=h-f,b=p-g,x=t.left+i+u,w=t.top+s+d;return this.containerBB=[x,w,m,b,y]},invalidateContainerClientCoordsCache:function(){this.containerBB=null},findNearestElement:function(e,t,n,r){return this.findNearestElements(e,t,n,r)[0]},findNearestElements:function(e,t,n,r){var i,a,o=this,s=this,l=s.getCachedZSortedEles(),u=[],c=s.cy.zoom(),d=s.cy.hasCompoundNodes(),h=(r?24:8)/c,p=(r?8:2)/c,f=(r?8:2)/c,g=1/0;function v(e,t){if(e.isNode()){if(a)return;a=e,u.push(e)}if(e.isEdge()&&(null==t||t<g))if(i){if(i.pstyle("z-compound-depth").value===e.pstyle("z-compound-depth").value&&i.pstyle("z-compound-depth").value===e.pstyle("z-compound-depth").value)for(var n=0;n<u.length;n++)if(u[n].isEdge()){u[n]=e,i=e,g=null!=t?t:g;break}}else u.push(e),i=e,g=null!=t?t:g}function y(n){var r=n.outerWidth()+2*p,i=n.outerHeight()+2*p,a=r/2,l=i/2,u=n.position();if(u.x-a<=e&&e<=u.x+a&&u.y-l<=t&&t<=u.y+l&&s.nodeShapes[o.getNodeShape(n)].checkPoint(e,t,0,r,i,u.x,u.y))return v(n,0),!0}function m(n){var r,i=n._private,a=i.rscratch,l=n.pstyle("width").pfValue,c=n.pstyle("arrow-scale").value,p=l/2+h,f=p*p,g=2*p,m=i.source,b=i.target;if("segments"===a.edgeType||"straight"===a.edgeType||"haystack"===a.edgeType){for(var x=a.allpts,w=0;w+3<x.length;w+=2)if(wt(e,t,x[w],x[w+1],x[w+2],x[w+3],g)&&f>(r=Ct(e,t,x[w],x[w+1],x[w+2],x[w+3])))return v(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(x=a.allpts,w=0;w+5<a.allpts.length;w+=4)if(Et(e,t,x[w],x[w+1],x[w+2],x[w+3],x[w+4],x[w+5],g)&&f>(r=kt(e,t,x[w],x[w+1],x[w+2],x[w+3],x[w+4],x[w+5])))return v(n,r),!0;m=m||i.source,b=b||i.target;var E=o.getArrowWidth(l,c),k=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(w=0;w<k.length;w++){var C=k[w],S=s.arrowShapes[n.pstyle(C.name+"-arrow-shape").value],P=n.pstyle("width").pfValue;if(S.roughCollide(e,t,E,C.angle,{x:C.x,y:C.y},P,h)&&S.collide(e,t,E,C.angle,{x:C.x,y:C.y},P,h))return v(n),!0}d&&u.length>0&&(y(m),y(b))}function b(e,t,n){return Ne(e,t,n)}function x(n,r){var i,a=n._private,o=f;i=r?r+"-":"",n.boundingBox();var s=a.labelBounds[r||"main"],l=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&l){var u=b(a.rscratch,"labelX",r),c=b(a.rscratch,"labelY",r),d=b(a.rscratch,"labelAngle",r),h=n.pstyle(i+"text-margin-x").pfValue,p=n.pstyle(i+"text-margin-y").pfValue,g=s.x1-o-h,y=s.x2+o-h,m=s.y1-o-p,x=s.y2+o-p;if(d){var w=Math.cos(d),E=Math.sin(d),k=function(e,t){return{x:(e-=u)*w-(t-=c)*E+u,y:e*E+t*w+c}},C=k(g,m),S=k(g,x),P=k(y,m),D=k(y,x),T=[C.x+h,C.y+p,P.x+h,P.y+p,D.x+h,D.y+p,S.x+h,S.y+p];if(St(e,t,T))return v(n),!0}else if(mt(s,e,t))return v(n),!0}}n&&(l=l.interactive);for(var w=l.length-1;w>=0;w--){var E=l[w];E.isNode()?y(E)||x(E):m(E)||x(E)||x(E,"source")||x(E,"target")}return u},getAllInBox:function(e,t,n,r){for(var i,a,o=this.getCachedZSortedEles().interactive,s=[],l=Math.min(e,n),u=Math.max(e,n),c=Math.min(t,r),d=Math.max(t,r),h=ht({x1:e=l,y1:t=c,x2:n=u,y2:r=d}),p=0;p<o.length;p++){var f=o[p];if(f.isNode()){var g=f,v=g.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:!1});yt(h,v)&&!bt(v,h)&&s.push(g)}else{var y=f,m=y._private,b=m.rscratch;if(null!=b.startX&&null!=b.startY&&!mt(h,b.startX,b.startY))continue;if(null!=b.endX&&null!=b.endY&&!mt(h,b.endX,b.endY))continue;if("bezier"===b.edgeType||"multibezier"===b.edgeType||"self"===b.edgeType||"compound"===b.edgeType||"segments"===b.edgeType||"haystack"===b.edgeType){for(var x=m.rstyle.bezierPts||m.rstyle.linePts||m.rstyle.haystackPts,w=!0,E=0;E<x.length;E++)if(i=h,a=x[E],!mt(i,a.x,a.y)){w=!1;break}w&&s.push(y)}else"haystack"!==b.edgeType&&"straight"!==b.edgeType||s.push(y)}}return s}},jo={calculateArrowAngles:function(e){var t,n,r,i,a,o,s=e._private.rscratch,l="haystack"===s.edgeType,u="bezier"===s.edgeType,c="multibezier"===s.edgeType,d="segments"===s.edgeType,h="compound"===s.edgeType,p="self"===s.edgeType;if(l?(r=s.haystackPts[0],i=s.haystackPts[1],a=s.haystackPts[2],o=s.haystackPts[3]):(r=s.arrowStartX,i=s.arrowStartY,a=s.arrowEndX,o=s.arrowEndY),g=s.midX,v=s.midY,d)t=r-s.segpts[0],n=i-s.segpts[1];else if(c||h||p||u){var f=s.allpts;t=r-ut(f[0],f[2],f[4],.1),n=i-ut(f[1],f[3],f[5],.1)}else t=r-g,n=i-v;s.srcArrowAngle=rt(t,n);var g=s.midX,v=s.midY;if(l&&(g=(r+a)/2,v=(i+o)/2),t=a-r,n=o-i,d)if((f=s.allpts).length/2%2==0){var y=(m=f.length/2)-2;t=f[m]-f[y],n=f[m+1]-f[y+1]}else{y=(m=f.length/2-1)-2;var m,b=m+2;t=f[m]-f[y],n=f[m+1]-f[y+1]}else if(c||h||p){var x,w,E,k,f=s.allpts;if(s.ctrlpts.length/2%2==0){var C=(S=(P=f.length/2-1)+2)+2;x=ut(f[P],f[S],f[C],0),w=ut(f[P+1],f[S+1],f[C+1],0),E=ut(f[P],f[S],f[C],1e-4),k=ut(f[P+1],f[S+1],f[C+1],1e-4)}else{var S,P;C=(S=f.length/2-1)+2;x=ut(f[P=S-2],f[S],f[C],.4999),w=ut(f[P+1],f[S+1],f[C+1],.4999),E=ut(f[P],f[S],f[C],.5),k=ut(f[P+1],f[S+1],f[C+1],.5)}t=E-x,n=k-w}(s.midtgtArrowAngle=rt(t,n),s.midDispX=t,s.midDispY=n,t*=-1,n*=-1,d)&&((f=s.allpts).length/2%2==0||(t=-(f[b=(m=f.length/2-1)+2]-f[m]),n=-(f[b+1]-f[m+1])));if(s.midsrcArrowAngle=rt(t,n),d)t=a-s.segpts[s.segpts.length-2],n=o-s.segpts[s.segpts.length-1];else if(c||h||p||u){var D=(f=s.allpts).length;t=a-ut(f[D-6],f[D-4],f[D-2],.9),n=o-ut(f[D-5],f[D-3],f[D-1],.9)}else t=a-g,n=o-v;s.tgtArrowAngle=rt(t,n)}};jo.getArrowWidth=jo.getArrowHeight=function(e,t){var n=this.arrowWidthCache=this.arrowWidthCache||{},r=n[e+", "+t];return r||(r=Math.max(Math.pow(13.37*e,.9),29)*t,n[e+", "+t]=r,r)};var Yo={};function Xo(e){var t=[];if(null!=e){for(var n=0;n<e.length;n+=2){var r=e[n],i=e[n+1];t.push({x:r,y:i})}return t}}Yo.findHaystackPoints=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=n._private,i=r.rscratch;if(!i.haystack){var a=2*Math.random()*Math.PI;i.source={x:Math.cos(a),y:Math.sin(a)},a=2*Math.random()*Math.PI,i.target={x:Math.cos(a),y:Math.sin(a)}}var o=r.source,s=r.target,l=o.position(),u=s.position(),c=o.width(),d=s.width(),h=o.height(),p=s.height(),f=n.pstyle("haystack-radius").value/2;i.haystackPts=i.allpts=[i.source.x*c*f+l.x,i.source.y*h*f+l.y,i.target.x*d*f+u.x,i.target.y*p*f+u.y],i.midX=(i.allpts[0]+i.allpts[2])/2,i.midY=(i.allpts[1]+i.allpts[3])/2,i.edgeType="haystack",i.haystack=!0,this.storeEdgeProjections(n),this.calculateArrowAngles(n),this.recalculateEdgeLabelProjections(n),this.calculateLabelAngles(n)}},Yo.findSegmentsPoints=function(e,t){var n=e._private.rscratch,r=t.posPts,i=t.intersectionPts,a=t.vectorNormInverse,o=e.pstyle("edge-distances").value,s=e.pstyle("segment-weights"),l=e.pstyle("segment-distances"),u=Math.min(s.pfValue.length,l.pfValue.length);n.edgeType="segments",n.segpts=[];for(var c=0;c<u;c++){var d=s.pfValue[c],h=l.pfValue[c],p=1-d,f=d,g="node-position"===o?r:i,v={x:g.x1*p+g.x2*f,y:g.y1*p+g.y2*f};n.segpts.push(v.x+a.x*h,v.y+a.y*h)}},Yo.findLoopPoints=function(e,t,n,r){var i=e._private.rscratch,a=t.dirCounts,o=t.srcPos,s=e.pstyle("control-point-distances"),l=s?s.pfValue[0]:void 0,u=e.pstyle("loop-direction").pfValue,c=e.pstyle("loop-sweep").pfValue,d=e.pstyle("control-point-step-size").pfValue;i.edgeType="self";var h=n,p=d;r&&(h=0,p=l);var f=u-Math.PI/2,g=f-c/2,v=f+c/2,y=String(u+"_"+c);h=void 0===a[y]?a[y]=0:++a[y],i.ctrlpts=[o.x+1.4*Math.cos(g)*p*(h/3+1),o.y+1.4*Math.sin(g)*p*(h/3+1),o.x+1.4*Math.cos(v)*p*(h/3+1),o.y+1.4*Math.sin(v)*p*(h/3+1)]},Yo.findCompoundLoopPoints=function(e,t,n,r){var i=e._private.rscratch;i.edgeType="compound";var a=t.srcPos,o=t.tgtPos,s=t.srcW,l=t.srcH,u=t.tgtW,c=t.tgtH,d=e.pstyle("control-point-step-size").pfValue,h=e.pstyle("control-point-distances"),p=h?h.pfValue[0]:void 0,f=n,g=d;r&&(f=0,g=p);var v={x:a.x-s/2,y:a.y-l/2},y={x:o.x-u/2,y:o.y-c/2},m={x:Math.min(v.x,y.x),y:Math.min(v.y,y.y)},b=Math.max(.5,Math.log(.01*s)),x=Math.max(.5,Math.log(.01*u));i.ctrlpts=[m.x,m.y-(1+Math.pow(50,1.12)/100)*g*(f/3+1)*b,m.x-(1+Math.pow(50,1.12)/100)*g*(f/3+1)*x,m.y]},Yo.findStraightEdgePoints=function(e){e._private.rscratch.edgeType="straight"},Yo.findBezierPoints=function(e,t,n,r,i){var a=e._private.rscratch,o=t.vectorNormInverse,s=t.posPts,l=t.intersectionPts,u=e.pstyle("edge-distances").value,c=e.pstyle("control-point-step-size").pfValue,d=e.pstyle("control-point-distances"),h=e.pstyle("control-point-weights"),p=d&&h?Math.min(d.value.length,h.value.length):1,f=d?d.pfValue[0]:void 0,g=h.value[0],v=r;a.edgeType=v?"multibezier":"bezier",a.ctrlpts=[];for(var y=0;y<p;y++){var m=(.5-t.eles.length/2+n)*c*(i?-1:1),b=void 0,x=at(m);v&&(f=d?d.pfValue[y]:c,g=h.value[y]);var w=void 0!==(b=r?f:void 0!==f?x*f:void 0)?b:m,E=1-g,k=g,C="node-position"===u?s:l,S={x:C.x1*E+C.x2*k,y:C.y1*E+C.y2*k};a.ctrlpts.push(S.x+o.x*w,S.y+o.y*w)}},Yo.findTaxiPoints=function(e,t){var n=e._private.rscratch;n.edgeType="segments";var r=t.posPts,i=t.srcW,a=t.srcH,o=t.tgtW,s=t.tgtH,l="node-position"!==e.pstyle("edge-distances").value,u=e.pstyle("taxi-direction").value,c=u,d=e.pstyle("taxi-turn"),h="%"===d.units,p=d.pfValue,f=p<0,g=e.pstyle("taxi-turn-min-distance").pfValue,v=l?(i+o)/2:0,y=l?(a+s)/2:0,m=r.x2-r.x1,b=r.y2-r.y1,x=function(e,t){return e>0?Math.max(e-t,0):Math.min(e+t,0)},w=x(m,v),E=x(b,y),k=!1;"auto"===c?u=Math.abs(w)>Math.abs(E)?"horizontal":"vertical":"upward"===c||"downward"===c?(u="vertical",k=!0):"leftward"!==c&&"rightward"!==c||(u="horizontal",k=!0);var C,S="vertical"===u,P=S?E:w,D=S?b:m,T=at(D),M=!1;(k&&(h||f)||!("downward"===c&&D<0||"upward"===c&&D>0||"leftward"===c&&D>0||"rightward"===c&&D<0)||(P=(T*=-1)*Math.abs(P),M=!0),h)?C=(p<0?1+p:p)*P:C=(p<0?P:0)+p*T;var B=function(e){return Math.abs(e)<g||Math.abs(e)>=Math.abs(P)},_=B(C),N=B(Math.abs(P)-Math.abs(C));if((_||N)&&!M)if(S){var I=Math.abs(D)<=a/2,z=Math.abs(m)<=o/2;if(I){var L=(r.x1+r.x2)/2,A=r.y1,O=r.y2;n.segpts=[L,A,L,O]}else if(z){var R=(r.y1+r.y2)/2,V=r.x1,F=r.x2;n.segpts=[V,R,F,R]}else n.segpts=[r.x1,r.y2]}else{var q=Math.abs(D)<=i/2,j=Math.abs(b)<=s/2;if(q){var Y=(r.y1+r.y2)/2,X=r.x1,W=r.x2;n.segpts=[X,Y,W,Y]}else if(j){var H=(r.x1+r.x2)/2,K=r.y1,G=r.y2;n.segpts=[H,K,H,G]}else n.segpts=[r.x2,r.y1]}else if(S){var Z=r.y1+C+(l?a/2*T:0),U=r.x1,$=r.x2;n.segpts=[U,Z,$,Z]}else{var Q=r.x1+C+(l?i/2*T:0),J=r.y1,ee=r.y2;n.segpts=[Q,J,Q,ee]}},Yo.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if("bezier"===n.edgeType){var r=t.srcPos,i=t.tgtPos,a=t.srcW,o=t.srcH,s=t.tgtW,l=t.tgtH,u=t.srcShape,c=t.tgtShape,d=!y(n.startX)||!y(n.startY),h=!y(n.arrowStartX)||!y(n.arrowStartY),p=!y(n.endX)||!y(n.endY),f=!y(n.arrowEndX)||!y(n.arrowEndY),g=3*(this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth),v=ot({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),m=v<g,b=ot({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.endX,y:n.endY}),x=b<g,w=!1;if(d||h||m){w=!0;var E={x:n.ctrlpts[0]-r.x,y:n.ctrlpts[1]-r.y},k=Math.sqrt(E.x*E.x+E.y*E.y),C={x:E.x/k,y:E.y/k},S=Math.max(a,o),P={x:n.ctrlpts[0]+2*C.x*S,y:n.ctrlpts[1]+2*C.y*S},D=u.intersectLine(r.x,r.y,a,o,P.x,P.y,0);m?(n.ctrlpts[0]=n.ctrlpts[0]+C.x*(g-v),n.ctrlpts[1]=n.ctrlpts[1]+C.y*(g-v)):(n.ctrlpts[0]=D[0]+C.x*g,n.ctrlpts[1]=D[1]+C.y*g)}if(p||f||x){w=!0;var T={x:n.ctrlpts[0]-i.x,y:n.ctrlpts[1]-i.y},M=Math.sqrt(T.x*T.x+T.y*T.y),B={x:T.x/M,y:T.y/M},_=Math.max(a,o),N={x:n.ctrlpts[0]+2*B.x*_,y:n.ctrlpts[1]+2*B.y*_},I=c.intersectLine(i.x,i.y,s,l,N.x,N.y,0);x?(n.ctrlpts[0]=n.ctrlpts[0]+B.x*(g-b),n.ctrlpts[1]=n.ctrlpts[1]+B.y*(g-b)):(n.ctrlpts[0]=I[0]+B.x*g,n.ctrlpts[1]=I[1]+B.y*g)}w&&this.findEndpoints(e)}},Yo.storeAllpts=function(e){var t=e._private.rscratch;if("multibezier"===t.edgeType||"bezier"===t.edgeType||"self"===t.edgeType||"compound"===t.edgeType){t.allpts=[],t.allpts.push(t.startX,t.startY);for(var n=0;n+1<t.ctrlpts.length;n+=2)t.allpts.push(t.ctrlpts[n],t.ctrlpts[n+1]),n+3<t.ctrlpts.length&&t.allpts.push((t.ctrlpts[n]+t.ctrlpts[n+2])/2,(t.ctrlpts[n+1]+t.ctrlpts[n+3])/2);var r;t.allpts.push(t.endX,t.endY),t.ctrlpts.length/2%2==0?(r=t.allpts.length/2-1,t.midX=t.allpts[r],t.midY=t.allpts[r+1]):(r=t.allpts.length/2-3,.5,t.midX=ut(t.allpts[r],t.allpts[r+2],t.allpts[r+4],.5),t.midY=ut(t.allpts[r+1],t.allpts[r+3],t.allpts[r+5],.5))}else if("straight"===t.edgeType)t.allpts=[t.startX,t.startY,t.endX,t.endY],t.midX=(t.startX+t.endX+t.arrowStartX+t.arrowEndX)/4,t.midY=(t.startY+t.endY+t.arrowStartY+t.arrowEndY)/4;else if("segments"===t.edgeType)if(t.allpts=[],t.allpts.push(t.startX,t.startY),t.allpts.push.apply(t.allpts,t.segpts),t.allpts.push(t.endX,t.endY),t.segpts.length%4==0){var i=t.segpts.length/2,a=i-2;t.midX=(t.segpts[a]+t.segpts[i])/2,t.midY=(t.segpts[a+1]+t.segpts[i+1])/2}else{var o=t.segpts.length/2-1;t.midX=t.segpts[o],t.midY=t.segpts[o+1]}},Yo.checkForInvalidEdgeWarning=function(e){var t=e[0]._private.rscratch;t.nodesOverlap||y(t.startX)&&y(t.startY)&&y(t.endX)&&y(t.endY)?t.loggedErr=!1:t.loggedErr||(t.loggedErr=!0,Ce("Edge `"+e.id()+"` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap."))},Yo.findEdgeControlPoints=function(e){var t=this;if(e&&0!==e.length){for(var n=this,r=n.cy.hasCompoundNodes(),i={map:new ze,get:function(e){var t=this.map.get(e[0]);return null!=t?t.get(e[1]):null},set:function(e,t){var n=this.map.get(e[0]);null==n&&(n=new ze,this.map.set(e[0],n)),n.set(e[1],t)}},a=[],o=[],s=0;s<e.length;s++){var l=e[s],u=l._private,c=l.pstyle("curve-style").value;if(!l.removed()&&l.takesUpSpace())if("haystack"!==c){var d="unbundled-bezier"===c||"segments"===c||"straight"===c||"taxi"===c,h="unbundled-bezier"===c||"bezier"===c,p=u.source,f=u.target,g=[p.poolIndex(),f.poolIndex()].sort(),v=i.get(g);null==v&&(v={eles:[]},i.set(g,v),a.push(g)),v.eles.push(l),d&&(v.hasUnbundled=!0),h&&(v.hasBezier=!0)}else o.push(l)}for(var m=function(e){var o=a[e],s=i.get(o),l=void 0;if(!s.hasUnbundled){var u=s.eles[0].parallelEdges().filter((function(e){return e.isBundledBezier()}));_e(s.eles),u.forEach((function(e){return s.eles.push(e)})),s.eles.sort((function(e,t){return e.poolIndex()-t.poolIndex()}))}var c=s.eles[0],d=c.source(),h=c.target();if(d.poolIndex()>h.poolIndex()){var p=d;d=h,h=p}var f=s.srcPos=d.position(),g=s.tgtPos=h.position(),v=s.srcW=d.outerWidth(),m=s.srcH=d.outerHeight(),b=s.tgtW=h.outerWidth(),x=s.tgtH=h.outerHeight(),w=s.srcShape=n.nodeShapes[t.getNodeShape(d)],E=s.tgtShape=n.nodeShapes[t.getNodeShape(h)];s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var k=0;k<s.eles.length;k++){var C=s.eles[k],S=C[0]._private.rscratch,P=C.pstyle("curve-style").value,D="unbundled-bezier"===P||"segments"===P||"taxi"===P,T=!d.same(C.source());if(!s.calculatedIntersection&&d!==h&&(s.hasBezier||s.hasUnbundled)){s.calculatedIntersection=!0;var M=w.intersectLine(f.x,f.y,v,m,g.x,g.y,0),B=s.srcIntn=M,_=E.intersectLine(g.x,g.y,b,x,f.x,f.y,0),N=s.tgtIntn=_,I=s.intersectionPts={x1:M[0],x2:_[0],y1:M[1],y2:_[1]},z=s.posPts={x1:f.x,x2:g.x,y1:f.y,y2:g.y},L=_[1]-M[1],A=_[0]-M[0],O=Math.sqrt(A*A+L*L),R=s.vector={x:A,y:L},V=s.vectorNorm={x:R.x/O,y:R.y/O},F={x:-V.y,y:V.x};s.nodesOverlap=!y(O)||E.checkPoint(M[0],M[1],0,b,x,g.x,g.y)||w.checkPoint(_[0],_[1],0,v,m,f.x,f.y),s.vectorNormInverse=F,l={nodesOverlap:s.nodesOverlap,dirCounts:s.dirCounts,calculatedIntersection:!0,hasBezier:s.hasBezier,hasUnbundled:s.hasUnbundled,eles:s.eles,srcPos:g,tgtPos:f,srcW:b,srcH:x,tgtW:v,tgtH:m,srcIntn:N,tgtIntn:B,srcShape:E,tgtShape:w,posPts:{x1:z.x2,y1:z.y2,x2:z.x1,y2:z.y1},intersectionPts:{x1:I.x2,y1:I.y2,x2:I.x1,y2:I.y1},vector:{x:-R.x,y:-R.y},vectorNorm:{x:-V.x,y:-V.y},vectorNormInverse:{x:-F.x,y:-F.y}}}var q=T?l:s;S.nodesOverlap=q.nodesOverlap,S.srcIntn=q.srcIntn,S.tgtIntn=q.tgtIntn,r&&(d.isParent()||d.isChild()||h.isParent()||h.isChild())&&(d.parents().anySame(h)||h.parents().anySame(d)||d.same(h)&&d.isParent())?t.findCompoundLoopPoints(C,q,k,D):d===h?t.findLoopPoints(C,q,k,D):"segments"===P?t.findSegmentsPoints(C,q):"taxi"===P?t.findTaxiPoints(C,q):"straight"===P||!D&&s.eles.length%2==1&&k===Math.floor(s.eles.length/2)?t.findStraightEdgePoints(C):t.findBezierPoints(C,q,k,D,T),t.findEndpoints(C),t.tryToCorrectInvalidPoints(C,q),t.checkForInvalidEdgeWarning(C),t.storeAllpts(C),t.storeEdgeProjections(C),t.calculateArrowAngles(C),t.recalculateEdgeLabelProjections(C),t.calculateLabelAngles(C)}},b=0;b<a.length;b++)m(b);this.findHaystackPoints(o)}},Yo.getSegmentPoints=function(e){var t=e[0]._private.rscratch;if("segments"===t.edgeType)return this.recalculateRenderedStyle(e),Xo(t.segpts)},Yo.getControlPoints=function(e){var t=e[0]._private.rscratch,n=t.edgeType;if("bezier"===n||"multibezier"===n||"self"===n||"compound"===n)return this.recalculateRenderedStyle(e),Xo(t.ctrlpts)},Yo.getEdgeMidpoint=function(e){var t=e[0]._private.rscratch;return this.recalculateRenderedStyle(e),{x:t.midX,y:t.midY}};var Wo={manualEndptToPx:function(e,t){var n=e.position(),r=e.outerWidth(),i=e.outerHeight();if(2===t.value.length){var a=[t.pfValue[0],t.pfValue[1]];return"%"===t.units[0]&&(a[0]=a[0]*r),"%"===t.units[1]&&(a[1]=a[1]*i),a[0]+=n.x,a[1]+=n.y,a}var o=t.pfValue[0];o=-Math.PI/2+o;var s=2*Math.max(r,i),l=[n.x+Math.cos(o)*s,n.y+Math.sin(o)*s];return this.nodeShapes[this.getNodeShape(e)].intersectLine(n.x,n.y,r,i,l[0],l[1],0)},findEndpoints:function(e){var t,n,r,i,a,o=this,s=e.source()[0],l=e.target()[0],u=s.position(),c=l.position(),d=e.pstyle("target-arrow-shape").value,h=e.pstyle("source-arrow-shape").value,p=e.pstyle("target-distance-from-node").pfValue,f=e.pstyle("source-distance-from-node").pfValue,g=e.pstyle("curve-style").value,v=e._private.rscratch,m=v.edgeType,b="self"===m||"compound"===m,x="bezier"===m||"multibezier"===m||b,w="bezier"!==m,E="straight"===m||"segments"===m,k="segments"===m,C=x||w||E,S=b||"taxi"===g,P=e.pstyle("source-endpoint"),D=S?"outside-to-node":P.value,T=e.pstyle("target-endpoint"),M=S?"outside-to-node":T.value;if(v.srcManEndpt=P,v.tgtManEndpt=T,x){var B=[v.ctrlpts[0],v.ctrlpts[1]];n=w?[v.ctrlpts[v.ctrlpts.length-2],v.ctrlpts[v.ctrlpts.length-1]]:B,r=B}else if(E){var _=k?v.segpts.slice(0,2):[c.x,c.y];n=k?v.segpts.slice(v.segpts.length-2):[u.x,u.y],r=_}if("inside-to-node"===M)t=[c.x,c.y];else if(T.units)t=this.manualEndptToPx(l,T);else if("outside-to-line"===M)t=v.tgtIntn;else if("outside-to-node"===M||"outside-to-node-or-label"===M?i=n:"outside-to-line"!==M&&"outside-to-line-or-label"!==M||(i=[u.x,u.y]),t=o.nodeShapes[this.getNodeShape(l)].intersectLine(c.x,c.y,l.outerWidth(),l.outerHeight(),i[0],i[1],0),"outside-to-node-or-label"===M||"outside-to-line-or-label"===M){var N=l._private.rscratch,I=N.labelWidth,z=N.labelHeight,L=N.labelX,A=N.labelY,O=I/2,R=z/2,V=l.pstyle("text-valign").value;"top"===V?A-=R:"bottom"===V&&(A+=R);var F=l.pstyle("text-halign").value;"left"===F?L-=O:"right"===F&&(L+=O);var q=It(i[0],i[1],[L-O,A-R,L+O,A-R,L+O,A+R,L-O,A+R],c.x,c.y);if(q.length>0){var j=u,Y=st(j,nt(t)),X=st(j,nt(q)),W=Y;if(X<Y&&(t=q,W=X),q.length>2)st(j,{x:q[2],y:q[3]})<W&&(t=[q[2],q[3]])}}var H=zt(t,n,o.arrowShapes[d].spacing(e)+p),K=zt(t,n,o.arrowShapes[d].gap(e)+p);if(v.endX=K[0],v.endY=K[1],v.arrowEndX=H[0],v.arrowEndY=H[1],"inside-to-node"===D)t=[u.x,u.y];else if(P.units)t=this.manualEndptToPx(s,P);else if("outside-to-line"===D)t=v.srcIntn;else if("outside-to-node"===D||"outside-to-node-or-label"===D?a=r:"outside-to-line"!==D&&"outside-to-line-or-label"!==D||(a=[c.x,c.y]),t=o.nodeShapes[this.getNodeShape(s)].intersectLine(u.x,u.y,s.outerWidth(),s.outerHeight(),a[0],a[1],0),"outside-to-node-or-label"===D||"outside-to-line-or-label"===D){var G=s._private.rscratch,Z=G.labelWidth,U=G.labelHeight,$=G.labelX,Q=G.labelY,J=Z/2,ee=U/2,te=s.pstyle("text-valign").value;"top"===te?Q-=ee:"bottom"===te&&(Q+=ee);var ne=s.pstyle("text-halign").value;"left"===ne?$-=J:"right"===ne&&($+=J);var re=It(a[0],a[1],[$-J,Q-ee,$+J,Q-ee,$+J,Q+ee,$-J,Q+ee],u.x,u.y);if(re.length>0){var ie=c,ae=st(ie,nt(t)),oe=st(ie,nt(re)),se=ae;if(oe<ae&&(t=[re[0],re[1]],se=oe),re.length>2)st(ie,{x:re[2],y:re[3]})<se&&(t=[re[2],re[3]])}}var le=zt(t,r,o.arrowShapes[h].spacing(e)+f),ue=zt(t,r,o.arrowShapes[h].gap(e)+f);v.startX=ue[0],v.startY=ue[1],v.arrowStartX=le[0],v.arrowStartY=le[1],C&&(y(v.startX)&&y(v.startY)&&y(v.endX)&&y(v.endY)?v.badLine=!1:v.badLine=!0)},getSourceEndpoint:function(e){var t=e[0]._private.rscratch;switch(this.recalculateRenderedStyle(e),t.edgeType){case"haystack":return{x:t.haystackPts[0],y:t.haystackPts[1]};default:return{x:t.arrowStartX,y:t.arrowStartY}}},getTargetEndpoint:function(e){var t=e[0]._private.rscratch;switch(this.recalculateRenderedStyle(e),t.edgeType){case"haystack":return{x:t.haystackPts[2],y:t.haystackPts[3]};default:return{x:t.arrowEndX,y:t.arrowEndY}}}},Ho={};function Ko(e,t,n){for(var r=function(e,t,n,r){return ut(e,t,n,r)},i=t._private.rstyle.bezierPts,a=0;a<e.bezierProjPcts.length;a++){var o=e.bezierProjPcts[a];i.push({x:r(n[0],n[2],n[4],o),y:r(n[1],n[3],n[5],o)})}}Ho.storeEdgeProjections=function(e){var t=e._private,n=t.rscratch,r=n.edgeType;if(t.rstyle.bezierPts=null,t.rstyle.linePts=null,t.rstyle.haystackPts=null,"multibezier"===r||"bezier"===r||"self"===r||"compound"===r){t.rstyle.bezierPts=[];for(var i=0;i+5<n.allpts.length;i+=4)Ko(this,e,n.allpts.slice(i,i+6))}else if("segments"===r){var a=t.rstyle.linePts=[];for(i=0;i+1<n.allpts.length;i+=2)a.push({x:n.allpts[i],y:n.allpts[i+1]})}else if("haystack"===r){var o=n.haystackPts;t.rstyle.haystackPts=[{x:o[0],y:o[1]},{x:o[2],y:o[3]}]}t.rstyle.arrowWidth=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth},Ho.recalculateEdgeProjections=function(e){this.findEdgeControlPoints(e)};var Go={recalculateNodeLabelProjection:function(e){var t=e.pstyle("label").strValue;if(!C(t)){var n,r,i=e._private,a=e.width(),o=e.height(),s=e.padding(),l=e.position(),u=e.pstyle("text-halign").strValue,c=e.pstyle("text-valign").strValue,d=i.rscratch,h=i.rstyle;switch(u){case"left":n=l.x-a/2-s;break;case"right":n=l.x+a/2+s;break;default:n=l.x}switch(c){case"top":r=l.y-o/2-s;break;case"bottom":r=l.y+o/2+s;break;default:r=l.y}d.labelX=n,d.labelY=r,h.labelX=n,h.labelY=r,this.calculateLabelAngles(e),this.applyLabelDimensions(e)}}},Zo=function(e,t){var n=Math.atan(t/e);return 0===e&&n<0&&(n*=-1),n},Uo=function(e,t){var n=t.x-e.x,r=t.y-e.y;return Zo(n,r)};Go.recalculateEdgeLabelProjections=function(e){var t,n=e._private,r=n.rscratch,i=this,a={mid:e.pstyle("label").strValue,source:e.pstyle("source-label").strValue,target:e.pstyle("target-label").strValue};if(a.mid||a.source||a.target){t={x:r.midX,y:r.midY};var o=function(e,t,r){Ie(n.rscratch,e,t,r),Ie(n.rstyle,e,t,r)};o("labelX",null,t.x),o("labelY",null,t.y);var s=Zo(r.midDispX,r.midDispY);o("labelAutoAngle",null,s);var l=function(s){var l,u="source"===s;if(a[s]){var c=e.pstyle(s+"-text-offset").pfValue;switch(r.edgeType){case"self":case"compound":case"bezier":case"multibezier":for(var d,h=function e(){if(e.cache)return e.cache;for(var t=[],a=0;a+5<r.allpts.length;a+=4){var o={x:r.allpts[a],y:r.allpts[a+1]},s={x:r.allpts[a+2],y:r.allpts[a+3]},l={x:r.allpts[a+4],y:r.allpts[a+5]};t.push({p0:o,p1:s,p2:l,startDist:0,length:0,segments:[]})}var u=n.rstyle.bezierPts,c=i.bezierProjPcts.length;function d(e,t,n,r,i){var a=ot(t,n),o=e.segments[e.segments.length-1],s={p0:t,p1:n,t0:r,t1:i,startDist:o?o.startDist+o.length:0,length:a};e.segments.push(s),e.length+=a}for(var h=0;h<t.length;h++){var p=t[h],f=t[h-1];f&&(p.startDist=f.startDist+f.length),d(p,p.p0,u[h*c],0,i.bezierProjPcts[0]);for(var g=0;g<c-1;g++)d(p,u[h*c+g],u[h*c+g+1],i.bezierProjPcts[g],i.bezierProjPcts[g+1]);d(p,u[h*c+c-1],p.p2,i.bezierProjPcts[c-1],1)}return e.cache=t}(),p=0,f=0,g=0;g<h.length;g++){for(var v=h[u?g:h.length-1-g],y=0;y<v.segments.length;y++){var m=v.segments[u?y:v.segments.length-1-y],b=g===h.length-1&&y===v.segments.length-1;if(p=f,(f+=m.length)>=c||b){d={cp:v,segment:m};break}}if(d)break}var x=d.cp,w=d.segment,E=(c-p)/w.length,k=w.t1-w.t0,C=u?w.t0+k*E:w.t1-k*E;C=dt(0,C,1),t=ct(x.p0,x.p1,x.p2,C),l=function(e,t,n,r){var i=dt(0,r-.001,1),a=dt(0,r+.001,1),o=ct(e,t,n,i),s=ct(e,t,n,a);return Uo(o,s)}(x.p0,x.p1,x.p2,C);break;case"straight":case"segments":case"haystack":for(var S,P,D,T,M=0,B=r.allpts.length,_=0;_+3<B&&(u?(D={x:r.allpts[_],y:r.allpts[_+1]},T={x:r.allpts[_+2],y:r.allpts[_+3]}):(D={x:r.allpts[B-2-_],y:r.allpts[B-1-_]},T={x:r.allpts[B-4-_],y:r.allpts[B-3-_]}),P=M,!((M+=S=ot(D,T))>=c));_+=2);var N=(c-P)/S;N=dt(0,N,1),t=function(e,t,n,r){var i=t.x-e.x,a=t.y-e.y,o=ot(e,t),s=i/o,l=a/o;return n=null==n?0:n,r=null!=r?r:n*o,{x:e.x+s*r,y:e.y+l*r}}(D,T,N),l=Uo(D,T)}o("labelX",s,t.x),o("labelY",s,t.y),o("labelAutoAngle",s,l)}};l("source"),l("target"),this.applyLabelDimensions(e)}},Go.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},Go.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,r),a=e.pstyle("line-height").pfValue,o=e.pstyle("text-wrap").strValue,s=Ne(n.rscratch,"labelWrapCachedLines",t)||[],l="wrap"!==o?1:Math.max(s.length,1),u=i.height/l,c=u*a,d=i.width,h=i.height+(l-1)*(a-1)*u;Ie(n.rstyle,"labelWidth",t,d),Ie(n.rscratch,"labelWidth",t,d),Ie(n.rstyle,"labelHeight",t,h),Ie(n.rscratch,"labelHeight",t,h),Ie(n.rscratch,"labelLineHeight",t,c)},Go.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,o=function(e,r){return r?(Ie(n.rscratch,e,t,r),r):Ne(n.rscratch,e,t)};if(!i)return"";"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var s=e.pstyle("text-wrap").value;if("wrap"===s){var l=o("labelKey");if(null!=l&&o("labelWrapKey")===l)return o("labelWrapCachedText");for(var u=i.split("\n"),c=e.pstyle("text-max-width").pfValue,d="anywhere"===e.pstyle("text-overflow-wrap").value,h=[],p=/[\s\u200b]+/,f=d?"":" ",g=0;g<u.length;g++){var v=u[g],y=this.calculateLabelDimensions(e,v).width;if(d){var m=v.split("").join("​");v=m}if(y>c){for(var b=v.split(p),x="",w=0;w<b.length;w++){var E=b[w],k=0===x.length?E:x+f+E;this.calculateLabelDimensions(e,k).width<=c?x+=E+f:(x&&h.push(x),x=E+f)}x.match(/^[\s\u200b]+$/)||h.push(x)}else h.push(v)}o("labelWrapCachedLines",h),i=o("labelWrapCachedText",h.join("\n")),o("labelWrapKey",l)}else if("ellipsis"===s){var C=e.pstyle("text-max-width").pfValue,S="",P=!1;if(this.calculateLabelDimensions(e,i).width<C)return i;for(var D=0;D<i.length;D++){if(this.calculateLabelDimensions(e,S+i[D]+"…").width>C)break;S+=i[D],D===i.length-1&&(P=!0)}return P||(S+="…"),S}return i},Go.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},Go.calculateLabelDimensions=function(e,t){var n=de(t,e._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),i=r[n];if(null!=i)return i;var a=e.pstyle("font-style").strValue,o=e.pstyle("font-size").pfValue,s=e.pstyle("font-family").strValue,l=e.pstyle("font-weight").strValue,u=this.labelCalcCanvas,c=this.labelCalcCanvasContext;if(!u){u=this.labelCalcCanvas=document.createElement("canvas"),c=this.labelCalcCanvasContext=u.getContext("2d");var d=u.style;d.position="absolute",d.left="-9999px",d.top="-9999px",d.zIndex="-1",d.visibility="hidden",d.pointerEvents="none"}c.font="".concat(a," ").concat(l," ").concat(o,"px ").concat(s);for(var h=0,p=0,f=t.split("\n"),g=0;g<f.length;g++){var v=f[g],y=c.measureText(v),m=Math.ceil(y.width),b=o;h=Math.max(m,h),p+=b}return h+=0,p+=0,r[n]={width:h,height:p}},Go.calculateLabelAngle=function(e,t){var n=e._private.rscratch,r=e.isEdge(),i=t?t+"-":"",a=e.pstyle(i+"text-rotation"),o=a.strValue;return"none"===o?0:r&&"autorotate"===o?n.labelAutoAngle:"autorotate"===o?0:a.pfValue},Go.calculateLabelAngles=function(e){var t=this,n=e.isEdge(),r=e._private.rscratch;r.labelAngle=t.calculateLabelAngle(e),n&&(r.sourceLabelAngle=t.calculateLabelAngle(e,"source"),r.targetLabelAngle=t.calculateLabelAngle(e,"target"))};var $o={},Qo=!1;$o.getNodeShape=function(e){var t=e.pstyle("shape").value;if("cutrectangle"===t&&(e.width()<28||e.height()<28))return Qo||(Ce("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),Qo=!0),"rectangle";if(e.isParent())return"rectangle"===t||"roundrectangle"===t||"round-rectangle"===t||"cutrectangle"===t||"cut-rectangle"===t||"barrel"===t?t:"rectangle";if("polygon"===t){var n=e.pstyle("shape-polygon-points").value;return this.nodeShapes.makePolygon(n).name}return t};var Jo={registerCalculationListeners:function(){var e=this.cy,t=e.collection(),n=this,r=function(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(t.merge(e),n)for(var r=0;r<e.length;r++){var i=e[r],a=i._private,o=a.rstyle;o.clean=!1,o.cleanConnected=!1}};n.binder(e).on("bounds.* dirty.*",(function(e){var t=e.target;r(t)})).on("style.* background.*",(function(e){var t=e.target;r(t,!1)}));var i=function(i){if(i){var a=n.onUpdateEleCalcsFns;t.cleanStyle();for(var o=0;o<t.length;o++){var s=t[o],l=s._private.rstyle;s.isNode()&&!l.cleanConnected&&(r(s.connectedEdges()),l.cleanConnected=!0)}if(a)for(var u=0;u<a.length;u++){(0,a[u])(i,t)}n.recalculateRenderedStyle(t),t=e.collection()}};n.flushRenderedStyleQueue=function(){i(!0)},n.beforeRender(i,n.beforeRenderPriorities.eleCalcs)},onUpdateEleCalcs:function(e){(this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[]).push(e)},recalculateRenderedStyle:function(e,t){var n=function(e){return e._private.rstyle.cleanConnected},r=[],i=[];if(!this.destroyed){void 0===t&&(t=!0);for(var a=0;a<e.length;a++){var o=e[a],s=o._private,l=s.rstyle;!o.isEdge()||n(o.source())&&n(o.target())||(l.clean=!1),t&&l.clean||o.removed()||"none"!==o.pstyle("display").value&&("nodes"===s.group?i.push(o):r.push(o),l.clean=!0)}for(var u=0;u<i.length;u++){var c=i[u],d=c._private.rstyle,h=c.position();this.recalculateNodeLabelProjection(c),d.nodeX=h.x,d.nodeY=h.y,d.nodeW=c.pstyle("width").pfValue,d.nodeH=c.pstyle("height").pfValue}this.recalculateEdgeProjections(r);for(var p=0;p<r.length;p++){var f=r[p]._private,g=f.rstyle,v=f.rscratch;g.srcX=v.arrowStartX,g.srcY=v.arrowStartY,g.tgtX=v.arrowEndX,g.tgtY=v.arrowEndY,g.midX=v.midX,g.midY=v.midY,g.labelAngle=v.labelAngle,g.sourceLabelAngle=v.sourceLabelAngle,g.targetLabelAngle=v.targetLabelAngle}}}},es={updateCachedGrabbedEles:function(){var e=this.cachedZSortedEles;if(e){e.drag=[],e.nondrag=[];for(var t=[],n=0;n<e.length;n++){var r=(i=e[n])._private.rscratch;i.grabbed()&&!i.isParent()?t.push(i):r.inDragLayer?e.drag.push(i):e.nondrag.push(i)}for(n=0;n<t.length;n++){var i=t[n];e.drag.push(i)}}},invalidateCachedZSortedEles:function(){this.cachedZSortedEles=null},getCachedZSortedEles:function(e){if(e||!this.cachedZSortedEles){var t=this.cy.mutableElements().toArray();t.sort(ji),t.interactive=t.filter((function(e){return e.interactive()})),this.cachedZSortedEles=t,this.updateCachedGrabbedEles()}else t=this.cachedZSortedEles;return t}},ts={};[qo,jo,Yo,Wo,Ho,Go,$o,Jo,es].forEach((function(e){I(ts,e)}));var ns={getCachedImage:function(e,t,n){var r=this.imageCache=this.imageCache||{},i=r[e];if(i)return i.image.complete||i.image.addEventListener("load",n),i.image;var a=(i=r[e]=r[e]||{}).image=new Image;a.addEventListener("load",n),a.addEventListener("error",(function(){a.error=!0}));return"data:"===e.substring(0,"data:".length).toLowerCase()||(a.crossOrigin=t),a.src=e,a}},rs={registerBinding:function(e,t,n,r){var i=Array.prototype.slice.apply(arguments,[1]),a=this.binder(e);return a.on.apply(a,i)}};rs.binder=function(e){var t,n=this,r=e===window||e===document||e===document.body||(t=e,"undefined"!=typeof HTMLElement&&t instanceof HTMLElement);if(null==n.supportsPassiveEvents){var i=!1;try{var a=Object.defineProperty({},"passive",{get:function(){return i=!0,!0}});window.addEventListener("test",null,a)}catch(e){}n.supportsPassiveEvents=i}var o=function(t,i,a){var o=Array.prototype.slice.call(arguments);return r&&n.supportsPassiveEvents&&(o[2]={capture:null!=a&&a,passive:!1,once:!1}),n.bindings.push({target:e,args:o}),(e.addEventListener||e.on).apply(e,o),this};return{on:o,addEventListener:o,addListener:o,bind:o}},rs.nodeIsDraggable=function(e){return e&&e.isNode()&&!e.locked()&&e.grabbable()},rs.nodeIsGrabbable=function(e){return this.nodeIsDraggable(e)&&e.interactive()},rs.load=function(){var e=this,t=function(e){return e.selected()},n=function(t,n,r,i){null==t&&(t=e.cy);for(var a=0;a<n.length;a++){var o=n[a];t.emit({originalEvent:r,type:o,position:i})}},r=function(e){return e.shiftKey||e.metaKey||e.ctrlKey},i=function(t,n){var r=!0;if(e.cy.hasCompoundNodes()&&t&&t.pannable())for(var i=0;n&&i<n.length;i++){if((t=n[i]).isNode()&&t.isParent()&&!t.pannable()){r=!1;break}}else r=!0;return r},a=function(e){e[0]._private.rscratch.inDragLayer=!0},o=function(e){e[0]._private.rscratch.isGrabTarget=!0},s=function(e,t){var n=t.addToList;n.has(e)||(n.merge(e),function(e){e[0]._private.grabbed=!0}(e))},l=function(t,n){n=n||{};var r=t.cy().hasCompoundNodes();n.inDragLayer&&(t.forEach(a),t.neighborhood().stdFilter((function(e){return!r||e.isEdge()})).forEach(a)),n.addToList&&t.forEach((function(e){s(e,n)})),function(e,t){if(e.cy().hasCompoundNodes()&&(null!=t.inDragLayer||null!=t.addToList)){var n=e.descendants();t.inDragLayer&&(n.forEach(a),n.connectedEdges().forEach(a)),t.addToList&&t.addToList.unmerge(n)}}(t,n),d(t,{inDragLayer:n.inDragLayer}),e.updateCachedGrabbedEles()},u=l,c=function(t){t&&(e.getCachedZSortedEles().forEach((function(e){!function(e){e[0]._private.grabbed=!1}(e),function(e){e[0]._private.rscratch.inDragLayer=!1}(e),function(e){e[0]._private.rscratch.isGrabTarget=!1}(e)})),e.updateCachedGrabbedEles())},d=function(e,t){if((null!=t.inDragLayer||null!=t.addToList)&&e.cy().hasCompoundNodes()){var n=e.ancestors().orphans();if(!n.same(e)){var r=n.descendants().spawnSelf().merge(n).unmerge(e).unmerge(e.descendants()),i=r.connectedEdges();t.inDragLayer&&(i.forEach(a),r.forEach(a)),t.addToList&&r.forEach((function(e){s(e,t)}))}}},h=function(){null!=document.activeElement&&null!=document.activeElement.blur&&document.activeElement.blur()},p="undefined"!=typeof MutationObserver,f="undefined"!=typeof ResizeObserver;p?(e.removeObserver=new MutationObserver((function(t){for(var n=0;n<t.length;n++){var r=t[n].removedNodes;if(r)for(var i=0;i<r.length;i++){if(r[i]===e.container){e.destroy();break}}}})),e.container.parentNode&&e.removeObserver.observe(e.container.parentNode,{childList:!0})):e.registerBinding(e.container,"DOMNodeRemoved",(function(t){e.destroy()}));var g=J((function(){e.cy.resize()}),100);p&&(e.styleObserver=new MutationObserver(g),e.styleObserver.observe(e.container,{attributes:!0})),e.registerBinding(window,"resize",g),f&&(e.resizeObserver=new ResizeObserver(g),e.resizeObserver.observe(e.container));var v=function(){e.invalidateContainerClientCoordsCache()};!function(e,t){for(;null!=e;)t(e),e=e.parentNode}(e.container,(function(t){e.registerBinding(t,"transitionend",v),e.registerBinding(t,"animationend",v),e.registerBinding(t,"scroll",v)})),e.registerBinding(e.container,"contextmenu",(function(e){e.preventDefault()}));var m=function(t){for(var n=e.findContainerClientCoords(),r=n[0],i=n[1],a=n[2],o=n[3],s=t.touches?t.touches:[t],l=!1,u=0;u<s.length;u++){var c=s[u];if(r<=c.clientX&&c.clientX<=r+a&&i<=c.clientY&&c.clientY<=i+o){l=!0;break}}if(!l)return!1;for(var d=e.container,h=t.target.parentNode,p=!1;h;){if(h===d){p=!0;break}h=h.parentNode}return!!p};e.registerBinding(e.container,"mousedown",(function(t){if(m(t)){t.preventDefault(),h(),e.hoverData.capture=!0,e.hoverData.which=t.which;var r=e.cy,i=[t.clientX,t.clientY],a=e.projectIntoViewport(i[0],i[1]),s=e.selection,c=e.findNearestElements(a[0],a[1],!0,!1),d=c[0],p=e.dragData.possibleDragElements;e.hoverData.mdownPos=a,e.hoverData.mdownGPos=i;if(3==t.which){e.hoverData.cxtStarted=!0;var f={originalEvent:t,type:"cxttapstart",position:{x:a[0],y:a[1]}};d?(d.activate(),d.emit(f),e.hoverData.down=d):r.emit(f),e.hoverData.downTime=(new Date).getTime(),e.hoverData.cxtDragged=!1}else if(1==t.which){if(d&&d.activate(),null!=d&&e.nodeIsGrabbable(d)){var g=function(e){return{originalEvent:t,type:e,position:{x:a[0],y:a[1]}}};if(o(d),d.selected()){p=e.dragData.possibleDragElements=r.collection();var v=r.$((function(t){return t.isNode()&&t.selected()&&e.nodeIsGrabbable(t)}));l(v,{addToList:p}),d.emit(g("grabon")),v.forEach((function(e){e.emit(g("grab"))}))}else p=e.dragData.possibleDragElements=r.collection(),u(d,{addToList:p}),d.emit(g("grabon")).emit(g("grab"));e.redrawHint("eles",!0),e.redrawHint("drag",!0)}e.hoverData.down=d,e.hoverData.downs=c,e.hoverData.downTime=(new Date).getTime(),n(d,["mousedown","tapstart","vmousedown"],t,{x:a[0],y:a[1]}),null==d?(s[4]=1,e.data.bgActivePosistion={x:a[0],y:a[1]},e.redrawHint("select",!0),e.redraw()):d.pannable()&&(s[4]=1),e.hoverData.tapholdCancelled=!1,clearTimeout(e.hoverData.tapholdTimeout),e.hoverData.tapholdTimeout=setTimeout((function(){if(!e.hoverData.tapholdCancelled){var n=e.hoverData.down;n?n.emit({originalEvent:t,type:"taphold",position:{x:a[0],y:a[1]}}):r.emit({originalEvent:t,type:"taphold",position:{x:a[0],y:a[1]}})}}),e.tapholdDuration)}s[0]=s[2]=a[0],s[1]=s[3]=a[1]}}),!1),e.registerBinding(window,"mousemove",(function(t){if(e.hoverData.capture||m(t)){var a=!1,o=e.cy,s=o.zoom(),u=[t.clientX,t.clientY],d=e.projectIntoViewport(u[0],u[1]),h=e.hoverData.mdownPos,p=e.hoverData.mdownGPos,f=e.selection,g=null;e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.selecting||(g=e.findNearestElement(d[0],d[1],!0,!1));var v,b=e.hoverData.last,x=e.hoverData.down,w=[d[0]-f[2],d[1]-f[3]],E=e.dragData.possibleDragElements;if(p){var k=u[0]-p[0],C=k*k,S=u[1]-p[1],P=C+S*S;e.hoverData.isOverThresholdDrag=v=P>=e.desktopTapThreshold2}var D=r(t);v&&(e.hoverData.tapholdCancelled=!0);a=!0,n(g,["mousemove","vmousemove","tapdrag"],t,{x:d[0],y:d[1]});var T=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:d[0],y:d[1]}}),f[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(v){var M={originalEvent:t,type:"cxtdrag",position:{x:d[0],y:d[1]}};x?x.emit(M):o.emit(M),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&g===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:d[0],y:d[1]}}),e.hoverData.cxtOver=g,g&&g.emit({originalEvent:t,type:"cxtdragover",position:{x:d[0],y:d[1]}}))}}else if(e.hoverData.dragging){if(a=!0,o.panningEnabled()&&o.userPanningEnabled()){var B;if(e.hoverData.justStartedPan){var _=e.hoverData.mdownPos;B={x:(d[0]-_[0])*s,y:(d[1]-_[1])*s},e.hoverData.justStartedPan=!1}else B={x:w[0]*s,y:w[1]*s};o.panBy(B),o.emit("dragpan"),e.hoverData.dragged=!0}d=e.projectIntoViewport(t.clientX,t.clientY)}else if(1!=f[4]||null!=x&&!x.pannable()){if(x&&x.pannable()&&x.active()&&x.unactivate(),x&&x.grabbed()||g==b||(b&&n(b,["mouseout","tapdragout"],t,{x:d[0],y:d[1]}),g&&n(g,["mouseover","tapdragover"],t,{x:d[0],y:d[1]}),e.hoverData.last=g),x)if(v){if(o.boxSelectionEnabled()&&D)x&&x.grabbed()&&(c(E),x.emit("freeon"),E.emit("free"),e.dragData.didDrag&&(x.emit("dragfreeon"),E.emit("dragfree"))),T();else if(x&&x.grabbed()&&e.nodeIsDraggable(x)){var N=!e.dragData.didDrag;N&&e.redrawHint("eles",!0),e.dragData.didDrag=!0;var I=o.collection();e.hoverData.draggingEles||l(E,{inDragLayer:!0});var z={x:0,y:0};if(y(w[0])&&y(w[1])&&(z.x+=w[0],z.y+=w[1],N)){var L=e.hoverData.dragDelta;L&&y(L[0])&&y(L[1])&&(z.x+=L[0],z.y+=L[1])}for(var A=0;A<E.length;A++){var O=E[A];e.nodeIsDraggable(O)&&O.grabbed()&&I.push(O)}e.hoverData.draggingEles=!0,I.silentShift(z).emit("position drag"),e.redrawHint("drag",!0),e.redraw()}}else!function(){var t=e.hoverData.dragDelta=e.hoverData.dragDelta||[];0===t.length?(t.push(w[0]),t.push(w[1])):(t[0]+=w[0],t[1]+=w[1])}();a=!0}else if(v){if(e.hoverData.dragging||!o.boxSelectionEnabled()||!D&&o.panningEnabled()&&o.userPanningEnabled()){if(!e.hoverData.selecting&&o.panningEnabled()&&o.userPanningEnabled()){i(x,e.hoverData.downs)&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,f[4]=0,e.data.bgActivePosistion=nt(h),e.redrawHint("select",!0),e.redraw())}}else T();x&&x.pannable()&&x.active()&&x.unactivate()}return f[2]=d[0],f[3]=d[1],a?(t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),!1):void 0}}),!1),e.registerBinding(window,"mouseup",(function(i){if(e.hoverData.capture){e.hoverData.capture=!1;var a=e.cy,o=e.projectIntoViewport(i.clientX,i.clientY),s=e.selection,l=e.findNearestElement(o[0],o[1],!0,!1),u=e.dragData.possibleDragElements,d=e.hoverData.down,h=r(i);if(e.data.bgActivePosistion&&(e.redrawHint("select",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,d&&d.unactivate(),3===e.hoverData.which){var p={originalEvent:i,type:"cxttapend",position:{x:o[0],y:o[1]}};if(d?d.emit(p):a.emit(p),!e.hoverData.cxtDragged){var f={originalEvent:i,type:"cxttap",position:{x:o[0],y:o[1]}};d?d.emit(f):a.emit(f)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(1===e.hoverData.which){if(n(l,["mouseup","tapend","vmouseup"],i,{x:o[0],y:o[1]}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||n(d,["click","tap","vclick"],i,{x:o[0],y:o[1]}),null!=d||e.dragData.didDrag||e.hoverData.selecting||e.hoverData.dragged||r(i)||(a.$(t).unselect(["tapunselect"]),u.length>0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=u=a.collection()),l!=d||e.dragData.didDrag||e.hoverData.selecting||null!=l&&l._private.selectable&&(e.hoverData.dragging||("additive"===a.selectionType()||h?l.selected()?l.unselect(["tapunselect"]):l.select(["tapselect"]):h||(a.$(t).unmerge(l).unselect(["tapunselect"]),l.select(["tapselect"]))),e.redrawHint("eles",!0)),e.hoverData.selecting){var g=a.collection(e.getAllInBox(s[0],s[1],s[2],s[3]));e.redrawHint("select",!0),g.length>0&&e.redrawHint("eles",!0),a.emit({type:"boxend",originalEvent:i,position:{x:o[0],y:o[1]}});var v=function(e){return e.selectable()&&!e.selected()};"additive"===a.selectionType()||h||a.$(t).unmerge(g).unselect(),g.emit("box").stdFilter(v).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!s[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var y=d&&d.grabbed();c(u),y&&(d.emit("freeon"),u.emit("free"),e.dragData.didDrag&&(d.emit("dragfreeon"),u.emit("dragfree")))}}s[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null}}),!1);var b,x,w,E,k,C,S,P,D,T,M,B,_,N=function(t){if(!e.scrollingPage){var n=e.cy,r=n.zoom(),i=n.pan(),a=e.projectIntoViewport(t.clientX,t.clientY),o=[a[0]*r+i.x,a[1]*r+i.y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4])t.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),s=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,s*=e.wheelSensitivity,1===t.deltaMode&&(s*=33);var l=n.zoom()*Math.pow(10,s);"gesturechange"===t.type&&(l=e.gestureStartZoom*t.scale),n.zoom({level:l,renderedPosition:{x:o[0],y:o[1]}}),n.emit("gesturechange"===t.type?"pinchzoom":"scrollzoom")}}};e.registerBinding(e.container,"wheel",N,!0),e.registerBinding(window,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"gesturestart",(function(t){e.gestureStartZoom=e.cy.zoom(),e.hasTouchStarted||t.preventDefault()}),!0),e.registerBinding(e.container,"gesturechange",(function(t){e.hasTouchStarted||N(t)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var I,z,L,A,O=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},R=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(e.registerBinding(e.container,"touchstart",I=function(t){if(e.hasTouchStarted=!0,m(t)){h(),e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var r=e.cy,i=e.touchData.now,a=e.touchData.earlier;if(t.touches[0]){var s=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);i[0]=s[0],i[1]=s[1]}if(t.touches[1]){s=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY);i[2]=s[0],i[3]=s[1]}if(t.touches[2]){s=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY);i[4]=s[0],i[5]=s[1]}if(t.touches[1]){e.touchData.singleTouchMoved=!0,c(e.dragData.touchDragEles);var d=e.findContainerClientCoords();D=d[0],T=d[1],M=d[2],B=d[3],b=t.touches[0].clientX-D,x=t.touches[0].clientY-T,w=t.touches[1].clientX-D,E=t.touches[1].clientY-T,_=0<=b&&b<=M&&0<=w&&w<=M&&0<=x&&x<=B&&0<=E&&E<=B;var p=r.pan(),f=r.zoom();k=O(b,x,w,E),C=R(b,x,w,E),P=[((S=[(b+w)/2,(x+E)/2])[0]-p.x)/f,(S[1]-p.y)/f];if(C<4e4&&!t.touches[2]){var g=e.findNearestElement(i[0],i[1],!0,!0),v=e.findNearestElement(i[2],i[3],!0,!0);return g&&g.isNode()?(g.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=g):v&&v.isNode()?(v.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=v):r.emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(t.touches[2])r.boxSelectionEnabled()&&t.preventDefault();else if(t.touches[1]);else if(t.touches[0]){var y=e.findNearestElements(i[0],i[1],!0,!0),N=y[0];if(null!=N&&(N.activate(),e.touchData.start=N,e.touchData.starts=y,e.nodeIsGrabbable(N))){var I=e.dragData.touchDragEles=r.collection(),z=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),N.selected()?(z=r.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),l(z,{addToList:I})):u(N,{addToList:I}),o(N);var L=function(e){return{originalEvent:t,type:e,position:{x:i[0],y:i[1]}}};N.emit(L("grabon")),z?z.forEach((function(e){e.emit(L("grab"))})):N.emit(L("grab"))}n(N,["touchstart","tapstart","vmousedown"],t,{x:i[0],y:i[1]}),null==N&&(e.data.bgActivePosistion={x:s[0],y:s[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||n(e.touchData.start,["taphold"],t,{x:i[0],y:i[1]})}),e.tapholdDuration)}if(t.touches.length>=1){for(var A=e.touchData.startPosition=[],V=0;V<i.length;V++)A[V]=a[V]=i[V];var F=t.touches[0];e.touchData.startGPosition=[F.clientX,F.clientY]}}},!1),e.registerBinding(window,"touchmove",z=function(t){var r=e.touchData.capture;if(r||m(t)){var a=e.selection,o=e.cy,s=e.touchData.now,u=e.touchData.earlier,d=o.zoom();if(t.touches[0]){var h=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);s[0]=h[0],s[1]=h[1]}if(t.touches[1]){h=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY);s[2]=h[0],s[3]=h[1]}if(t.touches[2]){h=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY);s[4]=h[0],s[5]=h[1]}var p,f=e.touchData.startGPosition;if(r&&t.touches[0]&&f){for(var g=[],v=0;v<s.length;v++)g[v]=s[v]-u[v];var S=t.touches[0].clientX-f[0],M=S*S,B=t.touches[0].clientY-f[1];p=M+B*B>=e.touchTapThreshold2}if(r&&e.touchData.cxt){t.preventDefault();var N=t.touches[0].clientX-D,I=t.touches[0].clientY-T,z=t.touches[1].clientX-D,L=t.touches[1].clientY-T,A=R(N,I,z,L);if(A/C>=2.25||A>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var V={originalEvent:t,type:"cxttapend",position:{x:s[0],y:s[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(V),e.touchData.start=null):o.emit(V)}}if(r&&e.touchData.cxt){V={originalEvent:t,type:"cxtdrag",position:{x:s[0],y:s[1]}};e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(V):o.emit(V),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var F=e.findNearestElement(s[0],s[1],!0,!0);e.touchData.cxtOver&&F===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:s[0],y:s[1]}}),e.touchData.cxtOver=F,F&&F.emit({originalEvent:t,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(r&&t.touches[2]&&o.boxSelectionEnabled())t.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:s[0],y:s[1]}}),e.touchData.selecting=!0,e.touchData.didSelect=!0,a[4]=1,a&&0!==a.length&&void 0!==a[0]?(a[2]=(s[0]+s[2]+s[4])/3,a[3]=(s[1]+s[3]+s[5])/3):(a[0]=(s[0]+s[2]+s[4])/3,a[1]=(s[1]+s[3]+s[5])/3,a[2]=(s[0]+s[2]+s[4])/3+1,a[3]=(s[1]+s[3]+s[5])/3+1),e.redrawHint("select",!0),e.redraw();else if(r&&t.touches[1]&&!e.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){if(t.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),ee=e.dragData.touchDragEles){e.redrawHint("drag",!0);for(var q=0;q<ee.length;q++){var j=ee[q]._private;j.grabbed=!1,j.rscratch.inDragLayer=!1}}var Y=e.touchData.start,X=(N=t.touches[0].clientX-D,I=t.touches[0].clientY-T,z=t.touches[1].clientX-D,L=t.touches[1].clientY-T,O(N,I,z,L)),W=X/k;if(_){var H=(N-b+(z-w))/2,K=(I-x+(L-E))/2,G=o.zoom(),Z=G*W,U=o.pan(),$=P[0]*G+U.x,Q=P[1]*G+U.y,J={x:-Z/G*($-U.x-H)+$,y:-Z/G*(Q-U.y-K)+Q};if(Y&&Y.active()){var ee=e.dragData.touchDragEles;c(ee),e.redrawHint("drag",!0),e.redrawHint("eles",!0),Y.unactivate().emit("freeon"),ee.emit("free"),e.dragData.didDrag&&(Y.emit("dragfreeon"),ee.emit("dragfree"))}o.viewport({zoom:Z,pan:J,cancelOnFailedZoom:!0}),o.emit("pinchzoom"),k=X,b=N,x=I,w=z,E=L,e.pinching=!0}if(t.touches[0]){h=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);s[0]=h[0],s[1]=h[1]}if(t.touches[1]){h=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY);s[2]=h[0],s[3]=h[1]}if(t.touches[2]){h=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY);s[4]=h[0],s[5]=h[1]}}else if(t.touches[0]&&!e.touchData.didSelect){var te=e.touchData.start,ne=e.touchData.last;if(e.hoverData.draggingEles||e.swipePanning||(F=e.findNearestElement(s[0],s[1],!0,!0)),r&&null!=te&&t.preventDefault(),r&&null!=te&&e.nodeIsDraggable(te))if(p){ee=e.dragData.touchDragEles;var re=!e.dragData.didDrag;re&&l(ee,{inDragLayer:!0}),e.dragData.didDrag=!0;var ie={x:0,y:0};if(y(g[0])&&y(g[1]))if(ie.x+=g[0],ie.y+=g[1],re)e.redrawHint("eles",!0),(ae=e.touchData.dragDelta)&&y(ae[0])&&y(ae[1])&&(ie.x+=ae[0],ie.y+=ae[1]);e.hoverData.draggingEles=!0,ee.silentShift(ie).emit("position drag"),e.redrawHint("drag",!0),e.touchData.startPosition[0]==u[0]&&e.touchData.startPosition[1]==u[1]&&e.redrawHint("eles",!0),e.redraw()}else{var ae;0===(ae=e.touchData.dragDelta=e.touchData.dragDelta||[]).length?(ae.push(g[0]),ae.push(g[1])):(ae[0]+=g[0],ae[1]+=g[1])}if(n(te||F,["touchmove","tapdrag","vmousemove"],t,{x:s[0],y:s[1]}),te&&te.grabbed()||F==ne||(ne&&ne.emit({originalEvent:t,type:"tapdragout",position:{x:s[0],y:s[1]}}),F&&F.emit({originalEvent:t,type:"tapdragover",position:{x:s[0],y:s[1]}})),e.touchData.last=F,r)for(q=0;q<s.length;q++)s[q]&&e.touchData.startPosition[q]&&p&&(e.touchData.singleTouchMoved=!0);if(r&&(null==te||te.pannable())&&o.panningEnabled()&&o.userPanningEnabled()){i(te,e.touchData.starts)&&(t.preventDefault(),e.data.bgActivePosistion||(e.data.bgActivePosistion=nt(e.touchData.startPosition)),e.swipePanning?(o.panBy({x:g[0]*d,y:g[1]*d}),o.emit("dragpan")):p&&(e.swipePanning=!0,o.panBy({x:S*d,y:B*d}),o.emit("dragpan"),te&&(te.unactivate(),e.redrawHint("select",!0),e.touchData.start=null)));h=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);s[0]=h[0],s[1]=h[1]}}for(v=0;v<s.length;v++)u[v]=s[v];r&&t.touches.length>0&&!e.hoverData.draggingEles&&!e.swipePanning&&null!=e.data.bgActivePosistion&&(e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.redraw())}},!1),e.registerBinding(window,"touchcancel",L=function(t){var n=e.touchData.start;e.touchData.capture=!1,n&&n.unactivate()}),e.registerBinding(window,"touchend",A=function(r){var i=e.touchData.start;if(e.touchData.capture){0===r.touches.length&&(e.touchData.capture=!1),r.preventDefault();var a=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var o,s=e.cy,l=s.zoom(),u=e.touchData.now,d=e.touchData.earlier;if(r.touches[0]){var h=e.projectIntoViewport(r.touches[0].clientX,r.touches[0].clientY);u[0]=h[0],u[1]=h[1]}if(r.touches[1]){h=e.projectIntoViewport(r.touches[1].clientX,r.touches[1].clientY);u[2]=h[0],u[3]=h[1]}if(r.touches[2]){h=e.projectIntoViewport(r.touches[2].clientX,r.touches[2].clientY);u[4]=h[0],u[5]=h[1]}if(i&&i.unactivate(),e.touchData.cxt){if(o={originalEvent:r,type:"cxttapend",position:{x:u[0],y:u[1]}},i?i.emit(o):s.emit(o),!e.touchData.cxtDragged){var p={originalEvent:r,type:"cxttap",position:{x:u[0],y:u[1]}};i?i.emit(p):s.emit(p)}return e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,void e.redraw()}if(!r.touches[2]&&s.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var f=s.collection(e.getAllInBox(a[0],a[1],a[2],a[3]));a[0]=void 0,a[1]=void 0,a[2]=void 0,a[3]=void 0,a[4]=0,e.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:r,position:{x:u[0],y:u[1]}});f.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),f.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(null!=i&&i.unactivate(),r.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(r.touches[1]);else if(r.touches[0]);else if(!r.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var g=e.dragData.touchDragEles;if(null!=i){var v=i._private.grabbed;c(g),e.redrawHint("drag",!0),e.redrawHint("eles",!0),v&&(i.emit("freeon"),g.emit("free"),e.dragData.didDrag&&(i.emit("dragfreeon"),g.emit("dragfree"))),n(i,["touchend","tapend","vmouseup","tapdragout"],r,{x:u[0],y:u[1]}),i.unactivate(),e.touchData.start=null}else{var y=e.findNearestElement(u[0],u[1],!0,!0);n(y,["touchend","tapend","vmouseup","tapdragout"],r,{x:u[0],y:u[1]})}var m=e.touchData.startPosition[0]-u[0],b=m*m,x=e.touchData.startPosition[1]-u[1],w=(b+x*x)*l*l;e.touchData.singleTouchMoved||(i||s.$(":selected").unselect(["tapunselect"]),n(i,["tap","vclick"],r,{x:u[0],y:u[1]})),null!=i&&!e.dragData.didDrag&&i._private.selectable&&w<e.touchTapThreshold2&&!e.pinching&&("single"===s.selectionType()?(s.$(t).unmerge(i).unselect(["tapunselect"]),i.select(["tapselect"])):i.selected()?i.unselect(["tapunselect"]):i.select(["tapselect"]),e.redrawHint("eles",!0)),e.touchData.singleTouchMoved=!0}for(var E=0;E<u.length;E++)d[E]=u[E];e.dragData.didDrag=!1,0===r.touches.length&&(e.touchData.dragDelta=[],e.touchData.startPosition=null,e.touchData.startGPosition=null,e.touchData.didSelect=!1),r.touches.length<2&&(1===r.touches.length&&(e.touchData.startGPosition=[r.touches[0].clientX,r.touches[0].clientY]),e.pinching=!1,e.redrawHint("eles",!0),e.redraw())}},!1),"undefined"==typeof TouchEvent){var V=[],F=function(e){return{clientX:e.clientX,clientY:e.clientY,force:1,identifier:e.pointerId,pageX:e.pageX,pageY:e.pageY,radiusX:e.width/2,radiusY:e.height/2,screenX:e.screenX,screenY:e.screenY,target:e.target}},q=function(e){V.push(function(e){return{event:e,touch:F(e)}}(e))},j=function(e){for(var t=0;t<V.length;t++){if(V[t].event.pointerId===e.pointerId)return void V.splice(t,1)}},Y=function(e){e.touches=V.map((function(e){return e.touch}))},X=function(e){return"mouse"===e.pointerType||4===e.pointerType};e.registerBinding(e.container,"pointerdown",(function(e){X(e)||(e.preventDefault(),q(e),Y(e),I(e))})),e.registerBinding(e.container,"pointerup",(function(e){X(e)||(j(e),Y(e),A(e))})),e.registerBinding(e.container,"pointercancel",(function(e){X(e)||(j(e),Y(e),L())})),e.registerBinding(e.container,"pointermove",(function(e){X(e)||(e.preventDefault(),function(e){var t=V.filter((function(t){return t.event.pointerId===e.pointerId}))[0];t.event=e,t.touch=F(e)}(e),Y(e),z(e))}))}};var is={generatePolygon:function(e,t){return this.nodeShapes[e]={renderer:this,name:e,points:t,draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl("polygon",e,t,n,r,i,this.points)},intersectLine:function(e,t,n,r,i,a,o){return It(i,a,this.points,e,t,n/2,r/2,o)},checkPoint:function(e,t,n,r,i,a,o){return Pt(e,t,this.points,a,o,r,i,[0,-1],n)}}}};is.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,r,i,a,o){return function(e,t,n,r,i,a){var o=n-e,s=r-t;o/=i,s/=a;var l=Math.sqrt(o*o+s*s),u=l-1;if(u<0)return[];var c=u/l;return[(n-e)*c+e,(r-t)*c+t]}(i,a,e,t,n/2+o,r/2+o)},checkPoint:function(e,t,n,r,i,a,o){return Mt(e,t,r,i,a,o,n)}}},is.generateRoundPolygon=function(e,t){for(var n=new Array(2*t.length),r=0;r<t.length/2;r++){var i=2*r,a=void 0;a=r<t.length/2-1?2*(r+1):0,n[4*r]=t[i],n[4*r+1]=t[i+1];var o=t[a]-t[i],s=t[a+1]-t[i+1],l=Math.sqrt(o*o+s*s);n[4*r+2]=o/l,n[4*r+3]=s/l}return this.nodeShapes[e]={renderer:this,name:e,points:n,draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl("round-polygon",e,t,n,r,i,this.points)},intersectLine:function(e,t,n,r,i,a,o){return function(e,t,n,r,i,a,o,s){for(var l,u=[],c=new Array(n.length),d=a/2,h=o/2,p=Vt(a,o),f=0;f<n.length/4;f++){var g,v=void 0;v=0===f?n.length-2:4*f-2,g=4*f+2;var y=r+d*n[4*f],m=i+h*n[4*f+1],b=-n[v]*n[g]-n[v+1]*n[g+1],x=p/Math.tan(Math.acos(b)/2),w=y-x*n[v],E=m-x*n[v+1],k=y+x*n[g],C=m+x*n[g+1];0===f?(c[n.length-2]=w,c[n.length-1]=E):(c[4*f-2]=w,c[4*f-1]=E),c[4*f]=k,c[4*f+1]=C;var S=n[v+1],P=-n[v];S*n[g]+P*n[g+1]<0&&(S*=-1,P*=-1),0!==(l=Bt(e,t,r,i,w+S*p,E+P*p,p)).length&&u.push(l[0],l[1])}for(var D=0;D<c.length/4;D++)0!==(l=Nt(e,t,r,i,c[4*D],c[4*D+1],c[4*D+2],c[4*D+3],!1)).length&&u.push(l[0],l[1]);if(u.length>2){for(var T=[u[0],u[1]],M=Math.pow(T[0]-e,2)+Math.pow(T[1]-t,2),B=1;B<u.length/2;B++){var _=Math.pow(u[2*B]-e,2)+Math.pow(u[2*B+1]-t,2);_<=M&&(T[0]=u[2*B],T[1]=u[2*B+1],M=_)}return T}return u}(i,a,this.points,e,t,n,r)},checkPoint:function(e,t,n,r,i,a,o){return function(e,t,n,r,i,a,o){for(var s=new Array(n.length),l=a/2,u=o/2,c=Vt(a,o),d=c*c,h=0;h<n.length/4;h++){var p,f=void 0;f=0===h?n.length-2:4*h-2,p=4*h+2;var g=r+l*n[4*h],v=i+u*n[4*h+1],y=-n[f]*n[p]-n[f+1]*n[p+1],m=c/Math.tan(Math.acos(y)/2),b=g-m*n[f],x=v-m*n[f+1],w=g+m*n[p],E=v+m*n[p+1];s[4*h]=b,s[4*h+1]=x,s[4*h+2]=w,s[4*h+3]=E;var k=n[f+1],C=-n[f];k*n[p]+C*n[p+1]<0&&(k*=-1,C*=-1);var S=b+k*c,P=x+C*c;if(Math.pow(S-e,2)+Math.pow(P-t,2)<=d)return!0}return St(e,t,s)}(e,t,this.points,a,o,r,i)}}},is.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:Lt(4,0),draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,r,i,a,o){return xt(i,a,e,t,n,r,o)},checkPoint:function(e,t,n,r,i,a,o){var s=Rt(r,i),l=2*s;return!!Pt(e,t,this.points,a,o,r,i-l,[0,-1],n)||(!!Pt(e,t,this.points,a,o,r-l,i,[0,-1],n)||(!!Mt(e,t,l,l,a-r/2+s,o-i/2+s,n)||(!!Mt(e,t,l,l,a+r/2-s,o-i/2+s,n)||(!!Mt(e,t,l,l,a+r/2-s,o+i/2-s,n)||!!Mt(e,t,l,l,a-r/2+s,o+i/2-s,n)))))}}},is.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:8,points:Lt(4,0),draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},generateCutTrianglePts:function(e,t,n,r){var i=this.cornerLength,a=t/2,o=e/2,s=n-o,l=n+o,u=r-a,c=r+a;return{topLeft:[s,u+i,s+i,u,s+i,u+i],topRight:[l-i,u,l,u+i,l-i,u+i],bottomRight:[l,c-i,l-i,c,l-i,c-i],bottomLeft:[s+i,c,s,c-i,s+i,c-i]}},intersectLine:function(e,t,n,r,i,a,o){var s=this.generateCutTrianglePts(n+2*o,r+2*o,e,t),l=[].concat.apply([],[s.topLeft.splice(0,4),s.topRight.splice(0,4),s.bottomRight.splice(0,4),s.bottomLeft.splice(0,4)]);return It(i,a,l,e,t)},checkPoint:function(e,t,n,r,i,a,o){if(Pt(e,t,this.points,a,o,r,i-2*this.cornerLength,[0,-1],n))return!0;if(Pt(e,t,this.points,a,o,r-2*this.cornerLength,i,[0,-1],n))return!0;var s=this.generateCutTrianglePts(r,i,a,o);return St(e,t,s.topLeft)||St(e,t,s.topRight)||St(e,t,s.bottomRight)||St(e,t,s.bottomLeft)}}},is.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:Lt(4,0),draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,r,i,a,o){var s=this.generateBarrelBezierPts(n+2*o,r+2*o,e,t),l=function(e){var t=ct({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.15),n=ct({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.5),r=ct({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.85);return[e[0],e[1],t.x,t.y,n.x,n.y,r.x,r.y,e[4],e[5]]},u=[].concat(l(s.topLeft),l(s.topRight),l(s.bottomRight),l(s.bottomLeft));return It(i,a,u,e,t)},generateBarrelBezierPts:function(e,t,n,r){var i=t/2,a=e/2,o=n-a,s=n+a,l=r-i,u=r+i,c=Ft(e,t),d=c.heightOffset,h=c.widthOffset,p=c.ctrlPtOffsetPct*e,f={topLeft:[o,l+d,o+p,l,o+h,l],topRight:[s-h,l,s-p,l,s,l+d],bottomRight:[s,u-d,s-p,u,s-h,u],bottomLeft:[o+h,u,o+p,u,o,u-d]};return f.topLeft.isTop=!0,f.topRight.isTop=!0,f.bottomLeft.isBottom=!0,f.bottomRight.isBottom=!0,f},checkPoint:function(e,t,n,r,i,a,o){var s=Ft(r,i),l=s.heightOffset,u=s.widthOffset;if(Pt(e,t,this.points,a,o,r,i-2*l,[0,-1],n))return!0;if(Pt(e,t,this.points,a,o,r-2*u,i,[0,-1],n))return!0;for(var c=this.generateBarrelBezierPts(r,i,a,o),d=function(e,t,n){var r,i,a=n[4],o=n[2],s=n[0],l=n[5],u=n[1],c=Math.min(a,s),d=Math.max(a,s),h=Math.min(l,u),p=Math.max(l,u);if(c<=e&&e<=d&&h<=t&&t<=p){var f=[(r=a)-2*(i=o)+s,2*(i-r),r],g=function(e,t,n,r){var i=t*t-4*e*(n-=r);if(i<0)return[];var a=Math.sqrt(i),o=2*e;return[(-t+a)/o,(-t-a)/o]}(f[0],f[1],f[2],e).filter((function(e){return 0<=e&&e<=1}));if(g.length>0)return g[0]}return null},h=Object.keys(c),p=0;p<h.length;p++){var f=c[h[p]],g=d(e,t,f);if(null!=g){var v=f[5],y=f[3],m=f[1],b=ut(v,y,m,g);if(f.isTop&&b<=t)return!0;if(f.isBottom&&t<=b)return!0}}return!1}}},is.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:Lt(4,0),draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,r,i,a,o){var s=t-(r/2+o),l=Nt(i,a,e,t,e-(n/2+o),s,e+(n/2+o),s,!1);return l.length>0?l:xt(i,a,e,t,n,r,o)},checkPoint:function(e,t,n,r,i,a,o){var s=Rt(r,i),l=2*s;if(Pt(e,t,this.points,a,o,r,i-l,[0,-1],n))return!0;if(Pt(e,t,this.points,a,o,r-l,i,[0,-1],n))return!0;var u=r/2+2*n,c=i/2+2*n;return!!St(e,t,[a-u,o-c,a-u,o,a+u,o,a+u,o-c])||(!!Mt(e,t,l,l,a+r/2-s,o+i/2-s,n)||!!Mt(e,t,l,l,a-r/2+s,o+i/2-s,n))}}},is.registerNodeShapes=function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",Lt(3,0)),this.generateRoundPolygon("round-triangle",Lt(3,0)),this.generatePolygon("rectangle",Lt(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",Lt(5,0)),this.generateRoundPolygon("round-pentagon",Lt(5,0)),this.generatePolygon("hexagon",Lt(6,0)),this.generateRoundPolygon("round-hexagon",Lt(6,0)),this.generatePolygon("heptagon",Lt(7,0)),this.generateRoundPolygon("round-heptagon",Lt(7,0)),this.generatePolygon("octagon",Lt(8,0)),this.generateRoundPolygon("round-octagon",Lt(8,0));var r=new Array(20),i=Ot(5,0),a=Ot(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s<a.length/2;s++)a[2*s]*=o,a[2*s+1]*=o;for(s=0;s<5;s++)r[4*s]=i[2*s],r[4*s+1]=i[2*s+1],r[4*s+2]=a[2*s],r[4*s+3]=a[2*s+1];r=At(r),this.generatePolygon("star",r),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.nodeShapes.concavehexagon=this.generatePolygon("concave-hexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]);var l=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",l),this.generateRoundPolygon("round-tag",l),e.makePolygon=function(e){var n,r="polygon-"+e.join("$");return(n=this[r])?n:t.generatePolygon(r,e)}};var as={timeToRender:function(){return this.redrawTotalTime/this.redrawCount},redraw:function(e){e=e||Te();var t=this;void 0===t.averageRedrawTime&&(t.averageRedrawTime=0),void 0===t.lastRedrawTime&&(t.lastRedrawTime=0),void 0===t.lastDrawTime&&(t.lastDrawTime=0),t.requestedFrame=!0,t.renderOptions=e},beforeRender:function(e,t){if(!this.destroyed){null==t&&Ee("Priority is not optional for beforeRender");var n=this.beforeRenderCallbacks;n.push({fn:e,priority:t}),n.sort((function(e,t){return t.priority-e.priority}))}}},os=function(e,t,n){for(var r=e.beforeRenderCallbacks,i=0;i<r.length;i++)r[i].fn(t,n)};as.startRenderLoop=function(){var e=this,t=e.cy;if(!e.renderLoopStarted){e.renderLoopStarted=!0;re((function n(r){if(!e.destroyed){if(t.batching());else if(e.requestedFrame&&!e.skipFrame){os(e,!0,r);var i=ie();e.render(e.renderOptions);var a=e.lastDrawTime=ie();void 0===e.averageRedrawTime&&(e.averageRedrawTime=a-i),void 0===e.redrawCount&&(e.redrawCount=0),e.redrawCount++,void 0===e.redrawTotalTime&&(e.redrawTotalTime=0);var o=a-i;e.redrawTotalTime+=o,e.lastRedrawTime=o,e.averageRedrawTime=e.averageRedrawTime/2+o/2,e.requestedFrame=!1}else os(e,!1,r);e.skipFrame=!1,re(n)}}))}};var ss=function(e){this.init(e)},ls=ss.prototype;ls.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],ls.init=function(e){var t=this;t.options=e,t.cy=e.cy;var n=t.container=e.cy.container();if(o){var r=o.document,i=r.head,a="__________cytoscape_container",s=null!=r.getElementById("__________cytoscape_stylesheet");if(n.className.indexOf(a)<0&&(n.className=(n.className||"")+" "+a),!s){var l=r.createElement("style");l.id="__________cytoscape_stylesheet",l.innerHTML="."+a+" { position: relative; }",i.insertBefore(l,i.children[0])}"static"===o.getComputedStyle(n).getPropertyValue("position")&&Ce("A Cytoscape container has style position:static and so can not use UI extensions properly")}t.selection=[void 0,void 0,void 0,void 0,0],t.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],t.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},t.dragData={possibleDragElements:[]},t.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},t.redraws=0,t.showFps=e.showFps,t.debug=e.debug,t.hideEdgesOnViewport=e.hideEdgesOnViewport,t.textureOnViewport=e.textureOnViewport,t.wheelSensitivity=e.wheelSensitivity,t.motionBlurEnabled=e.motionBlur,t.forcedPixelRatio=y(e.pixelRatio)?e.pixelRatio:null,t.motionBlur=e.motionBlur,t.motionBlurOpacity=e.motionBlurOpacity,t.motionBlurTransparency=1-t.motionBlurOpacity,t.motionBlurPxRatio=1,t.mbPxRBlurry=1,t.minMbLowQualFrames=4,t.fullQualityMb=!1,t.clearedForMotionBlur=[],t.desktopTapThreshold=e.desktopTapThreshold,t.desktopTapThreshold2=e.desktopTapThreshold*e.desktopTapThreshold,t.touchTapThreshold=e.touchTapThreshold,t.touchTapThreshold2=e.touchTapThreshold*e.touchTapThreshold,t.tapholdDuration=500,t.bindings=[],t.beforeRenderCallbacks=[],t.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},t.registerNodeShapes(),t.registerArrowShapes(),t.registerCalculationListeners()},ls.notify=function(e,t){var n=this,r=n.cy;this.destroyed||("init"!==e?"destroy"!==e?(("add"===e||"remove"===e||"move"===e&&r.hasCompoundNodes()||"load"===e||"zorder"===e||"mount"===e)&&n.invalidateCachedZSortedEles(),"viewport"===e&&n.redrawHint("select",!0),"load"!==e&&"resize"!==e&&"mount"!==e||(n.invalidateContainerClientCoordsCache(),n.matchCanvasSize(n.container)),n.redrawHint("eles",!0),n.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()):n.destroy():n.load())},ls.destroy=function(){var e=this;e.destroyed=!0,e.cy.stopAnimationLoop();for(var t=0;t<e.bindings.length;t++){var n=e.bindings[t],r=n.target;(r.off||r.removeEventListener).apply(r,n.args)}if(e.bindings=[],e.beforeRenderCallbacks=[],e.onUpdateEleCalcsFns=[],e.removeObserver&&e.removeObserver.disconnect(),e.styleObserver&&e.styleObserver.disconnect(),e.resizeObserver&&e.resizeObserver.disconnect(),e.labelCalcDiv)try{document.body.removeChild(e.labelCalcDiv)}catch(e){}},ls.isHeadless=function(){return!1},[Fo,ts,ns,rs,is,as].forEach((function(e){I(ls,e)}));var us=function(e){return function(){var t=this,n=this.renderer;if(!t.dequeueingSetup){t.dequeueingSetup=!0;var r=J((function(){n.redrawHint("eles",!0),n.redrawHint("drag",!0),n.redraw()}),e.deqRedrawThreshold),i=e.priority||we;n.beforeRender((function(i,a){var o=ie(),s=n.averageRedrawTime,l=n.lastRedrawTime,u=[],c=n.cy.extent(),d=n.getPixelRatio();for(i||n.flushRenderedStyleQueue();;){var h=ie(),p=h-o,f=h-a;if(l<1e3/60){var g=1e3/60-(i?s:0);if(f>=e.deqFastCost*g)break}else if(i){if(p>=e.deqCost*l||p>=e.deqAvgCost*s)break}else if(f>=e.deqNoDrawCost*(1e3/60))break;var v=e.deq(t,d,c);if(!(v.length>0))break;for(var y=0;y<v.length;y++)u.push(v[y])}u.length>0&&(e.onDeqd(t,u),!i&&e.shouldRedraw(t,u,d,c)&&r())}),i(t))}}},cs=function(){function e(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:be;t(this,e),this.idsByKey=new ze,this.keyForId=new ze,this.cachesByLvl=new ze,this.lvls=[],this.getKey=n,this.doesEleInvalidateKey=r}return r(e,[{key:"getIdsFor",value:function(e){null==e&&Ee("Can not get id list for null key");var t=this.idsByKey,n=this.idsByKey.get(e);return n||(n=new Ae,t.set(e,n)),n}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);this.deleteIdForKey(n,t),this.addIdForKey(r,t),this.keyForId.set(t,r)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteIdForKey(n,t),this.keyForId.delete(t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,n=this.lvls,r=t.get(e);return r||(r=new ze,t.set(e,r),n.push(e)),r}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var n=this.getKey(e),r=this.getCache(n,t);return null!=r&&this.updateKeyMappingFor(e),r}},{key:"getForCachedKey",value:function(e,t){var n=this.keyForId.get(e.id());return this.getCache(n,t)}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var n=this.getKey(e);return this.hasCache(n,t)}},{key:"setCache",value:function(e,t,n){n.key=e,this.getCachesAt(t).set(e,n)}},{key:"set",value:function(e,t,n){var r=this.getKey(e);this.setCache(r,t,n),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:"delete",value:function(e,t){var n=this.getKey(e);this.deleteCache(n,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach((function(n){return t.deleteCache(e,n)}))}},{key:"invalidate",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteKeyMappingFor(e);var r=this.doesEleInvalidateKey(e);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),e}(),ds={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},hs=Me({getKey:null,doesEleInvalidateKey:be,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:me,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),ps=function(e,t){this.renderer=e,this.onDequeues=[];var n=hs(t);I(this,n),this.lookup=new cs(n.getKey,n.doesEleInvalidateKey),this.setupDequeueing()},fs=ps.prototype;fs.reasons=ds,fs.getTextureQueue=function(e){return this.eleImgCaches=this.eleImgCaches||{},this.eleImgCaches[e]=this.eleImgCaches[e]||[]},fs.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},fs.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new Fe((function(e,t){return t.reqs-e.reqs}))},fs.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},fs.getElement=function(e,t,n,r,i){var a=this,o=this.renderer,s=o.cy.zoom(),l=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed())return null;if(!a.allowEdgeTxrCaching&&e.isEdge()||!a.allowParentTxrCaching&&e.isParent())return null;if(null==r&&(r=Math.ceil(it(s*n))),r<-4)r=-4;else if(s>=7.99||r>3)return null;var u=Math.pow(2,r),c=t.h*u,d=t.w*u,h=o.eleTextBiggerThanMin(e,u);if(!this.isVisible(e,h))return null;var p,f=l.get(e,r);if(f&&f.invalidated&&(f.invalidated=!1,f.texture.invalidatedWidth-=f.width),f)return f;if(p=c<=25?25:c<=50?50:50*Math.ceil(c/50),c>1024||d>1024)return null;var g=a.getTextureQueue(p),v=g[g.length-2],y=function(){return a.recycleTexture(p,d)||a.addTexture(p,d)};v||(v=g[g.length-1]),v||(v=y()),v.width-v.usedWidth<d&&(v=y());for(var m,b=function(e){return e&&e.scaledLabelShown===h},x=i&&i===ds.dequeue,w=i&&i===ds.highQuality,E=i&&i===ds.downscale,k=r+1;k<=3;k++){var C=l.get(e,k);if(C){m=C;break}}var S=m&&m.level===r+1?m:null,P=function(){v.context.drawImage(S.texture.canvas,S.x,0,S.width,S.height,v.usedWidth,0,d,c)};if(v.context.setTransform(1,0,0,1,0,0),v.context.clearRect(v.usedWidth,0,d,p),b(S))P();else if(b(m)){if(!w)return a.queueElement(e,m.level-1),m;for(var D=m.level;D>r;D--)S=a.getElement(e,t,n,D,ds.downscale);P()}else{var T;if(!x&&!w&&!E)for(var M=r-1;M>=-4;M--){var B=l.get(e,M);if(B){T=B;break}}if(b(T))return a.queueElement(e,r),T;v.context.translate(v.usedWidth,0),v.context.scale(u,u),this.drawElement(v.context,e,t,h,!1),v.context.scale(1/u,1/u),v.context.translate(-v.usedWidth,0)}return f={x:v.usedWidth,texture:v,level:r,scale:u,width:d,height:c,scaledLabelShown:h},v.usedWidth+=Math.ceil(d+8),v.eleCaches.push(f),l.set(e,r,f),a.checkTextureFullness(v),f},fs.invalidateElements=function(e){for(var t=0;t<e.length;t++)this.invalidateElement(e[t])},fs.invalidateElement=function(e){var t=this.lookup,n=[];if(t.isInvalid(e)){for(var r=-4;r<=3;r++){var i=t.getForCachedKey(e,r);i&&n.push(i)}if(t.invalidate(e))for(var a=0;a<n.length;a++){var o=n[a],s=o.texture;s.invalidatedWidth+=o.width,o.invalidated=!0,this.checkTextureUtility(s)}this.removeFromQueue(e)}},fs.checkTextureUtility=function(e){e.invalidatedWidth>=.2*e.width&&this.retireTexture(e)},fs.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?Be(t,e):e.fullnessChecks++},fs.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t),r=this.lookup;Be(n,e),e.retired=!0;for(var i=e.eleCaches,a=0;a<i.length;a++){var o=i[a];r.deleteCache(o.key,o.level)}_e(i),this.getRetiredTextureQueue(t).push(e)},fs.addTexture=function(e,t){var n={};return this.getTextureQueue(e).push(n),n.eleCaches=[],n.height=e,n.width=Math.max(1024,t),n.usedWidth=0,n.invalidatedWidth=0,n.fullnessChecks=0,n.canvas=this.renderer.makeOffscreenCanvas(n.width,n.height),n.context=n.canvas.getContext("2d"),n},fs.recycleTexture=function(e,t){for(var n=this.getTextureQueue(e),r=this.getRetiredTextureQueue(e),i=0;i<r.length;i++){var a=r[i];if(a.width>=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,_e(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),Be(r,a),n.push(a),a}},fs.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(e),a=r[i];if(a)a.level=Math.max(a.level,t),a.eles.merge(e),a.reqs++,n.updateItem(a);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:i};n.push(o),r[i]=o}},fs.dequeue=function(e){for(var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=[],i=this.lookup,a=0;a<1&&t.size()>0;a++){var o=t.pop(),s=o.key,l=o.eles[0],u=i.hasCache(l,o.level);if(n[s]=null,!u){r.push(o);var c=this.getBoundingBox(l);this.getElement(l,c,e,o.level,ds.dequeue)}}return r},fs.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(e),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=ye,t.updateItem(i),t.pop(),n[r]=null):i.eles.unmerge(e))},fs.onDequeue=function(e){this.onDequeues.push(e)},fs.offDequeue=function(e){Be(this.onDequeues,e)},fs.setupDequeueing=us({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n<e.onDequeues.length;n++){(0,e.onDequeues[n])(t)}},shouldRedraw:function(e,t,n,r){for(var i=0;i<t.length;i++)for(var a=t[i].eles,o=0;o<a.length;o++){var s=a[o].boundingBox();if(yt(s,r))return!0}return!1},priority:function(e){return e.renderer.beforeRenderPriorities.eleTxrDeq}});var gs=function(e){var t=this,n=t.renderer=e,r=n.cy;t.layersByLevel={},t.firstGet=!0,t.lastInvalidationTime=ie()-500,t.skipping=!1,t.eleTxrDeqs=r.collection(),t.scheduleElementRefinement=J((function(){t.refineElementTextures(t.eleTxrDeqs),t.eleTxrDeqs.unmerge(t.eleTxrDeqs)}),50),n.beforeRender((function(e,n){n-t.lastInvalidationTime<=250?t.skipping=!0:t.skipping=!1}),n.beforeRenderPriorities.lyrTxrSkip);t.layersQueue=new Fe((function(e,t){return t.reqs-e.reqs})),t.setupDequeueing()},vs=gs.prototype,ys=0,ms=Math.pow(2,53)-1;vs.makeLayer=function(e,t){var n=Math.pow(2,t),r=Math.ceil(e.w*n),i=Math.ceil(e.h*n),a=this.renderer.makeOffscreenCanvas(r,i),o={id:ys=++ys%ms,bb:e,level:t,width:r,height:i,canvas:a,context:a.getContext("2d"),eles:[],elesQueue:[],reqs:0},s=o.context,l=-o.bb.x1,u=-o.bb.y1;return s.scale(n,n),s.translate(l,u),o},vs.getLayers=function(e,t,n){var r=this,i=r.renderer.cy.zoom(),a=r.firstGet;if(r.firstGet=!1,null==n)if((n=Math.ceil(it(i*t)))<-4)n=-4;else if(i>=3.99||n>2)return null;r.validateLayersElesOrdering(n,e);var o,s,l=r.layersByLevel,u=Math.pow(2,n),c=l[n]=l[n]||[];if(r.levelIsComplete(n,e))return c;!function(){var t=function(t){if(r.validateLayersElesOrdering(t,e),r.levelIsComplete(t,e))return s=l[t],!0},i=function(e){if(!s)for(var r=n+e;-4<=r&&r<=2&&!t(r);r+=e);};i(1),i(-1);for(var a=c.length-1;a>=0;a--){var o=c[a];o.invalid&&Be(c,o)}}();var d=function(t){var i=(t=t||{}).after;if(function(){if(!o){o=ht();for(var t=0;t<e.length;t++)n=o,r=e[t].boundingBox(),n.x1=Math.min(n.x1,r.x1),n.x2=Math.max(n.x2,r.x2),n.w=n.x2-n.x1,n.y1=Math.min(n.y1,r.y1),n.y2=Math.max(n.y2,r.y2),n.h=n.y2-n.y1}var n,r}(),o.w*u*(o.h*u)>16e6)return null;var a=r.makeLayer(o,n);if(null!=i){var s=c.indexOf(i)+1;c.splice(s,0,a)}else(void 0===t.insert||t.insert)&&c.unshift(a);return a};if(r.skipping&&!a)return null;for(var h=null,p=e.length/1,f=!a,g=0;g<e.length;g++){var v=e[g],y=v._private.rscratch,m=y.imgLayerCaches=y.imgLayerCaches||{},b=m[n];if(b)h=b;else{if((!h||h.eles.length>=p||!bt(h.bb,v.boundingBox()))&&!(h=d({insert:!0,after:h})))return null;s||f?r.queueLayer(h,v):r.drawEleInLayer(h,v,n,t),h.eles.push(v),m[n]=h}}return s||(f?null:c)},vs.getEleLevelForLayerLevel=function(e,t){return e},vs.drawEleInLayer=function(e,t,n,r){var i=this.renderer,a=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(a,!1),i.drawCachedElement(a,t,null,null,n,!0),i.setImgSmoothing(a,!0))},vs.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i<n.length;i++){var a=n[i];if(a.reqs>0)return!1;if(a.invalid)return!1;r+=a.eles.length}return r===t.length},vs.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r<n.length;r++){for(var i=n[r],a=-1,o=0;o<t.length;o++)if(i.eles[0]===t[o]){a=o;break}if(a<0)this.invalidateLayer(i);else{var s=a;for(o=0;o<i.eles.length;o++)if(i.eles[o]!==t[s+o]){this.invalidateLayer(i);break}}}},vs.updateElementsInLayers=function(e,t){for(var n=x(e[0]),r=0;r<e.length;r++)for(var i=n?null:e[r],a=n?e[r]:e[r].ele,o=a._private.rscratch,s=o.imgLayerCaches=o.imgLayerCaches||{},l=-4;l<=2;l++){var u=s[l];u&&(i&&this.getEleLevelForLayerLevel(u.level)!==i.level||t(u,a,i))}},vs.haveLayers=function(){for(var e=!1,t=-4;t<=2;t++){var n=this.layersByLevel[t];if(n&&n.length>0){e=!0;break}}return e},vs.invalidateElements=function(e){var t=this;0!==e.length&&(t.lastInvalidationTime=ie(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,n,r){t.invalidateLayer(e)})))},vs.invalidateLayer=function(e){if(this.lastInvalidationTime=ie(),!e.invalid){var t=e.level,n=e.eles,r=this.layersByLevel[t];Be(r,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var i=0;i<n.length;i++){var a=n[i]._private.rscratch.imgLayerCaches;a&&(a[t]=null)}}},vs.refineElementTextures=function(e){var t=this;t.updateElementsInLayers(e,(function(e,n,r){var i=e.replacement;if(i||((i=e.replacement=t.makeLayer(e.bb,e.level)).replaces=e,i.eles=e.eles),!i.reqs)for(var a=0;a<i.eles.length;a++)t.queueLayer(i,i.eles[a])}))},vs.enqueueElementRefinement=function(e){this.eleTxrDeqs.merge(e),this.scheduleElementRefinement()},vs.queueLayer=function(e,t){var n=this.layersQueue,r=e.elesQueue,i=r.hasId=r.hasId||{};if(!e.replacement){if(t){if(i[t.id()])return;r.push(t),i[t.id()]=!0}e.reqs?(e.reqs++,n.updateItem(e)):(e.reqs=1,n.push(e))}},vs.dequeue=function(e){for(var t=this.layersQueue,n=[],r=0;r<1&&0!==t.size();){var i=t.peek();if(i.replacement)t.pop();else if(i.replaces&&i!==i.replaces.replacement)t.pop();else if(i.invalid)t.pop();else{var a=i.elesQueue.shift();a&&(this.drawEleInLayer(i,a,i.level,e),r++),0===n.length&&n.push(!0),0===i.elesQueue.length&&(t.pop(),i.reqs=0,i.replaces&&this.applyLayerReplacement(i),this.requestRedraw())}}return n},vs.applyLayerReplacement=function(e){var t=this.layersByLevel[e.level],n=e.replaces,r=t.indexOf(n);if(!(r<0||n.invalid)){t[r]=e;for(var i=0;i<e.eles.length;i++){var a=e.eles[i]._private,o=a.imgLayerCaches=a.imgLayerCaches||{};o&&(o[e.level]=e)}this.requestRedraw()}},vs.requestRedraw=J((function(){var e=this.renderer;e.redrawHint("eles",!0),e.redrawHint("drag",!0),e.redraw()}),100),vs.setupDequeueing=us({deqRedrawThreshold:50,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t){return e.dequeue(t)},onDeqd:we,shouldRedraw:me,priority:function(e){return e.renderer.beforeRenderPriorities.lyrTxrDeq}});var bs,xs={};function ws(e,t){for(var n=0;n<t.length;n++){var r=t[n];e.lineTo(r.x,r.y)}}function Es(e,t,n){for(var r,i=0;i<t.length;i++){var a=t[i];0===i&&(r=a),e.lineTo(a.x,a.y)}e.quadraticCurveTo(n.x,n.y,r.x,r.y)}function ks(e,t,n){e.beginPath&&e.beginPath();for(var r=t,i=0;i<r.length;i++){var a=r[i];e.lineTo(a.x,a.y)}var o=n,s=n[0];e.moveTo(s.x,s.y);for(i=1;i<o.length;i++){a=o[i];e.lineTo(a.x,a.y)}e.closePath&&e.closePath()}function Cs(e,t,n,r,i){e.beginPath&&e.beginPath(),e.arc(n,r,i,0,2*Math.PI,!1);var a=t,o=a[0];e.moveTo(o.x,o.y);for(var s=0;s<a.length;s++){var l=a[s];e.lineTo(l.x,l.y)}e.closePath&&e.closePath()}function Ss(e,t,n,r){e.arc(t,n,r,0,2*Math.PI,!1)}xs.arrowShapeImpl=function(e){return(bs||(bs={polygon:ws,"triangle-backcurve":Es,"triangle-tee":ks,"circle-triangle":Cs,"triangle-cross":ks,circle:Ss}))[e]};var Ps={drawElement:function(e,t,n,r,i,a){t.isNode()?this.drawNode(e,t,n,r,i,a):this.drawEdge(e,t,n,r,i,a)},drawElementOverlay:function(e,t){t.isNode()?this.drawNodeOverlay(e,t):this.drawEdgeOverlay(e,t)},drawCachedElementPortion:function(e,t,n,r,i,a,o,s){var l=this,u=n.getBoundingBox(t);if(0!==u.w&&0!==u.h){var c=n.getElement(t,u,r,i,a);if(null!=c){var d=s(l,t);if(0===d)return;var h,p,f,g,v,y,m=o(l,t),b=u.x1,x=u.y1,w=u.w,E=u.h;if(0!==m){var k=n.getRotationPoint(t);f=k.x,g=k.y,e.translate(f,g),e.rotate(m),(v=l.getImgSmoothing(e))||l.setImgSmoothing(e,!0);var C=n.getRotationOffset(t);h=C.x,p=C.y}else h=b,p=x;1!==d&&(y=e.globalAlpha,e.globalAlpha=y*d),e.drawImage(c.texture.canvas,c.x,0,c.width,c.height,h,p,w,E),1!==d&&(e.globalAlpha=y),0!==m&&(e.rotate(-m),e.translate(-f,-g),v||l.setImgSmoothing(e,!1))}else n.drawElement(e,t)}}},Ds=function(){return 0},Ts=function(e,t){return e.getTextAngle(t,null)},Ms=function(e,t){return e.getTextAngle(t,"source")},Bs=function(e,t){return e.getTextAngle(t,"target")},_s=function(e,t){return t.effectiveOpacity()},Ns=function(e,t){return t.pstyle("text-opacity").pfValue*t.effectiveOpacity()};Ps.drawCachedElement=function(e,t,n,r,i,a){var o=this,s=o.data,l=s.eleTxrCache,u=s.lblTxrCache,c=s.slbTxrCache,d=s.tlbTxrCache,h=t.boundingBox(),p=!0===a?l.reasons.highQuality:null;if(0!==h.w&&0!==h.h&&t.visible()&&(!r||yt(h,r))){var f=t.isEdge(),g=t.element()._private.rscratch.badLine;o.drawCachedElementPortion(e,t,l,n,i,p,Ds,_s),f&&g||o.drawCachedElementPortion(e,t,u,n,i,p,Ts,Ns),f&&!g&&(o.drawCachedElementPortion(e,t,c,n,i,p,Ms,Ns),o.drawCachedElementPortion(e,t,d,n,i,p,Bs,Ns)),o.drawElementOverlay(e,t)}},Ps.drawElements=function(e,t){for(var n=0;n<t.length;n++){var r=t[n];this.drawElement(e,r)}},Ps.drawCachedElements=function(e,t,n,r){for(var i=0;i<t.length;i++){var a=t[i];this.drawCachedElement(e,a,n,r)}},Ps.drawCachedNodes=function(e,t,n,r){for(var i=0;i<t.length;i++){var a=t[i];a.isNode()&&this.drawCachedElement(e,a,n,r)}},Ps.drawLayeredElements=function(e,t,n,r){var i=this.data.lyrTxrCache.getLayers(t,n);if(i)for(var a=0;a<i.length;a++){var o=i[a],s=o.bb;0!==s.w&&0!==s.h&&e.drawImage(o.canvas,s.x1,s.y1,s.w,s.h)}else this.drawCachedElements(e,t,n,r)};var Is={drawEdge:function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this,s=t._private.rscratch;if((!a||t.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var l;n&&(l=n,e.translate(-l.x1,-l.y1));var u=a?t.pstyle("opacity").value:1,c=a?t.pstyle("line-opacity").value:1,d=t.pstyle("line-style").value,h=t.pstyle("width").pfValue,p=t.pstyle("line-cap").value,f=u*c,g=u*c,v=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f;e.lineWidth=h,e.lineCap=p,o.eleStrokeStyle(e,t,n),o.drawEdgePath(t,e,s.allpts,d),e.lineCap="butt"},y=function(){i&&o.drawEdgeOverlay(e,t)},m=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;o.drawArrowheads(e,t,n)},b=function(){o.drawElementText(e,t,null,r)};e.lineJoin="round";var x="yes"===t.pstyle("ghost").value;if(x){var w=t.pstyle("ghost-offset-x").pfValue,E=t.pstyle("ghost-offset-y").pfValue,k=t.pstyle("ghost-opacity").value,C=f*k;e.translate(w,E),v(C),m(C),e.translate(-w,-E)}v(),m(),y(),b(),n&&e.translate(l.x1,l.y1)}},drawEdgeOverlay:function(e,t){if(t.visible()){var n=t.pstyle("overlay-opacity").value;if(0!==n){var r=this,i=r.usePaths(),a=t._private.rscratch,o=2*t.pstyle("overlay-padding").pfValue,s=t.pstyle("overlay-color").value;e.lineWidth=o,"self"!==a.edgeType||i?e.lineCap="round":e.lineCap="butt",r.colorStrokeStyle(e,s[0],s[1],s[2],n),r.drawEdgePath(t,e,a.allpts,"solid")}}},drawEdgePath:function(e,t,n,r){var i,a=e._private.rscratch,o=t,s=!1,l=this.usePaths(),u=e.pstyle("line-dash-pattern").pfValue,c=e.pstyle("line-dash-offset").pfValue;if(l){var d=n.join("$");a.pathCacheKey&&a.pathCacheKey===d?(i=t=a.pathCache,s=!0):(i=t=new Path2D,a.pathCacheKey=d,a.pathCache=i)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(u),o.lineDashOffset=c;break;case"solid":o.setLineDash([])}if(!s&&!a.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var h=2;h+3<n.length;h+=4)t.quadraticCurveTo(n[h],n[h+1],n[h+2],n[h+3]);break;case"straight":case"segments":case"haystack":for(var p=2;p+1<n.length;p+=2)t.lineTo(n[p],n[p+1])}t=o,l?t.stroke(i):t.stroke(),t.setLineDash&&t.setLineDash([])},drawArrowheads:function(e,t,n){var r=t._private.rscratch,i="haystack"===r.edgeType;i||this.drawArrowhead(e,t,"source",r.arrowStartX,r.arrowStartY,r.srcArrowAngle,n),this.drawArrowhead(e,t,"mid-target",r.midX,r.midY,r.midtgtArrowAngle,n),this.drawArrowhead(e,t,"mid-source",r.midX,r.midY,r.midsrcArrowAngle,n),i||this.drawArrowhead(e,t,"target",r.arrowEndX,r.arrowEndY,r.tgtArrowAngle,n)},drawArrowhead:function(e,t,n,r,i,a,o){if(!(isNaN(r)||null==r||isNaN(i)||null==i||isNaN(a)||null==a)){var s=t.pstyle(n+"-arrow-shape").value;if("none"!==s){var l="hollow"===t.pstyle(n+"-arrow-fill").value?"both":"filled",u=t.pstyle(n+"-arrow-fill").value,c=t.pstyle("width").pfValue,d=t.pstyle("opacity").value;void 0===o&&(o=d);var h=e.globalCompositeOperation;1===o&&"hollow"!==u||(e.globalCompositeOperation="destination-out",this.colorFillStyle(e,255,255,255,1),this.colorStrokeStyle(e,255,255,255,1),this.drawArrowShape(t,e,l,c,s,r,i,a),e.globalCompositeOperation=h);var p=t.pstyle(n+"-arrow-color").value;this.colorFillStyle(e,p[0],p[1],p[2],o),this.colorStrokeStyle(e,p[0],p[1],p[2],o),this.drawArrowShape(t,e,u,c,s,r,i,a)}}},drawArrowShape:function(e,t,n,r,i,a,o,s){var l,u=this,c=this.usePaths()&&"triangle-cross"!==i,d=!1,h=t,p={x:a,y:o},f=e.pstyle("arrow-scale").value,g=this.getArrowWidth(r,f),v=u.arrowShapes[i];if(c){var y=u.arrowPathCache=u.arrowPathCache||[],m=de(i),b=y[m];null!=b?(l=t=b,d=!0):(l=t=new Path2D,y[m]=l)}d||(t.beginPath&&t.beginPath(),c?v.draw(t,1,0,{x:0,y:0},1):v.draw(t,g,s,p,r),t.closePath&&t.closePath()),t=h,c&&(t.translate(a,o),t.rotate(s),t.scale(g,g)),"filled"!==n&&"both"!==n||(c?t.fill(l):t.fill()),"hollow"!==n&&"both"!==n||(t.lineWidth=(v.matchEdgeWidth?r:1)/(c?g:1),t.lineJoin="miter",c?t.stroke(l):t.stroke()),c&&(t.scale(1/g,1/g),t.rotate(-s),t.translate(-a,-o))}},zs={safeDrawImage:function(e,t,n,r,i,a,o,s,l,u){i<=0||a<=0||l<=0||u<=0||e.drawImage(t,n,r,i,a,o,s,l,u)},drawInscribedImage:function(e,t,n,r,i){var a=this,o=n.position(),s=o.x,l=o.y,u=n.cy().style(),c=u.getIndexedStyle.bind(u),d=c(n,"background-fit","value",r),h=c(n,"background-repeat","value",r),p=n.width(),f=n.height(),g=2*n.padding(),v=p+("inner"===c(n,"background-width-relative-to","value",r)?0:g),y=f+("inner"===c(n,"background-height-relative-to","value",r)?0:g),m=n._private.rscratch,b="node"===c(n,"background-clip","value",r),x=c(n,"background-image-opacity","value",r)*i,w=c(n,"background-image-smoothing","value",r),E=t.width||t.cachedW,k=t.height||t.cachedH;null!=E&&null!=k||(document.body.appendChild(t),E=t.cachedW=t.width||t.offsetWidth,k=t.cachedH=t.height||t.offsetHeight,document.body.removeChild(t));var C=E,S=k;if("auto"!==c(n,"background-width","value",r)&&(C="%"===c(n,"background-width","units",r)?c(n,"background-width","pfValue",r)*v:c(n,"background-width","pfValue",r)),"auto"!==c(n,"background-height","value",r)&&(S="%"===c(n,"background-height","units",r)?c(n,"background-height","pfValue",r)*y:c(n,"background-height","pfValue",r)),0!==C&&0!==S){if("contain"===d)C*=P=Math.min(v/C,y/S),S*=P;else if("cover"===d){var P;C*=P=Math.max(v/C,y/S),S*=P}var D=s-v/2,T=c(n,"background-position-x","units",r),M=c(n,"background-position-x","pfValue",r);D+="%"===T?(v-C)*M:M;var B=c(n,"background-offset-x","units",r),_=c(n,"background-offset-x","pfValue",r);D+="%"===B?(v-C)*_:_;var N=l-y/2,I=c(n,"background-position-y","units",r),z=c(n,"background-position-y","pfValue",r);N+="%"===I?(y-S)*z:z;var L=c(n,"background-offset-y","units",r),A=c(n,"background-offset-y","pfValue",r);N+="%"===L?(y-S)*A:A,m.pathCache&&(D-=s,N-=l,s=0,l=0);var O=e.globalAlpha;e.globalAlpha=x;var R=a.getImgSmoothing(e),V=!1;if("no"===w&&R?(a.setImgSmoothing(e,!1),V=!0):"yes"!==w||R||(a.setImgSmoothing(e,!0),V=!0),"no-repeat"===h)b&&(e.save(),m.pathCache?e.clip(m.pathCache):(a.nodeShapes[a.getNodeShape(n)].draw(e,s,l,v,y),e.clip())),a.safeDrawImage(e,t,0,0,E,k,D,N,C,S),b&&e.restore();else{var F=e.createPattern(t,h);e.fillStyle=F,a.nodeShapes[a.getNodeShape(n)].draw(e,s,l,v,y),e.translate(D,N),e.fill(),e.translate(-D,-N)}e.globalAlpha=O,V&&a.setImgSmoothing(e,R)}}},Ls={};function As(e,t,n,r,i){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:5;e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath(),e.fill()}Ls.eleTextBiggerThanMin=function(e,t){if(!t){var n=e.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(it(n*r));t=Math.pow(2,i)}return!(e.pstyle("font-size").pfValue*t<e.pstyle("min-zoomed-font-size").pfValue)},Ls.drawElementText=function(e,t,n,r,i){var a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this;if(null==r){if(a&&!o.eleTextBiggerThanMin(t))return}else if(!1===r)return;if(t.isNode()){var s=t.pstyle("label");if(!s||!s.value)return;var l=o.getLabelJustification(t);e.textAlign=l,e.textBaseline="bottom"}else{var u=t.element()._private.rscratch.badLine,c=t.pstyle("label"),d=t.pstyle("source-label"),h=t.pstyle("target-label");if(u||(!c||!c.value)&&(!d||!d.value)&&(!h||!h.value))return;e.textAlign="center",e.textBaseline="bottom"}var p,f=!n;n&&(p=n,e.translate(-p.x1,-p.y1)),null==i?(o.drawText(e,t,null,f,a),t.isEdge()&&(o.drawText(e,t,"source",f,a),o.drawText(e,t,"target",f,a))):o.drawText(e,t,i,f,a),n&&e.translate(p.x1,p.y1)},Ls.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n<this.fontCaches.length;n++)if((t=this.fontCaches[n]).context===e)return t;return t={context:e},this.fontCaches.push(t),t},Ls.setupTextStyle=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue+"px",a=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,s=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,l=t.pstyle("text-outline-opacity").value*s,u=t.pstyle("color").value,c=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+i+" "+a,e.lineJoin="round",this.colorFillStyle(e,u[0],u[1],u[2],s),this.colorStrokeStyle(e,c[0],c[1],c[2],l)},Ls.getTextAngle=function(e,t){var n=e._private.rscratch,r=t?t+"-":"",i=e.pstyle(r+"text-rotation"),a=Ne(n,"labelAngle",t);return"autorotate"===i.strValue?e.isEdge()?a:0:"none"===i.strValue?0:i.pfValue},Ls.drawText=function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=t._private,o=a.rscratch,s=i?t.effectiveOpacity():1;if(!i||0!==s&&0!==t.pstyle("text-opacity").value){"main"===n&&(n=null);var l,u,c=Ne(o,"labelX",n),d=Ne(o,"labelY",n),h=this.getLabelText(t,n);if(null!=h&&""!==h&&!isNaN(c)&&!isNaN(d)){this.setupTextStyle(e,t,i);var p,f=n?n+"-":"",g=Ne(o,"labelWidth",n),v=Ne(o,"labelHeight",n),y=t.pstyle(f+"text-margin-x").pfValue,m=t.pstyle(f+"text-margin-y").pfValue,b=t.isEdge(),x=t.pstyle("text-halign").value,w=t.pstyle("text-valign").value;switch(b&&(x="center",w="center"),c+=y,d+=m,0!==(p=r?this.getTextAngle(t,n):0)&&(l=c,u=d,e.translate(l,u),e.rotate(p),c=0,d=0),w){case"top":break;case"center":d+=v/2;break;case"bottom":d+=v}var E=t.pstyle("text-background-opacity").value,k=t.pstyle("text-border-opacity").value,C=t.pstyle("text-border-width").pfValue,S=t.pstyle("text-background-padding").pfValue;if(E>0||C>0&&k>0){var P=c-S;switch(x){case"left":P-=g;break;case"center":P-=g/2}var D=d-v-S,T=g+2*S,M=v+2*S;if(E>0){var B=e.fillStyle,_=t.pstyle("text-background-color").value;e.fillStyle="rgba("+_[0]+","+_[1]+","+_[2]+","+E*s+")";var N=t.pstyle("text-background-shape").strValue;0===N.indexOf("round")?As(e,P,D,T,M,2):e.fillRect(P,D,T,M),e.fillStyle=B}if(C>0&&k>0){var I=e.strokeStyle,z=e.lineWidth,L=t.pstyle("text-border-color").value,A=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+L[0]+","+L[1]+","+L[2]+","+k*s+")",e.lineWidth=C,e.setLineDash)switch(A){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=C/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(e.strokeRect(P,D,T,M),"double"===A){var O=C/2;e.strokeRect(P+O,D+O,T-2*O,M-2*O)}e.setLineDash&&e.setLineDash([]),e.lineWidth=z,e.strokeStyle=I}}var R=2*t.pstyle("text-outline-width").pfValue;if(R>0&&(e.lineWidth=R),"wrap"===t.pstyle("text-wrap").value){var V=Ne(o,"labelWrapCachedLines",n),F=Ne(o,"labelLineHeight",n),q=g/2,j=this.getLabelJustification(t);switch("auto"===j||("left"===x?"left"===j?c+=-g:"center"===j&&(c+=-q):"center"===x?"left"===j?c+=-q:"right"===j&&(c+=q):"right"===x&&("center"===j?c+=q:"right"===j&&(c+=g))),w){case"top":d-=(V.length-1)*F;break;case"center":case"bottom":d-=(V.length-1)*F}for(var Y=0;Y<V.length;Y++)R>0&&e.strokeText(V[Y],c,d),e.fillText(V[Y],c,d),d+=F}else R>0&&e.strokeText(h,c,d),e.fillText(h,c,d);0!==p&&(e.rotate(-p),e.translate(-l,-u))}}};var Os={drawNode:function(e,t,n){var r,i,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],l=this,u=t._private,c=u.rscratch,d=t.position();if(y(d.x)&&y(d.y)&&(!s||t.visible())){var h,p,f=s?t.effectiveOpacity():1,g=l.usePaths(),v=!1,m=t.padding();r=t.width()+2*m,i=t.height()+2*m,n&&(p=n,e.translate(-p.x1,-p.y1));for(var b=t.pstyle("background-image"),x=b.value,w=new Array(x.length),E=new Array(x.length),k=0,C=0;C<x.length;C++){var S=x[C],P=w[C]=null!=S&&"none"!==S;if(P){var D=t.cy().style().getIndexedStyle(t,"background-image-crossorigin","value",C);k++,E[C]=l.getCachedImage(S,D,(function(){u.backgroundTimestamp=Date.now(),t.emitAndNotify("background")}))}}var T=t.pstyle("background-blacken").value,M=t.pstyle("border-width").pfValue,B=t.pstyle("background-opacity").value*f,_=t.pstyle("border-color").value,N=t.pstyle("border-style").value,I=t.pstyle("border-opacity").value*f;e.lineJoin="miter";var z=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:B;l.eleFillStyle(e,t,n)},L=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:I;l.colorStrokeStyle(e,_[0],_[1],_[2],t)},A=t.pstyle("shape").strValue,O=t.pstyle("shape-polygon-points").pfValue;if(g){e.translate(d.x,d.y);var R=l.nodePathCache=l.nodePathCache||[],V=he("polygon"===A?A+","+O.join(","):A,""+i,""+r),F=R[V];null!=F?(h=F,v=!0,c.pathCache=h):(h=new Path2D,R[V]=c.pathCache=h)}var q=function(){if(!v){var n=d;g&&(n={x:0,y:0}),l.nodeShapes[l.getNodeShape(t)].draw(h||e,n.x,n.y,r,i)}g?e.fill(h):e.fill()},j=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=u.backgrounding,a=0,o=0;o<E.length;o++){var s=t.cy().style().getIndexedStyle(t,"background-image-containment","value",o);r&&"over"===s||!r&&"inside"===s?a++:w[o]&&E[o].complete&&!E[o].error&&(a++,l.drawInscribedImage(e,E[o],t,o,n))}u.backgrounding=!(a===k),i!==u.backgrounding&&t.updateStyle(!1)},Y=function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:f;l.hasPie(t)&&(l.drawPie(e,t,a),n&&(g||l.nodeShapes[l.getNodeShape(t)].draw(e,d.x,d.y,r,i)))},X=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f,n=(T>0?T:-T)*t,r=T>0?0:255;0!==T&&(l.colorFillStyle(e,r,r,r,n),g?e.fill(h):e.fill())},W=function(){if(M>0){if(e.lineWidth=M,e.lineCap="butt",e.setLineDash)switch(N){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}if(g?e.stroke(h):e.stroke(),"double"===N){e.lineWidth=M/3;var t=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",g?e.stroke(h):e.stroke(),e.globalCompositeOperation=t}e.setLineDash&&e.setLineDash([])}},H=function(){o&&l.drawNodeOverlay(e,t,d,r,i)},K=function(){l.drawElementText(e,t,null,a)},G="yes"===t.pstyle("ghost").value;if(G){var Z=t.pstyle("ghost-offset-x").pfValue,U=t.pstyle("ghost-offset-y").pfValue,$=t.pstyle("ghost-opacity").value,Q=$*f;e.translate(Z,U),z($*B),q(),j(Q,!0),L($*I),W(),Y(0!==T||0!==M),j(Q,!1),X(Q),e.translate(-Z,-U)}z(),q(),j(f,!0),L(),W(),Y(0!==T||0!==M),j(f,!1),X(),g&&e.translate(-d.x,-d.y),K(),H(),n&&e.translate(p.x1,p.y1)}},drawNodeOverlay:function(e,t,n,r,i){if(t.visible()){var a=t.pstyle("overlay-padding").pfValue,o=t.pstyle("overlay-opacity").value,s=t.pstyle("overlay-color").value;if(o>0){if(n=n||t.position(),null==r||null==i){var l=t.padding();r=t.width()+2*l,i=t.height()+2*l}this.colorFillStyle(e,s[0],s[1],s[2],o),this.nodeShapes.roundrectangle.draw(e,n.x,n.y,r+2*a,i+2*a),e.fill()}}},hasPie:function(e){return(e=e[0])._private.hasPie},drawPie:function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),a=t.pstyle("pie-size"),o=r.x,s=r.y,l=t.width(),u=t.height(),c=Math.min(l,u)/2,d=0;this.usePaths()&&(o=0,s=0),"%"===a.units?c*=a.pfValue:void 0!==a.pfValue&&(c=a.pfValue/2);for(var h=1;h<=i.pieBackgroundN;h++){var p=t.pstyle("pie-"+h+"-background-size").value,f=t.pstyle("pie-"+h+"-background-color").value,g=t.pstyle("pie-"+h+"-background-opacity").value*n,v=p/100;v+d>1&&(v=1-d);var y=1.5*Math.PI+2*Math.PI*d,m=y+2*Math.PI*v;0===p||d>=1||d+v>1||(e.beginPath(),e.moveTo(o,s),e.arc(o,s,c,y,m),e.closePath(),this.colorFillStyle(e,f[0],f[1],f[2],g),e.fill(),d+=v)}}},Rs={};Rs.getPixelRatio=function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},Rs.paintCache=function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;i<n.length;i++)if((t=n[i]).context===e){r=!1;break}return r&&(t={context:e},n.push(t)),t},Rs.createGradientStyleFor=function(e,t,n,r,i){var a,o=this.usePaths(),s=n.pstyle(t+"-gradient-stop-colors").value,l=n.pstyle(t+"-gradient-stop-positions").pfValue;if("radial-gradient"===r)if(n.isEdge()){var u=n.sourceEndpoint(),c=n.targetEndpoint(),d=n.midpoint(),h=ot(u,d),p=ot(c,d);a=e.createRadialGradient(d.x,d.y,0,d.x,d.y,Math.max(h,p))}else{var f=o?{x:0,y:0}:n.position(),g=n.paddedWidth(),v=n.paddedHeight();a=e.createRadialGradient(f.x,f.y,0,f.x,f.y,Math.max(g,v))}else if(n.isEdge()){var y=n.sourceEndpoint(),m=n.targetEndpoint();a=e.createLinearGradient(y.x,y.y,m.x,m.y)}else{var b=o?{x:0,y:0}:n.position(),x=n.paddedWidth()/2,w=n.paddedHeight()/2;switch(n.pstyle("background-gradient-direction").value){case"to-bottom":a=e.createLinearGradient(b.x,b.y-w,b.x,b.y+w);break;case"to-top":a=e.createLinearGradient(b.x,b.y+w,b.x,b.y-w);break;case"to-left":a=e.createLinearGradient(b.x+x,b.y,b.x-x,b.y);break;case"to-right":a=e.createLinearGradient(b.x-x,b.y,b.x+x,b.y);break;case"to-bottom-right":case"to-right-bottom":a=e.createLinearGradient(b.x-x,b.y-w,b.x+x,b.y+w);break;case"to-top-right":case"to-right-top":a=e.createLinearGradient(b.x-x,b.y+w,b.x+x,b.y-w);break;case"to-bottom-left":case"to-left-bottom":a=e.createLinearGradient(b.x+x,b.y-w,b.x-x,b.y+w);break;case"to-top-left":case"to-left-top":a=e.createLinearGradient(b.x+x,b.y+w,b.x-x,b.y-w)}}if(!a)return null;for(var E=l.length===s.length,k=s.length,C=0;C<k;C++)a.addColorStop(E?l[C]:C/(k-1),"rgba("+s[C][0]+","+s[C][1]+","+s[C][2]+","+i+")");return a},Rs.gradientFillStyle=function(e,t,n,r){var i=this.createGradientStyleFor(e,"background",t,n,r);if(!i)return null;e.fillStyle=i},Rs.colorFillStyle=function(e,t,n,r,i){e.fillStyle="rgba("+t+","+n+","+r+","+i+")"},Rs.eleFillStyle=function(e,t,n){var r=t.pstyle("background-fill").value;if("linear-gradient"===r||"radial-gradient"===r)this.gradientFillStyle(e,t,r,n);else{var i=t.pstyle("background-color").value;this.colorFillStyle(e,i[0],i[1],i[2],n)}},Rs.gradientStrokeStyle=function(e,t,n,r){var i=this.createGradientStyleFor(e,"line",t,n,r);if(!i)return null;e.strokeStyle=i},Rs.colorStrokeStyle=function(e,t,n,r,i){e.strokeStyle="rgba("+t+","+n+","+r+","+i+")"},Rs.eleStrokeStyle=function(e,t,n){var r=t.pstyle("line-fill").value;if("linear-gradient"===r||"radial-gradient"===r)this.gradientStrokeStyle(e,t,r,n);else{var i=t.pstyle("line-color").value;this.colorStrokeStyle(e,i[0],i[1],i[2],n)}},Rs.matchCanvasSize=function(e){var t=this,n=t.data,r=t.findContainerClientCoords(),i=r[2],a=r[3],o=t.getPixelRatio(),s=t.motionBlurPxRatio;e!==t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_NODE]&&e!==t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_DRAG]||(o=s);var l,u=i*o,c=a*o;if(u!==t.canvasWidth||c!==t.canvasHeight){t.fontCaches=null;var d=n.canvasContainer;d.style.width=i+"px",d.style.height=a+"px";for(var h=0;h<t.CANVAS_LAYERS;h++)(l=n.canvases[h]).width=u,l.height=c,l.style.width=i+"px",l.style.height=a+"px";for(h=0;h<t.BUFFER_COUNT;h++)(l=n.bufferCanvases[h]).width=u,l.height=c,l.style.width=i+"px",l.style.height=a+"px";t.textureMult=1,o<=1&&(l=n.bufferCanvases[t.TEXTURE_BUFFER],t.textureMult=2,l.width=u*t.textureMult,l.height=c*t.textureMult),t.canvasWidth=u,t.canvasHeight=c}},Rs.renderTo=function(e,t,n,r){this.render({forcedContext:e,forcedZoom:t,forcedPan:n,drawAllLayers:!0,forcedPxRatio:r})},Rs.render=function(e){var t=(e=e||Te()).forcedContext,n=e.drawAllLayers,r=e.drawOnlyNodeLayer,i=e.forcedZoom,a=e.forcedPan,o=this,s=void 0===e.forcedPxRatio?this.getPixelRatio():e.forcedPxRatio,l=o.cy,u=o.data,c=u.canvasNeedsRedraw,d=o.textureOnViewport&&!t&&(o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming),h=void 0!==e.motionBlur?e.motionBlur:o.motionBlur,p=o.motionBlurPxRatio,f=l.hasCompoundNodes(),g=o.hoverData.draggingEles,v=!(!o.hoverData.selecting&&!o.touchData.selecting),y=h=h&&!t&&o.motionBlurEnabled&&!v;t||(o.prevPxRatio!==s&&(o.invalidateContainerClientCoordsCache(),o.matchCanvasSize(o.container),o.redrawHint("eles",!0),o.redrawHint("drag",!0)),o.prevPxRatio=s),!t&&o.motionBlurTimeout&&clearTimeout(o.motionBlurTimeout),h&&(null==o.mbFrames&&(o.mbFrames=0),o.mbFrames++,o.mbFrames<3&&(y=!1),o.mbFrames>o.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!d&&(c[o.NODE]=!0,c[o.SELECT_BOX]=!0);var m=l.style(),b=l.zoom(),x=void 0!==i?i:b,w=l.pan(),E={x:w.x,y:w.y},k={zoom:b,pan:{x:w.x,y:w.y}},C=o.prevViewport;void 0===C||k.zoom!==C.zoom||k.pan.x!==C.pan.x||k.pan.y!==C.pan.y||g&&!f||(o.motionBlurPxRatio=1),a&&(E=a),x*=s,E.x*=s,E.y*=s;var S=o.getCachedZSortedEles();function P(e,t,n,r,i){var a=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",o.colorFillStyle(e,255,255,255,o.motionBlurTransparency),e.fillRect(t,n,r,i),e.globalCompositeOperation=a}function D(e,r){var s,l,c,d;o.clearingMotionBlur||e!==u.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&e!==u.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(s=E,l=x,c=o.canvasWidth,d=o.canvasHeight):(s={x:w.x*p,y:w.y*p},l=b*p,c=o.canvasWidth*p,d=o.canvasHeight*p),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?P(e,0,0,c,d):t||void 0!==r&&!r||e.clearRect(0,0,c,d),n||(e.translate(s.x,s.y),e.scale(l,l)),a&&e.translate(a.x,a.y),i&&e.scale(i,i)}if(d||(o.textureDrawLastFrame=!1),d){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=l.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var T=o.data.bufferContexts[o.TEXTURE_BUFFER];T.setTransform(1,0,0,1,0,0),T.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:T,drawOnlyNodeLayer:!0,forcedPxRatio:s*o.textureMult}),(k=o.textureCache.viewport={zoom:l.zoom(),pan:l.pan(),width:o.canvasWidth,height:o.canvasHeight}).mpan={x:(0-k.pan.x)/k.zoom,y:(0-k.pan.y)/k.zoom}}c[o.DRAG]=!1,c[o.NODE]=!1;var M=u.contexts[o.NODE],B=o.textureCache.texture;k=o.textureCache.viewport;M.setTransform(1,0,0,1,0,0),h?P(M,0,0,k.width,k.height):M.clearRect(0,0,k.width,k.height);var _=m.core("outside-texture-bg-color").value,N=m.core("outside-texture-bg-opacity").value;o.colorFillStyle(M,_[0],_[1],_[2],N),M.fillRect(0,0,k.width,k.height);b=l.zoom();D(M,!1),M.clearRect(k.mpan.x,k.mpan.y,k.width/k.zoom/s,k.height/k.zoom/s),M.drawImage(B,k.mpan.x,k.mpan.y,k.width/k.zoom/s,k.height/k.zoom/s)}else o.textureOnViewport&&!t&&(o.textureCache=null);var I=l.extent(),z=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),L=o.hideEdgesOnViewport&&z,A=[];if(A[o.NODE]=!c[o.NODE]&&h&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,A[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),A[o.DRAG]=!c[o.DRAG]&&h&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,A[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),c[o.NODE]||n||r||A[o.NODE]){var O=h&&!A[o.NODE]&&1!==p;D(M=t||(O?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:u.contexts[o.NODE]),h&&!O?"motionBlur":void 0),L?o.drawCachedNodes(M,S.nondrag,s,I):o.drawLayeredElements(M,S.nondrag,s,I),o.debug&&o.drawDebugPoints(M,S.nondrag),n||h||(c[o.NODE]=!1)}if(!r&&(c[o.DRAG]||n||A[o.DRAG])){O=h&&!A[o.DRAG]&&1!==p;D(M=t||(O?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:u.contexts[o.DRAG]),h&&!O?"motionBlur":void 0),L?o.drawCachedNodes(M,S.drag,s,I):o.drawCachedElements(M,S.drag,s,I),o.debug&&o.drawDebugPoints(M,S.drag),n||h||(c[o.DRAG]=!1)}if(o.showFps||!r&&c[o.SELECT_BOX]&&!n){if(D(M=t||u.contexts[o.SELECT_BOX]),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){b=o.cy.zoom();var R=m.core("selection-box-border-width").value/b;M.lineWidth=R,M.fillStyle="rgba("+m.core("selection-box-color").value[0]+","+m.core("selection-box-color").value[1]+","+m.core("selection-box-color").value[2]+","+m.core("selection-box-opacity").value+")",M.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),R>0&&(M.strokeStyle="rgba("+m.core("selection-box-border-color").value[0]+","+m.core("selection-box-border-color").value[1]+","+m.core("selection-box-border-color").value[2]+","+m.core("selection-box-opacity").value+")",M.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(u.bgActivePosistion&&!o.hoverData.selecting){b=o.cy.zoom();var V=u.bgActivePosistion;M.fillStyle="rgba("+m.core("active-bg-color").value[0]+","+m.core("active-bg-color").value[1]+","+m.core("active-bg-color").value[2]+","+m.core("active-bg-opacity").value+")",M.beginPath(),M.arc(V.x,V.y,m.core("active-bg-size").pfValue/b,0,2*Math.PI),M.fill()}var F=o.lastRedrawTime;if(o.showFps&&F){F=Math.round(F);var q=Math.round(1e3/F);M.setTransform(1,0,0,1,0,0),M.fillStyle="rgba(255, 0, 0, 0.75)",M.strokeStyle="rgba(255, 0, 0, 0.75)",M.lineWidth=1,M.fillText("1 frame = "+F+" ms = "+q+" fps",0,20);M.strokeRect(0,30,250,20),M.fillRect(0,30,250*Math.min(q/60,1),20)}n||(c[o.SELECT_BOX]=!1)}if(h&&1!==p){var j=u.contexts[o.NODE],Y=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],X=u.contexts[o.DRAG],W=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],H=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!y?e.clearRect(0,0,o.canvasWidth,o.canvasHeight):P(e,0,0,o.canvasWidth,o.canvasHeight);var r=p;e.drawImage(t,0,0,o.canvasWidth*r,o.canvasHeight*r,0,0,o.canvasWidth,o.canvasHeight)};(c[o.NODE]||A[o.NODE])&&(H(j,Y,A[o.NODE]),c[o.NODE]=!1),(c[o.DRAG]||A[o.DRAG])&&(H(X,W,A[o.DRAG]),c[o.DRAG]=!1)}o.prevViewport=k,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),h&&(o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!d,o.mbFrames=0,c[o.NODE]=!0,c[o.DRAG]=!0,o.redraw()}),100)),t||l.emit("render")};for(var Vs={drawPolygonPath:function(e,t,n,r,i,a){var o=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*a[0],n+s*a[1]);for(var l=1;l<a.length/2;l++)e.lineTo(t+o*a[2*l],n+s*a[2*l+1]);e.closePath()},drawRoundPolygonPath:function(e,t,n,r,i,a){var o=r/2,s=i/2,l=Vt(r,i);e.beginPath&&e.beginPath();for(var u=0;u<a.length/4;u++){var c,d=void 0;d=0===u?a.length-2:4*u-2,c=4*u+2;var h=t+o*a[4*u],p=n+s*a[4*u+1],f=-a[d]*a[c]-a[d+1]*a[c+1],g=l/Math.tan(Math.acos(f)/2),v=h-g*a[d],y=p-g*a[d+1],m=h+g*a[c],b=p+g*a[c+1];0===u?e.moveTo(v,y):e.lineTo(v,y),e.arcTo(h,p,m,b,l)}e.closePath()},drawRoundRectanglePath:function(e,t,n,r,i){var a=r/2,o=i/2,s=Rt(r,i);e.beginPath&&e.beginPath(),e.moveTo(t,n-o),e.arcTo(t+a,n-o,t+a,n,s),e.arcTo(t+a,n+o,t,n+o,s),e.arcTo(t-a,n+o,t-a,n,s),e.arcTo(t-a,n-o,t,n-o,s),e.lineTo(t,n-o),e.closePath()},drawBottomRoundRectanglePath:function(e,t,n,r,i){var a=r/2,o=i/2,s=Rt(r,i);e.beginPath&&e.beginPath(),e.moveTo(t,n-o),e.lineTo(t+a,n-o),e.lineTo(t+a,n),e.arcTo(t+a,n+o,t,n+o,s),e.arcTo(t-a,n+o,t-a,n,s),e.lineTo(t-a,n-o),e.lineTo(t,n-o),e.closePath()},drawCutRectanglePath:function(e,t,n,r,i){var a=r/2,o=i/2;e.beginPath&&e.beginPath(),e.moveTo(t-a+8,n-o),e.lineTo(t+a-8,n-o),e.lineTo(t+a,n-o+8),e.lineTo(t+a,n+o-8),e.lineTo(t+a-8,n+o),e.lineTo(t-a+8,n+o),e.lineTo(t-a,n+o-8),e.lineTo(t-a,n-o+8),e.closePath()},drawBarrelPath:function(e,t,n,r,i){var a=r/2,o=i/2,s=t-a,l=t+a,u=n-o,c=n+o,d=Ft(r,i),h=d.widthOffset,p=d.heightOffset,f=d.ctrlPtOffsetPct*h;e.beginPath&&e.beginPath(),e.moveTo(s,u+p),e.lineTo(s,c-p),e.quadraticCurveTo(s+f,c,s+h,c),e.lineTo(l-h,c),e.quadraticCurveTo(l-f,c,l,c-p),e.lineTo(l,u+p),e.quadraticCurveTo(l-f,u,l-h,u),e.lineTo(s+h,u),e.quadraticCurveTo(s+f,u,s,u+p),e.closePath()}},Fs=Math.sin(0),qs=Math.cos(0),js={},Ys={},Xs=Math.PI/40,Ws=0*Math.PI;Ws<2*Math.PI;Ws+=Xs)js[Ws]=Math.sin(Ws),Ys[Ws]=Math.cos(Ws);Vs.drawEllipsePath=function(e,t,n,r,i){if(e.beginPath&&e.beginPath(),e.ellipse)e.ellipse(t,n,r/2,i/2,0,0,2*Math.PI);else for(var a,o,s=r/2,l=i/2,u=0*Math.PI;u<2*Math.PI;u+=Xs)a=t-s*js[u]*Fs+s*Ys[u]*qs,o=n+l*Ys[u]*Fs+l*js[u]*qs,0===u?e.moveTo(a,o):e.lineTo(a,o);e.closePath()};var Hs={};function Ks(e){var t=e.indexOf(",");return e.substr(t+1)}function Gs(e,t,n){var r=function(){return t.toDataURL(n,e.quality)};switch(e.output){case"blob-promise":return new $n((function(r,i){try{t.toBlob((function(e){null!=e?r(e):i(new Error("`canvas.toBlob()` sent a null value in its callback"))}),n,e.quality)}catch(e){i(e)}}));case"blob":return function(e,t){for(var n=atob(e),r=new ArrayBuffer(n.length),i=new Uint8Array(r),a=0;a<n.length;a++)i[a]=n.charCodeAt(a);return new Blob([r],{type:t})}(Ks(r()),n);case"base64":return Ks(r());case"base64uri":default:return r()}}Hs.createBuffer=function(e,t){var n=document.createElement("canvas");return n.width=e,n.height=t,[n,n.getContext("2d")]},Hs.bufferCanvasImage=function(e){var t=this.cy,n=t.mutableElements().boundingBox(),r=this.findContainerClientCoords(),i=e.full?Math.ceil(n.w):r[2],a=e.full?Math.ceil(n.h):r[3],o=y(e.maxWidth)||y(e.maxHeight),s=this.getPixelRatio(),l=1;if(void 0!==e.scale)i*=e.scale,a*=e.scale,l=e.scale;else if(o){var u=1/0,c=1/0;y(e.maxWidth)&&(u=l*e.maxWidth/i),y(e.maxHeight)&&(c=l*e.maxHeight/a),i*=l=Math.min(u,c),a*=l}o||(i*=s,a*=s,l*=s);var d=document.createElement("canvas");d.width=i,d.height=a,d.style.width=i+"px",d.style.height=a+"px";var h=d.getContext("2d");if(i>0&&a>0){h.clearRect(0,0,i,a),h.globalCompositeOperation="source-over";var p=this.getCachedZSortedEles();if(e.full)h.translate(-n.x1*l,-n.y1*l),h.scale(l,l),this.drawElements(h,p),h.scale(1/l,1/l),h.translate(n.x1*l,n.y1*l);else{var f=t.pan(),g={x:f.x*l,y:f.y*l};l*=t.zoom(),h.translate(g.x,g.y),h.scale(l,l),this.drawElements(h,p),h.scale(1/l,1/l),h.translate(-g.x,-g.y)}e.bg&&(h.globalCompositeOperation="destination-over",h.fillStyle=e.bg,h.rect(0,0,i,a),h.fill())}return d},Hs.png=function(e){return Gs(e,this.bufferCanvasImage(e),"image/png")},Hs.jpg=function(e){return Gs(e,this.bufferCanvasImage(e),"image/jpeg")};var Zs={nodeShapeImpl:function(e,t,n,r,i,a,o){switch(e){case"ellipse":return this.drawEllipsePath(t,n,r,i,a);case"polygon":return this.drawPolygonPath(t,n,r,i,a,o);case"round-polygon":return this.drawRoundPolygonPath(t,n,r,i,a,o);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(t,n,r,i,a);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(t,n,r,i,a);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(t,n,r,i,a);case"barrel":return this.drawBarrelPath(t,n,r,i,a)}}},Us=Qs,$s=Qs.prototype;function Qs(e){var t=this;t.data={canvases:new Array($s.CANVAS_LAYERS),contexts:new Array($s.CANVAS_LAYERS),canvasNeedsRedraw:new Array($s.CANVAS_LAYERS),bufferCanvases:new Array($s.BUFFER_COUNT),bufferContexts:new Array($s.CANVAS_LAYERS)};t.data.canvasContainer=document.createElement("div");var n=t.data.canvasContainer.style;t.data.canvasContainer.style["-webkit-tap-highlight-color"]="rgba(0,0,0,0)",n.position="relative",n.zIndex="0",n.overflow="hidden";var r=e.cy.container();r.appendChild(t.data.canvasContainer),r.style["-webkit-tap-highlight-color"]="rgba(0,0,0,0)";var i={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};s&&s.userAgent.match(/msie|trident|edge/i)&&(i["-ms-touch-action"]="none",i["touch-action"]="none");for(var a=0;a<$s.CANVAS_LAYERS;a++){var o=t.data.canvases[a]=document.createElement("canvas");t.data.contexts[a]=o.getContext("2d"),Object.keys(i).forEach((function(e){o.style[e]=i[e]})),o.style.position="absolute",o.setAttribute("data-id","layer"+a),o.style.zIndex=String($s.CANVAS_LAYERS-a),t.data.canvasContainer.appendChild(o),t.data.canvasNeedsRedraw[a]=!1}t.data.topCanvas=t.data.canvases[0],t.data.canvases[$s.NODE].setAttribute("data-id","layer"+$s.NODE+"-node"),t.data.canvases[$s.SELECT_BOX].setAttribute("data-id","layer"+$s.SELECT_BOX+"-selectbox"),t.data.canvases[$s.DRAG].setAttribute("data-id","layer"+$s.DRAG+"-drag");for(a=0;a<$s.BUFFER_COUNT;a++)t.data.bufferCanvases[a]=document.createElement("canvas"),t.data.bufferContexts[a]=t.data.bufferCanvases[a].getContext("2d"),t.data.bufferCanvases[a].style.position="absolute",t.data.bufferCanvases[a].setAttribute("data-id","buffer"+a),t.data.bufferCanvases[a].style.zIndex=String(-a-1),t.data.bufferCanvases[a].style.visibility="hidden";t.pathsEnabled=!0;var l=ht(),u=function(e){return{x:-e.w/2,y:-e.h/2}},c=function(e){return e.boundingBox(),e[0]._private.bodyBounds},d=function(e){return e.boundingBox(),e[0]._private.labelBounds.main||l},h=function(e){return e.boundingBox(),e[0]._private.labelBounds.source||l},p=function(e){return e.boundingBox(),e[0]._private.labelBounds.target||l},f=function(e,t){return t},g=function(e,t,n){var r=e?e+"-":"";return{x:t.x+n.pstyle(r+"text-margin-x").pfValue,y:t.y+n.pstyle(r+"text-margin-y").pfValue}},v=function(e,t,n){var r=e[0]._private.rscratch;return{x:r[t],y:r[n]}},y=t.data.eleTxrCache=new ps(t,{getKey:function(e){return e[0]._private.nodeKey},doesEleInvalidateKey:function(e){var t=e[0]._private;return!(t.oldBackgroundTimestamp===t.backgroundTimestamp)},drawElement:function(e,n,r,i,a){return t.drawElement(e,n,r,!1,!1,a)},getBoundingBox:c,getRotationPoint:function(e){return{x:((t=c(e)).x1+t.x2)/2,y:(t.y1+t.y2)/2};var t},getRotationOffset:function(e){return u(c(e))},allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),m=t.data.lblTxrCache=new ps(t,{getKey:function(e){return e[0]._private.labelStyleKey},drawElement:function(e,n,r,i,a){return t.drawElementText(e,n,r,i,"main",a)},getBoundingBox:d,getRotationPoint:function(e){return g("",v(e,"labelX","labelY"),e)},getRotationOffset:function(e){var t=d(e),n=u(d(e));if(e.isNode()){switch(e.pstyle("text-halign").value){case"left":n.x=-t.w;break;case"right":n.x=0}switch(e.pstyle("text-valign").value){case"top":n.y=-t.h;break;case"bottom":n.y=0}}return n},isVisible:f}),b=t.data.slbTxrCache=new ps(t,{getKey:function(e){return e[0]._private.sourceLabelStyleKey},drawElement:function(e,n,r,i,a){return t.drawElementText(e,n,r,i,"source",a)},getBoundingBox:h,getRotationPoint:function(e){return g("source",v(e,"sourceLabelX","sourceLabelY"),e)},getRotationOffset:function(e){return u(h(e))},isVisible:f}),x=t.data.tlbTxrCache=new ps(t,{getKey:function(e){return e[0]._private.targetLabelStyleKey},drawElement:function(e,n,r,i,a){return t.drawElementText(e,n,r,i,"target",a)},getBoundingBox:p,getRotationPoint:function(e){return g("target",v(e,"targetLabelX","targetLabelY"),e)},getRotationOffset:function(e){return u(p(e))},isVisible:f}),w=t.data.lyrTxrCache=new gs(t);t.onUpdateEleCalcs((function(e,t){y.invalidateElements(t),m.invalidateElements(t),b.invalidateElements(t),x.invalidateElements(t),w.invalidateElements(t);for(var n=0;n<t.length;n++){var r=t[n]._private;r.oldBackgroundTimestamp=r.backgroundTimestamp}}));var E=function(e){for(var t=0;t<e.length;t++)w.enqueueElementRefinement(e[t].ele)};y.onDequeue(E),m.onDequeue(E),b.onDequeue(E),x.onDequeue(E)}$s.CANVAS_LAYERS=3,$s.SELECT_BOX=0,$s.DRAG=1,$s.NODE=2,$s.BUFFER_COUNT=3,$s.TEXTURE_BUFFER=0,$s.MOTIONBLUR_BUFFER_NODE=1,$s.MOTIONBLUR_BUFFER_DRAG=2,$s.redrawHint=function(e,t){var n=this;switch(e){case"eles":n.data.canvasNeedsRedraw[$s.NODE]=t;break;case"drag":n.data.canvasNeedsRedraw[$s.DRAG]=t;break;case"select":n.data.canvasNeedsRedraw[$s.SELECT_BOX]=t}};var Js="undefined"!=typeof Path2D;$s.path2dEnabled=function(e){if(void 0===e)return this.pathsEnabled;this.pathsEnabled=!!e},$s.usePaths=function(){return Js&&this.pathsEnabled},$s.setImgSmoothing=function(e,t){null!=e.imageSmoothingEnabled?e.imageSmoothingEnabled=t:(e.webkitImageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t,e.msImageSmoothingEnabled=t)},$s.getImgSmoothing=function(e){return null!=e.imageSmoothingEnabled?e.imageSmoothingEnabled:e.webkitImageSmoothingEnabled||e.mozImageSmoothingEnabled||e.msImageSmoothingEnabled},$s.makeOffscreenCanvas=function(t,n){var r;return"undefined"!==("undefined"==typeof OffscreenCanvas?"undefined":e(OffscreenCanvas))?r=new OffscreenCanvas(t,n):((r=document.createElement("canvas")).width=t,r.height=n),r},[xs,Ps,Is,zs,Ls,Os,Rs,Vs,Hs,Zs].forEach((function(e){I($s,e)}));var el=[{type:"layout",extensions:Ao},{type:"renderer",extensions:[{name:"null",impl:Oo},{name:"base",impl:ss},{name:"canvas",impl:Us}]}],tl={},nl={};function rl(e,t,n){var r=n,i=function(n){Ee("Can not register `"+t+"` for `"+e+"` since `"+n+"` already exists in the prototype and can not be overridden")};if("core"===e){if(Za.prototype[t])return i(t);Za.prototype[t]=n}else if("collection"===e){if(pa.prototype[t])return i(t);pa.prototype[t]=n}else if("layout"===e){for(var a=function(e){this.options=e,n.call(this,e),v(this._private)||(this._private={}),this._private.cy=e.cy,this._private.listeners=[],this.createEmitter()},o=a.prototype=Object.create(n.prototype),s=[],l=0;l<s.length;l++){var u=s[l];o[u]=o[u]||function(){return this}}o.start&&!o.run?o.run=function(){return this.start(),this}:!o.start&&o.run&&(o.start=function(){return this.run(),this});var c=n.prototype.stop;o.stop=function(){var e=this.options;if(e&&e.animate){var t=this.animations;if(t)for(var n=0;n<t.length;n++)t[n].stop()}return c?c.call(this):this.emit("layoutstop"),this},o.destroy||(o.destroy=function(){return this}),o.cy=function(){return this._private.cy};var d=function(e){return e._private.cy},h={addEventFields:function(e,t){t.layout=e,t.cy=d(e),t.target=e},bubble:function(){return!0},parent:function(e){return d(e)}};I(o,{createEmitter:function(){return this._private.emitter=new Ni(h,this),this},emitter:function(){return this._private.emitter},on:function(e,t){return this.emitter().on(e,t),this},one:function(e,t){return this.emitter().one(e,t),this},once:function(e,t){return this.emitter().one(e,t),this},removeListener:function(e,t){return this.emitter().removeListener(e,t),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(e,t){return this.emitter().emit(e,t),this}}),er.eventAliasesOn(o),r=a}else if("renderer"===e&&"null"!==t&&"base"!==t){var p=il("renderer","base"),f=p.prototype,g=n,y=n.prototype,m=function(){p.apply(this,arguments),g.apply(this,arguments)},b=m.prototype;for(var x in f){var w=f[x];if(null!=y[x])return i(x);b[x]=w}for(var E in y)b[E]=y[E];f.clientFunctions.forEach((function(e){b[e]=b[e]||function(){Ee("Renderer does not implement `renderer."+e+"()` on its prototype")}})),r=m}return A({map:tl,keys:[e,t],value:r})}function il(e,t){return O({map:tl,keys:[e,t]})}function al(e,t,n,r,i){return A({map:nl,keys:[e,t,n,r],value:i})}function ol(e,t,n,r){return O({map:nl,keys:[e,t,n,r]})}var sl=function(){return 2===arguments.length?il.apply(null,arguments):3===arguments.length?rl.apply(null,arguments):4===arguments.length?ol.apply(null,arguments):5===arguments.length?al.apply(null,arguments):void Ee("Invalid extension access syntax")};Za.prototype.extension=sl,el.forEach((function(e){e.extensions.forEach((function(t){rl(e.type,t.name,t.impl)}))}));var ll=function e(){if(!(this instanceof e))return new e;this.length=0},ul=ll.prototype;ul.instanceString=function(){return"stylesheet"},ul.selector=function(e){return this[this.length++]={selector:e,properties:[]},this},ul.css=function(e,t){var n=this.length-1;if(p(e))this[n].properties.push({name:e,value:t});else if(v(e))for(var r=e,i=Object.keys(r),a=0;a<i.length;a++){var o=i[a],s=r[o];if(null!=s){var l=Xa.properties[o]||Xa.properties[T(o)];if(null!=l){var u=l.name,c=s;this[n].properties.push({name:u,value:c})}}}return this},ul.style=ul.css,ul.generateStyle=function(e){var t=new Xa(e);return this.appendToStyle(t)},ul.appendToStyle=function(e){for(var t=0;t<this.length;t++){var n=this[t],r=n.selector,i=n.properties;e.selector(r);for(var a=0;a<i.length;a++){var o=i[a];e.css(o.name,o.value)}}return e};var cl=function(e){return void 0===e&&(e={}),v(e)?new Za(e):p(e)?sl.apply(sl,arguments):void 0};return cl.use=function(e){var t=Array.prototype.slice.call(arguments,1);return t.unshift(cl),e.apply(null,t),this},cl.warnings=function(e){return ke(e)},cl.version="3.19.0",cl.stylesheet=cl.Stylesheet=ll,cl}));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
51 </script>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
52 <script >/*! jQuery UI - v1.12.1 - 2016-09-14
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
53 * http://jqueryui.com
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
54 * Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
55 * Copyright jQuery Foundation and other contributors; Licensed MIT */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
56
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
57 (function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=t.css("visibility");"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}function i(t){for(var e,i;t.length&&t[0]!==document;){if(e=t.css("position"),("absolute"===e||"relative"===e||"fixed"===e)&&(i=parseInt(t.css("zIndex"),10),!isNaN(i)&&0!==i))return i;t=t.parent()}return 0}function s(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=n(t("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function n(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",i,o)}function o(){t.datepicker._isDisabledDatepicker(m.inline?m.dpDiv.parent()[0]:m.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function a(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}function r(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t.ui=t.ui||{},t.ui.version="1.12.1";var h=0,l=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},h=e.split(".")[0];e=e.split(".")[1];var l=h+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][l.toLowerCase()]=function(e){return!!t.data(e,l)},t[h]=t[h]||{},n=t[h][e],o=t[h][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:h,widgetName:e,widgetFullName:l}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,s,n=l.call(arguments,1),o=0,a=n.length;a>o;o++)for(i in n[o])s=n[o][i],n[o].hasOwnProperty(i)&&void 0!==s&&(e[i]=t.isPlainObject(s)?t.isPlainObject(e[i])?t.widget.extend({},e[i],s):t.widget.extend({},s):s);return e},t.widget.bridge=function(e,i){var s=i.prototype.widgetFullName||e;t.fn[e]=function(n){var o="string"==typeof n,a=l.call(arguments,1),r=this;return o?this.length||"instance"!==n?this.each(function(){var i,o=t.data(this,s);return"instance"===n?(r=o,!1):o?t.isFunction(o[n])&&"_"!==n.charAt(0)?(i=o[n].apply(o,a),i!==o&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+n+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+n+"'")}):r=void 0:(a.length&&(n=t.widget.extend.apply(null,[n].concat(a))),this.each(function(){var e=t.data(this,s);e?(e.option(n||{}),e._init&&e._init()):t.data(this,s,new i(n,this))})),r}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,i){i=t(i||this.defaultElement||this)[0],this.element=t(i),this.uuid=h++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},i!==this&&(t.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===i&&this.destroy()}}),this.document=t(i.style?i.ownerDocument:i.document||i),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,g,m,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),k={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,g=_.offset,m=t.extend({},g),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):h.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=h.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),k[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?m.left+=p:"center"===n.at[0]&&(m.left+=p/2),"bottom"===n.at[1]?m.top+=f:"center"===n.at[1]&&(m.top+=f/2),u=e(k.at,p,f),m.left+=u[0],m.top+=u[1],this.each(function(){var s,r,h=t(this),l=h.outerWidth(),c=h.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),x=l+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},m),I=e(k.my,h.outerWidth(),h.outerHeight());"right"===n.my[0]?D.left-=l:"center"===n.my[0]&&(D.left-=l/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=I[0],D.top+=I[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:l,elemHeight:c,collisionPosition:s,collisionWidth:x,collisionHeight:C,offset:[u[0]+I[0],u[1]+I[1]],my:n.my,at:n.at,within:b,elem:h})}),n.using&&(r=function(t){var e=g.left-D.left,i=e+p-l,s=g.top-D.top,r=s+f-c,u={target:{element:v,left:g.left,top:g.top,width:p,height:f},element:{element:h,left:D.left,top:D.top,width:l,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-h,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}});var c="ui-effects-",u="ui-effects-style",d="ui-effects-animated",p=t;t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(t,o){var a,r=o.re.exec(i),h=r&&o.parse(r),l=o.space||"rgba";return h?(a=s[l](h),s[c[l].cache]=a[c[l].cache],n=s._rgba=a._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,o.transparent),s):o[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var o,a="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],l=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=t("<p>")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),l.fn=t.extend(l.prototype,{parse:function(n,a,r,h){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(a),a=e);var u=this,d=t.type(n),p=this._rgba=[];return a!==e&&(n=[n,a,r,h],d="array"),"string"===d?this.parse(s(n)||o._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof l?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var o=s.cache;f(s.props,function(t,e){if(!u[o]&&s.to){if("alpha"===t||null==n[t])return;u[o]=s.to(u._rgba)}u[o][e.idx]=i(n[t],e,!0)}),u[o]&&0>t.inArray(null,u[o].slice(0,3))&&(u[o][3]=1,s.from&&(u._rgba=s.from(u[o])))}),this):e},is:function(t){var i=l(t),s=!0,n=this;return f(c,function(t,o){var a,r=i[o.cache];return r&&(a=n[o.cache]||o.to&&o.to(n._rgba)||[],f(o.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===a[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=l(t),n=s._space(),o=c[n],a=0===this.alpha()?l("transparent"):this,r=a[o.cache]||o.to(a._rgba),h=r.slice();return s=s[o.cache],f(o.props,function(t,n){var o=n.idx,a=r[o],l=s[o],c=u[n.type]||{};null!==l&&(null===a?h[o]=l:(c.mod&&(l-a>c.mod/2?a+=c.mod:a-l>c.mod/2&&(a-=c.mod)),h[o]=i((l-a)*e+a,n)))}),this[n](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(e)._rgba;return l(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,o=t[2]/255,a=t[3],r=Math.max(s,n,o),h=Math.min(s,n,o),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-o)/l+360:n===r?60*(o-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=u?l/c:l/(2-c),[Math.round(e)%360,i,u,null==a?1:a]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],o=t[3],a=.5>=s?s*(1+i):s+i-s*i,r=2*s-a;return[Math.round(255*n(r,a,e+1/3)),Math.round(255*n(r,a,e)),Math.round(255*n(r,a,e-1/3)),o]},f(c,function(s,n){var o=n.props,a=n.cache,h=n.to,c=n.from;l.fn[s]=function(s){if(h&&!this[a]&&(this[a]=h(this._rgba)),s===e)return this[a].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[a].slice();return f(o,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=l(c(d)),n[a]=d,n):l(d)},f(o,function(e,i){l.fn[e]||(l.fn[e]=function(n){var o,a=t.type(n),h="alpha"===e?this._hsla?"hsla":"rgba":s,l=this[h](),c=l[i.idx];return"undefined"===a?c:("function"===a&&(n=n.call(this,c),a=t.type(n)),null==n&&i.empty?this:("string"===a&&(o=r.exec(n),o&&(n=c+parseFloat(o[2])*("+"===o[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var o,a,r="";if("transparent"!==n&&("string"!==t.type(n)||(o=s(n)))){if(n=l(o||n),!d.rgba&&1!==n._rgba[3]){for(a="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&a&&a.style;)try{r=t.css(a,"backgroundColor"),a=a.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(h){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=l(e.elem,i),e.end=l(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},l.hook(a),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},o=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(p),function(){function e(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(o[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(o[i]=n[i]);return o}function i(e,i){var s,o,a={};for(s in i)o=i[s],e[s]!==o&&(n[s]||(t.fx.step[s]||!isNaN(parseFloat(o)))&&(a[s]=o));return a}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(p.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(n,o,a,r){var h=t.speed(o,a,r);return this.queue(function(){var o,a=t(this),r=a.attr("class")||"",l=h.children?a.find("*").addBack():a;l=l.map(function(){var i=t(this);return{el:i,start:e(this)}}),o=function(){t.each(s,function(t,e){n[e]&&a[e+"Class"](n[e])})},o(),l=l.map(function(){return this.end=e(this.el[0]),this.diff=i(this.start,this.end),this}),a.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){o(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(a[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,o){return s?t.effects.animateClass.call(this,{add:i},s,n,o):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(e){return function(i,s,n,o,a){return"boolean"==typeof s||void 0===s?n?t.effects.animateClass.call(this,s?{add:i}:{remove:i},n,o,a):e.apply(this,arguments):t.effects.animateClass.call(this,{toggle:i},s,n,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,o){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,o)}})}(),function(){function e(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function i(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}function s(t,e){var i=e.outerWidth(),s=e.outerHeight(),n=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/,o=n.exec(t)||["",0,i,s,0];return{top:parseFloat(o[1])||0,right:"auto"===o[2]?i:parseFloat(o[2]),bottom:"auto"===o[3]?s:parseFloat(o[3]),left:parseFloat(o[4])||0}}t.expr&&t.expr.filters&&t.expr.filters.animated&&(t.expr.filters.animated=function(e){return function(i){return!!t(i).data(d)||e(i)}}(t.expr.filters.animated)),t.uiBackCompat!==!1&&t.extend(t.effects,{save:function(t,e){for(var i=0,s=e.length;s>i;i++)null!==e[i]&&t.data(c+e[i],t[0].style[e[i]])},restore:function(t,e){for(var i,s=0,n=e.length;n>s;s++)null!==e[s]&&(i=t.data(c+e[s]),t.css(e[s],i))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(a){o=document.body}return e.wrap(s),(e[0]===o||t.contains(e[0],o))&&t(o).trigger("focus"),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).trigger("focus")),e}}),t.extend(t.effects,{version:"1.12.1",define:function(e,i,s){return s||(s=i,i="effect"),t.effects.effect[e]=s,t.effects.effect[e].mode=i,s},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var s="horizontal"!==i?(e||100)/100:1,n="vertical"!==i?(e||100)/100:1;return{height:t.height()*n,width:t.width()*s,outerHeight:t.outerHeight()*n,outerWidth:t.outerWidth()*s}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();e>1&&s.splice.apply(s,[1,0].concat(s.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data(u,t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data(u)||"",t.removeData(u)},mode:function(t,e){var i=t.is(":hidden");return"toggle"===e&&(e=i?"show":"hide"),(i?"hide"===e:"show"===e)&&(e="none"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createPlaceholder:function(e){var i,s=e.css("position"),n=e.position();return e.css({marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()),/^(static|relative)/.test(s)&&(s="absolute",i=t("<"+e[0].nodeName+">").insertAfter(e).css({display:/^(inline|ruby)/.test(e.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight"),"float":e.css("float")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).addClass("ui-effects-placeholder"),e.data(c+"placeholder",i)),e.css({position:s,left:n.left,top:n.top}),i},removePlaceholder:function(t){var e=c+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(e){t.effects.restoreStyle(e),t.effects.removePlaceholder(e)},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var o=e.cssUnit(i);o[0]>0&&(n[i]=o[0]*s+o[1])}),n}}),t.fn.extend({effect:function(){function i(e){function i(){r.removeData(d),t.effects.cleanUp(r),"hide"===s.mode&&r.hide(),a()}function a(){t.isFunction(h)&&h.call(r[0]),t.isFunction(e)&&e()}var r=t(this);s.mode=c.shift(),t.uiBackCompat===!1||o?"none"===s.mode?(r[l](),a()):n.call(r[0],s,i):(r.is(":hidden")?"hide"===l:"show"===l)?(r[l](),a()):n.call(r[0],s,a)}var s=e.apply(this,arguments),n=t.effects.effect[s.effect],o=n.mode,a=s.queue,r=a||"fx",h=s.complete,l=s.mode,c=[],u=function(e){var i=t(this),s=t.effects.mode(i,l)||o;i.data(d,!0),c.push(s),o&&("show"===s||s===o&&"hide"===s)&&i.show(),o&&"none"===s||t.effects.saveStyle(i),t.isFunction(e)&&e()};return t.fx.off||!n?l?this[l](s.duration,h):this.each(function(){h&&h.call(this)}):a===!1?this.each(u).each(i):this.queue(r,u).queue(r,i)},show:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="show",this.effect.call(this,n)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
58 }}(t.fn.show),hide:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(t.fn.hide),toggle:function(t){return function(s){if(i(s)||"boolean"==typeof s)return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):s(this.css("clip"),this)},transfer:function(e,i){var s=t(this),n=t(e.to),o="fixed"===n.css("position"),a=t("body"),r=o?a.scrollTop():0,h=o?a.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("<div class='ui-effects-transfer'></div>").appendTo("body").addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:o?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),t.isFunction(i)&&i()})}}),t.fx.step.clip=function(e){e.clipInit||(e.start=t(e.elem).cssClip(),"string"==typeof e.end&&(e.end=s(e.end,e.elem)),e.clipInit=!0),t(e.elem).cssClip({top:e.pos*(e.end.top-e.start.top)+e.start.top,right:e.pos*(e.end.right-e.start.right)+e.start.right,bottom:e.pos*(e.end.bottom-e.start.bottom)+e.start.bottom,left:e.pos*(e.end.left-e.start.left)+e.start.left})}}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}();var f=t.effects;t.effects.define("blind","hide",function(e,i){var s={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},n=t(this),o=e.direction||"up",a=n.cssClip(),r={clip:t.extend({},a)},h=t.effects.createPlaceholder(n);r.clip[s[o][0]]=r.clip[s[o][1]],"show"===e.mode&&(n.cssClip(r.clip),h&&h.css(t.effects.clipToBox(r)),r.clip=a),h&&h.animate(t.effects.clipToBox(r),e.duration,e.easing),n.animate(r,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("bounce",function(e,i){var s,n,o,a=t(this),r=e.mode,h="hide"===r,l="show"===r,c=e.direction||"up",u=e.distance,d=e.times||5,p=2*d+(l||h?1:0),f=e.duration/p,g=e.easing,m="up"===c||"down"===c?"top":"left",_="up"===c||"left"===c,v=0,b=a.queue().length;for(t.effects.createPlaceholder(a),o=a.css(m),u||(u=a["top"===m?"outerHeight":"outerWidth"]()/3),l&&(n={opacity:1},n[m]=o,a.css("opacity",0).css(m,_?2*-u:2*u).animate(n,f,g)),h&&(u/=Math.pow(2,d-1)),n={},n[m]=o;d>v;v++)s={},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g).animate(n,f,g),u=h?2*u:u/2;h&&(s={opacity:0},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g)),a.queue(i),t.effects.unshift(a,b,p+1)}),t.effects.define("clip","hide",function(e,i){var s,n={},o=t(this),a=e.direction||"vertical",r="both"===a,h=r||"horizontal"===a,l=r||"vertical"===a;s=o.cssClip(),n.clip={top:l?(s.bottom-s.top)/2:s.top,right:h?(s.right-s.left)/2:s.right,bottom:l?(s.bottom-s.top)/2:s.bottom,left:h?(s.right-s.left)/2:s.left},t.effects.createPlaceholder(o),"show"===e.mode&&(o.cssClip(n.clip),n.clip=s),o.animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("drop","hide",function(e,i){var s,n=t(this),o=e.mode,a="show"===o,r=e.direction||"left",h="up"===r||"down"===r?"top":"left",l="up"===r||"left"===r?"-=":"+=",c="+="===l?"-=":"+=",u={opacity:0};t.effects.createPlaceholder(n),s=e.distance||n["top"===h?"outerHeight":"outerWidth"](!0)/2,u[h]=l+s,a&&(n.css(u),u[h]=c+s,u.opacity=1),n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("explode","hide",function(e,i){function s(){b.push(this),b.length===u*d&&n()}function n(){p.css({visibility:"visible"}),t(b).remove(),i()}var o,a,r,h,l,c,u=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=u,p=t(this),f=e.mode,g="show"===f,m=p.show().css("visibility","hidden").offset(),_=Math.ceil(p.outerWidth()/d),v=Math.ceil(p.outerHeight()/u),b=[];for(o=0;u>o;o++)for(h=m.top+o*v,c=o-(u-1)/2,a=0;d>a;a++)r=m.left+a*_,l=a-(d-1)/2,p.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-a*_,top:-o*v}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:_,height:v,left:r+(g?l*_:0),top:h+(g?c*v:0),opacity:g?0:1}).animate({left:r+(g?0:l*_),top:h+(g?0:c*v),opacity:g?1:0},e.duration||500,e.easing,s)}),t.effects.define("fade","toggle",function(e,i){var s="show"===e.mode;t(this).css("opacity",s?0:1).animate({opacity:s?1:0},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("fold","hide",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=e.size||15,h=/([0-9]+)%/.exec(r),l=!!e.horizFirst,c=l?["right","bottom"]:["bottom","right"],u=e.duration/2,d=t.effects.createPlaceholder(s),p=s.cssClip(),f={clip:t.extend({},p)},g={clip:t.extend({},p)},m=[p[c[0]],p[c[1]]],_=s.queue().length;h&&(r=parseInt(h[1],10)/100*m[a?0:1]),f.clip[c[0]]=r,g.clip[c[0]]=r,g.clip[c[1]]=0,o&&(s.cssClip(g.clip),d&&d.css(t.effects.clipToBox(g)),g.clip=p),s.queue(function(i){d&&d.animate(t.effects.clipToBox(f),u,e.easing).animate(t.effects.clipToBox(g),u,e.easing),i()}).animate(f,u,e.easing).animate(g,u,e.easing).queue(i),t.effects.unshift(s,_,4)}),t.effects.define("highlight","show",function(e,i){var s=t(this),n={backgroundColor:s.css("backgroundColor")};"hide"===e.mode&&(n.opacity=0),t.effects.saveStyle(s),s.css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("size",function(e,i){var s,n,o,a=t(this),r=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],l=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],c=e.mode,u="effect"!==c,d=e.scale||"both",p=e.origin||["middle","center"],f=a.css("position"),g=a.position(),m=t.effects.scaledDimensions(a),_=e.from||m,v=e.to||t.effects.scaledDimensions(a,0);t.effects.createPlaceholder(a),"show"===c&&(o=_,_=v,v=o),n={from:{y:_.height/m.height,x:_.width/m.width},to:{y:v.height/m.height,x:v.width/m.width}},("box"===d||"both"===d)&&(n.from.y!==n.to.y&&(_=t.effects.setTransition(a,h,n.from.y,_),v=t.effects.setTransition(a,h,n.to.y,v)),n.from.x!==n.to.x&&(_=t.effects.setTransition(a,l,n.from.x,_),v=t.effects.setTransition(a,l,n.to.x,v))),("content"===d||"both"===d)&&n.from.y!==n.to.y&&(_=t.effects.setTransition(a,r,n.from.y,_),v=t.effects.setTransition(a,r,n.to.y,v)),p&&(s=t.effects.getBaseline(p,m),_.top=(m.outerHeight-_.outerHeight)*s.y+g.top,_.left=(m.outerWidth-_.outerWidth)*s.x+g.left,v.top=(m.outerHeight-v.outerHeight)*s.y+g.top,v.left=(m.outerWidth-v.outerWidth)*s.x+g.left),a.css(_),("content"===d||"both"===d)&&(h=h.concat(["marginTop","marginBottom"]).concat(r),l=l.concat(["marginLeft","marginRight"]),a.find("*[width]").each(function(){var i=t(this),s=t.effects.scaledDimensions(i),o={height:s.height*n.from.y,width:s.width*n.from.x,outerHeight:s.outerHeight*n.from.y,outerWidth:s.outerWidth*n.from.x},a={height:s.height*n.to.y,width:s.width*n.to.x,outerHeight:s.height*n.to.y,outerWidth:s.width*n.to.x};n.from.y!==n.to.y&&(o=t.effects.setTransition(i,h,n.from.y,o),a=t.effects.setTransition(i,h,n.to.y,a)),n.from.x!==n.to.x&&(o=t.effects.setTransition(i,l,n.from.x,o),a=t.effects.setTransition(i,l,n.to.x,a)),u&&t.effects.saveStyle(i),i.css(o),i.animate(a,e.duration,e.easing,function(){u&&t.effects.restoreStyle(i)})})),a.animate(v,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){var e=a.offset();0===v.opacity&&a.css("opacity",_.opacity),u||(a.css("position","static"===f?"relative":f).offset(e),t.effects.saveStyle(a)),i()}})}),t.effects.define("scale",function(e,i){var s=t(this),n=e.mode,o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"effect"!==n?0:100),a=t.extend(!0,{from:t.effects.scaledDimensions(s),to:t.effects.scaledDimensions(s,o,e.direction||"both"),origin:e.origin||["middle","center"]},e);e.fade&&(a.from.opacity=1,a.to.opacity=0),t.effects.effect.size.call(this,a,i)}),t.effects.define("puff","hide",function(e,i){var s=t.extend(!0,{},e,{fade:!0,percent:parseInt(e.percent,10)||150});t.effects.effect.scale.call(this,s,i)}),t.effects.define("pulsate","show",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=o||a,h=2*(e.times||5)+(r?1:0),l=e.duration/h,c=0,u=1,d=s.queue().length;for((o||!s.is(":visible"))&&(s.css("opacity",0).show(),c=1);h>u;u++)s.animate({opacity:c},l,e.easing),c=1-c;s.animate({opacity:c},l,e.easing),s.queue(i),t.effects.unshift(s,d,h+1)}),t.effects.define("shake",function(e,i){var s=1,n=t(this),o=e.direction||"left",a=e.distance||20,r=e.times||3,h=2*r+1,l=Math.round(e.duration/h),c="up"===o||"down"===o?"top":"left",u="up"===o||"left"===o,d={},p={},f={},g=n.queue().length;for(t.effects.createPlaceholder(n),d[c]=(u?"-=":"+=")+a,p[c]=(u?"+=":"-=")+2*a,f[c]=(u?"-=":"+=")+2*a,n.animate(d,l,e.easing);r>s;s++)n.animate(p,l,e.easing).animate(f,l,e.easing);n.animate(p,l,e.easing).animate(d,l/2,e.easing).queue(i),t.effects.unshift(n,g,h+1)}),t.effects.define("slide","show",function(e,i){var s,n,o=t(this),a={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},r=e.mode,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h,u=e.distance||o["top"===l?"outerHeight":"outerWidth"](!0),d={};t.effects.createPlaceholder(o),s=o.cssClip(),n=o.position()[l],d[l]=(c?-1:1)*u+n,d.clip=o.cssClip(),d.clip[a[h][1]]=d.clip[a[h][0]],"show"===r&&(o.cssClip(d.clip),o.css(l,d[l]),d.clip=s,d[l]=n),o.animate(d,{queue:!1,duration:e.duration,easing:e.easing,complete:i})});var f;t.uiBackCompat!==!1&&(f=t.effects.define("transfer",function(e,i){t(this).transfer(e,i)})),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,.\/:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.widget("ui.accordion",{version:"1.12.1",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:"> li > :first-child, > :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),e.collapsible||e.active!==!1&&null!=e.active||(e.active=0),this._processPanels(),0>e.active&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t()}},_createIcons:function(){var e,i,s=this.options.icons;s&&(e=t("<span>"),this._addClass(e,"ui-accordion-header-icon","ui-icon "+s.header),e.prependTo(this.headers),i=this.active.children(".ui-accordion-header-icon"),this._removeClass(i,s.header)._addClass(i,null,s.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||this.options.active!==!1||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),void 0)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:o=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[s-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),t(o).trigger("focus"),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().trigger("focus")},refresh:function(){var e=this.options;this._processPanels(),e.active===!1&&e.collapsible===!0||!this.headers.length?(e.active=!1,this.active=t()):e.active===!1?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var e,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var e=t(this),i=e.uniqueId().attr("id"),s=e.next(),n=s.uniqueId().attr("id");e.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(e=n.height(),this.element.siblings(":visible").each(function(){var i=t(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(e-=i.outerHeight(!0))}),this.headers.each(function(){e-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,e-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===s&&(e=0,this.headers.next().each(function(){var i=t(this).is(":visible");i||t(this).show(),e=Math.max(e,t(this).css("height","").height()),i||t(this).hide()}).height(e))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i,s,n=this.options,o=this.active,a=t(e.currentTarget),r=a[0]===o[0],h=r&&n.collapsible,l=h?t():a.next(),c=o.next(),u={oldHeader:o,oldPanel:c,newHeader:h?t():a,newPanel:l};e.preventDefault(),r&&!n.collapsible||this._trigger("beforeActivate",e,u)===!1||(n.active=h?!1:this.headers.index(a),this.active=r?t():a,this._toggle(u),this._removeClass(o,"ui-accordion-header-active","ui-state-active"),n.icons&&(i=o.children(".ui-accordion-header-icon"),this._removeClass(i,null,n.icons.activeHeader)._addClass(i,null,n.icons.header)),r||(this._removeClass(a,"ui-accordion-header-collapsed")._addClass(a,"ui-accordion-header-active","ui-state-active"),n.icons&&(s=a.children(".ui-accordion-header-icon"),this._removeClass(s,null,n.icons.header)._addClass(s,null,n.icons.activeHeader)),this._addClass(a.next(),"ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(t(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,e,i){var s,n,o,a=this,r=0,h=t.css("box-sizing"),l=t.length&&(!e.length||t.index()<e.index()),c=this.options.animate||{},u=l&&c.down||c,d=function(){a._toggleComplete(i)};return"number"==typeof u&&(o=u),"string"==typeof u&&(n=u),n=n||u.easing||c.easing,o=o||u.duration||c.duration,e.length?t.length?(s=t.show().outerHeight(),e.animate(this.hideProps,{duration:o,easing:n,step:function(t,e){e.now=Math.round(t)}}),t.hide().animate(this.showProps,{duration:o,easing:n,complete:d,step:function(t,i){i.now=Math.round(t),"height"!==i.prop?"content-box"===h&&(r+=i.now):"content"!==a.options.heightStyle&&(i.now=Math.round(s-e.outerHeight()-r),r=0)}}),void 0):e.animate(this.hideProps,o,n,d):t.animate(this.showProps,o,n,d)},_toggleComplete:function(t){var e=t.oldPanel,i=e.prev();this._removeClass(e,"ui-accordion-content-active"),this._removeClass(i,"ui-accordion-header-active")._addClass(i,"ui-accordion-header-collapsed"),e.length&&(e.parent()[0].className=e.parent()[0].className),this._trigger("activate",null,t)}}),t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.widget("ui.menu",{version:"1.12.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,h=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=h.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("<span>").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=h.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)},_filterMenuItems:function(e){var i=e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(t.trim(t(this).children(".ui-menu-item-wrapper").text()))})}}),t.widget("ui.autocomplete",{version:"1.12.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
59 this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):this._trigger("search",e)!==!1?this._search(t):void 0},_search:function(t){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var e=++this.requestIndex;return t.proxy(function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")},this)},__response:function(t){t&&(t=this._normalize(t)),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(e){return e.length&&e[0].label&&e[0].value?e:t.map(e,function(e){return"string"==typeof e?{label:e,value:e}:t.extend({},e,{label:e.label||e.value,value:e.value||e.label})})},_suggest:function(e){var i=this.menu.element.empty();this._renderMenu(i,e),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(t.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(e,i){var s=this;t.each(i,function(t,i){s._renderItemData(e,i)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(e,i){return t("<li>").append(t("<div>").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("<div>").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete;var g=/ui-corner-([a-z]){2,6}/g;t.widget("ui.controlgroup",{version:"1.12.1",defaultElement:"<div>",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var e=this,i=[];t.each(this.options.items,function(s,n){var o,a={};return n?"controlgroupLabel"===s?(o=e.element.find(n),o.each(function(){var e=t(this);e.children(".ui-controlgroup-label-contents").length||e.contents().wrapAll("<span class='ui-controlgroup-label-contents'></span>")}),e._addClass(o,null,"ui-widget ui-widget-content ui-state-default"),i=i.concat(o.get()),void 0):(t.fn[s]&&(a=e["_"+s+"Options"]?e["_"+s+"Options"]("middle"):{classes:{}},e.element.find(n).each(function(){var n=t(this),o=n[s]("instance"),r=t.widget.extend({},a);if("button"!==s||!n.parent(".ui-spinner").length){o||(o=n[s]()[s]("instance")),o&&(r.classes=e._resolveClassesValues(r.classes,o)),n[s](r);var h=n[s]("widget");t.data(h[0],"ui-controlgroup-data",o?o:n[s]("instance")),i.push(h[0])}})),void 0):void 0}),this.childWidgets=t(t.unique(i)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each(function(){var i=t(this),s=i.data("ui-controlgroup-data");s&&s[e]&&s[e]()})},_updateCornerClass:function(t,e){var i="ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all",s=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,i),this._addClass(t,null,s)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,s={classes:{}};return s.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],s},_spinnerOptions:function(t){var e=this._buildSimpleOptions(t,"ui-spinner");return e.classes["ui-spinner-up"]="",e.classes["ui-spinner-down"]="",e},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:e?"auto":!1,classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(e,i){var s={};return t.each(e,function(n){var o=i.options.classes[n]||"";o=t.trim(o.replace(g,"")),s[n]=(o+" "+e[n]).replace(/\s+/g," ")}),s},_setOption:function(t,e){return"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"===t?(this._callChildMethod(e?"disable":"enable"),void 0):(this.refresh(),void 0)},refresh:function(){var e,i=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),e=this.childWidgets,this.options.onlyVisible&&(e=e.filter(":visible")),e.length&&(t.each(["first","last"],function(t,s){var n=e[s]().data("ui-controlgroup-data");if(n&&i["_"+n.widgetName+"Options"]){var o=i["_"+n.widgetName+"Options"](1===e.length?"only":s);o.classes=i._resolveClassesValues(o.classes,n),n.element[n.widgetName](o)}else i._updateCornerClass(e[s](),s)}),this._callChildMethod("refresh"))}}),t.widget("ui.checkboxradio",[t.ui.formResetMixin,{version:"1.12.1",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var e,i,s=this,n=this._super()||{};return this._readType(),i=this.element.labels(),this.label=t(i[i.length-1]),this.label.length||t.error("No label found for checkboxradio widget"),this.originalLabel="",this.label.contents().not(this.element[0]).each(function(){s.originalLabel+=3===this.nodeType?t(this).text():this.outerHTML}),this.originalLabel&&(n.label=this.originalLabel),e=this.element[0].disabled,null!=e&&(n.disabled=e),n},_create:function(){var t=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),t&&(this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this.icon&&this._addClass(this.icon,null,"ui-state-hover")),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var e=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===e&&/radio|checkbox/.test(this.type)||t.error("Can't create checkboxradio on element.nodeName="+e+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var e,i=this.element[0].name,s="input[name='"+t.ui.escapeSelector(i)+"']";return i?(e=this.form.length?t(this.form[0].elements).filter(s):t(s).filter(function(){return 0===t(this).form().length}),e.not(this.element)):t([])},_toggleClasses:function(){var e=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",e)._toggleClass(this.icon,null,"ui-icon-blank",!e),"radio"===this.type&&this._getRadioGroup().each(function(){var e=t(this).checkboxradio("instance");e&&e._removeClass(e.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(t,e){return"label"!==t||e?(this._super(t,e),"disabled"===t?(this._toggleClass(this.label,null,"ui-state-disabled",e),this.element[0].disabled=e,void 0):(this.refresh(),void 0)):void 0},_updateIcon:function(e){var i="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=t("<span>"),this.iconSpace=t("<span> </span>"),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(i+=e?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,e?"ui-icon-blank":"ui-icon-check")):i+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",i),e||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var t=this.label.contents().not(this.element[0]);this.icon&&(t=t.not(this.icon[0])),this.iconSpace&&(t=t.not(this.iconSpace[0])),t.remove(),this.label.append(this.options.label)},refresh:function(){var t=this.element[0].checked,e=this.element[0].disabled;this._updateIcon(t),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t),null!==this.options.label&&this._updateLabel(),e!==this.options.disabled&&this._setOptions({disabled:e})}}]),t.ui.checkboxradio,t.widget("ui.button",{version:"1.12.1",defaultElement:"<button>",options:{classes:{"ui-button":"ui-corner-all"},disabled:null,icon:null,iconPosition:"beginning",label:null,showLabel:!0},_getCreateOptions:function(){var t,e=this._super()||{};return this.isInput=this.element.is("input"),t=this.element[0].disabled,null!=t&&(e.disabled=t),this.originalLabel=this.isInput?this.element.val():this.element.html(),this.originalLabel&&(e.label=this.originalLabel),e},_create:function(){!this.option.showLabel&!this.options.icon&&(this.options.showLabel=!0),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled||!1),this.hasTitle=!!this.element.attr("title"),this.options.label&&this.options.label!==this.originalLabel&&(this.isInput?this.element.val(this.options.label):this.element.html(this.options.label)),this._addClass("ui-button","ui-widget"),this._setOption("disabled",this.options.disabled),this._enhance(),this.element.is("a")&&this._on({keyup:function(e){e.keyCode===t.ui.keyCode.SPACE&&(e.preventDefault(),this.element[0].click?this.element[0].click():this.element.trigger("click"))}})},_enhance:function(){this.element.is("button")||this.element.attr("role","button"),this.options.icon&&(this._updateIcon("icon",this.options.icon),this._updateTooltip())},_updateTooltip:function(){this.title=this.element.attr("title"),this.options.showLabel||this.title||this.element.attr("title",this.options.label)},_updateIcon:function(e,i){var s="iconPosition"!==e,n=s?this.options.iconPosition:i,o="top"===n||"bottom"===n;this.icon?s&&this._removeClass(this.icon,null,this.options.icon):(this.icon=t("<span>"),this._addClass(this.icon,"ui-button-icon","ui-icon"),this.options.showLabel||this._addClass("ui-button-icon-only")),s&&this._addClass(this.icon,null,i),this._attachIcon(n),o?(this._addClass(this.icon,null,"ui-widget-icon-block"),this.iconSpace&&this.iconSpace.remove()):(this.iconSpace||(this.iconSpace=t("<span> </span>"),this._addClass(this.iconSpace,"ui-button-icon-space")),this._removeClass(this.icon,null,"ui-wiget-icon-block"),this._attachIconSpace(n))},_destroy:function(){this.element.removeAttr("role"),this.icon&&this.icon.remove(),this.iconSpace&&this.iconSpace.remove(),this.hasTitle||this.element.removeAttr("title")},_attachIconSpace:function(t){this.icon[/^(?:end|bottom)/.test(t)?"before":"after"](this.iconSpace)},_attachIcon:function(t){this.element[/^(?:end|bottom)/.test(t)?"append":"prepend"](this.icon)},_setOptions:function(t){var e=void 0===t.showLabel?this.options.showLabel:t.showLabel,i=void 0===t.icon?this.options.icon:t.icon;e||i||(t.showLabel=!0),this._super(t)},_setOption:function(t,e){"icon"===t&&(e?this._updateIcon(t,e):this.icon&&(this.icon.remove(),this.iconSpace&&this.iconSpace.remove())),"iconPosition"===t&&this._updateIcon(t,e),"showLabel"===t&&(this._toggleClass("ui-button-icon-only",null,!e),this._updateTooltip()),"label"===t&&(this.isInput?this.element.val(e):(this.element.html(e),this.icon&&(this._attachIcon(this.options.iconPosition),this._attachIconSpace(this.options.iconPosition)))),this._super(t,e),"disabled"===t&&(this._toggleClass(null,"ui-state-disabled",e),this.element[0].disabled=e,e&&this.element.blur())},refresh:function(){var t=this.element.is("input, button")?this.element[0].disabled:this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOptions({disabled:t}),this._updateTooltip()}}),t.uiBackCompat!==!1&&(t.widget("ui.button",t.ui.button,{options:{text:!0,icons:{primary:null,secondary:null}},_create:function(){this.options.showLabel&&!this.options.text&&(this.options.showLabel=this.options.text),!this.options.showLabel&&this.options.text&&(this.options.text=this.options.showLabel),this.options.icon||!this.options.icons.primary&&!this.options.icons.secondary?this.options.icon&&(this.options.icons.primary=this.options.icon):this.options.icons.primary?this.options.icon=this.options.icons.primary:(this.options.icon=this.options.icons.secondary,this.options.iconPosition="end"),this._super()},_setOption:function(t,e){return"text"===t?(this._super("showLabel",e),void 0):("showLabel"===t&&(this.options.text=e),"icon"===t&&(this.options.icons.primary=e),"icons"===t&&(e.primary?(this._super("icon",e.primary),this._super("iconPosition","beginning")):e.secondary&&(this._super("icon",e.secondary),this._super("iconPosition","end"))),this._superApply(arguments),void 0)}}),t.fn.button=function(e){return function(){return!this.length||this.length&&"INPUT"!==this[0].tagName||this.length&&"INPUT"===this[0].tagName&&"checkbox"!==this.attr("type")&&"radio"!==this.attr("type")?e.apply(this,arguments):(t.ui.checkboxradio||t.error("Checkboxradio widget missing"),0===arguments.length?this.checkboxradio({icon:!1}):this.checkboxradio.apply(this,arguments))}}(t.fn.button),t.fn.buttonset=function(){return t.ui.controlgroup||t.error("Controlgroup widget missing"),"option"===arguments[0]&&"items"===arguments[1]&&arguments[2]?this.controlgroup.apply(this,[arguments[0],"items.button",arguments[2]]):"option"===arguments[0]&&"items"===arguments[1]?this.controlgroup.apply(this,[arguments[0],"items.button"]):("object"==typeof arguments[0]&&arguments[0].items&&(arguments[0].items={button:arguments[0].items}),this.controlgroup.apply(this,arguments))}),t.ui.button,t.extend(t.ui,{datepicker:{version:"1.12.1"}});var m;t.extend(s.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return a(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var s,n,o;s=e.nodeName.toLowerCase(),n="div"===s||"span"===s,e.id||(this.uuid+=1,e.id="dp"+this.uuid),o=this._newInst(t(e),n),o.settings=t.extend({},i||{}),"input"===s?this._connectDatepicker(e,o):n&&this._inlineDatepicker(e,o)},_newInst:function(e,i){var s=e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:s,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?n(t("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(e,i){var s=t(e);i.append=t([]),i.trigger=t([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(i),t.data(e,"datepicker",i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var s,n,o,a=this._get(i,"appendText"),r=this._get(i,"isRTL");i.append&&i.append.remove(),a&&(i.append=t("<span class='"+this._appendClass+"'>"+a+"</span>"),e[r?"before":"after"](i.append)),e.off("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&e.on("focus",this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),o=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("<img/>").addClass(this._triggerClass).attr({src:o,alt:n,title:n}):t("<button type='button'></button>").addClass(this._triggerClass).html(o?t("<img/>").attr({src:o,alt:n,title:n}):n)),e[r?"before":"after"](i.trigger),i.trigger.on("click",function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,o=new Date(2009,11,20),a=this._get(t,"dateFormat");a.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},o.setMonth(e(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,n,o){var r,h,l,c,u,d=this._dialogInst;return d||(this.uuid+=1,r="dp"+this.uuid,this._dialogInput=t("<input type='text' id='"+r+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.on("keydown",this._doKeyDown),t("body").append(this._dialogInput),d=this._dialogInst=this._newInst(this._dialogInput,!1),d.settings={},t.data(this._dialogInput[0],"datepicker",d)),a(d.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(d,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(h=document.documentElement.clientWidth,l=document.documentElement.clientHeight,c=document.documentElement.scrollLeft||document.body.scrollLeft,u=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[h/2-100+c,l/2-150+u]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),d.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],"datepicker",d),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,"datepicker");s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty(),m===n&&(m=null))},_enableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(e,i,s){var n,o,r,h,l=this._getInst(e);return 2===arguments.length&&"string"==typeof i?"defaults"===i?t.extend({},t.datepicker._defaults):l?"all"===i?t.extend({},l.settings):this._get(l,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),l&&(this._curInst===l&&this._hideDatepicker(),o=this._getDateDatepicker(e,!0),r=this._getMinMaxDate(l,"min"),h=this._getMinMaxDate(l,"max"),a(l.settings,n),null!==r&&void 0!==n.dateFormat&&void 0===n.minDate&&(l.settings.minDate=this._formatDate(l,r)),null!==h&&void 0!==n.dateFormat&&void 0===n.maxDate&&(l.settings.maxDate=this._formatDate(l,h)),"disabled"in n&&(n.disabled?this._disableDatepicker(e):this._enableDatepicker(e)),this._attachments(t(e),l),this._autoSize(l),this._setDate(l,o),this._updateAlternate(l),this._updateDatepicker(l)),void 0)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,o=t.datepicker._getInst(e.target),a=!0,r=o.dpDiv.is(".ui-datepicker-rtl");if(o._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),a=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",o.dpDiv),n[0]&&t.datepicker._selectDay(e.target,o.selectedMonth,o.selectedYear,n[0]),i=t.datepicker._get(o,"onSelect"),i?(s=t.datepicker._formatDate(o),i.apply(o.input?o.input[0]:null,[s,o])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),a=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),a=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?1:-1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),a=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?-1:1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),a=e.ctrlKey||e.metaKey;break;default:a=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):a=!1;a&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(e){var i,s,n=t.datepicker._getInst(e.target);return t.datepicker._get(n,"constrainInput")?(i=t.datepicker._possibleChars(t.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),e.ctrlKey||e.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!==e.nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),!t.datepicker._isDisabledDatepicker(e)&&t.datepicker._lastInput!==e){var s,n,o,r,h,l,c;s=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==s&&(t.datepicker._curInst.dpDiv.stop(!0,!0),s&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),n=t.datepicker._get(s,"beforeShow"),o=n?n.apply(e,[e,s]):{},o!==!1&&(a(s.settings,o),s.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(s),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),r=!1,t(e).parents().each(function(){return r|="fixed"===t(this).css("position"),!r}),h={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,s.dpDiv.empty(),s.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(s),h=t.datepicker._checkOffset(s,h,r),s.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":r?"fixed":"absolute",display:"none",left:h.left+"px",top:h.top+"px"}),s.inline||(l=t.datepicker._get(s,"showAnim"),c=t.datepicker._get(s,"duration"),s.dpDiv.css("z-index",i(t(e))+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[l]?s.dpDiv.show(l,t.datepicker._get(s,"showOptions"),c):s.dpDiv[l||"show"](l?c:null),t.datepicker._shouldFocusInput(s)&&s.input.trigger("focus"),t.datepicker._curInst=s))
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
60 }},_updateDatepicker:function(e){this.maxRows=4,m=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var i,s=this._getNumberOfMonths(e),n=s[1],a=17,r=e.dpDiv.find("."+this._dayOverClass+" a");r.length>0&&o.apply(r.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),a=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-a:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+r?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+o>l&&l>o?Math.abs(o+r):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,o,a=this._curInst;!a||e&&a!==t.data(e,"datepicker")||this._datepickerShowing&&(i=this._get(a,"showAnim"),s=this._get(a,"duration"),n=function(){t.datepicker._tidyDialog(a)},t.effects&&(t.effects.effect[i]||t.effects[i])?a.dpDiv.hide(i,t.datepicker._get(a,"showOptions"),s,n):a.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,o=this._get(a,"onClose"),o&&o.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),o=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(o,i+("M"===s?this._get(o,"showCurrentAtPos"):0),s),this._updateDatepicker(o))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),o=this._getInst(n[0]);o["selected"+("M"===s?"Month":"Year")]=o["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(n)},_selectDay:function(e,i,s,n){var o,a=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(a[0])||(o=this._getInst(a[0]),o.selectedDay=o.currentDay=t("a",n).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=s,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),o=this._getInst(n[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),s=this._get(o,"onSelect"),s?s.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(o).val(n))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(e,i,s){if(null==e||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,o,a,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,c="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),u=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,d=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,g=-1,m=-1,_=-1,v=-1,b=!1,y=function(t){var i=e.length>n+1&&e.charAt(n+1)===t;return i&&n++,i},w=function(t){var e=y(t),s="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n="y"===t?s:1,o=RegExp("^\\d{"+n+","+s+"}"),a=i.substring(h).match(o);if(!a)throw"Missing number at position "+h;return h+=a[0].length,parseInt(a[0],10)},k=function(e,s,n){var o=-1,a=t.map(y(e)?n:s,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(a,function(t,e){var s=e[1];return i.substr(h,s.length).toLowerCase()===s.toLowerCase()?(o=e[0],h+=s.length,!1):void 0}),-1!==o)return o+1;throw"Unknown name at position "+h},x=function(){if(i.charAt(h)!==e.charAt(n))throw"Unexpected literal at position "+h;h++};for(n=0;e.length>n;n++)if(b)"'"!==e.charAt(n)||y("'")?x():b=!1;else switch(e.charAt(n)){case"d":_=w("d");break;case"D":k("D",u,d);break;case"o":v=w("o");break;case"m":m=w("m");break;case"M":m=k("M",p,f);break;case"y":g=w("y");break;case"@":r=new Date(w("@")),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"!":r=new Date((w("!")-this._ticksTo1970)/1e4),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"'":y("'")?x():b=!0;break;default:x()}if(i.length>h&&(a=i.substr(h),!/^\s+/.test(a)))throw"Extra/unparsed characters found in date: "+a;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c>=g?0:-100)),v>-1)for(m=1,_=v;;){if(o=this._getDaysInMonth(g,m-1),o>=_)break;m++,_-=o}if(r=this._daylightSavingAdjust(new Date(g,m-1,_)),r.getFullYear()!==g||r.getMonth()+1!==m||r.getDate()!==_)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,a=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},l=function(t,e,i){var s=""+e;if(h(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return h(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||h("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=l("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,o);break;case"o":u+=l("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=l("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),a,r);break;case"y":u+=h("y")?e.getFullYear():(10>e.getFullYear()%100?"0":"")+e.getFullYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":h("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,e){return void 0!==t.settings[e]?t.settings[e]:this._defaults[e]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),o=n,a=this._getFormatConfig(t);try{o=this.parseDate(i,s,a)||n}catch(r){s=e?"":s}t.selectedDay=o.getDate(),t.drawMonth=t.selectedMonth=o.getMonth(),t.drawYear=t.selectedYear=o.getFullYear(),t.currentDay=s?o.getDate():0,t.currentMonth=s?o.getMonth():0,t.currentYear=s?o.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},o=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,o=n.getFullYear(),a=n.getMonth(),r=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":r+=parseInt(l[1],10);break;case"w":case"W":r+=7*parseInt(l[1],10);break;case"m":case"M":a+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a));break;case"y":case"Y":o+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a))}l=h.exec(i)}return new Date(o,a,r)},a=null==i||""===i?s:"string"==typeof i?o(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return a=a&&"Invalid Date"==""+a?s:a,a&&(a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)),this._daylightSavingAdjust(a)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,a=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=a.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=a.getMonth(),t.drawYear=t.selectedYear=t.currentYear=a.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,o,a,r,h,l,c,u,d,p,f,g,m,_,v,b,y,w,k,x,C,D,I,T,P,M,S,H,z,O,A,N,W,E,F,L,R=new Date,B=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),Y=this._get(t,"isRTL"),j=this._get(t,"showButtonPanel"),q=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),U=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),$=this._get(t,"stepMonths"),X=1!==U[0]||1!==U[1],G=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),Q=this._getMinMaxDate(t,"min"),J=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,te=t.drawYear;if(0>Z&&(Z+=12,te--),J)for(e=this._daylightSavingAdjust(new Date(J.getFullYear(),J.getMonth()-U[0]*U[1]+1,J.getDate())),e=Q&&Q>e?Q:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-$,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":q?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+$,1)),this._getFormatConfig(t)):n,o=this._canAdjustMonth(t,1,te,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":q?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",a=this._get(t,"currentText"),r=this._get(t,"gotoCurrent")&&t.currentDay?G:B,a=K?this.formatDate(a,r,this._getFormatConfig(t)):a,h=t.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(t,"closeText")+"</button>",l=j?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(t,r)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+a+"</button>":"")+(Y?"":h)+"</div>":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),g=this._get(t,"monthNamesShort"),m=this._get(t,"beforeShowDay"),_=this._get(t,"showOtherMonths"),v=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;U[0]>k;k++){for(x="",this.maxRows=4,C=0;U[1]>C;C++){if(D=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),I=" ui-corner-all",T="",X){if(T+="<div class='ui-datepicker-group",U[1]>1)switch(C){case 0:T+=" ui-datepicker-group-first",I=" ui-corner-"+(Y?"right":"left");break;case U[1]-1:T+=" ui-datepicker-group-last",I=" ui-corner-"+(Y?"left":"right");break;default:T+=" ui-datepicker-group-middle",I=""}T+="'>"}for(T+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+I+"'>"+(/all|left/.test(I)&&0===k?Y?o:s:"")+(/all|right/.test(I)&&0===k?Y?s:o:"")+this._generateMonthYearHeader(t,Z,te,Q,J,k>0||C>0,f,g)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",P=u?"<th class='ui-datepicker-week-col'>"+this._get(t,"weekHeader")+"</th>":"",w=0;7>w;w++)M=(w+c)%7,P+="<th scope='col'"+((w+c+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[M]+"'>"+p[M]+"</span></th>";for(T+=P+"</tr></thead><tbody>",S=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,S)),H=(this._getFirstDayOfMonth(te,Z)-c+7)%7,z=Math.ceil((H+S)/7),O=X?this.maxRows>z?this.maxRows:z:z,this.maxRows=O,A=this._daylightSavingAdjust(new Date(te,Z,1-H)),N=0;O>N;N++){for(T+="<tr>",W=u?"<td class='ui-datepicker-week-col'>"+this._get(t,"calculateWeek")(A)+"</td>":"",w=0;7>w;w++)E=m?m.apply(t.input?t.input[0]:null,[A]):[!0,""],F=A.getMonth()!==Z,L=F&&!v||!E[0]||Q&&Q>A||J&&A>J,W+="<td class='"+((w+c+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(A.getTime()===D.getTime()&&Z===t.selectedMonth&&t._keyEvent||b.getTime()===A.getTime()&&b.getTime()===D.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!_?"":" "+E[1]+(A.getTime()===G.getTime()?" "+this._currentClass:"")+(A.getTime()===B.getTime()?" ui-datepicker-today":""))+"'"+(F&&!_||!E[2]?"":" title='"+E[2].replace(/'/g,"&#39;")+"'")+(L?"":" data-handler='selectDay' data-event='click' data-month='"+A.getMonth()+"' data-year='"+A.getFullYear()+"'")+">"+(F&&!_?"&#xa0;":L?"<span class='ui-state-default'>"+A.getDate()+"</span>":"<a class='ui-state-default"+(A.getTime()===B.getTime()?" ui-state-highlight":"")+(A.getTime()===G.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+"' href='#'>"+A.getDate()+"</a>")+"</td>",A.setDate(A.getDate()+1),A=this._daylightSavingAdjust(A);T+=W+"</tr>"}Z++,Z>11&&(Z=0,te++),T+="</tbody></table>"+(X?"</div>"+(U[0]>0&&C===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=T}y+=x}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var h,l,c,u,d,p,f,g,m=this._get(t,"changeMonth"),_=this._get(t,"changeYear"),v=this._get(t,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",y="";if(o||!m)y+="<span class='ui-datepicker-month'>"+a[e]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",c=0;12>c;c++)(!h||c>=s.getMonth())&&(!l||n.getMonth()>=c)&&(y+="<option value='"+c+"'"+(c===e?" selected='selected'":"")+">"+r[c]+"</option>");y+="</select>"}if(v||(b+=y+(!o&&m&&_?"":"&#xa0;")),!t.yearshtml)if(t.yearshtml="",o||!_)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e},f=p(u[0]),g=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,g=n?Math.min(g,n.getFullYear()):g,t.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";g>=f;f++)t.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";t.yearshtml+="</select>",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),v&&(b+=(!o&&m&&_?"":"&#xa0;")+y),b+="</div>"},_adjustInstDate:function(t,e,i){var s=t.selectedYear+("Y"===i?e:0),n=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),a=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,o)));t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),a=null,r=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),a=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(a+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||e.getTime()>=n.getTime())&&(!o||e.getTime()<=o.getTime())&&(!a||e.getFullYear()>=a)&&(!r||r>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new s,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.12.1",t.datepicker,t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var _=!1;t(document).on("mouseup",function(){_=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!_){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,n="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),_=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,_=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.ui.safeBlur=function(e){e&&"body"!==e.nodeName.toLowerCase()&&t(e).trigger("blur")},t.widget("ui.draggable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t,e){this._super(t,e),"handle"===t&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(e){var i=this.options;return this.helper||i.disabled||t(e.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(e),this.handle?(this._blurActiveElement(e),this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(e){this.iframeBlocks=this.document.find(e).map(function(){var e=t(this);return t("<div>").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var i=t.ui.safeActiveElement(this.document[0]),s=t(e.target);s.closest(i).length||t.ui.safeBlur(i)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===t(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(e),this.originalPosition=this.position=this._generatePosition(e,!1),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",e)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(e,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",e,s)===!1)return this._mouseUp(new t.Event("mouseup",e)),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",e)!==!1&&i._clear()}):this._trigger("stop",e)!==!1&&this._clear(),!1},_mouseUp:function(e){return this._unblockFrames(),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),this.handleElement.is(e.target)&&this.element.trigger("focus"),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new t.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(e){return this.options.handle?!!t(e.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper),n=s?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var e=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
61 },_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options,o=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,t(o).width()-this.helperProportions.width-this.margins.left,(t(o).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=t(n.containment),s=i[0],s&&(e=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0)},_convertPositionTo:function(t,e){e||(e=this.position);var i="absolute"===t?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:e.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(t,e){var i,s,n,o,a=this.options,r=this._isRootNode(this.scrollParent[0]),h=t.pageX,l=t.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),t.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),t.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),a.grid&&(n=a.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/a.grid[1])*a.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-a.grid[1]:n+a.grid[1]:n,o=a.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/a.grid[0])*a.grid[0]:this.originalPageX,h=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-a.grid[0]:o+a.grid[0]:o),"y"===a.axis&&(h=this.originalPageX),"x"===a.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i,s){var n=t.extend({},i,{item:s.element});s.sortables=[],t(s.options.connectToSortable).each(function(){var i=t(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",e,n))})},stop:function(e,i,s){var n=t.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,t.each(s.sortables,function(){var t=this;t.isOver?(t.isOver=0,s.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,n))})},drag:function(e,i,s){t.each(s.sortables,function(){var n=!1,o=this;o.positionAbs=s.positionAbs,o.helperProportions=s.helperProportions,o.offset.click=s.offset.click,o._intersectsWith(o.containerCache)&&(n=!0,t.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==o&&this._intersectsWith(this.containerCache)&&t.contains(o.element[0],this.element[0])&&(n=!1),n})),n?(o.isOver||(o.isOver=1,s._parent=i.helper.parent(),o.currentItem=i.helper.appendTo(o.element).data("ui-sortable-item",!0),o.options._helper=o.options.helper,o.options.helper=function(){return i.helper[0]},e.target=o.currentItem[0],o._mouseCapture(e,!0),o._mouseStart(e,!0,!0),o.offset.click.top=s.offset.click.top,o.offset.click.left=s.offset.click.left,o.offset.parent.left-=s.offset.parent.left-o.offset.parent.left,o.offset.parent.top-=s.offset.parent.top-o.offset.parent.top,s._trigger("toSortable",e),s.dropped=o.element,t.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,o.fromOutside=s),o.currentItem&&(o._mouseDrag(e),i.position=o.position)):o.isOver&&(o.isOver=0,o.cancelHelperRemoval=!0,o.options._revert=o.options.revert,o.options.revert=!1,o._trigger("out",e,o._uiHash(o)),o._mouseStop(e,!0),o.options.revert=o.options._revert,o.options.helper=o.options._helper,o.placeholder&&o.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(e),i.position=s._generatePosition(e,!0),s._trigger("fromSortable",e),s.dropped=!1,t.each(s.sortables,function(){this.refreshPositions()}))})}}),t.ui.plugin.add("draggable","cursor",{start:function(e,i,s){var n=t("body"),o=s.options;n.css("cursor")&&(o._cursor=n.css("cursor")),n.css("cursor",o.cursor)},stop:function(e,i,s){var n=s.options;n._cursor&&t("body").css("cursor",n._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("opacity")&&(o._opacity=n.css("opacity")),n.css("opacity",o.opacity)},stop:function(e,i,s){var n=s.options;n._opacity&&t(i.helper).css("opacity",n._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(t,e,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(e,i,s){var n=s.options,o=!1,a=s.scrollParentNotHidden[0],r=s.document[0];a!==r&&"HTML"!==a.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+a.offsetHeight-e.pageY<n.scrollSensitivity?a.scrollTop=o=a.scrollTop+n.scrollSpeed:e.pageY-s.overflowOffset.top<n.scrollSensitivity&&(a.scrollTop=o=a.scrollTop-n.scrollSpeed)),n.axis&&"y"===n.axis||(s.overflowOffset.left+a.offsetWidth-e.pageX<n.scrollSensitivity?a.scrollLeft=o=a.scrollLeft+n.scrollSpeed:e.pageX-s.overflowOffset.left<n.scrollSensitivity&&(a.scrollLeft=o=a.scrollLeft-n.scrollSpeed))):(n.axis&&"x"===n.axis||(e.pageY-t(r).scrollTop()<n.scrollSensitivity?o=t(r).scrollTop(t(r).scrollTop()-n.scrollSpeed):t(window).height()-(e.pageY-t(r).scrollTop())<n.scrollSensitivity&&(o=t(r).scrollTop(t(r).scrollTop()+n.scrollSpeed))),n.axis&&"y"===n.axis||(e.pageX-t(r).scrollLeft()<n.scrollSensitivity?o=t(r).scrollLeft(t(r).scrollLeft()-n.scrollSpeed):t(window).width()-(e.pageX-t(r).scrollLeft())<n.scrollSensitivity&&(o=t(r).scrollLeft(t(r).scrollLeft()+n.scrollSpeed)))),o!==!1&&t.ui.ddmanager&&!n.dropBehaviour&&t.ui.ddmanager.prepareOffsets(s,e)}}),t.ui.plugin.add("draggable","snap",{start:function(e,i,s){var n=s.options;s.snapElements=[],t(n.snap.constructor!==String?n.snap.items||":data(ui-draggable)":n.snap).each(function(){var e=t(this),i=e.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:e.outerWidth(),height:e.outerHeight(),top:i.top,left:i.left})})},drag:function(e,i,s){var n,o,a,r,h,l,c,u,d,p,f=s.options,g=f.snapTolerance,m=i.offset.left,_=m+s.helperProportions.width,v=i.offset.top,b=v+s.helperProportions.height;for(d=s.snapElements.length-1;d>=0;d--)h=s.snapElements[d].left-s.margins.left,l=h+s.snapElements[d].width,c=s.snapElements[d].top-s.margins.top,u=c+s.snapElements[d].height,h-g>_||m>l+g||c-g>b||v>u+g||!t.contains(s.snapElements[d].item.ownerDocument,s.snapElements[d].item)?(s.snapElements[d].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(n=g>=Math.abs(c-b),o=g>=Math.abs(u-v),a=g>=Math.abs(h-_),r=g>=Math.abs(l-m),n&&(i.position.top=s._convertPositionTo("relative",{top:c-s.helperProportions.height,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||o||a||r,"outer"!==f.snapMode&&(n=g>=Math.abs(c-v),o=g>=Math.abs(u-b),a=g>=Math.abs(h-m),r=g>=Math.abs(l-_),n&&(i.position.top=s._convertPositionTo("relative",{top:c,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[d].snapping&&(n||o||a||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=n||o||a||r||p)}}),t.ui.plugin.add("draggable","stack",{start:function(e,i,s){var n,o=s.options,a=t.makeArray(t(o.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});a.length&&(n=parseInt(t(a[0]).css("zIndex"),10)||0,t(a).each(function(e){t(this).css("zIndex",n+e)}),this.css("zIndex",n+a.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("zIndex")&&(o._zIndex=n.css("zIndex")),n.css("zIndex",o.zIndex)},stop:function(e,i,s){var n=s.options;n._zIndex&&t(i.helper).css("zIndex",n._zIndex)}}),t.ui.draggable,t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("<div>"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,g=s.maxWidth&&p>s.maxWidth,m=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),g&&(p-=l),m&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable,t.widget("ui.dialog",{version:"1.12.1",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;0>i&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),t=e.parent.children().eq(e.index),t.length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
62 },disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&this._trigger("beforeClose",e)!==!1&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||t.ui.safeBlur(t.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map(function(){return+t(this).css("z-index")}).get(),o=Math.max.apply(null,n);return o>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",o+1),s=!0),s&&!i&&this._trigger("focus",e),s},open:function(){var e=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),void 0):(this._isOpen=!0,this.opener=t(t.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"),void 0)},_focusTabbable:function(){var t=this._focusedElement;t||(t=this.element.find("[autofocus]")),t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).trigger("focus")},_keepFocus:function(e){function i(){var e=t.ui.safeActiveElement(this.document[0]),i=this.uiDialog[0]===e||t.contains(this.uiDialog[0],e);i||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("<div>").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),this.close(e),void 0;if(e.keyCode===t.ui.keyCode.TAB&&!e.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(this._delay(function(){n.trigger("focus")}),e.preventDefault()):(this._delay(function(){s.trigger("focus")}),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("<div>"),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=t("<button type='button'></button>").button({label:t("<a>").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("<span>").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(e,"ui-dialog-title"),this._title(e),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title?t.text(this.options.title):t.html("&#160;")},_createButtonPane:function(){this.uiDialogButtonPane=t("<div>"),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("<div>").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?(this._removeClass(this.uiDialog,"ui-dialog-buttons"),void 0):(t.each(i,function(i,s){var n,o;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,o={icon:s.icon,iconPosition:s.iconPosition,showLabel:s.showLabel,icons:s.icons,text:s.text},delete s.click,delete s.icon,delete s.iconPosition,delete s.showLabel,delete s.icons,"boolean"==typeof s.text&&delete s.text,t("<button></button>",s).button(o).appendTo(e.uiButtonSet).on("click",function(){n.apply(e.element[0],arguments)})}),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),void 0)},_makeDraggable:function(){function e(t){return{position:t.position,offset:t.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){i._addClass(t(this),"ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,e(n))},drag:function(t,s){i._trigger("drag",t,e(s))},stop:function(n,o){var a=o.offset.left-i.document.scrollLeft(),r=o.offset.top-i.document.scrollTop();s.position={my:"left top",at:"left"+(a>=0?"+":"")+a+" "+"top"+(r>=0?"+":"")+r,of:i.window},i._removeClass(t(this),"ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,e(o))}})},_makeResizable:function(){function e(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}var i=this,s=this.options,n=s.resizable,o=this.uiDialog.css("position"),a="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:a,start:function(s,n){i._addClass(t(this),"ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,e(n))},resize:function(t,s){i._trigger("resize",t,e(s))},stop:function(n,o){var a=i.uiDialog.offset(),r=a.left-i.document.scrollLeft(),h=a.top-i.document.scrollTop();s.height=i.uiDialog.height(),s.width=i.uiDialog.width(),s.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" "+"top"+(h>=0?"+":"")+h,of:i.window},i._removeClass(t(this),"ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,e(o))}}).css("position",o)},_trackFocus:function(){this._on(this.widget(),{focusin:function(e){this._makeFocusTarget(),this._focusedElement=t(e.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var e=this._trackingInstances(),i=t.inArray(this,e);-1!==i&&e.splice(i,1)},_trackingInstances:function(){var t=this.document.data("ui-dialog-instances");return t||(t=[],this.document.data("ui-dialog-instances",t)),t},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(e){var i=this,s=!1,n={};t.each(e,function(t,e){i._setOption(t,e),t in i.sizeRelatedOptions&&(s=!0),t in i.resizableRelatedOptions&&(n[t]=e)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,i){var s,n,o=this.uiDialog;"disabled"!==e&&(this._super(e,i),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:t("<a>").text(""+this.options.closeText).html()}),"draggable"===e&&(s=o.is(":data(ui-draggable)"),s&&!i&&o.draggable("destroy"),!s&&i&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(n=o.is(":data(ui-resizable)"),n&&!i&&o.resizable("destroy"),n&&"string"==typeof i&&o.resizable("option","handles",i),n||i===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("<div>").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return t(e.target).closest(".ui-dialog").length?!0:!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=!0;this._delay(function(){e=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(t){e||this._allowInteraction(t)||(t.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=t("<div>").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var t=this.document.data("ui-dialog-overlays")-1;t?this.document.data("ui-dialog-overlays",t):(this._off(this.document,"focusin"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),t.uiBackCompat!==!1&&t.widget("ui.dialog",t.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(t,e){"dialogClass"===t&&this.uiDialog.removeClass(this.options.dialogClass).addClass(e),this._superApply(arguments)}}),t.ui.dialog,t.widget("ui.droppable",{version:"1.12.1",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(s)?s:function(t){return t.is(s)},this.proportions=function(){return arguments.length?(e=arguments[0],void 0):e?e:e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this._addClass("ui-droppable")},_addToManager:function(e){t.ui.ddmanager.droppables[e]=t.ui.ddmanager.droppables[e]||[],t.ui.ddmanager.droppables[e].push(this)},_splice:function(t){for(var e=0;t.length>e;e++)t[e]===this&&t.splice(e,1)},_destroy:function(){var e=t.ui.ddmanager.droppables[this.options.scope];this._splice(e)},_setOption:function(e,i){if("accept"===e)this.accept=t.isFunction(i)?i:function(t){return t.is(i)};else if("scope"===e){var s=t.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(e,i)},_activate:function(e){var i=t.ui.ddmanager.current;this._addActiveClass(),i&&this._trigger("activate",e,this.ui(i))},_deactivate:function(e){var i=t.ui.ddmanager.current;this._removeActiveClass(),i&&this._trigger("deactivate",e,this.ui(i))},_over:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._addHoverClass(),this._trigger("over",e,this.ui(i)))},_out:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._removeHoverClass(),this._trigger("out",e,this.ui(i)))},_drop:function(e,i){var s=i||t.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=t(this).droppable("instance");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&v(s,t.extend(i,{offset:i.element.offset()}),i.options.tolerance,e)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this._removeActiveClass(),this._removeHoverClass(),this._trigger("drop",e,this.ui(s)),this.element):!1):!1},ui:function(t){return{draggable:t.currentItem||t.element,helper:t.helper,position:t.position,offset:t.positionAbs}},_addHoverClass:function(){this._addClass("ui-droppable-hover")},_removeHoverClass:function(){this._removeClass("ui-droppable-hover")},_addActiveClass:function(){this._addClass("ui-droppable-active")},_removeActiveClass:function(){this._removeClass("ui-droppable-active")}});var v=t.ui.intersect=function(){function t(t,e,i){return t>=e&&e+i>t}return function(e,i,s,n){if(!i.offset)return!1;var o=(e.positionAbs||e.position.absolute).left+e.margins.left,a=(e.positionAbs||e.position.absolute).top+e.margins.top,r=o+e.helperProportions.width,h=a+e.helperProportions.height,l=i.offset.left,c=i.offset.top,u=l+i.proportions().width,d=c+i.proportions().height;switch(s){case"fit":return o>=l&&u>=r&&a>=c&&d>=h;case"intersect":return o+e.helperProportions.width/2>l&&u>r-e.helperProportions.width/2&&a+e.helperProportions.height/2>c&&d>h-e.helperProportions.height/2;case"pointer":return t(n.pageY,c,i.proportions().height)&&t(n.pageX,l,i.proportions().width);case"touch":return(a>=c&&d>=a||h>=c&&d>=h||c>a&&h>d)&&(o>=l&&u>=o||r>=l&&u>=r||l>o&&r>u);default:return!1}}}();t.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,i){var s,n,o=t.ui.ddmanager.droppables[e.options.scope]||[],a=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;o.length>s;s++)if(!(o[s].options.disabled||e&&!o[s].accept.call(o[s].element[0],e.currentItem||e.element))){for(n=0;r.length>n;n++)if(r[n]===o[s].element[0]){o[s].proportions().height=0;continue t}o[s].visible="none"!==o[s].element.css("display"),o[s].visible&&("mousedown"===a&&o[s]._activate.call(o[s],i),o[s].offset=o[s].element.offset(),o[s].proportions({width:o[s].element[0].offsetWidth,height:o[s].element[0].offsetHeight}))}},drop:function(e,i){var s=!1;return t.each((t.ui.ddmanager.droppables[e.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&v(e,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],e.currentItem||e.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(e,i){e.element.parentsUntil("body").on("scroll.droppable",function(){e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)})},drag:function(e,i){e.options.refreshPositions&&t.ui.ddmanager.prepareOffsets(e,i),t.each(t.ui.ddmanager.droppables[e.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,o,a=v(e,this,this.options.tolerance,i),r=!a&&this.isover?"isout":a&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,o=this.element.parents(":data(ui-droppable)").filter(function(){return t(this).droppable("instance").options.scope===n}),o.length&&(s=t(o[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(e,i){e.element.parentsUntil("body").off("scroll.droppable"),e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)}},t.uiBackCompat!==!1&&t.widget("ui.droppable",t.ui.droppable,{options:{hoverClass:!1,activeClass:!1},_addActiveClass:function(){this._super(),this.options.activeClass&&this.element.addClass(this.options.activeClass)},_removeActiveClass:function(){this._super(),this.options.activeClass&&this.element.removeClass(this.options.activeClass)},_addHoverClass:function(){this._super(),this.options.hoverClass&&this.element.addClass(this.options.hoverClass)},_removeHoverClass:function(){this._super(),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass)}}),t.ui.droppable,t.widget("ui.progressbar",{version:"1.12.1",options:{classes:{"ui-progressbar":"ui-corner-all","ui-progressbar-value":"ui-corner-left","ui-progressbar-complete":"ui-corner-right"},max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.attr({role:"progressbar","aria-valuemin":this.min}),this._addClass("ui-progressbar","ui-widget ui-widget-content"),this.valueDiv=t("<div>").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(t){return void 0===t?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),void 0)},_constrainedValue:function(t){return void 0===t&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).width(i.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,e===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("<div>").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}}),t.widget("ui.selectable",t.ui.mouse,{version:"1.12.1",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e.elementPos=t(e.element[0]).offset(),e.selectees=t(e.options.filter,e.element[0]),e._addClass(e.selectees,"ui-selectee"),e.selectees.each(function(){var i=t(this),s=i.offset(),n={left:s.left-e.elementPos.left,top:s.top-e.elementPos.top};t.data(this,"selectable-item",{element:this,$element:i,left:n.left,top:n.top,right:n.left+i.outerWidth(),bottom:n.top+i.outerHeight(),startselected:!1,selected:i.hasClass("ui-selected"),selecting:i.hasClass("ui-selecting"),unselecting:i.hasClass("ui-unselecting")})})},this.refresh(),this._mouseInit(),this.helper=t("<div>"),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.elementPos=t(this.element[0]).offset(),this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=t.data(this,"selectable-item");s.startselected=!0,e.metaKey||e.ctrlKey||(i._removeClass(s.$element,"ui-selected"),s.selected=!1,i._addClass(s.$element,"ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",e,{unselecting:s.element}))}),t(e.target).parents().addBack().each(function(){var s,n=t.data(this,"selectable-item");return n?(s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui-selected"),i._removeClass(n.$element,s?"ui-unselecting":"ui-selected")._addClass(n.$element,s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",e,{selecting:n.element}):i._trigger("unselecting",e,{unselecting:n.element}),!1):void 0}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,o=this.opos[0],a=this.opos[1],r=e.pageX,h=e.pageY;return o>r&&(i=r,r=o,o=i),a>h&&(i=h,h=a,a=i),this.helper.css({left:o,top:a,width:r-o,height:h-a}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),l=!1,c={};i&&i.element!==s.element[0]&&(c.left=i.left+s.elementPos.left,c.right=i.right+s.elementPos.left,c.top=i.top+s.elementPos.top,c.bottom=i.bottom+s.elementPos.top,"touch"===n.tolerance?l=!(c.left>r||o>c.right||c.top>h||a>c.bottom):"fit"===n.tolerance&&(l=c.left>o&&r>c.right&&c.top>a&&h>c.bottom),l?(i.selected&&(s._removeClass(i.$element,"ui-selected"),i.selected=!1),i.unselecting&&(s._removeClass(i.$element,"ui-unselecting"),i.unselecting=!1),i.selecting||(s._addClass(i.$element,"ui-selecting"),i.selecting=!0,s._trigger("selecting",e,{selecting:i.element}))):(i.selecting&&((e.metaKey||e.ctrlKey)&&i.startselected?(s._removeClass(i.$element,"ui-selecting"),i.selecting=!1,s._addClass(i.$element,"ui-selected"),i.selected=!0):(s._removeClass(i.$element,"ui-selecting"),i.selecting=!1,i.startselected&&(s._addClass(i.$element,"ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",e,{unselecting:i.element}))),i.selected&&(e.metaKey||e.ctrlKey||i.startselected||(s._removeClass(i.$element,"ui-selected"),i.selected=!1,s._addClass(i.$element,"ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",e,{unselecting:i.element})))))}),!1}},_mouseStop:function(e){var i=this;return this.dragged=!1,t(".ui-unselecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");i._removeClass(s.$element,"ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",e,{unselected:s.element})}),t(".ui-selecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");i._removeClass(s.$element,"ui-selecting")._addClass(s.$element,"ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",e,{selected:s.element})}),this._trigger("stop",e),this.helper.remove(),!1}}),t.widget("ui.selectmenu",[t.ui.formResetMixin,{version:"1.12.1",defaultElement:"<select>",options:{appendTo:null,classes:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"},disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:!1,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this._bindFormResetHandler(),this._rendered=!1,this.menuItems=t()},_drawButton:function(){var e,i=this,s=this._parseOption(this.element.find("option:selected"),this.element[0].selectedIndex);this.labels=this.element.labels().attr("for",this.ids.button),this._on(this.labels,{click:function(t){this.button.focus(),t.preventDefault()}}),this.element.hide(),this.button=t("<span>",{tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true",title:this.element.attr("title")}).insertAfter(this.element),this._addClass(this.button,"ui-selectmenu-button ui-selectmenu-button-closed","ui-button ui-widget"),e=t("<span>").appendTo(this.button),this._addClass(e,"ui-selectmenu-icon","ui-icon "+this.options.icons.button),this.buttonItem=this._renderButtonItem(s).appendTo(this.button),this.options.width!==!1&&this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){i._rendered||i._refreshMenu()})},_drawMenu:function(){var e=this;this.menu=t("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=t("<div>").append(this.menu),this._addClass(this.menuWrap,"ui-selectmenu-menu","ui-front"),this.menuWrap.appendTo(this._appendTo()),this.menuInstance=this.menu.menu({classes:{"ui-menu":"ui-corner-bottom"},role:"listbox",select:function(t,i){t.preventDefault(),e._setSelection(),e._select(i.item.data("ui-selectmenu-item"),t)},focus:function(t,i){var s=i.item.data("ui-selectmenu-item");null!=e.focusIndex&&s.index!==e.focusIndex&&(e._trigger("focus",t,{item:s}),e.isOpen||e._select(s,t)),e.focusIndex=s.index,e.button.attr("aria-activedescendant",e.menuItems.eq(s.index).attr("id"))}}).menu("instance"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item")||{})),null===this.options.width&&this._resizeButton()},_refreshMenu:function(){var t,e=this.element.find("option");this.menu.empty(),this._parseOptions(e),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper"),this._rendered=!0,e.length&&(t=this._getSelectedItem(),this.menuInstance.focus(null,t),this._setAria(t.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(t){this.options.disabled||(this._rendered?(this._removeClass(this.menu.find(".ui-state-active"),null,"ui-state-active"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.menuItems.length&&(this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",t)))},_position:function(){this.menuWrap.position(t.extend({of:this.button},this.options.position))},close:function(t){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",t))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderButtonItem:function(e){var i=t("<span>");return this._setText(i,e.label),this._addClass(i,"ui-selectmenu-text"),i},_renderMenu:function(e,i){var s=this,n="";t.each(i,function(i,o){var a;o.optgroup!==n&&(a=t("<li>",{text:o.optgroup}),s._addClass(a,"ui-selectmenu-optgroup","ui-menu-divider"+(o.element.parent("optgroup").prop("disabled")?" ui-state-disabled":"")),a.appendTo(e),n=o.optgroup),s._renderItemData(e,o)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-selectmenu-item",e)},_renderItem:function(e,i){var s=t("<li>"),n=t("<div>",{title:i.element.attr("title")});return i.disabled&&this._addClass(s,null,"ui-state-disabled"),this._setText(n,i.label),s.append(n).appendTo(e)},_setText:function(t,e){e?t.text(e):t.html("&#160;")},_move:function(t,e){var i,s,n=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex).parent("li"):(i=this.menuItems.eq(this.element[0].selectedIndex).parent("li"),n+=":not(.ui-state-disabled)"),s="first"===t||"last"===t?i["first"===t?"prevAll":"nextAll"](n).eq(-1):i[t+"All"](n).eq(0),s.length&&this.menuInstance.focus(e,s)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex).parent("li")},_toggle:function(t){this[this.isOpen?"close":"open"](t)},_setSelection:function(){var t;this.range&&(window.getSelection?(t=window.getSelection(),t.removeAllRanges(),t.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(e){this.isOpen&&(t(e.target).closest(".ui-selectmenu-menu, #"+t.ui.escapeSelector(this.ids.button)).length||this.close(e))}},_buttonEvents:{mousedown:function(){var t;window.getSelection?(t=window.getSelection(),t.rangeCount&&(this.range=t.getRangeAt(0))):this.range=document.selection.createRange()},click:function(t){this._setSelection(),this._toggle(t)},keydown:function(e){var i=!0;switch(e.keyCode){case t.ui.keyCode.TAB:case t.ui.keyCode.ESCAPE:this.close(e),i=!1;break;case t.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(e);break;case t.ui.keyCode.UP:e.altKey?this._toggle(e):this._move("prev",e);break;case t.ui.keyCode.DOWN:e.altKey?this._toggle(e):this._move("next",e);break;case t.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(e):this._toggle(e);break;case t.ui.keyCode.LEFT:this._move("prev",e);break;case t.ui.keyCode.RIGHT:this._move("next",e);break;case t.ui.keyCode.HOME:case t.ui.keyCode.PAGE_UP:this._move("first",e);break;case t.ui.keyCode.END:case t.ui.keyCode.PAGE_DOWN:this._move("last",e);break;default:this.menu.trigger(e),i=!1}i&&e.preventDefault()}},_selectFocusedItem:function(t){var e=this.menuItems.eq(this.focusIndex).parent("li");e.hasClass("ui-state-disabled")||this._select(e.data("ui-selectmenu-item"),t)},_select:function(t,e){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=t.index,this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(t)),this._setAria(t),this._trigger("select",e,{item:t}),t.index!==i&&this._trigger("change",e,{item:t}),this.close(e)},_setAria:function(t){var e=this.menuItems.eq(t.index).attr("id");this.button.attr({"aria-labelledby":e,"aria-activedescendant":e}),this.menu.attr("aria-activedescendant",e)},_setOption:function(t,e){if("icons"===t){var i=this.button.find("span.ui-icon");this._removeClass(i,null,this.options.icons.button)._addClass(i,null,e.button)}this._super(t,e),"appendTo"===t&&this.menuWrap.appendTo(this._appendTo()),"width"===t&&this._resizeButton()},_setOptionDisabled:function(t){this._super(t),this.menuInstance.option("disabled",t),this.button.attr("aria-disabled",t),this._toggleClass(this.button,null,"ui-state-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_toggleAttr:function(){this.button.attr("aria-expanded",this.isOpen),this._removeClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"closed":"open"))._addClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"open":"closed"))._toggleClass(this.menuWrap,"ui-selectmenu-open",null,this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var t=this.options.width;return t===!1?(this.button.css("width",""),void 0):(null===t&&(t=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(t),void 0)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){var t=this._super();return t.disabled=this.element.prop("disabled"),t},_parseOptions:function(e){var i=this,s=[];e.each(function(e,n){s.push(i._parseOption(t(n),e))}),this.items=s},_parseOption:function(t,e){var i=t.parent("optgroup");return{element:t,index:e,value:t.val(),label:t.text(),optgroup:i.attr("label")||"",disabled:i.prop("disabled")||t.prop("disabled")}},_destroy:function(){this._unbindFormResetHandler(),this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.labels.attr("for",this.ids.element)}}]),t.widget("ui.slider",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
63 },_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle"),o="<span tabindex='0'></span>",a=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)a.push(o);this.handles=n.add(t(a.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e).attr("tabIndex",0)})},_createRange:function(){var e=this.options;e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=t("<div>").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),("min"===e.range||"max"===e.range)&&this._addClass(this.range,"ui-slider-range-"+e.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,o,a,r,h,l,c=this,u=this.options;return u.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-c.values(e));(n>i||n===i&&(e===c._lastChangedValue||c.values(e)===u.min))&&(n=i,o=t(this),a=e)}),r=this._start(e,a),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=a,this._addClass(o,null,"ui-state-active"),o.trigger("focus"),h=o.offset(),l=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:e.pageX-h.left-o.width()/2,top:e.pageY-h.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,a,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),o=this._valueMin()+s*n,this._trimAlignValue(o)},_uiHash:function(t,e,i){var s={handle:this.handles[t],handleIndex:t,value:void 0!==e?e:this.value()};return this._hasMultipleValues()&&(s.value=void 0!==e?e:this.values(t),s.values=i||this.values()),s},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(t,e){return this._trigger("start",t,this._uiHash(e))},_slide:function(t,e,i){var s,n,o=this.value(),a=this.values();this._hasMultipleValues()&&(n=this.values(e?0:1),o=this.values(e),2===this.options.values.length&&this.options.range===!0&&(i=0===e?Math.min(n,i):Math.max(n,i)),a[e]=i),i!==o&&(s=this._trigger("slide",t,this._uiHash(e,i,a)),s!==!1&&(this._hasMultipleValues()?this.values(e,i):this.value(i)))},_stop:function(t,e){this._trigger("stop",t,this._uiHash(e))},_change:function(t,e){this._keySliding||this._mouseSliding||(this._lastChangedValue=e,this._trigger("change",t,this._uiHash(e)))},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),void 0):this._value()},values:function(e,i){var s,n,o;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),void 0;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this._hasMultipleValues()?this._values(e):this.value();for(s=this.options.values,n=arguments[0],o=0;s.length>o;o+=1)s[o]=this._trimAlignValue(n[o]),this._change(null,o);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),this._super(e,i),e){case"orientation":this._detectOrientation(),this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-"+this.orientation),this._refreshValue(),this.options.range&&this._refreshRange(i),this.handles.css("horizontal"===i?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=n-1;s>=0;s--)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(t){this._super(t),this._toggleClass(null,"ui-state-disabled",!!t)},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this._hasMultipleValues()){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var t=this.options.max,e=this._valueMin(),i=this.options.step,s=Math.round((t-e)/i)*i;t=s+e,t>this.options.max&&(t-=i),this.max=parseFloat(t.toFixed(this._precision()))},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(t){"vertical"===t&&this.range.css({width:"",left:""}),"horizontal"===t&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var e,i,s,n,o,a=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,c={};this._hasMultipleValues()?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),c["horizontal"===h.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[l?"animate":"css"](c,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),o=this._valueMax(),i=o!==n?100*((s-n)/(o-n)):0,c["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](c,r.animate),"min"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:100-i+"%"},r.animate),"min"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:100-i+"%"},r.animate))},_handleEvents:{keydown:function(e){var i,s,n,o,a=t(e.target).data("ui-slider-handle-index");switch(e.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(e.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass(t(e.target),null,"ui-state-active"),i=this._start(e,a),i===!1))return}switch(o=this.options.step,s=n=this._hasMultipleValues()?this.values(a):this.value(),e.keyCode){case t.ui.keyCode.HOME:n=this._valueMin();break;case t.ui.keyCode.END:n=this._valueMax();break;case t.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(s-(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(s===this._valueMax())return;n=this._trimAlignValue(s+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(s===this._valueMin())return;n=this._trimAlignValue(s-o)}this._slide(e,a,n)},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),this._removeClass(t(e.target),null,"ui-state-active"))}}}),t.widget("ui.sortable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(t,e,i){return t>=e&&e+i>t},_isFloating:function(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))},_create:function(){this.containerCache={},this._addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(t,e){this._super(t,e),"handle"===t&&this._setHandleClassName()},_setHandleClassName:function(){var e=this;this._removeClass(this.element.find(".ui-sortable-handle"),"ui-sortable-handle"),t.each(this.items,function(){e._addClass(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item,"ui-sortable-handle")})},_destroy:function(){this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,o.widgetName+"-item")===o?(s=t(this),!1):void 0}),t.data(e.target,o.widgetName+"-item")===o&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=t("<style>*{ cursor: "+a.cursor+" !important; }</style>").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY<a.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+a.scrollSpeed:e.pageY-this.overflowOffset.top<a.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-a.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-e.pageX<a.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+a.scrollSpeed:e.pageX-this.overflowOffset.left<a.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-a.scrollSpeed)):(e.pageY-this.document.scrollTop()<a.scrollSensitivity?r=this.document.scrollTop(this.document.scrollTop()-a.scrollSpeed):this.window.height()-(e.pageY-this.document.scrollTop())<a.scrollSensitivity&&(r=this.document.scrollTop(this.document.scrollTop()+a.scrollSpeed)),e.pageX-this.document.scrollLeft()<a.scrollSensitivity?r=this.document.scrollLeft(this.document.scrollLeft()-a.scrollSpeed):this.window.width()-(e.pageX-this.document.scrollLeft())<a.scrollSensitivity&&(r=this.document.scrollLeft(this.document.scrollLeft()+a.scrollSpeed))),r!==!1&&t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],o=this._intersectsWithPointer(s),o&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===o?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp(new t.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&h>s+l,d="y"===this.options.axis||e+c>o&&a>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>o&&a>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var e,i,s="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top,t.height),n="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left,t.width),o=s&&n;return o?(e=this._getDragVerticalDirection(),i=this._getDragHorizontalDirection(),this.floating?"right"===i||"down"===e?2:1:e&&("down"===e?2:1)):!1},_intersectsWithSides:function(t){var e=this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&e||"up"===s&&!e)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){function i(){r.push(this)}var s,n,o,a,r=[],h=[],l=this._connectWith();if(l&&e)for(s=l.length-1;s>=0;s--)for(o=t(l[s],this.document[0]),n=o.length-1;n>=0;n--)a=t.data(o[n],this.widgetFullName),a&&a!==this&&!a.options.disabled&&h.push([t.isFunction(a.options.items)?a.options.items.call(a.element):t(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a]);for(h.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return t(r)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,o,a,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i],this.document[0]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",a),c.push({item:h,instance:a,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.floating=this.items.length?"x"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,o;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]);return e._addClass(n,"ui-sortable-placeholder",i||e.currentItem[0].className)._removeClass(n,"ui-sortable-helper"),"tbody"===s?e._createTrPlaceholder(e.currentItem.find("tr").eq(0),t("<tr>",e.document[0]).appendTo(n)):"tr"===s?e._createTrPlaceholder(e.currentItem,n):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_createTrPlaceholder:function(e,i){var s=this;e.children().each(function(){t("<td>&#160;</td>",s.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(e){var i,s,n,o,a,r,h,l,c,u,d=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!t.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(d&&t.contains(this.containers[i].element[0],d.element[0]))continue;d=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",e,this._uiHash(this)),this.containers[i].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,o=null,c=d.floating||this._isFloating(this.currentItem),a=c?"left":"top",r=c?"width":"height",u=c?"pageX":"pageY",s=this.items.length-1;s>=0;s--)t.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[a],l=!1,e[u]-h>this.items[s][r]/2&&(l=!0),n>Math.abs(e[u]-h)&&(n=Math.abs(e[u]-h),o=this.items[s],this.direction=l?"up":"down"));if(!o&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;o?this._rearrange(e,o,null,!0):this._rearrange(e,null,this.containers[p].element,!0),this._trigger("change",e,this._uiHash()),this.containers[p]._trigger("change",e,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===n.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===n.containment?this.document.height()||document.body.parentNode.scrollHeight:this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():o?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,o=e.pageX,a=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.left<this.containment[0]&&(o=this.containment[0]+this.offset.click.left),e.pageY-this.offset.click.top<this.containment[1]&&(a=this.containment[1]+this.offset.click.top),e.pageX-this.offset.click.left>this.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((o-this.originalPageX)/n.grid[0])*n.grid[0],o=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
64 this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){function i(t,e,i){return function(s){i._trigger(t,s,e._uiHash(e))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&n.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||n.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(n.push(function(t){this._trigger("remove",t,this._uiHash())}),n.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)e||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}}),t.widget("ui.spinner",{version:"1.12.1",defaultElement:"<input>",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e=this._super(),i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);null!=n&&n.length&&(e[s]=n)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t),void 0)},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){function i(){var e=this.element[0]===t.ui.safeActiveElement(this.document[0]);e||(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===t.ui.safeActiveElement(this.document[0])?this.previous:this.element.val(),e.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(e)!==!1&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){return t(e.currentTarget).hasClass("ui-state-active")?this._start(e)===!1?!1:(this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("<span>").parent().append("<a></a><a></a>")},_draw:function(){this._enhance(),this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content"),this._addClass("ui-spinner-input"),this.element.attr("role","spinbutton"),this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}}),this._removeClass(this.buttons,"ui-corner-all"),this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up"),this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down"),this.buttons.first().button({icon:this.options.icons.up,showLabel:!1}),this.buttons.last().button({icon:this.options.icons.down,showLabel:!1}),this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&this.uiSpinner.height()>0&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_start:function(t){return this.spinning||this._trigger("start",t)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&this._trigger("spin",e,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return e=null!==s.min?s.min:0,i=t-e,i=Math.round(i/s.step)*s.step,t=e+i,t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&s.min>t?s.min:t},_stop:function(t){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",t))},_setOption:function(t,e){var i,s,n;return"culture"===t||"numberFormat"===t?(i=this._parse(this.element.val()),this.options[t]=e,this.element.val(this._format(i)),void 0):(("max"===t||"min"===t||"step"===t)&&"string"==typeof e&&(e=this._parse(e)),"icons"===t&&(s=this.buttons.first().find(".ui-icon"),this._removeClass(s,null,this.options.icons.up),this._addClass(s,null,e.up),n=this.buttons.last().find(".ui-icon"),this._removeClass(n,null,this.options.icons.down),this._addClass(n,null,e.down)),this._super(t,e),void 0)},_setOptionDisabled:function(t){this._super(t),this._toggleClass(this.uiSpinner,null,"ui-state-disabled",!!t),this.element.prop("disabled",!!t),this.buttons.button(t?"disable":"enable")},_setOptions:r(function(t){this._super(t)}),_parse:function(t){return"string"==typeof t&&""!==t&&(t=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(t,10,this.options.culture):+t),""===t||isNaN(t)?null:t},_format:function(t){return""===t?"":window.Globalize&&this.options.numberFormat?Globalize.format(t,this.options.numberFormat,this.options.culture):t},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var t=this.value();return null===t?!1:t===this._adjustValue(t)},_value:function(t,e){var i;""!==t&&(i=this._parse(t),null!==i&&(e||(i=this._adjustValue(i)),t=this._format(i))),this.element.val(t),this._refresh()},_destroy:function(){this.element.prop("disabled",!1).removeAttr("autocomplete role aria-valuemin aria-valuemax aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:r(function(t){this._stepUp(t)}),_stepUp:function(t){this._start()&&(this._spin((t||1)*this.options.step),this._stop())},stepDown:r(function(t){this._stepDown(t)}),_stepDown:function(t){this._start()&&(this._spin((t||1)*-this.options.step),this._stop())},pageUp:r(function(t){this._stepUp((t||1)*this.options.page)}),pageDown:r(function(t){this._stepDown((t||1)*this.options.page)}),value:function(t){return arguments.length?(r(this._value).call(this,t),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),t.uiBackCompat!==!1&&t.widget("ui.spinner",t.ui.spinner,{_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml())},_uiSpinnerHtml:function(){return"<span>"},_buttonHtml:function(){return"<a></a><a></a>"}}),t.ui.spinner,t.widget("ui.tabs",{version:"1.12.1",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var t=/#.*$/;return function(e){var i,s;i=e.href.replace(t,""),s=location.href.replace(t,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return e.hash.length>1&&i===s}}(),_create:function(){var e=this,i=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,i.collapsible),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var e=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===e&&(s&&this.tabs.each(function(i,n){return t(n).attr("aria-controls")===s?(e=i,!1):void 0}),null===e&&(e=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===e||-1===e)&&(e=this.tabs.length?0:!1)),e!==!1&&(e=this.tabs.index(this.tabs.eq(e)),-1===e&&(e=i?!1:0)),!i&&e===!1&&this.anchors.length&&(e=0),e},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(e){var i=t(t.ui.safeActiveElement(this.document[0])).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(e)){switch(e.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:s++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:n=!1,s--;break;case t.ui.keyCode.END:s=this.anchors.length-1;break;case t.ui.keyCode.HOME:s=0;break;case t.ui.keyCode.SPACE:return e.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case t.ui.keyCode.ENTER:return e.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}e.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),e.ctrlKey||e.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(e){return e.altKey&&e.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):e.altKey&&e.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).trigger("focus"),t},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):(this._super(t,e),"collapsible"===t&&(this._toggleClass("ui-tabs-collapsible",null,e),e||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(e),"heightStyle"===t&&this._setupHeightStyle(e),void 0)},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this,i=this.tabs,s=this.anchors,n=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).attr({role:"presentation",tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=t(),this.anchors.each(function(i,s){var n,o,a,r=t(s).uniqueId().attr("id"),h=t(s).closest("li"),l=h.attr("aria-controls");e._isLocal(s)?(n=s.hash,a=n.substring(1),o=e.element.find(e._sanitizeSelector(n))):(a=h.attr("aria-controls")||t({}).uniqueId()[0].id,n="#"+a,o=e.element.find(n),o.length||(o=e._createPanel(a),o.insertAfter(e.panels[i-1]||e.tablist)),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":a,"aria-labelledby":r}),o.attr("aria-labelledby",r)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(e){return t("<div>").attr("id",e).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(e){var i,s,n;for(t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1),n=0;s=this.tabs[n];n++)i=t(s),e===!0||-1!==t.inArray(n,e)?(i.attr("aria-disabled","true"),this._addClass(i,null,"ui-state-disabled")):(i.removeAttr("aria-disabled"),this._removeClass(i,null,"ui-state-disabled"));this.options.disabled=e,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,e===!0)},_setupEvents:function(e){var i={};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),o=n.closest("li"),a=o[0]===s[0],r=a&&i.collapsible,h=r?t():this._getPanelForTab(o),l=s.length?this._getPanelForTab(s):t(),c={oldTab:s,oldPanel:l,newTab:r?t():o,newPanel:h};e.preventDefault(),o.hasClass("ui-state-disabled")||o.hasClass("ui-tabs-loading")||this.running||a&&!i.collapsible||this._trigger("beforeActivate",e,c)===!1||(i.active=r?!1:this.tabs.index(o),this.active=a?t():o,this.xhr&&this.xhr.abort(),l.length||h.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(o),e),this._toggle(e,c))},_toggle:function(e,i){function s(){o.running=!1,o._trigger("activate",e,i)}function n(){o._addClass(i.newTab.closest("li"),"ui-tabs-active","ui-state-active"),a.length&&o.options.show?o._show(a,o.options.show,s):(a.show(),s())}var o=this,a=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){o._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),n()}):(this._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),a.length&&r.length?i.oldTab.attr("tabIndex",-1):a.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),a.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+t.ui.escapeSelector(e)+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(e){var i=this.options.disabled;i!==!1&&(void 0===e?i=!1:(e=this._getIndex(e),i=t.isArray(i)?t.map(i,function(t){return t!==e?t:null}):t.map(this.tabs,function(t,i){return i!==e?i:null})),this._setOptionDisabled(i))},disable:function(e){var i=this.options.disabled;if(i!==!0){if(void 0===e)i=!0;else{if(e=this._getIndex(e),-1!==t.inArray(e,i))return;i=t.isArray(i)?t.merge([e],i).sort():[e]}this._setOptionDisabled(i)}},load:function(e,i){e=this._getIndex(e);var s=this,n=this.tabs.eq(e),o=n.find(".ui-tabs-anchor"),a=this._getPanelForTab(n),r={tab:n,panel:a},h=function(t,e){"abort"===e&&s.panels.stop(!1,!0),s._removeClass(n,"ui-tabs-loading"),a.removeAttr("aria-busy"),t===s.xhr&&delete s.xhr};this._isLocal(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(n,"ui-tabs-loading"),a.attr("aria-busy","true"),this.xhr.done(function(t,e,n){setTimeout(function(){a.html(t),s._trigger("load",i,r),h(n,e)},1)}).fail(function(t,e){setTimeout(function(){h(t,e)},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href").replace(/#.*$/,""),beforeSend:function(e,o){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:o},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),t.uiBackCompat!==!1&&t.widget("ui.tabs",t.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}}),t.ui.tabs,t.widget("ui.tooltip",{version:"1.12.1",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var e=t(this).attr("title")||"";return t("<a>").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))},_removeDescribedBy:function(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=t("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=t([])},_setOption:function(e,i){var s=this;this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e.element)})},_setOptionDisabled:function(t){this[t?"_disable":"_enable"]()},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s.element[0],e.close(n,!0)}),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var e=t(this);return e.is("[title]")?e.data("ui-tooltip-title",e.attr("title")).removeAttr("title"):void 0}))},_enable:function(){this.disabledTitles.each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))}),this.disabledTitles=t([])},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._registerCloseHandlers(e,s),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,o=e?e.type:null;return"string"==typeof s||s.nodeType||s.jquery?this._open(e,t,s):(i=s.call(t[0],function(i){n._delay(function(){t.data("ui-tooltip-open")&&(e&&(e.type=o),this._open(e,t,i))})}),i&&this._open(e,t,i),void 0)},_open:function(e,i,s){function n(t){l.of=t,a.is(":hidden")||a.position(l)}var o,a,r,h,l=t.extend({},this.options.position);if(s){if(o=this._find(i))return o.tooltip.find(".ui-tooltip-content").html(s),void 0;i.is("[title]")&&(e&&"mouseover"===e.type?i.attr("title",""):i.removeAttr("title")),o=this._tooltip(i),a=o.tooltip,this._addDescribedBy(i,a.attr("id")),a.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),h=t("<div>").html(a.find(".ui-tooltip-content").html()),h.removeAttr("name").find("[name]").removeAttr("name"),h.removeAttr("id").find("[id]").removeAttr("id"),h.appendTo(this.liveRegion),this.options.track&&e&&/^mouse/.test(e.type)?(this._on(this.document,{mousemove:n}),n(e)):a.position(t.extend({of:i},this.options.position)),a.hide(),this._show(a,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(r=this.delayedShow=setInterval(function(){a.is(":visible")&&(n(l.of),clearInterval(r))},t.fx.interval)),this._trigger("open",e,{tooltip:a})}},_registerCloseHandlers:function(e,i){var s={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var s=t.Event(e);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),e&&"mouseover"!==e.type||(s.mouseleave="close"),e&&"focusin"!==e.type||(s.focusout="close"),this._on(!0,i,s)},close:function(e){var i,s=this,n=t(e?e.currentTarget:this.element),o=this._find(n);return o?(i=o.tooltip,o.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),o.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),o.closing=!0,this._trigger("close",e,{tooltip:i}),o.hiding||(o.closing=!1)),void 0):(n.removeData("ui-tooltip-open"),void 0)},_tooltip:function(e){var i=t("<div>").attr("role","tooltip"),s=t("<div>").appendTo(i),n=i.uniqueId().attr("id");return this._addClass(s,"ui-tooltip-content"),this._addClass(i,"ui-tooltip","ui-widget ui-widget-content"),i.appendTo(this._appendTo(e)),this.tooltips[n]={element:e,tooltip:i}},_find:function(t){var e=t.data("ui-tooltip-id");return e?this.tooltips[e]:null},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_appendTo:function(t){var e=t.closest(".ui-front, dialog");return e.length||(e=this.document[0].body),e},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur"),o=s.element;n.target=n.currentTarget=o[0],e.close(n,!0),t("#"+i).remove(),o.data("ui-tooltip-title")&&(o.attr("title")||o.attr("title",o.data("ui-tooltip-title")),o.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}}),t.uiBackCompat!==!1&&t.widget("ui.tooltip",t.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var t=this._superApply(arguments);return this.options.tooltipClass&&t.tooltip.addClass(this.options.tooltipClass),t}}),t.ui.tooltip});</script>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
65
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
66 <!-- Dagre layout -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
67 <script >(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.dagre=f()}})(function(){var define,module,exports;return function(){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){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r}()({1:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
68 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
69 Copyright (c) 2012-2014 Chris Pettitt
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
70
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
71 Permission is hereby granted, free of charge, to any person obtaining a copy
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
72 of this software and associated documentation files (the "Software"), to deal
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
73 in the Software without restriction, including without limitation the rights
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
74 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
75 copies of the Software, and to permit persons to whom the Software is
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
76 furnished to do so, subject to the following conditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
77
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
78 The above copyright notice and this permission notice shall be included in
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
79 all copies or substantial portions of the Software.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
80
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
81 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
82 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
83 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
84 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
85 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
86 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
87 THE SOFTWARE.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
88 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
89 module.exports={graphlib:require("./lib/graphlib"),layout:require("./lib/layout"),debug:require("./lib/debug"),util:{time:require("./lib/util").time,notime:require("./lib/util").notime},version:require("./lib/version")}},{"./lib/debug":6,"./lib/graphlib":7,"./lib/layout":9,"./lib/util":29,"./lib/version":30}],2:[function(require,module,exports){"use strict";var _=require("./lodash");var greedyFAS=require("./greedy-fas");module.exports={run:run,undo:undo};function run(g){var fas=g.graph().acyclicer==="greedy"?greedyFAS(g,weightFn(g)):dfsFAS(g);_.forEach(fas,function(e){var label=g.edge(e);g.removeEdge(e);label.forwardName=e.name;label.reversed=true;g.setEdge(e.w,e.v,label,_.uniqueId("rev"))});function weightFn(g){return function(e){return g.edge(e).weight}}}function dfsFAS(g){var fas=[];var stack={};var visited={};function dfs(v){if(_.has(visited,v)){return}visited[v]=true;stack[v]=true;_.forEach(g.outEdges(v),function(e){if(_.has(stack,e.w)){fas.push(e)}else{dfs(e.w)}});delete stack[v]}_.forEach(g.nodes(),dfs);return fas}function undo(g){_.forEach(g.edges(),function(e){var label=g.edge(e);if(label.reversed){g.removeEdge(e);var forwardName=label.forwardName;delete label.reversed;delete label.forwardName;g.setEdge(e.w,e.v,label,forwardName)}})}},{"./greedy-fas":8,"./lodash":10}],3:[function(require,module,exports){var _=require("./lodash");var util=require("./util");module.exports=addBorderSegments;function addBorderSegments(g){function dfs(v){var children=g.children(v);var node=g.node(v);if(children.length){_.forEach(children,dfs)}if(_.has(node,"minRank")){node.borderLeft=[];node.borderRight=[];for(var rank=node.minRank,maxRank=node.maxRank+1;rank<maxRank;++rank){addBorderNode(g,"borderLeft","_bl",v,node,rank);addBorderNode(g,"borderRight","_br",v,node,rank)}}}_.forEach(g.children(),dfs)}function addBorderNode(g,prop,prefix,sg,sgNode,rank){var label={width:0,height:0,rank:rank,borderType:prop};var prev=sgNode[prop][rank-1];var curr=util.addDummyNode(g,"border",label,prefix);sgNode[prop][rank]=curr;g.setParent(curr,sg);if(prev){g.setEdge(prev,curr,{weight:1})}}},{"./lodash":10,"./util":29}],4:[function(require,module,exports){"use strict";var _=require("./lodash");module.exports={adjust:adjust,undo:undo};function adjust(g){var rankDir=g.graph().rankdir.toLowerCase();if(rankDir==="lr"||rankDir==="rl"){swapWidthHeight(g)}}function undo(g){var rankDir=g.graph().rankdir.toLowerCase();if(rankDir==="bt"||rankDir==="rl"){reverseY(g)}if(rankDir==="lr"||rankDir==="rl"){swapXY(g);swapWidthHeight(g)}}function swapWidthHeight(g){_.forEach(g.nodes(),function(v){swapWidthHeightOne(g.node(v))});_.forEach(g.edges(),function(e){swapWidthHeightOne(g.edge(e))})}function swapWidthHeightOne(attrs){var w=attrs.width;attrs.width=attrs.height;attrs.height=w}function reverseY(g){_.forEach(g.nodes(),function(v){reverseYOne(g.node(v))});_.forEach(g.edges(),function(e){var edge=g.edge(e);_.forEach(edge.points,reverseYOne);if(_.has(edge,"y")){reverseYOne(edge)}})}function reverseYOne(attrs){attrs.y=-attrs.y}function swapXY(g){_.forEach(g.nodes(),function(v){swapXYOne(g.node(v))});_.forEach(g.edges(),function(e){var edge=g.edge(e);_.forEach(edge.points,swapXYOne);if(_.has(edge,"x")){swapXYOne(edge)}})}function swapXYOne(attrs){var x=attrs.x;attrs.x=attrs.y;attrs.y=x}},{"./lodash":10}],5:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
90 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
91 * Simple doubly linked list implementation derived from Cormen, et al.,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
92 * "Introduction to Algorithms".
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
93 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
94 module.exports=List;function List(){var sentinel={};sentinel._next=sentinel._prev=sentinel;this._sentinel=sentinel}List.prototype.dequeue=function(){var sentinel=this._sentinel;var entry=sentinel._prev;if(entry!==sentinel){unlink(entry);return entry}};List.prototype.enqueue=function(entry){var sentinel=this._sentinel;if(entry._prev&&entry._next){unlink(entry)}entry._next=sentinel._next;sentinel._next._prev=entry;sentinel._next=entry;entry._prev=sentinel};List.prototype.toString=function(){var strs=[];var sentinel=this._sentinel;var curr=sentinel._prev;while(curr!==sentinel){strs.push(JSON.stringify(curr,filterOutLinks));curr=curr._prev}return"["+strs.join(", ")+"]"};function unlink(entry){entry._prev._next=entry._next;entry._next._prev=entry._prev;delete entry._next;delete entry._prev}function filterOutLinks(k,v){if(k!=="_next"&&k!=="_prev"){return v}}},{}],6:[function(require,module,exports){var _=require("./lodash");var util=require("./util");var Graph=require("./graphlib").Graph;module.exports={debugOrdering:debugOrdering};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
95 /* istanbul ignore next */function debugOrdering(g){var layerMatrix=util.buildLayerMatrix(g);var h=new Graph({compound:true,multigraph:true}).setGraph({});_.forEach(g.nodes(),function(v){h.setNode(v,{label:v});h.setParent(v,"layer"+g.node(v).rank)});_.forEach(g.edges(),function(e){h.setEdge(e.v,e.w,{},e.name)});_.forEach(layerMatrix,function(layer,i){var layerV="layer"+i;h.setNode(layerV,{rank:"same"});_.reduce(layer,function(u,v){h.setEdge(u,v,{style:"invis"});return v})});return h}},{"./graphlib":7,"./lodash":10,"./util":29}],7:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
96 /* global window */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
97 var graphlib;if(typeof require==="function"){try{graphlib=require("graphlib")}catch(e){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
98 // continue regardless of error
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
99 }}if(!graphlib){graphlib=window.graphlib}module.exports=graphlib},{graphlib:31}],8:[function(require,module,exports){var _=require("./lodash");var Graph=require("./graphlib").Graph;var List=require("./data/list");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
100 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
101 * A greedy heuristic for finding a feedback arc set for a graph. A feedback
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
102 * arc set is a set of edges that can be removed to make a graph acyclic.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
103 * The algorithm comes from: P. Eades, X. Lin, and W. F. Smyth, "A fast and
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
104 * effective heuristic for the feedback arc set problem." This implementation
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
105 * adjusts that from the paper to allow for weighted edges.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
106 */module.exports=greedyFAS;var DEFAULT_WEIGHT_FN=_.constant(1);function greedyFAS(g,weightFn){if(g.nodeCount()<=1){return[]}var state=buildState(g,weightFn||DEFAULT_WEIGHT_FN);var results=doGreedyFAS(state.graph,state.buckets,state.zeroIdx);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
107 // Expand multi-edges
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
108 return _.flatten(_.map(results,function(e){return g.outEdges(e.v,e.w)}),true)}function doGreedyFAS(g,buckets,zeroIdx){var results=[];var sources=buckets[buckets.length-1];var sinks=buckets[0];var entry;while(g.nodeCount()){while(entry=sinks.dequeue()){removeNode(g,buckets,zeroIdx,entry)}while(entry=sources.dequeue()){removeNode(g,buckets,zeroIdx,entry)}if(g.nodeCount()){for(var i=buckets.length-2;i>0;--i){entry=buckets[i].dequeue();if(entry){results=results.concat(removeNode(g,buckets,zeroIdx,entry,true));break}}}}return results}function removeNode(g,buckets,zeroIdx,entry,collectPredecessors){var results=collectPredecessors?[]:undefined;_.forEach(g.inEdges(entry.v),function(edge){var weight=g.edge(edge);var uEntry=g.node(edge.v);if(collectPredecessors){results.push({v:edge.v,w:edge.w})}uEntry.out-=weight;assignBucket(buckets,zeroIdx,uEntry)});_.forEach(g.outEdges(entry.v),function(edge){var weight=g.edge(edge);var w=edge.w;var wEntry=g.node(w);wEntry["in"]-=weight;assignBucket(buckets,zeroIdx,wEntry)});g.removeNode(entry.v);return results}function buildState(g,weightFn){var fasGraph=new Graph;var maxIn=0;var maxOut=0;_.forEach(g.nodes(),function(v){fasGraph.setNode(v,{v:v,in:0,out:0})});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
109 // Aggregate weights on nodes, but also sum the weights across multi-edges
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
110 // into a single edge for the fasGraph.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
111 _.forEach(g.edges(),function(e){var prevWeight=fasGraph.edge(e.v,e.w)||0;var weight=weightFn(e);var edgeWeight=prevWeight+weight;fasGraph.setEdge(e.v,e.w,edgeWeight);maxOut=Math.max(maxOut,fasGraph.node(e.v).out+=weight);maxIn=Math.max(maxIn,fasGraph.node(e.w)["in"]+=weight)});var buckets=_.range(maxOut+maxIn+3).map(function(){return new List});var zeroIdx=maxIn+1;_.forEach(fasGraph.nodes(),function(v){assignBucket(buckets,zeroIdx,fasGraph.node(v))});return{graph:fasGraph,buckets:buckets,zeroIdx:zeroIdx}}function assignBucket(buckets,zeroIdx,entry){if(!entry.out){buckets[0].enqueue(entry)}else if(!entry["in"]){buckets[buckets.length-1].enqueue(entry)}else{buckets[entry.out-entry["in"]+zeroIdx].enqueue(entry)}}},{"./data/list":5,"./graphlib":7,"./lodash":10}],9:[function(require,module,exports){"use strict";var _=require("./lodash");var acyclic=require("./acyclic");var normalize=require("./normalize");var rank=require("./rank");var normalizeRanks=require("./util").normalizeRanks;var parentDummyChains=require("./parent-dummy-chains");var removeEmptyRanks=require("./util").removeEmptyRanks;var nestingGraph=require("./nesting-graph");var addBorderSegments=require("./add-border-segments");var coordinateSystem=require("./coordinate-system");var order=require("./order");var position=require("./position");var util=require("./util");var Graph=require("./graphlib").Graph;module.exports=layout;function layout(g,opts){var time=opts&&opts.debugTiming?util.time:util.notime;time("layout",function(){var layoutGraph=time(" buildLayoutGraph",function(){return buildLayoutGraph(g)});time(" runLayout",function(){runLayout(layoutGraph,time)});time(" updateInputGraph",function(){updateInputGraph(g,layoutGraph)})})}function runLayout(g,time){time(" makeSpaceForEdgeLabels",function(){makeSpaceForEdgeLabels(g)});time(" removeSelfEdges",function(){removeSelfEdges(g)});time(" acyclic",function(){acyclic.run(g)});time(" nestingGraph.run",function(){nestingGraph.run(g)});time(" rank",function(){rank(util.asNonCompoundGraph(g))});time(" injectEdgeLabelProxies",function(){injectEdgeLabelProxies(g)});time(" removeEmptyRanks",function(){removeEmptyRanks(g)});time(" nestingGraph.cleanup",function(){nestingGraph.cleanup(g)});time(" normalizeRanks",function(){normalizeRanks(g)});time(" assignRankMinMax",function(){assignRankMinMax(g)});time(" removeEdgeLabelProxies",function(){removeEdgeLabelProxies(g)});time(" normalize.run",function(){normalize.run(g)});time(" parentDummyChains",function(){parentDummyChains(g)});time(" addBorderSegments",function(){addBorderSegments(g)});time(" order",function(){order(g)});time(" insertSelfEdges",function(){insertSelfEdges(g)});time(" adjustCoordinateSystem",function(){coordinateSystem.adjust(g)});time(" position",function(){position(g)});time(" positionSelfEdges",function(){positionSelfEdges(g)});time(" removeBorderNodes",function(){removeBorderNodes(g)});time(" normalize.undo",function(){normalize.undo(g)});time(" fixupEdgeLabelCoords",function(){fixupEdgeLabelCoords(g)});time(" undoCoordinateSystem",function(){coordinateSystem.undo(g)});time(" translateGraph",function(){translateGraph(g)});time(" assignNodeIntersects",function(){assignNodeIntersects(g)});time(" reversePoints",function(){reversePointsForReversedEdges(g)});time(" acyclic.undo",function(){acyclic.undo(g)})}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
112 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
113 * Copies final layout information from the layout graph back to the input
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
114 * graph. This process only copies whitelisted attributes from the layout graph
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
115 * to the input graph, so it serves as a good place to determine what
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
116 * attributes can influence layout.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
117 */function updateInputGraph(inputGraph,layoutGraph){_.forEach(inputGraph.nodes(),function(v){var inputLabel=inputGraph.node(v);var layoutLabel=layoutGraph.node(v);if(inputLabel){inputLabel.x=layoutLabel.x;inputLabel.y=layoutLabel.y;if(layoutGraph.children(v).length){inputLabel.width=layoutLabel.width;inputLabel.height=layoutLabel.height}}});_.forEach(inputGraph.edges(),function(e){var inputLabel=inputGraph.edge(e);var layoutLabel=layoutGraph.edge(e);inputLabel.points=layoutLabel.points;if(_.has(layoutLabel,"x")){inputLabel.x=layoutLabel.x;inputLabel.y=layoutLabel.y}});inputGraph.graph().width=layoutGraph.graph().width;inputGraph.graph().height=layoutGraph.graph().height}var graphNumAttrs=["nodesep","edgesep","ranksep","marginx","marginy"];var graphDefaults={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"};var graphAttrs=["acyclicer","ranker","rankdir","align"];var nodeNumAttrs=["width","height"];var nodeDefaults={width:0,height:0};var edgeNumAttrs=["minlen","weight","width","height","labeloffset"];var edgeDefaults={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"};var edgeAttrs=["labelpos"];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
118 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
119 * Constructs a new graph from the input graph, which can be used for layout.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
120 * This process copies only whitelisted attributes from the input graph to the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
121 * layout graph. Thus this function serves as a good place to determine what
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
122 * attributes can influence layout.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
123 */function buildLayoutGraph(inputGraph){var g=new Graph({multigraph:true,compound:true});var graph=canonicalize(inputGraph.graph());g.setGraph(_.merge({},graphDefaults,selectNumberAttrs(graph,graphNumAttrs),_.pick(graph,graphAttrs)));_.forEach(inputGraph.nodes(),function(v){var node=canonicalize(inputGraph.node(v));g.setNode(v,_.defaults(selectNumberAttrs(node,nodeNumAttrs),nodeDefaults));g.setParent(v,inputGraph.parent(v))});_.forEach(inputGraph.edges(),function(e){var edge=canonicalize(inputGraph.edge(e));g.setEdge(e,_.merge({},edgeDefaults,selectNumberAttrs(edge,edgeNumAttrs),_.pick(edge,edgeAttrs)))});return g}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
124 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
125 * This idea comes from the Gansner paper: to account for edge labels in our
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
126 * layout we split each rank in half by doubling minlen and halving ranksep.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
127 * Then we can place labels at these mid-points between nodes.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
128 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
129 * We also add some minimal padding to the width to push the label for the edge
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
130 * away from the edge itself a bit.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
131 */function makeSpaceForEdgeLabels(g){var graph=g.graph();graph.ranksep/=2;_.forEach(g.edges(),function(e){var edge=g.edge(e);edge.minlen*=2;if(edge.labelpos.toLowerCase()!=="c"){if(graph.rankdir==="TB"||graph.rankdir==="BT"){edge.width+=edge.labeloffset}else{edge.height+=edge.labeloffset}}})}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
132 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
133 * Creates temporary dummy nodes that capture the rank in which each edge's
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
134 * label is going to, if it has one of non-zero width and height. We do this
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
135 * so that we can safely remove empty ranks while preserving balance for the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
136 * label's position.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
137 */function injectEdgeLabelProxies(g){_.forEach(g.edges(),function(e){var edge=g.edge(e);if(edge.width&&edge.height){var v=g.node(e.v);var w=g.node(e.w);var label={rank:(w.rank-v.rank)/2+v.rank,e:e};util.addDummyNode(g,"edge-proxy",label,"_ep")}})}function assignRankMinMax(g){var maxRank=0;_.forEach(g.nodes(),function(v){var node=g.node(v);if(node.borderTop){node.minRank=g.node(node.borderTop).rank;node.maxRank=g.node(node.borderBottom).rank;maxRank=_.max(maxRank,node.maxRank)}});g.graph().maxRank=maxRank}function removeEdgeLabelProxies(g){_.forEach(g.nodes(),function(v){var node=g.node(v);if(node.dummy==="edge-proxy"){g.edge(node.e).labelRank=node.rank;g.removeNode(v)}})}function translateGraph(g){var minX=Number.POSITIVE_INFINITY;var maxX=0;var minY=Number.POSITIVE_INFINITY;var maxY=0;var graphLabel=g.graph();var marginX=graphLabel.marginx||0;var marginY=graphLabel.marginy||0;function getExtremes(attrs){var x=attrs.x;var y=attrs.y;var w=attrs.width;var h=attrs.height;minX=Math.min(minX,x-w/2);maxX=Math.max(maxX,x+w/2);minY=Math.min(minY,y-h/2);maxY=Math.max(maxY,y+h/2)}_.forEach(g.nodes(),function(v){getExtremes(g.node(v))});_.forEach(g.edges(),function(e){var edge=g.edge(e);if(_.has(edge,"x")){getExtremes(edge)}});minX-=marginX;minY-=marginY;_.forEach(g.nodes(),function(v){var node=g.node(v);node.x-=minX;node.y-=minY});_.forEach(g.edges(),function(e){var edge=g.edge(e);_.forEach(edge.points,function(p){p.x-=minX;p.y-=minY});if(_.has(edge,"x")){edge.x-=minX}if(_.has(edge,"y")){edge.y-=minY}});graphLabel.width=maxX-minX+marginX;graphLabel.height=maxY-minY+marginY}function assignNodeIntersects(g){_.forEach(g.edges(),function(e){var edge=g.edge(e);var nodeV=g.node(e.v);var nodeW=g.node(e.w);var p1,p2;if(!edge.points){edge.points=[];p1=nodeW;p2=nodeV}else{p1=edge.points[0];p2=edge.points[edge.points.length-1]}edge.points.unshift(util.intersectRect(nodeV,p1));edge.points.push(util.intersectRect(nodeW,p2))})}function fixupEdgeLabelCoords(g){_.forEach(g.edges(),function(e){var edge=g.edge(e);if(_.has(edge,"x")){if(edge.labelpos==="l"||edge.labelpos==="r"){edge.width-=edge.labeloffset}switch(edge.labelpos){case"l":edge.x-=edge.width/2+edge.labeloffset;break;case"r":edge.x+=edge.width/2+edge.labeloffset;break}}})}function reversePointsForReversedEdges(g){_.forEach(g.edges(),function(e){var edge=g.edge(e);if(edge.reversed){edge.points.reverse()}})}function removeBorderNodes(g){_.forEach(g.nodes(),function(v){if(g.children(v).length){var node=g.node(v);var t=g.node(node.borderTop);var b=g.node(node.borderBottom);var l=g.node(_.last(node.borderLeft));var r=g.node(_.last(node.borderRight));node.width=Math.abs(r.x-l.x);node.height=Math.abs(b.y-t.y);node.x=l.x+node.width/2;node.y=t.y+node.height/2}});_.forEach(g.nodes(),function(v){if(g.node(v).dummy==="border"){g.removeNode(v)}})}function removeSelfEdges(g){_.forEach(g.edges(),function(e){if(e.v===e.w){var node=g.node(e.v);if(!node.selfEdges){node.selfEdges=[]}node.selfEdges.push({e:e,label:g.edge(e)});g.removeEdge(e)}})}function insertSelfEdges(g){var layers=util.buildLayerMatrix(g);_.forEach(layers,function(layer){var orderShift=0;_.forEach(layer,function(v,i){var node=g.node(v);node.order=i+orderShift;_.forEach(node.selfEdges,function(selfEdge){util.addDummyNode(g,"selfedge",{width:selfEdge.label.width,height:selfEdge.label.height,rank:node.rank,order:i+ ++orderShift,e:selfEdge.e,label:selfEdge.label},"_se")});delete node.selfEdges})})}function positionSelfEdges(g){_.forEach(g.nodes(),function(v){var node=g.node(v);if(node.dummy==="selfedge"){var selfNode=g.node(node.e.v);var x=selfNode.x+selfNode.width/2;var y=selfNode.y;var dx=node.x-x;var dy=selfNode.height/2;g.setEdge(node.e,node.label);g.removeNode(v);node.label.points=[{x:x+2*dx/3,y:y-dy},{x:x+5*dx/6,y:y-dy},{x:x+dx,y:y},{x:x+5*dx/6,y:y+dy},{x:x+2*dx/3,y:y+dy}];node.label.x=node.x;node.label.y=node.y}})}function selectNumberAttrs(obj,attrs){return _.mapValues(_.pick(obj,attrs),Number)}function canonicalize(attrs){var newAttrs={};_.forEach(attrs,function(v,k){newAttrs[k.toLowerCase()]=v});return newAttrs}},{"./acyclic":2,"./add-border-segments":3,"./coordinate-system":4,"./graphlib":7,"./lodash":10,"./nesting-graph":11,"./normalize":12,"./order":17,"./parent-dummy-chains":22,"./position":24,"./rank":26,"./util":29}],10:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
138 /* global window */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
139 var lodash;if(typeof require==="function"){try{lodash={cloneDeep:require("lodash/cloneDeep"),constant:require("lodash/constant"),defaults:require("lodash/defaults"),each:require("lodash/each"),filter:require("lodash/filter"),find:require("lodash/find"),flatten:require("lodash/flatten"),forEach:require("lodash/forEach"),forIn:require("lodash/forIn"),has:require("lodash/has"),isUndefined:require("lodash/isUndefined"),last:require("lodash/last"),map:require("lodash/map"),mapValues:require("lodash/mapValues"),max:require("lodash/max"),merge:require("lodash/merge"),min:require("lodash/min"),minBy:require("lodash/minBy"),now:require("lodash/now"),pick:require("lodash/pick"),range:require("lodash/range"),reduce:require("lodash/reduce"),sortBy:require("lodash/sortBy"),uniqueId:require("lodash/uniqueId"),values:require("lodash/values"),zipObject:require("lodash/zipObject")}}catch(e){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
140 // continue regardless of error
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
141 }}if(!lodash){lodash=window._}module.exports=lodash},{"lodash/cloneDeep":227,"lodash/constant":228,"lodash/defaults":229,"lodash/each":230,"lodash/filter":232,"lodash/find":233,"lodash/flatten":235,"lodash/forEach":236,"lodash/forIn":237,"lodash/has":239,"lodash/isUndefined":258,"lodash/last":261,"lodash/map":262,"lodash/mapValues":263,"lodash/max":264,"lodash/merge":266,"lodash/min":267,"lodash/minBy":268,"lodash/now":270,"lodash/pick":271,"lodash/range":273,"lodash/reduce":274,"lodash/sortBy":276,"lodash/uniqueId":286,"lodash/values":287,"lodash/zipObject":288}],11:[function(require,module,exports){var _=require("./lodash");var util=require("./util");module.exports={run:run,cleanup:cleanup};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
142 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
143 * A nesting graph creates dummy nodes for the tops and bottoms of subgraphs,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
144 * adds appropriate edges to ensure that all cluster nodes are placed between
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
145 * these boundries, and ensures that the graph is connected.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
146 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
147 * In addition we ensure, through the use of the minlen property, that nodes
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
148 * and subgraph border nodes to not end up on the same rank.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
149 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
150 * Preconditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
151 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
152 * 1. Input graph is a DAG
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
153 * 2. Nodes in the input graph has a minlen attribute
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
154 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
155 * Postconditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
156 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
157 * 1. Input graph is connected.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
158 * 2. Dummy nodes are added for the tops and bottoms of subgraphs.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
159 * 3. The minlen attribute for nodes is adjusted to ensure nodes do not
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
160 * get placed on the same rank as subgraph border nodes.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
161 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
162 * The nesting graph idea comes from Sander, "Layout of Compound Directed
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
163 * Graphs."
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
164 */function run(g){var root=util.addDummyNode(g,"root",{},"_root");var depths=treeDepths(g);var height=_.max(_.values(depths))-1;// Note: depths is an Object not an array
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
165 var nodeSep=2*height+1;g.graph().nestingRoot=root;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
166 // Multiply minlen by nodeSep to align nodes on non-border ranks.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
167 _.forEach(g.edges(),function(e){g.edge(e).minlen*=nodeSep});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
168 // Calculate a weight that is sufficient to keep subgraphs vertically compact
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
169 var weight=sumWeights(g)+1;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
170 // Create border nodes and link them up
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
171 _.forEach(g.children(),function(child){dfs(g,root,nodeSep,weight,height,depths,child)});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
172 // Save the multiplier for node layers for later removal of empty border
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
173 // layers.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
174 g.graph().nodeRankFactor=nodeSep}function dfs(g,root,nodeSep,weight,height,depths,v){var children=g.children(v);if(!children.length){if(v!==root){g.setEdge(root,v,{weight:0,minlen:nodeSep})}return}var top=util.addBorderNode(g,"_bt");var bottom=util.addBorderNode(g,"_bb");var label=g.node(v);g.setParent(top,v);label.borderTop=top;g.setParent(bottom,v);label.borderBottom=bottom;_.forEach(children,function(child){dfs(g,root,nodeSep,weight,height,depths,child);var childNode=g.node(child);var childTop=childNode.borderTop?childNode.borderTop:child;var childBottom=childNode.borderBottom?childNode.borderBottom:child;var thisWeight=childNode.borderTop?weight:2*weight;var minlen=childTop!==childBottom?1:height-depths[v]+1;g.setEdge(top,childTop,{weight:thisWeight,minlen:minlen,nestingEdge:true});g.setEdge(childBottom,bottom,{weight:thisWeight,minlen:minlen,nestingEdge:true})});if(!g.parent(v)){g.setEdge(root,top,{weight:0,minlen:height+depths[v]})}}function treeDepths(g){var depths={};function dfs(v,depth){var children=g.children(v);if(children&&children.length){_.forEach(children,function(child){dfs(child,depth+1)})}depths[v]=depth}_.forEach(g.children(),function(v){dfs(v,1)});return depths}function sumWeights(g){return _.reduce(g.edges(),function(acc,e){return acc+g.edge(e).weight},0)}function cleanup(g){var graphLabel=g.graph();g.removeNode(graphLabel.nestingRoot);delete graphLabel.nestingRoot;_.forEach(g.edges(),function(e){var edge=g.edge(e);if(edge.nestingEdge){g.removeEdge(e)}})}},{"./lodash":10,"./util":29}],12:[function(require,module,exports){"use strict";var _=require("./lodash");var util=require("./util");module.exports={run:run,undo:undo};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
175 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
176 * Breaks any long edges in the graph into short segments that span 1 layer
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
177 * each. This operation is undoable with the denormalize function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
178 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
179 * Pre-conditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
180 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
181 * 1. The input graph is a DAG.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
182 * 2. Each node in the graph has a "rank" property.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
183 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
184 * Post-condition:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
185 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
186 * 1. All edges in the graph have a length of 1.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
187 * 2. Dummy nodes are added where edges have been split into segments.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
188 * 3. The graph is augmented with a "dummyChains" attribute which contains
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
189 * the first dummy in each chain of dummy nodes produced.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
190 */function run(g){g.graph().dummyChains=[];_.forEach(g.edges(),function(edge){normalizeEdge(g,edge)})}function normalizeEdge(g,e){var v=e.v;var vRank=g.node(v).rank;var w=e.w;var wRank=g.node(w).rank;var name=e.name;var edgeLabel=g.edge(e);var labelRank=edgeLabel.labelRank;if(wRank===vRank+1)return;g.removeEdge(e);var dummy,attrs,i;for(i=0,++vRank;vRank<wRank;++i,++vRank){edgeLabel.points=[];attrs={width:0,height:0,edgeLabel:edgeLabel,edgeObj:e,rank:vRank};dummy=util.addDummyNode(g,"edge",attrs,"_d");if(vRank===labelRank){attrs.width=edgeLabel.width;attrs.height=edgeLabel.height;attrs.dummy="edge-label";attrs.labelpos=edgeLabel.labelpos}g.setEdge(v,dummy,{weight:edgeLabel.weight},name);if(i===0){g.graph().dummyChains.push(dummy)}v=dummy}g.setEdge(v,w,{weight:edgeLabel.weight},name)}function undo(g){_.forEach(g.graph().dummyChains,function(v){var node=g.node(v);var origLabel=node.edgeLabel;var w;g.setEdge(node.edgeObj,origLabel);while(node.dummy){w=g.successors(v)[0];g.removeNode(v);origLabel.points.push({x:node.x,y:node.y});if(node.dummy==="edge-label"){origLabel.x=node.x;origLabel.y=node.y;origLabel.width=node.width;origLabel.height=node.height}v=w;node=g.node(v)}})}},{"./lodash":10,"./util":29}],13:[function(require,module,exports){var _=require("../lodash");module.exports=addSubgraphConstraints;function addSubgraphConstraints(g,cg,vs){var prev={},rootPrev;_.forEach(vs,function(v){var child=g.parent(v),parent,prevChild;while(child){parent=g.parent(child);if(parent){prevChild=prev[parent];prev[parent]=child}else{prevChild=rootPrev;rootPrev=child}if(prevChild&&prevChild!==child){cg.setEdge(prevChild,child);return}child=parent}});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
191 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
192 function dfs(v) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
193 var children = v ? g.children(v) : g.children();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
194 if (children.length) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
195 var min = Number.POSITIVE_INFINITY,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
196 subgraphs = [];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
197 _.each(children, function(child) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
198 var childMin = dfs(child);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
199 if (g.children(child).length) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
200 subgraphs.push({ v: child, order: childMin });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
201 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
202 min = Math.min(min, childMin);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
203 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
204 _.reduce(_.sortBy(subgraphs, "order"), function(prev, curr) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
205 cg.setEdge(prev.v, curr.v);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
206 return curr;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
207 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
208 return min;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
209 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
210 return g.node(v).order;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
211 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
212 dfs(undefined);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
213 */}},{"../lodash":10}],14:[function(require,module,exports){var _=require("../lodash");module.exports=barycenter;function barycenter(g,movable){return _.map(movable,function(v){var inV=g.inEdges(v);if(!inV.length){return{v:v}}else{var result=_.reduce(inV,function(acc,e){var edge=g.edge(e),nodeU=g.node(e.v);return{sum:acc.sum+edge.weight*nodeU.order,weight:acc.weight+edge.weight}},{sum:0,weight:0});return{v:v,barycenter:result.sum/result.weight,weight:result.weight}}})}},{"../lodash":10}],15:[function(require,module,exports){var _=require("../lodash");var Graph=require("../graphlib").Graph;module.exports=buildLayerGraph;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
214 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
215 * Constructs a graph that can be used to sort a layer of nodes. The graph will
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
216 * contain all base and subgraph nodes from the request layer in their original
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
217 * hierarchy and any edges that are incident on these nodes and are of the type
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
218 * requested by the "relationship" parameter.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
219 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
220 * Nodes from the requested rank that do not have parents are assigned a root
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
221 * node in the output graph, which is set in the root graph attribute. This
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
222 * makes it easy to walk the hierarchy of movable nodes during ordering.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
223 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
224 * Pre-conditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
225 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
226 * 1. Input graph is a DAG
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
227 * 2. Base nodes in the input graph have a rank attribute
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
228 * 3. Subgraph nodes in the input graph has minRank and maxRank attributes
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
229 * 4. Edges have an assigned weight
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
230 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
231 * Post-conditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
232 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
233 * 1. Output graph has all nodes in the movable rank with preserved
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
234 * hierarchy.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
235 * 2. Root nodes in the movable layer are made children of the node
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
236 * indicated by the root attribute of the graph.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
237 * 3. Non-movable nodes incident on movable nodes, selected by the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
238 * relationship parameter, are included in the graph (without hierarchy).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
239 * 4. Edges incident on movable nodes, selected by the relationship
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
240 * parameter, are added to the output graph.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
241 * 5. The weights for copied edges are aggregated as need, since the output
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
242 * graph is not a multi-graph.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
243 */function buildLayerGraph(g,rank,relationship){var root=createRootNode(g),result=new Graph({compound:true}).setGraph({root:root}).setDefaultNodeLabel(function(v){return g.node(v)});_.forEach(g.nodes(),function(v){var node=g.node(v),parent=g.parent(v);if(node.rank===rank||node.minRank<=rank&&rank<=node.maxRank){result.setNode(v);result.setParent(v,parent||root);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
244 // This assumes we have only short edges!
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
245 _.forEach(g[relationship](v),function(e){var u=e.v===v?e.w:e.v,edge=result.edge(u,v),weight=!_.isUndefined(edge)?edge.weight:0;result.setEdge(u,v,{weight:g.edge(e).weight+weight})});if(_.has(node,"minRank")){result.setNode(v,{borderLeft:node.borderLeft[rank],borderRight:node.borderRight[rank]})}}});return result}function createRootNode(g){var v;while(g.hasNode(v=_.uniqueId("_root")));return v}},{"../graphlib":7,"../lodash":10}],16:[function(require,module,exports){"use strict";var _=require("../lodash");module.exports=crossCount;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
246 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
247 * A function that takes a layering (an array of layers, each with an array of
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
248 * ordererd nodes) and a graph and returns a weighted crossing count.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
249 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
250 * Pre-conditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
251 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
252 * 1. Input graph must be simple (not a multigraph), directed, and include
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
253 * only simple edges.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
254 * 2. Edges in the input graph must have assigned weights.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
255 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
256 * Post-conditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
257 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
258 * 1. The graph and layering matrix are left unchanged.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
259 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
260 * This algorithm is derived from Barth, et al., "Bilayer Cross Counting."
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
261 */function crossCount(g,layering){var cc=0;for(var i=1;i<layering.length;++i){cc+=twoLayerCrossCount(g,layering[i-1],layering[i])}return cc}function twoLayerCrossCount(g,northLayer,southLayer){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
262 // Sort all of the edges between the north and south layers by their position
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
263 // in the north layer and then the south. Map these edges to the position of
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
264 // their head in the south layer.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
265 var southPos=_.zipObject(southLayer,_.map(southLayer,function(v,i){return i}));var southEntries=_.flatten(_.map(northLayer,function(v){return _.sortBy(_.map(g.outEdges(v),function(e){return{pos:southPos[e.w],weight:g.edge(e).weight}}),"pos")}),true);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
266 // Build the accumulator tree
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
267 var firstIndex=1;while(firstIndex<southLayer.length)firstIndex<<=1;var treeSize=2*firstIndex-1;firstIndex-=1;var tree=_.map(new Array(treeSize),function(){return 0});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
268 // Calculate the weighted crossings
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
269 var cc=0;_.forEach(southEntries.forEach(function(entry){var index=entry.pos+firstIndex;tree[index]+=entry.weight;var weightSum=0;while(index>0){if(index%2){weightSum+=tree[index+1]}index=index-1>>1;tree[index]+=entry.weight}cc+=entry.weight*weightSum}));return cc}},{"../lodash":10}],17:[function(require,module,exports){"use strict";var _=require("../lodash");var initOrder=require("./init-order");var crossCount=require("./cross-count");var sortSubgraph=require("./sort-subgraph");var buildLayerGraph=require("./build-layer-graph");var addSubgraphConstraints=require("./add-subgraph-constraints");var Graph=require("../graphlib").Graph;var util=require("../util");module.exports=order;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
270 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
271 * Applies heuristics to minimize edge crossings in the graph and sets the best
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
272 * order solution as an order attribute on each node.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
273 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
274 * Pre-conditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
275 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
276 * 1. Graph must be DAG
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
277 * 2. Graph nodes must be objects with a "rank" attribute
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
278 * 3. Graph edges must have the "weight" attribute
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
279 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
280 * Post-conditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
281 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
282 * 1. Graph nodes will have an "order" attribute based on the results of the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
283 * algorithm.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
284 */function order(g){var maxRank=util.maxRank(g),downLayerGraphs=buildLayerGraphs(g,_.range(1,maxRank+1),"inEdges"),upLayerGraphs=buildLayerGraphs(g,_.range(maxRank-1,-1,-1),"outEdges");var layering=initOrder(g);assignOrder(g,layering);var bestCC=Number.POSITIVE_INFINITY,best;for(var i=0,lastBest=0;lastBest<4;++i,++lastBest){sweepLayerGraphs(i%2?downLayerGraphs:upLayerGraphs,i%4>=2);layering=util.buildLayerMatrix(g);var cc=crossCount(g,layering);if(cc<bestCC){lastBest=0;best=_.cloneDeep(layering);bestCC=cc}}assignOrder(g,best)}function buildLayerGraphs(g,ranks,relationship){return _.map(ranks,function(rank){return buildLayerGraph(g,rank,relationship)})}function sweepLayerGraphs(layerGraphs,biasRight){var cg=new Graph;_.forEach(layerGraphs,function(lg){var root=lg.graph().root;var sorted=sortSubgraph(lg,root,cg,biasRight);_.forEach(sorted.vs,function(v,i){lg.node(v).order=i});addSubgraphConstraints(lg,cg,sorted.vs)})}function assignOrder(g,layering){_.forEach(layering,function(layer){_.forEach(layer,function(v,i){g.node(v).order=i})})}},{"../graphlib":7,"../lodash":10,"../util":29,"./add-subgraph-constraints":13,"./build-layer-graph":15,"./cross-count":16,"./init-order":18,"./sort-subgraph":20}],18:[function(require,module,exports){"use strict";var _=require("../lodash");module.exports=initOrder;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
285 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
286 * Assigns an initial order value for each node by performing a DFS search
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
287 * starting from nodes in the first rank. Nodes are assigned an order in their
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
288 * rank as they are first visited.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
289 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
290 * This approach comes from Gansner, et al., "A Technique for Drawing Directed
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
291 * Graphs."
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
292 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
293 * Returns a layering matrix with an array per layer and each layer sorted by
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
294 * the order of its nodes.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
295 */function initOrder(g){var visited={};var simpleNodes=_.filter(g.nodes(),function(v){return!g.children(v).length});var maxRank=_.max(_.map(simpleNodes,function(v){return g.node(v).rank}));var layers=_.map(_.range(maxRank+1),function(){return[]});function dfs(v){if(_.has(visited,v))return;visited[v]=true;var node=g.node(v);layers[node.rank].push(v);_.forEach(g.successors(v),dfs)}var orderedVs=_.sortBy(simpleNodes,function(v){return g.node(v).rank});_.forEach(orderedVs,dfs);return layers}},{"../lodash":10}],19:[function(require,module,exports){"use strict";var _=require("../lodash");module.exports=resolveConflicts;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
296 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
297 * Given a list of entries of the form {v, barycenter, weight} and a
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
298 * constraint graph this function will resolve any conflicts between the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
299 * constraint graph and the barycenters for the entries. If the barycenters for
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
300 * an entry would violate a constraint in the constraint graph then we coalesce
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
301 * the nodes in the conflict into a new node that respects the contraint and
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
302 * aggregates barycenter and weight information.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
303 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
304 * This implementation is based on the description in Forster, "A Fast and
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
305 * Simple Hueristic for Constrained Two-Level Crossing Reduction," thought it
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
306 * differs in some specific details.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
307 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
308 * Pre-conditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
309 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
310 * 1. Each entry has the form {v, barycenter, weight}, or if the node has
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
311 * no barycenter, then {v}.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
312 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
313 * Returns:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
314 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
315 * A new list of entries of the form {vs, i, barycenter, weight}. The list
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
316 * `vs` may either be a singleton or it may be an aggregation of nodes
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
317 * ordered such that they do not violate constraints from the constraint
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
318 * graph. The property `i` is the lowest original index of any of the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
319 * elements in `vs`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
320 */function resolveConflicts(entries,cg){var mappedEntries={};_.forEach(entries,function(entry,i){var tmp=mappedEntries[entry.v]={indegree:0,in:[],out:[],vs:[entry.v],i:i};if(!_.isUndefined(entry.barycenter)){tmp.barycenter=entry.barycenter;tmp.weight=entry.weight}});_.forEach(cg.edges(),function(e){var entryV=mappedEntries[e.v];var entryW=mappedEntries[e.w];if(!_.isUndefined(entryV)&&!_.isUndefined(entryW)){entryW.indegree++;entryV.out.push(mappedEntries[e.w])}});var sourceSet=_.filter(mappedEntries,function(entry){return!entry.indegree});return doResolveConflicts(sourceSet)}function doResolveConflicts(sourceSet){var entries=[];function handleIn(vEntry){return function(uEntry){if(uEntry.merged){return}if(_.isUndefined(uEntry.barycenter)||_.isUndefined(vEntry.barycenter)||uEntry.barycenter>=vEntry.barycenter){mergeEntries(vEntry,uEntry)}}}function handleOut(vEntry){return function(wEntry){wEntry["in"].push(vEntry);if(--wEntry.indegree===0){sourceSet.push(wEntry)}}}while(sourceSet.length){var entry=sourceSet.pop();entries.push(entry);_.forEach(entry["in"].reverse(),handleIn(entry));_.forEach(entry.out,handleOut(entry))}return _.map(_.filter(entries,function(entry){return!entry.merged}),function(entry){return _.pick(entry,["vs","i","barycenter","weight"])})}function mergeEntries(target,source){var sum=0;var weight=0;if(target.weight){sum+=target.barycenter*target.weight;weight+=target.weight}if(source.weight){sum+=source.barycenter*source.weight;weight+=source.weight}target.vs=source.vs.concat(target.vs);target.barycenter=sum/weight;target.weight=weight;target.i=Math.min(source.i,target.i);source.merged=true}},{"../lodash":10}],20:[function(require,module,exports){var _=require("../lodash");var barycenter=require("./barycenter");var resolveConflicts=require("./resolve-conflicts");var sort=require("./sort");module.exports=sortSubgraph;function sortSubgraph(g,v,cg,biasRight){var movable=g.children(v);var node=g.node(v);var bl=node?node.borderLeft:undefined;var br=node?node.borderRight:undefined;var subgraphs={};if(bl){movable=_.filter(movable,function(w){return w!==bl&&w!==br})}var barycenters=barycenter(g,movable);_.forEach(barycenters,function(entry){if(g.children(entry.v).length){var subgraphResult=sortSubgraph(g,entry.v,cg,biasRight);subgraphs[entry.v]=subgraphResult;if(_.has(subgraphResult,"barycenter")){mergeBarycenters(entry,subgraphResult)}}});var entries=resolveConflicts(barycenters,cg);expandSubgraphs(entries,subgraphs);var result=sort(entries,biasRight);if(bl){result.vs=_.flatten([bl,result.vs,br],true);if(g.predecessors(bl).length){var blPred=g.node(g.predecessors(bl)[0]),brPred=g.node(g.predecessors(br)[0]);if(!_.has(result,"barycenter")){result.barycenter=0;result.weight=0}result.barycenter=(result.barycenter*result.weight+blPred.order+brPred.order)/(result.weight+2);result.weight+=2}}return result}function expandSubgraphs(entries,subgraphs){_.forEach(entries,function(entry){entry.vs=_.flatten(entry.vs.map(function(v){if(subgraphs[v]){return subgraphs[v].vs}return v}),true)})}function mergeBarycenters(target,other){if(!_.isUndefined(target.barycenter)){target.barycenter=(target.barycenter*target.weight+other.barycenter*other.weight)/(target.weight+other.weight);target.weight+=other.weight}else{target.barycenter=other.barycenter;target.weight=other.weight}}},{"../lodash":10,"./barycenter":14,"./resolve-conflicts":19,"./sort":21}],21:[function(require,module,exports){var _=require("../lodash");var util=require("../util");module.exports=sort;function sort(entries,biasRight){var parts=util.partition(entries,function(entry){return _.has(entry,"barycenter")});var sortable=parts.lhs,unsortable=_.sortBy(parts.rhs,function(entry){return-entry.i}),vs=[],sum=0,weight=0,vsIndex=0;sortable.sort(compareWithBias(!!biasRight));vsIndex=consumeUnsortable(vs,unsortable,vsIndex);_.forEach(sortable,function(entry){vsIndex+=entry.vs.length;vs.push(entry.vs);sum+=entry.barycenter*entry.weight;weight+=entry.weight;vsIndex=consumeUnsortable(vs,unsortable,vsIndex)});var result={vs:_.flatten(vs,true)};if(weight){result.barycenter=sum/weight;result.weight=weight}return result}function consumeUnsortable(vs,unsortable,index){var last;while(unsortable.length&&(last=_.last(unsortable)).i<=index){unsortable.pop();vs.push(last.vs);index++}return index}function compareWithBias(bias){return function(entryV,entryW){if(entryV.barycenter<entryW.barycenter){return-1}else if(entryV.barycenter>entryW.barycenter){return 1}return!bias?entryV.i-entryW.i:entryW.i-entryV.i}}},{"../lodash":10,"../util":29}],22:[function(require,module,exports){var _=require("./lodash");module.exports=parentDummyChains;function parentDummyChains(g){var postorderNums=postorder(g);_.forEach(g.graph().dummyChains,function(v){var node=g.node(v);var edgeObj=node.edgeObj;var pathData=findPath(g,postorderNums,edgeObj.v,edgeObj.w);var path=pathData.path;var lca=pathData.lca;var pathIdx=0;var pathV=path[pathIdx];var ascending=true;while(v!==edgeObj.w){node=g.node(v);if(ascending){while((pathV=path[pathIdx])!==lca&&g.node(pathV).maxRank<node.rank){pathIdx++}if(pathV===lca){ascending=false}}if(!ascending){while(pathIdx<path.length-1&&g.node(pathV=path[pathIdx+1]).minRank<=node.rank){pathIdx++}pathV=path[pathIdx]}g.setParent(v,pathV);v=g.successors(v)[0]}})}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
321 // Find a path from v to w through the lowest common ancestor (LCA). Return the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
322 // full path and the LCA.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
323 function findPath(g,postorderNums,v,w){var vPath=[];var wPath=[];var low=Math.min(postorderNums[v].low,postorderNums[w].low);var lim=Math.max(postorderNums[v].lim,postorderNums[w].lim);var parent;var lca;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
324 // Traverse up from v to find the LCA
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
325 parent=v;do{parent=g.parent(parent);vPath.push(parent)}while(parent&&(postorderNums[parent].low>low||lim>postorderNums[parent].lim));lca=parent;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
326 // Traverse from w to LCA
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
327 parent=w;while((parent=g.parent(parent))!==lca){wPath.push(parent)}return{path:vPath.concat(wPath.reverse()),lca:lca}}function postorder(g){var result={};var lim=0;function dfs(v){var low=lim;_.forEach(g.children(v),dfs);result[v]={low:low,lim:lim++}}_.forEach(g.children(),dfs);return result}},{"./lodash":10}],23:[function(require,module,exports){"use strict";var _=require("../lodash");var Graph=require("../graphlib").Graph;var util=require("../util");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
328 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
329 * This module provides coordinate assignment based on Brandes and Köpf, "Fast
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
330 * and Simple Horizontal Coordinate Assignment."
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
331 */module.exports={positionX:positionX,findType1Conflicts:findType1Conflicts,findType2Conflicts:findType2Conflicts,addConflict:addConflict,hasConflict:hasConflict,verticalAlignment:verticalAlignment,horizontalCompaction:horizontalCompaction,alignCoordinates:alignCoordinates,findSmallestWidthAlignment:findSmallestWidthAlignment,balance:balance};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
332 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
333 * Marks all edges in the graph with a type-1 conflict with the "type1Conflict"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
334 * property. A type-1 conflict is one where a non-inner segment crosses an
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
335 * inner segment. An inner segment is an edge with both incident nodes marked
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
336 * with the "dummy" property.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
337 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
338 * This algorithm scans layer by layer, starting with the second, for type-1
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
339 * conflicts between the current layer and the previous layer. For each layer
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
340 * it scans the nodes from left to right until it reaches one that is incident
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
341 * on an inner segment. It then scans predecessors to determine if they have
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
342 * edges that cross that inner segment. At the end a final scan is done for all
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
343 * nodes on the current rank to see if they cross the last visited inner
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
344 * segment.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
345 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
346 * This algorithm (safely) assumes that a dummy node will only be incident on a
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
347 * single node in the layers being scanned.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
348 */function findType1Conflicts(g,layering){var conflicts={};function visitLayer(prevLayer,layer){var
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
349 // last visited node in the previous layer that is incident on an inner
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
350 // segment.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
351 k0=0,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
352 // Tracks the last node in this layer scanned for crossings with a type-1
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
353 // segment.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
354 scanPos=0,prevLayerLength=prevLayer.length,lastNode=_.last(layer);_.forEach(layer,function(v,i){var w=findOtherInnerSegmentNode(g,v),k1=w?g.node(w).order:prevLayerLength;if(w||v===lastNode){_.forEach(layer.slice(scanPos,i+1),function(scanNode){_.forEach(g.predecessors(scanNode),function(u){var uLabel=g.node(u),uPos=uLabel.order;if((uPos<k0||k1<uPos)&&!(uLabel.dummy&&g.node(scanNode).dummy)){addConflict(conflicts,u,scanNode)}})});scanPos=i+1;k0=k1}});return layer}_.reduce(layering,visitLayer);return conflicts}function findType2Conflicts(g,layering){var conflicts={};function scan(south,southPos,southEnd,prevNorthBorder,nextNorthBorder){var v;_.forEach(_.range(southPos,southEnd),function(i){v=south[i];if(g.node(v).dummy){_.forEach(g.predecessors(v),function(u){var uNode=g.node(u);if(uNode.dummy&&(uNode.order<prevNorthBorder||uNode.order>nextNorthBorder)){addConflict(conflicts,u,v)}})}})}function visitLayer(north,south){var prevNorthPos=-1,nextNorthPos,southPos=0;_.forEach(south,function(v,southLookahead){if(g.node(v).dummy==="border"){var predecessors=g.predecessors(v);if(predecessors.length){nextNorthPos=g.node(predecessors[0]).order;scan(south,southPos,southLookahead,prevNorthPos,nextNorthPos);southPos=southLookahead;prevNorthPos=nextNorthPos}}scan(south,southPos,south.length,nextNorthPos,north.length)});return south}_.reduce(layering,visitLayer);return conflicts}function findOtherInnerSegmentNode(g,v){if(g.node(v).dummy){return _.find(g.predecessors(v),function(u){return g.node(u).dummy})}}function addConflict(conflicts,v,w){if(v>w){var tmp=v;v=w;w=tmp}var conflictsV=conflicts[v];if(!conflictsV){conflicts[v]=conflictsV={}}conflictsV[w]=true}function hasConflict(conflicts,v,w){if(v>w){var tmp=v;v=w;w=tmp}return _.has(conflicts[v],w)}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
355 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
356 * Try to align nodes into vertical "blocks" where possible. This algorithm
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
357 * attempts to align a node with one of its median neighbors. If the edge
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
358 * connecting a neighbor is a type-1 conflict then we ignore that possibility.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
359 * If a previous node has already formed a block with a node after the node
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
360 * we're trying to form a block with, we also ignore that possibility - our
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
361 * blocks would be split in that scenario.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
362 */function verticalAlignment(g,layering,conflicts,neighborFn){var root={},align={},pos={};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
363 // We cache the position here based on the layering because the graph and
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
364 // layering may be out of sync. The layering matrix is manipulated to
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
365 // generate different extreme alignments.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
366 _.forEach(layering,function(layer){_.forEach(layer,function(v,order){root[v]=v;align[v]=v;pos[v]=order})});_.forEach(layering,function(layer){var prevIdx=-1;_.forEach(layer,function(v){var ws=neighborFn(v);if(ws.length){ws=_.sortBy(ws,function(w){return pos[w]});var mp=(ws.length-1)/2;for(var i=Math.floor(mp),il=Math.ceil(mp);i<=il;++i){var w=ws[i];if(align[v]===v&&prevIdx<pos[w]&&!hasConflict(conflicts,v,w)){align[w]=v;align[v]=root[v]=root[w];prevIdx=pos[w]}}}})});return{root:root,align:align}}function horizontalCompaction(g,layering,root,align,reverseSep){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
367 // This portion of the algorithm differs from BK due to a number of problems.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
368 // Instead of their algorithm we construct a new block graph and do two
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
369 // sweeps. The first sweep places blocks with the smallest possible
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
370 // coordinates. The second sweep removes unused space by moving blocks to the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
371 // greatest coordinates without violating separation.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
372 var xs={},blockG=buildBlockGraph(g,layering,root,reverseSep),borderType=reverseSep?"borderLeft":"borderRight";function iterate(setXsFunc,nextNodesFunc){var stack=blockG.nodes();var elem=stack.pop();var visited={};while(elem){if(visited[elem]){setXsFunc(elem)}else{visited[elem]=true;stack.push(elem);stack=stack.concat(nextNodesFunc(elem))}elem=stack.pop()}}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
373 // First pass, assign smallest coordinates
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
374 function pass1(elem){xs[elem]=blockG.inEdges(elem).reduce(function(acc,e){return Math.max(acc,xs[e.v]+blockG.edge(e))},0)}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
375 // Second pass, assign greatest coordinates
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
376 function pass2(elem){var min=blockG.outEdges(elem).reduce(function(acc,e){return Math.min(acc,xs[e.w]-blockG.edge(e))},Number.POSITIVE_INFINITY);var node=g.node(elem);if(min!==Number.POSITIVE_INFINITY&&node.borderType!==borderType){xs[elem]=Math.max(xs[elem],min)}}iterate(pass1,blockG.predecessors.bind(blockG));iterate(pass2,blockG.successors.bind(blockG));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
377 // Assign x coordinates to all nodes
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
378 _.forEach(align,function(v){xs[v]=xs[root[v]]});return xs}function buildBlockGraph(g,layering,root,reverseSep){var blockGraph=new Graph,graphLabel=g.graph(),sepFn=sep(graphLabel.nodesep,graphLabel.edgesep,reverseSep);_.forEach(layering,function(layer){var u;_.forEach(layer,function(v){var vRoot=root[v];blockGraph.setNode(vRoot);if(u){var uRoot=root[u],prevMax=blockGraph.edge(uRoot,vRoot);blockGraph.setEdge(uRoot,vRoot,Math.max(sepFn(g,v,u),prevMax||0))}u=v})});return blockGraph}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
379 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
380 * Returns the alignment that has the smallest width of the given alignments.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
381 */function findSmallestWidthAlignment(g,xss){return _.minBy(_.values(xss),function(xs){var max=Number.NEGATIVE_INFINITY;var min=Number.POSITIVE_INFINITY;_.forIn(xs,function(x,v){var halfWidth=width(g,v)/2;max=Math.max(x+halfWidth,max);min=Math.min(x-halfWidth,min)});return max-min})}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
382 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
383 * Align the coordinates of each of the layout alignments such that
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
384 * left-biased alignments have their minimum coordinate at the same point as
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
385 * the minimum coordinate of the smallest width alignment and right-biased
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
386 * alignments have their maximum coordinate at the same point as the maximum
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
387 * coordinate of the smallest width alignment.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
388 */function alignCoordinates(xss,alignTo){var alignToVals=_.values(alignTo),alignToMin=_.min(alignToVals),alignToMax=_.max(alignToVals);_.forEach(["u","d"],function(vert){_.forEach(["l","r"],function(horiz){var alignment=vert+horiz,xs=xss[alignment],delta;if(xs===alignTo)return;var xsVals=_.values(xs);delta=horiz==="l"?alignToMin-_.min(xsVals):alignToMax-_.max(xsVals);if(delta){xss[alignment]=_.mapValues(xs,function(x){return x+delta})}})})}function balance(xss,align){return _.mapValues(xss.ul,function(ignore,v){if(align){return xss[align.toLowerCase()][v]}else{var xs=_.sortBy(_.map(xss,v));return(xs[1]+xs[2])/2}})}function positionX(g){var layering=util.buildLayerMatrix(g);var conflicts=_.merge(findType1Conflicts(g,layering),findType2Conflicts(g,layering));var xss={};var adjustedLayering;_.forEach(["u","d"],function(vert){adjustedLayering=vert==="u"?layering:_.values(layering).reverse();_.forEach(["l","r"],function(horiz){if(horiz==="r"){adjustedLayering=_.map(adjustedLayering,function(inner){return _.values(inner).reverse()})}var neighborFn=(vert==="u"?g.predecessors:g.successors).bind(g);var align=verticalAlignment(g,adjustedLayering,conflicts,neighborFn);var xs=horizontalCompaction(g,adjustedLayering,align.root,align.align,horiz==="r");if(horiz==="r"){xs=_.mapValues(xs,function(x){return-x})}xss[vert+horiz]=xs})});var smallestWidth=findSmallestWidthAlignment(g,xss);alignCoordinates(xss,smallestWidth);return balance(xss,g.graph().align)}function sep(nodeSep,edgeSep,reverseSep){return function(g,v,w){var vLabel=g.node(v);var wLabel=g.node(w);var sum=0;var delta;sum+=vLabel.width/2;if(_.has(vLabel,"labelpos")){switch(vLabel.labelpos.toLowerCase()){case"l":delta=-vLabel.width/2;break;case"r":delta=vLabel.width/2;break}}if(delta){sum+=reverseSep?delta:-delta}delta=0;sum+=(vLabel.dummy?edgeSep:nodeSep)/2;sum+=(wLabel.dummy?edgeSep:nodeSep)/2;sum+=wLabel.width/2;if(_.has(wLabel,"labelpos")){switch(wLabel.labelpos.toLowerCase()){case"l":delta=wLabel.width/2;break;case"r":delta=-wLabel.width/2;break}}if(delta){sum+=reverseSep?delta:-delta}delta=0;return sum}}function width(g,v){return g.node(v).width}},{"../graphlib":7,"../lodash":10,"../util":29}],24:[function(require,module,exports){"use strict";var _=require("../lodash");var util=require("../util");var positionX=require("./bk").positionX;module.exports=position;function position(g){g=util.asNonCompoundGraph(g);positionY(g);_.forEach(positionX(g),function(x,v){g.node(v).x=x})}function positionY(g){var layering=util.buildLayerMatrix(g);var rankSep=g.graph().ranksep;var prevY=0;_.forEach(layering,function(layer){var maxHeight=_.max(_.map(layer,function(v){return g.node(v).height}));_.forEach(layer,function(v){g.node(v).y=prevY+maxHeight/2});prevY+=maxHeight+rankSep})}},{"../lodash":10,"../util":29,"./bk":23}],25:[function(require,module,exports){"use strict";var _=require("../lodash");var Graph=require("../graphlib").Graph;var slack=require("./util").slack;module.exports=feasibleTree;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
389 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
390 * Constructs a spanning tree with tight edges and adjusted the input node's
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
391 * ranks to achieve this. A tight edge is one that is has a length that matches
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
392 * its "minlen" attribute.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
393 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
394 * The basic structure for this function is derived from Gansner, et al., "A
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
395 * Technique for Drawing Directed Graphs."
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
396 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
397 * Pre-conditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
398 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
399 * 1. Graph must be a DAG.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
400 * 2. Graph must be connected.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
401 * 3. Graph must have at least one node.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
402 * 5. Graph nodes must have been previously assigned a "rank" property that
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
403 * respects the "minlen" property of incident edges.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
404 * 6. Graph edges must have a "minlen" property.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
405 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
406 * Post-conditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
407 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
408 * - Graph nodes will have their rank adjusted to ensure that all edges are
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
409 * tight.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
410 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
411 * Returns a tree (undirected graph) that is constructed using only "tight"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
412 * edges.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
413 */function feasibleTree(g){var t=new Graph({directed:false});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
414 // Choose arbitrary node from which to start our tree
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
415 var start=g.nodes()[0];var size=g.nodeCount();t.setNode(start,{});var edge,delta;while(tightTree(t,g)<size){edge=findMinSlackEdge(t,g);delta=t.hasNode(edge.v)?slack(g,edge):-slack(g,edge);shiftRanks(t,g,delta)}return t}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
416 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
417 * Finds a maximal tree of tight edges and returns the number of nodes in the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
418 * tree.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
419 */function tightTree(t,g){function dfs(v){_.forEach(g.nodeEdges(v),function(e){var edgeV=e.v,w=v===edgeV?e.w:edgeV;if(!t.hasNode(w)&&!slack(g,e)){t.setNode(w,{});t.setEdge(v,w,{});dfs(w)}})}_.forEach(t.nodes(),dfs);return t.nodeCount()}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
420 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
421 * Finds the edge with the smallest slack that is incident on tree and returns
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
422 * it.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
423 */function findMinSlackEdge(t,g){return _.minBy(g.edges(),function(e){if(t.hasNode(e.v)!==t.hasNode(e.w)){return slack(g,e)}})}function shiftRanks(t,g,delta){_.forEach(t.nodes(),function(v){g.node(v).rank+=delta})}},{"../graphlib":7,"../lodash":10,"./util":28}],26:[function(require,module,exports){"use strict";var rankUtil=require("./util");var longestPath=rankUtil.longestPath;var feasibleTree=require("./feasible-tree");var networkSimplex=require("./network-simplex");module.exports=rank;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
424 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
425 * Assigns a rank to each node in the input graph that respects the "minlen"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
426 * constraint specified on edges between nodes.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
427 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
428 * This basic structure is derived from Gansner, et al., "A Technique for
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
429 * Drawing Directed Graphs."
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
430 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
431 * Pre-conditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
432 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
433 * 1. Graph must be a connected DAG
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
434 * 2. Graph nodes must be objects
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
435 * 3. Graph edges must have "weight" and "minlen" attributes
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
436 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
437 * Post-conditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
438 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
439 * 1. Graph nodes will have a "rank" attribute based on the results of the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
440 * algorithm. Ranks can start at any index (including negative), we'll
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
441 * fix them up later.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
442 */function rank(g){switch(g.graph().ranker){case"network-simplex":networkSimplexRanker(g);break;case"tight-tree":tightTreeRanker(g);break;case"longest-path":longestPathRanker(g);break;default:networkSimplexRanker(g)}}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
443 // A fast and simple ranker, but results are far from optimal.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
444 var longestPathRanker=longestPath;function tightTreeRanker(g){longestPath(g);feasibleTree(g)}function networkSimplexRanker(g){networkSimplex(g)}},{"./feasible-tree":25,"./network-simplex":27,"./util":28}],27:[function(require,module,exports){"use strict";var _=require("../lodash");var feasibleTree=require("./feasible-tree");var slack=require("./util").slack;var initRank=require("./util").longestPath;var preorder=require("../graphlib").alg.preorder;var postorder=require("../graphlib").alg.postorder;var simplify=require("../util").simplify;module.exports=networkSimplex;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
445 // Expose some internals for testing purposes
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
446 networkSimplex.initLowLimValues=initLowLimValues;networkSimplex.initCutValues=initCutValues;networkSimplex.calcCutValue=calcCutValue;networkSimplex.leaveEdge=leaveEdge;networkSimplex.enterEdge=enterEdge;networkSimplex.exchangeEdges=exchangeEdges;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
447 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
448 * The network simplex algorithm assigns ranks to each node in the input graph
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
449 * and iteratively improves the ranking to reduce the length of edges.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
450 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
451 * Preconditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
452 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
453 * 1. The input graph must be a DAG.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
454 * 2. All nodes in the graph must have an object value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
455 * 3. All edges in the graph must have "minlen" and "weight" attributes.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
456 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
457 * Postconditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
458 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
459 * 1. All nodes in the graph will have an assigned "rank" attribute that has
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
460 * been optimized by the network simplex algorithm. Ranks start at 0.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
461 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
462 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
463 * A rough sketch of the algorithm is as follows:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
464 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
465 * 1. Assign initial ranks to each node. We use the longest path algorithm,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
466 * which assigns ranks to the lowest position possible. In general this
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
467 * leads to very wide bottom ranks and unnecessarily long edges.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
468 * 2. Construct a feasible tight tree. A tight tree is one such that all
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
469 * edges in the tree have no slack (difference between length of edge
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
470 * and minlen for the edge). This by itself greatly improves the assigned
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
471 * rankings by shorting edges.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
472 * 3. Iteratively find edges that have negative cut values. Generally a
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
473 * negative cut value indicates that the edge could be removed and a new
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
474 * tree edge could be added to produce a more compact graph.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
475 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
476 * Much of the algorithms here are derived from Gansner, et al., "A Technique
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
477 * for Drawing Directed Graphs." The structure of the file roughly follows the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
478 * structure of the overall algorithm.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
479 */function networkSimplex(g){g=simplify(g);initRank(g);var t=feasibleTree(g);initLowLimValues(t);initCutValues(t,g);var e,f;while(e=leaveEdge(t)){f=enterEdge(t,g,e);exchangeEdges(t,g,e,f)}}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
480 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
481 * Initializes cut values for all edges in the tree.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
482 */function initCutValues(t,g){var vs=postorder(t,t.nodes());vs=vs.slice(0,vs.length-1);_.forEach(vs,function(v){assignCutValue(t,g,v)})}function assignCutValue(t,g,child){var childLab=t.node(child);var parent=childLab.parent;t.edge(child,parent).cutvalue=calcCutValue(t,g,child)}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
483 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
484 * Given the tight tree, its graph, and a child in the graph calculate and
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
485 * return the cut value for the edge between the child and its parent.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
486 */function calcCutValue(t,g,child){var childLab=t.node(child);var parent=childLab.parent;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
487 // True if the child is on the tail end of the edge in the directed graph
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
488 var childIsTail=true;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
489 // The graph's view of the tree edge we're inspecting
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
490 var graphEdge=g.edge(child,parent);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
491 // The accumulated cut value for the edge between this node and its parent
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
492 var cutValue=0;if(!graphEdge){childIsTail=false;graphEdge=g.edge(parent,child)}cutValue=graphEdge.weight;_.forEach(g.nodeEdges(child),function(e){var isOutEdge=e.v===child,other=isOutEdge?e.w:e.v;if(other!==parent){var pointsToHead=isOutEdge===childIsTail,otherWeight=g.edge(e).weight;cutValue+=pointsToHead?otherWeight:-otherWeight;if(isTreeEdge(t,child,other)){var otherCutValue=t.edge(child,other).cutvalue;cutValue+=pointsToHead?-otherCutValue:otherCutValue}}});return cutValue}function initLowLimValues(tree,root){if(arguments.length<2){root=tree.nodes()[0]}dfsAssignLowLim(tree,{},1,root)}function dfsAssignLowLim(tree,visited,nextLim,v,parent){var low=nextLim;var label=tree.node(v);visited[v]=true;_.forEach(tree.neighbors(v),function(w){if(!_.has(visited,w)){nextLim=dfsAssignLowLim(tree,visited,nextLim,w,v)}});label.low=low;label.lim=nextLim++;if(parent){label.parent=parent}else{
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
493 // TODO should be able to remove this when we incrementally update low lim
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
494 delete label.parent}return nextLim}function leaveEdge(tree){return _.find(tree.edges(),function(e){return tree.edge(e).cutvalue<0})}function enterEdge(t,g,edge){var v=edge.v;var w=edge.w;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
495 // For the rest of this function we assume that v is the tail and w is the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
496 // head, so if we don't have this edge in the graph we should flip it to
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
497 // match the correct orientation.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
498 if(!g.hasEdge(v,w)){v=edge.w;w=edge.v}var vLabel=t.node(v);var wLabel=t.node(w);var tailLabel=vLabel;var flip=false;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
499 // If the root is in the tail of the edge then we need to flip the logic that
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
500 // checks for the head and tail nodes in the candidates function below.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
501 if(vLabel.lim>wLabel.lim){tailLabel=wLabel;flip=true}var candidates=_.filter(g.edges(),function(edge){return flip===isDescendant(t,t.node(edge.v),tailLabel)&&flip!==isDescendant(t,t.node(edge.w),tailLabel)});return _.minBy(candidates,function(edge){return slack(g,edge)})}function exchangeEdges(t,g,e,f){var v=e.v;var w=e.w;t.removeEdge(v,w);t.setEdge(f.v,f.w,{});initLowLimValues(t);initCutValues(t,g);updateRanks(t,g)}function updateRanks(t,g){var root=_.find(t.nodes(),function(v){return!g.node(v).parent});var vs=preorder(t,root);vs=vs.slice(1);_.forEach(vs,function(v){var parent=t.node(v).parent,edge=g.edge(v,parent),flipped=false;if(!edge){edge=g.edge(parent,v);flipped=true}g.node(v).rank=g.node(parent).rank+(flipped?edge.minlen:-edge.minlen)})}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
502 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
503 * Returns true if the edge is in the tree.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
504 */function isTreeEdge(tree,u,v){return tree.hasEdge(u,v)}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
505 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
506 * Returns true if the specified node is descendant of the root node per the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
507 * assigned low and lim attributes in the tree.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
508 */function isDescendant(tree,vLabel,rootLabel){return rootLabel.low<=vLabel.lim&&vLabel.lim<=rootLabel.lim}},{"../graphlib":7,"../lodash":10,"../util":29,"./feasible-tree":25,"./util":28}],28:[function(require,module,exports){"use strict";var _=require("../lodash");module.exports={longestPath:longestPath,slack:slack};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
509 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
510 * Initializes ranks for the input graph using the longest path algorithm. This
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
511 * algorithm scales well and is fast in practice, it yields rather poor
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
512 * solutions. Nodes are pushed to the lowest layer possible, leaving the bottom
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
513 * ranks wide and leaving edges longer than necessary. However, due to its
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
514 * speed, this algorithm is good for getting an initial ranking that can be fed
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
515 * into other algorithms.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
516 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
517 * This algorithm does not normalize layers because it will be used by other
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
518 * algorithms in most cases. If using this algorithm directly, be sure to
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
519 * run normalize at the end.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
520 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
521 * Pre-conditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
522 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
523 * 1. Input graph is a DAG.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
524 * 2. Input graph node labels can be assigned properties.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
525 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
526 * Post-conditions:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
527 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
528 * 1. Each node will be assign an (unnormalized) "rank" property.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
529 */function longestPath(g){var visited={};function dfs(v){var label=g.node(v);if(_.has(visited,v)){return label.rank}visited[v]=true;var rank=_.min(_.map(g.outEdges(v),function(e){return dfs(e.w)-g.edge(e).minlen}));if(rank===Number.POSITIVE_INFINITY||// return value of _.map([]) for Lodash 3
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
530 rank===undefined||// return value of _.map([]) for Lodash 4
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
531 rank===null){// return value of _.map([null])
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
532 rank=0}return label.rank=rank}_.forEach(g.sources(),dfs)}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
533 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
534 * Returns the amount of slack for the given edge. The slack is defined as the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
535 * difference between the length of the edge and its minimum length.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
536 */function slack(g,e){return g.node(e.w).rank-g.node(e.v).rank-g.edge(e).minlen}},{"../lodash":10}],29:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
537 /* eslint "no-console": off */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
538 "use strict";var _=require("./lodash");var Graph=require("./graphlib").Graph;module.exports={addDummyNode:addDummyNode,simplify:simplify,asNonCompoundGraph:asNonCompoundGraph,successorWeights:successorWeights,predecessorWeights:predecessorWeights,intersectRect:intersectRect,buildLayerMatrix:buildLayerMatrix,normalizeRanks:normalizeRanks,removeEmptyRanks:removeEmptyRanks,addBorderNode:addBorderNode,maxRank:maxRank,partition:partition,time:time,notime:notime};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
539 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
540 * Adds a dummy node to the graph and return v.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
541 */function addDummyNode(g,type,attrs,name){var v;do{v=_.uniqueId(name)}while(g.hasNode(v));attrs.dummy=type;g.setNode(v,attrs);return v}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
542 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
543 * Returns a new graph with only simple edges. Handles aggregation of data
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
544 * associated with multi-edges.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
545 */function simplify(g){var simplified=(new Graph).setGraph(g.graph());_.forEach(g.nodes(),function(v){simplified.setNode(v,g.node(v))});_.forEach(g.edges(),function(e){var simpleLabel=simplified.edge(e.v,e.w)||{weight:0,minlen:1};var label=g.edge(e);simplified.setEdge(e.v,e.w,{weight:simpleLabel.weight+label.weight,minlen:Math.max(simpleLabel.minlen,label.minlen)})});return simplified}function asNonCompoundGraph(g){var simplified=new Graph({multigraph:g.isMultigraph()}).setGraph(g.graph());_.forEach(g.nodes(),function(v){if(!g.children(v).length){simplified.setNode(v,g.node(v))}});_.forEach(g.edges(),function(e){simplified.setEdge(e,g.edge(e))});return simplified}function successorWeights(g){var weightMap=_.map(g.nodes(),function(v){var sucs={};_.forEach(g.outEdges(v),function(e){sucs[e.w]=(sucs[e.w]||0)+g.edge(e).weight});return sucs});return _.zipObject(g.nodes(),weightMap)}function predecessorWeights(g){var weightMap=_.map(g.nodes(),function(v){var preds={};_.forEach(g.inEdges(v),function(e){preds[e.v]=(preds[e.v]||0)+g.edge(e).weight});return preds});return _.zipObject(g.nodes(),weightMap)}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
546 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
547 * Finds where a line starting at point ({x, y}) would intersect a rectangle
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
548 * ({x, y, width, height}) if it were pointing at the rectangle's center.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
549 */function intersectRect(rect,point){var x=rect.x;var y=rect.y;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
550 // Rectangle intersection algorithm from:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
551 // http://math.stackexchange.com/questions/108113/find-edge-between-two-boxes
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
552 var dx=point.x-x;var dy=point.y-y;var w=rect.width/2;var h=rect.height/2;if(!dx&&!dy){throw new Error("Not possible to find intersection inside of the rectangle")}var sx,sy;if(Math.abs(dy)*w>Math.abs(dx)*h){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
553 // Intersection is top or bottom of rect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
554 if(dy<0){h=-h}sx=h*dx/dy;sy=h}else{
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
555 // Intersection is left or right of rect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
556 if(dx<0){w=-w}sx=w;sy=w*dy/dx}return{x:x+sx,y:y+sy}}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
557 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
558 * Given a DAG with each node assigned "rank" and "order" properties, this
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
559 * function will produce a matrix with the ids of each node.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
560 */function buildLayerMatrix(g){var layering=_.map(_.range(maxRank(g)+1),function(){return[]});_.forEach(g.nodes(),function(v){var node=g.node(v);var rank=node.rank;if(!_.isUndefined(rank)){layering[rank][node.order]=v}});return layering}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
561 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
562 * Adjusts the ranks for all nodes in the graph such that all nodes v have
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
563 * rank(v) >= 0 and at least one node w has rank(w) = 0.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
564 */function normalizeRanks(g){var min=_.min(_.map(g.nodes(),function(v){return g.node(v).rank}));_.forEach(g.nodes(),function(v){var node=g.node(v);if(_.has(node,"rank")){node.rank-=min}})}function removeEmptyRanks(g){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
565 // Ranks may not start at 0, so we need to offset them
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
566 var offset=_.min(_.map(g.nodes(),function(v){return g.node(v).rank}));var layers=[];_.forEach(g.nodes(),function(v){var rank=g.node(v).rank-offset;if(!layers[rank]){layers[rank]=[]}layers[rank].push(v)});var delta=0;var nodeRankFactor=g.graph().nodeRankFactor;_.forEach(layers,function(vs,i){if(_.isUndefined(vs)&&i%nodeRankFactor!==0){--delta}else if(delta){_.forEach(vs,function(v){g.node(v).rank+=delta})}})}function addBorderNode(g,prefix,rank,order){var node={width:0,height:0};if(arguments.length>=4){node.rank=rank;node.order=order}return addDummyNode(g,"border",node,prefix)}function maxRank(g){return _.max(_.map(g.nodes(),function(v){var rank=g.node(v).rank;if(!_.isUndefined(rank)){return rank}}))}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
567 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
568 * Partition a collection into two groups: `lhs` and `rhs`. If the supplied
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
569 * function returns true for an entry it goes into `lhs`. Otherwise it goes
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
570 * into `rhs.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
571 */function partition(collection,fn){var result={lhs:[],rhs:[]};_.forEach(collection,function(value){if(fn(value)){result.lhs.push(value)}else{result.rhs.push(value)}});return result}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
572 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
573 * Returns a new function that wraps `fn` with a timer. The wrapper logs the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
574 * time it takes to execute the function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
575 */function time(name,fn){var start=_.now();try{return fn()}finally{console.log(name+" time: "+(_.now()-start)+"ms")}}function notime(name,fn){return fn()}},{"./graphlib":7,"./lodash":10}],30:[function(require,module,exports){module.exports="0.8.5"},{}],31:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
576 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
577 * Copyright (c) 2014, Chris Pettitt
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
578 * All rights reserved.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
579 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
580 * Redistribution and use in source and binary forms, with or without
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
581 * modification, are permitted provided that the following conditions are met:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
582 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
583 * 1. Redistributions of source code must retain the above copyright notice, this
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
584 * list of conditions and the following disclaimer.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
585 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
586 * 2. Redistributions in binary form must reproduce the above copyright notice,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
587 * this list of conditions and the following disclaimer in the documentation
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
588 * and/or other materials provided with the distribution.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
589 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
590 * 3. Neither the name of the copyright holder nor the names of its contributors
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
591 * may be used to endorse or promote products derived from this software without
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
592 * specific prior written permission.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
593 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
594 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
595 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
596 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
597 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
598 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
599 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
600 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
601 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
602 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
603 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
604 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
605 var lib=require("./lib");module.exports={Graph:lib.Graph,json:require("./lib/json"),alg:require("./lib/alg"),version:lib.version}},{"./lib":47,"./lib/alg":38,"./lib/json":48}],32:[function(require,module,exports){var _=require("../lodash");module.exports=components;function components(g){var visited={};var cmpts=[];var cmpt;function dfs(v){if(_.has(visited,v))return;visited[v]=true;cmpt.push(v);_.each(g.successors(v),dfs);_.each(g.predecessors(v),dfs)}_.each(g.nodes(),function(v){cmpt=[];dfs(v);if(cmpt.length){cmpts.push(cmpt)}});return cmpts}},{"../lodash":49}],33:[function(require,module,exports){var _=require("../lodash");module.exports=dfs;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
606 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
607 * A helper that preforms a pre- or post-order traversal on the input graph
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
608 * and returns the nodes in the order they were visited. If the graph is
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
609 * undirected then this algorithm will navigate using neighbors. If the graph
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
610 * is directed then this algorithm will navigate using successors.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
611 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
612 * Order must be one of "pre" or "post".
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
613 */function dfs(g,vs,order){if(!_.isArray(vs)){vs=[vs]}var navigation=(g.isDirected()?g.successors:g.neighbors).bind(g);var acc=[];var visited={};_.each(vs,function(v){if(!g.hasNode(v)){throw new Error("Graph does not have node: "+v)}doDfs(g,v,order==="post",visited,navigation,acc)});return acc}function doDfs(g,v,postorder,visited,navigation,acc){if(!_.has(visited,v)){visited[v]=true;if(!postorder){acc.push(v)}_.each(navigation(v),function(w){doDfs(g,w,postorder,visited,navigation,acc)});if(postorder){acc.push(v)}}}},{"../lodash":49}],34:[function(require,module,exports){var dijkstra=require("./dijkstra");var _=require("../lodash");module.exports=dijkstraAll;function dijkstraAll(g,weightFunc,edgeFunc){return _.transform(g.nodes(),function(acc,v){acc[v]=dijkstra(g,v,weightFunc,edgeFunc)},{})}},{"../lodash":49,"./dijkstra":35}],35:[function(require,module,exports){var _=require("../lodash");var PriorityQueue=require("../data/priority-queue");module.exports=dijkstra;var DEFAULT_WEIGHT_FUNC=_.constant(1);function dijkstra(g,source,weightFn,edgeFn){return runDijkstra(g,String(source),weightFn||DEFAULT_WEIGHT_FUNC,edgeFn||function(v){return g.outEdges(v)})}function runDijkstra(g,source,weightFn,edgeFn){var results={};var pq=new PriorityQueue;var v,vEntry;var updateNeighbors=function(edge){var w=edge.v!==v?edge.v:edge.w;var wEntry=results[w];var weight=weightFn(edge);var distance=vEntry.distance+weight;if(weight<0){throw new Error("dijkstra does not allow negative edge weights. "+"Bad edge: "+edge+" Weight: "+weight)}if(distance<wEntry.distance){wEntry.distance=distance;wEntry.predecessor=v;pq.decrease(w,distance)}};g.nodes().forEach(function(v){var distance=v===source?0:Number.POSITIVE_INFINITY;results[v]={distance:distance};pq.add(v,distance)});while(pq.size()>0){v=pq.removeMin();vEntry=results[v];if(vEntry.distance===Number.POSITIVE_INFINITY){break}edgeFn(v).forEach(updateNeighbors)}return results}},{"../data/priority-queue":45,"../lodash":49}],36:[function(require,module,exports){var _=require("../lodash");var tarjan=require("./tarjan");module.exports=findCycles;function findCycles(g){return _.filter(tarjan(g),function(cmpt){return cmpt.length>1||cmpt.length===1&&g.hasEdge(cmpt[0],cmpt[0])})}},{"../lodash":49,"./tarjan":43}],37:[function(require,module,exports){var _=require("../lodash");module.exports=floydWarshall;var DEFAULT_WEIGHT_FUNC=_.constant(1);function floydWarshall(g,weightFn,edgeFn){return runFloydWarshall(g,weightFn||DEFAULT_WEIGHT_FUNC,edgeFn||function(v){return g.outEdges(v)})}function runFloydWarshall(g,weightFn,edgeFn){var results={};var nodes=g.nodes();nodes.forEach(function(v){results[v]={};results[v][v]={distance:0};nodes.forEach(function(w){if(v!==w){results[v][w]={distance:Number.POSITIVE_INFINITY}}});edgeFn(v).forEach(function(edge){var w=edge.v===v?edge.w:edge.v;var d=weightFn(edge);results[v][w]={distance:d,predecessor:v}})});nodes.forEach(function(k){var rowK=results[k];nodes.forEach(function(i){var rowI=results[i];nodes.forEach(function(j){var ik=rowI[k];var kj=rowK[j];var ij=rowI[j];var altDistance=ik.distance+kj.distance;if(altDistance<ij.distance){ij.distance=altDistance;ij.predecessor=kj.predecessor}})})});return results}},{"../lodash":49}],38:[function(require,module,exports){module.exports={components:require("./components"),dijkstra:require("./dijkstra"),dijkstraAll:require("./dijkstra-all"),findCycles:require("./find-cycles"),floydWarshall:require("./floyd-warshall"),isAcyclic:require("./is-acyclic"),postorder:require("./postorder"),preorder:require("./preorder"),prim:require("./prim"),tarjan:require("./tarjan"),topsort:require("./topsort")}},{"./components":32,"./dijkstra":35,"./dijkstra-all":34,"./find-cycles":36,"./floyd-warshall":37,"./is-acyclic":39,"./postorder":40,"./preorder":41,"./prim":42,"./tarjan":43,"./topsort":44}],39:[function(require,module,exports){var topsort=require("./topsort");module.exports=isAcyclic;function isAcyclic(g){try{topsort(g)}catch(e){if(e instanceof topsort.CycleException){return false}throw e}return true}},{"./topsort":44}],40:[function(require,module,exports){var dfs=require("./dfs");module.exports=postorder;function postorder(g,vs){return dfs(g,vs,"post")}},{"./dfs":33}],41:[function(require,module,exports){var dfs=require("./dfs");module.exports=preorder;function preorder(g,vs){return dfs(g,vs,"pre")}},{"./dfs":33}],42:[function(require,module,exports){var _=require("../lodash");var Graph=require("../graph");var PriorityQueue=require("../data/priority-queue");module.exports=prim;function prim(g,weightFunc){var result=new Graph;var parents={};var pq=new PriorityQueue;var v;function updateNeighbors(edge){var w=edge.v===v?edge.w:edge.v;var pri=pq.priority(w);if(pri!==undefined){var edgeWeight=weightFunc(edge);if(edgeWeight<pri){parents[w]=v;pq.decrease(w,edgeWeight)}}}if(g.nodeCount()===0){return result}_.each(g.nodes(),function(v){pq.add(v,Number.POSITIVE_INFINITY);result.setNode(v)});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
614 // Start from an arbitrary node
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
615 pq.decrease(g.nodes()[0],0);var init=false;while(pq.size()>0){v=pq.removeMin();if(_.has(parents,v)){result.setEdge(v,parents[v])}else if(init){throw new Error("Input graph is not connected: "+g)}else{init=true}g.nodeEdges(v).forEach(updateNeighbors)}return result}},{"../data/priority-queue":45,"../graph":46,"../lodash":49}],43:[function(require,module,exports){var _=require("../lodash");module.exports=tarjan;function tarjan(g){var index=0;var stack=[];var visited={};// node id -> { onStack, lowlink, index }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
616 var results=[];function dfs(v){var entry=visited[v]={onStack:true,lowlink:index,index:index++};stack.push(v);g.successors(v).forEach(function(w){if(!_.has(visited,w)){dfs(w);entry.lowlink=Math.min(entry.lowlink,visited[w].lowlink)}else if(visited[w].onStack){entry.lowlink=Math.min(entry.lowlink,visited[w].index)}});if(entry.lowlink===entry.index){var cmpt=[];var w;do{w=stack.pop();visited[w].onStack=false;cmpt.push(w)}while(v!==w);results.push(cmpt)}}g.nodes().forEach(function(v){if(!_.has(visited,v)){dfs(v)}});return results}},{"../lodash":49}],44:[function(require,module,exports){var _=require("../lodash");module.exports=topsort;topsort.CycleException=CycleException;function topsort(g){var visited={};var stack={};var results=[];function visit(node){if(_.has(stack,node)){throw new CycleException}if(!_.has(visited,node)){stack[node]=true;visited[node]=true;_.each(g.predecessors(node),visit);delete stack[node];results.push(node)}}_.each(g.sinks(),visit);if(_.size(visited)!==g.nodeCount()){throw new CycleException}return results}function CycleException(){}CycleException.prototype=new Error;// must be an instance of Error to pass testing
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
617 },{"../lodash":49}],45:[function(require,module,exports){var _=require("../lodash");module.exports=PriorityQueue;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
618 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
619 * A min-priority queue data structure. This algorithm is derived from Cormen,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
620 * et al., "Introduction to Algorithms". The basic idea of a min-priority
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
621 * queue is that you can efficiently (in O(1) time) get the smallest key in
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
622 * the queue. Adding and removing elements takes O(log n) time. A key can
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
623 * have its priority decreased in O(log n) time.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
624 */function PriorityQueue(){this._arr=[];this._keyIndices={}}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
625 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
626 * Returns the number of elements in the queue. Takes `O(1)` time.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
627 */PriorityQueue.prototype.size=function(){return this._arr.length};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
628 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
629 * Returns the keys that are in the queue. Takes `O(n)` time.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
630 */PriorityQueue.prototype.keys=function(){return this._arr.map(function(x){return x.key})};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
631 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
632 * Returns `true` if **key** is in the queue and `false` if not.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
633 */PriorityQueue.prototype.has=function(key){return _.has(this._keyIndices,key)};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
634 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
635 * Returns the priority for **key**. If **key** is not present in the queue
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
636 * then this function returns `undefined`. Takes `O(1)` time.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
637 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
638 * @param {Object} key
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
639 */PriorityQueue.prototype.priority=function(key){var index=this._keyIndices[key];if(index!==undefined){return this._arr[index].priority}};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
640 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
641 * Returns the key for the minimum element in this queue. If the queue is
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
642 * empty this function throws an Error. Takes `O(1)` time.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
643 */PriorityQueue.prototype.min=function(){if(this.size()===0){throw new Error("Queue underflow")}return this._arr[0].key};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
644 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
645 * Inserts a new key into the priority queue. If the key already exists in
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
646 * the queue this function returns `false`; otherwise it will return `true`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
647 * Takes `O(n)` time.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
648 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
649 * @param {Object} key the key to add
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
650 * @param {Number} priority the initial priority for the key
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
651 */PriorityQueue.prototype.add=function(key,priority){var keyIndices=this._keyIndices;key=String(key);if(!_.has(keyIndices,key)){var arr=this._arr;var index=arr.length;keyIndices[key]=index;arr.push({key:key,priority:priority});this._decrease(index);return true}return false};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
652 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
653 * Removes and returns the smallest key in the queue. Takes `O(log n)` time.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
654 */PriorityQueue.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var min=this._arr.pop();delete this._keyIndices[min.key];this._heapify(0);return min.key};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
655 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
656 * Decreases the priority for **key** to **priority**. If the new priority is
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
657 * greater than the previous priority, this function will throw an Error.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
658 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
659 * @param {Object} key the key for which to raise priority
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
660 * @param {Number} priority the new priority for the key
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
661 */PriorityQueue.prototype.decrease=function(key,priority){var index=this._keyIndices[key];if(priority>this._arr[index].priority){throw new Error("New priority is greater than current priority. "+"Key: "+key+" Old: "+this._arr[index].priority+" New: "+priority)}this._arr[index].priority=priority;this._decrease(index)};PriorityQueue.prototype._heapify=function(i){var arr=this._arr;var l=2*i;var r=l+1;var largest=i;if(l<arr.length){largest=arr[l].priority<arr[largest].priority?l:largest;if(r<arr.length){largest=arr[r].priority<arr[largest].priority?r:largest}if(largest!==i){this._swap(i,largest);this._heapify(largest)}}};PriorityQueue.prototype._decrease=function(index){var arr=this._arr;var priority=arr[index].priority;var parent;while(index!==0){parent=index>>1;if(arr[parent].priority<priority){break}this._swap(index,parent);index=parent}};PriorityQueue.prototype._swap=function(i,j){var arr=this._arr;var keyIndices=this._keyIndices;var origArrI=arr[i];var origArrJ=arr[j];arr[i]=origArrJ;arr[j]=origArrI;keyIndices[origArrJ.key]=i;keyIndices[origArrI.key]=j}},{"../lodash":49}],46:[function(require,module,exports){"use strict";var _=require("./lodash");module.exports=Graph;var DEFAULT_EDGE_NAME="\0";var GRAPH_NODE="\0";var EDGE_KEY_DELIM="";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
662 // Implementation notes:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
663 //
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
664 // * Node id query functions should return string ids for the nodes
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
665 // * Edge id query functions should return an "edgeObj", edge object, that is
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
666 // composed of enough information to uniquely identify an edge: {v, w, name}.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
667 // * Internally we use an "edgeId", a stringified form of the edgeObj, to
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
668 // reference edges. This is because we need a performant way to look these
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
669 // edges up and, object properties, which have string keys, are the closest
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
670 // we're going to get to a performant hashtable in JavaScript.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
671 function Graph(opts){this._isDirected=_.has(opts,"directed")?opts.directed:true;this._isMultigraph=_.has(opts,"multigraph")?opts.multigraph:false;this._isCompound=_.has(opts,"compound")?opts.compound:false;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
672 // Label for the graph itself
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
673 this._label=undefined;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
674 // Defaults to be set when creating a new node
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
675 this._defaultNodeLabelFn=_.constant(undefined);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
676 // Defaults to be set when creating a new edge
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
677 this._defaultEdgeLabelFn=_.constant(undefined);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
678 // v -> label
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
679 this._nodes={};if(this._isCompound){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
680 // v -> parent
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
681 this._parent={};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
682 // v -> children
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
683 this._children={};this._children[GRAPH_NODE]={}}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
684 // v -> edgeObj
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
685 this._in={};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
686 // u -> v -> Number
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
687 this._preds={};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
688 // v -> edgeObj
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
689 this._out={};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
690 // v -> w -> Number
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
691 this._sucs={};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
692 // e -> edgeObj
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
693 this._edgeObjs={};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
694 // e -> label
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
695 this._edgeLabels={}}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
696 /* Number of nodes in the graph. Should only be changed by the implementation. */Graph.prototype._nodeCount=0;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
697 /* Number of edges in the graph. Should only be changed by the implementation. */Graph.prototype._edgeCount=0;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
698 /* === Graph functions ========= */Graph.prototype.isDirected=function(){return this._isDirected};Graph.prototype.isMultigraph=function(){return this._isMultigraph};Graph.prototype.isCompound=function(){return this._isCompound};Graph.prototype.setGraph=function(label){this._label=label;return this};Graph.prototype.graph=function(){return this._label};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
699 /* === Node functions ========== */Graph.prototype.setDefaultNodeLabel=function(newDefault){if(!_.isFunction(newDefault)){newDefault=_.constant(newDefault)}this._defaultNodeLabelFn=newDefault;return this};Graph.prototype.nodeCount=function(){return this._nodeCount};Graph.prototype.nodes=function(){return _.keys(this._nodes)};Graph.prototype.sources=function(){var self=this;return _.filter(this.nodes(),function(v){return _.isEmpty(self._in[v])})};Graph.prototype.sinks=function(){var self=this;return _.filter(this.nodes(),function(v){return _.isEmpty(self._out[v])})};Graph.prototype.setNodes=function(vs,value){var args=arguments;var self=this;_.each(vs,function(v){if(args.length>1){self.setNode(v,value)}else{self.setNode(v)}});return this};Graph.prototype.setNode=function(v,value){if(_.has(this._nodes,v)){if(arguments.length>1){this._nodes[v]=value}return this}this._nodes[v]=arguments.length>1?value:this._defaultNodeLabelFn(v);if(this._isCompound){this._parent[v]=GRAPH_NODE;this._children[v]={};this._children[GRAPH_NODE][v]=true}this._in[v]={};this._preds[v]={};this._out[v]={};this._sucs[v]={};++this._nodeCount;return this};Graph.prototype.node=function(v){return this._nodes[v]};Graph.prototype.hasNode=function(v){return _.has(this._nodes,v)};Graph.prototype.removeNode=function(v){var self=this;if(_.has(this._nodes,v)){var removeEdge=function(e){self.removeEdge(self._edgeObjs[e])};delete this._nodes[v];if(this._isCompound){this._removeFromParentsChildList(v);delete this._parent[v];_.each(this.children(v),function(child){self.setParent(child)});delete this._children[v]}_.each(_.keys(this._in[v]),removeEdge);delete this._in[v];delete this._preds[v];_.each(_.keys(this._out[v]),removeEdge);delete this._out[v];delete this._sucs[v];--this._nodeCount}return this};Graph.prototype.setParent=function(v,parent){if(!this._isCompound){throw new Error("Cannot set parent in a non-compound graph")}if(_.isUndefined(parent)){parent=GRAPH_NODE}else{
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
700 // Coerce parent to string
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
701 parent+="";for(var ancestor=parent;!_.isUndefined(ancestor);ancestor=this.parent(ancestor)){if(ancestor===v){throw new Error("Setting "+parent+" as parent of "+v+" would create a cycle")}}this.setNode(parent)}this.setNode(v);this._removeFromParentsChildList(v);this._parent[v]=parent;this._children[parent][v]=true;return this};Graph.prototype._removeFromParentsChildList=function(v){delete this._children[this._parent[v]][v]};Graph.prototype.parent=function(v){if(this._isCompound){var parent=this._parent[v];if(parent!==GRAPH_NODE){return parent}}};Graph.prototype.children=function(v){if(_.isUndefined(v)){v=GRAPH_NODE}if(this._isCompound){var children=this._children[v];if(children){return _.keys(children)}}else if(v===GRAPH_NODE){return this.nodes()}else if(this.hasNode(v)){return[]}};Graph.prototype.predecessors=function(v){var predsV=this._preds[v];if(predsV){return _.keys(predsV)}};Graph.prototype.successors=function(v){var sucsV=this._sucs[v];if(sucsV){return _.keys(sucsV)}};Graph.prototype.neighbors=function(v){var preds=this.predecessors(v);if(preds){return _.union(preds,this.successors(v))}};Graph.prototype.isLeaf=function(v){var neighbors;if(this.isDirected()){neighbors=this.successors(v)}else{neighbors=this.neighbors(v)}return neighbors.length===0};Graph.prototype.filterNodes=function(filter){var copy=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});copy.setGraph(this.graph());var self=this;_.each(this._nodes,function(value,v){if(filter(v)){copy.setNode(v,value)}});_.each(this._edgeObjs,function(e){if(copy.hasNode(e.v)&&copy.hasNode(e.w)){copy.setEdge(e,self.edge(e))}});var parents={};function findParent(v){var parent=self.parent(v);if(parent===undefined||copy.hasNode(parent)){parents[v]=parent;return parent}else if(parent in parents){return parents[parent]}else{return findParent(parent)}}if(this._isCompound){_.each(copy.nodes(),function(v){copy.setParent(v,findParent(v))})}return copy};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
702 /* === Edge functions ========== */Graph.prototype.setDefaultEdgeLabel=function(newDefault){if(!_.isFunction(newDefault)){newDefault=_.constant(newDefault)}this._defaultEdgeLabelFn=newDefault;return this};Graph.prototype.edgeCount=function(){return this._edgeCount};Graph.prototype.edges=function(){return _.values(this._edgeObjs)};Graph.prototype.setPath=function(vs,value){var self=this;var args=arguments;_.reduce(vs,function(v,w){if(args.length>1){self.setEdge(v,w,value)}else{self.setEdge(v,w)}return w});return this};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
703 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
704 * setEdge(v, w, [value, [name]])
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
705 * setEdge({ v, w, [name] }, [value])
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
706 */Graph.prototype.setEdge=function(){var v,w,name,value;var valueSpecified=false;var arg0=arguments[0];if(typeof arg0==="object"&&arg0!==null&&"v"in arg0){v=arg0.v;w=arg0.w;name=arg0.name;if(arguments.length===2){value=arguments[1];valueSpecified=true}}else{v=arg0;w=arguments[1];name=arguments[3];if(arguments.length>2){value=arguments[2];valueSpecified=true}}v=""+v;w=""+w;if(!_.isUndefined(name)){name=""+name}var e=edgeArgsToId(this._isDirected,v,w,name);if(_.has(this._edgeLabels,e)){if(valueSpecified){this._edgeLabels[e]=value}return this}if(!_.isUndefined(name)&&!this._isMultigraph){throw new Error("Cannot set a named edge when isMultigraph = false")}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
707 // It didn't exist, so we need to create it.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
708 // First ensure the nodes exist.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
709 this.setNode(v);this.setNode(w);this._edgeLabels[e]=valueSpecified?value:this._defaultEdgeLabelFn(v,w,name);var edgeObj=edgeArgsToObj(this._isDirected,v,w,name);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
710 // Ensure we add undirected edges in a consistent way.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
711 v=edgeObj.v;w=edgeObj.w;Object.freeze(edgeObj);this._edgeObjs[e]=edgeObj;incrementOrInitEntry(this._preds[w],v);incrementOrInitEntry(this._sucs[v],w);this._in[w][e]=edgeObj;this._out[v][e]=edgeObj;this._edgeCount++;return this};Graph.prototype.edge=function(v,w,name){var e=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,v,w,name);return this._edgeLabels[e]};Graph.prototype.hasEdge=function(v,w,name){var e=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,v,w,name);return _.has(this._edgeLabels,e)};Graph.prototype.removeEdge=function(v,w,name){var e=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,v,w,name);var edge=this._edgeObjs[e];if(edge){v=edge.v;w=edge.w;delete this._edgeLabels[e];delete this._edgeObjs[e];decrementOrRemoveEntry(this._preds[w],v);decrementOrRemoveEntry(this._sucs[v],w);delete this._in[w][e];delete this._out[v][e];this._edgeCount--}return this};Graph.prototype.inEdges=function(v,u){var inV=this._in[v];if(inV){var edges=_.values(inV);if(!u){return edges}return _.filter(edges,function(edge){return edge.v===u})}};Graph.prototype.outEdges=function(v,w){var outV=this._out[v];if(outV){var edges=_.values(outV);if(!w){return edges}return _.filter(edges,function(edge){return edge.w===w})}};Graph.prototype.nodeEdges=function(v,w){var inEdges=this.inEdges(v,w);if(inEdges){return inEdges.concat(this.outEdges(v,w))}};function incrementOrInitEntry(map,k){if(map[k]){map[k]++}else{map[k]=1}}function decrementOrRemoveEntry(map,k){if(!--map[k]){delete map[k]}}function edgeArgsToId(isDirected,v_,w_,name){var v=""+v_;var w=""+w_;if(!isDirected&&v>w){var tmp=v;v=w;w=tmp}return v+EDGE_KEY_DELIM+w+EDGE_KEY_DELIM+(_.isUndefined(name)?DEFAULT_EDGE_NAME:name)}function edgeArgsToObj(isDirected,v_,w_,name){var v=""+v_;var w=""+w_;if(!isDirected&&v>w){var tmp=v;v=w;w=tmp}var edgeObj={v:v,w:w};if(name){edgeObj.name=name}return edgeObj}function edgeObjToId(isDirected,edgeObj){return edgeArgsToId(isDirected,edgeObj.v,edgeObj.w,edgeObj.name)}},{"./lodash":49}],47:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
712 // Includes only the "core" of graphlib
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
713 module.exports={Graph:require("./graph"),version:require("./version")}},{"./graph":46,"./version":50}],48:[function(require,module,exports){var _=require("./lodash");var Graph=require("./graph");module.exports={write:write,read:read};function write(g){var json={options:{directed:g.isDirected(),multigraph:g.isMultigraph(),compound:g.isCompound()},nodes:writeNodes(g),edges:writeEdges(g)};if(!_.isUndefined(g.graph())){json.value=_.clone(g.graph())}return json}function writeNodes(g){return _.map(g.nodes(),function(v){var nodeValue=g.node(v);var parent=g.parent(v);var node={v:v};if(!_.isUndefined(nodeValue)){node.value=nodeValue}if(!_.isUndefined(parent)){node.parent=parent}return node})}function writeEdges(g){return _.map(g.edges(),function(e){var edgeValue=g.edge(e);var edge={v:e.v,w:e.w};if(!_.isUndefined(e.name)){edge.name=e.name}if(!_.isUndefined(edgeValue)){edge.value=edgeValue}return edge})}function read(json){var g=new Graph(json.options).setGraph(json.value);_.each(json.nodes,function(entry){g.setNode(entry.v,entry.value);if(entry.parent){g.setParent(entry.v,entry.parent)}});_.each(json.edges,function(entry){g.setEdge({v:entry.v,w:entry.w,name:entry.name},entry.value)});return g}},{"./graph":46,"./lodash":49}],49:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
714 /* global window */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
715 var lodash;if(typeof require==="function"){try{lodash={clone:require("lodash/clone"),constant:require("lodash/constant"),each:require("lodash/each"),filter:require("lodash/filter"),has:require("lodash/has"),isArray:require("lodash/isArray"),isEmpty:require("lodash/isEmpty"),isFunction:require("lodash/isFunction"),isUndefined:require("lodash/isUndefined"),keys:require("lodash/keys"),map:require("lodash/map"),reduce:require("lodash/reduce"),size:require("lodash/size"),transform:require("lodash/transform"),union:require("lodash/union"),values:require("lodash/values")}}catch(e){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
716 // continue regardless of error
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
717 }}if(!lodash){lodash=window._}module.exports=lodash},{"lodash/clone":226,"lodash/constant":228,"lodash/each":230,"lodash/filter":232,"lodash/has":239,"lodash/isArray":243,"lodash/isEmpty":247,"lodash/isFunction":248,"lodash/isUndefined":258,"lodash/keys":259,"lodash/map":262,"lodash/reduce":274,"lodash/size":275,"lodash/transform":284,"lodash/union":285,"lodash/values":287}],50:[function(require,module,exports){module.exports="2.1.8"},{}],51:[function(require,module,exports){var getNative=require("./_getNative"),root=require("./_root");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
718 /* Built-in method references that are verified to be native. */var DataView=getNative(root,"DataView");module.exports=DataView},{"./_getNative":163,"./_root":208}],52:[function(require,module,exports){var hashClear=require("./_hashClear"),hashDelete=require("./_hashDelete"),hashGet=require("./_hashGet"),hashHas=require("./_hashHas"),hashSet=require("./_hashSet");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
719 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
720 * Creates a hash object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
721 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
722 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
723 * @constructor
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
724 * @param {Array} [entries] The key-value pairs to cache.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
725 */function Hash(entries){var index=-1,length=entries==null?0:entries.length;this.clear();while(++index<length){var entry=entries[index];this.set(entry[0],entry[1])}}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
726 // Add methods to `Hash`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
727 Hash.prototype.clear=hashClear;Hash.prototype["delete"]=hashDelete;Hash.prototype.get=hashGet;Hash.prototype.has=hashHas;Hash.prototype.set=hashSet;module.exports=Hash},{"./_hashClear":172,"./_hashDelete":173,"./_hashGet":174,"./_hashHas":175,"./_hashSet":176}],53:[function(require,module,exports){var listCacheClear=require("./_listCacheClear"),listCacheDelete=require("./_listCacheDelete"),listCacheGet=require("./_listCacheGet"),listCacheHas=require("./_listCacheHas"),listCacheSet=require("./_listCacheSet");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
728 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
729 * Creates an list cache object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
730 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
731 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
732 * @constructor
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
733 * @param {Array} [entries] The key-value pairs to cache.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
734 */function ListCache(entries){var index=-1,length=entries==null?0:entries.length;this.clear();while(++index<length){var entry=entries[index];this.set(entry[0],entry[1])}}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
735 // Add methods to `ListCache`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
736 ListCache.prototype.clear=listCacheClear;ListCache.prototype["delete"]=listCacheDelete;ListCache.prototype.get=listCacheGet;ListCache.prototype.has=listCacheHas;ListCache.prototype.set=listCacheSet;module.exports=ListCache},{"./_listCacheClear":188,"./_listCacheDelete":189,"./_listCacheGet":190,"./_listCacheHas":191,"./_listCacheSet":192}],54:[function(require,module,exports){var getNative=require("./_getNative"),root=require("./_root");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
737 /* Built-in method references that are verified to be native. */var Map=getNative(root,"Map");module.exports=Map},{"./_getNative":163,"./_root":208}],55:[function(require,module,exports){var mapCacheClear=require("./_mapCacheClear"),mapCacheDelete=require("./_mapCacheDelete"),mapCacheGet=require("./_mapCacheGet"),mapCacheHas=require("./_mapCacheHas"),mapCacheSet=require("./_mapCacheSet");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
738 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
739 * Creates a map cache object to store key-value pairs.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
740 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
741 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
742 * @constructor
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
743 * @param {Array} [entries] The key-value pairs to cache.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
744 */function MapCache(entries){var index=-1,length=entries==null?0:entries.length;this.clear();while(++index<length){var entry=entries[index];this.set(entry[0],entry[1])}}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
745 // Add methods to `MapCache`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
746 MapCache.prototype.clear=mapCacheClear;MapCache.prototype["delete"]=mapCacheDelete;MapCache.prototype.get=mapCacheGet;MapCache.prototype.has=mapCacheHas;MapCache.prototype.set=mapCacheSet;module.exports=MapCache},{"./_mapCacheClear":193,"./_mapCacheDelete":194,"./_mapCacheGet":195,"./_mapCacheHas":196,"./_mapCacheSet":197}],56:[function(require,module,exports){var getNative=require("./_getNative"),root=require("./_root");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
747 /* Built-in method references that are verified to be native. */var Promise=getNative(root,"Promise");module.exports=Promise},{"./_getNative":163,"./_root":208}],57:[function(require,module,exports){var getNative=require("./_getNative"),root=require("./_root");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
748 /* Built-in method references that are verified to be native. */var Set=getNative(root,"Set");module.exports=Set},{"./_getNative":163,"./_root":208}],58:[function(require,module,exports){var MapCache=require("./_MapCache"),setCacheAdd=require("./_setCacheAdd"),setCacheHas=require("./_setCacheHas");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
749 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
750 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
751 * Creates an array cache object to store unique values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
752 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
753 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
754 * @constructor
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
755 * @param {Array} [values] The values to cache.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
756 */function SetCache(values){var index=-1,length=values==null?0:values.length;this.__data__=new MapCache;while(++index<length){this.add(values[index])}}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
757 // Add methods to `SetCache`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
758 SetCache.prototype.add=SetCache.prototype.push=setCacheAdd;SetCache.prototype.has=setCacheHas;module.exports=SetCache},{"./_MapCache":55,"./_setCacheAdd":210,"./_setCacheHas":211}],59:[function(require,module,exports){var ListCache=require("./_ListCache"),stackClear=require("./_stackClear"),stackDelete=require("./_stackDelete"),stackGet=require("./_stackGet"),stackHas=require("./_stackHas"),stackSet=require("./_stackSet");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
759 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
760 * Creates a stack cache object to store key-value pairs.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
761 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
762 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
763 * @constructor
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
764 * @param {Array} [entries] The key-value pairs to cache.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
765 */function Stack(entries){var data=this.__data__=new ListCache(entries);this.size=data.size}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
766 // Add methods to `Stack`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
767 Stack.prototype.clear=stackClear;Stack.prototype["delete"]=stackDelete;Stack.prototype.get=stackGet;Stack.prototype.has=stackHas;Stack.prototype.set=stackSet;module.exports=Stack},{"./_ListCache":53,"./_stackClear":215,"./_stackDelete":216,"./_stackGet":217,"./_stackHas":218,"./_stackSet":219}],60:[function(require,module,exports){var root=require("./_root");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
768 /** Built-in value references. */var Symbol=root.Symbol;module.exports=Symbol},{"./_root":208}],61:[function(require,module,exports){var root=require("./_root");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
769 /** Built-in value references. */var Uint8Array=root.Uint8Array;module.exports=Uint8Array},{"./_root":208}],62:[function(require,module,exports){var getNative=require("./_getNative"),root=require("./_root");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
770 /* Built-in method references that are verified to be native. */var WeakMap=getNative(root,"WeakMap");module.exports=WeakMap},{"./_getNative":163,"./_root":208}],63:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
771 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
772 * A faster alternative to `Function#apply`, this function invokes `func`
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
773 * with the `this` binding of `thisArg` and the arguments of `args`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
774 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
775 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
776 * @param {Function} func The function to invoke.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
777 * @param {*} thisArg The `this` binding of `func`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
778 * @param {Array} args The arguments to invoke `func` with.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
779 * @returns {*} Returns the result of `func`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
780 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
781 function apply(func,thisArg,args){switch(args.length){case 0:return func.call(thisArg);case 1:return func.call(thisArg,args[0]);case 2:return func.call(thisArg,args[0],args[1]);case 3:return func.call(thisArg,args[0],args[1],args[2])}return func.apply(thisArg,args)}module.exports=apply},{}],64:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
782 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
783 * A specialized version of `_.forEach` for arrays without support for
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
784 * iteratee shorthands.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
785 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
786 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
787 * @param {Array} [array] The array to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
788 * @param {Function} iteratee The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
789 * @returns {Array} Returns `array`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
790 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
791 function arrayEach(array,iteratee){var index=-1,length=array==null?0:array.length;while(++index<length){if(iteratee(array[index],index,array)===false){break}}return array}module.exports=arrayEach},{}],65:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
792 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
793 * A specialized version of `_.filter` for arrays without support for
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
794 * iteratee shorthands.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
795 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
796 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
797 * @param {Array} [array] The array to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
798 * @param {Function} predicate The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
799 * @returns {Array} Returns the new filtered array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
800 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
801 function arrayFilter(array,predicate){var index=-1,length=array==null?0:array.length,resIndex=0,result=[];while(++index<length){var value=array[index];if(predicate(value,index,array)){result[resIndex++]=value}}return result}module.exports=arrayFilter},{}],66:[function(require,module,exports){var baseIndexOf=require("./_baseIndexOf");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
802 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
803 * A specialized version of `_.includes` for arrays without support for
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
804 * specifying an index to search from.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
805 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
806 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
807 * @param {Array} [array] The array to inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
808 * @param {*} target The value to search for.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
809 * @returns {boolean} Returns `true` if `target` is found, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
810 */function arrayIncludes(array,value){var length=array==null?0:array.length;return!!length&&baseIndexOf(array,value,0)>-1}module.exports=arrayIncludes},{"./_baseIndexOf":95}],67:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
811 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
812 * This function is like `arrayIncludes` except that it accepts a comparator.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
813 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
814 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
815 * @param {Array} [array] The array to inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
816 * @param {*} target The value to search for.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
817 * @param {Function} comparator The comparator invoked per element.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
818 * @returns {boolean} Returns `true` if `target` is found, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
819 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
820 function arrayIncludesWith(array,value,comparator){var index=-1,length=array==null?0:array.length;while(++index<length){if(comparator(value,array[index])){return true}}return false}module.exports=arrayIncludesWith},{}],68:[function(require,module,exports){var baseTimes=require("./_baseTimes"),isArguments=require("./isArguments"),isArray=require("./isArray"),isBuffer=require("./isBuffer"),isIndex=require("./_isIndex"),isTypedArray=require("./isTypedArray");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
821 /** Used for built-in method references. */var objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
822 /** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
823 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
824 * Creates an array of the enumerable property names of the array-like `value`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
825 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
826 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
827 * @param {*} value The value to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
828 * @param {boolean} inherited Specify returning inherited property names.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
829 * @returns {Array} Returns the array of property names.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
830 */function arrayLikeKeys(value,inherited){var isArr=isArray(value),isArg=!isArr&&isArguments(value),isBuff=!isArr&&!isArg&&isBuffer(value),isType=!isArr&&!isArg&&!isBuff&&isTypedArray(value),skipIndexes=isArr||isArg||isBuff||isType,result=skipIndexes?baseTimes(value.length,String):[],length=result.length;for(var key in value){if((inherited||hasOwnProperty.call(value,key))&&!(skipIndexes&&(
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
831 // Safari 9 has enumerable `arguments.length` in strict mode.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
832 key=="length"||
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
833 // Node.js 0.10 has enumerable non-index properties on buffers.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
834 isBuff&&(key=="offset"||key=="parent")||
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
835 // PhantomJS 2 has enumerable non-index properties on typed arrays.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
836 isType&&(key=="buffer"||key=="byteLength"||key=="byteOffset")||
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
837 // Skip index properties.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
838 isIndex(key,length)))){result.push(key)}}return result}module.exports=arrayLikeKeys},{"./_baseTimes":125,"./_isIndex":181,"./isArguments":242,"./isArray":243,"./isBuffer":246,"./isTypedArray":257}],69:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
839 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
840 * A specialized version of `_.map` for arrays without support for iteratee
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
841 * shorthands.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
842 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
843 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
844 * @param {Array} [array] The array to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
845 * @param {Function} iteratee The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
846 * @returns {Array} Returns the new mapped array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
847 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
848 function arrayMap(array,iteratee){var index=-1,length=array==null?0:array.length,result=Array(length);while(++index<length){result[index]=iteratee(array[index],index,array)}return result}module.exports=arrayMap},{}],70:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
849 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
850 * Appends the elements of `values` to `array`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
851 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
852 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
853 * @param {Array} array The array to modify.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
854 * @param {Array} values The values to append.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
855 * @returns {Array} Returns `array`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
856 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
857 function arrayPush(array,values){var index=-1,length=values.length,offset=array.length;while(++index<length){array[offset+index]=values[index]}return array}module.exports=arrayPush},{}],71:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
858 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
859 * A specialized version of `_.reduce` for arrays without support for
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
860 * iteratee shorthands.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
861 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
862 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
863 * @param {Array} [array] The array to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
864 * @param {Function} iteratee The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
865 * @param {*} [accumulator] The initial value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
866 * @param {boolean} [initAccum] Specify using the first element of `array` as
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
867 * the initial value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
868 * @returns {*} Returns the accumulated value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
869 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
870 function arrayReduce(array,iteratee,accumulator,initAccum){var index=-1,length=array==null?0:array.length;if(initAccum&&length){accumulator=array[++index]}while(++index<length){accumulator=iteratee(accumulator,array[index],index,array)}return accumulator}module.exports=arrayReduce},{}],72:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
871 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
872 * A specialized version of `_.some` for arrays without support for iteratee
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
873 * shorthands.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
874 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
875 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
876 * @param {Array} [array] The array to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
877 * @param {Function} predicate The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
878 * @returns {boolean} Returns `true` if any element passes the predicate check,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
879 * else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
880 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
881 function arraySome(array,predicate){var index=-1,length=array==null?0:array.length;while(++index<length){if(predicate(array[index],index,array)){return true}}return false}module.exports=arraySome},{}],73:[function(require,module,exports){var baseProperty=require("./_baseProperty");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
882 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
883 * Gets the size of an ASCII `string`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
884 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
885 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
886 * @param {string} string The string inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
887 * @returns {number} Returns the string size.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
888 */var asciiSize=baseProperty("length");module.exports=asciiSize},{"./_baseProperty":117}],74:[function(require,module,exports){var baseAssignValue=require("./_baseAssignValue"),eq=require("./eq");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
889 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
890 * This function is like `assignValue` except that it doesn't assign
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
891 * `undefined` values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
892 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
893 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
894 * @param {Object} object The object to modify.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
895 * @param {string} key The key of the property to assign.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
896 * @param {*} value The value to assign.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
897 */function assignMergeValue(object,key,value){if(value!==undefined&&!eq(object[key],value)||value===undefined&&!(key in object)){baseAssignValue(object,key,value)}}module.exports=assignMergeValue},{"./_baseAssignValue":79,"./eq":231}],75:[function(require,module,exports){var baseAssignValue=require("./_baseAssignValue"),eq=require("./eq");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
898 /** Used for built-in method references. */var objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
899 /** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
900 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
901 * Assigns `value` to `key` of `object` if the existing value is not equivalent
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
902 * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
903 * for equality comparisons.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
904 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
905 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
906 * @param {Object} object The object to modify.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
907 * @param {string} key The key of the property to assign.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
908 * @param {*} value The value to assign.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
909 */function assignValue(object,key,value){var objValue=object[key];if(!(hasOwnProperty.call(object,key)&&eq(objValue,value))||value===undefined&&!(key in object)){baseAssignValue(object,key,value)}}module.exports=assignValue},{"./_baseAssignValue":79,"./eq":231}],76:[function(require,module,exports){var eq=require("./eq");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
910 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
911 * Gets the index at which the `key` is found in `array` of key-value pairs.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
912 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
913 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
914 * @param {Array} array The array to inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
915 * @param {*} key The key to search for.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
916 * @returns {number} Returns the index of the matched value, else `-1`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
917 */function assocIndexOf(array,key){var length=array.length;while(length--){if(eq(array[length][0],key)){return length}}return-1}module.exports=assocIndexOf},{"./eq":231}],77:[function(require,module,exports){var copyObject=require("./_copyObject"),keys=require("./keys");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
918 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
919 * The base implementation of `_.assign` without support for multiple sources
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
920 * or `customizer` functions.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
921 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
922 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
923 * @param {Object} object The destination object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
924 * @param {Object} source The source object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
925 * @returns {Object} Returns `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
926 */function baseAssign(object,source){return object&&copyObject(source,keys(source),object)}module.exports=baseAssign},{"./_copyObject":143,"./keys":259}],78:[function(require,module,exports){var copyObject=require("./_copyObject"),keysIn=require("./keysIn");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
927 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
928 * The base implementation of `_.assignIn` without support for multiple sources
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
929 * or `customizer` functions.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
930 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
931 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
932 * @param {Object} object The destination object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
933 * @param {Object} source The source object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
934 * @returns {Object} Returns `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
935 */function baseAssignIn(object,source){return object&&copyObject(source,keysIn(source),object)}module.exports=baseAssignIn},{"./_copyObject":143,"./keysIn":260}],79:[function(require,module,exports){var defineProperty=require("./_defineProperty");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
936 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
937 * The base implementation of `assignValue` and `assignMergeValue` without
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
938 * value checks.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
939 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
940 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
941 * @param {Object} object The object to modify.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
942 * @param {string} key The key of the property to assign.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
943 * @param {*} value The value to assign.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
944 */function baseAssignValue(object,key,value){if(key=="__proto__"&&defineProperty){defineProperty(object,key,{configurable:true,enumerable:true,value:value,writable:true})}else{object[key]=value}}module.exports=baseAssignValue},{"./_defineProperty":153}],80:[function(require,module,exports){var Stack=require("./_Stack"),arrayEach=require("./_arrayEach"),assignValue=require("./_assignValue"),baseAssign=require("./_baseAssign"),baseAssignIn=require("./_baseAssignIn"),cloneBuffer=require("./_cloneBuffer"),copyArray=require("./_copyArray"),copySymbols=require("./_copySymbols"),copySymbolsIn=require("./_copySymbolsIn"),getAllKeys=require("./_getAllKeys"),getAllKeysIn=require("./_getAllKeysIn"),getTag=require("./_getTag"),initCloneArray=require("./_initCloneArray"),initCloneByTag=require("./_initCloneByTag"),initCloneObject=require("./_initCloneObject"),isArray=require("./isArray"),isBuffer=require("./isBuffer"),isMap=require("./isMap"),isObject=require("./isObject"),isSet=require("./isSet"),keys=require("./keys");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
945 /** Used to compose bitmasks for cloning. */var CLONE_DEEP_FLAG=1,CLONE_FLAT_FLAG=2,CLONE_SYMBOLS_FLAG=4;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
946 /** `Object#toString` result references. */var argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",weakMapTag="[object WeakMap]";var arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
947 /** Used to identify `toStringTag` values supported by `_.clone`. */var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[dataViewTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[setTag]=cloneableTags[stringTag]=cloneableTags[symbolTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=true;cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[weakMapTag]=false;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
948 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
949 * The base implementation of `_.clone` and `_.cloneDeep` which tracks
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
950 * traversed objects.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
951 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
952 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
953 * @param {*} value The value to clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
954 * @param {boolean} bitmask The bitmask flags.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
955 * 1 - Deep clone
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
956 * 2 - Flatten inherited properties
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
957 * 4 - Clone symbols
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
958 * @param {Function} [customizer] The function to customize cloning.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
959 * @param {string} [key] The key of `value`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
960 * @param {Object} [object] The parent object of `value`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
961 * @param {Object} [stack] Tracks traversed objects and their clone counterparts.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
962 * @returns {*} Returns the cloned value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
963 */function baseClone(value,bitmask,customizer,key,object,stack){var result,isDeep=bitmask&CLONE_DEEP_FLAG,isFlat=bitmask&CLONE_FLAT_FLAG,isFull=bitmask&CLONE_SYMBOLS_FLAG;if(customizer){result=object?customizer(value,key,object,stack):customizer(value)}if(result!==undefined){return result}if(!isObject(value)){return value}var isArr=isArray(value);if(isArr){result=initCloneArray(value);if(!isDeep){return copyArray(value,result)}}else{var tag=getTag(value),isFunc=tag==funcTag||tag==genTag;if(isBuffer(value)){return cloneBuffer(value,isDeep)}if(tag==objectTag||tag==argsTag||isFunc&&!object){result=isFlat||isFunc?{}:initCloneObject(value);if(!isDeep){return isFlat?copySymbolsIn(value,baseAssignIn(result,value)):copySymbols(value,baseAssign(result,value))}}else{if(!cloneableTags[tag]){return object?value:{}}result=initCloneByTag(value,tag,isDeep)}}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
964 // Check for circular references and return its corresponding clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
965 stack||(stack=new Stack);var stacked=stack.get(value);if(stacked){return stacked}stack.set(value,result);if(isSet(value)){value.forEach(function(subValue){result.add(baseClone(subValue,bitmask,customizer,subValue,value,stack))})}else if(isMap(value)){value.forEach(function(subValue,key){result.set(key,baseClone(subValue,bitmask,customizer,key,value,stack))})}var keysFunc=isFull?isFlat?getAllKeysIn:getAllKeys:isFlat?keysIn:keys;var props=isArr?undefined:keysFunc(value);arrayEach(props||value,function(subValue,key){if(props){key=subValue;subValue=value[key]}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
966 // Recursively populate clone (susceptible to call stack limits).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
967 assignValue(result,key,baseClone(subValue,bitmask,customizer,key,value,stack))});return result}module.exports=baseClone},{"./_Stack":59,"./_arrayEach":64,"./_assignValue":75,"./_baseAssign":77,"./_baseAssignIn":78,"./_cloneBuffer":135,"./_copyArray":142,"./_copySymbols":144,"./_copySymbolsIn":145,"./_getAllKeys":159,"./_getAllKeysIn":160,"./_getTag":168,"./_initCloneArray":177,"./_initCloneByTag":178,"./_initCloneObject":179,"./isArray":243,"./isBuffer":246,"./isMap":250,"./isObject":251,"./isSet":254,"./keys":259}],81:[function(require,module,exports){var isObject=require("./isObject");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
968 /** Built-in value references. */var objectCreate=Object.create;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
969 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
970 * The base implementation of `_.create` without support for assigning
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
971 * properties to the created object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
972 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
973 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
974 * @param {Object} proto The object to inherit from.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
975 * @returns {Object} Returns the new object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
976 */var baseCreate=function(){function object(){}return function(proto){if(!isObject(proto)){return{}}if(objectCreate){return objectCreate(proto)}object.prototype=proto;var result=new object;object.prototype=undefined;return result}}();module.exports=baseCreate},{"./isObject":251}],82:[function(require,module,exports){var baseForOwn=require("./_baseForOwn"),createBaseEach=require("./_createBaseEach");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
977 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
978 * The base implementation of `_.forEach` without support for iteratee shorthands.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
979 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
980 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
981 * @param {Array|Object} collection The collection to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
982 * @param {Function} iteratee The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
983 * @returns {Array|Object} Returns `collection`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
984 */var baseEach=createBaseEach(baseForOwn);module.exports=baseEach},{"./_baseForOwn":88,"./_createBaseEach":148}],83:[function(require,module,exports){var isSymbol=require("./isSymbol");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
985 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
986 * The base implementation of methods like `_.max` and `_.min` which accepts a
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
987 * `comparator` to determine the extremum value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
988 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
989 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
990 * @param {Array} array The array to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
991 * @param {Function} iteratee The iteratee invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
992 * @param {Function} comparator The comparator used to compare values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
993 * @returns {*} Returns the extremum value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
994 */function baseExtremum(array,iteratee,comparator){var index=-1,length=array.length;while(++index<length){var value=array[index],current=iteratee(value);if(current!=null&&(computed===undefined?current===current&&!isSymbol(current):comparator(current,computed))){var computed=current,result=value}}return result}module.exports=baseExtremum},{"./isSymbol":256}],84:[function(require,module,exports){var baseEach=require("./_baseEach");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
995 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
996 * The base implementation of `_.filter` without support for iteratee shorthands.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
997 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
998 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
999 * @param {Array|Object} collection The collection to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1000 * @param {Function} predicate The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1001 * @returns {Array} Returns the new filtered array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1002 */function baseFilter(collection,predicate){var result=[];baseEach(collection,function(value,index,collection){if(predicate(value,index,collection)){result.push(value)}});return result}module.exports=baseFilter},{"./_baseEach":82}],85:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1003 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1004 * The base implementation of `_.findIndex` and `_.findLastIndex` without
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1005 * support for iteratee shorthands.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1006 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1007 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1008 * @param {Array} array The array to inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1009 * @param {Function} predicate The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1010 * @param {number} fromIndex The index to search from.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1011 * @param {boolean} [fromRight] Specify iterating from right to left.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1012 * @returns {number} Returns the index of the matched value, else `-1`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1013 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1014 function baseFindIndex(array,predicate,fromIndex,fromRight){var length=array.length,index=fromIndex+(fromRight?1:-1);while(fromRight?index--:++index<length){if(predicate(array[index],index,array)){return index}}return-1}module.exports=baseFindIndex},{}],86:[function(require,module,exports){var arrayPush=require("./_arrayPush"),isFlattenable=require("./_isFlattenable");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1015 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1016 * The base implementation of `_.flatten` with support for restricting flattening.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1017 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1018 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1019 * @param {Array} array The array to flatten.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1020 * @param {number} depth The maximum recursion depth.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1021 * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1022 * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1023 * @param {Array} [result=[]] The initial result value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1024 * @returns {Array} Returns the new flattened array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1025 */function baseFlatten(array,depth,predicate,isStrict,result){var index=-1,length=array.length;predicate||(predicate=isFlattenable);result||(result=[]);while(++index<length){var value=array[index];if(depth>0&&predicate(value)){if(depth>1){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1026 // Recursively flatten arrays (susceptible to call stack limits).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1027 baseFlatten(value,depth-1,predicate,isStrict,result)}else{arrayPush(result,value)}}else if(!isStrict){result[result.length]=value}}return result}module.exports=baseFlatten},{"./_arrayPush":70,"./_isFlattenable":180}],87:[function(require,module,exports){var createBaseFor=require("./_createBaseFor");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1028 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1029 * The base implementation of `baseForOwn` which iterates over `object`
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1030 * properties returned by `keysFunc` and invokes `iteratee` for each property.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1031 * Iteratee functions may exit iteration early by explicitly returning `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1032 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1033 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1034 * @param {Object} object The object to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1035 * @param {Function} iteratee The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1036 * @param {Function} keysFunc The function to get the keys of `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1037 * @returns {Object} Returns `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1038 */var baseFor=createBaseFor();module.exports=baseFor},{"./_createBaseFor":149}],88:[function(require,module,exports){var baseFor=require("./_baseFor"),keys=require("./keys");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1039 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1040 * The base implementation of `_.forOwn` without support for iteratee shorthands.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1041 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1042 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1043 * @param {Object} object The object to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1044 * @param {Function} iteratee The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1045 * @returns {Object} Returns `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1046 */function baseForOwn(object,iteratee){return object&&baseFor(object,iteratee,keys)}module.exports=baseForOwn},{"./_baseFor":87,"./keys":259}],89:[function(require,module,exports){var castPath=require("./_castPath"),toKey=require("./_toKey");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1047 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1048 * The base implementation of `_.get` without support for default values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1049 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1050 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1051 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1052 * @param {Array|string} path The path of the property to get.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1053 * @returns {*} Returns the resolved value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1054 */function baseGet(object,path){path=castPath(path,object);var index=0,length=path.length;while(object!=null&&index<length){object=object[toKey(path[index++])]}return index&&index==length?object:undefined}module.exports=baseGet},{"./_castPath":133,"./_toKey":223}],90:[function(require,module,exports){var arrayPush=require("./_arrayPush"),isArray=require("./isArray");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1055 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1056 * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1057 * `keysFunc` and `symbolsFunc` to get the enumerable property names and
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1058 * symbols of `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1059 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1060 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1061 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1062 * @param {Function} keysFunc The function to get the keys of `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1063 * @param {Function} symbolsFunc The function to get the symbols of `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1064 * @returns {Array} Returns the array of property names and symbols.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1065 */function baseGetAllKeys(object,keysFunc,symbolsFunc){var result=keysFunc(object);return isArray(object)?result:arrayPush(result,symbolsFunc(object))}module.exports=baseGetAllKeys},{"./_arrayPush":70,"./isArray":243}],91:[function(require,module,exports){var Symbol=require("./_Symbol"),getRawTag=require("./_getRawTag"),objectToString=require("./_objectToString");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1066 /** `Object#toString` result references. */var nullTag="[object Null]",undefinedTag="[object Undefined]";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1067 /** Built-in value references. */var symToStringTag=Symbol?Symbol.toStringTag:undefined;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1068 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1069 * The base implementation of `getTag` without fallbacks for buggy environments.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1070 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1071 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1072 * @param {*} value The value to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1073 * @returns {string} Returns the `toStringTag`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1074 */function baseGetTag(value){if(value==null){return value===undefined?undefinedTag:nullTag}return symToStringTag&&symToStringTag in Object(value)?getRawTag(value):objectToString(value)}module.exports=baseGetTag},{"./_Symbol":60,"./_getRawTag":165,"./_objectToString":205}],92:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1075 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1076 * The base implementation of `_.gt` which doesn't coerce arguments.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1077 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1078 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1079 * @param {*} value The value to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1080 * @param {*} other The other value to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1081 * @returns {boolean} Returns `true` if `value` is greater than `other`,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1082 * else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1083 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1084 function baseGt(value,other){return value>other}module.exports=baseGt},{}],93:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1085 /** Used for built-in method references. */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1086 var objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1087 /** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1088 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1089 * The base implementation of `_.has` without support for deep paths.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1090 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1091 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1092 * @param {Object} [object] The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1093 * @param {Array|string} key The key to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1094 * @returns {boolean} Returns `true` if `key` exists, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1095 */function baseHas(object,key){return object!=null&&hasOwnProperty.call(object,key)}module.exports=baseHas},{}],94:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1096 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1097 * The base implementation of `_.hasIn` without support for deep paths.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1098 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1099 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1100 * @param {Object} [object] The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1101 * @param {Array|string} key The key to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1102 * @returns {boolean} Returns `true` if `key` exists, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1103 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1104 function baseHasIn(object,key){return object!=null&&key in Object(object)}module.exports=baseHasIn},{}],95:[function(require,module,exports){var baseFindIndex=require("./_baseFindIndex"),baseIsNaN=require("./_baseIsNaN"),strictIndexOf=require("./_strictIndexOf");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1105 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1106 * The base implementation of `_.indexOf` without `fromIndex` bounds checks.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1107 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1108 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1109 * @param {Array} array The array to inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1110 * @param {*} value The value to search for.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1111 * @param {number} fromIndex The index to search from.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1112 * @returns {number} Returns the index of the matched value, else `-1`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1113 */function baseIndexOf(array,value,fromIndex){return value===value?strictIndexOf(array,value,fromIndex):baseFindIndex(array,baseIsNaN,fromIndex)}module.exports=baseIndexOf},{"./_baseFindIndex":85,"./_baseIsNaN":101,"./_strictIndexOf":220}],96:[function(require,module,exports){var baseGetTag=require("./_baseGetTag"),isObjectLike=require("./isObjectLike");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1114 /** `Object#toString` result references. */var argsTag="[object Arguments]";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1115 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1116 * The base implementation of `_.isArguments`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1117 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1118 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1119 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1120 * @returns {boolean} Returns `true` if `value` is an `arguments` object,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1121 */function baseIsArguments(value){return isObjectLike(value)&&baseGetTag(value)==argsTag}module.exports=baseIsArguments},{"./_baseGetTag":91,"./isObjectLike":252}],97:[function(require,module,exports){var baseIsEqualDeep=require("./_baseIsEqualDeep"),isObjectLike=require("./isObjectLike");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1122 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1123 * The base implementation of `_.isEqual` which supports partial comparisons
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1124 * and tracks traversed objects.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1125 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1126 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1127 * @param {*} value The value to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1128 * @param {*} other The other value to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1129 * @param {boolean} bitmask The bitmask flags.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1130 * 1 - Unordered comparison
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1131 * 2 - Partial comparison
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1132 * @param {Function} [customizer] The function to customize comparisons.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1133 * @param {Object} [stack] Tracks traversed `value` and `other` objects.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1134 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1135 */function baseIsEqual(value,other,bitmask,customizer,stack){if(value===other){return true}if(value==null||other==null||!isObjectLike(value)&&!isObjectLike(other)){return value!==value&&other!==other}return baseIsEqualDeep(value,other,bitmask,customizer,baseIsEqual,stack)}module.exports=baseIsEqual},{"./_baseIsEqualDeep":98,"./isObjectLike":252}],98:[function(require,module,exports){var Stack=require("./_Stack"),equalArrays=require("./_equalArrays"),equalByTag=require("./_equalByTag"),equalObjects=require("./_equalObjects"),getTag=require("./_getTag"),isArray=require("./isArray"),isBuffer=require("./isBuffer"),isTypedArray=require("./isTypedArray");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1136 /** Used to compose bitmasks for value comparisons. */var COMPARE_PARTIAL_FLAG=1;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1137 /** `Object#toString` result references. */var argsTag="[object Arguments]",arrayTag="[object Array]",objectTag="[object Object]";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1138 /** Used for built-in method references. */var objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1139 /** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1140 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1141 * A specialized version of `baseIsEqual` for arrays and objects which performs
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1142 * deep comparisons and tracks traversed objects enabling objects with circular
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1143 * references to be compared.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1144 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1145 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1146 * @param {Object} object The object to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1147 * @param {Object} other The other object to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1148 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1149 * @param {Function} customizer The function to customize comparisons.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1150 * @param {Function} equalFunc The function to determine equivalents of values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1151 * @param {Object} [stack] Tracks traversed `object` and `other` objects.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1152 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1153 */function baseIsEqualDeep(object,other,bitmask,customizer,equalFunc,stack){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=objIsArr?arrayTag:getTag(object),othTag=othIsArr?arrayTag:getTag(other);objTag=objTag==argsTag?objectTag:objTag;othTag=othTag==argsTag?objectTag:othTag;var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&isBuffer(object)){if(!isBuffer(other)){return false}objIsArr=true;objIsObj=false}if(isSameTag&&!objIsObj){stack||(stack=new Stack);return objIsArr||isTypedArray(object)?equalArrays(object,other,bitmask,customizer,equalFunc,stack):equalByTag(object,other,objTag,bitmask,customizer,equalFunc,stack)}if(!(bitmask&COMPARE_PARTIAL_FLAG)){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object.value():object,othUnwrapped=othIsWrapped?other.value():other;stack||(stack=new Stack);return equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack)}}if(!isSameTag){return false}stack||(stack=new Stack);return equalObjects(object,other,bitmask,customizer,equalFunc,stack)}module.exports=baseIsEqualDeep},{"./_Stack":59,"./_equalArrays":154,"./_equalByTag":155,"./_equalObjects":156,"./_getTag":168,"./isArray":243,"./isBuffer":246,"./isTypedArray":257}],99:[function(require,module,exports){var getTag=require("./_getTag"),isObjectLike=require("./isObjectLike");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1154 /** `Object#toString` result references. */var mapTag="[object Map]";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1155 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1156 * The base implementation of `_.isMap` without Node.js optimizations.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1157 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1158 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1159 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1160 * @returns {boolean} Returns `true` if `value` is a map, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1161 */function baseIsMap(value){return isObjectLike(value)&&getTag(value)==mapTag}module.exports=baseIsMap},{"./_getTag":168,"./isObjectLike":252}],100:[function(require,module,exports){var Stack=require("./_Stack"),baseIsEqual=require("./_baseIsEqual");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1162 /** Used to compose bitmasks for value comparisons. */var COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1163 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1164 * The base implementation of `_.isMatch` without support for iteratee shorthands.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1165 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1166 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1167 * @param {Object} object The object to inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1168 * @param {Object} source The object of property values to match.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1169 * @param {Array} matchData The property names, values, and compare flags to match.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1170 * @param {Function} [customizer] The function to customize comparisons.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1171 * @returns {boolean} Returns `true` if `object` is a match, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1172 */function baseIsMatch(object,source,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(object==null){return!length}object=Object(object);while(index--){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object)){return false}}while(++index<length){data=matchData[index];var key=data[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(objValue===undefined&&!(key in object)){return false}}else{var stack=new Stack;if(customizer){var result=customizer(objValue,srcValue,key,object,source,stack)}if(!(result===undefined?baseIsEqual(srcValue,objValue,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG,customizer,stack):result)){return false}}}return true}module.exports=baseIsMatch},{"./_Stack":59,"./_baseIsEqual":97}],101:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1173 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1174 * The base implementation of `_.isNaN` without support for number objects.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1175 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1176 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1177 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1178 * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1179 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1180 function baseIsNaN(value){return value!==value}module.exports=baseIsNaN},{}],102:[function(require,module,exports){var isFunction=require("./isFunction"),isMasked=require("./_isMasked"),isObject=require("./isObject"),toSource=require("./_toSource");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1181 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1182 * Used to match `RegExp`
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1183 * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1184 */var reRegExpChar=/[\\^$.*+?()[\]{}|]/g;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1185 /** Used to detect host constructors (Safari). */var reIsHostCtor=/^\[object .+?Constructor\]$/;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1186 /** Used for built-in method references. */var funcProto=Function.prototype,objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1187 /** Used to resolve the decompiled source of functions. */var funcToString=funcProto.toString;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1188 /** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1189 /** Used to detect if a method is native. */var reIsNative=RegExp("^"+funcToString.call(hasOwnProperty).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1190 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1191 * The base implementation of `_.isNative` without bad shim checks.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1192 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1193 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1194 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1195 * @returns {boolean} Returns `true` if `value` is a native function,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1196 * else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1197 */function baseIsNative(value){if(!isObject(value)||isMasked(value)){return false}var pattern=isFunction(value)?reIsNative:reIsHostCtor;return pattern.test(toSource(value))}module.exports=baseIsNative},{"./_isMasked":185,"./_toSource":224,"./isFunction":248,"./isObject":251}],103:[function(require,module,exports){var getTag=require("./_getTag"),isObjectLike=require("./isObjectLike");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1198 /** `Object#toString` result references. */var setTag="[object Set]";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1199 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1200 * The base implementation of `_.isSet` without Node.js optimizations.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1201 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1202 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1203 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1204 * @returns {boolean} Returns `true` if `value` is a set, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1205 */function baseIsSet(value){return isObjectLike(value)&&getTag(value)==setTag}module.exports=baseIsSet},{"./_getTag":168,"./isObjectLike":252}],104:[function(require,module,exports){var baseGetTag=require("./_baseGetTag"),isLength=require("./isLength"),isObjectLike=require("./isObjectLike");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1206 /** `Object#toString` result references. */var argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]";var arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1207 /** Used to identify `toStringTag` values of typed arrays. */var typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=true;typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=false;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1208 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1209 * The base implementation of `_.isTypedArray` without Node.js optimizations.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1210 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1211 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1212 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1213 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1214 */function baseIsTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[baseGetTag(value)]}module.exports=baseIsTypedArray},{"./_baseGetTag":91,"./isLength":249,"./isObjectLike":252}],105:[function(require,module,exports){var baseMatches=require("./_baseMatches"),baseMatchesProperty=require("./_baseMatchesProperty"),identity=require("./identity"),isArray=require("./isArray"),property=require("./property");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1215 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1216 * The base implementation of `_.iteratee`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1217 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1218 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1219 * @param {*} [value=_.identity] The value to convert to an iteratee.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1220 * @returns {Function} Returns the iteratee.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1221 */function baseIteratee(value){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1222 // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1223 // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1224 if(typeof value=="function"){return value}if(value==null){return identity}if(typeof value=="object"){return isArray(value)?baseMatchesProperty(value[0],value[1]):baseMatches(value)}return property(value)}module.exports=baseIteratee},{"./_baseMatches":110,"./_baseMatchesProperty":111,"./identity":241,"./isArray":243,"./property":272}],106:[function(require,module,exports){var isPrototype=require("./_isPrototype"),nativeKeys=require("./_nativeKeys");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1225 /** Used for built-in method references. */var objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1226 /** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1227 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1228 * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1229 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1230 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1231 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1232 * @returns {Array} Returns the array of property names.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1233 */function baseKeys(object){if(!isPrototype(object)){return nativeKeys(object)}var result=[];for(var key in Object(object)){if(hasOwnProperty.call(object,key)&&key!="constructor"){result.push(key)}}return result}module.exports=baseKeys},{"./_isPrototype":186,"./_nativeKeys":202}],107:[function(require,module,exports){var isObject=require("./isObject"),isPrototype=require("./_isPrototype"),nativeKeysIn=require("./_nativeKeysIn");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1234 /** Used for built-in method references. */var objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1235 /** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1236 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1237 * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1238 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1239 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1240 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1241 * @returns {Array} Returns the array of property names.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1242 */function baseKeysIn(object){if(!isObject(object)){return nativeKeysIn(object)}var isProto=isPrototype(object),result=[];for(var key in object){if(!(key=="constructor"&&(isProto||!hasOwnProperty.call(object,key)))){result.push(key)}}return result}module.exports=baseKeysIn},{"./_isPrototype":186,"./_nativeKeysIn":203,"./isObject":251}],108:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1243 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1244 * The base implementation of `_.lt` which doesn't coerce arguments.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1245 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1246 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1247 * @param {*} value The value to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1248 * @param {*} other The other value to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1249 * @returns {boolean} Returns `true` if `value` is less than `other`,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1250 * else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1251 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1252 function baseLt(value,other){return value<other}module.exports=baseLt},{}],109:[function(require,module,exports){var baseEach=require("./_baseEach"),isArrayLike=require("./isArrayLike");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1253 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1254 * The base implementation of `_.map` without support for iteratee shorthands.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1255 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1256 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1257 * @param {Array|Object} collection The collection to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1258 * @param {Function} iteratee The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1259 * @returns {Array} Returns the new mapped array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1260 */function baseMap(collection,iteratee){var index=-1,result=isArrayLike(collection)?Array(collection.length):[];baseEach(collection,function(value,key,collection){result[++index]=iteratee(value,key,collection)});return result}module.exports=baseMap},{"./_baseEach":82,"./isArrayLike":244}],110:[function(require,module,exports){var baseIsMatch=require("./_baseIsMatch"),getMatchData=require("./_getMatchData"),matchesStrictComparable=require("./_matchesStrictComparable");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1261 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1262 * The base implementation of `_.matches` which doesn't clone `source`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1263 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1264 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1265 * @param {Object} source The object of property values to match.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1266 * @returns {Function} Returns the new spec function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1267 */function baseMatches(source){var matchData=getMatchData(source);if(matchData.length==1&&matchData[0][2]){return matchesStrictComparable(matchData[0][0],matchData[0][1])}return function(object){return object===source||baseIsMatch(object,source,matchData)}}module.exports=baseMatches},{"./_baseIsMatch":100,"./_getMatchData":162,"./_matchesStrictComparable":199}],111:[function(require,module,exports){var baseIsEqual=require("./_baseIsEqual"),get=require("./get"),hasIn=require("./hasIn"),isKey=require("./_isKey"),isStrictComparable=require("./_isStrictComparable"),matchesStrictComparable=require("./_matchesStrictComparable"),toKey=require("./_toKey");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1268 /** Used to compose bitmasks for value comparisons. */var COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1269 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1270 * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1271 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1272 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1273 * @param {string} path The path of the property to get.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1274 * @param {*} srcValue The value to match.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1275 * @returns {Function} Returns the new spec function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1276 */function baseMatchesProperty(path,srcValue){if(isKey(path)&&isStrictComparable(srcValue)){return matchesStrictComparable(toKey(path),srcValue)}return function(object){var objValue=get(object,path);return objValue===undefined&&objValue===srcValue?hasIn(object,path):baseIsEqual(srcValue,objValue,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG)}}module.exports=baseMatchesProperty},{"./_baseIsEqual":97,"./_isKey":183,"./_isStrictComparable":187,"./_matchesStrictComparable":199,"./_toKey":223,"./get":238,"./hasIn":240}],112:[function(require,module,exports){var Stack=require("./_Stack"),assignMergeValue=require("./_assignMergeValue"),baseFor=require("./_baseFor"),baseMergeDeep=require("./_baseMergeDeep"),isObject=require("./isObject"),keysIn=require("./keysIn"),safeGet=require("./_safeGet");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1277 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1278 * The base implementation of `_.merge` without support for multiple sources.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1279 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1280 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1281 * @param {Object} object The destination object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1282 * @param {Object} source The source object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1283 * @param {number} srcIndex The index of `source`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1284 * @param {Function} [customizer] The function to customize merged values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1285 * @param {Object} [stack] Tracks traversed source values and their merged
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1286 * counterparts.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1287 */function baseMerge(object,source,srcIndex,customizer,stack){if(object===source){return}baseFor(source,function(srcValue,key){stack||(stack=new Stack);if(isObject(srcValue)){baseMergeDeep(object,source,key,srcIndex,baseMerge,customizer,stack)}else{var newValue=customizer?customizer(safeGet(object,key),srcValue,key+"",object,source,stack):undefined;if(newValue===undefined){newValue=srcValue}assignMergeValue(object,key,newValue)}},keysIn)}module.exports=baseMerge},{"./_Stack":59,"./_assignMergeValue":74,"./_baseFor":87,"./_baseMergeDeep":113,"./_safeGet":209,"./isObject":251,"./keysIn":260}],113:[function(require,module,exports){var assignMergeValue=require("./_assignMergeValue"),cloneBuffer=require("./_cloneBuffer"),cloneTypedArray=require("./_cloneTypedArray"),copyArray=require("./_copyArray"),initCloneObject=require("./_initCloneObject"),isArguments=require("./isArguments"),isArray=require("./isArray"),isArrayLikeObject=require("./isArrayLikeObject"),isBuffer=require("./isBuffer"),isFunction=require("./isFunction"),isObject=require("./isObject"),isPlainObject=require("./isPlainObject"),isTypedArray=require("./isTypedArray"),safeGet=require("./_safeGet"),toPlainObject=require("./toPlainObject");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1288 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1289 * A specialized version of `baseMerge` for arrays and objects which performs
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1290 * deep merges and tracks traversed objects enabling objects with circular
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1291 * references to be merged.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1292 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1293 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1294 * @param {Object} object The destination object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1295 * @param {Object} source The source object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1296 * @param {string} key The key of the value to merge.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1297 * @param {number} srcIndex The index of `source`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1298 * @param {Function} mergeFunc The function to merge values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1299 * @param {Function} [customizer] The function to customize assigned values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1300 * @param {Object} [stack] Tracks traversed source values and their merged
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1301 * counterparts.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1302 */function baseMergeDeep(object,source,key,srcIndex,mergeFunc,customizer,stack){var objValue=safeGet(object,key),srcValue=safeGet(source,key),stacked=stack.get(srcValue);if(stacked){assignMergeValue(object,key,stacked);return}var newValue=customizer?customizer(objValue,srcValue,key+"",object,source,stack):undefined;var isCommon=newValue===undefined;if(isCommon){var isArr=isArray(srcValue),isBuff=!isArr&&isBuffer(srcValue),isTyped=!isArr&&!isBuff&&isTypedArray(srcValue);newValue=srcValue;if(isArr||isBuff||isTyped){if(isArray(objValue)){newValue=objValue}else if(isArrayLikeObject(objValue)){newValue=copyArray(objValue)}else if(isBuff){isCommon=false;newValue=cloneBuffer(srcValue,true)}else if(isTyped){isCommon=false;newValue=cloneTypedArray(srcValue,true)}else{newValue=[]}}else if(isPlainObject(srcValue)||isArguments(srcValue)){newValue=objValue;if(isArguments(objValue)){newValue=toPlainObject(objValue)}else if(!isObject(objValue)||isFunction(objValue)){newValue=initCloneObject(srcValue)}}else{isCommon=false}}if(isCommon){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1303 // Recursively merge objects and arrays (susceptible to call stack limits).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1304 stack.set(srcValue,newValue);mergeFunc(newValue,srcValue,srcIndex,customizer,stack);stack["delete"](srcValue)}assignMergeValue(object,key,newValue)}module.exports=baseMergeDeep},{"./_assignMergeValue":74,"./_cloneBuffer":135,"./_cloneTypedArray":139,"./_copyArray":142,"./_initCloneObject":179,"./_safeGet":209,"./isArguments":242,"./isArray":243,"./isArrayLikeObject":245,"./isBuffer":246,"./isFunction":248,"./isObject":251,"./isPlainObject":253,"./isTypedArray":257,"./toPlainObject":282}],114:[function(require,module,exports){var arrayMap=require("./_arrayMap"),baseIteratee=require("./_baseIteratee"),baseMap=require("./_baseMap"),baseSortBy=require("./_baseSortBy"),baseUnary=require("./_baseUnary"),compareMultiple=require("./_compareMultiple"),identity=require("./identity");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1305 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1306 * The base implementation of `_.orderBy` without param guards.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1307 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1308 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1309 * @param {Array|Object} collection The collection to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1310 * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1311 * @param {string[]} orders The sort orders of `iteratees`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1312 * @returns {Array} Returns the new sorted array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1313 */function baseOrderBy(collection,iteratees,orders){var index=-1;iteratees=arrayMap(iteratees.length?iteratees:[identity],baseUnary(baseIteratee));var result=baseMap(collection,function(value,key,collection){var criteria=arrayMap(iteratees,function(iteratee){return iteratee(value)});return{criteria:criteria,index:++index,value:value}});return baseSortBy(result,function(object,other){return compareMultiple(object,other,orders)})}module.exports=baseOrderBy},{"./_arrayMap":69,"./_baseIteratee":105,"./_baseMap":109,"./_baseSortBy":124,"./_baseUnary":127,"./_compareMultiple":141,"./identity":241}],115:[function(require,module,exports){var basePickBy=require("./_basePickBy"),hasIn=require("./hasIn");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1314 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1315 * The base implementation of `_.pick` without support for individual
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1316 * property identifiers.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1317 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1318 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1319 * @param {Object} object The source object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1320 * @param {string[]} paths The property paths to pick.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1321 * @returns {Object} Returns the new object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1322 */function basePick(object,paths){return basePickBy(object,paths,function(value,path){return hasIn(object,path)})}module.exports=basePick},{"./_basePickBy":116,"./hasIn":240}],116:[function(require,module,exports){var baseGet=require("./_baseGet"),baseSet=require("./_baseSet"),castPath=require("./_castPath");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1323 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1324 * The base implementation of `_.pickBy` without support for iteratee shorthands.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1325 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1326 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1327 * @param {Object} object The source object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1328 * @param {string[]} paths The property paths to pick.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1329 * @param {Function} predicate The function invoked per property.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1330 * @returns {Object} Returns the new object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1331 */function basePickBy(object,paths,predicate){var index=-1,length=paths.length,result={};while(++index<length){var path=paths[index],value=baseGet(object,path);if(predicate(value,path)){baseSet(result,castPath(path,object),value)}}return result}module.exports=basePickBy},{"./_baseGet":89,"./_baseSet":122,"./_castPath":133}],117:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1332 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1333 * The base implementation of `_.property` without support for deep paths.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1334 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1335 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1336 * @param {string} key The key of the property to get.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1337 * @returns {Function} Returns the new accessor function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1338 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1339 function baseProperty(key){return function(object){return object==null?undefined:object[key]}}module.exports=baseProperty},{}],118:[function(require,module,exports){var baseGet=require("./_baseGet");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1340 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1341 * A specialized version of `baseProperty` which supports deep paths.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1342 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1343 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1344 * @param {Array|string} path The path of the property to get.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1345 * @returns {Function} Returns the new accessor function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1346 */function basePropertyDeep(path){return function(object){return baseGet(object,path)}}module.exports=basePropertyDeep},{"./_baseGet":89}],119:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1347 /* Built-in method references for those with the same name as other `lodash` methods. */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1348 var nativeCeil=Math.ceil,nativeMax=Math.max;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1349 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1350 * The base implementation of `_.range` and `_.rangeRight` which doesn't
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1351 * coerce arguments.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1352 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1353 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1354 * @param {number} start The start of the range.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1355 * @param {number} end The end of the range.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1356 * @param {number} step The value to increment or decrement by.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1357 * @param {boolean} [fromRight] Specify iterating from right to left.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1358 * @returns {Array} Returns the range of numbers.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1359 */function baseRange(start,end,step,fromRight){var index=-1,length=nativeMax(nativeCeil((end-start)/(step||1)),0),result=Array(length);while(length--){result[fromRight?length:++index]=start;start+=step}return result}module.exports=baseRange},{}],120:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1360 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1361 * The base implementation of `_.reduce` and `_.reduceRight`, without support
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1362 * for iteratee shorthands, which iterates over `collection` using `eachFunc`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1363 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1364 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1365 * @param {Array|Object} collection The collection to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1366 * @param {Function} iteratee The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1367 * @param {*} accumulator The initial value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1368 * @param {boolean} initAccum Specify using the first or last element of
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1369 * `collection` as the initial value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1370 * @param {Function} eachFunc The function to iterate over `collection`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1371 * @returns {*} Returns the accumulated value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1372 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1373 function baseReduce(collection,iteratee,accumulator,initAccum,eachFunc){eachFunc(collection,function(value,index,collection){accumulator=initAccum?(initAccum=false,value):iteratee(accumulator,value,index,collection)});return accumulator}module.exports=baseReduce},{}],121:[function(require,module,exports){var identity=require("./identity"),overRest=require("./_overRest"),setToString=require("./_setToString");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1374 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1375 * The base implementation of `_.rest` which doesn't validate or coerce arguments.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1376 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1377 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1378 * @param {Function} func The function to apply a rest parameter to.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1379 * @param {number} [start=func.length-1] The start position of the rest parameter.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1380 * @returns {Function} Returns the new function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1381 */function baseRest(func,start){return setToString(overRest(func,start,identity),func+"")}module.exports=baseRest},{"./_overRest":207,"./_setToString":213,"./identity":241}],122:[function(require,module,exports){var assignValue=require("./_assignValue"),castPath=require("./_castPath"),isIndex=require("./_isIndex"),isObject=require("./isObject"),toKey=require("./_toKey");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1382 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1383 * The base implementation of `_.set`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1384 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1385 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1386 * @param {Object} object The object to modify.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1387 * @param {Array|string} path The path of the property to set.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1388 * @param {*} value The value to set.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1389 * @param {Function} [customizer] The function to customize path creation.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1390 * @returns {Object} Returns `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1391 */function baseSet(object,path,value,customizer){if(!isObject(object)){return object}path=castPath(path,object);var index=-1,length=path.length,lastIndex=length-1,nested=object;while(nested!=null&&++index<length){var key=toKey(path[index]),newValue=value;if(index!=lastIndex){var objValue=nested[key];newValue=customizer?customizer(objValue,key,nested):undefined;if(newValue===undefined){newValue=isObject(objValue)?objValue:isIndex(path[index+1])?[]:{}}}assignValue(nested,key,newValue);nested=nested[key]}return object}module.exports=baseSet},{"./_assignValue":75,"./_castPath":133,"./_isIndex":181,"./_toKey":223,"./isObject":251}],123:[function(require,module,exports){var constant=require("./constant"),defineProperty=require("./_defineProperty"),identity=require("./identity");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1392 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1393 * The base implementation of `setToString` without support for hot loop shorting.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1394 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1395 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1396 * @param {Function} func The function to modify.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1397 * @param {Function} string The `toString` result.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1398 * @returns {Function} Returns `func`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1399 */var baseSetToString=!defineProperty?identity:function(func,string){return defineProperty(func,"toString",{configurable:true,enumerable:false,value:constant(string),writable:true})};module.exports=baseSetToString},{"./_defineProperty":153,"./constant":228,"./identity":241}],124:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1400 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1401 * The base implementation of `_.sortBy` which uses `comparer` to define the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1402 * sort order of `array` and replaces criteria objects with their corresponding
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1403 * values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1404 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1405 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1406 * @param {Array} array The array to sort.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1407 * @param {Function} comparer The function to define sort order.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1408 * @returns {Array} Returns `array`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1409 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1410 function baseSortBy(array,comparer){var length=array.length;array.sort(comparer);while(length--){array[length]=array[length].value}return array}module.exports=baseSortBy},{}],125:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1411 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1412 * The base implementation of `_.times` without support for iteratee shorthands
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1413 * or max array length checks.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1414 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1415 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1416 * @param {number} n The number of times to invoke `iteratee`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1417 * @param {Function} iteratee The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1418 * @returns {Array} Returns the array of results.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1419 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1420 function baseTimes(n,iteratee){var index=-1,result=Array(n);while(++index<n){result[index]=iteratee(index)}return result}module.exports=baseTimes},{}],126:[function(require,module,exports){var Symbol=require("./_Symbol"),arrayMap=require("./_arrayMap"),isArray=require("./isArray"),isSymbol=require("./isSymbol");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1421 /** Used as references for various `Number` constants. */var INFINITY=1/0;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1422 /** Used to convert symbols to primitives and strings. */var symbolProto=Symbol?Symbol.prototype:undefined,symbolToString=symbolProto?symbolProto.toString:undefined;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1423 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1424 * The base implementation of `_.toString` which doesn't convert nullish
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1425 * values to empty strings.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1426 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1427 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1428 * @param {*} value The value to process.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1429 * @returns {string} Returns the string.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1430 */function baseToString(value){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1431 // Exit early for strings to avoid a performance hit in some environments.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1432 if(typeof value=="string"){return value}if(isArray(value)){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1433 // Recursively convert values (susceptible to call stack limits).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1434 return arrayMap(value,baseToString)+""}if(isSymbol(value)){return symbolToString?symbolToString.call(value):""}var result=value+"";return result=="0"&&1/value==-INFINITY?"-0":result}module.exports=baseToString},{"./_Symbol":60,"./_arrayMap":69,"./isArray":243,"./isSymbol":256}],127:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1435 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1436 * The base implementation of `_.unary` without support for storing metadata.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1437 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1438 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1439 * @param {Function} func The function to cap arguments for.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1440 * @returns {Function} Returns the new capped function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1441 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1442 function baseUnary(func){return function(value){return func(value)}}module.exports=baseUnary},{}],128:[function(require,module,exports){var SetCache=require("./_SetCache"),arrayIncludes=require("./_arrayIncludes"),arrayIncludesWith=require("./_arrayIncludesWith"),cacheHas=require("./_cacheHas"),createSet=require("./_createSet"),setToArray=require("./_setToArray");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1443 /** Used as the size to enable large array optimizations. */var LARGE_ARRAY_SIZE=200;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1444 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1445 * The base implementation of `_.uniqBy` without support for iteratee shorthands.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1446 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1447 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1448 * @param {Array} array The array to inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1449 * @param {Function} [iteratee] The iteratee invoked per element.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1450 * @param {Function} [comparator] The comparator invoked per element.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1451 * @returns {Array} Returns the new duplicate free array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1452 */function baseUniq(array,iteratee,comparator){var index=-1,includes=arrayIncludes,length=array.length,isCommon=true,result=[],seen=result;if(comparator){isCommon=false;includes=arrayIncludesWith}else if(length>=LARGE_ARRAY_SIZE){var set=iteratee?null:createSet(array);if(set){return setToArray(set)}isCommon=false;includes=cacheHas;seen=new SetCache}else{seen=iteratee?[]:result}outer:while(++index<length){var value=array[index],computed=iteratee?iteratee(value):value;value=comparator||value!==0?value:0;if(isCommon&&computed===computed){var seenIndex=seen.length;while(seenIndex--){if(seen[seenIndex]===computed){continue outer}}if(iteratee){seen.push(computed)}result.push(value)}else if(!includes(seen,computed,comparator)){if(seen!==result){seen.push(computed)}result.push(value)}}return result}module.exports=baseUniq},{"./_SetCache":58,"./_arrayIncludes":66,"./_arrayIncludesWith":67,"./_cacheHas":131,"./_createSet":152,"./_setToArray":212}],129:[function(require,module,exports){var arrayMap=require("./_arrayMap");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1453 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1454 * The base implementation of `_.values` and `_.valuesIn` which creates an
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1455 * array of `object` property values corresponding to the property names
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1456 * of `props`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1457 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1458 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1459 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1460 * @param {Array} props The property names to get values for.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1461 * @returns {Object} Returns the array of property values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1462 */function baseValues(object,props){return arrayMap(props,function(key){return object[key]})}module.exports=baseValues},{"./_arrayMap":69}],130:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1463 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1464 * This base implementation of `_.zipObject` which assigns values using `assignFunc`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1465 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1466 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1467 * @param {Array} props The property identifiers.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1468 * @param {Array} values The property values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1469 * @param {Function} assignFunc The function to assign values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1470 * @returns {Object} Returns the new object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1471 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1472 function baseZipObject(props,values,assignFunc){var index=-1,length=props.length,valsLength=values.length,result={};while(++index<length){var value=index<valsLength?values[index]:undefined;assignFunc(result,props[index],value)}return result}module.exports=baseZipObject},{}],131:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1473 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1474 * Checks if a `cache` value for `key` exists.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1475 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1476 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1477 * @param {Object} cache The cache to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1478 * @param {string} key The key of the entry to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1479 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1480 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1481 function cacheHas(cache,key){return cache.has(key)}module.exports=cacheHas},{}],132:[function(require,module,exports){var identity=require("./identity");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1482 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1483 * Casts `value` to `identity` if it's not a function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1484 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1485 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1486 * @param {*} value The value to inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1487 * @returns {Function} Returns cast function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1488 */function castFunction(value){return typeof value=="function"?value:identity}module.exports=castFunction},{"./identity":241}],133:[function(require,module,exports){var isArray=require("./isArray"),isKey=require("./_isKey"),stringToPath=require("./_stringToPath"),toString=require("./toString");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1489 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1490 * Casts `value` to a path array if it's not one.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1491 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1492 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1493 * @param {*} value The value to inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1494 * @param {Object} [object] The object to query keys on.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1495 * @returns {Array} Returns the cast property path array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1496 */function castPath(value,object){if(isArray(value)){return value}return isKey(value,object)?[value]:stringToPath(toString(value))}module.exports=castPath},{"./_isKey":183,"./_stringToPath":222,"./isArray":243,"./toString":283}],134:[function(require,module,exports){var Uint8Array=require("./_Uint8Array");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1497 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1498 * Creates a clone of `arrayBuffer`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1499 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1500 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1501 * @param {ArrayBuffer} arrayBuffer The array buffer to clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1502 * @returns {ArrayBuffer} Returns the cloned array buffer.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1503 */function cloneArrayBuffer(arrayBuffer){var result=new arrayBuffer.constructor(arrayBuffer.byteLength);new Uint8Array(result).set(new Uint8Array(arrayBuffer));return result}module.exports=cloneArrayBuffer},{"./_Uint8Array":61}],135:[function(require,module,exports){var root=require("./_root");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1504 /** Detect free variable `exports`. */var freeExports=typeof exports=="object"&&exports&&!exports.nodeType&&exports;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1505 /** Detect free variable `module`. */var freeModule=freeExports&&typeof module=="object"&&module&&!module.nodeType&&module;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1506 /** Detect the popular CommonJS extension `module.exports`. */var moduleExports=freeModule&&freeModule.exports===freeExports;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1507 /** Built-in value references. */var Buffer=moduleExports?root.Buffer:undefined,allocUnsafe=Buffer?Buffer.allocUnsafe:undefined;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1508 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1509 * Creates a clone of `buffer`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1510 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1511 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1512 * @param {Buffer} buffer The buffer to clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1513 * @param {boolean} [isDeep] Specify a deep clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1514 * @returns {Buffer} Returns the cloned buffer.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1515 */function cloneBuffer(buffer,isDeep){if(isDeep){return buffer.slice()}var length=buffer.length,result=allocUnsafe?allocUnsafe(length):new buffer.constructor(length);buffer.copy(result);return result}module.exports=cloneBuffer},{"./_root":208}],136:[function(require,module,exports){var cloneArrayBuffer=require("./_cloneArrayBuffer");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1516 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1517 * Creates a clone of `dataView`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1518 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1519 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1520 * @param {Object} dataView The data view to clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1521 * @param {boolean} [isDeep] Specify a deep clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1522 * @returns {Object} Returns the cloned data view.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1523 */function cloneDataView(dataView,isDeep){var buffer=isDeep?cloneArrayBuffer(dataView.buffer):dataView.buffer;return new dataView.constructor(buffer,dataView.byteOffset,dataView.byteLength)}module.exports=cloneDataView},{"./_cloneArrayBuffer":134}],137:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1524 /** Used to match `RegExp` flags from their coerced string values. */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1525 var reFlags=/\w*$/;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1526 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1527 * Creates a clone of `regexp`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1528 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1529 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1530 * @param {Object} regexp The regexp to clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1531 * @returns {Object} Returns the cloned regexp.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1532 */function cloneRegExp(regexp){var result=new regexp.constructor(regexp.source,reFlags.exec(regexp));result.lastIndex=regexp.lastIndex;return result}module.exports=cloneRegExp},{}],138:[function(require,module,exports){var Symbol=require("./_Symbol");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1533 /** Used to convert symbols to primitives and strings. */var symbolProto=Symbol?Symbol.prototype:undefined,symbolValueOf=symbolProto?symbolProto.valueOf:undefined;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1534 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1535 * Creates a clone of the `symbol` object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1536 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1537 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1538 * @param {Object} symbol The symbol object to clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1539 * @returns {Object} Returns the cloned symbol object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1540 */function cloneSymbol(symbol){return symbolValueOf?Object(symbolValueOf.call(symbol)):{}}module.exports=cloneSymbol},{"./_Symbol":60}],139:[function(require,module,exports){var cloneArrayBuffer=require("./_cloneArrayBuffer");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1541 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1542 * Creates a clone of `typedArray`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1543 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1544 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1545 * @param {Object} typedArray The typed array to clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1546 * @param {boolean} [isDeep] Specify a deep clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1547 * @returns {Object} Returns the cloned typed array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1548 */function cloneTypedArray(typedArray,isDeep){var buffer=isDeep?cloneArrayBuffer(typedArray.buffer):typedArray.buffer;return new typedArray.constructor(buffer,typedArray.byteOffset,typedArray.length)}module.exports=cloneTypedArray},{"./_cloneArrayBuffer":134}],140:[function(require,module,exports){var isSymbol=require("./isSymbol");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1549 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1550 * Compares values to sort them in ascending order.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1551 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1552 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1553 * @param {*} value The value to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1554 * @param {*} other The other value to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1555 * @returns {number} Returns the sort order indicator for `value`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1556 */function compareAscending(value,other){if(value!==other){var valIsDefined=value!==undefined,valIsNull=value===null,valIsReflexive=value===value,valIsSymbol=isSymbol(value);var othIsDefined=other!==undefined,othIsNull=other===null,othIsReflexive=other===other,othIsSymbol=isSymbol(other);if(!othIsNull&&!othIsSymbol&&!valIsSymbol&&value>other||valIsSymbol&&othIsDefined&&othIsReflexive&&!othIsNull&&!othIsSymbol||valIsNull&&othIsDefined&&othIsReflexive||!valIsDefined&&othIsReflexive||!valIsReflexive){return 1}if(!valIsNull&&!valIsSymbol&&!othIsSymbol&&value<other||othIsSymbol&&valIsDefined&&valIsReflexive&&!valIsNull&&!valIsSymbol||othIsNull&&valIsDefined&&valIsReflexive||!othIsDefined&&valIsReflexive||!othIsReflexive){return-1}}return 0}module.exports=compareAscending},{"./isSymbol":256}],141:[function(require,module,exports){var compareAscending=require("./_compareAscending");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1557 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1558 * Used by `_.orderBy` to compare multiple properties of a value to another
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1559 * and stable sort them.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1560 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1561 * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1562 * specify an order of "desc" for descending or "asc" for ascending sort order
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1563 * of corresponding values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1564 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1565 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1566 * @param {Object} object The object to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1567 * @param {Object} other The other object to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1568 * @param {boolean[]|string[]} orders The order to sort by for each property.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1569 * @returns {number} Returns the sort order indicator for `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1570 */function compareMultiple(object,other,orders){var index=-1,objCriteria=object.criteria,othCriteria=other.criteria,length=objCriteria.length,ordersLength=orders.length;while(++index<length){var result=compareAscending(objCriteria[index],othCriteria[index]);if(result){if(index>=ordersLength){return result}var order=orders[index];return result*(order=="desc"?-1:1)}}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1571 // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1572 // that causes it, under certain circumstances, to provide the same value for
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1573 // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1574 // for more details.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1575 //
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1576 // This also ensures a stable sort in V8 and other engines.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1577 // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1578 return object.index-other.index}module.exports=compareMultiple},{"./_compareAscending":140}],142:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1579 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1580 * Copies the values of `source` to `array`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1581 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1582 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1583 * @param {Array} source The array to copy values from.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1584 * @param {Array} [array=[]] The array to copy values to.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1585 * @returns {Array} Returns `array`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1586 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1587 function copyArray(source,array){var index=-1,length=source.length;array||(array=Array(length));while(++index<length){array[index]=source[index]}return array}module.exports=copyArray},{}],143:[function(require,module,exports){var assignValue=require("./_assignValue"),baseAssignValue=require("./_baseAssignValue");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1588 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1589 * Copies properties of `source` to `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1590 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1591 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1592 * @param {Object} source The object to copy properties from.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1593 * @param {Array} props The property identifiers to copy.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1594 * @param {Object} [object={}] The object to copy properties to.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1595 * @param {Function} [customizer] The function to customize copied values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1596 * @returns {Object} Returns `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1597 */function copyObject(source,props,object,customizer){var isNew=!object;object||(object={});var index=-1,length=props.length;while(++index<length){var key=props[index];var newValue=customizer?customizer(object[key],source[key],key,object,source):undefined;if(newValue===undefined){newValue=source[key]}if(isNew){baseAssignValue(object,key,newValue)}else{assignValue(object,key,newValue)}}return object}module.exports=copyObject},{"./_assignValue":75,"./_baseAssignValue":79}],144:[function(require,module,exports){var copyObject=require("./_copyObject"),getSymbols=require("./_getSymbols");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1598 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1599 * Copies own symbols of `source` to `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1600 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1601 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1602 * @param {Object} source The object to copy symbols from.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1603 * @param {Object} [object={}] The object to copy symbols to.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1604 * @returns {Object} Returns `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1605 */function copySymbols(source,object){return copyObject(source,getSymbols(source),object)}module.exports=copySymbols},{"./_copyObject":143,"./_getSymbols":166}],145:[function(require,module,exports){var copyObject=require("./_copyObject"),getSymbolsIn=require("./_getSymbolsIn");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1606 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1607 * Copies own and inherited symbols of `source` to `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1608 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1609 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1610 * @param {Object} source The object to copy symbols from.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1611 * @param {Object} [object={}] The object to copy symbols to.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1612 * @returns {Object} Returns `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1613 */function copySymbolsIn(source,object){return copyObject(source,getSymbolsIn(source),object)}module.exports=copySymbolsIn},{"./_copyObject":143,"./_getSymbolsIn":167}],146:[function(require,module,exports){var root=require("./_root");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1614 /** Used to detect overreaching core-js shims. */var coreJsData=root["__core-js_shared__"];module.exports=coreJsData},{"./_root":208}],147:[function(require,module,exports){var baseRest=require("./_baseRest"),isIterateeCall=require("./_isIterateeCall");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1615 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1616 * Creates a function like `_.assign`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1617 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1618 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1619 * @param {Function} assigner The function to assign values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1620 * @returns {Function} Returns the new assigner function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1621 */function createAssigner(assigner){return baseRest(function(object,sources){var index=-1,length=sources.length,customizer=length>1?sources[length-1]:undefined,guard=length>2?sources[2]:undefined;customizer=assigner.length>3&&typeof customizer=="function"?(length--,customizer):undefined;if(guard&&isIterateeCall(sources[0],sources[1],guard)){customizer=length<3?undefined:customizer;length=1}object=Object(object);while(++index<length){var source=sources[index];if(source){assigner(object,source,index,customizer)}}return object})}module.exports=createAssigner},{"./_baseRest":121,"./_isIterateeCall":182}],148:[function(require,module,exports){var isArrayLike=require("./isArrayLike");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1622 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1623 * Creates a `baseEach` or `baseEachRight` function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1624 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1625 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1626 * @param {Function} eachFunc The function to iterate over a collection.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1627 * @param {boolean} [fromRight] Specify iterating from right to left.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1628 * @returns {Function} Returns the new base function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1629 */function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){if(collection==null){return collection}if(!isArrayLike(collection)){return eachFunc(collection,iteratee)}var length=collection.length,index=fromRight?length:-1,iterable=Object(collection);while(fromRight?index--:++index<length){if(iteratee(iterable[index],index,iterable)===false){break}}return collection}}module.exports=createBaseEach},{"./isArrayLike":244}],149:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1630 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1631 * Creates a base function for methods like `_.forIn` and `_.forOwn`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1632 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1633 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1634 * @param {boolean} [fromRight] Specify iterating from right to left.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1635 * @returns {Function} Returns the new base function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1636 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1637 function createBaseFor(fromRight){return function(object,iteratee,keysFunc){var index=-1,iterable=Object(object),props=keysFunc(object),length=props.length;while(length--){var key=props[fromRight?length:++index];if(iteratee(iterable[key],key,iterable)===false){break}}return object}}module.exports=createBaseFor},{}],150:[function(require,module,exports){var baseIteratee=require("./_baseIteratee"),isArrayLike=require("./isArrayLike"),keys=require("./keys");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1638 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1639 * Creates a `_.find` or `_.findLast` function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1640 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1641 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1642 * @param {Function} findIndexFunc The function to find the collection index.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1643 * @returns {Function} Returns the new find function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1644 */function createFind(findIndexFunc){return function(collection,predicate,fromIndex){var iterable=Object(collection);if(!isArrayLike(collection)){var iteratee=baseIteratee(predicate,3);collection=keys(collection);predicate=function(key){return iteratee(iterable[key],key,iterable)}}var index=findIndexFunc(collection,predicate,fromIndex);return index>-1?iterable[iteratee?collection[index]:index]:undefined}}module.exports=createFind},{"./_baseIteratee":105,"./isArrayLike":244,"./keys":259}],151:[function(require,module,exports){var baseRange=require("./_baseRange"),isIterateeCall=require("./_isIterateeCall"),toFinite=require("./toFinite");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1645 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1646 * Creates a `_.range` or `_.rangeRight` function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1647 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1648 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1649 * @param {boolean} [fromRight] Specify iterating from right to left.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1650 * @returns {Function} Returns the new range function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1651 */function createRange(fromRight){return function(start,end,step){if(step&&typeof step!="number"&&isIterateeCall(start,end,step)){end=step=undefined}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1652 // Ensure the sign of `-0` is preserved.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1653 start=toFinite(start);if(end===undefined){end=start;start=0}else{end=toFinite(end)}step=step===undefined?start<end?1:-1:toFinite(step);return baseRange(start,end,step,fromRight)}}module.exports=createRange},{"./_baseRange":119,"./_isIterateeCall":182,"./toFinite":279}],152:[function(require,module,exports){var Set=require("./_Set"),noop=require("./noop"),setToArray=require("./_setToArray");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1654 /** Used as references for various `Number` constants. */var INFINITY=1/0;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1655 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1656 * Creates a set object of `values`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1657 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1658 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1659 * @param {Array} values The values to add to the set.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1660 * @returns {Object} Returns the new set.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1661 */var createSet=!(Set&&1/setToArray(new Set([,-0]))[1]==INFINITY)?noop:function(values){return new Set(values)};module.exports=createSet},{"./_Set":57,"./_setToArray":212,"./noop":269}],153:[function(require,module,exports){var getNative=require("./_getNative");var defineProperty=function(){try{var func=getNative(Object,"defineProperty");func({},"",{});return func}catch(e){}}();module.exports=defineProperty},{"./_getNative":163}],154:[function(require,module,exports){var SetCache=require("./_SetCache"),arraySome=require("./_arraySome"),cacheHas=require("./_cacheHas");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1662 /** Used to compose bitmasks for value comparisons. */var COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1663 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1664 * A specialized version of `baseIsEqualDeep` for arrays with support for
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1665 * partial deep comparisons.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1666 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1667 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1668 * @param {Array} array The array to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1669 * @param {Array} other The other array to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1670 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1671 * @param {Function} customizer The function to customize comparisons.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1672 * @param {Function} equalFunc The function to determine equivalents of values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1673 * @param {Object} stack Tracks traversed `array` and `other` objects.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1674 * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1675 */function equalArrays(array,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isPartial&&othLength>arrLength)){return false}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1676 // Assume cyclic values are equal.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1677 var stacked=stack.get(array);if(stacked&&stack.get(other)){return stacked==other}var index=-1,result=true,seen=bitmask&COMPARE_UNORDERED_FLAG?new SetCache:undefined;stack.set(array,other);stack.set(other,array);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1678 // Ignore non-index properties.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1679 while(++index<arrLength){var arrValue=array[index],othValue=other[index];if(customizer){var compared=isPartial?customizer(othValue,arrValue,index,other,array,stack):customizer(arrValue,othValue,index,array,other,stack)}if(compared!==undefined){if(compared){continue}result=false;break}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1680 // Recursively compare arrays (susceptible to call stack limits).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1681 if(seen){if(!arraySome(other,function(othValue,othIndex){if(!cacheHas(seen,othIndex)&&(arrValue===othValue||equalFunc(arrValue,othValue,bitmask,customizer,stack))){return seen.push(othIndex)}})){result=false;break}}else if(!(arrValue===othValue||equalFunc(arrValue,othValue,bitmask,customizer,stack))){result=false;break}}stack["delete"](array);stack["delete"](other);return result}module.exports=equalArrays},{"./_SetCache":58,"./_arraySome":72,"./_cacheHas":131}],155:[function(require,module,exports){var Symbol=require("./_Symbol"),Uint8Array=require("./_Uint8Array"),eq=require("./eq"),equalArrays=require("./_equalArrays"),mapToArray=require("./_mapToArray"),setToArray=require("./_setToArray");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1682 /** Used to compose bitmasks for value comparisons. */var COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1683 /** `Object#toString` result references. */var boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",mapTag="[object Map]",numberTag="[object Number]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]";var arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1684 /** Used to convert symbols to primitives and strings. */var symbolProto=Symbol?Symbol.prototype:undefined,symbolValueOf=symbolProto?symbolProto.valueOf:undefined;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1685 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1686 * A specialized version of `baseIsEqualDeep` for comparing objects of
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1687 * the same `toStringTag`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1688 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1689 * **Note:** This function only supports comparing values with tags of
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1690 * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1691 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1692 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1693 * @param {Object} object The object to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1694 * @param {Object} other The other object to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1695 * @param {string} tag The `toStringTag` of the objects to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1696 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1697 * @param {Function} customizer The function to customize comparisons.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1698 * @param {Function} equalFunc The function to determine equivalents of values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1699 * @param {Object} stack Tracks traversed `object` and `other` objects.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1700 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1701 */function equalByTag(object,other,tag,bitmask,customizer,equalFunc,stack){switch(tag){case dataViewTag:if(object.byteLength!=other.byteLength||object.byteOffset!=other.byteOffset){return false}object=object.buffer;other=other.buffer;case arrayBufferTag:if(object.byteLength!=other.byteLength||!equalFunc(new Uint8Array(object),new Uint8Array(other))){return false}return true;case boolTag:case dateTag:case numberTag:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1702 // Coerce booleans to `1` or `0` and dates to milliseconds.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1703 // Invalid dates are coerced to `NaN`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1704 return eq(+object,+other);case errorTag:return object.name==other.name&&object.message==other.message;case regexpTag:case stringTag:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1705 // Coerce regexes to strings and treat strings, primitives and objects,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1706 // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1707 // for more details.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1708 return object==other+"";case mapTag:var convert=mapToArray;case setTag:var isPartial=bitmask&COMPARE_PARTIAL_FLAG;convert||(convert=setToArray);if(object.size!=other.size&&!isPartial){return false}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1709 // Assume cyclic values are equal.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1710 var stacked=stack.get(object);if(stacked){return stacked==other}bitmask|=COMPARE_UNORDERED_FLAG;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1711 // Recursively compare objects (susceptible to call stack limits).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1712 stack.set(object,other);var result=equalArrays(convert(object),convert(other),bitmask,customizer,equalFunc,stack);stack["delete"](object);return result;case symbolTag:if(symbolValueOf){return symbolValueOf.call(object)==symbolValueOf.call(other)}}return false}module.exports=equalByTag},{"./_Symbol":60,"./_Uint8Array":61,"./_equalArrays":154,"./_mapToArray":198,"./_setToArray":212,"./eq":231}],156:[function(require,module,exports){var getAllKeys=require("./_getAllKeys");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1713 /** Used to compose bitmasks for value comparisons. */var COMPARE_PARTIAL_FLAG=1;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1714 /** Used for built-in method references. */var objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1715 /** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1716 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1717 * A specialized version of `baseIsEqualDeep` for objects with support for
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1718 * partial deep comparisons.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1719 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1720 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1721 * @param {Object} object The object to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1722 * @param {Object} other The other object to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1723 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1724 * @param {Function} customizer The function to customize comparisons.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1725 * @param {Function} equalFunc The function to determine equivalents of values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1726 * @param {Object} stack Tracks traversed `object` and `other` objects.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1727 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1728 */function equalObjects(object,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG,objProps=getAllKeys(object),objLength=objProps.length,othProps=getAllKeys(other),othLength=othProps.length;if(objLength!=othLength&&!isPartial){return false}var index=objLength;while(index--){var key=objProps[index];if(!(isPartial?key in other:hasOwnProperty.call(other,key))){return false}}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1729 // Assume cyclic values are equal.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1730 var stacked=stack.get(object);if(stacked&&stack.get(other)){return stacked==other}var result=true;stack.set(object,other);stack.set(other,object);var skipCtor=isPartial;while(++index<objLength){key=objProps[index];var objValue=object[key],othValue=other[key];if(customizer){var compared=isPartial?customizer(othValue,objValue,key,other,object,stack):customizer(objValue,othValue,key,object,other,stack)}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1731 // Recursively compare objects (susceptible to call stack limits).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1732 if(!(compared===undefined?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack):compared)){result=false;break}skipCtor||(skipCtor=key=="constructor")}if(result&&!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1733 // Non `Object` object instances with different constructors are not equal.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1734 if(objCtor!=othCtor&&("constructor"in object&&"constructor"in other)&&!(typeof objCtor=="function"&&objCtor instanceof objCtor&&typeof othCtor=="function"&&othCtor instanceof othCtor)){result=false}}stack["delete"](object);stack["delete"](other);return result}module.exports=equalObjects},{"./_getAllKeys":159}],157:[function(require,module,exports){var flatten=require("./flatten"),overRest=require("./_overRest"),setToString=require("./_setToString");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1735 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1736 * A specialized version of `baseRest` which flattens the rest array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1737 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1738 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1739 * @param {Function} func The function to apply a rest parameter to.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1740 * @returns {Function} Returns the new function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1741 */function flatRest(func){return setToString(overRest(func,undefined,flatten),func+"")}module.exports=flatRest},{"./_overRest":207,"./_setToString":213,"./flatten":235}],158:[function(require,module,exports){(function(global){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1742 /** Detect free variable `global` from Node.js. */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1743 var freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global;module.exports=freeGlobal}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],159:[function(require,module,exports){var baseGetAllKeys=require("./_baseGetAllKeys"),getSymbols=require("./_getSymbols"),keys=require("./keys");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1744 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1745 * Creates an array of own enumerable property names and symbols of `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1746 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1747 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1748 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1749 * @returns {Array} Returns the array of property names and symbols.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1750 */function getAllKeys(object){return baseGetAllKeys(object,keys,getSymbols)}module.exports=getAllKeys},{"./_baseGetAllKeys":90,"./_getSymbols":166,"./keys":259}],160:[function(require,module,exports){var baseGetAllKeys=require("./_baseGetAllKeys"),getSymbolsIn=require("./_getSymbolsIn"),keysIn=require("./keysIn");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1751 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1752 * Creates an array of own and inherited enumerable property names and
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1753 * symbols of `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1754 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1755 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1756 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1757 * @returns {Array} Returns the array of property names and symbols.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1758 */function getAllKeysIn(object){return baseGetAllKeys(object,keysIn,getSymbolsIn)}module.exports=getAllKeysIn},{"./_baseGetAllKeys":90,"./_getSymbolsIn":167,"./keysIn":260}],161:[function(require,module,exports){var isKeyable=require("./_isKeyable");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1759 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1760 * Gets the data for `map`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1761 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1762 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1763 * @param {Object} map The map to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1764 * @param {string} key The reference key.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1765 * @returns {*} Returns the map data.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1766 */function getMapData(map,key){var data=map.__data__;return isKeyable(key)?data[typeof key=="string"?"string":"hash"]:data.map}module.exports=getMapData},{"./_isKeyable":184}],162:[function(require,module,exports){var isStrictComparable=require("./_isStrictComparable"),keys=require("./keys");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1767 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1768 * Gets the property names, values, and compare flags of `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1769 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1770 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1771 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1772 * @returns {Array} Returns the match data of `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1773 */function getMatchData(object){var result=keys(object),length=result.length;while(length--){var key=result[length],value=object[key];result[length]=[key,value,isStrictComparable(value)]}return result}module.exports=getMatchData},{"./_isStrictComparable":187,"./keys":259}],163:[function(require,module,exports){var baseIsNative=require("./_baseIsNative"),getValue=require("./_getValue");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1774 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1775 * Gets the native function at `key` of `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1776 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1777 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1778 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1779 * @param {string} key The key of the method to get.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1780 * @returns {*} Returns the function if it's native, else `undefined`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1781 */function getNative(object,key){var value=getValue(object,key);return baseIsNative(value)?value:undefined}module.exports=getNative},{"./_baseIsNative":102,"./_getValue":169}],164:[function(require,module,exports){var overArg=require("./_overArg");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1782 /** Built-in value references. */var getPrototype=overArg(Object.getPrototypeOf,Object);module.exports=getPrototype},{"./_overArg":206}],165:[function(require,module,exports){var Symbol=require("./_Symbol");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1783 /** Used for built-in method references. */var objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1784 /** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1785 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1786 * Used to resolve the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1787 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1788 * of values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1789 */var nativeObjectToString=objectProto.toString;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1790 /** Built-in value references. */var symToStringTag=Symbol?Symbol.toStringTag:undefined;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1791 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1792 * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1793 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1794 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1795 * @param {*} value The value to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1796 * @returns {string} Returns the raw `toStringTag`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1797 */function getRawTag(value){var isOwn=hasOwnProperty.call(value,symToStringTag),tag=value[symToStringTag];try{value[symToStringTag]=undefined;var unmasked=true}catch(e){}var result=nativeObjectToString.call(value);if(unmasked){if(isOwn){value[symToStringTag]=tag}else{delete value[symToStringTag]}}return result}module.exports=getRawTag},{"./_Symbol":60}],166:[function(require,module,exports){var arrayFilter=require("./_arrayFilter"),stubArray=require("./stubArray");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1798 /** Used for built-in method references. */var objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1799 /** Built-in value references. */var propertyIsEnumerable=objectProto.propertyIsEnumerable;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1800 /* Built-in method references for those with the same name as other `lodash` methods. */var nativeGetSymbols=Object.getOwnPropertySymbols;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1801 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1802 * Creates an array of the own enumerable symbols of `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1803 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1804 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1805 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1806 * @returns {Array} Returns the array of symbols.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1807 */var getSymbols=!nativeGetSymbols?stubArray:function(object){if(object==null){return[]}object=Object(object);return arrayFilter(nativeGetSymbols(object),function(symbol){return propertyIsEnumerable.call(object,symbol)})};module.exports=getSymbols},{"./_arrayFilter":65,"./stubArray":277}],167:[function(require,module,exports){var arrayPush=require("./_arrayPush"),getPrototype=require("./_getPrototype"),getSymbols=require("./_getSymbols"),stubArray=require("./stubArray");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1808 /* Built-in method references for those with the same name as other `lodash` methods. */var nativeGetSymbols=Object.getOwnPropertySymbols;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1809 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1810 * Creates an array of the own and inherited enumerable symbols of `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1811 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1812 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1813 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1814 * @returns {Array} Returns the array of symbols.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1815 */var getSymbolsIn=!nativeGetSymbols?stubArray:function(object){var result=[];while(object){arrayPush(result,getSymbols(object));object=getPrototype(object)}return result};module.exports=getSymbolsIn},{"./_arrayPush":70,"./_getPrototype":164,"./_getSymbols":166,"./stubArray":277}],168:[function(require,module,exports){var DataView=require("./_DataView"),Map=require("./_Map"),Promise=require("./_Promise"),Set=require("./_Set"),WeakMap=require("./_WeakMap"),baseGetTag=require("./_baseGetTag"),toSource=require("./_toSource");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1816 /** `Object#toString` result references. */var mapTag="[object Map]",objectTag="[object Object]",promiseTag="[object Promise]",setTag="[object Set]",weakMapTag="[object WeakMap]";var dataViewTag="[object DataView]";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1817 /** Used to detect maps, sets, and weakmaps. */var dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map),promiseCtorString=toSource(Promise),setCtorString=toSource(Set),weakMapCtorString=toSource(WeakMap);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1818 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1819 * Gets the `toStringTag` of `value`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1820 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1821 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1822 * @param {*} value The value to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1823 * @returns {string} Returns the `toStringTag`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1824 */var getTag=baseGetTag;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1825 // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1826 if(DataView&&getTag(new DataView(new ArrayBuffer(1)))!=dataViewTag||Map&&getTag(new Map)!=mapTag||Promise&&getTag(Promise.resolve())!=promiseTag||Set&&getTag(new Set)!=setTag||WeakMap&&getTag(new WeakMap)!=weakMapTag){getTag=function(value){var result=baseGetTag(value),Ctor=result==objectTag?value.constructor:undefined,ctorString=Ctor?toSource(Ctor):"";if(ctorString){switch(ctorString){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag;case promiseCtorString:return promiseTag;case setCtorString:return setTag;case weakMapCtorString:return weakMapTag}}return result}}module.exports=getTag},{"./_DataView":51,"./_Map":54,"./_Promise":56,"./_Set":57,"./_WeakMap":62,"./_baseGetTag":91,"./_toSource":224}],169:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1827 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1828 * Gets the value at `key` of `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1829 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1830 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1831 * @param {Object} [object] The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1832 * @param {string} key The key of the property to get.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1833 * @returns {*} Returns the property value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1834 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1835 function getValue(object,key){return object==null?undefined:object[key]}module.exports=getValue},{}],170:[function(require,module,exports){var castPath=require("./_castPath"),isArguments=require("./isArguments"),isArray=require("./isArray"),isIndex=require("./_isIndex"),isLength=require("./isLength"),toKey=require("./_toKey");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1836 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1837 * Checks if `path` exists on `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1838 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1839 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1840 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1841 * @param {Array|string} path The path to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1842 * @param {Function} hasFunc The function to check properties.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1843 * @returns {boolean} Returns `true` if `path` exists, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1844 */function hasPath(object,path,hasFunc){path=castPath(path,object);var index=-1,length=path.length,result=false;while(++index<length){var key=toKey(path[index]);if(!(result=object!=null&&hasFunc(object,key))){break}object=object[key]}if(result||++index!=length){return result}length=object==null?0:object.length;return!!length&&isLength(length)&&isIndex(key,length)&&(isArray(object)||isArguments(object))}module.exports=hasPath},{"./_castPath":133,"./_isIndex":181,"./_toKey":223,"./isArguments":242,"./isArray":243,"./isLength":249}],171:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1845 /** Used to compose unicode character classes. */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1846 var rsAstralRange="\\ud800-\\udfff",rsComboMarksRange="\\u0300-\\u036f",reComboHalfMarksRange="\\ufe20-\\ufe2f",rsComboSymbolsRange="\\u20d0-\\u20ff",rsComboRange=rsComboMarksRange+reComboHalfMarksRange+rsComboSymbolsRange,rsVarRange="\\ufe0e\\ufe0f";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1847 /** Used to compose unicode capture groups. */var rsZWJ="\\u200d";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1848 /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */var reHasUnicode=RegExp("["+rsZWJ+rsAstralRange+rsComboRange+rsVarRange+"]");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1849 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1850 * Checks if `string` contains Unicode symbols.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1851 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1852 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1853 * @param {string} string The string to inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1854 * @returns {boolean} Returns `true` if a symbol is found, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1855 */function hasUnicode(string){return reHasUnicode.test(string)}module.exports=hasUnicode},{}],172:[function(require,module,exports){var nativeCreate=require("./_nativeCreate");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1856 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1857 * Removes all key-value entries from the hash.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1858 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1859 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1860 * @name clear
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1861 * @memberOf Hash
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1862 */function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{};this.size=0}module.exports=hashClear},{"./_nativeCreate":201}],173:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1863 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1864 * Removes `key` and its value from the hash.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1865 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1866 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1867 * @name delete
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1868 * @memberOf Hash
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1869 * @param {Object} hash The hash to modify.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1870 * @param {string} key The key of the value to remove.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1871 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1872 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1873 function hashDelete(key){var result=this.has(key)&&delete this.__data__[key];this.size-=result?1:0;return result}module.exports=hashDelete},{}],174:[function(require,module,exports){var nativeCreate=require("./_nativeCreate");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1874 /** Used to stand-in for `undefined` hash values. */var HASH_UNDEFINED="__lodash_hash_undefined__";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1875 /** Used for built-in method references. */var objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1876 /** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1877 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1878 * Gets the hash value for `key`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1879 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1880 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1881 * @name get
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1882 * @memberOf Hash
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1883 * @param {string} key The key of the value to get.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1884 * @returns {*} Returns the entry value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1885 */function hashGet(key){var data=this.__data__;if(nativeCreate){var result=data[key];return result===HASH_UNDEFINED?undefined:result}return hasOwnProperty.call(data,key)?data[key]:undefined}module.exports=hashGet},{"./_nativeCreate":201}],175:[function(require,module,exports){var nativeCreate=require("./_nativeCreate");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1886 /** Used for built-in method references. */var objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1887 /** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1888 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1889 * Checks if a hash value for `key` exists.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1890 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1891 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1892 * @name has
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1893 * @memberOf Hash
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1894 * @param {string} key The key of the entry to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1895 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1896 */function hashHas(key){var data=this.__data__;return nativeCreate?data[key]!==undefined:hasOwnProperty.call(data,key)}module.exports=hashHas},{"./_nativeCreate":201}],176:[function(require,module,exports){var nativeCreate=require("./_nativeCreate");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1897 /** Used to stand-in for `undefined` hash values. */var HASH_UNDEFINED="__lodash_hash_undefined__";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1898 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1899 * Sets the hash `key` to `value`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1900 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1901 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1902 * @name set
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1903 * @memberOf Hash
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1904 * @param {string} key The key of the value to set.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1905 * @param {*} value The value to set.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1906 * @returns {Object} Returns the hash instance.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1907 */function hashSet(key,value){var data=this.__data__;this.size+=this.has(key)?0:1;data[key]=nativeCreate&&value===undefined?HASH_UNDEFINED:value;return this}module.exports=hashSet},{"./_nativeCreate":201}],177:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1908 /** Used for built-in method references. */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1909 var objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1910 /** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1911 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1912 * Initializes an array clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1913 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1914 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1915 * @param {Array} array The array to clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1916 * @returns {Array} Returns the initialized clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1917 */function initCloneArray(array){var length=array.length,result=new array.constructor(length);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1918 // Add properties assigned by `RegExp#exec`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1919 if(length&&typeof array[0]=="string"&&hasOwnProperty.call(array,"index")){result.index=array.index;result.input=array.input}return result}module.exports=initCloneArray},{}],178:[function(require,module,exports){var cloneArrayBuffer=require("./_cloneArrayBuffer"),cloneDataView=require("./_cloneDataView"),cloneRegExp=require("./_cloneRegExp"),cloneSymbol=require("./_cloneSymbol"),cloneTypedArray=require("./_cloneTypedArray");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1920 /** `Object#toString` result references. */var boolTag="[object Boolean]",dateTag="[object Date]",mapTag="[object Map]",numberTag="[object Number]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]";var arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1921 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1922 * Initializes an object clone based on its `toStringTag`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1923 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1924 * **Note:** This function only supports cloning values with tags of
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1925 * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1926 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1927 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1928 * @param {Object} object The object to clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1929 * @param {string} tag The `toStringTag` of the object to clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1930 * @param {boolean} [isDeep] Specify a deep clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1931 * @returns {Object} Returns the initialized clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1932 */function initCloneByTag(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return cloneArrayBuffer(object);case boolTag:case dateTag:return new Ctor(+object);case dataViewTag:return cloneDataView(object,isDeep);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:return cloneTypedArray(object,isDeep);case mapTag:return new Ctor;case numberTag:case stringTag:return new Ctor(object);case regexpTag:return cloneRegExp(object);case setTag:return new Ctor;case symbolTag:return cloneSymbol(object)}}module.exports=initCloneByTag},{"./_cloneArrayBuffer":134,"./_cloneDataView":136,"./_cloneRegExp":137,"./_cloneSymbol":138,"./_cloneTypedArray":139}],179:[function(require,module,exports){var baseCreate=require("./_baseCreate"),getPrototype=require("./_getPrototype"),isPrototype=require("./_isPrototype");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1933 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1934 * Initializes an object clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1935 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1936 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1937 * @param {Object} object The object to clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1938 * @returns {Object} Returns the initialized clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1939 */function initCloneObject(object){return typeof object.constructor=="function"&&!isPrototype(object)?baseCreate(getPrototype(object)):{}}module.exports=initCloneObject},{"./_baseCreate":81,"./_getPrototype":164,"./_isPrototype":186}],180:[function(require,module,exports){var Symbol=require("./_Symbol"),isArguments=require("./isArguments"),isArray=require("./isArray");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1940 /** Built-in value references. */var spreadableSymbol=Symbol?Symbol.isConcatSpreadable:undefined;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1941 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1942 * Checks if `value` is a flattenable `arguments` object or array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1943 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1944 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1945 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1946 * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1947 */function isFlattenable(value){return isArray(value)||isArguments(value)||!!(spreadableSymbol&&value&&value[spreadableSymbol])}module.exports=isFlattenable},{"./_Symbol":60,"./isArguments":242,"./isArray":243}],181:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1948 /** Used as references for various `Number` constants. */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1949 var MAX_SAFE_INTEGER=9007199254740991;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1950 /** Used to detect unsigned integer values. */var reIsUint=/^(?:0|[1-9]\d*)$/;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1951 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1952 * Checks if `value` is a valid array-like index.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1953 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1954 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1955 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1956 * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1957 * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1958 */function isIndex(value,length){var type=typeof value;length=length==null?MAX_SAFE_INTEGER:length;return!!length&&(type=="number"||type!="symbol"&&reIsUint.test(value))&&(value>-1&&value%1==0&&value<length)}module.exports=isIndex},{}],182:[function(require,module,exports){var eq=require("./eq"),isArrayLike=require("./isArrayLike"),isIndex=require("./_isIndex"),isObject=require("./isObject");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1959 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1960 * Checks if the given arguments are from an iteratee call.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1961 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1962 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1963 * @param {*} value The potential iteratee value argument.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1964 * @param {*} index The potential iteratee index or key argument.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1965 * @param {*} object The potential iteratee object argument.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1966 * @returns {boolean} Returns `true` if the arguments are from an iteratee call,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1967 * else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1968 */function isIterateeCall(value,index,object){if(!isObject(object)){return false}var type=typeof index;if(type=="number"?isArrayLike(object)&&isIndex(index,object.length):type=="string"&&index in object){return eq(object[index],value)}return false}module.exports=isIterateeCall},{"./_isIndex":181,"./eq":231,"./isArrayLike":244,"./isObject":251}],183:[function(require,module,exports){var isArray=require("./isArray"),isSymbol=require("./isSymbol");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1969 /** Used to match property names within property paths. */var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1970 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1971 * Checks if `value` is a property name and not a property path.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1972 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1973 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1974 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1975 * @param {Object} [object] The object to query keys on.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1976 * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1977 */function isKey(value,object){if(isArray(value)){return false}var type=typeof value;if(type=="number"||type=="symbol"||type=="boolean"||value==null||isSymbol(value)){return true}return reIsPlainProp.test(value)||!reIsDeepProp.test(value)||object!=null&&value in Object(object)}module.exports=isKey},{"./isArray":243,"./isSymbol":256}],184:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1978 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1979 * Checks if `value` is suitable for use as unique object key.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1980 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1981 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1982 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1983 * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1984 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1985 function isKeyable(value){var type=typeof value;return type=="string"||type=="number"||type=="symbol"||type=="boolean"?value!=="__proto__":value===null}module.exports=isKeyable},{}],185:[function(require,module,exports){var coreJsData=require("./_coreJsData");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1986 /** Used to detect methods masquerading as native. */var maskSrcKey=function(){var uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:""}();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1987 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1988 * Checks if `func` has its source masked.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1989 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1990 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1991 * @param {Function} func The function to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1992 * @returns {boolean} Returns `true` if `func` is masked, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1993 */function isMasked(func){return!!maskSrcKey&&maskSrcKey in func}module.exports=isMasked},{"./_coreJsData":146}],186:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1994 /** Used for built-in method references. */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1995 var objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1996 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1997 * Checks if `value` is likely a prototype object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1998 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
1999 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2000 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2001 * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2002 */function isPrototype(value){var Ctor=value&&value.constructor,proto=typeof Ctor=="function"&&Ctor.prototype||objectProto;return value===proto}module.exports=isPrototype},{}],187:[function(require,module,exports){var isObject=require("./isObject");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2003 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2004 * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2005 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2006 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2007 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2008 * @returns {boolean} Returns `true` if `value` if suitable for strict
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2009 * equality comparisons, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2010 */function isStrictComparable(value){return value===value&&!isObject(value)}module.exports=isStrictComparable},{"./isObject":251}],188:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2011 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2012 * Removes all key-value entries from the list cache.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2013 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2014 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2015 * @name clear
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2016 * @memberOf ListCache
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2017 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2018 function listCacheClear(){this.__data__=[];this.size=0}module.exports=listCacheClear},{}],189:[function(require,module,exports){var assocIndexOf=require("./_assocIndexOf");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2019 /** Used for built-in method references. */var arrayProto=Array.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2020 /** Built-in value references. */var splice=arrayProto.splice;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2021 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2022 * Removes `key` and its value from the list cache.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2023 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2024 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2025 * @name delete
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2026 * @memberOf ListCache
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2027 * @param {string} key The key of the value to remove.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2028 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2029 */function listCacheDelete(key){var data=this.__data__,index=assocIndexOf(data,key);if(index<0){return false}var lastIndex=data.length-1;if(index==lastIndex){data.pop()}else{splice.call(data,index,1)}--this.size;return true}module.exports=listCacheDelete},{"./_assocIndexOf":76}],190:[function(require,module,exports){var assocIndexOf=require("./_assocIndexOf");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2030 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2031 * Gets the list cache value for `key`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2032 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2033 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2034 * @name get
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2035 * @memberOf ListCache
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2036 * @param {string} key The key of the value to get.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2037 * @returns {*} Returns the entry value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2038 */function listCacheGet(key){var data=this.__data__,index=assocIndexOf(data,key);return index<0?undefined:data[index][1]}module.exports=listCacheGet},{"./_assocIndexOf":76}],191:[function(require,module,exports){var assocIndexOf=require("./_assocIndexOf");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2039 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2040 * Checks if a list cache value for `key` exists.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2041 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2042 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2043 * @name has
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2044 * @memberOf ListCache
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2045 * @param {string} key The key of the entry to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2046 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2047 */function listCacheHas(key){return assocIndexOf(this.__data__,key)>-1}module.exports=listCacheHas},{"./_assocIndexOf":76}],192:[function(require,module,exports){var assocIndexOf=require("./_assocIndexOf");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2048 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2049 * Sets the list cache `key` to `value`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2050 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2051 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2052 * @name set
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2053 * @memberOf ListCache
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2054 * @param {string} key The key of the value to set.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2055 * @param {*} value The value to set.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2056 * @returns {Object} Returns the list cache instance.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2057 */function listCacheSet(key,value){var data=this.__data__,index=assocIndexOf(data,key);if(index<0){++this.size;data.push([key,value])}else{data[index][1]=value}return this}module.exports=listCacheSet},{"./_assocIndexOf":76}],193:[function(require,module,exports){var Hash=require("./_Hash"),ListCache=require("./_ListCache"),Map=require("./_Map");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2058 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2059 * Removes all key-value entries from the map.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2060 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2061 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2062 * @name clear
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2063 * @memberOf MapCache
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2064 */function mapCacheClear(){this.size=0;this.__data__={hash:new Hash,map:new(Map||ListCache),string:new Hash}}module.exports=mapCacheClear},{"./_Hash":52,"./_ListCache":53,"./_Map":54}],194:[function(require,module,exports){var getMapData=require("./_getMapData");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2065 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2066 * Removes `key` and its value from the map.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2067 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2068 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2069 * @name delete
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2070 * @memberOf MapCache
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2071 * @param {string} key The key of the value to remove.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2072 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2073 */function mapCacheDelete(key){var result=getMapData(this,key)["delete"](key);this.size-=result?1:0;return result}module.exports=mapCacheDelete},{"./_getMapData":161}],195:[function(require,module,exports){var getMapData=require("./_getMapData");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2074 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2075 * Gets the map value for `key`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2076 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2077 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2078 * @name get
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2079 * @memberOf MapCache
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2080 * @param {string} key The key of the value to get.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2081 * @returns {*} Returns the entry value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2082 */function mapCacheGet(key){return getMapData(this,key).get(key)}module.exports=mapCacheGet},{"./_getMapData":161}],196:[function(require,module,exports){var getMapData=require("./_getMapData");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2083 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2084 * Checks if a map value for `key` exists.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2085 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2086 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2087 * @name has
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2088 * @memberOf MapCache
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2089 * @param {string} key The key of the entry to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2090 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2091 */function mapCacheHas(key){return getMapData(this,key).has(key)}module.exports=mapCacheHas},{"./_getMapData":161}],197:[function(require,module,exports){var getMapData=require("./_getMapData");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2092 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2093 * Sets the map `key` to `value`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2094 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2095 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2096 * @name set
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2097 * @memberOf MapCache
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2098 * @param {string} key The key of the value to set.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2099 * @param {*} value The value to set.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2100 * @returns {Object} Returns the map cache instance.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2101 */function mapCacheSet(key,value){var data=getMapData(this,key),size=data.size;data.set(key,value);this.size+=data.size==size?0:1;return this}module.exports=mapCacheSet},{"./_getMapData":161}],198:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2102 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2103 * Converts `map` to its key-value pairs.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2104 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2105 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2106 * @param {Object} map The map to convert.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2107 * @returns {Array} Returns the key-value pairs.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2108 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2109 function mapToArray(map){var index=-1,result=Array(map.size);map.forEach(function(value,key){result[++index]=[key,value]});return result}module.exports=mapToArray},{}],199:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2110 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2111 * A specialized version of `matchesProperty` for source values suitable
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2112 * for strict equality comparisons, i.e. `===`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2113 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2114 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2115 * @param {string} key The key of the property to get.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2116 * @param {*} srcValue The value to match.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2117 * @returns {Function} Returns the new spec function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2118 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2119 function matchesStrictComparable(key,srcValue){return function(object){if(object==null){return false}return object[key]===srcValue&&(srcValue!==undefined||key in Object(object))}}module.exports=matchesStrictComparable},{}],200:[function(require,module,exports){var memoize=require("./memoize");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2120 /** Used as the maximum memoize cache size. */var MAX_MEMOIZE_SIZE=500;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2121 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2122 * A specialized version of `_.memoize` which clears the memoized function's
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2123 * cache when it exceeds `MAX_MEMOIZE_SIZE`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2124 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2125 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2126 * @param {Function} func The function to have its output memoized.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2127 * @returns {Function} Returns the new memoized function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2128 */function memoizeCapped(func){var result=memoize(func,function(key){if(cache.size===MAX_MEMOIZE_SIZE){cache.clear()}return key});var cache=result.cache;return result}module.exports=memoizeCapped},{"./memoize":265}],201:[function(require,module,exports){var getNative=require("./_getNative");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2129 /* Built-in method references that are verified to be native. */var nativeCreate=getNative(Object,"create");module.exports=nativeCreate},{"./_getNative":163}],202:[function(require,module,exports){var overArg=require("./_overArg");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2130 /* Built-in method references for those with the same name as other `lodash` methods. */var nativeKeys=overArg(Object.keys,Object);module.exports=nativeKeys},{"./_overArg":206}],203:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2131 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2132 * This function is like
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2133 * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2134 * except that it includes inherited enumerable properties.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2135 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2136 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2137 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2138 * @returns {Array} Returns the array of property names.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2139 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2140 function nativeKeysIn(object){var result=[];if(object!=null){for(var key in Object(object)){result.push(key)}}return result}module.exports=nativeKeysIn},{}],204:[function(require,module,exports){var freeGlobal=require("./_freeGlobal");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2141 /** Detect free variable `exports`. */var freeExports=typeof exports=="object"&&exports&&!exports.nodeType&&exports;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2142 /** Detect free variable `module`. */var freeModule=freeExports&&typeof module=="object"&&module&&!module.nodeType&&module;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2143 /** Detect the popular CommonJS extension `module.exports`. */var moduleExports=freeModule&&freeModule.exports===freeExports;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2144 /** Detect free variable `process` from Node.js. */var freeProcess=moduleExports&&freeGlobal.process;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2145 /** Used to access faster Node.js helpers. */var nodeUtil=function(){try{
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2146 // Use `util.types` for Node.js 10+.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2147 var types=freeModule&&freeModule.require&&freeModule.require("util").types;if(types){return types}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2148 // Legacy `process.binding('util')` for Node.js < 10.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2149 return freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch(e){}}();module.exports=nodeUtil},{"./_freeGlobal":158}],205:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2150 /** Used for built-in method references. */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2151 var objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2152 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2153 * Used to resolve the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2154 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2155 * of values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2156 */var nativeObjectToString=objectProto.toString;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2157 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2158 * Converts `value` to a string using `Object.prototype.toString`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2159 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2160 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2161 * @param {*} value The value to convert.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2162 * @returns {string} Returns the converted string.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2163 */function objectToString(value){return nativeObjectToString.call(value)}module.exports=objectToString},{}],206:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2164 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2165 * Creates a unary function that invokes `func` with its argument transformed.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2166 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2167 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2168 * @param {Function} func The function to wrap.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2169 * @param {Function} transform The argument transform.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2170 * @returns {Function} Returns the new function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2171 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2172 function overArg(func,transform){return function(arg){return func(transform(arg))}}module.exports=overArg},{}],207:[function(require,module,exports){var apply=require("./_apply");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2173 /* Built-in method references for those with the same name as other `lodash` methods. */var nativeMax=Math.max;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2174 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2175 * A specialized version of `baseRest` which transforms the rest array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2176 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2177 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2178 * @param {Function} func The function to apply a rest parameter to.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2179 * @param {number} [start=func.length-1] The start position of the rest parameter.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2180 * @param {Function} transform The rest array transform.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2181 * @returns {Function} Returns the new function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2182 */function overRest(func,start,transform){start=nativeMax(start===undefined?func.length-1:start,0);return function(){var args=arguments,index=-1,length=nativeMax(args.length-start,0),array=Array(length);while(++index<length){array[index]=args[start+index]}index=-1;var otherArgs=Array(start+1);while(++index<start){otherArgs[index]=args[index]}otherArgs[start]=transform(array);return apply(func,this,otherArgs)}}module.exports=overRest},{"./_apply":63}],208:[function(require,module,exports){var freeGlobal=require("./_freeGlobal");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2183 /** Detect free variable `self`. */var freeSelf=typeof self=="object"&&self&&self.Object===Object&&self;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2184 /** Used as a reference to the global object. */var root=freeGlobal||freeSelf||Function("return this")();module.exports=root},{"./_freeGlobal":158}],209:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2185 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2186 * Gets the value at `key`, unless `key` is "__proto__" or "constructor".
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2187 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2188 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2189 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2190 * @param {string} key The key of the property to get.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2191 * @returns {*} Returns the property value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2192 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2193 function safeGet(object,key){if(key==="constructor"&&typeof object[key]==="function"){return}if(key=="__proto__"){return}return object[key]}module.exports=safeGet},{}],210:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2194 /** Used to stand-in for `undefined` hash values. */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2195 var HASH_UNDEFINED="__lodash_hash_undefined__";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2196 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2197 * Adds `value` to the array cache.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2198 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2199 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2200 * @name add
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2201 * @memberOf SetCache
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2202 * @alias push
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2203 * @param {*} value The value to cache.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2204 * @returns {Object} Returns the cache instance.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2205 */function setCacheAdd(value){this.__data__.set(value,HASH_UNDEFINED);return this}module.exports=setCacheAdd},{}],211:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2206 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2207 * Checks if `value` is in the array cache.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2208 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2209 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2210 * @name has
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2211 * @memberOf SetCache
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2212 * @param {*} value The value to search for.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2213 * @returns {number} Returns `true` if `value` is found, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2214 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2215 function setCacheHas(value){return this.__data__.has(value)}module.exports=setCacheHas},{}],212:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2216 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2217 * Converts `set` to an array of its values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2218 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2219 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2220 * @param {Object} set The set to convert.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2221 * @returns {Array} Returns the values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2222 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2223 function setToArray(set){var index=-1,result=Array(set.size);set.forEach(function(value){result[++index]=value});return result}module.exports=setToArray},{}],213:[function(require,module,exports){var baseSetToString=require("./_baseSetToString"),shortOut=require("./_shortOut");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2224 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2225 * Sets the `toString` method of `func` to return `string`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2226 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2227 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2228 * @param {Function} func The function to modify.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2229 * @param {Function} string The `toString` result.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2230 * @returns {Function} Returns `func`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2231 */var setToString=shortOut(baseSetToString);module.exports=setToString},{"./_baseSetToString":123,"./_shortOut":214}],214:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2232 /** Used to detect hot functions by number of calls within a span of milliseconds. */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2233 var HOT_COUNT=800,HOT_SPAN=16;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2234 /* Built-in method references for those with the same name as other `lodash` methods. */var nativeNow=Date.now;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2235 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2236 * Creates a function that'll short out and invoke `identity` instead
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2237 * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2238 * milliseconds.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2239 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2240 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2241 * @param {Function} func The function to restrict.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2242 * @returns {Function} Returns the new shortable function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2243 */function shortOut(func){var count=0,lastCalled=0;return function(){var stamp=nativeNow(),remaining=HOT_SPAN-(stamp-lastCalled);lastCalled=stamp;if(remaining>0){if(++count>=HOT_COUNT){return arguments[0]}}else{count=0}return func.apply(undefined,arguments)}}module.exports=shortOut},{}],215:[function(require,module,exports){var ListCache=require("./_ListCache");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2244 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2245 * Removes all key-value entries from the stack.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2246 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2247 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2248 * @name clear
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2249 * @memberOf Stack
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2250 */function stackClear(){this.__data__=new ListCache;this.size=0}module.exports=stackClear},{"./_ListCache":53}],216:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2251 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2252 * Removes `key` and its value from the stack.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2253 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2254 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2255 * @name delete
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2256 * @memberOf Stack
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2257 * @param {string} key The key of the value to remove.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2258 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2259 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2260 function stackDelete(key){var data=this.__data__,result=data["delete"](key);this.size=data.size;return result}module.exports=stackDelete},{}],217:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2261 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2262 * Gets the stack value for `key`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2263 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2264 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2265 * @name get
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2266 * @memberOf Stack
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2267 * @param {string} key The key of the value to get.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2268 * @returns {*} Returns the entry value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2269 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2270 function stackGet(key){return this.__data__.get(key)}module.exports=stackGet},{}],218:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2271 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2272 * Checks if a stack value for `key` exists.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2273 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2274 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2275 * @name has
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2276 * @memberOf Stack
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2277 * @param {string} key The key of the entry to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2278 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2279 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2280 function stackHas(key){return this.__data__.has(key)}module.exports=stackHas},{}],219:[function(require,module,exports){var ListCache=require("./_ListCache"),Map=require("./_Map"),MapCache=require("./_MapCache");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2281 /** Used as the size to enable large array optimizations. */var LARGE_ARRAY_SIZE=200;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2282 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2283 * Sets the stack `key` to `value`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2284 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2285 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2286 * @name set
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2287 * @memberOf Stack
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2288 * @param {string} key The key of the value to set.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2289 * @param {*} value The value to set.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2290 * @returns {Object} Returns the stack cache instance.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2291 */function stackSet(key,value){var data=this.__data__;if(data instanceof ListCache){var pairs=data.__data__;if(!Map||pairs.length<LARGE_ARRAY_SIZE-1){pairs.push([key,value]);this.size=++data.size;return this}data=this.__data__=new MapCache(pairs)}data.set(key,value);this.size=data.size;return this}module.exports=stackSet},{"./_ListCache":53,"./_Map":54,"./_MapCache":55}],220:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2292 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2293 * A specialized version of `_.indexOf` which performs strict equality
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2294 * comparisons of values, i.e. `===`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2295 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2296 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2297 * @param {Array} array The array to inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2298 * @param {*} value The value to search for.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2299 * @param {number} fromIndex The index to search from.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2300 * @returns {number} Returns the index of the matched value, else `-1`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2301 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2302 function strictIndexOf(array,value,fromIndex){var index=fromIndex-1,length=array.length;while(++index<length){if(array[index]===value){return index}}return-1}module.exports=strictIndexOf},{}],221:[function(require,module,exports){var asciiSize=require("./_asciiSize"),hasUnicode=require("./_hasUnicode"),unicodeSize=require("./_unicodeSize");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2303 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2304 * Gets the number of symbols in `string`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2305 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2306 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2307 * @param {string} string The string to inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2308 * @returns {number} Returns the string size.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2309 */function stringSize(string){return hasUnicode(string)?unicodeSize(string):asciiSize(string)}module.exports=stringSize},{"./_asciiSize":73,"./_hasUnicode":171,"./_unicodeSize":225}],222:[function(require,module,exports){var memoizeCapped=require("./_memoizeCapped");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2310 /** Used to match property names within property paths. */var rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2311 /** Used to match backslashes in property paths. */var reEscapeChar=/\\(\\)?/g;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2312 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2313 * Converts `string` to a property path array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2314 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2315 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2316 * @param {string} string The string to convert.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2317 * @returns {Array} Returns the property path array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2318 */var stringToPath=memoizeCapped(function(string){var result=[];if(string.charCodeAt(0)===46/* . */){result.push("")}string.replace(rePropName,function(match,number,quote,subString){result.push(quote?subString.replace(reEscapeChar,"$1"):number||match)});return result});module.exports=stringToPath},{"./_memoizeCapped":200}],223:[function(require,module,exports){var isSymbol=require("./isSymbol");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2319 /** Used as references for various `Number` constants. */var INFINITY=1/0;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2320 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2321 * Converts `value` to a string key if it's not a string or symbol.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2322 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2323 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2324 * @param {*} value The value to inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2325 * @returns {string|symbol} Returns the key.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2326 */function toKey(value){if(typeof value=="string"||isSymbol(value)){return value}var result=value+"";return result=="0"&&1/value==-INFINITY?"-0":result}module.exports=toKey},{"./isSymbol":256}],224:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2327 /** Used for built-in method references. */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2328 var funcProto=Function.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2329 /** Used to resolve the decompiled source of functions. */var funcToString=funcProto.toString;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2330 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2331 * Converts `func` to its source code.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2332 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2333 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2334 * @param {Function} func The function to convert.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2335 * @returns {string} Returns the source code.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2336 */function toSource(func){if(func!=null){try{return funcToString.call(func)}catch(e){}try{return func+""}catch(e){}}return""}module.exports=toSource},{}],225:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2337 /** Used to compose unicode character classes. */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2338 var rsAstralRange="\\ud800-\\udfff",rsComboMarksRange="\\u0300-\\u036f",reComboHalfMarksRange="\\ufe20-\\ufe2f",rsComboSymbolsRange="\\u20d0-\\u20ff",rsComboRange=rsComboMarksRange+reComboHalfMarksRange+rsComboSymbolsRange,rsVarRange="\\ufe0e\\ufe0f";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2339 /** Used to compose unicode capture groups. */var rsAstral="["+rsAstralRange+"]",rsCombo="["+rsComboRange+"]",rsFitz="\\ud83c[\\udffb-\\udfff]",rsModifier="(?:"+rsCombo+"|"+rsFitz+")",rsNonAstral="[^"+rsAstralRange+"]",rsRegional="(?:\\ud83c[\\udde6-\\uddff]){2}",rsSurrPair="[\\ud800-\\udbff][\\udc00-\\udfff]",rsZWJ="\\u200d";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2340 /** Used to compose unicode regexes. */var reOptMod=rsModifier+"?",rsOptVar="["+rsVarRange+"]?",rsOptJoin="(?:"+rsZWJ+"(?:"+[rsNonAstral,rsRegional,rsSurrPair].join("|")+")"+rsOptVar+reOptMod+")*",rsSeq=rsOptVar+reOptMod+rsOptJoin,rsSymbol="(?:"+[rsNonAstral+rsCombo+"?",rsCombo,rsRegional,rsSurrPair,rsAstral].join("|")+")";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2341 /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */var reUnicode=RegExp(rsFitz+"(?="+rsFitz+")|"+rsSymbol+rsSeq,"g");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2342 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2343 * Gets the size of a Unicode `string`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2344 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2345 * @private
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2346 * @param {string} string The string inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2347 * @returns {number} Returns the string size.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2348 */function unicodeSize(string){var result=reUnicode.lastIndex=0;while(reUnicode.test(string)){++result}return result}module.exports=unicodeSize},{}],226:[function(require,module,exports){var baseClone=require("./_baseClone");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2349 /** Used to compose bitmasks for cloning. */var CLONE_SYMBOLS_FLAG=4;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2350 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2351 * Creates a shallow clone of `value`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2352 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2353 * **Note:** This method is loosely based on the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2354 * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2355 * and supports cloning arrays, array buffers, booleans, date objects, maps,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2356 * numbers, `Object` objects, regexes, sets, strings, symbols, and typed
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2357 * arrays. The own enumerable properties of `arguments` objects are cloned
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2358 * as plain objects. An empty object is returned for uncloneable values such
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2359 * as error objects, functions, DOM nodes, and WeakMaps.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2360 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2361 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2362 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2363 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2364 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2365 * @param {*} value The value to clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2366 * @returns {*} Returns the cloned value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2367 * @see _.cloneDeep
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2368 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2369 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2370 * var objects = [{ 'a': 1 }, { 'b': 2 }];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2371 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2372 * var shallow = _.clone(objects);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2373 * console.log(shallow[0] === objects[0]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2374 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2375 */function clone(value){return baseClone(value,CLONE_SYMBOLS_FLAG)}module.exports=clone},{"./_baseClone":80}],227:[function(require,module,exports){var baseClone=require("./_baseClone");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2376 /** Used to compose bitmasks for cloning. */var CLONE_DEEP_FLAG=1,CLONE_SYMBOLS_FLAG=4;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2377 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2378 * This method is like `_.clone` except that it recursively clones `value`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2379 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2380 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2381 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2382 * @since 1.0.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2383 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2384 * @param {*} value The value to recursively clone.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2385 * @returns {*} Returns the deep cloned value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2386 * @see _.clone
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2387 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2388 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2389 * var objects = [{ 'a': 1 }, { 'b': 2 }];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2390 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2391 * var deep = _.cloneDeep(objects);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2392 * console.log(deep[0] === objects[0]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2393 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2394 */function cloneDeep(value){return baseClone(value,CLONE_DEEP_FLAG|CLONE_SYMBOLS_FLAG)}module.exports=cloneDeep},{"./_baseClone":80}],228:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2395 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2396 * Creates a function that returns `value`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2397 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2398 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2399 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2400 * @since 2.4.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2401 * @category Util
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2402 * @param {*} value The value to return from the new function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2403 * @returns {Function} Returns the new constant function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2404 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2405 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2406 * var objects = _.times(2, _.constant({ 'a': 1 }));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2407 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2408 * console.log(objects);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2409 * // => [{ 'a': 1 }, { 'a': 1 }]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2410 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2411 * console.log(objects[0] === objects[1]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2412 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2413 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2414 function constant(value){return function(){return value}}module.exports=constant},{}],229:[function(require,module,exports){var baseRest=require("./_baseRest"),eq=require("./eq"),isIterateeCall=require("./_isIterateeCall"),keysIn=require("./keysIn");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2415 /** Used for built-in method references. */var objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2416 /** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2417 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2418 * Assigns own and inherited enumerable string keyed properties of source
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2419 * objects to the destination object for all destination properties that
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2420 * resolve to `undefined`. Source objects are applied from left to right.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2421 * Once a property is set, additional values of the same property are ignored.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2422 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2423 * **Note:** This method mutates `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2424 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2425 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2426 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2427 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2428 * @category Object
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2429 * @param {Object} object The destination object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2430 * @param {...Object} [sources] The source objects.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2431 * @returns {Object} Returns `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2432 * @see _.defaultsDeep
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2433 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2434 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2435 * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2436 * // => { 'a': 1, 'b': 2 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2437 */var defaults=baseRest(function(object,sources){object=Object(object);var index=-1;var length=sources.length;var guard=length>2?sources[2]:undefined;if(guard&&isIterateeCall(sources[0],sources[1],guard)){length=1}while(++index<length){var source=sources[index];var props=keysIn(source);var propsIndex=-1;var propsLength=props.length;while(++propsIndex<propsLength){var key=props[propsIndex];var value=object[key];if(value===undefined||eq(value,objectProto[key])&&!hasOwnProperty.call(object,key)){object[key]=source[key]}}}return object});module.exports=defaults},{"./_baseRest":121,"./_isIterateeCall":182,"./eq":231,"./keysIn":260}],230:[function(require,module,exports){module.exports=require("./forEach")},{"./forEach":236}],231:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2438 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2439 * Performs a
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2440 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2441 * comparison between two values to determine if they are equivalent.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2442 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2443 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2444 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2445 * @since 4.0.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2446 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2447 * @param {*} value The value to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2448 * @param {*} other The other value to compare.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2449 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2450 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2451 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2452 * var object = { 'a': 1 };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2453 * var other = { 'a': 1 };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2454 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2455 * _.eq(object, object);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2456 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2457 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2458 * _.eq(object, other);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2459 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2460 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2461 * _.eq('a', 'a');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2462 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2463 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2464 * _.eq('a', Object('a'));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2465 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2466 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2467 * _.eq(NaN, NaN);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2468 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2469 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2470 function eq(value,other){return value===other||value!==value&&other!==other}module.exports=eq},{}],232:[function(require,module,exports){var arrayFilter=require("./_arrayFilter"),baseFilter=require("./_baseFilter"),baseIteratee=require("./_baseIteratee"),isArray=require("./isArray");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2471 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2472 * Iterates over elements of `collection`, returning an array of all elements
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2473 * `predicate` returns truthy for. The predicate is invoked with three
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2474 * arguments: (value, index|key, collection).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2475 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2476 * **Note:** Unlike `_.remove`, this method returns a new array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2477 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2478 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2479 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2480 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2481 * @category Collection
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2482 * @param {Array|Object} collection The collection to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2483 * @param {Function} [predicate=_.identity] The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2484 * @returns {Array} Returns the new filtered array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2485 * @see _.reject
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2486 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2487 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2488 * var users = [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2489 * { 'user': 'barney', 'age': 36, 'active': true },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2490 * { 'user': 'fred', 'age': 40, 'active': false }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2491 * ];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2492 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2493 * _.filter(users, function(o) { return !o.active; });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2494 * // => objects for ['fred']
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2495 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2496 * // The `_.matches` iteratee shorthand.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2497 * _.filter(users, { 'age': 36, 'active': true });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2498 * // => objects for ['barney']
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2499 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2500 * // The `_.matchesProperty` iteratee shorthand.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2501 * _.filter(users, ['active', false]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2502 * // => objects for ['fred']
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2503 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2504 * // The `_.property` iteratee shorthand.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2505 * _.filter(users, 'active');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2506 * // => objects for ['barney']
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2507 */function filter(collection,predicate){var func=isArray(collection)?arrayFilter:baseFilter;return func(collection,baseIteratee(predicate,3))}module.exports=filter},{"./_arrayFilter":65,"./_baseFilter":84,"./_baseIteratee":105,"./isArray":243}],233:[function(require,module,exports){var createFind=require("./_createFind"),findIndex=require("./findIndex");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2508 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2509 * Iterates over elements of `collection`, returning the first element
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2510 * `predicate` returns truthy for. The predicate is invoked with three
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2511 * arguments: (value, index|key, collection).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2512 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2513 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2514 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2515 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2516 * @category Collection
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2517 * @param {Array|Object} collection The collection to inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2518 * @param {Function} [predicate=_.identity] The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2519 * @param {number} [fromIndex=0] The index to search from.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2520 * @returns {*} Returns the matched element, else `undefined`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2521 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2522 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2523 * var users = [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2524 * { 'user': 'barney', 'age': 36, 'active': true },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2525 * { 'user': 'fred', 'age': 40, 'active': false },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2526 * { 'user': 'pebbles', 'age': 1, 'active': true }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2527 * ];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2528 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2529 * _.find(users, function(o) { return o.age < 40; });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2530 * // => object for 'barney'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2531 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2532 * // The `_.matches` iteratee shorthand.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2533 * _.find(users, { 'age': 1, 'active': true });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2534 * // => object for 'pebbles'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2535 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2536 * // The `_.matchesProperty` iteratee shorthand.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2537 * _.find(users, ['active', false]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2538 * // => object for 'fred'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2539 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2540 * // The `_.property` iteratee shorthand.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2541 * _.find(users, 'active');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2542 * // => object for 'barney'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2543 */var find=createFind(findIndex);module.exports=find},{"./_createFind":150,"./findIndex":234}],234:[function(require,module,exports){var baseFindIndex=require("./_baseFindIndex"),baseIteratee=require("./_baseIteratee"),toInteger=require("./toInteger");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2544 /* Built-in method references for those with the same name as other `lodash` methods. */var nativeMax=Math.max;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2545 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2546 * This method is like `_.find` except that it returns the index of the first
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2547 * element `predicate` returns truthy for instead of the element itself.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2548 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2549 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2550 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2551 * @since 1.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2552 * @category Array
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2553 * @param {Array} array The array to inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2554 * @param {Function} [predicate=_.identity] The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2555 * @param {number} [fromIndex=0] The index to search from.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2556 * @returns {number} Returns the index of the found element, else `-1`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2557 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2558 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2559 * var users = [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2560 * { 'user': 'barney', 'active': false },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2561 * { 'user': 'fred', 'active': false },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2562 * { 'user': 'pebbles', 'active': true }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2563 * ];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2564 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2565 * _.findIndex(users, function(o) { return o.user == 'barney'; });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2566 * // => 0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2567 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2568 * // The `_.matches` iteratee shorthand.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2569 * _.findIndex(users, { 'user': 'fred', 'active': false });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2570 * // => 1
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2571 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2572 * // The `_.matchesProperty` iteratee shorthand.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2573 * _.findIndex(users, ['active', false]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2574 * // => 0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2575 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2576 * // The `_.property` iteratee shorthand.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2577 * _.findIndex(users, 'active');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2578 * // => 2
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2579 */function findIndex(array,predicate,fromIndex){var length=array==null?0:array.length;if(!length){return-1}var index=fromIndex==null?0:toInteger(fromIndex);if(index<0){index=nativeMax(length+index,0)}return baseFindIndex(array,baseIteratee(predicate,3),index)}module.exports=findIndex},{"./_baseFindIndex":85,"./_baseIteratee":105,"./toInteger":280}],235:[function(require,module,exports){var baseFlatten=require("./_baseFlatten");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2580 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2581 * Flattens `array` a single level deep.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2582 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2583 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2584 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2585 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2586 * @category Array
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2587 * @param {Array} array The array to flatten.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2588 * @returns {Array} Returns the new flattened array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2589 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2590 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2591 * _.flatten([1, [2, [3, [4]], 5]]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2592 * // => [1, 2, [3, [4]], 5]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2593 */function flatten(array){var length=array==null?0:array.length;return length?baseFlatten(array,1):[]}module.exports=flatten},{"./_baseFlatten":86}],236:[function(require,module,exports){var arrayEach=require("./_arrayEach"),baseEach=require("./_baseEach"),castFunction=require("./_castFunction"),isArray=require("./isArray");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2594 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2595 * Iterates over elements of `collection` and invokes `iteratee` for each element.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2596 * The iteratee is invoked with three arguments: (value, index|key, collection).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2597 * Iteratee functions may exit iteration early by explicitly returning `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2598 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2599 * **Note:** As with other "Collections" methods, objects with a "length"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2600 * property are iterated like arrays. To avoid this behavior use `_.forIn`
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2601 * or `_.forOwn` for object iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2602 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2603 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2604 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2605 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2606 * @alias each
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2607 * @category Collection
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2608 * @param {Array|Object} collection The collection to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2609 * @param {Function} [iteratee=_.identity] The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2610 * @returns {Array|Object} Returns `collection`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2611 * @see _.forEachRight
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2612 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2613 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2614 * _.forEach([1, 2], function(value) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2615 * console.log(value);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2616 * });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2617 * // => Logs `1` then `2`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2618 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2619 * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2620 * console.log(key);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2621 * });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2622 * // => Logs 'a' then 'b' (iteration order is not guaranteed).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2623 */function forEach(collection,iteratee){var func=isArray(collection)?arrayEach:baseEach;return func(collection,castFunction(iteratee))}module.exports=forEach},{"./_arrayEach":64,"./_baseEach":82,"./_castFunction":132,"./isArray":243}],237:[function(require,module,exports){var baseFor=require("./_baseFor"),castFunction=require("./_castFunction"),keysIn=require("./keysIn");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2624 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2625 * Iterates over own and inherited enumerable string keyed properties of an
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2626 * object and invokes `iteratee` for each property. The iteratee is invoked
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2627 * with three arguments: (value, key, object). Iteratee functions may exit
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2628 * iteration early by explicitly returning `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2629 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2630 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2631 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2632 * @since 0.3.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2633 * @category Object
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2634 * @param {Object} object The object to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2635 * @param {Function} [iteratee=_.identity] The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2636 * @returns {Object} Returns `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2637 * @see _.forInRight
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2638 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2639 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2640 * function Foo() {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2641 * this.a = 1;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2642 * this.b = 2;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2643 * }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2644 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2645 * Foo.prototype.c = 3;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2646 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2647 * _.forIn(new Foo, function(value, key) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2648 * console.log(key);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2649 * });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2650 * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2651 */function forIn(object,iteratee){return object==null?object:baseFor(object,castFunction(iteratee),keysIn)}module.exports=forIn},{"./_baseFor":87,"./_castFunction":132,"./keysIn":260}],238:[function(require,module,exports){var baseGet=require("./_baseGet");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2652 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2653 * Gets the value at `path` of `object`. If the resolved value is
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2654 * `undefined`, the `defaultValue` is returned in its place.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2655 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2656 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2657 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2658 * @since 3.7.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2659 * @category Object
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2660 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2661 * @param {Array|string} path The path of the property to get.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2662 * @param {*} [defaultValue] The value returned for `undefined` resolved values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2663 * @returns {*} Returns the resolved value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2664 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2665 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2666 * var object = { 'a': [{ 'b': { 'c': 3 } }] };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2667 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2668 * _.get(object, 'a[0].b.c');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2669 * // => 3
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2670 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2671 * _.get(object, ['a', '0', 'b', 'c']);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2672 * // => 3
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2673 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2674 * _.get(object, 'a.b.c', 'default');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2675 * // => 'default'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2676 */function get(object,path,defaultValue){var result=object==null?undefined:baseGet(object,path);return result===undefined?defaultValue:result}module.exports=get},{"./_baseGet":89}],239:[function(require,module,exports){var baseHas=require("./_baseHas"),hasPath=require("./_hasPath");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2677 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2678 * Checks if `path` is a direct property of `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2679 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2680 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2681 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2682 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2683 * @category Object
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2684 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2685 * @param {Array|string} path The path to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2686 * @returns {boolean} Returns `true` if `path` exists, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2687 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2688 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2689 * var object = { 'a': { 'b': 2 } };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2690 * var other = _.create({ 'a': _.create({ 'b': 2 }) });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2691 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2692 * _.has(object, 'a');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2693 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2694 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2695 * _.has(object, 'a.b');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2696 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2697 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2698 * _.has(object, ['a', 'b']);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2699 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2700 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2701 * _.has(other, 'a');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2702 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2703 */function has(object,path){return object!=null&&hasPath(object,path,baseHas)}module.exports=has},{"./_baseHas":93,"./_hasPath":170}],240:[function(require,module,exports){var baseHasIn=require("./_baseHasIn"),hasPath=require("./_hasPath");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2704 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2705 * Checks if `path` is a direct or inherited property of `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2706 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2707 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2708 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2709 * @since 4.0.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2710 * @category Object
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2711 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2712 * @param {Array|string} path The path to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2713 * @returns {boolean} Returns `true` if `path` exists, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2714 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2715 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2716 * var object = _.create({ 'a': _.create({ 'b': 2 }) });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2717 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2718 * _.hasIn(object, 'a');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2719 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2720 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2721 * _.hasIn(object, 'a.b');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2722 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2723 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2724 * _.hasIn(object, ['a', 'b']);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2725 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2726 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2727 * _.hasIn(object, 'b');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2728 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2729 */function hasIn(object,path){return object!=null&&hasPath(object,path,baseHasIn)}module.exports=hasIn},{"./_baseHasIn":94,"./_hasPath":170}],241:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2730 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2731 * This method returns the first argument it receives.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2732 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2733 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2734 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2735 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2736 * @category Util
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2737 * @param {*} value Any value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2738 * @returns {*} Returns `value`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2739 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2740 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2741 * var object = { 'a': 1 };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2742 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2743 * console.log(_.identity(object) === object);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2744 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2745 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2746 function identity(value){return value}module.exports=identity},{}],242:[function(require,module,exports){var baseIsArguments=require("./_baseIsArguments"),isObjectLike=require("./isObjectLike");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2747 /** Used for built-in method references. */var objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2748 /** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2749 /** Built-in value references. */var propertyIsEnumerable=objectProto.propertyIsEnumerable;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2750 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2751 * Checks if `value` is likely an `arguments` object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2752 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2753 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2754 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2755 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2756 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2757 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2758 * @returns {boolean} Returns `true` if `value` is an `arguments` object,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2759 * else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2760 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2761 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2762 * _.isArguments(function() { return arguments; }());
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2763 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2764 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2765 * _.isArguments([1, 2, 3]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2766 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2767 */var isArguments=baseIsArguments(function(){return arguments}())?baseIsArguments:function(value){return isObjectLike(value)&&hasOwnProperty.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")};module.exports=isArguments},{"./_baseIsArguments":96,"./isObjectLike":252}],243:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2768 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2769 * Checks if `value` is classified as an `Array` object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2770 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2771 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2772 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2773 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2774 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2775 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2776 * @returns {boolean} Returns `true` if `value` is an array, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2777 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2778 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2779 * _.isArray([1, 2, 3]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2780 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2781 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2782 * _.isArray(document.body.children);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2783 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2784 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2785 * _.isArray('abc');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2786 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2787 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2788 * _.isArray(_.noop);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2789 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2790 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2791 var isArray=Array.isArray;module.exports=isArray},{}],244:[function(require,module,exports){var isFunction=require("./isFunction"),isLength=require("./isLength");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2792 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2793 * Checks if `value` is array-like. A value is considered array-like if it's
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2794 * not a function and has a `value.length` that's an integer greater than or
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2795 * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2796 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2797 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2798 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2799 * @since 4.0.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2800 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2801 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2802 * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2803 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2804 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2805 * _.isArrayLike([1, 2, 3]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2806 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2807 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2808 * _.isArrayLike(document.body.children);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2809 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2810 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2811 * _.isArrayLike('abc');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2812 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2813 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2814 * _.isArrayLike(_.noop);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2815 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2816 */function isArrayLike(value){return value!=null&&isLength(value.length)&&!isFunction(value)}module.exports=isArrayLike},{"./isFunction":248,"./isLength":249}],245:[function(require,module,exports){var isArrayLike=require("./isArrayLike"),isObjectLike=require("./isObjectLike");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2817 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2818 * This method is like `_.isArrayLike` except that it also checks if `value`
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2819 * is an object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2820 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2821 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2822 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2823 * @since 4.0.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2824 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2825 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2826 * @returns {boolean} Returns `true` if `value` is an array-like object,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2827 * else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2828 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2829 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2830 * _.isArrayLikeObject([1, 2, 3]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2831 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2832 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2833 * _.isArrayLikeObject(document.body.children);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2834 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2835 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2836 * _.isArrayLikeObject('abc');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2837 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2838 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2839 * _.isArrayLikeObject(_.noop);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2840 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2841 */function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value)}module.exports=isArrayLikeObject},{"./isArrayLike":244,"./isObjectLike":252}],246:[function(require,module,exports){var root=require("./_root"),stubFalse=require("./stubFalse");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2842 /** Detect free variable `exports`. */var freeExports=typeof exports=="object"&&exports&&!exports.nodeType&&exports;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2843 /** Detect free variable `module`. */var freeModule=freeExports&&typeof module=="object"&&module&&!module.nodeType&&module;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2844 /** Detect the popular CommonJS extension `module.exports`. */var moduleExports=freeModule&&freeModule.exports===freeExports;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2845 /** Built-in value references. */var Buffer=moduleExports?root.Buffer:undefined;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2846 /* Built-in method references for those with the same name as other `lodash` methods. */var nativeIsBuffer=Buffer?Buffer.isBuffer:undefined;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2847 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2848 * Checks if `value` is a buffer.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2849 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2850 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2851 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2852 * @since 4.3.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2853 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2854 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2855 * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2856 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2857 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2858 * _.isBuffer(new Buffer(2));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2859 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2860 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2861 * _.isBuffer(new Uint8Array(2));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2862 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2863 */var isBuffer=nativeIsBuffer||stubFalse;module.exports=isBuffer},{"./_root":208,"./stubFalse":278}],247:[function(require,module,exports){var baseKeys=require("./_baseKeys"),getTag=require("./_getTag"),isArguments=require("./isArguments"),isArray=require("./isArray"),isArrayLike=require("./isArrayLike"),isBuffer=require("./isBuffer"),isPrototype=require("./_isPrototype"),isTypedArray=require("./isTypedArray");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2864 /** `Object#toString` result references. */var mapTag="[object Map]",setTag="[object Set]";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2865 /** Used for built-in method references. */var objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2866 /** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2867 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2868 * Checks if `value` is an empty object, collection, map, or set.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2869 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2870 * Objects are considered empty if they have no own enumerable string keyed
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2871 * properties.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2872 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2873 * Array-like values such as `arguments` objects, arrays, buffers, strings, or
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2874 * jQuery-like collections are considered empty if they have a `length` of `0`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2875 * Similarly, maps and sets are considered empty if they have a `size` of `0`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2876 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2877 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2878 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2879 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2880 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2881 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2882 * @returns {boolean} Returns `true` if `value` is empty, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2883 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2884 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2885 * _.isEmpty(null);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2886 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2887 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2888 * _.isEmpty(true);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2889 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2890 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2891 * _.isEmpty(1);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2892 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2893 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2894 * _.isEmpty([1, 2, 3]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2895 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2896 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2897 * _.isEmpty({ 'a': 1 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2898 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2899 */function isEmpty(value){if(value==null){return true}if(isArrayLike(value)&&(isArray(value)||typeof value=="string"||typeof value.splice=="function"||isBuffer(value)||isTypedArray(value)||isArguments(value))){return!value.length}var tag=getTag(value);if(tag==mapTag||tag==setTag){return!value.size}if(isPrototype(value)){return!baseKeys(value).length}for(var key in value){if(hasOwnProperty.call(value,key)){return false}}return true}module.exports=isEmpty},{"./_baseKeys":106,"./_getTag":168,"./_isPrototype":186,"./isArguments":242,"./isArray":243,"./isArrayLike":244,"./isBuffer":246,"./isTypedArray":257}],248:[function(require,module,exports){var baseGetTag=require("./_baseGetTag"),isObject=require("./isObject");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2900 /** `Object#toString` result references. */var asyncTag="[object AsyncFunction]",funcTag="[object Function]",genTag="[object GeneratorFunction]",proxyTag="[object Proxy]";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2901 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2902 * Checks if `value` is classified as a `Function` object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2903 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2904 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2905 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2906 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2907 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2908 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2909 * @returns {boolean} Returns `true` if `value` is a function, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2910 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2911 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2912 * _.isFunction(_);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2913 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2914 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2915 * _.isFunction(/abc/);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2916 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2917 */function isFunction(value){if(!isObject(value)){return false}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2918 // The use of `Object#toString` avoids issues with the `typeof` operator
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2919 // in Safari 9 which returns 'object' for typed arrays and other constructors.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2920 var tag=baseGetTag(value);return tag==funcTag||tag==genTag||tag==asyncTag||tag==proxyTag}module.exports=isFunction},{"./_baseGetTag":91,"./isObject":251}],249:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2921 /** Used as references for various `Number` constants. */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2922 var MAX_SAFE_INTEGER=9007199254740991;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2923 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2924 * Checks if `value` is a valid array-like length.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2925 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2926 * **Note:** This method is loosely based on
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2927 * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2928 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2929 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2930 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2931 * @since 4.0.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2932 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2933 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2934 * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2935 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2936 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2937 * _.isLength(3);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2938 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2939 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2940 * _.isLength(Number.MIN_VALUE);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2941 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2942 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2943 * _.isLength(Infinity);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2944 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2945 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2946 * _.isLength('3');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2947 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2948 */function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}module.exports=isLength},{}],250:[function(require,module,exports){var baseIsMap=require("./_baseIsMap"),baseUnary=require("./_baseUnary"),nodeUtil=require("./_nodeUtil");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2949 /* Node.js helper references. */var nodeIsMap=nodeUtil&&nodeUtil.isMap;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2950 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2951 * Checks if `value` is classified as a `Map` object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2952 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2953 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2954 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2955 * @since 4.3.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2956 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2957 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2958 * @returns {boolean} Returns `true` if `value` is a map, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2959 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2960 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2961 * _.isMap(new Map);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2962 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2963 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2964 * _.isMap(new WeakMap);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2965 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2966 */var isMap=nodeIsMap?baseUnary(nodeIsMap):baseIsMap;module.exports=isMap},{"./_baseIsMap":99,"./_baseUnary":127,"./_nodeUtil":204}],251:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2967 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2968 * Checks if `value` is the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2969 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2970 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2971 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2972 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2973 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2974 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2975 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2976 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2977 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2978 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2979 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2980 * _.isObject({});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2981 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2982 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2983 * _.isObject([1, 2, 3]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2984 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2985 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2986 * _.isObject(_.noop);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2987 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2988 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2989 * _.isObject(null);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2990 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2991 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2992 function isObject(value){var type=typeof value;return value!=null&&(type=="object"||type=="function")}module.exports=isObject},{}],252:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2993 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2994 * Checks if `value` is object-like. A value is object-like if it's not `null`
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2995 * and has a `typeof` result of "object".
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2996 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2997 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2998 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
2999 * @since 4.0.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3000 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3001 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3002 * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3003 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3004 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3005 * _.isObjectLike({});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3006 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3007 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3008 * _.isObjectLike([1, 2, 3]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3009 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3010 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3011 * _.isObjectLike(_.noop);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3012 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3013 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3014 * _.isObjectLike(null);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3015 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3016 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3017 function isObjectLike(value){return value!=null&&typeof value=="object"}module.exports=isObjectLike},{}],253:[function(require,module,exports){var baseGetTag=require("./_baseGetTag"),getPrototype=require("./_getPrototype"),isObjectLike=require("./isObjectLike");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3018 /** `Object#toString` result references. */var objectTag="[object Object]";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3019 /** Used for built-in method references. */var funcProto=Function.prototype,objectProto=Object.prototype;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3020 /** Used to resolve the decompiled source of functions. */var funcToString=funcProto.toString;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3021 /** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3022 /** Used to infer the `Object` constructor. */var objectCtorString=funcToString.call(Object);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3023 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3024 * Checks if `value` is a plain object, that is, an object created by the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3025 * `Object` constructor or one with a `[[Prototype]]` of `null`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3026 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3027 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3028 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3029 * @since 0.8.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3030 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3031 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3032 * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3033 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3034 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3035 * function Foo() {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3036 * this.a = 1;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3037 * }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3038 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3039 * _.isPlainObject(new Foo);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3040 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3041 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3042 * _.isPlainObject([1, 2, 3]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3043 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3044 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3045 * _.isPlainObject({ 'x': 0, 'y': 0 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3046 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3047 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3048 * _.isPlainObject(Object.create(null));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3049 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3050 */function isPlainObject(value){if(!isObjectLike(value)||baseGetTag(value)!=objectTag){return false}var proto=getPrototype(value);if(proto===null){return true}var Ctor=hasOwnProperty.call(proto,"constructor")&&proto.constructor;return typeof Ctor=="function"&&Ctor instanceof Ctor&&funcToString.call(Ctor)==objectCtorString}module.exports=isPlainObject},{"./_baseGetTag":91,"./_getPrototype":164,"./isObjectLike":252}],254:[function(require,module,exports){var baseIsSet=require("./_baseIsSet"),baseUnary=require("./_baseUnary"),nodeUtil=require("./_nodeUtil");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3051 /* Node.js helper references. */var nodeIsSet=nodeUtil&&nodeUtil.isSet;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3052 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3053 * Checks if `value` is classified as a `Set` object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3054 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3055 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3056 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3057 * @since 4.3.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3058 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3059 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3060 * @returns {boolean} Returns `true` if `value` is a set, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3061 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3062 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3063 * _.isSet(new Set);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3064 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3065 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3066 * _.isSet(new WeakSet);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3067 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3068 */var isSet=nodeIsSet?baseUnary(nodeIsSet):baseIsSet;module.exports=isSet},{"./_baseIsSet":103,"./_baseUnary":127,"./_nodeUtil":204}],255:[function(require,module,exports){var baseGetTag=require("./_baseGetTag"),isArray=require("./isArray"),isObjectLike=require("./isObjectLike");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3069 /** `Object#toString` result references. */var stringTag="[object String]";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3070 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3071 * Checks if `value` is classified as a `String` primitive or object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3072 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3073 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3074 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3075 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3076 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3077 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3078 * @returns {boolean} Returns `true` if `value` is a string, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3079 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3080 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3081 * _.isString('abc');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3082 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3083 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3084 * _.isString(1);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3085 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3086 */function isString(value){return typeof value=="string"||!isArray(value)&&isObjectLike(value)&&baseGetTag(value)==stringTag}module.exports=isString},{"./_baseGetTag":91,"./isArray":243,"./isObjectLike":252}],256:[function(require,module,exports){var baseGetTag=require("./_baseGetTag"),isObjectLike=require("./isObjectLike");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3087 /** `Object#toString` result references. */var symbolTag="[object Symbol]";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3088 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3089 * Checks if `value` is classified as a `Symbol` primitive or object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3090 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3091 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3092 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3093 * @since 4.0.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3094 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3095 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3096 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3097 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3098 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3099 * _.isSymbol(Symbol.iterator);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3100 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3101 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3102 * _.isSymbol('abc');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3103 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3104 */function isSymbol(value){return typeof value=="symbol"||isObjectLike(value)&&baseGetTag(value)==symbolTag}module.exports=isSymbol},{"./_baseGetTag":91,"./isObjectLike":252}],257:[function(require,module,exports){var baseIsTypedArray=require("./_baseIsTypedArray"),baseUnary=require("./_baseUnary"),nodeUtil=require("./_nodeUtil");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3105 /* Node.js helper references. */var nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3106 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3107 * Checks if `value` is classified as a typed array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3108 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3109 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3110 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3111 * @since 3.0.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3112 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3113 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3114 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3115 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3116 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3117 * _.isTypedArray(new Uint8Array);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3118 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3119 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3120 * _.isTypedArray([]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3121 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3122 */var isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray;module.exports=isTypedArray},{"./_baseIsTypedArray":104,"./_baseUnary":127,"./_nodeUtil":204}],258:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3123 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3124 * Checks if `value` is `undefined`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3125 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3126 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3127 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3128 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3129 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3130 * @param {*} value The value to check.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3131 * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3132 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3133 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3134 * _.isUndefined(void 0);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3135 * // => true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3136 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3137 * _.isUndefined(null);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3138 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3139 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3140 function isUndefined(value){return value===undefined}module.exports=isUndefined},{}],259:[function(require,module,exports){var arrayLikeKeys=require("./_arrayLikeKeys"),baseKeys=require("./_baseKeys"),isArrayLike=require("./isArrayLike");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3141 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3142 * Creates an array of the own enumerable property names of `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3143 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3144 * **Note:** Non-object values are coerced to objects. See the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3145 * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3146 * for more details.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3147 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3148 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3149 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3150 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3151 * @category Object
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3152 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3153 * @returns {Array} Returns the array of property names.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3154 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3155 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3156 * function Foo() {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3157 * this.a = 1;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3158 * this.b = 2;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3159 * }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3160 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3161 * Foo.prototype.c = 3;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3162 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3163 * _.keys(new Foo);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3164 * // => ['a', 'b'] (iteration order is not guaranteed)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3165 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3166 * _.keys('hi');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3167 * // => ['0', '1']
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3168 */function keys(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object)}module.exports=keys},{"./_arrayLikeKeys":68,"./_baseKeys":106,"./isArrayLike":244}],260:[function(require,module,exports){var arrayLikeKeys=require("./_arrayLikeKeys"),baseKeysIn=require("./_baseKeysIn"),isArrayLike=require("./isArrayLike");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3169 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3170 * Creates an array of the own and inherited enumerable property names of `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3171 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3172 * **Note:** Non-object values are coerced to objects.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3173 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3174 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3175 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3176 * @since 3.0.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3177 * @category Object
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3178 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3179 * @returns {Array} Returns the array of property names.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3180 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3181 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3182 * function Foo() {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3183 * this.a = 1;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3184 * this.b = 2;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3185 * }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3186 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3187 * Foo.prototype.c = 3;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3188 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3189 * _.keysIn(new Foo);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3190 * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3191 */function keysIn(object){return isArrayLike(object)?arrayLikeKeys(object,true):baseKeysIn(object)}module.exports=keysIn},{"./_arrayLikeKeys":68,"./_baseKeysIn":107,"./isArrayLike":244}],261:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3192 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3193 * Gets the last element of `array`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3194 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3195 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3196 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3197 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3198 * @category Array
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3199 * @param {Array} array The array to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3200 * @returns {*} Returns the last element of `array`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3201 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3202 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3203 * _.last([1, 2, 3]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3204 * // => 3
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3205 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3206 function last(array){var length=array==null?0:array.length;return length?array[length-1]:undefined}module.exports=last},{}],262:[function(require,module,exports){var arrayMap=require("./_arrayMap"),baseIteratee=require("./_baseIteratee"),baseMap=require("./_baseMap"),isArray=require("./isArray");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3207 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3208 * Creates an array of values by running each element in `collection` thru
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3209 * `iteratee`. The iteratee is invoked with three arguments:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3210 * (value, index|key, collection).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3211 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3212 * Many lodash methods are guarded to work as iteratees for methods like
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3213 * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3214 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3215 * The guarded methods are:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3216 * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3217 * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3218 * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3219 * `template`, `trim`, `trimEnd`, `trimStart`, and `words`
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3220 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3221 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3222 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3223 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3224 * @category Collection
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3225 * @param {Array|Object} collection The collection to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3226 * @param {Function} [iteratee=_.identity] The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3227 * @returns {Array} Returns the new mapped array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3228 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3229 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3230 * function square(n) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3231 * return n * n;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3232 * }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3233 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3234 * _.map([4, 8], square);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3235 * // => [16, 64]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3236 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3237 * _.map({ 'a': 4, 'b': 8 }, square);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3238 * // => [16, 64] (iteration order is not guaranteed)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3239 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3240 * var users = [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3241 * { 'user': 'barney' },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3242 * { 'user': 'fred' }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3243 * ];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3244 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3245 * // The `_.property` iteratee shorthand.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3246 * _.map(users, 'user');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3247 * // => ['barney', 'fred']
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3248 */function map(collection,iteratee){var func=isArray(collection)?arrayMap:baseMap;return func(collection,baseIteratee(iteratee,3))}module.exports=map},{"./_arrayMap":69,"./_baseIteratee":105,"./_baseMap":109,"./isArray":243}],263:[function(require,module,exports){var baseAssignValue=require("./_baseAssignValue"),baseForOwn=require("./_baseForOwn"),baseIteratee=require("./_baseIteratee");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3249 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3250 * Creates an object with the same keys as `object` and values generated
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3251 * by running each own enumerable string keyed property of `object` thru
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3252 * `iteratee`. The iteratee is invoked with three arguments:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3253 * (value, key, object).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3254 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3255 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3256 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3257 * @since 2.4.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3258 * @category Object
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3259 * @param {Object} object The object to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3260 * @param {Function} [iteratee=_.identity] The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3261 * @returns {Object} Returns the new mapped object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3262 * @see _.mapKeys
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3263 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3264 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3265 * var users = {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3266 * 'fred': { 'user': 'fred', 'age': 40 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3267 * 'pebbles': { 'user': 'pebbles', 'age': 1 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3268 * };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3269 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3270 * _.mapValues(users, function(o) { return o.age; });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3271 * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3272 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3273 * // The `_.property` iteratee shorthand.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3274 * _.mapValues(users, 'age');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3275 * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3276 */function mapValues(object,iteratee){var result={};iteratee=baseIteratee(iteratee,3);baseForOwn(object,function(value,key,object){baseAssignValue(result,key,iteratee(value,key,object))});return result}module.exports=mapValues},{"./_baseAssignValue":79,"./_baseForOwn":88,"./_baseIteratee":105}],264:[function(require,module,exports){var baseExtremum=require("./_baseExtremum"),baseGt=require("./_baseGt"),identity=require("./identity");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3277 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3278 * Computes the maximum value of `array`. If `array` is empty or falsey,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3279 * `undefined` is returned.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3280 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3281 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3282 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3283 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3284 * @category Math
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3285 * @param {Array} array The array to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3286 * @returns {*} Returns the maximum value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3287 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3288 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3289 * _.max([4, 2, 8, 6]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3290 * // => 8
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3291 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3292 * _.max([]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3293 * // => undefined
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3294 */function max(array){return array&&array.length?baseExtremum(array,identity,baseGt):undefined}module.exports=max},{"./_baseExtremum":83,"./_baseGt":92,"./identity":241}],265:[function(require,module,exports){var MapCache=require("./_MapCache");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3295 /** Error message constants. */var FUNC_ERROR_TEXT="Expected a function";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3296 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3297 * Creates a function that memoizes the result of `func`. If `resolver` is
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3298 * provided, it determines the cache key for storing the result based on the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3299 * arguments provided to the memoized function. By default, the first argument
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3300 * provided to the memoized function is used as the map cache key. The `func`
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3301 * is invoked with the `this` binding of the memoized function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3302 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3303 * **Note:** The cache is exposed as the `cache` property on the memoized
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3304 * function. Its creation may be customized by replacing the `_.memoize.Cache`
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3305 * constructor with one whose instances implement the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3306 * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3307 * method interface of `clear`, `delete`, `get`, `has`, and `set`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3308 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3309 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3310 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3311 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3312 * @category Function
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3313 * @param {Function} func The function to have its output memoized.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3314 * @param {Function} [resolver] The function to resolve the cache key.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3315 * @returns {Function} Returns the new memoized function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3316 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3317 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3318 * var object = { 'a': 1, 'b': 2 };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3319 * var other = { 'c': 3, 'd': 4 };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3320 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3321 * var values = _.memoize(_.values);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3322 * values(object);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3323 * // => [1, 2]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3324 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3325 * values(other);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3326 * // => [3, 4]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3327 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3328 * object.a = 2;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3329 * values(object);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3330 * // => [1, 2]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3331 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3332 * // Modify the result cache.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3333 * values.cache.set(object, ['a', 'b']);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3334 * values(object);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3335 * // => ['a', 'b']
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3336 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3337 * // Replace `_.memoize.Cache`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3338 * _.memoize.Cache = WeakMap;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3339 */function memoize(func,resolver){if(typeof func!="function"||resolver!=null&&typeof resolver!="function"){throw new TypeError(FUNC_ERROR_TEXT)}var memoized=function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key)){return cache.get(key)}var result=func.apply(this,args);memoized.cache=cache.set(key,result)||cache;return result};memoized.cache=new(memoize.Cache||MapCache);return memoized}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3340 // Expose `MapCache`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3341 memoize.Cache=MapCache;module.exports=memoize},{"./_MapCache":55}],266:[function(require,module,exports){var baseMerge=require("./_baseMerge"),createAssigner=require("./_createAssigner");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3342 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3343 * This method is like `_.assign` except that it recursively merges own and
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3344 * inherited enumerable string keyed properties of source objects into the
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3345 * destination object. Source properties that resolve to `undefined` are
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3346 * skipped if a destination value exists. Array and plain object properties
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3347 * are merged recursively. Other objects and value types are overridden by
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3348 * assignment. Source objects are applied from left to right. Subsequent
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3349 * sources overwrite property assignments of previous sources.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3350 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3351 * **Note:** This method mutates `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3352 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3353 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3354 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3355 * @since 0.5.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3356 * @category Object
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3357 * @param {Object} object The destination object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3358 * @param {...Object} [sources] The source objects.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3359 * @returns {Object} Returns `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3360 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3361 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3362 * var object = {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3363 * 'a': [{ 'b': 2 }, { 'd': 4 }]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3364 * };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3365 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3366 * var other = {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3367 * 'a': [{ 'c': 3 }, { 'e': 5 }]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3368 * };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3369 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3370 * _.merge(object, other);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3371 * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3372 */var merge=createAssigner(function(object,source,srcIndex){baseMerge(object,source,srcIndex)});module.exports=merge},{"./_baseMerge":112,"./_createAssigner":147}],267:[function(require,module,exports){var baseExtremum=require("./_baseExtremum"),baseLt=require("./_baseLt"),identity=require("./identity");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3373 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3374 * Computes the minimum value of `array`. If `array` is empty or falsey,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3375 * `undefined` is returned.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3376 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3377 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3378 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3379 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3380 * @category Math
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3381 * @param {Array} array The array to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3382 * @returns {*} Returns the minimum value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3383 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3384 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3385 * _.min([4, 2, 8, 6]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3386 * // => 2
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3387 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3388 * _.min([]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3389 * // => undefined
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3390 */function min(array){return array&&array.length?baseExtremum(array,identity,baseLt):undefined}module.exports=min},{"./_baseExtremum":83,"./_baseLt":108,"./identity":241}],268:[function(require,module,exports){var baseExtremum=require("./_baseExtremum"),baseIteratee=require("./_baseIteratee"),baseLt=require("./_baseLt");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3391 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3392 * This method is like `_.min` except that it accepts `iteratee` which is
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3393 * invoked for each element in `array` to generate the criterion by which
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3394 * the value is ranked. The iteratee is invoked with one argument: (value).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3395 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3396 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3397 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3398 * @since 4.0.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3399 * @category Math
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3400 * @param {Array} array The array to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3401 * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3402 * @returns {*} Returns the minimum value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3403 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3404 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3405 * var objects = [{ 'n': 1 }, { 'n': 2 }];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3406 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3407 * _.minBy(objects, function(o) { return o.n; });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3408 * // => { 'n': 1 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3409 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3410 * // The `_.property` iteratee shorthand.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3411 * _.minBy(objects, 'n');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3412 * // => { 'n': 1 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3413 */function minBy(array,iteratee){return array&&array.length?baseExtremum(array,baseIteratee(iteratee,2),baseLt):undefined}module.exports=minBy},{"./_baseExtremum":83,"./_baseIteratee":105,"./_baseLt":108}],269:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3414 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3415 * This method returns `undefined`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3416 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3417 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3418 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3419 * @since 2.3.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3420 * @category Util
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3421 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3422 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3423 * _.times(2, _.noop);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3424 * // => [undefined, undefined]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3425 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3426 function noop(){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3427 // No operation performed.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3428 }module.exports=noop},{}],270:[function(require,module,exports){var root=require("./_root");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3429 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3430 * Gets the timestamp of the number of milliseconds that have elapsed since
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3431 * the Unix epoch (1 January 1970 00:00:00 UTC).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3432 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3433 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3434 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3435 * @since 2.4.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3436 * @category Date
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3437 * @returns {number} Returns the timestamp.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3438 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3439 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3440 * _.defer(function(stamp) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3441 * console.log(_.now() - stamp);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3442 * }, _.now());
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3443 * // => Logs the number of milliseconds it took for the deferred invocation.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3444 */var now=function(){return root.Date.now()};module.exports=now},{"./_root":208}],271:[function(require,module,exports){var basePick=require("./_basePick"),flatRest=require("./_flatRest");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3445 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3446 * Creates an object composed of the picked `object` properties.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3447 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3448 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3449 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3450 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3451 * @category Object
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3452 * @param {Object} object The source object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3453 * @param {...(string|string[])} [paths] The property paths to pick.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3454 * @returns {Object} Returns the new object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3455 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3456 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3457 * var object = { 'a': 1, 'b': '2', 'c': 3 };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3458 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3459 * _.pick(object, ['a', 'c']);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3460 * // => { 'a': 1, 'c': 3 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3461 */var pick=flatRest(function(object,paths){return object==null?{}:basePick(object,paths)});module.exports=pick},{"./_basePick":115,"./_flatRest":157}],272:[function(require,module,exports){var baseProperty=require("./_baseProperty"),basePropertyDeep=require("./_basePropertyDeep"),isKey=require("./_isKey"),toKey=require("./_toKey");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3462 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3463 * Creates a function that returns the value at `path` of a given object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3464 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3465 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3466 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3467 * @since 2.4.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3468 * @category Util
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3469 * @param {Array|string} path The path of the property to get.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3470 * @returns {Function} Returns the new accessor function.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3471 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3472 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3473 * var objects = [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3474 * { 'a': { 'b': 2 } },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3475 * { 'a': { 'b': 1 } }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3476 * ];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3477 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3478 * _.map(objects, _.property('a.b'));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3479 * // => [2, 1]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3480 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3481 * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3482 * // => [1, 2]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3483 */function property(path){return isKey(path)?baseProperty(toKey(path)):basePropertyDeep(path)}module.exports=property},{"./_baseProperty":117,"./_basePropertyDeep":118,"./_isKey":183,"./_toKey":223}],273:[function(require,module,exports){var createRange=require("./_createRange");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3484 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3485 * Creates an array of numbers (positive and/or negative) progressing from
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3486 * `start` up to, but not including, `end`. A step of `-1` is used if a negative
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3487 * `start` is specified without an `end` or `step`. If `end` is not specified,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3488 * it's set to `start` with `start` then set to `0`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3489 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3490 * **Note:** JavaScript follows the IEEE-754 standard for resolving
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3491 * floating-point values which can produce unexpected results.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3492 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3493 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3494 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3495 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3496 * @category Util
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3497 * @param {number} [start=0] The start of the range.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3498 * @param {number} end The end of the range.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3499 * @param {number} [step=1] The value to increment or decrement by.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3500 * @returns {Array} Returns the range of numbers.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3501 * @see _.inRange, _.rangeRight
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3502 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3503 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3504 * _.range(4);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3505 * // => [0, 1, 2, 3]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3506 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3507 * _.range(-4);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3508 * // => [0, -1, -2, -3]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3509 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3510 * _.range(1, 5);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3511 * // => [1, 2, 3, 4]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3512 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3513 * _.range(0, 20, 5);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3514 * // => [0, 5, 10, 15]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3515 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3516 * _.range(0, -4, -1);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3517 * // => [0, -1, -2, -3]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3518 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3519 * _.range(1, 4, 0);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3520 * // => [1, 1, 1]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3521 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3522 * _.range(0);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3523 * // => []
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3524 */var range=createRange();module.exports=range},{"./_createRange":151}],274:[function(require,module,exports){var arrayReduce=require("./_arrayReduce"),baseEach=require("./_baseEach"),baseIteratee=require("./_baseIteratee"),baseReduce=require("./_baseReduce"),isArray=require("./isArray");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3525 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3526 * Reduces `collection` to a value which is the accumulated result of running
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3527 * each element in `collection` thru `iteratee`, where each successive
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3528 * invocation is supplied the return value of the previous. If `accumulator`
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3529 * is not given, the first element of `collection` is used as the initial
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3530 * value. The iteratee is invoked with four arguments:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3531 * (accumulator, value, index|key, collection).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3532 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3533 * Many lodash methods are guarded to work as iteratees for methods like
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3534 * `_.reduce`, `_.reduceRight`, and `_.transform`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3535 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3536 * The guarded methods are:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3537 * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3538 * and `sortBy`
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3539 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3540 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3541 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3542 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3543 * @category Collection
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3544 * @param {Array|Object} collection The collection to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3545 * @param {Function} [iteratee=_.identity] The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3546 * @param {*} [accumulator] The initial value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3547 * @returns {*} Returns the accumulated value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3548 * @see _.reduceRight
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3549 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3550 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3551 * _.reduce([1, 2], function(sum, n) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3552 * return sum + n;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3553 * }, 0);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3554 * // => 3
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3555 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3556 * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3557 * (result[value] || (result[value] = [])).push(key);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3558 * return result;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3559 * }, {});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3560 * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3561 */function reduce(collection,iteratee,accumulator){var func=isArray(collection)?arrayReduce:baseReduce,initAccum=arguments.length<3;return func(collection,baseIteratee(iteratee,4),accumulator,initAccum,baseEach)}module.exports=reduce},{"./_arrayReduce":71,"./_baseEach":82,"./_baseIteratee":105,"./_baseReduce":120,"./isArray":243}],275:[function(require,module,exports){var baseKeys=require("./_baseKeys"),getTag=require("./_getTag"),isArrayLike=require("./isArrayLike"),isString=require("./isString"),stringSize=require("./_stringSize");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3562 /** `Object#toString` result references. */var mapTag="[object Map]",setTag="[object Set]";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3563 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3564 * Gets the size of `collection` by returning its length for array-like
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3565 * values or the number of own enumerable string keyed properties for objects.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3566 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3567 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3568 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3569 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3570 * @category Collection
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3571 * @param {Array|Object|string} collection The collection to inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3572 * @returns {number} Returns the collection size.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3573 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3574 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3575 * _.size([1, 2, 3]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3576 * // => 3
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3577 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3578 * _.size({ 'a': 1, 'b': 2 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3579 * // => 2
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3580 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3581 * _.size('pebbles');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3582 * // => 7
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3583 */function size(collection){if(collection==null){return 0}if(isArrayLike(collection)){return isString(collection)?stringSize(collection):collection.length}var tag=getTag(collection);if(tag==mapTag||tag==setTag){return collection.size}return baseKeys(collection).length}module.exports=size},{"./_baseKeys":106,"./_getTag":168,"./_stringSize":221,"./isArrayLike":244,"./isString":255}],276:[function(require,module,exports){var baseFlatten=require("./_baseFlatten"),baseOrderBy=require("./_baseOrderBy"),baseRest=require("./_baseRest"),isIterateeCall=require("./_isIterateeCall");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3584 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3585 * Creates an array of elements, sorted in ascending order by the results of
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3586 * running each element in a collection thru each iteratee. This method
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3587 * performs a stable sort, that is, it preserves the original sort order of
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3588 * equal elements. The iteratees are invoked with one argument: (value).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3589 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3590 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3591 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3592 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3593 * @category Collection
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3594 * @param {Array|Object} collection The collection to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3595 * @param {...(Function|Function[])} [iteratees=[_.identity]]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3596 * The iteratees to sort by.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3597 * @returns {Array} Returns the new sorted array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3598 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3599 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3600 * var users = [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3601 * { 'user': 'fred', 'age': 48 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3602 * { 'user': 'barney', 'age': 36 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3603 * { 'user': 'fred', 'age': 40 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3604 * { 'user': 'barney', 'age': 34 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3605 * ];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3606 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3607 * _.sortBy(users, [function(o) { return o.user; }]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3608 * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3609 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3610 * _.sortBy(users, ['user', 'age']);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3611 * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3612 */var sortBy=baseRest(function(collection,iteratees){if(collection==null){return[]}var length=iteratees.length;if(length>1&&isIterateeCall(collection,iteratees[0],iteratees[1])){iteratees=[]}else if(length>2&&isIterateeCall(iteratees[0],iteratees[1],iteratees[2])){iteratees=[iteratees[0]]}return baseOrderBy(collection,baseFlatten(iteratees,1),[])});module.exports=sortBy},{"./_baseFlatten":86,"./_baseOrderBy":114,"./_baseRest":121,"./_isIterateeCall":182}],277:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3613 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3614 * This method returns a new empty array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3615 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3616 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3617 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3618 * @since 4.13.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3619 * @category Util
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3620 * @returns {Array} Returns the new empty array.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3621 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3622 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3623 * var arrays = _.times(2, _.stubArray);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3624 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3625 * console.log(arrays);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3626 * // => [[], []]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3627 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3628 * console.log(arrays[0] === arrays[1]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3629 * // => false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3630 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3631 function stubArray(){return[]}module.exports=stubArray},{}],278:[function(require,module,exports){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3632 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3633 * This method returns `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3634 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3635 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3636 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3637 * @since 4.13.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3638 * @category Util
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3639 * @returns {boolean} Returns `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3640 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3641 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3642 * _.times(2, _.stubFalse);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3643 * // => [false, false]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3644 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3645 function stubFalse(){return false}module.exports=stubFalse},{}],279:[function(require,module,exports){var toNumber=require("./toNumber");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3646 /** Used as references for various `Number` constants. */var INFINITY=1/0,MAX_INTEGER=17976931348623157e292;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3647 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3648 * Converts `value` to a finite number.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3649 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3650 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3651 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3652 * @since 4.12.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3653 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3654 * @param {*} value The value to convert.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3655 * @returns {number} Returns the converted number.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3656 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3657 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3658 * _.toFinite(3.2);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3659 * // => 3.2
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3660 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3661 * _.toFinite(Number.MIN_VALUE);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3662 * // => 5e-324
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3663 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3664 * _.toFinite(Infinity);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3665 * // => 1.7976931348623157e+308
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3666 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3667 * _.toFinite('3.2');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3668 * // => 3.2
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3669 */function toFinite(value){if(!value){return value===0?value:0}value=toNumber(value);if(value===INFINITY||value===-INFINITY){var sign=value<0?-1:1;return sign*MAX_INTEGER}return value===value?value:0}module.exports=toFinite},{"./toNumber":281}],280:[function(require,module,exports){var toFinite=require("./toFinite");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3670 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3671 * Converts `value` to an integer.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3672 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3673 * **Note:** This method is loosely based on
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3674 * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3675 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3676 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3677 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3678 * @since 4.0.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3679 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3680 * @param {*} value The value to convert.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3681 * @returns {number} Returns the converted integer.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3682 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3683 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3684 * _.toInteger(3.2);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3685 * // => 3
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3686 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3687 * _.toInteger(Number.MIN_VALUE);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3688 * // => 0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3689 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3690 * _.toInteger(Infinity);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3691 * // => 1.7976931348623157e+308
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3692 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3693 * _.toInteger('3.2');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3694 * // => 3
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3695 */function toInteger(value){var result=toFinite(value),remainder=result%1;return result===result?remainder?result-remainder:result:0}module.exports=toInteger},{"./toFinite":279}],281:[function(require,module,exports){var isObject=require("./isObject"),isSymbol=require("./isSymbol");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3696 /** Used as references for various `Number` constants. */var NAN=0/0;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3697 /** Used to match leading and trailing whitespace. */var reTrim=/^\s+|\s+$/g;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3698 /** Used to detect bad signed hexadecimal string values. */var reIsBadHex=/^[-+]0x[0-9a-f]+$/i;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3699 /** Used to detect binary string values. */var reIsBinary=/^0b[01]+$/i;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3700 /** Used to detect octal string values. */var reIsOctal=/^0o[0-7]+$/i;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3701 /** Built-in method references without a dependency on `root`. */var freeParseInt=parseInt;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3702 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3703 * Converts `value` to a number.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3704 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3705 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3706 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3707 * @since 4.0.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3708 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3709 * @param {*} value The value to process.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3710 * @returns {number} Returns the number.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3711 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3712 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3713 * _.toNumber(3.2);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3714 * // => 3.2
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3715 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3716 * _.toNumber(Number.MIN_VALUE);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3717 * // => 5e-324
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3718 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3719 * _.toNumber(Infinity);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3720 * // => Infinity
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3721 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3722 * _.toNumber('3.2');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3723 * // => 3.2
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3724 */function toNumber(value){if(typeof value=="number"){return value}if(isSymbol(value)){return NAN}if(isObject(value)){var other=typeof value.valueOf=="function"?value.valueOf():value;value=isObject(other)?other+"":other}if(typeof value!="string"){return value===0?value:+value}value=value.replace(reTrim,"");var isBinary=reIsBinary.test(value);return isBinary||reIsOctal.test(value)?freeParseInt(value.slice(2),isBinary?2:8):reIsBadHex.test(value)?NAN:+value}module.exports=toNumber},{"./isObject":251,"./isSymbol":256}],282:[function(require,module,exports){var copyObject=require("./_copyObject"),keysIn=require("./keysIn");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3725 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3726 * Converts `value` to a plain object flattening inherited enumerable string
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3727 * keyed properties of `value` to own properties of the plain object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3728 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3729 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3730 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3731 * @since 3.0.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3732 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3733 * @param {*} value The value to convert.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3734 * @returns {Object} Returns the converted plain object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3735 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3736 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3737 * function Foo() {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3738 * this.b = 2;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3739 * }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3740 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3741 * Foo.prototype.c = 3;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3742 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3743 * _.assign({ 'a': 1 }, new Foo);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3744 * // => { 'a': 1, 'b': 2 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3745 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3746 * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3747 * // => { 'a': 1, 'b': 2, 'c': 3 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3748 */function toPlainObject(value){return copyObject(value,keysIn(value))}module.exports=toPlainObject},{"./_copyObject":143,"./keysIn":260}],283:[function(require,module,exports){var baseToString=require("./_baseToString");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3749 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3750 * Converts `value` to a string. An empty string is returned for `null`
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3751 * and `undefined` values. The sign of `-0` is preserved.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3752 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3753 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3754 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3755 * @since 4.0.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3756 * @category Lang
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3757 * @param {*} value The value to convert.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3758 * @returns {string} Returns the converted string.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3759 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3760 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3761 * _.toString(null);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3762 * // => ''
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3763 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3764 * _.toString(-0);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3765 * // => '-0'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3766 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3767 * _.toString([1, 2, 3]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3768 * // => '1,2,3'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3769 */function toString(value){return value==null?"":baseToString(value)}module.exports=toString},{"./_baseToString":126}],284:[function(require,module,exports){var arrayEach=require("./_arrayEach"),baseCreate=require("./_baseCreate"),baseForOwn=require("./_baseForOwn"),baseIteratee=require("./_baseIteratee"),getPrototype=require("./_getPrototype"),isArray=require("./isArray"),isBuffer=require("./isBuffer"),isFunction=require("./isFunction"),isObject=require("./isObject"),isTypedArray=require("./isTypedArray");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3770 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3771 * An alternative to `_.reduce`; this method transforms `object` to a new
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3772 * `accumulator` object which is the result of running each of its own
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3773 * enumerable string keyed properties thru `iteratee`, with each invocation
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3774 * potentially mutating the `accumulator` object. If `accumulator` is not
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3775 * provided, a new object with the same `[[Prototype]]` will be used. The
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3776 * iteratee is invoked with four arguments: (accumulator, value, key, object).
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3777 * Iteratee functions may exit iteration early by explicitly returning `false`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3778 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3779 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3780 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3781 * @since 1.3.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3782 * @category Object
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3783 * @param {Object} object The object to iterate over.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3784 * @param {Function} [iteratee=_.identity] The function invoked per iteration.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3785 * @param {*} [accumulator] The custom accumulator value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3786 * @returns {*} Returns the accumulated value.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3787 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3788 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3789 * _.transform([2, 3, 4], function(result, n) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3790 * result.push(n *= n);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3791 * return n % 2 == 0;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3792 * }, []);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3793 * // => [4, 9]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3794 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3795 * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3796 * (result[value] || (result[value] = [])).push(key);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3797 * }, {});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3798 * // => { '1': ['a', 'c'], '2': ['b'] }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3799 */function transform(object,iteratee,accumulator){var isArr=isArray(object),isArrLike=isArr||isBuffer(object)||isTypedArray(object);iteratee=baseIteratee(iteratee,4);if(accumulator==null){var Ctor=object&&object.constructor;if(isArrLike){accumulator=isArr?new Ctor:[]}else if(isObject(object)){accumulator=isFunction(Ctor)?baseCreate(getPrototype(object)):{}}else{accumulator={}}}(isArrLike?arrayEach:baseForOwn)(object,function(value,index,object){return iteratee(accumulator,value,index,object)});return accumulator}module.exports=transform},{"./_arrayEach":64,"./_baseCreate":81,"./_baseForOwn":88,"./_baseIteratee":105,"./_getPrototype":164,"./isArray":243,"./isBuffer":246,"./isFunction":248,"./isObject":251,"./isTypedArray":257}],285:[function(require,module,exports){var baseFlatten=require("./_baseFlatten"),baseRest=require("./_baseRest"),baseUniq=require("./_baseUniq"),isArrayLikeObject=require("./isArrayLikeObject");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3800 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3801 * Creates an array of unique values, in order, from all given arrays using
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3802 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3803 * for equality comparisons.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3804 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3805 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3806 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3807 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3808 * @category Array
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3809 * @param {...Array} [arrays] The arrays to inspect.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3810 * @returns {Array} Returns the new array of combined values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3811 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3812 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3813 * _.union([2], [1, 2]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3814 * // => [2, 1]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3815 */var union=baseRest(function(arrays){return baseUniq(baseFlatten(arrays,1,isArrayLikeObject,true))});module.exports=union},{"./_baseFlatten":86,"./_baseRest":121,"./_baseUniq":128,"./isArrayLikeObject":245}],286:[function(require,module,exports){var toString=require("./toString");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3816 /** Used to generate unique IDs. */var idCounter=0;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3817 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3818 * Generates a unique ID. If `prefix` is given, the ID is appended to it.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3819 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3820 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3821 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3822 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3823 * @category Util
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3824 * @param {string} [prefix=''] The value to prefix the ID with.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3825 * @returns {string} Returns the unique ID.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3826 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3827 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3828 * _.uniqueId('contact_');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3829 * // => 'contact_104'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3830 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3831 * _.uniqueId();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3832 * // => '105'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3833 */function uniqueId(prefix){var id=++idCounter;return toString(prefix)+id}module.exports=uniqueId},{"./toString":283}],287:[function(require,module,exports){var baseValues=require("./_baseValues"),keys=require("./keys");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3834 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3835 * Creates an array of the own enumerable string keyed property values of `object`.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3836 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3837 * **Note:** Non-object values are coerced to objects.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3838 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3839 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3840 * @since 0.1.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3841 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3842 * @category Object
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3843 * @param {Object} object The object to query.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3844 * @returns {Array} Returns the array of property values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3845 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3846 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3847 * function Foo() {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3848 * this.a = 1;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3849 * this.b = 2;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3850 * }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3851 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3852 * Foo.prototype.c = 3;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3853 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3854 * _.values(new Foo);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3855 * // => [1, 2] (iteration order is not guaranteed)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3856 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3857 * _.values('hi');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3858 * // => ['h', 'i']
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3859 */function values(object){return object==null?[]:baseValues(object,keys(object))}module.exports=values},{"./_baseValues":129,"./keys":259}],288:[function(require,module,exports){var assignValue=require("./_assignValue"),baseZipObject=require("./_baseZipObject");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3860 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3861 * This method is like `_.fromPairs` except that it accepts two arrays,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3862 * one of property identifiers and one of corresponding values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3863 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3864 * @static
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3865 * @memberOf _
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3866 * @since 0.4.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3867 * @category Array
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3868 * @param {Array} [props=[]] The property identifiers.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3869 * @param {Array} [values=[]] The property values.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3870 * @returns {Object} Returns the new object.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3871 * @example
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3872 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3873 * _.zipObject(['a', 'b'], [1, 2]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3874 * // => { 'a': 1, 'b': 2 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3875 */function zipObject(props,values){return baseZipObject(props||[],values||[],assignValue)}module.exports=zipObject},{"./_assignValue":75,"./_baseZipObject":130}]},{},[1])(1)});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3876 </script>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3877 <script >(function webpackUniversalModuleDefinition(root, factory) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3878 if(typeof exports === 'object' && typeof module === 'object')
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3879 module.exports = factory(require("dagre"));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3880 else if(typeof define === 'function' && define.amd)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3881 define(["dagre"], factory);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3882 else if(typeof exports === 'object')
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3883 exports["cytoscapeDagre"] = factory(require("dagre"));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3884 else
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3885 root["cytoscapeDagre"] = factory(root["dagre"]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3886 })(this, function(__WEBPACK_EXTERNAL_MODULE__4__) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3887 return /******/ (function(modules) { // webpackBootstrap
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3888 /******/ // The module cache
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3889 /******/ var installedModules = {};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3890 /******/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3891 /******/ // The require function
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3892 /******/ function __webpack_require__(moduleId) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3893 /******/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3894 /******/ // Check if module is in cache
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3895 /******/ if(installedModules[moduleId]) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3896 /******/ return installedModules[moduleId].exports;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3897 /******/ }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3898 /******/ // Create a new module (and put it into the cache)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3899 /******/ var module = installedModules[moduleId] = {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3900 /******/ i: moduleId,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3901 /******/ l: false,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3902 /******/ exports: {}
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3903 /******/ };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3904 /******/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3905 /******/ // Execute the module function
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3906 /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3907 /******/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3908 /******/ // Flag the module as loaded
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3909 /******/ module.l = true;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3910 /******/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3911 /******/ // Return the exports of the module
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3912 /******/ return module.exports;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3913 /******/ }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3914 /******/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3915 /******/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3916 /******/ // expose the modules object (__webpack_modules__)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3917 /******/ __webpack_require__.m = modules;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3918 /******/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3919 /******/ // expose the module cache
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3920 /******/ __webpack_require__.c = installedModules;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3921 /******/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3922 /******/ // define getter function for harmony exports
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3923 /******/ __webpack_require__.d = function(exports, name, getter) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3924 /******/ if(!__webpack_require__.o(exports, name)) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3925 /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3926 /******/ }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3927 /******/ };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3928 /******/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3929 /******/ // define __esModule on exports
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3930 /******/ __webpack_require__.r = function(exports) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3931 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3932 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3933 /******/ }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3934 /******/ Object.defineProperty(exports, '__esModule', { value: true });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3935 /******/ };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3936 /******/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3937 /******/ // create a fake namespace object
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3938 /******/ // mode & 1: value is a module id, require it
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3939 /******/ // mode & 2: merge all properties of value into the ns
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3940 /******/ // mode & 4: return value when already ns object
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3941 /******/ // mode & 8|1: behave like require
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3942 /******/ __webpack_require__.t = function(value, mode) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3943 /******/ if(mode & 1) value = __webpack_require__(value);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3944 /******/ if(mode & 8) return value;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3945 /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3946 /******/ var ns = Object.create(null);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3947 /******/ __webpack_require__.r(ns);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3948 /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3949 /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3950 /******/ return ns;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3951 /******/ };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3952 /******/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3953 /******/ // getDefaultExport function for compatibility with non-harmony modules
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3954 /******/ __webpack_require__.n = function(module) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3955 /******/ var getter = module && module.__esModule ?
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3956 /******/ function getDefault() { return module['default']; } :
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3957 /******/ function getModuleExports() { return module; };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3958 /******/ __webpack_require__.d(getter, 'a', getter);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3959 /******/ return getter;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3960 /******/ };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3961 /******/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3962 /******/ // Object.prototype.hasOwnProperty.call
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3963 /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3964 /******/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3965 /******/ // __webpack_public_path__
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3966 /******/ __webpack_require__.p = "";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3967 /******/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3968 /******/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3969 /******/ // Load entry module and return exports
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3970 /******/ return __webpack_require__(__webpack_require__.s = 0);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3971 /******/ })
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3972 /************************************************************************/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3973 /******/ ([
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3974 /* 0 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3975 /***/ (function(module, exports, __webpack_require__) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3976
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3977 var impl = __webpack_require__(1); // registers the extension on a cytoscape lib ref
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3978
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3979
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3980 var register = function register(cytoscape) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3981 if (!cytoscape) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3982 return;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3983 } // can't register if cytoscape unspecified
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3984
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3985
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3986 cytoscape('layout', 'dagre', impl); // register with cytoscape.js
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3987 };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3988
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3989 if (typeof cytoscape !== 'undefined') {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3990 // expose to global cytoscape (i.e. window.cytoscape)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3991 register(cytoscape);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3992 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3993
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3994 module.exports = register;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3995
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3996 /***/ }),
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3997 /* 1 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3998 /***/ (function(module, exports, __webpack_require__) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
3999
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4000 function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4001
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4002 var isFunction = function isFunction(o) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4003 return typeof o === 'function';
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4004 };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4005
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4006 var defaults = __webpack_require__(2);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4007
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4008 var assign = __webpack_require__(3);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4009
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4010 var dagre = __webpack_require__(4); // constructor
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4011 // options : object containing layout options
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4012
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4013
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4014 function DagreLayout(options) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4015 this.options = assign({}, defaults, options);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4016 } // runs the layout
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4017
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4018
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4019 DagreLayout.prototype.run = function () {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4020 var options = this.options;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4021 var layout = this;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4022 var cy = options.cy; // cy is automatically populated for us in the constructor
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4023
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4024 var eles = options.eles;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4025
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4026 var getVal = function getVal(ele, val) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4027 return isFunction(val) ? val.apply(ele, [ele]) : val;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4028 };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4029
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4030 var bb = options.boundingBox || {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4031 x1: 0,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4032 y1: 0,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4033 w: cy.width(),
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4034 h: cy.height()
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4035 };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4036
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4037 if (bb.x2 === undefined) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4038 bb.x2 = bb.x1 + bb.w;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4039 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4040
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4041 if (bb.w === undefined) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4042 bb.w = bb.x2 - bb.x1;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4043 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4044
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4045 if (bb.y2 === undefined) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4046 bb.y2 = bb.y1 + bb.h;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4047 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4048
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4049 if (bb.h === undefined) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4050 bb.h = bb.y2 - bb.y1;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4051 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4052
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4053 var g = new dagre.graphlib.Graph({
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4054 multigraph: true,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4055 compound: true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4056 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4057 var gObj = {};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4058
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4059 var setGObj = function setGObj(name, val) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4060 if (val != null) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4061 gObj[name] = val;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4062 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4063 };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4064
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4065 setGObj('nodesep', options.nodeSep);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4066 setGObj('edgesep', options.edgeSep);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4067 setGObj('ranksep', options.rankSep);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4068 setGObj('rankdir', options.rankDir);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4069 setGObj('ranker', options.ranker);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4070 g.setGraph(gObj);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4071 g.setDefaultEdgeLabel(function () {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4072 return {};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4073 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4074 g.setDefaultNodeLabel(function () {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4075 return {};
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4076 }); // add nodes to dagre
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4077
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4078 var nodes = eles.nodes();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4079
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4080 for (var i = 0; i < nodes.length; i++) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4081 var node = nodes[i];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4082 var nbb = node.layoutDimensions(options);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4083 g.setNode(node.id(), {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4084 width: nbb.w,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4085 height: nbb.h,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4086 name: node.id()
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4087 }); // console.log( g.node(node.id()) );
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4088 } // set compound parents
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4089
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4090
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4091 for (var _i = 0; _i < nodes.length; _i++) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4092 var _node = nodes[_i];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4093
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4094 if (_node.isChild()) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4095 g.setParent(_node.id(), _node.parent().id());
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4096 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4097 } // add edges to dagre
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4098
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4099
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4100 var edges = eles.edges().stdFilter(function (edge) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4101 return !edge.source().isParent() && !edge.target().isParent(); // dagre can't handle edges on compound nodes
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4102 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4103
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4104 for (var _i2 = 0; _i2 < edges.length; _i2++) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4105 var edge = edges[_i2];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4106 g.setEdge(edge.source().id(), edge.target().id(), {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4107 minlen: getVal(edge, options.minLen),
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4108 weight: getVal(edge, options.edgeWeight),
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4109 name: edge.id()
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4110 }, edge.id()); // console.log( g.edge(edge.source().id(), edge.target().id(), edge.id()) );
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4111 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4112
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4113 dagre.layout(g);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4114 var gNodeIds = g.nodes();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4115
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4116 for (var _i3 = 0; _i3 < gNodeIds.length; _i3++) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4117 var id = gNodeIds[_i3];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4118 var n = g.node(id);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4119 cy.getElementById(id).scratch().dagre = n;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4120 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4121
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4122 var dagreBB;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4123
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4124 if (options.boundingBox) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4125 dagreBB = {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4126 x1: Infinity,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4127 x2: -Infinity,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4128 y1: Infinity,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4129 y2: -Infinity
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4130 };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4131 nodes.forEach(function (node) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4132 var dModel = node.scratch().dagre;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4133 dagreBB.x1 = Math.min(dagreBB.x1, dModel.x);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4134 dagreBB.x2 = Math.max(dagreBB.x2, dModel.x);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4135 dagreBB.y1 = Math.min(dagreBB.y1, dModel.y);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4136 dagreBB.y2 = Math.max(dagreBB.y2, dModel.y);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4137 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4138 dagreBB.w = dagreBB.x2 - dagreBB.x1;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4139 dagreBB.h = dagreBB.y2 - dagreBB.y1;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4140 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4141 dagreBB = bb;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4142 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4143
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4144 var constrainPos = function constrainPos(p) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4145 if (options.boundingBox) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4146 var xPct = dagreBB.w === 0 ? 0 : (p.x - dagreBB.x1) / dagreBB.w;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4147 var yPct = dagreBB.h === 0 ? 0 : (p.y - dagreBB.y1) / dagreBB.h;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4148 return {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4149 x: bb.x1 + xPct * bb.w,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4150 y: bb.y1 + yPct * bb.h
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4151 };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4152 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4153 return p;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4154 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4155 };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4156
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4157 nodes.layoutPositions(layout, options, function (ele) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4158 ele = _typeof(ele) === "object" ? ele : this;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4159 var dModel = ele.scratch().dagre;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4160 return constrainPos({
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4161 x: dModel.x,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4162 y: dModel.y
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4163 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4164 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4165 return this; // chaining
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4166 };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4167
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4168 module.exports = DagreLayout;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4169
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4170 /***/ }),
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4171 /* 2 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4172 /***/ (function(module, exports) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4173
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4174 var defaults = {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4175 // dagre algo options, uses default value on undefined
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4176 nodeSep: undefined,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4177 // the separation between adjacent nodes in the same rank
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4178 edgeSep: undefined,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4179 // the separation between adjacent edges in the same rank
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4180 rankSep: undefined,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4181 // the separation between adjacent nodes in the same rank
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4182 rankDir: undefined,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4183 // 'TB' for top to bottom flow, 'LR' for left to right,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4184 ranker: undefined,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4185 // Type of algorithm to assigns a rank to each node in the input graph.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4186 // Possible values: network-simplex, tight-tree or longest-path
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4187 minLen: function minLen(edge) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4188 return 1;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4189 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4190 // number of ranks to keep between the source and target of the edge
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4191 edgeWeight: function edgeWeight(edge) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4192 return 1;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4193 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4194 // higher weight edges are generally made shorter and straighter than lower weight edges
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4195 // general layout options
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4196 fit: true,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4197 // whether to fit to viewport
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4198 padding: 30,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4199 // fit padding
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4200 spacingFactor: undefined,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4201 // Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4202 nodeDimensionsIncludeLabels: false,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4203 // whether labels should be included in determining the space used by a node
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4204 animate: false,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4205 // whether to transition the node positions
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4206 animateFilter: function animateFilter(node, i) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4207 return true;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4208 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4209 // whether to animate specific nodes when animation is on; non-animated nodes immediately go to their final positions
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4210 animationDuration: 500,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4211 // duration of animation in ms if enabled
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4212 animationEasing: undefined,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4213 // easing of animation if enabled
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4214 boundingBox: undefined,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4215 // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4216 transform: function transform(node, pos) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4217 return pos;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4218 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4219 // a function that applies a transform to the final node position
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4220 ready: function ready() {},
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4221 // on layoutready
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4222 stop: function stop() {} // on layoutstop
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4223
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4224 };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4225 module.exports = defaults;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4226
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4227 /***/ }),
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4228 /* 3 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4229 /***/ (function(module, exports) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4230
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4231 // Simple, internal Object.assign() polyfill for options objects etc.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4232 module.exports = Object.assign != null ? Object.assign.bind(Object) : function (tgt) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4233 for (var _len = arguments.length, srcs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4234 srcs[_key - 1] = arguments[_key];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4235 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4236
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4237 srcs.forEach(function (src) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4238 Object.keys(src).forEach(function (k) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4239 return tgt[k] = src[k];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4240 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4241 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4242 return tgt;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4243 };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4244
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4245 /***/ }),
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4246 /* 4 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4247 /***/ (function(module, exports) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4248
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4249 module.exports = __WEBPACK_EXTERNAL_MODULE__4__;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4250
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4251 /***/ })
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4252 /******/ ]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4253 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4254 </script>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4255
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4256 <!-- Data -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4257 <script >network = {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4258 "elements": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4259 "nodes": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4260 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4261 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4262 "id": "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])([H])C(=C([H])[H])C([H])([H])[H]>>[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4263 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4264 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4265 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4266 "type": "reaction",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4267 "label": "2.5.1.29",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4268 "all_labels": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4269 "2.5.1.29"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4270 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4271 "svg": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4272 "xlinks": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4273 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4274 "db_name": "intenz",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4275 "entity_id": "2.5.1.29",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4276 "url": "https://www.ebi.ac.uk/intenz/query?cmd=SearchEC&ec=2.5.1.29"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4277 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4278 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4279 "rsmiles": "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])([H])C(=C([H])[H])C([H])([H])[H]>>[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4280 "rule_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4281 "RR-02-e5028622877ce1e1-16-F"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4282 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4283 "rxn_template_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4284 "MNXR132231"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4285 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4286 "ec_numbers": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4287 "2.5.1.29"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4288 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4289 "thermo_dg_m_gibbs": -1561.4482045767807,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4290 "rule_score": 0.5869134225065102,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4291 "uniprot_ids": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4292 "P21684": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4293 "score": 91.109,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4294 "target_ID": 553
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4295 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4296 "P21683": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4297 "score": 47.678,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4298 "target_ID": 553
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4299 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4300 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4301 "smiles": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4302 "inchi": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4303 "inchikey": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4304 "target_chemical": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4305 "sink_chemical": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4306 "thermo_dg_m_formation": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4307 "cofactor": null
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4308 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4309 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4310 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4311 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4312 "id": "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4313 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4314 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4315 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4316 "type": "reaction",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4317 "label": "2.5.1.96",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4318 "all_labels": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4319 "2.5.1.96",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4320 "2.5.1.99",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4321 "2.5.1.32"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4322 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4323 "svg": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4324 "xlinks": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4325 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4326 "db_name": "intenz",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4327 "entity_id": "2.5.1.96",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4328 "url": "https://www.ebi.ac.uk/intenz/query?cmd=SearchEC&ec=2.5.1.96"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4329 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4330 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4331 "db_name": "intenz",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4332 "entity_id": "2.5.1.99",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4333 "url": "https://www.ebi.ac.uk/intenz/query?cmd=SearchEC&ec=2.5.1.99"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4334 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4335 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4336 "db_name": "intenz",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4337 "entity_id": "2.5.1.32",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4338 "url": "https://www.ebi.ac.uk/intenz/query?cmd=SearchEC&ec=2.5.1.32"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4339 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4340 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4341 "rsmiles": "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4342 "rule_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4343 "RR-02-b25156a335e3e30f-16-F"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4344 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4345 "rxn_template_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4346 "MNXR111250",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4347 "MNXR111499",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4348 "MNXR113543",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4349 "MNXR118024",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4350 "MNXR139549"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4351 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4352 "ec_numbers": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4353 "2.5.1.96",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4354 "2.5.1.99",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4355 "2.5.1.32"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4356 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4357 "thermo_dg_m_gibbs": -153.36328074340173,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4358 "rule_score": 0.5683242688496836,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4359 "uniprot_ids": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4360 "P21683": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4361 "score": 91.9,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4362 "target_ID": 553
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4363 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4364 "P21684": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4365 "score": 74.885,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4366 "target_ID": 553
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4367 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4368 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4369 "smiles": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4370 "inchi": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4371 "inchikey": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4372 "target_chemical": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4373 "sink_chemical": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4374 "thermo_dg_m_formation": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4375 "cofactor": null
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4376 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4377 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4378 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4379 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4380 "id": "[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H]",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4381 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4382 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4383 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4384 "type": "reaction",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4385 "label": "1.3.99.31",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4386 "all_labels": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4387 "1.3.99.31"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4388 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4389 "svg": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4390 "xlinks": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4391 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4392 "db_name": "intenz",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4393 "entity_id": "1.3.99.31",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4394 "url": "https://www.ebi.ac.uk/intenz/query?cmd=SearchEC&ec=1.3.99.31"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4395 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4396 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4397 "rsmiles": "[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H]",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4398 "rule_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4399 "RR-02-bdf7d8715e2e4d93-16-F"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4400 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4401 "rxn_template_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4402 "MNXR113128"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4403 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4404 "ec_numbers": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4405 "1.3.99.31"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4406 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4407 "thermo_dg_m_gibbs": 1191.8613577748536,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4408 "rule_score": 0.7486085128675456,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4409 "uniprot_ids": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4410 "P21685": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4411 "score": 81.82,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4412 "target_ID": 553
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4413 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4414 "P21683": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4415 "score": 63.183,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4416 "target_ID": 553
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4417 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4418 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4419 "smiles": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4420 "inchi": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4421 "inchikey": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4422 "target_chemical": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4423 "sink_chemical": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4424 "thermo_dg_m_formation": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4425 "cofactor": null
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4426 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4427 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4428 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4429 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4430 "id": "CMPD_0000000003",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4431 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4432 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4433 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4434 "type": "chemical",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4435 "label": "CMPD_0000000003",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4436 "all_labels": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4437 "CMPD_0000000003"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4438 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4439 "svg": "data:image/svg+xml;charset=utf-8,%3C%3Fxml%20version%3D%271.0%27%20encoding%3D%27iso-8859-1%27%3F%3E%0A%3Csvg%20version%3D%271.1%27%20baseProfile%3D%27full%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3Ardkit%3D%27http%3A//www.rdkit.org/xml%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3Axlink%3D%27http%3A//www.w3.org/1999/xlink%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xml%3Aspace%3D%27preserve%27%0Awidth%3D%27200px%27%20height%3D%27200px%27%20viewBox%3D%270%200%20200%20200%27%3E%0A%3C%21--%20END%20OF%20HEADER%20--%3E%0A%3Crect%20style%3D%27opacity%3A1.0%3Bfill%3A%23FFFFFF%3Bstroke%3Anone%27%20width%3D%27200.0%27%20height%3D%27200.0%27%20x%3D%270.0%27%20y%3D%270.0%27%3E%20%3C/rect%3E%0A%3Cpath%20class%3D%27bond-0%20atom-0%20atom-16%27%20d%3D%27M%209.1%2C107.3%20L%2020.6%2C107.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-1%20atom-1%20atom-16%27%20d%3D%27M%2026.2%2C117.4%20L%2020.6%2C107.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-2%20atom-2%20atom-17%27%20d%3D%27M%2061.0%2C77.9%20L%2055.2%2C87.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-3%20atom-3%20atom-18%27%20d%3D%27M%2095.2%2C118.0%20L%2089.5%2C108.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-4%20atom-4%20atom-19%27%20d%3D%27M%20130.0%2C78.5%20L%20124.1%2C88.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-5%20atom-5%20atom-8%27%20d%3D%27M%2037.9%2C97.6%20L%2026.4%2C97.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-6%20atom-5%20atom-9%27%20d%3D%27M%2037.9%2C97.6%20L%2043.7%2C87.7%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-7%20atom-6%20atom-10%27%20d%3D%27M%2072.4%2C97.9%20L%2060.9%2C97.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-8%20atom-6%20atom-11%27%20d%3D%27M%2072.4%2C97.9%20L%2078.0%2C107.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-9%20atom-7%20atom-12%27%20d%3D%27M%20106.8%2C98.2%20L%2095.3%2C98.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-10%20atom-7%20atom-13%27%20d%3D%27M%20106.8%2C98.2%20L%20112.7%2C88.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-11%20atom-8%20atom-16%27%20d%3D%27M%2026.4%2C97.5%20L%2020.6%2C107.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-11%20atom-8%20atom-16%27%20d%3D%27M%2027.5%2C100.2%20L%2023.4%2C107.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-12%20atom-9%20atom-17%27%20d%3D%27M%2043.7%2C87.7%20L%2055.2%2C87.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-13%20atom-10%20atom-17%27%20d%3D%27M%2060.9%2C97.8%20L%2055.2%2C87.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-13%20atom-10%20atom-17%27%20d%3D%27M%2062.0%2C95.2%20L%2058.1%2C88.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-14%20atom-11%20atom-18%27%20d%3D%27M%2078.0%2C107.9%20L%2089.5%2C108.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-15%20atom-12%20atom-18%27%20d%3D%27M%2095.3%2C98.1%20L%2089.5%2C108.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-15%20atom-12%20atom-18%27%20d%3D%27M%2096.4%2C100.8%20L%2092.4%2C107.7%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-16%20atom-13%20atom-19%27%20d%3D%27M%20112.7%2C88.3%20L%20124.1%2C88.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-17%20atom-14%20atom-15%27%20d%3D%27M%20129.8%2C98.4%20L%20141.3%2C98.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-18%20atom-14%20atom-19%27%20d%3D%27M%20129.8%2C98.4%20L%20124.1%2C88.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-18%20atom-14%20atom-19%27%20d%3D%27M%20131.0%2C95.8%20L%20127.0%2C88.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-19%20atom-15%20atom-25%27%20d%3D%27M%20141.3%2C98.5%20L%20143.4%2C102.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-19%20atom-15%20atom-25%27%20d%3D%27M%20143.4%2C102.3%20L%20145.6%2C106.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-20%20atom-20%20atom-27%27%20d%3D%27M%20183.4%2C103.3%20L%20180.4%2C101.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-20%20atom-20%20atom-27%27%20d%3D%27M%20180.4%2C101.5%20L%20177.3%2C99.7%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-21%20atom-21%20atom-27%27%20d%3D%27M%20168.1%2C94.3%20L%20171.1%2C96.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-21%20atom-21%20atom-27%27%20d%3D%27M%20171.1%2C96.1%20L%20174.2%2C97.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-22%20atom-22%20atom-27%27%20d%3D%27M%20179.1%2C90.8%20L%20177.6%2C93.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-22%20atom-22%20atom-27%27%20d%3D%27M%20177.6%2C93.3%20L%20176.1%2C95.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-22%20atom-22%20atom-27%27%20d%3D%27M%20181.1%2C92.0%20L%20179.6%2C94.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-22%20atom-22%20atom-27%27%20d%3D%27M%20179.6%2C94.5%20L%20178.1%2C97.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-23%20atom-23%20atom-28%27%20d%3D%27M%20158.5%2C99.6%20L%20158.5%2C102.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-23%20atom-23%20atom-28%27%20d%3D%27M%20158.5%2C102.9%20L%20158.5%2C106.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-24%20atom-24%20atom-28%27%20d%3D%27M%20159.5%2C117.7%20L%20159.5%2C114.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-24%20atom-24%20atom-28%27%20d%3D%27M%20159.5%2C114.3%20L%20159.6%2C111.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-24%20atom-24%20atom-28%27%20d%3D%27M%20157.2%2C117.6%20L%20157.2%2C114.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-24%20atom-24%20atom-28%27%20d%3D%27M%20157.2%2C114.3%20L%20157.3%2C110.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-25%20atom-25%20atom-28%27%20d%3D%27M%20149.2%2C108.5%20L%20153.0%2C108.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-25%20atom-25%20atom-28%27%20d%3D%27M%20153.0%2C108.5%20L%20156.9%2C108.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-26%20atom-26%20atom-27%27%20d%3D%27M%20171.4%2C106.3%20L%20172.9%2C103.7%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-26%20atom-26%20atom-27%27%20d%3D%27M%20172.9%2C103.7%20L%20174.4%2C101.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-27%20atom-26%20atom-28%27%20d%3D%27M%20167.7%2C108.7%20L%20163.9%2C108.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-27%20atom-26%20atom-28%27%20d%3D%27M%20163.9%2C108.6%20L%20160.0%2C108.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20%20class%3D%27atom-20%27%20d%3D%27M%20183.7%20104.6%0AQ%20183.7%20103.6%2C%20184.2%20103.0%0AQ%20184.7%20102.5%2C%20185.7%20102.5%0AQ%20186.6%20102.5%2C%20187.1%20103.0%0AQ%20187.6%20103.6%2C%20187.6%20104.6%0AQ%20187.6%20105.7%2C%20187.1%20106.2%0AQ%20186.6%20106.8%2C%20185.7%20106.8%0AQ%20184.7%20106.8%2C%20184.2%20106.2%0AQ%20183.7%20105.7%2C%20183.7%20104.6%0AM%20185.7%20106.4%0AQ%20186.3%20106.4%2C%20186.7%20105.9%0AQ%20187.0%20105.5%2C%20187.0%20104.6%0AQ%20187.0%20103.8%2C%20186.7%20103.4%0AQ%20186.3%20102.9%2C%20185.7%20102.9%0AQ%20185.0%20102.9%2C%20184.7%20103.4%0AQ%20184.3%20103.8%2C%20184.3%20104.6%0AQ%20184.3%20105.5%2C%20184.7%20105.9%0AQ%20185.0%20106.4%2C%20185.7%20106.4%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-20%27%20d%3D%27M%20188.1%20102.5%0AL%20188.7%20102.5%0AL%20188.7%20104.3%0AL%20190.9%20104.3%0AL%20190.9%20102.5%0AL%20191.4%20102.5%0AL%20191.4%20106.8%0AL%20190.9%20106.8%0AL%20190.9%20104.8%0AL%20188.7%20104.8%0AL%20188.7%20106.8%0AL%20188.1%20106.8%0AL%20188.1%20102.5%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-21%27%20d%3D%27M%20160.3%2090.9%0AL%20160.9%2090.9%0AL%20160.9%2092.7%0AL%20163.0%2092.7%0AL%20163.0%2090.9%0AL%20163.6%2090.9%0AL%20163.6%2095.1%0AL%20163.0%2095.1%0AL%20163.0%2093.1%0AL%20160.9%2093.1%0AL%20160.9%2095.1%0AL%20160.3%2095.1%0AL%20160.3%2090.9%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-21%27%20d%3D%27M%20163.9%2093.0%0AQ%20163.9%2092.0%2C%20164.4%2091.4%0AQ%20164.9%2090.8%2C%20165.9%2090.8%0AQ%20166.8%2090.8%2C%20167.3%2091.4%0AQ%20167.8%2092.0%2C%20167.8%2093.0%0AQ%20167.8%2094.0%2C%20167.3%2094.6%0AQ%20166.8%2095.2%2C%20165.9%2095.2%0AQ%20164.9%2095.2%2C%20164.4%2094.6%0AQ%20163.9%2094.0%2C%20163.9%2093.0%0AM%20165.9%2094.7%0AQ%20166.5%2094.7%2C%20166.9%2094.3%0AQ%20167.2%2093.8%2C%20167.2%2093.0%0AQ%20167.2%2092.1%2C%20166.9%2091.7%0AQ%20166.5%2091.3%2C%20165.9%2091.3%0AQ%20165.2%2091.3%2C%20164.9%2091.7%0AQ%20164.5%2092.1%2C%20164.5%2093.0%0AQ%20164.5%2093.8%2C%20164.9%2094.3%0AQ%20165.2%2094.7%2C%20165.9%2094.7%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-22%27%20d%3D%27M%20179.6%2088.9%0AQ%20179.6%2087.9%2C%20180.1%2087.3%0AQ%20180.6%2086.7%2C%20181.6%2086.7%0AQ%20182.5%2086.7%2C%20183.0%2087.3%0AQ%20183.5%2087.9%2C%20183.5%2088.9%0AQ%20183.5%2089.9%2C%20183.0%2090.5%0AQ%20182.5%2091.1%2C%20181.6%2091.1%0AQ%20180.6%2091.1%2C%20180.1%2090.5%0AQ%20179.6%2089.9%2C%20179.6%2088.9%0AM%20181.6%2090.6%0AQ%20182.2%2090.6%2C%20182.6%2090.2%0AQ%20182.9%2089.8%2C%20182.9%2088.9%0AQ%20182.9%2088.1%2C%20182.6%2087.6%0AQ%20182.2%2087.2%2C%20181.6%2087.2%0AQ%20180.9%2087.2%2C%20180.6%2087.6%0AQ%20180.2%2088.1%2C%20180.2%2088.9%0AQ%20180.2%2089.8%2C%20180.6%2090.2%0AQ%20180.9%2090.6%2C%20181.6%2090.6%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-23%27%20d%3D%27M%20156.6%2097.1%0AQ%20156.6%2096.1%2C%20157.1%2095.5%0AQ%20157.6%2095.0%2C%20158.5%2095.0%0AQ%20159.5%2095.0%2C%20160.0%2095.5%0AQ%20160.5%2096.1%2C%20160.5%2097.1%0AQ%20160.5%2098.1%2C%20160.0%2098.7%0AQ%20159.5%2099.3%2C%20158.5%2099.3%0AQ%20157.6%2099.3%2C%20157.1%2098.7%0AQ%20156.6%2098.2%2C%20156.6%2097.1%0AM%20158.5%2098.8%0AQ%20159.2%2098.8%2C%20159.5%2098.4%0AQ%20159.9%2098.0%2C%20159.9%2097.1%0AQ%20159.9%2096.3%2C%20159.5%2095.9%0AQ%20159.2%2095.4%2C%20158.5%2095.4%0AQ%20157.9%2095.4%2C%20157.5%2095.9%0AQ%20157.2%2096.3%2C%20157.2%2097.1%0AQ%20157.2%2098.0%2C%20157.5%2098.4%0AQ%20157.9%2098.8%2C%20158.5%2098.8%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-23%27%20d%3D%27M%20161.0%2095.0%0AL%20161.6%2095.0%0AL%20161.6%2096.8%0AL%20163.7%2096.8%0AL%20163.7%2095.0%0AL%20164.3%2095.0%0AL%20164.3%2099.3%0AL%20163.7%2099.3%0AL%20163.7%2097.3%0AL%20161.6%2097.3%0AL%20161.6%2099.3%0AL%20161.0%2099.3%0AL%20161.0%2095.0%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-24%27%20d%3D%27M%20156.4%20120.1%0AQ%20156.4%20119.1%2C%20156.9%20118.5%0AQ%20157.4%20117.9%2C%20158.3%20117.9%0AQ%20159.3%20117.9%2C%20159.8%20118.5%0AQ%20160.3%20119.1%2C%20160.3%20120.1%0AQ%20160.3%20121.1%2C%20159.8%20121.7%0AQ%20159.3%20122.3%2C%20158.3%20122.3%0AQ%20157.4%20122.3%2C%20156.9%20121.7%0AQ%20156.4%20121.1%2C%20156.4%20120.1%0AM%20158.3%20121.8%0AQ%20159.0%20121.8%2C%20159.3%20121.4%0AQ%20159.7%20120.9%2C%20159.7%20120.1%0AQ%20159.7%20119.3%2C%20159.3%20118.8%0AQ%20159.0%20118.4%2C%20158.3%20118.4%0AQ%20157.7%20118.4%2C%20157.3%20118.8%0AQ%20157.0%20119.3%2C%20157.0%20120.1%0AQ%20157.0%20120.9%2C%20157.3%20121.4%0AQ%20157.7%20121.8%2C%20158.3%20121.8%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-25%27%20d%3D%27M%20145.0%20108.5%0AQ%20145.0%20107.5%2C%20145.5%20106.9%0AQ%20146.0%20106.3%2C%20146.9%20106.3%0AQ%20147.9%20106.3%2C%20148.4%20106.9%0AQ%20148.9%20107.5%2C%20148.9%20108.5%0AQ%20148.9%20109.5%2C%20148.4%20110.1%0AQ%20147.9%20110.7%2C%20146.9%20110.7%0AQ%20146.0%20110.7%2C%20145.5%20110.1%0AQ%20145.0%20109.5%2C%20145.0%20108.5%0AM%20146.9%20110.2%0AQ%20147.6%20110.2%2C%20147.9%20109.8%0AQ%20148.3%20109.4%2C%20148.3%20108.5%0AQ%20148.3%20107.7%2C%20147.9%20107.3%0AQ%20147.6%20106.8%2C%20146.9%20106.8%0AQ%20146.3%20106.8%2C%20145.9%20107.2%0AQ%20145.6%20107.7%2C%20145.6%20108.5%0AQ%20145.6%20109.4%2C%20145.9%20109.8%0AQ%20146.3%20110.2%2C%20146.9%20110.2%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-26%27%20d%3D%27M%20168.0%20108.7%0AQ%20168.0%20107.7%2C%20168.5%20107.1%0AQ%20169.0%20106.5%2C%20169.9%20106.5%0AQ%20170.9%20106.5%2C%20171.4%20107.1%0AQ%20171.9%20107.7%2C%20171.9%20108.7%0AQ%20171.9%20109.7%2C%20171.4%20110.3%0AQ%20170.9%20110.9%2C%20169.9%20110.9%0AQ%20169.0%20110.9%2C%20168.5%20110.3%0AQ%20168.0%20109.7%2C%20168.0%20108.7%0AM%20169.9%20110.4%0AQ%20170.6%20110.4%2C%20170.9%20110.0%0AQ%20171.3%20109.6%2C%20171.3%20108.7%0AQ%20171.3%20107.9%2C%20170.9%20107.4%0AQ%20170.6%20107.0%2C%20169.9%20107.0%0AQ%20169.3%20107.0%2C%20168.9%20107.4%0AQ%20168.6%20107.9%2C%20168.6%20108.7%0AQ%20168.6%20109.6%2C%20168.9%20110.0%0AQ%20169.3%20110.4%2C%20169.9%20110.4%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-27%27%20d%3D%27M%20175.7%2096.7%0AQ%20176.4%2096.7%2C%20176.7%2097.0%0AQ%20177.1%2097.3%2C%20177.1%2097.9%0AQ%20177.1%2098.5%2C%20176.7%2098.8%0AQ%20176.4%2099.2%2C%20175.7%2099.2%0AL%20175.0%2099.2%0AL%20175.0%20100.9%0AL%20174.4%20100.9%0AL%20174.4%2096.7%0AL%20175.7%2096.7%0AM%20175.7%2098.7%0AQ%20176.1%2098.7%2C%20176.3%2098.5%0AQ%20176.5%2098.3%2C%20176.5%2097.9%0AQ%20176.5%2097.5%2C%20176.3%2097.3%0AQ%20176.1%2097.1%2C%20175.7%2097.1%0AL%20175.0%2097.1%0AL%20175.0%2098.7%0AL%20175.7%2098.7%0A%27%20fill%3D%27%23FF7F00%27/%3E%0A%3Cpath%20%20class%3D%27atom-28%27%20d%3D%27M%20158.3%20106.5%0AQ%20159.1%20106.5%2C%20159.4%20106.8%0AQ%20159.8%20107.1%2C%20159.8%20107.7%0AQ%20159.8%20108.3%2C%20159.4%20108.6%0AQ%20159.0%20109.0%2C%20158.3%20109.0%0AL%20157.7%20109.0%0AL%20157.7%20110.7%0AL%20157.1%20110.7%0AL%20157.1%20106.5%0AL%20158.3%20106.5%0AM%20158.3%20108.5%0AQ%20158.7%20108.5%2C%20159.0%20108.3%0AQ%20159.2%20108.1%2C%20159.2%20107.7%0AQ%20159.2%20107.3%2C%20159.0%20107.1%0AQ%20158.8%20106.9%2C%20158.3%20106.9%0AL%20157.7%20106.9%0AL%20157.7%20108.5%0AL%20158.3%20108.5%0A%27%20fill%3D%27%23FF7F00%27/%3E%0A%3C/svg%3E%0A",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4440 "xlinks": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4441 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4442 "db_name": "metanetx",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4443 "entity_id": "CMPD_0000000003",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4444 "url": "http://identifiers.org/metanetx.chemical/CMPD_0000000003"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4445 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4446 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4447 "rsmiles": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4448 "rule_ids": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4449 "rxn_template_ids": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4450 "ec_numbers": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4451 "thermo_dg_m_gibbs": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4452 "rule_score": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4453 "smiles": "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4454 "inchi": "InChI=1S/C20H36O7P2/c1-17(2)9-6-10-18(3)11-7-12-19(4)13-8-14-20(5)15-16-26-29(24,25)27-28(21,22)23/h9,11,13,15H,6-8,10,12,14,16H2,1-5H3,(H,24,25)(H2,21,22,23)",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4455 "inchikey": "OINNEUNVOZHBOX-UHFFFAOYSA-N",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4456 "target_chemical": false,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4457 "sink_chemical": false,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4458 "thermo_dg_m_formation": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4459 "cofactor": false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4460 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4461 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4462 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4463 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4464 "id": "MNXM83",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4465 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4466 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4467 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4468 "type": "chemical",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4469 "label": "MNXM83",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4470 "all_labels": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4471 "MNXM83"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4472 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4473 "svg": "data:image/svg+xml;charset=utf-8,%3C%3Fxml%20version%3D%271.0%27%20encoding%3D%27iso-8859-1%27%3F%3E%0A%3Csvg%20version%3D%271.1%27%20baseProfile%3D%27full%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3Ardkit%3D%27http%3A//www.rdkit.org/xml%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3Axlink%3D%27http%3A//www.w3.org/1999/xlink%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xml%3Aspace%3D%27preserve%27%0Awidth%3D%27200px%27%20height%3D%27200px%27%20viewBox%3D%270%200%20200%20200%27%3E%0A%3C%21--%20END%20OF%20HEADER%20--%3E%0A%3Crect%20style%3D%27opacity%3A1.0%3Bfill%3A%23FFFFFF%3Bstroke%3Anone%27%20width%3D%27200.0%27%20height%3D%27200.0%27%20x%3D%270.0%27%20y%3D%270.0%27%3E%20%3C/rect%3E%0A%3Cpath%20class%3D%27bond-0%20atom-0%20atom-4%27%20d%3D%27M%208.5%2C107.9%20L%2034.2%2C113.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-0%20atom-0%20atom-4%27%20d%3D%27M%209.7%2C102.8%20L%2035.4%2C108.7%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-1%20atom-1%20atom-4%27%20d%3D%27M%2042.5%2C136.5%20L%2034.8%2C111.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-2%20atom-2%20atom-3%27%20d%3D%27M%2052.8%2C92.0%20L%2078.5%2C97.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-3%20atom-2%20atom-4%27%20d%3D%27M%2052.8%2C92.0%20L%2034.8%2C111.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-4%20atom-3%20atom-10%27%20d%3D%27M%2078.5%2C97.9%20L%2085.4%2C90.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-4%20atom-3%20atom-10%27%20d%3D%27M%2085.4%2C90.5%20L%2092.4%2C83.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-5%20atom-5%20atom-12%27%20d%3D%27M%20176.7%2C109.3%20L%20167.6%2C112.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-5%20atom-5%20atom-12%27%20d%3D%27M%20167.6%2C112.1%20L%20158.5%2C114.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-6%20atom-6%20atom-12%27%20d%3D%27M%20134.4%2C122.2%20L%20143.5%2C119.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-6%20atom-6%20atom-12%27%20d%3D%27M%20143.5%2C119.4%20L%20152.6%2C116.7%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-7%20atom-7%20atom-12%27%20d%3D%27M%20164.4%2C135.8%20L%20161.9%2C127.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-7%20atom-7%20atom-12%27%20d%3D%27M%20161.9%2C127.5%20L%20159.4%2C119.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-7%20atom-7%20atom-12%27%20d%3D%27M%20159.3%2C137.3%20L%20156.8%2C129.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-7%20atom-7%20atom-12%27%20d%3D%27M%20156.8%2C129.1%20L%20154.3%2C120.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-8%20atom-8%20atom-13%27%20d%3D%27M%20117.2%2C105.9%20L%20119.2%2C97.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-8%20atom-8%20atom-13%27%20d%3D%27M%20119.2%2C97.4%20L%20121.1%2C88.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-9%20atom-9%20atom-13%27%20d%3D%27M%20124.5%2C62.9%20L%20122.5%2C71.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-9%20atom-9%20atom-13%27%20d%3D%27M%20122.5%2C71.3%20L%20120.6%2C79.7%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-9%20atom-9%20atom-13%27%20d%3D%27M%20129.6%2C64.1%20L%20127.6%2C72.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-9%20atom-9%20atom-13%27%20d%3D%27M%20127.6%2C72.5%20L%20125.7%2C80.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-10%20atom-10%20atom-13%27%20d%3D%27M%20100.5%2C79.6%20L%20109.9%2C81.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-10%20atom-10%20atom-13%27%20d%3D%27M%20109.9%2C81.8%20L%20119.2%2C83.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-11%20atom-11%20atom-12%27%20d%3D%27M%20149.2%2C95.1%20L%20151.7%2C103.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-11%20atom-11%20atom-12%27%20d%3D%27M%20151.7%2C103.3%20L%20154.2%2C111.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-12%20atom-11%20atom-13%27%20d%3D%27M%20143.7%2C89.6%20L%20134.4%2C87.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-12%20atom-11%20atom-13%27%20d%3D%27M%20134.4%2C87.4%20L%20125.1%2C85.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20%20class%3D%27atom-5%27%20d%3D%27M%20177.3%20108.1%0AQ%20177.3%20106.3%2C%20178.2%20105.3%0AQ%20179.1%20104.3%2C%20180.7%20104.3%0AQ%20182.4%20104.3%2C%20183.3%20105.3%0AQ%20184.2%20106.3%2C%20184.2%20108.1%0AQ%20184.2%20109.9%2C%20183.3%20110.9%0AQ%20182.4%20111.9%2C%20180.7%20111.9%0AQ%20179.1%20111.9%2C%20178.2%20110.9%0AQ%20177.3%20109.9%2C%20177.3%20108.1%0AM%20180.7%20111.1%0AQ%20181.9%20111.1%2C%20182.5%20110.3%0AQ%20183.1%20109.6%2C%20183.1%20108.1%0AQ%20183.1%20106.6%2C%20182.5%20105.9%0AQ%20181.9%20105.1%2C%20180.7%20105.1%0AQ%20179.6%20105.1%2C%20179.0%20105.9%0AQ%20178.4%20106.6%2C%20178.4%20108.1%0AQ%20178.4%20109.6%2C%20179.0%20110.3%0AQ%20179.6%20111.1%2C%20180.7%20111.1%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-5%27%20d%3D%27M%20185.1%20104.4%0AL%20186.1%20104.4%0AL%20186.1%20107.5%0AL%20189.9%20107.5%0AL%20189.9%20104.4%0AL%20190.9%20104.4%0AL%20190.9%20111.8%0AL%20189.9%20111.8%0AL%20189.9%20108.4%0AL%20186.1%20108.4%0AL%20186.1%20111.8%0AL%20185.1%20111.8%0AL%20185.1%20104.4%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-6%27%20d%3D%27M%20120.5%20119.8%0AL%20121.5%20119.8%0AL%20121.5%20122.9%0AL%20125.3%20122.9%0AL%20125.3%20119.8%0AL%20126.4%20119.8%0AL%20126.4%20127.2%0AL%20125.3%20127.2%0AL%20125.3%20123.8%0AL%20121.5%20123.8%0AL%20121.5%20127.2%0AL%20120.5%20127.2%0AL%20120.5%20119.8%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-6%27%20d%3D%27M%20126.9%20123.5%0AQ%20126.9%20121.7%2C%20127.8%20120.7%0AQ%20128.7%20119.7%2C%20130.3%20119.7%0AQ%20132.0%20119.7%2C%20132.8%20120.7%0AQ%20133.7%20121.7%2C%20133.7%20123.5%0AQ%20133.7%20125.3%2C%20132.8%20126.3%0AQ%20131.9%20127.3%2C%20130.3%20127.3%0AQ%20128.7%20127.3%2C%20127.8%20126.3%0AQ%20126.9%20125.3%2C%20126.9%20123.5%0AM%20130.3%20126.5%0AQ%20131.4%20126.5%2C%20132.1%20125.7%0AQ%20132.7%20125.0%2C%20132.7%20123.5%0AQ%20132.7%20122.0%2C%20132.1%20121.3%0AQ%20131.4%20120.5%2C%20130.3%20120.5%0AQ%20129.2%20120.5%2C%20128.5%20121.3%0AQ%20127.9%20122.0%2C%20127.9%20123.5%0AQ%20127.9%20125.0%2C%20128.5%20125.7%0AQ%20129.2%20126.5%2C%20130.3%20126.5%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-7%27%20d%3D%27M%20159.8%20141.0%0AQ%20159.8%20139.2%2C%20160.7%20138.2%0AQ%20161.6%20137.2%2C%20163.2%20137.2%0AQ%20164.9%20137.2%2C%20165.8%20138.2%0AQ%20166.7%20139.2%2C%20166.7%20141.0%0AQ%20166.7%20142.8%2C%20165.8%20143.8%0AQ%20164.9%20144.9%2C%20163.2%20144.9%0AQ%20161.6%20144.9%2C%20160.7%20143.8%0AQ%20159.8%20142.8%2C%20159.8%20141.0%0AM%20163.2%20144.0%0AQ%20164.4%20144.0%2C%20165.0%20143.3%0AQ%20165.6%20142.5%2C%20165.6%20141.0%0AQ%20165.6%20139.5%2C%20165.0%20138.8%0AQ%20164.4%20138.0%2C%20163.2%20138.0%0AQ%20162.1%20138.0%2C%20161.5%20138.8%0AQ%20160.9%20139.5%2C%20160.9%20141.0%0AQ%20160.9%20142.5%2C%20161.5%20143.3%0AQ%20162.1%20144.0%2C%20163.2%20144.0%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-8%27%20d%3D%27M%20112.8%20110.3%0AQ%20112.8%20108.5%2C%20113.7%20107.5%0AQ%20114.5%20106.5%2C%20116.2%20106.5%0AQ%20117.9%20106.5%2C%20118.7%20107.5%0AQ%20119.6%20108.5%2C%20119.6%20110.3%0AQ%20119.6%20112.1%2C%20118.7%20113.2%0AQ%20117.8%20114.2%2C%20116.2%20114.2%0AQ%20114.6%20114.2%2C%20113.7%20113.2%0AQ%20112.8%20112.1%2C%20112.8%20110.3%0AM%20116.2%20113.3%0AQ%20117.3%20113.3%2C%20117.9%20112.6%0AQ%20118.6%20111.8%2C%20118.6%20110.3%0AQ%20118.6%20108.8%2C%20117.9%20108.1%0AQ%20117.3%20107.4%2C%20116.2%20107.4%0AQ%20115.1%20107.4%2C%20114.4%20108.1%0AQ%20113.8%20108.8%2C%20113.8%20110.3%0AQ%20113.8%20111.8%2C%20114.4%20112.6%0AQ%20115.1%20113.3%2C%20116.2%20113.3%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-8%27%20d%3D%27M%20120.5%20106.6%0AL%20121.5%20106.6%0AL%20121.5%20109.8%0AL%20125.3%20109.8%0AL%20125.3%20106.6%0AL%20126.4%20106.6%0AL%20126.4%20114.1%0AL%20125.3%20114.1%0AL%20125.3%20110.6%0AL%20121.5%20110.6%0AL%20121.5%20114.1%0AL%20120.5%20114.1%0AL%20120.5%20106.6%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-9%27%20d%3D%27M%20124.6%2058.9%0AQ%20124.6%2057.1%2C%20125.5%2056.1%0AQ%20126.4%2055.1%2C%20128.1%2055.1%0AQ%20129.7%2055.1%2C%20130.6%2056.1%0AQ%20131.5%2057.1%2C%20131.5%2058.9%0AQ%20131.5%2060.7%2C%20130.6%2061.8%0AQ%20129.7%2062.8%2C%20128.1%2062.8%0AQ%20126.4%2062.8%2C%20125.5%2061.8%0AQ%20124.6%2060.8%2C%20124.6%2058.9%0AM%20128.1%2062.0%0AQ%20129.2%2062.0%2C%20129.8%2061.2%0AQ%20130.4%2060.4%2C%20130.4%2058.9%0AQ%20130.4%2057.5%2C%20129.8%2056.7%0AQ%20129.2%2056.0%2C%20128.1%2056.0%0AQ%20126.9%2056.0%2C%20126.3%2056.7%0AQ%20125.7%2057.5%2C%20125.7%2058.9%0AQ%20125.7%2060.4%2C%20126.3%2061.2%0AQ%20126.9%2062.0%2C%20128.1%2062.0%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-10%27%20d%3D%27M%2093.0%2078.7%0AQ%2093.0%2076.9%2C%2093.9%2075.9%0AQ%2094.8%2074.9%2C%2096.4%2074.9%0AQ%2098.1%2074.9%2C%2099.0%2075.9%0AQ%2099.9%2076.9%2C%2099.9%2078.7%0AQ%2099.9%2080.5%2C%2099.0%2081.5%0AQ%2098.1%2082.6%2C%2096.4%2082.6%0AQ%2094.8%2082.6%2C%2093.9%2081.5%0AQ%2093.0%2080.5%2C%2093.0%2078.7%0AM%2096.4%2081.7%0AQ%2097.6%2081.7%2C%2098.2%2080.9%0AQ%2098.8%2080.2%2C%2098.8%2078.7%0AQ%2098.8%2077.2%2C%2098.2%2076.5%0AQ%2097.6%2075.7%2C%2096.4%2075.7%0AQ%2095.3%2075.7%2C%2094.7%2076.5%0AQ%2094.1%2077.2%2C%2094.1%2078.7%0AQ%2094.1%2080.2%2C%2094.7%2080.9%0AQ%2095.3%2081.7%2C%2096.4%2081.7%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-11%27%20d%3D%27M%20144.4%2090.6%0AQ%20144.4%2088.8%2C%20145.3%2087.8%0AQ%20146.2%2086.8%2C%20147.8%2086.8%0AQ%20149.5%2086.8%2C%20150.4%2087.8%0AQ%20151.3%2088.8%2C%20151.3%2090.6%0AQ%20151.3%2092.4%2C%20150.4%2093.4%0AQ%20149.5%2094.4%2C%20147.8%2094.4%0AQ%20146.2%2094.4%2C%20145.3%2093.4%0AQ%20144.4%2092.4%2C%20144.4%2090.6%0AM%20147.8%2093.6%0AQ%20149.0%2093.6%2C%20149.6%2092.8%0AQ%20150.2%2092.1%2C%20150.2%2090.6%0AQ%20150.2%2089.1%2C%20149.6%2088.4%0AQ%20149.0%2087.6%2C%20147.8%2087.6%0AQ%20146.7%2087.6%2C%20146.1%2088.3%0AQ%20145.5%2089.1%2C%20145.5%2090.6%0AQ%20145.5%2092.1%2C%20146.1%2092.8%0AQ%20146.7%2093.6%2C%20147.8%2093.6%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-12%27%20d%3D%27M%20155.3%20112.0%0AQ%20156.6%20112.0%2C%20157.3%20112.6%0AQ%20157.9%20113.2%2C%20157.9%20114.2%0AQ%20157.9%20115.3%2C%20157.2%20115.8%0AQ%20156.6%20116.4%2C%20155.3%20116.4%0AL%20154.2%20116.4%0AL%20154.2%20119.5%0AL%20153.1%20119.5%0AL%20153.1%20112.0%0AL%20155.3%20112.0%0AM%20155.3%20115.6%0AQ%20156.1%20115.6%2C%20156.5%20115.2%0AQ%20156.9%20114.9%2C%20156.9%20114.2%0AQ%20156.9%20113.6%2C%20156.5%20113.2%0AQ%20156.1%20112.9%2C%20155.3%20112.9%0AL%20154.2%20112.9%0AL%20154.2%20115.6%0AL%20155.3%20115.6%0A%27%20fill%3D%27%23FF7F00%27/%3E%0A%3Cpath%20%20class%3D%27atom-13%27%20d%3D%27M%20122.0%2080.9%0AQ%20123.2%2080.9%2C%20123.9%2081.4%0AQ%20124.5%2082.0%2C%20124.5%2083.1%0AQ%20124.5%2084.1%2C%20123.9%2084.7%0AQ%20123.2%2085.3%2C%20122.0%2085.3%0AL%20120.8%2085.3%0AL%20120.8%2088.3%0AL%20119.8%2088.3%0AL%20119.8%2080.9%0AL%20122.0%2080.9%0AM%20122.0%2084.4%0AQ%20122.7%2084.4%2C%20123.1%2084.1%0AQ%20123.5%2083.7%2C%20123.5%2083.1%0AQ%20123.5%2082.4%2C%20123.1%2082.1%0AQ%20122.7%2081.7%2C%20122.0%2081.7%0AL%20120.8%2081.7%0AL%20120.8%2084.4%0AL%20122.0%2084.4%0A%27%20fill%3D%27%23FF7F00%27/%3E%0A%3C/svg%3E%0A",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4474 "xlinks": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4475 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4476 "db_name": "metanetx",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4477 "entity_id": "MNXM83",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4478 "url": "http://identifiers.org/metanetx.chemical/MNXM83"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4479 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4480 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4481 "rsmiles": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4482 "rule_ids": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4483 "rxn_template_ids": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4484 "ec_numbers": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4485 "thermo_dg_m_gibbs": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4486 "rule_score": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4487 "smiles": "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])([H])C(=C([H])[H])C([H])([H])[H]",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4488 "inchi": "InChI=1S/C5H12O7P2/c1-5(2)3-4-11-14(9,10)12-13(6,7)8/h1,3-4H2,2H3,(H,9,10)(H2,6,7,8)",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4489 "inchikey": "NUHSROFQTUXZQQ-UHFFFAOYSA-N",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4490 "target_chemical": false,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4491 "sink_chemical": true,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4492 "thermo_dg_m_formation": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4493 "cofactor": false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4494 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4495 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4496 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4497 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4498 "id": "MNXM24",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4499 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4500 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4501 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4502 "type": "chemical",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4503 "label": "MNXM24",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4504 "all_labels": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4505 "MNXM24"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4506 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4507 "svg": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4508 "xlinks": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4509 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4510 "db_name": "metanetx",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4511 "entity_id": "MNXM24",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4512 "url": "http://identifiers.org/metanetx.chemical/MNXM24"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4513 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4514 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4515 "rsmiles": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4516 "rule_ids": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4517 "rxn_template_ids": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4518 "ec_numbers": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4519 "thermo_dg_m_gibbs": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4520 "rule_score": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4521 "smiles": "",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4522 "inchi": "",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4523 "inchikey": "",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4524 "target_chemical": false,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4525 "sink_chemical": false,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4526 "thermo_dg_m_formation": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4527 "cofactor": true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4528 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4529 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4530 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4531 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4532 "id": "CMPD_0000000001",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4533 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4534 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4535 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4536 "type": "chemical",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4537 "label": "CMPD_0000000001",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4538 "all_labels": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4539 "CMPD_0000000001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4540 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4541 "svg": "data:image/svg+xml;charset=utf-8,%3C%3Fxml%20version%3D%271.0%27%20encoding%3D%27iso-8859-1%27%3F%3E%0A%3Csvg%20version%3D%271.1%27%20baseProfile%3D%27full%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3Ardkit%3D%27http%3A//www.rdkit.org/xml%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3Axlink%3D%27http%3A//www.w3.org/1999/xlink%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xml%3Aspace%3D%27preserve%27%0Awidth%3D%27200px%27%20height%3D%27200px%27%20viewBox%3D%270%200%20200%20200%27%3E%0A%3C%21--%20END%20OF%20HEADER%20--%3E%0A%3Crect%20style%3D%27opacity%3A1.0%3Bfill%3A%23FFFFFF%3Bstroke%3Anone%27%20width%3D%27200.0%27%20height%3D%27200.0%27%20x%3D%270.0%27%20y%3D%270.0%27%3E%20%3C/rect%3E%0A%3Cpath%20class%3D%27bond-0%20atom-0%20atom-32%27%20d%3D%27M%20190.9%2C65.2%20L%20183.2%2C70.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-1%20atom-1%20atom-32%27%20d%3D%27M%20175.1%2C65.9%20L%20183.2%2C70.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-2%20atom-2%20atom-33%27%20d%3D%27M%2016.4%2C63.3%20L%2016.8%2C72.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-3%20atom-3%20atom-33%27%20d%3D%27M%209.1%2C77.3%20L%2016.8%2C72.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-4%20atom-4%20atom-34%27%20d%3D%27M%20122.5%2C136.7%20L%20122.1%2C127.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-5%20atom-5%20atom-35%27%20d%3D%27M%2074.7%2C129.5%20L%2082.4%2C124.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-6%20atom-6%20atom-36%27%20d%3D%27M%20168.9%2C107.3%20L%20168.5%2C98.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-7%20atom-7%20atom-37%27%20d%3D%27M%2026.0%2C104.1%20L%2033.8%2C99.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-8%20atom-8%20atom-38%27%20d%3D%27M%20128.7%2C95.3%20L%20136.8%2C99.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-9%20atom-9%20atom-39%27%20d%3D%27M%2065.0%2C88.7%20L%2065.4%2C97.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-10%20atom-10%20atom-11%27%20d%3D%27M%20106.3%2C128.2%20L%2098.2%2C124.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-10%20atom-10%20atom-11%27%20d%3D%27M%20105.9%2C126.0%20L%20100.3%2C123.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-11%20atom-10%20atom-20%27%20d%3D%27M%20106.3%2C128.2%20L%20114.0%2C123.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-12%20atom-11%20atom-21%27%20d%3D%27M%2098.2%2C124.0%20L%2090.5%2C128.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-13%20atom-12%20atom-18%27%20d%3D%27M%20175.8%2C84.2%20L%20183.6%2C79.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-14%20atom-12%20atom-22%27%20d%3D%27M%20175.8%2C84.2%20L%20176.2%2C93.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-15%20atom-13%20atom-19%27%20d%3D%27M%2025.3%2C85.8%20L%2024.9%2C76.7%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-16%20atom-13%20atom-23%27%20d%3D%27M%2025.3%2C85.8%20L%2033.4%2C90.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-17%20atom-14%20atom-24%27%20d%3D%27M%20129.5%2C113.5%20L%20129.9%2C122.7%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-18%20atom-14%20atom-28%27%20d%3D%27M%20129.5%2C113.5%20L%20137.2%2C108.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-19%20atom-15%20atom-25%27%20d%3D%27M%2073.9%2C111.3%20L%2082.0%2C115.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-20%20atom-15%20atom-29%27%20d%3D%27M%2073.9%2C111.3%20L%2073.5%2C102.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-21%20atom-16%20atom-26%27%20d%3D%27M%20152.7%2C98.9%20L%20160.4%2C94.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-22%20atom-16%20atom-30%27%20d%3D%27M%20152.7%2C98.9%20L%20144.6%2C94.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-23%20atom-17%20atom-27%27%20d%3D%27M%2049.6%2C98.5%20L%2041.9%2C103.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-24%20atom-17%20atom-31%27%20d%3D%27M%2049.6%2C98.5%20L%2057.7%2C102.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-25%20atom-18%20atom-32%27%20d%3D%27M%20183.6%2C79.3%20L%20183.2%2C70.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-25%20atom-18%20atom-32%27%20d%3D%27M%20181.7%2C78.0%20L%20181.4%2C71.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-26%20atom-19%20atom-33%27%20d%3D%27M%2024.9%2C76.7%20L%2016.8%2C72.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-26%20atom-19%20atom-33%27%20d%3D%27M%2022.9%2C77.7%20L%2017.2%2C74.7%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-27%20atom-20%20atom-34%27%20d%3D%27M%20114.0%2C123.3%20L%20122.1%2C127.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-27%20atom-20%20atom-34%27%20d%3D%27M%20114.4%2C125.6%20L%20120.1%2C128.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-28%20atom-21%20atom-35%27%20d%3D%27M%2090.5%2C128.9%20L%2082.4%2C124.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-28%20atom-21%20atom-35%27%20d%3D%27M%2090.1%2C126.6%20L%2084.4%2C123.7%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-29%20atom-22%20atom-36%27%20d%3D%27M%20176.2%2C93.3%20L%20168.5%2C98.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-30%20atom-23%20atom-37%27%20d%3D%27M%2033.4%2C90.0%20L%2033.8%2C99.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-31%20atom-24%20atom-34%27%20d%3D%27M%20129.9%2C122.7%20L%20122.1%2C127.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-32%20atom-25%20atom-35%27%20d%3D%27M%2082.0%2C115.5%20L%2082.4%2C124.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-33%20atom-26%20atom-36%27%20d%3D%27M%20160.4%2C94.0%20L%20168.5%2C98.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-33%20atom-26%20atom-36%27%20d%3D%27M%20160.8%2C96.2%20L%20166.4%2C99.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-34%20atom-27%20atom-37%27%20d%3D%27M%2041.9%2C103.4%20L%2033.8%2C99.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-34%20atom-27%20atom-37%27%20d%3D%27M%2041.5%2C101.2%20L%2035.8%2C98.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-35%20atom-28%20atom-38%27%20d%3D%27M%20137.2%2C108.6%20L%20136.8%2C99.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-35%20atom-28%20atom-38%27%20d%3D%27M%20135.3%2C107.4%20L%20135.1%2C101.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-36%20atom-29%20atom-39%27%20d%3D%27M%2073.5%2C102.1%20L%2065.4%2C97.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-36%20atom-29%20atom-39%27%20d%3D%27M%2071.5%2C103.1%20L%2065.8%2C100.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-37%20atom-30%20atom-38%27%20d%3D%27M%20144.6%2C94.6%20L%20136.8%2C99.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-38%20atom-31%20atom-39%27%20d%3D%27M%2057.7%2C102.8%20L%2065.4%2C97.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3C/svg%3E%0A",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4542 "xlinks": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4543 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4544 "db_name": "metanetx",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4545 "entity_id": "CMPD_0000000001",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4546 "url": "http://identifiers.org/metanetx.chemical/CMPD_0000000001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4547 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4548 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4549 "rsmiles": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4550 "rule_ids": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4551 "rxn_template_ids": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4552 "ec_numbers": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4553 "thermo_dg_m_gibbs": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4554 "rule_score": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4555 "smiles": "[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4556 "inchi": "InChI=1S/C40H64/c1-33(2)19-13-23-37(7)27-17-31-39(9)29-15-25-35(5)21-11-12-22-36(6)26-16-30-40(10)32-18-28-38(8)24-14-20-34(3)4/h11-12,19-22,27-30H,13-18,23-26,31-32H2,1-10H3",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4557 "inchikey": "YVLPJIGOMTXXLP-UHFFFAOYSA-N",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4558 "target_chemical": false,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4559 "sink_chemical": false,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4560 "thermo_dg_m_formation": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4561 "cofactor": false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4562 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4563 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4564 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4565 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4566 "id": "MNXM8975",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4567 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4568 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4569 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4570 "type": "chemical",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4571 "label": "MNXM8975",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4572 "all_labels": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4573 "MNXM8975"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4574 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4575 "svg": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4576 "xlinks": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4577 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4578 "db_name": "metanetx",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4579 "entity_id": "MNXM8975",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4580 "url": "http://identifiers.org/metanetx.chemical/MNXM8975"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4581 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4582 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4583 "rsmiles": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4584 "rule_ids": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4585 "rxn_template_ids": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4586 "ec_numbers": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4587 "thermo_dg_m_gibbs": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4588 "rule_score": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4589 "smiles": "",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4590 "inchi": "",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4591 "inchikey": "",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4592 "target_chemical": false,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4593 "sink_chemical": false,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4594 "thermo_dg_m_formation": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4595 "cofactor": true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4596 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4597 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4598 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4599 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4600 "id": "MNXM100",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4601 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4602 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4603 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4604 "type": "chemical",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4605 "label": "MNXM100",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4606 "all_labels": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4607 "MNXM100"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4608 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4609 "svg": "data:image/svg+xml;charset=utf-8,%3C%3Fxml%20version%3D%271.0%27%20encoding%3D%27iso-8859-1%27%3F%3E%0A%3Csvg%20version%3D%271.1%27%20baseProfile%3D%27full%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3Ardkit%3D%27http%3A//www.rdkit.org/xml%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3Axlink%3D%27http%3A//www.w3.org/1999/xlink%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xml%3Aspace%3D%27preserve%27%0Awidth%3D%27200px%27%20height%3D%27200px%27%20viewBox%3D%270%200%20200%20200%27%3E%0A%3C%21--%20END%20OF%20HEADER%20--%3E%0A%3Crect%20style%3D%27opacity%3A1.0%3Bfill%3A%23FFFFFF%3Bstroke%3Anone%27%20width%3D%27200.0%27%20height%3D%27200.0%27%20x%3D%270.0%27%20y%3D%270.0%27%3E%20%3C/rect%3E%0A%3Cpath%20class%3D%27bond-0%20atom-0%20atom-8%27%20d%3D%27M%209.1%2C109.8%20L%2027.7%2C110.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-1%20atom-1%20atom-8%27%20d%3D%27M%2036.5%2C126.9%20L%2027.7%2C110.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-2%20atom-2%20atom-9%27%20d%3D%27M%2094.6%2C64.3%20L%2084.7%2C80.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-3%20atom-3%20atom-4%27%20d%3D%27M%2056.2%2C95.3%20L%2037.6%2C94.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-4%20atom-3%20atom-5%27%20d%3D%27M%2056.2%2C95.3%20L%2066.1%2C79.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-5%20atom-4%20atom-8%27%20d%3D%27M%2037.6%2C94.6%20L%2027.7%2C110.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-5%20atom-4%20atom-8%27%20d%3D%27M%2039.3%2C99.0%20L%2032.4%2C110.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-6%20atom-5%20atom-9%27%20d%3D%27M%2066.1%2C79.5%20L%2084.7%2C80.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-7%20atom-6%20atom-7%27%20d%3D%27M%2093.4%2C96.6%20L%20112.1%2C97.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-8%20atom-6%20atom-9%27%20d%3D%27M%2093.4%2C96.6%20L%2084.7%2C80.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-8%20atom-6%20atom-9%27%20d%3D%27M%2095.4%2C92.4%20L%2089.3%2C80.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-9%20atom-7%20atom-15%27%20d%3D%27M%20112.1%2C97.2%20L%20115.6%2C103.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-9%20atom-7%20atom-15%27%20d%3D%27M%20115.6%2C103.9%20L%20119.1%2C110.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-10%20atom-10%20atom-17%27%20d%3D%27M%20180.8%2C107.2%20L%20175.4%2C103.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-10%20atom-10%20atom-17%27%20d%3D%27M%20175.4%2C103.8%20L%20170.0%2C100.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-11%20atom-11%20atom-17%27%20d%3D%27M%20155.0%2C91.1%20L%20160.4%2C94.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-11%20atom-11%20atom-17%27%20d%3D%27M%20160.4%2C94.5%20L%20165.9%2C97.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-12%20atom-12%20atom-17%27%20d%3D%27M%20174.2%2C85.6%20L%20171.2%2C90.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-12%20atom-12%20atom-17%27%20d%3D%27M%20171.2%2C90.4%20L%20168.2%2C95.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-12%20atom-12%20atom-17%27%20d%3D%27M%20177.4%2C87.6%20L%20174.4%2C92.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-12%20atom-12%20atom-17%27%20d%3D%27M%20174.4%2C92.3%20L%20171.4%2C97.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-13%20atom-13%20atom-18%27%20d%3D%27M%20140.0%2C98.9%20L%20139.8%2C105.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-13%20atom-13%20atom-18%27%20d%3D%27M%20139.8%2C105.1%20L%20139.5%2C111.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-14%20atom-14%20atom-18%27%20d%3D%27M%20140.8%2C129.9%20L%20141.0%2C123.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-14%20atom-14%20atom-18%27%20d%3D%27M%20141.0%2C123.6%20L%20141.2%2C117.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-14%20atom-14%20atom-18%27%20d%3D%27M%20137.0%2C129.7%20L%20137.3%2C123.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-14%20atom-14%20atom-18%27%20d%3D%27M%20137.3%2C123.5%20L%20137.5%2C117.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-15%20atom-15%20atom-18%27%20d%3D%27M%20123.7%2C113.8%20L%20130.5%2C114.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-15%20atom-15%20atom-18%27%20d%3D%27M%20130.5%2C114.0%20L%20137.4%2C114.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-16%20atom-16%20atom-17%27%20d%3D%27M%20160.0%2C111.8%20L%20163.0%2C107.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-16%20atom-16%20atom-17%27%20d%3D%27M%20163.0%2C107.0%20L%20166.0%2C102.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-17%20atom-16%20atom-18%27%20d%3D%27M%20155.2%2C114.9%20L%20148.3%2C114.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-17%20atom-16%20atom-18%27%20d%3D%27M%20148.3%2C114.6%20L%20141.5%2C114.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20%20class%3D%27atom-10%27%20d%3D%27M%20181.3%20109.0%0AQ%20181.3%20107.8%2C%20181.9%20107.1%0AQ%20182.6%20106.4%2C%20183.7%20106.4%0AQ%20184.9%20106.4%2C%20185.5%20107.1%0AQ%20186.1%20107.8%2C%20186.1%20109.0%0AQ%20186.1%20110.3%2C%20185.5%20111.0%0AQ%20184.9%20111.8%2C%20183.7%20111.8%0AQ%20182.6%20111.8%2C%20181.9%20111.0%0AQ%20181.3%20110.3%2C%20181.3%20109.0%0AM%20183.7%20111.2%0AQ%20184.5%20111.2%2C%20185.0%20110.6%0AQ%20185.4%20110.1%2C%20185.4%20109.0%0AQ%20185.4%20108.0%2C%20185.0%20107.5%0AQ%20184.5%20106.9%2C%20183.7%20106.9%0AQ%20182.9%20106.9%2C%20182.5%20107.5%0AQ%20182.0%20108.0%2C%20182.0%20109.0%0AQ%20182.0%20110.1%2C%20182.5%20110.6%0AQ%20182.9%20111.2%2C%20183.7%20111.2%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-10%27%20d%3D%27M%20186.8%20106.4%0AL%20187.5%20106.4%0AL%20187.5%20108.7%0AL%20190.2%20108.7%0AL%20190.2%20106.4%0AL%20190.9%20106.4%0AL%20190.9%20111.7%0AL%20190.2%20111.7%0AL%20190.2%20109.3%0AL%20187.5%20109.3%0AL%20187.5%20111.7%0AL%20186.8%20111.7%0AL%20186.8%20106.4%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-11%27%20d%3D%27M%20145.2%2086.7%0AL%20145.9%2086.7%0AL%20145.9%2088.9%0AL%20148.6%2088.9%0AL%20148.6%2086.7%0AL%20149.3%2086.7%0AL%20149.3%2092.0%0AL%20148.6%2092.0%0AL%20148.6%2089.5%0AL%20145.9%2089.5%0AL%20145.9%2092.0%0AL%20145.2%2092.0%0AL%20145.2%2086.7%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-11%27%20d%3D%27M%20149.7%2089.3%0AQ%20149.7%2088.0%2C%20150.3%2087.3%0AQ%20150.9%2086.6%2C%20152.1%2086.6%0AQ%20153.3%2086.6%2C%20153.9%2087.3%0AQ%20154.5%2088.0%2C%20154.5%2089.3%0AQ%20154.5%2090.6%2C%20153.9%2091.3%0AQ%20153.3%2092.0%2C%20152.1%2092.0%0AQ%20151.0%2092.0%2C%20150.3%2091.3%0AQ%20149.7%2090.6%2C%20149.7%2089.3%0AM%20152.1%2091.4%0AQ%20152.9%2091.4%2C%20153.4%2090.9%0AQ%20153.8%2090.4%2C%20153.8%2089.3%0AQ%20153.8%2088.3%2C%20153.4%2087.7%0AQ%20152.9%2087.2%2C%20152.1%2087.2%0AQ%20151.3%2087.2%2C%20150.9%2087.7%0AQ%20150.4%2088.3%2C%20150.4%2089.3%0AQ%20150.4%2090.4%2C%20150.9%2090.9%0AQ%20151.3%2091.4%2C%20152.1%2091.4%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-12%27%20d%3D%27M%20175.4%2083.4%0AQ%20175.4%2082.1%2C%20176.0%2081.4%0AQ%20176.6%2080.7%2C%20177.8%2080.7%0AQ%20179.0%2080.7%2C%20179.6%2081.4%0AQ%20180.2%2082.1%2C%20180.2%2083.4%0AQ%20180.2%2084.6%2C%20179.6%2085.4%0AQ%20178.9%2086.1%2C%20177.8%2086.1%0AQ%20176.6%2086.1%2C%20176.0%2085.4%0AQ%20175.4%2084.7%2C%20175.4%2083.4%0AM%20177.8%2085.5%0AQ%20178.6%2085.5%2C%20179.0%2085.0%0AQ%20179.5%2084.4%2C%20179.5%2083.4%0AQ%20179.5%2082.3%2C%20179.0%2081.8%0AQ%20178.6%2081.3%2C%20177.8%2081.3%0AQ%20177.0%2081.3%2C%20176.5%2081.8%0AQ%20176.1%2082.3%2C%20176.1%2083.4%0AQ%20176.1%2084.4%2C%20176.5%2085.0%0AQ%20177.0%2085.5%2C%20177.8%2085.5%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-13%27%20d%3D%27M%20137.7%2095.7%0AQ%20137.7%2094.4%2C%20138.3%2093.7%0AQ%20138.9%2093.0%2C%20140.1%2093.0%0AQ%20141.2%2093.0%2C%20141.9%2093.7%0AQ%20142.5%2094.4%2C%20142.5%2095.7%0AQ%20142.5%2097.0%2C%20141.9%2097.7%0AQ%20141.2%2098.4%2C%20140.1%2098.4%0AQ%20138.9%2098.4%2C%20138.3%2097.7%0AQ%20137.7%2097.0%2C%20137.7%2095.7%0AM%20140.1%2097.8%0AQ%20140.9%2097.8%2C%20141.3%2097.3%0AQ%20141.8%2096.8%2C%20141.8%2095.7%0AQ%20141.8%2094.7%2C%20141.3%2094.1%0AQ%20140.9%2093.6%2C%20140.1%2093.6%0AQ%20139.3%2093.6%2C%20138.8%2094.1%0AQ%20138.4%2094.7%2C%20138.4%2095.7%0AQ%20138.4%2096.8%2C%20138.8%2097.3%0AQ%20139.3%2097.8%2C%20140.1%2097.8%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-13%27%20d%3D%27M%20143.1%2093.1%0AL%20143.8%2093.1%0AL%20143.8%2095.3%0AL%20146.5%2095.3%0AL%20146.5%2093.1%0AL%20147.3%2093.1%0AL%20147.3%2098.4%0AL%20146.5%2098.4%0AL%20146.5%2095.9%0AL%20143.8%2095.9%0AL%20143.8%2098.4%0AL%20143.1%2098.4%0AL%20143.1%2093.1%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-14%27%20d%3D%27M%20136.4%20132.9%0AQ%20136.4%20131.7%2C%20137.0%20131.0%0AQ%20137.6%20130.3%2C%20138.8%20130.3%0AQ%20140.0%20130.3%2C%20140.6%20131.0%0AQ%20141.2%20131.7%2C%20141.2%20132.9%0AQ%20141.2%20134.2%2C%20140.6%20135.0%0AQ%20139.9%20135.7%2C%20138.8%20135.7%0AQ%20137.6%20135.7%2C%20137.0%20135.0%0AQ%20136.4%20134.2%2C%20136.4%20132.9%0AM%20138.8%20135.1%0AQ%20139.6%20135.1%2C%20140.0%20134.5%0AQ%20140.5%20134.0%2C%20140.5%20132.9%0AQ%20140.5%20131.9%2C%20140.0%20131.4%0AQ%20139.6%20130.9%2C%20138.8%20130.9%0AQ%20138.0%20130.9%2C%20137.5%20131.4%0AQ%20137.1%20131.9%2C%20137.1%20132.9%0AQ%20137.1%20134.0%2C%20137.5%20134.5%0AQ%20138.0%20135.1%2C%20138.8%20135.1%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-15%27%20d%3D%27M%20118.4%20113.7%0AQ%20118.4%20112.4%2C%20119.0%20111.7%0AQ%20119.6%20111.0%2C%20120.8%20111.0%0AQ%20122.0%20111.0%2C%20122.6%20111.7%0AQ%20123.2%20112.4%2C%20123.2%20113.7%0AQ%20123.2%20115.0%2C%20122.6%20115.7%0AQ%20122.0%20116.4%2C%20120.8%20116.4%0AQ%20119.6%20116.4%2C%20119.0%20115.7%0AQ%20118.4%20115.0%2C%20118.4%20113.7%0AM%20120.8%20115.8%0AQ%20121.6%20115.8%2C%20122.0%20115.3%0AQ%20122.5%20114.7%2C%20122.5%20113.7%0AQ%20122.5%20112.6%2C%20122.0%20112.1%0AQ%20121.6%20111.6%2C%20120.8%20111.6%0AQ%20120.0%20111.6%2C%20119.6%20112.1%0AQ%20119.1%20112.6%2C%20119.1%20113.7%0AQ%20119.1%20114.7%2C%20119.6%20115.3%0AQ%20120.0%20115.8%2C%20120.8%20115.8%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-16%27%20d%3D%27M%20155.6%20115.0%0AQ%20155.6%20113.7%2C%20156.3%20113.0%0AQ%20156.9%20112.3%2C%20158.1%20112.3%0AQ%20159.2%20112.3%2C%20159.8%20113.0%0AQ%20160.5%20113.7%2C%20160.5%20115.0%0AQ%20160.5%20116.3%2C%20159.8%20117.0%0AQ%20159.2%20117.7%2C%20158.1%20117.7%0AQ%20156.9%20117.7%2C%20156.3%20117.0%0AQ%20155.6%20116.3%2C%20155.6%20115.0%0AM%20158.1%20117.1%0AQ%20158.9%20117.1%2C%20159.3%20116.6%0AQ%20159.7%20116.0%2C%20159.7%20115.0%0AQ%20159.7%20113.9%2C%20159.3%20113.4%0AQ%20158.9%20112.9%2C%20158.1%20112.9%0AQ%20157.2%20112.9%2C%20156.8%20113.4%0AQ%20156.4%20113.9%2C%20156.4%20115.0%0AQ%20156.4%20116.0%2C%20156.8%20116.6%0AQ%20157.2%20117.1%2C%20158.1%20117.1%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-17%27%20d%3D%27M%20167.8%2096.5%0AQ%20168.7%2096.5%2C%20169.2%2096.9%0AQ%20169.6%2097.3%2C%20169.6%2098.1%0AQ%20169.6%2098.8%2C%20169.1%2099.2%0AQ%20168.7%2099.6%2C%20167.8%2099.6%0AL%20167.0%2099.6%0AL%20167.0%20101.8%0AL%20166.2%20101.8%0AL%20166.2%2096.5%0AL%20167.8%2096.5%0AM%20167.8%2099.0%0AQ%20168.3%2099.0%2C%20168.6%2098.8%0AQ%20168.9%2098.5%2C%20168.9%2098.1%0AQ%20168.9%2097.6%2C%20168.6%2097.4%0AQ%20168.3%2097.1%2C%20167.8%2097.1%0AL%20167.0%2097.1%0AL%20167.0%2099.0%0AL%20167.8%2099.0%0A%27%20fill%3D%27%23FF7F00%27/%3E%0A%3Cpath%20%20class%3D%27atom-18%27%20d%3D%27M%20139.3%20111.7%0AQ%20140.2%20111.7%2C%20140.7%20112.1%0AQ%20141.1%20112.5%2C%20141.1%20113.2%0AQ%20141.1%20114.0%2C%20140.6%20114.4%0AQ%20140.2%20114.8%2C%20139.3%20114.8%0AL%20138.5%20114.8%0AL%20138.5%20116.9%0AL%20137.7%20116.9%0AL%20137.7%20111.7%0AL%20139.3%20111.7%0AM%20139.3%20114.2%0AQ%20139.8%20114.2%2C%20140.1%20113.9%0AQ%20140.4%20113.7%2C%20140.4%20113.2%0AQ%20140.4%20112.8%2C%20140.1%20112.5%0AQ%20139.8%20112.3%2C%20139.3%20112.3%0AL%20138.5%20112.3%0AL%20138.5%20114.2%0AL%20139.3%20114.2%0A%27%20fill%3D%27%23FF7F00%27/%3E%0A%3C/svg%3E%0A",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4610 "xlinks": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4611 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4612 "db_name": "metanetx",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4613 "entity_id": "MNXM100",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4614 "url": "http://identifiers.org/metanetx.chemical/MNXM100"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4615 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4616 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4617 "rsmiles": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4618 "rule_ids": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4619 "rxn_template_ids": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4620 "ec_numbers": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4621 "thermo_dg_m_gibbs": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4622 "rule_score": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4623 "smiles": "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4624 "inchi": "InChI=1S/C10H20O7P2/c1-9(2)5-4-6-10(3)7-8-16-19(14,15)17-18(11,12)13/h5,7H,4,6,8H2,1-3H3,(H,14,15)(H2,11,12,13)",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4625 "inchikey": "GVVPGTZRZFNKDS-UHFFFAOYSA-N",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4626 "target_chemical": false,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4627 "sink_chemical": true,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4628 "thermo_dg_m_formation": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4629 "cofactor": false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4630 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4631 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4632 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4633 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4634 "id": "MNXM11",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4635 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4636 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4637 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4638 "type": "chemical",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4639 "label": "MNXM11",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4640 "all_labels": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4641 "MNXM11"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4642 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4643 "svg": "data:image/svg+xml;charset=utf-8,%3C%3Fxml%20version%3D%271.0%27%20encoding%3D%27iso-8859-1%27%3F%3E%0A%3Csvg%20version%3D%271.1%27%20baseProfile%3D%27full%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3Ardkit%3D%27http%3A//www.rdkit.org/xml%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3Axlink%3D%27http%3A//www.w3.org/1999/xlink%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xml%3Aspace%3D%27preserve%27%0Awidth%3D%27200px%27%20height%3D%27200px%27%20viewBox%3D%270%200%20200%20200%27%3E%0A%3C%21--%20END%20OF%20HEADER%20--%3E%0A%3Crect%20style%3D%27opacity%3A1.0%3Bfill%3A%23FFFFFF%3Bstroke%3Anone%27%20width%3D%27200.0%27%20height%3D%27200.0%27%20x%3D%270.0%27%20y%3D%270.0%27%3E%20%3C/rect%3E%0A%3Cpath%20class%3D%27bond-0%20atom-0%20atom-7%27%20d%3D%27M%2038.2%2C66.0%20L%2045.7%2C79.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-0%20atom-0%20atom-7%27%20d%3D%27M%2045.7%2C79.0%20L%2053.2%2C92.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-1%20atom-1%20atom-7%27%20d%3D%27M%2077.4%2C134.0%20L%2069.8%2C120.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-1%20atom-1%20atom-7%27%20d%3D%27M%2069.8%2C120.9%20L%2062.3%2C107.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-2%20atom-2%20atom-7%27%20d%3D%27M%2025.4%2C124.2%20L%2040.1%2C115.7%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-2%20atom-2%20atom-7%27%20d%3D%27M%2040.1%2C115.7%20L%2054.7%2C107.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-2%20atom-2%20atom-7%27%20d%3D%27M%2020.6%2C115.7%20L%2035.2%2C107.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-2%20atom-2%20atom-7%27%20d%3D%27M%2035.2%2C107.2%20L%2049.9%2C98.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-3%20atom-3%20atom-8%27%20d%3D%27M%20161.8%2C66.0%20L%20154.3%2C79.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-3%20atom-3%20atom-8%27%20d%3D%27M%20154.3%2C79.0%20L%20146.8%2C92.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-4%20atom-4%20atom-8%27%20d%3D%27M%20122.6%2C134.0%20L%20130.2%2C120.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-4%20atom-4%20atom-8%27%20d%3D%27M%20130.2%2C120.9%20L%20137.7%2C107.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-5%20atom-5%20atom-8%27%20d%3D%27M%20179.4%2C115.7%20L%20164.8%2C107.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-5%20atom-5%20atom-8%27%20d%3D%27M%20164.8%2C107.2%20L%20150.1%2C98.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-5%20atom-5%20atom-8%27%20d%3D%27M%20174.6%2C124.2%20L%20159.9%2C115.7%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-5%20atom-5%20atom-8%27%20d%3D%27M%20159.9%2C115.7%20L%20145.3%2C107.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-6%20atom-6%20atom-7%27%20d%3D%27M%2092.4%2C79.9%20L%2077.8%2C88.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-6%20atom-6%20atom-7%27%20d%3D%27M%2077.8%2C88.3%20L%2063.1%2C96.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-7%20atom-6%20atom-8%27%20d%3D%27M%20107.6%2C79.9%20L%20122.2%2C88.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF0000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-7%20atom-6%20atom-8%27%20d%3D%27M%20122.2%2C88.3%20L%20136.9%2C96.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23FF7F00%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20%20class%3D%27atom-0%27%20d%3D%27M%2015.2%2050.8%0AL%2017.0%2050.8%0AL%2017.0%2056.7%0AL%2024.1%2056.7%0AL%2024.1%2050.8%0AL%2026.0%2050.8%0AL%2026.0%2064.6%0AL%2024.1%2064.6%0AL%2024.1%2058.2%0AL%2017.0%2058.2%0AL%2017.0%2064.6%0AL%2015.2%2064.6%0AL%2015.2%2050.8%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-0%27%20d%3D%27M%2027.0%2057.7%0AQ%2027.0%2054.3%2C%2028.6%2052.5%0AQ%2030.2%2050.6%2C%2033.3%2050.6%0AQ%2036.4%2050.6%2C%2038.0%2052.5%0AQ%2039.7%2054.3%2C%2039.7%2057.7%0AQ%2039.7%2061.0%2C%2038.0%2062.9%0AQ%2036.3%2064.8%2C%2033.3%2064.8%0AQ%2030.3%2064.8%2C%2028.6%2062.9%0AQ%2027.0%2061.0%2C%2027.0%2057.7%0AM%2033.3%2063.3%0AQ%2035.4%2063.3%2C%2036.5%2061.8%0AQ%2037.7%2060.4%2C%2037.7%2057.7%0AQ%2037.7%2054.9%2C%2036.5%2053.6%0AQ%2035.4%2052.2%2C%2033.3%2052.2%0AQ%2031.2%2052.2%2C%2030.0%2053.5%0AQ%2028.9%2054.9%2C%2028.9%2057.7%0AQ%2028.9%2060.4%2C%2030.0%2061.8%0AQ%2031.2%2063.3%2C%2033.3%2063.3%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-1%27%20d%3D%27M%2075.8%20142.2%0AQ%2075.8%20138.9%2C%2077.4%20137.0%0AQ%2079.1%20135.2%2C%2082.1%20135.2%0AQ%2085.2%20135.2%2C%2086.8%20137.0%0AQ%2088.5%20138.9%2C%2088.5%20142.2%0AQ%2088.5%20145.6%2C%2086.8%20147.5%0AQ%2085.2%20149.4%2C%2082.1%20149.4%0AQ%2079.1%20149.4%2C%2077.4%20147.5%0AQ%2075.8%20145.6%2C%2075.8%20142.2%0AM%2082.1%20147.8%0AQ%2084.2%20147.8%2C%2085.4%20146.4%0AQ%2086.5%20145.0%2C%2086.5%20142.2%0AQ%2086.5%20139.5%2C%2085.4%20138.1%0AQ%2084.2%20136.7%2C%2082.1%20136.7%0AQ%2080.0%20136.7%2C%2078.9%20138.1%0AQ%2077.7%20139.5%2C%2077.7%20142.2%0AQ%2077.7%20145.0%2C%2078.9%20146.4%0AQ%2080.0%20147.8%2C%2082.1%20147.8%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-1%27%20d%3D%27M%2090.1%20135.3%0AL%2092.0%20135.3%0AL%2092.0%20141.2%0AL%2099.1%20141.2%0AL%2099.1%20135.3%0AL%20101.0%20135.3%0AL%20101.0%20149.2%0AL%2099.1%20149.2%0AL%2099.1%20142.8%0AL%2092.0%20142.8%0AL%2092.0%20149.2%0AL%2090.1%20149.2%0AL%2090.1%20135.3%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-2%27%20d%3D%27M%209.1%20124.3%0AQ%209.1%20121.0%2C%2010.7%20119.2%0AQ%2012.4%20117.3%2C%2015.4%20117.3%0AQ%2018.5%20117.3%2C%2020.1%20119.2%0AQ%2021.8%20121.0%2C%2021.8%20124.3%0AQ%2021.8%20127.7%2C%2020.1%20129.6%0AQ%2018.5%20131.5%2C%2015.4%20131.5%0AQ%2012.4%20131.5%2C%2010.7%20129.6%0AQ%209.1%20127.7%2C%209.1%20124.3%0AM%2015.4%20129.9%0AQ%2017.5%20129.9%2C%2018.7%20128.5%0AQ%2019.8%20127.1%2C%2019.8%20124.3%0AQ%2019.8%20121.6%2C%2018.7%20120.3%0AQ%2017.5%20118.9%2C%2015.4%20118.9%0AQ%2013.3%20118.9%2C%2012.2%20120.2%0AQ%2011.0%20121.6%2C%2011.0%20124.3%0AQ%2011.0%20127.1%2C%2012.2%20128.5%0AQ%2013.3%20129.9%2C%2015.4%20129.9%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-3%27%20d%3D%27M%20160.3%2057.7%0AQ%20160.3%2054.3%2C%20162.0%2052.5%0AQ%20163.6%2050.6%2C%20166.7%2050.6%0AQ%20169.8%2050.6%2C%20171.4%2052.5%0AQ%20173.0%2054.3%2C%20173.0%2057.7%0AQ%20173.0%2061.0%2C%20171.4%2062.9%0AQ%20169.7%2064.8%2C%20166.7%2064.8%0AQ%20163.6%2064.8%2C%20162.0%2062.9%0AQ%20160.3%2061.0%2C%20160.3%2057.7%0AM%20166.7%2063.3%0AQ%20168.8%2063.3%2C%20169.9%2061.8%0AQ%20171.1%2060.4%2C%20171.1%2057.7%0AQ%20171.1%2054.9%2C%20169.9%2053.6%0AQ%20168.8%2052.2%2C%20166.7%2052.2%0AQ%20164.6%2052.2%2C%20163.4%2053.5%0AQ%20162.3%2054.9%2C%20162.3%2057.7%0AQ%20162.3%2060.4%2C%20163.4%2061.8%0AQ%20164.6%2063.3%2C%20166.7%2063.3%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-3%27%20d%3D%27M%20174.7%2050.8%0AL%20176.6%2050.8%0AL%20176.6%2056.7%0AL%20183.6%2056.7%0AL%20183.6%2050.8%0AL%20185.5%2050.8%0AL%20185.5%2064.6%0AL%20183.6%2064.6%0AL%20183.6%2058.2%0AL%20176.6%2058.2%0AL%20176.6%2064.6%0AL%20174.7%2064.6%0AL%20174.7%2050.8%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-4%27%20d%3D%27M%2099.7%20135.3%0AL%20101.6%20135.3%0AL%20101.6%20141.2%0AL%20108.7%20141.2%0AL%20108.7%20135.3%0AL%20110.5%20135.3%0AL%20110.5%20149.2%0AL%20108.7%20149.2%0AL%20108.7%20142.8%0AL%20101.6%20142.8%0AL%20101.6%20149.2%0AL%2099.7%20149.2%0AL%2099.7%20135.3%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-4%27%20d%3D%27M%20111.5%20142.2%0AQ%20111.5%20138.9%2C%20113.2%20137.0%0AQ%20114.8%20135.2%2C%20117.9%20135.2%0AQ%20120.9%20135.2%2C%20122.6%20137.0%0AQ%20124.2%20138.9%2C%20124.2%20142.2%0AQ%20124.2%20145.6%2C%20122.6%20147.5%0AQ%20120.9%20149.4%2C%20117.9%20149.4%0AQ%20114.8%20149.4%2C%20113.2%20147.5%0AQ%20111.5%20145.6%2C%20111.5%20142.2%0AM%20117.9%20147.8%0AQ%20120.0%20147.8%2C%20121.1%20146.4%0AQ%20122.3%20145.0%2C%20122.3%20142.2%0AQ%20122.3%20139.5%2C%20121.1%20138.1%0AQ%20120.0%20136.7%2C%20117.9%20136.7%0AQ%20115.8%20136.7%2C%20114.6%20138.1%0AQ%20113.5%20139.5%2C%20113.5%20142.2%0AQ%20113.5%20145.0%2C%20114.6%20146.4%0AQ%20115.8%20147.8%2C%20117.9%20147.8%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-5%27%20d%3D%27M%20178.2%20124.3%0AQ%20178.2%20121.0%2C%20179.9%20119.2%0AQ%20181.5%20117.3%2C%20184.6%20117.3%0AQ%20187.6%20117.3%2C%20189.3%20119.2%0AQ%20190.9%20121.0%2C%20190.9%20124.3%0AQ%20190.9%20127.7%2C%20189.2%20129.6%0AQ%20187.6%20131.5%2C%20184.6%20131.5%0AQ%20181.5%20131.5%2C%20179.9%20129.6%0AQ%20178.2%20127.7%2C%20178.2%20124.3%0AM%20184.6%20129.9%0AQ%20186.7%20129.9%2C%20187.8%20128.5%0AQ%20189.0%20127.1%2C%20189.0%20124.3%0AQ%20189.0%20121.6%2C%20187.8%20120.3%0AQ%20186.7%20118.9%2C%20184.6%20118.9%0AQ%20182.5%20118.9%2C%20181.3%20120.2%0AQ%20180.2%20121.6%2C%20180.2%20124.3%0AQ%20180.2%20127.1%2C%20181.3%20128.5%0AQ%20182.5%20129.9%2C%20184.6%20129.9%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-6%27%20d%3D%27M%2093.7%2075.5%0AQ%2093.7%2072.2%2C%2095.3%2070.3%0AQ%2096.9%2068.5%2C%20100.0%2068.5%0AQ%20103.1%2068.5%2C%20104.7%2070.3%0AQ%20106.3%2072.2%2C%20106.3%2075.5%0AQ%20106.3%2078.9%2C%20104.7%2080.8%0AQ%20103.0%2082.7%2C%20100.0%2082.7%0AQ%2097.0%2082.7%2C%2095.3%2080.8%0AQ%2093.7%2078.9%2C%2093.7%2075.5%0AM%20100.0%2081.1%0AQ%20102.1%2081.1%2C%20103.2%2079.7%0AQ%20104.4%2078.3%2C%20104.4%2075.5%0AQ%20104.4%2072.8%2C%20103.2%2071.4%0AQ%20102.1%2070.1%2C%20100.0%2070.1%0AQ%2097.9%2070.1%2C%2096.7%2071.4%0AQ%2095.6%2072.8%2C%2095.6%2075.5%0AQ%2095.6%2078.3%2C%2096.7%2079.7%0AQ%2097.9%2081.1%2C%20100.0%2081.1%0A%27%20fill%3D%27%23FF0000%27/%3E%0A%3Cpath%20%20class%3D%27atom-7%27%20d%3D%27M%2057.4%2093.0%0AQ%2059.7%2093.0%2C%2060.9%2094.1%0AQ%2062.1%2095.1%2C%2062.1%2097.0%0AQ%2062.1%2099.0%2C%2060.9%20100.0%0AQ%2059.7%20101.1%2C%2057.4%20101.1%0AL%2055.2%20101.1%0AL%2055.2%20106.8%0AL%2053.3%20106.8%0AL%2053.3%2093.0%0AL%2057.4%2093.0%0AM%2057.4%2099.6%0AQ%2058.7%2099.6%2C%2059.5%2098.9%0AQ%2060.2%2098.3%2C%2060.2%2097.0%0AQ%2060.2%2095.8%2C%2059.5%2095.2%0AQ%2058.8%2094.5%2C%2057.4%2094.5%0AL%2055.2%2094.5%0AL%2055.2%2099.6%0AL%2057.4%2099.6%0A%27%20fill%3D%27%23FF7F00%27/%3E%0A%3Cpath%20%20class%3D%27atom-8%27%20d%3D%27M%20141.9%2093.0%0AQ%20144.3%2093.0%2C%20145.5%2094.1%0AQ%20146.7%2095.1%2C%20146.7%2097.0%0AQ%20146.7%2099.0%2C%20145.5%20100.0%0AQ%20144.3%20101.1%2C%20141.9%20101.1%0AL%20139.7%20101.1%0AL%20139.7%20106.8%0AL%20137.9%20106.8%0AL%20137.9%2093.0%0AL%20141.9%2093.0%0AM%20141.9%2099.6%0AQ%20143.3%2099.6%2C%20144.0%2098.9%0AQ%20144.7%2098.3%2C%20144.7%2097.0%0AQ%20144.7%2095.8%2C%20144.0%2095.2%0AQ%20143.3%2094.5%2C%20141.9%2094.5%0AL%20139.7%2094.5%0AL%20139.7%2099.6%0AL%20141.9%2099.6%0A%27%20fill%3D%27%23FF7F00%27/%3E%0A%3C/svg%3E%0A",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4644 "xlinks": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4645 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4646 "db_name": "metanetx",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4647 "entity_id": "MNXM11",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4648 "url": "http://identifiers.org/metanetx.chemical/MNXM11"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4649 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4650 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4651 "rsmiles": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4652 "rule_ids": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4653 "rxn_template_ids": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4654 "ec_numbers": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4655 "thermo_dg_m_gibbs": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4656 "rule_score": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4657 "smiles": "O=P(O)(O)OP(=O)(O)O",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4658 "inchi": "InChI=1S/H4O7P2/c1-8(2,3)7-9(4,5)6/h(H2,1,2,3)(H2,4,5,6)",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4659 "inchikey": "XPPKVPWEQAFLFU-UHFFFAOYSA-N",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4660 "target_chemical": false,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4661 "sink_chemical": true,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4662 "thermo_dg_m_formation": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4663 "cofactor": true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4664 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4665 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4666 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4667 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4668 "id": "TARGET_0000000001",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4669 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4670 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4671 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4672 "type": "chemical",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4673 "label": "TARGET_0000000001",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4674 "all_labels": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4675 "TARGET_0000000001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4676 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4677 "svg": "data:image/svg+xml;charset=utf-8,%3C%3Fxml%20version%3D%271.0%27%20encoding%3D%27iso-8859-1%27%3F%3E%0A%3Csvg%20version%3D%271.1%27%20baseProfile%3D%27full%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3Ardkit%3D%27http%3A//www.rdkit.org/xml%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3Axlink%3D%27http%3A//www.w3.org/1999/xlink%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xml%3Aspace%3D%27preserve%27%0Awidth%3D%27200px%27%20height%3D%27200px%27%20viewBox%3D%270%200%20200%20200%27%3E%0A%3C%21--%20END%20OF%20HEADER%20--%3E%0A%3Crect%20style%3D%27opacity%3A1.0%3Bfill%3A%23FFFFFF%3Bstroke%3Anone%27%20width%3D%27200.0%27%20height%3D%27200.0%27%20x%3D%270.0%27%20y%3D%270.0%27%3E%20%3C/rect%3E%0A%3Cpath%20class%3D%27bond-0%20atom-0%20atom-32%27%20d%3D%27M%20190.9%2C65.2%20L%20183.2%2C70.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-1%20atom-1%20atom-32%27%20d%3D%27M%20175.1%2C65.9%20L%20183.2%2C70.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-2%20atom-2%20atom-33%27%20d%3D%27M%2016.4%2C63.3%20L%2016.8%2C72.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-3%20atom-3%20atom-33%27%20d%3D%27M%209.1%2C77.3%20L%2016.8%2C72.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-4%20atom-4%20atom-34%27%20d%3D%27M%20122.5%2C136.7%20L%20122.1%2C127.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-5%20atom-5%20atom-35%27%20d%3D%27M%2074.7%2C129.5%20L%2082.4%2C124.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-6%20atom-6%20atom-36%27%20d%3D%27M%20168.9%2C107.3%20L%20168.5%2C98.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-7%20atom-7%20atom-37%27%20d%3D%27M%2026.0%2C104.1%20L%2033.8%2C99.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-8%20atom-8%20atom-38%27%20d%3D%27M%20128.7%2C95.3%20L%20136.8%2C99.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-9%20atom-9%20atom-39%27%20d%3D%27M%2065.0%2C88.7%20L%2065.4%2C97.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-10%20atom-10%20atom-11%27%20d%3D%27M%20106.3%2C128.2%20L%2098.2%2C124.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-10%20atom-10%20atom-11%27%20d%3D%27M%20105.9%2C126.0%20L%20100.3%2C123.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-11%20atom-10%20atom-20%27%20d%3D%27M%20106.3%2C128.2%20L%20114.0%2C123.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-12%20atom-11%20atom-21%27%20d%3D%27M%2098.2%2C124.0%20L%2090.5%2C128.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-13%20atom-12%20atom-18%27%20d%3D%27M%20175.8%2C84.2%20L%20183.6%2C79.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-14%20atom-12%20atom-22%27%20d%3D%27M%20175.8%2C84.2%20L%20176.2%2C93.3%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-15%20atom-13%20atom-19%27%20d%3D%27M%2025.3%2C85.8%20L%2024.9%2C76.7%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-16%20atom-13%20atom-23%27%20d%3D%27M%2025.3%2C85.8%20L%2033.4%2C90.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-17%20atom-14%20atom-24%27%20d%3D%27M%20129.5%2C113.5%20L%20129.9%2C122.7%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-17%20atom-14%20atom-24%27%20d%3D%27M%20131.4%2C114.8%20L%20131.6%2C121.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-18%20atom-14%20atom-28%27%20d%3D%27M%20129.5%2C113.5%20L%20137.2%2C108.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-19%20atom-15%20atom-25%27%20d%3D%27M%2073.9%2C111.3%20L%2082.0%2C115.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-19%20atom-15%20atom-25%27%20d%3D%27M%2076.0%2C110.3%20L%2081.6%2C113.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-20%20atom-15%20atom-29%27%20d%3D%27M%2073.9%2C111.3%20L%2073.5%2C102.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-21%20atom-16%20atom-26%27%20d%3D%27M%20152.7%2C98.9%20L%20160.4%2C94.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-22%20atom-16%20atom-30%27%20d%3D%27M%20152.7%2C98.9%20L%20144.6%2C94.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-22%20atom-16%20atom-30%27%20d%3D%27M%20152.3%2C96.6%20L%20146.6%2C93.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-23%20atom-17%20atom-27%27%20d%3D%27M%2049.6%2C98.5%20L%2041.9%2C103.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-24%20atom-17%20atom-31%27%20d%3D%27M%2049.6%2C98.5%20L%2057.7%2C102.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-24%20atom-17%20atom-31%27%20d%3D%27M%2050.0%2C100.8%20L%2055.6%2C103.8%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-25%20atom-18%20atom-32%27%20d%3D%27M%20183.6%2C79.3%20L%20183.2%2C70.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-25%20atom-18%20atom-32%27%20d%3D%27M%20181.7%2C78.0%20L%20181.4%2C71.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-26%20atom-19%20atom-33%27%20d%3D%27M%2024.9%2C76.7%20L%2016.8%2C72.4%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-26%20atom-19%20atom-33%27%20d%3D%27M%2022.9%2C77.7%20L%2017.2%2C74.7%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-27%20atom-20%20atom-34%27%20d%3D%27M%20114.0%2C123.3%20L%20122.1%2C127.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-27%20atom-20%20atom-34%27%20d%3D%27M%20114.4%2C125.6%20L%20120.1%2C128.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-28%20atom-21%20atom-35%27%20d%3D%27M%2090.5%2C128.9%20L%2082.4%2C124.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-28%20atom-21%20atom-35%27%20d%3D%27M%2090.1%2C126.6%20L%2084.4%2C123.7%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-29%20atom-22%20atom-36%27%20d%3D%27M%20176.2%2C93.3%20L%20168.5%2C98.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-30%20atom-23%20atom-37%27%20d%3D%27M%2033.4%2C90.0%20L%2033.8%2C99.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-31%20atom-24%20atom-34%27%20d%3D%27M%20129.9%2C122.7%20L%20122.1%2C127.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-32%20atom-25%20atom-35%27%20d%3D%27M%2082.0%2C115.5%20L%2082.4%2C124.6%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-33%20atom-26%20atom-36%27%20d%3D%27M%20160.4%2C94.0%20L%20168.5%2C98.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-33%20atom-26%20atom-36%27%20d%3D%27M%20160.8%2C96.2%20L%20166.4%2C99.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-34%20atom-27%20atom-37%27%20d%3D%27M%2041.9%2C103.4%20L%2033.8%2C99.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-34%20atom-27%20atom-37%27%20d%3D%27M%2041.5%2C101.2%20L%2035.8%2C98.2%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-35%20atom-28%20atom-38%27%20d%3D%27M%20137.2%2C108.6%20L%20136.8%2C99.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-35%20atom-28%20atom-38%27%20d%3D%27M%20135.3%2C107.4%20L%20135.1%2C101.0%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-36%20atom-29%20atom-39%27%20d%3D%27M%2073.5%2C102.1%20L%2065.4%2C97.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-36%20atom-29%20atom-39%27%20d%3D%27M%2071.5%2C103.1%20L%2065.8%2C100.1%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-37%20atom-30%20atom-38%27%20d%3D%27M%20144.6%2C94.6%20L%20136.8%2C99.5%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3Cpath%20class%3D%27bond-38%20atom-31%20atom-39%27%20d%3D%27M%2057.7%2C102.8%20L%2065.4%2C97.9%27%20style%3D%27fill%3Anone%3Bfill-rule%3Aevenodd%3Bstroke%3A%23000000%3Bstroke-width%3A2.0px%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-opacity%3A1%27%20/%3E%0A%3C/svg%3E%0A",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4678 "xlinks": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4679 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4680 "db_name": "metanetx",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4681 "entity_id": "TARGET_0000000001",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4682 "url": "http://identifiers.org/metanetx.chemical/TARGET_0000000001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4683 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4684 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4685 "rsmiles": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4686 "rule_ids": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4687 "rxn_template_ids": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4688 "ec_numbers": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4689 "thermo_dg_m_gibbs": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4690 "rule_score": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4691 "smiles": "[H]C(=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H]",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4692 "inchi": "InChI=1S/C40H56/c1-33(2)19-13-23-37(7)27-17-31-39(9)29-15-25-35(5)21-11-12-22-36(6)26-16-30-40(10)32-18-28-38(8)24-14-20-34(3)4/h11-12,15-22,25-32H,13-14,23-24H2,1-10H3",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4693 "inchikey": "OAIJSZIZWZSQBC-UHFFFAOYSA-N",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4694 "target_chemical": true,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4695 "sink_chemical": false,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4696 "thermo_dg_m_formation": null,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4697 "cofactor": false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4698 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4699 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4700 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4701 "edges": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4702 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4703 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4704 "id": "MNXM100_[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])([H])C(=C([H])[H])C([H])([H])[H]>>[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4705 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4706 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4707 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4708 "source": "MNXM100",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4709 "target": "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])([H])C(=C([H])[H])C([H])([H])[H]>>[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4710 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4711 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4712 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4713 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4714 "id": "MNXM83_[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])([H])C(=C([H])[H])C([H])([H])[H]>>[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4715 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4716 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4717 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4718 "source": "MNXM83",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4719 "target": "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])([H])C(=C([H])[H])C([H])([H])[H]>>[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4720 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4721 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4722 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4723 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4724 "id": "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])([H])C(=C([H])[H])C([H])([H])[H]>>[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O_CMPD_0000000003",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4725 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4726 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4727 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4728 "source": "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])([H])C(=C([H])[H])C([H])([H])[H]>>[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4729 "target": "CMPD_0000000003"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4730 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4731 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4732 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4733 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4734 "id": "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])([H])C(=C([H])[H])C([H])([H])[H]>>[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O_MNXM11",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4735 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4736 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4737 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4738 "source": "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])([H])C(=C([H])[H])C([H])([H])[H]>>[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4739 "target": "MNXM11"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4740 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4741 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4742 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4743 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4744 "id": "CMPD_0000000003_[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4745 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4746 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4747 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4748 "source": "CMPD_0000000003",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4749 "target": "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4750 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4751 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4752 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4753 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4754 "id": "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O_CMPD_0000000001",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4755 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4756 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4757 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4758 "source": "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4759 "target": "CMPD_0000000001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4760 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4761 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4762 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4763 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4764 "id": "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O_MNXM11",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4765 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4766 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4767 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4768 "source": "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4769 "target": "MNXM11"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4770 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4771 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4772 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4773 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4774 "id": "CMPD_0000000001_[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H]",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4775 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4776 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4777 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4778 "source": "CMPD_0000000001",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4779 "target": "[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H]"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4780 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4781 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4782 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4783 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4784 "id": "MNXM8975_[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H]",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4785 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4786 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4787 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4788 "source": "MNXM8975",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4789 "target": "[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H]"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4790 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4791 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4792 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4793 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4794 "id": "[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H]_MNXM24",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4795 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4796 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4797 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4798 "source": "[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H]",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4799 "target": "MNXM24"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4800 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4801 },
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4802 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4803 "data": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4804 "id": "[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H]_TARGET_0000000001",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4805 "path_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4806 "002_0001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4807 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4808 "source": "[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H]",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4809 "target": "TARGET_0000000001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4810 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4811 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4812 ]
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4813 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4814 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4815 pathways_info = {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4816 "002_0001": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4817 "path_id": "002_0001",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4818 "nb_steps": 3,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4819 "node_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4820 "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])([H])C(=C([H])[H])C([H])([H])[H]>>[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4821 "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4822 "[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H]",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4823 "CMPD_0000000003",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4824 "MNXM83",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4825 "MNXM24",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4826 "CMPD_0000000001",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4827 "MNXM8975",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4828 "MNXM100",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4829 "MNXM11",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4830 "TARGET_0000000001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4831 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4832 "edge_ids": [
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4833 "MNXM100_[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])([H])C(=C([H])[H])C([H])([H])[H]>>[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4834 "MNXM83_[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])([H])C(=C([H])[H])C([H])([H])[H]>>[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4835 "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])([H])C(=C([H])[H])C([H])([H])[H]>>[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O_CMPD_0000000003",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4836 "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])([H])C(=C([H])[H])C([H])([H])[H]>>[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O_MNXM11",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4837 "CMPD_0000000003_[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4838 "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O_CMPD_0000000001",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4839 "[H]OP(=O)(O[H])OP(=O)(O[H])OC([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H].O=P(O)(O)OP(=O)(O)O.O=P(O)(O)OP(=O)(O)O_MNXM11",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4840 "CMPD_0000000001_[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H]",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4841 "MNXM8975_[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H]",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4842 "[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H]_MNXM24",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4843 "[H]C(=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H]>>[H]C(=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])=C(C([H])=C([H])C([H])=C(C([H])=C([H])C([H])=C(C([H])([H])[H])C([H])([H])C([H])([H])C([H])=C(C([H])([H])[H])C([H])([H])[H])C([H])([H])[H])C([H])([H])[H]_TARGET_0000000001"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4844 ],
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4845 "scores": {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4846 "rule_score": 0.6346154014079132,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4847 "steps": 3,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4848 "global_score": 0.9892438888549804,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4849 "thermo_dg_m_gibbs": -522.9501275453283,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4850 "fba_target_flux": 0.5493228602383673
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4851 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4852 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4853 }</script>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4854
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4855 <!-- Viewer -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4856 <script >/*jshint esversion: 6 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4857 /*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4858 __author__ = 'Thomas Duigou'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4859 __license__ = 'MIT'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4860 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4861
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4862 class PathwayHandler {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4863
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4864 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4865 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4866 * @param {cytoscape.js object} cy
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4867 * @param {json structure} pathways_info
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4868 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4869 constructor(cy, pathways_info){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4870 // List of the class attributes
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4871 this.cy = cy;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4872 this.all_path_ids = new Set()
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4873 this.path_to_edges = new Object()
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4874 this.path_to_nodes = new Object()
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4875 this.path_to_scores = new Object()
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4876 this.pinned_path_ids = new Set()
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4877
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4878 for (let path_id in pathways_info){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4879 if (this.all_path_ids.has(path_id)){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4880 console.log('path_id already referenced: ' + path_id);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4881 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4882 // Path ID itselft
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4883 this.all_path_ids.add(path_id);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4884 // List involved edges and nodes
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4885 let info = pathways_info[path_id];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4886 this.path_to_edges[path_id] = info['edge_ids'];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4887 this.path_to_nodes[path_id] = info['node_ids'];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4888 // Extract scores
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4889 this.path_to_scores[path_id] = info['scores'];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4890 // Set specific data field in the cytoscape object
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4891 cy.elements().data('pinned', 0);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4892 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4893 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4894 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4895
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4896 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4897 * Get the list of pinned pathways
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4898 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4899 get_pinned_paths(){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4900 return [...this.pinned_path_ids];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4901 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4902
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4903 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4904 * Add one or more pinned pathways
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4905 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4906 * @param {Array} path_ids
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4907 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4908 add_pinned_paths(path_ids){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4909 // Update path ids
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4910 path_ids.forEach((path_id) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4911 this.pinned_path_ids.add(path_id);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4912 }, this);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4913 // Update the "pinned" status of nodes and edges
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4914 path_ids.forEach((path_id) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4915 let node_ids = this.path_to_nodes[path_id];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4916 let edge_ids = this.path_to_edges[path_id];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4917 let element_ids = new Set([...node_ids, ...edge_ids]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4918 element_ids.forEach((ele_id) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4919 let element = this.cy.getElementById(ele_id);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4920 element.data('pinned', 1);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4921 }, this);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4922 }, this);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4923 return true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4924 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4925
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4926 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4927 * Remove one or more pinned pathways
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4928 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4929 * @param {Array} path_ids: list of pathway IDs
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4930 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4931 remove_pinned_paths(path_ids){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4932 // Update path ids
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4933 path_ids.forEach((path_id) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4934 this.pinned_path_ids.delete(path_id);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4935 }, this);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4936 // Update the "pinned" status of nodes and edges
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4937 path_ids.forEach((path_id) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4938 let node_ids = this.path_to_nodes[path_id];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4939 let edge_ids = this.path_to_edges[path_id];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4940 let element_ids = new Set([...node_ids, ...edge_ids]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4941 element_ids.forEach((element_id) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4942 if (! this.involved_in_any_pinned_path(element_id)){ // knowing we already removed the path_id from the list pinned path
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4943 this.cy.getElementById(element_id).data('pinned', 0);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4944 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4945 }, this);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4946 }, this);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4947 return true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4948 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4949
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4950 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4951 * To know if an element is involved in at least one pinned path
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4952 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4953 * @param {string} element_id: cytoscape element ID
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4954 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4955 involved_in_any_pinned_path(element_id){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4956 let path_ids = this.cy.getElementById(element_id).data('path_ids') // returns a list
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4957 for (let i = 0; i < path_ids.length; i++){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4958 if (this.pinned_path_ids.has(path_ids[i])){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4959 return true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4960 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4961 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4962 return false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4963 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4964
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4965 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4966 * Update the visibility of pinned elements
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4967 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4968 update_pinned_elements(){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4969 // If no any element pinned, unfade everything
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4970 if (this.cy.elements('[pinned = 1]').length == 0){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4971 this.cy.elements().forEach((element) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4972 element.removeClass('faded');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4973 })
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4974 return true;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4975 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4976 // Otherwise, separate the grain from the bran
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4977 this.cy.elements('[pinned = 1]').forEach((element) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4978 element.removeClass('faded');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4979 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4980 this.cy.elements('[pinned = 0]').forEach((element) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4981 element.addClass('faded');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4982 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4983 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4984
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4985 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4986 * Highlight "even more" a particular set of pathways, new algo
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4987 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4988 * @param {Array} path_ids
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4989 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4990 highlight_pathways(path_ids=[]){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4991 // No pathway to highlight
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4992 if (path_ids.length == 0){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4993 this.cy.edges('[highlighted = 1]').forEach((edge) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4994 edge.data('highlighted', 0);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4995 edge.removeClass('highlighted');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4996 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4997 this.cy.nodes('[highlighted = 1]').forEach((node) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4998 node.data('highlighted', 0);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
4999 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5000 this.update_pinned_elements();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5001 return true;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5002 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5003
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5004 // No pinned pathways
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5005 if (this.pinned_path_ids.size == 0){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5006 this.cy.elements().addClass('faded');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5007 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5008
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5009 //
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5010 path_ids.forEach((path_id) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5011 let edge_ids = this.path_to_edges[path_id];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5012 let node_ids = this.path_to_nodes[path_id];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5013 let element_ids = new Set([...node_ids, ...edge_ids]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5014 element_ids.forEach((element_id) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5015 let element = this.cy.getElementById(element_id);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5016 element.data('highlighted', 1);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5017 }, this);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5018 }, this);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5019
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5020 this.cy.edges('[highlighted = 1]').forEach((edge) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5021 edge.addClass('highlighted');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5022 edge.removeClass('faded');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5023 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5024 this.cy.nodes('[highlighted = 1]').forEach((node) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5025 node.removeClass('faded');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5026 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5027 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5028
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5029 /** Colourise one pathway
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5030 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5031 * @param {String} path_id: pathway ID
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5032 * @param {string} colour_hex: colour in HTML hexadecical notation
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5033 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5034 colourise_one_pathwat(path_id, colour_hex){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5035 return true;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5036 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5037
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5038 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5039 * Colourise a list pathways
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5040 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5041 * @param {Array} path_ids: dictionary provided as a JSON
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5042 * @param {String} score_label: the score label to use within available scores
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5043 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5044 colourise_pathways(path_ids, score_label='global_score'){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5045 let score_values = Object();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5046 // Shortand for all pathways
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5047 if (path_ids == '__ALL__'){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5048 path_ids = [...this.all_path_ids]; // all_path_ids is a Set
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5049 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5050 // Collect and refine scores
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5051 for (let i = 0; i < path_ids.length; i++){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5052 let path_id = path_ids[i];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5053 let score = this.path_to_scores[path_id][score_label];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5054 if (! isNaN(score)){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5055 let score_value = parseFloat(score);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5056 score_values[path_id] = score_value;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5057 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5058 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5059 // Sort path IDs by their values
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5060 let items = Object.keys(score_values).map(function(key) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5061 return [key, score_values[key]];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5062 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5063 items.sort(function(first, second) { // by inceasing order
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5064 return first[1] - second[1];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5065 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5066 // Set up the scale
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5067 let list_of_values = [];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5068 for (let i = 0; i < items.length; i++){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5069 list_of_values.push(items[i][1]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5070 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5071 let min_score = Math.min(...list_of_values);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5072 let max_score = Math.max(...list_of_values);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5073 let colour_maker = chroma.scale(['red', 'yellow', 'blue']).domain([max_score, min_score]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5074 // Finally colourise
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5075 for (let i = 0; i < items.length; i++){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5076 // Get values
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5077 let path_id = items[i][0];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5078 let score = items[i][1];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5079 // Get colour according to scale
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5080 let score_hex = colour_maker(score).hex();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5081 // Apply colour on edges
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5082 let edge_ids = this.path_to_edges[path_id];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5083 edge_ids.forEach((edge_id) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5084 this.cy.getElementById(edge_id).style({
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5085 'line-color': score_hex,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5086 'target-arrow-color': score_hex
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5087 })
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5088 }, this);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5089 // Apply colour on colour picker
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5090 let colour_input = $('td.path_colour[data-path_id=' + path_id + '] > input')
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5091 colour_input.val(score_hex);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5092 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5093 return true;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5094 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5095
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5096 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5097 * Reset all pathway colours to a same colour
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5098 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5099 * @param {String} colour_hex: the hexadecimal colour to apply
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5100 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5101 reset_pathway_colours(colour_hex='#A9A9A9'){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5102 // Reset edge colours
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5103 this.cy.edges().style({
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5104 'line-color': colour_hex,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5105 'target-arrow-color': colour_hex
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5106 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5107 // Reset colour pickers
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5108 $('td.path_colour > input').val(colour_hex);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5109 return true;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5110 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5111
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5112 };
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5113
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5114 // Utils ///////////////////////////
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5115
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5116 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5117 * Build the pathway table
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5118 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5119 * Derived from: http://jsfiddle.net/manishmmulani/7MRx6
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5120 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5121 function build_pathway_table(){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5122 console.assert(pathways_info);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5123
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5124 // Table skeleton
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5125 let table_base = $('<table></table>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5126
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5127 // Build the header
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5128 let field_names = ['Pathway', 'Show', 'Info', 'Colour', 'Score'];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5129 let field_classes = ['path_id_head', 'path_checkbox_head', 'path_info_head', 'path_colour_head', 'path_value_head']; // This is needed for tablesort
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5130 let table_row = $('<tr></tr>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5131 for (let i = 0; i < field_names.length; i++){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5132 let value = field_names[i];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5133 let class_ = field_classes[i];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5134 table_row.append($('<th class="' + class_ + '"></th>').html(value));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5135 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5136 table_base.append($('<thead></thead>').append(table_row));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5137
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5138 // Build the body
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5139 let table_body = $('<tbody></tbody>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5140 for (let path_id in pathways_info){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5141 let info = pathways_info[path_id];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5142 let table_row = $('<tr></tr>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5143 table_row.append($('<td class="path_id" data-path_id="' + path_id + '"></td>').html(path_id));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5144 table_row.append($('<td class="path_checkbox"></td>').append($('<input type="checkbox" name="path_checkbox" value=' + path_id + '>')));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5145 table_row.append($('<td class="path_info" data-path_id="' + path_id + '"></td>'));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5146 table_row.append($('<td class="path_colour" data-path_id="' + path_id + '"><input type="color" name="head" value="#A9A9A9"></td>'));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5147 table_row.append($('<td class="path_value" data-path_id="' + path_id + '"></td>'));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5148 table_body.append(table_row);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5149 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5150 table_base.append(table_body);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5151
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5152 // Append the content to the HTML
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5153 $("#table_choice").append(table_base);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5154 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5155
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5156 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5157 * Collect checked pathways
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5158 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5159 function get_checked_pathways(){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5160 let selected_paths=[];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5161 $('input[name=path_checkbox]:checked').each(function(){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5162 let path_id = $(this).val();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5163 selected_paths.push(path_id);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5164 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5165 return selected_paths;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5166 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5167
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5168 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5169 * Get the collection of edges involved in a given path_id
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5170 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5171 * @param path_id (str): pathway ID
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5172 * @param cy (cytoscape object): Cytoscape object
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5173 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5174 function get_edges_from_path_id(path_id, cy){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5175 edges_col = cy.collection();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5176 cy.edges().forEach(function(edge, index){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5177 let edge_path_ids = edge.data('path_ids');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5178 if (share_at_least_one(edge_path_ids, [path_id])){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5179 edges_col = edges_col.union(edge);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5180 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5181 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5182 return edges_col;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5183 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5184
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5185 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5186 * Get pinned pathways IDs
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5187 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5188 function get_pinned_pathway_IDs(){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5189 let pinned_paths = [];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5190 $('td.pinned').each(function(){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5191 let path_id = $(this).text();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5192 pinned_paths.push(path_id);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5193 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5194 return pinned_paths
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5195 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5196
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5197 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5198 * Put chemical info into the information panel
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5199 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5200 function panel_chemical_info(node, show=false){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5201 if (show){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5202 // Collect
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5203 let node_id = node.data('id');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5204 let label = node.data('label');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5205 let svg = node.data('svg');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5206 let smiles = node.data('smiles');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5207 let inchi = node.data('inchi');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5208 let inchikey = node.data('inchikey');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5209 if (node.data('cofactor') == 1){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5210 var cofactor = 'Yes';
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5211 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5212 var cofactor = 'No';
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5213 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5214 if (node.data('sink_chemical')){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5215 var insink = 'Yes';
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5216 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5217 var insink = 'No';
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5218 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5219 let xlinks = node.data('xlinks');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5220 let path_ids = node.data('path_ids');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5221 // Inject
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5222 $("span.chem_info_label").html(label);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5223 if (inchikey == "" || inchikey == null){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5224 $("span.chem_info_inchikey").html("NA");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5225 $("span.chem_info_inchikey_search").html("");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5226 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5227 $("span.chem_info_inchikey").html(inchikey);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5228 $("span.chem_info_inchikey_search").html('<a target="_blank" href="http://www.google.com/search?q=' + encodeURI(inchikey) + '">Look for identical structure using Google</a>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5229 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5230 if (inchi == ""|| inchi == null){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5231 $("span.chem_info_inchi").html("NA");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5232 $("span.chem_info_inchi_search").html("");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5233 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5234 $("span.chem_info_inchi").html(inchi);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5235 $("span.chem_info_inchi_search").html('<a target="_blank" href="https://pubchem.ncbi.nlm.nih.gov/search/#collection=compounds&query_type=structure&query_subtype=identity&query=' + encodeURI(inchi) + '">Look for identical structure using PubChem</a>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5236 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5237 if (smiles == ""|| smiles == null){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5238 $("span.chem_info_smiles").html("NA");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5239 $("span.chem_info_smiles_search").html("");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5240 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5241 $("span.chem_info_smiles").html(smiles);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5242 $("span.chem_info_smiles_search").html('<a target="_blank" href="https://pubchem.ncbi.nlm.nih.gov/search/#collection=compounds&query_type=structure&query_subtype=identity&query=' + encodeURI(smiles) + '">Look for identical structure using PubChem</a>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5243 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5244 $("span.chem_info_iscofactor").html(cofactor);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5245 $("span.chem_info_isprecursor").html(insink);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5246
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5247 // Inject SVG depiction as a background image (if any)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5248 if (svg !== null && svg !== ""){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5249 $('div.img-box').show();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5250 $('div.chem_info_svg').css('background-image', "url('" + svg + "')");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5251 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5252 $('div.img-box').hide();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5253 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5254 // Inject crosslinks
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5255 $("div.chem_info_xlinks").html(''); // Reset div content
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5256 if (xlinks.length > 0){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5257 for (let i = 0; i < xlinks.length; i++){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5258 $("div.chem_info_xlinks").append('<a target="_blank" href="' + xlinks[i]['url'] + '">' + xlinks[i]['db_name'] + ':' + xlinks[i]['entity_id'] + '</a>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5259 $("div.chem_info_xlinks").append('<br/>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5260 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5261 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5262 $("div.chem_info_xlinks").append('None<br/>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5263 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5264 // Inject path IDs
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5265 $("div.chem_info_pathids").html(''); // Reset div content
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5266 if (path_ids.length > 0){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5267 for (let i = 0; i < path_ids.length; i++){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5268 $("div.chem_info_pathids").append(path_ids[i] + '<br/>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5269 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5270 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5271 $("div.chem_info_pathids").append('None<br/>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5272 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5273 // Show
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5274 $("#panel_chemical_info").show();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5275 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5276 $("#panel_chemical_info").hide();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5277 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5278 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5279
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5280 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5281 * Put reaction info into the information panel
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5282 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5283 function panel_reaction_info(node, show=true){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5284 if (show){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5285 // Collect
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5286 let node_id = node.data('id');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5287 let label = node.data('label')
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5288 let rsmiles = node.data('rsmiles');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5289 let rule_ids = node.data('rule_ids');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5290 let rxn_template_ids = node.data('rxn_template_ids');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5291 let path_ids = node.data('path_ids');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5292 let ec_numbers = node.data('ec_numbers');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5293 let xlinks = node.data('xlinks');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5294 let thermo_value = node.data('thermo_dg_m_gibbs');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5295 let rule_score = node.data('rule_score');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5296 let uniprot_ids = node.data('uniprot_ids');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5297 // Inject
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5298 $("span.reaction_info_rsmiles").html(rsmiles);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5299 // Reaction name
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5300 $("span.reaction_info_name").html(label);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5301 // Rule IDs
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5302 $("div.reaction_info_ruleids").html(''); // Reset div content
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5303 for (let i = 0; i < rule_ids.length; i++){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5304 $("div.reaction_info_ruleids").append(rule_ids[i] + '<br/>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5305 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5306 // Reaction template IDs
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5307 $("div.reaction_info_reaction_template_ids").html(''); // Reset div content
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5308 for (let i = 0; i < rxn_template_ids.length; i++){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5309 $("div.reaction_info_reaction_template_ids").append(rxn_template_ids[i] + '<br/>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5310 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5311 // EC numbers
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5312 $("div.reaction_info_ecnumbers").html(''); // Reset div content
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5313 if (ec_numbers == null || ec_numbers.length == 0){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5314 $("div.reaction_info_ecnumbers").append('None<br/>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5315 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5316 for (let i = 0; i < ec_numbers.length; i++){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5317 $("div.reaction_info_ecnumbers").append(ec_numbers[i] + '<br/>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5318 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5319 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5320 // Inject crosslinks
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5321 $("div.reaction_info_xlinks").html(''); // Reset div content
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5322 if (xlinks != null && xlinks.length > 0){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5323 for (let i = 0; i < xlinks.length; i++){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5324 $("div.reaction_info_xlinks").append('<a target="_blank" href="' + xlinks[i]['url'] + '">' + xlinks[i]['db_name'] + ':' + xlinks[i]['entity_id'] + '</a>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5325 $("div.reaction_info_xlinks").append('<br/>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5326 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5327 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5328 $("div.reaction_info_xlinks").append('None<br/>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5329 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5330 // Inject path IDs
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5331 $("div.reaction_info_pathids").html(''); // Reset div content
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5332 if (path_ids.length > 0){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5333 for (let i = 0; i < path_ids.length; i++){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5334 $("div.reaction_info_pathids").append(path_ids[i] + '<br/>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5335 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5336 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5337 $("div.reaction_info_pathids").append('None<br/>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5338 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5339 // Thermodynamic value
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5340 if (isNaN(thermo_value)){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5341 thermo_value = "NaN";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5342 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5343 thermo_value = parseFloat(thermo_value).toFixed(3);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5344 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5345 $("span.reaction_info_thermo").html(thermo_value);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5346 // Rule score
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5347 if (isNaN(rule_score)){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5348 rule_score = "NaN";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5349 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5350 rule_score = parseFloat(rule_score).toFixed(3);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5351 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5352 $("span.reaction_info_rule_score").html(rule_score);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5353 // Inject UniProt IDs
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5354 $("div.reaction_info_uniprot_crosslinks").html(''); // Reset div content
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5355 let nb_ids = 0;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5356 for (let uid in uniprot_ids) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5357 ++nb_ids;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5358 let selenzy_score = parseFloat(uniprot_ids[uid]['score']).toFixed(1)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5359 $("div.reaction_info_uniprot_crosslinks").append(
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5360 '<a href="' + get_uniprot_xlink(uid) + '">' + uid + '</a> (' + selenzy_score + ')'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5361 );
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5362 $("div.reaction_info_uniprot_crosslinks").append(
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5363 '<br/>'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5364 );
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5365 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5366 if (nb_ids == 0){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5367 $("div.reaction_info_uniprot_crosslinks").append('None<br/>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5368 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5369 // Selenzyme crosslink
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5370 $("span.reaction_info_selenzyme_crosslink").html('<a target="_blank" href="http://selenzyme.synbiochem.co.uk/results?smarts=' + encodeURIComponent( rsmiles ) + '">Crosslink to Selenzyme</a>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5371 // Show
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5372 $("#panel_reaction_info").show();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5373 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5374 $("#panel_reaction_info").hide();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5375 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5376 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5377
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5378
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5379 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5380 * Generate links to UniProt web site
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5381 * @param {uid} UniProt ID to be used
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5382 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5383 function get_uniprot_xlink(uid){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5384 return 'https://www.uniprot.org/uniprot/' + uid
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5385 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5386
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5387
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5388 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5389 * Write some default text message on the info panel
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5390 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5391 function panel_startup_info(show=true){ // node
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5392 if (show){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5393 $("#panel_startup_legend").show();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5394 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5395 $("#panel_startup_legend").hide();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5396 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5397
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5398 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5399
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5400 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5401 * Put pathway info into the information panel
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5402 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5403 * @param path_id (str): pathway ID
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5404 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5405 function panel_pathway_info(path_id, show=true){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5406 if (show){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5407 // Collect
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5408 let global_score = pathways_info[path_id]['scores']['global_score'];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5409 let rule_score = pathways_info[path_id]['scores']['rule_score'];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5410 let fba_value = pathways_info[path_id]['scores']['fba_target_flux'];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5411 let thermo_value = pathways_info[path_id]['scores']['thermo_dg_m_gibbs'];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5412 let nb_steps = pathways_info[path_id]['nb_steps'];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5413 // Refine the global score value
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5414 if (isNaN(global_score)){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5415 global_score = "NaN";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5416 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5417 global_score = parseFloat(global_score).toFixed(3);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5418 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5419 // Refines thermodynamic value
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5420 if (isNaN(thermo_value)){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5421 thermo_value = "NaN";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5422 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5423 thermo_value = parseFloat(thermo_value).toFixed(3);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5424 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5425 // Refines rule score
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5426 if (isNaN(rule_score)){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5427 rule_score = "NaN";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5428 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5429 rule_score = parseFloat(rule_score).toFixed(3);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5430 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5431 // Refines target's flux production
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5432 if (isNaN(fba_value)){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5433 fba_value = "NaN";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5434 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5435 fba_value = parseFloat(fba_value).toFixed(3);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5436 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5437 // Inject
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5438 $("span.pathway_info_path_id").html(path_id);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5439 $("span.pathway_info_global_score").html(global_score);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5440 $("span.pathway_info_thermo").html(thermo_value);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5441 $("span.pathway_info_rule_score").html(rule_score);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5442 $("span.pathway_info_target_flux").html(fba_value);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5443 $("span.pathway_info_nb_steps").html(nb_steps);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5444 // Show
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5445 $("#panel_pathway_info").show();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5446 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5447 $("#panel_pathway_info").hide();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5448 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5449 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5450
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5451 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5452 * Return true if the array have at least one common items
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5453 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5454 * @param array1 (array): items
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5455 * @param array2 (array): items
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5456 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5457 function share_at_least_one(array1, array2){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5458 for (let i = 0; i < array1.length; i++){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5459 for (let j = 0; j < array2.length; j++){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5460 // We have a match
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5461 if (array1[i] == array2[j]){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5462 return true;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5463 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5464 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5465 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5466 return false;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5467 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5468
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5469 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5470 * Make labels for chemicals
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5471 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5472 * @param {Integer} max_length: string size cutoff before label truncation
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5473 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5474 function make_chemical_labels(max_length=6){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5475 let nodes = cy.nodes().filter('[type = "chemical"]');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5476 for (let i = 0; i < nodes.size(); i++){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5477 let node = nodes[i];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5478 let label = node.data('label');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5479 if ((typeof label != 'undefined') && (label != 'None') && (label != '')){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5480 if (label.length > max_length){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5481 short_label = label.substr(0, max_length-2)+'..';
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5482 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5483 short_label = label;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5484 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5485 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5486 short_label = '';
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5487 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5488 node.data('short_label', short_label);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5489 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5490 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5491
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5492 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5493 * Make labels for reactions
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5494 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5495 * @param {Integer} max_length: string size cutoff before label truncation
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5496 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5497 function make_reaction_labels(max_length=10){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5498 let nodes = cy.nodes().filter('[type = "reaction"]');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5499 for (let i = 0; i < nodes.size(); i++){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5500 let node = nodes[i];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5501 let label = node.data('label');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5502 if ((typeof label != 'undefined') && (label != 'None') && (label != '')){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5503 if (label.length > max_length){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5504 short_label = label.substr(0, max_length-2)+'..';
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5505 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5506 short_label = label;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5507 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5508 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5509 short_label = '';
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5510 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5511 node.data('short_label', short_label);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5512 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5513 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5514
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5515 // Live ///////////////////////////
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5516
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5517
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5518 $(function(){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5519
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5520 // Cytoscape object to play with all along
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5521 var cy = window.cy = cytoscape({
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5522 container: document.getElementById('cy'),
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5523 motionBlur: true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5524 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5525
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5526 // Basic stuff to do only once
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5527 build_pathway_table();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5528 panel_startup_info(true);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5529 panel_chemical_info(null, false);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5530 panel_reaction_info(null, false);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5531 panel_pathway_info(null, false);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5532 init_network(true);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5533 annotate_hiddable_cofactors(); // Need to be done after init_network so the network is already loaded
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5534 refresh_layout();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5535 show_cofactors(false);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5536 put_pathway_values('global_score');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5537 make_pathway_table_sortable(); // Should be called only after the table has been populated with values
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5538
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5539 // Pathway Handler stuff
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5540 window.path_handler = new PathwayHandler(cy, pathways_info);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5541 path_handler.colourise_pathways('__ALL__', 'global_score');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5542
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5543 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5544 * Initialise the network, but hide everything
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5545 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5546 * @param show_graph (bool): show the loaded network
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5547 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5548 function init_network(show_graph=true){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5549 // Reset the graph
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5550 cy.json({elements: {}});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5551 cy.minZoom(1e-50);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5552
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5553 // Load the full network
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5554 cy.json({elements: network['elements']});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5555
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5556 // Create node labels
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5557 make_chemical_labels(6);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5558 make_reaction_labels(9);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5559
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5560 // Hide them 'by default'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5561 if (! show_graph){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5562 show_pathways(selected_paths='__NONE__');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5563 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5564 $('input[name=path_checkbox]').prop('checked', true); // Check all
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5565 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5566
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5567 // Once the layout is done:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5568 // * set the min zoom level
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5569 // * put default info
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5570 cy.on('layoutstop', function(e){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5571 cy.minZoom(cy.zoom());
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5572 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5573
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5574 cy.style(
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5575 cytoscape.stylesheet()
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5576 .selector("node[type='reaction']")
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5577 .css({
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5578 'height': 60,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5579 'width': 120,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5580 'background-color': 'white',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5581 'border-width': 5,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5582 'border-color': 'darkgray',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5583 'border-style': 'solid',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5584 'content': 'data(short_label)',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5585 'text-valign': 'center',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5586 'text-halign': 'center',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5587 'text-opacity': 1,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5588 'color': '#575757',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5589 'font-size': '20px',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5590 })
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5591 .selector("node[type='chemical']")
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5592 .css({
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5593 'background-color': '#52be80',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5594 'background-fit':'contain',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5595 'shape': 'roundrectangle',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5596 'width': 80,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5597 'height': 80,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5598 'label': 'data(short_label)',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5599 'font-size': '20px',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5600 // 'font-weight': 'bold',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5601 'text-valign': 'top',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5602 'text-halign': 'center',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5603 'text-margin-y': 8,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5604 'text-opacity': 1,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5605 'text-background-color': 'White',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5606 'text-background-opacity': 0.85,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5607 'text-background-shape': 'roundrectangle',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5608 })
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5609 .selector("node[type='chemical'][?target_chemical]")
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5610 .css({
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5611 'background-color': '#B22222',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5612 'border-color': '#B22222',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5613 })
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5614 .selector("node[type='chemical'][?sink_chemical]")
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5615 .css({
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5616 'background-color': '#68956D',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5617 'border-color': '#68956D'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5618 })
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5619 .selector("node[type='chemical'][!target_chemical][!sink_chemical]") // ie: intermediates
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5620 .css({
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5621 'background-color': '#235789',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5622 'border-color': '#235789',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5623 })
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5624 .selector("node[type='chemical'][?svg]") // The beauty of it: "?" will match only non null values
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5625 .css({
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5626 'background-image': 'data(svg)',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5627 'background-fit': 'contain',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5628 'border-width': 8,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5629 })
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5630 .selector('edge')
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5631 .css({
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5632 'curve-style': 'bezier',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5633 'line-color': 'darkgray',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5634 'width': '5px',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5635 'target-arrow-shape': 'triangle',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5636 'target-arrow-color': 'darkgray',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5637 'arrow-scale' : 2
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5638 })
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5639 .selector('.faded')
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5640 .css({
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5641 'opacity': 0.15,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5642 'text-opacity': 0.25
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5643 })
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5644 .selector('.highlighted')
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5645 .css({
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5646 'width': '9px'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5647 })
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5648 .selector('node:selected')
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5649 .css({
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5650 'border-width': 5,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5651 'border-color': 'black'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5652 })
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5653 );
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5654
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5655 cy.on('tap', 'node', function(evt){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5656 let node = evt.target;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5657 // Dump into console
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5658 console.log(node.data());
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5659 // Print info
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5660 if (node.is('[type = "chemical"]')){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5661 panel_startup_info(false);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5662 panel_reaction_info(null, false);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5663 panel_pathway_info(null, false);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5664 panel_chemical_info(node, true);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5665 } else if (node.is('[type = "reaction"]')){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5666 panel_startup_info(false);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5667 panel_chemical_info(null, false);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5668 panel_pathway_info(null, false);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5669 panel_reaction_info(node, true);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5670 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5671 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5672
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5673 cy.on('tap', 'edge', function(evt){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5674 let edge = evt.target;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5675 console.log(edge.data());
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5676 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5677
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5678 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5679
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5680 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5681 * Trigger a layout rendering
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5682 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5683 * @param {cytoscape collection} element_collection: a collection of elements.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5684 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5685 function render_layout(element_collection){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5686 // Playing with zoom to get the best fit
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5687 cy.minZoom(1e-50);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5688 cy.on('layoutstop', function(e){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5689 cy.minZoom(cy.zoom()*0.9); // 0.9 to enable the user dezoom a little
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5690 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5691 // Layout
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5692 let layout = element_collection.layout({
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5693 name: 'breadthfirst',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5694 roots: cy.elements("node[?target_chemical]")
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5695 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5696 layout.run();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5697 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5698
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5699 /** Load a metabolic network
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5700 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5701 * Only nodes and edges involved in 'selected_paths' will be displayed.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5702 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5703 * @param selected_paths (array or str): path IDs or special flags
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5704 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5705 function show_pathways(selected_paths='__ALL__'){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5706
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5707 if (selected_paths == '__ALL__'){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5708 cy.nodes().css({visibility: 'visible'});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5709 cy.edges().css({visibility: 'visible'});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5710 } else if (selected_paths == '__NONE__'){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5711 cy.nodes().css({visibility: 'hidden'});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5712 cy.edges().css({visibility: 'hidden'});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5713 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5714 // Nodes
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5715 cy.nodes().forEach(function(node, index){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5716 let node_paths = node.data('path_ids');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5717 if (share_at_least_one(node_paths, selected_paths)){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5718 node.css({visibility:'visible'});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5719 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5720 node.css({visibility:'hidden'});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5721 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5722 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5723 // Edges
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5724 cy.edges().forEach(function(edge, index){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5725 let edge_paths = edge.data('path_ids');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5726 if (share_at_least_one(edge_paths, selected_paths)){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5727 edge.css({visibility:'visible'});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5728 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5729 edge.css({visibility:'hidden'});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5730 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5731 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5732 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5733 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5734
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5735 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5736 * Tag cofactor weither there could be hidden or not
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5737 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5738 * If hidding cofactors lead to lonely / unconnected reactions then
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5739 * cofactors related to sucbh reaction are marked as not hiddable.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5740 * Otherwise, cofactors are marked as hiddable.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5741 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5742 function annotate_hiddable_cofactors(){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5743 cy.elements('node[type = "reaction"]').forEach((rxn_node, i) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5744 // Check
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5745 let in_not_cof = rxn_node.incomers().filter('node[?cofactor]');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5746 let out_not_cof = rxn_node.outgoers().filter('node[?cofactor]');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5747 // Decide
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5748 let hiddable;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5749 if (in_not_cof.length == 0 || out_not_cof.length == 0){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5750 hiddable = 0;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5751 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5752 hiddable = 1;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5753 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5754 // Tag
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5755 let in_chems = rxn_node.incomers().filter('node');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5756 in_chems.forEach((chem_node, j) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5757 if (
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5758 chem_node.data('cofactor') == 1 &&
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5759 chem_node.data('hiddable_cofactor') != 0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5760 ){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5761 chem_node.data('hiddable_cofactor', hiddable);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5762 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5763 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5764 let out_chems = rxn_node.outgoers().filter('node');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5765 out_chems.forEach((chem_node, j) => {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5766 if (
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5767 chem_node.data('cofactor' == 1) &&
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5768 chem_node.data('hiddable_cofactor') != 0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5769 ){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5770 chem_node.data('hiddable_cofactor', hiddable);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5771 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5772 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5773 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5774 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5775
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5776 /** Handle cofactor display
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5777 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5778 * Hide of show all nodes annotated as cofactor
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5779 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5780 * @param show (bool): will show cofactors if true
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5781 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5782 function show_cofactors(show=true){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5783 if (show){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5784 cy.elements().style("display", "element");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5785 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5786 cy.elements('node[?cofactor][?hiddable_cofactor]').style("display", "none");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5787 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5788 refresh_layout();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5789 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5790
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5791 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5792 * Make the pathway table sortable
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5793 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5794 function make_pathway_table_sortable(){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5795 $("#table_choice > table").tablesorter({
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5796 theme : 'default',
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5797 sortList: [[4,1],[0,0]], // Sort on the fourth column (descending) and then on the first column (ascending order)
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5798 headers : { // Disable sorting for these columns
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5799 '.path_checkbox_head, .path_info_head, .path_colour_head': {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5800 sorter: false
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5801 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5802 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5803 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5804 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5805
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5806 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5807 * Refresh layout according to visible nodes
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5808 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5809 function refresh_layout(){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5810 render_layout(cy.elements().not(':hidden'));
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5811 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5812
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5813 // When a pathway is checked
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5814 $("input[name=path_checkbox]").change(function(){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5815 selected_paths = get_checked_pathways();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5816 show_pathways(selected_paths);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5817 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5818
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5819 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5820 * Pathway visibility is updated when a pathway label is hovered
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5821 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5822 * Note: the hover CSS is handled in the CSS file.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5823 * Node: some vocabulary precisions, pinned stands for path ID locked "on",
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5824 * while highlighted stands for the path ID currently hovered
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5825 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5826 $("td.path_id").hover(function(){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5827 let path_id = $(this).data('path_id');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5828 path_handler.highlight_pathways([path_id]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5829
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5830 }, function(){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5831 let path_id = $(this).data('path_id');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5832 path_handler.highlight_pathways([]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5833 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5834
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5835 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5836 * Pathway are pinned on click
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5837 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5838 $("td.path_id").click(function(){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5839 let path_id = $(this).data('path_id');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5840 // Removing
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5841 if ($(this).hasClass('pinned')){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5842 $(this).removeClass('pinned');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5843 path_handler.remove_pinned_paths([path_id]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5844 path_handler.update_pinned_elements();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5845 // Adding
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5846 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5847 path_handler.add_pinned_paths([path_id]);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5848 path_handler.update_pinned_elements();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5849 $(this).addClass('pinned');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5850 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5851 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5852
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5853 // When a pathway "info" is clicked
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5854 $("td.path_info").click(function(){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5855 path_id = $(this).data('path_id');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5856 panel_startup_info(false);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5857 panel_chemical_info(null, false);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5858 panel_reaction_info(null, false);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5859 panel_pathway_info(path_id, true);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5860 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5861
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5862 // Pathways selection
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5863 $('#hide_all_pathways_button').on('click', function(event){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5864 show_pathways(selected_paths='__NONE__'); // Hide all
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5865 $('input[name=path_checkbox]').prop('checked', false); // Uncheck all
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5866 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5867 $('#view_all_pathways_button').on('click', function(event){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5868 show_pathways(selected_paths='__ALL__'); // Show all
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5869 $('input[name=path_checkbox]').prop('checked', true); // Check all
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5870 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5871 $('#redraw_pathways_button').on('click', function(event){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5872 refresh_layout();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5873 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5874
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5875 // Cofactors handling
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5876 $('#show_cofactors_button').on('click', function(event){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5877 show_cofactors(true);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5878 // Update visible pathways to update their cofactor nodes visibility
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5879 selected_paths = get_checked_pathways();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5880 show_pathways(selected_paths);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5881 // Update hilighted pathways to update their cofactor nodes status
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5882 path_handler.update_pinned_elements();
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5883 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5884 $('#remove_cofactors_button').on('click', function(event){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5885 show_cofactors(false);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5886 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5887
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5888 // Manual colour handling
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5889 colour_pickers = document.querySelectorAll(".path_colour");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5890 for (let i = 0; i < colour_pickers.length; i++){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5891 colour_pickers[i].addEventListener("input", live_update_colour, false);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5892 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5893
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5894 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5895 * Set the colour of all edges involved in a pathway
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5896 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5897 * @param event: event related to a pathway
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5898 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5899 function live_update_colour(event) {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5900 let path_id = $(this).data('path_id');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5901 edges = get_edges_from_path_id(path_id, cy);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5902 edges.style({
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5903 'line-color': event.target.value,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5904 'target-arrow-color': event.target.value
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5905 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5906 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5907
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5908 /**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5909 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5910 * Fill table values
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5911 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5912 * @param score_label (str): the score label to use within the path info
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5913 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5914 function put_pathway_values(score_label='global_score'){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5915 for (let path_id in pathways_info){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5916 // Collect the value
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5917 let score = pathways_info[path_id]['scores'][score_label];
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5918 if (! isNaN(score)){
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5919 score = parseFloat(score).toFixed(3);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5920 } else {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5921 score = 'NaN';
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5922 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5923 // Push it into the pathway table
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5924 let path_td = $('td.path_value[data-path_id=' + path_id + ']');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5925 path_td.html(score);
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5926
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5927 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5928 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5929
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5930 });
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5931 </script>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5932
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5933 <!-- CSS stuff -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5934 <style type="text/css">/*
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5935 __author__ = 'Thomas Duigou'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5936 __license__ = 'MIT'
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5937 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5938
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5939 /* Basic layout ***************************************************************/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5940
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5941 body {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5942 margin: 0px;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5943 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5944
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5945 #base {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5946 width: 100%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5947 margin-left: auto;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5948 margin-right: auto;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5949 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5950
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5951 #viewer {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5952 height: 80%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5953 box-shadow: 0 0 5px 0px black;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5954 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5955
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5956 /* Left panel: pathway level interaction **************************************/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5957 #interaction {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5958 position: absolute;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5959 z-index: 11;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5960 background-color: #E8E9E8;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5961 padding: 0 1% 0 1%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5962 border-top-left-radius: 0px;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5963 border-bottom-left-radius: 0px;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5964 border-top-right-radius: 0px;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5965 border-bottom-right-radius: 10px;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5966 width: 20%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5967 height: 1000px;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5968 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5969
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5970 #interaction div.info-title {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5971 font-weight: bold;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5972 font-size: 1.8em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5973 font-family: sans-serif;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5974 font-variant: small-caps;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5975 text-align: left;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5976 padding-top: 5%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5977 padding-right: 5%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5978 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5979
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5980 #interaction div.info-name {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5981 font-family: sans-serif;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5982 text-align: left;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5983 padding-right: 5%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5984 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5985
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5986 #interaction {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5987 overflow-y: auto;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5988 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5989
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5990 #pathway_selection > div#table_choice {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5991 max-height: 40em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5992 overflow-x: hidden;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5993 overflow-y: auto;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5994 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5995
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5996 /* Central panel: the graph ***************************************************/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5997 #cy {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5998 float: left;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
5999 width: 60%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6000 height: 1000px;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6001 margin-left: 22%; /* +2 to compensate left pannel padding */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6002 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6003
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6004 /* Right side panel: info *****************************************************/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6005 #info {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6006 float: right;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6007 border-radius: 5px;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6008 background-color: #E8E9E8;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6009 width: 18%; /* -2 to compensate left panel padding */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6010 height: 1000px;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6011 position: relative;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6012 overflow-x: hidden;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6013 overflow-y: auto;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6014 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6015
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6016 #panel_startup_legend {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6017 display: block;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6018 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6019
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6020 #panel_startup_legend > .help-content > p {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6021 text-align: left;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6022 display: block;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6023 padding-top: 0.1em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6024 padding-bottom: 0.1em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6025 margin-left: 1em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6026 margin-right: 1em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6027 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6028
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6029 #panel_startup_legend span.pathway_info_icon {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6030 margin: auto;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6031 content: "";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6032 background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill-rule="evenodd" d="M13.646 13.354a.5.5 0 010-.708L16.293 10l-2.647-2.646a.5.5 0 01.708-.708l3 3a.5.5 0 010 .708l-3 3a.5.5 0 01-.708 0z" clip-rule="evenodd"></path><path fill-rule="evenodd" d="M6.5 10a.5.5 0 01.5-.5h9a.5.5 0 010 1H7a.5.5 0 01-.5-.5z" clip-rule="evenodd"></path><path fill-rule="evenodd" d="M4 15.5A1.5 1.5 0 012.5 14V6A1.5 1.5 0 014 4.5h7A1.5 1.5 0 0112.5 6v1.5a.5.5 0 01-1 0V6a.5.5 0 00-.5-.5H4a.5.5 0 00-.5.5v8a.5.5 0 00.5.5h7a.5.5 0 00.5-.5v-1.5a.5.5 0 011 0V14a1.5 1.5 0 01-1.5 1.5H4z" clip-rule="evenodd"></path></svg>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6033 background-repeat: no-repeat;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6034 display: inline-block;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6035 width: 1.5em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6036 height: 1.5em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6037 vertical-align: bottom;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6038 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6039
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6040 #panel_startup_legend > .help-tip {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6041 text-align: left;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6042 font-family: serif;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6043 font-style: italic;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6044 padding-top: 1em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6045 margin-left: 1em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6046 margin-right: 1em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6047 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6048
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6049 #panel_startup_legend > .help-content .symbol-compound {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6050 font-size: 1.5em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6051 font-weight: bold;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6052 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6053
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6054 #panel_startup_legend > .help-content .symbol-transformation {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6055 font-size: 1.5em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6056 font-weight: bold;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6057 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6058
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6059 #panel_startup_legend > .help-content .symbol-target-color {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6060 color: #B22222;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6061 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6062
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6063 #panel_startup_legend > .help-content .symbol-inter-color {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6064 color: #235789;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6065 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6066
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6067 #panel_startup_legend > .help-content .symbol-precursor-color {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6068 color: #68956D;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6069 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6070
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6071 #panel_chemical_info, #panel_reaction_info {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6072 display: none;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6073 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6074
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6075 #panel_chemical_info .chem_info_pathids {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6076 max-height: 20em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6077 overflow-y: auto;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6078 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6079
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6080 #panel_reaction_info .reaction_info_pathids {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6081 max-height: 20em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6082 overflow-y: auto;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6083 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6084
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6085 #info div.info-title {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6086 font-weight: bold;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6087 font-size: 1.8em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6088 font-family: sans-serif;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6089 font-variant: small-caps;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6090 text-align: right;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6091 padding-top: 5%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6092 padding-right: 5%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6093 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6094
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6095 #info div.info-name {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6096 font-family: sans-serif;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6097 text-align: right;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6098 padding-right: 5%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6099 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6100
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6101 #info div.spacer {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6102 width: 80%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6103 margin: 5%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6104 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6105
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6106 /* Based on http://www.mademyday.de/css-height-equals-width-with-pure-css.html */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6107 #info div.img-box {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6108 /* v1 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6109 box-shadow: 0 0 10px 0px black;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6110 position: relative;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6111 width: 50%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6112 margin-left: auto;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6113 margin-right: auto;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6114 margin-top: 5%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6115
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6116 /* v2
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6117 position: relative;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6118 width: 100%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6119 margin-left: auto;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6120 margin-right: auto;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6121 margin-top: 20px;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6122 background-color: White;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6123 border-left: 4px solid #4CAF50;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6124 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6125 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6126
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6127 #info div.img-box::before {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6128 /* v1 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6129 content: "";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6130 display: block;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6131 padding-top: 100%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6132
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6133 /* v2
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6134 content: "";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6135 display: block;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6136 padding-top: 50%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6137 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6138 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6139
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6140 #info div.img-box div.chem_info_svg {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6141 /* v1 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6142 position: absolute;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6143 top: 0;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6144 left: 0;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6145 bottom: 0;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6146 right: 0;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6147 background-size: cover;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6148
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6149 /* v2
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6150 position: absolute;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6151 top: 0;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6152 left: 25%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6153 bottom: 0;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6154 right: 25%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6155 background-size: contain;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6156 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6157 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6158
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6159 #info div.info-subtitle {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6160 font-family: sans-serif;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6161 padding-left: 2%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6162 padding-top: 5%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6163 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6164
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6165 #info div.raw-text {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6166 line-height: 1.4;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6167 width: auto;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6168 background-color: #fff;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6169 padding: 8px 12px;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6170 margin-right: -1%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6171 border-left: 4px solid #4CAF50;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6172 font-family: Consolas,"courier new", "monospace";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6173 font-size: 1em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6174 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6175
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6176 #info .raw-text {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6177 /* overflow-x: scroll; */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6178 /* white-space: nowrap; */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6179 white-space: normal;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6180 word-wrap: break-word;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6181 margin-left: 2%;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6182 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6183
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6184 #info .link {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6185 text-align: right;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6186 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6187
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6188 #info .link span {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6189 font-size: 0.9em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6190 font-family: sans-serif;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6191 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6192
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6193 #info .raw-text a,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6194 #info .raw-text a:visited
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6195 {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6196 color: #575757;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6197 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6198
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6199 /* Nodes and edges CSS ********************************************************/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6200 /* Should be set directly at the cytoscape.js level **************************/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6201
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6202
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6203 /* Table to select pathways ***************************************************/
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6204 #table_choice table {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6205 border: solid 1px #DDEEEE;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6206 border-collapse: collapse;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6207 border-spacing: 0;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6208 /* font: normal 13px Arial, sans-serif; */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6209 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6210 #table_choice table thead th {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6211 background-color: #DDEFEF;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6212 border: solid 1px #DDEEEE;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6213 color: #336B6B;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6214 text-align: center;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6215 text-shadow: 1px 1px 1px #fff;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6216 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6217 #table_choice table tbody td {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6218 border: solid 1px #DDEEEE;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6219 color: #333;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6220 padding: 0 10px 0 10px;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6221 text-shadow: 1px 1px 1px #fff;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6222 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6223 #table_choice table tbody td.checkbox {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6224 text-align: center;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6225 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6226 #table_choice table tbody td.path_id:hover {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6227 border: solid 1px #DDEEEE;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6228 background-color: #FF7E4F44;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6229 padding: 0 10px 0 10px;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6230 text-shadow: 1px 1px 1px #fff;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6231 border-radius: 5px;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6232 cursor: pointer;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6233 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6234 #table_choice table tbody td.path_colour input {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6235 border: 0px;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6236 width: 5em;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6237 /* height: 5px; */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6238 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6239 #table_choice table tbody td.pinned {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6240 border: solid 1px #DDEEEE;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6241 background-color: #FF7E4F44 ;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6242 padding: 0 10px 0 10px;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6243 text-shadow: 1px 1px 1px #fff;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6244 border-radius: 5px;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6245 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6246 #table_choice table tbody td.path_info {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6247 /* display: inline-block; */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6248 /* height: 1em; */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6249 margin: auto;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6250 content: "";
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6251 background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill-rule="evenodd" d="M13.646 13.354a.5.5 0 010-.708L16.293 10l-2.647-2.646a.5.5 0 01.708-.708l3 3a.5.5 0 010 .708l-3 3a.5.5 0 01-.708 0z" clip-rule="evenodd"></path><path fill-rule="evenodd" d="M6.5 10a.5.5 0 01.5-.5h9a.5.5 0 010 1H7a.5.5 0 01-.5-.5z" clip-rule="evenodd"></path><path fill-rule="evenodd" d="M4 15.5A1.5 1.5 0 012.5 14V6A1.5 1.5 0 014 4.5h7A1.5 1.5 0 0112.5 6v1.5a.5.5 0 01-1 0V6a.5.5 0 00-.5-.5H4a.5.5 0 00-.5.5v8a.5.5 0 00.5.5h7a.5.5 0 00.5-.5v-1.5a.5.5 0 011 0V14a1.5 1.5 0 01-1.5 1.5H4z" clip-rule="evenodd"></path></svg>');
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6252 background-repeat: no-repeat;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6253 }
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6254 #table_choice table tbody td.path_info:hover {
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6255 cursor: pointer;
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6256 }</style>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6257
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6258 <!-- Testing bootstrap-colorpicker -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6259 <!-- <script src="js/bootstrap-colorpicker-3.2.0.min.js"></script> -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6260 <!-- <script src="js/bootstrap.bundle-4.4.1.min.js"></script> -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6261 <!-- <link href="css/bootstrap-colorpicker-3.2.0.min.css" rel="stylesheet" type="text/css"/> -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6262
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6263 <!-- Testing chroma.js -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6264 <script >/**
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6265 * chroma.js - JavaScript library for color conversions
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6266 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6267 * Copyright (c) 2011-2019, Gregor Aisch
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6268 * All rights reserved.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6269 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6270 * Redistribution and use in source and binary forms, with or without
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6271 * modification, are permitted provided that the following conditions are met:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6272 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6273 * 1. Redistributions of source code must retain the above copyright notice, this
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6274 * list of conditions and the following disclaimer.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6275 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6276 * 2. Redistributions in binary form must reproduce the above copyright notice,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6277 * this list of conditions and the following disclaimer in the documentation
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6278 * and/or other materials provided with the distribution.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6279 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6280 * 3. The name Gregor Aisch may not be used to endorse or promote products
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6281 * derived from this software without specific prior written permission.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6282 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6283 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6284 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6285 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6286 * DISCLAIMED. IN NO EVENT SHALL GREGOR AISCH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6287 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6288 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6289 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6290 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6291 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6292 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6293 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6294 * -------------------------------------------------------
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6295 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6296 * chroma.js includes colors from colorbrewer2.org, which are released under
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6297 * the following license:
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6298 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6299 * Copyright (c) 2002 Cynthia Brewer, Mark Harrower,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6300 * and The Pennsylvania State University.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6301 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6302 * Licensed under the Apache License, Version 2.0 (the "License");
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6303 * you may not use this file except in compliance with the License.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6304 * You may obtain a copy of the License at
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6305 * http://www.apache.org/licenses/LICENSE-2.0
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6306 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6307 * Unless required by applicable law or agreed to in writing,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6308 * software distributed under the License is distributed on an
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6309 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6310 * either express or implied. See the License for the specific
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6311 * language governing permissions and limitations under the License.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6312 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6313 * ------------------------------------------------------
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6314 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6315 * Named colors are taken from X11 Color Names.
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6316 * http://www.w3.org/TR/css3-color/#svg-color
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6317 *
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6318 * @preserve
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6319 */
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6320
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6321 !function(r,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):r.chroma=e()}(this,function(){"use strict";for(var n=function(r,e,n){return void 0===e&&(e=0),void 0===n&&(n=1),r<e?e:n<r?n:r},e={},r=0,t=["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"];r<t.length;r+=1){var a=t[r];e["[object "+a+"]"]=a.toLowerCase()}var Y=function(r){return e[Object.prototype.toString.call(r)]||"object"},f=Math.PI,o={clip_rgb:function(r){r._clipped=!1,r._unclipped=r.slice(0);for(var e=0;e<=3;e++)e<3?((r[e]<0||255<r[e])&&(r._clipped=!0),r[e]=n(r[e],0,255)):3===e&&(r[e]=n(r[e],0,1));return r},limit:n,type:Y,unpack:function(e,r){return void 0===r&&(r=null),3<=e.length?Array.prototype.slice.call(e):"object"==Y(e[0])&&r?r.split("").filter(function(r){return void 0!==e[0][r]}).map(function(r){return e[0][r]}):e[0]},last:function(r){if(r.length<2)return null;var e=r.length-1;return"string"==Y(r[e])?r[e].toLowerCase():null},PI:f,TWOPI:2*f,PITHIRD:f/3,DEG2RAD:f/180,RAD2DEG:180/f},b={format:{},autodetect:[]},c=o.last,i=o.clip_rgb,l=o.type,u=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if("object"===l(r[0])&&r[0].constructor&&r[0].constructor===this.constructor)return r[0];var n=c(r),t=!1;if(!n){t=!0,b.sorted||(b.autodetect=b.autodetect.sort(function(r,e){return e.p-r.p}),b.sorted=!0);for(var a=0,f=b.autodetect;a<f.length;a+=1){var o=f[a];if(n=o.test.apply(o,r))break}}if(!b.format[n])throw new Error("unknown format: "+r);var u=b.format[n].apply(null,t?r:r.slice(0,-1));this._rgb=i(u),3===this._rgb.length&&this._rgb.push(1)};u.prototype.toString=function(){return"function"==l(this.hex)?this.hex():"["+this._rgb.join(",")+"]"};var A=u,h=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(h.Color,[null].concat(r)))};h.Color=A,h.version="2.1.0";var _=h,d=o.unpack,s=Math.max,p=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=d(r,"rgb"),t=n[0],a=n[1],f=n[2],o=1-s(t/=255,s(a/=255,f/=255)),u=o<1?1/(1-o):0;return[(1-t-o)*u,(1-a-o)*u,(1-f-o)*u,o]},g=o.unpack,v=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=(r=g(r,"cmyk"))[0],t=r[1],a=r[2],f=r[3],o=4<r.length?r[4]:1;return 1===f?[0,0,0,o]:[1<=n?0:255*(1-n)*(1-f),1<=t?0:255*(1-t)*(1-f),1<=a?0:255*(1-a)*(1-f),o]},m=o.unpack,y=o.type;A.prototype.cmyk=function(){return p(this._rgb)},_.cmyk=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(A,[null].concat(r,["cmyk"])))},b.format.cmyk=v,b.autodetect.push({p:2,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=m(r,"cmyk"),"array"===y(r)&&4===r.length)return"cmyk"}});var w=o.unpack,k=o.last,M=function(r){return Math.round(100*r)/100},N=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=w(r,"hsla"),t=k(r)||"lsa";return n[0]=M(n[0]||0),n[1]=M(100*n[1])+"%",n[2]=M(100*n[2])+"%","hsla"===t||3<n.length&&n[3]<1?(n[3]=3<n.length?n[3]:1,t="hsla"):n.length=3,t+"("+n.join(",")+")"},x=o.unpack,E=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=(r=x(r,"rgba"))[0],t=r[1],a=r[2];n/=255,t/=255,a/=255;var f,o,u=Math.min(n,t,a),c=Math.max(n,t,a),i=(c+u)/2;return c===u?(f=0,o=Number.NaN):f=i<.5?(c-u)/(c+u):(c-u)/(2-c-u),n==c?o=(t-a)/(c-u):t==c?o=2+(a-n)/(c-u):a==c&&(o=4+(n-t)/(c-u)),(o*=60)<0&&(o+=360),3<r.length&&void 0!==r[3]?[o,f,i,r[3]]:[o,f,i]},P=o.unpack,F=o.last,O=Math.round,j=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=P(r,"rgba"),t=F(r)||"rgb";return"hsl"==t.substr(0,3)?N(E(n),t):(n[0]=O(n[0]),n[1]=O(n[1]),n[2]=O(n[2]),("rgba"===t||3<n.length&&n[3]<1)&&(n[3]=3<n.length?n[3]:1,t="rgba"),t+"("+n.slice(0,"rgb"===t?3:4).join(",")+")")},G=o.unpack,q=Math.round,L=function(){for(var r,e=[],n=arguments.length;n--;)e[n]=arguments[n];var t,a,f,o=(e=G(e,"hsl"))[0],u=e[1],c=e[2];if(0===u)t=a=f=255*c;else{var i=[0,0,0],l=[0,0,0],h=c<.5?c*(1+u):c+u-c*u,d=2*c-h,s=o/360;i[0]=s+1/3,i[1]=s,i[2]=s-1/3;for(var b=0;b<3;b++)i[b]<0&&(i[b]+=1),1<i[b]&&(i[b]-=1),6*i[b]<1?l[b]=d+6*(h-d)*i[b]:2*i[b]<1?l[b]=h:3*i[b]<2?l[b]=d+(h-d)*(2/3-i[b])*6:l[b]=d;t=(r=[q(255*l[0]),q(255*l[1]),q(255*l[2])])[0],a=r[1],f=r[2]}return 3<e.length?[t,a,f,e[3]]:[t,a,f,1]},R=/^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/,I=/^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/,B=/^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,C=/^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,D=/^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,S=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,$=Math.round,z=function(r){var e;if(r=r.toLowerCase().trim(),b.format.named)try{return b.format.named(r)}catch(r){}if(e=r.match(R)){for(var n=e.slice(1,4),t=0;t<3;t++)n[t]=+n[t];return n[3]=1,n}if(e=r.match(I)){for(var a=e.slice(1,5),f=0;f<4;f++)a[f]=+a[f];return a}if(e=r.match(B)){for(var o=e.slice(1,4),u=0;u<3;u++)o[u]=$(2.55*o[u]);return o[3]=1,o}if(e=r.match(C)){for(var c=e.slice(1,5),i=0;i<3;i++)c[i]=$(2.55*c[i]);return c[3]=+c[3],c}if(e=r.match(D)){var l=e.slice(1,4);l[1]*=.01,l[2]*=.01;var h=L(l);return h[3]=1,h}if(e=r.match(S)){var d=e.slice(1,4);d[1]*=.01,d[2]*=.01;var s=L(d);return s[3]=+e[4],s}};z.test=function(r){return R.test(r)||I.test(r)||B.test(r)||C.test(r)||D.test(r)||S.test(r)};var T=z,U=o.type;A.prototype.css=function(r){return j(this._rgb,r)},_.css=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(A,[null].concat(r,["css"])))},b.format.css=T,b.autodetect.push({p:5,test:function(r){for(var e=[],n=arguments.length-1;0<n--;)e[n]=arguments[n+1];if(!e.length&&"string"===U(r)&&T.test(r))return"css"}});var V=o.unpack;b.format.gl=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=V(r,"rgba");return n[0]*=255,n[1]*=255,n[2]*=255,n},_.gl=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(A,[null].concat(r,["gl"])))},A.prototype.gl=function(){var r=this._rgb;return[r[0]/255,r[1]/255,r[2]/255,r[3]]};var W=o.unpack,X=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n,t=W(r,"rgb"),a=t[0],f=t[1],o=t[2],u=Math.min(a,f,o),c=Math.max(a,f,o),i=c-u,l=100*i/255,h=u/(255-i)*100;return 0===i?n=Number.NaN:(a===c&&(n=(f-o)/i),f===c&&(n=2+(o-a)/i),o===c&&(n=4+(a-f)/i),(n*=60)<0&&(n+=360)),[n,l,h]},H=o.unpack,J=Math.floor,K=function(){for(var r,e,n,t,a,f,o=[],u=arguments.length;u--;)o[u]=arguments[u];var c,i,l,h=(o=H(o,"hcg"))[0],d=o[1],s=o[2];s*=255;var b=255*d;if(0===d)c=i=l=s;else{360===h&&(h=0),360<h&&(h-=360),h<0&&(h+=360);var p=J(h/=60),g=h-p,v=s*(1-d),m=v+b*(1-g),y=v+b*g,w=v+b;switch(p){case 0:c=(r=[w,y,v])[0],i=r[1],l=r[2];break;case 1:c=(e=[m,w,v])[0],i=e[1],l=e[2];break;case 2:c=(n=[v,w,y])[0],i=n[1],l=n[2];break;case 3:c=(t=[v,m,w])[0],i=t[1],l=t[2];break;case 4:c=(a=[y,v,w])[0],i=a[1],l=a[2];break;case 5:c=(f=[w,v,m])[0],i=f[1],l=f[2]}}return[c,i,l,3<o.length?o[3]:1]},Q=o.unpack,Z=o.type;A.prototype.hcg=function(){return X(this._rgb)},_.hcg=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(A,[null].concat(r,["hcg"])))},b.format.hcg=K,b.autodetect.push({p:1,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=Q(r,"hcg"),"array"===Z(r)&&3===r.length)return"hcg"}});var rr=o.unpack,er=o.last,nr=Math.round,tr=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=rr(r,"rgba"),t=n[0],a=n[1],f=n[2],o=n[3],u=er(r)||"auto";void 0===o&&(o=1),"auto"===u&&(u=o<1?"rgba":"rgb");var c="000000"+((t=nr(t))<<16|(a=nr(a))<<8|(f=nr(f))).toString(16);c=c.substr(c.length-6);var i="0"+nr(255*o).toString(16);switch(i=i.substr(i.length-2),u.toLowerCase()){case"rgba":return"#"+c+i;case"argb":return"#"+i+c;default:return"#"+c}},ar=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,fr=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,or=function(r){if(r.match(ar)){4!==r.length&&7!==r.length||(r=r.substr(1)),3===r.length&&(r=(r=r.split(""))[0]+r[0]+r[1]+r[1]+r[2]+r[2]);var e=parseInt(r,16);return[e>>16,e>>8&255,255&e,1]}if(r.match(fr)){5!==r.length&&9!==r.length||(r=r.substr(1)),4===r.length&&(r=(r=r.split(""))[0]+r[0]+r[1]+r[1]+r[2]+r[2]+r[3]+r[3]);var n=parseInt(r,16);return[n>>24&255,n>>16&255,n>>8&255,Math.round((255&n)/255*100)/100]}throw new Error("unknown hex color: "+r)},ur=o.type;A.prototype.hex=function(r){return tr(this._rgb,r)},_.hex=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(A,[null].concat(r,["hex"])))},b.format.hex=or,b.autodetect.push({p:4,test:function(r){for(var e=[],n=arguments.length-1;0<n--;)e[n]=arguments[n+1];if(!e.length&&"string"===ur(r)&&0<=[3,4,5,6,7,8,9].indexOf(r.length))return"hex"}});var cr=o.unpack,ir=o.TWOPI,lr=Math.min,hr=Math.sqrt,dr=Math.acos,sr=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n,t=cr(r,"rgb"),a=t[0],f=t[1],o=t[2],u=lr(a/=255,f/=255,o/=255),c=(a+f+o)/3,i=0<c?1-u/c:0;return 0===i?n=NaN:(n=(a-f+(a-o))/2,n/=hr((a-f)*(a-f)+(a-o)*(f-o)),n=dr(n),f<o&&(n=ir-n),n/=ir),[360*n,i,c]},br=o.unpack,pr=o.limit,gr=o.TWOPI,vr=o.PITHIRD,mr=Math.cos,yr=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n,t,a,f=(r=br(r,"hsi"))[0],o=r[1],u=r[2];return isNaN(f)&&(f=0),isNaN(o)&&(o=0),360<f&&(f-=360),f<0&&(f+=360),(f/=360)<1/3?t=1-((a=(1-o)/3)+(n=(1+o*mr(gr*f)/mr(vr-gr*f))/3)):f<2/3?a=1-((n=(1-o)/3)+(t=(1+o*mr(gr*(f-=1/3))/mr(vr-gr*f))/3)):n=1-((t=(1-o)/3)+(a=(1+o*mr(gr*(f-=2/3))/mr(vr-gr*f))/3)),[255*(n=pr(u*n*3)),255*(t=pr(u*t*3)),255*(a=pr(u*a*3)),3<r.length?r[3]:1]},wr=o.unpack,kr=o.type;A.prototype.hsi=function(){return sr(this._rgb)},_.hsi=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(A,[null].concat(r,["hsi"])))},b.format.hsi=yr,b.autodetect.push({p:2,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=wr(r,"hsi"),"array"===kr(r)&&3===r.length)return"hsi"}});var Mr=o.unpack,Nr=o.type;A.prototype.hsl=function(){return E(this._rgb)},_.hsl=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(A,[null].concat(r,["hsl"])))},b.format.hsl=L,b.autodetect.push({p:2,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=Mr(r,"hsl"),"array"===Nr(r)&&3===r.length)return"hsl"}});var _r=o.unpack,xr=Math.min,Ar=Math.max,Er=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n,t,a,f=(r=_r(r,"rgb"))[0],o=r[1],u=r[2],c=xr(f,o,u),i=Ar(f,o,u),l=i-c;return a=i/255,0===i?(n=Number.NaN,t=0):(t=l/i,f===i&&(n=(o-u)/l),o===i&&(n=2+(u-f)/l),u===i&&(n=4+(f-o)/l),(n*=60)<0&&(n+=360)),[n,t,a]},Pr=o.unpack,Fr=Math.floor,Or=function(){for(var r,e,n,t,a,f,o=[],u=arguments.length;u--;)o[u]=arguments[u];var c,i,l,h=(o=Pr(o,"hsv"))[0],d=o[1],s=o[2];if(s*=255,0===d)c=i=l=s;else{360===h&&(h=0),360<h&&(h-=360),h<0&&(h+=360);var b=Fr(h/=60),p=h-b,g=s*(1-d),v=s*(1-d*p),m=s*(1-d*(1-p));switch(b){case 0:c=(r=[s,m,g])[0],i=r[1],l=r[2];break;case 1:c=(e=[v,s,g])[0],i=e[1],l=e[2];break;case 2:c=(n=[g,s,m])[0],i=n[1],l=n[2];break;case 3:c=(t=[g,v,s])[0],i=t[1],l=t[2];break;case 4:c=(a=[m,g,s])[0],i=a[1],l=a[2];break;case 5:c=(f=[s,g,v])[0],i=f[1],l=f[2]}}return[c,i,l,3<o.length?o[3]:1]},jr=o.unpack,Gr=o.type;A.prototype.hsv=function(){return Er(this._rgb)},_.hsv=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(A,[null].concat(r,["hsv"])))},b.format.hsv=Or,b.autodetect.push({p:2,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=jr(r,"hsv"),"array"===Gr(r)&&3===r.length)return"hsv"}});var qr=18,Lr=.95047,Rr=1,Ir=1.08883,Br=.137931034,Cr=.206896552,Dr=.12841855,Sr=.008856452,$r=o.unpack,Yr=Math.pow,zr=function(r){return(r/=255)<=.04045?r/12.92:Yr((r+.055)/1.055,2.4)},Tr=function(r){return Sr<r?Yr(r,1/3):r/Dr+Br},Ur=function(r,e,n){return r=zr(r),e=zr(e),n=zr(n),[Tr((.4124564*r+.3575761*e+.1804375*n)/Lr),Tr((.2126729*r+.7151522*e+.072175*n)/Rr),Tr((.0193339*r+.119192*e+.9503041*n)/Ir)]},Vr=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=$r(r,"rgb"),t=n[0],a=n[1],f=n[2],o=Ur(t,a,f),u=o[0],c=o[1],i=116*c-16;return[i<0?0:i,500*(u-c),200*(c-o[2])]},Wr=o.unpack,Xr=Math.pow,Hr=function(r){return 255*(r<=.00304?12.92*r:1.055*Xr(r,1/2.4)-.055)},Jr=function(r){return Cr<r?r*r*r:Dr*(r-Br)},Kr=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n,t,a,f=(r=Wr(r,"lab"))[0],o=r[1],u=r[2];return t=(f+16)/116,n=isNaN(o)?t:t+o/500,a=isNaN(u)?t:t-u/200,t=Rr*Jr(t),n=Lr*Jr(n),a=Ir*Jr(a),[Hr(3.2404542*n-1.5371385*t-.4985314*a),Hr(-.969266*n+1.8760108*t+.041556*a),Hr(.0556434*n-.2040259*t+1.0572252*a),3<r.length?r[3]:1]},Qr=o.unpack,Zr=o.type;A.prototype.lab=function(){return Vr(this._rgb)},_.lab=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(A,[null].concat(r,["lab"])))},b.format.lab=Kr,b.autodetect.push({p:2,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=Qr(r,"lab"),"array"===Zr(r)&&3===r.length)return"lab"}});var re=o.unpack,ee=o.RAD2DEG,ne=Math.sqrt,te=Math.atan2,ae=Math.round,fe=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=re(r,"lab"),t=n[0],a=n[1],f=n[2],o=ne(a*a+f*f),u=(te(f,a)*ee+360)%360;return 0===ae(1e4*o)&&(u=Number.NaN),[t,o,u]},oe=o.unpack,ue=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=oe(r,"rgb"),t=n[0],a=n[1],f=n[2],o=Vr(t,a,f),u=o[0],c=o[1],i=o[2];return fe(u,c,i)},ce=o.unpack,ie=o.DEG2RAD,le=Math.sin,he=Math.cos,de=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=ce(r,"lch"),t=n[0],a=n[1],f=n[2];return isNaN(f)&&(f=0),[t,he(f*=ie)*a,le(f)*a]},se=o.unpack,be=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=(r=se(r,"lch"))[0],t=r[1],a=r[2],f=de(n,t,a),o=f[0],u=f[1],c=f[2],i=Kr(o,u,c);return[i[0],i[1],i[2],3<r.length?r[3]:1]},pe=o.unpack,ge=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=pe(r,"hcl").reverse();return be.apply(void 0,n)},ve=o.unpack,me=o.type;A.prototype.lch=function(){return ue(this._rgb)},A.prototype.hcl=function(){return ue(this._rgb).reverse()},_.lch=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(A,[null].concat(r,["lch"])))},_.hcl=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(A,[null].concat(r,["hcl"])))},b.format.lch=be,b.format.hcl=ge,["lch","hcl"].forEach(function(n){return b.autodetect.push({p:2,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=ve(r,n),"array"===me(r)&&3===r.length)return n}})});var ye={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},we=o.type;A.prototype.name=function(){for(var r=tr(this._rgb,"rgb"),e=0,n=Object.keys(ye);e<n.length;e+=1){var t=n[e];if(ye[t]===r)return t.toLowerCase()}return r},b.format.named=function(r){if(r=r.toLowerCase(),ye[r])return or(ye[r]);throw new Error("unknown color name: "+r)},b.autodetect.push({p:5,test:function(r){for(var e=[],n=arguments.length-1;0<n--;)e[n]=arguments[n+1];if(!e.length&&"string"===we(r)&&ye[r.toLowerCase()])return"named"}});var ke=o.unpack,Me=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=ke(r,"rgb");return(n[0]<<16)+(n[1]<<8)+n[2]},Ne=o.type,_e=function(r){if("number"==Ne(r)&&0<=r&&r<=16777215)return[r>>16,r>>8&255,255&r,1];throw new Error("unknown num color: "+r)},xe=o.type;A.prototype.num=function(){return Me(this._rgb)},_.num=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(A,[null].concat(r,["num"])))},b.format.num=_e,b.autodetect.push({p:5,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(1===r.length&&"number"===xe(r[0])&&0<=r[0]&&r[0]<=16777215)return"num"}});var Ae=o.unpack,Ee=o.type,Pe=Math.round;A.prototype.rgb=function(r){return void 0===r&&(r=!0),!1===r?this._rgb.slice(0,3):this._rgb.slice(0,3).map(Pe)},A.prototype.rgba=function(n){return void 0===n&&(n=!0),this._rgb.slice(0,4).map(function(r,e){return e<3?!1===n?r:Pe(r):r})},_.rgb=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(A,[null].concat(r,["rgb"])))},b.format.rgb=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=Ae(r,"rgba");return void 0===n[3]&&(n[3]=1),n},b.autodetect.push({p:3,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=Ae(r,"rgba"),"array"===Ee(r)&&(3===r.length||4===r.length&&"number"==Ee(r[3])&&0<=r[3]&&r[3]<=1))return"rgb"}});var Fe=Math.log,Oe=function(r){var e,n,t,a=r/100;return t=a<66?(e=255,n=-155.25485562709179-.44596950469579133*(n=a-2)+104.49216199393888*Fe(n),a<20?0:.8274096064007395*(t=a-10)-254.76935184120902+115.67994401066147*Fe(t)):(e=351.97690566805693+.114206453784165*(e=a-55)-40.25366309332127*Fe(e),n=325.4494125711974+.07943456536662342*(n=a-50)-28.0852963507957*Fe(n),255),[e,n,t,1]},je=o.unpack,Ge=Math.round,qe=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];for(var n,t=je(r,"rgb"),a=t[0],f=t[2],o=1e3,u=4e4;.4<u-o;){var c=Oe(n=.5*(u+o));c[2]/c[0]>=f/a?u=n:o=n}return Ge(n)};A.prototype.temp=A.prototype.kelvin=A.prototype.temperature=function(){return qe(this._rgb)},_.temp=_.kelvin=_.temperature=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(A,[null].concat(r,["temp"])))},b.format.temp=b.format.kelvin=b.format.temperature=Oe;var Le=o.type;A.prototype.alpha=function(r,e){return void 0===e&&(e=!1),void 0!==r&&"number"===Le(r)?e?(this._rgb[3]=r,this):new A([this._rgb[0],this._rgb[1],this._rgb[2],r],"rgb"):this._rgb[3]},A.prototype.clipped=function(){return this._rgb._clipped||!1},A.prototype.darken=function(r){void 0===r&&(r=1);var e=this.lab();return e[0]-=qr*r,new A(e,"lab").alpha(this.alpha(),!0)},A.prototype.brighten=function(r){return void 0===r&&(r=1),this.darken(-r)},A.prototype.darker=A.prototype.darken,A.prototype.brighter=A.prototype.brighten,A.prototype.get=function(r){var e=r.split("."),n=e[0],t=e[1],a=this[n]();if(t){var f=n.indexOf(t);if(-1<f)return a[f];throw new Error("unknown channel "+t+" in mode "+n)}return a};var Re=o.type,Ie=Math.pow;A.prototype.luminance=function(a){if(void 0===a||"number"!==Re(a))return Be.apply(void 0,this._rgb.slice(0,3));if(0===a)return new A([0,0,0,this._rgb[3]],"rgb");if(1===a)return new A([255,255,255,this._rgb[3]],"rgb");var r=this.luminance(),f=20,o=function(r,e){var n=r.interpolate(e,.5,"rgb"),t=n.luminance();return Math.abs(a-t)<1e-7||!f--?n:a<t?o(r,n):o(n,e)},e=(a<r?o(new A([0,0,0]),this):o(this,new A([255,255,255]))).rgb();return new A(e.concat([this._rgb[3]]))};var Be=function(r,e,n){return.2126*(r=Ce(r))+.7152*(e=Ce(e))+.0722*(n=Ce(n))},Ce=function(r){return(r/=255)<=.03928?r/12.92:Ie((r+.055)/1.055,2.4)},De={},Se=o.type,$e=function(r,e,n){void 0===n&&(n=.5);for(var t=[],a=arguments.length-3;0<a--;)t[a]=arguments[a+3];var f=t[0]||"lrgb";if(De[f]||t.length||(f=Object.keys(De)[0]),!De[f])throw new Error("interpolation mode "+f+" is not defined");return"object"!==Se(r)&&(r=new A(r)),"object"!==Se(e)&&(e=new A(e)),De[f](r,e,n).alpha(r.alpha()+n*(e.alpha()-r.alpha()))};A.prototype.mix=A.prototype.interpolate=function(r,e){void 0===e&&(e=.5);for(var n=[],t=arguments.length-2;0<t--;)n[t]=arguments[t+2];return $e.apply(void 0,[this,r,e].concat(n))},A.prototype.premultiply=function(r){void 0===r&&(r=!1);var e=this._rgb,n=e[3];return r?(this._rgb=[e[0]*n,e[1]*n,e[2]*n,n],this):new A([e[0]*n,e[1]*n,e[2]*n,n],"rgb")},A.prototype.saturate=function(r){void 0===r&&(r=1);var e=this.lch();return e[1]+=qr*r,e[1]<0&&(e[1]=0),new A(e,"lch").alpha(this.alpha(),!0)},A.prototype.desaturate=function(r){return void 0===r&&(r=1),this.saturate(-r)};var Ye=o.type;A.prototype.set=function(r,e,n){void 0===n&&(n=!1);var t=r.split("."),a=t[0],f=t[1],o=this[a]();if(f){var u=a.indexOf(f);if(-1<u){if("string"==Ye(e))switch(e.charAt(0)){case"+":case"-":o[u]+=+e;break;case"*":o[u]*=+e.substr(1);break;case"/":o[u]/=+e.substr(1);break;default:o[u]=+e}else{if("number"!==Ye(e))throw new Error("unsupported value for Color.set");o[u]=e}var c=new A(o,a);return n?(this._rgb=c._rgb,this):c}throw new Error("unknown channel "+f+" in mode "+a)}return o};De.rgb=function(r,e,n){var t=r._rgb,a=e._rgb;return new A(t[0]+n*(a[0]-t[0]),t[1]+n*(a[1]-t[1]),t[2]+n*(a[2]-t[2]),"rgb")};var ze=Math.sqrt,Te=Math.pow;De.lrgb=function(r,e,n){var t=r._rgb,a=t[0],f=t[1],o=t[2],u=e._rgb,c=u[0],i=u[1],l=u[2];return new A(ze(Te(a,2)*(1-n)+Te(c,2)*n),ze(Te(f,2)*(1-n)+Te(i,2)*n),ze(Te(o,2)*(1-n)+Te(l,2)*n),"rgb")};De.lab=function(r,e,n){var t=r.lab(),a=e.lab();return new A(t[0]+n*(a[0]-t[0]),t[1]+n*(a[1]-t[1]),t[2]+n*(a[2]-t[2]),"lab")};var Ue=function(r,e,n,t){var a,f,o,u,c,i,l,h,d,s,b,p;return"hsl"===t?(o=r.hsl(),u=e.hsl()):"hsv"===t?(o=r.hsv(),u=e.hsv()):"hcg"===t?(o=r.hcg(),u=e.hcg()):"hsi"===t?(o=r.hsi(),u=e.hsi()):"lch"!==t&&"hcl"!==t||(t="hcl",o=r.hcl(),u=e.hcl()),"h"===t.substr(0,1)&&(c=(a=o)[0],l=a[1],d=a[2],i=(f=u)[0],h=f[1],s=f[2]),isNaN(c)||isNaN(i)?isNaN(c)?isNaN(i)?p=Number.NaN:(p=i,1!=d&&0!=d||"hsv"==t||(b=h)):(p=c,1!=s&&0!=s||"hsv"==t||(b=l)):p=c+n*(c<i&&180<i-c?i-(c+360):i<c&&180<c-i?i+360-c:i-c),void 0===b&&(b=l+n*(h-l)),new A([p,b,d+n*(s-d)],t)},Ve=function(r,e,n){return Ue(r,e,n,"lch")};De.lch=Ve,De.hcl=Ve;De.num=function(r,e,n){var t=r.num(),a=e.num();return new A(t+n*(a-t),"num")};De.hcg=function(r,e,n){return Ue(r,e,n,"hcg")};De.hsi=function(r,e,n){return Ue(r,e,n,"hsi")};De.hsl=function(r,e,n){return Ue(r,e,n,"hsl")};De.hsv=function(r,e,n){return Ue(r,e,n,"hsv")};var We=o.clip_rgb,Xe=Math.pow,He=Math.sqrt,Je=Math.PI,Ke=Math.cos,Qe=Math.sin,Ze=Math.atan2,rn=function(r,e){for(var n=r.length,t=[0,0,0,0],a=0;a<r.length;a++){var f=r[a],o=e[a]/n,u=f._rgb;t[0]+=Xe(u[0],2)*o,t[1]+=Xe(u[1],2)*o,t[2]+=Xe(u[2],2)*o,t[3]+=u[3]*o}return t[0]=He(t[0]),t[1]=He(t[1]),t[2]=He(t[2]),.9999999<t[3]&&(t[3]=1),new A(We(t))},en=o.type,nn=Math.pow,tn=function(i){var u="rgb",c=_("#ccc"),e=0,l=[0,1],h=[],d=[0,0],s=!1,b=[],n=!1,p=0,g=1,t=!1,v={},m=!0,y=1,a=function(r){if((r=r||["#fff","#000"])&&"string"===en(r)&&_.brewer&&_.brewer[r.toLowerCase()]&&(r=_.brewer[r.toLowerCase()]),"array"===en(r)){1===r.length&&(r=[r[0],r[0]]),r=r.slice(0);for(var e=0;e<r.length;e++)r[e]=_(r[e]);for(var n=h.length=0;n<r.length;n++)h.push(n/(r.length-1))}return f(),b=r},w=function(r){return r},k=function(r){return r},M=function(r,e){var n,t;if(null==e&&(e=!1),isNaN(r)||null===r)return c;e?t=r:t=s&&2<s.length?function(r){if(null==s)return 0;for(var e=s.length-1,n=0;n<e&&r>=s[n];)n++;return n-1}(r)/(s.length-2):g!==p?(r-p)/(g-p):1;t=k(t),e||(t=w(t)),1!==y&&(t=nn(t,y)),t=d[0]+t*(1-d[0]-d[1]),t=Math.min(1,Math.max(0,t));var a=Math.floor(1e4*t);if(m&&v[a])n=v[a];else{if("array"===en(b))for(var f=0;f<h.length;f++){var o=h[f];if(t<=o){n=b[f];break}if(o<=t&&f===h.length-1){n=b[f];break}if(o<t&&t<h[f+1]){t=(t-o)/(h[f+1]-o),n=_.interpolate(b[f],b[f+1],t,u);break}}else"function"===en(b)&&(n=b(t));m&&(v[a]=n)}return n},f=function(){return v={}};a(i);var N=function(r){var e=_(M(r));return n&&e[n]?e[n]():e};return N.classes=function(r){if(null==r)return s;if("array"===en(r))l=[(s=r)[0],r[r.length-1]];else{var e=_.analyze(l);s=0===r?[e.min,e.max]:_.limits(e,"e",r)}return N},N.domain=function(n){if(!arguments.length)return l;p=n[0],g=n[n.length-1],h=[];var r=b.length;if(n.length===r&&p!==g)for(var e=0,t=Array.from(n);e<t.length;e+=1){var a=t[e];h.push((a-p)/(g-p))}else{for(var f=0;f<r;f++)h.push(f/(r-1));if(2<n.length){var o=n.map(function(r,e){return e/(n.length-1)}),u=n.map(function(r){return(r-p)/(g-p)});u.every(function(r,e){return o[e]===r})||(k=function(r){if(r<=0||1<=r)return r;for(var e=0;r>=u[e+1];)e++;var n=(r-u[e])/(u[e+1]-u[e]);return o[e]+n*(o[e+1]-o[e])})}}return l=[p,g],N},N.mode=function(r){return arguments.length?(u=r,f(),N):u},N.range=function(r,e){return a(r),N},N.out=function(r){return n=r,N},N.spread=function(r){return arguments.length?(e=r,N):e},N.correctLightness=function(r){return null==r&&(r=!0),t=r,f(),w=t?function(r){for(var e=M(0,!0).lab()[0],n=M(1,!0).lab()[0],t=n<e,a=M(r,!0).lab()[0],f=e+(n-e)*r,o=a-f,u=0,c=1,i=20;.01<Math.abs(o)&&0<i--;)t&&(o*=-1),r+=o<0?.5*(c-(u=r)):.5*(u-(c=r)),a=M(r,!0).lab()[0],o=a-f;return r}:function(r){return r},N},N.padding=function(r){return null!=r?("number"===en(r)&&(r=[r,r]),d=r,N):d},N.colors=function(e,n){arguments.length<2&&(n="hex");var r=[];if(0===arguments.length)r=b.slice(0);else if(1===e)r=[N(.5)];else if(1<e){var t=l[0],a=l[1]-t;r=function(r,e,n){for(var t=[],a=r<e,f=n?a?e+1:e-1:e,o=r;a?o<f:f<o;a?o++:o--)t.push(o);return t}(0,e,!1).map(function(r){return N(t+r/(e-1)*a)})}else{i=[];var f=[];if(s&&2<s.length)for(var o=1,u=s.length,c=1<=u;c?o<u:u<o;c?o++:o--)f.push(.5*(s[o-1]+s[o]));else f=l;r=f.map(function(r){return N(r)})}return _[n]&&(r=r.map(function(r){return r[n]()})),r},N.cache=function(r){return null!=r?(m=r,N):m},N.gamma=function(r){return null!=r?(y=r,N):y},N.nodata=function(r){return null!=r?(c=_(r),N):c},N};var an=function(r){var e,n,t,a,f,o,u;if(2===(r=r.map(function(r){return new A(r)})).length)e=r.map(function(r){return r.lab()}),f=e[0],o=e[1],a=function(e){var r=[0,1,2].map(function(r){return f[r]+e*(o[r]-f[r])});return new A(r,"lab")};else if(3===r.length)n=r.map(function(r){return r.lab()}),f=n[0],o=n[1],u=n[2],a=function(e){var r=[0,1,2].map(function(r){return(1-e)*(1-e)*f[r]+2*(1-e)*e*o[r]+e*e*u[r]});return new A(r,"lab")};else if(4===r.length){var c;t=r.map(function(r){return r.lab()}),f=t[0],o=t[1],u=t[2],c=t[3],a=function(e){var r=[0,1,2].map(function(r){return(1-e)*(1-e)*(1-e)*f[r]+3*(1-e)*(1-e)*e*o[r]+3*(1-e)*e*e*u[r]+e*e*e*c[r]});return new A(r,"lab")}}else if(5===r.length){var i=an(r.slice(0,3)),l=an(r.slice(2,5));a=function(r){return r<.5?i(2*r):l(2*(r-.5))}}return a},fn=function(r,e,n){if(!fn[n])throw new Error("unknown blend mode "+n);return fn[n](r,e)},on=function(a){return function(r,e){var n=_(e).rgb(),t=_(r).rgb();return _.rgb(a(n,t))}},un=function(t){return function(r,e){var n=[];return n[0]=t(r[0],e[0]),n[1]=t(r[1],e[1]),n[2]=t(r[2],e[2]),n}};fn.normal=on(un(function(r){return r})),fn.multiply=on(un(function(r,e){return r*e/255})),fn.screen=on(un(function(r,e){return 255*(1-(1-r/255)*(1-e/255))})),fn.overlay=on(un(function(r,e){return e<128?2*r*e/255:255*(1-2*(1-r/255)*(1-e/255))})),fn.darken=on(un(function(r,e){return e<r?e:r})),fn.lighten=on(un(function(r,e){return e<r?r:e})),fn.dodge=on(un(function(r,e){return 255===r?255:255<(r=e/255*255/(1-r/255))?255:r})),fn.burn=on(un(function(r,e){return 255*(1-(1-e/255)/(r/255))}));for(var cn=fn,ln=o.type,hn=o.clip_rgb,dn=o.TWOPI,sn=Math.pow,bn=Math.sin,pn=Math.cos,gn=Math.floor,vn=Math.random,mn=Math.log,yn=Math.pow,wn=Math.floor,kn=Math.abs,Mn=function(r,e){void 0===e&&(e=null);var n={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0};return"object"===Y(r)&&(r=Object.values(r)),r.forEach(function(r){e&&"object"===Y(r)&&(r=r[e]),null==r||isNaN(r)||(n.values.push(r),n.sum+=r,r<n.min&&(n.min=r),r>n.max&&(n.max=r),n.count+=1)}),n.domain=[n.min,n.max],n.limits=function(r,e){return Nn(n,r,e)},n},Nn=function(r,e,n){void 0===e&&(e="equal"),void 0===n&&(n=7),"array"==Y(r)&&(r=Mn(r));var t=r.min,a=r.max,f=r.values.sort(function(r,e){return r-e});if(1===n)return[t,a];var o=[];if("c"===e.substr(0,1)&&(o.push(t),o.push(a)),"e"===e.substr(0,1)){o.push(t);for(var u=1;u<n;u++)o.push(t+u/n*(a-t));o.push(a)}else if("l"===e.substr(0,1)){if(t<=0)throw new Error("Logarithmic scales are only possible for values > 0");var c=Math.LOG10E*mn(t),i=Math.LOG10E*mn(a);o.push(t);for(var l=1;l<n;l++)o.push(yn(10,c+l/n*(i-c)));o.push(a)}else if("q"===e.substr(0,1)){o.push(t);for(var h=1;h<n;h++){var d=(f.length-1)*h/n,s=wn(d);if(s===d)o.push(f[s]);else{var b=d-s;o.push(f[s]*(1-b)+f[s+1]*b)}}o.push(a)}else if("k"===e.substr(0,1)){var p,g=f.length,v=new Array(g),m=new Array(n),y=!0,w=0,k=null;(k=[]).push(t);for(var M=1;M<n;M++)k.push(t+M/n*(a-t));for(k.push(a);y;){for(var N=0;N<n;N++)m[N]=0;for(var _=0;_<g;_++)for(var x=f[_],A=Number.MAX_VALUE,E=void 0,P=0;P<n;P++){var F=kn(k[P]-x);F<A&&(A=F,E=P),m[E]++,v[_]=E}for(var O=new Array(n),j=0;j<n;j++)O[j]=null;for(var G=0;G<g;G++)null===O[p=v[G]]?O[p]=f[G]:O[p]+=f[G];for(var q=0;q<n;q++)O[q]*=1/m[q];y=!1;for(var L=0;L<n;L++)if(O[L]!==k[L]){y=!0;break}k=O,200<++w&&(y=!1)}for(var R={},I=0;I<n;I++)R[I]=[];for(var B=0;B<g;B++)R[p=v[B]].push(f[B]);for(var C=[],D=0;D<n;D++)C.push(R[D][0]),C.push(R[D][R[D].length-1]);C=C.sort(function(r,e){return r-e}),o.push(C[0]);for(var S=1;S<C.length;S+=2){var $=C[S];isNaN($)||-1!==o.indexOf($)||o.push($)}}return o},_n={analyze:Mn,limits:Nn},xn=Math.sqrt,An=Math.atan2,En=Math.abs,Pn=Math.cos,Fn=Math.PI,On={cool:function(){return tn([_.hsl(180,1,.9),_.hsl(250,.7,.4)])},hot:function(){return tn(["#000","#f00","#ff0","#fff"]).mode("rgb")}},jn={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},Gn=0,qn=Object.keys(jn);Gn<qn.length;Gn+=1){var Ln=qn[Gn];jn[Ln.toLowerCase()]=jn[Ln]}var Rn=jn;return _.average=function(r,f,o){void 0===f&&(f="lrgb"),void 0===o&&(o=null);var e=r.length;o||(o=Array.from(new Array(e)).map(function(){return 1}));var n=e/o.reduce(function(r,e){return r+e});if(o.forEach(function(r,e){o[e]*=n}),r=r.map(function(r){return new A(r)}),"lrgb"===f)return rn(r,o);for(var t=r.shift(),u=t.get(f),c=[],i=0,l=0,a=0;a<u.length;a++)if(u[a]=(u[a]||0)*o[0],c.push(isNaN(u[a])?0:o[0]),"h"===f.charAt(a)&&!isNaN(u[a])){var h=u[a]/180*Je;i+=Ke(h)*o[0],l+=Qe(h)*o[0]}var d=t.alpha()*o[0];r.forEach(function(r,e){var n=r.get(f);d+=r.alpha()*o[e+1];for(var t=0;t<u.length;t++)if(!isNaN(n[t]))if(c[t]+=o[e+1],"h"===f.charAt(t)){var a=n[t]/180*Je;i+=Ke(a)*o[e+1],l+=Qe(a)*o[e+1]}else u[t]+=n[t]*o[e+1]});for(var s=0;s<u.length;s++)if("h"===f.charAt(s)){for(var b=Ze(l/c[s],i/c[s])/Je*180;b<0;)b+=360;for(;360<=b;)b-=360;u[s]=b}else u[s]=u[s]/c[s];return d/=e,new A(u,f).alpha(.99999<d?1:d,!0)},_.bezier=function(r){var e=an(r);return e.scale=function(){return tn(e)},e},_.blend=cn,_.cubehelix=function(o,u,c,i,l){void 0===o&&(o=300),void 0===u&&(u=-1.5),void 0===c&&(c=1),void 0===i&&(i=1),void 0===l&&(l=[0,1]);var h,d=0;"array"===ln(l)?h=l[1]-l[0]:(h=0,l=[l,l]);var e=function(r){var e=dn*((o+120)/360+u*r),n=sn(l[0]+h*r,i),t=(0!==d?c[0]+r*d:c)*n*(1-n)/2,a=pn(e),f=bn(e);return _(hn([255*(n+t*(-.14861*a+1.78277*f)),255*(n+t*(-.29227*a-.90649*f)),255*(n+t*(1.97294*a)),1]))};return e.start=function(r){return null==r?o:(o=r,e)},e.rotations=function(r){return null==r?u:(u=r,e)},e.gamma=function(r){return null==r?i:(i=r,e)},e.hue=function(r){return null==r?c:("array"===ln(c=r)?0==(d=c[1]-c[0])&&(c=c[1]):d=0,e)},e.lightness=function(r){return null==r?l:(h="array"===ln(r)?(l=r)[1]-r[0]:(l=[r,r],0),e)},e.scale=function(){return _.scale(e)},e.hue(c),e},_.mix=_.interpolate=$e,_.random=function(){for(var r="#",e=0;e<6;e++)r+="0123456789abcdef".charAt(gn(16*vn()));return new A(r,"hex")},_.scale=tn,_.analyze=_n.analyze,_.contrast=function(r,e){r=new A(r),e=new A(e);var n=r.luminance(),t=e.luminance();return t<n?(n+.05)/(t+.05):(t+.05)/(n+.05)},_.deltaE=function(r,e,n,t){void 0===n&&(n=1),void 0===t&&(t=1),r=new A(r),e=new A(e);for(var a=Array.from(r.lab()),f=a[0],o=a[1],u=a[2],c=Array.from(e.lab()),i=c[0],l=c[1],h=c[2],d=xn(o*o+u*u),s=xn(l*l+h*h),b=f<16?.511:.040975*f/(1+.01765*f),p=.0638*d/(1+.0131*d)+.638,g=d<1e-6?0:180*An(u,o)/Fn;g<0;)g+=360;for(;360<=g;)g-=360;var v=164<=g&&g<=345?.56+En(.2*Pn(Fn*(g+168)/180)):.36+En(.4*Pn(Fn*(g+35)/180)),m=d*d*d*d,y=xn(m/(m+1900)),w=p*(y*v+1-y),k=d-s,M=o-l,N=u-h,_=(f-i)/(n*b),x=k/(t*p);return xn(_*_+x*x+(M*M+N*N-k*k)/(w*w))},_.distance=function(r,e,n){void 0===n&&(n="lab"),r=new A(r),e=new A(e);var t=r.get(n),a=e.get(n),f=0;for(var o in t){var u=(t[o]||0)-(a[o]||0);f+=u*u}return Math.sqrt(f)},_.limits=_n.limits,_.valid=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];try{return new(Function.prototype.bind.apply(A,[null].concat(r))),!0}catch(r){return!1}},_.scales=On,_.colors=ye,_.brewer=Rn,_});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6322 </script>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6323
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6324 <!-- Table sorter -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6325 <script >!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&"object"==typeof module.exports?module.exports=e(require("jquery")):e(jQuery)}(function(e){return function(A){"use strict";var L=A.tablesorter={version:"2.31.3",parsers:[],widgets:[],defaults:{theme:"default",widthFixed:!1,showProcessing:!1,headerTemplate:"{content}",onRenderTemplate:null,onRenderHeader:null,cancelSelection:!0,tabIndex:!0,dateFormat:"mmddyyyy",sortMultiSortKey:"shiftKey",sortResetKey:"ctrlKey",usNumberFormat:!0,delayInit:!1,serverSideSorting:!1,resort:!0,headers:{},ignoreCase:!0,sortForce:null,sortList:[],sortAppend:null,sortStable:!1,sortInitialOrder:"asc",sortLocaleCompare:!1,sortReset:!1,sortRestart:!1,emptyTo:"bottom",stringTo:"max",duplicateSpan:!0,textExtraction:"basic",textAttribute:"data-text",textSorter:null,numberSorter:null,initWidgets:!0,widgetClass:"widget-{name}",widgets:[],widgetOptions:{zebra:["even","odd"]},initialized:null,tableClass:"",cssAsc:"",cssDesc:"",cssNone:"",cssHeader:"",cssHeaderRow:"",cssProcessing:"",cssChildRow:"tablesorter-childRow",cssInfoBlock:"tablesorter-infoOnly",cssNoSort:"tablesorter-noSort",cssIgnoreRow:"tablesorter-ignoreRow",cssIcon:"tablesorter-icon",cssIconNone:"",cssIconAsc:"",cssIconDesc:"",cssIconDisabled:"",pointerClick:"click",pointerDown:"mousedown",pointerUp:"mouseup",selectorHeaders:"> thead th, > thead td",selectorSort:"th, td",selectorRemove:".remove-me",debug:!1,headerList:[],empties:{},strings:{},parsers:[],globalize:0,imgAttr:0},css:{table:"tablesorter",cssHasChild:"tablesorter-hasChildRow",childRow:"tablesorter-childRow",colgroup:"tablesorter-colgroup",header:"tablesorter-header",headerRow:"tablesorter-headerRow",headerIn:"tablesorter-header-inner",icon:"tablesorter-icon",processing:"tablesorter-processing",sortAsc:"tablesorter-headerAsc",sortDesc:"tablesorter-headerDesc",sortNone:"tablesorter-headerUnSorted"},language:{sortAsc:"Ascending sort applied, ",sortDesc:"Descending sort applied, ",sortNone:"No sort applied, ",sortDisabled:"sorting is disabled",nextAsc:"activate to apply an ascending sort",nextDesc:"activate to apply a descending sort",nextNone:"activate to remove the sort"},regex:{templateContent:/\{content\}/g,templateIcon:/\{icon\}/g,templateName:/\{name\}/i,spaces:/\s+/g,nonWord:/\W/g,formElements:/(input|select|button|textarea)/i,chunk:/(^([+\-]?(?:\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi,chunks:/(^\\0|\\0$)/,hex:/^0x[0-9a-f]+$/i,comma:/,/g,digitNonUS:/[\s|\.]/g,digitNegativeTest:/^\s*\([.\d]+\)/,digitNegativeReplace:/^\s*\(([.\d]+)\)/,digitTest:/^[\-+(]?\d+[)]?$/,digitReplace:/[,.'"\s]/g},string:{max:1,min:-1,emptymin:1,emptymax:-1,zero:0,none:0,"null":0,top:!0,bottom:!1},keyCodes:{enter:13},dates:{},instanceMethods:{},setup:function(t,r){if(t&&t.tHead&&0!==t.tBodies.length&&!0!==t.hasInitialized){var e,o="",s=A(t),a=A.metadata;t.hasInitialized=!1,t.isProcessing=!0,t.config=r,A.data(t,"tablesorter",r),L.debug(r,"core")&&(console[console.group?"group":"log"]("Initializing tablesorter v"+L.version),A.data(t,"startoveralltimer",new Date)),r.supportsDataObject=((e=A.fn.jquery.split("."))[0]=parseInt(e[0],10),1<e[0]||1===e[0]&&4<=parseInt(e[1],10)),r.emptyTo=r.emptyTo.toLowerCase(),r.stringTo=r.stringTo.toLowerCase(),r.last={sortList:[],clickedIndex:-1},/tablesorter\-/.test(s.attr("class"))||(o=""!==r.theme?" tablesorter-"+r.theme:""),r.namespace?r.namespace="."+r.namespace.replace(L.regex.nonWord,""):r.namespace=".tablesorter"+Math.random().toString(16).slice(2),r.table=t,r.$table=s.addClass(L.css.table+" "+r.tableClass+o+" "+r.namespace.slice(1)).attr("role","grid"),r.$headers=s.find(r.selectorHeaders),r.$table.children().children("tr").attr("role","row"),r.$tbodies=s.children("tbody:not(."+r.cssInfoBlock+")").attr({"aria-live":"polite","aria-relevant":"all"}),r.$table.children("caption").length&&((o=r.$table.children("caption")[0]).id||(o.id=r.namespace.slice(1)+"caption"),r.$table.attr("aria-labelledby",o.id)),r.widgetInit={},r.textExtraction=r.$table.attr("data-text-extraction")||r.textExtraction||"basic",L.buildHeaders(r),L.fixColumnWidth(t),L.addWidgetFromClass(t),L.applyWidgetOptions(t),L.setupParsers(r),r.totalRows=0,r.debug&&L.validateOptions(r),r.delayInit||L.buildCache(r),L.bindEvents(t,r.$headers,!0),L.bindMethods(r),r.supportsDataObject&&void 0!==s.data().sortlist?r.sortList=s.data().sortlist:a&&s.metadata()&&s.metadata().sortlist&&(r.sortList=s.metadata().sortlist),L.applyWidget(t,!0),0<r.sortList.length?(r.last.sortList=r.sortList,L.sortOn(r,r.sortList,{},!r.initWidgets)):(L.setHeadersCss(r),r.initWidgets&&L.applyWidget(t,!1)),r.showProcessing&&s.unbind("sortBegin"+r.namespace+" sortEnd"+r.namespace).bind("sortBegin"+r.namespace+" sortEnd"+r.namespace,function(e){clearTimeout(r.timerProcessing),L.isProcessing(t),"sortBegin"===e.type&&(r.timerProcessing=setTimeout(function(){L.isProcessing(t,!0)},500))}),t.hasInitialized=!0,t.isProcessing=!1,L.debug(r,"core")&&(console.log("Overall initialization time:"+L.benchmark(A.data(t,"startoveralltimer"))),L.debug(r,"core")&&console.groupEnd&&console.groupEnd()),s.triggerHandler("tablesorter-initialized",t),"function"==typeof r.initialized&&r.initialized(t)}else L.debug(r,"core")&&(t.hasInitialized?console.warn("Stopping initialization. Tablesorter has already been initialized"):console.error("Stopping initialization! No table, thead or tbody",t))},bindMethods:function(r){var e=r.$table,t=r.namespace,o="sortReset update updateRows updateAll updateHeaders addRows updateCell updateComplete sorton appendCache updateCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave ".split(" ").join(t+" ");e.unbind(o.replace(L.regex.spaces," ")).bind("sortReset"+t,function(e,t){e.stopPropagation(),L.sortReset(this.config,function(e){e.isApplyingWidgets?setTimeout(function(){L.applyWidget(e,"",t)},100):L.applyWidget(e,"",t)})}).bind("updateAll"+t,function(e,t,r){e.stopPropagation(),L.updateAll(this.config,t,r)}).bind("update"+t+" updateRows"+t,function(e,t,r){e.stopPropagation(),L.update(this.config,t,r)}).bind("updateHeaders"+t,function(e,t){e.stopPropagation(),L.updateHeaders(this.config,t)}).bind("updateCell"+t,function(e,t,r,o){e.stopPropagation(),L.updateCell(this.config,t,r,o)}).bind("addRows"+t,function(e,t,r,o){e.stopPropagation(),L.addRows(this.config,t,r,o)}).bind("updateComplete"+t,function(){this.isUpdating=!1}).bind("sorton"+t,function(e,t,r,o){e.stopPropagation(),L.sortOn(this.config,t,r,o)}).bind("appendCache"+t,function(e,t,r){e.stopPropagation(),L.appendCache(this.config,r),A.isFunction(t)&&t(this)}).bind("updateCache"+t,function(e,t,r){e.stopPropagation(),L.updateCache(this.config,t,r)}).bind("applyWidgetId"+t,function(e,t){e.stopPropagation(),L.applyWidgetId(this,t)}).bind("applyWidgets"+t,function(e,t){e.stopPropagation(),L.applyWidget(this,!1,t)}).bind("refreshWidgets"+t,function(e,t,r){e.stopPropagation(),L.refreshWidgets(this,t,r)}).bind("removeWidget"+t,function(e,t,r){e.stopPropagation(),L.removeWidget(this,t,r)}).bind("destroy"+t,function(e,t,r){e.stopPropagation(),L.destroy(this,t,r)}).bind("resetToLoadState"+t,function(e){e.stopPropagation(),L.removeWidget(this,!0,!1);var t=A.extend(!0,{},r.originalSettings);(r=A.extend(!0,{},L.defaults,t)).originalSettings=t,this.hasInitialized=!1,L.setup(this,r)})},bindEvents:function(e,t,r){var o,i=(e=A(e)[0]).config,s=i.namespace,d=null;!0!==r&&(t.addClass(s.slice(1)+"_extra_headers"),(o=L.getClosest(t,"table")).length&&"TABLE"===o[0].nodeName&&o[0]!==e&&A(o[0]).addClass(s.slice(1)+"_extra_table")),o=(i.pointerDown+" "+i.pointerUp+" "+i.pointerClick+" sort keyup ").replace(L.regex.spaces," ").split(" ").join(s+" "),t.find(i.selectorSort).add(t.filter(i.selectorSort)).unbind(o).bind(o,function(e,t){var r,o,s,a=A(e.target),n=" "+e.type+" ";if(!(1!==(e.which||e.button)&&!n.match(" "+i.pointerClick+" | sort | keyup ")||" keyup "===n&&e.which!==L.keyCodes.enter||n.match(" "+i.pointerClick+" ")&&void 0!==e.which||n.match(" "+i.pointerUp+" ")&&d!==e.target&&!0!==t)){if(n.match(" "+i.pointerDown+" "))return d=e.target,void("1"===(s=a.jquery.split("."))[0]&&s[1]<4&&e.preventDefault());if(d=null,r=L.getClosest(A(this),"."+L.css.header),L.regex.formElements.test(e.target.nodeName)||a.hasClass(i.cssNoSort)||0<a.parents("."+i.cssNoSort).length||r.hasClass("sorter-false")||0<a.parents("button").length)return!i.cancelSelection;i.delayInit&&L.isEmptyObject(i.cache)&&L.buildCache(i),i.last.clickedIndex=r.attr("data-column")||r.index(),(o=i.$headerIndexed[i.last.clickedIndex][0])&&!o.sortDisabled&&L.initSort(i,o,e)}}),i.cancelSelection&&t.attr("unselectable","on").bind("selectstart",!1).css({"user-select":"none",MozUserSelect:"none"})},buildHeaders:function(d){var e,l,t,r;for(d.headerList=[],d.headerContent=[],d.sortVars=[],L.debug(d,"core")&&(t=new Date),d.columns=L.computeColumnIndex(d.$table.children("thead, tfoot").children("tr")),l=d.cssIcon?'<i class="'+(d.cssIcon===L.css.icon?L.css.icon:d.cssIcon+" "+L.css.icon)+'"></i>':"",d.$headers=A(A.map(d.$table.find(d.selectorHeaders),function(e,t){var r,o,s,a,n,i=A(e);if(!L.getClosest(i,"tr").hasClass(d.cssIgnoreRow))return/(th|td)/i.test(e.nodeName)||(n=L.getClosest(i,"th, td"),i.attr("data-column",n.attr("data-column"))),r=L.getColumnData(d.table,d.headers,t,!0),d.headerContent[t]=i.html(),""===d.headerTemplate||i.find("."+L.css.headerIn).length||(a=d.headerTemplate.replace(L.regex.templateContent,i.html()).replace(L.regex.templateIcon,i.find("."+L.css.icon).length?"":l),d.onRenderTemplate&&(o=d.onRenderTemplate.apply(i,[t,a]))&&"string"==typeof o&&(a=o),i.html('<div class="'+L.css.headerIn+'">'+a+"</div>")),d.onRenderHeader&&d.onRenderHeader.apply(i,[t,d,d.$table]),s=parseInt(i.attr("data-column"),10),e.column=s,n=L.getOrder(L.getData(i,r,"sortInitialOrder")||d.sortInitialOrder),d.sortVars[s]={count:-1,order:n?d.sortReset?[1,0,2]:[1,0]:d.sortReset?[0,1,2]:[0,1],lockedOrder:!1,sortedBy:""},void 0!==(n=L.getData(i,r,"lockedOrder")||!1)&&!1!==n&&(d.sortVars[s].lockedOrder=!0,d.sortVars[s].order=L.getOrder(n)?[1,1]:[0,0]),d.headerList[t]=e,i.addClass(L.css.header+" "+d.cssHeader),L.getClosest(i,"tr").addClass(L.css.headerRow+" "+d.cssHeaderRow).attr("role","row"),d.tabIndex&&i.attr("tabindex",0),e})),d.$headerIndexed=[],r=0;r<d.columns;r++)L.isEmptyObject(d.sortVars[r])&&(d.sortVars[r]={}),e=d.$headers.filter('[data-column="'+r+'"]'),d.$headerIndexed[r]=e.length?e.not(".sorter-false").length?e.not(".sorter-false").filter(":last"):e.filter(":last"):A();d.$table.find(d.selectorHeaders).attr({scope:"col",role:"columnheader"}),L.updateHeader(d),L.debug(d,"core")&&(console.log("Built headers:"+L.benchmark(t)),console.log(d.$headers))},addInstanceMethods:function(e){A.extend(L.instanceMethods,e)},setupParsers:function(e,t){var r,o,s,a,n,i,d,l,c,g,p,u,f,h,m=e.table,b=0,y=L.debug(e,"core"),w={};if(e.$tbodies=e.$table.children("tbody:not(."+e.cssInfoBlock+")"),0===(h=(f=void 0===t?e.$tbodies:t).length))return y?console.warn("Warning: *Empty table!* Not building a parser cache"):"";for(y&&(u=new Date,console[console.group?"group":"log"]("Detecting parsers for each column")),o={extractors:[],parsers:[]};b<h;){if((r=f[b].rows).length)for(n=0,a=e.columns,i=0;i<a;i++){if((d=e.$headerIndexed[n])&&d.length&&(l=L.getColumnData(m,e.headers,n),p=L.getParserById(L.getData(d,l,"extractor")),g=L.getParserById(L.getData(d,l,"sorter")),c="false"===L.getData(d,l,"parser"),e.empties[n]=(L.getData(d,l,"empty")||e.emptyTo||(e.emptyToBottom?"bottom":"top")).toLowerCase(),e.strings[n]=(L.getData(d,l,"string")||e.stringTo||"max").toLowerCase(),c&&(g=L.getParserById("no-parser")),p=p||!1,g=g||L.detectParserForColumn(e,r,-1,n),y&&(w["("+n+") "+d.text()]={parser:g.id,extractor:p?p.id:"none",string:e.strings[n],empty:e.empties[n]}),o.parsers[n]=g,o.extractors[n]=p,0<(s=d[0].colSpan-1)))for(n+=s,a+=s;0<s+1;)o.parsers[n-s]=g,o.extractors[n-s]=p,s--;n++}b+=o.parsers.length?h:1}y&&(L.isEmptyObject(w)?console.warn(" No parsers detected!"):console[console.table?"table":"log"](w),console.log("Completed detecting parsers"+L.benchmark(u)),console.groupEnd&&console.groupEnd()),e.parsers=o.parsers,e.extractors=o.extractors},addParser:function(e){var t,r=L.parsers.length,o=!0;for(t=0;t<r;t++)L.parsers[t].id.toLowerCase()===e.id.toLowerCase()&&(o=!1);o&&(L.parsers[L.parsers.length]=e)},getParserById:function(e){if("false"==e)return!1;var t,r=L.parsers.length;for(t=0;t<r;t++)if(L.parsers[t].id.toLowerCase()===e.toString().toLowerCase())return L.parsers[t];return!1},detectParserForColumn:function(e,t,r,o){for(var s,a,n,i=L.parsers.length,d=!1,l="",c=L.debug(e,"core"),g=!0;""===l&&g;)(n=t[++r])&&r<50?n.className.indexOf(L.cssIgnoreRow)<0&&(d=t[r].cells[o],l=L.getElementText(e,d,o),a=A(d),c&&console.log("Checking if value was empty on row "+r+", column: "+o+': "'+l+'"')):g=!1;for(;0<=--i;)if((s=L.parsers[i])&&"text"!==s.id&&s.is&&s.is(l,e.table,d,a))return s;return L.getParserById("text")},getElementText:function(e,t,r){if(!t)return"";var o,s=e.textExtraction||"",a=t.jquery?t:A(t);return"string"==typeof s?"basic"===s&&void 0!==(o=a.attr(e.textAttribute))?A.trim(o):A.trim(t.textContent||a.text()):"function"==typeof s?A.trim(s(a[0],e.table,r)):"function"==typeof(o=L.getColumnData(e.table,s,r))?A.trim(o(a[0],e.table,r)):A.trim(a[0].textContent||a.text())},getParsedText:function(e,t,r,o){void 0===o&&(o=L.getElementText(e,t,r));var s=""+o,a=e.parsers[r],n=e.extractors[r];return a&&(n&&"function"==typeof n.format&&(o=n.format(o,e.table,t,r)),s="no-parser"===a.id?"":a.format(""+o,e.table,t,r),e.ignoreCase&&"string"==typeof s&&(s=s.toLowerCase())),s},buildCache:function(e,t,r){var o,s,a,n,i,d,l,c,g,p,u,f,h,m,b,y,w,x,v,C,$,I,D=e.table,R=e.parsers,T=L.debug(e,"core");if(e.$tbodies=e.$table.children("tbody:not(."+e.cssInfoBlock+")"),l=void 0===r?e.$tbodies:r,e.cache={},e.totalRows=0,!R)return T?console.warn("Warning: *Empty table!* Not building a cache"):"";for(T&&(f=new Date),e.showProcessing&&L.isProcessing(D,!0),d=0;d<l.length;d++){for(y=[],o=e.cache[d]={normalized:[]},h=l[d]&&l[d].rows.length||0,n=0;n<h;++n)if(m={child:[],raw:[]},g=[],!(c=A(l[d].rows[n])).hasClass(e.selectorRemove.slice(1)))if(c.hasClass(e.cssChildRow)&&0!==n)for($=o.normalized.length-1,(b=o.normalized[$][e.columns]).$row=b.$row.add(c),c.prev().hasClass(e.cssChildRow)||c.prev().addClass(L.css.cssHasChild),p=c.children("th, td"),$=b.child.length,b.child[$]=[],x=0,C=e.columns,i=0;i<C;i++)(u=p[i])&&(b.child[$][i]=L.getParsedText(e,u,i),0<(w=p[i].colSpan-1)&&(x+=w,C+=w)),x++;else{for(m.$row=c,m.order=n,x=0,C=e.columns,i=0;i<C;++i){if((u=c[0].cells[i])&&x<e.columns&&(!(v=void 0!==R[x])&&T&&console.warn("No parser found for row: "+n+", column: "+i+'; cell containing: "'+A(u).text()+'"; does it have a header?'),s=L.getElementText(e,u,x),m.raw[x]=s,a=L.getParsedText(e,u,x,s),g[x]=a,v&&"numeric"===(R[x].type||"").toLowerCase()&&(y[x]=Math.max(Math.abs(a)||0,y[x]||0)),0<(w=u.colSpan-1))){for(I=0;I<=w;)a=e.duplicateSpan||0===I?a:"string"!=typeof e.textExtraction&&L.getElementText(e,u,x+I)||"",m.raw[x+I]=a,g[x+I]=a,I++;x+=w,C+=w}x++}g[e.columns]=m,o.normalized[o.normalized.length]=g}o.colMax=y,e.totalRows+=o.normalized.length}if(e.showProcessing&&L.isProcessing(D),T){for($=Math.min(5,e.cache[0].normalized.length),console[console.group?"group":"log"]("Building cache for "+e.totalRows+" rows (showing "+$+" rows in log) and "+e.columns+" columns"+L.benchmark(f)),s={},i=0;i<e.columns;i++)for(x=0;x<$;x++)s["row: "+x]||(s["row: "+x]={}),s["row: "+x][e.$headerIndexed[i].text()]=e.cache[0].normalized[x][i];console[console.table?"table":"log"](s),console.groupEnd&&console.groupEnd()}A.isFunction(t)&&t(D)},getColumnText:function(e,t,r,o){var s,a,n,i,d,l,c,g,p,u,f="function"==typeof r,h="all"===t,m={raw:[],parsed:[],$cell:[]},b=(e=A(e)[0]).config;if(!L.isEmptyObject(b)){for(d=b.$tbodies.length,s=0;s<d;s++)for(l=(n=b.cache[s].normalized).length,a=0;a<l;a++)i=n[a],o&&!i[b.columns].$row.is(o)||(u=!0,g=h?i.slice(0,b.columns):i[t],i=i[b.columns],c=h?i.raw:i.raw[t],p=h?i.$row.children():i.$row.children().eq(t),f&&(u=r({tbodyIndex:s,rowIndex:a,parsed:g,raw:c,$row:i.$row,$cell:p})),!1!==u&&(m.parsed[m.parsed.length]=g,m.raw[m.raw.length]=c,m.$cell[m.$cell.length]=p));return m}L.debug(b,"core")&&console.warn("No cache found - aborting getColumnText function!")},setHeadersCss:function(a){function e(e,t){e.removeClass(n).addClass(i[t]).attr("aria-sort",l[t]).find("."+L.css.icon).removeClass(d[2]).addClass(d[t])}var t,r,o=a.sortList,s=o.length,n=L.css.sortNone+" "+a.cssNone,i=[L.css.sortAsc+" "+a.cssAsc,L.css.sortDesc+" "+a.cssDesc],d=[a.cssIconAsc,a.cssIconDesc,a.cssIconNone],l=["ascending","descending"],c=a.$table.find("tfoot tr").children("td, th").add(A(a.namespace+"_extra_headers")).removeClass(i.join(" ")),g=a.$headers.add(A("thead "+a.namespace+"_extra_headers")).removeClass(i.join(" ")).addClass(n).attr("aria-sort","none").find("."+L.css.icon).removeClass(d.join(" ")).end();for(g.not(".sorter-false").find("."+L.css.icon).addClass(d[2]),a.cssIconDisabled&&g.filter(".sorter-false").find("."+L.css.icon).addClass(a.cssIconDisabled),t=0;t<s;t++)if(2!==o[t][1]){if((g=(g=a.$headers.filter(function(e){for(var t=!0,r=a.$headers.eq(e),o=parseInt(r.attr("data-column"),10),s=o+L.getClosest(r,"th, td")[0].colSpan;o<s;o++)t=!!t&&(t||-1<L.isValueInArray(o,a.sortList));return t})).not(".sorter-false").filter('[data-column="'+o[t][0]+'"]'+(1===s?":last":""))).length)for(r=0;r<g.length;r++)g[r].sortDisabled||e(g.eq(r),o[t][1]);c.length&&e(c.filter('[data-column="'+o[t][0]+'"]'),o[t][1])}for(s=a.$headers.length,t=0;t<s;t++)L.setColumnAriaLabel(a,a.$headers.eq(t))},getClosest:function(e,t){return A.fn.closest?e.closest(t):e.is(t)?e:e.parents(t).filter(":first")},setColumnAriaLabel:function(e,t,r){if(t.length){var o=parseInt(t.attr("data-column"),10),s=e.sortVars[o],a=t.hasClass(L.css.sortAsc)?"sortAsc":t.hasClass(L.css.sortDesc)?"sortDesc":"sortNone",n=A.trim(t.text())+": "+L.language[a];t.hasClass("sorter-false")||!1===r?n+=L.language.sortDisabled:(a=(s.count+1)%s.order.length,r=s.order[a],n+=L.language[0===r?"nextAsc":1===r?"nextDesc":"nextNone"]),t.attr("aria-label",n),s.sortedBy?t.attr("data-sortedBy",s.sortedBy):t.removeAttr("data-sortedBy")}},updateHeader:function(e){var t,r,o,s,a=e.table,n=e.$headers.length;for(t=0;t<n;t++)o=e.$headers.eq(t),s=L.getColumnData(a,e.headers,t,!0),r="false"===L.getData(o,s,"sorter")||"false"===L.getData(o,s,"parser"),L.setColumnSort(e,o,r)},setColumnSort:function(e,t,r){var o=e.table.id;t[0].sortDisabled=r,t[r?"addClass":"removeClass"]("sorter-false").attr("aria-disabled",""+r),e.tabIndex&&(r?t.removeAttr("tabindex"):t.attr("tabindex","0")),o&&(r?t.removeAttr("aria-controls"):t.attr("aria-controls",o))},updateHeaderSortCount:function(e,t){var r,o,s,a,n,i,d,l,c=t||e.sortList,g=c.length;for(e.sortList=[],a=0;a<g;a++)if(d=c[a],(r=parseInt(d[0],10))<e.columns){switch(e.sortVars[r].order||(l=L.getOrder(e.sortInitialOrder)?e.sortReset?[1,0,2]:[1,0]:e.sortReset?[0,1,2]:[0,1],e.sortVars[r].order=l,e.sortVars[r].count=0),l=e.sortVars[r].order,o=(o=(""+d[1]).match(/^(1|d|s|o|n)/))?o[0]:""){case"1":case"d":o=1;break;case"s":o=n||0;break;case"o":o=0===(i=l[(n||0)%l.length])?1:1===i?0:2;break;case"n":o=l[++e.sortVars[r].count%l.length];break;default:o=0}n=0===a?o:n,s=[r,parseInt(o,10)||0],e.sortList[e.sortList.length]=s,o=A.inArray(s[1],l),e.sortVars[r].count=0<=o?o:s[1]%l.length}},updateAll:function(e,t,r){var o=e.table;o.isUpdating=!0,L.refreshWidgets(o,!0,!0),L.buildHeaders(e),L.bindEvents(o,e.$headers,!0),L.bindMethods(e),L.commonUpdate(e,t,r)},update:function(e,t,r){e.table.isUpdating=!0,L.updateHeader(e),L.commonUpdate(e,t,r)},updateHeaders:function(e,t){e.table.isUpdating=!0,L.buildHeaders(e),L.bindEvents(e.table,e.$headers,!0),L.resortComplete(e,t)},updateCell:function(e,t,r,o){if(A(t).closest("tr").hasClass(e.cssChildRow))console.warn('Tablesorter Warning! "updateCell" for child row content has been disabled, use "update" instead');else{if(L.isEmptyObject(e.cache))return L.updateHeader(e),void L.commonUpdate(e,r,o);e.table.isUpdating=!0,e.$table.find(e.selectorRemove).remove();var s,a,n,i,d,l,c=e.$tbodies,g=A(t),p=c.index(L.getClosest(g,"tbody")),u=e.cache[p],f=L.getClosest(g,"tr");if(t=g[0],c.length&&0<=p){if(n=c.eq(p).find("tr").not("."+e.cssChildRow).index(f),d=u.normalized[n],(l=f[0].cells.length)!==e.columns)for(s=!1,a=i=0;a<l;a++)s||f[0].cells[a]===t?s=!0:i+=f[0].cells[a].colSpan;else i=g.index();s=L.getElementText(e,t,i),d[e.columns].raw[i]=s,s=L.getParsedText(e,t,i,s),d[i]=s,"numeric"===(e.parsers[i].type||"").toLowerCase()&&(u.colMax[i]=Math.max(Math.abs(s)||0,u.colMax[i]||0)),!1!==(s="undefined"!==r?r:e.resort)?L.checkResort(e,s,o):L.resortComplete(e,o)}else L.debug(e,"core")&&console.error("updateCell aborted, tbody missing or not within the indicated table"),e.table.isUpdating=!1}},addRows:function(e,t,r,o){var s,a,n,i,d,l,c,g,p,u,f,h,m,b="string"==typeof t&&1===e.$tbodies.length&&/<tr/.test(t||""),y=e.table;if(b)t=A(t),e.$tbodies.append(t);else if(!(t&&t instanceof A&&L.getClosest(t,"table")[0]===e.table))return L.debug(e,"core")&&console.error("addRows method requires (1) a jQuery selector reference to rows that have already been added to the table, or (2) row HTML string to be added to a table with only one tbody"),!1;if(y.isUpdating=!0,L.isEmptyObject(e.cache))L.updateHeader(e),L.commonUpdate(e,r,o);else{for(d=t.filter("tr").attr("role","row").length,n=e.$tbodies.index(t.parents("tbody").filter(":first")),e.parsers&&e.parsers.length||L.setupParsers(e),i=0;i<d;i++){for(p=0,c=t[i].cells.length,g=e.cache[n].normalized.length,f=[],u={child:[],raw:[],$row:t.eq(i),order:g},l=0;l<c;l++)h=t[i].cells[l],s=L.getElementText(e,h,p),u.raw[p]=s,a=L.getParsedText(e,h,p,s),f[p]=a,"numeric"===(e.parsers[p].type||"").toLowerCase()&&(e.cache[n].colMax[p]=Math.max(Math.abs(a)||0,e.cache[n].colMax[p]||0)),0<(m=h.colSpan-1)&&(p+=m),p++;f[e.columns]=u,e.cache[n].normalized[g]=f}L.checkResort(e,r,o)}},updateCache:function(e,t,r){e.parsers&&e.parsers.length||L.setupParsers(e,r),L.buildCache(e,t,r)},appendCache:function(e,t){var r,o,s,a,n,i,d,l=e.table,c=e.$tbodies,g=[],p=e.cache;if(L.isEmptyObject(p))return e.appender?e.appender(l,g):l.isUpdating?e.$table.triggerHandler("updateComplete",l):"";for(L.debug(e,"core")&&(d=new Date),i=0;i<c.length;i++)if((s=c.eq(i)).length){for(a=L.processTbody(l,s,!0),o=(r=p[i].normalized).length,n=0;n<o;n++)g[g.length]=r[n][e.columns].$row,e.appender&&(!e.pager||e.pager.removeRows||e.pager.ajax)||a.append(r[n][e.columns].$row);L.processTbody(l,a,!1)}e.appender&&e.appender(l,g),L.debug(e,"core")&&console.log("Rebuilt table"+L.benchmark(d)),t||e.appender||L.applyWidget(l),l.isUpdating&&e.$table.triggerHandler("updateComplete",l)},commonUpdate:function(e,t,r){e.$table.find(e.selectorRemove).remove(),L.setupParsers(e),L.buildCache(e),L.checkResort(e,t,r)},initSort:function(t,e,r){if(t.table.isUpdating)return setTimeout(function(){L.initSort(t,e,r)},50);var o,s,a,n,i,d,l,c=!r[t.sortMultiSortKey],g=t.table,p=t.$headers.length,u=L.getClosest(A(e),"th, td"),f=parseInt(u.attr("data-column"),10),h="mouseup"===r.type?"user":r.type,m=t.sortVars[f].order;if(u=u[0],t.$table.triggerHandler("sortStart",g),d=(t.sortVars[f].count+1)%m.length,t.sortVars[f].count=r[t.sortResetKey]?2:d,t.sortRestart)for(a=0;a<p;a++)l=t.$headers.eq(a),f!==(d=parseInt(l.attr("data-column"),10))&&(c||l.hasClass(L.css.sortNone))&&(t.sortVars[d].count=-1);if(c){if(A.each(t.sortVars,function(e){t.sortVars[e].sortedBy=""}),t.sortList=[],t.last.sortList=[],null!==t.sortForce)for(o=t.sortForce,s=0;s<o.length;s++)o[s][0]!==f&&(t.sortList[t.sortList.length]=o[s],t.sortVars[o[s][0]].sortedBy="sortForce");if((n=m[t.sortVars[f].count])<2&&(t.sortList[t.sortList.length]=[f,n],t.sortVars[f].sortedBy=h,1<u.colSpan))for(s=1;s<u.colSpan;s++)t.sortList[t.sortList.length]=[f+s,n],t.sortVars[f+s].count=A.inArray(n,m),t.sortVars[f+s].sortedBy=h}else if(t.sortList=A.extend([],t.last.sortList),0<=L.isValueInArray(f,t.sortList))for(t.sortVars[f].sortedBy=h,s=0;s<t.sortList.length;s++)(d=t.sortList[s])[0]===f&&(d[1]=m[t.sortVars[f].count],2===d[1]&&(t.sortList.splice(s,1),t.sortVars[f].count=-1));else if(n=m[t.sortVars[f].count],t.sortVars[f].sortedBy=h,n<2&&(t.sortList[t.sortList.length]=[f,n],1<u.colSpan))for(s=1;s<u.colSpan;s++)t.sortList[t.sortList.length]=[f+s,n],t.sortVars[f+s].count=A.inArray(n,m),t.sortVars[f+s].sortedBy=h;if(t.last.sortList=A.extend([],t.sortList),t.sortList.length&&t.sortAppend&&(o=A.isArray(t.sortAppend)?t.sortAppend:t.sortAppend[t.sortList[0][0]],!L.isEmptyObject(o)))for(s=0;s<o.length;s++)if(o[s][0]!==f&&L.isValueInArray(o[s][0],t.sortList)<0){if(i=(""+(n=o[s][1])).match(/^(a|d|s|o|n)/))switch(d=t.sortList[0][1],i[0]){case"d":n=1;break;case"s":n=d;break;case"o":n=0===d?1:0;break;case"n":n=(d+1)%m.length;break;default:n=0}t.sortList[t.sortList.length]=[o[s][0],n],t.sortVars[o[s][0]].sortedBy="sortAppend"}t.$table.triggerHandler("sortBegin",g),setTimeout(function(){L.setHeadersCss(t),L.multisort(t),L.appendCache(t),t.$table.triggerHandler("sortBeforeEnd",g),t.$table.triggerHandler("sortEnd",g)},1)},multisort:function(l){var e,t,c,r,g=l.table,p=[],u=0,f=l.textSorter||"",h=l.sortList,m=h.length,o=l.$tbodies.length;if(!l.serverSideSorting&&!L.isEmptyObject(l.cache)){if(L.debug(l,"core")&&(t=new Date),"object"==typeof f)for(c=l.columns;c--;)"function"==typeof(r=L.getColumnData(g,f,c))&&(p[c]=r);for(e=0;e<o;e++)c=l.cache[e].colMax,l.cache[e].normalized.sort(function(e,t){var r,o,s,a,n,i,d;for(r=0;r<m;r++){if(s=h[r][0],a=h[r][1],u=0===a,l.sortStable&&e[s]===t[s]&&1===m)return e[l.columns].order-t[l.columns].order;if(n=(o=/n/i.test(L.getSortType(l.parsers,s)))&&l.strings[s]?(o="boolean"==typeof L.string[l.strings[s]]?(u?1:-1)*(L.string[l.strings[s]]?-1:1):l.strings[s]&&L.string[l.strings[s]]||0,l.numberSorter?l.numberSorter(e[s],t[s],u,c[s],g):L["sortNumeric"+(u?"Asc":"Desc")](e[s],t[s],o,c[s],s,l)):(i=u?e:t,d=u?t:e,"function"==typeof f?f(i[s],d[s],u,s,g):"function"==typeof p[s]?p[s](i[s],d[s],u,s,g):L["sortNatural"+(u?"Asc":"Desc")](e[s]||"",t[s]||"",s,l)))return n}return e[l.columns].order-t[l.columns].order});L.debug(l,"core")&&console.log("Applying sort "+h.toString()+L.benchmark(t))}},resortComplete:function(e,t){e.table.isUpdating&&e.$table.triggerHandler("updateComplete",e.table),A.isFunction(t)&&t(e.table)},checkResort:function(e,t,r){var o=A.isArray(t)?t:e.sortList;!1===(void 0===t?e.resort:t)||e.serverSideSorting||e.table.isProcessing?(L.resortComplete(e,r),L.applyWidget(e.table,!1)):o.length?L.sortOn(e,o,function(){L.resortComplete(e,r)},!0):L.sortReset(e,function(){L.resortComplete(e,r),L.applyWidget(e.table,!1)})},sortOn:function(e,t,r,o){var s,a=e.table;for(e.$table.triggerHandler("sortStart",a),s=0;s<e.columns;s++)e.sortVars[s].sortedBy=-1<L.isValueInArray(s,t)?"sorton":"";L.updateHeaderSortCount(e,t),L.setHeadersCss(e),e.delayInit&&L.isEmptyObject(e.cache)&&L.buildCache(e),e.$table.triggerHandler("sortBegin",a),L.multisort(e),L.appendCache(e,o),e.$table.triggerHandler("sortBeforeEnd",a),e.$table.triggerHandler("sortEnd",a),L.applyWidget(a),A.isFunction(r)&&r(a)},sortReset:function(e,t){var r;for(e.sortList=[],r=0;r<e.columns;r++)e.sortVars[r].count=-1,e.sortVars[r].sortedBy="";L.setHeadersCss(e),L.multisort(e),L.appendCache(e),A.isFunction(t)&&t(e.table)},getSortType:function(e,t){return e&&e[t]&&e[t].type||""},getOrder:function(e){return/^d/i.test(e)||1===e},sortNatural:function(e,t){if(e===t)return 0;e=(e||"").toString(),t=(t||"").toString();var r,o,s,a,n,i,d=L.regex;if(d.hex.test(t)){if((r=parseInt(e.match(d.hex),16))<(o=parseInt(t.match(d.hex),16)))return-1;if(o<r)return 1}for(r=e.replace(d.chunk,"\\0$1\\0").replace(d.chunks,"").split("\\0"),o=t.replace(d.chunk,"\\0$1\\0").replace(d.chunks,"").split("\\0"),i=Math.max(r.length,o.length),n=0;n<i;n++){if(s=isNaN(r[n])?r[n]||0:parseFloat(r[n])||0,a=isNaN(o[n])?o[n]||0:parseFloat(o[n])||0,isNaN(s)!==isNaN(a))return isNaN(s)?1:-1;if(typeof s!=typeof a&&(s+="",a+=""),s<a)return-1;if(a<s)return 1}return 0},sortNaturalAsc:function(e,t,r,o){if(e===t)return 0;var s=L.string[o.empties[r]||o.emptyTo];return""===e&&0!==s?"boolean"==typeof s?s?-1:1:-s||-1:""===t&&0!==s?"boolean"==typeof s?s?1:-1:s||1:L.sortNatural(e,t)},sortNaturalDesc:function(e,t,r,o){if(e===t)return 0;var s=L.string[o.empties[r]||o.emptyTo];return""===e&&0!==s?"boolean"==typeof s?s?-1:1:s||1:""===t&&0!==s?"boolean"==typeof s?s?1:-1:-s||-1:L.sortNatural(t,e)},sortText:function(e,t){return t<e?1:e<t?-1:0},getTextValue:function(e,t,r){if(r){var o,s=e?e.length:0,a=r+t;for(o=0;o<s;o++)a+=e.charCodeAt(o);return t*a}return 0},sortNumericAsc:function(e,t,r,o,s,a){if(e===t)return 0;var n=L.string[a.empties[s]||a.emptyTo];return""===e&&0!==n?"boolean"==typeof n?n?-1:1:-n||-1:""===t&&0!==n?"boolean"==typeof n?n?1:-1:n||1:(isNaN(e)&&(e=L.getTextValue(e,r,o)),isNaN(t)&&(t=L.getTextValue(t,r,o)),e-t)},sortNumericDesc:function(e,t,r,o,s,a){if(e===t)return 0;var n=L.string[a.empties[s]||a.emptyTo];return""===e&&0!==n?"boolean"==typeof n?n?-1:1:n||1:""===t&&0!==n?"boolean"==typeof n?n?1:-1:-n||-1:(isNaN(e)&&(e=L.getTextValue(e,r,o)),isNaN(t)&&(t=L.getTextValue(t,r,o)),t-e)},sortNumeric:function(e,t){return e-t},addWidget:function(e){e.id&&!L.isEmptyObject(L.getWidgetById(e.id))&&console.warn('"'+e.id+'" widget was loaded more than once!'),L.widgets[L.widgets.length]=e},hasWidget:function(e,t){return(e=A(e)).length&&e[0].config&&e[0].config.widgetInit[t]||!1},getWidgetById:function(e){var t,r,o=L.widgets.length;for(t=0;t<o;t++)if((r=L.widgets[t])&&r.id&&r.id.toLowerCase()===e.toLowerCase())return r},applyWidgetOptions:function(e){var t,r,o,s=e.config,a=s.widgets.length;if(a)for(t=0;t<a;t++)(r=L.getWidgetById(s.widgets[t]))&&r.options&&(o=A.extend(!0,{},r.options),s.widgetOptions=A.extend(!0,o,s.widgetOptions),A.extend(!0,L.defaults.widgetOptions,r.options))},addWidgetFromClass:function(e){var t,r,o=e.config,s="^"+o.widgetClass.replace(L.regex.templateName,"(\\S+)+")+"$",a=new RegExp(s,"g"),n=(e.className||"").split(L.regex.spaces);if(n.length)for(t=n.length,r=0;r<t;r++)n[r].match(a)&&(o.widgets[o.widgets.length]=n[r].replace(a,"$1"))},applyWidgetId:function(e,t,r){var o,s,a,n=(e=A(e)[0]).config,i=n.widgetOptions,d=L.debug(n,"core"),l=L.getWidgetById(t);l&&(a=l.id,o=!1,A.inArray(a,n.widgets)<0&&(n.widgets[n.widgets.length]=a),d&&(s=new Date),!r&&n.widgetInit[a]||(n.widgetInit[a]=!0,e.hasInitialized&&L.applyWidgetOptions(e),"function"==typeof l.init&&(o=!0,d&&console[console.group?"group":"log"]("Initializing "+a+" widget"),l.init(e,l,n,i))),r||"function"!=typeof l.format||(o=!0,d&&console[console.group?"group":"log"]("Updating "+a+" widget"),l.format(e,n,i,!1)),d&&o&&(console.log("Completed "+(r?"initializing ":"applying ")+a+" widget"+L.benchmark(s)),console.groupEnd&&console.groupEnd()))},applyWidget:function(e,t,r){var o,s,a,n,i,d=(e=A(e)[0]).config,l=L.debug(d,"core"),c=[];if(!1===t||!e.hasInitialized||!e.isApplyingWidgets&&!e.isUpdating){if(l&&(i=new Date),L.addWidgetFromClass(e),clearTimeout(d.timerReady),d.widgets.length){for(e.isApplyingWidgets=!0,d.widgets=A.grep(d.widgets,function(e,t){return A.inArray(e,d.widgets)===t}),s=(a=d.widgets||[]).length,o=0;o<s;o++)(n=L.getWidgetById(a[o]))&&n.id?(n.priority||(n.priority=10),c[o]=n):l&&console.warn('"'+a[o]+'" was enabled, but the widget code has not been loaded!');for(c.sort(function(e,t){return e.priority<t.priority?-1:e.priority===t.priority?0:1}),s=c.length,l&&console[console.group?"group":"log"]("Start "+(t?"initializing":"applying")+" widgets"),o=0;o<s;o++)(n=c[o])&&n.id&&L.applyWidgetId(e,n.id,t);l&&console.groupEnd&&console.groupEnd()}d.timerReady=setTimeout(function(){e.isApplyingWidgets=!1,A.data(e,"lastWidgetApplication",new Date),d.$table.triggerHandler("tablesorter-ready"),t||"function"!=typeof r||r(e),l&&(n=d.widgets.length,console.log("Completed "+(!0===t?"initializing ":"applying ")+n+" widget"+(1!==n?"s":"")+L.benchmark(i)))},10)}},removeWidget:function(e,t,r){var o,s,a,n,i=(e=A(e)[0]).config;if(!0===t)for(t=[],n=L.widgets.length,a=0;a<n;a++)(s=L.widgets[a])&&s.id&&(t[t.length]=s.id);else t=(A.isArray(t)?t.join(","):t||"").toLowerCase().split(/[\s,]+/);for(n=t.length,o=0;o<n;o++)s=L.getWidgetById(t[o]),0<=(a=A.inArray(t[o],i.widgets))&&!0!==r&&i.widgets.splice(a,1),s&&s.remove&&(L.debug(i,"core")&&console.log((r?"Refreshing":"Removing")+' "'+t[o]+'" widget'),s.remove(e,i,i.widgetOptions,r),i.widgetInit[t[o]]=!1);i.$table.triggerHandler("widgetRemoveEnd",e)},refreshWidgets:function(e,t,r){function o(e){A(e).triggerHandler("refreshComplete")}var s,a,n=(e=A(e)[0]).config.widgets,i=L.widgets,d=i.length,l=[];for(s=0;s<d;s++)(a=i[s])&&a.id&&(t||A.inArray(a.id,n)<0)&&(l[l.length]=a.id);L.removeWidget(e,l.join(","),!0),!0!==r?(L.applyWidget(e,t||!1,o),t&&L.applyWidget(e,!1,o)):o(e)},benchmark:function(e){return" ("+((new Date).getTime()-e.getTime())+" ms)"},log:function(){console.log(arguments)},debug:function(e,t){return e&&(!0===e.debug||"string"==typeof e.debug&&-1<e.debug.indexOf(t))},isEmptyObject:function(e){for(var t in e)return!1;return!0},isValueInArray:function(e,t){var r,o=t&&t.length||0;for(r=0;r<o;r++)if(t[r][0]===e)return r;return-1},formatFloat:function(e,t){return"string"!=typeof e||""===e?e:(e=(t&&t.config?!1!==t.config.usNumberFormat:void 0===t||t)?e.replace(L.regex.comma,""):e.replace(L.regex.digitNonUS,"").replace(L.regex.comma,"."),L.regex.digitNegativeTest.test(e)&&(e=e.replace(L.regex.digitNegativeReplace,"-$1")),r=parseFloat(e),isNaN(r)?A.trim(e):r);var r},isDigit:function(e){return isNaN(e)?L.regex.digitTest.test(e.toString().replace(L.regex.digitReplace,"")):""!==e},computeColumnIndex:function(e,t){var r,o,s,a,n,i,d,l,c,g,p=t&&t.columns||0,u=[],f=new Array(p);for(r=0;r<e.length;r++)for(i=e[r].cells,o=0;o<i.length;o++){for(d=r,l=(n=i[o]).rowSpan||1,c=n.colSpan||1,void 0===u[d]&&(u[d]=[]),s=0;s<u[d].length+1;s++)if(void 0===u[d][s]){g=s;break}for(p&&n.cellIndex===g||(n.setAttribute?n.setAttribute("data-column",g):A(n).attr("data-column",g)),s=d;s<d+l;s++)for(void 0===u[s]&&(u[s]=[]),f=u[s],a=g;a<g+c;a++)f[a]="x"}return L.checkColumnCount(e,u,f.length),f.length},checkColumnCount:function(e,t,r){var o,s,a=!0,n=[];for(o=0;o<t.length;o++)if(t[o]&&(s=t[o].length,t[o].length!==r)){a=!1;break}a||(e.each(function(e,t){var r=t.parentElement.nodeName;n.indexOf(r)<0&&n.push(r)}),console.error("Invalid or incorrect number of columns in the "+n.join(" or ")+"; expected "+r+", but found "+s+" columns"))},fixColumnWidth:function(e){var t,r,o,s,a,n=(e=A(e)[0]).config,i=n.$table.children("colgroup");if(i.length&&i.hasClass(L.css.colgroup)&&i.remove(),n.widthFixed&&0===n.$table.children("colgroup").length){for(i=A('<colgroup class="'+L.css.colgroup+'">'),t=n.$table.width(),s=(o=n.$tbodies.find("tr:first").children(":visible")).length,a=0;a<s;a++)r=parseInt(o.eq(a).width()/t*1e3,10)/10+"%",i.append(A("<col>").css("width",r));n.$table.prepend(i)}},getData:function(e,t,r){var o,s,a="",n=A(e);return n.length?(o=!!A.metadata&&n.metadata(),s=" "+(n.attr("class")||""),void 0!==n.data(r)||void 0!==n.data(r.toLowerCase())?a+=n.data(r)||n.data(r.toLowerCase()):o&&void 0!==o[r]?a+=o[r]:t&&void 0!==t[r]?a+=t[r]:" "!==s&&s.match(" "+r+"-")&&(a=s.match(new RegExp("\\s"+r+"-([\\w-]+)"))[1]||""),A.trim(a)):""},getColumnData:function(e,t,r,o,s){if("object"!=typeof t||null===t)return t;var a,n=(e=A(e)[0]).config,i=s||n.$headers,d=n.$headerIndexed&&n.$headerIndexed[r]||i.find('[data-column="'+r+'"]:last');if(void 0!==t[r])return o?t[r]:t[i.index(d)];for(a in t)if("string"==typeof a&&d.filter(a).add(d.find(a)).length)return t[a]},isProcessing:function(e,t,r){var o=(e=A(e))[0].config,s=r||e.find("."+L.css.header);t?(void 0!==r&&0<o.sortList.length&&(s=s.filter(function(){return!this.sortDisabled&&0<=L.isValueInArray(parseFloat(A(this).attr("data-column")),o.sortList)})),e.add(s).addClass(L.css.processing+" "+o.cssProcessing)):e.add(s).removeClass(L.css.processing+" "+o.cssProcessing)},processTbody:function(e,t,r){if(e=A(e)[0],r)return e.isProcessing=!0,t.before('<colgroup class="tablesorter-savemyplace"/>'),A.fn.detach?t.detach():t.remove();var o=A(e).find("colgroup.tablesorter-savemyplace");t.insertAfter(o),o.remove(),e.isProcessing=!1},clearTableBody:function(e){A(e)[0].config.$tbodies.children().detach()},characterEquivalents:{a:"áàâãäąå",A:"ÁÀÂÃÄĄÅ",c:"çćč",C:"ÇĆČ",e:"éèêëěę",E:"ÉÈÊËĚĘ",i:"íìİîïı",I:"ÍÌİÎÏ",o:"óòôõöō",O:"ÓÒÔÕÖŌ",ss:"ß",SS:"ẞ",u:"úùûüů",U:"ÚÙÛÜŮ"},replaceAccents:function(e){var t,r="[",o=L.characterEquivalents;if(!L.characterRegex){for(t in L.characterRegexArray={},o)"string"==typeof t&&(r+=o[t],L.characterRegexArray[t]=new RegExp("["+o[t]+"]","g"));L.characterRegex=new RegExp(r+"]")}if(L.characterRegex.test(e))for(t in o)"string"==typeof t&&(e=e.replace(L.characterRegexArray[t],t));return e},validateOptions:function(e){var t,r,o,s,a="headers sortForce sortList sortAppend widgets".split(" "),n=e.originalSettings;if(n){for(t in L.debug(e,"core")&&(s=new Date),n)if("undefined"===(o=typeof L.defaults[t]))console.warn('Tablesorter Warning! "table.config.'+t+'" option not recognized');else if("object"===o)for(r in n[t])o=L.defaults[t]&&typeof L.defaults[t][r],A.inArray(t,a)<0&&"undefined"===o&&console.warn('Tablesorter Warning! "table.config.'+t+"."+r+'" option not recognized');L.debug(e,"core")&&console.log("validate options time:"+L.benchmark(s))}},restoreHeaders:function(e){var t,r,o=A(e)[0].config,s=o.$table.find(o.selectorHeaders),a=s.length;for(t=0;t<a;t++)(r=s.eq(t)).find("."+L.css.headerIn).length&&r.html(o.headerContent[t])},destroy:function(e,t,r){if((e=A(e)[0]).hasInitialized){L.removeWidget(e,!0,!1);var o,s=A(e),a=e.config,n=s.find("thead:first"),i=n.find("tr."+L.css.headerRow).removeClass(L.css.headerRow+" "+a.cssHeaderRow),d=s.find("tfoot:first > tr").children("th, td");!1===t&&0<=A.inArray("uitheme",a.widgets)&&(s.triggerHandler("applyWidgetId",["uitheme"]),s.triggerHandler("applyWidgetId",["zebra"])),n.find("tr").not(i).remove(),o="sortReset update updateRows updateAll updateHeaders updateCell addRows updateComplete sorton appendCache updateCache applyWidgetId applyWidgets refreshWidgets removeWidget destroy mouseup mouseleave "+"keypress sortBegin sortEnd resetToLoadState ".split(" ").join(a.namespace+" "),s.removeData("tablesorter").unbind(o.replace(L.regex.spaces," ")),a.$headers.add(d).removeClass([L.css.header,a.cssHeader,a.cssAsc,a.cssDesc,L.css.sortAsc,L.css.sortDesc,L.css.sortNone].join(" ")).removeAttr("data-column").removeAttr("aria-label").attr("aria-disabled","true"),i.find(a.selectorSort).unbind("mousedown mouseup keypress ".split(" ").join(a.namespace+" ").replace(L.regex.spaces," ")),L.restoreHeaders(e),s.toggleClass(L.css.table+" "+a.tableClass+" tablesorter-"+a.theme,!1===t),s.removeClass(a.namespace.slice(1)),e.hasInitialized=!1,delete e.config.cache,"function"==typeof r&&r(e),L.debug(a,"core")&&console.log("tablesorter has been removed")}}};A.fn.tablesorter=function(t){return this.each(function(){var e=A.extend(!0,{},L.defaults,t,L.instanceMethods);e.originalSettings=t,!this.hasInitialized&&L.buildTable&&"TABLE"!==this.nodeName?L.buildTable(this,e):L.setup(this,e)})},window.console&&window.console.log||(L.logs=[],console={},console.log=console.warn=console.error=console.table=function(){var e=1<arguments.length?arguments:arguments[0];L.logs[L.logs.length]={date:Date.now(),log:e}}),L.addParser({id:"no-parser",is:function(){return!1},format:function(){return""},type:"text"}),L.addParser({id:"text",is:function(){return!0},format:function(e,t){var r=t.config;return e&&(e=A.trim(r.ignoreCase?e.toLocaleLowerCase():e),e=r.sortLocaleCompare?L.replaceAccents(e):e),e},type:"text"}),L.regex.nondigit=/[^\w,. \-()]/g,L.addParser({id:"digit",is:function(e){return L.isDigit(e)},format:function(e,t){var r=L.formatFloat((e||"").replace(L.regex.nondigit,""),t);return e&&"number"==typeof r?r:e?A.trim(e&&t.config.ignoreCase?e.toLocaleLowerCase():e):e},type:"numeric"}),L.regex.currencyReplace=/[+\-,. ]/g,L.regex.currencyTest=/^\(?\d+[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]|[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]\d+\)?$/,L.addParser({id:"currency",is:function(e){return e=(e||"").replace(L.regex.currencyReplace,""),L.regex.currencyTest.test(e)},format:function(e,t){var r=L.formatFloat((e||"").replace(L.regex.nondigit,""),t);return e&&"number"==typeof r?r:e?A.trim(e&&t.config.ignoreCase?e.toLocaleLowerCase():e):e},type:"numeric"}),L.regex.urlProtocolTest=/^(https?|ftp|file):\/\//,L.regex.urlProtocolReplace=/(https?|ftp|file):\/\/(www\.)?/,L.addParser({id:"url",is:function(e){return L.regex.urlProtocolTest.test(e)},format:function(e){return e?A.trim(e.replace(L.regex.urlProtocolReplace,"")):e},type:"text"}),L.regex.dash=/-/g,L.regex.isoDate=/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}/,L.addParser({id:"isoDate",is:function(e){return L.regex.isoDate.test(e)},format:function(e){var t=e?new Date(e.replace(L.regex.dash,"/")):e;return t instanceof Date&&isFinite(t)?t.getTime():e},type:"numeric"}),L.regex.percent=/%/g,L.regex.percentTest=/(\d\s*?%|%\s*?\d)/,L.addParser({id:"percent",is:function(e){return L.regex.percentTest.test(e)&&e.length<15},format:function(e,t){return e?L.formatFloat(e.replace(L.regex.percent,""),t):e},type:"numeric"}),L.addParser({id:"image",is:function(e,t,r,o){return 0<o.find("img").length},format:function(e,t,r){return A(r).find("img").attr(t.config.imgAttr||"alt")||e},parsed:!0,type:"text"}),L.regex.dateReplace=/(\S)([AP]M)$/i,L.regex.usLongDateTest1=/^[A-Z]{3,10}\.?\s+\d{1,2},?\s+(\d{4})(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?$/i,L.regex.usLongDateTest2=/^\d{1,2}\s+[A-Z]{3,10}\s+\d{4}/i,L.addParser({id:"usLongDate",is:function(e){return L.regex.usLongDateTest1.test(e)||L.regex.usLongDateTest2.test(e)},format:function(e){var t=e?new Date(e.replace(L.regex.dateReplace,"$1 $2")):e;return t instanceof Date&&isFinite(t)?t.getTime():e},type:"numeric"}),L.regex.shortDateTest=/(^\d{1,2}[\/\s]\d{1,2}[\/\s]\d{4})|(^\d{4}[\/\s]\d{1,2}[\/\s]\d{1,2})/,L.regex.shortDateReplace=/[\-.,]/g,L.regex.shortDateXXY=/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/,L.regex.shortDateYMD=/(\d{4})[\/\s](\d{1,2})[\/\s](\d{1,2})/,L.convertFormat=function(e,t){e=(e||"").replace(L.regex.spaces," ").replace(L.regex.shortDateReplace,"/"),"mmddyyyy"===t?e=e.replace(L.regex.shortDateXXY,"$3/$1/$2"):"ddmmyyyy"===t?e=e.replace(L.regex.shortDateXXY,"$3/$2/$1"):"yyyymmdd"===t&&(e=e.replace(L.regex.shortDateYMD,"$1/$2/$3"));var r=new Date(e);return r instanceof Date&&isFinite(r)?r.getTime():""},L.addParser({id:"shortDate",is:function(e){return e=(e||"").replace(L.regex.spaces," ").replace(L.regex.shortDateReplace,"/"),L.regex.shortDateTest.test(e)},format:function(e,t,r,o){if(e){var s=t.config,a=s.$headerIndexed[o],n=a.length&&a.data("dateFormat")||L.getData(a,L.getColumnData(t,s.headers,o),"dateFormat")||s.dateFormat;return a.length&&a.data("dateFormat",n),L.convertFormat(e,n)||e}return e},type:"numeric"}),L.regex.timeTest=/^(0?[1-9]|1[0-2]):([0-5]\d)(\s[AP]M)$|^((?:[01]\d|[2][0-4]):[0-5]\d)$/i,L.regex.timeMatch=/(0?[1-9]|1[0-2]):([0-5]\d)(\s[AP]M)|((?:[01]\d|[2][0-4]):[0-5]\d)/i,L.addParser({id:"time",is:function(e){return L.regex.timeTest.test(e)},format:function(e){var t=(e||"").match(L.regex.timeMatch),r=new Date(e),o=e&&(null!==t?t[0]:"00:00 AM"),s=o?new Date("2000/01/01 "+o.replace(L.regex.dateReplace,"$1 $2")):o;return s instanceof Date&&isFinite(s)?(r instanceof Date&&isFinite(r)?r.getTime():0)?parseFloat(s.getTime()+"."+r.getTime()):s.getTime():e},type:"numeric"}),L.addParser({id:"metadata",is:function(){return!1},format:function(e,t,r){var o=t.config,s=o.parserMetadataName?o.parserMetadataName:"sortValue";return A(r).metadata()[s]},type:"numeric"}),L.addWidget({id:"zebra",priority:90,format:function(e,t,r){var o,s,a,n,i,d,l,c=new RegExp(t.cssChildRow,"i"),g=t.$tbodies.add(A(t.namespace+"_extra_table").children("tbody:not(."+t.cssInfoBlock+")"));for(i=0;i<g.length;i++)for(a=0,l=(o=g.eq(i).children("tr:visible").not(t.selectorRemove)).length,d=0;d<l;d++)s=o.eq(d),c.test(s[0].className)||a++,n=a%2==0,s.removeClass(r.zebra[n?1:0]).addClass(r.zebra[n?0:1])},remove:function(e,t,r,o){if(!o){var s,a,n=t.$tbodies,i=(r.zebra||["even","odd"]).join(" ");for(s=0;s<n.length;s++)(a=L.processTbody(e,n.eq(s),!0)).children().removeClass(i),L.processTbody(e,a,!1)}}})}(e),e.tablesorter});
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6326 </script>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6327 <style type="text/css">.tablesorter-default{width:100%;font:12px/18px Arial,Sans-serif;color:#333;background-color:#fff;border-spacing:0;margin:10px 0 15px;text-align:left}.tablesorter-default th,.tablesorter-default thead td{font-weight:700;color:#000;background-color:#fff;border-collapse:collapse;border-bottom:#ccc 2px solid;padding:0}.tablesorter-default tfoot td,.tablesorter-default tfoot th{border:0}.tablesorter-default .header,.tablesorter-default .tablesorter-header{background-image:url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);background-position:center right;background-repeat:no-repeat;cursor:pointer;white-space:normal;padding:4px 20px 4px 4px}.tablesorter-default thead .headerSortUp,.tablesorter-default thead .tablesorter-headerAsc,.tablesorter-default thead .tablesorter-headerSortUp{background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);border-bottom:#000 2px solid}.tablesorter-default thead .headerSortDown,.tablesorter-default thead .tablesorter-headerDesc,.tablesorter-default thead .tablesorter-headerSortDown{background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);border-bottom:#000 2px solid}.tablesorter-default thead .sorter-false{background-image:none;cursor:default;padding:4px}.tablesorter-default tfoot .tablesorter-headerAsc,.tablesorter-default tfoot .tablesorter-headerDesc,.tablesorter-default tfoot .tablesorter-headerSortDown,.tablesorter-default tfoot .tablesorter-headerSortUp{border-top:#000 2px solid}.tablesorter-default td{background-color:#fff;border-bottom:#ccc 1px solid;padding:4px;vertical-align:top}.tablesorter-default tbody>tr.even:hover>td,.tablesorter-default tbody>tr.hover>td,.tablesorter-default tbody>tr.odd:hover>td,.tablesorter-default tbody>tr:hover>td{background-color:#fff;color:#000}.tablesorter-default .tablesorter-processing{background-position:center center!important;background-repeat:no-repeat!important;background-image:url(data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=)!important}.tablesorter-default tr.odd>td{background-color:#dfdfdf}.tablesorter-default tr.even>td{background-color:#efefef}.tablesorter-default tr.odd td.primary{background-color:#bfbfbf}.tablesorter-default td.primary,.tablesorter-default tr.even td.primary{background-color:#d9d9d9}.tablesorter-default tr.odd td.secondary{background-color:#d9d9d9}.tablesorter-default td.secondary,.tablesorter-default tr.even td.secondary{background-color:#e6e6e6}.tablesorter-default tr.odd td.tertiary{background-color:#e6e6e6}.tablesorter-default td.tertiary,.tablesorter-default tr.even td.tertiary{background-color:#f2f2f2}.tablesorter-default>caption{background-color:#fff}.tablesorter-default .tablesorter-filter-row{background-color:#eee}.tablesorter-default .tablesorter-filter-row td{background-color:#eee;border-bottom:#ccc 1px solid;line-height:normal;text-align:center;-webkit-transition:line-height .1s ease;-moz-transition:line-height .1s ease;-o-transition:line-height .1s ease;transition:line-height .1s ease}.tablesorter-default .tablesorter-filter-row .disabled{opacity:.5;cursor:not-allowed}.tablesorter-default .tablesorter-filter-row.hideme td{padding:2px;margin:0;line-height:0;cursor:pointer}.tablesorter-default .tablesorter-filter-row.hideme *{height:1px;min-height:0;border:0;padding:0;margin:0;opacity:0}.tablesorter-default input.tablesorter-filter,.tablesorter-default select.tablesorter-filter{width:95%;height:auto;margin:4px auto;padding:4px;background-color:#fff;border:1px solid #bbb;color:#333;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:height .1s ease;-moz-transition:height .1s ease;-o-transition:height .1s ease;transition:height .1s ease}.tablesorter .filtered{display:none}.tablesorter .tablesorter-errorRow td{text-align:center;cursor:pointer;background-color:#e6bf99}</style>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6328
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6329 <!-- Test pickr -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6330 <!-- One of the following themes -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6331 <!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@simonwep/pickr/dist/themes/classic.min.css"/> -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6332 <!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@simonwep/pickr/dist/themes/monolith.min.css"/> -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6333 <!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@simonwep/pickr/dist/themes/nano.min.css"/> -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6334
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6335 <!-- Modern or es5 bundle -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6336 <!-- <script src="https://cdn.jsdelivr.net/npm/@simonwep/pickr/dist/pickr.min.js"></script> -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6337 <!-- <script src="https://cdn.jsdelivr.net/npm/@simonwep/pickr/dist/pickr.es5.min.js"></script> -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6338
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6339 <!-- <script src="js/cola-1.4.3.js"></script>-->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6340 <!-- <script src="js/cytoscape-cola-1.4.3.js"></script>-->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6341
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6342 </head>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6343 <body>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6344
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6345 <div id="base">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6346
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6347 <div id="viewer">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6348 <div id="interaction" class="interact">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6349 <div id="pathway_selection">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6350 <div class="info-title">Pathway selection</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6351 <div class="spacer"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6352 <div id="table_choice">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6353 <!-- Will be filled by viewer.js -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6354 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6355 <input id="view_all_pathways_button" type="button" value="Show all pathways"/>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6356 <input id="hide_all_pathways_button" type="button" value="Hide all pathways"/>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6357 <input id="redraw_pathways_button" type="button" value="Refresh layout"/>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6358 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6359 <div id="cofacor_handling">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6360 <div class="info-title">Cofactor options</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6361 <div class="spacer"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6362 <input id="show_cofactors_button" type="button" value="Show cofactors"/>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6363 <input id="remove_cofactors_button" type="button" value="Hide cofactors"/>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6364 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6365 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6366 <div id="cy"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6367 <div id="info">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6368 <div id="molecule"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6369 <div class="info" id="information">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6370 <!-- Statup legend -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6371 <div id="panel_startup_legend">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6372 <div class="info-title">Legend</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6373 <div class="info-subtitle">How to</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6374
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6375 <div class="help-tip">1/ Pass the mouse hover pathway IDs (the "Pathway" column in the left table) to emphasize a specific path.</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6376 <div class="help-tip">2/ Click once on a pathway ID (in the left table) to "pin" a path. When at least one pathway is pinned,
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6377 other pathways are faded.Click a second time on a pinned pathway ID to unpin it.</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6378 <div class="help-tip">3/ Mark / unmark the checkboxes (the "Show" column in the left table) to select which pathways are visible.</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6379 <div class="help-tip">4/ Cofactors are hidden by default. One can use the "Show cofactors" and "Hide cofactors" button to change this display.</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6380 <div class="help-tip">5/ Click on the <span class="pathway_info_icon"></span> icon (in the left table) to visualise information about a pathway</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6381 <div class="help-tip">6/ Click on a node to visualise information about chemicals and reactions</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6382 <div class="info-subtitle">Node shape</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6383 <div class="help-content">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6384 <p><span class="symbol-compound">&#9634;</span>&nbsp;Chemical</p>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6385 <p><span class="symbol-transformation">&#9711;</span>&nbsp;Transformation (in/outgoing arrows show direction)</p>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6386 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6387 <div class="info-subtitle">Compound color</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6388 <div class="help-content">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6389 <p><span class="symbol-compound symbol-target-color">▢</span>&nbsp;Target</p>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6390 <p><span class="symbol-compound symbol-inter-color">▢</span>&nbsp;Intermediate chemicals</p>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6391 <p><span class="symbol-compound symbol-precursor-color">▢</span>&nbsp;Precursors</p>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6392 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6393 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6394 <!-- Information on a selected chemical -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6395 <div id="panel_chemical_info">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6396 <div class="info-title">Chemical</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6397 <div class="info-name"><span class="chem_info_label"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6398 <div class="spacer"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6399 <!-- SVG depiction -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6400 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6401 <div class="img-box">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6402 <div class="chem_info_svg"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6403 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6404 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6405 <!-- SMILES -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6406 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6407 <div class="info-subtitle">SMILES</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6408 <div class="raw-text"><span class="chem_info_smiles"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6409 <div class="link raw-text"><span class="chem_info_smiles_search"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6410 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6411 <!-- Inchi -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6412 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6413 <div class="info-subtitle">InChI</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6414 <div class="raw-text"><span class="chem_info_inchi"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6415 <div class="link raw-text"><span class="chem_info_inchi_search"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6416 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6417 <!-- Inchikey -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6418 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6419 <div class="info-subtitle">InChIKey</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6420 <div class="raw-text"><span class="chem_info_inchikey"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6421 <div class="link raw-text"><span class="chem_info_inchikey_search"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6422 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6423 <!-- Cofactor -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6424 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6425 <div class="info-subtitle">Is a cofactor?</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6426 <div class="raw-text"><span class="chem_info_iscofactor"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6427 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6428 <!-- Precursor -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6429 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6430 <div class="info-subtitle">Is a precursor?</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6431 <div class="raw-text"><span class="chem_info_isprecursor"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6432 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6433 <!-- Crosslinks -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6434 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6435 <div class="info-subtitle">Crosslinks</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6436 <div class="raw-text chem_info_xlinks"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6437 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6438 <!-- Pathways involved in -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6439 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6440 <div class="info-subtitle">Pathways involved in</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6441 <div class="raw-text chem_info_pathids"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6442 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6443 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6444 <!-- Information on a selected reaction -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6445 <div id="panel_reaction_info">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6446 <div class="info-title">Reaction</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6447 <div class="info-name"><span class="reaction_info_name"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6448 <div class="spacer"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6449 <!-- EC numbers -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6450 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6451 <div class="info-subtitle">EC number(s)</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6452 <div class="raw-text reaction_info_ecnumbers"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6453 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6454 <!-- Crosslinks -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6455 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6456 <div class="info-subtitle">Crosslinks</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6457 <div class="raw-text reaction_info_xlinks"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6458 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6459 <!-- Thermodynamic -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6460 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6461 <div class="info-subtitle">&#916;<sub>r</sub>G' (kJ/mol)</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6462 <div class="raw-text"><span class="reaction_info_thermo"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6463 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6464 <!-- Rule score -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6465 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6466 <div class="info-subtitle">Rule score</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6467 <div class="raw-text"><span class="reaction_info_rule_score"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6468 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6469 <!-- Reaction SMILES -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6470 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6471 <div class="info-subtitle">Reaction SMILES</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6472 <div class="raw-text"><span class="reaction_info_rsmiles"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6473 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6474 <!-- Reaction rule IDs -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6475 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6476 <div class="info-subtitle">Rule ID(s)</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6477 <div class="raw-text reaction_info_ruleids"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6478 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6479 <!-- Reaction template IDs -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6480 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6481 <div class="info-subtitle">Reaction template ID(s)</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6482 <div class="raw-text reaction_info_reaction_template_ids"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6483 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6484 <!-- Pathways involved in -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6485 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6486 <div class="info-subtitle">Pathways involved in</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6487 <div class="raw-text reaction_info_pathids"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6488 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6489 <!-- UniProt IDs -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6490 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6491 <div class="info-subtitle">UniProt IDs (Selenzyme score)</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6492 <div class="raw-text reaction_info_uniprot_crosslinks"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6493 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6494 <!-- Crosslink to Selenzyme -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6495 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6496 <div class="info-subtitle">Enzyme selection</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6497 <div class="raw-text"><span class="reaction_info_selenzyme_crosslink"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6498 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6499 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6500 <!-- Information on a selected pathway -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6501 <div id="panel_pathway_info">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6502 <div class="info-title">Pathway</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6503 <div class="info-name"><span class="pathway_info_path_id"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6504 <div class="spacer"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6505 <!-- Pathway ID -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6506 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6507 <div class="info-subtitle">Pathway ID</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6508 <div class="raw-text"><span class="pathway_info_path_id"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6509 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6510 <!-- Number of steps -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6511 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6512 <div class="info-subtitle">Number of steps</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6513 <div class="raw-text"><span class="pathway_info_nb_steps"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6514 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6515 <!-- Thermodynamic -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6516 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6517 <div class="info-subtitle">&#916;<sub>r</sub>G' (kJ/mol)</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6518 <div class="raw-text"><span class="pathway_info_thermo"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6519 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6520 <!-- Rule score -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6521 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6522 <div class="info-subtitle">Rule score</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6523 <div class="raw-text"><span class="pathway_info_rule_score"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6524 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6525 <!-- FBA -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6526 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6527 <div class="info-subtitle">Target's production flux (mmol gDW<sup>-1</sup> hr<sup>-1</sup>)</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6528 <div class="raw-text"><span class="pathway_info_target_flux"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6529 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6530 <!-- Global score -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6531 <div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6532 <div class="info-subtitle">Global score</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6533 <div class="raw-text"><span class="pathway_info_global_score"></span></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6534 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6535 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6536 <!-- In dev stuff -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6537 <!-- <div>Information</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6538 <div id="react_img" class="pointer"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6539 <div id="reversibility" class='inf2'></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6540 <input id="thermo_button" type="button" value="Thermodynamics"/>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6541 <input id="flux_button" type="button" value="Flux"/>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6542 <div id="rule" style="display:none;" class="boxinf">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6543 <div id="sub_rule_score" class="inf2">Rule Score</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6544 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6545 <div id="thermo"style="display:none;" class="boxinf"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6546 <div id="flux"style="display:none;" class="boxinf">
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6547 <div id="sub_fba" class="inf2">FBA (mmol/gDW/h)</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6548 <div id="sub_fba_obj" class="inf1">FBA biomass objective</div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6549 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6550 <div id="selenzyme-link"></div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6551 <div id="selenzyme_table"></div> -->
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6552 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6553
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6554 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6555 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6556
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6557 </div>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6558
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6559 </body>
ea2ca40a24c5 "planemo upload commit 2f1af427fa4c4f2aad53ab94c4cdb51456c66019-dirty"
tduigou
parents:
diff changeset
6560 </html>