@basthon/browser-bundle 0.41.6 → 0.41.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/0.41.7/basthon.data +0 -0
- package/lib/0.41.7/basthon.js +1 -0
- package/lib/0.41.7/modules/IPython-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.41.6 → 0.41.7}/modules/extern/pytutor-main.min.css +0 -0
- package/lib/0.41.7/modules/extern/pytutor-main.min.js +1 -0
- package/lib/0.41.7/modules/extern/pytutor-main.min.js.map +1 -0
- package/lib/{0.41.6 → 0.41.7}/modules/graphviz-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.41.6 → 0.41.7}/modules/ipythonblocks-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.41.6 → 0.41.7}/modules/ivp-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.41.6 → 0.41.7}/modules/lolviz-0.0.1-py3-none-any.whl +0 -0
- package/lib/0.41.7/modules/p5-0.0.1-py3-none-any.whl +0 -0
- package/lib/0.41.7/modules/proj4py-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.41.6 → 0.41.7}/modules/rcviz-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.41.6 → 0.41.7}/modules/requests-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.41.6 → 0.41.7}/modules/turtle-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.41.6 → 0.41.7}/modules/tutor-0.0.1-py3-none-any.whl +0 -0
- package/lib/kernel-javascript_lib_index_js.js +1 -1
- package/lib/kernel-javascript_lib_index_js.js.map +1 -1
- package/lib/kernel-ocaml_lib_index_js.js +1 -1
- package/lib/kernel-ocaml_lib_index_js.js.map +1 -1
- package/lib/kernel-python3_lib_index_js.js +1 -1
- package/lib/kernel-python3_lib_index_js.js.map +1 -1
- package/lib/kernel-sql_lib_index_js.js +1 -1
- package/lib/kernel-sql_lib_index_js.js.map +1 -1
- package/lib/vendors-node_modules_sql_js_dist_sql-wasm_js-node_modules_sql_js_dist_sql-wasm_wasm_asset-url-a189cf.js +1 -1
- package/lib/vendors-node_modules_sql_js_dist_sql-wasm_js-node_modules_sql_js_dist_sql-wasm_wasm_asset-url-a189cf.js.map +1 -1
- package/package.json +3 -3
- package/lib/0.41.6/basthon.data +0 -0
- package/lib/0.41.6/basthon.js +0 -1
- package/lib/0.41.6/modules/IPython-0.0.1-py3-none-any.whl +0 -0
- package/lib/0.41.6/modules/extern/pytutor-main.min.js +0 -1
- package/lib/0.41.6/modules/extern/pytutor-main.min.js.map +0 -1
- package/lib/0.41.6/modules/p5-0.0.1-py3-none-any.whl +0 -0
- package/lib/0.41.6/modules/proj4py-0.0.1-py3-none-any.whl +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["d3.v2.min.js","jquery-1.8.2.min.js","jquery.simplemodal.js","jquery.ba-bbq.min.js","jquery.jsPlumb-1.3.10-all-min.js","jquery-ui-1.8.24.custom.min.js","pytutor.js"],"names":["j","m","a","n","this","o","p","r","isNaN","s","length","u","v","replace","z","A","d","f","c","b","e","on","apply","arguments","get","slice","g","indexOf","concat","remove","push","set","D","Math","floor","log","pow","LN10","E","F","lastIndexOf","substring","reverse","join","O","P","Q","R","S","cos","PI","T","U","sqrt","X","Y","d3","event","stopPropagation","preventDefault","Z","sourceEvent","$","of","target","type","ba","interpolateTransform","interpolate","bb","bc","max","min","bd","be","bf","toString","bg","h","exec","split","parseFloat","bi","i","bj","charAt","parseInt","bh","bk","round","bl","l","bm","bn","bt","bu","bo","bv","bp","bw","classList","add","className","baseVal","lastIndex","test","RegExp","requote","node","contains","each","call","bx","__data__","bA","bC","bD","bE","bI","dispatch","bQ","id","time","tween","ease","bK","bO","bP","delay","duration","timer","active","q","forEach","start","k","end","count","__transition__","bG","bF","bH","bV","Date","now","bS","then","flush","callback","next","bW","isFinite","clearTimeout","bU","setTimeout","bT","bX","Infinity","bY","b$","bZ","rotate","atan2","ca","translate","scale","skew","cc","ownerSVGElement","createSVGPoint","cb","window","scrollX","scrollY","select","document","body","append","style","getScreenCTM","x","pageX","y","pageY","clientX","clientY","matrixTransform","inverse","getBoundingClientRect","left","clientLeft","top","clientTop","ce","cf","rangeExtent","range","cg","ceil","ch","cj","rebind","ck","cl","cm","cn","format","co","cp","bisect","cs","ct","cv","cG","innerRadius","cH","outerRadius","cI","startAngle","cJ","endAngle","cK","cL","cM","cN","cP","defined","cO","has","tension","cQ","cR","cV","cW","cX","dd","shift","c_","da","db","dc","de","dg","df","abs","di","cE","sin","dj","w","t","x0","x1","y0","y1","dk","source","dl","dm","radius","dq","ds","dt","du","dy","attr","dz","dG","dH","pop","dI","parent","splice","dL","fixed","dM","dK","dN","dJ","dO","px","py","resume","dQ","dR","dT","dU","dV","dY","dZ","d$","d_","reduce","ea","eb","ec","LN2","ed","ee","links","ei","nodes","ej","ef","children","eg","value","eh","merge","map","ek","el","_pack_next","_pack_prev","em","en","ep","eq","er","et","eo","acos","ey","ez","_tree","thread","eA","eB","eC","eD","eE","depth","eF","eJ","dx","eK","eL","eM","eO","hasOwnProperty","eP","eQ","eR","eV","coordinates","e$","e_","fa","eN","distance","fb","fg","fh","fj","list","index","sort","bottomSite","leftEnd","rightEnd","init","createHalfEdge","unshift","edge","side","vertex","insert","leftBound","rightOf","del","right","leftRegion","region","rightRegion","fi","intersect","endPoint","ystar","empty","nextEvent","extractMin","fk","leaf","point","fm","fo","_","UTC","fq","charCodeAt","fw","fP","fU","fQ","H","fZ","toISOString","f$","fn","offset","utc","f_","ga","invert","gc","domain","nice","gb","ticks","gg","year","tickFormat","copy","gd","ge","setFullYear","gf","getFullYear","go","setUTCFullYear","gp","getUTCFullYear","createElement","setProperty","CSSStyleDeclaration","prototype","version","Array","documentElement","childNodes","nodeType","__proto__","keys","values","entries","key","Object","defineProperty","enumerable","K","functor","ascending","NaN","descending","mean","undefined","median","filter","quantile","extent","random","normal","sum","transpose","zip","bisector","bisectLeft","bisectRight","first","last","nest","sortKeys","sortValues","rollup","permute","Error","xhr","XMLHttpRequest","overrideMimeType","open","setRequestHeader","onreadystatechange","readyState","status","response","send","text","responseText","json","JSON","parse","html","createRange","selectNode","createContextualFragment","xml","responseXML","svg","xhtml","xlink","xmlns","B","ns","prefix","qualify","space","local","C","formatPrefix","symbol","toPrecision","toExponential","toFixed","G","I","J","L","linear","poly","quad","cubic","exp","circle","elastic","asin","back","bounce","M","in","out","in-out","out-in","interpolators","interpolateNumber","interpolateRound","interpolateString","transform","interpolateRgb","rgb","interpolateHsl","hsl","interpolateArray","interpolateObject","brighter","darker","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","querySelector","querySelectorAll","bq","br","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","bs","Sizzle","uniqueSort","bB","selection","parentNode","selectAll","getAttributeNS","getAttribute","removeAttributeNS","removeAttribute","setAttributeNS","setAttribute","classed","getComputedStyle","getPropertyValue","removeProperty","property","textContent","innerHTML","appendChild","createElementNS","namespaceURI","insertBefore","removeChild","data","update","enter","exit","datum","order","nextSibling","removeEventListener","addEventListener","transition","bJ","bN","attrTween","styleTween","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","consolidate","matrix","mouse","navigator","userAgent","cr","touches","identifier","ci","Number","rangeRound","clamp","cq","every","cx","cu","exponent","ordinal","cw","rangePoints","rangeBands","rangeRoundBands","rangeBand","category10","category20","cy","category20b","cz","category20c","cA","cB","quantiles","quantize","cC","identity","cD","arc","cF","centroid","line","step-before","step-after","basis","basis-open","basis-closed","bundle","cardinal","cardinal-open","cardinal-closed","monotone","dv","radial","angle","area","chord","p0","p1","a1","a0","diagonal","projection","size","cross","diamond","square","triangle-down","dw","triangle-up","symbolTypes","dB","axis","String","dA","__chart__","orient","tickValues","tickSize","tickPadding","tickSubdivide","brush","changedTouches","altKey","mode","keyCode","dC","clear","nw","ne","se","sw","behavior","drag","origin","zoom","focus","dD","scrollTop","dispatchEvent","wheelDelta","detail","dF","shiftKey","dE","scaleExtent","dS","layout","subindex","padding","sortGroups","sortSubgroups","sortChords","chords","groups","force","tick","alpha","weight","dP","charge","pointCharge","geom","quadtree","visit","linkDistance","linkStrength","friction","gravity","theta","stop","partition","hierarchy","pie","dW","stack","dX","inside-out","default","silhouette","wiggle","expand","zero","histogram","bins","frequency","revalue","pack","es","cluster","ew","ex","separation","tree","ancestor","prelim","mod","change","number","eH","eI","eG","treemap","sticky","ratio","csv","parseRows","geo","azimuthal","atan","albers","parallels","albersUsa","bonne","parallel","equirectangular","mercator","path","polygon","FeatureCollection","features","geometry","Feature","Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon","GeometryCollection","geometries","pointRadius","bounds","fc","greatArc","clip","create","precision","greatCircle","contour","fe","fd","hull","voronoi","delaunay","fl","fp","getDate","getUTCDate","getDay","getUTCDay","getHours","getUTCHours","getMilliseconds","getUTCMilliseconds","getMinutes","getUTCMinutes","getMonth","getUTCMonth","getSeconds","getUTCSeconds","getTime","getTimezoneOffset","valueOf","setDate","setUTCDate","setDay","setUTCDay","setHours","setUTCHours","setMilliseconds","setUTCMilliseconds","setMinutes","setUTCMinutes","setMonth","setUTCMonth","setSeconds","setUTCSeconds","setTime","fr","fv","fs","ft","fu","fB","fH","dayOfYear","sundayOfYear","W","mondayOfYear","%","fz","fA","fD","toLowerCase","fF","fG","fW","jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec","january","february","march","april","june","july","august","september","october","november","december","am","pm","fY","iso","second","seconds","minute","minutes","hour","hours","day","days","week","sunday","weeks","weekOfYear","month","months","years","gh","gi","gj","gk","gl","gn","parseJSON","isEmptyObject","isFunction","grep","inArray","createDocumentFragment","hasData","_data","events","handle","extend","clearAttributes","mergeAttributes","nodeName","outerHTML","support","html5Clone","trim","defaultChecked","checked","selected","defaultSelected","defaultValue","expando","getElementsByTagName","toUpperCase","css","ownerDocument","display","b_","offsetWidth","offsetHeight","boxSizing","boxSizingReliable","appendTo","frameBorder","width","height","contentWindow","contentDocument","write","close","substr","dataTypes","ajaxSettings","flatOptions","cU","cS","Deferred","always","elem","startTime","tweens","run","notifyWith","resolveWith","promise","props","opts","specialEasing","originalProperties","originalOptions","createTween","Tween","easing","rejectWith","camelCase","isArray","cssHooks","cT","fx","anim","queue","progress","done","complete","fail","cZ","c$","opacity","isWindow","defaultView","parentWindow","ready","detachEvent","location","jQuery","constructor","context","selector","makeArray","jquery","find","parseHTML","isPlainObject","getElementById","toArray","pushStack","prevObject","noConflict","isReady","readyWait","holdReady","trigger","off","isNumeric","error","buildFragment","cacheable","clone","fragment","Function","parseXML","DOMParser","parseFromString","ActiveXObject","async","loadXML","noop","globalEval","execScript","eval","guid","proxy","access","attachEvent","frameElement","doScroll","Callbacks","memory","stopOnFalse","disable","once","unique","disabled","lock","locked","fireWith","fire","fired","state","resolve","reject","notify","pipe","when","cssText","leadingWhitespace","firstChild","tbody","htmlSerialize","hrefNormalized","cssFloat","checkOn","optSelected","getSetAttribute","enctype","cloneNode","boxModel","compatMode","submitBubbles","changeBubbles","focusinBubbles","deleteExpando","noCloneEvent","inlineBlockNeedsLayout","shrinkWrapBlocks","reliableMarginRight","pixelPosition","noCloneChecked","optDisabled","fireEvent","radioValue","lastChild","checkClone","appendChecked","submit","focusin","reliableHiddenOffsets","doesNotIncludeMarginInBodyOffset","offsetTop","marginRight","overflow","cache","deletedIds","uuid","noData","embed","object","applet","acceptData","toJSON","removeData","cleanData","triggerHandler","attributes","name","dequeue","_queueHooks","speeds","clearQueue","special","hover","N","V","removeAttr","prop","removeProp","propFix","addClass","removeClass","toggleClass","hasClass","val","valHooks","option","specified","selectedIndex","options","attrFn","isXMLDoc","attrHooks","tabindex","readonly","for","class","maxlength","cellspacing","cellpadding","rowspan","colspan","usemap","frameborder","contenteditable","propHooks","tabIndex","getAttributeNode","href","nodeValue","coords","button","createAttribute","setAttributeNode","handler","triggered","delegateType","bindType","origType","needsContext","expr","match","namespace","delegateCount","setup","global","teardown","removeEvent","customEvent","getData","setData","changeData","Event","isTrigger","exclusive","namespace_re","result","noBubble","isPropagationStopped","isDefaultPrevented","_default","fix","delegateTarget","preDispatch","matches","currentTarget","isImmediatePropagationStopped","handleObj","postDispatch","fixHooks","keyHooks","which","charCode","mouseHooks","fromElement","scrollLeft","relatedTarget","toElement","srcElement","metaKey","load","blur","beforeunload","onbeforeunload","simulate","isSimulated","originalEvent","defaultPrevented","returnValue","getPreventDefault","timeStamp","cancelBubble","stopImmediatePropagation","mouseenter","mouseleave","form","_submit_bubble","propertyName","_just_changed","one","bind","unbind","live","die","delegate","undelegate","toggle","click","getElementsByClassName","preFilter","dir","sizset","TAG","relative","ID","POS","cacheLength","CLASS","NAME","ATTR","PSEUDO","CHILD","createComment","getElementsByName","getText","isXML","compareDocumentPosition","attrHandle","selectors","createPseudo",">"," ","+","~","previousSibling","pseudos","setFilters","not","innerText","enabled","header","radio","checkbox","file","password","image","reset","input","activeElement","hasFocus","even","odd","lt","gt","sourceIndex","compile","nth","filters","contents","prev","is","closest","prevAll","addBack","andSelf","parents","parentsUntil","nextAll","nextUntil","prevUntil","siblings","sibling","by","bz","legend","thead","tr","td","col","optgroup","tfoot","colgroup","caption","th","createTextNode","wrapAll","wrapInner","wrap","unwrap","replaceWith","domManip","prepend","before","clean","after","detach","src","ajax","url","dataType","throws","fragments","prependTo","insertAfter","replaceAll","uaMatch","browser","chrome","webkit","safari","sub","superclass","bL","bM","bR","position","visibility","letterSpacing","fontWeight","cd","show","hide","cssNumber","fillOpacity","lineHeight","orphans","widows","zIndex","cssProps","float","swap","minWidth","maxWidth","currentStyle","runtimeStyle","pixelLeft","$1","hidden","visible","margin","border","serialize","param","serializeArray","elements","encodeURIComponent","traditional","success","getScript","getJSON","ajaxSetup","isLocal","contentType","processData","accepts","*","responseFields","converters","* text","text html","text json","text xml","ajaxPrefilter","ajaxTransport","mimeType","getResponseHeader","ifModified","lastModified","etag","dataFilter","statusText","statusCode","getAllResponseHeaders","abort","crossDomain","hasContent","headers","beforeSend","timeout","jsonp","jsonpCallback","script","text script","head","scriptCharset","charset","onload","cors","username","xhrFields","unload","unqueued","overflowX","overflowY","cur","unit","Animation","tweener","prefilter","pos","step","animate","fadeTo","speed","timers","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","old","swing","setInterval","interval","clearInterval","slow","fast","animated","setOffset","bodyOffset","pageYOffset","pageXOffset","offsetLeft","using","offsetParent","scrollTo","Height","Width","content","","define","amd","msie","modal","impl","setContainerDimensions","setPosition","defaults","overlayId","overlayCss","containerId","containerCss","dataId","dataCss","minHeight","maxHeight","autoResize","autoPosition","closeHTML","closeClass","escClose","overlayClose","persist","onOpen","onShow","onClose","occb","placeholder","orig","alert","getDimensions","iframe","iframeCss","overlay","container","outline","fixIE","bindEvents","watchTab","unbindEvents","removeExpression","setExpression","innerHeight","getVal","origHeight","origWidth","opera","outerHeight","outerWidth","inputs","decodeURIComponent","bbq","noEscape","deparam","true","false","null","base","img","link","pushState","getState","removeState","documentMode","hash","jsPlumbUtil","isString","isObject","convertStyle","gradient","lineLength","segment","intersects","segmentMultipliers","inverseSegmentMultipliers","pointOnLine","perpendicularLineTo","findWithFunction","removeWithFunction","addWithFunction","addToList","EventGenerator","getListener","logEnabled","console","group","groupEnd","timeEnd","CurrentLibrary","getOffset","getSize","component","_jsPlumb","Overlays","getRenderMode","overlays","aa","defaultOverlayKeys","Defaults","cssClass","labelStyle","Label","addOverlay","repaint","getOverlay","getOverlays","hideOverlay","hideOverlays","showOverlay","showOverlays","removeAllOverlays","cleanup","removeOverlay","removeOverlays","label","labelLocation","defaultLabelLocation","LabelStyle","setLabel","setLocation","getLabel","getLabelOverlay","isHover","Anchor","Anchors","ConnectionsDetachable","ConnectionOverlays","Connector","Container","DragOptions","DropOptions","Endpoint","EndpointOverlays","Endpoints","EndpointStyle","fillStyle","EndpointStyles","EndpointHoverStyle","EndpointHoverStyles","HoverPaintStyle","color","LogEnabled","MaxConnections","PaintStyle","lineWidth","strokeStyle","RenderMode","Scope","aB","aL","aO","aC","isDragSupported","isAlreadyDraggable","dragEvents","setHoverSuspended","getUIPosition","initDraggable","dragManager","register","a3","setVisible","sourceId","endpoints","isVisible","aQ","ab","paintStyle","hoverPaintStyle","anchor","endpoint","aM","ac","aj","aI","_el","getElementObject","importDefaults","restoreDefaults","aY","aT","aU","ah","ae","aW","appendElement","aD","ak","_nodes","a6","getElementsForDraggable","anchorManager","redraw","aG","av","ad","ConnectionType","getDefaultConnectionType","EndpointType","af","getParent","sourceEndpoint","suspendedEndpoint","scope","doNotFireConnectionEvent","connection","targetId","targetEndpoint","newConnection","aw","getTagName","aF","connections","au","aX","timestamp","recalc","elId","bottom","centerx","centery","aN","a7","connectorClass","endpointClass","overlayClass","Connectors","canvas","vml","addEndpoint","parentAnchor","compute","xy","wh","element","paint","anchorLoc","endpointAdded","addEndpoints","checkCondition","connect","uuids","isFull","connectorOverlays","tooltip","connectorTooltip","aZ","aH","_makeTargetCreator","az","a5","a9","aA","deleteEndpointsOnDetach","deleteEndpoint","getUuid","detachAll","getDisplayElements","endpointDeleted","deleteEveryEndpoint","connectionDetached","a4","aR","forceDetach","isDetachAllowed","detachFrom","detachAllConnections","detachEveryConnection","draggable","getDefaultEndpointType","ax","an","ay","aK","getConnections","getDefaultScope","setHover","setPaintStyle","setHoverPaintStyle","setDetachable","setConnector","setParameter","setParameters","isDetachable","getParameter","getParameters","getPaintStyle","getHoverPaintStyle","aS","getAllConnections","getEndpoint","getEndpoints","getId","getSelector","isHoverSuspended","isCanvasAvailable","isSVGAvailable","isVMLAvailable","idstamp","setRenderMode","currentlyDragging","CANVAS","connector","jsPlumbUIComponent","makeAnchor","getOrientation","elementId","jsPlumbInstance","aq","orientation","offsets","makeAnchors","makeDynamicAnchor","ap","makeTarget","maxConnections","uniqueEndpoint","proxyComponent","dropOptions","drop","getDropEvent","getDragObject","setDragScope","isDropAllowed","endpointsToDeleteOnDetach","positionFinder","constructorParams","previousConnection","endpointWillMoveAfterConnection","isReattach","floatingAnchorIndex","addConnection","initDroppable","unmakeTarget","makeTargets","ag","makeSource","getOriginalEvent","page","b0","isSource","dragOptions","endpointWillMoveTo","registerListener","setElement","rehomeEndpoint","unmakeSource","unregisterListener","unmakeEverySource","unmakeEveryTarget","makeSources","setSourceEnabled","toggleSourceEnabled","isSourceEnabled","setTargetEnabled","toggleTargetEnabled","isTarget","isTargetEnabled","repaintEverything","removeAllEndpoints","removeEveryEndpoint","removeEndpoint","listener","setDefaultScope","setDraggable","setId","changeId","setIdChanged","setDebugLog","setRepaintFunction","ar","setSuspendDrawing","SVG","VML","sizeCanvas","getTestHarness","endpointsByElement","endpointCount","connectionCount","self","toggleVisible","toggleDraggable","addListener","tagName","equals","getCurrentLocation","reference","referenceCanvas","isFloating","over","isSelective","isDynamic","addAnchor","getAnchors","txy","twh","ai","aJ","HORIZONTAL","VERTICAL","DIAGONAL","IDENTITY","theta2","a2","ao","al","_continuousAnchorEdge","isContinuous","removeElement","getConnectionsFor","getEndpointsFor","clearFor","b1","dimensions","elementWithPrecedence","continuousAnchorFactory","getDOMElement","endpointStyles","endpointHoverStyles","endpointStyle","outlineColor","outlineWidth","endpointHoverStyle","anchors","reattach","detachable","drawEndpoints","idPrefix","getElement","cost","getCost","setCost","bidirectional","isBidirectional","getAttachedElements","connectionsDetachable","getConnectionCost","areConnectionsBidirectional","connectorStyle","connectorHoverStyle","paintStyleInUse","moveParent","bgCanvas","isAppendedAtTopLevel","reattachListeners","tElement","b6","ui","b5","b8","b4","b3","computeMaxSize","b2","overlayPlacements","draw","stopDrag","at","isEnabled","setEnabled","connectionCost","setConnectionCost","connectionsBidirectional","setConnectionsBidirectional","_transient","setEndpoint","dragAllowedWhenFull","computeAnchor","b9","_forceDetach","b7","detachFromConnection","makeInPlaceCopy","isConnectedTo","connectorSelector","setDragAllowedWhenFull","setStyle","anchorPoint","connectorPaintStyle","removeConnection","defaultDragOptions","getDragScope","getDropScope","isDropSupported","getContext","SVGAngle","implementation","hasFeature","adj","parameters","hoverClass","HoverClass","beforeDetach","beforeDrop","dropEndpoint","mouseout","attachListeners","reattachListenersForElement","jsPlumb","getInstance","TopCenter","BottomCenter","LeftMiddle","RightMiddle","Center","TopRight","BottomRight","TopLeft","BottomLeft","DynamicAnchors","AutoDefault","Assign","AnchorPositionFinders","Continuous","Fixed","Grid","grid","DOMElementComponent","mousemove","dblclick","mousedown","mouseup","Straight","pointOnPath","gradientAtPoint","pointAlongPathFrom","Bezier","jsBezier","locationAlongCurveFrom","majorAnchor","curviness","minorAnchor","_findControlPoint","pointOnCurve","pointAlongCurveFrom","Flowchart","proportion","stub","minStubLength","gap","oppositex","orthogonalx","perpendicularx","oppositey","orthogonaly","perpendiculary","segmentInfo","Dot","defaultOffset","defaultInnerRadius","Rectangle","appendDisplayElement","loc","endpointLoc","endpointLocation","incrementLocation","getLocation","Image","setImage","Blank","background","Triangle","Arrow","direction","foldback","hxy","tail","cxy","PlainArrow","Diamond","cachedDimensions","minx","miny","getTextDimensions","GuideLines","StateMachine","proximityLimit","loopbackRadius","showLoopback","avoidSelector","CanvasConnector","_paint","ctx","beginPath","moveTo","bezierCurveTo","stroke","save","closePath","restore","createGradient","createLinearGradient","SvgConnector","getPath","VmlConnector","convertValue","stroke-linejoin","joinstyle","endcap","miterlimit","createStyleSheet","namespaces","addRule","setOpacity","stroked","strokecolor","strokeweight","filled","fillcolor","dashstyle","strokeNode","opacityNodes","fill","initOpacityNodes","coordsize","VmlEndpoint","getVml","gradientUnits","stops","stop-color","pointerEventsSpec","originalArgs","pointer-events","title","useDivWrapper","stroke-dashoffset","stroke-linecap","bgPath","SvgEndpoint","strokeWidth","makeNode","_over","getImageData","elementFromPoint","contextmenu","lineTo","getPageXY","getClientXY","addColorStop","createRadialGradient","rect","SVGAnimatedString","util","getDocumentElement","droppable","getScrollLeft","getScrollTop","ret","absolutePosition","helper","sgn","max_distance_below","distanceFromCurve","gradientAtPointAlongCurveFrom","nearestPointOnCurve","perpendicularToCurveAt","curCSS","ALT","BACKSPACE","CAPS_LOCK","COMMA","COMMAND","COMMAND_LEFT","COMMAND_RIGHT","CONTROL","DELETE","DOWN","END","ENTER","ESCAPE","HOME","INSERT","LEFT","MENU","NUMPAD_ADD","NUMPAD_DECIMAL","NUMPAD_DIVIDE","NUMPAD_ENTER","NUMPAD_MULTIPLY","NUMPAD_SUBTRACT","PAGE_DOWN","PAGE_UP","PERIOD","RIGHT","SHIFT","SPACE","TAB","UP","WINDOWS","propAttr","_focus","scrollParent","disableSelection","selectstart","enableSelection","innerWidth","focusable","tabbable","borderWidth","plugin","plugins","hasScroll","isOverAxis","isOver","widget","Widget","_createWidget","widgetName","widgetEventPrefix","widgetBaseClass","bridge","_init","_getCreateOptions","destroy","_create","_trigger","metadata","_setOptions","_setOption","enable","cancel","_mouseInit","_mouseDown","started","_mouseDestroy","_mouseMoveDelegate","_mouseUpDelegate","_mouseStarted","_mouseUp","_mouseDownEvent","_mouseCapture","mouseDelayMet","_mouseDelayTimer","_mouseDistanceMet","_mouseDelayMet","_mouseStart","_mouseMove","_mouseDrag","_mouseStop","collision","my","fractions","targetWidth","targetHeight","elemWidth","elemHeight","collisionPosition","collisionWidth","collisionHeight","bgiframe","fit","flip","alsoResize","animateDuration","animateEasing","aspectRatio","autoHide","containment","ghost","handles","_aspectRatio","originalElement","_proportionallyResizeElements","_helper","elementIsWrapper","marginLeft","marginTop","marginBottom","originalResizeStyle","_proportionallyResize","_renderAxis","_handles","mouseover","resizing","documentScroll","_renderProxy","originalSize","originalPosition","sizeDiff","originalMousePosition","_propagate","_change","_updateVirtualBoundaries","_updateRatio","_respectSize","_updateCache","_vBoundaries","borderDif","elementOffset","resizable","resize","containerElement","containerOffset","containerPosition","parentData","scrollHeight","containerSize","scrollWidth","_keySliding","_mouseSliding","_animateOff","_handleIndex","_detectOrientation","_valueMin","keydown","_start","_valueMax","_trimAlignValue","_slide","keyup","_stop","_refreshValue","elementSize","_normValueFromMouse","_clickOffset","_value","_values","slider","SVG_ARROW_POLYGON","SVG_ARROW_HEIGHT","curVisualizerID","ExecutionVisualizer","domRootID","dat","params","curInputCode","code","rtrim","curTrace","trace","DEFAULT_EMBEDDED_CODE_DIV_WIDTH","DEFAULT_EMBEDDED_CODE_DIV_HEIGHT","lastEntry","promptForUserInput","userInputPromptStr","htmlspecialchars","prompt","promptForMouseInput","curInstr","lastStdout","arrowLinesDef","arrowLines","highlightLinesDef","highlightLines","compactFuncLabels","pyCrazyMode","visualizerIdOverride","visualizerID","leftGutterSvgInitialized","arrowOffsetY","codeRowHeight","disableHeapNesting","drawParentPointers","textualMemoryLabels","showOnlyOutputs","tabularView","showAllFrameLabels","executeCodeWithRawInputFunc","connectorBaseColor","fillstyle","connectorHighlightColor","domRoot","domRootD3","codeOutputLines","breakpoints","sortedBreakpointsList","classAttrsHidden","pytutor_hooks","lang","activateJavaFrontend","numStdoutLines","stdout","try_hook","myViz","hasRendered","render","htmlWithHighlight","inputStr","highlightInd","highlightCssClass","highlightedChars","suffix","add_pytutor_hook","hook_name","func","args","handled_and_result","resetJsPlumbManager","jsPlumbManager","heap_pointer_src_id","connectionEndpointIDs","heapConnectionEndpointIDs","parentPointerConnectionEndpointIDs","renderedHeapObjectIDs","generateID","original_id","generateHeapObjID","objID","stepNum","codeDisplayHTML","outputsHTML","codeVizHTML","vizHeaderHTML","verticalStack","stdoutHeight","embeddedMode","lightArrowColor","darkArrowColor","editCodeBaseURL","pyVer","urlStr","allowEditAnnotations","codeDivWidth","codeDivHeight","editAnnotationMode","enterViewAnnotationsMode","enterEditAnnotationsMode","renderSliderBreakpoints","updateOutputCallback","getRealLabel","hideOutput","renderStep","stepBack","stepForward","sliderDiv","instrLimitReached","warningMsg","exception_msg","instrLimitReachedWarningMsg","evt","startingInstruction","jumpToEnd","assert","firstErrorStep","hideCode","precomputeCurTraceLayouts","renderPyCodeOutput","renderTabularView","scroll","codePane","docScrollTop","delta","optTable","ruiDiv","userInput","updateOutput","showVizHeaderViewMode","titleVal","descVal","htmlsanitize","showVizHeaderEditMode","destroyAllAnnotationBubbles","allAnnotationBubbles","destroyQTip","initStepAnnotation","curEntry","stepAnnotation","initAllAnnotationBubbles","codelineIDs","heapObjectIDs","variableIDs","frameIDs","AnnotationBubble","redrawCodelineBubble","curAnnotations","stepAnnotationEditorVal","bubbleAnnotations","txt","domID","preseedText","enterViewMode","redrawConnectors","redrawAllAnnotationBubbles","enterEditMode","redrawBubble","findPrevBreakpoint","lastElt","findNextBreakpoint","nextBreakpoint","prevBreakpoint","sliderOverlay","xrange","breakpointColor","_getSortedBreakpointsList","addToBreakpoints","executionPoints","unsetBreakpoint","lines","cod","breakpointInComment","lineNumber","breakpointHere","elt","toks","codeOutputD3","exePts","renderStdout","pyStdout","oldLeft","updateCurPrevLines","totalInstrs","isLastInstr","isTerminated","curLineNumber","prevLineNumber","hasError","curIsReturn","prevIsReturn","idx","retStack","stack_to_render","retFrameId","frame_id","entry","curLineExceptionMsg","curLineIsReturn","prevLineIsReturn","smoothTransition","updateOutputMini","updateOutputFull","prevDataVizHeight","gutterSVG","curToplevelLayout","highlightCodeLine","pcod","prevExprStartCol","prevExprWidth","column","expr_start_col","expr_width","curColumn","curExprStartCol","curExprWidth","curLineInfo","codeAtLine","curLineHTML","isCur","isPrev","htmlEscapedChar","prevLineHTML","pla","translatePrevCmd","ST","prevVerticalNudge","curVerticalNudge","cla","translateCurCmd","errorColor","lineNo","LO","PO","codeHorizontalOverflow","firstRowOffsetY","secondRowOffsetY","teenyAdjustment","question","div","debugMode","vcrControls","brightRed","html_output","css_output","js_output","curTraceLayouts","renderDataStructures","heightChangeCallback","isCppMode","prevLayout","curLayout","idsToRemove","idsAlreadyLaidOut","row","recurseIntoObject","curRow","newRow","hook_result","heapObj","heap","ind","child","isPrimitiveType","childID","getRefID","updateCurLayout","dictKey","dictVal","structurallyEquivalent","instKey","instVal","updateCurLayoutAndRecurse","curLayoutLoc","curLayoutIndexOf","alreadyLaidOut","foundRow","foundIndex","isHeapRef","kvPair","ordered_globals","varname","globals","frame","ordered_varnames","xxx","encoded_locals","rownum","heapPtrSrcRE","rightwardNudgeHack","highlightedLineColor","existingConnectionEndpointIDs","existingParentPointerConnectionEndpointIDs","realGlobalsLst","globalsID","stackFrameDiv","nudger_to_nudged_rows","srcHeapConnectorIDs","frame_already_highlighted","renderVarValueConnector","varID","valueID","renderParentPointerConnector","srcID","dstID","totalParentPointersRendered","highlight_frame","frameID","connectorInactiveColor","heapObjID","heapRows","objLst","toplevelHeapObjects","renderCompoundObject","globalTblID","globalVarTable","varnameToCssID","globalVarTableCells","labelID","varDivID","renderPrimitiveObject","renderCStructArray","sp","sfdEnter","unique_hash","is_zombie","parent_frame_id_list","my_CSS_id","my_frame_id","parent_frame_id","parent_CSS_id","child_CSS_id","headerLabel","func_name","is_parent","stackVarTable","stackVarTableCells","cur_nudgee_set","srcAnchorObject","srcHeapObject","dstHeapObject","srcHeapRow","dstHeapRow","srcRowID","dstRowID","srcAnchorLeft","dstHeapObjectLeft","dst_nudgee_set","is_highlighted","allGlobalVars","funcNameToOrderedVars","orderedFuncNames","allVarNames","sf","funcVarsList","funcName","tbl","tHead","tBody","stepsAndTraceEntries","allVarValues","highlightedFrame","found","obj","renderNestedObject","d3DomElement","typeName","leader","cdataId","ptrSrcId","ptrTargetId","literalStr","rep","typ","isValidPtr","addr","ptrVal","debugInfo","isTopLevel","dstDivID","srcDivID","headerTr","contentTr","numCols","headerLength","lab","parentFrameID","primitiveVal","strRepr","typeLabelPrefix","numElts","numRows","curTr","keyTd","valTd","isInstance","superclassStr","attrnameStr","funcPrefix","funcCode","funcProperties","typename","highlightedLineBorderColor","highlightedLineLighterColor","funcCallLineColor","cond","str","lbRE","rbRE","obj1","obj2","startingInd","obj1fields","qtipShared","effect","classes","parentViz","hashID","qtipHidden","isOutputLineVisibleForBubbles","lineDivID","traceQCheckMe","inputId","divId","answer","vis","ans","attrs","correctAns","feedbackElement","feedback","closeModal","showStub","myBubble","qtip","adjust","qTipID","showEditor","ta","qTipContentID","showViewer","bindViewerClickHandler","minimizeViewer","restoreViewer","makeInvisible","prevLine","old_generateID","asc","stdin","stdinPosition","stdinContent","escapeHtml","hasStdout","stdoutLines","visibleLabel","elide","entityMap","sanitized","&","<","\"","'","/","string"],"mappings":"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","file":"pytutor-main.min.js","sourcesContent":["(function(){function d(a,b){try{for(var c in b)Object.defineProperty(a.prototype,c,{value:b[c],enumerable:!1})}catch(d){a.prototype=b}}function f(a){var b=-1,c=a.length,d=[];while(++b<c)d.push(a[b]);return d}function g(a){return Array.prototype.slice.call(a)}function j(){}function m(a){return a}function n(){return this}function o(){return!0}function p(a){return typeof a==\"function\"?a:function(){return a}}function q(a,b,c){return function(){var d=c.apply(b,arguments);return arguments.length?a:d}}function r(a){return a!=null&&!isNaN(a)}function s(a){return a.length}function u(a){return a==null}function v(a){return a.replace(/^\\s+|\\s+$/g,\"\").replace(/\\s+/g,\" \")}function w(a){var b=1;while(a*b%1)b*=10;return b}function z(){}function A(a){function d(){var c=b,d=-1,e=c.length,f;while(++d<e)(f=c[d].on)&&f.apply(this,arguments);return a}var b=[],c=new j;return d.on=function(d,e){var f=c.get(d),g;return arguments.length<2?f&&f.on:(f&&(f.on=null,b=b.slice(0,g=b.indexOf(f)).concat(b.slice(g+1)),c.remove(d)),e&&b.push(c.set(d,{on:e})),a)},d}function D(a,b){return b-(a?1+Math.floor(Math.log(a+Math.pow(10,1+Math.floor(Math.log(a)/Math.LN10)-b))/Math.LN10):1)}function E(a){return a+\"\"}function F(a){var b=a.lastIndexOf(\".\"),c=b>=0?a.substring(b):(b=a.length,\"\"),d=[];while(b>0)d.push(a.substring(b-=3,b+3));return d.reverse().join(\",\")+c}function H(a,b){var c=Math.pow(10,Math.abs(8-b)*3);return{scale:b>8?function(a){return a/c}:function(a){return a*c},symbol:a}}function N(a){return function(b){return b<=0?0:b>=1?1:a(b)}}function O(a){return function(b){return 1-a(1-b)}}function P(a){return function(b){return.5*(b<.5?a(2*b):2-a(2-2*b))}}function Q(a){return a}function R(a){return function(b){return Math.pow(b,a)}}function S(a){return 1-Math.cos(a*Math.PI/2)}function T(a){return Math.pow(2,10*(a-1))}function U(a){return 1-Math.sqrt(1-a*a)}function V(a,b){var c;return arguments.length<2&&(b=.45),arguments.length<1?(a=1,c=b/4):c=b/(2*Math.PI)*Math.asin(1/a),function(d){return 1+a*Math.pow(2,10*-d)*Math.sin((d-c)*2*Math.PI/b)}}function W(a){return a||(a=1.70158),function(b){return b*b*((a+1)*b-a)}}function X(a){return a<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375}function Y(){d3.event.stopPropagation(),d3.event.preventDefault()}function Z(){var a=d3.event,b;while(b=a.sourceEvent)a=b;return a}function $(a){var b=new z,c=0,d=arguments.length;while(++c<d)b[arguments[c]]=A(b);return b.of=function(c,d){return function(e){try{var f=e.sourceEvent=d3.event;e.target=a,d3.event=e,b[e.type].apply(c,d)}finally{d3.event=f}}},b}function ba(a){return a==\"transform\"?d3.interpolateTransform:d3.interpolate}function bb(a,b){return b=b-(a=+a)?1/(b-a):0,function(c){return(c-a)*b}}function bc(a,b){return b=b-(a=+a)?1/(b-a):0,function(c){return Math.max(0,Math.min(1,(c-a)*b))}}function bd(a,b,c){return new be(a,b,c)}function be(a,b,c){this.r=a,this.g=b,this.b=c}function bf(a){return a<16?\"0\"+Math.max(0,a).toString(16):Math.min(255,a).toString(16)}function bg(a,b,c){var d=0,e=0,f=0,g,h,i;g=/([a-z]+)\\((.*)\\)/i.exec(a);if(g){h=g[2].split(\",\");switch(g[1]){case\"hsl\":return c(parseFloat(h[0]),parseFloat(h[1])/100,parseFloat(h[2])/100);case\"rgb\":return b(bi(h[0]),bi(h[1]),bi(h[2]))}}return(i=bj.get(a))?b(i.r,i.g,i.b):(a!=null&&a.charAt(0)===\"#\"&&(a.length===4?(d=a.charAt(1),d+=d,e=a.charAt(2),e+=e,f=a.charAt(3),f+=f):a.length===7&&(d=a.substring(1,3),e=a.substring(3,5),f=a.substring(5,7)),d=parseInt(d,16),e=parseInt(e,16),f=parseInt(f,16)),b(d,e,f))}function bh(a,b,c){var d=Math.min(a/=255,b/=255,c/=255),e=Math.max(a,b,c),f=e-d,g,h,i=(e+d)/2;return f?(h=i<.5?f/(e+d):f/(2-e-d),a==e?g=(b-c)/f+(b<c?6:0):b==e?g=(c-a)/f+2:g=(a-b)/f+4,g*=60):h=g=0,bk(g,h,i)}function bi(a){var b=parseFloat(a);return a.charAt(a.length-1)===\"%\"?Math.round(b*2.55):b}function bk(a,b,c){return new bl(a,b,c)}function bl(a,b,c){this.h=a,this.s=b,this.l=c}function bm(a,b,c){function f(a){return a>360?a-=360:a<0&&(a+=360),a<60?d+(e-d)*a/60:a<180?e:a<240?d+(e-d)*(240-a)/60:d}function g(a){return Math.round(f(a)*255)}var d,e;return a%=360,a<0&&(a+=360),b=b<0?0:b>1?1:b,c=c<0?0:c>1?1:c,e=c<=.5?c*(1+b):c+b-c*b,d=2*c-e,bd(g(a+120),g(a),g(a-120))}function bn(a){return i(a,bt),a}function bu(a){return function(){return bo(a,this)}}function bv(a){return function(){return bp(a,this)}}function bw(a,b){function f(){if(b=this.classList)return b.add(a);var b=this.className,d=b.baseVal!=null,e=d?b.baseVal:b;c.lastIndex=0,c.test(e)||(e=v(e+\" \"+a),d?b.baseVal=e:this.className=e)}function g(){if(b=this.classList)return b.remove(a);var b=this.className,d=b.baseVal!=null,e=d?b.baseVal:b;e=v(e.replace(c,\" \")),d?b.baseVal=e:this.className=e}function h(){(b.apply(this,arguments)?f:g).call(this)}var c=new RegExp(\"(^|\\\\s+)\"+d3.requote(a)+\"(\\\\s+|$)\",\"g\");if(arguments.length<2){var d=this.node();if(e=d.classList)return e.contains(a);var e=d.className;return c.lastIndex=0,c.test(e.baseVal!=null?e.baseVal:e)}return this.each(typeof b==\"function\"?h:b?f:g)}function bx(a){return{__data__:a}}function by(a){return function(){return bs(this,a)}}function bz(a){return arguments.length||(a=d3.ascending),function(b,c){return a(b&&b.__data__,c&&c.__data__)}}function bA(a,b){for(var c=0,d=a.length;c<d;c++)for(var e=a[c],f=0,g=e.length,h;f<g;f++)(h=e[f])&&b(h,f,c);return a}function bC(a){return i(a,bD),a}function bE(a,b,c){i(a,bI);var d=new j,e=d3.dispatch(\"start\",\"end\"),f=bQ;return a.id=b,a.time=c,a.tween=function(b,c){return arguments.length<2?d.get(b):(c==null?d.remove(b):d.set(b,c),a)},a.ease=function(b){return arguments.length?(f=typeof b==\"function\"?b:d3.ease.apply(d3,arguments),a):f},a.each=function(b,c){return arguments.length<2?bR.call(a,b):(e.on(b,c),a)},d3.timer(function(g){return bA(a,function(a,h,i){function o(f){return m.active>b?q():(m.active=b,d.forEach(function(b,c){(c=c.call(a,n,h))&&j.push(c)}),e.start.call(a,n,h),p(f)||d3.timer(p,0,c),1)}function p(c){if(m.active!==b)return q();var d=(c-k)/l,g=f(d),i=j.length;while(i>0)j[--i].call(a,g);if(d>=1)return q(),bK=b,e.end.call(a,n,h),bK=0,1}function q(){return--m.count||delete a.__transition__,1}var j=[],k=a.delay,l=a.duration,m=(a=a.node).__transition__||(a.__transition__={active:0,count:0}),n=a.__data__;++m.count,k<=g?o(g):d3.timer(o,k,c)})},0,c),a}function bG(a,b,c){return c!=\"\"&&bF}function bH(a,b){function d(a,d,e){var f=b.call(this,a,d);return f==null?e!=\"\"&&bF:e!=f&&c(e,f)}function e(a,d,e){return e!=b&&c(e,b)}var c=ba(a);return typeof b==\"function\"?d:b==null?bG:(b+=\"\",e)}function bR(a){var b=bK,c=bQ,d=bO,e=bP;return bK=this.id,bQ=this.ease(),bA(this,function(b,c,d){bO=b.delay,bP=b.duration,a.call(b=b.node,b.__data__,c,d)}),bK=b,bQ=c,bO=d,bP=e,this}function bV(){var a,b=Date.now(),c=bS;while(c)a=b-c.then,a>=c.delay&&(c.flush=c.callback(a)),c=c.next;var d=bW()-b;d>24?(isFinite(d)&&(clearTimeout(bU),bU=setTimeout(bV,d)),bT=0):(bT=1,bX(bV))}function bW(){var a=null,b=bS,c=Infinity;while(b)b.flush?b=a?a.next=b.next:bS=b.next:(c=Math.min(c,b.then+b.delay),b=(a=b).next);return c}function bY(a){var b=[a.a,a.b],c=[a.c,a.d],d=b$(b),e=bZ(b,c),f=b$(b_(c,b,-e))||0;b[0]*c[1]<c[0]*b[1]&&(b[0]*=-1,b[1]*=-1,d*=-1,e*=-1),this.rotate=(d?Math.atan2(b[1],b[0]):Math.atan2(-c[0],c[1]))*ca,this.translate=[a.e,a.f],this.scale=[d,f],this.skew=f?Math.atan2(e,f)*ca:0}function bZ(a,b){return a[0]*b[0]+a[1]*b[1]}function b$(a){var b=Math.sqrt(bZ(a,a));return b&&(a[0]/=b,a[1]/=b),b}function b_(a,b,c){return a[0]+=c*b[0],a[1]+=c*b[1],a}function cc(a,b){var c=a.ownerSVGElement||a;if(c.createSVGPoint){var d=c.createSVGPoint();if(cb<0&&(window.scrollX||window.scrollY)){c=d3.select(document.body).append(\"svg\").style(\"position\",\"absolute\").style(\"top\",0).style(\"left\",0);var e=c[0][0].getScreenCTM();cb=!e.f&&!e.e,c.remove()}return cb?(d.x=b.pageX,d.y=b.pageY):(d.x=b.clientX,d.y=b.clientY),d=d.matrixTransform(a.getScreenCTM().inverse()),[d.x,d.y]}var f=a.getBoundingClientRect();return[b.clientX-f.left-a.clientLeft,b.clientY-f.top-a.clientTop]}function cd(){}function ce(a){var b=a[0],c=a[a.length-1];return b<c?[b,c]:[c,b]}function cf(a){return a.rangeExtent?a.rangeExtent():ce(a.range())}function cg(a,b){var c=0,d=a.length-1,e=a[c],f=a[d],g;f<e&&(g=c,c=d,d=g,g=e,e=f,f=g);if(g=f-e)b=b(g),a[c]=b.floor(e),a[d]=b.ceil(f);return a}function ch(){return Math}function ci(a,b,c,d){function g(){var g=Math.min(a.length,b.length)>2?cp:co,i=d?bc:bb;return e=g(a,b,i,c),f=g(b,a,i,d3.interpolate),h}function h(a){return e(a)}var e,f;return h.invert=function(a){return f(a)},h.domain=function(b){return arguments.length?(a=b.map(Number),g()):a},h.range=function(a){return arguments.length?(b=a,g()):b},h.rangeRound=function(a){return h.range(a).interpolate(d3.interpolateRound)},h.clamp=function(a){return arguments.length?(d=a,g()):d},h.interpolate=function(a){return arguments.length?(c=a,g()):c},h.ticks=function(b){return cm(a,b)},h.tickFormat=function(b){return cn(a,b)},h.nice=function(){return cg(a,ck),g()},h.copy=function(){return ci(a,b,c,d)},g()}function cj(a,b){return d3.rebind(a,b,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function ck(a){return a=Math.pow(10,Math.round(Math.log(a)/Math.LN10)-1),{floor:function(b){return Math.floor(b/a)*a},ceil:function(b){return Math.ceil(b/a)*a}}}function cl(a,b){var c=ce(a),d=c[1]-c[0],e=Math.pow(10,Math.floor(Math.log(d/b)/Math.LN10)),f=b/d*e;return f<=.15?e*=10:f<=.35?e*=5:f<=.75&&(e*=2),c[0]=Math.ceil(c[0]/e)*e,c[1]=Math.floor(c[1]/e)*e+e*.5,c[2]=e,c}function cm(a,b){return d3.range.apply(d3,cl(a,b))}function cn(a,b){return d3.format(\",.\"+Math.max(0,-Math.floor(Math.log(cl(a,b)[2])/Math.LN10+.01))+\"f\")}function co(a,b,c,d){var e=c(a[0],a[1]),f=d(b[0],b[1]);return function(a){return f(e(a))}}function cp(a,b,c,d){var e=[],f=[],g=0,h=Math.min(a.length,b.length)-1;a[h]<a[0]&&(a=a.slice().reverse(),b=b.slice().reverse());while(++g<=h)e.push(c(a[g-1],a[g])),f.push(d(b[g-1],b[g]));return function(b){var c=d3.bisect(a,b,1,h)-1;return f[c](e[c](b))}}function cq(a,b){function d(c){return a(b(c))}var c=b.pow;return d.invert=function(b){return c(a.invert(b))},d.domain=function(e){return arguments.length?(b=e[0]<0?ct:cs,c=b.pow,a.domain(e.map(b)),d):a.domain().map(c)},d.nice=function(){return a.domain(cg(a.domain(),ch)),d},d.ticks=function(){var d=ce(a.domain()),e=[];if(d.every(isFinite)){var f=Math.floor(d[0]),g=Math.ceil(d[1]),h=c(d[0]),i=c(d[1]);if(b===ct){e.push(c(f));for(;f++<g;)for(var j=9;j>0;j--)e.push(c(f)*j)}else{for(;f<g;f++)for(var j=1;j<10;j++)e.push(c(f)*j);e.push(c(f))}for(f=0;e[f]<h;f++);for(g=e.length;e[g-1]>i;g--);e=e.slice(f,g)}return e},d.tickFormat=function(a,e){arguments.length<2&&(e=cr);if(arguments.length<1)return e;var f=Math.max(.1,a/d.ticks().length),g=b===ct?(h=-1e-12,Math.floor):(h=1e-12,Math.ceil),h;return function(a){return a/c(g(b(a)+h))<=f?e(a):\"\"}},d.copy=function(){return cq(a.copy(),b)},cj(d,a)}function cs(a){return Math.log(a<0?0:a)/Math.LN10}function ct(a){return-Math.log(a>0?0:-a)/Math.LN10}function cu(a,b){function e(b){return a(c(b))}var c=cv(b),d=cv(1/b);return e.invert=function(b){return d(a.invert(b))},e.domain=function(b){return arguments.length?(a.domain(b.map(c)),e):a.domain().map(d)},e.ticks=function(a){return cm(e.domain(),a)},e.tickFormat=function(a){return cn(e.domain(),a)},e.nice=function(){return e.domain(cg(e.domain(),ck))},e.exponent=function(a){if(!arguments.length)return b;var f=e.domain();return c=cv(b=a),d=cv(1/b),e.domain(f)},e.copy=function(){return cu(a.copy(),b)},cj(e,a)}function cv(a){return function(b){return b<0?-Math.pow(-b,a):Math.pow(b,a)}}function cw(a,b){function f(b){return d[((c.get(b)||c.set(b,a.push(b)))-1)%d.length]}function g(b,c){return d3.range(a.length).map(function(a){return b+c*a})}var c,d,e;return f.domain=function(d){if(!arguments.length)return a;a=[],c=new j;var e=-1,g=d.length,h;while(++e<g)c.has(h=d[e])||c.set(h,a.push(h));return f[b.t](b.x,b.p)},f.range=function(a){return arguments.length?(d=a,e=0,b={t:\"range\",x:a},f):d},f.rangePoints=function(c,h){arguments.length<2&&(h=0);var i=c[0],j=c[1],k=(j-i)/(a.length-1+h);return d=g(a.length<2?(i+j)/2:i+k*h/2,k),e=0,b={t:\"rangePoints\",x:c,p:h},f},f.rangeBands=function(c,h){arguments.length<2&&(h=0);var i=c[1]<c[0],j=c[i-0],k=c[1-i],l=(k-j)/(a.length+h);return d=g(j+l*h,l),i&&d.reverse(),e=l*(1-h),b={t:\"rangeBands\",x:c,p:h},f},f.rangeRoundBands=function(c,h){arguments.length<2&&(h=0);var i=c[1]<c[0],j=c[i-0],k=c[1-i],l=Math.floor((k-j)/(a.length+h)),m=k-j-(a.length-h)*l;return d=g(j+Math.round(m/2),l),i&&d.reverse(),e=Math.round(l*(1-h)),b={t:\"rangeRoundBands\",x:c,p:h},f},f.rangeBand=function(){return e},f.rangeExtent=function(){return ce(b.x)},f.copy=function(){return cw(a,b)},f.domain(a)}function cB(a,b){function d(){var d=0,f=a.length,g=b.length;c=[];while(++d<g)c[d-1]=d3.quantile(a,d/g);return e}function e(a){return isNaN(a=+a)?NaN:b[d3.bisect(c,a)]}var c;return e.domain=function(b){return arguments.length?(a=b.filter(function(a){return!isNaN(a)}).sort(d3.ascending),d()):a},e.range=function(a){return arguments.length?(b=a,d()):b},e.quantiles=function(){return c},e.copy=function(){return cB(a,b)},d()}function cC(a,b,c){function f(b){return c[Math.max(0,Math.min(e,Math.floor(d*(b-a))))]}function g(){return d=c.length/(b-a),e=c.length-1,f}var d,e;return f.domain=function(c){return arguments.length?(a=+c[0],b=+c[c.length-1],g()):[a,b]},f.range=function(a){return arguments.length?(c=a,g()):c},f.copy=function(){return cC(a,b,c)},g()}function cD(a){function b(a){return+a}return b.invert=b,b.domain=b.range=function(c){return arguments.length?(a=c.map(b),b):a},b.ticks=function(b){return cm(a,b)},b.tickFormat=function(b){return cn(a,b)},b.copy=function(){return cD(a)},b}function cG(a){return a.innerRadius}function cH(a){return a.outerRadius}function cI(a){return a.startAngle}function cJ(a){return a.endAngle}function cK(a){function h(e){function o(){h.push(\"M\",f(a(i),g))}var h=[],i=[],j=-1,k=e.length,l,m=p(b),n=p(c);while(++j<k)d.call(this,l=e[j],j)?i.push([+m.call(this,l,j),+n.call(this,l,j)]):i.length&&(o(),i=[]);return i.length&&o(),h.length?h.join(\"\"):null}var b=cL,c=cM,d=o,e=cN,f=cP,g=.7;return h.x=function(a){return arguments.length?(b=a,h):b},h.y=function(a){return arguments.length?(c=a,h):c},h.defined=function(a){return arguments.length?(d=a,h):d},h.interpolate=function(a){return arguments.length?(cO.has(a+=\"\")||(a=cN),f=cO.get(e=a),h):e},h.tension=function(a){return arguments.length?(g=a,h):g},h}function cL(a){return a[0]}function cM(a){return a[1]}function cP(a){var b=0,c=a.length,d=a[0],e=[d[0],\",\",d[1]];while(++b<c)e.push(\"L\",(d=a[b])[0],\",\",d[1]);return e.join(\"\")}function cQ(a){var b=0,c=a.length,d=a[0],e=[d[0],\",\",d[1]];while(++b<c)e.push(\"V\",(d=a[b])[1],\"H\",d[0]);return e.join(\"\")}function cR(a){var b=0,c=a.length,d=a[0],e=[d[0],\",\",d[1]];while(++b<c)e.push(\"H\",(d=a[b])[0],\"V\",d[1]);return e.join(\"\")}function cS(a,b){return a.length<4?cP(a):a[1]+cV(a.slice(1,a.length-1),cW(a,b))}function cT(a,b){return a.length<3?cP(a):a[0]+cV((a.push(a[0]),a),cW([a[a.length-2]].concat(a,[a[1]]),b))}function cU(a,b,c){return a.length<3?cP(a):a[0]+cV(a,cW(a,b))}function cV(a,b){if(b.length<1||a.length!=b.length&&a.length!=b.length+2)return cP(a);var c=a.length!=b.length,d=\"\",e=a[0],f=a[1],g=b[0],h=g,i=1;c&&(d+=\"Q\"+(f[0]-g[0]*2/3)+\",\"+(f[1]-g[1]*2/3)+\",\"+f[0]+\",\"+f[1],e=a[1],i=2);if(b.length>1){h=b[1],f=a[i],i++,d+=\"C\"+(e[0]+g[0])+\",\"+(e[1]+g[1])+\",\"+(f[0]-h[0])+\",\"+(f[1]-h[1])+\",\"+f[0]+\",\"+f[1];for(var j=2;j<b.length;j++,i++)f=a[i],h=b[j],d+=\"S\"+(f[0]-h[0])+\",\"+(f[1]-h[1])+\",\"+f[0]+\",\"+f[1]}if(c){var k=a[i];d+=\"Q\"+(f[0]+h[0]*2/3)+\",\"+(f[1]+h[1]*2/3)+\",\"+k[0]+\",\"+k[1]}return d}function cW(a,b){var c=[],d=(1-b)/2,e,f=a[0],g=a[1],h=1,i=a.length;while(++h<i)e=f,f=g,g=a[h],c.push([d*(g[0]-e[0]),d*(g[1]-e[1])]);return c}function cX(a){if(a.length<3)return cP(a);var b=1,c=a.length,d=a[0],e=d[0],f=d[1],g=[e,e,e,(d=a[1])[0]],h=[f,f,f,d[1]],i=[e,\",\",f];dd(i,g,h);while(++b<c)d=a[b],g.shift(),g.push(d[0]),h.shift(),h.push(d[1]),dd(i,g,h);b=-1;while(++b<2)g.shift(),g.push(d[0]),h.shift(),h.push(d[1]),dd(i,g,h);return i.join(\"\")}function cY(a){if(a.length<4)return cP(a);var b=[],c=-1,d=a.length,e,f=[0],g=[0];while(++c<3)e=a[c],f.push(e[0]),g.push(e[1]);b.push(c_(dc,f)+\",\"+c_(dc,g)),--c;while(++c<d)e=a[c],f.shift(),f.push(e[0]),g.shift(),g.push(e[1]),dd(b,f,g);return b.join(\"\")}function cZ(a){var b,c=-1,d=a.length,e=d+4,f,g=[],h=[];while(++c<4)f=a[c%d],g.push(f[0]),h.push(f[1]);b=[c_(dc,g),\",\",c_(dc,h)],--c;while(++c<e)f=a[c%d],g.shift(),g.push(f[0]),h.shift(),h.push(f[1]),dd(b,g,h);return b.join(\"\")}function c$(a,b){var c=a.length-1;if(c){var d=a[0][0],e=a[0][1],f=a[c][0]-d,g=a[c][1]-e,h=-1,i,j;while(++h<=c)i=a[h],j=h/c,i[0]=b*i[0]+(1-b)*(d+j*f),i[1]=b*i[1]+(1-b)*(e+j*g)}return cX(a)}function c_(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]}function dd(a,b,c){a.push(\"C\",c_(da,b),\",\",c_(da,c),\",\",c_(db,b),\",\",c_(db,c),\",\",c_(dc,b),\",\",c_(dc,c))}function de(a,b){return(b[1]-a[1])/(b[0]-a[0])}function df(a){var b=0,c=a.length-1,d=[],e=a[0],f=a[1],g=d[0]=de(e,f);while(++b<c)d[b]=g+(g=de(e=f,f=a[b+1]));return d[b]=g,d}function dg(a){var b=[],c,d,e,f,g=df(a),h=-1,i=a.length-1;while(++h<i)c=de(a[h],a[h+1]),Math.abs(c)<1e-6?g[h]=g[h+1]=0:(d=g[h]/c,e=g[h+1]/c,f=d*d+e*e,f>9&&(f=c*3/Math.sqrt(f),g[h]=f*d,g[h+1]=f*e));h=-1;while(++h<=i)f=(a[Math.min(i,h+1)][0]-a[Math.max(0,h-1)][0])/(6*(1+g[h]*g[h])),b.push([f||0,g[h]*f||0]);return b}function dh(a){return a.length<3?cP(a):a[0]+cV(a,dg(a))}function di(a){var b,c=-1,d=a.length,e,f;while(++c<d)b=a[c],e=b[0],f=b[1]+cE,b[0]=e*Math.cos(f),b[1]=e*Math.sin(f);return a}function dj(a){function l(g){function y(){l.push(\"M\",h(a(n),k),j,i(a(m.reverse()),k),\"Z\")}var l=[],m=[],n=[],o=-1,q=g.length,r,s=p(b),t=p(d),u=b===c?function(){return w}:p(c),v=d===e?function(){return x}:p(e),w,x;while(++o<q)f.call(this,r=g[o],o)?(m.push([w=+s.call(this,r,o),x=+t.call(this,r,o)]),n.push([+u.call(this,r,o),+v.call(this,r,o)])):m.length&&(y(),m=[],n=[]);return m.length&&y(),l.length?l.join(\"\"):null}var b=cL,c=cL,d=0,e=cM,f=o,g=cN,h=cP,i=cP,j=\"L\",k=.7;return l.x=function(a){return arguments.length?(b=c=a,l):c},l.x0=function(a){return arguments.length?(b=a,l):b},l.x1=function(a){return arguments.length?(c=a,l):c},l.y=function(a){return arguments.length?(d=e=a,l):e},l.y0=function(a){return arguments.length?(d=a,l):d},l.y1=function(a){return arguments.length?(e=a,l):e},l.defined=function(a){return arguments.length?(f=a,l):f},l.interpolate=function(a){return arguments.length?(cO.has(a+=\"\")||(a=cN),h=cO.get(g=a),i=h.reverse||h,j=/-closed$/.test(a)?\"M\":\"L\",l):g},l.tension=function(a){return arguments.length?(k=a,l):k},l}function dk(a){return a.source}function dl(a){return a.target}function dm(a){return a.radius}function dn(a){return a.startAngle}function dp(a){return a.endAngle}function dq(a){return[a.x,a.y]}function dr(a){return function(){var b=a.apply(this,arguments),c=b[0],d=b[1]+cE;return[c*Math.cos(d),c*Math.sin(d)]}}function ds(){return 64}function dt(){return\"circle\"}function du(a){var b=Math.sqrt(a/Math.PI);return\"M0,\"+b+\"A\"+b+\",\"+b+\" 0 1,1 0,\"+ -b+\"A\"+b+\",\"+b+\" 0 1,1 0,\"+b+\"Z\"}function dy(a,b){a.attr(\"transform\",function(a){return\"translate(\"+b(a)+\",0)\"})}function dz(a,b){a.attr(\"transform\",function(a){return\"translate(0,\"+b(a)+\")\"})}function dA(a,b,c){e=[];if(c&&b.length>1){var d=ce(a.domain()),e,f=-1,g=b.length,h=(b[1]-b[0])/++c,i,j;while(++f<g)for(i=c;--i>0;)(j=+b[f]-i*h)>=d[0]&&e.push(j);for(--f,i=0;++i<c&&(j=+b[f]+i*h)<d[1];)e.push(j)}return e}function dF(){dD||(dD=d3.select(\"body\").append(\"div\").style(\"visibility\",\"hidden\").style(\"top\",0).style(\"height\",0).style(\"width\",0).style(\"overflow-y\",\"scroll\").append(\"div\").style(\"height\",\"2000px\").node().parentNode);var a=d3.event,b;try{dD.scrollTop=1e3,dD.dispatchEvent(a),b=1e3-dD.scrollTop}catch(c){b=a.wheelDelta||-a.detail*5}return b}function dG(a){var b=a.source,c=a.target,d=dI(b,c),e=[b];while(b!==d)b=b.parent,e.push(b);var f=e.length;while(c!==d)e.splice(f,0,c),c=c.parent;return e}function dH(a){var b=[],c=a.parent;while(c!=null)b.push(a),a=c,c=c.parent;return b.push(a),b}function dI(a,b){if(a===b)return a;var c=dH(a),d=dH(b),e=c.pop(),f=d.pop(),g=null;while(e===f)g=e,e=c.pop(),f=d.pop();return g}function dL(a){a.fixed|=2}function dM(a){a!==dK&&(a.fixed&=1)}function dN(){dK.fixed&=1,dJ=dK=null}function dO(){dK.px=d3.event.x,dK.py=d3.event.y,dJ.resume()}function dP(a,b,c){var d=0,e=0;a.charge=0;if(!a.leaf){var f=a.nodes,g=f.length,h=-1,i;while(++h<g){i=f[h];if(i==null)continue;dP(i,b,c),a.charge+=i.charge,d+=i.charge*i.cx,e+=i.charge*i.cy}}if(a.point){a.leaf||(a.point.x+=Math.random()-.5,a.point.y+=Math.random()-.5);var j=b*c[a.point.index];a.charge+=a.pointCharge=j,d+=j*a.point.x,e+=j*a.point.y}a.cx=d/a.charge,a.cy=e/a.charge}function dQ(a){return 20}function dR(a){return 1}function dT(a){return a.x}function dU(a){return a.y}function dV(a,b,c){a.y0=b,a.y=c}function dY(a){return d3.range(a.length)}function dZ(a){var b=-1,c=a[0].length,d=[];while(++b<c)d[b]=0;return d}function d$(a){var b=1,c=0,d=a[0][1],e,f=a.length;for(;b<f;++b)(e=a[b][1])>d&&(c=b,d=e);return c}function d_(a){return a.reduce(ea,0)}function ea(a,b){return a+b[1]}function eb(a,b){return ec(a,Math.ceil(Math.log(b.length)/Math.LN2+1))}function ec(a,b){var c=-1,d=+a[0],e=(a[1]-d)/b,f=[];while(++c<=b)f[c]=e*c+d;return f}function ed(a){return[d3.min(a),d3.max(a)]}function ee(a,b){return d3.rebind(a,b,\"sort\",\"children\",\"value\"),a.links=ei,a.nodes=function(b){return ej=!0,(a.nodes=a)(b)},a}function ef(a){return a.children}function eg(a){return a.value}function eh(a,b){return b.value-a.value}function ei(a){return d3.merge(a.map(function(a){return(a.children||[]).map(function(b){return{source:a,target:b}})}))}function ek(a,b){return a.value-b.value}function el(a,b){var c=a._pack_next;a._pack_next=b,b._pack_prev=a,b._pack_next=c,c._pack_prev=b}function em(a,b){a._pack_next=b,b._pack_prev=a}function en(a,b){var c=b.x-a.x,d=b.y-a.y,e=a.r+b.r;return e*e-c*c-d*d>.001}function eo(a){function l(a){b=Math.min(a.x-a.r,b),c=Math.max(a.x+a.r,c),d=Math.min(a.y-a.r,d),e=Math.max(a.y+a.r,e)}var b=Infinity,c=-Infinity,d=Infinity,e=-Infinity,f=a.length,g,h,i,j,k;a.forEach(ep),g=a[0],g.x=-g.r,g.y=0,l(g);if(f>1){h=a[1],h.x=h.r,h.y=0,l(h);if(f>2){i=a[2],et(g,h,i),l(i),el(g,i),g._pack_prev=i,el(i,h),h=g._pack_next;for(var m=3;m<f;m++){et(g,h,i=a[m]);var n=0,o=1,p=1;for(j=h._pack_next;j!==h;j=j._pack_next,o++)if(en(j,i)){n=1;break}if(n==1)for(k=g._pack_prev;k!==j._pack_prev;k=k._pack_prev,p++)if(en(k,i))break;n?(o<p||o==p&&h.r<g.r?em(g,h=j):em(g=k,h),m--):(el(g,i),h=i,l(i))}}}var q=(b+c)/2,r=(d+e)/2,s=0;for(var m=0;m<f;m++){var t=a[m];t.x-=q,t.y-=r,s=Math.max(s,t.r+Math.sqrt(t.x*t.x+t.y*t.y))}return a.forEach(eq),s}function ep(a){a._pack_next=a._pack_prev=a}function eq(a){delete a._pack_next,delete a._pack_prev}function er(a){var b=a.children;b&&b.length?(b.forEach(er),a.r=eo(b)):a.r=Math.sqrt(a.value)}function es(a,b,c,d){var e=a.children;a.x=b+=d*a.x,a.y=c+=d*a.y,a.r*=d;if(e){var f=-1,g=e.length;while(++f<g)es(e[f],b,c,d)}}function et(a,b,c){var d=a.r+c.r,e=b.x-a.x,f=b.y-a.y;if(d&&(e||f)){var g=b.r+c.r,h=Math.sqrt(e*e+f*f),i=Math.max(-1,Math.min(1,(d*d+h*h-g*g)/(2*d*h))),j=Math.acos(i),k=i*(d/=h),l=Math.sin(j)*d;c.x=a.x+k*e+l*f,c.y=a.y+k*f-l*e}else c.x=a.x+d,c.y=a.y}function eu(a){return 1+d3.max(a,function(a){return a.y})}function ev(a){return a.reduce(function(a,b){return a+b.x},0)/a.length}function ew(a){var b=a.children;return b&&b.length?ew(b[0]):a}function ex(a){var b=a.children,c;return b&&(c=b.length)?ex(b[c-1]):a}function ey(a,b){return a.parent==b.parent?1:2}function ez(a){var b=a.children;return b&&b.length?b[0]:a._tree.thread}function eA(a){var b=a.children,c;return b&&(c=b.length)?b[c-1]:a._tree.thread}function eB(a,b){var c=a.children;if(c&&(e=c.length)){var d,e,f=-1;while(++f<e)b(d=eB(c[f],b),a)>0&&(a=d)}return a}function eC(a,b){return a.x-b.x}function eD(a,b){return b.x-a.x}function eE(a,b){return a.depth-b.depth}function eF(a,b){function c(a,d){var e=a.children;if(e&&(i=e.length)){var f,g=null,h=-1,i;while(++h<i)f=e[h],c(f,g),g=f}b(a,d)}c(a,null)}function eG(a){var b=0,c=0,d=a.children,e=d.length,f;while(--e>=0)f=d[e]._tree,f.prelim+=b,f.mod+=b,b+=f.shift+(c+=f.change)}function eH(a,b,c){a=a._tree,b=b._tree;var d=c/(b.number-a.number);a.change+=d,b.change-=d,b.shift+=c,b.prelim+=c,b.mod+=c}function eI(a,b,c){return a._tree.ancestor.parent==b.parent?a._tree.ancestor:c}function eJ(a){return{x:a.x,y:a.y,dx:a.dx,dy:a.dy}}function eK(a,b){var c=a.x+b[3],d=a.y+b[0],e=a.dx-b[1]-b[3],f=a.dy-b[0]-b[2];return e<0&&(c+=e/2,e=0),f<0&&(d+=f/2,f=0),{x:c,y:d,dx:e,dy:f}}function eL(a){return a.map(eM).join(\",\")}function eM(a){return/[\",\\n]/.test(a)?'\"'+a.replace(/\\\"/g,'\"\"')+'\"':a}function eO(a,b){return function(c){return c&&a.hasOwnProperty(c.type)?a[c.type](c):b}}function eP(a){return\"m0,\"+a+\"a\"+a+\",\"+a+\" 0 1,1 0,\"+ -2*a+\"a\"+a+\",\"+a+\" 0 1,1 0,\"+2*a+\"z\"}function eQ(a,b){eR.hasOwnProperty(a.type)&&eR[a.type](a,b)}function eS(a,b){eQ(a.geometry,b)}function eT(a,b){for(var c=a.features,d=0,e=c.length;d<e;d++)eQ(c[d].geometry,b)}function eU(a,b){for(var c=a.geometries,d=0,e=c.length;d<e;d++)eQ(c[d],b)}function eV(a,b){for(var c=a.coordinates,d=0,e=c.length;d<e;d++)b.apply(null,c[d])}function eW(a,b){for(var c=a.coordinates,d=0,e=c.length;d<e;d++)for(var f=c[d],g=0,h=f.length;g<h;g++)b.apply(null,f[g])}function eX(a,b){for(var c=a.coordinates,d=0,e=c.length;d<e;d++)for(var f=c[d][0],g=0,h=f.length;g<h;g++)b.apply(null,f[g])}function eY(a,b){b.apply(null,a.coordinates)}function eZ(a,b){for(var c=a.coordinates[0],d=0,e=c.length;d<e;d++)b.apply(null,c[d])}function e$(a){return a.source}function e_(a){return a.target}function fa(){function o(a){var b=Math.sin(a*=m)*n,c=Math.sin(m-a)*n,g=c*e+b*k,h=c*f+b*l,i=c*d+b*j;return[Math.atan2(h,g)/eN,Math.atan2(i,Math.sqrt(g*g+h*h))/eN]}var a,b,c,d,e,f,g,h,i,j,k,l,m,n;return o.distance=function(){return m==null&&(n=1/Math.sin(m=Math.acos(Math.max(-1,Math.min(1,d*j+c*i*Math.cos(g-a)))))),m},o.source=function(g){var h=Math.cos(a=g[0]*eN),i=Math.sin(a);return c=Math.cos(b=g[1]*eN),d=Math.sin(b),e=c*h,f=c*i,m=null,o},o.target=function(a){var b=Math.cos(g=a[0]*eN),c=Math.sin(g);return i=Math.cos(h=a[1]*eN),j=Math.sin(h),k=i*b,l=i*c,m=null,o},o}function fb(a,b){var c=fa().source(a).target(b);return c.distance(),c}function fe(a){var b=0,c=0;for(;;){if(a(b,c))return[b,c];b===0?(b=c+1,c=0):(b-=1,c+=1)}}function ff(a,b,c,d){var e,f,g,h,i,j,k;return e=d[a],f=e[0],g=e[1],e=d[b],h=e[0],i=e[1],e=d[c],j=e[0],k=e[1],(k-g)*(h-f)-(i-g)*(j-f)>0}function fg(a,b,c){return(c[0]-b[0])*(a[1]-b[1])<(c[1]-b[1])*(a[0]-b[0])}function fh(a,b,c,d){var e=a[0],f=b[0],g=c[0],h=d[0],i=a[1],j=b[1],k=c[1],l=d[1],m=e-g,n=f-e,o=h-g,p=i-k,q=j-i,r=l-k,s=(o*p-r*m)/(r*n-o*q);return[e+s*n,i+s*q]}function fj(a,b){var c={list:a.map(function(a,b){return{index:b,x:a[0],y:a[1]}}).sort(function(a,b){return a.y<b.y?-1:a.y>b.y?1:a.x<b.x?-1:a.x>b.x?1:0}),bottomSite:null},d={list:[],leftEnd:null,rightEnd:null,init:function(){d.leftEnd=d.createHalfEdge(null,\"l\"),d.rightEnd=d.createHalfEdge(null,\"l\"),d.leftEnd.r=d.rightEnd,d.rightEnd.l=d.leftEnd,d.list.unshift(d.leftEnd,d.rightEnd)},createHalfEdge:function(a,b){return{edge:a,side:b,vertex:null,l:null,r:null}},insert:function(a,b){b.l=a,b.r=a.r,a.r.l=b,a.r=b},leftBound:function(a){var b=d.leftEnd;do b=b.r;while(b!=d.rightEnd&&e.rightOf(b,a));return b=b.l,b},del:function(a){a.l.r=a.r,a.r.l=a.l,a.edge=null},right:function(a){return a.r},left:function(a){return a.l},leftRegion:function(a){return a.edge==null?c.bottomSite:a.edge.region[a.side]},rightRegion:function(a){return a.edge==null?c.bottomSite:a.edge.region[fi[a.side]]}},e={bisect:function(a,b){var c={region:{l:a,r:b},ep:{l:null,r:null}},d=b.x-a.x,e=b.y-a.y,f=d>0?d:-d,g=e>0?e:-e;return c.c=a.x*d+a.y*e+(d*d+e*e)*.5,f>g?(c.a=1,c.b=e/d,c.c/=d):(c.b=1,c.a=d/e,c.c/=e),c},intersect:function(a,b){var c=a.edge,d=b.edge;if(!c||!d||c.region.r==d.region.r)return null;var e=c.a*d.b-c.b*d.a;if(Math.abs(e)<1e-10)return null;var f=(c.c*d.b-d.c*c.b)/e,g=(d.c*c.a-c.c*d.a)/e,h=c.region.r,i=d.region.r,j,k;h.y<i.y||h.y==i.y&&h.x<i.x?(j=a,k=c):(j=b,k=d);var l=f>=k.region.r.x;return l&&j.side===\"l\"||!l&&j.side===\"r\"?null:{x:f,y:g}},rightOf:function(a,b){var c=a.edge,d=c.region.r,e=b.x>d.x;if(e&&a.side===\"l\")return 1;if(!e&&a.side===\"r\")return 0;if(c.a===1){var f=b.y-d.y,g=b.x-d.x,h=0,i=0;!e&&c.b<0||e&&c.b>=0?i=h=f>=c.b*g:(i=b.x+b.y*c.b>c.c,c.b<0&&(i=!i),i||(h=1));if(!h){var j=d.x-c.region.l.x;i=c.b*(g*g-f*f)<j*f*(1+2*g/j+c.b*c.b),c.b<0&&(i=!i)}}else{var k=c.c-c.a*b.x,l=b.y-k,m=b.x-d.x,n=k-d.y;i=l*l>m*m+n*n}return a.side===\"l\"?i:!i},endPoint:function(a,c,d){a.ep[c]=d;if(!a.ep[fi[c]])return;b(a)},distance:function(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)}},f={list:[],insert:function(a,b,c){a.vertex=b,a.ystar=b.y+c;for(var d=0,e=f.list,g=e.length;d<g;d++){var h=e[d];if(a.ystar>h.ystar||a.ystar==h.ystar&&b.x>h.vertex.x)continue;break}e.splice(d,0,a)},del:function(a){for(var b=0,c=f.list,d=c.length;b<d&&c[b]!=a;++b);c.splice(b,1)},empty:function(){return f.list.length===0},nextEvent:function(a){for(var b=0,c=f.list,d=c.length;b<d;++b)if(c[b]==a)return c[b+1];return null},min:function(){var a=f.list[0];return{x:a.vertex.x,y:a.ystar}},extractMin:function(){return f.list.shift()}};d.init(),c.bottomSite=c.list.shift();var g=c.list.shift(),h,i,j,k,l,m,n,o,p,q,r,s,t;for(;;){f.empty()||(h=f.min());if(g&&(f.empty()||g.y<h.y||g.y==h.y&&g.x<h.x))i=d.leftBound(g),j=d.right(i),n=d.rightRegion(i),s=e.bisect(n,g),m=d.createHalfEdge(s,\"l\"),d.insert(i,m),q=e.intersect(i,m),q&&(f.del(i),f.insert(i,q,e.distance(q,g))),i=m,m=d.createHalfEdge(s,\"r\"),d.insert(i,m),q=e.intersect(m,j),q&&f.insert(m,q,e.distance(q,g)),g=c.list.shift();else if(!f.empty())i=f.extractMin(),k=d.left(i),j=d.right(i),l=d.right(j),n=d.leftRegion(i),o=d.rightRegion(j),r=i.vertex,e.endPoint(i.edge,i.side,r),e.endPoint(j.edge,j.side,r),d.del(i),f.del(j),d.del(j),t=\"l\",n.y>o.y&&(p=n,n=o,o=p,t=\"r\"),s=e.bisect(n,o),m=d.createHalfEdge(s,t),d.insert(k,m),e.endPoint(s,fi[t],r),q=e.intersect(k,m),q&&(f.del(k),f.insert(k,q,e.distance(q,n))),q=e.intersect(m,l),q&&f.insert(m,q,e.distance(q,n));else break}for(i=d.right(d.leftEnd);i!=d.rightEnd;i=d.right(i))b(i.edge)}function fk(){return{leaf:!0,nodes:[],point:null}}function fl(a,b,c,d,e,f){if(!a(b,c,d,e,f)){var g=(c+e)*.5,h=(d+f)*.5,i=b.nodes;i[0]&&fl(a,i[0],c,d,g,h),i[1]&&fl(a,i[1],g,d,e,h),i[2]&&fl(a,i[2],c,h,g,f),i[3]&&fl(a,i[3],g,h,e,f)}}function fm(a){return{x:a[0],y:a[1]}}function fo(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function fq(a,b,c,d){var e,f,g=0,h=b.length,i=c.length;while(g<h){if(d>=i)return-1;e=b.charCodeAt(g++);if(e==37){f=fw[b.charAt(g++)];if(!f||(d=f(a,c,d))<0)return-1}else if(e!=c.charCodeAt(d++))return-1}return d}function fx(a,b,c){return fz.test(b.substring(c,c+=3))?c:-1}function fy(a,b,c){fA.lastIndex=0;var d=fA.exec(b.substring(c,c+10));return d?c+=d[0].length:-1}function fC(a,b,c){var d=fD.get(b.substring(c,c+=3).toLowerCase());return d==null?-1:(a.m=d,c)}function fE(a,b,c){fF.lastIndex=0;var d=fF.exec(b.substring(c,c+12));return d?(a.m=fG.get(d[0].toLowerCase()),c+=d[0].length):-1}function fI(a,b,c){return fq(a,fv.c.toString(),b,c)}function fJ(a,b,c){return fq(a,fv.x.toString(),b,c)}function fK(a,b,c){return fq(a,fv.X.toString(),b,c)}function fL(a,b,c){fU.lastIndex=0;var d=fU.exec(b.substring(c,c+4));return d?(a.y=+d[0],c+=d[0].length):-1}function fM(a,b,c){fU.lastIndex=0;var d=fU.exec(b.substring(c,c+2));return d?(a.y=fN()+ +d[0],c+=d[0].length):-1}function fN(){return~~((new Date).getFullYear()/1e3)*1e3}function fO(a,b,c){fU.lastIndex=0;var d=fU.exec(b.substring(c,c+2));return d?(a.m=d[0]-1,c+=d[0].length):-1}function fP(a,b,c){fU.lastIndex=0;var d=fU.exec(b.substring(c,c+2));return d?(a.d=+d[0],c+=d[0].length):-1}function fQ(a,b,c){fU.lastIndex=0;var d=fU.exec(b.substring(c,c+2));return d?(a.H=+d[0],c+=d[0].length):-1}function fR(a,b,c){fU.lastIndex=0;var d=fU.exec(b.substring(c,c+2));return d?(a.M=+d[0],c+=d[0].length):-1}function fS(a,b,c){fU.lastIndex=0;var d=fU.exec(b.substring(c,c+2));return d?(a.S=+d[0],c+=d[0].length):-1}function fT(a,b,c){fU.lastIndex=0;var d=fU.exec(b.substring(c,c+3));return d?(a.L=+d[0],c+=d[0].length):-1}function fV(a,b,c){var d=fW.get(b.substring(c,c+=2).toLowerCase());return d==null?-1:(a.p=d,c)}function fX(a){var b=a.getTimezoneOffset(),c=b>0?\"-\":\"+\",d=~~(Math.abs(b)/60),e=Math.abs(b)%60;return c+fr(d)+fr(e)}function fZ(a){return a.toISOString()}function f$(a,b,c){function d(b){var c=a(b),d=f(c,1);return b-c<d-b?c:d}function e(c){return b(c=a(new fn(c-1)),1),c}function f(a,c){return b(a=new fn(+a),c),a}function g(a,d,f){var g=e(a),h=[];if(f>1)while(g<d)c(g)%f||h.push(new Date(+g)),b(g,1);else while(g<d)h.push(new Date(+g)),b(g,1);return h}function h(a,b,c){try{\nfn=fo;var d=new fo;return d._=a,g(d,b,c)}finally{fn=Date}}a.floor=a,a.round=d,a.ceil=e,a.offset=f,a.range=g;var i=a.utc=f_(a);return i.floor=i,i.round=f_(d),i.ceil=f_(e),i.offset=f_(f),i.range=h,a}function f_(a){return function(b,c){try{fn=fo;var d=new fo;return d._=b,a(d,c)._}finally{fn=Date}}}function ga(a,b,c){function d(b){return a(b)}return d.invert=function(b){return gc(a.invert(b))},d.domain=function(b){return arguments.length?(a.domain(b),d):a.domain().map(gc)},d.nice=function(a){var b=gb(d.domain());return d.domain([a.floor(b[0]),a.ceil(b[1])])},d.ticks=function(c,e){var f=gb(d.domain());if(typeof c!=\"function\"){var g=f[1]-f[0],h=g/c,i=d3.bisect(gg,h);if(i==gg.length)return b.year(f,c);if(!i)return a.ticks(c).map(gc);Math.log(h/gg[i-1])<Math.log(gg[i]/h)&&--i,c=b[i],e=c[1],c=c[0].range}return c(f[0],new Date(+f[1]+1),e)},d.tickFormat=function(){return c},d.copy=function(){return ga(a.copy(),b,c)},d3.rebind(d,a,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function gb(a){var b=a[0],c=a[a.length-1];return b<c?[b,c]:[c,b]}function gc(a){return new Date(a)}function gd(a){return function(b){var c=a.length-1,d=a[c];while(!d[1](b))d=a[--c];return d[0](b)}}function ge(a){var b=new Date(a,0,1);return b.setFullYear(a),b}function gf(a){var b=a.getFullYear(),c=ge(b),d=ge(b+1);return b+(a-c)/(d-c)}function go(a){var b=new Date(Date.UTC(a,0,1));return b.setUTCFullYear(a),b}function gp(a){var b=a.getUTCFullYear(),c=go(b),d=go(b+1);return b+(a-c)/(d-c)}Date.now||(Date.now=function(){return+(new Date)});try{document.createElement(\"div\").style.setProperty(\"opacity\",0,\"\")}catch(a){var b=CSSStyleDeclaration.prototype,c=b.setProperty;b.setProperty=function(a,b,d){c.call(this,a,b+\"\",d)}}d3={version:\"2.9.6\"};var e=g;try{e(document.documentElement.childNodes)[0].nodeType}catch(h){e=f}var i=[].__proto__?function(a,b){a.__proto__=b}:function(a,b){for(var c in b)a[c]=b[c]};d3.map=function(a){var b=new j;for(var c in a)b.set(c,a[c]);return b},d(j,{has:function(a){return k+a in this},get:function(a){return this[k+a]},set:function(a,b){return this[k+a]=b},remove:function(a){return a=k+a,a in this&&delete this[a]},keys:function(){var a=[];return this.forEach(function(b){a.push(b)}),a},values:function(){var a=[];return this.forEach(function(b,c){a.push(c)}),a},entries:function(){var a=[];return this.forEach(function(b,c){a.push({key:b,value:c})}),a},forEach:function(a){for(var b in this)b.charCodeAt(0)===l&&a.call(this,b.substring(1),this[b])}});var k=\"\\0\",l=k.charCodeAt(0);d3.functor=p,d3.rebind=function(a,b){var c=1,d=arguments.length,e;while(++c<d)a[e=arguments[c]]=q(a,b,b[e]);return a},d3.ascending=function(a,b){return a<b?-1:a>b?1:a>=b?0:NaN},d3.descending=function(a,b){return b<a?-1:b>a?1:b>=a?0:NaN},d3.mean=function(a,b){var c=a.length,d,e=0,f=-1,g=0;if(arguments.length===1)while(++f<c)r(d=a[f])&&(e+=(d-e)/++g);else while(++f<c)r(d=b.call(a,a[f],f))&&(e+=(d-e)/++g);return g?e:undefined},d3.median=function(a,b){return arguments.length>1&&(a=a.map(b)),a=a.filter(r),a.length?d3.quantile(a.sort(d3.ascending),.5):undefined},d3.min=function(a,b){var c=-1,d=a.length,e,f;if(arguments.length===1){while(++c<d&&((e=a[c])==null||e!=e))e=undefined;while(++c<d)(f=a[c])!=null&&e>f&&(e=f)}else{while(++c<d&&((e=b.call(a,a[c],c))==null||e!=e))e=undefined;while(++c<d)(f=b.call(a,a[c],c))!=null&&e>f&&(e=f)}return e},d3.max=function(a,b){var c=-1,d=a.length,e,f;if(arguments.length===1){while(++c<d&&((e=a[c])==null||e!=e))e=undefined;while(++c<d)(f=a[c])!=null&&f>e&&(e=f)}else{while(++c<d&&((e=b.call(a,a[c],c))==null||e!=e))e=undefined;while(++c<d)(f=b.call(a,a[c],c))!=null&&f>e&&(e=f)}return e},d3.extent=function(a,b){var c=-1,d=a.length,e,f,g;if(arguments.length===1){while(++c<d&&((e=g=a[c])==null||e!=e))e=g=undefined;while(++c<d)(f=a[c])!=null&&(e>f&&(e=f),g<f&&(g=f))}else{while(++c<d&&((e=g=b.call(a,a[c],c))==null||e!=e))e=undefined;while(++c<d)(f=b.call(a,a[c],c))!=null&&(e>f&&(e=f),g<f&&(g=f))}return[e,g]},d3.random={normal:function(a,b){return arguments.length<2&&(b=1),arguments.length<1&&(a=0),function(){var c,d,e;do c=Math.random()*2-1,d=Math.random()*2-1,e=c*c+d*d;while(!e||e>1);return a+b*c*Math.sqrt(-2*Math.log(e)/e)}}},d3.sum=function(a,b){var c=0,d=a.length,e,f=-1;if(arguments.length===1)while(++f<d)isNaN(e=+a[f])||(c+=e);else while(++f<d)isNaN(e=+b.call(a,a[f],f))||(c+=e);return c},d3.quantile=function(a,b){var c=(a.length-1)*b+1,d=Math.floor(c),e=a[d-1],f=c-d;return f?e+f*(a[d]-e):e},d3.transpose=function(a){return d3.zip.apply(d3,a)},d3.zip=function(){if(!(e=arguments.length))return[];for(var a=-1,b=d3.min(arguments,s),c=new Array(b);++a<b;)for(var d=-1,e,f=c[a]=new Array(e);++d<e;)f[d]=arguments[d][a];return c},d3.bisector=function(a){return{left:function(b,c,d,e){arguments.length<3&&(d=0),arguments.length<4&&(e=b.length);while(d<e){var f=d+e>>1;a.call(b,b[f],f)<c?d=f+1:e=f}return d},right:function(b,c,d,e){arguments.length<3&&(d=0),arguments.length<4&&(e=b.length);while(d<e){var f=d+e>>1;c<a.call(b,b[f],f)?e=f:d=f+1}return d}}};var t=d3.bisector(function(a){return a});d3.bisectLeft=t.left,d3.bisect=d3.bisectRight=t.right,d3.first=function(a,b){var c=0,d=a.length,e=a[0],f;arguments.length===1&&(b=d3.ascending);while(++c<d)b.call(a,e,f=a[c])>0&&(e=f);return e},d3.last=function(a,b){var c=0,d=a.length,e=a[0],f;arguments.length===1&&(b=d3.ascending);while(++c<d)b.call(a,e,f=a[c])<=0&&(e=f);return e},d3.nest=function(){function f(c,g){if(g>=b.length)return e?e.call(a,c):d?c.sort(d):c;var h=-1,i=c.length,k=b[g++],l,m,n=new j,o,p={};while(++h<i)(o=n.get(l=k(m=c[h])))?o.push(m):n.set(l,[m]);return n.forEach(function(a){p[a]=f(n.get(a),g)}),p}function g(a,d){if(d>=b.length)return a;var e=[],f=c[d++],h;for(h in a)e.push({key:h,values:g(a[h],d)});return f&&e.sort(function(a,b){return f(a.key,b.key)}),e}var a={},b=[],c=[],d,e;return a.map=function(a){return f(a,0)},a.entries=function(a){return g(f(a,0),0)},a.key=function(c){return b.push(c),a},a.sortKeys=function(d){return c[b.length-1]=d,a},a.sortValues=function(b){return d=b,a},a.rollup=function(b){return e=b,a},a},d3.keys=function(a){var b=[];for(var c in a)b.push(c);return b},d3.values=function(a){var b=[];for(var c in a)b.push(a[c]);return b},d3.entries=function(a){var b=[];for(var c in a)b.push({key:c,value:a[c]});return b},d3.permute=function(a,b){var c=[],d=-1,e=b.length;while(++d<e)c[d]=a[b[d]];return c},d3.merge=function(a){return Array.prototype.concat.apply([],a)},d3.split=function(a,b){var c=[],d=[],e,f=-1,g=a.length;arguments.length<2&&(b=u);while(++f<g)b.call(d,e=a[f],f)?d=[]:(d.length||c.push(d),d.push(e));return c},d3.range=function(a,b,c){arguments.length<3&&(c=1,arguments.length<2&&(b=a,a=0));if((b-a)/c===Infinity)throw new Error(\"infinite range\");var d=[],e=w(Math.abs(c)),f=-1,g;a*=e,b*=e,c*=e;if(c<0)while((g=a+c*++f)>b)d.push(g/e);else while((g=a+c*++f)<b)d.push(g/e);return d},d3.requote=function(a){return a.replace(x,\"\\\\$&\")};var x=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g;d3.round=function(a,b){return b?Math.round(a*(b=Math.pow(10,b)))/b:Math.round(a)},d3.xhr=function(a,b,c){var d=new XMLHttpRequest;arguments.length<3?(c=b,b=null):b&&d.overrideMimeType&&d.overrideMimeType(b),d.open(\"GET\",a,!0),b&&d.setRequestHeader(\"Accept\",b),d.onreadystatechange=function(){if(d.readyState===4){var a=d.status;c(!a&&d.response||a>=200&&a<300||a===304?d:null)}},d.send(null)},d3.text=function(a,b,c){function d(a){c(a&&a.responseText)}arguments.length<3&&(c=b,b=null),d3.xhr(a,b,d)},d3.json=function(a,b){d3.text(a,\"application/json\",function(a){b(a?JSON.parse(a):null)})},d3.html=function(a,b){d3.text(a,\"text/html\",function(a){if(a!=null){var c=document.createRange();c.selectNode(document.body),a=c.createContextualFragment(a)}b(a)})},d3.xml=function(a,b,c){function d(a){c(a&&a.responseXML)}arguments.length<3&&(c=b,b=null),d3.xhr(a,b,d)};var y={svg:\"http://www.w3.org/2000/svg\",xhtml:\"http://www.w3.org/1999/xhtml\",xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};d3.ns={prefix:y,qualify:function(a){var b=a.indexOf(\":\"),c=a;return b>=0&&(c=a.substring(0,b),a=a.substring(b+1)),y.hasOwnProperty(c)?{space:y[c],local:a}:a}},d3.dispatch=function(){var a=new z,b=-1,c=arguments.length;while(++b<c)a[arguments[b]]=A(a);return a},z.prototype.on=function(a,b){var c=a.indexOf(\".\"),d=\"\";return c>0&&(d=a.substring(c+1),a=a.substring(0,c)),arguments.length<2?this[a].on(d):this[a].on(d,b)},d3.format=function(a){var b=B.exec(a),c=b[1]||\" \",d=b[3]||\"\",e=b[5],f=+b[6],g=b[7],h=b[8],i=b[9],j=1,k=\"\",l=!1;h&&(h=+h.substring(1)),e&&(c=\"0\",g&&(f-=Math.floor((f-1)/4)));switch(i){case\"n\":g=!0,i=\"g\";break;case\"%\":j=100,k=\"%\",i=\"f\";break;case\"p\":j=100,k=\"%\",i=\"r\";break;case\"d\":l=!0,h=0;break;case\"s\":j=-1,i=\"r\"}return i==\"r\"&&!h&&(i=\"g\"),i=C.get(i)||E,function(a){if(l&&a%1)return\"\";var b=a<0&&(a=-a)?\"−\":d;if(j<0){var m=d3.formatPrefix(a,h);a=m.scale(a),k=m.symbol}else a*=j;a=i(a,h);if(e){var n=a.length+b.length;n<f&&(a=(new Array(f-n+1)).join(c)+a),g&&(a=F(a)),a=b+a}else{g&&(a=F(a)),a=b+a;var n=a.length;n<f&&(a=(new Array(f-n+1)).join(c)+a)}return a+k}};var B=/(?:([^{])?([<>=^]))?([+\\- ])?(#)?(0)?([0-9]+)?(,)?(\\.[0-9]+)?([a-zA-Z%])?/,C=d3.map({g:function(a,b){return a.toPrecision(b)},e:function(a,b){return a.toExponential(b)},f:function(a,b){return a.toFixed(b)},r:function(a,b){return d3.round(a,b=D(a,b)).toFixed(Math.max(0,Math.min(20,b)))}}),G=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"μ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"].map(H);d3.formatPrefix=function(a,b){var c=0;return a&&(a<0&&(a*=-1),b&&(a=d3.round(a,D(a,b))),c=1+Math.floor(1e-12+Math.log(a)/Math.LN10),c=Math.max(-24,Math.min(24,Math.floor((c<=0?c+1:c-1)/3)*3))),G[8+c/3]};var I=R(2),J=R(3),K=function(){return Q},L=d3.map({linear:K,poly:R,quad:function(){return I},cubic:function(){return J},sin:function(){return S},exp:function(){return T},circle:function(){return U},elastic:V,back:W,bounce:function(){return X}}),M=d3.map({\"in\":Q,out:O,\"in-out\":P,\"out-in\":function(a){return P(O(a))}});d3.ease=function(a){var b=a.indexOf(\"-\"),c=b>=0?a.substring(0,b):a,d=b>=0?a.substring(b+1):\"in\";return c=L.get(c)||K,d=M.get(d)||Q,N(d(c.apply(null,Array.prototype.slice.call(arguments,1))))},d3.event=null,d3.interpolate=function(a,b){var c=d3.interpolators.length,d;while(--c>=0&&!(d=d3.interpolators[c](a,b)));return d},d3.interpolateNumber=function(a,b){return b-=a,function(c){return a+b*c}},d3.interpolateRound=function(a,b){return b-=a,function(c){return Math.round(a+b*c)}},d3.interpolateString=function(a,b){var c,d,e,f=0,g=0,h=[],i=[],j,k;_.lastIndex=0;for(d=0;c=_.exec(b);++d)c.index&&h.push(b.substring(f,g=c.index)),i.push({i:h.length,x:c[0]}),h.push(null),f=_.lastIndex;f<b.length&&h.push(b.substring(f));for(d=0,j=i.length;(c=_.exec(a))&&d<j;++d){k=i[d];if(k.x==c[0]){if(k.i)if(h[k.i+1]==null){h[k.i-1]+=k.x,h.splice(k.i,1);for(e=d+1;e<j;++e)i[e].i--}else{h[k.i-1]+=k.x+h[k.i+1],h.splice(k.i,2);for(e=d+1;e<j;++e)i[e].i-=2}else if(h[k.i+1]==null)h[k.i]=k.x;else{h[k.i]=k.x+h[k.i+1],h.splice(k.i+1,1);for(e=d+1;e<j;++e)i[e].i--}i.splice(d,1),j--,d--}else k.x=d3.interpolateNumber(parseFloat(c[0]),parseFloat(k.x))}while(d<j)k=i.pop(),h[k.i+1]==null?h[k.i]=k.x:(h[k.i]=k.x+h[k.i+1],h.splice(k.i+1,1)),j--;return h.length===1?h[0]==null?i[0].x:function(){return b}:function(a){for(d=0;d<j;++d)h[(k=i[d]).i]=k.x(a);return h.join(\"\")}},d3.interpolateTransform=function(a,b){var c=[],d=[],e,f=d3.transform(a),g=d3.transform(b),h=f.translate,i=g.translate,j=f.rotate,k=g.rotate,l=f.skew,m=g.skew,n=f.scale,o=g.scale;return h[0]!=i[0]||h[1]!=i[1]?(c.push(\"translate(\",null,\",\",null,\")\"),d.push({i:1,x:d3.interpolateNumber(h[0],i[0])},{i:3,x:d3.interpolateNumber(h[1],i[1])})):i[0]||i[1]?c.push(\"translate(\"+i+\")\"):c.push(\"\"),j!=k?(j-k>180?k+=360:k-j>180&&(j+=360),d.push({i:c.push(c.pop()+\"rotate(\",null,\")\")-2,x:d3.interpolateNumber(j,k)})):k&&c.push(c.pop()+\"rotate(\"+k+\")\"),l!=m?d.push({i:c.push(c.pop()+\"skewX(\",null,\")\")-2,x:d3.interpolateNumber(l,m)}):m&&c.push(c.pop()+\"skewX(\"+m+\")\"),n[0]!=o[0]||n[1]!=o[1]?(e=c.push(c.pop()+\"scale(\",null,\",\",null,\")\"),d.push({i:e-4,x:d3.interpolateNumber(n[0],o[0])},{i:e-2,x:d3.interpolateNumber(n[1],o[1])})):(o[0]!=1||o[1]!=1)&&c.push(c.pop()+\"scale(\"+o+\")\"),e=d.length,function(a){var b=-1,f;while(++b<e)c[(f=d[b]).i]=f.x(a);return c.join(\"\")}},d3.interpolateRgb=function(a,b){a=d3.rgb(a),b=d3.rgb(b);var c=a.r,d=a.g,e=a.b,f=b.r-c,g=b.g-d,h=b.b-e;return function(a){return\"#\"+bf(Math.round(c+f*a))+bf(Math.round(d+g*a))+bf(Math.round(e+h*a))}},d3.interpolateHsl=function(a,b){a=d3.hsl(a),b=d3.hsl(b);var c=a.h,d=a.s,e=a.l,f=b.h-c,g=b.s-d,h=b.l-e;return f>180?f-=360:f<-180&&(f+=360),function(a){return bm(c+f*a,d+g*a,e+h*a).toString()}},d3.interpolateArray=function(a,b){var c=[],d=[],e=a.length,f=b.length,g=Math.min(a.length,b.length),h;for(h=0;h<g;++h)c.push(d3.interpolate(a[h],b[h]));for(;h<e;++h)d[h]=a[h];for(;h<f;++h)d[h]=b[h];return function(a){for(h=0;h<g;++h)d[h]=c[h](a);return d}},d3.interpolateObject=function(a,b){var c={},d={},e;for(e in a)e in b?c[e]=ba(e)(a[e],b[e]):d[e]=a[e];for(e in b)e in a||(d[e]=b[e]);return function(a){for(e in c)d[e]=c[e](a);return d}};var _=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g;d3.interpolators=[d3.interpolateObject,function(a,b){return b instanceof Array&&d3.interpolateArray(a,b)},function(a,b){return(typeof a==\"string\"||typeof b==\"string\")&&d3.interpolateString(a+\"\",b+\"\")},function(a,b){return(typeof b==\"string\"?bj.has(b)||/^(#|rgb\\(|hsl\\()/.test(b):b instanceof be||b instanceof bl)&&d3.interpolateRgb(a,b)},function(a,b){return!isNaN(a=+a)&&!isNaN(b=+b)&&d3.interpolateNumber(a,b)}],d3.rgb=function(a,b,c){return arguments.length===1?a instanceof be?bd(a.r,a.g,a.b):bg(\"\"+a,bd,bm):bd(~~a,~~b,~~c)},be.prototype.brighter=function(a){a=Math.pow(.7,arguments.length?a:1);var b=this.r,c=this.g,d=this.b,e=30;return!b&&!c&&!d?bd(e,e,e):(b&&b<e&&(b=e),c&&c<e&&(c=e),d&&d<e&&(d=e),bd(Math.min(255,Math.floor(b/a)),Math.min(255,Math.floor(c/a)),Math.min(255,Math.floor(d/a))))},be.prototype.darker=function(a){return a=Math.pow(.7,arguments.length?a:1),bd(Math.floor(a*this.r),Math.floor(a*this.g),Math.floor(a*this.b))},be.prototype.hsl=function(){return bh(this.r,this.g,this.b)},be.prototype.toString=function(){return\"#\"+bf(this.r)+bf(this.g)+bf(this.b)};var bj=d3.map({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\",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\",lavender:\"#e6e6fa\",lavenderblush:\"#fff0f5\",lawngreen:\"#7cfc00\",lemonchiffon:\"#fffacd\",lightblue:\"#add8e6\",lightcoral:\"#f08080\",lightcyan:\"#e0ffff\",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\",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\",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\"});bj.forEach(function(a,b){bj.set(a,bg(b,bd,bm))}),d3.hsl=function(a,b,c){return arguments.length===1?a instanceof bl?bk(a.h,a.s,a.l):bg(\"\"+a,bh,bk):bk(+a,+b,+c)},bl.prototype.brighter=function(a){return a=Math.pow(.7,arguments.length?a:1),bk(this.h,this.s,this.l/a)},bl.prototype.darker=function(a){return a=Math.pow(.7,arguments.length?a:1),bk(this.h,this.s,a*this.l)},bl.prototype.rgb=function(){return bm(this.h,this.s,this.l)},bl.prototype.toString=function(){return this.rgb().toString()};var bo=function(a,b){return b.querySelector(a)},bp=function(a,b){return b.querySelectorAll(a)},bq=document.documentElement,br=bq.matchesSelector||bq.webkitMatchesSelector||bq.mozMatchesSelector||bq.msMatchesSelector||bq.oMatchesSelector,bs=function(a,b){return br.call(a,b)};typeof Sizzle==\"function\"&&(bo=function(a,b){return Sizzle(a,b)[0]||null},bp=function(a,b){return Sizzle.uniqueSort(Sizzle(a,b))},bs=Sizzle.matchesSelector);var bt=[];d3.selection=function(){return bB},d3.selection.prototype=bt,bt.select=function(a){var b=[],c,d,e,f;typeof a!=\"function\"&&(a=bu(a));for(var g=-1,h=this.length;++g<h;){b.push(c=[]),c.parentNode=(e=this[g]).parentNode;for(var i=-1,j=e.length;++i<j;)(f=e[i])?(c.push(d=a.call(f,f.__data__,i)),d&&\"__data__\"in f&&(d.__data__=f.__data__)):c.push(null)}return bn(b)},bt.selectAll=function(a){var b=[],c,d;typeof a!=\"function\"&&(a=bv(a));for(var f=-1,g=this.length;++f<g;)for(var h=this[f],i=-1,j=h.length;++i<j;)if(d=h[i])b.push(c=e(a.call(d,d.__data__,i))),c.parentNode=d;return bn(b)},bt.attr=function(a,b){function d(){this.removeAttribute(a)}function e(){this.removeAttributeNS(a.space,a.local)}function f(){this.setAttribute(a,b)}function g(){this.setAttributeNS(a.space,a.local,b)}function h(){var c=b.apply(this,arguments);c==null?this.removeAttribute(a):this.setAttribute(a,c)}function i(){var c=b.apply(this,arguments);c==null?this.removeAttributeNS(a.space,a.local):this.setAttributeNS(a.space,a.local,c)}a=d3.ns.qualify(a);if(arguments.length<2){var c=this.node();return a.local?c.getAttributeNS(a.space,a.local):c.getAttribute(a)}return this.each(b==null?a.local?e:d:typeof b==\"function\"?a.local?i:h:a.local?g:f)},bt.classed=function(a,b){var c=v(a).split(\" \"),d=c.length,e=-1;if(arguments.length>1){while(++e<d)bw.call(this,c[e],b);return this}while(++e<d)if(!bw.call(this,c[e]))return!1;return!0},bt.style=function(a,b,c){function d(){this.style.removeProperty(a)}function e(){this.style.setProperty(a,b,c)}function f(){var d=b.apply(this,arguments);d==null?this.style.removeProperty(a):this.style.setProperty(a,d,c)}return arguments.length<3&&(c=\"\"),arguments.length<2?window.getComputedStyle(this.node(),null).getPropertyValue(a):this.each(b==null?d:typeof b==\"function\"?f:e)},bt.property=function(a,b){function c(){delete this[a]}function d(){this[a]=b}function e(){var c=b.apply(this,arguments);c==null?delete this[a]:this[a]=c}return arguments.length<2?this.node()[a]:this.each(b==null?c:typeof b==\"function\"?e:d)},bt.text=function(a){return arguments.length<1?this.node().textContent:this.each(typeof a==\"function\"?function(){var b=a.apply(this,arguments);this.textContent=b==null?\"\":b}:a==null?function(){this.textContent=\"\"}:function(){this.textContent=a})},bt.html=function(a){return arguments.length<1?this.node().innerHTML:this.each(typeof a==\"function\"?function(){var b=a.apply(this,arguments);this.innerHTML=b==null?\"\":b}:a==null?function(){this.innerHTML=\"\"}:function(){this.innerHTML=a})},bt.append=function(a){function b(){return this.appendChild(document.createElementNS(this.namespaceURI,a))}function c(){return this.appendChild(document.createElementNS(a.space,a.local))}return a=d3.ns.qualify(a),this.select(a.local?c:b)},bt.insert=function(a,b){function c(){return this.insertBefore(document.createElementNS(this.namespaceURI,a),bo(b,this))}function d(){return this.insertBefore(document.createElementNS(a.space,a.local),bo(b,this))}return a=d3.ns.qualify(a),this.select(a.local?d:c)},bt.remove=function(){return this.each(function(){var a=this.parentNode;a&&a.removeChild(this)})},bt.data=function(a,b){function g(a,c){var d,e=a.length,f=c.length,g=Math.min(e,f),l=Math.max(e,f),m=[],n=[],o=[],p,q;if(b){var r=new j,s=[],t,u=c.length;for(d=-1;++d<e;)t=b.call(p=a[d],p.__data__,d),r.has(t)?o[u++]=p:r.set(t,p),s.push(t);for(d=-1;++d<f;)t=b.call(c,q=c[d],d),r.has(t)?(m[d]=p=r.get(t),p.__data__=q,n[d]=o[d]=null):(n[d]=bx(q),m[d]=o[d]=null),r.remove(t);for(d=-1;++d<e;)r.has(s[d])&&(o[d]=a[d])}else{for(d=-1;++d<g;)p=a[d],q=c[d],p?(p.__data__=q,m[d]=p,n[d]=o[d]=null):(n[d]=bx(q),m[d]=o[d]=null);for(;d<f;++d)n[d]=bx(c[d]),m[d]=o[d]=null;for(;d<l;++d)o[d]=a[d],n[d]=m[d]=null}n.update=m,n.parentNode=m.parentNode=o.parentNode=a.parentNode,h.push(n),i.push(m),k.push(o)}var c=-1,d=this.length,e,f;if(!arguments.length){a=new Array(d=(e=this[0]).length);while(++c<d)if(f=e[c])a[c]=f.__data__;return a}var h=bC([]),i=bn([]),k=bn([]);if(typeof a==\"function\")while(++c<d)g(e=this[c],a.call(e,e.parentNode.__data__,c));else while(++c<d)g(e=this[c],a);return i.enter=function(){return h},i.exit=function(){return k},i},bt.datum=bt.map=function(a){return arguments.length<1?this.property(\"__data__\"):this.property(\"__data__\",a)},bt.filter=function(a){var b=[],c,d,e;typeof a!=\"function\"&&(a=by(a));for(var f=0,g=this.length;f<g;f++){b.push(c=[]),c.parentNode=(d=this[f]).parentNode;for(var h=0,i=d.length;h<i;h++)(e=d[h])&&a.call(e,e.__data__,h)&&c.push(e)}return bn(b)},bt.order=function(){for(var a=-1,b=this.length;++a<b;)for(var c=this[a],d=c.length-1,e=c[d],f;--d>=0;)if(f=c[d])e&&e!==f.nextSibling&&e.parentNode.insertBefore(f,e),e=f;return this},bt.sort=function(a){a=bz.apply(this,arguments);for(var b=-1,c=this.length;++b<c;)this[b].sort(a);return this.order()},bt.on=function(a,b,c){arguments.length<3&&(c=!1);var d=\"__on\"+a,e=a.indexOf(\".\");return e>0&&(a=a.substring(0,e)),arguments.length<2?(e=this.node()[d])&&e._:this.each(function(e,f){function i(a){var c=d3.event;d3.event=a;try{b.call(g,g.__data__,f)}finally{d3.event=c}}var g=this,h=g[d];h&&(g.removeEventListener(a,h,h.$),delete g[d]),b&&(g.addEventListener(a,g[d]=i,i.$=c),i._=b)})},bt.each=function(a){return bA(this,function(b,c,d){a.call(b,b.__data__,c,d)})},bt.call=function(a){return a.apply(this,(arguments[0]=this,arguments)),this},bt.empty=function(){return!this.node()},bt.node=function(a){for(var b=0,c=this.length;b<c;b++)for(var d=this[b],e=0,f=d.length;e<f;e++){var g=d[e];if(g)return g}return null},bt.transition=function(){var a=[],b,c;for(var d=-1,e=this.length;++d<e;){a.push(b=[]);for(var f=this[d],g=-1,h=f.length;++g<h;)b.push((c=f[g])?{node:c,delay:bO,duration:bP}:null)}return bE(a,bK||++bJ,Date.now())};var bB=bn([[document]]);bB[0].parentNode=bq,d3.select=function(a){return typeof a==\"string\"?bB.select(a):bn([[a]])},d3.selectAll=function(a){return typeof a==\"string\"?bB.selectAll(a):bn([e(a)])};var bD=[];d3.selection.enter=bC,d3.selection.enter.prototype=bD,bD.append=bt.append,bD.insert=bt.insert,bD.empty=bt.empty,bD.node=bt.node,bD.select=function(a){var b=[],c,d,e,f,g;for(var h=-1,i=this.length;++h<i;){e=(f=this[h]).update,b.push(c=[]),c.parentNode=f.parentNode;for(var j=-1,k=f.length;++j<k;)(g=f[j])?(c.push(e[j]=d=a.call(f.parentNode,g.__data__,j)),d.__data__=g.__data__):c.push(null)}return bn(b)};var bF={},bI=[],bJ=0,bK=0,bL=0,bM=250,bN=d3.ease(\"cubic-in-out\"),bO=bL,bP=bM,bQ=bN;bI.call=bt.call,d3.transition=function(a){return arguments.length?bK?a.transition():a:bB.transition()},d3.transition.prototype=bI,bI.select=function(a){var b=[],c,d,e;typeof a!=\"function\"&&(a=bu(a));for(var f=-1,g=this.length;++f<g;){b.push(c=[]);for(var h=this[f],i=-1,j=h.length;++i<j;)(e=h[i])&&(d=a.call(e.node,e.node.__data__,i))?(\"__data__\"in e.node&&(d.__data__=e.node.__data__),c.push({node:d,delay:e.delay,duration:e.duration})):c.push(null)}return bE(b,this.id,this.time).ease(this.ease())},bI.selectAll=function(a){var b=[],c,d,e;typeof a!=\"function\"&&(a=bv(a));for(var f=-1,g=this.length;++f<g;)for(var h=this[f],i=-1,j=h.length;++i<j;)if(e=h[i]){d=a.call(e.node,e.node.__data__,i),b.push(c=[]);for(var k=-1,l=d.length;++k<l;)c.push({node:d[k],delay:e.delay,duration:e.duration})}return bE(b,this.id,this.time).ease(this.ease())},bI.attr=function(a,b){return this.attrTween(a,bH(a,b))},bI.attrTween=function(a,b){function d(a,d){var e=b.call(this,a,d,this.getAttribute(c));return e===bF?(this.removeAttribute(c),null):e&&function(a){this.setAttribute(c,e(a))}}function e(a,d){var e=b.call(this,a,d,this.getAttributeNS(c.space,c.local));return e===bF?(this.removeAttributeNS(c.space,c.local),null):e&&function(a){this.setAttributeNS(c.space,c.local,e(a))}}var c=d3.ns.qualify(a);return this.tween(\"attr.\"+a,c.local?e:d)},bI.style=function(a,b,c){return arguments.length<3&&(c=\"\"),this.styleTween(a,bH(a,b),c)},bI.styleTween=function(a,b,c){return arguments.length<3&&(c=\"\"),this.tween(\"style.\"+a,function(d,e){var f=b.call(this,d,e,window.getComputedStyle(this,null).getPropertyValue(a));return f===bF?(this.style.removeProperty(a),null):f&&function(b){this.style.setProperty(a,f(b),c)}})},bI.text=function(a){return this.tween(\"text\",function(b,c){this.textContent=typeof a==\"function\"?a.call(this,b,c):a})},bI.remove=function(){return this.each(\"end.transition\",function(){var a;!this.__transition__&&(a=this.parentNode)&&a.removeChild(this)})},bI.delay=function(a){return bA(this,typeof a==\"function\"?function(b,c,d){b.delay=a.call(b=b.node,b.__data__,c,d)|0}:(a|=0,function(b){b.delay=a}))},bI.duration=function(a){return bA(this,typeof a==\"function\"?function(b,c,d){b.duration=Math.max(1,a.call(b=b.node,b.__data__,c,d)|0)}:(a=Math.max(1,a|0),function(b){b.duration=a}))},bI.transition=function(){return this.select(n)};var bS=null,bT,bU;d3.timer=function(a,b,c){var d=!1,e,f=bS;if(arguments.length<3){if(arguments.length<2)b=0;else if(!isFinite(b))return;c=Date.now()}while(f){if(f.callback===a){f.then=c,f.delay=b,d=!0;break}e=f,f=f.next}d||(bS={callback:a,then:c,delay:b,next:bS}),bT||(bU=clearTimeout(bU),bT=1,bX(bV))},d3.timer.flush=function(){var a,b=Date.now(),c=bS;while(c)a=b-c.then,c.delay||(c.flush=c.callback(a)),c=c.next;bW()};var bX=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,17)};d3.transform=function(a){var b=document.createElementNS(d3.ns.prefix.svg,\"g\"),c={a:1,b:0,c:0,d:1,e:0,f:0};return(d3.transform=function(a){b.setAttribute(\"transform\",a);var d=b.transform.baseVal.consolidate();return new bY(d?d.matrix:c)})(a)},bY.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};var ca=180/Math.PI;d3.mouse=function(a){return cc(a,Z())};var cb=/WebKit/.test(navigator.userAgent)?-1:0;d3.touches=function(a,b){return arguments.length<2&&(b=Z().touches),b?e(b).map(function(b){var c=cc(a,b);return c.identifier=b.identifier,c}):[]},d3.scale={},d3.scale.linear=function(){return ci([0,1],[0,1],d3.interpolate,!1)},d3.scale.log=function(){return cq(d3.scale.linear(),cs)};var cr=d3.format(\".0e\");cs.pow=function(a){return Math.pow(10,a)},ct.pow=function(a){return-Math.pow(10,-a)},d3.scale.pow=function(){return cu(d3.scale.linear(),1)},d3.scale.sqrt=function(){return d3.scale.pow().exponent(.5)},d3.scale.ordinal=function(){return cw([],{t:\"range\",x:[]})},d3.scale.category10=function(){return d3.scale.ordinal().range(cx)},d3.scale.category20=function(){return d3.scale.ordinal().range(cy)},d3.scale.category20b=function(){return d3.scale.ordinal().range(cz)},d3.scale.category20c=function(){return d3.scale.ordinal().range(cA)};var cx=[\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#d62728\",\"#9467bd\",\"#8c564b\",\"#e377c2\",\"#7f7f7f\",\"#bcbd22\",\"#17becf\"],cy=[\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#ffbb78\",\"#2ca02c\",\"#98df8a\",\"#d62728\",\"#ff9896\",\"#9467bd\",\"#c5b0d5\",\"#8c564b\",\"#c49c94\",\"#e377c2\",\"#f7b6d2\",\"#7f7f7f\",\"#c7c7c7\",\"#bcbd22\",\"#dbdb8d\",\"#17becf\",\"#9edae5\"],cz=[\"#393b79\",\"#5254a3\",\"#6b6ecf\",\"#9c9ede\",\"#637939\",\"#8ca252\",\"#b5cf6b\",\"#cedb9c\",\"#8c6d31\",\"#bd9e39\",\"#e7ba52\",\"#e7cb94\",\"#843c39\",\"#ad494a\",\"#d6616b\",\"#e7969c\",\"#7b4173\",\"#a55194\",\"#ce6dbd\",\"#de9ed6\"],cA=[\"#3182bd\",\"#6baed6\",\"#9ecae1\",\"#c6dbef\",\"#e6550d\",\"#fd8d3c\",\"#fdae6b\",\"#fdd0a2\",\"#31a354\",\"#74c476\",\"#a1d99b\",\"#c7e9c0\",\"#756bb1\",\"#9e9ac8\",\"#bcbddc\",\"#dadaeb\",\"#636363\",\"#969696\",\"#bdbdbd\",\"#d9d9d9\"];d3.scale.quantile=function(){return cB([],[])},d3.scale.quantize=function(){return cC(0,1,[0,1])},d3.scale.identity=function(){return cD([0,1])},d3.svg={},d3.svg.arc=function(){function e(){var e=a.apply(this,arguments),f=b.apply(this,arguments),g=c.apply(this,arguments)+cE,h=d.apply(this,arguments)+cE,i=(h<g&&(i=g,g=h,h=i),h-g),j=i<Math.PI?\"0\":\"1\",k=Math.cos(g),l=Math.sin(g),m=Math.cos(h),n=Math.sin(h);return i>=cF?e?\"M0,\"+f+\"A\"+f+\",\"+f+\" 0 1,1 0,\"+ -f+\"A\"+f+\",\"+f+\" 0 1,1 0,\"+f+\"M0,\"+e+\"A\"+e+\",\"+e+\" 0 1,0 0,\"+ -e+\"A\"+e+\",\"+e+\" 0 1,0 0,\"+e+\"Z\":\"M0,\"+f+\"A\"+f+\",\"+f+\" 0 1,1 0,\"+ -f+\"A\"+f+\",\"+f+\" 0 1,1 0,\"+f+\"Z\":e?\"M\"+f*k+\",\"+f*l+\"A\"+f+\",\"+f+\" 0 \"+j+\",1 \"+f*m+\",\"+f*n+\"L\"+e*m+\",\"+e*n+\"A\"+e+\",\"+e+\" 0 \"+j+\",0 \"+e*k+\",\"+e*l+\"Z\":\"M\"+f*k+\",\"+f*l+\"A\"+f+\",\"+f+\" 0 \"+j+\",1 \"+f*m+\",\"+f*n+\"L0,0\"+\"Z\"}var a=cG,b=cH,c=cI,d=cJ;return e.innerRadius=function(b){return arguments.length?(a=p(b),e):a},e.outerRadius=function(a){return arguments.length?(b=p(a),e):b},e.startAngle=function(a){return arguments.length?(c=p(a),e):c},e.endAngle=function(a){return arguments.length?(d=p(a),e):d},e.centroid=function(){var e=(a.apply(this,arguments)+b.apply(this,arguments))/2,f=(c.apply(this,arguments)+d.apply(this,arguments))/2+cE;return[Math.cos(f)*e,Math.sin(f)*e]},e};var cE=-Math.PI/2,cF=2*Math.PI-1e-6;d3.svg.line=function(){return cK(m)};var cN=\"linear\",cO=d3.map({linear:cP,\"step-before\":cQ,\"step-after\":cR,basis:cX,\"basis-open\":cY,\"basis-closed\":cZ,bundle:c$,cardinal:cU,\"cardinal-open\":cS,\"cardinal-closed\":cT,monotone:dh}),da=[0,2/3,1/3,0],db=[0,1/3,2/3,0],dc=[0,1/6,2/3,1/6];d3.svg.line.radial=function(){var a=cK(di);return a.radius=a.x,delete a.x,a.angle=a.y,delete a.y,a},cQ.reverse=cR,cR.reverse=cQ,d3.svg.area=function(){return dj(Object)},d3.svg.area.radial=function(){var a=dj(di);return a.radius=a.x,delete a.x,a.innerRadius=a.x0,delete a.x0,a.outerRadius=a.x1,delete a.x1,a.angle=a.y,delete a.y,a.startAngle=a.y0,delete a.y0,a.endAngle=a.y1,delete a.y1,a},d3.svg.chord=function(){function f(c,d){var e=g(this,a,c,d),f=g(this,b,c,d);return\"M\"+e.p0+i(e.r,e.p1,e.a1-e.a0)+(h(e,f)?j(e.r,e.p1,e.r,e.p0):j(e.r,e.p1,f.r,f.p0)+i(f.r,f.p1,f.a1-f.a0)+j(f.r,f.p1,e.r,e.p0))+\"Z\"}function g(a,b,f,g){var h=b.call(a,f,g),i=c.call(a,h,g),j=d.call(a,h,g)+cE,k=e.call(a,h,g)+cE;return{r:i,a0:j,a1:k,p0:[i*Math.cos(j),i*Math.sin(j)],p1:[i*Math.cos(k),i*Math.sin(k)]}}function h(a,b){return a.a0==b.a0&&a.a1==b.a1}function i(a,b,c){return\"A\"+a+\",\"+a+\" 0 \"+ +(c>Math.PI)+\",1 \"+b}function j(a,b,c,d){return\"Q 0,0 \"+d}var a=dk,b=dl,c=dm,d=cI,e=cJ;return f.radius=function(a){return arguments.length?(c=p(a),f):c},f.source=function(b){return arguments.length?(a=p(b),f):a},f.target=function(a){return arguments.length?(b=p(a),f):b},f.startAngle=function(a){return arguments.length?(d=p(a),f):d},f.endAngle=function(a){return arguments.length?(e=p(a),f):e},f},d3.svg.diagonal=function(){function d(d,e){var f=a.call(this,d,e),g=b.call(this,d,e),h=(f.y+g.y)/2,i=[f,{x:f.x,y:h},{x:g.x,y:h},g];return i=i.map(c),\"M\"+i[0]+\"C\"+i[1]+\" \"+i[2]+\" \"+i[3]}var a=dk,b=dl,c=dq;return d.source=function(b){return arguments.length?(a=p(b),d):a},d.target=function(a){return arguments.length?(b=p(a),d):b},d.projection=function(a){return arguments.length?(c=a,d):c},d},d3.svg.diagonal\n.radial=function(){var a=d3.svg.diagonal(),b=dq,c=a.projection;return a.projection=function(a){return arguments.length?c(dr(b=a)):b},a},d3.svg.mouse=d3.mouse,d3.svg.touches=d3.touches,d3.svg.symbol=function(){function c(c,d){return(dv.get(a.call(this,c,d))||du)(b.call(this,c,d))}var a=dt,b=ds;return c.type=function(b){return arguments.length?(a=p(b),c):a},c.size=function(a){return arguments.length?(b=p(a),c):b},c};var dv=d3.map({circle:du,cross:function(a){var b=Math.sqrt(a/5)/2;return\"M\"+ -3*b+\",\"+ -b+\"H\"+ -b+\"V\"+ -3*b+\"H\"+b+\"V\"+ -b+\"H\"+3*b+\"V\"+b+\"H\"+b+\"V\"+3*b+\"H\"+ -b+\"V\"+b+\"H\"+ -3*b+\"Z\"},diamond:function(a){var b=Math.sqrt(a/(2*dx)),c=b*dx;return\"M0,\"+ -b+\"L\"+c+\",0\"+\" 0,\"+b+\" \"+ -c+\",0\"+\"Z\"},square:function(a){var b=Math.sqrt(a)/2;return\"M\"+ -b+\",\"+ -b+\"L\"+b+\",\"+ -b+\" \"+b+\",\"+b+\" \"+ -b+\",\"+b+\"Z\"},\"triangle-down\":function(a){var b=Math.sqrt(a/dw),c=b*dw/2;return\"M0,\"+c+\"L\"+b+\",\"+ -c+\" \"+ -b+\",\"+ -c+\"Z\"},\"triangle-up\":function(a){var b=Math.sqrt(a/dw),c=b*dw/2;return\"M0,\"+ -c+\"L\"+b+\",\"+c+\" \"+ -b+\",\"+c+\"Z\"}});d3.svg.symbolTypes=dv.keys();var dw=Math.sqrt(3),dx=Math.tan(30*Math.PI/180);d3.svg.axis=function(){function k(k){k.each(function(){var k=d3.select(this),l=h==null?a.ticks?a.ticks.apply(a,g):a.domain():h,m=i==null?a.tickFormat?a.tickFormat.apply(a,g):String:i,n=dA(a,l,j),o=k.selectAll(\".minor\").data(n,String),p=o.enter().insert(\"line\",\"g\").attr(\"class\",\"tick minor\").style(\"opacity\",1e-6),q=d3.transition(o.exit()).style(\"opacity\",1e-6).remove(),r=d3.transition(o).style(\"opacity\",1),s=k.selectAll(\"g\").data(l,String),t=s.enter().insert(\"g\",\"path\").style(\"opacity\",1e-6),u=d3.transition(s.exit()).style(\"opacity\",1e-6).remove(),v=d3.transition(s).style(\"opacity\",1),w,x=cf(a),y=k.selectAll(\".domain\").data([0]),z=y.enter().append(\"path\").attr(\"class\",\"domain\"),A=d3.transition(y),B=a.copy(),C=this.__chart__||B;this.__chart__=B,t.append(\"line\").attr(\"class\",\"tick\"),t.append(\"text\");var D=t.select(\"line\"),E=v.select(\"line\"),F=s.select(\"text\").text(m),G=t.select(\"text\"),H=v.select(\"text\");switch(b){case\"bottom\":w=dy,p.attr(\"y2\",d),r.attr(\"x2\",0).attr(\"y2\",d),D.attr(\"y2\",c),G.attr(\"y\",Math.max(c,0)+f),E.attr(\"x2\",0).attr(\"y2\",c),H.attr(\"x\",0).attr(\"y\",Math.max(c,0)+f),F.attr(\"dy\",\".71em\").attr(\"text-anchor\",\"middle\"),A.attr(\"d\",\"M\"+x[0]+\",\"+e+\"V0H\"+x[1]+\"V\"+e);break;case\"top\":w=dy,p.attr(\"y2\",-d),r.attr(\"x2\",0).attr(\"y2\",-d),D.attr(\"y2\",-c),G.attr(\"y\",-(Math.max(c,0)+f)),E.attr(\"x2\",0).attr(\"y2\",-c),H.attr(\"x\",0).attr(\"y\",-(Math.max(c,0)+f)),F.attr(\"dy\",\"0em\").attr(\"text-anchor\",\"middle\"),A.attr(\"d\",\"M\"+x[0]+\",\"+ -e+\"V0H\"+x[1]+\"V\"+ -e);break;case\"left\":w=dz,p.attr(\"x2\",-d),r.attr(\"x2\",-d).attr(\"y2\",0),D.attr(\"x2\",-c),G.attr(\"x\",-(Math.max(c,0)+f)),E.attr(\"x2\",-c).attr(\"y2\",0),H.attr(\"x\",-(Math.max(c,0)+f)).attr(\"y\",0),F.attr(\"dy\",\".32em\").attr(\"text-anchor\",\"end\"),A.attr(\"d\",\"M\"+ -e+\",\"+x[0]+\"H0V\"+x[1]+\"H\"+ -e);break;case\"right\":w=dz,p.attr(\"x2\",d),r.attr(\"x2\",d).attr(\"y2\",0),D.attr(\"x2\",c),G.attr(\"x\",Math.max(c,0)+f),E.attr(\"x2\",c).attr(\"y2\",0),H.attr(\"x\",Math.max(c,0)+f).attr(\"y\",0),F.attr(\"dy\",\".32em\").attr(\"text-anchor\",\"start\"),A.attr(\"d\",\"M\"+e+\",\"+x[0]+\"H0V\"+x[1]+\"H\"+e)}if(a.ticks)t.call(w,C),v.call(w,B),u.call(w,B),p.call(w,C),r.call(w,B),q.call(w,B);else{var I=B.rangeBand()/2,J=function(a){return B(a)+I};t.call(w,J),v.call(w,J)}})}var a=d3.scale.linear(),b=\"bottom\",c=6,d=6,e=6,f=3,g=[10],h=null,i,j=0;return k.scale=function(b){return arguments.length?(a=b,k):a},k.orient=function(a){return arguments.length?(b=a,k):b},k.ticks=function(){return arguments.length?(g=arguments,k):g},k.tickValues=function(a){return arguments.length?(h=a,k):h},k.tickFormat=function(a){return arguments.length?(i=a,k):i},k.tickSize=function(a,b,f){if(!arguments.length)return c;var g=arguments.length-1;return c=+a,d=g>1?+b:c,e=g>0?+arguments[g]:c,k},k.tickPadding=function(a){return arguments.length?(f=+a,k):f},k.tickSubdivide=function(a){return arguments.length?(j=+a,k):j},k},d3.svg.brush=function(){function g(a){a.each(function(){var a=d3.select(this),e=a.selectAll(\".background\").data([0]),f=a.selectAll(\".extent\").data([0]),l=a.selectAll(\".resize\").data(d,String),m;a.style(\"pointer-events\",\"all\").on(\"mousedown.brush\",k).on(\"touchstart.brush\",k),e.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),f.enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\"),l.enter().append(\"g\").attr(\"class\",function(a){return\"resize \"+a}).style(\"cursor\",function(a){return dB[a]}).append(\"rect\").attr(\"x\",function(a){return/[ew]$/.test(a)?-3:null}).attr(\"y\",function(a){return/^[ns]/.test(a)?-3:null}).attr(\"width\",6).attr(\"height\",6).style(\"visibility\",\"hidden\"),l.style(\"display\",g.empty()?\"none\":null),l.exit().remove(),b&&(m=cf(b),e.attr(\"x\",m[0]).attr(\"width\",m[1]-m[0]),i(a)),c&&(m=cf(c),e.attr(\"y\",m[0]).attr(\"height\",m[1]-m[0]),j(a)),h(a)})}function h(a){a.selectAll(\".resize\").attr(\"transform\",function(a){return\"translate(\"+e[+/e$/.test(a)][0]+\",\"+e[+/^s/.test(a)][1]+\")\"})}function i(a){a.select(\".extent\").attr(\"x\",e[0][0]),a.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",e[1][0]-e[0][0])}function j(a){a.select(\".extent\").attr(\"y\",e[0][1]),a.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",e[1][1]-e[0][1])}function k(){function x(){var a=d3.event.changedTouches;return a?d3.touches(d,a)[0]:d3.mouse(d)}function y(){d3.event.keyCode==32&&(q||(r=null,s[0]-=e[1][0],s[1]-=e[1][1],q=2),Y())}function z(){d3.event.keyCode==32&&q==2&&(s[0]+=e[1][0],s[1]+=e[1][1],q=0,Y())}function A(){var a=x(),d=!1;t&&(a[0]+=t[0],a[1]+=t[1]),q||(d3.event.altKey?(r||(r=[(e[0][0]+e[1][0])/2,(e[0][1]+e[1][1])/2]),s[0]=e[+(a[0]<r[0])][0],s[1]=e[+(a[1]<r[1])][1]):r=null),o&&B(a,b,0)&&(i(m),d=!0),p&&B(a,c,1)&&(j(m),d=!0),d&&(h(m),l({type:\"brush\",mode:q?\"move\":\"resize\"}))}function B(a,b,c){var d=cf(b),g=d[0],h=d[1],i=s[c],j=e[1][c]-e[0][c],k,l;q&&(g-=i,h-=j+i),k=Math.max(g,Math.min(h,a[c])),q?l=(k+=i)+j:(r&&(i=Math.max(g,Math.min(h,2*r[c]-k))),i<k?(l=k,k=i):l=i);if(e[0][c]!==k||e[1][c]!==l)return f=null,e[0][c]=k,e[1][c]=l,!0}function C(){A(),m.style(\"pointer-events\",\"all\").selectAll(\".resize\").style(\"display\",g.empty()?\"none\":null),d3.select(\"body\").style(\"cursor\",null),u.on(\"mousemove.brush\",null).on(\"mouseup.brush\",null).on(\"touchmove.brush\",null).on(\"touchend.brush\",null).on(\"keydown.brush\",null).on(\"keyup.brush\",null),l({type:\"brushend\"}),Y()}var d=this,k=d3.select(d3.event.target),l=a.of(d,arguments),m=d3.select(d),n=k.datum(),o=!/^(n|s)$/.test(n)&&b,p=!/^(e|w)$/.test(n)&&c,q=k.classed(\"extent\"),r,s=x(),t,u=d3.select(window).on(\"mousemove.brush\",A).on(\"mouseup.brush\",C).on(\"touchmove.brush\",A).on(\"touchend.brush\",C).on(\"keydown.brush\",y).on(\"keyup.brush\",z);if(q)s[0]=e[0][0]-s[0],s[1]=e[0][1]-s[1];else if(n){var v=+/w$/.test(n),w=+/^n/.test(n);t=[e[1-v][0]-s[0],e[1-w][1]-s[1]],s[0]=e[v][0],s[1]=e[w][1]}else d3.event.altKey&&(r=s.slice());m.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),d3.select(\"body\").style(\"cursor\",k.style(\"cursor\")),l({type:\"brushstart\"}),A(),Y()}var a=$(g,\"brushstart\",\"brush\",\"brushend\"),b=null,c=null,d=dC[0],e=[[0,0],[0,0]],f;return g.x=function(a){return arguments.length?(b=a,d=dC[!b<<1|!c],g):b},g.y=function(a){return arguments.length?(c=a,d=dC[!b<<1|!c],g):c},g.extent=function(a){var d,h,i,j,k;return arguments.length?(f=[[0,0],[0,0]],b&&(d=a[0],h=a[1],c&&(d=d[0],h=h[0]),f[0][0]=d,f[1][0]=h,b.invert&&(d=b(d),h=b(h)),h<d&&(k=d,d=h,h=k),e[0][0]=d|0,e[1][0]=h|0),c&&(i=a[0],j=a[1],b&&(i=i[1],j=j[1]),f[0][1]=i,f[1][1]=j,c.invert&&(i=c(i),j=c(j)),j<i&&(k=i,i=j,j=k),e[0][1]=i|0,e[1][1]=j|0),g):(a=f||e,b&&(d=a[0][0],h=a[1][0],f||(d=e[0][0],h=e[1][0],b.invert&&(d=b.invert(d),h=b.invert(h)),h<d&&(k=d,d=h,h=k))),c&&(i=a[0][1],j=a[1][1],f||(i=e[0][1],j=e[1][1],c.invert&&(i=c.invert(i),j=c.invert(j)),j<i&&(k=i,i=j,j=k))),b&&c?[[d,i],[h,j]]:b?[d,h]:c&&[i,j])},g.clear=function(){return f=null,e[0][0]=e[0][1]=e[1][0]=e[1][1]=0,g},g.empty=function(){return b&&e[0][0]===e[1][0]||c&&e[0][1]===e[1][1]},d3.rebind(g,a,\"on\")};var dB={n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},dC=[[\"n\",\"e\",\"s\",\"w\",\"nw\",\"ne\",\"se\",\"sw\"],[\"e\",\"w\"],[\"n\",\"s\"],[]];d3.behavior={},d3.behavior.drag=function(){function c(){this.on(\"mousedown.drag\",d).on(\"touchstart.drag\",d)}function d(){function j(){var a=c.parentNode,b=d3.event.changedTouches;return b?d3.touches(a,b)[0]:d3.mouse(a)}function k(){if(!c.parentNode)return l();var a=j(),b=a[0]-g[0],e=a[1]-g[1];h|=b|e,g=a,Y(),d({type:\"drag\",x:a[0]+f[0],y:a[1]+f[1],dx:b,dy:e})}function l(){d({type:\"dragend\"}),h&&(Y(),d3.event.target===e&&i.on(\"click.drag\",m,!0)),i.on(\"mousemove.drag\",null).on(\"touchmove.drag\",null).on(\"mouseup.drag\",null).on(\"touchend.drag\",null)}function m(){Y(),i.on(\"click.drag\",null)}var c=this,d=a.of(c,arguments),e=d3.event.target,f,g=j(),h=0,i=d3.select(window).on(\"mousemove.drag\",k).on(\"touchmove.drag\",k).on(\"mouseup.drag\",l,!0).on(\"touchend.drag\",l,!0);b?(f=b.apply(c,arguments),f=[f.x-g[0],f.y-g[1]]):f=[0,0],Y(),d({type:\"dragstart\"})}var a=$(c,\"drag\",\"dragstart\",\"dragend\"),b=null;return c.origin=function(a){return arguments.length?(b=a,c):b},d3.rebind(c,a,\"on\")},d3.behavior.zoom=function(){function l(){this.on(\"mousedown.zoom\",r).on(\"mousewheel.zoom\",s).on(\"mousemove.zoom\",t).on(\"DOMMouseScroll.zoom\",s).on(\"dblclick.zoom\",u).on(\"touchstart.zoom\",v).on(\"touchmove.zoom\",w).on(\"touchend.zoom\",v)}function m(b){return[(b[0]-a[0])/c,(b[1]-a[1])/c]}function n(b){return[b[0]*c+a[0],b[1]*c+a[1]]}function o(a){c=Math.max(e[0],Math.min(e[1],a))}function p(b,c){c=n(c),a[0]+=b[0]-c[0],a[1]+=b[1]-c[1]}function q(b){h&&h.domain(g.range().map(function(b){return(b-a[0])/c}).map(g.invert)),j&&j.domain(i.range().map(function(b){return(b-a[1])/c}).map(i.invert)),d3.event.preventDefault(),b({type:\"zoom\",scale:c,translate:a})}function r(){function h(){d=1,p(d3.mouse(a),g),q(b)}function i(){d&&Y(),e.on(\"mousemove.zoom\",null).on(\"mouseup.zoom\",null),d&&d3.event.target===c&&e.on(\"click.zoom\",j,!0)}function j(){Y(),e.on(\"click.zoom\",null)}var a=this,b=f.of(a,arguments),c=d3.event.target,d=0,e=d3.select(window).on(\"mousemove.zoom\",h).on(\"mouseup.zoom\",i),g=m(d3.mouse(a));window.focus(),Y()}function s(){b||(b=m(d3.mouse(this))),o(Math.pow(2,dF()*.002)*c),p(d3.mouse(this),b),q(f.of(this,arguments))}function t(){b=null}function u(){var a=d3.mouse(this),b=m(a);o(d3.event.shiftKey?c/2:c*2),p(a,b),q(f.of(this,arguments))}function v(){var a=d3.touches(this),e=Date.now();d=c,b={},a.forEach(function(a){b[a.identifier]=m(a)}),Y();if(a.length===1&&e-k<500){var g=a[0],h=m(a[0]);o(c*2),p(g,h),q(f.of(this,arguments))}k=e}function w(){var a=d3.touches(this),c=a[0],e=b[c.identifier];if(g=a[1]){var g,h=b[g.identifier];c=[(c[0]+g[0])/2,(c[1]+g[1])/2],e=[(e[0]+h[0])/2,(e[1]+h[1])/2],o(d3.event.scale*d)}p(c,e),q(f.of(this,arguments))}var a=[0,0],b,c=1,d,e=dE,f=$(l,\"zoom\"),g,h,i,j,k;return l.translate=function(b){return arguments.length?(a=b.map(Number),l):a},l.scale=function(a){return arguments.length?(c=+a,l):c},l.scaleExtent=function(a){return arguments.length?(e=a==null?dE:a.map(Number),l):e},l.x=function(a){return arguments.length?(h=a,g=a.copy(),l):h},l.y=function(a){return arguments.length?(j=a,i=a.copy(),l):j},d3.rebind(l,f,\"on\")};var dD,dE=[0,Infinity];d3.layout={},d3.layout.bundle=function(){return function(a){var b=[],c=-1,d=a.length;while(++c<d)b.push(dG(a[c]));return b}},d3.layout.chord=function(){function j(){var a={},j=[],l=d3.range(e),m=[],n,o,p,q,r;b=[],c=[],n=0,q=-1;while(++q<e){o=0,r=-1;while(++r<e)o+=d[q][r];j.push(o),m.push(d3.range(e)),n+=o}g&&l.sort(function(a,b){return g(j[a],j[b])}),h&&m.forEach(function(a,b){a.sort(function(a,c){return h(d[b][a],d[b][c])})}),n=(2*Math.PI-f*e)/n,o=0,q=-1;while(++q<e){p=o,r=-1;while(++r<e){var s=l[q],t=m[s][r],u=d[s][t],v=o,w=o+=u*n;a[s+\"-\"+t]={index:s,subindex:t,startAngle:v,endAngle:w,value:u}}c[s]={index:s,startAngle:p,endAngle:o,value:(o-p)/n},o+=f}q=-1;while(++q<e){r=q-1;while(++r<e){var x=a[q+\"-\"+r],y=a[r+\"-\"+q];(x.value||y.value)&&b.push(x.value<y.value?{source:y,target:x}:{source:x,target:y})}}i&&k()}function k(){b.sort(function(a,b){return i((a.source.value+a.target.value)/2,(b.source.value+b.target.value)/2)})}var a={},b,c,d,e,f=0,g,h,i;return a.matrix=function(f){return arguments.length?(e=(d=f)&&d.length,b=c=null,a):d},a.padding=function(d){return arguments.length?(f=d,b=c=null,a):f},a.sortGroups=function(d){return arguments.length?(g=d,b=c=null,a):g},a.sortSubgroups=function(c){return arguments.length?(h=c,b=null,a):h},a.sortChords=function(c){return arguments.length?(i=c,b&&k(),a):i},a.chords=function(){return b||j(),b},a.groups=function(){return c||j(),c},a},d3.layout.force=function(){function t(a){return function(b,c,d,e,f){if(b.point!==a){var g=b.cx-a.x,h=b.cy-a.y,i=1/Math.sqrt(g*g+h*h);if((e-c)*i<k){var j=b.charge*i*i;return a.px-=g*j,a.py-=h*j,!0}if(b.point&&isFinite(i)){var j=b.pointCharge*i*i;a.px-=g*j,a.py-=h*j}}return!b.charge}}function u(b){dL(dK=b),dJ=a}var a={},b=d3.dispatch(\"start\",\"tick\",\"end\"),c=[1,1],d,e,f=.9,g=dQ,h=dR,i=-30,j=.1,k=.8,l,n=[],o=[],q,r,s;return a.tick=function(){if((e*=.99)<.005)return b.end({type:\"end\",alpha:e=0}),!0;var a=n.length,d=o.length,g,h,k,l,m,p,u,v,w;for(h=0;h<d;++h){k=o[h],l=k.source,m=k.target,v=m.x-l.x,w=m.y-l.y;if(p=v*v+w*w)p=e*r[h]*((p=Math.sqrt(p))-q[h])/p,v*=p,w*=p,m.x-=v*(u=l.weight/(m.weight+l.weight)),m.y-=w*u,l.x+=v*(u=1-u),l.y+=w*u}if(u=e*j){v=c[0]/2,w=c[1]/2,h=-1;if(u)while(++h<a)k=n[h],k.x+=(v-k.x)*u,k.y+=(w-k.y)*u}if(i){dP(g=d3.geom.quadtree(n),e,s),h=-1;while(++h<a)(k=n[h]).fixed||g.visit(t(k))}h=-1;while(++h<a)k=n[h],k.fixed?(k.x=k.px,k.y=k.py):(k.x-=(k.px-(k.px=k.x))*f,k.y-=(k.py-(k.py=k.y))*f);b.tick({type:\"tick\",alpha:e})},a.nodes=function(b){return arguments.length?(n=b,a):n},a.links=function(b){return arguments.length?(o=b,a):o},a.size=function(b){return arguments.length?(c=b,a):c},a.linkDistance=function(b){return arguments.length?(g=p(b),a):g},a.distance=a.linkDistance,a.linkStrength=function(b){return arguments.length?(h=p(b),a):h},a.friction=function(b){return arguments.length?(f=b,a):f},a.charge=function(b){return arguments.length?(i=typeof b==\"function\"?b:+b,a):i},a.gravity=function(b){return arguments.length?(j=b,a):j},a.theta=function(b){return arguments.length?(k=b,a):k},a.alpha=function(c){return arguments.length?(e?c>0?e=c:e=0:c>0&&(b.start({type:\"start\",alpha:e=c}),d3.timer(a.tick)),a):e},a.start=function(){function p(a,c){var d=t(b),e=-1,f=d.length,g;while(++e<f)if(!isNaN(g=d[e][a]))return g;return Math.random()*c}function t(){if(!l){l=[];for(d=0;d<e;++d)l[d]=[];for(d=0;d<f;++d){var a=o[d];l[a.source.index].push(a.target),l[a.target.index].push(a.source)}}return l[b]}var b,d,e=n.length,f=o.length,j=c[0],k=c[1],l,m;for(b=0;b<e;++b)(m=n[b]).index=b,m.weight=0;q=[],r=[];for(b=0;b<f;++b)m=o[b],typeof m.source==\"number\"&&(m.source=n[m.source]),typeof m.target==\"number\"&&(m.target=n[m.target]),q[b]=g.call(this,m,b),r[b]=h.call(this,m,b),++m.source.weight,++m.target.weight;for(b=0;b<e;++b)m=n[b],isNaN(m.x)&&(m.x=p(\"x\",j)),isNaN(m.y)&&(m.y=p(\"y\",k)),isNaN(m.px)&&(m.px=m.x),isNaN(m.py)&&(m.py=m.y);s=[];if(typeof i==\"function\")for(b=0;b<e;++b)s[b]=+i.call(this,n[b],b);else for(b=0;b<e;++b)s[b]=i;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){d||(d=d3.behavior.drag().origin(m).on(\"dragstart\",u).on(\"drag\",dO).on(\"dragend\",dN)),this.on(\"mouseover.force\",dL).on(\"mouseout.force\",dM).call(d)},d3.rebind(a,b,\"on\")};var dJ,dK;d3.layout.partition=function(){function c(a,b,d,e){var f=a.children;a.x=b,a.y=a.depth*e,a.dx=d,a.dy=e;if(f&&(h=f.length)){var g=-1,h,i,j;d=a.value?d/a.value:0;while(++g<h)c(i=f[g],b,j=i.value*d,e),b+=j}}function d(a){var b=a.children,c=0;if(b&&(f=b.length)){var e=-1,f;while(++e<f)c=Math.max(c,d(b[e]))}return 1+c}function e(e,f){var g=a.call(this,e,f);return c(g[0],0,b[0],b[1]/d(g[0])),g}var a=d3.layout.hierarchy(),b=[1,1];return e.size=function(a){return arguments.length?(b=a,e):b},ee(e,a)},d3.layout.pie=function(){function e(f,g){var h=f.map(function(b,c){return+a.call(e,b,c)}),i=+(typeof c==\"function\"?c.apply(this,arguments):c),j=((typeof d==\"function\"?d.apply(this,arguments):d)-c)/d3.sum(h),k=d3.range(f.length);b!=null&&k.sort(b===dS?function(a,b){return h[b]-h[a]}:function(a,c){return b(f[a],f[c])});var l=[];return k.forEach(function(a){var b;l[a]={data:f[a],value:b=h[a],startAngle:i,endAngle:i+=b*j}}),l}var a=Number,b=dS,c=0,d=2*Math.PI;return e.value=function(b){return arguments.length?(a=b,e):a},e.sort=function(a){return arguments.length?(b=a,e):b},e.startAngle=function(a){return arguments.length?(c=a,e):c},e.endAngle=function(a){return arguments.length?(d=a,e):d},e};var dS={};d3.layout.stack=function(){function g(h,i){var j=h.map(function(b,c){return a.call(g,b,c)}),k=j.map(function(a,b){return a.map(function(a,b){return[e.call(g,a,b),f.call(g,a,b)]})}),l=b.call(g,k,i);j=d3.permute(j,l),k=d3.permute(k,l);var m=c.call(g,k,i),n=j.length,o=j[0].length,p,q,r;for(q=0;q<o;++q){d.call(g,j[0][q],r=m[q],k[0][q][1]);for(p=1;p<n;++p)d.call(g,j[p][q],r+=k[p-1][q][1],k[p][q][1])}return h}var a=m,b=dY,c=dZ,d=dV,e=dT,f=dU;return g.values=function(b){return arguments.length?(a=b,g):a},g.order=function(a){return arguments.length?(b=typeof a==\"function\"?a:dW.get(a)||dY,g):b},g.offset=function(a){return arguments.length?(c=typeof a==\"function\"?a:dX.get(a)||dZ,g):c},g.x=function(a){return arguments.length?(e=a,g):e},g.y=function(a){return arguments.length?(f=a,g):f},g.out=function(a){return arguments.length?(d=a,g):d},g};var dW=d3.map({\"inside-out\":function(a){var b=a.length,c,d,e=a.map(d$),f=a.map(d_),g=d3.range(b).sort(function(a,b){return e[a]-e[b]}),h=0,i=0,j=[],k=[];for(c=0;c<b;++c)d=g[c],h<i?(h+=f[d],j.push(d)):(i+=f[d],k.push(d));return k.reverse().concat(j)},reverse:function(a){return d3.range(a.length).reverse()},\"default\":dY}),dX=d3.map({silhouette:function(a){var b=a.length,c=a[0].length,d=[],e=0,f,g,h,i=[];for(g=0;g<c;++g){for(f=0,h=0;f<b;f++)h+=a[f][g][1];h>e&&(e=h),d.push(h)}for(g=0;g<c;++g)i[g]=(e-d[g])/2;return i},wiggle:function(a){var b=a.length,c=a[0],d=c.length,e=0,f,g,h,i,j,k,l,m,n,o=[];o[0]=m=n=0;for(g=1;g<d;++g){for(f=0,i=0;f<b;++f)i+=a[f][g][1];for(f=0,j=0,l=c[g][0]-c[g-1][0];f<b;++f){for(h=0,k=(a[f][g][1]-a[f][g-1][1])/(2*l);h<f;++h)k+=(a[h][g][1]-a[h][g-1][1])/l;j+=k*a[f][g][1]}o[g]=m-=i?j/i*l:0,m<n&&(n=m)}for(g=0;g<d;++g)o[g]-=n;return o},expand:function(a){var b=a.length,c=a[0].length,d=1/b,e,f,g,h=[];for(f=0;f<c;++f){for(e=0,g=0;e<b;e++)g+=a[e][f][1];if(g)for(e=0;e<b;e++)a[e][f][1]/=g;else for(e=0;e<b;e++)a[e][f][1]=d}for(f=0;f<c;++f)h[f]=0;return h},zero:dZ});d3.layout.histogram=function(){function e(e,f){var g=[],h=e.map(b,this),i=c.call(this,h,f),j=d.call(this,i,h,f),k,f=-1,l=h.length,m=j.length-1,n=a?1:1/l,o;while(++f<m)k=g[f]=[],k.dx=j[f+1]-(k.x=j[f]),k.y=0;if(m>0){f=-1;while(++f<l)o=h[f],o>=i[0]&&o<=i[1]&&(k=g[d3.bisect(j,o,1,m)-1],k.y+=n,k.push(e[f]))}return g}var a=!0,b=Number,c=ed,d=eb;return e.value=function(a){return arguments.length?(b=a,e):b},e.range=function(a){return arguments.length?(c=p(a),e):c},e.bins=function(a){return arguments.length?(d=typeof a==\"number\"?function(b){return ec(b,a)}:p(a),e):d},e.frequency=function(b){return arguments.length?(a=!!b,e):a},e},d3.layout.hierarchy=function(){function d(e,g,h){var i=b.call(f,e,g),j=ej?e:{data:e};j.depth=g,h.push(j);if(i&&(l=i.length)){var k=-1,l,m=j.children=[],n=0,o=g+1,p;while(++k<l)p=d(i[k],o,h),p.parent=j,m.push(p),n+=p.value;a&&m.sort(a),c&&(j.value=n)}else c&&(j.value=+c.call(f,e,g)||0);return j}function e(a,b){var d=a.children,g=0;if(d&&(i=d.length)){var h=-1,i,j=b+1;while(++h<i)g+=e(d[h],j)}else c&&(g=+c.call(f,ej?a:a.data,b)||0);return c&&(a.value=g),g}function f(a){var b=[];return d(a,0,b),b}var a=eh,b=ef,c=eg;return f.sort=function(b){return arguments.length?(a=b,f):a},f.children=function(a){return arguments.length?(b=a,f):b},f.value=function(a){return arguments.length?(c=a,f):c},f.revalue=function(a){return e(a,0),a},f};var ej=!1;d3.layout.pack=function(){function c(c,d){var e=a.call(this,c,d),f=e[0];f.x=0,f.y=0,er(f);var g=b[0],h=b[1],i=1/Math.max(2*f.r/g,2*f.r/h);return es(f,g/2,h/2,i),e}var a=d3.layout.hierarchy().sort(ek),b=[1,1];return c.size=function(a){return arguments.length?(b=a,c):b},ee(c,a)},d3.layout.cluster=function(){function d(d,e){var f=a.call(this,d,e),g=f[0],h,i=0,j,k;eF(g,function(a){var c=a.children;c&&c.length?(a.x=ev(c),a.y=eu(c)):(a.x=h?i+=b(a,h):0,a.y=0,h=a)});var l=ew(g),m=ex(g),n=l.x-b(l,m)/2,o=m.x+b(m,l)/2;return eF(g,function(a){a.x=(a.x-n)/(o-n)*c[0],a.y=(1-(g.y?a.y/g.y:1))*c[1]}),f}var a=d3.layout.hierarchy().sort(null).value(null),b=ey,c=[1,1];return d.separation=function(a){return arguments.length?(b=a,d):b},d.size=function(a){return arguments.length?(c=a,d):c},ee(d,a)},d3.layout.tree=function(){function d(d,e){function h(a,c){var d=a.children,e=a._tree;if(d&&(f=d.length)){var f,g=d[0],i,k=g,l,m=-1;while(++m<f)l=d[m],h(l,i),k=j(l,i,k),i=l;eG(a);var n=.5*(g._tree.prelim+l._tree.prelim);c?(e.prelim=c._tree.prelim+b(a,c),e.mod=e.prelim-n):e.prelim=n}else c&&(e.prelim=c._tree.prelim+b(a,c))}function i(a,b){a.x=a._tree.prelim+b;var c=a.children;if(c&&(e=c.length)){var d=-1,e;b+=a._tree.mod;while(++d<e)i(c[d],b)}}function j(a,c,d){if(c){var e=a,f=a,g=c,h=a.parent.children[0],i=e._tree.mod,j=f._tree.mod,k=g._tree.mod,l=h._tree.mod,m;while(g=eA(g),e=ez(e),g&&e)h=ez(h),f=eA(f),f._tree.ancestor=a,m=g._tree.prelim+k-e._tree.prelim-i+b(g,e),m>0&&(eH(eI(g,a,d),a,m),i+=m,j+=m),k+=g._tree.mod,i+=e._tree.mod,l+=h._tree.mod,j+=f._tree.mod;g&&!eA(f)&&(f._tree.thread=g,f._tree.mod+=k-j),e&&!ez(h)&&(h._tree.thread=e,h._tree.mod+=i-l,d=a)}return d}var f=a.call(this,d,e),g=f[0];eF(g,function(a,b){a._tree={ancestor:a,prelim:0,mod:0,change:0,shift:0,number:b?b._tree.number+1:0}}),h(g),i(g,-g._tree.prelim);var k=eB(g,eD),l=eB(g,eC),m=eB(g,eE),n=k.x-b(k,l)/2,o=l.x+b(l,k)/2,p=m.depth||1;return eF(g,function(a){a.x=(a.x-n)/(o-n)*c[0],a.y=a.depth/p*c[1],delete a._tree}),f}var a=d3.layout.hierarchy().sort(null).value(null),b=ey,c=[1,1];return d.separation=function(a){return arguments.length?(b=a,d):b},d.size=function(a){return arguments.length?(c=a,d):c},ee(d,a)},d3.layout.treemap=function(){function i(a,b){var c=-1,d=a.length,e,f;while(++c<d)f=(e=a[c]).value*(b<0?0:b),e.area=isNaN(f)||f<=0?0:f}function j(a){var b=a.children;if(b&&b.length){var c=e(a),d=[],f=b.slice(),g,h=Infinity,k,n=Math.min(c.dx,c.dy),o;i(f,c.dx*c.dy/a.value),d.area=0;while((o=f.length)>0)d.push(g=f[o-1]),d.area+=g.area,(k=l(d,n))<=h?(f.pop(),h=k):(d.area-=d.pop().area,m(d,n,c,!1),n=Math.min(c.dx,c.dy),d.length=d.area=0,h=Infinity);d.length&&(m(d,n,c,!0),d.length=d.area=0),b.forEach(j)}}function k(a){var b=a.children;if(b&&b.length){var c=e(a),d=b.slice(),f,g=[];i(d,c.dx*c.dy/a.value),g.area=0;while(f=d.pop())g.push(f),g.area+=f.area,f.z!=null&&(m(g,f.z?c.dx:c.dy,c,!d.length),g.length=g.area=0);b.forEach(k)}}function l(a,b){var c=a.area,d,e=0,f=Infinity,g=-1,i=a.length;while(++g<i){if(!(d=a[g].area))continue;d<f&&(f=d),d>e&&(e=d)}return c*=c,b*=b,c?Math.max(b*e*h/c,c/(b*f*h)):Infinity}function m(a,c,d,e){var f=-1,g=a.length,h=d.x,i=d.y,j=c?b(a.area/c):0,k;if(c==d.dx){if(e||j>d.dy)j=d.dy;while(++f<g)k=a[f],k.x=h,k.y=i,k.dy=j,h+=k.dx=Math.min(d.x+d.dx-h,j?b(k.area/j):0);k.z=!0,k.dx+=d.x+d.dx-h,d.y+=j,d.dy-=j}else{if(e||j>d.dx)j=d.dx;while(++f<g)k=a[f],k.x=h,k.y=i,k.dx=j,i+=k.dy=Math.min(d.y+d.dy-i,j?b(k.area/j):0);k.z=!1,k.dy+=d.y+d.dy-i,d.x+=j,d.dx-=j}}function n(b){var d=g||a(b),e=d[0];return e.x=0,e.y=0,e.dx=c[0],e.dy=c[1],g&&a.revalue(e),i([e],e.dx*e.dy/e.value),(g?k:j)(e),f&&(g=d),d}var a=d3.layout.hierarchy(),b=Math.round,c=[1,1],d=null,e=eJ,f=!1,g,h=.5*(1+Math.sqrt(5));return n.size=function(a){return arguments.length?(c=a,n):c},n.padding=function(a){function b(b){var c=a.call(n,b,b.depth);return c==null?eJ(b):eK(b,typeof c==\"number\"?[c,c,c,c]:c)}function c(b){return eK(b,a)}if(!arguments.length)return d;var f;return e=(d=a)==null?eJ:(f=typeof a)===\"function\"?b:f===\"number\"?(a=[a,a,a,a],c):c,n},n.round=function(a){return arguments.length?(b=a?Math.round:Number,n):b!=Number},n.sticky=function(a){return arguments.length?(f=a,g=null,n):f},n.ratio=function(a){return arguments.length?(h=a,n):h},ee(n,a)},d3.csv=function(a,b){d3.text(a,\"text/csv\",function(a){b(a&&d3.csv.parse(a))})},d3.csv.parse=function(a){var b;return d3.csv.parseRows(a,function(a,c){if(c){var d={},e=-1,f=b.length;while(++e<f)d[b[e]]=a[e];return d}return b=a,null})},d3.csv.parseRows=function(a,b){function j(){if(f.lastIndex>=a.length)return d;if(i)return i=!1,c;var b=f.lastIndex;if(a.charCodeAt(b)===34){var e=b;while(e++<a.length)if(a.charCodeAt(e)===34){if(a.charCodeAt(e+1)!==34)break;e++}f.lastIndex=e+2;var g=a.charCodeAt(e+1);return g===13?(i=!0,a.charCodeAt(e+2)===10&&f.lastIndex++):g===10&&(i=!0),a.substring(b+1,e).replace(/\"\"/g,'\"')}var h=f.exec(a);return h?(i=h[0].charCodeAt(0)!==44,a.substring(b,h.index)):(f.lastIndex=a.length,a.substring(b))}var c={},d={},e=[],f=/\\r\\n|[,\\r\\n]/g,g=0,h,i;f.lastIndex=0;while((h=j())!==d){var k=[];while(h!==c&&h!==d)k.push(h),h=j();if(b&&!(k=b(k,g++)))continue;e.push(k)}return e},d3.csv.format=function(a){return a.map(eL).join(\"\\n\")},d3.geo={};var eN=Math.PI/180;d3.geo.azimuthal=function(){function i(b){var f=b[0]*eN-e,i=b[1]*eN,j=Math.cos(f),k=Math.sin(f),l=Math.cos(i),m=Math.sin(i),n=a!==\"orthographic\"?h*m+g*l*j:null,o,p=a===\"stereographic\"?1/(1+n):a===\"gnomonic\"?1/n:a===\"equidistant\"?(o=Math.acos(n),o?o/Math.sin(o):0):a===\"equalarea\"?Math.sqrt(2/(1+n)):1,q=p*l*k,r=p*(h*l*j-g*m);return[c*q+d[0],c*r+d[1]]}var a=\"orthographic\",b,c=200,d=[480,250],e,f,g,h;return i.invert=function(b){var f=(b[0]-d[0])/c,i=(b[1]-d[1])/c,j=Math.sqrt(f*f+i*i),k=a===\"stereographic\"?2*Math.atan(j):a===\"gnomonic\"?Math.atan(j):a===\"equidistant\"?j:a===\"equalarea\"?2*Math.asin(.5*j):Math.asin(j),l=Math.sin(k),m=Math.cos(k);return[(e+Math.atan2(f*l,j*g*m+i*h*l))/eN,Math.asin(m*h-(j?i*l*g/j:0))/eN]},i.mode=function(b){return arguments.length?(a=b+\"\",i):a},i.origin=function(a){return arguments.length?(b=a,e=b[0]*eN,f=b[1]*eN,g=Math.cos(f),h=Math.sin(f),i):b},i.scale=function(a){return arguments.length?(c=+a,i):c},i.translate=function(a){return arguments.length?(d=[+a[0],+a[1]],i):d},i.origin([0,0])},d3.geo.albers=function(){function i(a){var b=f*(eN*a[0]-e),i=Math.sqrt(g-2*f*Math.sin(eN*a[1]))/f;return[c*i*Math.sin(b)+d[0],c*(i*Math.cos(b)-h)+d[1]]}function j(){var c=eN*b[0],d=eN*b[1],j=eN*a[1],k=Math.sin(c),l=Math.cos(c);return e=eN*a[0],f=.5*(k+Math.sin(d)),g=l*l+2*f*k,h=Math.sqrt(g-2*f*Math.sin(j))/f,i}var a=[-98,38],b=[29.5,45.5],c=1e3,d=[480,250],e,f,g,h;return i.invert=function(a){var b=(a[0]-d[0])/c,i=(a[1]-d[1])/c,j=h+i,k=Math.atan2(b,j),l=Math.sqrt(b*b+j*j);return[(e+k/f)/eN,Math.asin((g-l*l*f*f)/(2*f))/eN]},i.origin=function(b){return arguments.length?(a=[+b[0],+b[1]],j()):a},i.parallels=function(a){return arguments.length?(b=[+a[0],+a[1]],j()):b},i.scale=function(a){return arguments.length?(c=+a,i):c},i.translate=function(a){return arguments.length?(d=[+a[0],+a[1]],i):d},j()},d3.geo.albersUsa=function(){function e(e){var f=e[0],g=e[1];return(g>50?b:f<-140?c:g<21?d:a)(e)}var a=d3.geo.albers(),b=d3.geo.albers().origin([-160,60]).parallels([55,65]),c=d3.geo.albers().origin([-160,20]).parallels([8,18]),d=d3.geo.albers().origin([-60,10]).parallels([8,18]);return e.scale=function(f){return arguments.length?(a.scale(f),b.scale(f*.6),c.scale(f),d.scale(f*1.5),e.translate(a.translate())):a.scale()},e.translate=function(f){if(!arguments.length)return a.translate();var g=a.scale()/1e3,h=f[0],i=f[1];return a.translate(f),b.translate([h-400*g,i+170*g]),c.translate([h-190*g,i+200*g]),d.translate([h+580*g,i+430*g]),e},e.scale(a.scale())},d3.geo.bonne=function(){function g(g){var h=g[0]*eN-c,i=g[1]*eN-d;if(e){var j=f+e-i,k=h*Math.cos(i)/j;h=j*Math.sin(k),i=j*Math.cos(k)-f}else h*=Math.cos(i),i*=-1;return[a*h+b[0],a*i+b[1]]}var a=200,b=[480,250],c,d,e,f;return g.invert=function(d){var g=(d[0]-b[0])/a,h=(d[1]-b[1])/a;if(e){var i=f+h,j=Math.sqrt(g*g+i*i);h=f+e-j,g=c+j*Math.atan2(g,i)/Math.cos(h)}else h*=-1,g/=Math.cos(h);return[g/eN,h/eN]},g.parallel=function(a){return arguments.length?(f=1/Math.tan(e=a*eN),g):e/eN},g.origin=function(a){return arguments.length?(c=a[0]*eN,d=a[1]*eN,g):[c/eN,d/eN]},g.scale=function(b){return arguments.length?(a=+b,g):a},g.translate=function(a){return arguments.length?(b=[+a[0],+a[1]],g):b},g.origin([0,0]).parallel(45)},d3.geo.equirectangular=function(){function c(c){var d=c[0]/360,e=-c[1]/360;return[a*d+b[0],a*e+b[1]]}var a=500,b=[480,250];return c.invert=function(c){var d=(c[0]-b[0])/a,e=(c[1]-b[1])/a;return[360*d,-360*e]},c.scale=function(b){return arguments.length?(a=+b,c):a},c.translate=function(a){return arguments.length?(b=[+a[0],+a[1]],c):b},c},d3.geo.mercator=function(){function c(c){var d=c[0]/360,e=-(Math.log(Math.tan(Math.PI/4+c[1]*eN/2))/eN)/360;return[a*d+b[0],a*Math.max(-0.5,Math.min(.5,e))+b[1]]}var a=500,b=[480,250];return c.invert=function(c){var d=(c[0]-b[0])/a,e=(c[1]-b[1])/a;return[360*d,2*Math.atan(Math.exp(-360*e*eN))/eN-90]},c.scale=function(b){return arguments.length?(a=+b,c):a},c.translate=function(a){return arguments.length?(b=[+a[0],+a[1]],c):b},c},d3.geo.path=function(){function e(c,e){typeof a==\"function\"&&(b=eP(a.apply(this,arguments))),g(c);var f=d.length?d.join(\"\"):null;return d=[],f}function f(a){return c(a).join(\",\")}function i(a){var b=l(a[0]),c=0,d=a.length;while(++c<d)b-=l(a[c]);return b}function j(a){var b=d3.geom.polygon(a[0].map(c)),d=b.area(),e=b.centroid(d<0?(d*=-1,1):-1),f=e[0],g=e[1],h=d,i=0,j=a.length;while(++i<j)b=d3.geom.polygon(a[i].map(c)),d=b.area(),e=b.centroid(d<0?(d*=-1,1):-1),f-=e[0],g-=e[1],h-=d;return[f,g,6*h]}function l(a){return Math.abs(d3.geom.polygon(a.map(c)).area())}var a=4.5,b=eP(a),c=d3.geo.albersUsa(),d=[],g=eO({FeatureCollection:function(a){var b=a.features,c=-1,e=b.length;while(++c<e)d.push(g(b[c].geometry))},Feature:function(a){g(a.geometry)},Point:function(a){d.push(\"M\",f(a.coordinates),b)},MultiPoint:function(a){var c=a.coordinates,e=-1,g=c.length;while(++e<g)d.push(\"M\",f(c[e]),b)},LineString:function(a){var b=a.coordinates,c=-1,e=b.length;d.push(\"M\");while(++c<e)d.push(f(b[c]),\"L\");d.pop()},MultiLineString:function(a){var b=a.coordinates,c=-1,e=b.length,g,h,i;while(++c<e){g=b[c],h=-1,i=g.length,d.push(\"M\");while(++h<i)d.push(f(g[h]),\"L\");d.pop()}},Polygon:function(a){var b=a.coordinates,c=-1,e=b.length,g,h,i;while(++c<e){g=b[c],h=-1;if((i=g.length-1)>0){d.push(\"M\");while(++h<i)d.push(f(g[h]),\"L\");d[d.length-1]=\"Z\"}}},MultiPolygon:function(a){var b=a.coordinates,c=-1,e=b.length,g,h,i,j,k,l;while(++c<e){g=b[c],h=-1,i=g.length;while(++h<i){j=g[h],k=-1;if((l=j.length-1)>0){d.push(\"M\");while(++k<l)d.push(f(j[k]),\"L\");d[d.length-1]=\"Z\"}}}},GeometryCollection:function(a){var b=a.geometries,c=-1,e=b.length;while(++c<e)d.push(g(b[c]))}}),h=e.area=eO({FeatureCollection:function(a){var b=0,c=a.features,d=-1,e=c.length;while(++d<e)b+=h(c[d]);return b},Feature:function(a){return h(a.geometry)},Polygon:function(a){return i(a.coordinates)},MultiPolygon:function(a){var b=0,c=a.coordinates,d=-1,e=c.length;while(++d<e)b+=i(c[d]);return b},GeometryCollection:function(a){var b=0,c=a.geometries,d=-1,e=c.length;while(++d<e)b+=h(c[d]);return b}},0),k=e.centroid=eO({Feature:function(a){return k(a.geometry)},Polygon:function(a){var b=j(a.coordinates);return[b[0]/b[2],b[1]/b[2]]},MultiPolygon:function(a){var b=0,c=a.coordinates,d,e=0,f=0,g=0,h=-1,i=c.length;while(++h<i)d=j(c[h]),e+=d[0],f+=d[1],g+=d[2];return[e/g,f/g]}});return e.projection=function(a){return c=a,e},e.pointRadius=function(c){return typeof c==\"function\"?a=c:(a=+c,b=eP(a)),e},e},d3.geo.bounds=function(a){var b=Infinity,c=Infinity,d=-Infinity,e=-Infinity;return eQ(a,function(a,f){a<b&&(b=a),a>d&&(d=a),f<c&&(c=f),f>e&&(e=f)}),[[b,c],[d,e]]};var eR={Feature:eS,FeatureCollection:eT,GeometryCollection:eU,LineString:eV,MultiLineString:eW,MultiPoint:eV,MultiPolygon:eX,Point:eY,Polygon:eZ};d3.geo.circle=function(){function e(){}function f(a){return d.distance(a)<c}function h(a){var b=-1,e=a.length,f=[],g,h,j,k,l;while(++b<e)l=d.distance(j=a[b]),l<c?(h&&f.push(fb(h,j)((k-c)/(k-l))),f.push(j),g=h=null):(h=j,!g&&f.length&&(f.push(fb(f[f.length-1],h)((c-k)/(l-k))),g=h)),k=l;return g=a[0],h=f[0],h&&j[0]===g[0]&&j[1]===g[1]&&(j[0]!==h[0]||j[1]!==h[1])&&f.push(h),i(f)}function i(a){var b=0,c=a.length,e,f,g=c?[a[0]]:a,h,i=d.source();while(++b<c){h=d.source(a[b-1])(a[b]).coordinates;for(e=0,f=h.length;++e<f;)g.push(h[e])}return d.source(i),g}var a=[0,0],b=89.99,c=b*eN,d=d3.geo.greatArc().source(a).target(m);e.clip=function(b){return typeof a==\"function\"&&d.source(a.apply(this,arguments)),g(b)||null};var g=eO({FeatureCollection:function(a){var b=a.features.map(g)\n.filter(m);return b&&(a=Object.create(a),a.features=b,a)},Feature:function(a){var b=g(a.geometry);return b&&(a=Object.create(a),a.geometry=b,a)},Point:function(a){return f(a.coordinates)&&a},MultiPoint:function(a){var b=a.coordinates.filter(f);return b.length&&{type:a.type,coordinates:b}},LineString:function(a){var b=h(a.coordinates);return b.length&&(a=Object.create(a),a.coordinates=b,a)},MultiLineString:function(a){var b=a.coordinates.map(h).filter(function(a){return a.length});return b.length&&(a=Object.create(a),a.coordinates=b,a)},Polygon:function(a){var b=a.coordinates.map(h);return b[0].length&&(a=Object.create(a),a.coordinates=b,a)},MultiPolygon:function(a){var b=a.coordinates.map(function(a){return a.map(h)}).filter(function(a){return a[0].length});return b.length&&(a=Object.create(a),a.coordinates=b,a)},GeometryCollection:function(a){var b=a.geometries.map(g).filter(m);return b.length&&(a=Object.create(a),a.geometries=b,a)}});return e.origin=function(b){return arguments.length?(a=b,typeof a!=\"function\"&&d.source(a),e):a},e.angle=function(a){return arguments.length?(c=(b=+a)*eN,e):b},d3.rebind(e,d,\"precision\")},d3.geo.greatArc=function(){function g(){var a=g.distance.apply(this,arguments),c=0,h=e/a,i=[b];while((c+=h)<1)i.push(f(c));return i.push(d),{type:\"LineString\",coordinates:i}}var a=e$,b,c=e_,d,e=6*eN,f=fa();return g.distance=function(){return typeof a==\"function\"&&f.source(b=a.apply(this,arguments)),typeof c==\"function\"&&f.target(d=c.apply(this,arguments)),f.distance()},g.source=function(c){return arguments.length?(a=c,typeof a!=\"function\"&&f.source(b=a),g):a},g.target=function(a){return arguments.length?(c=a,typeof c!=\"function\"&&f.target(d=c),g):c},g.precision=function(a){return arguments.length?(e=a*eN,g):e/eN},g},d3.geo.greatCircle=d3.geo.circle,d3.geom={},d3.geom.contour=function(a,b){var c=b||fe(a),d=[],e=c[0],f=c[1],g=0,h=0,i=NaN,j=NaN,k=0;do k=0,a(e-1,f-1)&&(k+=1),a(e,f-1)&&(k+=2),a(e-1,f)&&(k+=4),a(e,f)&&(k+=8),k===6?(g=j===-1?-1:1,h=0):k===9?(g=0,h=i===1?-1:1):(g=fc[k],h=fd[k]),g!=i&&h!=j&&(d.push([e,f]),i=g,j=h),e+=g,f+=h;while(c[0]!=e||c[1]!=f);return d};var fc=[1,0,1,1,-1,0,-1,1,0,0,0,0,-1,0,-1,NaN],fd=[0,-1,0,0,0,-1,0,0,1,-1,1,1,0,-1,0,NaN];d3.geom.hull=function(a){if(a.length<3)return[];var b=a.length,c=b-1,d=[],e=[],f,g,h=0,i,j,k,l,m,n,o,p;for(f=1;f<b;++f)a[f][1]<a[h][1]?h=f:a[f][1]==a[h][1]&&(h=a[f][0]<a[h][0]?f:h);for(f=0;f<b;++f){if(f===h)continue;j=a[f][1]-a[h][1],i=a[f][0]-a[h][0],d.push({angle:Math.atan2(j,i),index:f})}d.sort(function(a,b){return a.angle-b.angle}),o=d[0].angle,n=d[0].index,m=0;for(f=1;f<c;++f)g=d[f].index,o==d[f].angle?(i=a[n][0]-a[h][0],j=a[n][1]-a[h][1],k=a[g][0]-a[h][0],l=a[g][1]-a[h][1],i*i+j*j>=k*k+l*l?d[f].index=-1:(d[m].index=-1,o=d[f].angle,m=f,n=g)):(o=d[f].angle,m=f,n=g);e.push(h);for(f=0,g=0;f<2;++g)d[g].index!==-1&&(e.push(d[g].index),f++);p=e.length;for(;g<c;++g){if(d[g].index===-1)continue;while(!ff(e[p-2],e[p-1],d[g].index,a))--p;e[p++]=d[g].index}var q=[];for(f=0;f<p;++f)q.push(a[e[f]]);return q},d3.geom.polygon=function(a){return a.area=function(){var b=0,c=a.length,d=a[c-1][0]*a[0][1],e=a[c-1][1]*a[0][0];while(++b<c)d+=a[b-1][0]*a[b][1],e+=a[b-1][1]*a[b][0];return(e-d)*.5},a.centroid=function(b){var c=-1,d=a.length,e=0,f=0,g,h=a[d-1],i;arguments.length||(b=-1/(6*a.area()));while(++c<d)g=h,h=a[c],i=g[0]*h[1]-h[0]*g[1],e+=(g[0]+h[0])*i,f+=(g[1]+h[1])*i;return[e*b,f*b]},a.clip=function(b){var c,d=-1,e=a.length,f,g,h=a[e-1],i,j,k;while(++d<e){c=b.slice(),b.length=0,i=a[d],j=c[(g=c.length)-1],f=-1;while(++f<g)k=c[f],fg(k,h,i)?(fg(j,h,i)||b.push(fh(j,k,h,i)),b.push(k)):fg(j,h,i)&&b.push(fh(j,k,h,i)),j=k;h=i}return b},a},d3.geom.voronoi=function(a){var b=a.map(function(){return[]});return fj(a,function(a){var c,d,e,f,g,h;a.a===1&&a.b>=0?(c=a.ep.r,d=a.ep.l):(c=a.ep.l,d=a.ep.r),a.a===1?(g=c?c.y:-1e6,e=a.c-a.b*g,h=d?d.y:1e6,f=a.c-a.b*h):(e=c?c.x:-1e6,g=a.c-a.a*e,f=d?d.x:1e6,h=a.c-a.a*f);var i=[e,g],j=[f,h];b[a.region.l.index].push(i,j),b[a.region.r.index].push(i,j)}),b.map(function(b,c){var d=a[c][0],e=a[c][1];return b.forEach(function(a){a.angle=Math.atan2(a[0]-d,a[1]-e)}),b.sort(function(a,b){return a.angle-b.angle}).filter(function(a,c){return!c||a.angle-b[c-1].angle>1e-10})})};var fi={l:\"r\",r:\"l\"};d3.geom.delaunay=function(a){var b=a.map(function(){return[]}),c=[];return fj(a,function(c){b[c.region.l.index].push(a[c.region.r.index])}),b.forEach(function(b,d){var e=a[d],f=e[0],g=e[1];b.forEach(function(a){a.angle=Math.atan2(a[0]-f,a[1]-g)}),b.sort(function(a,b){return a.angle-b.angle});for(var h=0,i=b.length-1;h<i;h++)c.push([e,b[h],b[h+1]])}),c},d3.geom.quadtree=function(a,b,c,d,e){function k(a,b,c,d,e,f){if(isNaN(b.x)||isNaN(b.y))return;if(a.leaf){var g=a.point;g?Math.abs(g.x-b.x)+Math.abs(g.y-b.y)<.01?l(a,b,c,d,e,f):(a.point=null,l(a,g,c,d,e,f),l(a,b,c,d,e,f)):a.point=b}else l(a,b,c,d,e,f)}function l(a,b,c,d,e,f){var g=(c+e)*.5,h=(d+f)*.5,i=b.x>=g,j=b.y>=h,l=(j<<1)+i;a.leaf=!1,a=a.nodes[l]||(a.nodes[l]=fk()),i?c=g:e=g,j?d=h:f=h,k(a,b,c,d,e,f)}var f,g=-1,h=a.length;h&&isNaN(a[0].x)&&(a=a.map(fm));if(arguments.length<5)if(arguments.length===3)e=d=c,c=b;else{b=c=Infinity,d=e=-Infinity;while(++g<h)f=a[g],f.x<b&&(b=f.x),f.y<c&&(c=f.y),f.x>d&&(d=f.x),f.y>e&&(e=f.y);var i=d-b,j=e-c;i>j?e=c+i:d=b+j}var m=fk();return m.add=function(a){k(m,a,b,c,d,e)},m.visit=function(a){fl(a,m,b,c,d,e)},a.forEach(m.add),m},d3.time={};var fn=Date;fo.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){fp.setUTCDate.apply(this._,arguments)},setDay:function(){fp.setUTCDay.apply(this._,arguments)},setFullYear:function(){fp.setUTCFullYear.apply(this._,arguments)},setHours:function(){fp.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){fp.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){fp.setUTCMinutes.apply(this._,arguments)},setMonth:function(){fp.setUTCMonth.apply(this._,arguments)},setSeconds:function(){fp.setUTCSeconds.apply(this._,arguments)},setTime:function(){fp.setTime.apply(this._,arguments)}};var fp=Date.prototype;d3.time.format=function(a){function c(c){var d=[],e=-1,f=0,g,h;while(++e<b)a.charCodeAt(e)==37&&(d.push(a.substring(f,e),(h=fv[g=a.charAt(++e)])?h(c):g),f=e+1);return d.push(a.substring(f,e)),d.join(\"\")}var b=a.length;return c.parse=function(b){var c={y:1900,m:0,d:1,H:0,M:0,S:0,L:0},d=fq(c,a,b,0);if(d!=b.length)return null;\"p\"in c&&(c.H=c.H%12+c.p*12);var e=new fn;return e.setFullYear(c.y,c.m,c.d),e.setHours(c.H,c.M,c.S,c.L),e},c.toString=function(){return a},c};var fr=d3.format(\"02d\"),fs=d3.format(\"03d\"),ft=d3.format(\"04d\"),fu=d3.format(\"2d\"),fv={a:function(a){return fB[a.getDay()].substring(0,3)},A:function(a){return fB[a.getDay()]},b:function(a){return fH[a.getMonth()].substring(0,3)},B:function(a){return fH[a.getMonth()]},c:d3.time.format(\"%a %b %e %H:%M:%S %Y\"),d:function(a){return fr(a.getDate())},e:function(a){return fu(a.getDate())},H:function(a){return fr(a.getHours())},I:function(a){return fr(a.getHours()%12||12)},j:function(a){return fs(1+d3.time.dayOfYear(a))},L:function(a){return fs(a.getMilliseconds())},m:function(a){return fr(a.getMonth()+1)},M:function(a){return fr(a.getMinutes())},p:function(a){return a.getHours()>=12?\"PM\":\"AM\"},S:function(a){return fr(a.getSeconds())},U:function(a){return fr(d3.time.sundayOfYear(a))},w:function(a){return a.getDay()},W:function(a){return fr(d3.time.mondayOfYear(a))},x:d3.time.format(\"%m/%d/%y\"),X:d3.time.format(\"%H:%M:%S\"),y:function(a){return fr(a.getFullYear()%100)},Y:function(a){return ft(a.getFullYear()%1e4)},Z:fX,\"%\":function(a){return\"%\"}},fw={a:fx,A:fy,b:fC,B:fE,c:fI,d:fP,e:fP,H:fQ,I:fQ,L:fT,m:fO,M:fR,p:fV,S:fS,x:fJ,X:fK,y:fM,Y:fL},fz=/^(?:sun|mon|tue|wed|thu|fri|sat)/i,fA=/^(?:Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)/i,fB=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],fD=d3.map({jan:0,feb:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,oct:9,nov:10,dec:11}),fF=/^(?:January|February|March|April|May|June|July|August|September|October|November|December)/ig,fG=d3.map({january:0,february:1,march:2,april:3,may:4,june:5,july:6,august:7,september:8,october:9,november:10,december:11}),fH=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],fU=/\\s*\\d+/,fW=d3.map({am:0,pm:1});d3.time.format.utc=function(a){function c(a){try{fn=fo;var c=new fn;return c._=a,b(c)}finally{fn=Date}}var b=d3.time.format(a);return c.parse=function(a){try{fn=fo;var c=b.parse(a);return c&&c._}finally{fn=Date}},c.toString=b.toString,c};var fY=d3.time.format.utc(\"%Y-%m-%dT%H:%M:%S.%LZ\");d3.time.format.iso=Date.prototype.toISOString?fZ:fY,fZ.parse=function(a){var b=new Date(a);return isNaN(b)?null:b},fZ.toString=fY.toString,d3.time.second=f$(function(a){return new fn(Math.floor(a/1e3)*1e3)},function(a,b){a.setTime(a.getTime()+Math.floor(b)*1e3)},function(a){return a.getSeconds()}),d3.time.seconds=d3.time.second.range,d3.time.seconds.utc=d3.time.second.utc.range,d3.time.minute=f$(function(a){return new fn(Math.floor(a/6e4)*6e4)},function(a,b){a.setTime(a.getTime()+Math.floor(b)*6e4)},function(a){return a.getMinutes()}),d3.time.minutes=d3.time.minute.range,d3.time.minutes.utc=d3.time.minute.utc.range,d3.time.hour=f$(function(a){var b=a.getTimezoneOffset()/60;return new fn((Math.floor(a/36e5-b)+b)*36e5)},function(a,b){a.setTime(a.getTime()+Math.floor(b)*36e5)},function(a){return a.getHours()}),d3.time.hours=d3.time.hour.range,d3.time.hours.utc=d3.time.hour.utc.range,d3.time.day=f$(function(a){return new fn(a.getFullYear(),a.getMonth(),a.getDate())},function(a,b){a.setDate(a.getDate()+b)},function(a){return a.getDate()-1}),d3.time.days=d3.time.day.range,d3.time.days.utc=d3.time.day.utc.range,d3.time.dayOfYear=function(a){var b=d3.time.year(a);return Math.floor((a-b)/864e5-(a.getTimezoneOffset()-b.getTimezoneOffset())/1440)},fB.forEach(function(a,b){a=a.toLowerCase(),b=7-b;var c=d3.time[a]=f$(function(a){return(a=d3.time.day(a)).setDate(a.getDate()-(a.getDay()+b)%7),a},function(a,b){a.setDate(a.getDate()+Math.floor(b)*7)},function(a){var c=d3.time.year(a).getDay();return Math.floor((d3.time.dayOfYear(a)+(c+b)%7)/7)-(c!==b)});d3.time[a+\"s\"]=c.range,d3.time[a+\"s\"].utc=c.utc.range,d3.time[a+\"OfYear\"]=function(a){var c=d3.time.year(a).getDay();return Math.floor((d3.time.dayOfYear(a)+(c+b)%7)/7)}}),d3.time.week=d3.time.sunday,d3.time.weeks=d3.time.sunday.range,d3.time.weeks.utc=d3.time.sunday.utc.range,d3.time.weekOfYear=d3.time.sundayOfYear,d3.time.month=f$(function(a){return new fn(a.getFullYear(),a.getMonth(),1)},function(a,b){a.setMonth(a.getMonth()+b)},function(a){return a.getMonth()}),d3.time.months=d3.time.month.range,d3.time.months.utc=d3.time.month.utc.range,d3.time.year=f$(function(a){return new fn(a.getFullYear(),0,1)},function(a,b){a.setFullYear(a.getFullYear()+b)},function(a){return a.getFullYear()}),d3.time.years=d3.time.year.range,d3.time.years.utc=d3.time.year.utc.range;var gg=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],gh=[[d3.time.second,1],[d3.time.second,5],[d3.time.second,15],[d3.time.second,30],[d3.time.minute,1],[d3.time.minute,5],[d3.time.minute,15],[d3.time.minute,30],[d3.time.hour,1],[d3.time.hour,3],[d3.time.hour,6],[d3.time.hour,12],[d3.time.day,1],[d3.time.day,2],[d3.time.week,1],[d3.time.month,1],[d3.time.month,3],[d3.time.year,1]],gi=[[d3.time.format(\"%Y\"),function(a){return!0}],[d3.time.format(\"%B\"),function(a){return a.getMonth()}],[d3.time.format(\"%b %d\"),function(a){return a.getDate()!=1}],[d3.time.format(\"%a %d\"),function(a){return a.getDay()&&a.getDate()!=1}],[d3.time.format(\"%I %p\"),function(a){return a.getHours()}],[d3.time.format(\"%I:%M\"),function(a){return a.getMinutes()}],[d3.time.format(\":%S\"),function(a){return a.getSeconds()}],[d3.time.format(\".%L\"),function(a){return a.getMilliseconds()}]],gj=d3.scale.linear(),gk=gd(gi);gh.year=function(a,b){return gj.domain(a.map(gf)).ticks(b).map(ge)},d3.time.scale=function(){return ga(d3.scale.linear(),gh,gk)};var gl=gh.map(function(a){return[a[0].utc,a[1]]}),gm=[[d3.time.format.utc(\"%Y\"),function(a){return!0}],[d3.time.format.utc(\"%B\"),function(a){return a.getUTCMonth()}],[d3.time.format.utc(\"%b %d\"),function(a){return a.getUTCDate()!=1}],[d3.time.format.utc(\"%a %d\"),function(a){return a.getUTCDay()&&a.getUTCDate()!=1}],[d3.time.format.utc(\"%I %p\"),function(a){return a.getUTCHours()}],[d3.time.format.utc(\"%I:%M\"),function(a){return a.getUTCMinutes()}],[d3.time.format.utc(\":%S\"),function(a){return a.getUTCSeconds()}],[d3.time.format.utc(\".%L\"),function(a){return a.getUTCMilliseconds()}]],gn=gd(gm);gl.year=function(a,b){return gj.domain(a.map(gp)).ticks(b).map(go)},d3.time.scale.utc=function(){return ga(d3.scale.linear(),gl,gn)}})();","/*! jQuery v1.8.2 jquery.com | jquery.org/license */\r\n(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e=\"data-\"+c.replace(I,\"-$1\").toLowerCase();d=a.getAttribute(e);if(typeof d==\"string\"){try{d=d===\"true\"?!0:d===\"false\"?!1:d===\"null\"?null:+d+\"\"===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b===\"data\"&&p.isEmptyObject(a[b]))continue;if(b!==\"toJSON\")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b==\"string\"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split(\"|\"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d<e;d++)p.event.add(b,c,h[c][d])}g.data&&(g.data=p.extend({},g.data))}function bE(a,b){var c;if(b.nodeType!==1)return;b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c===\"object\"?(b.parentNode&&(b.outerHTML=a.outerHTML),p.support.html5Clone&&a.innerHTML&&!p.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):c===\"input\"&&bv.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):c===\"option\"?b.selected=a.defaultSelected:c===\"input\"||c===\"textarea\"?b.defaultValue=a.defaultValue:c===\"script\"&&b.text!==a.text&&(b.text=a.text),b.removeAttribute(p.expando)}function bF(a){return typeof a.getElementsByTagName!=\"undefined\"?a.getElementsByTagName(\"*\"):typeof a.querySelectorAll!=\"undefined\"?a.querySelectorAll(\"*\"):[]}function bG(a){bv.test(a.type)&&(a.defaultChecked=a.checked)}function bY(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=bW.length;while(e--){b=bW[e]+c;if(b in a)return b}return d}function bZ(a,b){return a=b||a,p.css(a,\"display\")===\"none\"||!p.contains(a.ownerDocument,a)}function b$(a,b){var c,d,e=[],f=0,g=a.length;for(;f<g;f++){c=a[f];if(!c.style)continue;e[f]=p._data(c,\"olddisplay\"),b?(!e[f]&&c.style.display===\"none\"&&(c.style.display=\"\"),c.style.display===\"\"&&bZ(c)&&(e[f]=p._data(c,\"olddisplay\",cc(c.nodeName)))):(d=bH(c,\"display\"),!e[f]&&d!==\"none\"&&p._data(c,\"olddisplay\",d))}for(f=0;f<g;f++){c=a[f];if(!c.style)continue;if(!b||c.style.display===\"none\"||c.style.display===\"\")c.style.display=b?e[f]||\"\":\"none\"}return a}function b_(a,b,c){var d=bP.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||\"px\"):b}function ca(a,b,c,d){var e=c===(d?\"border\":\"content\")?4:b===\"width\"?1:0,f=0;for(;e<4;e+=2)c===\"margin\"&&(f+=p.css(a,c+bV[e],!0)),d?(c===\"content\"&&(f-=parseFloat(bH(a,\"padding\"+bV[e]))||0),c!==\"margin\"&&(f-=parseFloat(bH(a,\"border\"+bV[e]+\"Width\"))||0)):(f+=parseFloat(bH(a,\"padding\"+bV[e]))||0,c!==\"padding\"&&(f+=parseFloat(bH(a,\"border\"+bV[e]+\"Width\"))||0));return f}function cb(a,b,c){var d=b===\"width\"?a.offsetWidth:a.offsetHeight,e=!0,f=p.support.boxSizing&&p.css(a,\"boxSizing\")===\"border-box\";if(d<=0||d==null){d=bH(a,b);if(d<0||d==null)d=a.style[b];if(bQ.test(d))return d;e=f&&(p.support.boxSizingReliable||d===a.style[b]),d=parseFloat(d)||0}return d+ca(a,b,c||(f?\"border\":\"content\"),e)+\"px\"}function cc(a){if(bS[a])return bS[a];var b=p(\"<\"+a+\">\").appendTo(e.body),c=b.css(\"display\");b.remove();if(c===\"none\"||c===\"\"){bI=e.body.appendChild(bI||p.extend(e.createElement(\"iframe\"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write(\"<!doctype html><html><body>\"),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,\"display\"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+\"[\"+(typeof e==\"object\"?b:\"\")+\"]\",e,c,d)});else if(!c&&p.type(b)===\"object\")for(e in b)ci(a+\"[\"+e+\"]\",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!=\"string\"&&(c=b,b=\"*\");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h<i;h++)d=g[h],f=/^\\+/.test(d),f&&(d=d.substr(1)||\"*\"),e=a[d]=a[d]||[],e[f?\"unshift\":\"push\"](c)}}function cA(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h,i=a[f],j=0,k=i?i.length:0,l=a===cv;for(;j<k&&(l||!h);j++)h=i[j](c,d,e),typeof h==\"string\"&&(!l||g[h]?h=b:(c.dataTypes.unshift(h),h=cA(a,c,d,e,h,g)));return(l||!h)&&!g[\"*\"]&&(h=cA(a,c,d,e,\"*\",g)),h}function cB(a,c){var d,e,f=p.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);e&&p.extend(!0,a,e)}function cC(a,c,d){var e,f,g,h,i=a.contents,j=a.dataTypes,k=a.responseFields;for(f in k)f in d&&(c[k[f]]=d[f]);while(j[0]===\"*\")j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader(\"content-type\"));if(e)for(f in i)if(i[f]&&i[f].test(e)){j.unshift(f);break}if(j[0]in d)g=j[0];else{for(f in d){if(!j[0]||a.converters[f+\" \"+j[0]]){g=f;break}h||(h=f)}g=g||h}if(g)return g!==j[0]&&j.unshift(g),d[g]}function cD(a,b){var c,d,e,f,g=a.dataTypes.slice(),h=g[0],i={},j=0;a.dataFilter&&(b=a.dataFilter(b,a.dataType));if(g[1])for(c in a.converters)i[c.toLowerCase()]=a.converters[c];for(;e=g[++j];)if(e!==\"*\"){if(h!==\"*\"&&h!==e){c=i[h+\" \"+e]||i[\"* \"+e];if(!c)for(d in i){f=d.split(\" \");if(f[1]===e){c=i[h+\" \"+f[0]]||i[\"* \"+f[0]];if(c){c===!0?c=i[d]:i[d]!==!0&&(e=f[0],g.splice(j--,0,e));break}}}if(c!==!0)if(c&&a[\"throws\"])b=c(b);else try{b=c(b)}catch(k){return{state:\"parsererror\",error:c?k:\"No conversion from \"+h+\" to \"+e}}}h=e}return{state:\"success\",data:b}}function cL(){try{return new a.XMLHttpRequest}catch(b){}}function cM(){try{return new a.ActiveXObject(\"Microsoft.XMLHTTP\")}catch(b){}}function cU(){return setTimeout(function(){cN=b},0),cN=p.now()}function cV(a,b){p.each(b,function(b,c){var d=(cT[b]||[]).concat(cT[\"*\"]),e=0,f=d.length;for(;e<f;e++)if(d[e].call(a,b,c))return})}function cW(a,b,c){var d,e=0,f=0,g=cS.length,h=p.Deferred().always(function(){delete i.elem}),i=function(){var b=cN||cU(),c=Math.max(0,j.startTime+j.duration-b),d=1-(c/j.duration||0),e=0,f=j.tweens.length;for(;e<f;e++)j.tweens[e].run(d);return h.notifyWith(a,[j,d,c]),d<1&&f?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:p.extend({},b),opts:p.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:cN||cU(),duration:c.duration,tweens:[],createTween:function(b,c,d){var e=p.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(e),e},stop:function(b){var c=0,d=b?j.tweens.length:0;for(;c<d;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;cX(k,j.opts.specialEasing);for(;e<g;e++){d=cS[e].call(j,a,k,j.opts);if(d)return d}return cV(j,k),p.isFunction(j.opts.start)&&j.opts.start.call(a,j),p.fx.timer(p.extend(i,{anim:j,queue:j.opts.queue,elem:a})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function cX(a,b){var c,d,e,f,g;for(c in a){d=p.camelCase(c),e=b[d],f=a[c],p.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=p.cssHooks[d];if(g&&\"expand\"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}}function cY(a,b,c){var d,e,f,g,h,i,j,k,l=this,m=a.style,n={},o=[],q=a.nodeType&&bZ(a);c.queue||(j=p._queueHooks(a,\"fx\"),j.unqueued==null&&(j.unqueued=0,k=j.empty.fire,j.empty.fire=function(){j.unqueued||k()}),j.unqueued++,l.always(function(){l.always(function(){j.unqueued--,p.queue(a,\"fx\").length||j.empty.fire()})})),a.nodeType===1&&(\"height\"in b||\"width\"in b)&&(c.overflow=[m.overflow,m.overflowX,m.overflowY],p.css(a,\"display\")===\"inline\"&&p.css(a,\"float\")===\"none\"&&(!p.support.inlineBlockNeedsLayout||cc(a.nodeName)===\"inline\"?m.display=\"inline-block\":m.zoom=1)),c.overflow&&(m.overflow=\"hidden\",p.support.shrinkWrapBlocks||l.done(function(){m.overflow=c.overflow[0],m.overflowX=c.overflow[1],m.overflowY=c.overflow[2]}));for(d in b){f=b[d];if(cP.exec(f)){delete b[d];if(f===(q?\"hide\":\"show\"))continue;o.push(d)}}g=o.length;if(g){h=p._data(a,\"fxshow\")||p._data(a,\"fxshow\",{}),q?p(a).show():l.done(function(){p(a).hide()}),l.done(function(){var b;p.removeData(a,\"fxshow\",!0);for(b in n)p.style(a,b,n[b])});for(d=0;d<g;d++)e=o[d],i=l.createTween(e,q?h[e]:0),n[e]=h[e]||p.style(a,e),e in h||(h[e]=i.start,q&&(i.end=i.start,i.start=e===\"width\"||e===\"height\"?1:0))}}function cZ(a,b,c,d,e){return new cZ.prototype.init(a,b,c,d,e)}function c$(a,b){var c,d={height:a},e=0;b=b?1:0;for(;e<4;e+=2-b)c=bV[e],d[\"margin\"+c]=d[\"padding\"+c]=a;return b&&(d.opacity=d.width=a),d}function da(a){return p.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}var c,d,e=a.document,f=a.location,g=a.navigator,h=a.jQuery,i=a.$,j=Array.prototype.push,k=Array.prototype.slice,l=Array.prototype.indexOf,m=Object.prototype.toString,n=Object.prototype.hasOwnProperty,o=String.prototype.trim,p=function(a,b){return new p.fn.init(a,b,c)},q=/[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source,r=/\\S/,s=/\\s+/,t=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,u=/^(?:[^#<]*(<[\\w\\W]+>)[^>]*$|#([\\w\\-]*)$)/,v=/^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/,w=/^[\\],:{}\\s]*$/,x=/(?:^|:|,)(?:\\s*\\[)+/g,y=/\\\\(?:[\"\\\\\\/bfnrt]|u[\\da-fA-F]{4})/g,z=/\"[^\"\\\\\\r\\n]*\"|true|false|null|-?(?:\\d\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/g,A=/^-ms-/,B=/-([\\da-z])/gi,C=function(a,b){return(b+\"\").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener(\"DOMContentLoaded\",D,!1),p.ready()):e.readyState===\"complete\"&&(e.detachEvent(\"onreadystatechange\",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a==\"string\"){a.charAt(0)===\"<\"&&a.charAt(a.length-1)===\">\"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:\"\",jquery:\"1.8.2\",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b===\"find\"?d.selector=this.selector+(this.selector?\" \":\"\")+c:b&&(d.selector=this.selector+\".\"+b+\"(\"+c+\")\"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),\"slice\",k.call(arguments).join(\",\"))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h==\"boolean\"&&(k=h,h=arguments[1]||{},i=2),typeof h!=\"object\"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i<j;i++)if((a=arguments[i])!=null)for(c in a){d=h[c],e=a[c];if(h===e)continue;k&&e&&(p.isPlainObject(e)||(f=p.isArray(e)))?(f?(f=!1,g=d&&p.isArray(d)?d:[]):g=d&&p.isPlainObject(d)?d:{},h[c]=p.extend(k,g,e)):e!==b&&(h[c]=e)}return h},p.extend({noConflict:function(b){return a.$===p&&(a.$=i),b&&a.jQuery===p&&(a.jQuery=h),p},isReady:!1,readyWait:1,holdReady:function(a){a?p.readyWait++:p.ready(!0)},ready:function(a){if(a===!0?--p.readyWait:p.isReady)return;if(!e.body)return setTimeout(p.ready,1);p.isReady=!0;if(a!==!0&&--p.readyWait>0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger(\"ready\").off(\"ready\")},isFunction:function(a){return p.type(a)===\"function\"},isArray:Array.isArray||function(a){return p.type(a)===\"array\"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||\"object\"},isPlainObject:function(a){if(!a||p.type(a)!==\"object\"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,\"constructor\")&&!n.call(a.constructor.prototype,\"isPrototypeOf\"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!=\"string\"?null:(typeof b==\"boolean\"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!=\"string\")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,\"@\").replace(z,\"]\").replace(x,\"\")))return(new Function(\"return \"+b))();p.error(\"Invalid JSON: \"+b)},parseXML:function(c){var d,e;if(!c||typeof c!=\"string\")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,\"text/xml\")):(d=new ActiveXObject(\"Microsoft.XMLDOM\"),d.async=\"false\",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName(\"parsererror\").length)&&p.error(\"Invalid XML: \"+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,\"ms-\").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f<g;)if(c.apply(a[f++],d)===!1)break}else if(h){for(e in a)if(c.call(a[e],e,a[e])===!1)break}else for(;f<g;)if(c.call(a[f],f,a[f++])===!1)break;return a},trim:o&&!o.call(\" \")?function(a){return a==null?\"\":o.call(a)}:function(a){return a==null?\"\":(a+\"\").replace(t,\"\")},makeArray:function(a,b){var c,d=b||[];return a!=null&&(c=p.type(a),a.length==null||c===\"string\"||c===\"function\"||c===\"regexp\"||p.isWindow(a)?j.call(d,a):p.merge(d,a)),d},inArray:function(a,b,c){var d;if(b){if(l)return l.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=c.length,e=a.length,f=0;if(typeof d==\"number\")for(;f<d;f++)a[e++]=c[f];else while(c[f]!==b)a[e++]=c[f++];return a.length=e,a},grep:function(a,b,c){var d,e=[],f=0,g=a.length;c=!!c;for(;f<g;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return e},map:function(a,c,d){var e,f,g=[],h=0,i=a.length,j=a instanceof p||i!==b&&typeof i==\"number\"&&(i>0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h<i;h++)e=c(a[h],h,d),e!=null&&(g[g.length]=e);else for(f in a)e=c(a[f],f,d),e!=null&&(g[g.length]=e);return g.concat.apply([],g)},guid:1,proxy:function(a,c){var d,e,f;return typeof c==\"string\"&&(d=a[c],c=a,a=d),p.isFunction(a)?(e=k.call(arguments,2),f=function(){return a.apply(c,e.concat(k.call(arguments)))},f.guid=a.guid=a.guid||p.guid++,f):b},access:function(a,c,d,e,f,g,h){var i,j=d==null,k=0,l=a.length;if(d&&typeof d==\"object\"){for(k in d)p.access(a,c,k,d[k],1,g,e);f=1}else if(e!==b){i=h===b&&p.isFunction(e),j&&(i?(i=c,c=function(a,b,c){return i.call(p(a),c)}):(c.call(a,e),c=null));if(c)for(;k<l;k++)c(a[k],d,i?e.call(a[k],k,c(a[k],d)):e,h);f=1}return f?a:j?c.call(a):l?c(a[0],d):g},now:function(){return(new Date).getTime()}}),p.ready.promise=function(b){if(!d){d=p.Deferred();if(e.readyState===\"complete\")setTimeout(p.ready,1);else if(e.addEventListener)e.addEventListener(\"DOMContentLoaded\",D,!1),a.addEventListener(\"load\",p.ready,!1);else{e.attachEvent(\"onreadystatechange\",D),a.attachEvent(\"onload\",p.ready);var c=!1;try{c=a.frameElement==null&&e.documentElement}catch(f){}c&&c.doScroll&&function g(){if(!p.isReady){try{c.doScroll(\"left\")}catch(a){return setTimeout(g,50)}p.ready()}}()}}return d.promise(b)},p.each(\"Boolean Number String Function Array Date RegExp Object\".split(\" \"),function(a,b){E[\"[object \"+b+\"]\"]=b.toLowerCase()}),c=p(e);var F={};p.Callbacks=function(a){a=typeof a==\"string\"?F[a]||G(a):p.extend({},a);var c,d,e,f,g,h,i=[],j=!a.once&&[],k=function(b){c=a.memory&&b,d=!0,h=f||0,f=0,g=i.length,e=!0;for(;i&&h<g;h++)if(i[h].apply(b[0],b[1])===!1&&a.stopOnFalse){c=!1;break}e=!1,i&&(j?j.length&&k(j.shift()):c?i=[]:l.disable())},l={add:function(){if(i){var b=i.length;(function d(b){p.each(b,function(b,c){var e=p.type(c);e===\"function\"&&(!a.unique||!l.has(c))?i.push(c):c&&c.length&&e!==\"string\"&&d(c)})})(arguments),e?g=i.length:c&&(f=b,k(c))}return this},remove:function(){return i&&p.each(arguments,function(a,b){var c;while((c=p.inArray(b,i,c))>-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[[\"resolve\",\"done\",p.Callbacks(\"once memory\"),\"resolved\"],[\"reject\",\"fail\",p.Callbacks(\"once memory\"),\"rejected\"],[\"notify\",\"progress\",p.Callbacks(\"memory\")]],c=\"pending\",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+\"With\"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+\"With\"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b<d;b++)c[b]&&p.isFunction(c[b].promise)?c[b].promise().done(g(b,j,c)).fail(f.reject).progress(g(b,i,h)):--e}return e||f.resolveWith(j,c),f.promise()}}),p.support=function(){var b,c,d,f,g,h,i,j,k,l,m,n=e.createElement(\"div\");n.setAttribute(\"className\",\"t\"),n.innerHTML=\" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>\",c=n.getElementsByTagName(\"*\"),d=n.getElementsByTagName(\"a\")[0],d.style.cssText=\"top:1px;float:left;opacity:.5\";if(!c||!c.length)return{};f=e.createElement(\"select\"),g=f.appendChild(e.createElement(\"option\")),h=n.getElementsByTagName(\"input\")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName(\"tbody\").length,htmlSerialize:!!n.getElementsByTagName(\"link\").length,style:/top/.test(d.getAttribute(\"style\")),hrefNormalized:d.getAttribute(\"href\")===\"/a\",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value===\"on\",optSelected:g.selected,getSetAttribute:n.className!==\"t\",enctype:!!e.createElement(\"form\").enctype,html5Clone:e.createElement(\"nav\").cloneNode(!0).outerHTML!==\"<:nav></:nav>\",boxModel:e.compatMode===\"CSS1Compat\",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent(\"onclick\",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent(\"onclick\"),n.detachEvent(\"onclick\",m)),h=e.createElement(\"input\"),h.value=\"t\",h.setAttribute(\"type\",\"radio\"),b.radioValue=h.value===\"t\",h.setAttribute(\"checked\",\"checked\"),h.setAttribute(\"name\",\"t\"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j=\"on\"+k,l=j in n,l||(n.setAttribute(j,\"return;\"),l=typeof n[j]==\"function\"),b[k+\"Bubbles\"]=l;return p(function(){var c,d,f,g,h=\"padding:0;margin:0;border:0;display:block;overflow:hidden;\",i=e.getElementsByTagName(\"body\")[0];if(!i)return;c=e.createElement(\"div\"),c.style.cssText=\"visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px\",i.insertBefore(c,i.firstChild),d=e.createElement(\"div\"),c.appendChild(d),d.innerHTML=\"<table><tr><td></td><td>t</td></tr></table>\",f=d.getElementsByTagName(\"td\"),f[0].style.cssText=\"padding:0;margin:0;border:0;display:none\",l=f[0].offsetHeight===0,f[0].style.display=\"\",f[1].style.display=\"none\",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML=\"\",d.style.cssText=\"box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;\",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!==\"1%\",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:\"4px\"}).width===\"4px\",g=e.createElement(\"div\"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width=\"0\",d.style.width=\"1px\",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!=\"undefined\"&&(d.innerHTML=\"\",d.style.cssText=h+\"width:1px;padding:1px;display:inline;zoom:1\",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display=\"block\",d.style.overflow=\"visible\",d.innerHTML=\"<div></div>\",d.firstChild.style.width=\"5px\",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\\{[\\s\\S]*\\}|\\[[\\s\\S]*\\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:\"jQuery\"+(p.fn.jquery+Math.random()).replace(/\\D/g,\"\"),noData:{embed:!0,object:\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c==\"string\",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c==\"object\"||typeof c==\"function\")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(\" \")));for(e=0,f=b.length;e<f;e++)delete d[b[e]];if(!(c?K:p.isEmptyObject)(d))return}}if(!c){delete h[i].data;if(!K(h[i]))return}g?p.cleanData([a],!0):p.support.deleteExpando||h!=h.window?delete h[i]:h[i]=null},_data:function(a,b,c){return p.data(a,b,c,!0)},acceptData:function(a){var b=a.nodeName&&p.noData[a.nodeName.toLowerCase()];return!b||b!==!0&&a.getAttribute(\"classid\")===b}}),p.fn.extend({data:function(a,c){var d,e,f,g,h,i=this[0],j=0,k=null;if(a===b){if(this.length){k=p.data(i);if(i.nodeType===1&&!p._data(i,\"parsedAttrs\")){f=i.attributes;for(h=f.length;j<h;j++)g=f[j].name,g.indexOf(\"data-\")||(g=p.camelCase(g.substring(5)),J(i,g,k[g]));p._data(i,\"parsedAttrs\",!0)}}return k}return typeof a==\"object\"?this.each(function(){p.data(this,a)}):(d=a.split(\".\",2),d[1]=d[1]?\".\"+d[1]:\"\",e=d[1]+\"!\",p.access(this,function(c){if(c===b)return k=this.triggerHandler(\"getData\"+e,[d[0]]),k===b&&i&&(k=p.data(i,a),k=J(i,a,k)),k===b&&d[1]?this.data(d[0]):k;d[1]=c,this.each(function(){var b=p(this);b.triggerHandler(\"setData\"+e,d),p.data(this,a,c),b.triggerHandler(\"changeData\"+e,d)})},null,c,arguments.length>1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||\"fx\")+\"queue\",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||\"fx\";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e===\"inprogress\"&&(e=c.shift(),d--),e&&(b===\"fx\"&&c.unshift(\"inprogress\"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+\"queueHooks\";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks(\"once memory\").add(function(){p.removeData(a,b+\"queue\",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!=\"string\"&&(c=a,a=\"fx\",d--),arguments.length<d?p.queue(this[0],a):c===b?this:this.each(function(){var b=p.queue(this,a,c);p._queueHooks(this,a),a===\"fx\"&&b[0]!==\"inprogress\"&&p.dequeue(this,a)})},dequeue:function(a){return this.each(function(){p.dequeue(this,a)})},delay:function(a,b){return a=p.fx?p.fx.speeds[a]||a:a,b=b||\"fx\",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||\"fx\",[])},promise:function(a,c){var d,e=1,f=p.Deferred(),g=this,h=this.length,i=function(){--e||f.resolveWith(g,[g])};typeof a!=\"string\"&&(c=a,a=b),a=a||\"fx\";while(h--)d=p._data(g[h],a+\"queueHooks\"),d&&d.empty&&(e++,d.empty.add(i));return i(),f.promise(c)}});var L,M,N,O=/[\\t\\r\\n]/g,P=/\\r/g,Q=/^(?:button|input)$/i,R=/^(?:button|input|object|select|textarea)$/i,S=/^a(?:rea|)$/i,T=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,U=p.support.getSetAttribute;p.fn.extend({attr:function(a,b){return p.access(this,p.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a==\"string\"){b=a.split(s);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{f=\" \"+e.className+\" \";for(g=0,h=b.length;g<h;g++)f.indexOf(\" \"+b[g]+\" \")<0&&(f+=b[g]+\" \");e.className=p.trim(f)}}}return this},removeClass:function(a){var c,d,e,f,g,h,i;if(p.isFunction(a))return this.each(function(b){p(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a==\"string\"||a===b){c=(a||\"\").split(s);for(h=0,i=this.length;h<i;h++){e=this[h];if(e.nodeType===1&&e.className){d=(\" \"+e.className+\" \").replace(O,\" \");for(f=0,g=c.length;f<g;f++)while(d.indexOf(\" \"+c[f]+\" \")>=0)d=d.replace(\" \"+c[f]+\" \",\" \");e.className=a?p.trim(d):\"\"}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b==\"boolean\";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c===\"string\"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?\"addClass\":\"removeClass\"](e)}else if(c===\"undefined\"||c===\"boolean\")this.className&&p._data(this,\"__className__\",this.className),this.className=this.className||a===!1?\"\":p._data(this,\"__className__\")||\"\"})},hasClass:function(a){var b=\" \"+a+\" \",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(\" \"+this[c].className+\" \").replace(O,\" \").indexOf(b)>=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&\"get\"in c&&(d=c.get(f,\"value\"))!==b?d:(d=f.value,typeof d==\"string\"?d.replace(P,\"\"):d==null?\"\":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f=\"\":typeof f==\"number\"?f+=\"\":p.isArray(f)&&(f=p.map(f,function(a){return a==null?\"\":a+\"\"})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!(\"set\"in c)||c.set(this,f,\"value\")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type===\"select-one\";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c<d;c++){e=h[c];if(e.selected&&(p.support.optDisabled?!e.disabled:e.getAttribute(\"disabled\")===null)&&(!e.parentNode.disabled||!p.nodeName(e.parentNode,\"optgroup\"))){b=p(e).val();if(i)return b;g.push(b)}}return i&&!g.length&&h.length?p(h[f]).val():g},set:function(a,b){var c=p.makeArray(b);return p(a).find(\"option\").each(function(){this.selected=p.inArray(p(this).val(),c)>=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute==\"undefined\")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&\"set\"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+\"\"),d)}return g&&\"get\"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g<d.length;g++)e=d[g],e&&(c=p.propFix[e]||e,f=T.test(e),f||p.attr(a,e,\"\"),a.removeAttribute(U?e:c),f&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(Q.test(a.nodeName)&&a.parentNode)p.error(\"type property can't be changed\");else if(!p.support.radioValue&&b===\"radio\"&&p.nodeName(a,\"input\")){var c=a.value;return a.setAttribute(\"type\",b),c&&(a.value=c),b}}},value:{get:function(a,b){return L&&p.nodeName(a,\"button\")?L.get(a,b):b in a?a.value:null},set:function(a,b,c){if(L&&p.nodeName(a,\"button\"))return L.set(a,b,c);a.value=b}}},propFix:{tabindex:\"tabIndex\",readonly:\"readOnly\",\"for\":\"htmlFor\",\"class\":\"className\",maxlength:\"maxLength\",cellspacing:\"cellSpacing\",cellpadding:\"cellPadding\",rowspan:\"rowSpan\",colspan:\"colSpan\",usemap:\"useMap\",frameborder:\"frameBorder\",contenteditable:\"contentEditable\"},prop:function(a,c,d){var e,f,g,h=a.nodeType;if(!a||h===3||h===8||h===2)return;return g=h!==1||!p.isXMLDoc(a),g&&(c=p.propFix[c]||c,f=p.propHooks[c]),d!==b?f&&\"set\"in f&&(e=f.set(a,d,c))!==b?e:a[c]=d:f&&\"get\"in f&&(e=f.get(a,c))!==null?e:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode(\"tabindex\");return c&&c.specified?parseInt(c.value,10):R.test(a.nodeName)||S.test(a.nodeName)&&a.href?0:b}}}}),M={get:function(a,c){var d,e=p.prop(a,c);return e===!0||typeof e!=\"boolean\"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;return b===!1?p.removeAttr(a,c):(d=p.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase())),c}},U||(N={name:!0,id:!0,coords:!0},L=p.valHooks.button={get:function(a,c){var d;return d=a.getAttributeNode(c),d&&(N[c]?d.value!==\"\":d.specified)?d.value:b},set:function(a,b,c){var d=a.getAttributeNode(c);return d||(d=e.createAttribute(c),a.setAttributeNode(d)),d.value=b+\"\"}},p.each([\"width\",\"height\"],function(a,b){p.attrHooks[b]=p.extend(p.attrHooks[b],{set:function(a,c){if(c===\"\")return a.setAttribute(b,\"auto\"),c}})}),p.attrHooks.contenteditable={get:L.get,set:function(a,b,c){b===\"\"&&(b=\"false\"),L.set(a,b,c)}}),p.support.hrefNormalized||p.each([\"href\",\"src\",\"width\",\"height\"],function(a,c){p.attrHooks[c]=p.extend(p.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),p.support.style||(p.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=b+\"\"}}),p.support.optSelected||(p.propHooks.selected=p.extend(p.propHooks.selected,{get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}})),p.support.enctype||(p.propFix.enctype=\"encoding\"),p.support.checkOn||p.each([\"radio\",\"checkbox\"],function(){p.valHooks[this]={get:function(a){return a.getAttribute(\"value\")===null?\"on\":a.value}}}),p.each([\"radio\",\"checkbox\"],function(){p.valHooks[this]=p.extend(p.valHooks[this],{set:function(a,b){if(p.isArray(b))return a.checked=p.inArray(p(a).val(),b)>=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\\.]*|)(?:\\.(.+)|)$/,X=/(?:^|\\s)hover(\\.\\S+|)\\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,\"mouseenter$1 mouseleave$1\")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!=\"undefined\"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(\" \");for(j=0;j<c.length;j++){k=W.exec(c[j])||[],l=k[1],m=(k[2]||\"\").split(\".\").sort(),r=p.event.special[l]||{},l=(f?r.delegateType:r.bindType)||l,r=p.event.special[l]||{},n=p.extend({type:l,origType:k[1],data:e,handler:d,guid:d.guid,selector:f,needsContext:f&&p.expr.match.needsContext.test(f),namespace:m.join(\".\")},o),q=i[l];if(!q){q=i[l]=[],q.delegateCount=0;if(!r.setup||r.setup.call(a,e,m,h)===!1)a.addEventListener?a.addEventListener(l,h,!1):a.attachEvent&&a.attachEvent(\"on\"+l,h)}r.add&&(r.add.call(a,n),n.handler.guid||(n.handler.guid=d.guid)),f?q.splice(q.delegateCount++,0,n):q.push(n),p.event.global[l]=!0}a=null},global:{},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r=p.hasData(a)&&p._data(a);if(!r||!(m=r.events))return;b=p.trim(_(b||\"\")).split(\" \");for(f=0;f<b.length;f++){g=W.exec(b[f])||[],h=i=g[1],j=g[2];if(!h){for(h in m)p.event.remove(a,h+b[f],c,d,!0);continue}n=p.event.special[h]||{},h=(d?n.delegateType:n.bindType)||h,o=m[h]||[],k=o.length,j=j?new RegExp(\"(^|\\\\.)\"+j.split(\".\").sort().join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null;for(l=0;l<o.length;l++)q=o[l],(e||i===q.origType)&&(!c||c.guid===q.guid)&&(!j||j.test(q.namespace))&&(!d||d===q.selector||d===\"**\"&&q.selector)&&(o.splice(l--,1),q.selector&&o.delegateCount--,n.remove&&n.remove.call(a,q));o.length===0&&k!==o.length&&((!n.teardown||n.teardown.call(a,j,r.handle)===!1)&&p.removeEvent(a,h,r.handle),delete m[h])}p.isEmptyObject(m)&&(delete r.handle,p.removeData(a,\"events\",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,f,g){if(!f||f.nodeType!==3&&f.nodeType!==8){var h,i,j,k,l,m,n,o,q,r,s=c.type||c,t=[];if($.test(s+p.event.triggered))return;s.indexOf(\"!\")>=0&&(s=s.slice(0,-1),i=!0),s.indexOf(\".\")>=0&&(t=s.split(\".\"),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c==\"object\"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join(\".\"),c.namespace_re=c.namespace?new RegExp(\"(^|\\\\.)\"+t.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,m=s.indexOf(\":\")<0?\"on\"+s:\"\";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j<q.length&&!c.isPropagationStopped();j++)k=q[j][0],c.type=q[j][1],o=(p._data(k,\"events\")||{})[c.type]&&p._data(k,\"handle\"),o&&o.apply(k,d),o=m&&k[m],o&&p.acceptData(k)&&o.apply&&o.apply(k,d)===!1&&c.preventDefault();return c.type=s,!g&&!c.isDefaultPrevented()&&(!n._default||n._default.apply(f.ownerDocument,d)===!1)&&(s!==\"click\"||!p.nodeName(f,\"a\"))&&p.acceptData(f)&&m&&f[s]&&(s!==\"focus\"&&s!==\"blur\"||c.target.offsetWidth!==0)&&!p.isWindow(f)&&(l=f[m],l&&(f[m]=null),p.event.triggered=s,f[s](),p.event.triggered=b,l&&(f[m]=l)),c.result}return},dispatch:function(c){c=p.event.fix(c||a.event);var d,e,f,g,h,i,j,l,m,n,o=(p._data(this,\"events\")||{})[c.type]||[],q=o.delegateCount,r=k.call(arguments),s=!c.exclusive&&!c.namespace,t=p.event.special[c.type]||{},u=[];r[0]=c,c.delegateTarget=this;if(t.preDispatch&&t.preDispatch.call(this,c)===!1)return;if(q&&(!c.button||c.type!==\"click\"))for(f=c.target;f!=this;f=f.parentNode||this)if(f.disabled!==!0||c.type!==\"click\"){h={},j=[];for(d=0;d<q;d++)l=o[d],m=l.selector,h[m]===b&&(h[m]=l.needsContext?p(m,this).index(f)>=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d<u.length&&!c.isPropagationStopped();d++){i=u[d],c.currentTarget=i.elem;for(e=0;e<i.matches.length&&!c.isImmediatePropagationStopped();e++){l=i.matches[e];if(s||!c.namespace&&!l.namespace||c.namespace_re&&c.namespace_re.test(l.namespace))c.data=l.data,c.handleObj=l,g=((p.event.special[l.origType]||{}).handle||l.handler).apply(i.elem,r),g!==b&&(c.result=g,g===!1&&(c.preventDefault(),c.stopPropagation()))}}return t.postDispatch&&t.postDispatch.call(this,c),c.result},props:\"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),fixHooks:{},keyHooks:{props:\"char charCode key keyCode\".split(\" \"),filter:function(a,b){return a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode),a}},mouseHooks:{props:\"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),filter:function(a,c){var d,f,g,h=c.button,i=c.fromElement;return a.pageX==null&&c.clientX!=null&&(d=a.target.ownerDocument||e,f=d.documentElement,g=d.body,a.pageX=c.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=c.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?c.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0),a}},fix:function(a){if(a[p.expando])return a;var b,c,d=a,f=p.event.fixHooks[a.type]||{},g=f.props?this.props.concat(f.props):this.props;a=p.Event(d);for(b=g.length;b;)c=g[--b],a[c]=d[c];return a.target||(a.target=d.srcElement||e),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,f.filter?f.filter(a,d):a},special:{load:{noBubble:!0},focus:{delegateType:\"focusin\"},blur:{delegateType:\"focusout\"},beforeunload:{setup:function(a,b,c){p.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=p.extend(new p.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?p.event.trigger(e,null,b):p.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},p.event.handle=p.event.dispatch,p.removeEvent=e.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d=\"on\"+b;a.detachEvent&&(typeof a[d]==\"undefined\"&&(a[d]=null),a.detachEvent(d,c))},p.Event=function(a,b){if(this instanceof p.Event)a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?bb:ba):this.type=a,b&&p.extend(this,b),this.timeStamp=a&&a.timeStamp||p.now(),this[p.expando]=!0;else return new p.Event(a,b)},p.Event.prototype={preventDefault:function(){this.isDefaultPrevented=bb;var a=this.originalEvent;if(!a)return;a.preventDefault?a.preventDefault():a.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=bb;var a=this.originalEvent;if(!a)return;a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()},isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba},p.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\"},function(a,b){p.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj,g=f.selector;if(!e||e!==d&&!p.contains(d,e))a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b;return c}}}),p.support.submitBubbles||(p.event.special.submit={setup:function(){if(p.nodeName(this,\"form\"))return!1;p.event.add(this,\"click._submit keypress._submit\",function(a){var c=a.target,d=p.nodeName(c,\"input\")||p.nodeName(c,\"button\")?c.form:b;d&&!p._data(d,\"_submit_attached\")&&(p.event.add(d,\"submit._submit\",function(a){a._submit_bubble=!0}),p._data(d,\"_submit_attached\",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&p.event.simulate(\"submit\",this.parentNode,a,!0))},teardown:function(){if(p.nodeName(this,\"form\"))return!1;p.event.remove(this,\"._submit\")}}),p.support.changeBubbles||(p.event.special.change={setup:function(){if(V.test(this.nodeName)){if(this.type===\"checkbox\"||this.type===\"radio\")p.event.add(this,\"propertychange._change\",function(a){a.originalEvent.propertyName===\"checked\"&&(this._just_changed=!0)}),p.event.add(this,\"click._change\",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),p.event.simulate(\"change\",this,a,!0)});return!1}p.event.add(this,\"beforeactivate._change\",function(a){var b=a.target;V.test(b.nodeName)&&!p._data(b,\"_change_attached\")&&(p.event.add(b,\"change._change\",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&p.event.simulate(\"change\",this.parentNode,a,!0)}),p._data(b,\"_change_attached\",!0))})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!==\"radio\"&&b.type!==\"checkbox\")return a.handleObj.handler.apply(this,arguments)},teardown:function(){return p.event.remove(this,\"._change\"),!V.test(this.nodeName)}}),p.support.focusinBubbles||p.each({focus:\"focusin\",blur:\"focusout\"},function(a,b){var c=0,d=function(a){p.event.simulate(b,a.target,p.event.fix(a),!0)};p.event.special[b]={setup:function(){c++===0&&e.addEventListener(a,d,!0)},teardown:function(){--c===0&&e.removeEventListener(a,d,!0)}}}),p.fn.extend({on:function(a,c,d,e,f){var g,h;if(typeof a==\"object\"){typeof c!=\"string\"&&(d=d||c,c=b);for(h in a)this.on(h,c,d,a[h],f);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c==\"string\"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=ba;else if(!e)return this;return f===1&&(g=e,e=function(a){return p().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=p.guid++)),this.each(function(){p.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){var e,f;if(a&&a.preventDefault&&a.handleObj)return e=a.handleObj,p(a.delegateTarget).off(e.namespace?e.origType+\".\"+e.namespace:e.origType,e.selector,e.handler),this;if(typeof a==\"object\"){for(f in a)this.off(f,c,a[f]);return this}if(c===!1||typeof c==\"function\")d=c,c=b;return d===!1&&(d=ba),this.each(function(){p.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){return p(this.context).on(a,this.selector,b,c),this},die:function(a,b){return p(this.context).off(a,this.selector||\"**\",b),this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length===1?this.off(a,\"**\"):this.off(b,a||\"**\",c)},trigger:function(a,b){return this.each(function(){p.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return p.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||p.guid++,d=0,e=function(c){var e=(p._data(this,\"lastToggle\"+a.guid)||0)%d;return p._data(this,\"lastToggle\"+a.guid,e+1),c.preventDefault(),b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),p.each(\"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu\".split(\" \"),function(a,b){p.fn[b]=function(a,c){return c==null&&(c=a,a=null),arguments.length>0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!=\"string\")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,\"$1\"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c===\"input\"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c===\"input\"||c===\"button\")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L,\" \");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir===\"parentNode\",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+\" \"+g+\" \",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i==\"string\"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h<i;h++)if(f=a[h])if(!c||c(f,d,e))g.push(f),j&&b.push(h);return g}function bl(a,b,c,d,e,f){return d&&!d[o]&&(d=bl(d)),e&&!e[o]&&(e=bl(e,f)),z(function(f,g,h,i){if(f&&e)return;var j,k,l,m=[],n=[],o=g.length,p=f||bo(b||\"*\",h.nodeType?[h]:h,[],f),q=a&&(f||!b)?bk(p,m,a,h,i):p,r=c?e||(f?a:o||d)?[]:g:q;c&&c(q,r,h,i);if(d){l=bk(r,n),d(l,[],h,i),j=l.length;while(j--)if(k=l[j])r[n[j]]=!(q[n[j]]=k)}if(f){j=a&&r.length;while(j--)if(k=r[j])f[m[j]]=!(g[m[j]]=k)}else r=bk(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):w.apply(g,r)})}function bm(a){var b,c,d,f=a.length,g=e.relative[a[0].type],h=g||e.relative[\" \"],i=g?1:0,j=bi(function(a){return a===b},h,!0),k=bi(function(a){return y.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i<f;i++)if(c=e.relative[a[i].type])m=[bi(bj(m),c)];else{c=e.filter[a[i].type].apply(null,a[i].matches);if(c[o]){d=++i;for(;d<f;d++)if(e.relative[a[d].type])break;return bl(i>1&&bj(m),i>1&&a.slice(0,i-1).join(\"\").replace(L,\"$1\"),c,i<d&&bm(a.slice(i,d)),d<f&&bm(a=a.slice(d)),d<f&&a.join(\"\"))}m.push(c)}return bj(m)}function bn(a,b){var d=b.length>0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u=\"0\",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG(\"*\",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e<f;e++)bc(a,b[e],c,d);return c}function bp(a,b,c,d,f){var g,h,j,k,l,m=bh(a),n=m.length;if(!d&&m.length===1){h=m[0]=m[0].slice(0);if(h.length>2&&(j=h[0]).type===\"ID\"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,\"\"),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,\"\"),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join(\"\");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n=\"undefined\",o=(\"sizcache\"+Math.random()).replace(\".\",\"\"),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;b<c;b++)if(this[b]===a)return b;return-1},z=function(a,b){return a[o]=b==null||b,a},A=function(){var a={},b=[];return z(function(c,d){return b.push(c)>e.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",F=\"(?:\\\\\\\\.|[-\\\\w]|[^\\\\x00-\\\\xa0])+\",G=F.replace(\"w\",\"w#\"),H=\"([*^$|!~]?=)\",I=\"\\\\[\"+E+\"*(\"+F+\")\"+E+\"*(?:\"+H+E+\"*(?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\3|(\"+G+\")|)|)\"+E+\"*\\\\]\",J=\":(\"+F+\")(?:\\\\((?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\2|([^()[\\\\]]*|(?:(?:\"+I+\")|[^:]|\\\\\\\\.)*|.*))\\\\)|)\",K=\":(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+E+\"*((?:-\\\\d)?\\\\d*)\"+E+\"*\\\\)|)(?=[^-]|$)\",L=new RegExp(\"^\"+E+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+E+\"+$\",\"g\"),M=new RegExp(\"^\"+E+\"*,\"+E+\"*\"),N=new RegExp(\"^\"+E+\"*([\\\\x20\\\\t\\\\r\\\\n\\\\f>+~])\"+E+\"*\"),O=new RegExp(J),P=/^(?:#([\\w\\-]+)|(\\w+)|\\.([\\w\\-]+))$/,Q=/^:not/,R=/[\\x20\\t\\r\\n\\f]*[+~]/,S=/:not\\($/,T=/h\\d/i,U=/input|select|textarea|button/i,V=/\\\\(?!\\\\)/g,W={ID:new RegExp(\"^#(\"+F+\")\"),CLASS:new RegExp(\"^\\\\.(\"+F+\")\"),NAME:new RegExp(\"^\\\\[name=['\\\"]?(\"+F+\")['\\\"]?\\\\]\"),TAG:new RegExp(\"^(\"+F.replace(\"w\",\"w*\")+\")\"),ATTR:new RegExp(\"^\"+I),PSEUDO:new RegExp(\"^\"+J),POS:new RegExp(K,\"i\"),CHILD:new RegExp(\"^:(only|nth|first|last)-child(?:\\\\(\"+E+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+E+\"*(?:([+-]|)\"+E+\"*(\\\\d+)|))\"+E+\"*\\\\)|)\",\"i\"),needsContext:new RegExp(\"^\"+E+\"*[>+~]|\"+K,\"i\")},X=function(a){var b=r.createElement(\"div\");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment(\"\")),!a.getElementsByTagName(\"*\").length}),Z=X(function(a){return a.innerHTML=\"<a href='#'></a>\",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute(\"href\")===\"#\"}),$=X(function(a){a.innerHTML=\"<select></select>\";var b=typeof a.lastChild.getAttribute(\"multiple\");return b!==\"boolean\"&&b!==\"string\"}),_=X(function(a){return a.innerHTML=\"<div class='hidden e'></div><div class='hidden'></div>\",!a.getElementsByClassName||!a.getElementsByClassName(\"e\").length?!1:(a.lastChild.className=\"e\",a.getElementsByClassName(\"e\").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML=\"<a name='\"+o+\"'></a><div name='\"+o+\"'></div>\",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c=\"\",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent==\"string\")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!==\"HTML\":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]==\"boolean\"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute(\"href\",2)},type:function(a){return a.getAttribute(\"type\")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode(\"id\").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a===\"*\"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,\"\"),a[3]=(a[4]||a[5]||\"\").replace(V,\"\"),a[2]===\"~=\"&&(a[3]=\" \"+a[3]+\" \"),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]===\"nth\"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]===\"even\"||a[2]===\"odd\")),a[4]=+(a[6]+a[7]||a[2]===\"odd\")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(\")\",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,\"\"),function(b){return b.getAttribute(\"id\")===a}}:function(a){return a=a.replace(V,\"\"),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode(\"id\");return c&&c.value===a}},TAG:function(a){return a===\"*\"?function(){return!0}:(a=a.replace(V,\"\").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp(\"(^|\"+E+\")\"+a+\"(\"+E+\"|$)\"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute(\"class\")||\"\")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b===\"!=\":b?(f+=\"\",b===\"=\"?f===c:b===\"!=\"?f!==c:b===\"^=\"?c&&f.indexOf(c)===0:b===\"*=\"?c&&f.indexOf(c)>-1:b===\"$=\"?c&&f.substr(f.length-c.length)===c:b===\"~=\"?(\" \"+f+\" \").indexOf(c)>-1:b===\"|=\"?f===c||f.substr(0,c.length+1)===c+\"-\":!1):!0}},CHILD:function(a,b,c,d){return a===\"nth\"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case\"only\":case\"first\":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a===\"first\")return!0;c=b;case\"last\":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error(\"unsupported pseudo: \"+a);return d[o]?d(b):d.length>1?(c=[a,a,\"\",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,\"$1\"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b===\"input\"&&!!a.checked||b===\"option\"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>\"@\"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()===\"input\"&&(b=a.type)===\"text\"&&((c=a.getAttribute(\"type\"))==null||c.toLowerCase()===b)},radio:bd(\"radio\"),checkbox:bd(\"checkbox\"),file:bd(\"file\"),password:bd(\"password\"),image:bd(\"image\"),submit:be(\"submit\"),reset:be(\"reset\"),button:function(a){var b=a.nodeName.toLowerCase();return b===\"input\"&&a.type===\"button\"||b===\"button\"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d<b;d+=2)a.push(d);return a}),odd:bf(function(a,b,c){for(var d=1;d<b;d+=2)a.push(d);return a}),lt:bf(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},j=s.compareDocumentPosition?function(a,b){return a===b?(k=!0,0):(!a.compareDocumentPosition||!b.compareDocumentPosition?a.compareDocumentPosition:a.compareDocumentPosition(b)&4)?-1:1}:function(a,b){if(a===b)return k=!0,0;if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,h=b.parentNode,i=g;if(g===h)return bg(a,b);if(!g)return-1;if(!h)return 1;while(i)e.unshift(i),i=i.parentNode;i=h;while(i)f.unshift(i),i=i.parentNode;c=e.length,d=f.length;for(var j=0;j<c&&j<d;j++)if(e[j]!==f[j])return bg(e[j],f[j]);return j===c?bg(a,f[j],-1):bg(e[j],b,1)},[0,0].sort(j),m=!k,bc.uniqueSort=function(a){var b,c=1;k=m,a.sort(j);if(k)for(;b=a[c];c++)b===a[c-1]&&a.splice(c--,1);return a},bc.error=function(a){throw new Error(\"Syntax error, unrecognized expression: \"+a)},i=bc.compile=function(a,b){var c,d=[],e=[],f=D[o][a];if(!f){b||(b=bh(a)),c=b.length;while(c--)f=bm(b[c]),f[o]?d.push(f):e.push(f);f=D(a,bn(e,d))}return f},r.querySelectorAll&&function(){var a,b=bp,c=/'|\\\\/g,d=/\\=[\\x20\\t\\r\\n\\f]*([^'\"\\]]*)[\\x20\\t\\r\\n\\f]*\\]/g,e=[\":focus\"],f=[\":active\",\":focus\"],h=s.matchesSelector||s.mozMatchesSelector||s.webkitMatchesSelector||s.oMatchesSelector||s.msMatchesSelector;X(function(a){a.innerHTML=\"<select><option selected=''></option></select>\",a.querySelectorAll(\"[selected]\").length||e.push(\"\\\\[\"+E+\"*(?:checked|disabled|ismap|multiple|readonly|selected|value)\"),a.querySelectorAll(\":checked\").length||e.push(\":checked\")}),X(function(a){a.innerHTML=\"<p test=''></p>\",a.querySelectorAll(\"[test^='']\").length&&e.push(\"[*^$]=\"+E+\"*(?:\\\"\\\"|'')\"),a.innerHTML=\"<input type='hidden'/>\",a.querySelectorAll(\":enabled\").length||e.push(\":enabled\",\":disabled\")}),e=new RegExp(e.join(\"|\")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!==\"object\"){i=bh(a),(k=d.getAttribute(\"id\"))?l=k.replace(c,\"\\\\$&\"):d.setAttribute(\"id\",l),l=\"[id='\"+l+\"'] \",j=i.length;while(j--)i[j]=l+i[j].join(\"\");m=R.test(a)&&d.parentNode||d,n=i.join(\",\")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute(\"id\")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,\"div\");try{h.call(b,\"[test!='']:sizzle\"),f.push(\"!=\",J)}catch(c){}}),f=new RegExp(f.join(\"|\")),bc.matchesSelector=function(b,c){c=c.replace(d,\"='$1']\");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[\":\"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\\[\\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!=\"string\")return p(a).filter(function(){for(b=0,c=h.length;b<c;b++)if(p.contains(h[b],this))return!0});g=this.pushStack(\"\",\"find\",a);for(b=0,c=this.length;b<c;b++){d=g.length,p.find(a,this[b],g);if(b>0)for(e=d;e<g.length;e++)for(f=0;f<d;f++)if(g[f]===g[e]){g.splice(e--,1);break}}return g},has:function(a){var b,c=p(a,this),d=c.length;return this.filter(function(){for(b=0;b<d;b++)if(p.contains(this,c[b]))return!0})},not:function(a){return this.pushStack(bj(this,a,!1),\"not\",a)},filter:function(a){return this.pushStack(bj(this,a,!0),\"filter\",a)},is:function(a){return!!a&&(typeof a==\"string\"?bf.test(a)?p(a,this.context).index(this[0])>=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!=\"string\"?p(a,b||this.context):0;for(;d<e;d++){c=this[d];while(c&&c.ownerDocument&&c!==b&&c.nodeType!==11){if(g?g.index(c)>-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,\"closest\",a)},index:function(a){return a?typeof a==\"string\"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a==\"string\"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,\"parentNode\")},parentsUntil:function(a,b,c){return p.dir(a,\"parentNode\",c)},next:function(a){return bi(a,\"nextSibling\")},prev:function(a){return bi(a,\"previousSibling\")},nextAll:function(a){return p.dir(a,\"nextSibling\")},prevAll:function(a){return p.dir(a,\"previousSibling\")},nextUntil:function(a,b,c){return p.dir(a,\"nextSibling\",c)},prevUntil:function(a,b,c){return p.dir(a,\"previousSibling\",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,\"iframe\")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d==\"string\"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(\",\"))}}),p.extend({filter:function(a,b,c){return c&&(a=\":not(\"+a+\")\"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl=\"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video\",bm=/ jQuery\\d+=\"(?:null|\\d+)\"/g,bn=/^\\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi,bp=/<([\\w:]+)/,bq=/<tbody/i,br=/<|&#?\\w+;/,bs=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,bu=new RegExp(\"<(?:\"+bl+\")[\\\\s/>]\",\"i\"),bv=/^(?:checkbox|radio)$/,bw=/checked\\s*(?:[^=]|=\\s*.checked.)/i,bx=/\\/(java|ecma)script/i,by=/^\\s*<!(?:\\[CDATA\\[|\\-\\-)|[\\]\\-]{2}>\\s*$/g,bz={option:[1,\"<select multiple='multiple'>\",\"</select>\"],legend:[1,\"<fieldset>\",\"</fieldset>\"],thead:[1,\"<table>\",\"</table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],col:[2,\"<table><tbody></tbody><colgroup>\",\"</colgroup></table>\"],area:[1,\"<map>\",\"</map>\"],_default:[0,\"\",\"\"]},bA=bk(e),bB=bA.appendChild(e.createElement(\"div\"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,\"X<div>\",\"</div>\"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,\"body\")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),\"before\",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),\"after\",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName(\"*\")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName(\"*\"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,\"\"):b;if(typeof a==\"string\"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||[\"\",\"\"])[1].toLowerCase()]){a=a.replace(bo,\"<$1></$2>\");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(p.cleanData(c.getElementsByTagName(\"*\")),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){return bh(this[0])?this.length?this.pushStack(p(p.isFunction(a)?a():a),\"replaceWith\",a):this:p.isFunction(a)?this.each(function(b){var c=p(this),d=c.html();c.replaceWith(a.call(this,b,d))}):(typeof a!=\"string\"&&(a=p(a).detach()),this.each(function(){var b=this.nextSibling,c=this.parentNode;p(this).remove(),b?p(b).before(a):p(c).append(a)}))},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){a=[].concat.apply([],a);var e,f,g,h,i=0,j=a[0],k=[],l=this.length;if(!p.support.checkClone&&l>1&&typeof j==\"string\"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,\"tr\");for(h=e.cacheable||l-1;i<l;i++)d.call(c&&p.nodeName(this[i],\"table\")?bC(this[i],\"tbody\"):this[i],i===h?g:p.clone(g,!0,!0))}g=f=null,k.length&&p.each(k,function(a,b){b.src?p.ajax?p.ajax({url:b.src,type:\"GET\",dataType:\"script\",async:!1,global:!1,\"throws\":!0}):p.error(\"no ajax\"):p.globalEval((b.text||b.textContent||b.innerHTML||\"\").replace(by,\"\")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),p.buildFragment=function(a,c,d){var f,g,h,i=a[0];return c=c||e,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,a.length===1&&typeof i==\"string\"&&i.length<512&&c===e&&i.charAt(0)===\"<\"&&!bt.test(i)&&(p.support.checkClone||!bw.test(i))&&(p.support.html5Clone||!bu.test(i))&&(g=!0,f=p.fragments[i],h=f!==b),f||(f=c.createDocumentFragment(),p.clean(a,c,f,d),g&&(p.fragments[i]=h&&f)),{fragment:f,cacheable:g}},p.fragments={},p.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(a,b){p.fn[a]=function(c){var d,e=0,f=[],g=p(c),h=g.length,i=this.length===1&&this[0].parentNode;if((i==null||i&&i.nodeType===11&&i.childNodes.length===1)&&h===1)return g[b](this[0]),this;for(;e<h;e++)d=(e>0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test(\"<\"+a.nodeName+\">\")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment==\"undefined\")b=e;for(f=0;(h=a[f])!=null;f++){typeof h==\"number\"&&(h+=\"\");if(!h)continue;if(typeof h==\"string\")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement(\"div\"),s.appendChild(l),h=h.replace(bo,\"<$1></$2>\"),i=(bp.exec(h)||[\"\",\"\"])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i===\"table\"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]===\"<table>\"&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],\"tbody\")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,\"input\")?bG(h):typeof h.getElementsByTagName!=\"undefined\"&&p.grep(h.getElementsByTagName(\"input\"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,\"script\")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!=\"undefined\"&&(r=p.grep(p.merge([],h.getElementsByTagName(\"script\")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \\/]([\\w.]+)/.exec(a)||/(webkit)[ \\/]([\\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \\/]([\\w.]+)/.exec(a)||/(msie) ([\\w.]+)/.exec(a)||a.indexOf(\"compatible\")<0&&/(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(a)||[];return{browser:b[1]||\"\",version:b[2]||\"0\"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\\([^)]*\\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp(\"^(\"+q+\")(.*)$\",\"i\"),bQ=new RegExp(\"^(\"+q+\")(?!px)[a-z%]+$\",\"i\"),bR=new RegExp(\"^([-+])=(\"+q+\")\",\"i\"),bS={},bT={position:\"absolute\",visibility:\"hidden\",display:\"block\"},bU={letterSpacing:0,fontWeight:400},bV=[\"Top\",\"Right\",\"Bottom\",\"Left\"],bW=[\"Webkit\",\"O\",\"Moz\",\"ms\"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a==\"boolean\";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,\"opacity\");return c===\"\"?\"1\":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{\"float\":p.support.cssFloat?\"cssFloat\":\"styleFloat\"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&\"get\"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g===\"string\"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g=\"number\");if(d==null||g===\"number\"&&isNaN(d))return;g===\"number\"&&!p.cssNumber[i]&&(d+=\"px\");if(!h||!(\"set\"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&\"get\"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f===\"normal\"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===\"\"&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b===\"fontSize\"?\"1em\":e,e=f.pixelLeft+\"px\",f.left=c,d&&(a.runtimeStyle.left=d)),e===\"\"?\"auto\":e}),p.each([\"height\",\"width\"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,\"display\"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,\"boxSizing\")===\"border-box\"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||\"\")?.01*parseFloat(RegExp.$1)+\"\":b?\"1\":\"\"},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?\"alpha(opacity=\"+b*100+\")\":\"\",f=d&&d.filter||c.filter||\"\";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,\"\"))===\"\"&&c.removeAttribute){c.removeAttribute(\"filter\");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+\" \"+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:\"inline-block\"},function(){if(b)return bH(a,\"marginRight\")})}}),!p.support.pixelPosition&&p.fn.position&&p.each([\"top\",\"left\"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+\"px\":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,\"display\"))===\"none\"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:\"\",padding:\"\",border:\"Width\"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c==\"string\"?c.split(\" \"):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\\[\\]$/,cf=/\\r?\\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,\"\\r\\n\")}}):{name:b.name,value:c.replace(cf,\"\\r\\n\")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?\"\":b,e[e.length]=encodeURIComponent(a)+\"=\"+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join(\"&\").replace(cd,\"+\")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \\t]*([^\\r\\n]*)\\r?$/mg,cn=/^(?:about|app|app\\-storage|.+\\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\\/\\//,cq=/\\?/,cr=/<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\\w\\+\\.\\-]+:)(?:\\/\\/([^\\/?#:]*)(?::(\\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=[\"*/\"]+[\"*\"];try{ck=f.href}catch(cy){ck=e.createElement(\"a\"),ck.href=\"\",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!=\"string\"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(\" \");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c==\"object\"&&(f=\"POST\"),p.ajax({url:a,type:f,dataType:\"html\",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p(\"<div>\").append(a.replace(cr,\"\")).find(e):a)}),this},p.each(\"ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend\".split(\" \"),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each([\"get\",\"post\"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,\"script\")},getJSON:function(a,b,c){return p.get(a,b,c,\"json\")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:\"GET\",contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",processData:!0,async:!0,accepts:{xml:\"application/xml, text/xml\",html:\"text/html\",text:\"text/plain\",json:\"application/json, text/javascript\",\"*\":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:\"responseXML\",text:\"responseText\"},converters:{\"* text\":a.String,\"text html\":!0,\"text json\":p.parseJSON,\"text xml\":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||\"\",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader(\"Last-Modified\"),w&&(p.lastModified[d]=w),w=x.getResponseHeader(\"Etag\"),w&&(p.etag[d]=w)),a===304?(y=\"notmodified\",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y=\"error\",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+\"\",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger(\"ajax\"+(k?\"Success\":\"Error\"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger(\"ajaxComplete\",[x,l]),--p.active||p.event.trigger(\"ajaxStop\"))}typeof a==\"object\"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks(\"once memory\"),r=l.statusCode||{},t={},u={},v=0,w=\"canceled\",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+\"\").replace(cl,\"\").replace(cp,cj[1]+\"//\"),l.dataTypes=p.trim(l.dataType||\"*\").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(\":\")+(i[3]?\"\":i[1]===\"http:\"?80:443)!==cj.join(\":\")+(cj[3]?\"\":cj[1]===\"http:\"?80:443)),l.data&&l.processData&&typeof l.data!=\"string\"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger(\"ajaxStart\");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?\"&\":\"?\")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,\"$1_=\"+z);l.url=A+(A===l.url?(cq.test(l.url)?\"&\":\"?\")+\"_=\"+z:\"\")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader(\"Content-Type\",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader(\"If-Modified-Since\",p.lastModified[d]),p.etag[d]&&x.setRequestHeader(\"If-None-Match\",p.etag[d])),x.setRequestHeader(\"Accept\",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!==\"*\"?\", \"+cx+\"; q=0.01\":\"\"):l.accepts[\"*\"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w=\"abort\";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,\"No Transport\");else{x.readyState=1,j&&n.trigger(\"ajaxSend\",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort(\"timeout\")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\\?/,cG=/(=)\\?(?=&|$)|\\?\\?/,cH=p.now();p.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var a=cE.pop()||p.expando+\"_\"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter(\"json jsonp\",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i==\"string\"&&!(c.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&cG.test(i);if(c.dataTypes[0]===\"jsonp\"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,\"$1\"+f):m?c.data=i.replace(cG,\"$1\"+f):k&&(c.url+=(cF.test(j)?\"&\":\"?\")+c.jsonp+\"=\"+f),c.converters[\"script json\"]=function(){return h||p.error(f+\" was not called\"),h[0]},c.dataTypes[0]=\"json\",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),\"script\"}),p.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/javascript|ecmascript/},converters:{\"text script\":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter(\"script\",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type=\"GET\",a.global=!1)}),p.ajaxTransport(\"script\",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName(\"head\")[0]||e.documentElement;return{send:function(f,g){c=e.createElement(\"script\"),c.async=\"async\",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,\"success\")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&\"withCredentials\"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e[\"X-Requested-With\"]&&(e[\"X-Requested-With\"]=\"XMLHttpRequest\");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=\"\"}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp(\"^(?:([-+])=|)(\"+q+\")([a-z%]*)$\",\"i\"),cR=/queueHooks$/,cS=[cY],cT={\"*\":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?\"\":\"px\");if(d!==\"px\"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||\".5\",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=[\"*\"]):a=a.split(\" \");var c,d=0,e=a.length;for(;d<e;d++)c=a[d],cT[c]=cT[c]||[],cT[c].unshift(b)},prefilter:function(a,b){b?cS.unshift(a):cS.push(a)}}),p.Tween=cZ,cZ.prototype={constructor:cZ,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||\"swing\",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(p.cssNumber[c]?\"\":\"px\")},cur:function(){var a=cZ.propHooks[this.prop];return a&&a.get?a.get(this):cZ.propHooks._default.get(this)},run:function(a){var b,c=cZ.propHooks[this.prop];return this.options.duration?this.pos=b=p.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):cZ.propHooks._default.set(this),this}},cZ.prototype.init.prototype=cZ.prototype,cZ.propHooks={_default:{get:function(a){var b;return a.elem[a.prop]==null||!!a.elem.style&&a.elem.style[a.prop]!=null?(b=p.css(a.elem,a.prop,!1,\"\"),!b||b===\"auto\"?0:b):a.elem[a.prop]},set:function(a){p.fx.step[a.prop]?p.fx.step[a.prop](a):a.elem.style&&(a.elem.style[p.cssProps[a.prop]]!=null||p.cssHooks[a.prop])?p.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},cZ.propHooks.scrollTop=cZ.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},p.each([\"toggle\",\"show\",\"hide\"],function(a,b){var c=p.fn[b];p.fn[b]=function(d,e,f){return d==null||typeof d==\"boolean\"||!a&&p.isFunction(d)&&p.isFunction(e)?c.apply(this,arguments):this.animate(c$(b,!0),d,e,f)}}),p.fn.extend({fadeTo:function(a,b,c,d){return this.filter(bZ).css(\"opacity\",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=p.isEmptyObject(a),f=p.speed(b,c,d),g=function(){var b=cW(this,p.extend({},a),f);e&&b.stop(!0)};return e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var e=function(a){var b=a.stop;delete a.stop,b(d)};return typeof a!=\"string\"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||\"fx\",[]),this.each(function(){var b=!0,c=a!=null&&a+\"queueHooks\",f=p.timers,g=p._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else for(c in g)g[c]&&g[c].stop&&cR.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem===this&&(a==null||f[c].queue===a)&&(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&p.dequeue(this,a)})}}),p.each({slideDown:c$(\"show\"),slideUp:c$(\"hide\"),slideToggle:c$(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(a,b){p.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),p.speed=function(a,b,c){var d=a&&typeof a==\"object\"?p.extend({},a):{complete:c||!c&&b||p.isFunction(a)&&a,duration:a,easing:c&&b||b&&!p.isFunction(b)&&b};d.duration=p.fx.off?0:typeof d.duration==\"number\"?d.duration:d.duration in p.fx.speeds?p.fx.speeds[d.duration]:p.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue=\"fx\";return d.old=d.complete,d.complete=function(){p.isFunction(d.old)&&d.old.call(this),d.queue&&p.dequeue(this,d.queue)},d},p.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},p.timers=[],p.fx=cZ.prototype.init,p.fx.tick=function(){var a,b=p.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||p.fx.stop()},p.fx.timer=function(a){a()&&p.timers.push(a)&&!cO&&(cO=setInterval(p.fx.tick,p.fx.interval))},p.fx.interval=13,p.fx.stop=function(){clearInterval(cO),cO=null},p.fx.speeds={slow:600,fast:200,_default:400},p.fx.step={},p.expr&&p.expr.filters&&(p.expr.filters.animated=function(a){return p.grep(p.timers,function(b){return a===b.elem}).length});var c_=/^(?:body|html)$/i;p.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){p.offset.setOffset(this,a,b)});var c,d,e,f,g,h,i,j={top:0,left:0},k=this[0],l=k&&k.ownerDocument;if(!l)return;return(d=l.body)===k?p.offset.bodyOffset(k):(c=l.documentElement,p.contains(c,k)?(typeof k.getBoundingClientRect!=\"undefined\"&&(j=k.getBoundingClientRect()),e=da(l),f=c.clientTop||d.clientTop||0,g=c.clientLeft||d.clientLeft||0,h=e.pageYOffset||c.scrollTop,i=e.pageXOffset||c.scrollLeft,{top:j.top+h-f,left:j.left+i-g}):j)},p.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;return p.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(p.css(a,\"marginTop\"))||0,c+=parseFloat(p.css(a,\"marginLeft\"))||0),{top:b,left:c}},setOffset:function(a,b,c){var d=p.css(a,\"position\");d===\"static\"&&(a.style.position=\"relative\");var e=p(a),f=e.offset(),g=p.css(a,\"top\"),h=p.css(a,\"left\"),i=(d===\"absolute\"||d===\"fixed\")&&p.inArray(\"auto\",[g,h])>-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),\"using\"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,\"marginTop\"))||0,c.left-=parseFloat(p.css(a,\"marginLeft\"))||0,d.top+=parseFloat(p.css(b[0],\"borderTopWidth\"))||0,d.left+=parseFloat(p.css(b[0],\"borderLeftWidth\"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,\"position\")===\"static\")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:\"height\",Width:\"width\"},function(a,c){p.each({padding:\"inner\"+a,content:c,\"\":\"outer\"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!=\"boolean\"),h=d||(e===!0||f===!0?\"margin\":\"border\");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement[\"client\"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body[\"scroll\"+a],f[\"scroll\"+a],c.body[\"offset\"+a],f[\"offset\"+a],f[\"client\"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define==\"function\"&&define.amd&&define.amd.jQuery&&define(\"jquery\",[],function(){return p})})(window);","/*\r\n * SimpleModal 1.4.3 - jQuery Plugin\r\n * http://simplemodal.com/\r\n * Copyright (c) 2012 Eric Martin\r\n * Licensed under MIT and GPL\r\n * Date: Sat, Sep 8 2012 07:52:31 -0700\r\n */\r\n(function(b){\"function\"===typeof define&&define.amd?define([\"jquery\"],b):b(jQuery)})(function(b){var j=[],l=b(document),m=b.browser.msie&&6===parseInt(b.browser.version)&&\"object\"!==typeof window.XMLHttpRequest,o=b.browser.msie&&7===parseInt(b.browser.version),n=null,k=b(window),h=[];b.modal=function(a,d){return b.modal.impl.init(a,d)};b.modal.close=function(){b.modal.impl.close()};b.modal.focus=function(a){b.modal.impl.focus(a)};b.modal.setContainerDimensions=function(){b.modal.impl.setContainerDimensions()};\nb.modal.setPosition=function(){b.modal.impl.setPosition()};b.modal.update=function(a,d){b.modal.impl.update(a,d)};b.fn.modal=function(a){return b.modal.impl.init(this,a)};b.modal.defaults={appendTo:\"body\",focus:!0,opacity:50,overlayId:\"simplemodal-overlay\",overlayCss:{},containerId:\"simplemodal-container\",containerCss:{},dataId:\"simplemodal-data\",dataCss:{},minHeight:null,minWidth:null,maxHeight:null,maxWidth:null,autoResize:!1,autoPosition:!0,zIndex:1E3,close:!0,closeHTML:'<a class=\"modalCloseImg\" title=\"Close\"></a>',\ncloseClass:\"simplemodal-close\",escClose:!0,overlayClose:!1,fixed:!0,position:null,persist:!1,modal:!0,onOpen:null,onShow:null,onClose:null};b.modal.impl={d:{},init:function(a,d){if(this.d.data)return!1;n=b.browser.msie&&!b.support.boxModel;this.o=b.extend({},b.modal.defaults,d);this.zIndex=this.o.zIndex;this.occb=!1;if(\"object\"===typeof a){if(a=a instanceof b?a:b(a),this.d.placeholder=!1,0<a.parent().parent().size()&&(a.before(b(\"<span></span>\").attr(\"id\",\"simplemodal-placeholder\").css({display:\"none\"})),\nthis.d.placeholder=!0,this.display=a.css(\"display\"),!this.o.persist))this.d.orig=a.clone(!0)}else if(\"string\"===typeof a||\"number\"===typeof a)a=b(\"<div></div>\").html(a);else return alert(\"SimpleModal Error: Unsupported data type: \"+typeof a),this;this.create(a);this.open();b.isFunction(this.o.onShow)&&this.o.onShow.apply(this,[this.d]);return this},create:function(a){this.getDimensions();if(this.o.modal&&m)this.d.iframe=b('<iframe src=\"javascript:false;\"></iframe>').css(b.extend(this.o.iframeCss,\n{display:\"none\",opacity:0,position:\"fixed\",height:h[0],width:h[1],zIndex:this.o.zIndex,top:0,left:0})).appendTo(this.o.appendTo);this.d.overlay=b(\"<div></div>\").attr(\"id\",this.o.overlayId).addClass(\"simplemodal-overlay\").css(b.extend(this.o.overlayCss,{display:\"none\",opacity:this.o.opacity/100,height:this.o.modal?j[0]:0,width:this.o.modal?j[1]:0,position:\"fixed\",left:0,top:0,zIndex:this.o.zIndex+1})).appendTo(this.o.appendTo);this.d.container=b(\"<div></div>\").attr(\"id\",this.o.containerId).addClass(\"simplemodal-container\").css(b.extend({position:this.o.fixed?\n\"fixed\":\"absolute\"},this.o.containerCss,{display:\"none\",zIndex:this.o.zIndex+2})).append(this.o.close&&this.o.closeHTML?b(this.o.closeHTML).addClass(this.o.closeClass):\"\").appendTo(this.o.appendTo);this.d.wrap=b(\"<div></div>\").attr(\"tabIndex\",-1).addClass(\"simplemodal-wrap\").css({height:\"100%\",outline:0,width:\"100%\"}).appendTo(this.d.container);this.d.data=a.attr(\"id\",a.attr(\"id\")||this.o.dataId).addClass(\"simplemodal-data\").css(b.extend(this.o.dataCss,{display:\"none\"})).appendTo(\"body\");this.setContainerDimensions();\nthis.d.data.appendTo(this.d.wrap);(m||n)&&this.fixIE()},bindEvents:function(){var a=this;b(\".\"+a.o.closeClass).bind(\"click.simplemodal\",function(b){b.preventDefault();a.close()});a.o.modal&&a.o.close&&a.o.overlayClose&&a.d.overlay.bind(\"click.simplemodal\",function(b){b.preventDefault();a.close()});l.bind(\"keydown.simplemodal\",function(b){a.o.modal&&9===b.keyCode?a.watchTab(b):a.o.close&&a.o.escClose&&27===b.keyCode&&(b.preventDefault(),a.close())});k.bind(\"resize.simplemodal orientationchange.simplemodal\",\nfunction(){a.getDimensions();a.o.autoResize?a.setContainerDimensions():a.o.autoPosition&&a.setPosition();m||n?a.fixIE():a.o.modal&&(a.d.iframe&&a.d.iframe.css({height:h[0],width:h[1]}),a.d.overlay.css({height:j[0],width:j[1]}))})},unbindEvents:function(){b(\".\"+this.o.closeClass).unbind(\"click.simplemodal\");l.unbind(\"keydown.simplemodal\");k.unbind(\".simplemodal\");this.d.overlay.unbind(\"click.simplemodal\")},fixIE:function(){var a=this.o.position;b.each([this.d.iframe||null,!this.o.modal?null:this.d.overlay,\n\"fixed\"===this.d.container.css(\"position\")?this.d.container:null],function(b,f){if(f){var g=f[0].style;g.position=\"absolute\";if(2>b)g.removeExpression(\"height\"),g.removeExpression(\"width\"),g.setExpression(\"height\",'document.body.scrollHeight > document.body.clientHeight ? document.body.scrollHeight : document.body.clientHeight + \"px\"'),g.setExpression(\"width\",'document.body.scrollWidth > document.body.clientWidth ? document.body.scrollWidth : document.body.clientWidth + \"px\"');else{var c,e;a&&a.constructor===\nArray?(c=a[0]?\"number\"===typeof a[0]?a[0].toString():a[0].replace(/px/,\"\"):f.css(\"top\").replace(/px/,\"\"),c=-1===c.indexOf(\"%\")?c+' + (t = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + \"px\"':parseInt(c.replace(/%/,\"\"))+' * ((document.documentElement.clientHeight || document.body.clientHeight) / 100) + (t = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + \"px\"',a[1]&&(e=\"number\"===typeof a[1]?\na[1].toString():a[1].replace(/px/,\"\"),e=-1===e.indexOf(\"%\")?e+' + (t = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft) + \"px\"':parseInt(e.replace(/%/,\"\"))+' * ((document.documentElement.clientWidth || document.body.clientWidth) / 100) + (t = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft) + \"px\"')):(c='(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (t = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + \"px\"',\ne='(document.documentElement.clientWidth || document.body.clientWidth) / 2 - (this.offsetWidth / 2) + (t = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft) + \"px\"');g.removeExpression(\"top\");g.removeExpression(\"left\");g.setExpression(\"top\",c);g.setExpression(\"left\",e)}}})},focus:function(a){var d=this,a=a&&-1!==b.inArray(a,[\"first\",\"last\"])?a:\"first\",f=b(\":input:enabled:visible:\"+a,d.d.wrap);setTimeout(function(){0<f.length?f.focus():d.d.wrap.focus()},\n10)},getDimensions:function(){var a=\"undefined\"===typeof window.innerHeight?k.height():window.innerHeight;j=[l.height(),l.width()];h=[a,k.width()]},getVal:function(a,b){return a?\"number\"===typeof a?a:\"auto\"===a?0:0<a.indexOf(\"%\")?parseInt(a.replace(/%/,\"\"))/100*(\"h\"===b?h[0]:h[1]):parseInt(a.replace(/px/,\"\")):null},update:function(a,b){if(!this.d.data)return!1;this.d.origHeight=this.getVal(a,\"h\");this.d.origWidth=this.getVal(b,\"w\");this.d.data.hide();a&&this.d.container.css(\"height\",a);b&&this.d.container.css(\"width\",\nb);this.setContainerDimensions();this.d.data.show();this.o.focus&&this.focus();this.unbindEvents();this.bindEvents()},setContainerDimensions:function(){var a=m||o,d=this.d.origHeight?this.d.origHeight:b.browser.opera?this.d.container.height():this.getVal(a?this.d.container[0].currentStyle.height:this.d.container.css(\"height\"),\"h\"),a=this.d.origWidth?this.d.origWidth:b.browser.opera?this.d.container.width():this.getVal(a?this.d.container[0].currentStyle.width:this.d.container.css(\"width\"),\"w\"),f=this.d.data.outerHeight(!0),\ng=this.d.data.outerWidth(!0);this.d.origHeight=this.d.origHeight||d;this.d.origWidth=this.d.origWidth||a;var c=this.o.maxHeight?this.getVal(this.o.maxHeight,\"h\"):null,e=this.o.maxWidth?this.getVal(this.o.maxWidth,\"w\"):null,c=c&&c<h[0]?c:h[0],e=e&&e<h[1]?e:h[1],i=this.o.minHeight?this.getVal(this.o.minHeight,\"h\"):\"auto\",d=d?this.o.autoResize&&d>c?c:d<i?i:d:f?f>c?c:this.o.minHeight&&\"auto\"!==i&&f<i?i:f:i,c=this.o.minWidth?this.getVal(this.o.minWidth,\"w\"):\"auto\",a=a?this.o.autoResize&&a>e?e:a<c?c:a:\ng?g>e?e:this.o.minWidth&&\"auto\"!==c&&g<c?c:g:c;this.d.container.css({height:d,width:a});this.d.wrap.css({overflow:f>d||g>a?\"auto\":\"visible\"});this.o.autoPosition&&this.setPosition()},setPosition:function(){var a,b;a=h[0]/2-this.d.container.outerHeight(!0)/2;b=h[1]/2-this.d.container.outerWidth(!0)/2;var f=\"fixed\"!==this.d.container.css(\"position\")?k.scrollTop():0;this.o.position&&\"[object Array]\"===Object.prototype.toString.call(this.o.position)?(a=f+(this.o.position[0]||a),b=this.o.position[1]||\nb):a=f+a;this.d.container.css({left:b,top:a})},watchTab:function(a){if(0<b(a.target).parents(\".simplemodal-container\").length){if(this.inputs=b(\":input:enabled:visible:first, :input:enabled:visible:last\",this.d.data[0]),!a.shiftKey&&a.target===this.inputs[this.inputs.length-1]||a.shiftKey&&a.target===this.inputs[0]||0===this.inputs.length)a.preventDefault(),this.focus(a.shiftKey?\"last\":\"first\")}else a.preventDefault(),this.focus()},open:function(){this.d.iframe&&this.d.iframe.show();b.isFunction(this.o.onOpen)?\nthis.o.onOpen.apply(this,[this.d]):(this.d.overlay.show(),this.d.container.show(),this.d.data.show());this.o.focus&&this.focus();this.bindEvents()},close:function(){if(!this.d.data)return!1;this.unbindEvents();if(b.isFunction(this.o.onClose)&&!this.occb)this.occb=!0,this.o.onClose.apply(this,[this.d]);else{if(this.d.placeholder){var a=b(\"#simplemodal-placeholder\");this.o.persist?a.replaceWith(this.d.data.removeClass(\"simplemodal-data\").css(\"display\",this.display)):(this.d.data.hide().remove(),a.replaceWith(this.d.orig))}else this.d.data.hide().remove();\nthis.d.container.hide().remove();this.d.overlay.hide();this.d.iframe&&this.d.iframe.hide().remove();this.d.overlay.remove();this.d={}}}}});\n","/*\n * jQuery BBQ: Back Button & Query Library - v1.2.1 - 2/17/2010\n * http://benalman.com/projects/jquery-bbq-plugin/\n * \n * Copyright (c) 2010 \"Cowboy\" Ben Alman\n * Dual licensed under the MIT and GPL licenses.\n * http://benalman.com/about/license/\n */\n(function($,p){var i,m=Array.prototype.slice,r=decodeURIComponent,a=$.param,c,l,v,b=$.bbq=$.bbq||{},q,u,j,e=$.event.special,d=\"hashchange\",A=\"querystring\",D=\"fragment\",y=\"elemUrlAttr\",g=\"location\",k=\"href\",t=\"src\",x=/^.*\\?|#.*$/g,w=/^.*\\#/,h,C={};function E(F){return typeof F===\"string\"}function B(G){var F=m.call(arguments,1);return function(){return G.apply(this,F.concat(m.call(arguments)))}}function n(F){return F.replace(/^[^#]*#?(.*)$/,\"$1\")}function o(F){return F.replace(/(?:^[^?#]*\\?([^#]*).*$)?.*/,\"$1\")}function f(H,M,F,I,G){var O,L,K,N,J;if(I!==i){K=F.match(H?/^([^#]*)\\#?(.*)$/:/^([^#?]*)\\??([^#]*)(#?.*)/);J=K[3]||\"\";if(G===2&&E(I)){L=I.replace(H?w:x,\"\")}else{N=l(K[2]);I=E(I)?l[H?D:A](I):I;L=G===2?I:G===1?$.extend({},I,N):$.extend({},N,I);L=a(L);if(H){L=L.replace(h,r)}}O=K[1]+(H?\"#\":L||!K[1]?\"?\":\"\")+L+J}else{O=M(F!==i?F:p[g][k])}return O}a[A]=B(f,0,o);a[D]=c=B(f,1,n);c.noEscape=function(G){G=G||\"\";var F=$.map(G.split(\"\"),encodeURIComponent);h=new RegExp(F.join(\"|\"),\"g\")};c.noEscape(\",/\");$.deparam=l=function(I,F){var H={},G={\"true\":!0,\"false\":!1,\"null\":null};$.each(I.replace(/\\+/g,\" \").split(\"&\"),function(L,Q){var K=Q.split(\"=\"),P=r(K[0]),J,O=H,M=0,R=P.split(\"][\"),N=R.length-1;if(/\\[/.test(R[0])&&/\\]$/.test(R[N])){R[N]=R[N].replace(/\\]$/,\"\");R=R.shift().split(\"[\").concat(R);N=R.length-1}else{N=0}if(K.length===2){J=r(K[1]);if(F){J=J&&!isNaN(J)?+J:J===\"undefined\"?i:G[J]!==i?G[J]:J}if(N){for(;M<=N;M++){P=R[M]===\"\"?O.length:R[M];O=O[P]=M<N?O[P]||(R[M+1]&&isNaN(R[M+1])?{}:[]):J}}else{if($.isArray(H[P])){H[P].push(J)}else{if(H[P]!==i){H[P]=[H[P],J]}else{H[P]=J}}}}else{if(P){H[P]=F?i:\"\"}}});return H};function z(H,F,G){if(F===i||typeof F===\"boolean\"){G=F;F=a[H?D:A]()}else{F=E(F)?F.replace(H?w:x,\"\"):F}return l(F,G)}l[A]=B(z,0);l[D]=v=B(z,1);$[y]||($[y]=function(F){return $.extend(C,F)})({a:k,base:k,iframe:t,img:t,input:t,form:\"action\",link:k,script:t});j=$[y];function s(I,G,H,F){if(!E(H)&&typeof H!==\"object\"){F=H;H=G;G=i}return this.each(function(){var L=$(this),J=G||j()[(this.nodeName||\"\").toLowerCase()]||\"\",K=J&&L.attr(J)||\"\";L.attr(J,a[I](K,H,F))})}$.fn[A]=B(s,A);$.fn[D]=B(s,D);b.pushState=q=function(I,F){if(E(I)&&/^#/.test(I)&&F===i){F=2}var H=I!==i,G=c(p[g][k],H?I:{},H?F:2);p[g][k]=G+(/#/.test(G)?\"\":\"#\")};b.getState=u=function(F,G){return F===i||typeof F===\"boolean\"?v(F):v(G)[F]};b.removeState=function(F){var G={};if(F!==i){G=u();$.each($.isArray(F)?F:arguments,function(I,H){delete G[H]})}q(G,2)};e[d]=$.extend(e[d],{add:function(F){var H;function G(J){var I=J[D]=c();J.getState=function(K,L){return K===i||typeof K===\"boolean\"?l(I,K):l(I,L)[K]};H.apply(this,arguments)}if($.isFunction(F)){H=F;return G}else{H=F.handler;F.handler=G}}})})(jQuery,this);\n/*\n * jQuery hashchange event - v1.2 - 2/11/2010\n * http://benalman.com/projects/jquery-hashchange-plugin/\n * \n * Copyright (c) 2010 \"Cowboy\" Ben Alman\n * Dual licensed under the MIT and GPL licenses.\n * http://benalman.com/about/license/\n */\n(function($,i,b){var j,k=$.event.special,c=\"location\",d=\"hashchange\",l=\"href\",f=$.browser,g=document.documentMode,h=f.msie&&(g===b||g<8),e=\"on\"+d in i&&!h;function a(m){m=m||i[c][l];return m.replace(/^[^#]*#?(.*)$/,\"$1\")}$[d+\"Delay\"]=100;k[d]=$.extend(k[d],{setup:function(){if(e){return false}$(j.start)},teardown:function(){if(e){return false}$(j.stop)}});j=(function(){var m={},r,n,o,q;function p(){o=q=function(s){return s};if(h){n=$('<iframe src=\"javascript:0\"/>').hide().insertAfter(\"body\")[0].contentWindow;q=function(){return a(n.document[c][l])};o=function(u,s){if(u!==s){var t=n.document;t.open().close();t[c].hash=\"#\"+u}};o(a())}}m.start=function(){if(r){return}var t=a();o||p();(function s(){var v=a(),u=q(t);if(v!==t){o(t=v,u);$(i).trigger(d)}else{if(u!==t){i[c][l]=i[c][l].replace(/#.*/,\"\")+\"#\"+u}}r=setTimeout(s,$[d+\"Delay\"])})()};m.stop=function(){if(!n){r&&clearTimeout(r);r=0}};return m})()})(jQuery,this);","jsPlumbUtil={isArray:function(b){return Object.prototype.toString.call(b)===\"[object Array]\"},isString:function(a){return typeof a===\"string\"},isObject:function(a){return Object.prototype.toString.call(a)===\"[object Object]\"},convertStyle:function(b,a){if(\"transparent\"===b){return b}var g=b,f=function(h){return h.length==1?\"0\"+h:h},c=function(h){return f(Number(h).toString(16))},d=/(rgb[a]?\\()(.*)(\\))/;if(b.match(d)){var e=b.match(d)[2].split(\",\");g=\"#\"+c(e[0])+c(e[1])+c(e[2]);if(!a&&e.length==4){g=g+c(e[3])}}return g},gradient:function(b,a){b=jsPlumbUtil.isArray(b)?b:[b.x,b.y];a=jsPlumbUtil.isArray(a)?a:[a.x,a.y];return(a[1]-b[1])/(a[0]-b[0])},normal:function(b,a){return -1/jsPlumbUtil.gradient(b,a)},lineLength:function(b,a){b=jsPlumbUtil.isArray(b)?b:[b.x,b.y];a=jsPlumbUtil.isArray(a)?a:[a.x,a.y];return Math.sqrt(Math.pow(a[1]-b[1],2)+Math.pow(a[0]-b[0],2))},segment:function(b,a){b=jsPlumbUtil.isArray(b)?b:[b.x,b.y];a=jsPlumbUtil.isArray(a)?a:[a.x,a.y];if(a[0]>b[0]){return(a[1]>b[1])?2:1}else{return(a[1]>b[1])?3:4}},intersects:function(f,e){var c=f.x,a=f.x+f.w,k=f.y,h=f.y+f.h,d=e.x,b=e.x+e.w,i=e.y,g=e.y+e.h;return((c<=d&&d<=a)&&(k<=i&&i<=h))||((c<=b&&b<=a)&&(k<=i&&i<=h))||((c<=d&&d<=a)&&(k<=g&&g<=h))||((c<=b&&d<=a)&&(k<=g&&g<=h))||((d<=c&&c<=b)&&(i<=k&&k<=g))||((d<=a&&a<=b)&&(i<=k&&k<=g))||((d<=c&&c<=b)&&(i<=h&&h<=g))||((d<=a&&c<=b)&&(i<=h&&h<=g))},segmentMultipliers:[null,[1,-1],[1,1],[-1,1],[-1,-1]],inverseSegmentMultipliers:[null,[-1,-1],[-1,1],[1,1],[1,-1]],pointOnLine:function(a,e,b){var d=jsPlumbUtil.gradient(a,e),i=jsPlumbUtil.segment(a,e),h=b>0?jsPlumbUtil.segmentMultipliers[i]:jsPlumbUtil.inverseSegmentMultipliers[i],c=Math.atan(d),f=Math.abs(b*Math.sin(c))*h[1],g=Math.abs(b*Math.cos(c))*h[0];return{x:a.x+g,y:a.y+f}},perpendicularLineTo:function(c,d,e){var b=jsPlumbUtil.gradient(c,d),f=Math.atan(-1/b),g=e/2*Math.sin(f),a=e/2*Math.cos(f);return[{x:d.x+a,y:d.y+g},{x:d.x-a,y:d.y-g}]},findWithFunction:function(b,d){if(b){for(var c=0;c<b.length;c++){if(d(b[c])){return c}}}return -1},indexOf:function(a,b){return jsPlumbUtil.findWithFunction(a,function(c){return c==b})},removeWithFunction:function(c,d){var b=jsPlumbUtil.findWithFunction(c,d);if(b>-1){c.splice(b,1)}return b!=-1},remove:function(b,c){var a=jsPlumbUtil.indexOf(b,c);if(a>-1){b.splice(a,1)}return a!=-1},addWithFunction:function(c,b,a){if(jsPlumbUtil.findWithFunction(c,a)==-1){c.push(b)}},addToList:function(d,b,c){var a=d[b];if(a==null){a=[],d[b]=a}a.push(c);return a},EventGenerator:function(){var c={},b=this;var a=[\"ready\"];this.bind=function(d,e){jsPlumbUtil.addToList(c,d,e);return b};this.fire=function(g,h,d){if(c[g]){for(var f=0;f<c[g].length;f++){if(jsPlumbUtil.findWithFunction(a,function(i){return i===g})!=-1){c[g][f](h,d)}else{try{c[g][f](h,d)}catch(k){jsPlumbUtil.log(\"jsPlumb: fire failed for event \"+g+\" : \"+k)}}}}return b};this.unbind=function(d){if(d){delete c[d]}else{delete c;c={}}return b};this.getListener=function(d){return c[d]}},logEnabled:true,log:function(){if(jsPlumbUtil.logEnabled&&typeof console!=\"undefined\"){try{var b=arguments[arguments.length-1];console.log(b)}catch(a){}}},group:function(a){if(jsPlumbUtil.logEnabled&&typeof console!=\"undefined\"){console.group(a)}},groupEnd:function(a){if(jsPlumbUtil.logEnabled&&typeof console!=\"undefined\"){console.groupEnd(a)}},time:function(a){if(jsPlumbUtil.logEnabled&&typeof console!=\"undefined\"){console.time(a)}},timeEnd:function(a){if(jsPlumbUtil.logEnabled&&typeof console!=\"undefined\"){console.timeEnd(a)}}};(function(){var A=!!document.createElement(\"canvas\").getContext,e=!!window.SVGAngle||document.implementation.hasFeature(\"http://www.w3.org/TR/SVG11/feature#BasicStructure\",\"1.1\"),b=function(){if(b.vml==undefined){var L=document.body.appendChild(document.createElement(\"div\"));L.innerHTML='<v:shape id=\"vml_flag1\" adj=\"1\" />';var K=L.firstChild;K.style.behavior=\"url(#default#VML)\";b.vml=K?typeof K.adj==\"object\":true;L.parentNode.removeChild(L)}return b.vml};var i=jsPlumbUtil.findWithFunction,J=jsPlumbUtil.indexOf,D=jsPlumbUtil.removeWithFunction,m=jsPlumbUtil.remove,u=jsPlumbUtil.addWithFunction,l=jsPlumbUtil.addToList,n=jsPlumbUtil.isArray,C=jsPlumbUtil.isString,w=jsPlumbUtil.isObject;if(!window.console){window.console={time:function(){},timeEnd:function(){},group:function(){},groupEnd:function(){},log:function(){}}}var x=null,d=function(K,L){return p.CurrentLibrary.getAttribute(F(K),L)},f=function(L,M,K){p.CurrentLibrary.setAttribute(F(L),M,K)},B=function(L,K){p.CurrentLibrary.addClass(F(L),K)},k=function(L,K){return p.CurrentLibrary.hasClass(F(L),K)},o=function(L,K){p.CurrentLibrary.removeClass(F(L),K)},F=function(K){return p.CurrentLibrary.getElementObject(K)},t=function(K){return p.CurrentLibrary.getOffset(F(K))},a=function(K){return p.CurrentLibrary.getSize(F(K))},q=jsPlumbUtil.log,I=jsPlumbUtil.group,h=jsPlumbUtil.groupEnd,H=jsPlumbUtil.time,v=jsPlumbUtil.timeEnd,r=function(){return\"\"+(new Date()).getTime()},E=function(Z){var U=this,aa=arguments,R=false,O=Z.parameters||{},M=U.idPrefix,W=M+(new Date()).getTime(),V=null,ab=null;U._jsPlumb=Z._jsPlumb;U.getId=function(){return W};U.tooltip=Z.tooltip;U.hoverClass=Z.hoverClass||U._jsPlumb.Defaults.HoverClass||p.Defaults.HoverClass;jsPlumbUtil.EventGenerator.apply(this);this.clone=function(){var ac=new Object();U.constructor.apply(ac,aa);return ac};this.getParameter=function(ac){return O[ac]},this.getParameters=function(){return O},this.setParameter=function(ac,ad){O[ac]=ad},this.setParameters=function(ac){O=ac},this.overlayPlacements=[];var N=Z.beforeDetach;this.isDetachAllowed=function(ac){var ad=U._jsPlumb.checkCondition(\"beforeDetach\",ac);if(N){try{ad=N(ac)}catch(ae){q(\"jsPlumb: beforeDetach callback failed\",ae)}}return ad};var Q=Z.beforeDrop;this.isDropAllowed=function(ah,ae,af,ac,ad){var ag=U._jsPlumb.checkCondition(\"beforeDrop\",{sourceId:ah,targetId:ae,scope:af,connection:ac,dropEndpoint:ad});if(Q){try{ag=Q({sourceId:ah,targetId:ae,scope:af,connection:ac,dropEndpoint:ad})}catch(ai){q(\"jsPlumb: beforeDrop callback failed\",ai)}}return ag};var X=function(){if(V&&ab){var ac={};p.extend(ac,V);p.extend(ac,ab);delete U.hoverPaintStyle;if(ac.gradient&&V.fillStyle){delete ac.gradient}ab=ac}};this.setPaintStyle=function(ac,ad){V=ac;U.paintStyleInUse=V;X();if(!ad){U.repaint()}};this.getPaintStyle=function(){return V};this.setHoverPaintStyle=function(ac,ad){ab=ac;X();if(!ad){U.repaint()}};this.getHoverPaintStyle=function(){return ab};this.setHover=function(ac,ae,ad){if(!U._jsPlumb.currentlyDragging&&!U._jsPlumb.isHoverSuspended()){R=ac;if(U.hoverClass!=null&&U.canvas!=null){if(ac){L.addClass(U.canvas,U.hoverClass)}else{L.removeClass(U.canvas,U.hoverClass)}}if(ab!=null){U.paintStyleInUse=ac?ab:V;ad=ad||r();U.repaint({timestamp:ad,recalc:false})}if(U.getAttachedElements&&!ae){Y(ac,r(),U)}}};this.isHover=function(){return R};var L=p.CurrentLibrary,K=[\"click\",\"dblclick\",\"mouseenter\",\"mouseout\",\"mousemove\",\"mousedown\",\"mouseup\",\"contextmenu\"],T={mouseout:\"mouseexit\"},P=function(ae,af,ad){var ac=T[ad]||ad;L.bind(ae,ad,function(ag){af.fire(ac,af,ag)})},S=function(ae,ad){var ac=T[ad]||ad;L.unbind(ae,ad)};this.attachListeners=function(ad,ae){for(var ac=0;ac<K.length;ac++){P(ad,ae,K[ac])}};var Y=function(ag,af,ac){var ae=U.getAttachedElements();if(ae){for(var ad=0;ad<ae.length;ad++){if(!ac||ac!=ae[ad]){ae[ad].setHover(ag,true,af)}}}};this.reattachListenersForElement=function(ad){if(arguments.length>1){for(var ac=0;ac<K.length;ac++){S(ad,K[ac])}for(var ac=1;ac<arguments.length;ac++){U.attachListeners(ad,arguments[ac])}}}},z=function(P){E.apply(this,arguments);var U=this;this.overlays=[];var N=function(Z){var X=null;if(n(Z)){var W=Z[0],Y=p.extend({component:U,_jsPlumb:U._jsPlumb},Z[1]);if(Z.length==3){p.extend(Y,Z[2])}X=new p.Overlays[U._jsPlumb.getRenderMode()][W](Y);if(Y.events){for(var V in Y.events){X.bind(V,Y.events[V])}}}else{if(Z.constructor==String){X=new p.Overlays[U._jsPlumb.getRenderMode()][Z]({component:U,_jsPlumb:U._jsPlumb})}else{X=Z}}U.overlays.push(X)},O=function(Z){var V=U.defaultOverlayKeys||[],Y=Z.overlays,W=function(aa){return U._jsPlumb.Defaults[aa]||p.Defaults[aa]||[]};if(!Y){Y=[]}for(var X=0;X<V.length;X++){Y.unshift.apply(Y,W(V[X]))}return Y};var L=O(P);if(L){for(var Q=0;Q<L.length;Q++){N(L[Q])}}var K=function(X){var V=-1;for(var W=0;W<U.overlays.length;W++){if(X===U.overlays[W].id){V=W;break}}return V};this.addOverlay=function(V){N(V);U.repaint()};this.getOverlay=function(W){var V=K(W);return V>=0?U.overlays[V]:null};this.getOverlays=function(){return U.overlays};this.hideOverlay=function(W){var V=U.getOverlay(W);if(V){V.hide()}};this.hideOverlays=function(){for(var V=0;V<U.overlays.length;V++){U.overlays[V].hide()}};this.showOverlay=function(W){var V=U.getOverlay(W);if(V){V.show()}};this.showOverlays=function(){for(var V=0;V<U.overlays.length;V++){U.overlays[V].show()}};this.removeAllOverlays=function(){for(var V in U.overlays){U.overlays[V].cleanup()}U.overlays.splice(0,U.overlays.length);U.repaint()};this.removeOverlay=function(W){var V=K(W);if(V!=-1){var X=U.overlays[V];X.cleanup();U.overlays.splice(V,1)}};this.removeOverlays=function(){for(var V=0;V<arguments.length;V++){U.removeOverlay(arguments[V])}};var M=\"__label\",T=function(X){var V={cssClass:X.cssClass,labelStyle:this.labelStyle,id:M,component:U,_jsPlumb:U._jsPlumb},W=p.extend(V,X);return new p.Overlays[U._jsPlumb.getRenderMode()].Label(W)};if(P.label){var R=P.labelLocation||U.defaultLabelLocation||0.5,S=P.labelStyle||U._jsPlumb.Defaults.LabelStyle||p.Defaults.LabelStyle;this.overlays.push(T({label:P.label,location:R,labelStyle:S}))}this.setLabel=function(V){var W=U.getOverlay(M);if(!W){var X=V.constructor==String||V.constructor==Function?{label:V}:V;W=T(X);this.overlays.push(W)}else{if(V.constructor==String||V.constructor==Function){W.setLabel(V)}else{if(V.label){W.setLabel(V.label)}if(V.location){W.setLocation(V.location)}}}U.repaint()};this.getLabel=function(){var V=U.getOverlay(M);return V!=null?V.getLabel():null};this.getLabelOverlay=function(){return U.getOverlay(M)}},G=function(M,K,L){M.bind(\"click\",function(N,O){K.fire(\"click\",K,O)});M.bind(\"dblclick\",function(N,O){K.fire(\"dblclick\",K,O)});M.bind(\"contextmenu\",function(N,O){K.fire(\"contextmenu\",K,O)});M.bind(\"mouseenter\",function(N,O){if(!K.isHover()){L(true);K.fire(\"mouseenter\",K,O)}});M.bind(\"mouseexit\",function(N,O){if(K.isHover()){L(false);K.fire(\"mouseexit\",K,O)}})};var g=0,c=function(){var K=g+1;g++;return K};var y=function(L){this.Defaults={Anchor:\"BottomCenter\",Anchors:[null,null],ConnectionsDetachable:true,ConnectionOverlays:[],Connector:\"Bezier\",Container:null,DragOptions:{},DropOptions:{},Endpoint:\"Dot\",EndpointOverlays:[],Endpoints:[null,null],EndpointStyle:{fillStyle:\"#456\"},EndpointStyles:[null,null],EndpointHoverStyle:null,EndpointHoverStyles:[null,null],HoverPaintStyle:null,LabelStyle:{color:\"black\"},LogEnabled:false,Overlays:[],MaxConnections:1,PaintStyle:{lineWidth:8,strokeStyle:\"#456\"},RenderMode:\"svg\",Scope:\"jsPlumb_DefaultScope\"};if(L){p.extend(this.Defaults,L)}this.logEnabled=this.Defaults.LogEnabled;jsPlumbUtil.EventGenerator.apply(this);var bn=this,aL=c(),aO=bn.bind,aC={};for(var aB in this.Defaults){aC[aB]=this.Defaults[aB]}this.bind=function(bw,bv){if(\"ready\"===bw&&M){bv()}else{aO.apply(bn,[bw,bv])}};bn.importDefaults=function(bw){for(var bv in bw){bn.Defaults[bv]=bw[bv]}};bn.restoreDefaults=function(){bn.Defaults=p.extend({},aC)};var P=null,ar=function(){p.repaintEverything()},bp=true,aP=function(){if(bp){ar()}},be=null,M=false,aY={},aT={},aU={},ah={},br={},bf={},bm={},bu=[],ae=[],Q=this.Defaults.Scope,X=null,V=function(by,bw,bx){var bv=by[bw];if(bv==null){bv=[];by[bw]=bv}bv.push(bx);return bv},aW=function(bw,bv){if(bn.Defaults.Container){p.CurrentLibrary.appendElement(bw,bn.Defaults.Container)}else{if(!bv){document.body.appendChild(bw)}else{p.CurrentLibrary.appendElement(bw,bv)}}},aD=1,ak=function(){return\"\"+aD++},aI=function(bv){return bv._nodes?bv._nodes:bv},a6=false,bg=function(bw,bv){a6=bw;if(bv){bn.repaintEverything()}},ba=function(bx,bz,by){if(!a6){var bA=d(bx,\"id\"),bv=bn.dragManager.getElementsForDraggable(bA);if(by==null){by=r()}bn.anchorManager.redraw(bA,bz,by);if(bv){for(var bw in bv){bn.anchorManager.redraw(bv[bw].id,bz,by,bv[bw].offset)}}}},aG=function(bw,by){var bz=null;if(n(bw)){bz=[];for(var bv=0;bv<bw.length;bv++){var bx=F(bw[bv]),bA=d(bx,\"id\");bz.push(by(bx,bA))}}else{var bx=F(bw),bA=d(bx,\"id\");bz=by(bx,bA)}return bz},av=function(bv){return aU[bv]},bb=function(bz,bv,bC){var bE=bv==null?false:bv,bA=p.CurrentLibrary;if(bE){if(bA.isDragSupported(bz)&&!bA.isAlreadyDraggable(bz)){var bD=bC||bn.Defaults.DragOptions||p.Defaults.DragOptions;bD=p.extend({},bD);var bB=bA.dragEvents.drag,bw=bA.dragEvents.stop,by=bA.dragEvents.start;bD[by]=am(bD[by],function(){bn.setHoverSuspended(true)});bD[bB]=am(bD[bB],function(){var bF=bA.getUIPosition(arguments);ba(bz,bF);B(bz,\"jsPlumb_dragged\")});bD[bw]=am(bD[bw],function(){var bF=bA.getUIPosition(arguments);ba(bz,bF);o(bz,\"jsPlumb_dragged\");bn.setHoverSuspended(false)});var bx=K(bz);bm[bx]=true;var bE=bm[bx];bD.disabled=bE==null?false:!bE;bA.initDraggable(bz,bD,false);bn.dragManager.register(bz)}}},aA=function(bB,bw){var bv=p.extend({},bB);if(bw){p.extend(bv,bw)}if(bv.source&&bv.source.endpoint){bv.sourceEndpoint=bv.source}if(bv.source&&bv.target.endpoint){bv.targetEndpoint=bv.target}if(bB.uuids){bv.sourceEndpoint=av(bB.uuids[0]);bv.targetEndpoint=av(bB.uuids[1])}if(bv.sourceEndpoint&&bv.sourceEndpoint.isFull()){q(bn,\"could not add connection; source endpoint is full\");return}if(bv.targetEndpoint&&bv.targetEndpoint.isFull()){q(bn,\"could not add connection; target endpoint is full\");return}if(bv.sourceEndpoint&&bv.sourceEndpoint.connectorOverlays){bv.overlays=bv.overlays||[];for(var bz=0;bz<bv.sourceEndpoint.connectorOverlays.length;bz++){bv.overlays.push(bv.sourceEndpoint.connectorOverlays[bz])}}bv.tooltip=bB.tooltip;if(!bv.tooltip&&bv.sourceEndpoint&&bv.sourceEndpoint.connectorTooltip){bv.tooltip=bv.sourceEndpoint.connectorTooltip}if(bv.target&&!bv.target.endpoint&&!bv.targetEndpoint&&!bv.newConnection){var bA=K(bv.target),bC=aZ[bA],bx=aH[bA];if(bC){if(!aj[bA]){return}var by=bx!=null?bx:bn.addEndpoint(bv.target,bC);if(bh[bA]){aH[bA]=by}bv.targetEndpoint=by;by._makeTargetCreator=true}}if(bv.source&&!bv.source.endpoint&&!bv.sourceEndpoint&&!bv.newConnection){var bA=K(bv.source),bC=az[bA],bx=a5[bA];if(bC){if(!ac[bA]){return}var by=bx!=null?bx:bn.addEndpoint(bv.source,bC);if(a9[bA]){a5[bA]=by}bv.sourceEndpoint=by}}return bv},ad=function(bz){var by=bn.Defaults.ConnectionType||bn.getDefaultConnectionType(),bx=bn.Defaults.EndpointType||af,bw=p.CurrentLibrary.getParent;if(bz.container){bz.parent=bz.container}else{if(bz.sourceEndpoint){bz.parent=bz.sourceEndpoint.parent}else{if(bz.source.constructor==bx){bz.parent=bz.source.parent}else{bz.parent=bw(bz.source)}}}bz._jsPlumb=bn;var bv=new by(bz);bv.id=\"con_\"+ak();bs(\"click\",\"click\",bv);bs(\"dblclick\",\"dblclick\",bv);bs(\"contextmenu\",\"contextmenu\",bv);return bv},bt=function(bw,bx,bv){bx=bx||{};if(!bw.suspendedEndpoint){V(aY,bw.scope,bw)}if(!bx.doNotFireConnectionEvent&&bx.fireEvent!==false){bn.fire(\"jsPlumbConnection\",{connection:bw,source:bw.source,target:bw.target,sourceId:bw.sourceId,targetId:bw.targetId,sourceEndpoint:bw.endpoints[0],targetEndpoint:bw.endpoints[1]},bv)}bn.anchorManager.newConnection(bw);ba(bw.source)},bs=function(bv,bw,bx){bx.bind(bv,function(bz,by){bn.fire(bw,bx,by)})},aw=function(bx){if(bx.container){return bx.container}else{var bv=p.CurrentLibrary.getTagName(bx.source),bw=p.CurrentLibrary.getParent(bx.source);if(bv&&bv.toLowerCase()===\"td\"){return p.CurrentLibrary.getParent(bw)}else{return bw}}},aF=function(bx){var bw=bn.Defaults.EndpointType||af;bx.parent=aw(bx);bx._jsPlumb=bn;var bv=new bw(bx);bv.id=\"ep_\"+ak();bs(\"click\",\"endpointClick\",bv);bs(\"dblclick\",\"endpointDblClick\",bv);bs(\"contextmenu\",\"contextmenu\",bv);return bv},U=function(bx,bA,bz){var bv=aT[bx];if(bv&&bv.length){for(var by=0;by<bv.length;by++){for(var bw=0;bw<bv[by].connections.length;bw++){var bB=bA(bv[by].connections[bw]);if(bB){return}}if(bz){bz(bv[by])}}}},Y=function(bw){for(var bv in aT){U(bv,bw)}},au=function(bv,bw){if(bv!=null&&bv.parentNode!=null){bv.parentNode.removeChild(bv)}},aX=function(bx,bw){for(var bv=0;bv<bx.length;bv++){au(bx[bv],bw)}},bk=function(bw,bv){return aG(bw,function(bx,by){bm[by]=bv;if(p.CurrentLibrary.isDragSupported(bx)){p.CurrentLibrary.setDraggable(bx,bv)}})},a3=function(bx,by,bv){by=by===\"block\";var bw=null;if(bv){if(by){bw=function(bA){bA.setVisible(true,true,true)}}else{bw=function(bA){bA.setVisible(false,true,true)}}}var bz=d(bx,\"id\");U(bz,function(bB){if(by&&bv){var bA=bB.sourceId===bz?1:0;if(bB.endpoints[bA].isVisible()){bB.setVisible(true)}}else{bB.setVisible(by)}},bw)},bi=function(bv){return aG(bv,function(bx,bw){var by=bm[bw]==null?false:bm[bw];by=!by;bm[bw]=by;p.CurrentLibrary.setDraggable(bx,by);return by})},aQ=function(bv,bx){var bw=null;if(bx){bw=function(by){var bz=by.isVisible();by.setVisible(!bz)}}U(bv,function(bz){var by=bz.isVisible();bz.setVisible(!by)},bw)},W=function(bA){var by=bA.timestamp,bv=bA.recalc,bz=bA.offset,bw=bA.elId;if(!bv){if(by&&by===br[bw]){return ah[bw]}}if(bv||!bz){var bx=F(bw);if(bx!=null){ae[bw]=a(bx);ah[bw]=t(bx);br[bw]=by}}else{ah[bw]=bz;if(ae[bw]==null){var bx=F(bw);if(bx!=null){ae[bw]=a(bx)}}}if(ah[bw]&&!ah[bw].right){ah[bw].right=ah[bw].left+ae[bw][0];ah[bw].bottom=ah[bw].top+ae[bw][1];ah[bw].width=ae[bw][0];ah[bw].height=ae[bw][1];ah[bw].centerx=ah[bw].left+(ah[bw].width/2);ah[bw].centery=ah[bw].top+(ah[bw].height/2)}return ah[bw]},aN=function(bv){var bw=ah[bv];if(!bw){bw=W({elId:bv})}return{o:bw,s:ae[bv]}},K=function(bv,bw,by){var bx=F(bv);var bz=d(bx,\"id\");if(!bz||bz==\"undefined\"){if(arguments.length==2&&arguments[1]!=undefined){bz=bw}else{if(arguments.length==1||(arguments.length==3&&!arguments[2])){bz=\"jsPlumb_\"+aL+\"_\"+ak()}}f(bx,\"id\",bz)}return bz},am=function(bx,bv,bw){bx=bx||function(){};bv=bv||function(){};return function(){var by=null;try{by=bv.apply(this,arguments)}catch(bz){q(bn,\"jsPlumb function failed : \"+bz)}if(bw==null||(by!==bw)){try{bx.apply(this,arguments)}catch(bz){q(bn,\"wrapped function failed : \"+bz)}}return by}};this.connectorClass=\"_jsPlumb_connector\";this.endpointClass=\"_jsPlumb_endpoint\";this.overlayClass=\"_jsPlumb_overlay\";this.Anchors={};this.Connectors={canvas:{},svg:{},vml:{}};this.Endpoints={canvas:{},svg:{},vml:{}};this.Overlays={canvas:{},svg:{},vml:{}};this.addClass=function(bw,bv){return p.CurrentLibrary.addClass(bw,bv)};this.removeClass=function(bw,bv){return p.CurrentLibrary.removeClass(bw,bv)};this.hasClass=function(bw,bv){return p.CurrentLibrary.hasClass(bw,bv)};this.addEndpoint=function(bx,by,bH){bH=bH||{};var bw=p.extend({},bH);p.extend(bw,by);bw.endpoint=bw.endpoint||bn.Defaults.Endpoint||p.Defaults.Endpoint;bw.paintStyle=bw.paintStyle||bn.Defaults.EndpointStyle||p.Defaults.EndpointStyle;bx=aI(bx);var bz=[],bC=bx.length&&bx.constructor!=String?bx:[bx];for(var bA=0;bA<bC.length;bA++){var bF=F(bC[bA]),bv=K(bF);bw.source=bF;W({elId:bv});var bE=aF(bw);if(bw.parentAnchor){bE.parentAnchor=bw.parentAnchor}V(aT,bv,bE);var bD=ah[bv],bB=ae[bv];var bG=bE.anchor.compute({xy:[bD.left,bD.top],wh:bB,element:bE});bE.paint({anchorLoc:bG});bz.push(bE);bn.dragManager.endpointAdded(bF)}return bz.length==1?bz[0]:bz};this.addEndpoints=function(bz,bw,bv){var by=[];for(var bx=0;bx<bw.length;bx++){var bA=bn.addEndpoint(bz,bw[bx],bv);if(n(bA)){Array.prototype.push.apply(by,bA)}else{by.push(bA)}}return by};this.animate=function(bx,bw,bv){var by=F(bx),bB=d(bx,\"id\");bv=bv||{};var bA=p.CurrentLibrary.dragEvents.step;var bz=p.CurrentLibrary.dragEvents.complete;bv[bA]=am(bv[bA],function(){bn.repaint(bB)});bv[bz]=am(bv[bz],function(){bn.repaint(bB)});p.CurrentLibrary.animate(by,bw,bv)};this.checkCondition=function(bx,bz){var bv=bn.getListener(bx);var by=true;if(bv&&bv.length>0){try{for(var bw=0;bw<bv.length;bw++){by=by&&bv[bw](bz)}}catch(bA){q(bn,\"cannot check condition [\"+bx+\"]\"+bA)}}return by};this.connect=function(by,bw){var bv=aA(by,bw);if(bv){if(bv.deleteEndpointsOnDetach==null){bv.deleteEndpointsOnDetach=true}var bx=ad(bv);bt(bx,bv);return bx}};this.deleteEndpoint=function(bw){var bB=(typeof bw==\"string\")?aU[bw]:bw;if(bB){var by=bB.getUuid();if(by){aU[by]=null}bB.detachAll();aX(bB.endpoint.getDisplayElements());bn.anchorManager.deleteEndpoint(bB);for(var bA in aT){var bv=aT[bA];if(bv){var bz=[];for(var bx=0;bx<bv.length;bx++){if(bv[bx]!=bB){bz.push(bv[bx])}}aT[bA]=bz}}bn.dragManager.endpointDeleted(bB)}};this.deleteEveryEndpoint=function(){for(var bx in aT){var bv=aT[bx];if(bv&&bv.length){for(var bw=0;bw<bv.length;bw++){bn.deleteEndpoint(bv[bw])}}}delete aT;aT={};delete aU;aU={}};var a7=function(by,bA,bv){var bx=bn.Defaults.ConnectionType||bn.getDefaultConnectionType(),bw=by.constructor==bx,bz=bw?{connection:by,source:by.source,target:by.target,sourceId:by.sourceId,targetId:by.targetId,sourceEndpoint:by.endpoints[0],targetEndpoint:by.endpoints[1]}:by;if(bA){bn.fire(\"jsPlumbConnectionDetached\",bz,bv)}bn.anchorManager.connectionDetached(bz)},a4=function(bv){bn.fire(\"connectionDrag\",bv)},aR=function(bv){bn.fire(\"connectionDragStop\",bv)};this.detach=function(){if(arguments.length==0){return}var bz=bn.Defaults.ConnectionType||bn.getDefaultConnectionType(),bA=arguments[0].constructor==bz,by=arguments.length==2?bA?(arguments[1]||{}):arguments[0]:arguments[0],bD=(by.fireEvent!==false),bx=by.forceDetach,bw=bA?arguments[0]:by.connection;if(bw){if(bx||(bw.isDetachAllowed(bw)&&bw.endpoints[0].isDetachAllowed(bw)&&bw.endpoints[1].isDetachAllowed(bw))){if(bx||bn.checkCondition(\"beforeDetach\",bw)){bw.endpoints[0].detach(bw,false,true,bD)}}}else{var bv=p.extend({},by);if(bv.uuids){av(bv.uuids[0]).detachFrom(av(bv.uuids[1]),bD)}else{if(bv.sourceEndpoint&&bv.targetEndpoint){bv.sourceEndpoint.detachFrom(bv.targetEndpoint)}else{var bC=K(bv.source),bB=K(bv.target);U(bC,function(bE){if((bE.sourceId==bC&&bE.targetId==bB)||(bE.targetId==bC&&bE.sourceId==bB)){if(bn.checkCondition(\"beforeDetach\",bE)){bE.endpoints[0].detach(bE,false,true,bD)}}})}}}};this.detachAllConnections=function(bx,by){by=by||{};bx=F(bx);var bz=d(bx,\"id\"),bv=aT[bz];if(bv&&bv.length){for(var bw=0;bw<bv.length;bw++){bv[bw].detachAll(by.fireEvent)}}};this.detachEveryConnection=function(bx){bx=bx||{};for(var by in aT){var bv=aT[by];if(bv&&bv.length){for(var bw=0;bw<bv.length;bw++){bv[bw].detachAll(bx.fireEvent)}}}delete aY;aY={}};this.draggable=function(bx,bv){if(typeof bx==\"object\"&&bx.length){for(var bw=0;bw<bx.length;bw++){var by=F(bx[bw]);if(by){bb(by,true,bv)}}}else{if(bx._nodes){for(var bw=0;bw<bx._nodes.length;bw++){var by=F(bx._nodes[bw]);if(by){bb(by,true,bv)}}}else{var by=F(bx);if(by){bb(by,true,bv)}}}};this.extend=function(bw,bv){return p.CurrentLibrary.extend(bw,bv)};this.getDefaultEndpointType=function(){return af};this.getDefaultConnectionType=function(){return ax};var bq=function(bz,by,bw,bv){for(var bx=0;bx<bz.length;bx++){bz[bx][by].apply(bz[bx],bw)}return bv(bz)},S=function(bz,by,bw){var bv=[];for(var bx=0;bx<bz.length;bx++){bv.push([bz[bx][by].apply(bz[bx],bw),bz[bx]])}return bv},an=function(bx,bw,bv){return function(){return bq(bx,bw,arguments,bv)}},ay=function(bw,bv){return function(){return S(bw,bv,arguments)}};this.getConnections=function(bH,bw){if(!bH){bH={}}else{if(bH.constructor==String){bH={scope:bH}}}var bE=function(bI){var bJ=[];if(bI){if(typeof bI==\"string\"){if(bI===\"*\"){return bI}bJ.push(bI)}else{bJ=bI}}return bJ},bF=bH.scope||bn.getDefaultScope(),bD=bE(bF),bv=bE(bH.source),bB=bE(bH.target),bx=function(bJ,bI){if(bJ===\"*\"){return true}return bJ.length>0?J(bJ,bI)!=-1:true},bA=(!bw&&bD.length>1)?{}:[],bG=function(bJ,bK){if(!bw&&bD.length>1){var bI=bA[bJ];if(bI==null){bI=[];bA[bJ]=bI}bI.push(bK)}else{bA.push(bK)}};for(var bz in aY){if(bx(bD,bz)){for(var by=0;by<aY[bz].length;by++){var bC=aY[bz][by];if(bx(bv,bC.sourceId)&&bx(bB,bC.targetId)){bG(bz,bC)}}}}return bA};var aK=function(bv){return{setHover:an(bv,\"setHover\",aK),removeAllOverlays:an(bv,\"removeAllOverlays\",aK),setLabel:an(bv,\"setLabel\",aK),addOverlay:an(bv,\"addOverlay\",aK),removeOverlay:an(bv,\"removeOverlay\",aK),removeOverlays:an(bv,\"removeOverlays\",aK),showOverlay:an(bv,\"showOverlay\",aK),hideOverlay:an(bv,\"hideOverlay\",aK),showOverlays:an(bv,\"showOverlays\",aK),hideOverlays:an(bv,\"hideOverlays\",aK),setPaintStyle:an(bv,\"setPaintStyle\",aK),setHoverPaintStyle:an(bv,\"setHoverPaintStyle\",aK),setDetachable:an(bv,\"setDetachable\",aK),setConnector:an(bv,\"setConnector\",aK),setParameter:an(bv,\"setParameter\",aK),setParameters:an(bv,\"setParameters\",aK),detach:function(){for(var bw=0;bw<bv.length;bw++){bn.detach(bv[bw])}},getLabel:ay(bv,\"getLabel\"),getOverlay:ay(bv,\"getOverlay\"),isHover:ay(bv,\"isHover\"),isDetachable:ay(bv,\"isDetachable\"),getParameter:ay(bv,\"getParameter\"),getParameters:ay(bv,\"getParameters\"),getPaintStyle:ay(bv,\"getPaintStyle\"),getHoverPaintStyle:ay(bv,\"getHoverPaintStyle\"),length:bv.length,each:function(bx){for(var bw=0;bw<bv.length;bw++){bx(bv[bw])}return aK(bv)},get:function(bw){return bv[bw]}}};this.select=function(bv){bv=bv||{};bv.scope=bv.scope||\"*\";var bw=bn.getConnections(bv,true);return aK(bw)};this.getAllConnections=function(){return aY};this.getDefaultScope=function(){return Q};this.getEndpoint=av;this.getEndpoints=function(bv){return aT[K(bv)]};this.getId=K;this.getOffset=function(bw){var bv=ah[bw];return W({elId:bw})};this.getSelector=function(bv){return p.CurrentLibrary.getSelector(bv)};this.getSize=function(bw){var bv=ae[bw];if(!bv){W({elId:bw})}return ae[bw]};this.appendElement=aW;var aS=false;this.isHoverSuspended=function(){return aS};this.setHoverSuspended=function(bv){aS=bv};this.isCanvasAvailable=function(){return A};this.isSVGAvailable=function(){return e};this.isVMLAvailable=b;this.hide=function(bv,bw){a3(bv,\"none\",bw)};this.idstamp=ak;this.init=function(){if(!M){bn.setRenderMode(bn.Defaults.RenderMode);var bv=function(bw){p.CurrentLibrary.bind(document,bw,function(bC){if(!bn.currentlyDragging&&X==p.CANVAS){for(var bB in aY){var bD=aY[bB];for(var bz=0;bz<bD.length;bz++){var by=bD[bz].connector[bw](bC);if(by){return}}}for(var bA in aT){var bx=aT[bA];for(var bz=0;bz<bx.length;bz++){if(bx[bz].endpoint[bw](bC)){return}}}}})};bv(\"click\");bv(\"dblclick\");bv(\"mousemove\");bv(\"mousedown\");bv(\"mouseup\");bv(\"contextmenu\");M=true;bn.fire(\"ready\")}};this.log=P;this.jsPlumbUIComponent=E;this.makeAnchor=function(){if(arguments.length==0){return null}var bA=arguments[0],bx=arguments[1],bw=arguments[2],by=null;if(bA.compute&&bA.getOrientation){return bA}else{if(typeof bA==\"string\"){by=p.Anchors[arguments[0]]({elementId:bx,jsPlumbInstance:bn})}else{if(n(bA)){if(n(bA[0])||C(bA[0])){if(bA.length==2&&C(bA[0])&&w(bA[1])){var bv=p.extend({elementId:bx,jsPlumbInstance:bn},bA[1]);by=p.Anchors[bA[0]](bv)}else{by=new aq(bA,null,bx)}}else{var bz={x:bA[0],y:bA[1],orientation:(bA.length>=4)?[bA[2],bA[3]]:[0,0],offsets:(bA.length==6)?[bA[4],bA[5]]:[0,0],elementId:bx};by=new aa(bz);by.clone=function(){return new aa(bz)}}}}}if(!by.id){by.id=\"anchor_\"+ak()}return by};this.makeAnchors=function(by,bw,bv){var bz=[];for(var bx=0;bx<by.length;bx++){if(typeof by[bx]==\"string\"){bz.push(p.Anchors[by[bx]]({elementId:bw,jsPlumbInstance:bv}))}else{if(n(by[bx])){bz.push(bn.makeAnchor(by[bx],bw,bv))}}}return bz};this.makeDynamicAnchor=function(bv,bw){return new aq(bv,bw)};var aZ={},aH={},bh={},ap={},ab=function(bv,bw){bv.paintStyle=bv.paintStyle||bn.Defaults.EndpointStyles[bw]||bn.Defaults.EndpointStyle||p.Defaults.EndpointStyles[bw]||p.Defaults.EndpointStyle;bv.hoverPaintStyle=bv.hoverPaintStyle||bn.Defaults.EndpointHoverStyles[bw]||bn.Defaults.EndpointHoverStyle||p.Defaults.EndpointHoverStyles[bw]||p.Defaults.EndpointHoverStyle;bv.anchor=bv.anchor||bn.Defaults.Anchors[bw]||bn.Defaults.Anchor||p.Defaults.Anchors[bw]||p.Defaults.Anchor;bv.endpoint=bv.endpoint||bn.Defaults.Endpoints[bw]||bn.Defaults.Endpoint||p.Defaults.Endpoints[bw]||p.Defaults.Endpoint};this.makeTarget=function(by,bz,bF){var bw=p.extend({_jsPlumb:bn},bF);p.extend(bw,bz);ab(bw,1);var bD=p.CurrentLibrary,bE=bw.scope||bn.Defaults.Scope,bA=!(bw.deleteEndpointsOnDetach===false),bx=bw.maxConnections||-1,bv=function(bK){var bI=K(bK);aZ[bI]=bw;bh[bI]=bw.uniqueEndpoint,ap[bI]=bx,aj[bI]=true,proxyComponent=new E(bw);var bH=p.extend({},bw.dropOptions||{}),bG=function(){var bN=p.CurrentLibrary.getDropEvent(arguments),bP=bn.select({target:bI}).length;if(!aj[bI]||ap[bI]>0&&bP>=ap[bI]){console.log(\"target element \"+bI+\" is full.\");return false}bn.currentlyDragging=false;var bZ=F(bD.getDragObject(arguments)),bO=d(bZ,\"dragId\"),bX=d(bZ,\"originalScope\"),bU=bf[bO],bM=bU.endpoints[0],bL=bw.endpoint?p.extend({},bw.endpoint):{};bM.anchor.locked=false;if(bX){bD.setDragScope(bZ,bX)}var bS=proxyComponent.isDropAllowed(bU.sourceId,K(bK),bU.scope,bU,null);if(bU.endpointsToDeleteOnDetach){if(bM===bU.endpointsToDeleteOnDetach[0]){bU.endpointsToDeleteOnDetach[0]=null}else{if(bM===bU.endpointsToDeleteOnDetach[1]){bU.endpointsToDeleteOnDetach[1]=null}}}if(bU.suspendedEndpoint){bU.targetId=bU.suspendedEndpoint.elementId;bU.target=bD.getElementObject(bU.suspendedEndpoint.elementId);bU.endpoints[1]=bU.suspendedEndpoint}if(bS){bM.detach(bU,false,true,false);var bY=aH[bI]||bn.addEndpoint(bK,bw);if(bw.uniqueEndpoint){aH[bI]=bY}bY._makeTargetCreator=true;if(bY.anchor.positionFinder!=null){var bV=bD.getUIPosition(arguments),bR=bD.getOffset(bK),bW=bD.getSize(bK),bQ=bY.anchor.positionFinder(bV,bR,bW,bY.anchor.constructorParams);bY.anchor.x=bQ[0];bY.anchor.y=bQ[1]}var bT=bn.connect({source:bM,target:bY,scope:bX,previousConnection:bU,container:bU.parent,deleteEndpointsOnDetach:bA,doNotFireConnectionEvent:bM.endpointWillMoveAfterConnection});if(bU.endpoints[1]._makeTargetCreator&&bU.endpoints[1].connections.length<2){bn.deleteEndpoint(bU.endpoints[1])}if(bA){bT.endpointsToDeleteOnDetach=[bM,bY]}bT.repaint()}else{if(bU.suspendedEndpoint){if(bM.isReattach){bU.setHover(false);bU.floatingAnchorIndex=null;bU.suspendedEndpoint.addConnection(bU);bn.repaint(bM.elementId)}else{bM.detach(bU,false,true,true,bN)}}}};var bJ=bD.dragEvents.drop;bH.scope=bH.scope||bE;bH[bJ]=am(bH[bJ],bG);bD.initDroppable(bK,bH,true)};by=aI(by);var bC=by.length&&by.constructor!=String?by:[by];for(var bB=0;bB<bC.length;bB++){bv(F(bC[bB]))}return bn};this.unmakeTarget=function(bw,bx){bw=p.CurrentLibrary.getElementObject(bw);var bv=K(bw);if(!bx){delete aZ[bv];delete bh[bv];delete ap[bv];delete aj[bv]}return bn};this.makeTargets=function(bx,by,bv){for(var bw=0;bw<bx.length;bw++){bn.makeTarget(bx[bw],by,bv)}};var az={},a5={},a9={},ac={},N={},aj={};this.makeSource=function(bz,bC,bv){var bA=p.extend({},bv);p.extend(bA,bC);ab(bA,0);var by=p.CurrentLibrary,bB=function(bK){var bE=K(bK),bL=bA.parent,bD=bL!=null?bn.getId(by.getElementObject(bL)):bE;az[bD]=bA;a9[bD]=bA.uniqueEndpoint;ac[bD]=true;var bF=by.dragEvents.stop,bJ=by.dragEvents.drag,bM=p.extend({},bA.dragOptions||{}),bH=bM.drag,bN=bM.stop,bO=null,bI=false;bM.scope=bM.scope||bA.scope;bM[bJ]=am(bM[bJ],function(){if(bH){bH.apply(this,arguments)}bI=false});bM[bF]=am(bM[bF],function(){if(bN){bN.apply(this,arguments)}bn.currentlyDragging=false;if(bO.connections.length==0){bn.deleteEndpoint(bO)}else{by.unbind(bO.canvas,\"mousedown\");var bQ=bA.anchor||bn.Defaults.Anchor,bR=bO.anchor,bT=bO.connections[0];bO.anchor=bn.makeAnchor(bQ,bE,bn);if(bA.parent){var bS=by.getElementObject(bA.parent);if(bS){var bP=bO.elementId;var bU=bA.container||bn.Defaults.Container||p.Defaults.Container;bO.setElement(bS,bU);bO.endpointWillMoveAfterConnection=false;bn.anchorManager.rehomeEndpoint(bP,bS);bT.previousConnection=null;D(aY[bT.scope],function(bV){return bV.id===bT.id});bn.anchorManager.connectionDetached({sourceId:bT.sourceId,targetId:bT.targetId,connection:bT});bt(bT)}}bO.repaint();bn.repaint(bO.elementId);bn.repaint(bT.targetId)}});var bG=function(bS){if(!ac[bD]){return}if(bC.filter){var bP=bC.filter(by.getOriginalEvent(bS),bK);if(bP===false){return}}var bW=W({elId:bE});var bV=((bS.pageX||bS.page.x)-bW.left)/bW.width,bU=((bS.pageY||bS.page.y)-bW.top)/bW.height,b0=bV,bZ=bU;if(bA.parent){var bT=by.getElementObject(bA.parent),bR=K(bT);bW=W({elId:bR});b0=((bS.pageX||bS.page.x)-bW.left)/bW.width,bZ=((bS.pageY||bS.page.y)-bW.top)/bW.height}var bY={};p.extend(bY,bA);bY.isSource=true;bY.anchor=[bV,bU,0,0];bY.parentAnchor=[b0,bZ,0,0];bY.dragOptions=bM;if(bA.parent){var bQ=bY.container||bn.Defaults.Container||p.Defaults.Container;if(bQ){bY.container=bQ}else{bY.container=p.CurrentLibrary.getParent(bA.parent)}}bO=bn.addEndpoint(bE,bY);bI=true;bO.endpointWillMoveAfterConnection=bA.parent!=null;bO.endpointWillMoveTo=bA.parent?by.getElementObject(bA.parent):null;var bX=function(){if(bI){bn.deleteEndpoint(bO)}};bn.registerListener(bO.canvas,\"mouseup\",bX);bn.registerListener(bK,\"mouseup\",bX);by.trigger(bO.canvas,\"mousedown\",bS)};bn.registerListener(bK,\"mousedown\",bG);N[bE]=bG};bz=aI(bz);var bw=bz.length&&bz.constructor!=String?bz:[bz];for(var bx=0;bx<bw.length;bx++){bB(F(bw[bx]))}return bn};this.unmakeSource=function(bw,bx){bw=p.CurrentLibrary.getElementObject(bw);var by=K(bw),bv=N[by];if(bv){bn.unregisterListener(_el,\"mousedown\",bv)}if(!bx){delete az[by];delete a9[by];delete ac[by];delete N[by]}return bn};this.unmakeEverySource=function(){for(var bv in ac){bn.unmakeSource(bv,true)}az={};a9={};ac={};N={}};this.unmakeEveryTarget=function(){for(var bv in aj){bn.unmakeTarget(bv,true)}aZ={};bh={};ap={};aj={};return bn};this.makeSources=function(bx,by,bv){for(var bw=0;bw<bx.length;bw++){bn.makeSource(bx[bw],by,bv)}return bn};var aM=function(bz,by,bA,bv){var bw=bz==\"source\"?ac:aj;if(C(by)){bw[by]=bv?!bw[by]:bA}else{if(by.length){by=aI(by);for(var bx=0;bx<by.length;bx++){var bB=_el=p.CurrentLibrary.getElementObject(by[bx]),bB=K(_el);bw[bB]=bv?!bw[bB]:bA}}}return bn};this.setSourceEnabled=function(bv,bw){return aM(\"source\",bv,bw)};this.toggleSourceEnabled=function(bv){aM(\"source\",bv,null,true);return bn.isSourceEnabled(bv)};this.isSource=function(bv){bv=p.CurrentLibrary.getElementObject(bv);return ac[K(bv)]!=null};this.isSourceEnabled=function(bv){bv=p.CurrentLibrary.getElementObject(bv);return ac[K(bv)]===true};this.setTargetEnabled=function(bv,bw){return aM(\"target\",bv,bw)};this.toggleTargetEnabled=function(bv){return aM(\"target\",bv,null,true);return bn.isTargetEnabled(bv)};this.isTarget=function(bv){bv=p.CurrentLibrary.getElementObject(bv);return aj[K(bv)]!=null};this.isTargetEnabled=function(bv){bv=p.CurrentLibrary.getElementObject(bv);return aj[K(bv)]===true};this.ready=function(bv){bn.bind(\"ready\",bv)},this.repaint=function(bw){var bx=function(by){ba(F(by))};if(typeof bw==\"object\"){for(var bv=0;bv<bw.length;bv++){bx(bw[bv])}}else{bx(bw)}};this.repaintEverything=function(){for(var bv in aT){ba(F(bv),null,null)}};this.removeAllEndpoints=function(bx){var bv=d(bx,\"id\"),by=aT[bv];if(by){for(var bw=0;bw<by.length;bw++){bn.deleteEndpoint(by[bw])}}aT[bv]=[]};this.removeEveryEndpoint=this.deleteEveryEndpoint;this.removeEndpoint=function(bv,bw){bn.deleteEndpoint(bw)};var ag={},bd=function(){for(var bw in ag){for(var bv=0;bv<ag[bw].length;bv++){var bx=ag[bw][bv];p.CurrentLibrary.unbind(bx.el,bx.event,bx.listener)}}ag={}};this.registerListener=function(bw,bv,bx){p.CurrentLibrary.bind(bw,bv,bx);V(ag,bv,{el:bw,event:bv,listener:bx})};this.unregisterListener=function(bw,bv,bx){p.CurrentLibrary.unbind(bw,bv,bx);D(ag,function(by){return by.type==bv&&by.listener==bx})};this.reset=function(){bn.deleteEveryEndpoint();bn.unbind();aZ={};aH={};bh={};ap={};az={};a5={};a9={};bd();bn.anchorManager.reset();bn.dragManager.reset()};this.setDefaultScope=function(bv){Q=bv};this.setDraggable=bk;this.setId=function(bz,bv,bB){var bC=bz.constructor==String?bz:bn.getId(bz),by=bn.getConnections({source:bC,scope:\"*\"},true),bx=bn.getConnections({target:bC,scope:\"*\"},true);bv=\"\"+bv;if(!bB){bz=p.CurrentLibrary.getElementObject(bC);p.CurrentLibrary.setAttribute(bz,\"id\",bv)}bz=p.CurrentLibrary.getElementObject(bv);aT[bv]=aT[bC]||[];for(var bw=0;bw<aT[bv].length;bw++){aT[bv][bw].elementId=bv;aT[bv][bw].element=bz;aT[bv][bw].anchor.elementId=bv}delete aT[bC];bn.anchorManager.changeId(bC,bv);var bA=function(bG,bD,bF){for(var bE=0;bE<bG.length;bE++){bG[bE].endpoints[bD].elementId=bv;bG[bE].endpoints[bD].element=bz;bG[bE][bF+\"Id\"]=bv;bG[bE][bF]=bz}};bA(by,0,\"source\");bA(bx,1,\"target\")};this.setIdChanged=function(bw,bv){bn.setId(bw,bv,true)};this.setDebugLog=function(bv){P=bv};this.setRepaintFunction=function(bv){ar=bv};this.setSuspendDrawing=bg;this.CANVAS=\"canvas\";this.SVG=\"svg\";this.VML=\"vml\";this.setRenderMode=function(bv){if(bv){bv=bv.toLowerCase()}else{return}if(bv!==p.CANVAS&&bv!==p.SVG&&bv!==p.VML){throw new Error(\"render mode must be one of jsPlumb.CANVAS, jsPlumb.SVG or jsPlumb.VML\")}if(bv===p.SVG){if(e){X=p.SVG}else{if(A){X=p.CANVAS}else{if(b()){X=p.VML}}}}else{if(bv===p.CANVAS&&A){X=p.CANVAS}else{if(b()){X=p.VML}}}return X};this.getRenderMode=function(){return X};this.show=function(bv,bw){a3(bv,\"block\",bw)};this.sizeCanvas=function(bx,bv,bz,bw,by){if(bx){bx.style.height=by+\"px\";bx.height=by;bx.style.width=bw+\"px\";bx.width=bw;bx.style.left=bv+\"px\";bx.style.top=bz+\"px\"}};this.getTestHarness=function(){return{endpointsByElement:aT,endpointCount:function(bv){var bw=aT[bv];return bw?bw.length:0},connectionCount:function(bv){bv=bv||Q;var bw=aY[bv];return bw?bw.length:0},getId:K,makeAnchor:self.makeAnchor,makeDynamicAnchor:self.makeDynamicAnchor}};this.toggle=aQ;this.toggleVisible=aQ;this.toggleDraggable=bi;this.unload=function(){};this.wrap=am;this.addListener=this.bind;var bo=function(bA,bx){var by=null,bv=bA;if(bx.tagName.toLowerCase()===\"svg\"&&bx.parentNode){by=bx.parentNode}else{if(bx.offsetParent){by=bx.offsetParent}}if(by!=null){var bw=by.tagName.toLowerCase()===\"body\"?{left:0,top:0}:t(by),bz=by.tagName.toLowerCase()===\"body\"?{left:0,top:0}:{left:by.scrollLeft,top:by.scrollTop};bv[0]=bA[0]-bw.left+bz.left;bv[1]=bA[1]-bw.top+bz.top}return bv};var aa=function(bz){var bx=this;this.x=bz.x||0;this.y=bz.y||0;this.elementId=bz.elementId;var bw=bz.orientation||[0,0];var by=null,bv=null;this.offsets=bz.offsets||[0,0];bx.timestamp=null;this.compute=function(bE){var bD=bE.xy,bA=bE.wh,bB=bE.element,bC=bE.timestamp;if(bC&&bC===bx.timestamp){return bv}bv=[bD[0]+(bx.x*bA[0])+bx.offsets[0],bD[1]+(bx.y*bA[1])+bx.offsets[1]];bv=bo(bv,bB.canvas);bx.timestamp=bC;return bv};this.getOrientation=function(bA){return bw};this.equals=function(bA){if(!bA){return false}var bB=bA.getOrientation();var bC=this.getOrientation();return this.x==bA.x&&this.y==bA.y&&this.offsets[0]==bA.offsets[0]&&this.offsets[1]==bA.offsets[1]&&bC[0]==bB[0]&&bC[1]==bB[1]};this.getCurrentLocation=function(){return bv}};var a1=function(bB){var bz=bB.reference,bA=bB.referenceCanvas,bx=a(F(bA)),bw=0,bC=0,bv=null,by=null;this.x=0;this.y=0;this.isFloating=true;this.compute=function(bG){var bF=bG.xy,bE=bG.element,bD=[bF[0]+(bx[0]/2),bF[1]+(bx[1]/2)];bD=bo(bD,bE.canvas);by=bD;return bD};this.getOrientation=function(bE){if(bv){return bv}else{var bD=bz.getOrientation(bE);return[Math.abs(bD[0])*bw*-1,Math.abs(bD[1])*bC*-1]}};this.over=function(bD){bv=bD.getOrientation()};this.out=function(){bv=null};this.getCurrentLocation=function(){return by}};var aq=function(bx,bw,bC){this.isSelective=true;this.isDynamic=true;var bF=[],bE=this,bD=function(bG){return bG.constructor==aa?bG:bn.makeAnchor(bG,bC,bn)};for(var bB=0;bB<bx.length;bB++){bF[bB]=bD(bx[bB])}this.addAnchor=function(bG){bF.push(bD(bG))};this.getAnchors=function(){return bF};this.locked=false;var by=bF.length>0?bF[0]:null,bA=bF.length>0?0:-1,bE=this,bz=function(bI,bG,bM,bL,bH){var bK=bL[0]+(bI.x*bH[0]),bJ=bL[1]+(bI.y*bH[1]);return Math.sqrt(Math.pow(bG-bK,2)+Math.pow(bM-bJ,2))},bv=bw||function(bQ,bH,bI,bJ,bG){var bL=bI[0]+(bJ[0]/2),bK=bI[1]+(bJ[1]/2);var bN=-1,bP=Infinity;for(var bM=0;bM<bG.length;bM++){var bO=bz(bG[bM],bL,bK,bQ,bH);if(bO<bP){bN=bM+0;bP=bO}}return bG[bN]};this.compute=function(bK){var bJ=bK.xy,bG=bK.wh,bI=bK.timestamp,bH=bK.txy,bL=bK.twh;if(bE.locked||bH==null||bL==null){return by.compute(bK)}else{bK.timestamp=null}by=bv(bJ,bG,bH,bL,bF);bE.x=by.x;bE.y=by.y;return by.compute(bK)};this.getCurrentLocation=function(){return by!=null?by.getCurrentLocation():null};this.getOrientation=function(bG){return by!=null?by.getOrientation(bG):[0,0]};this.over=function(bG){if(by!=null){by.over(bG)}};this.out=function(){if(by!=null){by.out()}}};var bj={},ai={},aJ={},T={HORIZONTAL:\"horizontal\",VERTICAL:\"vertical\",DIAGONAL:\"diagonal\",IDENTITY:\"identity\"},bl=function(bE,bF,bB,by){if(bE===bF){return{orientation:T.IDENTITY,a:[\"top\",\"top\"]}}var bw=Math.atan2((by.centery-bB.centery),(by.centerx-bB.centerx)),bz=Math.atan2((bB.centery-by.centery),(bB.centerx-by.centerx)),bA=((bB.left<=by.left&&bB.right>=by.left)||(bB.left<=by.right&&bB.right>=by.right)||(bB.left<=by.left&&bB.right>=by.right)||(by.left<=bB.left&&by.right>=bB.right)),bG=((bB.top<=by.top&&bB.bottom>=by.top)||(bB.top<=by.bottom&&bB.bottom>=by.bottom)||(bB.top<=by.top&&bB.bottom>=by.bottom)||(by.top<=bB.top&&by.bottom>=bB.bottom));if(!(bA||bG)){var bD=null,bx=false,bv=false,bC=null;if(by.left>bB.left&&by.top>bB.top){bD=[\"right\",\"top\"]}else{if(by.left>bB.left&&bB.top>by.top){bD=[\"top\",\"left\"]}else{if(by.left<bB.left&&by.top<bB.top){bD=[\"top\",\"right\"]}else{if(by.left<bB.left&&by.top>bB.top){bD=[\"left\",\"top\"]}}}}return{orientation:T.DIAGONAL,a:bD,theta:bw,theta2:bz}}else{if(bA){return{orientation:T.HORIZONTAL,a:bB.top<by.top?[\"bottom\",\"top\"]:[\"top\",\"bottom\"],theta:bw,theta2:bz}}else{return{orientation:T.VERTICAL,a:bB.left<by.left?[\"right\",\"left\"]:[\"left\",\"right\"],theta:bw,theta2:bz}}}},a2=function(bJ,bF,bD,bE,bK,bG,bx){var bL=[],bw=bF[bK?0:1]/(bE.length+1);for(var bH=0;bH<bE.length;bH++){var bM=(bH+1)*bw,bv=bG*bF[bK?1:0];if(bx){bM=bF[bK?0:1]-bM}var bC=(bK?bM:bv),bz=bD[0]+bC,bB=bC/bF[0],bA=(bK?bv:bM),by=bD[1]+bA,bI=bA/bF[1];bL.push([bz,by,bB,bI,bE[bH][1],bE[bH][2]])}return bL},a8=function(bw,bv){return bw[0]>bv[0]?1:-1},Z=function(bv){return function(bx,bw){var by=true;if(bv){if(bx[0][0]<bw[0][0]){by=true}else{by=bx[0][1]>bw[0][1]}}else{if(bx[0][0]>bw[0][0]){by=true}else{by=bx[0][1]>bw[0][1]}}return by===false?-1:1}},O=function(bw,bv){var by=bw[0][0]<0?-Math.PI-bw[0][0]:Math.PI-bw[0][0],bx=bv[0][0]<0?-Math.PI-bv[0][0]:Math.PI-bv[0][0];if(by>bx){return 1}else{return bw[0][1]>bv[0][1]?1:-1}},a0={top:a8,right:Z(true),bottom:Z(true),left:O},ao=function(bv,bw){return bv.sort(bw)},al=function(bw,bv){var by=ae[bw],bz=ah[bw],bx=function(bG,bN,bC,bF,bL,bK,bB){if(bF.length>0){var bJ=ao(bF,a0[bG]),bH=bG===\"right\"||bG===\"top\",bA=a2(bG,bN,bC,bJ,bL,bK,bH);var bO=function(bR,bQ){var bP=bo([bQ[0],bQ[1]],bR.canvas);ai[bR.id]=[bP[0],bP[1],bQ[2],bQ[3]];aJ[bR.id]=bB};for(var bD=0;bD<bA.length;bD++){var bI=bA[bD][4],bM=bI.endpoints[0].elementId===bw,bE=bI.endpoints[1].elementId===bw;if(bM){bO(bI.endpoints[0],bA[bD])}else{if(bE){bO(bI.endpoints[1],bA[bD])}}}}};bx(\"bottom\",by,[bz.left,bz.top],bv.bottom,true,1,[0,1]);bx(\"top\",by,[bz.left,bz.top],bv.top,true,0,[0,-1]);bx(\"left\",by,[bz.left,bz.top],bv.left,false,0,[-1,0]);bx(\"right\",by,[bz.left,bz.top],bv.right,false,1,[1,0])},aE=function(){var bv={},bz={},bw=this,by={};this.reset=function(){bv={};bz={};by={}};this.newConnection=function(bD){var bF=bD.sourceId,bC=bD.targetId,bA=bD.endpoints,bE=true,bB=function(bG,bH,bJ,bI,bK){if((bF==bC)&&bJ.isContinuous){p.CurrentLibrary.removeElement(bA[1].canvas);bE=false}V(bz,bI,[bK,bH,bJ.constructor==aq])};bB(0,bA[0],bA[0].anchor,bC,bD);if(bE){bB(1,bA[1],bA[1].anchor,bF,bD)}};this.connectionDetached=function(bA){var bB=bA.connection||bA;var bG=bB.sourceId,bH=bB.targetId,bK=bB.endpoints,bF=function(bL,bM,bO,bN,bP){if(bO.constructor==a1){}else{D(bz[bN],function(bQ){return bQ[0].id==bP.id})}};bF(1,bK[1],bK[1].anchor,bG,bB);bF(0,bK[0],bK[0].anchor,bH,bB);var bC=bB.sourceId,bD=bB.targetId,bJ=bB.endpoints[0].id,bE=bB.endpoints[1].id,bI=function(bN,bL){if(bN){var bM=function(bO){return bO[4]==bL};D(bN.top,bM);D(bN.left,bM);D(bN.bottom,bM);D(bN.right,bM)}};bI(by[bC],bJ);bI(by[bD],bE);bw.redraw(bC);bw.redraw(bD)};this.add=function(bB,bA){V(bv,bA,bB)};this.changeId=function(bB,bA){bz[bA]=bz[bB];bv[bA]=bv[bB];delete bz[bB];delete bv[bB]};this.getConnectionsFor=function(bA){return bz[bA]||[]};this.getEndpointsFor=function(bA){return bv[bA]||[]};this.deleteEndpoint=function(bA){D(bv[bA.elementId],function(bB){return bB.id==bA.id})};this.clearFor=function(bA){delete bv[bA];bv[bA]=[]};var bx=function(bU,bH,bP,bE,bK,bL,bN,bJ,bW,bM,bD,bT){var bR=-1,bC=-1,bF=bE.endpoints[bN],bO=bF.id,bI=[1,0][bN],bA=[[bH,bP],bE,bK,bL,bO],bB=bU[bW],bV=bF._continuousAnchorEdge?bU[bF._continuousAnchorEdge]:null;if(bV){var bS=i(bV,function(bX){return bX[4]==bO});if(bS!=-1){bV.splice(bS,1);for(var bQ=0;bQ<bV.length;bQ++){u(bD,bV[bQ][1],function(bX){return bX.id==bV[bQ][1].id});u(bT,bV[bQ][1].endpoints[bN],function(bX){return bX.id==bV[bQ][1].endpoints[bN].id})}}}for(var bQ=0;bQ<bB.length;bQ++){if(bN==1&&bB[bQ][3]===bL&&bC==-1){bC=bQ}u(bD,bB[bQ][1],function(bX){return bX.id==bB[bQ][1].id});u(bT,bB[bQ][1].endpoints[bN],function(bX){return bX.id==bB[bQ][1].endpoints[bN].id})}if(bR!=-1){bB[bR]=bA}else{var bG=bJ?bC!=-1?bC:0:bB.length;bB.splice(bG,0,bA)}bF._continuousAnchorEdge=bW};this.redraw=function(bP,bR,bC,bF){var b0=bv[bP]||[],bZ=bz[bP]||[],bB=[],bY=[],bD=[];bC=bC||r();bF=bF||{left:0,top:0};if(bR){bR={left:bR.left+bF.left,top:bR.top+bF.top}}W({elId:bP,offset:bR,recalc:false,timestamp:bC});var bK=ah[bP],bG=ae[bP],bM={};for(var bW=0;bW<bZ.length;bW++){var bH=bZ[bW][0],bJ=bH.sourceId,bE=bH.targetId,bI=bH.endpoints[0].anchor.isContinuous,bO=bH.endpoints[1].anchor.isContinuous;if(bI||bO){var bX=bJ+\"_\"+bE,bU=bE+\"_\"+bJ,bT=bM[bX],bN=bH.sourceId==bP?1:0;if(bI&&!by[bJ]){by[bJ]={top:[],right:[],bottom:[],left:[]}}if(bO&&!by[bE]){by[bE]={top:[],right:[],bottom:[],left:[]}}if(bP!=bE){W({elId:bE,timestamp:bC})}if(bP!=bJ){W({elId:bJ,timestamp:bC})}var bL=aN(bE),bA=aN(bJ);if(bE==bJ&&(bI||bO)){bx(by[bJ],-Math.PI/2,0,bH,false,bE,0,false,\"top\",bJ,bB,bY)}else{if(!bT){bT=bl(bJ,bE,bA.o,bL.o);bM[bX]=bT}if(bI){bx(by[bJ],bT.theta,0,bH,false,bE,0,false,bT.a[0],bJ,bB,bY)}if(bO){bx(by[bE],bT.theta2,-1,bH,true,bJ,1,true,bT.a[1],bE,bB,bY)}}if(bI){u(bD,bJ,function(b1){return b1===bJ})}if(bO){u(bD,bE,function(b1){return b1===bE})}u(bB,bH,function(b1){return b1.id==bH.id});if((bI&&bN==0)||(bO&&bN==1)){u(bY,bH.endpoints[bN],function(b1){return b1.id==bH.endpoints[bN].id})}}}for(var bW=0;bW<bD.length;bW++){al(bD[bW],by[bD[bW]])}for(var bW=0;bW<b0.length;bW++){b0[bW].paint({timestamp:bC,offset:bK,dimensions:bG})}for(var bW=0;bW<bY.length;bW++){bY[bW].paint({timestamp:bC,offset:bK,dimensions:bG})}for(var bW=0;bW<bZ.length;bW++){var bQ=bZ[bW][1];if(bQ.anchor.constructor==aq){bQ.paint({elementWithPrecedence:bP});u(bB,bZ[bW][0],function(b1){return b1.id==bZ[bW][0].id});for(var bV=0;bV<bQ.connections.length;bV++){if(bQ.connections[bV]!==bZ[bW][0]){u(bB,bQ.connections[bV],function(b1){return b1.id==bQ.connections[bV].id})}}}else{if(bQ.anchor.constructor==aa){u(bB,bZ[bW][0],function(b1){return b1.id==bZ[bW][0].id})}}}var bS=bf[bP];if(bS){bS.paint({timestamp:bC,recalc:false,elId:bP})}for(var bW=0;bW<bB.length;bW++){bB[bW].paint({elId:bP,timestamp:bC,recalc:false})}};this.rehomeEndpoint=function(bA,bE){var bB=bv[bA]||[],bC=bn.getId(bE);for(var bD=0;bD<bB.length;bD++){bw.add(bB[bD],bC)}bB.splice(0,bB.length)}};bn.anchorManager=new aE();bn.continuousAnchorFactory={get:function(bw){var bv=bj[bw.elementId];if(!bv){bv={type:\"Continuous\",compute:function(bx){return ai[bx.element.id]||[0,0]},getCurrentLocation:function(bx){return ai[bx.id]||[0,0]},getOrientation:function(bx){return aJ[bx.id]||[0,0]},isDynamic:true,isContinuous:true};bj[bw.elementId]=bv}return bv}};var aV=function(){var by={},bx=[],bw={},bv={};this.register=function(bB){var bA=p.CurrentLibrary;bB=bA.getElementObject(bB);var bD=bn.getId(bB),bz=bA.getDOMElement(bB);if(!by[bD]){by[bD]=bB;bx.push(bB);bw[bD]={}}var bC=function(bH){var bK=bA.getElementObject(bH),bJ=bA.getOffset(bK);for(var bE=0;bE<bH.childNodes.length;bE++){if(bH.childNodes[bE].nodeType!=3){var bG=bA.getElementObject(bH.childNodes[bE]),bI=bn.getId(bG,null,true);if(bI&&bv[bI]&&bv[bI]>0){var bF=bA.getOffset(bG);bw[bD][bI]={id:bI,offset:{left:bF.left-bJ.left,top:bF.top-bJ.top}}}}}};bC(bz)};this.endpointAdded=function(bB){var bF=p.CurrentLibrary,bI=document.body,bz=bn.getId(bB),bH=bF.getDOMElement(bB),bA=bH.parentNode,bD=bA==bI;bv[bz]=bv[bz]?bv[bz]+1:1;while(bA!=bI){var bE=bn.getId(bA);if(by[bE]){var bK=-1,bG=bF.getElementObject(bA),bC=bF.getOffset(bG);if(bw[bE][bz]==null){var bJ=p.CurrentLibrary.getOffset(bB);bw[bE][bz]={id:bz,offset:{left:bJ.left-bC.left,top:bJ.top-bC.top}}}break}bA=bA.parentNode}};this.endpointDeleted=function(bA){if(bv[bA.elementId]){bv[bA.elementId]--;if(bv[bA.elementId]<=0){for(var bz in bw){delete bw[bz][bA.elementId]}}}};this.getElementsForDraggable=function(bz){return bw[bz]};this.reset=function(){by={};bx=[];bw={};bv={}}};bn.dragManager=new aV();var ax=function(bN){var bG=this,bx=true;bG.idPrefix=\"_jsplumb_c_\";bG.defaultLabelLocation=0.5;bG.defaultOverlayKeys=[\"Overlays\",\"ConnectionOverlays\"];this.parent=bN.parent;z.apply(this,arguments);this.isVisible=function(){return bx};this.setVisible=function(bP){bx=bP;bG[bP?\"showOverlays\":\"hideOverlays\"]();if(bG.connector&&bG.connector.canvas){bG.connector.canvas.style.display=bP?\"block\":\"none\"}};this.source=F(bN.source);this.target=F(bN.target);if(bN.sourceEndpoint){this.source=bN.sourceEndpoint.endpointWillMoveTo||bN.sourceEndpoint.getElement()}if(bN.targetEndpoint){this.target=bN.targetEndpoint.getElement()}bG.previousConnection=bN.previousConnection;var bD=bN.cost;bG.getCost=function(){return bD};bG.setCost=function(bP){bD=bP};var bB=bN.bidirectional===false?false:true;bG.isBidirectional=function(){return bB};this.sourceId=d(this.source,\"id\");this.targetId=d(this.target,\"id\");this.getAttachedElements=function(){return bG.endpoints};this.scope=bN.scope;this.endpoints=[];this.endpointStyles=[];var bM=function(bQ,bP){if(bQ){return bn.makeAnchor(bQ,bP,bn)}},bK=function(bP,bV,bQ,bS,bT,bR,bU){if(bP){bG.endpoints[bV]=bP;bP.addConnection(bG)}else{if(!bQ.endpoints){bQ.endpoints=[null,null]}var b1=bQ.endpoints[bV]||bQ.endpoint||bn.Defaults.Endpoints[bV]||p.Defaults.Endpoints[bV]||bn.Defaults.Endpoint||p.Defaults.Endpoint;if(!bQ.endpointStyles){bQ.endpointStyles=[null,null]}if(!bQ.endpointHoverStyles){bQ.endpointHoverStyles=[null,null]}var bZ=bQ.endpointStyles[bV]||bQ.endpointStyle||bn.Defaults.EndpointStyles[bV]||p.Defaults.EndpointStyles[bV]||bn.Defaults.EndpointStyle||p.Defaults.EndpointStyle;if(bZ.fillStyle==null&&bR!=null){bZ.fillStyle=bR.strokeStyle}if(bZ.outlineColor==null&&bR!=null){bZ.outlineColor=bR.outlineColor}if(bZ.outlineWidth==null&&bR!=null){bZ.outlineWidth=bR.outlineWidth}var bY=bQ.endpointHoverStyles[bV]||bQ.endpointHoverStyle||bn.Defaults.EndpointHoverStyles[bV]||p.Defaults.EndpointHoverStyles[bV]||bn.Defaults.EndpointHoverStyle||p.Defaults.EndpointHoverStyle;if(bU!=null){if(bY==null){bY={}}if(bY.fillStyle==null){bY.fillStyle=bU.strokeStyle}}var bX=bQ.anchors?bQ.anchors[bV]:bQ.anchor?bQ.anchor:bM(bn.Defaults.Anchors[bV],bT)||bM(p.Defaults.Anchors[bV],bT)||bM(bn.Defaults.Anchor,bT)||bM(p.Defaults.Anchor,bT),b0=bQ.uuids?bQ.uuids[bV]:null,bW=aF({paintStyle:bZ,hoverPaintStyle:bY,endpoint:b1,connections:[bG],uuid:b0,anchor:bX,source:bS,scope:bQ.scope,container:bQ.container,reattach:bQ.reattach,detachable:bQ.detachable});bG.endpoints[bV]=bW;if(bQ.drawEndpoints===false){bW.setVisible(false,true,true)}return bW}};var bI=bK(bN.sourceEndpoint,0,bN,bG.source,bG.sourceId,bN.paintStyle,bN.hoverPaintStyle);if(bI){V(aT,this.sourceId,bI)}var by=((bG.sourceId==bG.targetId)&&bN.targetEndpoint==null)?bI:bN.targetEndpoint,bH=bK(by,1,bN,bG.target,bG.targetId,bN.paintStyle,bN.hoverPaintStyle);if(bH){V(aT,this.targetId,bH)}if(!this.scope){this.scope=this.endpoints[0].scope}if(bN.deleteEndpointsOnDetach){bG.endpointsToDeleteOnDetach=[bI,bH]}var bw=bn.Defaults.ConnectionsDetachable;if(bN.detachable===false){bw=false}if(bG.endpoints[0].connectionsDetachable===false){bw=false}if(bG.endpoints[1].connectionsDetachable===false){bw=false}if(bD==null){bD=bG.endpoints[0].getConnectionCost()}if(bN.bidirectional==null){bB=bG.endpoints[0].areConnectionsBidirectional()}this.isDetachable=function(){return bw===true};this.setDetachable=function(bP){bw=bP===true};var bO=p.extend({},this.endpoints[0].getParameters());p.extend(bO,this.endpoints[1].getParameters());p.extend(bO,bG.getParameters());bG.setParameters(bO);var bE=bG.setHover;bG.setHover=function(bP){bG.connector.setHover.apply(bG.connector,arguments);bE.apply(bG,arguments)};var bL=function(bP){if(x==null){bG.setHover(bP,false)}};this.setConnector=function(bP,bQ){if(bG.connector!=null){aX(bG.connector.getDisplayElements(),bG.parent)}var bR={_jsPlumb:bG._jsPlumb,parent:bN.parent,cssClass:bN.cssClass,container:bN.container,tooltip:bG.tooltip};if(C(bP)){this.connector=new p.Connectors[X][bP](bR)}else{if(n(bP)){this.connector=new p.Connectors[X][bP[0]](p.extend(bP[1],bR))}}bG.canvas=bG.connector.canvas;G(bG.connector,bG,bL);if(!bQ){bG.repaint()}};bG.setConnector(this.endpoints[0].connector||this.endpoints[1].connector||bN.connector||bn.Defaults.Connector||p.Defaults.Connector,true);this.setPaintStyle(this.endpoints[0].connectorStyle||this.endpoints[1].connectorStyle||bN.paintStyle||bn.Defaults.PaintStyle||p.Defaults.PaintStyle,true);this.setHoverPaintStyle(this.endpoints[0].connectorHoverStyle||this.endpoints[1].connectorHoverStyle||bN.hoverPaintStyle||bn.Defaults.HoverPaintStyle||p.Defaults.HoverPaintStyle,true);this.paintStyleInUse=this.getPaintStyle();this.moveParent=function(bS){var bR=p.CurrentLibrary,bQ=bR.getParent(bG.connector.canvas);if(bG.connector.bgCanvas){bR.removeElement(bG.connector.bgCanvas,bQ);bR.appendElement(bG.connector.bgCanvas,bS)}bR.removeElement(bG.connector.canvas,bQ);bR.appendElement(bG.connector.canvas,bS);for(var bP=0;bP<bG.overlays.length;bP++){if(bG.overlays[bP].isAppendedAtTopLevel){bR.removeElement(bG.overlays[bP].canvas,bQ);bR.appendElement(bG.overlays[bP].canvas,bS);if(bG.overlays[bP].reattachListeners){bG.overlays[bP].reattachListeners(bG.connector)}}}if(bG.connector.reattachListeners){bG.connector.reattachListeners()}};W({elId:this.sourceId});W({elId:this.targetId});var bA=ah[this.sourceId],bz=ae[this.sourceId],bv=ah[this.targetId],bC=ae[this.targetId],bF=r(),bJ=this.endpoints[0].anchor.compute({xy:[bA.left,bA.top],wh:bz,element:this.endpoints[0],elementId:this.endpoints[0].elementId,txy:[bv.left,bv.top],twh:bC,tElement:this.endpoints[1],timestamp:bF});this.endpoints[0].paint({anchorLoc:bJ,timestamp:bF});bJ=this.endpoints[1].anchor.compute({xy:[bv.left,bv.top],wh:bC,element:this.endpoints[1],elementId:this.endpoints[1].elementId,txy:[bA.left,bA.top],twh:bz,tElement:this.endpoints[0],timestamp:bF});this.endpoints[1].paint({anchorLoc:bJ,timestamp:bF});this.paint=function(b6){b6=b6||{};var bX=b6.elId,bY=b6.ui,bV=b6.recalc,bQ=b6.timestamp,bZ=false,b5=bZ?this.sourceId:this.targetId,bU=bZ?this.targetId:this.sourceId,bR=bZ?0:1,b7=bZ?1:0;var b8=W({elId:bX,offset:bY,recalc:bV,timestamp:bQ}),bW=W({elId:b5,timestamp:bQ});var b1=this.endpoints[b7],bP=this.endpoints[bR],bT=b1.anchor.getCurrentLocation(b1),b4=bP.anchor.getCurrentLocation(bP);var bS=0;for(var b3=0;b3<bG.overlays.length;b3++){var b0=bG.overlays[b3];if(b0.isVisible()){bS=Math.max(bS,b0.computeMaxSize(bG.connector))}}var b2=this.connector.compute(bT,b4,this.endpoints[b7],this.endpoints[bR],this.endpoints[b7].anchor,this.endpoints[bR].anchor,bG.paintStyleInUse.lineWidth,bS,b8,bW);bG.connector.paint(b2,bG.paintStyleInUse);for(var b3=0;b3<bG.overlays.length;b3++){var b0=bG.overlays[b3];if(b0.isVisible){bG.overlayPlacements[b3]=b0.draw(bG.connector,bG.paintStyleInUse,b2)}}};this.repaint=function(bQ){bQ=bQ||{};var bP=!(bQ.recalc===false);this.paint({elId:this.sourceId,recalc:bP,timestamp:bQ.timestamp})}};var bc=function(bw){var bv=false;return{drag:function(){if(bv){bv=false;return true}var bx=p.CurrentLibrary.getUIPosition(arguments),by=bw.element;if(by){p.CurrentLibrary.setOffset(by,bx);ba(F(by),bx)}},stopDrag:function(){bv=true}}};var at=function(bz,by,bA,bx,bv){var bw=new a1({reference:by,referenceCanvas:bx});return aF({paintStyle:bz,endpoint:bA,anchor:bw,source:bv,scope:\"__floating\"})};var R=function(bx,bv){var bz=document.createElement(\"div\");bz.style.position=\"absolute\";var bw=F(bz);aW(bz,bv);var by=K(bw);W({elId:by});bx.id=by;bx.element=bw};var af=function(b0){var bO=this;bO.idPrefix=\"_jsplumb_e_\";bO.defaultLabelLocation=[0.5,0.5];bO.defaultOverlayKeys=[\"Overlays\",\"EndpointOverlays\"];this.parent=b0.parent;z.apply(this,arguments);b0=b0||{};var bA=true,by=!(b0.enabled===false);this.isVisible=function(){return bA};this.setVisible=function(b3,b6,b2){bA=b3;if(bO.canvas){bO.canvas.style.display=b3?\"block\":\"none\"}bO[b3?\"showOverlays\":\"hideOverlays\"]();if(!b6){for(var b5=0;b5<bO.connections.length;b5++){bO.connections[b5].setVisible(b3);if(!b2){var b4=bO===bO.connections[b5].endpoints[0]?1:0;if(bO.connections[b5].endpoints[b4].connections.length==1){bO.connections[b5].endpoints[b4].setVisible(b3,true,true)}}}}};this.isEnabled=function(){return by};this.setEnabled=function(b2){by=b2};var bN=b0.source,bH=b0.uuid,bY=null,bC=null;if(bH){aU[bH]=bO}var bF=d(bN,\"id\");this.elementId=bF;this.element=bN;var bx=b0.connectionCost;this.getConnectionCost=function(){return bx};this.setConnectionCost=function(b2){bx=b2};var bX=b0.connectionsBidirectional===false?false:true;this.areConnectionsBidirectional=function(){return bX};this.setConnectionsBidirectional=function(b2){bX=b2};bO.anchor=b0.anchor?bn.makeAnchor(b0.anchor,bF,bn):b0.anchors?bn.makeAnchor(b0.anchors,bF,bn):bn.makeAnchor(\"TopCenter\",bF,bn);if(!b0._transient){bn.anchorManager.add(bO,bF)}var bL=null,bQ=null;this.setEndpoint=function(b2){var b3={_jsPlumb:bO._jsPlumb,parent:b0.parent,container:b0.container,tooltip:b0.tooltip,connectorTooltip:b0.connectorTooltip,endpoint:bO};if(C(b2)){bL=new p.Endpoints[X][b2](b3)}else{if(n(b2)){b3=p.extend(b2[1],b3);bL=new p.Endpoints[X][b2[0]](b3)}else{bL=b2.clone()}}var b4=p.extend({},b3);bL.clone=function(){var b5=new Object();bL.constructor.apply(b5,[b4]);return b5};bO.endpoint=bL;bO.type=bO.endpoint.type};this.setEndpoint(b0.endpoint||bn.Defaults.Endpoint||p.Defaults.Endpoint||\"Dot\");bQ=bL;var bM=bO.setHover;bO.setHover=function(){bO.endpoint.setHover.apply(bO.endpoint,arguments);bM.apply(bO,arguments)};var b1=function(b2){if(bO.connections.length>0){bO.connections[0].setHover(b2,false)}else{bO.setHover(b2)}};G(bO.endpoint,bO,b1);this.setPaintStyle(b0.paintStyle||b0.style||bn.Defaults.EndpointStyle||p.Defaults.EndpointStyle,true);this.setHoverPaintStyle(b0.hoverPaintStyle||bn.Defaults.EndpointHoverStyle||p.Defaults.EndpointHoverStyle,true);this.paintStyleInUse=this.getPaintStyle();var bJ=this.getPaintStyle();this.connectorStyle=b0.connectorStyle;this.connectorHoverStyle=b0.connectorHoverStyle;this.connectorOverlays=b0.connectorOverlays;this.connector=b0.connector;this.connectorTooltip=b0.connectorTooltip;this.isSource=b0.isSource||false;this.isTarget=b0.isTarget||false;var bU=b0.maxConnections||bn.Defaults.MaxConnections;this.getAttachedElements=function(){return bO.connections};this.canvas=this.endpoint.canvas;this.connections=b0.connections||[];this.scope=b0.scope||Q;this.timestamp=null;bO.isReattach=b0.reattach||false;bO.connectionsDetachable=bn.Defaults.ConnectionsDetachable;if(b0.connectionsDetachable===false||b0.detachable===false){bO.connectionsDetachable=false}var bI=b0.dragAllowedWhenFull||true;this.computeAnchor=function(b2){return bO.anchor.compute(b2)};this.addConnection=function(b2){bO.connections.push(b2)};this.detach=function(b3,b8,b4,cb,b2){var ca=i(bO.connections,function(cd){return cd.id==b3.id}),b9=false;cb=(cb!==false);if(ca>=0){if(b4||b3._forceDetach||b3.isDetachable()||b3.isDetachAllowed(b3)){var cc=b3.endpoints[0]==bO?b3.endpoints[1]:b3.endpoints[0];if(b4||b3._forceDetach||(bO.isDetachAllowed(b3))){bO.connections.splice(ca,1);if(!b8){cc.detach(b3,true,b4);if(b3.endpointsToDeleteOnDetach){for(var b7=0;b7<b3.endpointsToDeleteOnDetach.length;b7++){var b5=b3.endpointsToDeleteOnDetach[b7];if(b5&&b5.connections.length==0){bn.deleteEndpoint(b5)}}}}aX(b3.connector.getDisplayElements(),b3.parent);D(aY[b3.scope],function(cd){return cd.id==b3.id});b9=true;var b6=(!b8&&cb);a7(b3,b6,b2)}}}return b9};this.detachAll=function(b3,b2){while(bO.connections.length>0){bO.detach(bO.connections[0],false,true,b3,b2)}};this.detachFrom=function(b5,b4,b2){var b6=[];for(var b3=0;b3<bO.connections.length;b3++){if(bO.connections[b3].endpoints[1]==b5||bO.connections[b3].endpoints[0]==b5){b6.push(bO.connections[b3])}}for(var b3=0;b3<b6.length;b3++){if(bO.detach(b6[b3],false,true,b4,b2)){b6[b3].setHover(false,false)}}};this.detachFromConnection=function(b3){var b2=i(bO.connections,function(b4){return b4.id==b3.id});if(b2>=0){bO.connections.splice(b2,1)}};this.getElement=function(){return bN};this.setElement=function(b5,b2){var b7=K(b5);D(aT[bO.elementId],function(b8){return b8.id==bO.id});bN=F(b5);bF=K(bN);bO.elementId=bF;var b6=aw({source:b7,container:b2}),b4=bz.getParent(bO.canvas);bz.removeElement(bO.canvas,b4);bz.appendElement(bO.canvas,b6);for(var b3=0;b3<bO.connections.length;b3++){bO.connections[b3].moveParent(b6);bO.connections[b3].sourceId=bF;bO.connections[b3].source=bN}V(aT,b7,bO)};this.getUuid=function(){return bH};this.makeInPlaceCopy=function(){var b4=bO.anchor.getCurrentLocation(bO),b3=bO.anchor.getOrientation(bO),b2={compute:function(){return[b4[0],b4[1]]},getCurrentLocation:function(){return[b4[0],b4[1]]},getOrientation:function(){return b3}};return aF({anchor:b2,source:bN,paintStyle:this.getPaintStyle(),endpoint:bL,_transient:true,scope:bO.scope})};this.isConnectedTo=function(b4){var b3=false;if(b4){for(var b2=0;b2<bO.connections.length;b2++){if(bO.connections[b2].endpoints[1]==b4){b3=true;break}}}return b3};this.isFloating=function(){return bY!=null};this.connectorSelector=function(){var b2=bO.connections[0];if(bO.isTarget&&b2){return b2}else{return(bO.connections.length<bU)||bU==-1?null:b2}};this.isFull=function(){return !(bO.isFloating()||bU<1||bO.connections.length<bU)};this.setDragAllowedWhenFull=function(b2){bI=b2};this.setStyle=bO.setPaintStyle;this.equals=function(b2){return this.anchor.equals(b2.anchor)};var bK=function(b3){var b2=0;if(b3!=null){for(var b4=0;b4<bO.connections.length;b4++){if(bO.connections[b4].sourceId==b3||bO.connections[b4].targetId==b3){b2=b4;break}}}return bO.connections[b2]};this.paint=function(b5){b5=b5||{};var cb=b5.timestamp,ca=!(b5.recalc===false);if(!cb||bO.timestamp!==cb){W({elId:bF,timestamp:cb,recalc:ca});var ch=b5.offset||ah[bF];if(ch){var b8=b5.anchorPoint,b6=b5.connectorPaintStyle;if(b8==null){var b2=b5.dimensions||ae[bF];if(ch==null||b2==null){W({elId:bF,timestamp:cb});ch=ah[bF];b2=ae[bF]}var b4={xy:[ch.left,ch.top],wh:b2,element:bO,timestamp:cb};if(ca&&bO.anchor.isDynamic&&bO.connections.length>0){var ce=bK(b5.elementWithPrecedence),cg=ce.endpoints[0]==bO?1:0,b7=cg==0?ce.sourceId:ce.targetId,cd=ah[b7],cf=ae[b7];b4.txy=[cd.left,cd.top];b4.twh=cf;b4.tElement=ce.endpoints[cg]}b8=bO.anchor.compute(b4)}var cc=bL.compute(b8,bO.anchor.getOrientation(bO),bO.paintStyleInUse,b6||bO.paintStyleInUse);bL.paint(cc,bO.paintStyleInUse,bO.anchor);bO.timestamp=cb;for(var b9=0;b9<bO.overlays.length;b9++){var b3=bO.overlays[b9];if(b3.isVisible){bO.overlayPlacements[b9]=b3.draw(bO.endpoint,bO.paintStyleInUse,cc)}}}}};this.repaint=this.paint;this.removeConnection=this.detach;if(p.CurrentLibrary.isDragSupported(bN)){var bT={id:null,element:null},bS=null,bw=false,bB=null,bv=bc(bT);var bD=function(){bS=bO.connectorSelector();var b2=true;if(!bO.isEnabled()){b2=false}if(bS==null&&!b0.isSource){b2=false}if(b0.isSource&&bO.isFull()&&!bI){b2=false}if(bS!=null&&!bS.isDetachable()){b2=false}if(b2===false){if(p.CurrentLibrary.stopDrag){p.CurrentLibrary.stopDrag()}bv.stopDrag();return false}if(bS&&!bO.isFull()&&b0.isSource){bS=null}W({elId:bF});bC=bO.makeInPlaceCopy();bC.paint();R(bT,bO.parent);var b8=F(bC.canvas),b6=p.CurrentLibrary.getOffset(b8),b3=bo([b6.left,b6.top],bC.canvas);p.CurrentLibrary.setOffset(bT.element,{left:b3[0],top:b3[1]});if(bO.parentAnchor){bO.anchor=bn.makeAnchor(bO.parentAnchor,bO.elementId,bn)}f(F(bO.canvas),\"dragId\",bT.id);f(F(bO.canvas),\"elId\",bF);if(b0.proxy){bO.setPaintStyle(b0.proxy.paintStyle)}bY=at(bO.getPaintStyle(),bO.anchor,bL,bO.canvas,bT.element);if(bS==null){bO.anchor.locked=true;bO.setHover(false,false);bS=ad({sourceEndpoint:bO,targetEndpoint:bY,source:bO.endpointWillMoveTo||F(bN),target:bT.element,anchors:[bO.anchor,bY.anchor],paintStyle:b0.connectorStyle,hoverPaintStyle:b0.connectorHoverStyle,connector:b0.connector,overlays:b0.connectorOverlays})}else{bw=true;bS.connector.setHover(false,false);bE(F(bC.canvas),false,true);var b5=bS.endpoints[0].id==bO.id?0:1;bS.floatingAnchorIndex=b5;bO.detachFromConnection(bS);var b9=F(bO.canvas),b7=p.CurrentLibrary.getDragScope(b9);f(b9,\"originalScope\",b7);var b4=p.CurrentLibrary.getDropScope(b9);p.CurrentLibrary.setDragScope(b9,b4);if(b5==0){bB=[bS.source,bS.sourceId,bW,b7];bS.source=bT.element;bS.sourceId=bT.id}else{bB=[bS.target,bS.targetId,bW,b7];bS.target=bT.element;bS.targetId=bT.id}bS.endpoints[b5==0?1:0].anchor.locked=true;bS.suspendedEndpoint=bS.endpoints[b5];bS.suspendedEndpoint.setHover(false);bS.endpoints[b5]=bY;a4(bS)}bf[bT.id]=bS;bY.addConnection(bS);V(aT,bT.id,bY);bn.currentlyDragging=true};var bz=p.CurrentLibrary,bV=b0.dragOptions||{},bP=p.extend({},bz.defaultDragOptions),bR=bz.dragEvents.start,bZ=bz.dragEvents.stop,bG=bz.dragEvents.drag;bV=p.extend(bP,bV);bV.scope=bV.scope||bO.scope;bV[bR]=am(bV[bR],bD);bV[bG]=am(bV[bG],bv.drag);bV[bZ]=am(bV[bZ],function(){var b3=bz.getDropEvent(arguments);bn.currentlyDragging=false;D(aT[bT.id],function(b4){return b4.id==bY.id});aX([bT.element[0],bY.canvas],bN);au(bC.canvas,bN);bn.anchorManager.clearFor(bT.id);var b2=bS.floatingAnchorIndex==null?1:bS.floatingAnchorIndex;bS.endpoints[b2==0?1:0].anchor.locked=false;bO.setPaintStyle(bJ);if(bS.endpoints[b2]==bY){if(bw&&bS.suspendedEndpoint){if(b2==0){bS.source=bB[0];bS.sourceId=bB[1]}else{bS.target=bB[0];bS.targetId=bB[1]}p.CurrentLibrary.setDragScope(bB[2],bB[3]);bS.endpoints[b2]=bS.suspendedEndpoint;if(bO.isReattach||bS._forceDetach||!bS.endpoints[b2==0?1:0].detach(bS,false,false,true,b3)){bS.setHover(false);bS.floatingAnchorIndex=null;bS.suspendedEndpoint.addConnection(bS);bn.repaint(bB[1])}bS._forceDetach=null}else{aX(bS.connector.getDisplayElements(),bO.parent);bO.detachFromConnection(bS)}}bO.anchor.locked=false;bO.paint({recalc:false});bS.setHover(false,false);aR(bS);bS=null;bC=null;delete aT[bY.elementId];bY.anchor=null;bY=null;bn.currentlyDragging=false});var bW=F(bO.canvas);p.CurrentLibrary.initDraggable(bW,bV,true)}var bE=function(b4,b9,b7,ca){if((b0.isTarget||b9)&&p.CurrentLibrary.isDropSupported(bN)){var b5=b0.dropOptions||bn.Defaults.DropOptions||p.Defaults.DropOptions;b5=p.extend({},b5);b5.scope=b5.scope||bO.scope;var b3=p.CurrentLibrary.dragEvents.drop,b8=p.CurrentLibrary.dragEvents.over,b2=p.CurrentLibrary.dragEvents.out,b6=function(){var cb=p.CurrentLibrary.getDropEvent(arguments),co=F(p.CurrentLibrary.getDragObject(arguments)),cc=d(co,\"dragId\"),cf=d(co,\"elId\"),cn=d(co,\"originalScope\"),ci=bf[cc];if(ci!=null){var ck=ci.floatingAnchorIndex==null?1:ci.floatingAnchorIndex,cl=ck==0?1:0;if(cn){p.CurrentLibrary.setDragScope(co,cn)}var cm=ca!=null?ca.isEnabled():true;if(!bO.isFull()&&!(ck==0&&!bO.isSource)&&!(ck==1&&!bO.isTarget)&&cm){var cg=true;if(ci.suspendedEndpoint&&ci.suspendedEndpoint.id!=bO.id){if(ck==0){ci.source=ci.suspendedEndpoint.element;ci.sourceId=ci.suspendedEndpoint.elementId}else{ci.target=ci.suspendedEndpoint.element;ci.targetId=ci.suspendedEndpoint.elementId}if(!ci.isDetachAllowed(ci)||!ci.endpoints[ck].isDetachAllowed(ci)||!ci.suspendedEndpoint.isDetachAllowed(ci)||!bn.checkCondition(\"beforeDetach\",ci)){cg=false}}if(ck==0){ci.source=bO.element;ci.sourceId=bO.elementId}else{ci.target=bO.element;ci.targetId=bO.elementId}cg=cg&&bO.isDropAllowed(ci.sourceId,ci.targetId,ci.scope,ci,bO);if(cg){ci.endpoints[ck].detachFromConnection(ci);if(ci.suspendedEndpoint){ci.suspendedEndpoint.detachFromConnection(ci)}ci.endpoints[ck]=bO;bO.addConnection(ci);var ce=bO.getParameters();for(var cj in ce){ci.setParameter(cj,ce[cj])}if(!ci.suspendedEndpoint){if(ce.draggable){p.CurrentLibrary.initDraggable(bO.element,bV,true)}}else{var ch=ci.suspendedEndpoint.getElement(),cd=ci.suspendedEndpoint.elementId;a7({source:ck==0?ch:ci.source,target:ck==1?ch:ci.target,sourceId:ck==0?cd:ci.sourceId,targetId:ck==1?cd:ci.targetId,sourceEndpoint:ck==0?ci.suspendedEndpoint:ci.endpoints[0],targetEndpoint:ck==1?ci.suspendedEndpoint:ci.endpoints[1],connection:ci},true,cb)}bt(ci,null,cb)}else{if(ci.suspendedEndpoint){ci.endpoints[ck]=ci.suspendedEndpoint;ci.setHover(false);ci._forceDetach=true;if(ck==0){ci.source=ci.suspendedEndpoint.element;ci.sourceId=ci.suspendedEndpoint.elementId}else{ci.target=ci.suspendedEndpoint.element;ci.targetId=ci.suspendedEndpoint.elementId}ci.suspendedEndpoint.addConnection(ci);ci.endpoints[0].repaint();ci.repaint();bn.repaint(ci.source.elementId);ci._forceDetach=false}}ci.floatingAnchorIndex=null}bn.currentlyDragging=false;delete bf[cc]}};b5[b3]=am(b5[b3],b6);b5[b8]=am(b5[b8],function(){if(bO.isTarget){var cc=p.CurrentLibrary.getDragObject(arguments),ce=d(F(cc),\"dragId\"),cd=bf[ce];if(cd!=null){var cb=cd.floatingAnchorIndex==null?1:cd.floatingAnchorIndex;cd.endpoints[cb].anchor.over(bO.anchor)}}});b5[b2]=am(b5[b2],function(){if(bO.isTarget){var cc=p.CurrentLibrary.getDragObject(arguments),ce=d(F(cc),\"dragId\"),cd=bf[ce];if(cd!=null){var cb=cd.floatingAnchorIndex==null?1:cd.floatingAnchorIndex;cd.endpoints[cb].anchor.out()}}});p.CurrentLibrary.initDroppable(b4,b5,true,b7)}};bE(F(bO.canvas),true,!(b0._transient||bO.anchor.isFloating),bO);return bO}};var p=window.jsPlumb=new y();p.getInstance=function(L){var K=new y(L);K.init();return K};var s=function(K,P,M,L,O,N){return function(R){R=R||{};var Q=R.jsPlumbInstance.makeAnchor([K,P,M,L,0,0],R.elementId,R.jsPlumbInstance);Q.type=O;if(N){N(Q,R)}return Q}};p.Anchors.TopCenter=s(0.5,0,0,-1,\"TopCenter\");p.Anchors.BottomCenter=s(0.5,1,0,1,\"BottomCenter\");p.Anchors.LeftMiddle=s(0,0.5,-1,0,\"LeftMiddle\");p.Anchors.RightMiddle=s(1,0.5,1,0,\"RightMiddle\");p.Anchors.Center=s(0.5,0.5,0,0,\"Center\");p.Anchors.TopRight=s(1,0,0,-1,\"TopRight\");p.Anchors.BottomRight=s(1,1,0,1,\"BottomRight\");p.Anchors.TopLeft=s(0,0,0,-1,\"TopLeft\");p.Anchors.BottomLeft=s(0,1,0,1,\"BottomLeft\");p.Defaults.DynamicAnchors=function(K){return K.jsPlumbInstance.makeAnchors([\"TopCenter\",\"RightMiddle\",\"BottomCenter\",\"LeftMiddle\"],K.elementId,K.jsPlumbInstance)};p.Anchors.AutoDefault=function(L){var K=L.jsPlumbInstance.makeDynamicAnchor(p.Defaults.DynamicAnchors(L));K.type=\"AutoDefault\";return K};p.Anchors.Assign=s(0,0,0,0,\"Assign\",function(L,M){var K=M.position||\"Fixed\";L.positionFinder=K.constructor==String?M.jsPlumbInstance.AnchorPositionFinders[K]:K;L.constructorParams=M});p.Anchors.Continuous=function(K){return K.jsPlumbInstance.continuousAnchorFactory.get(K)};p.AnchorPositionFinders={Fixed:function(N,K,M,L){return[(N.left-K.left)/M[0],(N.top-K.top)/M[1]]},Grid:function(K,T,O,L){var S=K.left-T.left,R=K.top-T.top,Q=O[0]/(L.grid[0]),P=O[1]/(L.grid[1]),N=Math.floor(S/Q),M=Math.floor(R/P);return[((N*Q)+(Q/2))/O[0],((M*P)+(P/2))/O[1]]}}})();(function(){jsPlumb.DOMElementComponent=function(c){jsPlumb.jsPlumbUIComponent.apply(this,arguments);this.mousemove=this.dblclick=this.click=this.mousedown=this.mouseup=function(d){}};jsPlumb.Connectors.Straight=function(){this.type=\"Straight\";var r=this,i=null,e,k,p,n,l,f,q,h,g,d,c,o,m;this.compute=function(A,J,s,z,F,t,D,v){var I=Math.abs(A[0]-J[0]),C=Math.abs(A[1]-J[1]),B=0.45*I,u=0.45*C;I*=1.9;C*=1.9;var G=Math.min(A[0],J[0])-B;var E=Math.min(A[1],J[1])-u;var H=Math.max(2*D,v);if(I<H){I=H;G=A[0]+((J[0]-A[0])/2)-(H/2);B=(I-Math.abs(A[0]-J[0]))/2}if(C<H){C=H;E=A[1]+((J[1]-A[1])/2)-(H/2);u=(C-Math.abs(A[1]-J[1]))/2}h=A[0]<J[0]?B:I-B;g=A[1]<J[1]?u:C-u;d=A[0]<J[0]?I-B:B;c=A[1]<J[1]?C-u:u;i=[G,E,I,C,h,g,d,c];n=d-h,l=c-g;e=jsPlumbUtil.gradient({x:h,y:g},{x:d,y:c}),k=-1/e;p=-1*((e*h)-g);f=Math.atan(e);q=Math.atan(k);m=Math.sqrt((n*n)+(l*l));return i};this.pointOnPath=function(t,u){if(t==0&&!u){return{x:h,y:g}}else{if(t==1&&!u){return{x:d,y:c}}else{var s=u?t>0?t:m+t:t*m;return jsPlumbUtil.pointOnLine({x:h,y:g},{x:d,y:c},s)}}};this.gradientAtPoint=function(s){return e};this.pointAlongPathFrom=function(s,w,v){var u=r.pointOnPath(s,v),t=s==1?{x:h+((d-h)*10),y:g+((g-c)*10)}:{x:d,y:c};return jsPlumbUtil.pointOnLine(u,t,w)}};jsPlumb.Connectors.Bezier=function(v){var p=this;v=v||{};this.majorAnchor=v.curviness||150;this.minorAnchor=10;var t=null;this.type=\"Bezier\";this._findControlPoint=function(H,w,C,x,A,F,y){var E=F.getOrientation(x),G=y.getOrientation(A),B=E[0]!=G[0]||E[1]==G[1],z=[],I=p.majorAnchor,D=p.minorAnchor;if(!B){if(E[0]==0){z.push(w[0]<C[0]?H[0]+D:H[0]-D)}else{z.push(H[0]-(I*E[0]))}if(E[1]==0){z.push(w[1]<C[1]?H[1]+D:H[1]-D)}else{z.push(H[1]+(I*G[1]))}}else{if(G[0]==0){z.push(C[0]<w[0]?H[0]+D:H[0]-D)}else{z.push(H[0]+(I*G[0]))}if(G[1]==0){z.push(C[1]<w[1]?H[1]+D:H[1]-D)}else{z.push(H[1]+(I*E[1]))}}return z};var q,l,f,o,n,f,e,s,r,u,d,h,g,k,i;this.compute=function(S,z,M,A,Q,x,w,L){w=w||0;u=Math.abs(S[0]-z[0])+w;d=Math.abs(S[1]-z[1])+w;s=Math.min(S[0],z[0])-(w/2);r=Math.min(S[1],z[1])-(w/2);f=S[0]<z[0]?u-(w/2):(w/2);e=S[1]<z[1]?d-(w/2):(w/2);o=S[0]<z[0]?(w/2):u-(w/2);n=S[1]<z[1]?(w/2):d-(w/2);q=p._findControlPoint([f,e],S,z,M,A,Q,x);l=p._findControlPoint([o,n],z,S,A,M,x,Q);var K=Math.min(f,o),J=Math.min(q[0],l[0]),F=Math.min(K,J),R=Math.max(f,o),O=Math.max(q[0],l[0]),C=Math.max(R,O);if(C>u){u=C}if(F<0){s+=F;var H=Math.abs(F);u+=H;q[0]+=H;f+=H;o+=H;l[0]+=H}var P=Math.min(e,n),N=Math.min(q[1],l[1]),B=Math.min(P,N),G=Math.max(e,n),E=Math.max(q[1],l[1]),y=Math.max(G,E);if(y>d){d=y}if(B<0){r+=B;var D=Math.abs(B);d+=D;q[1]+=D;e+=D;n+=D;l[1]+=D}if(L&&u<L){var I=(L-u)/2;u=L;s-=I;f=f+I;o=o+I;q[0]=q[0]+I;l[0]=l[0]+I}if(L&&d<L){var I=(L-d)/2;d=L;r-=I;e=e+I;n=n+I;q[1]=q[1]+I;l[1]=l[1]+I}t=[s,r,u,d,f,e,o,n,q[0],q[1],l[0],l[1]];return t};var c=function(){return[{x:f,y:e},{x:q[0],y:q[1]},{x:l[0],y:l[1]},{x:o,y:n}]};var m=function(x,w,y){if(y){w=jsBezier.locationAlongCurveFrom(x,w>0?0:1,w)}return w};this.pointOnPath=function(w,y){var x=c();w=m(x,w,y);return jsBezier.pointOnCurve(x,w)};this.gradientAtPoint=function(w,y){var x=c();w=m(x,w,y);return jsBezier.gradientAtPoint(x,w)};this.pointAlongPathFrom=function(w,z,y){var x=c();w=m(x,w,y);return jsBezier.pointAlongCurveFrom(x,w,z)}};jsPlumb.Connectors.Flowchart=function(v){this.type=\"Flowchart\";v=v||{};var n=this,c=v.stub||v.minStubLength||30,f=jsPlumbUtil.isArray(c)?c[0]:c,k=jsPlumbUtil.isArray(c)?c[1]:c,p=v.gap||0,q=[],i=0,d=[],m=[],r=[],o,l,u=-Infinity,s=-Infinity,w=Infinity,t=Infinity,x=function(z,y,D,C){var B=0;for(var A=0;A<q.length;A++){m[A]=q[A][5]/i;d[A]=[B,(B+=(q[A][5]/i))]}},h=function(){r.push(q.length);for(var y=0;y<q.length;y++){r.push(q[y][0]);r.push(q[y][1])}},g=function(I,F,H,G,E,D){var A=q.length==0?H:q[q.length-1][0],z=q.length==0?G:q[q.length-1][1],B=I==A?Infinity:0,C=Math.abs(I==A?F-z:I-A);q.push([I,F,A,z,B,C]);i+=C;u=Math.max(u,I);s=Math.max(s,F);w=Math.min(w,I);t=Math.min(t,F)},e=function(A,C){if(C){A=A>0?A/i:(i+A)/i}var y=d.length-1,z=1;for(var B=0;B<d.length;B++){if(d[B][1]>=A){y=B;z=(A-d[B][0])/m[B];break}}return{segment:q[y],proportion:z,index:y}};this.compute=function(W,ak,z,Q,av,K,U,P,ap,am){q=[];d=[];i=0;m=[];u=s=-Infinity;w=t=Infinity;o=ak[0]<W[0];l=ak[1]<W[1];var aa=U||1,E=(aa/2)+(f+k),B=(aa/2)+(k+f),D=(aa/2)+(f+k),A=(aa/2)+(k+f),N=av.orientation||av.getOrientation(z),aw=K.orientation||K.getOrientation(Q),aj=o?ak[0]:W[0],ai=l?ak[1]:W[1],al=Math.abs(ak[0]-W[0])+E+B,au=Math.abs(ak[1]-W[1])+D+A;if(N[0]==0&&N[1]==0||aw[0]==0&&aw[1]==0){var ac=al>au?0:1,ae=[1,0][ac];N=[];aw=[];N[ac]=W[ac]>ak[ac]?-1:1;aw[ac]=W[ac]>ak[ac]?1:-1;N[ae]=0;aw[ae]=0}if(al<P){E+=(P-al)/2;al=P}if(au<P){D+=(P-au)/2;au=P}var I=o?(al-B)+(p*N[0]):E+(p*N[0]),H=l?(au-A)+(p*N[1]):D+(p*N[1]),ar=o?E+(p*aw[0]):(al-B)+(p*aw[0]),aq=l?D+(p*aw[1]):(au-A)+(p*aw[1]),Z=I+(N[0]*f),Y=H+(N[1]*f),L=ar+(aw[0]*k),J=aq+(aw[1]*k),V=Math.abs(I-ar)>(f+k),X=Math.abs(H-aq)>(f+k),ah=Z+((L-Z)/2),af=Y+((J-Y)/2),O=((N[0]*aw[0])+(N[1]*aw[1])),ab=O==-1,ad=O==0,C=O==1;aj-=E;ai-=D;r=[aj,ai,al,au,I,H,ar,aq];var ao=[];var S=N[0]==0?\"y\":\"x\",M=ab?\"opposite\":C?\"orthogonal\":\"perpendicular\",F=jsPlumbUtil.segment([I,H],[ar,aq]),ag=N[S==\"x\"?0:1]==-1,R={x:[null,4,3,2,1],y:[null,2,1,4,3]};if(ag){F=R[S][F]}g(Z,Y,I,H,ar,aq);var T=function(az,ay,y,ax){return az+(ay*((1-y)*ax)+Math.max(f,k))},G={oppositex:function(){if(z.elementId==Q.elementId){var y=Y+((1-av.y)*ap.height)+Math.max(f,k);return[[Z,y],[L,y]]}else{if(V&&(F==1||F==2)){return[[ah,H],[ah,aq]]}else{return[[Z,af],[L,af]]}}},orthogonalx:function(){if(F==1||F==2){return[[L,Y]]}else{return[[Z,J]]}},perpendicularx:function(){var y=(aq+H)/2;if((F==1&&aw[1]==1)||(F==2&&aw[1]==-1)){if(Math.abs(ar-I)>Math.max(f,k)){return[[L,Y]]}else{return[[Z,Y],[Z,y],[L,y]]}}else{if((F==3&&aw[1]==-1)||(F==4&&aw[1]==1)){return[[Z,y],[L,y]]}else{if((F==3&&aw[1]==1)||(F==4&&aw[1]==-1)){return[[Z,J]]}else{if((F==1&&aw[1]==-1)||(F==2&&aw[1]==1)){if(Math.abs(ar-I)>Math.max(f,k)){return[[ah,Y],[ah,J]]}else{return[[Z,J]]}}}}}},oppositey:function(){if(z.elementId==Q.elementId){var y=Z+((1-av.x)*ap.width)+Math.max(f,k);return[[y,Y],[y,J]]}else{if(X&&(F==2||F==3)){return[[I,af],[ar,af]]}else{return[[ah,Y],[ah,J]]}}},orthogonaly:function(){if(F==2||F==3){return[[Z,J]]}else{return[[L,Y]]}},perpendiculary:function(){var y=(ar+I)/2;if((F==2&&aw[0]==-1)||(F==3&&aw[0]==1)){if(Math.abs(ar-I)>Math.max(f,k)){return[[Z,J]]}else{return[[Z,af],[L,af]]}}else{if((F==1&&aw[0]==-1)||(F==4&&aw[0]==1)){var y=(ar+I)/2;return[[y,Y],[y,J]]}else{if((F==1&&aw[0]==1)||(F==4&&aw[0]==-1)){return[[L,Y]]}else{if((F==2&&aw[0]==1)||(F==3&&aw[0]==-1)){if(Math.abs(aq-H)>Math.max(f,k)){return[[Z,af],[L,af]]}else{return[[L,Y]]}}}}}}};var an=G[M+S]();if(an){for(var at=0;at<an.length;at++){g(an[at][0],an[at][1],I,H,ar,aq)}}g(L,J,I,H,ar,aq);g(ar,aq,I,H,ar,aq);h();x(I,H,ar,aq);if(s>r[3]){r[3]=s+(U*2)}if(u>r[2]){r[2]=u+(U*2)}return r};this.pointOnPath=function(y,z){return n.pointAlongPathFrom(y,0,z)};this.gradientAtPoint=function(y,z){return q[e(y,z)[\"index\"]][4]};this.pointAlongPathFrom=function(F,y,E){var G=e(F,E),C=G.segment,z=G.proportion,B=q[G.index][5],A=q[G.index][4];var D={x:A==Infinity?C[2]:C[2]>C[0]?C[0]+((1-z)*B)-y:C[2]+(z*B)+y,y:A==0?C[3]:C[3]>C[1]?C[1]+((1-z)*B)-y:C[3]+(z*B)+y,segmentInfo:G};return D}};jsPlumb.Endpoints.Dot=function(d){this.type=\"Dot\";var c=this;d=d||{};this.radius=d.radius||10;this.defaultOffset=0.5*this.radius;this.defaultInnerRadius=this.radius/3;this.compute=function(i,f,l,h){var g=l.radius||c.radius,e=i[0]-g,k=i[1]-g;return[e,k,g*2,g*2,g]}};jsPlumb.Endpoints.Rectangle=function(d){this.type=\"Rectangle\";var c=this;d=d||{};this.width=d.width||20;this.height=d.height||20;this.compute=function(k,g,m,i){var h=m.width||c.width,f=m.height||c.height,e=k[0]-(h/2),l=k[1]-(f/2);return[e,l,h,f]}};var a=function(e){jsPlumb.DOMElementComponent.apply(this,arguments);var c=this;var d=[];this.getDisplayElements=function(){return d};this.appendDisplayElement=function(f){d.push(f)}};jsPlumb.Endpoints.Image=function(g){this.type=\"Image\";a.apply(this,arguments);var l=this,f=false,e=g.width,d=g.height,i=null,c=g.endpoint;this.img=new Image();l.ready=false;this.img.onload=function(){l.ready=true;e=e||l.img.width;d=d||l.img.height;if(i){i(l)}};c.setImage=function(m,o){var n=m.constructor==String?m:m.src;i=o;l.img.src=m;if(l.canvas!=null){l.canvas.setAttribute(\"src\",m)}};c.setImage(g.src||g.url,g.onload);this.compute=function(o,m,p,n){l.anchorPoint=o;if(l.ready){return[o[0]-e/2,o[1]-d/2,e,d]}else{return[0,0,0,0]}};l.canvas=document.createElement(\"img\"),f=false;l.canvas.style.margin=0;l.canvas.style.padding=0;l.canvas.style.outline=0;l.canvas.style.position=\"absolute\";var h=g.cssClass?\" \"+g.cssClass:\"\";l.canvas.className=jsPlumb.endpointClass+h;if(e){l.canvas.setAttribute(\"width\",e)}if(d){l.canvas.setAttribute(\"height\",d)}jsPlumb.appendElement(l.canvas,g.parent);l.attachListeners(l.canvas,l);var k=function(p,o,n){if(!f){l.canvas.setAttribute(\"src\",l.img.src);l.appendDisplayElement(l.canvas);f=true}var m=l.anchorPoint[0]-(e/2),q=l.anchorPoint[1]-(d/2);jsPlumb.sizeCanvas(l.canvas,m,q,e,d)};this.paint=function(o,n,m){if(l.ready){k(o,n,m)}else{window.setTimeout(function(){l.paint(o,n,m)},200)}}};jsPlumb.Endpoints.Blank=function(d){var c=this;this.type=\"Blank\";a.apply(this,arguments);this.compute=function(g,e,h,f){return[g[0],g[1],10,0]};c.canvas=document.createElement(\"div\");c.canvas.style.display=\"block\";c.canvas.style.width=\"1px\";c.canvas.style.height=\"1px\";c.canvas.style.background=\"transparent\";c.canvas.style.position=\"absolute\";c.canvas.className=c._jsPlumb.endpointClass;jsPlumb.appendElement(c.canvas,d.parent);this.paint=function(g,f,e){jsPlumb.sizeCanvas(c.canvas,g[0],g[1],g[2],g[3])}};jsPlumb.Endpoints.Triangle=function(c){this.type=\"Triangle\";c=c||{};c.width=c.width||55;c.height=c.height||55;this.width=c.width;this.height=c.height;this.compute=function(i,f,l,h){var g=l.width||self.width,e=l.height||self.height,d=i[0]-(g/2),k=i[1]-(e/2);return[d,k,g,e]}};var b=function(e){var d=true,c=this;this.isAppendedAtTopLevel=true;this.component=e.component;this.loc=e.location==null?0.5:e.location;this.endpointLoc=e.endpointLocation==null?[0.5,0.5]:e.endpointLocation;this.setVisible=function(f){d=f;c.component.repaint()};this.isVisible=function(){return d};this.hide=function(){c.setVisible(false)};this.show=function(){c.setVisible(true)};this.incrementLocation=function(f){c.loc+=f;c.component.repaint()};this.setLocation=function(f){c.loc=f;c.component.repaint()};this.getLocation=function(){return c.loc}};jsPlumb.Overlays.Arrow=function(g){this.type=\"Arrow\";b.apply(this,arguments);this.isAppendedAtTopLevel=false;g=g||{};var d=this;this.length=g.length||20;this.width=g.width||20;this.id=g.id;var f=(g.direction||1)<0?-1:1,e=g.paintStyle||{lineWidth:1},c=g.foldback||0.623;this.computeMaxSize=function(){return d.width*1.5};this.cleanup=function(){};this.draw=function(k,z,u){var o,v,h,p,n;if(k.pointAlongPathFrom){if(jsPlumbUtil.isString(d.loc)||d.loc>1||d.loc<0){var i=parseInt(d.loc);o=k.pointAlongPathFrom(i,f*d.length/2,true),v=k.pointOnPath(i,true),h=jsPlumbUtil.pointOnLine(o,v,d.length)}else{if(d.loc==1){o=k.pointOnPath(d.loc);v=k.pointAlongPathFrom(d.loc,-1);h=jsPlumbUtil.pointOnLine(o,v,d.length)}else{if(d.loc==0){h=k.pointOnPath(d.loc);v=k.pointAlongPathFrom(d.loc,1);o=jsPlumbUtil.pointOnLine(h,v,d.length)}else{o=k.pointAlongPathFrom(d.loc,f*d.length/2),v=k.pointOnPath(d.loc),h=jsPlumbUtil.pointOnLine(o,v,d.length)}}}p=jsPlumbUtil.perpendicularLineTo(o,h,d.width);n=jsPlumbUtil.pointOnLine(o,h,c*d.length);var y=Math.min(o.x,p[0].x,p[1].x),s=Math.max(o.x,p[0].x,p[1].x),x=Math.min(o.y,p[0].y,p[1].y),r=Math.max(o.y,p[0].y,p[1].y);var q={hxy:o,tail:p,cxy:n},t=e.strokeStyle||z.strokeStyle,w=e.fillStyle||z.strokeStyle,m=e.lineWidth||z.lineWidth;d.paint(k,q,m,t,w,u);return[y,s,x,r]}else{return[0,0,0,0]}}};jsPlumb.Overlays.PlainArrow=function(d){d=d||{};var c=jsPlumb.extend(d,{foldback:1});jsPlumb.Overlays.Arrow.call(this,c);this.type=\"PlainArrow\"};jsPlumb.Overlays.Diamond=function(e){e=e||{};var c=e.length||40,d=jsPlumb.extend(e,{length:c/2,foldback:2});jsPlumb.Overlays.Arrow.call(this,d);this.type=\"Diamond\"};jsPlumb.Overlays.Label=function(i){this.type=\"Label\";jsPlumb.DOMElementComponent.apply(this,arguments);b.apply(this,arguments);this.labelStyle=i.labelStyle||jsPlumb.Defaults.LabelStyle;this.id=i.id;this.cachedDimensions=null;var e=i.label||\"\",c=this,f=false,k=document.createElement(\"div\"),g=null;k.style.position=\"absolute\";var d=i._jsPlumb.overlayClass+\" \"+(c.labelStyle.cssClass?c.labelStyle.cssClass:i.cssClass?i.cssClass:\"\");k.className=d;jsPlumb.appendElement(k,i.component.parent);jsPlumb.getId(k);c.attachListeners(k,c);c.canvas=k;var h=c.setVisible;c.setVisible=function(l){h(l);k.style.display=l?\"block\":\"none\"};this.getElement=function(){return k};this.cleanup=function(){if(k!=null){jsPlumb.CurrentLibrary.removeElement(k)}};this.setLabel=function(m){e=m;g=null;c.component.repaint()};this.getLabel=function(){return e};this.paint=function(l,n,m){if(!f){l.appendDisplayElement(k);c.attachListeners(k,l);f=true}k.style.left=(m[0]+n.minx)+\"px\";k.style.top=(m[1]+n.miny)+\"px\"};this.getTextDimensions=function(){if(typeof e==\"function\"){var l=e(c);k.innerHTML=l.replace(/\\r\\n/g,\"<br/>\")}else{if(g==null){g=e;k.innerHTML=g.replace(/\\r\\n/g,\"<br/>\")}}var n=jsPlumb.CurrentLibrary.getElementObject(k),m=jsPlumb.CurrentLibrary.getSize(n);return{width:m[0],height:m[1]}};this.computeMaxSize=function(l){var m=c.getTextDimensions(l);return m.width?Math.max(m.width,m.height)*1.5:0};this.draw=function(m,n,o){var s=c.getTextDimensions(m);if(s.width!=null){var p={x:0,y:0};if(m.pointOnPath){var q=c.loc,r=false;if(jsPlumbUtil.isString(c.loc)||c.loc<0||c.loc>1){q=parseInt(c.loc);r=true}p=m.pointOnPath(q,r)}else{var l=c.loc.constructor==Array?c.loc:c.endpointLoc;p={x:l[0]*o[2],y:l[1]*o[3]}}minx=p.x-(s.width/2),miny=p.y-(s.height/2);c.paint(m,{minx:minx,miny:miny,td:s,cxy:p},o);return[minx,minx+s.width,miny,miny+s.height]}else{return[0,0,0,0]}};this.reattachListeners=function(l){if(k){c.reattachListenersForElement(k,c,l)}}};jsPlumb.Overlays.GuideLines=function(){var c=this;c.length=50;c.lineWidth=5;this.type=\"GuideLines\";b.apply(this,arguments);jsPlumb.jsPlumbUIComponent.apply(this,arguments);this.draw=function(e,l,k){var i=e.pointAlongPathFrom(c.loc,c.length/2),h=e.pointOnPath(c.loc),g=jsPlumbUtil.pointOnLine(i,h,c.length),f=jsPlumbUtil.perpendicularLineTo(i,g,40),d=jsPlumbUtil.perpendicularLineTo(g,i,20);c.paint(e,[i,g,f,d],c.lineWidth,\"red\",null,k);return[Math.min(i.x,g.x),Math.min(i.y,g.y),Math.max(i.x,g.x),Math.max(i.y,g.y)]};this.computeMaxSize=function(){return 50};this.cleanup=function(){}}})();(function(){var c=function(e,g,d,f){this.m=(f-g)/(d-e);this.b=-1*((this.m*e)-g);this.rectIntersect=function(q,p,s,o){var n=[];var k=(p-this.b)/this.m;if(k>=q&&k<=(q+s)){n.push([k,(this.m*k)+this.b])}var t=(this.m*(q+s))+this.b;if(t>=p&&t<=(p+o)){n.push([(t-this.b)/this.m,t])}var k=((p+o)-this.b)/this.m;if(k>=q&&k<=(q+s)){n.push([k,(this.m*k)+this.b])}var t=(this.m*q)+this.b;if(t>=p&&t<=(p+o)){n.push([(t-this.b)/this.m,t])}if(n.length==2){var m=(n[0][0]+n[1][0])/2,l=(n[0][1]+n[1][1])/2;n.push([m,l]);var i=m<=q+(s/2)?-1:1,r=l<=p+(o/2)?-1:1;n.push([i,r]);return n}return null}},a=function(e,g,d,f){if(e<=d&&f<=g){return 1}else{if(e<=d&&g<=f){return 2}else{if(d<=e&&f>=g){return 3}}}return 4},b=function(g,f,i,e,h,m,l,d,k){if(d<=k){return[g,f]}if(i==1){if(e[3]<=0&&h[3]>=1){return[g+(e[2]<0.5?-1*m:m),f]}else{if(e[2]>=1&&h[2]<=0){return[g,f+(e[3]<0.5?-1*l:l)]}else{return[g+(-1*m),f+(-1*l)]}}}else{if(i==2){if(e[3]>=1&&h[3]<=0){return[g+(e[2]<0.5?-1*m:m),f]}else{if(e[2]>=1&&h[2]<=0){return[g,f+(e[3]<0.5?-1*l:l)]}else{return[g+(1*m),f+(-1*l)]}}}else{if(i==3){if(e[3]>=1&&h[3]<=0){return[g+(e[2]<0.5?-1*m:m),f]}else{if(e[2]<=0&&h[2]>=1){return[g,f+(e[3]<0.5?-1*l:l)]}else{return[g+(-1*m),f+(-1*l)]}}}else{if(i==4){if(e[3]<=0&&h[3]>=1){return[g+(e[2]<0.5?-1*m:m),f]}else{if(e[2]<=0&&h[2]>=1){return[g,f+(e[3]<0.5?-1*l:l)]}else{return[g+(1*m),f+(-1*l)]}}}}}}};jsPlumb.Connectors.StateMachine=function(l){var u=this,n=null,o,m,g,e,p=[],d=l.curviness||10,k=l.margin||5,q=l.proximityLimit||80,f=l.orientation&&l.orientation==\"clockwise\",i=l.loopbackRadius||25,h=false,t=l.showLoopback!==false;this.type=\"StateMachine\";l=l||{};this.compute=function(ad,H,W,I,ac,z,v,U){var Q=Math.abs(ad[0]-H[0]),Y=Math.abs(ad[1]-H[1]),S=0.45*Q,ab=0.45*Y;Q*=1.9;Y*=1.9;v=v||1;var O=Math.min(ad[0],H[0])-S,M=Math.min(ad[1],H[1])-ab;if(!t||(W.elementId!=I.elementId)){h=false;o=ad[0]<H[0]?S:Q-S;m=ad[1]<H[1]?ab:Y-ab;g=ad[0]<H[0]?Q-S:S;e=ad[1]<H[1]?Y-ab:ab;if(ad[2]==0){o-=k}if(ad[2]==1){o+=k}if(ad[3]==0){m-=k}if(ad[3]==1){m+=k}if(H[2]==0){g-=k}if(H[2]==1){g+=k}if(H[3]==0){e-=k}if(H[3]==1){e+=k}var N=(o+g)/2,L=(m+e)/2,A=(-1*N)/L,V=Math.atan(A),P=(A==Infinity||A==-Infinity)?0:Math.abs(d/2*Math.sin(V)),R=(A==Infinity||A==-Infinity)?0:Math.abs(d/2*Math.cos(V)),B=a(o,m,g,e),J=Math.sqrt(Math.pow(g-o,2)+Math.pow(e-m,2));p=b(N,L,B,ad,H,d,d,J,q);var G=Math.max(Math.abs(p[0]-o)*3,Math.abs(p[0]-g)*3,Math.abs(g-o),2*v,U),K=Math.max(Math.abs(p[1]-m)*3,Math.abs(p[1]-e)*3,Math.abs(e-m),2*v,U);if(Q<G){var T=G-Q;O-=(T/2);o+=(T/2);g+=(T/2);Q=G;p[0]+=(T/2)}if(Y<K){var aa=K-Y;M-=(aa/2);m+=(aa/2);e+=(aa/2);Y=K;p[1]+=(aa/2)}n=[O,M,Q,Y,o,m,g,e,p[0],p[1]]}else{h=true;var Z=ad[0],X=ad[0],F=ad[1]-k,D=ad[1]-k,E=Z,C=F-i;Q=((2*v)+(4*i)),Y=((2*v)+(4*i));O=E-i-v-i,M=C-i-v-i;n=[O,M,Q,Y,E-O,C-M,i,f,Z-O,F-M,X-O,D-M]}return n};var r=function(){return[{x:g,y:e},{x:p[0],y:p[1]},{x:p[0]+1,y:p[1]+1},{x:o,y:m}]};var s=function(w,v,x){if(x){v=jsBezier.locationAlongCurveFrom(w,v>0?0:1,v)}return v};this.pointOnPath=function(x,B){if(h){if(B){var y=Math.PI*2*i;x=x/y}if(x>0&&x<1){x=1-x}var z=(x*2*Math.PI)+(Math.PI/2),w=n[4]+(n[6]*Math.cos(z)),v=n[5]+(n[6]*Math.sin(z));return{x:w,y:v}}else{var A=r();x=s(A,x,B);return jsBezier.pointOnCurve(A,x)}};this.gradientAtPoint=function(v,y){if(h){if(y){var w=Math.PI*2*i;v=v/w}return Math.atan(v*2*Math.PI)}else{var x=r();v=s(x,v,y);return jsBezier.gradientAtPoint(x,v)}};this.pointAlongPathFrom=function(D,v,C){if(h){if(C){var B=Math.PI*2*i;D=D/B}if(D>0&&D<1){D=1-D}var B=2*Math.PI*n[6],w=v/B*2*Math.PI,z=(D*2*Math.PI)-w+(Math.PI/2),y=n[4]+(n[6]*Math.cos(z)),x=n[5]+(n[6]*Math.sin(z));return{x:y,y:x}}else{var A=r();D=s(A,D,C);return jsBezier.pointAlongCurveFrom(A,D,v)}}};jsPlumb.Connectors.canvas.StateMachine=function(f){f=f||{};var d=this,g=f.drawGuideline||true,e=f.avoidSelector;jsPlumb.Connectors.StateMachine.apply(this,arguments);jsPlumb.CanvasConnector.apply(this,arguments);this._paint=function(l){if(l.length==10){d.ctx.beginPath();d.ctx.moveTo(l[4],l[5]);d.ctx.bezierCurveTo(l[8],l[9],l[8],l[9],l[6],l[7]);d.ctx.stroke()}else{d.ctx.save();d.ctx.beginPath();var k=0,i=2*Math.PI,h=l[7];d.ctx.arc(l[4],l[5],l[6],0,i,h);d.ctx.stroke();d.ctx.closePath();d.ctx.restore()}};this.createGradient=function(i,h){return h.createLinearGradient(i[4],i[5],i[6],i[7])}};jsPlumb.Connectors.svg.StateMachine=function(){var d=this;jsPlumb.Connectors.StateMachine.apply(this,arguments);jsPlumb.SvgConnector.apply(this,arguments);this.getPath=function(e){if(e.length==10){return\"M \"+e[4]+\" \"+e[5]+\" C \"+e[8]+\" \"+e[9]+\" \"+e[8]+\" \"+e[9]+\" \"+e[6]+\" \"+e[7]}else{return\"M\"+(e[8]+4)+\" \"+e[9]+\" A \"+e[6]+\" \"+e[6]+\" 0 1,0 \"+(e[8]-4)+\" \"+e[9]}}};jsPlumb.Connectors.vml.StateMachine=function(){jsPlumb.Connectors.StateMachine.apply(this,arguments);jsPlumb.VmlConnector.apply(this,arguments);var d=jsPlumb.vml.convertValue;this.getPath=function(k){if(k.length==10){return\"m\"+d(k[4])+\",\"+d(k[5])+\" c\"+d(k[8])+\",\"+d(k[9])+\",\"+d(k[8])+\",\"+d(k[9])+\",\"+d(k[6])+\",\"+d(k[7])+\" e\"}else{var h=d(k[8]-k[6]),g=d(k[9]-(2*k[6])),f=h+d(2*k[6]),e=g+d(2*k[6]),l=h+\",\"+g+\",\"+f+\",\"+e;var i=\"ar \"+l+\",\"+d(k[8])+\",\"+d(k[9])+\",\"+d(k[8])+\",\"+d(k[9])+\" e\";return i}}}})();(function(){var h={\"stroke-linejoin\":\"joinstyle\",joinstyle:\"joinstyle\",endcap:\"endcap\",miterlimit:\"miterlimit\"},c=null;if(document.createStyleSheet&&document.namespaces){var m=[\".jsplumb_vml\",\"jsplumb\\\\:textbox\",\"jsplumb\\\\:oval\",\"jsplumb\\\\:rect\",\"jsplumb\\\\:stroke\",\"jsplumb\\\\:shape\",\"jsplumb\\\\:group\"],g=\"behavior:url(#default#VML);position:absolute;\";c=document.createStyleSheet();for(var r=0;r<m.length;r++){c.addRule(m[r],g)}document.namespaces.add(\"jsplumb\",\"urn:schemas-microsoft-com:vml\")}jsPlumb.vml={};var t=1000,s={},a=function(u,i){var w=jsPlumb.getId(u),v=s[w];if(!v){v=f(\"group\",[0,0,t,t],{\"class\":i});v.style.backgroundColor=\"red\";s[w]=v;jsPlumb.appendElement(v,u)}return v},e=function(v,w){for(var u in w){v[u]=w[u]}},f=function(u,x,y,v,i){y=y||{};var w=document.createElement(\"jsplumb:\"+u);i.appendElement(w,v);w.className=(y[\"class\"]?y[\"class\"]+\" \":\"\")+\"jsplumb_vml\";k(w,x);e(w,y);return w},k=function(u,i){u.style.left=i[0]+\"px\";u.style.top=i[1]+\"px\";u.style.width=i[2]+\"px\";u.style.height=i[3]+\"px\";u.style.position=\"absolute\"},p=jsPlumb.vml.convertValue=function(i){return Math.floor(i*t)},b=function(w,u,v,i){if(\"transparent\"===u){i.setOpacity(v,\"0.0\")}else{i.setOpacity(v,\"1.0\")}},q=function(y,u,B,C){var x={};if(u.strokeStyle){x.stroked=\"true\";var D=jsPlumbUtil.convertStyle(u.strokeStyle,true);x.strokecolor=D;b(x,D,\"stroke\",B);x.strokeweight=u.lineWidth+\"px\"}else{x.stroked=\"false\"}if(u.fillStyle){x.filled=\"true\";var v=jsPlumbUtil.convertStyle(u.fillStyle,true);x.fillcolor=v;b(x,v,\"fill\",B)}else{x.filled=\"false\"}if(u.dashstyle){if(B.strokeNode==null){B.strokeNode=f(\"stroke\",[0,0,0,0],{dashstyle:u.dashstyle},y,C)}else{B.strokeNode.dashstyle=u.dashstyle}}else{if(u[\"stroke-dasharray\"]&&u.lineWidth){var E=u[\"stroke-dasharray\"].indexOf(\",\")==-1?\" \":\",\",z=u[\"stroke-dasharray\"].split(E),w=\"\";for(var A=0;A<z.length;A++){w+=(Math.floor(z[A]/u.lineWidth)+E)}if(B.strokeNode==null){B.strokeNode=f(\"stroke\",[0,0,0,0],{dashstyle:w},y,C)}else{B.strokeNode.dashstyle=w}}}e(y,x)},n=function(){var i=this;jsPlumb.jsPlumbUIComponent.apply(this,arguments);this.opacityNodes={stroke:null,fill:null};this.initOpacityNodes=function(v){i.opacityNodes.stroke=f(\"stroke\",[0,0,1,1],{opacity:\"0.0\"},v,i._jsPlumb);i.opacityNodes.fill=f(\"fill\",[0,0,1,1],{opacity:\"0.0\"},v,i._jsPlumb)};this.setOpacity=function(v,x){var w=i.opacityNodes[v];if(w){w.opacity=\"\"+x}};var u=[];this.getDisplayElements=function(){return u};this.appendDisplayElement=function(w,v){if(!v){i.canvas.parentNode.appendChild(w)}u.push(w)}},d=jsPlumb.VmlConnector=function(v){var i=this;i.strokeNode=null;i.canvas=null;n.apply(this,arguments);var u=i._jsPlumb.connectorClass+(v.cssClass?(\" \"+v.cssClass):\"\");this.paint=function(A,x,z){if(x!=null){var E=i.getPath(A),y={path:E};if(x.outlineColor){var C=x.outlineWidth||1,D=x.lineWidth+(2*C),B={strokeStyle:jsPlumbUtil.convertStyle(x.outlineColor),lineWidth:D};for(var w in h){B[w]=x[w]}if(i.bgCanvas==null){y[\"class\"]=u;y.coordsize=(A[2]*t)+\",\"+(A[3]*t);i.bgCanvas=f(\"shape\",A,y,v.parent,i._jsPlumb);k(i.bgCanvas,A);i.appendDisplayElement(i.bgCanvas,true);i.attachListeners(i.bgCanvas,i);i.initOpacityNodes(i.bgCanvas,[\"stroke\"])}else{y.coordsize=(A[2]*t)+\",\"+(A[3]*t);k(i.bgCanvas,A);e(i.bgCanvas,y)}q(i.bgCanvas,B,i)}if(i.canvas==null){y[\"class\"]=u;y.coordsize=(A[2]*t)+\",\"+(A[3]*t);if(i.tooltip){y.label=i.tooltip}i.canvas=f(\"shape\",A,y,v.parent,i._jsPlumb);i.appendDisplayElement(i.canvas,true);i.attachListeners(i.canvas,i);i.initOpacityNodes(i.canvas,[\"stroke\"])}else{y.coordsize=(A[2]*t)+\",\"+(A[3]*t);k(i.canvas,A);e(i.canvas,y)}q(i.canvas,x,i,i._jsPlumb)}};this.reattachListeners=function(){if(i.canvas){i.reattachListenersForElement(i.canvas,i)}}},l=window.VmlEndpoint=function(y){n.apply(this,arguments);var i=null,v=this,u=null,x=null;v.canvas=document.createElement(\"div\");v.canvas.style.position=\"absolute\";var w=v._jsPlumb.endpointClass+(y.cssClass?(\" \"+y.cssClass):\"\");y._jsPlumb.appendElement(v.canvas,y.parent);if(v.tooltip){v.canvas.setAttribute(\"label\",v.tooltip)}this.paint=function(C,A,z){var B={};jsPlumb.sizeCanvas(v.canvas,C[0],C[1],C[2],C[3]);if(i==null){B[\"class\"]=w;i=v.getVml([0,0,C[2],C[3]],B,z,v.canvas,v._jsPlumb);v.attachListeners(i,v);v.appendDisplayElement(i,true);v.appendDisplayElement(v.canvas,true);v.initOpacityNodes(i,[\"fill\"])}else{k(i,[0,0,C[2],C[3]]);e(i,B)}q(i,A,v)};this.reattachListeners=function(){if(i){v.reattachListenersForElement(i,v)}}};jsPlumb.Connectors.vml.Bezier=function(){jsPlumb.Connectors.Bezier.apply(this,arguments);d.apply(this,arguments);this.getPath=function(i){return\"m\"+p(i[4])+\",\"+p(i[5])+\" c\"+p(i[8])+\",\"+p(i[9])+\",\"+p(i[10])+\",\"+p(i[11])+\",\"+p(i[6])+\",\"+p(i[7])+\" e\"}};jsPlumb.Connectors.vml.Straight=function(){jsPlumb.Connectors.Straight.apply(this,arguments);d.apply(this,arguments);this.getPath=function(i){return\"m\"+p(i[4])+\",\"+p(i[5])+\" l\"+p(i[6])+\",\"+p(i[7])+\" e\"}};jsPlumb.Connectors.vml.Flowchart=function(){jsPlumb.Connectors.Flowchart.apply(this,arguments);d.apply(this,arguments);this.getPath=function(v){var w=\"m \"+p(v[4])+\",\"+p(v[5])+\" l\";for(var u=0;u<v[8];u++){w=w+\" \"+p(v[9+(u*2)])+\",\"+p(v[10+(u*2)])}w=w+\" \"+p(v[6])+\",\"+p(v[7])+\" e\";return w}};jsPlumb.Endpoints.vml.Dot=function(){jsPlumb.Endpoints.Dot.apply(this,arguments);l.apply(this,arguments);this.getVml=function(w,x,u,v,i){return f(\"oval\",w,x,v,i)}};jsPlumb.Endpoints.vml.Rectangle=function(){jsPlumb.Endpoints.Rectangle.apply(this,arguments);l.apply(this,arguments);this.getVml=function(w,x,u,v,i){return f(\"rect\",w,x,v,i)}};jsPlumb.Endpoints.vml.Image=jsPlumb.Endpoints.Image;jsPlumb.Endpoints.vml.Blank=jsPlumb.Endpoints.Blank;jsPlumb.Overlays.vml.Label=jsPlumb.Overlays.Label;var o=function(x,v){x.apply(this,v);n.apply(this,v);var u=this,w=null;u.canvas=null;u.isAppendedAtTopLevel=true;var i=function(z,y){return\"m \"+p(z.hxy.x)+\",\"+p(z.hxy.y)+\" l \"+p(z.tail[0].x)+\",\"+p(z.tail[0].y)+\" \"+p(z.cxy.x)+\",\"+p(z.cxy.y)+\" \"+p(z.tail[1].x)+\",\"+p(z.tail[1].y)+\" x e\"};this.paint=function(B,G,F,H,L,K){var z={};if(H){z.stroked=\"true\";z.strokecolor=jsPlumbUtil.convertStyle(H,true)}if(F){z.strokeweight=F+\"px\"}if(L){z.filled=\"true\";z.fillcolor=L}var y=Math.min(G.hxy.x,G.tail[0].x,G.tail[1].x,G.cxy.x),J=Math.min(G.hxy.y,G.tail[0].y,G.tail[1].y,G.cxy.y),C=Math.max(G.hxy.x,G.tail[0].x,G.tail[1].x,G.cxy.x),A=Math.max(G.hxy.y,G.tail[0].y,G.tail[1].y,G.cxy.y),I=Math.abs(C-y),E=Math.abs(A-J),D=[y,J,I,E];z.path=i(G,K);z.coordsize=(K[2]*t)+\",\"+(K[3]*t);D[0]=K[0];D[1]=K[1];D[2]=K[2];D[3]=K[3];if(u.canvas==null){u.canvas=f(\"shape\",D,z,B.canvas.parentNode,B._jsPlumb);B.appendDisplayElement(u.canvas,true);u.attachListeners(u.canvas,B);u.attachListeners(u.canvas,u)}else{k(u.canvas,D);e(u.canvas,z)}};this.reattachListeners=function(){if(u.canvas){u.reattachListenersForElement(u.canvas,u)}};this.cleanup=function(){if(u.canvas!=null){jsPlumb.CurrentLibrary.removeElement(u.canvas)}}};jsPlumb.Overlays.vml.Arrow=function(){o.apply(this,[jsPlumb.Overlays.Arrow,arguments])};jsPlumb.Overlays.vml.PlainArrow=function(){o.apply(this,[jsPlumb.Overlays.PlainArrow,arguments])};jsPlumb.Overlays.vml.Diamond=function(){o.apply(this,[jsPlumb.Overlays.Diamond,arguments])}})();(function(){var l={joinstyle:\"stroke-linejoin\",\"stroke-linejoin\":\"stroke-linejoin\",\"stroke-dashoffset\":\"stroke-dashoffset\",\"stroke-linecap\":\"stroke-linecap\"},w=\"stroke-dasharray\",A=\"dashstyle\",e=\"linearGradient\",b=\"radialGradient\",c=\"fill\",a=\"stop\",z=\"stroke\",q=\"stroke-width\",h=\"style\",m=\"none\",t=\"jsplumb_gradient_\",o=\"lineWidth\",C={svg:\"http://www.w3.org/2000/svg\",xhtml:\"http://www.w3.org/1999/xhtml\"},g=function(F,D){for(var E in D){F.setAttribute(E,\"\"+D[E])}},f=function(E,D){var F=document.createElementNS(C.svg,E);D=D||{};D.version=\"1.1\";D.xmlns=C.xhtml;g(F,D);return F},n=function(D){return\"position:absolute;left:\"+D[0]+\"px;top:\"+D[1]+\"px\"},i=function(E){for(var D=0;D<E.childNodes.length;D++){if(E.childNodes[D].tagName==e||E.childNodes[D].tagName==b){E.removeChild(E.childNodes[D])}}},v=function(N,I,F,D,J){var G=t+J._jsPlumb.idstamp();i(N);if(!F.gradient.offset){var L=f(e,{id:G,gradientUnits:\"userSpaceOnUse\"});N.appendChild(L)}else{var L=f(b,{id:G});N.appendChild(L)}for(var K=0;K<F.gradient.stops.length;K++){var H=K;if(D.length==8){H=D[4]<D[6]?K:F.gradient.stops.length-1-K}else{H=D[4]<D[6]?F.gradient.stops.length-1-K:K}var M=jsPlumbUtil.convertStyle(F.gradient.stops[H][1],true);var O=f(a,{offset:Math.floor(F.gradient.stops[K][0]*100)+\"%\",\"stop-color\":M});L.appendChild(O)}var E=F.strokeStyle?z:c;I.setAttribute(h,E+\":url(#\"+G+\")\")},x=function(K,G,E,D,H){if(E.gradient){v(K,G,E,D,H)}else{i(K);G.setAttribute(h,\"\")}G.setAttribute(c,E.fillStyle?jsPlumbUtil.convertStyle(E.fillStyle,true):m);G.setAttribute(z,E.strokeStyle?jsPlumbUtil.convertStyle(E.strokeStyle,true):m);if(E.lineWidth){G.setAttribute(q,E.lineWidth)}if(E[A]&&E[o]&&!E[w]){var L=E[A].indexOf(\",\")==-1?\" \":\",\",I=E[A].split(L),F=\"\";I.forEach(function(M){F+=(Math.floor(M*E.lineWidth)+L)});G.setAttribute(w,F)}else{if(E[w]){G.setAttribute(w,E[w])}}for(var J in l){if(E[J]){G.setAttribute(l[J],E[J])}}},B=function(F){var D=/([0-9].)(p[xt])\\s(.*)/;var E=F.match(D);return{size:E[1]+E[2],font:E[3]}},r=function(I,J,E){var K=E.split(\" \"),H=I.className,G=H.baseVal.split(\" \");for(var F=0;F<K.length;F++){if(J){if(G.indexOf(K[F])==-1){G.push(K[F])}}else{var D=G.indexOf(K[F]);if(D!=-1){G.splice(D,1)}}}I.className.baseVal=G.join(\" \")},u=function(E,D){r(E,true,D)},k=function(E,D){r(E,false,D)};jsPlumbUtil.svg={addClass:u,removeClass:k,node:f,attr:g,pos:n};var s=function(H){var D=this,G=H.pointerEventsSpec||\"all\";jsPlumb.jsPlumbUIComponent.apply(this,H.originalArgs);D.canvas=null,D.path=null,D.svg=null;var F=H.cssClass+\" \"+(H.originalArgs[0].cssClass||\"\"),I={style:\"\",width:0,height:0,\"pointer-events\":G,position:\"absolute\"};if(D.tooltip){I.title=D.tooltip}D.svg=f(\"svg\",I);if(H.useDivWrapper){D.canvas=document.createElement(\"div\");D.canvas.style.position=\"absolute\";jsPlumb.sizeCanvas(D.canvas,0,0,1,1);D.canvas.className=F;if(D.tooltip){D.canvas.setAttribute(\"title\",D.tooltip)}}else{g(D.svg,{\"class\":F});D.canvas=D.svg}H._jsPlumb.appendElement(D.canvas,H.originalArgs[0][\"parent\"]);if(H.useDivWrapper){D.canvas.appendChild(D.svg)}var E=[D.canvas];this.getDisplayElements=function(){return E};this.appendDisplayElement=function(J){E.push(J)};this.paint=function(M,L,K){if(L!=null){var J=M[0],N=M[1];if(H.useDivWrapper){jsPlumb.sizeCanvas(D.canvas,M[0],M[1],M[2],M[3]);J=0,N=0}g(D.svg,{style:n([J,N,M[2],M[3]]),width:M[2],height:M[3]});D._paint.apply(this,arguments)}}};var d=jsPlumb.SvgConnector=function(E){var D=this;s.apply(this,[{cssClass:E._jsPlumb.connectorClass,originalArgs:arguments,pointerEventsSpec:\"none\",tooltip:E.tooltip,_jsPlumb:E._jsPlumb}]);this._paint=function(L,H){var K=D.getPath(L),F={d:K},J=null;F[\"pointer-events\"]=\"all\";if(H.outlineColor){var I=H.outlineWidth||1,G=H.lineWidth+(2*I),J=jsPlumb.CurrentLibrary.extend({},H);J.strokeStyle=jsPlumbUtil.convertStyle(H.outlineColor);J.lineWidth=G;if(D.bgPath==null){D.bgPath=f(\"path\",F);D.svg.appendChild(D.bgPath);D.attachListeners(D.bgPath,D)}else{g(D.bgPath,F)}x(D.svg,D.bgPath,J,L,D)}if(D.path==null){D.path=f(\"path\",F);D.svg.appendChild(D.path);D.attachListeners(D.path,D)}else{g(D.path,F)}x(D.svg,D.path,H,L,D)};this.reattachListeners=function(){if(D.bgPath){D.reattachListenersForElement(D.bgPath,D)}if(D.path){D.reattachListenersForElement(D.path,D)}}};jsPlumb.Connectors.svg.Bezier=function(D){jsPlumb.Connectors.Bezier.apply(this,arguments);d.apply(this,arguments);this.getPath=function(F){var E=\"M \"+F[4]+\" \"+F[5];E+=(\" C \"+F[8]+\" \"+F[9]+\" \"+F[10]+\" \"+F[11]+\" \"+F[6]+\" \"+F[7]);return E}};jsPlumb.Connectors.svg.Straight=function(D){jsPlumb.Connectors.Straight.apply(this,arguments);d.apply(this,arguments);this.getPath=function(E){return\"M \"+E[4]+\" \"+E[5]+\" L \"+E[6]+\" \"+E[7]}};jsPlumb.Connectors.svg.Flowchart=function(){var D=this;jsPlumb.Connectors.Flowchart.apply(this,arguments);d.apply(this,arguments);this.getPath=function(F){var G=\"M \"+F[4]+\",\"+F[5];for(var E=0;E<F[8];E++){G=G+\" L \"+F[9+(E*2)]+\" \"+F[10+(E*2)]}G=G+\" \"+F[6]+\",\"+F[7];return G}};var y=window.SvgEndpoint=function(E){var D=this;s.apply(this,[{cssClass:E._jsPlumb.endpointClass,originalArgs:arguments,pointerEventsSpec:\"all\",useDivWrapper:true,_jsPlumb:E._jsPlumb}]);this._paint=function(H,G){var F=jsPlumb.extend({},G);if(F.outlineColor){F.strokeWidth=F.outlineWidth;F.strokeStyle=jsPlumbUtil.convertStyle(F.outlineColor,true)}if(D.node==null){D.node=D.makeNode(H,F);D.svg.appendChild(D.node);D.attachListeners(D.node,D)}x(D.svg,D.node,F,H,D);n(D.node,H)};this.reattachListeners=function(){if(D.node){D.reattachListenersForElement(D.node,D)}}};jsPlumb.Endpoints.svg.Dot=function(){jsPlumb.Endpoints.Dot.apply(this,arguments);y.apply(this,arguments);this.makeNode=function(E,D){return f(\"circle\",{cx:E[2]/2,cy:E[3]/2,r:E[2]/2})}};jsPlumb.Endpoints.svg.Rectangle=function(){jsPlumb.Endpoints.Rectangle.apply(this,arguments);y.apply(this,arguments);this.makeNode=function(E,D){return f(\"rect\",{width:E[2],height:E[3]})}};jsPlumb.Endpoints.svg.Image=jsPlumb.Endpoints.Image;jsPlumb.Endpoints.svg.Blank=jsPlumb.Endpoints.Blank;jsPlumb.Overlays.svg.Label=jsPlumb.Overlays.Label;var p=function(H,F){H.apply(this,F);jsPlumb.jsPlumbUIComponent.apply(this,F);this.isAppendedAtTopLevel=false;var D=this,G=null;this.paint=function(J,M,I,N,K){if(G==null){G=f(\"path\",{\"pointer-events\":\"all\"});J.svg.appendChild(G);D.attachListeners(G,J);D.attachListeners(G,D)}var L=F&&(F.length==1)?(F[0].cssClass||\"\"):\"\";g(G,{d:E(M),\"class\":L,stroke:N?N:null,fill:K?K:null})};var E=function(I){return\"M\"+I.hxy.x+\",\"+I.hxy.y+\" L\"+I.tail[0].x+\",\"+I.tail[0].y+\" L\"+I.cxy.x+\",\"+I.cxy.y+\" L\"+I.tail[1].x+\",\"+I.tail[1].y+\" L\"+I.hxy.x+\",\"+I.hxy.y};this.reattachListeners=function(){if(G){D.reattachListenersForElement(G,D)}};this.cleanup=function(){if(G!=null){jsPlumb.CurrentLibrary.removeElement(G)}}};jsPlumb.Overlays.svg.Arrow=function(){p.apply(this,[jsPlumb.Overlays.Arrow,arguments])};jsPlumb.Overlays.svg.PlainArrow=function(){p.apply(this,[jsPlumb.Overlays.PlainArrow,arguments])};jsPlumb.Overlays.svg.Diamond=function(){p.apply(this,[jsPlumb.Overlays.Diamond,arguments])};jsPlumb.Overlays.svg.GuideLines=function(){var I=null,D=this,H=null,G,F;jsPlumb.Overlays.GuideLines.apply(this,arguments);this.paint=function(K,M,J,N,L){if(I==null){I=f(\"path\");K.svg.appendChild(I);D.attachListeners(I,K);D.attachListeners(I,D);G=f(\"path\");K.svg.appendChild(G);D.attachListeners(G,K);D.attachListeners(G,D);F=f(\"path\");K.svg.appendChild(F);D.attachListeners(F,K);D.attachListeners(F,D)}g(I,{d:E(M[0],M[1]),stroke:\"red\",fill:null});g(G,{d:E(M[2][0],M[2][1]),stroke:\"blue\",fill:null});g(F,{d:E(M[3][0],M[3][1]),stroke:\"green\",fill:null})};var E=function(K,J){return\"M \"+K.x+\",\"+K.y+\" L\"+J.x+\",\"+J.y}}})();(function(){var d=null,i=function(p,o){return jsPlumb.CurrentLibrary.hasClass(a(p),o)},a=function(o){return jsPlumb.CurrentLibrary.getElementObject(o)},m=function(o){return jsPlumb.CurrentLibrary.getOffset(a(o))},n=function(o){return jsPlumb.CurrentLibrary.getPageXY(o)},f=function(o){return jsPlumb.CurrentLibrary.getClientXY(o)};var k=function(){var q=this;q.overlayPlacements=[];jsPlumb.jsPlumbUIComponent.apply(this,arguments);jsPlumbUtil.EventGenerator.apply(this,arguments);this._over=function(z){var B=m(a(q.canvas)),D=n(z),u=D[0]-B.left,C=D[1]-B.top;if(u>0&&C>0&&u<q.canvas.width&&C<q.canvas.height){for(var v=0;v<q.overlayPlacements.length;v++){var w=q.overlayPlacements[v];if(w&&(w[0]<=u&&w[1]>=u&&w[2]<=C&&w[3]>=C)){return true}}var A=q.canvas.getContext(\"2d\").getImageData(parseInt(u),parseInt(C),1,1);return A.data[0]!=0||A.data[1]!=0||A.data[2]!=0||A.data[3]!=0}return false};var p=false,o=false,t=null,s=false,r=function(v,u){return v!=null&&i(v,u)};this.mousemove=function(x){var z=n(x),w=f(x),v=document.elementFromPoint(w[0],w[1]),y=r(v,\"_jsPlumb_overlay\");var u=d==null&&(r(v,\"_jsPlumb_endpoint\")||r(v,\"_jsPlumb_connector\"));if(!p&&u&&q._over(x)){p=true;q.fire(\"mouseenter\",q,x);return true}else{if(p&&(!q._over(x)||!u)&&!y){p=false;q.fire(\"mouseexit\",q,x)}}q.fire(\"mousemove\",q,x)};this.click=function(u){if(p&&q._over(u)&&!s){q.fire(\"click\",q,u)}s=false};this.dblclick=function(u){if(p&&q._over(u)&&!s){q.fire(\"dblclick\",q,u)}s=false};this.mousedown=function(u){if(q._over(u)&&!o){o=true;t=m(a(q.canvas));q.fire(\"mousedown\",q,u)}};this.mouseup=function(u){o=false;q.fire(\"mouseup\",q,u)};this.contextmenu=function(u){if(p&&q._over(u)&&!s){q.fire(\"contextmenu\",q,u)}s=false}};var c=function(p){var o=document.createElement(\"canvas\");p._jsPlumb.appendElement(o,p.parent);o.style.position=\"absolute\";if(p[\"class\"]){o.className=p[\"class\"]}p._jsPlumb.getId(o,p.uuid);if(p.tooltip){o.setAttribute(\"title\",p.tooltip)}return o};var l=function(p){k.apply(this,arguments);var o=[];this.getDisplayElements=function(){return o};this.appendDisplayElement=function(q){o.push(q)}};var h=jsPlumb.CanvasConnector=function(r){l.apply(this,arguments);var o=function(v,t){p.ctx.save();jsPlumb.extend(p.ctx,t);if(t.gradient){var u=p.createGradient(v,p.ctx);for(var s=0;s<t.gradient.stops.length;s++){u.addColorStop(t.gradient.stops[s][0],t.gradient.stops[s][1])}p.ctx.strokeStyle=u}p._paint(v,t);p.ctx.restore()};var p=this,q=p._jsPlumb.connectorClass+\" \"+(r.cssClass||\"\");p.canvas=c({\"class\":q,_jsPlumb:p._jsPlumb,parent:r.parent,tooltip:r.tooltip});p.ctx=p.canvas.getContext(\"2d\");p.appendDisplayElement(p.canvas);p.paint=function(w,t){if(t!=null){jsPlumb.sizeCanvas(p.canvas,w[0],w[1],w[2],w[3]);if(t.outlineColor!=null){var v=t.outlineWidth||1,s=t.lineWidth+(2*v),u={strokeStyle:t.outlineColor,lineWidth:s};o(w,u)}o(w,t)}}};var b=function(r){var p=this;l.apply(this,arguments);var q=p._jsPlumb.endpointClass+\" \"+(r.cssClass||\"\"),o={\"class\":q,_jsPlumb:p._jsPlumb,parent:r.parent,tooltip:p.tooltip};p.canvas=c(o);p.ctx=p.canvas.getContext(\"2d\");p.appendDisplayElement(p.canvas);this.paint=function(x,u,s){jsPlumb.sizeCanvas(p.canvas,x[0],x[1],x[2],x[3]);if(u.outlineColor!=null){var w=u.outlineWidth||1,t=u.lineWidth+(2*w);var v={strokeStyle:u.outlineColor,lineWidth:t}}p._paint.apply(this,arguments)}};jsPlumb.Endpoints.canvas.Dot=function(r){jsPlumb.Endpoints.Dot.apply(this,arguments);b.apply(this,arguments);var q=this,p=function(s){try{return parseInt(s)}catch(t){if(s.substring(s.length-1)==\"%\"){return parseInt(s.substring(0,s-1))}}},o=function(u){var s=q.defaultOffset,t=q.defaultInnerRadius;u.offset&&(s=p(u.offset));u.innerRadius&&(t=p(u.innerRadius));return[s,t]};this._paint=function(A,t,x){if(t!=null){var B=q.canvas.getContext(\"2d\"),u=x.getOrientation(q);jsPlumb.extend(B,t);if(t.gradient){var v=o(t.gradient),y=u[1]==1?v[0]*-1:v[0],s=u[0]==1?v[0]*-1:v[0],z=B.createRadialGradient(A[4],A[4],A[4],A[4]+s,A[4]+y,v[1]);for(var w=0;w<t.gradient.stops.length;w++){z.addColorStop(t.gradient.stops[w][0],t.gradient.stops[w][1])}B.fillStyle=z}B.beginPath();B.arc(A[4],A[4],A[4],0,Math.PI*2,true);B.closePath();if(t.fillStyle||t.gradient){B.fill()}if(t.strokeStyle){B.stroke()}}}};jsPlumb.Endpoints.canvas.Rectangle=function(p){var o=this;jsPlumb.Endpoints.Rectangle.apply(this,arguments);b.apply(this,arguments);this._paint=function(x,r,v){var A=o.canvas.getContext(\"2d\"),t=v.getOrientation(o);jsPlumb.extend(A,r);if(r.gradient){var z=t[1]==1?x[3]:t[1]==0?x[3]/2:0;var y=t[1]==-1?x[3]:t[1]==0?x[3]/2:0;var s=t[0]==1?x[2]:t[0]==0?x[2]/2:0;var q=t[0]==-1?x[2]:t[0]==0?x[2]/2:0;var w=A.createLinearGradient(s,z,q,y);for(var u=0;u<r.gradient.stops.length;u++){w.addColorStop(r.gradient.stops[u][0],r.gradient.stops[u][1])}A.fillStyle=w}A.beginPath();A.rect(0,0,x[2],x[3]);A.closePath();if(r.fillStyle||r.gradient){A.fill()}if(r.strokeStyle){A.stroke()}}};jsPlumb.Endpoints.canvas.Triangle=function(p){var o=this;jsPlumb.Endpoints.Triangle.apply(this,arguments);b.apply(this,arguments);this._paint=function(z,q,v){var s=z[2],C=z[3],B=z[0],A=z[1],D=o.canvas.getContext(\"2d\"),w=0,u=0,t=0,r=v.getOrientation(o);if(r[0]==1){w=s;u=C;t=180}if(r[1]==-1){w=s;t=90}if(r[1]==1){u=C;t=-90}D.fillStyle=q.fillStyle;D.translate(w,u);D.rotate(t*Math.PI/180);D.beginPath();D.moveTo(0,0);D.lineTo(s/2,C/2);D.lineTo(0,C);D.closePath();if(q.fillStyle||q.gradient){D.fill()}if(q.strokeStyle){D.stroke()}}};jsPlumb.Endpoints.canvas.Image=jsPlumb.Endpoints.Image;jsPlumb.Endpoints.canvas.Blank=jsPlumb.Endpoints.Blank;jsPlumb.Connectors.canvas.Bezier=function(){var o=this;jsPlumb.Connectors.Bezier.apply(this,arguments);h.apply(this,arguments);this._paint=function(q,p){o.ctx.beginPath();o.ctx.moveTo(q[4],q[5]);o.ctx.bezierCurveTo(q[8],q[9],q[10],q[11],q[6],q[7]);o.ctx.stroke()};this.createGradient=function(r,p,q){return o.ctx.createLinearGradient(r[6],r[7],r[4],r[5])}};jsPlumb.Connectors.canvas.Straight=function(){var p=this,o=[null,[1,-1],[1,1],[-1,1],[-1,-1]];jsPlumb.Connectors.Straight.apply(this,arguments);h.apply(this,arguments);this._paint=function(r,t){p.ctx.beginPath();if(t.dashstyle&&t.dashstyle.split(\" \").length==2){var v=t.dashstyle.split(\" \");if(v.length!=2){v=[2,2]}var C=[v[0]*t.lineWidth,v[1]*t.lineWidth],y=(r[6]-r[4])/(r[7]-r[5]),G=jsPlumbUtil.segment([r[4],r[5]],[r[6],r[7]]),x=o[G],u=Math.atan(y),z=Math.sqrt(Math.pow(r[6]-r[4],2)+Math.pow(r[7]-r[5],2)),B=Math.floor(z/(C[0]+C[1])),w=[r[4],r[5]];for(var A=0;A<B;A++){p.ctx.moveTo(w[0],w[1]);var q=w[0]+(Math.abs(Math.sin(u)*C[0])*x[0]),F=w[1]+(Math.abs(Math.cos(u)*C[0])*x[1]),E=w[0]+(Math.abs(Math.sin(u)*(C[0]+C[1]))*x[0]),D=w[1]+(Math.abs(Math.cos(u)*(C[0]+C[1]))*x[1]);p.ctx.lineTo(q,F);w=[E,D]}p.ctx.moveTo(w[0],w[1]);p.ctx.lineTo(r[6],r[7])}else{p.ctx.moveTo(r[4],r[5]);p.ctx.lineTo(r[6],r[7])}p.ctx.stroke()};this.createGradient=function(r,q){return q.createLinearGradient(r[4],r[5],r[6],r[7])}};jsPlumb.Connectors.canvas.Flowchart=function(){var o=this;jsPlumb.Connectors.Flowchart.apply(this,arguments);h.apply(this,arguments);this._paint=function(r,q){o.ctx.beginPath();o.ctx.moveTo(r[4],r[5]);for(var p=0;p<r[8];p++){o.ctx.lineTo(r[9+(p*2)],r[10+(p*2)])}o.ctx.lineTo(r[6],r[7]);o.ctx.stroke()};this.createGradient=function(q,p){return p.createLinearGradient(q[4],q[5],q[6],q[7])}};jsPlumb.Overlays.canvas.Label=jsPlumb.Overlays.Label;var g=function(){jsPlumb.jsPlumbUIComponent.apply(this,arguments)};var e=function(p,o){p.apply(this,o);g.apply(this,o);this.paint=function(s,u,q,v,t){var r=s.ctx;r.lineWidth=q;r.beginPath();r.moveTo(u.hxy.x,u.hxy.y);r.lineTo(u.tail[0].x,u.tail[0].y);r.lineTo(u.cxy.x,u.cxy.y);r.lineTo(u.tail[1].x,u.tail[1].y);r.lineTo(u.hxy.x,u.hxy.y);r.closePath();if(v){r.strokeStyle=v;r.stroke()}if(t){r.fillStyle=t;r.fill()}}};jsPlumb.Overlays.canvas.Arrow=function(){e.apply(this,[jsPlumb.Overlays.Arrow,arguments])};jsPlumb.Overlays.canvas.PlainArrow=function(){e.apply(this,[jsPlumb.Overlays.PlainArrow,arguments])};jsPlumb.Overlays.canvas.Diamond=function(){e.apply(this,[jsPlumb.Overlays.Diamond,arguments])}})();(function(a){jsPlumb.CurrentLibrary={addClass:function(c,b){c=jsPlumb.CurrentLibrary.getElementObject(c);try{if(c[0].className.constructor==SVGAnimatedString){jsPlumb.util.svg.addClass(c[0],b)}}catch(d){}c.addClass(b)},animate:function(d,c,b){d.animate(c,b)},appendElement:function(c,b){jsPlumb.CurrentLibrary.getElementObject(b).append(c)},ajax:function(b){b=b||{};b.type=b.type||\"get\";a.ajax(b)},bind:function(b,c,d){b=jsPlumb.CurrentLibrary.getElementObject(b);b.bind(c,d)},dragEvents:{start:\"start\",stop:\"stop\",drag:\"drag\",step:\"step\",over:\"over\",out:\"out\",drop:\"drop\",complete:\"complete\"},extend:function(c,b){return a.extend(c,b)},getAttribute:function(b,c){return b.attr(c)},getClientXY:function(b){return[b.clientX,b.clientY]},getDocumentElement:function(){return document},getDragObject:function(b){return b[1].draggable},getDragScope:function(b){return b.draggable(\"option\",\"scope\")},getDropEvent:function(b){return b[0]},getDropScope:function(b){return b.droppable(\"option\",\"scope\")},getDOMElement:function(b){if(typeof(b)==\"string\"){return document.getElementById(b)}else{if(b.context){return b[0]}else{return b}}},getElementObject:function(b){return typeof(b)==\"string\"?a(\"#\"+b):a(b)},getOffset:function(b){return b.offset()},getOriginalEvent:function(b){return b.originalEvent},getPageXY:function(b){return[b.pageX,b.pageY]},getParent:function(b){return jsPlumb.CurrentLibrary.getElementObject(b).parent()},getScrollLeft:function(b){return b.scrollLeft()},getScrollTop:function(b){return b.scrollTop()},getSelector:function(b){return a(b)},getSize:function(b){return[b.outerWidth(),b.outerHeight()]},getTagName:function(b){var c=jsPlumb.CurrentLibrary.getElementObject(b);return c.length>0?c[0].tagName:null},getUIPosition:function(c){if(c.length==1){ret={left:c[0].pageX,top:c[0].pageY}}else{var d=c[1],b=d.offset;ret=b||d.absolutePosition}return ret},hasClass:function(c,b){return c.hasClass(b)},initDraggable:function(c,b,d){b=b||{};b.helper=null;if(d){b.scope=b.scope||jsPlumb.Defaults.Scope}c.draggable(b)},initDroppable:function(c,b){b.scope=b.scope||jsPlumb.Defaults.Scope;c.droppable(b)},isAlreadyDraggable:function(b){b=jsPlumb.CurrentLibrary.getElementObject(b);return b.hasClass(\"ui-draggable\")},isDragSupported:function(c,b){return c.draggable},isDropSupported:function(c,b){return c.droppable},removeClass:function(c,b){c=jsPlumb.CurrentLibrary.getElementObject(c);try{if(c[0].className.constructor==SVGAnimatedString){jsPlumb.util.svg.removeClass(c[0],b)}}catch(d){}c.removeClass(b)},removeElement:function(b,c){jsPlumb.CurrentLibrary.getElementObject(b).remove()},setAttribute:function(c,d,b){c.attr(d,b)},setDraggable:function(c,b){c.draggable(\"option\",\"disabled\",!b)},setDragScope:function(c,b){c.draggable(\"option\",\"scope\",b)},setOffset:function(b,c){jsPlumb.CurrentLibrary.getElementObject(b).offset(c)},trigger:function(d,e,b){var c=jQuery._data(jsPlumb.CurrentLibrary.getElementObject(d)[0],\"handle\");c(b)},unbind:function(b,c,d){b=jsPlumb.CurrentLibrary.getElementObject(b);b.unbind(c,d)}};a(document).ready(jsPlumb.init)})(jQuery);(function(){\"undefined\"==typeof Math.sgn&&(Math.sgn=function(l){return 0==l?0:0<l?1:-1});var d={subtract:function(m,l){return{x:m.x-l.x,y:m.y-l.y}},dotProduct:function(m,l){return m.x*l.x+m.y*l.y},square:function(l){return Math.sqrt(l.x*l.x+l.y*l.y)},scale:function(m,l){return{x:m.x*l,y:m.y*l}}},f=Math.pow(2,-65),h=function(y,x){for(var t=[],v=x.length-1,r=2*v-1,s=[],w=[],p=[],q=[],o=[[1,0.6,0.3,0.1],[0.4,0.6,0.6,0.4],[0.1,0.3,0.6,1]],u=0;u<=v;u++){s[u]=d.subtract(x[u],y)}for(u=0;u<=v-1;u++){w[u]=d.subtract(x[u+1],x[u]);w[u]=d.scale(w[u],3)}for(u=0;u<=v-1;u++){for(var m=0;m<=v;m++){p[u]||(p[u]=[]);p[u][m]=d.dotProduct(w[u],s[m])}}for(u=0;u<=r;u++){q[u]||(q[u]=[]);q[u].y=0;q[u].x=parseFloat(u)/r}r=v-1;for(s=0;s<=v+r;s++){u=Math.max(0,s-r);for(w=Math.min(s,v);u<=w;u++){j=s-u;q[u+j].y=q[u+j].y+p[j][u]*o[j][u]}}v=x.length-1;q=a(q,2*v-1,t,0);r=d.subtract(y,x[0]);p=d.square(r);for(u=o=0;u<q;u++){r=d.subtract(y,k(x,v,t[u],null,null));r=d.square(r);if(r<p){p=r;o=t[u]}}r=d.subtract(y,x[v]);r=d.square(r);if(r<p){p=r;o=1}return{location:o,distance:p}},a=function(C,B,x,z){var v=[],w=[],A=[],t=[],u=0,s,y;y=Math.sgn(C[0].y);for(var q=1;q<=B;q++){s=Math.sgn(C[q].y);s!=y&&u++;y=s}switch(u){case 0:return 0;case 1:if(z>=64){x[0]=(C[0].x+C[B].x)/2;return 1}var p,u=C[0].y-C[B].y;y=C[B].x-C[0].x;q=C[0].x*C[B].y-C[B].x*C[0].y;s=max_distance_below=0;for(p=1;p<B;p++){var r=u*C[p].x+y*C[p].y+q;r>s?s=r:r<max_distance_below&&(max_distance_below=r)}p=y;s=(1*(q-s)-p*0)*(1/(0*p-u*1));p=y;y=q-max_distance_below;u=(1*y-p*0)*(1/(0*p-u*1));y=Math.min(s,u);if(Math.max(s,u)-y<f){A=C[B].x-C[0].x;t=C[B].y-C[0].y;x[0]=0+1*(A*(C[0].y-0)-t*(C[0].x-0))*(1/(A*0-t*1));return 1}}k(C,B,0.5,v,w);C=a(v,B,A,z+1);B=a(w,B,t,z+1);for(z=0;z<C;z++){x[z]=A[z]}for(z=0;z<B;z++){x[z+C]=t[z]}return C+B},k=function(m,l,p,q,n){for(var o=[[]],r=0;r<=l;r++){o[0][r]=m[r]}for(m=1;m<=l;m++){for(r=0;r<=l-m;r++){o[m]||(o[m]=[]);o[m][r]||(o[m][r]={});o[m][r].x=(1-p)*o[m-1][r].x+p*o[m-1][r+1].x;o[m][r].y=(1-p)*o[m-1][r].y+p*o[m-1][r+1].y}}if(q!=null){for(r=0;r<=l;r++){q[r]=o[r][0]}}if(n!=null){for(r=0;r<=l;r++){n[r]=o[l-r][r]}}return o[l][0]},g={},e=function(t){var s=g[t];if(!s){var s=[],p=function(u){return function(){return u}},q=function(){return function(u){return u}},n=function(){return function(u){return 1-u}},o=function(u){return function(v){for(var x=1,w=0;w<u.length;w++){x=x*u[w](v)}return x}};s.push(new function(){return function(u){return Math.pow(u,t)}});for(var r=1;r<t;r++){for(var l=[new p(t)],m=0;m<t-r;m++){l.push(new q)}for(m=0;m<r;m++){l.push(new n)}s.push(new o(l))}s.push(new function(){return function(u){return Math.pow(1-u,t)}});g[t]=s}return s},c=function(m,l){for(var p=e(m.length-1),q=0,n=0,o=0;o<m.length;o++){q=q+m[o].x*p[o](l);n=n+m[o].y*p[o](l)}return{x:q,y:n}},b=function(m,l,p){for(var q=c(m,l),n=0,o=p>0?1:-1,r=null;n<Math.abs(p);){l=l+0.005*o;r=c(m,l);n=n+Math.sqrt(Math.pow(r.x-q.x,2)+Math.pow(r.y-q.y,2));q=r}return{point:r,location:l}},i=function(m,l){var o=c(m,l),p=c(m.slice(0,m.length-1),l),n=p.y-o.y,o=p.x-o.x;return n==0?Infinity:Math.atan(n/o)};window.jsBezier={distanceFromCurve:h,gradientAtPoint:i,gradientAtPointAlongCurveFrom:function(m,l,n){l=b(m,l,n);if(l.location>1){l.location=1}if(l.location<0){l.location=0}return i(m,l.location)},nearestPointOnCurve:function(m,l){var n=h(m,l);return{point:k(l,l.length-1,n.location,null,null),location:n.location}},pointOnCurve:c,pointAlongCurveFrom:function(m,l,n){return b(m,l,n).point},perpendicularToCurveAt:function(m,l,n,o){l=b(m,l,o==null?0:o);m=i(m,l.location);o=Math.atan(-1/m);m=n/2*Math.sin(o);n=n/2*Math.cos(o);return[{x:l.point.x+n,y:l.point.y+m},{x:l.point.x-n,y:l.point.y-m}]},locationAlongCurveFrom:function(m,l,n){return b(m,l,n).location}}})();","/*! jQuery UI - v1.8.24 - 2012-09-28\n* https://github.com/jquery/jquery-ui\n* Includes: jquery.ui.core.js\n* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */\n(function(a,b){function c(b,c){var e=b.nodeName.toLowerCase();if(\"area\"===e){var f=b.parentNode,g=f.name,h;return!b.href||!g||f.nodeName.toLowerCase()!==\"map\"?!1:(h=a(\"img[usemap=#\"+g+\"]\")[0],!!h&&d(h))}return(/input|select|textarea|button|object/.test(e)?!b.disabled:\"a\"==e?b.href||c:c)&&d(b)}function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,\"visibility\")===\"hidden\"||a.expr.filters.hidden(this)}).length}a.ui=a.ui||{};if(a.ui.version)return;a.extend(a.ui,{version:\"1.8.24\",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b==\"number\"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;return a.browser.msie&&/(static|relative)/.test(this.css(\"position\"))||/absolute/.test(this.css(\"position\"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,\"position\",1))&&/(auto|scroll)/.test(a.curCSS(this,\"overflow\",1)+a.curCSS(this,\"overflow-y\",1)+a.curCSS(this,\"overflow-x\",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,\"overflow\",1)+a.curCSS(this,\"overflow-y\",1)+a.curCSS(this,\"overflow-x\",1))}).eq(0),/fixed/.test(this.css(\"position\"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css(\"zIndex\",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css(\"position\");if(e===\"absolute\"||e===\"relative\"||e===\"fixed\"){f=parseInt(d.css(\"zIndex\"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?\"selectstart\":\"mousedown\")+\".ui-disableSelection\",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(\".ui-disableSelection\")}}),a(\"<a>\").outerWidth(1).jquery||a.each([\"Width\",\"Height\"],function(c,d){function h(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.curCSS(b,\"padding\"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,\"border\"+this+\"Width\",!0))||0),f&&(c-=parseFloat(a.curCSS(b,\"margin\"+this,!0))||0)}),c}var e=d===\"Width\"?[\"Left\",\"Right\"]:[\"Top\",\"Bottom\"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn[\"inner\"+d]=function(c){return c===b?g[\"inner\"+d].call(this):this.each(function(){a(this).css(f,h(this,c)+\"px\")})},a.fn[\"outer\"+d]=function(b,c){return typeof b!=\"number\"?g[\"outer\"+d].call(this,b):this.each(function(){a(this).css(f,h(this,b,!0,c)+\"px\")})}}),a.extend(a.expr[\":\"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,\"tabindex\")))},tabbable:function(b){var d=a.attr(b,\"tabindex\"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement(\"div\"));c.offsetHeight,a.extend(c.style,{minHeight:\"100px\",height:\"auto\",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart=\"onselectstart\"in c,b.removeChild(c).style.display=\"none\"}),a.curCSS||(a.curCSS=a.css),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!d||!a.element[0].parentNode)return;for(var e=0;e<d.length;e++)a.options[d[e][0]]&&d[e][1].apply(a.element,c)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(b,c){if(a(b).css(\"overflow\")===\"hidden\")return!1;var d=c&&c===\"left\"?\"scrollLeft\":\"scrollTop\",e=!1;return b[d]>0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},isOverAxis:function(a,b,c){return a>b&&a<b+c},isOver:function(b,c,d,e,f,g){return a.ui.isOverAxis(b,d,f)&&a.ui.isOverAxis(c,e,g)}})})(jQuery);;/*! jQuery UI - v1.8.24 - 2012-09-28\n* https://github.com/jquery/jquery-ui\n* Includes: jquery.ui.widget.js\n* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */\n(function(a,b){if(a.cleanData){var c=a.cleanData;a.cleanData=function(b){for(var d=0,e;(e=b[d])!=null;d++)try{a(e).triggerHandler(\"remove\")}catch(f){}c(b)}}else{var d=a.fn.remove;a.fn.remove=function(b,c){return this.each(function(){return c||(!b||a.filter(b,[this]).length)&&a(\"*\",this).add([this]).each(function(){try{a(this).triggerHandler(\"remove\")}catch(b){}}),d.call(a(this),b,c)})}}a.widget=function(b,c,d){var e=b.split(\".\")[0],f;b=b.split(\".\")[1],f=e+\"-\"+b,d||(d=c,c=a.Widget),a.expr[\":\"][f]=function(c){return!!a.data(c,b)},a[e]=a[e]||{},a[e][b]=function(a,b){arguments.length&&this._createWidget(a,b)};var g=new c;g.options=a.extend(!0,{},g.options),a[e][b].prototype=a.extend(!0,g,{namespace:e,widgetName:b,widgetEventPrefix:a[e][b].prototype.widgetEventPrefix||b,widgetBaseClass:f},d),a.widget.bridge(b,a[e][b])},a.widget.bridge=function(c,d){a.fn[c]=function(e){var f=typeof e==\"string\",g=Array.prototype.slice.call(arguments,1),h=this;return e=!f&&g.length?a.extend.apply(null,[!0,e].concat(g)):e,f&&e.charAt(0)===\"_\"?h:(f?this.each(function(){var d=a.data(this,c),f=d&&a.isFunction(d[e])?d[e].apply(d,g):d;if(f!==d&&f!==b)return h=f,!1}):this.each(function(){var b=a.data(this,c);b?b.option(e||{})._init():a.data(this,c,new d(e,this))}),h)}},a.Widget=function(a,b){arguments.length&&this._createWidget(a,b)},a.Widget.prototype={widgetName:\"widget\",widgetEventPrefix:\"\",options:{disabled:!1},_createWidget:function(b,c){a.data(c,this.widgetName,this),this.element=a(c),this.options=a.extend(!0,{},this.options,this._getCreateOptions(),b);var d=this;this.element.bind(\"remove.\"+this.widgetName,function(){d.destroy()}),this._create(),this._trigger(\"create\"),this._init()},_getCreateOptions:function(){return a.metadata&&a.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind(\".\"+this.widgetName).removeData(this.widgetName),this.widget().unbind(\".\"+this.widgetName).removeAttr(\"aria-disabled\").removeClass(this.widgetBaseClass+\"-disabled \"+\"ui-state-disabled\")},widget:function(){return this.element},option:function(c,d){var e=c;if(arguments.length===0)return a.extend({},this.options);if(typeof c==\"string\"){if(d===b)return this.options[c];e={},e[c]=d}return this._setOptions(e),this},_setOptions:function(b){var c=this;return a.each(b,function(a,b){c._setOption(a,b)}),this},_setOption:function(a,b){return this.options[a]=b,a===\"disabled\"&&this.widget()[b?\"addClass\":\"removeClass\"](this.widgetBaseClass+\"-disabled\"+\" \"+\"ui-state-disabled\").attr(\"aria-disabled\",b),this},enable:function(){return this._setOption(\"disabled\",!1)},disable:function(){return this._setOption(\"disabled\",!0)},_trigger:function(b,c,d){var e,f,g=this.options[b];d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent;if(f)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.call(this.element[0],c,d)===!1||c.isDefaultPrevented())}}})(jQuery);;/*! jQuery UI - v1.8.24 - 2012-09-28\n* https://github.com/jquery/jquery-ui\n* Includes: jquery.ui.mouse.js\n* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */\n(function(a,b){var c=!1;a(document).mouseup(function(a){c=!1}),a.widget(\"ui.mouse\",{options:{cancel:\":input,option\",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind(\"mousedown.\"+this.widgetName,function(a){return b._mouseDown(a)}).bind(\"click.\"+this.widgetName,function(c){if(!0===a.data(c.target,b.widgetName+\".preventClickEvent\"))return a.removeData(c.target,b.widgetName+\".preventClickEvent\"),c.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.unbind(\".\"+this.widgetName),this._mouseMoveDelegate&&a(document).unbind(\"mousemove.\"+this.widgetName,this._mouseMoveDelegate).unbind(\"mouseup.\"+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(b){if(c)return;this._mouseStarted&&this._mouseUp(b),this._mouseDownEvent=b;var d=this,e=b.which==1,f=typeof this.options.cancel==\"string\"&&b.target.nodeName?a(b.target).closest(this.options.cancel).length:!1;if(!e||f||!this._mouseCapture(b))return!0;this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay));if(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)){this._mouseStarted=this._mouseStart(b)!==!1;if(!this._mouseStarted)return b.preventDefault(),!0}return!0===a.data(b.target,this.widgetName+\".preventClickEvent\")&&a.removeData(b.target,this.widgetName+\".preventClickEvent\"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},a(document).bind(\"mousemove.\"+this.widgetName,this._mouseMoveDelegate).bind(\"mouseup.\"+this.widgetName,this._mouseUpDelegate),b.preventDefault(),c=!0,!0},_mouseMove:function(b){return!a.browser.msie||document.documentMode>=9||!!b.button?this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted):this._mouseUp(b)},_mouseUp:function(b){return a(document).unbind(\"mousemove.\"+this.widgetName,this._mouseMoveDelegate).unbind(\"mouseup.\"+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+\".preventClickEvent\",!0),this._mouseStop(b)),!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);;/*! jQuery UI - v1.8.24 - 2012-09-28\n* https://github.com/jquery/jquery-ui\n* Includes: jquery.ui.position.js\n* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */\n(function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e=\"center\",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||\"flip\").split(\" \"),k=b.offset?b.offset.split(\" \"):[0,0],l,m,n;return i.nodeType===9?(l=h.width(),m=h.height(),n={top:0,left:0}):i.setTimeout?(l=h.width(),m=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):i.preventDefault?(b.at=\"left top\",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth(),m=h.outerHeight(),n=h.offset()),a.each([\"my\",\"at\"],function(){var a=(b[this]||\"\").split(\" \");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]===\"right\"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]===\"bottom\"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1],this.each(function(){var c=a(this),d=c.outerWidth(),g=c.outerHeight(),h=parseInt(a.curCSS(this,\"marginLeft\",!0))||0,i=parseInt(a.curCSS(this,\"marginTop\",!0))||0,o=d+h+(parseInt(a.curCSS(this,\"marginRight\",!0))||0),p=g+i+(parseInt(a.curCSS(this,\"marginBottom\",!0))||0),q=a.extend({},n),r;b.my[0]===\"right\"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]===\"bottom\"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each([\"left\",\"top\"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe(),c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft();b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop();b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]===e)return;var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft(),g=c.my[0]===\"left\"?-c.elemWidth:c.my[0]===\"right\"?c.elemWidth:0,h=c.at[0]===\"left\"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0},top:function(b,c){if(c.at[1]===e)return;var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop(),g=c.my[1]===\"top\"?-c.elemHeight:c.my[1]===\"bottom\"?c.elemHeight:0,h=c.at[1]===\"top\"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,\"position\"))&&(b.style.position=\"relative\");var d=a(b),e=d.offset(),f=parseInt(a.curCSS(b,\"top\",!0),10)||0,g=parseInt(a.curCSS(b,\"left\",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};\"using\"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];return!c||!c.ownerDocument?null:b?a.isFunction(b)?this.each(function(c){a(this).offset(b.call(this,c,a(this).offset()))}):this.each(function(){a.offset.setOffset(this,b)}):h.call(this)}),a.curCSS||(a.curCSS=a.css),function(){var b=document.getElementsByTagName(\"body\")[0],c=document.createElement(\"div\"),d,e,g,h,i;d=document.createElement(b?\"div\":\"body\"),g={visibility:\"hidden\",width:0,height:0,border:0,margin:0,background:\"none\"},b&&a.extend(g,{position:\"absolute\",left:\"-1000px\",top:\"-1000px\"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText=\"position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;\",h=a(c).offset(function(a,b){return b}).offset(),d.innerHTML=\"\",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}()})(jQuery);;/*! jQuery UI - v1.8.24 - 2012-09-28\n* https://github.com/jquery/jquery-ui\n* Includes: jquery.ui.resizable.js\n* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */\n(function(a,b){a.widget(\"ui.resizable\",a.ui.mouse,{widgetEventPrefix:\"resize\",options:{alsoResize:!1,animate:!1,animateDuration:\"slow\",animateEasing:\"swing\",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:\"e,s,se\",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1e3},_create:function(){var b=this,c=this.options;this.element.addClass(\"ui-resizable\"),a.extend(this,{_aspectRatio:!!c.aspectRatio,aspectRatio:c.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:c.helper||c.ghost||c.animate?c.helper||\"ui-resizable-helper\":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(a('<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(\"resizable\",this.element.data(\"resizable\")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css(\"marginLeft\"),marginTop:this.originalElement.css(\"marginTop\"),marginRight:this.originalElement.css(\"marginRight\"),marginBottom:this.originalElement.css(\"marginBottom\")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom: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({margin:this.originalElement.css(\"margin\")}),this._proportionallyResize()),this.handles=c.handles||(a(\".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\");if(this.handles.constructor==String){this.handles==\"all\"&&(this.handles=\"n,e,s,w,se,sw,ne,nw\");var d=this.handles.split(\",\");this.handles={};for(var e=0;e<d.length;e++){var f=a.trim(d[e]),g=\"ui-resizable-\"+f,h=a('<div class=\"ui-resizable-handle '+g+'\"></div>');h.css({zIndex:c.zIndex}),\"se\"==f&&h.addClass(\"ui-icon ui-icon-gripsmall-diagonal-se\"),this.handles[f]=\".ui-resizable-\"+f,this.element.append(h)}}this._renderAxis=function(b){b=b||this.element;for(var c in this.handles){this.handles[c].constructor==String&&(this.handles[c]=a(this.handles[c],this.element).show());if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var d=a(this.handles[c],this.element),e=0;e=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth();var f=[\"padding\",/ne|nw|n/.test(c)?\"Top\":/se|sw|s/.test(c)?\"Bottom\":/^e$/.test(c)?\"Right\":\"Left\"].join(\"\");b.css(f,e),this._proportionallyResize()}if(!a(this.handles[c]).length)continue}},this._renderAxis(this.element),this._handles=a(\".ui-resizable-handle\",this.element).disableSelection(),this._handles.mouseover(function(){if(!b.resizing){if(this.className)var a=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=a&&a[1]?a[1]:\"se\"}}),c.autoHide&&(this._handles.hide(),a(this.element).addClass(\"ui-resizable-autohide\").hover(function(){if(c.disabled)return;a(this).removeClass(\"ui-resizable-autohide\"),b._handles.show()},function(){if(c.disabled)return;b.resizing||(a(this).addClass(\"ui-resizable-autohide\"),b._handles.hide())})),this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(b){a(b).removeClass(\"ui-resizable ui-resizable-disabled ui-resizable-resizing\").removeData(\"resizable\").unbind(\".resizable\").find(\".ui-resizable-handle\").remove()};if(this.elementIsWrapper){b(this.element);var c=this.element;c.after(this.originalElement.css({position:c.css(\"position\"),width:c.outerWidth(),height:c.outerHeight(),top:c.css(\"top\"),left:c.css(\"left\")})).remove()}return this.originalElement.css(\"resize\",this.originalResizeStyle),b(this.originalElement),this},_mouseCapture:function(b){var c=!1;for(var d in this.handles)a(this.handles[d])[0]==b.target&&(c=!0);return!this.options.disabled&&c},_mouseStart:function(b){var d=this.options,e=this.element.position(),f=this.element;this.resizing=!0,this.documentScroll={top:a(document).scrollTop(),left:a(document).scrollLeft()},(f.is(\".ui-draggable\")||/absolute/.test(f.css(\"position\")))&&f.css({position:\"absolute\",top:e.top,left:e.left}),this._renderProxy();var g=c(this.helper.css(\"left\")),h=c(this.helper.css(\"top\"));d.containment&&(g+=a(d.containment).scrollLeft()||0,h+=a(d.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:g,top:h},this.size=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalSize=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalPosition={left:g,top:h},this.sizeDiff={width:f.outerWidth()-f.width(),height:f.outerHeight()-f.height()},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio=typeof d.aspectRatio==\"number\"?d.aspectRatio:this.originalSize.width/this.originalSize.height||1;var i=a(\".ui-resizable-\"+this.axis).css(\"cursor\");return a(\"body\").css(\"cursor\",i==\"auto\"?this.axis+\"-resize\":i),f.addClass(\"ui-resizable-resizing\"),this._propagate(\"start\",b),!0},_mouseDrag:function(b){var c=this.helper,d=this.options,e={},f=this,g=this.originalMousePosition,h=this.axis,i=b.pageX-g.left||0,j=b.pageY-g.top||0,k=this._change[h];if(!k)return!1;var l=k.apply(this,[b,i,j]),m=a.browser.msie&&a.browser.version<7,n=this.sizeDiff;this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)l=this._updateRatio(l,b);return l=this._respectSize(l,b),this._propagate(\"resize\",b),c.css({top:this.position.top+\"px\",left:this.position.left+\"px\",width:this.size.width+\"px\",height:this.size.height+\"px\"}),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),this._updateCache(l),this._trigger(\"resize\",b,this.ui()),!1},_mouseStop:function(b){this.resizing=!1;var c=this.options,d=this;if(this._helper){var e=this._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&a.ui.hasScroll(e[0],\"left\")?0:d.sizeDiff.height,h=f?0:d.sizeDiff.width,i={width:d.helper.width()-h,height:d.helper.height()-g},j=parseInt(d.element.css(\"left\"),10)+(d.position.left-d.originalPosition.left)||null,k=parseInt(d.element.css(\"top\"),10)+(d.position.top-d.originalPosition.top)||null;c.animate||this.element.css(a.extend(i,{top:k,left:j})),d.helper.height(d.size.height),d.helper.width(d.size.width),this._helper&&!c.animate&&this._proportionallyResize()}return a(\"body\").css(\"cursor\",\"auto\"),this.element.removeClass(\"ui-resizable-resizing\"),this._propagate(\"stop\",b),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(a){var b=this.options,c,e,f,g,h;h={minWidth:d(b.minWidth)?b.minWidth:0,maxWidth:d(b.maxWidth)?b.maxWidth:Infinity,minHeight:d(b.minHeight)?b.minHeight:0,maxHeight:d(b.maxHeight)?b.maxHeight:Infinity};if(this._aspectRatio||a)c=h.minHeight*this.aspectRatio,f=h.minWidth/this.aspectRatio,e=h.maxHeight*this.aspectRatio,g=h.maxWidth/this.aspectRatio,c>h.minWidth&&(h.minWidth=c),f>h.minHeight&&(h.minHeight=f),e<h.maxWidth&&(h.maxWidth=e),g<h.maxHeight&&(h.maxHeight=g);this._vBoundaries=h},_updateCache:function(a){var b=this.options;this.offset=this.helper.offset(),d(a.left)&&(this.position.left=a.left),d(a.top)&&(this.position.top=a.top),d(a.height)&&(this.size.height=a.height),d(a.width)&&(this.size.width=a.width)},_updateRatio:function(a,b){var c=this.options,e=this.position,f=this.size,g=this.axis;return d(a.height)?a.width=a.height*this.aspectRatio:d(a.width)&&(a.height=a.width/this.aspectRatio),g==\"sw\"&&(a.left=e.left+(f.width-a.width),a.top=null),g==\"nw\"&&(a.top=e.top+(f.height-a.height),a.left=e.left+(f.width-a.width)),a},_respectSize:function(a,b){var c=this.helper,e=this._vBoundaries,f=this._aspectRatio||b.shiftKey,g=this.axis,h=d(a.width)&&e.maxWidth&&e.maxWidth<a.width,i=d(a.height)&&e.maxHeight&&e.maxHeight<a.height,j=d(a.width)&&e.minWidth&&e.minWidth>a.width,k=d(a.height)&&e.minHeight&&e.minHeight>a.height;j&&(a.width=e.minWidth),k&&(a.height=e.minHeight),h&&(a.width=e.maxWidth),i&&(a.height=e.maxHeight);var l=this.originalPosition.left+this.originalSize.width,m=this.position.top+this.size.height,n=/sw|nw|w/.test(g),o=/nw|ne|n/.test(g);j&&n&&(a.left=l-e.minWidth),h&&n&&(a.left=l-e.maxWidth),k&&o&&(a.top=m-e.minHeight),i&&o&&(a.top=m-e.maxHeight);var p=!a.width&&!a.height;return p&&!a.left&&a.top?a.top=null:p&&!a.top&&a.left&&(a.left=null),a},_proportionallyResize:function(){var b=this.options;if(!this._proportionallyResizeElements.length)return;var c=this.helper||this.element;for(var d=0;d<this._proportionallyResizeElements.length;d++){var e=this._proportionallyResizeElements[d];if(!this.borderDif){var f=[e.css(\"borderTopWidth\"),e.css(\"borderRightWidth\"),e.css(\"borderBottomWidth\"),e.css(\"borderLeftWidth\")],g=[e.css(\"paddingTop\"),e.css(\"paddingRight\"),e.css(\"paddingBottom\"),e.css(\"paddingLeft\")];this.borderDif=a.map(f,function(a,b){var c=parseInt(a,10)||0,d=parseInt(g[b],10)||0;return c+d})}if(!a.browser.msie||!a(c).is(\":hidden\")&&!a(c).parents(\":hidden\").length)e.css({height:c.height()-this.borderDif[0]-this.borderDif[2]||0,width:c.width()-this.borderDif[1]-this.borderDif[3]||0});else continue}},_renderProxy:function(){var b=this.element,c=this.options;this.elementOffset=b.offset();if(this._helper){this.helper=this.helper||a('<div style=\"overflow:hidden;\"></div>');var d=a.browser.msie&&a.browser.version<7,e=d?1:0,f=d?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+f,height:this.element.outerHeight()+f,position:\"absolute\",left:this.elementOffset.left-e+\"px\",top:this.elementOffset.top-e+\"px\",zIndex:++c.zIndex}),this.helper.appendTo(\"body\").disableSelection()}else this.helper=this.element},_change:{e:function(a,b,c){return{width:this.originalSize.width+b}},w:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{left:f.left+b,width:e.width-b}},n:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{top:f.top+c,height:e.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),b!=\"resize\"&&this._trigger(b,c,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}}}),a.extend(a.ui.resizable,{version:\"1.8.24\"}),a.ui.plugin.add(\"resizable\",\"alsoResize\",{start:function(b,c){var d=a(this).data(\"resizable\"),e=d.options,f=function(b){a(b).each(function(){var b=a(this);b.data(\"resizable-alsoresize\",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css(\"left\"),10),top:parseInt(b.css(\"top\"),10)})})};typeof e.alsoResize==\"object\"&&!e.alsoResize.parentNode?e.alsoResize.length?(e.alsoResize=e.alsoResize[0],f(e.alsoResize)):a.each(e.alsoResize,function(a){f(a)}):f(e.alsoResize)},resize:function(b,c){var d=a(this).data(\"resizable\"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,d){a(b).each(function(){var b=a(this),e=a(this).data(\"resizable-alsoresize\"),f={},g=d&&d.length?d:b.parents(c.originalElement[0]).length?[\"width\",\"height\"]:[\"width\",\"height\",\"top\",\"left\"];a.each(g,function(a,b){var c=(e[b]||0)+(h[b]||0);c&&c>=0&&(f[b]=c||null)}),b.css(f)})};typeof e.alsoResize==\"object\"&&!e.alsoResize.nodeType?a.each(e.alsoResize,function(a,b){i(a,b)}):i(e.alsoResize)},stop:function(b,c){a(this).removeData(\"resizable-alsoresize\")}}),a.ui.plugin.add(\"resizable\",\"animate\",{stop:function(b,c){var d=a(this).data(\"resizable\"),e=d.options,f=d._proportionallyResizeElements,g=f.length&&/textarea/i.test(f[0].nodeName),h=g&&a.ui.hasScroll(f[0],\"left\")?0:d.sizeDiff.height,i=g?0:d.sizeDiff.width,j={width:d.size.width-i,height:d.size.height-h},k=parseInt(d.element.css(\"left\"),10)+(d.position.left-d.originalPosition.left)||null,l=parseInt(d.element.css(\"top\"),10)+(d.position.top-d.originalPosition.top)||null;d.element.animate(a.extend(j,l&&k?{top:l,left:k}:{}),{duration:e.animateDuration,easing:e.animateEasing,step:function(){var c={width:parseInt(d.element.css(\"width\"),10),height:parseInt(d.element.css(\"height\"),10),top:parseInt(d.element.css(\"top\"),10),left:parseInt(d.element.css(\"left\"),10)};f&&f.length&&a(f[0]).css({width:c.width,height:c.height}),d._updateCache(c),d._propagate(\"resize\",b)}})}}),a.ui.plugin.add(\"resizable\",\"containment\",{start:function(b,d){var e=a(this).data(\"resizable\"),f=e.options,g=e.element,h=f.containment,i=h instanceof a?h.get(0):/parent/.test(h)?g.parent().get(0):h;if(!i)return;e.containerElement=a(i);if(/document/.test(h)||h==document)e.containerOffset={left:0,top:0},e.containerPosition={left:0,top:0},e.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight};else{var j=a(i),k=[];a([\"Top\",\"Right\",\"Left\",\"Bottom\"]).each(function(a,b){k[a]=c(j.css(\"padding\"+b))}),e.containerOffset=j.offset(),e.containerPosition=j.position(),e.containerSize={height:j.innerHeight()-k[3],width:j.innerWidth()-k[1]};var l=e.containerOffset,m=e.containerSize.height,n=e.containerSize.width,o=a.ui.hasScroll(i,\"left\")?i.scrollWidth:n,p=a.ui.hasScroll(i)?i.scrollHeight:m;e.parentData={element:i,left:l.left,top:l.top,width:o,height:p}}},resize:function(b,c){var d=a(this).data(\"resizable\"),e=d.options,f=d.containerSize,g=d.containerOffset,h=d.size,i=d.position,j=d._aspectRatio||b.shiftKey,k={top:0,left:0},l=d.containerElement;l[0]!=document&&/static/.test(l.css(\"position\"))&&(k=g),i.left<(d._helper?g.left:0)&&(d.size.width=d.size.width+(d._helper?d.position.left-g.left:d.position.left-k.left),j&&(d.size.height=d.size.width/d.aspectRatio),d.position.left=e.helper?g.left:0),i.top<(d._helper?g.top:0)&&(d.size.height=d.size.height+(d._helper?d.position.top-g.top:d.position.top),j&&(d.size.width=d.size.height*d.aspectRatio),d.position.top=d._helper?g.top:0),d.offset.left=d.parentData.left+d.position.left,d.offset.top=d.parentData.top+d.position.top;var m=Math.abs((d._helper?d.offset.left-k.left:d.offset.left-k.left)+d.sizeDiff.width),n=Math.abs((d._helper?d.offset.top-k.top:d.offset.top-g.top)+d.sizeDiff.height),o=d.containerElement.get(0)==d.element.parent().get(0),p=/relative|absolute/.test(d.containerElement.css(\"position\"));o&&p&&(m-=d.parentData.left),m+d.size.width>=d.parentData.width&&(d.size.width=d.parentData.width-m,j&&(d.size.height=d.size.width/d.aspectRatio)),n+d.size.height>=d.parentData.height&&(d.size.height=d.parentData.height-n,j&&(d.size.width=d.size.height*d.aspectRatio))},stop:function(b,c){var d=a(this).data(\"resizable\"),e=d.options,f=d.position,g=d.containerOffset,h=d.containerPosition,i=d.containerElement,j=a(d.helper),k=j.offset(),l=j.outerWidth()-d.sizeDiff.width,m=j.outerHeight()-d.sizeDiff.height;d._helper&&!e.animate&&/relative/.test(i.css(\"position\"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m}),d._helper&&!e.animate&&/static/.test(i.css(\"position\"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m})}}),a.ui.plugin.add(\"resizable\",\"ghost\",{start:function(b,c){var d=a(this).data(\"resizable\"),e=d.options,f=d.size;d.ghost=d.originalElement.clone(),d.ghost.css({opacity:.25,display:\"block\",position:\"relative\",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass(\"ui-resizable-ghost\").addClass(typeof e.ghost==\"string\"?e.ghost:\"\"),d.ghost.appendTo(d.helper)},resize:function(b,c){var d=a(this).data(\"resizable\"),e=d.options;d.ghost&&d.ghost.css({position:\"relative\",height:d.size.height,width:d.size.width})},stop:function(b,c){var d=a(this).data(\"resizable\"),e=d.options;d.ghost&&d.helper&&d.helper.get(0).removeChild(d.ghost.get(0))}}),a.ui.plugin.add(\"resizable\",\"grid\",{resize:function(b,c){var d=a(this).data(\"resizable\"),e=d.options,f=d.size,g=d.originalSize,h=d.originalPosition,i=d.axis,j=e._aspectRatio||b.shiftKey;e.grid=typeof e.grid==\"number\"?[e.grid,e.grid]:e.grid;var k=Math.round((f.width-g.width)/(e.grid[0]||1))*(e.grid[0]||1),l=Math.round((f.height-g.height)/(e.grid[1]||1))*(e.grid[1]||1);/^(se|s|e)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l):/^(ne)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l):/^(sw)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.left=h.left-k):(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l,d.position.left=h.left-k)}});var c=function(a){return parseInt(a,10)||0},d=function(a){return!isNaN(parseInt(a,10))}})(jQuery);;/*! jQuery UI - v1.8.24 - 2012-09-28\n* https://github.com/jquery/jquery-ui\n* Includes: jquery.ui.slider.js\n* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */\n(function(a,b){var c=5;a.widget(\"ui.slider\",a.ui.mouse,{widgetEventPrefix:\"slide\",options:{animate:!1,distance:0,max:100,min:0,orientation:\"horizontal\",range:!1,step:1,value:0,values:null},_create:function(){var b=this,d=this.options,e=this.element.find(\".ui-slider-handle\").addClass(\"ui-state-default ui-corner-all\"),f=\"<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>\",g=d.values&&d.values.length||1,h=[];this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass(\"ui-slider ui-slider-\"+this.orientation+\" ui-widget\"+\" ui-widget-content\"+\" ui-corner-all\"+(d.disabled?\" ui-slider-disabled ui-disabled\":\"\")),this.range=a([]),d.range&&(d.range===!0&&(d.values||(d.values=[this._valueMin(),this._valueMin()]),d.values.length&&d.values.length!==2&&(d.values=[d.values[0],d.values[0]])),this.range=a(\"<div></div>\").appendTo(this.element).addClass(\"ui-slider-range ui-widget-header\"+(d.range===\"min\"||d.range===\"max\"?\" ui-slider-range-\"+d.range:\"\")));for(var i=e.length;i<g;i+=1)h.push(f);this.handles=e.add(a(h.join(\"\")).appendTo(b.element)),this.handle=this.handles.eq(0),this.handles.add(this.range).filter(\"a\").click(function(a){a.preventDefault()}).hover(function(){d.disabled||a(this).addClass(\"ui-state-hover\")},function(){a(this).removeClass(\"ui-state-hover\")}).focus(function(){d.disabled?a(this).blur():(a(\".ui-slider .ui-state-focus\").removeClass(\"ui-state-focus\"),a(this).addClass(\"ui-state-focus\"))}).blur(function(){a(this).removeClass(\"ui-state-focus\")}),this.handles.each(function(b){a(this).data(\"index.ui-slider-handle\",b)}),this.handles.keydown(function(d){var e=a(this).data(\"index.ui-slider-handle\"),f,g,h,i;if(b.options.disabled)return;switch(d.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:d.preventDefault();if(!b._keySliding){b._keySliding=!0,a(this).addClass(\"ui-state-active\"),f=b._start(d,e);if(f===!1)return}}i=b.options.step,b.options.values&&b.options.values.length?g=h=b.values(e):g=h=b.value();switch(d.keyCode){case a.ui.keyCode.HOME:h=b._valueMin();break;case a.ui.keyCode.END:h=b._valueMax();break;case a.ui.keyCode.PAGE_UP:h=b._trimAlignValue(g+(b._valueMax()-b._valueMin())/c);break;case a.ui.keyCode.PAGE_DOWN:h=b._trimAlignValue(g-(b._valueMax()-b._valueMin())/c);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(g===b._valueMax())return;h=b._trimAlignValue(g+i);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(g===b._valueMin())return;h=b._trimAlignValue(g-i)}b._slide(d,e,h)}).keyup(function(c){var d=a(this).data(\"index.ui-slider-handle\");b._keySliding&&(b._keySliding=!1,b._stop(c,d),b._change(c,d),a(this).removeClass(\"ui-state-active\"))}),this._refreshValue(),this._animateOff=!1},destroy:function(){return this.handles.remove(),this.range.remove(),this.element.removeClass(\"ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all\").removeData(\"slider\").unbind(\".slider\"),this._mouseDestroy(),this},_mouseCapture:function(b){var c=this.options,d,e,f,g,h,i,j,k,l;return c.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),d={x:b.pageX,y:b.pageY},e=this._normValueFromMouse(d),f=this._valueMax()-this._valueMin()+1,h=this,this.handles.each(function(b){var c=Math.abs(e-h.values(b));f>c&&(f=c,g=a(this),i=b)}),c.range===!0&&this.values(1)===c.min&&(i+=1,g=a(this.handles[i])),j=this._start(b,i),j===!1?!1:(this._mouseSliding=!0,h._handleIndex=i,g.addClass(\"ui-state-active\").focus(),k=g.offset(),l=!a(b.target).parents().andSelf().is(\".ui-slider-handle\"),this._clickOffset=l?{left:0,top:0}:{left:b.pageX-k.left-g.width()/2,top:b.pageY-k.top-g.height()/2-(parseInt(g.css(\"borderTopWidth\"),10)||0)-(parseInt(g.css(\"borderBottomWidth\"),10)||0)+(parseInt(g.css(\"marginTop\"),10)||0)},this.handles.hasClass(\"ui-state-hover\")||this._slide(b,i,e),this._animateOff=!0,!0))},_mouseStart:function(a){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);return this._slide(a,this._handleIndex,c),!1},_mouseStop:function(a){return this.handles.removeClass(\"ui-state-active\"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation=this.options.orientation===\"vertical\"?\"vertical\":\"horizontal\"},_normValueFromMouse:function(a){var b,c,d,e,f;return this.orientation===\"horizontal\"?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),d<0&&(d=0),this.orientation===\"vertical\"&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e,this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};return this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger(\"start\",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),this.options.values.length===2&&this.options.range===!0&&(b===0&&c>d||b===1&&c<d)&&(c=d),c!==this.values(b)&&(e=this.values(),e[b]=c,f=this._trigger(\"slide\",a,{handle:this.handles[b],value:c,values:e}),d=this.values(b?0:1),f!==!1&&this.values(b,c,!0))):c!==this.value()&&(f=this._trigger(\"slide\",a,{handle:this.handles[b],value:c}),f!==!1&&this.value(c))},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger(\"stop\",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger(\"change\",a,c)}},value:function(a){if(arguments.length){this.options.value=this._trimAlignValue(a),this._refreshValue(),this._change(null,0);return}return this._value()},values:function(b,c){var d,e,f;if(arguments.length>1){this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),this._change(null,b);return}if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();d=this.options.values,e=arguments[0];for(f=0;f<d.length;f+=1)d[f]=this._trimAlignValue(e[f]),this._change(null,f);this._refreshValue()},_setOption:function(b,c){var d,e=0;a.isArray(this.options.values)&&(e=this.options.values.length),a.Widget.prototype._setOption.apply(this,arguments);switch(b){case\"disabled\":c?(this.handles.filter(\".ui-state-focus\").blur(),this.handles.removeClass(\"ui-state-hover\"),this.handles.propAttr(\"disabled\",!0),this.element.addClass(\"ui-disabled\")):(this.handles.propAttr(\"disabled\",!1),this.element.removeClass(\"ui-disabled\"));break;case\"orientation\":this._detectOrientation(),this.element.removeClass(\"ui-slider-horizontal ui-slider-vertical\").addClass(\"ui-slider-\"+this.orientation),this._refreshValue();break;case\"value\":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case\"values\":this._animateOff=!0,this._refreshValue();for(d=0;d<e;d+=1)this._change(null,d);this._animateOff=!1}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a),a},_values:function(a){var b,c,d;if(arguments.length)return b=this.options.values[a],b=this._trimAlignValue(b),b;c=this.options.values.slice();for(d=0;d<c.length;d+=1)c[d]=this._trimAlignValue(c[d]);return c},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;return Math.abs(c)*2>=b&&(d+=c>0?b:-b),parseFloat(d.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b=this.options.range,c=this.options,d=this,e=this._animateOff?!1:c.animate,f,g={},h,i,j,k;this.options.values&&this.options.values.length?this.handles.each(function(b,i){f=(d.values(b)-d._valueMin())/(d._valueMax()-d._valueMin())*100,g[d.orientation===\"horizontal\"?\"left\":\"bottom\"]=f+\"%\",a(this).stop(1,1)[e?\"animate\":\"css\"](g,c.animate),d.options.range===!0&&(d.orientation===\"horizontal\"?(b===0&&d.range.stop(1,1)[e?\"animate\":\"css\"]({left:f+\"%\"},c.animate),b===1&&d.range[e?\"animate\":\"css\"]({width:f-h+\"%\"},{queue:!1,duration:c.animate})):(b===0&&d.range.stop(1,1)[e?\"animate\":\"css\"]({bottom:f+\"%\"},c.animate),b===1&&d.range[e?\"animate\":\"css\"]({height:f-h+\"%\"},{queue:!1,duration:c.animate}))),h=f}):(i=this.value(),j=this._valueMin(),k=this._valueMax(),f=k!==j?(i-j)/(k-j)*100:0,g[d.orientation===\"horizontal\"?\"left\":\"bottom\"]=f+\"%\",this.handle.stop(1,1)[e?\"animate\":\"css\"](g,c.animate),b===\"min\"&&this.orientation===\"horizontal\"&&this.range.stop(1,1)[e?\"animate\":\"css\"]({width:f+\"%\"},c.animate),b===\"max\"&&this.orientation===\"horizontal\"&&this.range[e?\"animate\":\"css\"]({width:100-f+\"%\"},{queue:!1,duration:c.animate}),b===\"min\"&&this.orientation===\"vertical\"&&this.range.stop(1,1)[e?\"animate\":\"css\"]({height:f+\"%\"},c.animate),b===\"max\"&&this.orientation===\"vertical\"&&this.range[e?\"animate\":\"css\"]({height:100-f+\"%\"},{queue:!1,duration:c.animate}))}}),a.extend(a.ui.slider,{version:\"1.8.24\"})})(jQuery);;","/*\n\nOnline Python Tutor\nhttps://github.com/pgbovine/OnlinePythonTutor/\n\nCopyright (C) Philip J. Guo (philip@pgbovine.net)\n\nPermission is hereby granted, free of charge, to any person obtaining a\ncopy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be included\nin all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\nOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n\n/* To import, put this at the top of your HTML page:\n\n<!-- requirements for pytutor.js -->\n<script type=\"text/javascript\" src=\"js/d3.v2.min.js\"></script>\n<script type=\"text/javascript\" src=\"js/jquery-1.8.2.min.js\"></script>\n<script type=\"text/javascript\" src=\"js/jquery.ba-bbq.min.js\"></script> <!-- for handling back button and URL hashes -->\n<script type=\"text/javascript\" src=\"js/jquery.jsPlumb-1.3.10-all-min.js \"></script> <!-- for rendering SVG connectors\n DO NOT UPGRADE ABOVE 1.3.10 OR ELSE BREAKAGE WILL OCCUR -->\n<script type=\"text/javascript\" src=\"js/jquery-ui-1.11.4/jquery-ui.min.js\"></script> <!-- for sliders and other UI elements -->\n<link type=\"text/css\" href=\"js/jquery-ui-1.11.4/jquery-ui.css\" rel=\"stylesheet\" />\n\n<!-- for annotation bubbles -->\n<script type=\"text/javascript\" src=\"js/jquery.qtip.min.js\"></script>\n<link type=\"text/css\" href=\"css/jquery.qtip.css\" rel=\"stylesheet\" />\n\n<script type=\"text/javascript\" src=\"js/pytutor.js\"></script>\n<link rel=\"stylesheet\" href=\"css/pytutor.css\"/>\n\n*/\n\n\n/* Coding gotchas:\n\n- NEVER use raw $(__) or d3.select(__) statements to select DOM elements.\n\n ALWAYS use myViz.domRoot or myViz.domRootD3 for jQuery and D3, respectively.\n\n Otherwise things will break in weird ways when you have more than one visualization\n embedded within a webpage, due to multiple matches in the global namespace.\n\n\n- always use generateID to generate unique CSS IDs, or else things will break\n when multiple ExecutionVisualizer instances are displayed on a webpage\n\n*/\n\nvar SVG_ARROW_POLYGON = '0,3 12,3 12,0 18,5 12,10 12,7 0,7';\nvar SVG_ARROW_HEIGHT = 10; // must match height of SVG_ARROW_POLYGON\n\nvar curVisualizerID = 1; // global to uniquely identify each ExecutionVisualizer instance\n\n// domRootID is the string ID of the root element where to render this instance\n// dat is data returned by the Python Tutor backend consisting of two fields:\n// code - string of executed code\n// trace - a full execution trace\n//\n// params is an object containing optional parameters, such as:\n// jumpToEnd - if non-null, jump to the very end of execution if\n// there's no error, or if there's an error, jump to the\n// FIRST ENTRY with an error\n// startingInstruction - the (zero-indexed) execution point to display upon rendering\n// if this is set, then it *overrides* jumpToEnd\n// hideOutput - hide \"Program output\" display\n// codeDivHeight - maximum height of #pyCodeOutputDiv (in integer pixels)\n// codeDivWidth - maximum width of #pyCodeOutputDiv (in integer pixels)\n// editCodeBaseURL - the base URL to visit when the user clicks 'Edit code' (if null, then 'Edit code' link hidden)\n// allowEditAnnotations - allow user to edit per-step annotations (default: false)\n// embeddedMode - shortcut for allowEditAnnotations=false,\n// codeDivWidth=this.DEFAULT_EMBEDDED_CODE_DIV_WIDTH,\n// codeDivHeight=this.DEFAULT_EMBEDDED_CODE_DIV_HEIGHT\n// (and don't activate keyboard shortcuts!)\n// disableHeapNesting - if true, then render all heap objects at the top level (i.e., no nested objects)\n// drawParentPointers - if true, then draw environment diagram parent pointers for all frames\n// WARNING: there are hard-to-debug MEMORY LEAKS associated with activating this option\n// textualMemoryLabels - render references using textual memory labels rather than as jsPlumb arrows.\n// this is good for slow browsers or when used with disableHeapNesting\n// to prevent \"arrow overload\"\n// showOnlyOutputs - show only program outputs and NOT internal data structures\n// updateOutputCallback - function to call (with 'this' as parameter)\n// whenever this.updateOutput() is called\n// (BEFORE rendering the output display)\n// heightChangeCallback - function to call (with 'this' as parameter)\n// whenever the HEIGHT of #dataViz changes\n// verticalStack - if true, then stack code display ON TOP of visualization\n// (else place side-by-side)\n// visualizerIdOverride - override visualizer ID instead of auto-assigning it\n// (BE CAREFUL ABOUT NOT HAVING DUPLICATE IDs ON THE SAME PAGE,\n// OR ELSE ARROWS AND OTHER STUFF WILL GO HAYWIRE!)\n// executeCodeWithRawInputFunc - function to call when you want to re-execute the given program\n// with some new user input (somewhat hacky!)\n// highlightLines - highlight current and previously executed lines (default: false)\n// arrowLines - draw arrows pointing to current and previously executed lines (default: true)\n// compactFuncLabels - render functions with a 'func' prefix and no type label\n// showAllFrameLabels - display frame and parent frame labels for all functions (default: false)\n// pyCrazyMode - run with Py2crazy, which provides expression-level\n// granularity instead of line-level granularity (HIGHLY EXPERIMENTAL!)\n// hideCode - hide the code display and show only the data structure viz\n// tabularView - render a tabular view of ALL steps at once (EXPERIMENTAL)\n// lang - to render labels in a style appropriate for other languages,\n// and to display the proper language in langDisplayDiv:\n// 'py2' for Python 2, 'py3' for Python 3, 'js' for JavaScript, 'java' for Java,\n// 'ts' for TypeScript, 'ruby' for Ruby, 'c' for C, 'cpp' for C++\n// [default is Python-style labels]\n// debugMode - some extra debugging printouts\nfunction ExecutionVisualizer(domRootID, dat, params) {\n this.curInputCode = dat.code.rtrim(); // kill trailing spaces\n this.curTrace = dat.trace;\n\n this.DEFAULT_EMBEDDED_CODE_DIV_WIDTH = 350;\n this.DEFAULT_EMBEDDED_CODE_DIV_HEIGHT = 400;\n\n // if the final entry is raw_input or mouse_input, then trim it from the trace and\n // set a flag to prompt for user input when execution advances to the\n // end of the trace\n if (this.curTrace.length > 0) {\n var lastEntry = this.curTrace[this.curTrace.length - 1];\n if (lastEntry.event == 'raw_input') {\n this.promptForUserInput = true;\n this.userInputPromptStr = htmlspecialchars(lastEntry.prompt);\n this.curTrace.pop() // kill last entry so that it doesn't get displayed\n }\n else if (lastEntry.event == 'mouse_input') {\n this.promptForMouseInput = true;\n this.userInputPromptStr = htmlspecialchars(lastEntry.prompt);\n this.curTrace.pop() // kill last entry so that it doesn't get displayed\n }\n }\n\n this.curInstr = 0;\n\n this.params = params;\n if (!this.params) {\n this.params = {}; // make it an empty object by default\n }\n\n var arrowLinesDef = (this.params.arrowLines !== undefined);\n var highlightLinesDef = (this.params.highlightLines !== undefined);\n\n if (!arrowLinesDef && !highlightLinesDef) {\n // neither is set\n this.params.highlightLines = false;\n this.params.arrowLines = true;\n }\n else if (arrowLinesDef && highlightLinesDef) {\n // both are set, so just use their set values\n }\n else if (arrowLinesDef) {\n // only arrowLines set\n this.params.highlightLines = !(this.params.arrowLines);\n }\n else {\n // only highlightLines set\n this.params.arrowLines = !(this.params.highlightLines);\n }\n\n this.compactFuncLabels = this.params.compactFuncLabels;\n\n // audible!\n if (this.params.pyCrazyMode) {\n this.params.arrowLines = this.params.highlightLines = false;\n }\n\n if (this.params.visualizerIdOverride) {\n this.visualizerID = this.params.visualizerIdOverride;\n }\n else {\n // needs to be unique!\n this.visualizerID = curVisualizerID;\n curVisualizerID++;\n }\n\n\n this.leftGutterSvgInitialized = false;\n this.arrowOffsetY = undefined;\n this.codeRowHeight = undefined;\n\n // avoid 'undefined' state\n this.disableHeapNesting = (this.params.disableHeapNesting == true);\n this.drawParentPointers = (this.params.drawParentPointers == true);\n this.textualMemoryLabels = (this.params.textualMemoryLabels == true);\n this.showOnlyOutputs = (this.params.showOnlyOutputs == true);\n this.tabularView = (this.params.tabularView == true);\n this.showAllFrameLabels = (this.params.showAllFrameLabels == true);\n\n this.executeCodeWithRawInputFunc = this.params.executeCodeWithRawInputFunc;\n\n // cool, we can create a separate jsPlumb instance for each visualization:\n this.jsPlumbInstance = jsPlumb.getInstance({\n Endpoint: [\"Dot\", {radius:3}],\n EndpointStyles: [{fillStyle: connectorBaseColor}, {fillstyle: null} /* make right endpoint invisible */],\n Anchors: [\"RightMiddle\", \"LeftMiddle\"],\n PaintStyle: {lineWidth:1, strokeStyle: connectorBaseColor},\n\n // bezier curve style:\n //Connector: [ \"Bezier\", { curviness:15 }], /* too much 'curviness' causes lines to run together */\n //Overlays: [[ \"Arrow\", { length: 14, width:10, foldback:0.55, location:0.35 }]],\n\n // state machine curve style:\n Connector: [ \"StateMachine\" ],\n Overlays: [[ \"Arrow\", { length: 10, width:7, foldback:0.55, location:1 }]],\n EndpointHoverStyles: [{fillStyle: connectorHighlightColor}, {fillstyle: null} /* make right endpoint invisible */],\n HoverPaintStyle: {lineWidth: 1, strokeStyle: connectorHighlightColor},\n });\n\n\n // true iff trace ended prematurely since maximum instruction limit has\n // been reached\n var instrLimitReached = false;\n\n\n // the root elements for jQuery and D3 selections, respectively.\n // ALWAYS use these and never use raw $(__) or d3.select(__)\n this.domRoot = $('#' + domRootID);\n this.domRoot.data(\"vis\",this); // bnm store a reference to this as div data for use later.\n this.domRootD3 = d3.select('#' + domRootID);\n\n // stick a new div.ExecutionVisualizer within domRoot and make that\n // the new domRoot:\n this.domRoot.html('<div class=\"ExecutionVisualizer\"></div>');\n\n this.domRoot = this.domRoot.find('div.ExecutionVisualizer');\n this.domRootD3 = this.domRootD3.select('div.ExecutionVisualizer');\n\n // initialize in renderPyCodeOutput()\n this.codeOutputLines = null;\n this.breakpoints = null; // set of execution points to set as breakpoints\n this.sortedBreakpointsList = []; // sorted and synced with breakpointLines\n\n this.classAttrsHidden = {}; // kludgy hack for 'show/hide attributes' for class objects\n\n // API for adding a hook, created by David Pritchard\n this.pytutor_hooks = {}; // keys, hook names; values, list of functions\n\n if (this.params.lang === 'java') {\n this.activateJavaFrontend(); // ohhhh yeah!\n }\n\n // how many lines does curTrace print to stdout max?\n this.numStdoutLines = 0;\n // go backwards from the end ... sometimes the final entry doesn't\n // have an stdout\n var lastStdout;\n for (var i = this.curTrace.length-1; i >= 0; i--) {\n lastStdout = this.curTrace[i].stdout;\n if (lastStdout) {\n break;\n }\n }\n\n if (lastStdout) {\n this.numStdoutLines = lastStdout.rtrim().split('\\n').length;\n }\n\n this.try_hook(\"end_constructor\", {myViz:this});\n\n this.hasRendered = false;\n\n this.render(); // go for it!\n}\n\n\n/* API for adding a hook, created by David Pritchard\n https://github.com/daveagp\n\n[this documentation is a bit deprecated since Philip made try_hook a\nmethod of ExecutionVisualizer, but the general ideas remains]\n\n An external user should call\nadd_pytutor_hook(\"hook_name_here\", function(args) {...})\n args will be a javascript object with several named properties;\n this is meant to be similar to Python's keyword arguments.\n\n The hooked function should return an array whose first element is a boolean:\n true if it completely handled the situation (no further hooks\n nor the base function should be called); false otherwise (wasn't handled).\n If the hook semantically represents a function that returns something,\n the second value of the returned array is that semantic return value.\n\n E.g. for the Java visualizer a simplified version of a hook we use is:\n\nadd_pytutor_hook(\n \"isPrimitiveType\",\n function(args) {\n var obj = args.obj; // unpack\n if (obj instanceof Array && obj[0] == \"CHAR-LITERAL\")\n return [true, true]; // yes we handled it, yes it's primitive\n return [false]; // didn't handle it, let someone else\n });\n\n Hook callbacks can return false or undefined (i.e. no return\n value) in lieu of [false].\n\n NB: If multiple functions are added to a hook, the oldest goes first.\n*/\nExecutionVisualizer.prototype.add_pytutor_hook = function(hook_name, func) {\n if (this.pytutor_hooks[hook_name])\n this.pytutor_hooks[hook_name].push(func);\n else\n this.pytutor_hooks[hook_name] = [func];\n}\n\n/*\n\n[this documentation is a bit deprecated since Philip made try_hook a\nmethod of ExecutionVisualizer, but the general ideas remains]\n\ntry_hook(hook_name, args): how the internal codebase invokes a hook.\n args will be a javascript object with several named properties;\n this is meant to be similar to Python's keyword arguments.\n E.g.,\n\nfunction isPrimitiveType(obj) {\n var hook_result = try_hook(\"isPrimitiveType\", {obj:obj});\n if (hook_result[0]) return hook_result[1];\n // go on as normal if the hook didn't handle it\n\n Although add_pytutor_hook allows the hooked function to\n return false or undefined, try_hook will always return\n something with the strict format [false], [true] or [true, ...].\n*/\nExecutionVisualizer.prototype.try_hook = function(hook_name, args) {\n if (this.pytutor_hooks[hook_name]) {\n for (var i=0; i<this.pytutor_hooks[hook_name].length; i++) {\n\n // apply w/o \"this\", and pack sole arg into array as required by apply\n var handled_and_result\n = this.pytutor_hooks[hook_name][i].apply(null, [args]);\n\n if (handled_and_result && handled_and_result[0])\n return handled_and_result;\n }\n }\n return [false];\n}\n\n\n// for managing state related to pesky jsPlumb connectors, need to reset\n// before every call to renderDataStructures, or else all hell breaks\n// loose. yeah, this is kludgy and stateful, but at least all of the\n// relevant state gets shoved into one unified place\nExecutionVisualizer.prototype.resetJsPlumbManager = function() {\n this.jsPlumbManager = {\n heap_pointer_src_id: 1, // increment this to be unique for each heap_pointer_src_*\n\n // Key: CSS ID of the div element representing the stack frame variable\n // (for stack->heap connections) or heap object (for heap->heap connections)\n // the format is: '<this.visualizerID>__heap_pointer_src_<src id>'\n // Value: CSS ID of the div element representing the value rendered in the heap\n // (the format is given by generateHeapObjID())\n //\n // The reason we need to prepend this.visualizerID is because jsPlumb needs\n // GLOBALLY UNIQUE IDs for use as connector endpoints.\n //\n // TODO: jsPlumb might be able to directly take DOM elements rather\n // than IDs, which makes the above point moot. But let's just stick\n // with this for now until I want to majorly refactor :)\n\n // the only elements in these sets are NEW elements to be rendered in this\n // particular call to renderDataStructures.\n connectionEndpointIDs: d3.map(),\n heapConnectionEndpointIDs: d3.map(), // subset of connectionEndpointIDs for heap->heap connections\n // analogous to connectionEndpointIDs, except for environment parent pointers\n parentPointerConnectionEndpointIDs: d3.map(),\n\n renderedHeapObjectIDs: d3.map(), // format given by generateHeapObjID()\n };\n}\n\n\n// create a unique ID, which is often necessary so that jsPlumb doesn't get confused\n// due to multiple ExecutionVisualizer instances being displayed simultaneously\nExecutionVisualizer.prototype.generateID = function(original_id) {\n // (it's safer to start names with a letter rather than a number)\n return 'v' + this.visualizerID + '__' + original_id;\n}\n\n// create a unique CSS ID for a heap object, which should include both\n// its ID and the current step number. this is necessary if we want to\n// display the same heap object at multiple execution steps.\nExecutionVisualizer.prototype.generateHeapObjID = function(objID, stepNum) {\n return this.generateID('heap_object_' + objID + '_s' + stepNum);\n}\n\n\nExecutionVisualizer.prototype.render = function() {\n if (this.hasRendered) {\n alert('ERROR: You should only call render() ONCE on an ExecutionVisualizer object.');\n return;\n }\n\n var myViz = this; // to prevent confusion of 'this' inside of nested functions\n\n var codeDisplayHTML =\n '<div id=\"codeDisplayDiv\">\\\n <div id=\"langDisplayDiv\"></div>\\\n <div id=\"pyCodeOutputDiv\"/>\\\n <div id=\"editCodeLinkDiv\"><a id=\"editBtn\">Edit code</a>\\\n <span id=\"liveModeSpan\" style=\"display: none;\">| <a id=\"editLiveModeBtn\" href=\"#\">Live programming</a></a>\\\n </div>\\\n <div id=\"legendDiv\"/>\\\n <div id=\"executionSliderDocs\"></div>\\\n <div id=\"executionSlider\"/>\\\n <div id=\"executionSliderFooter\"/>\\\n <div id=\"vcrControls\">\\\n <button id=\"jmpFirstInstr\", type=\"button\"><< First</button>\\\n <button id=\"jmpStepBack\", type=\"button\">< Back</button>\\\n <span id=\"curInstr\">Step ? of ?</span>\\\n <button id=\"jmpStepFwd\", type=\"button\">Forward ></button>\\\n <button id=\"jmpLastInstr\", type=\"button\">Last >></button>\\\n </div>\\\n <div id=\"rawUserInputDiv\">\\\n <span id=\"userInputPromptStr\"/>\\\n <input type=\"text\" id=\"raw_input_textbox\" size=\"30\"/>\\\n <button id=\"raw_input_submit_btn\">Submit</button>\\\n </div>\\\n <div id=\"errorOutput\"/>\\\n <div id=\"stepAnnotationDiv\">\\\n <textarea class=\"annotationText\" id=\"stepAnnotationEditor\" cols=\"60\" rows=\"3\"></textarea>\\\n <div class=\"annotationText\" id=\"stepAnnotationViewer\"></div>\\\n </div>\\\n <div id=\"annotateLinkDiv\"><button id=\"annotateBtn\" type=\"button\">Annotate this step</button></div>\\\n </div>';\n\n var outputsHTML =\n '<div id=\"htmlOutputDiv\"></div>\\\n <div id=\"progOutputs\">\\\n <div id=\"printOutputDocs\">Print output (drag lower right corner to resize)</div>\\n\\\n <textarea id=\"pyStdout\" cols=\"40\" rows=\"5\" wrap=\"off\" readonly></textarea>\\\n </div>';\n\n var codeVizHTML =\n '<div id=\"dataViz\">\\\n <table id=\"stackHeapTable\">\\\n <tr>\\\n <td id=\"stack_td\">\\\n <div id=\"globals_area\">\\\n <div id=\"stackHeader\">Frames</div>\\\n </div>\\\n <div id=\"stack\"></div>\\\n </td>\\\n <td id=\"heap_td\">\\\n <div id=\"heap\">\\\n <div id=\"heapHeader\">Objects</div>\\\n </div>\\\n </td>\\\n </tr>\\\n </table>\\\n </div>';\n\n // override\n if (myViz.tabularView) {\n codeVizHTML = '<div id=\"optTabularView\"></div>';\n }\n\n var vizHeaderHTML =\n '<div id=\"vizHeader\">\\\n <textarea class=\"vizTitleText\" id=\"vizTitleEditor\" cols=\"60\" rows=\"1\"></textarea>\\\n <div class=\"vizTitleText\" id=\"vizTitleViewer\"></div>\\\n <textarea class=\"vizDescriptionText\" id=\"vizDescriptionEditor\" cols=\"75\" rows=\"2\"></textarea>\\\n <div class=\"vizDescriptionText\" id=\"vizDescriptionViewer\"></div>\\\n </div>';\n\n if (this.params.verticalStack) {\n this.domRoot.html(vizHeaderHTML + '<table border=\"0\" class=\"visualizer\"><tr><td class=\"vizLayoutTd\" id=\"vizLayoutTdFirst\"\">' +\n codeDisplayHTML + '</td></tr><tr><td class=\"vizLayoutTd\" id=\"vizLayoutTdSecond\">' +\n codeVizHTML + '</td></tr></table>');\n }\n else {\n this.domRoot.html(vizHeaderHTML + '<table border=\"0\" class=\"visualizer\"><tr><td class=\"vizLayoutTd\" id=\"vizLayoutTdFirst\">' +\n codeDisplayHTML + '</td><td class=\"vizLayoutTd\" id=\"vizLayoutTdSecond\">' +\n codeVizHTML + '</td></tr></table>');\n }\n\n if (this.showOnlyOutputs) {\n myViz.domRoot.find('#dataViz').hide();\n this.domRoot.find('#vizLayoutTdSecond').append(outputsHTML);\n\n if (this.params.verticalStack) {\n this.domRoot.find('#vizLayoutTdSecond').css('padding-top', '25px');\n }\n else {\n this.domRoot.find('#vizLayoutTdSecond').css('padding-left', '25px');\n }\n }\n else {\n var stdoutHeight = '75px';\n // heuristic for code with really small outputs\n if (this.numStdoutLines <= 3) {\n stdoutHeight = (18 * this.numStdoutLines) + 'px';\n }\n if (this.params.embeddedMode) {\n stdoutHeight = '45px';\n }\n\n // position this under the code:\n //this.domRoot.find('#vizLayoutTdFirst').append(outputsHTML);\n\n // position this above visualization (started trying this on 2016-06-01)\n this.domRoot.find('#vizLayoutTdSecond').prepend(outputsHTML);\n\n // do this only after adding to DOM\n this.domRoot.find('#pyStdout').width('350px')\n .height(stdoutHeight)\n .resizable();\n }\n\n if (this.params.arrowLines) {\n this.domRoot.find('#legendDiv')\n .append('<svg id=\"prevLegendArrowSVG\"/> line that has just executed')\n .append('<p style=\"margin-top: 4px\"><svg id=\"curLegendArrowSVG\"/> next line to execute</p>');\n \n myViz.domRootD3.select('svg#prevLegendArrowSVG')\n .append('polygon')\n .attr('points', SVG_ARROW_POLYGON)\n .attr('fill', lightArrowColor);\n \n myViz.domRootD3.select('svg#curLegendArrowSVG')\n .append('polygon')\n .attr('points', SVG_ARROW_POLYGON)\n .attr('fill', darkArrowColor);\n }\n else if (this.params.highlightLines) {\n myViz.domRoot.find('#legendDiv')\n .append('<span class=\"highlight-legend highlight-prev\">line that has just executed</span> ')\n .append('<span class=\"highlight-legend highlight-cur\">next line to execute</span>')\n }\n else if (this.params.pyCrazyMode) {\n myViz.domRoot.find('#legendDiv')\n .append('<a href=\"https://github.com/pgbovine/Py2crazy\">Py2crazy</a> mode!')\n .append(' Stepping through (roughly) each executed expression. Color codes:<p/>')\n .append('<span class=\"pycrazy-highlight-prev\">expression that just executed</span><br/>')\n .append('<span class=\"pycrazy-highlight-cur\">next expression to execute</span>');\n }\n\n\n if (this.params.editCodeBaseURL) {\n // kinda kludgy\n var pyVer = '2'; // default\n if (this.params.lang === 'js') {\n pyVer = 'js';\n } else if (this.params.lang === 'ts') {\n pyVer = 'ts';\n } else if (this.params.lang === 'java') {\n pyVer = 'java';\n } else if (this.params.lang === 'py3') {\n pyVer = '3';\n } else if (this.params.lang === 'c') {\n pyVer = 'c';\n } else if (this.params.lang === 'cpp') {\n pyVer = 'cpp';\n }\n\n var urlStr = $.param.fragment(this.params.editCodeBaseURL,\n {code: this.curInputCode, py: pyVer},\n 2);\n this.domRoot.find('#editBtn').attr('href', urlStr);\n }\n else {\n this.domRoot.find('#editCodeLinkDiv').hide(); // just hide for simplicity!\n this.domRoot.find('#editBtn').attr('href', \"#\");\n this.domRoot.find('#editBtn').click(function(){return false;}); // DISABLE the link!\n }\n\n if (this.params.lang !== undefined) {\n if (this.params.lang === 'js') {\n this.domRoot.find('#langDisplayDiv').html('JavaScript');\n } else if (this.params.lang === 'ts') {\n this.domRoot.find('#langDisplayDiv').html('TypeScript');\n } else if (this.params.lang === 'ruby') {\n this.domRoot.find('#langDisplayDiv').html('Ruby');\n } else if (this.params.lang === 'java') {\n this.domRoot.find('#langDisplayDiv').html('Java');\n } else if (this.params.lang === 'py2') {\n this.domRoot.find('#langDisplayDiv').html('Python 2.7');\n } else if (this.params.lang === 'py3') {\n this.domRoot.find('#langDisplayDiv').html('Python 3.3');\n } else if (this.params.lang === 'c') {\n this.domRoot.find('#langDisplayDiv').html('C (gcc 4.8, C11) <font color=\"#e93f34\">EXPERIMENTAL!</font><br/>see <a href=\"https://github.com/pgbovine/opt-cpp-backend/issues\" target=\"_blank\">known bugs</a> and report to philip@pgbovine.net');\n } else if (this.params.lang === 'cpp') {\n this.domRoot.find('#langDisplayDiv').html('C++ (gcc 4.8, C++11) <font color=\"#e93f34\">EXPERIMENTAL!</font><br/>see <a href=\"https://github.com/pgbovine/opt-cpp-backend/issues\" target=\"_blank\">known bugs</a> and report to philip@pgbovine.net');\n } else {\n this.domRoot.find('#langDisplayDiv').hide();\n }\n }\n\n if (this.params.allowEditAnnotations !== undefined) {\n this.allowEditAnnotations = this.params.allowEditAnnotations;\n }\n else {\n this.allowEditAnnotations = false;\n }\n\n if (this.params.pyCrazyMode !== undefined) {\n this.pyCrazyMode = this.params.pyCrazyMode;\n }\n else {\n this.pyCrazyMode = false;\n }\n\n this.domRoot.find('#stepAnnotationEditor').hide();\n\n if (this.params.embeddedMode) {\n this.embeddedMode = true;\n // nix this for now ...\n //this.params.hideOutput = true; // put this before hideOutput handler\n\n // don't override if they've already been set!\n if (this.params.codeDivWidth === undefined) {\n this.params.codeDivWidth = this.DEFAULT_EMBEDDED_CODE_DIV_WIDTH;\n }\n\n if (this.params.codeDivHeight === undefined) {\n this.params.codeDivHeight = this.DEFAULT_EMBEDDED_CODE_DIV_HEIGHT;\n }\n \n this.allowEditAnnotations = false;\n\n // add an extra label to link back to the main site, so that viewers\n // on the embedded page know that they're seeing an OPT visualization\n this.domRoot.find('#codeDisplayDiv').append('<div style=\"font-size: 8pt; margin-bottom: 20px;\">Visualized using <a href=\"http://pythontutor.com\" target=\"_blank\" style=\"color: #3D58A2;\">Online Python Tutor</a> by <a href=\"http://www.pgbovine.net/\" target=\"_blank\" style=\"color: #3D58A2;\">Philip Guo</a></div>');\n\n myViz.domRoot.find('#executionSliderDocs').hide(); // cut out extraneous docs\n }\n\n myViz.editAnnotationMode = false;\n\n if (this.allowEditAnnotations) {\n var ab = this.domRoot.find('#annotateBtn');\n\n ab.click(function() {\n if (myViz.editAnnotationMode) {\n myViz.enterViewAnnotationsMode();\n\n myViz.domRoot.find(\"#jmpFirstInstr,#jmpLastInstr,#jmpStepBack,#jmpStepFwd,#executionSlider,#editCodeLinkDiv,#stepAnnotationViewer\").show();\n myViz.domRoot.find('#stepAnnotationEditor').hide();\n ab.html('Annotate this step');\n }\n else {\n myViz.enterEditAnnotationsMode();\n\n myViz.domRoot.find(\"#jmpFirstInstr,#jmpLastInstr,#jmpStepBack,#jmpStepFwd,#executionSlider,#editCodeLinkDiv,#stepAnnotationViewer\").hide();\n myViz.domRoot.find('#stepAnnotationEditor').show();\n ab.html('Done annotating');\n }\n });\n }\n else {\n this.domRoot.find('#annotateBtn').hide();\n }\n\n \n // not enough room for these extra buttons ...\n if (this.params.codeDivWidth &&\n this.params.codeDivWidth < 470) {\n this.domRoot.find('#jmpFirstInstr').hide();\n this.domRoot.find('#jmpLastInstr').hide();\n }\n\n\n if (this.params.codeDivWidth) {\n // set width once\n this.domRoot.find('#codeDisplayDiv').width(this.params.codeDivWidth);\n // it will propagate to the slider\n\n //this.domRoot.find(\"#pyStdout\").css(\"width\", this.params.codeDivWidth - 20 /* wee tweaks */);\n }\n\n // enable left-right draggable pane resizer (originally from David Pritchard)\n this.domRoot.find('#codeDisplayDiv').resizable({\n handles: \"e\", \n minWidth: 100, //otherwise looks really goofy\n resize: function(event, ui) { // old name: syncStdoutWidth, now not appropriate\n // resize stdout box in unison\n //myViz.domRoot.find(\"#pyStdout\").css(\"width\", $(this).width() - 20 /* wee tweaks */);\n\n myViz.domRoot.find(\"#codeDisplayDiv\").css(\"height\", \"auto\"); // redetermine height if necessary\n myViz.renderSliderBreakpoints(); // update breakpoint display accordingly on resize\n if (myViz.params.updateOutputCallback) // report size change\n myViz.params.updateOutputCallback(this);\n }});\n\n if (this.params.codeDivHeight) {\n this.domRoot.find('#pyCodeOutputDiv')\n .css('max-height', this.params.codeDivHeight + 'px');\n }\n\n\n // create a persistent globals frame\n // (note that we need to keep #globals_area separate from #stack for d3 to work its magic)\n this.domRoot.find(\"#globals_area\").append('<div class=\"stackFrame\" id=\"'\n + myViz.generateID('globals') + '\"><div id=\"' + myViz.generateID('globals_header')\n + '\" class=\"stackFrameHeader\">' + this.getRealLabel('Global frame') + '</div><table class=\"stackFrameVarTable\" id=\"'\n + myViz.generateID('global_table') + '\"></table></div>');\n\n\n if (this.params.hideOutput) {\n this.domRoot.find('#progOutputs').hide();\n }\n\n this.domRoot.find(\"#jmpFirstInstr\").click(function() {\n myViz.renderStep(0);\n });\n\n this.domRoot.find(\"#jmpLastInstr\").click(function() {\n myViz.renderStep(myViz.curTrace.length - 1);\n });\n\n this.domRoot.find(\"#jmpStepBack\").click(function() {\n myViz.stepBack();\n });\n\n this.domRoot.find(\"#jmpStepFwd\").click(function() {\n myViz.stepForward();\n });\n\n // disable controls initially ...\n this.domRoot.find(\"#vcrControls #jmpFirstInstr\").attr(\"disabled\", true);\n this.domRoot.find(\"#vcrControls #jmpStepBack\").attr(\"disabled\", true);\n this.domRoot.find(\"#vcrControls #jmpStepFwd\").attr(\"disabled\", true);\n this.domRoot.find(\"#vcrControls #jmpLastInstr\").attr(\"disabled\", true);\n\n\n\n // must postprocess curTrace prior to running precomputeCurTraceLayouts() ...\n var lastEntry = this.curTrace[this.curTrace.length - 1];\n\n this.instrLimitReached = (lastEntry.event == 'instruction_limit_reached');\n\n if (this.instrLimitReached) {\n this.curTrace.pop() // kill last entry\n var warningMsg = lastEntry.exception_msg;\n this.instrLimitReachedWarningMsg = warningMsg;\n myViz.domRoot.find(\"#errorOutput\").html(htmlspecialchars(warningMsg));\n myViz.domRoot.find(\"#errorOutput\").show();\n }\n\n // set up slider after postprocessing curTrace\n\n var sliderDiv = this.domRoot.find('#executionSlider');\n sliderDiv.slider({min: 0, max: this.curTrace.length - 1, step: 1});\n //disable keyboard actions on the slider itself (to prevent double-firing of events)\n sliderDiv.find(\".ui-slider-handle\").unbind('keydown');\n // make skinnier and taller\n sliderDiv.find(\".ui-slider-handle\").css('width', '0.8em');\n sliderDiv.find(\".ui-slider-handle\").css('height', '1.4em');\n this.domRoot.find(\".ui-widget-content\").css('font-size', '0.9em');\n\n this.domRoot.find('#executionSlider').bind('slide', function(evt, ui) {\n // this is SUPER subtle. if this value was changed programmatically,\n // then evt.originalEvent will be undefined. however, if this value\n // was changed by a user-initiated event, then this code should be\n // executed ...\n if (evt.originalEvent) {\n myViz.renderStep(ui.value);\n }\n });\n\n if (this.params.startingInstruction) {\n this.params.jumpToEnd = false; // override! make sure to handle FIRST\n\n // weird special case for something like:\n // e=raw_input(raw_input(\"Enter something:\"))\n if (this.params.startingInstruction == this.curTrace.length) {\n this.params.startingInstruction--;\n }\n\n // fail-soft with out-of-bounds startingInstruction values:\n if (this.params.startingInstruction < 0) {\n this.params.startingInstruction = 0;\n }\n if (this.params.startingInstruction >= this.curTrace.length) {\n this.params.startingInstruction = this.curTrace.length - 1;\n }\n\n assert(0 <= this.params.startingInstruction &&\n this.params.startingInstruction < this.curTrace.length);\n this.curInstr = this.params.startingInstruction;\n }\n\n if (this.params.jumpToEnd) {\n var firstErrorStep = -1;\n for (var i = 0; i < this.curTrace.length; i++) {\n var e = this.curTrace[i];\n if (e.event == 'exception' || e.event == 'uncaught_exception') {\n firstErrorStep = i;\n break;\n }\n }\n\n // set to first error step if relevant since that's more informative\n // than simply jumping to the very end\n if (firstErrorStep >= 0) {\n this.curInstr = firstErrorStep;\n } else {\n this.curInstr = this.curTrace.length - 1;\n }\n }\n\n if (this.params.hideCode) {\n this.domRoot.find('#vizLayoutTdFirst').hide(); // gigantic hack!\n }\n\n this.try_hook(\"end_render\", {myViz:this});\n\n this.precomputeCurTraceLayouts();\n\n if (!this.params.hideCode) {\n this.renderPyCodeOutput();\n }\n\n // EXPERIMENTAL!\n if (this.tabularView) {\n this.renderTabularView();\n\n // scroll vizLayoutTdFirst down to always align with the vertical\n // scrolling ...\n $(window).scroll(function() {\n var codePane = myViz.domRoot.find('#vizLayoutTdFirst');\n var docScrollTop = $(document).scrollTop();\n var offset = codePane.offset().top;\n var delta = docScrollTop - offset;\n if (delta < 0) {\n delta = 0;\n }\n\n // don't scroll past the bottom of the optTabularView table:\n var optTable = myViz.domRoot.find('#optTabularView');\n var optTableBottom = optTable.height() + optTable.offset().top;\n var codeDisplayHeight = myViz.domRoot.find('#codeDisplayDiv').height();\n if (delta - offset < optTableBottom - codeDisplayHeight) {\n codePane.css('padding-top', delta);\n }\n });\n }\n\n\n var ruiDiv = myViz.domRoot.find('#rawUserInputDiv');\n ruiDiv.find('#userInputPromptStr').html(myViz.userInputPromptStr);\n ruiDiv.find('#raw_input_submit_btn').click(function() {\n var userInput = ruiDiv.find('#raw_input_textbox').val();\n // advance instruction count by 1 to get to the NEXT instruction\n myViz.executeCodeWithRawInputFunc(userInput, myViz.curInstr + 1);\n });\n\n\n this.updateOutput();\n\n this.hasRendered = true;\n}\n\n\nExecutionVisualizer.prototype.showVizHeaderViewMode = function() {\n var titleVal = this.domRoot.find('#vizTitleEditor').val().trim();\n var descVal = this.domRoot.find('#vizDescriptionEditor').val().trim();\n\n this.domRoot.find('#vizTitleEditor,#vizDescriptionEditor').hide();\n\n if (!titleVal && !descVal) {\n this.domRoot.find('#vizHeader').hide();\n }\n else {\n this.domRoot.find('#vizHeader,#vizTitleViewer,#vizDescriptionViewer').show();\n if (titleVal) {\n this.domRoot.find('#vizTitleViewer').html(htmlsanitize(titleVal)); // help prevent HTML/JS injection attacks\n }\n\n if (descVal) {\n this.domRoot.find('#vizDescriptionViewer').html(htmlsanitize(descVal)); // help prevent HTML/JS injection attacks\n }\n }\n}\n\nExecutionVisualizer.prototype.showVizHeaderEditMode = function() {\n this.domRoot.find('#vizHeader').show();\n\n this.domRoot.find('#vizTitleViewer,#vizDescriptionViewer').hide();\n this.domRoot.find('#vizTitleEditor,#vizDescriptionEditor').show();\n}\n\n\nExecutionVisualizer.prototype.destroyAllAnnotationBubbles = function() {\n var myViz = this;\n\n // hopefully destroys all old bubbles and reclaims their memory\n if (myViz.allAnnotationBubbles) {\n $.each(myViz.allAnnotationBubbles, function(i, e) {\n e.destroyQTip();\n });\n }\n\n // remove this handler as well!\n this.domRoot.find('#pyCodeOutputDiv').unbind('scroll');\n\n myViz.allAnnotationBubbles = null;\n}\n\nExecutionVisualizer.prototype.initStepAnnotation = function() {\n var curEntry = this.curTrace[this.curInstr];\n if (curEntry.stepAnnotation) {\n this.domRoot.find(\"#stepAnnotationViewer\").html(htmlsanitize(curEntry.stepAnnotation)); // help prevent HTML/JS injection attacks\n this.domRoot.find(\"#stepAnnotationEditor\").val(curEntry.stepAnnotation);\n }\n else {\n this.domRoot.find(\"#stepAnnotationViewer\").html('');\n this.domRoot.find(\"#stepAnnotationEditor\").val('');\n }\n}\n\nExecutionVisualizer.prototype.initAllAnnotationBubbles = function() {\n var myViz = this;\n\n // TODO: check for memory leaks\n //console.log('initAllAnnotationBubbles');\n\n myViz.destroyAllAnnotationBubbles();\n\n var codelineIDs = [];\n $.each(this.domRoot.find('#pyCodeOutput .cod'), function(i, e) {\n codelineIDs.push($(e).attr('id'));\n });\n\n var heapObjectIDs = [];\n $.each(this.domRoot.find('.heapObject'), function(i, e) {\n heapObjectIDs.push($(e).attr('id'));\n });\n\n var variableIDs = [];\n $.each(this.domRoot.find('.variableTr'), function(i, e) {\n variableIDs.push($(e).attr('id'));\n });\n\n var frameIDs = [];\n $.each(this.domRoot.find('.stackFrame'), function(i, e) {\n frameIDs.push($(e).attr('id'));\n });\n\n myViz.allAnnotationBubbles = [];\n\n $.each(codelineIDs, function(i,e) {myViz.allAnnotationBubbles.push(new AnnotationBubble(myViz, 'codeline', e));});\n $.each(heapObjectIDs, function(i,e) {myViz.allAnnotationBubbles.push(new AnnotationBubble(myViz, 'object', e));});\n $.each(variableIDs, function(i,e) {myViz.allAnnotationBubbles.push(new AnnotationBubble(myViz, 'variable', e));});\n $.each(frameIDs, function(i,e) {myViz.allAnnotationBubbles.push(new AnnotationBubble(myViz, 'frame', e));});\n\n\n this.domRoot.find('#pyCodeOutputDiv').scroll(function() {\n $.each(myViz.allAnnotationBubbles, function(i, e) {\n if (e.type == 'codeline') {\n e.redrawCodelineBubble();\n }\n });\n });\n\n //console.log('initAllAnnotationBubbles', myViz.allAnnotationBubbles.length);\n}\n\n\nExecutionVisualizer.prototype.enterViewAnnotationsMode = function() {\n this.editAnnotationMode = false;\n var curEntry = this.curTrace[this.curInstr];\n\n // TODO: check for memory leaks!!!\n var myViz = this;\n\n if (!myViz.allAnnotationBubbles) {\n if (curEntry.bubbleAnnotations) {\n // If there is an existing annotations object, then initiate all annotations bubbles\n // and display them in 'View' mode\n myViz.initAllAnnotationBubbles();\n\n $.each(myViz.allAnnotationBubbles, function(i, e) {\n var txt = curEntry.bubbleAnnotations[e.domID];\n if (txt) {\n e.preseedText(txt);\n }\n });\n }\n }\n\n\n if (myViz.allAnnotationBubbles) {\n var curAnnotations = {};\n\n $.each(myViz.allAnnotationBubbles, function(i, e) {\n e.enterViewMode();\n\n if (e.text) {\n curAnnotations[e.domID] = e.text;\n }\n });\n\n // Save annotations directly into the current trace entry as an 'annotations' object\n // directly mapping domID -> text.\n //\n // NB: This scheme can break if the functions for generating domIDs are altered.\n curEntry.bubbleAnnotations = curAnnotations;\n }\n\n var stepAnnotationEditorVal = myViz.domRoot.find(\"#stepAnnotationEditor\").val().trim();\n if (stepAnnotationEditorVal) {\n curEntry.stepAnnotation = stepAnnotationEditorVal;\n }\n else {\n delete curEntry.stepAnnotation; // go as far as to DELETE this field entirely\n }\n\n myViz.initStepAnnotation();\n\n myViz.showVizHeaderViewMode();\n\n // redraw all connectors and bubbles in new vertical position ..\n myViz.redrawConnectors();\n myViz.redrawAllAnnotationBubbles();\n}\n\nExecutionVisualizer.prototype.enterEditAnnotationsMode = function() {\n this.editAnnotationMode = true;\n\n // TODO: check for memory leaks!!!\n var myViz = this;\n\n var curEntry = this.curTrace[this.curInstr];\n\n if (!myViz.allAnnotationBubbles) {\n myViz.initAllAnnotationBubbles();\n }\n\n $.each(myViz.allAnnotationBubbles, function(i, e) {\n e.enterEditMode();\n });\n\n\n if (curEntry.stepAnnotation) {\n myViz.domRoot.find(\"#stepAnnotationEditor\").val(curEntry.stepAnnotation);\n }\n else {\n myViz.domRoot.find(\"#stepAnnotationEditor\").val('');\n }\n\n\n myViz.showVizHeaderEditMode();\n\n // redraw all connectors and bubbles in new vertical position ..\n myViz.redrawConnectors();\n myViz.redrawAllAnnotationBubbles();\n}\n\n\nExecutionVisualizer.prototype.redrawAllAnnotationBubbles = function() {\n if (this.allAnnotationBubbles) {\n $.each(this.allAnnotationBubbles, function(i, e) {\n e.redrawBubble();\n });\n }\n}\n\n\n// find the previous/next breakpoint to c or return -1 if it doesn't exist\nExecutionVisualizer.prototype.findPrevBreakpoint = function() {\n var myViz = this;\n var c = myViz.curInstr;\n\n if (myViz.sortedBreakpointsList.length == 0) {\n return -1;\n }\n else {\n for (var i = 1; i < myViz.sortedBreakpointsList.length; i++) {\n var prev = myViz.sortedBreakpointsList[i-1];\n var cur = myViz.sortedBreakpointsList[i];\n if (c <= prev)\n return -1;\n if (cur >= c)\n return prev;\n }\n\n // final edge case:\n var lastElt = myViz.sortedBreakpointsList[myViz.sortedBreakpointsList.length - 1];\n return (lastElt < c) ? lastElt : -1;\n }\n}\n\nExecutionVisualizer.prototype.findNextBreakpoint = function() {\n var myViz = this;\n var c = myViz.curInstr;\n\n if (myViz.sortedBreakpointsList.length == 0) {\n return -1;\n }\n // usability hack: if you're currently on a breakpoint, then\n // single-step forward to the next execution point, NOT the next\n // breakpoint. it's often useful to see what happens when the line\n // at a breakpoint executes.\n else if ($.inArray(c, myViz.sortedBreakpointsList) >= 0) {\n return c + 1;\n }\n else {\n for (var i = 0; i < myViz.sortedBreakpointsList.length - 1; i++) {\n var cur = myViz.sortedBreakpointsList[i];\n var next = myViz.sortedBreakpointsList[i+1];\n if (c < cur)\n return cur;\n if (cur <= c && c < next) // subtle\n return next;\n }\n\n // final edge case:\n var lastElt = myViz.sortedBreakpointsList[myViz.sortedBreakpointsList.length - 1];\n return (lastElt > c) ? lastElt : -1;\n }\n}\n\n\n// returns true if action successfully taken\nExecutionVisualizer.prototype.stepForward = function() {\n var myViz = this;\n\n if (myViz.editAnnotationMode) {\n return;\n }\n\n if (myViz.curInstr < myViz.curTrace.length - 1) {\n // if there is a next breakpoint, then jump to it ...\n if (myViz.sortedBreakpointsList.length > 0) {\n var nextBreakpoint = myViz.findNextBreakpoint();\n if (nextBreakpoint != -1)\n myViz.curInstr = nextBreakpoint;\n else\n myViz.curInstr += 1; // prevent \"getting stuck\" on a solitary breakpoint\n }\n else {\n myViz.curInstr += 1;\n }\n myViz.updateOutput(true);\n return true;\n }\n\n return false;\n}\n\n// returns true if action successfully taken\nExecutionVisualizer.prototype.stepBack = function() {\n var myViz = this;\n\n if (myViz.editAnnotationMode) {\n return;\n }\n\n if (myViz.curInstr > 0) {\n // if there is a prev breakpoint, then jump to it ...\n if (myViz.sortedBreakpointsList.length > 0) {\n var prevBreakpoint = myViz.findPrevBreakpoint();\n if (prevBreakpoint != -1)\n myViz.curInstr = prevBreakpoint;\n else\n myViz.curInstr -= 1; // prevent \"getting stuck\" on a solitary breakpoint\n }\n else {\n myViz.curInstr -= 1;\n }\n myViz.updateOutput();\n return true;\n }\n\n return false;\n}\n\n\nExecutionVisualizer.prototype.renderSliderBreakpoints = function() {\n var myViz = this; // to prevent confusion of 'this' inside of nested functions\n\n myViz.domRoot.find(\"#executionSliderFooter\").empty();\n var w = myViz.domRoot.find('#executionSlider').width();\n\n // I originally didn't want to delete and re-create this overlay every time,\n // but if I don't do so, there are weird flickering artifacts with clearing\n // the SVG container; so it's best to just delete and re-create the container each time\n var sliderOverlay = myViz.domRootD3.select('#executionSliderFooter')\n .append('svg')\n .attr('id', 'sliderOverlay')\n .attr('width', w)\n .attr('height', 12);\n\n var xrange = d3.scale.linear()\n .domain([0, myViz.curTrace.length - 1])\n .range([0, w]);\n\n sliderOverlay.selectAll('rect')\n .data(myViz.sortedBreakpointsList)\n .enter().append('rect')\n .attr('x', function(d, i) {\n // make edge case of 0 look decent:\n return (d === 0) ? 0 : xrange(d) - 1;\n })\n .attr('y', 0)\n .attr('width', 2)\n .attr('height', 12)\n .style('fill', function(d) {\n return breakpointColor;\n });\n}\n\n\n\nExecutionVisualizer.prototype.renderPyCodeOutput = function() {\n var myViz = this; // to prevent confusion of 'this' inside of nested functions\n\n\n // initialize!\n this.breakpoints = d3.map();\n this.sortedBreakpointsList = [];\n\n // an array of objects with the following fields:\n // 'text' - the text of the line of code\n // 'lineNumber' - one-indexed (always the array index + 1)\n // 'executionPoints' - an ordered array of zero-indexed execution points where this line was executed\n // 'breakpointHere' - has a breakpoint been set here?\n this.codeOutputLines = [];\n\n function _getSortedBreakpointsList() {\n var ret = [];\n myViz.breakpoints.forEach(function(k, v) {\n ret.push(Number(k)); // these should be NUMBERS, not strings\n });\n ret.sort(function(x,y){return x-y}); // WTF, javascript sort is lexicographic by default!\n return ret;\n }\n\n function addToBreakpoints(executionPoints) {\n $.each(executionPoints, function(i, ep) {\n myViz.breakpoints.set(ep, 1);\n });\n myViz.sortedBreakpointsList = _getSortedBreakpointsList();\n }\n\n function removeFromBreakpoints(executionPoints) {\n $.each(executionPoints, function(i, ep) {\n myViz.breakpoints.remove(ep);\n });\n myViz.sortedBreakpointsList = _getSortedBreakpointsList();\n }\n\n function setBreakpoint(t, d) {\n addToBreakpoints(d.executionPoints);\n d3.select(t.parentNode).select('td.lineNo').style('color', breakpointColor);\n d3.select(t.parentNode).select('td.lineNo').style('font-weight', 'bold');\n d3.select(t.parentNode).select('td.cod').style('color', breakpointColor);\n myViz.renderSliderBreakpoints();\n }\n\n function unsetBreakpoint(t, d) {\n removeFromBreakpoints(d.executionPoints);\n d3.select(t.parentNode).select('td.lineNo').style('color', '');\n d3.select(t.parentNode).select('td.lineNo').style('font-weight', '');\n d3.select(t.parentNode).select('td.cod').style('color', '');\n myViz.renderSliderBreakpoints();\n }\n\n var lines = this.curInputCode.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var cod = lines[i];\n\n var n = {};\n n.text = cod;\n n.lineNumber = i + 1;\n n.executionPoints = [];\n n.breakpointHere = false;\n\n $.each(this.curTrace, function(j, elt) {\n if (elt.line == n.lineNumber) {\n n.executionPoints.push(j);\n }\n });\n\n \n // if there is a comment containing 'breakpoint' and this line was actually executed,\n // then set a breakpoint on this line\n var breakpointInComment = false;\n var toks = cod.split('#');\n for (var j = 1 /* start at index 1, not 0 */; j < toks.length; j++) {\n if (toks[j].indexOf('breakpoint') != -1) {\n breakpointInComment = true;\n }\n }\n\n if (breakpointInComment && n.executionPoints.length > 0) {\n n.breakpointHere = true;\n addToBreakpoints(n.executionPoints);\n }\n\n this.codeOutputLines.push(n);\n }\n\n\n myViz.domRoot.find('#pyCodeOutputDiv').empty();\n\n // maps this.codeOutputLines to both table columns\n var codeOutputD3 = this.domRootD3.select('#pyCodeOutputDiv')\n .append('table')\n .attr('id', 'pyCodeOutput')\n .selectAll('tr')\n .data(this.codeOutputLines)\n .enter().append('tr')\n .selectAll('td')\n .data(function(d, i){return [d, d] /* map full data item down both columns */;})\n .enter().append('td')\n .attr('class', function(d, i) {\n if (i == 0) {\n return 'lineNo';\n }\n else {\n return 'cod';\n }\n })\n .attr('id', function(d, i) {\n if (i == 0) {\n return 'lineNo' + d.lineNumber;\n }\n else {\n return myViz.generateID('cod' + d.lineNumber); // make globally unique (within the page)\n }\n })\n .html(function(d, i) {\n if (i == 0) {\n return d.lineNumber;\n }\n else {\n return htmlspecialchars(d.text);\n }\n });\n\n // create a left-most gutter td that spans ALL rows ...\n // (NB: valign=\"top\" is CRUCIAL for this to work in IE)\n if (myViz.params.arrowLines) {\n myViz.domRoot.find('#pyCodeOutput tr:first')\n .prepend('<td id=\"gutterTD\" valign=\"top\" rowspan=\"' + this.codeOutputLines.length + '\"><svg id=\"leftCodeGutterSVG\"/></td>');\n \n // create prevLineArrow and curLineArrow\n myViz.domRootD3.select('svg#leftCodeGutterSVG')\n .append('polygon')\n .attr('id', 'prevLineArrow')\n .attr('points', SVG_ARROW_POLYGON)\n .attr('fill', lightArrowColor);\n \n myViz.domRootD3.select('svg#leftCodeGutterSVG')\n .append('polygon')\n .attr('id', 'curLineArrow')\n .attr('points', SVG_ARROW_POLYGON)\n .attr('fill', darkArrowColor);\n }\n\n // 2012-09-05: Disable breakpoints for now to simplify UX\n // 2016-05-01: Revive breakpoint functionality\n codeOutputD3\n .style('cursor', function(d, i) {\n // don't do anything if exePts empty (i.e., this line was never executed)\n var exePts = d.executionPoints;\n if (!exePts || exePts.length == 0) {\n return;\n } else {\n return 'pointer'\n }\n })\n .on('click', function(d, i) {\n // don't do anything if exePts empty (i.e., this line was never executed)\n var exePts = d.executionPoints;\n if (!exePts || exePts.length == 0) {\n return;\n }\n\n d.breakpointHere = !d.breakpointHere; // toggle\n if (d.breakpointHere) {\n setBreakpoint(this, d);\n }\n else {\n unsetBreakpoint(this, d);\n }\n });\n}\n\n\n// takes a string inputStr and returns an HTML version with\n// the characters from [highlightIndex, highlightIndex+extent) highlighted with\n// a span of class highlightCssClass\nfunction htmlWithHighlight(inputStr, highlightInd, extent, highlightCssClass) {\n var prefix = '';\n if (highlightInd > 0) {\n prefix = inputStr.slice(0, highlightInd);\n }\n\n var highlightedChars = inputStr.slice(highlightInd, highlightInd + extent);\n\n var suffix = '';\n if (highlightInd + extent < inputStr.length) {\n suffix = inputStr.slice(highlightInd + extent, inputStr.length);\n }\n\n // ... then set the current line to lineHTML\n var lineHTML = htmlspecialchars(prefix) +\n '<span class=\"' + highlightCssClass + '\">' +\n htmlspecialchars(highlightedChars) +\n '</span>' +\n htmlspecialchars(suffix);\n return lineHTML;\n}\n\n\nExecutionVisualizer.prototype.renderStdout = function() {\n var curEntry = this.curTrace[this.curInstr];\n\n // if there isn't anything in curEntry.stdout, don't even bother\n // displaying the pane (but this may cause jumpiness later)\n if (!this.params.hideOutput && (this.numStdoutLines > 0)) {\n this.domRoot.find('#progOutputs').show();\n\n var pyStdout = this.domRoot.find(\"#pyStdout\");\n\n // keep original horizontal scroll level:\n var oldLeft = pyStdout.scrollLeft();\n pyStdout.val(curEntry.stdout.rtrim() /* trim trailing spaces */);\n pyStdout.scrollLeft(oldLeft);\n pyStdout.scrollTop(pyStdout[0].scrollHeight); // scroll to bottom, though\n }\n else {\n this.domRoot.find('#progOutputs').hide();\n }\n}\n\n\n// update some fields corresponding to the current and previously\n// executed lines in the trace so that they can be highlighted\n// copied and pasted from highlightCodeLine, which is hacky :/\nExecutionVisualizer.prototype.updateCurPrevLines = function() {\n var myViz = this;\n var totalInstrs = myViz.curTrace.length;\n var isLastInstr = myViz.curInstr === (totalInstrs-1);\n\n /* if instrLimitReached, then treat like a normal non-terminating line */\n var isTerminated = (!myViz.instrLimitReached && isLastInstr);\n\n var curLineNumber = null;\n var prevLineNumber = null;\n\n var curEntry = myViz.curTrace[myViz.curInstr];\n var hasError = false;\n\n var curIsReturn = (curEntry.event == 'return');\n var prevIsReturn = false;\n\n if (myViz.curInstr > 0) {\n prevLineNumber = myViz.curTrace[myViz.curInstr - 1].line;\n prevIsReturn = (myViz.curTrace[myViz.curInstr - 1].event == 'return');\n\n /* kinda nutsy hack: if the previous line is a return line, don't\n highlight it. instead, highlight the line in the enclosing\n function that called this one (i.e., the call site). e.g.,:\n\n 1. def foo(lst):\n 2. return len(lst)\n 3.\n 4. y = foo([1,2,3])\n 5. print y\n\n If prevLineNumber is 2 and prevIsReturn, then curLineNumber is\n 5, since that's the line that executes right after line 2\n finishes. However, this looks confusing to the user since what\n actually happened here was that the return value of foo was\n assigned to y on line 4. I want to have prevLineNumber be line\n 4 so that it gets highlighted. There's no ideal solution, but I\n think that looks more sensible, since line 4 was the previous\n line that executed *in this function's frame*.\n */\n if (prevIsReturn) {\n var idx = myViz.curInstr - 1;\n var retStack = myViz.curTrace[idx].stack_to_render;\n assert(retStack.length > 0);\n var retFrameId = retStack[retStack.length - 1].frame_id;\n\n // now go backwards until we find a 'call' to this frame\n while (idx >= 0) {\n var entry = myViz.curTrace[idx];\n if (entry.event == 'call' && entry.stack_to_render) {\n var topFrame = entry.stack_to_render[entry.stack_to_render.length - 1];\n if (topFrame.frame_id == retFrameId) {\n break; // DONE, we found the call that corresponds to this return\n }\n }\n idx--;\n }\n\n // now idx is the index of the 'call' entry. we need to find the\n // entry before that, which is the instruction before the call.\n // THAT's the line of the call site.\n if (idx > 0) {\n var callingEntry = myViz.curTrace[idx - 1];\n prevLineNumber = callingEntry.line; // WOOHOO!!!\n prevIsReturn = false; // this is now a call site, not a return\n }\n }\n }\n\n if (curEntry.event == 'exception' ||\n curEntry.event == 'uncaught_exception') {\n assert(curEntry.exception_msg);\n hasError = true;\n myViz.curLineExceptionMsg = curEntry.exception_msg;\n }\n\n curLineNumber = curEntry.line;\n\n // edge case for the final instruction :0\n if (isTerminated && !hasError) {\n // don't show redundant arrows on the same line when terminated ...\n if (prevLineNumber == curLineNumber) {\n curLineNumber = null;\n }\n }\n\n // add these fields to myViz, which is the point of this function!\n myViz.curLineNumber = curLineNumber;\n myViz.prevLineNumber = prevLineNumber;\n myViz.curLineIsReturn = curIsReturn;\n myViz.prevLineIsReturn = prevIsReturn;\n}\n\n\n// This function is called every time the display needs to be updated\n// smoothTransition is OPTIONAL!\nExecutionVisualizer.prototype.updateOutput = function(smoothTransition) {\n if (this.params.hideCode) {\n this.updateOutputMini();\n }\n else {\n this.updateOutputFull(smoothTransition);\n }\n this.renderStdout();\n this.try_hook(\"end_updateOutput\", {myViz:this});\n}\n\nExecutionVisualizer.prototype.updateOutputFull = function(smoothTransition) {\n assert(this.curTrace);\n assert(!this.params.hideCode);\n\n var myViz = this; // to prevent confusion of 'this' inside of nested functions\n\n // there's no point in re-rendering if this pane isn't even visible in the first place!\n if (!myViz.domRoot.is(':visible')) {\n return;\n }\n\n // reset\n myViz.curLineNumber = undefined;\n myViz.prevLineNumber = undefined;\n myViz.curLineIsReturn = undefined;\n myViz.prevLineIsReturn = undefined;\n myViz.curLineExceptionMsg = undefined;\n\n // really nitpicky!!! gets the difference in width between the code display\n // and the maximum width of its enclosing div\n myViz.codeHorizontalOverflow = myViz.domRoot.find('#pyCodeOutput').width() - myViz.domRoot.find('#pyCodeOutputDiv').width();\n // should always be positive\n if (myViz.codeHorizontalOverflow < 0) {\n myViz.codeHorizontalOverflow = 0;\n }\n\n\n // TODO: don't do this since it screws with other stuff, and we're not\n // activating annotation bubbles right now ...\n // crucial resets for annotations (TODO: kludgy)\n //myViz.destroyAllAnnotationBubbles();\n //myViz.initStepAnnotation();\n\n\n var prevDataVizHeight = myViz.domRoot.find('#dataViz').height();\n\n\n var gutterSVG = myViz.domRoot.find('svg#leftCodeGutterSVG');\n\n // one-time initialization of the left gutter\n // (we often can't do this earlier since the entire pane\n // might be invisible and hence returns a height of zero or NaN\n // -- the exact format depends on browser)\n if (!myViz.leftGutterSvgInitialized && myViz.params.arrowLines) {\n // set the gutter's height to match that of its parent\n gutterSVG.height(gutterSVG.parent().height());\n\n var firstRowOffsetY = myViz.domRoot.find('table#pyCodeOutput tr:first').offset().top;\n\n // first take care of edge case when there's only one line ...\n myViz.codeRowHeight = myViz.domRoot.find('table#pyCodeOutput td.cod:first').height();\n\n // ... then handle the (much more common) multi-line case ...\n // this weird contortion is necessary to get the accurate row height on Internet Explorer\n // (simpler methods work on all other major browsers, erghhhhhh!!!)\n if (this.codeOutputLines && this.codeOutputLines.length > 1) {\n var secondRowOffsetY = myViz.domRoot.find('table#pyCodeOutput tr:nth-child(2)').offset().top;\n myViz.codeRowHeight = secondRowOffsetY - firstRowOffsetY;\n }\n\n assert(myViz.codeRowHeight > 0);\n\n var gutterOffsetY = gutterSVG.offset().top;\n var teenyAdjustment = gutterOffsetY - firstRowOffsetY;\n\n // super-picky detail to adjust the vertical alignment of arrows so that they line up\n // well with the pointed-to code text ...\n // (if you want to manually adjust tableTop, then ~5 is a reasonable number)\n myViz.arrowOffsetY = Math.floor((myViz.codeRowHeight / 2) - (SVG_ARROW_HEIGHT / 2)) - teenyAdjustment;\n\n myViz.leftGutterSvgInitialized = true;\n }\n\n if (myViz.params.arrowLines) {\n assert(myViz.arrowOffsetY !== undefined);\n assert(myViz.codeRowHeight !== undefined);\n assert(0 <= myViz.arrowOffsetY && myViz.arrowOffsetY <= myViz.codeRowHeight);\n }\n\n // call the callback if necessary (BEFORE rendering)\n if (this.params.updateOutputCallback) {\n this.params.updateOutputCallback(this);\n }\n\n\n var curEntry = this.curTrace[this.curInstr];\n var hasError = false;\n // bnm Render a question\n if (curEntry.question) {\n //alert(curEntry.question.text);\n \n $('#'+curEntry.question.div).modal({position:[\"25%\",\"50%\"]});\n }\n\n if (myViz.params.debugMode) {\n console.log('updateOutputFull', curEntry);\n myViz.debugMode = true;\n }\n\n // render VCR controls:\n var totalInstrs = this.curTrace.length;\n\n var isLastInstr = (this.curInstr == (totalInstrs-1));\n\n var vcrControls = myViz.domRoot.find(\"#vcrControls\");\n\n if (isLastInstr) {\n if (this.promptForUserInput || this.promptForMouseInput) {\n vcrControls.find(\"#curInstr\").html('<b><font color=\"' + brightRed + '\">Enter user input below:</font></b>');\n }\n else if (this.instrLimitReached) {\n vcrControls.find(\"#curInstr\").html(\"Instruction limit reached\");\n }\n else {\n vcrControls.find(\"#curInstr\").html(\"Program terminated\");\n }\n }\n else {\n vcrControls.find(\"#curInstr\").html(\"Step \" +\n String(this.curInstr + 1) +\n \" of \" + String(totalInstrs-1));\n }\n\n\n vcrControls.find(\"#jmpFirstInstr\").attr(\"disabled\", false);\n vcrControls.find(\"#jmpStepBack\").attr(\"disabled\", false);\n vcrControls.find(\"#jmpStepFwd\").attr(\"disabled\", false);\n vcrControls.find(\"#jmpLastInstr\").attr(\"disabled\", false);\n\n if (this.curInstr == 0) {\n vcrControls.find(\"#jmpFirstInstr\").attr(\"disabled\", true);\n vcrControls.find(\"#jmpStepBack\").attr(\"disabled\", true);\n }\n if (isLastInstr) {\n vcrControls.find(\"#jmpLastInstr\").attr(\"disabled\", true);\n vcrControls.find(\"#jmpStepFwd\").attr(\"disabled\", true);\n }\n\n\n // PROGRAMMATICALLY change the value, so evt.originalEvent should be undefined\n myViz.domRoot.find('#executionSlider').slider('value', this.curInstr);\n\n\n // render error (if applicable):\n if (curEntry.event == 'exception' ||\n curEntry.event == 'uncaught_exception') {\n assert(curEntry.exception_msg);\n\n if (curEntry.exception_msg == \"Unknown error\") {\n myViz.domRoot.find(\"#errorOutput\").html('Unknown error: Please email a bug report to philip@pgbovine.net');\n }\n else {\n myViz.domRoot.find(\"#errorOutput\").html(htmlspecialchars(curEntry.exception_msg));\n }\n\n myViz.domRoot.find(\"#errorOutput\").show();\n\n hasError = true;\n myViz.curLineExceptionMsg = curEntry.exception_msg;\n }\n else {\n if (!this.instrLimitReached) { // ugly, I know :/\n myViz.domRoot.find(\"#errorOutput\").hide();\n }\n }\n\n\n function highlightCodeLine() {\n /* if instrLimitReached, then treat like a normal non-terminating line */\n var isTerminated = (!myViz.instrLimitReached && isLastInstr);\n\n var pcod = myViz.domRoot.find('#pyCodeOutputDiv');\n\n var curLineNumber = null;\n var prevLineNumber = null;\n\n // only relevant if in myViz.pyCrazyMode\n var prevColumn = undefined;\n var prevExprStartCol = undefined;\n var prevExprWidth = undefined;\n\n var curIsReturn = (curEntry.event == 'return');\n var prevIsReturn = false;\n\n\n if (myViz.curInstr > 0) {\n prevLineNumber = myViz.curTrace[myViz.curInstr - 1].line;\n prevIsReturn = (myViz.curTrace[myViz.curInstr - 1].event == 'return');\n\n /* kinda nutsy hack: if the previous line is a return line, don't\n highlight it. instead, highlight the line in the enclosing\n function that called this one (i.e., the call site). e.g.,:\n\n 1. def foo(lst):\n 2. return len(lst)\n 3.\n 4. y = foo([1,2,3])\n 5. print y\n\n If prevLineNumber is 2 and prevIsReturn, then curLineNumber is\n 5, since that's the line that executes right after line 2\n finishes. However, this looks confusing to the user since what\n actually happened here was that the return value of foo was\n assigned to y on line 4. I want to have prevLineNumber be line\n 4 so that it gets highlighted. There's no ideal solution, but I\n think that looks more sensible, since line 4 was the previous\n line that executed *in this function's frame*.\n */\n if (prevIsReturn) {\n var idx = myViz.curInstr - 1;\n var retStack = myViz.curTrace[idx].stack_to_render;\n assert(retStack.length > 0);\n var retFrameId = retStack[retStack.length - 1].frame_id;\n\n // now go backwards until we find a 'call' to this frame\n while (idx >= 0) {\n var entry = myViz.curTrace[idx];\n if (entry.event == 'call' && entry.stack_to_render) {\n var topFrame = entry.stack_to_render[entry.stack_to_render.length - 1];\n if (topFrame.frame_id == retFrameId) {\n break; // DONE, we found the call that corresponds to this return\n }\n }\n idx--;\n }\n\n // now idx is the index of the 'call' entry. we need to find the\n // entry before that, which is the instruction before the call.\n // THAT's the line of the call site.\n if (idx > 0) {\n var callingEntry = myViz.curTrace[idx - 1];\n prevLineNumber = callingEntry.line; // WOOHOO!!!\n prevIsReturn = false; // this is now a call site, not a return\n smoothTransition = false;\n }\n }\n\n if (myViz.pyCrazyMode) {\n var p = myViz.curTrace[myViz.curInstr - 1];\n prevColumn = p.column;\n // if these don't exist, set reasonable defaults\n prevExprStartCol = (p.expr_start_col !== undefined) ? p.expr_start_col : p.column;\n prevExprWidth = (p.expr_width !== undefined) ? p.expr_width : 1;\n }\n }\n\n curLineNumber = curEntry.line;\n\n if (myViz.pyCrazyMode) {\n var curColumn = curEntry.column;\n\n // if these don't exist, set reasonable defaults\n var curExprStartCol = (curEntry.expr_start_col !== undefined) ? curEntry.expr_start_col : curColumn;\n var curExprWidth = (curEntry.expr_width !== undefined) ? curEntry.expr_width : 1;\n\n var curLineInfo = myViz.codeOutputLines[curLineNumber - 1];\n assert(curLineInfo.lineNumber == curLineNumber);\n var codeAtLine = curLineInfo.text;\n\n // shotgun approach: reset ALL lines to their natural (unbolded) state\n $.each(myViz.codeOutputLines, function(i, e) {\n var d = myViz.generateID('cod' + e.lineNumber);\n myViz.domRoot.find('#' + d).html(htmlspecialchars(e.text));\n });\n\n\n // Three possible cases:\n // 1. previous and current trace entries are on the SAME LINE\n // 2. previous and current trace entries are on different lines\n // 3. there is no previous trace entry\n\n if (prevLineNumber == curLineNumber) {\n var curLineHTML = '';\n\n // tricky tricky!\n // generate a combined line with both previous and current\n // columns highlighted\n\n for (var i = 0; i < codeAtLine.length; i++) {\n var isCur = (curExprStartCol <= i) && (i < curExprStartCol + curExprWidth);\n var isPrev = (prevExprStartCol <= i) && (i < prevExprStartCol + prevExprWidth);\n\n var htmlEscapedChar = htmlspecialchars(codeAtLine[i]);\n\n if (isCur && isPrev) {\n curLineHTML += '<span class=\"pycrazy-highlight-prev-and-cur\">' + htmlEscapedChar + '</span>';\n }\n else if (isPrev) {\n curLineHTML += '<span class=\"pycrazy-highlight-prev\">' + htmlEscapedChar + '</span>';\n }\n else if (isCur) {\n curLineHTML += '<span class=\"pycrazy-highlight-cur\">' + htmlEscapedChar + '</span>';\n }\n else {\n curLineHTML += htmlEscapedChar;\n }\n }\n\n assert(curLineHTML);\n myViz.domRoot.find('#' + myViz.generateID('cod' + curLineNumber)).html(curLineHTML);\n }\n else {\n if (prevLineNumber) {\n var prevLineInfo = myViz.codeOutputLines[prevLineNumber - 1];\n var prevLineHTML = htmlWithHighlight(prevLineInfo.text, prevExprStartCol, prevExprWidth, 'pycrazy-highlight-prev');\n myViz.domRoot.find('#' + myViz.generateID('cod' + prevLineNumber)).html(prevLineHTML);\n }\n var curLineHTML = htmlWithHighlight(codeAtLine, curExprStartCol, curExprWidth, 'pycrazy-highlight-cur');\n myViz.domRoot.find('#' + myViz.generateID('cod' + curLineNumber)).html(curLineHTML);\n }\n }\n\n // on 'return' events, give a bit more of a vertical nudge to show that\n // the arrow is aligned with the 'bottom' of the line ...\n var prevVerticalNudge = prevIsReturn ? Math.floor(myViz.codeRowHeight / 3) : 0;\n var curVerticalNudge = curIsReturn ? Math.floor(myViz.codeRowHeight / 3) : 0;\n\n\n // edge case for the final instruction :0\n if (isTerminated && !hasError) {\n // don't show redundant arrows on the same line when terminated ...\n if (prevLineNumber == curLineNumber) {\n curLineNumber = null;\n }\n // otherwise have a smaller vertical nudge (to fit at bottom of display table)\n else {\n curVerticalNudge = curVerticalNudge - 2;\n }\n }\n\n if (myViz.params.arrowLines) {\n if (prevLineNumber) {\n var pla = myViz.domRootD3.select('#prevLineArrow');\n var translatePrevCmd = 'translate(0, ' + (((prevLineNumber - 1) * myViz.codeRowHeight) + myViz.arrowOffsetY + prevVerticalNudge) + ')';\n \n if (smoothTransition) {\n pla \n .transition()\n .duration(200)\n .attr('fill', 'white')\n .each('end', function() {\n pla\n .attr('transform', translatePrevCmd)\n .attr('fill', lightArrowColor);\n \n gutterSVG.find('#prevLineArrow').show(); // show at the end to avoid flickering\n });\n }\n else {\n pla.attr('transform', translatePrevCmd)\n gutterSVG.find('#prevLineArrow').show();\n }\n \n }\n else {\n gutterSVG.find('#prevLineArrow').hide();\n }\n \n if (curLineNumber) {\n var cla = myViz.domRootD3.select('#curLineArrow');\n var translateCurCmd = 'translate(0, ' + (((curLineNumber - 1) * myViz.codeRowHeight) + myViz.arrowOffsetY + curVerticalNudge) + ')';\n \n if (smoothTransition) {\n cla \n .transition()\n .delay(200)\n .duration(250)\n .attr('transform', translateCurCmd);\n }\n else {\n cla.attr('transform', translateCurCmd);\n }\n \n gutterSVG.find('#curLineArrow').show();\n }\n else {\n gutterSVG.find('#curLineArrow').hide();\n }\n }\n\n myViz.domRootD3.selectAll('#pyCodeOutputDiv td.cod')\n .style('border-top', function(d) {\n if (hasError && (d.lineNumber == curEntry.line)) {\n return '1px solid ' + errorColor;\n }\n else {\n return '';\n }\n })\n .style('border-bottom', function(d) {\n // COPY AND PASTE ALERT!\n if (hasError && (d.lineNumber == curEntry.line)) {\n return '1px solid ' + errorColor;\n }\n else {\n return '';\n }\n });\n\n // returns True iff lineNo is visible in pyCodeOutputDiv\n function isOutputLineVisible(lineNo) {\n var lineNoTd = myViz.domRoot.find('#lineNo' + lineNo);\n var LO = lineNoTd.offset().top;\n\n var PO = pcod.offset().top;\n var ST = pcod.scrollTop();\n var H = pcod.height();\n\n // add a few pixels of fudge factor on the bottom end due to bottom scrollbar\n return (PO <= LO) && (LO < (PO + H - 30));\n }\n\n\n // smoothly scroll pyCodeOutputDiv so that the given line is at the center\n function scrollCodeOutputToLine(lineNo) {\n var lineNoTd = myViz.domRoot.find('#lineNo' + lineNo);\n var LO = lineNoTd.offset().top;\n\n var PO = pcod.offset().top;\n var ST = pcod.scrollTop();\n var H = pcod.height();\n\n pcod.stop(); // first stop all previously-queued animations\n pcod.animate({scrollTop: (ST + (LO - PO - (Math.round(H / 2))))}, 300);\n }\n\n if (myViz.params.highlightLines) {\n myViz.domRoot.find('#pyCodeOutputDiv td.cod').removeClass('highlight-prev');\n myViz.domRoot.find('#pyCodeOutputDiv td.cod').removeClass('highlight-cur');\n if (curLineNumber)\n myViz.domRoot.find('#'+myViz.generateID('cod'+curLineNumber)).addClass('highlight-cur'); \n if (prevLineNumber)\n myViz.domRoot.find('#'+myViz.generateID('cod'+prevLineNumber)).addClass('highlight-prev'); \n }\n\n\n // smoothly scroll code display\n if (!isOutputLineVisible(curEntry.line)) {\n scrollCodeOutputToLine(curEntry.line);\n }\n\n // add these fields to myViz\n myViz.curLineNumber = curLineNumber;\n myViz.prevLineNumber = prevLineNumber;\n myViz.curLineIsReturn = curIsReturn;\n myViz.prevLineIsReturn = prevIsReturn;\n\n } // end of highlightCodeLine\n\n\n // render code output:\n if (curEntry.line) {\n highlightCodeLine();\n }\n\n // inject user-specified HTML/CSS/JS output:\n // YIKES -- HUGE CODE INJECTION VULNERABILITIES :O\n myViz.domRoot.find(\"#htmlOutputDiv\").empty();\n if (curEntry.html_output) {\n if (curEntry.css_output) {\n myViz.domRoot.find(\"#htmlOutputDiv\").append('<style type=\"text/css\">' + curEntry.css_output + '</style>');\n }\n myViz.domRoot.find(\"#htmlOutputDiv\").append(curEntry.html_output);\n\n // inject and run JS *after* injecting HTML and CSS\n if (curEntry.js_output) {\n // NB: when jQuery injects JS, it executes the code immediately\n // and then removes the entire <script> block from the DOM\n // http://stackoverflow.com/questions/610995/jquery-cant-append-script-element\n myViz.domRoot.find(\"#htmlOutputDiv\").append('<script type=\"text/javascript\">' + curEntry.js_output + '</script>');\n }\n }\n\n\n // finally, render all of the data structures\n var curEntry = this.curTrace[this.curInstr];\n var curToplevelLayout = this.curTraceLayouts[this.curInstr];\n this.renderDataStructures(curEntry, curToplevelLayout);\n\n this.enterViewAnnotationsMode(); // ... and render optional annotations (if any exist)\n\n\n // call the callback if necessary (BEFORE rendering)\n if (myViz.domRoot.find('#dataViz').height() != prevDataVizHeight) {\n if (this.params.heightChangeCallback) {\n this.params.heightChangeCallback(this);\n }\n }\n\n // handle raw user input\n var ruiDiv = myViz.domRoot.find('#rawUserInputDiv');\n ruiDiv.hide(); // hide by default\n\n if (isLastInstr && myViz.executeCodeWithRawInputFunc) {\n if (myViz.promptForUserInput) {\n ruiDiv.show();\n }\n }\n\n} // end of updateOutputFull\n\n\nExecutionVisualizer.prototype.updateOutputMini = function() {\n assert(this.params.hideCode);\n var curEntry = this.curTrace[this.curInstr];\n var curToplevelLayout = this.curTraceLayouts[this.curInstr];\n this.renderDataStructures(curEntry, curToplevelLayout);\n\n this.enterViewAnnotationsMode(); // ... and render optional annotations (if any exist)\n}\n\n\nExecutionVisualizer.prototype.renderStep = function(step) {\n assert(0 <= step);\n assert(step < this.curTrace.length);\n\n // ignore redundant calls\n if (this.curInstr == step) {\n return;\n }\n\n this.curInstr = step;\n this.updateOutput();\n}\n\n\n// is this visualizer in C or C++ mode? the eventual goal is to remove\n// this special-case kludge check altogether and have the entire\n// codebase be unified. but for now, keep C/C++ separate because I don't\n// want to risk screwing up the visualizations for the other languages\nExecutionVisualizer.prototype.isCppMode = function() {\n return (this.params.lang === 'c' || this.params.lang === 'cpp');\n}\n\n\n// Pre-compute the layout of top-level heap objects for ALL execution\n// points as soon as a trace is first loaded. The reason why we want to\n// do this is so that when the user steps through execution points, the\n// heap objects don't \"jiggle around\" (i.e., preserving positional\n// invariance). Also, if we set up the layout objects properly, then we\n// can take full advantage of d3 to perform rendering and transitions.\nExecutionVisualizer.prototype.precomputeCurTraceLayouts = function() {\n\n // curTraceLayouts is a list of top-level heap layout \"objects\" with the\n // same length as curTrace after it's been fully initialized. Each\n // element of curTraceLayouts is computed from the contents of its\n // immediate predecessor, thus ensuring that objects don't \"jiggle\n // around\" between consecutive execution points.\n //\n // Each top-level heap layout \"object\" is itself a LIST of LISTS of\n // object IDs, where each element of the outer list represents a row,\n // and each element of the inner list represents columns within a\n // particular row. Each row can have a different number of columns. Most\n // rows have exactly ONE column (representing ONE object ID), but rows\n // containing 1-D linked data structures have multiple columns. Each\n // inner list element looks something like ['row1', 3, 2, 1] where the\n // first element is a unique row ID tag, which is used as a key for d3 to\n // preserve \"object constancy\" for updates, transitions, etc. The row ID\n // is derived from the FIRST object ID inserted into the row. Since all\n // object IDs are unique, all row IDs will also be unique.\n\n /* This is a good, simple example to test whether objects \"jiggle\"\n\n x = [1, [2, [3, None]]]\n y = [4, [5, [6, None]]]\n\n x[1][1] = y[1]\n\n */\n this.curTraceLayouts = [];\n this.curTraceLayouts.push([]); // pre-seed with an empty sentinel to simplify the code\n\n var myViz = this; // to prevent confusion of 'this' inside of nested functions\n\n assert(this.curTrace.length > 0);\n $.each(this.curTrace, function(i, curEntry) {\n var prevLayout = myViz.curTraceLayouts[myViz.curTraceLayouts.length - 1];\n\n // make a DEEP COPY of prevLayout to use as the basis for curLine\n var curLayout = $.extend(true /* deep copy */ , [], prevLayout);\n\n // initialize with all IDs from curLayout\n var idsToRemove = d3.map();\n $.each(curLayout, function(i, row) {\n for (var j = 1 /* ignore row ID tag */; j < row.length; j++) {\n idsToRemove.set(row[j], 1);\n }\n });\n\n var idsAlreadyLaidOut = d3.map(); // to prevent infinite recursion\n\n function curLayoutIndexOf(id) {\n for (var i = 0; i < curLayout.length; i++) {\n var row = curLayout[i];\n var index = row.indexOf(id);\n if (index > 0) { // index of 0 is impossible since it's the row ID tag\n return {row: row, index: index}\n }\n }\n return null;\n }\n\n function isLinearObj(heapObj) {\n var hook_result = myViz.try_hook(\"isLinearObj\", {heapObj:heapObj});\n if (hook_result[0]) return hook_result[1];\n\n return heapObj[0] == 'LIST' || heapObj[0] == 'TUPLE' || heapObj[0] == 'SET';\n }\n\n function recurseIntoObject(id, curRow, newRow) {\n // heuristic for laying out 1-D linked data structures: check for enclosing elements that are\n // structurally identical and then lay them out as siblings in the same \"row\"\n var heapObj = curEntry.heap[id];\n\n if (myViz.isCppMode()) {\n // soften this assumption since C-style pointers might not point\n // to the heap; they can point to any piece of data!\n if (!heapObj) {\n return;\n }\n } else {\n assert(heapObj);\n }\n\n if (isLinearObj(heapObj)) {\n $.each(heapObj, function(ind, child) {\n if (ind < 1) return; // skip type tag\n\n if (!myViz.isPrimitiveType(child)) {\n var childID = getRefID(child);\n\n // comment this out to make \"linked lists\" that aren't\n // structurally equivalent look good, e.g.,:\n // x = (1, 2, (3, 4, 5, 6, (7, 8, 9, None)))\n //if (myViz.structurallyEquivalent(heapObj, curEntry.heap[childID])) {\n // updateCurLayout(childID, curRow, newRow);\n //}\n if (myViz.disableHeapNesting) {\n updateCurLayout(childID, [], []);\n }\n else {\n updateCurLayout(childID, curRow, newRow);\n }\n }\n });\n }\n else if (heapObj[0] == 'DICT') {\n $.each(heapObj, function(ind, child) {\n if (ind < 1) return; // skip type tag\n\n if (myViz.disableHeapNesting) {\n var dictKey = child[0];\n if (!myViz.isPrimitiveType(dictKey)) {\n var keyChildID = getRefID(dictKey);\n updateCurLayout(keyChildID, [], []);\n }\n }\n\n var dictVal = child[1];\n if (!myViz.isPrimitiveType(dictVal)) {\n var childID = getRefID(dictVal);\n if (myViz.structurallyEquivalent(heapObj, curEntry.heap[childID])) {\n updateCurLayout(childID, curRow, newRow);\n }\n else if (myViz.disableHeapNesting) {\n updateCurLayout(childID, [], []);\n }\n }\n });\n }\n else if (heapObj[0] == 'INSTANCE' || heapObj[0] == 'CLASS') {\n jQuery.each(heapObj, function(ind, child) {\n var headerLength = (heapObj[0] == 'INSTANCE') ? 2 : 3;\n if (ind < headerLength) return;\n\n if (myViz.disableHeapNesting) {\n var instKey = child[0];\n if (!myViz.isPrimitiveType(instKey)) {\n var keyChildID = getRefID(instKey);\n updateCurLayout(keyChildID, [], []);\n }\n }\n\n var instVal = child[1];\n if (!myViz.isPrimitiveType(instVal)) {\n var childID = getRefID(instVal);\n if (myViz.structurallyEquivalent(heapObj, curEntry.heap[childID])) {\n updateCurLayout(childID, curRow, newRow);\n }\n else if (myViz.disableHeapNesting) {\n updateCurLayout(childID, [], []);\n }\n }\n });\n }\n else if ((heapObj[0] == 'C_ARRAY') || (heapObj[0] == 'C_STRUCT')) {\n updateCurLayoutAndRecurse(heapObj);\n }\n }\n\n\n // a krazy function!\n // id - the new object ID to be inserted somewhere in curLayout\n // (if it's not already in there)\n // curRow - a row within curLayout where new linked list\n // elements can be appended onto (might be null)\n // newRow - a new row that might be spliced into curRow or appended\n // as a new row in curLayout\n function updateCurLayout(id, curRow, newRow) {\n if (idsAlreadyLaidOut.has(id)) {\n return; // PUNT!\n }\n\n var curLayoutLoc = curLayoutIndexOf(id);\n\n var alreadyLaidOut = idsAlreadyLaidOut.has(id);\n idsAlreadyLaidOut.set(id, 1); // unconditionally set now\n\n // if id is already in curLayout ...\n if (curLayoutLoc) {\n var foundRow = curLayoutLoc.row;\n var foundIndex = curLayoutLoc.index;\n\n idsToRemove.remove(id); // this id is already accounted for!\n\n // very subtle ... if id hasn't already been handled in\n // this iteration, then splice newRow into foundRow. otherwise\n // (later) append newRow onto curLayout as a truly new row\n if (!alreadyLaidOut) {\n // splice the contents of newRow right BEFORE foundIndex.\n // (Think about when you're trying to insert in id=3 into ['row1', 2, 1]\n // to represent a linked list 3->2->1. You want to splice the 3\n // entry right before the 2 to form ['row1', 3, 2, 1])\n if (newRow.length > 1) {\n var args = [foundIndex, 0];\n for (var i = 1; i < newRow.length; i++) { // ignore row ID tag\n args.push(newRow[i]);\n idsToRemove.remove(newRow[i]);\n }\n foundRow.splice.apply(foundRow, args);\n\n // remove ALL elements from newRow since they've all been accounted for\n // (but don't reassign it away to an empty list, since the\n // CALLER checks its value. TODO: how to get rid of this gross hack?!?)\n newRow.splice(0, newRow.length);\n }\n }\n\n // recurse to find more top-level linked entries to append onto foundRow\n recurseIntoObject(id, foundRow, []);\n }\n else {\n // push id into newRow ...\n if (newRow.length == 0) {\n newRow.push('row' + id); // unique row ID (since IDs are unique)\n }\n newRow.push(id);\n\n // recurse to find more top-level linked entries ...\n recurseIntoObject(id, curRow, newRow);\n\n\n // if newRow hasn't been spliced into an existing row yet during\n // a child recursive call ...\n if (newRow.length > 0) {\n if (curRow && curRow.length > 0) {\n // append onto the END of curRow if it exists\n for (var i = 1; i < newRow.length; i++) { // ignore row ID tag\n curRow.push(newRow[i]);\n }\n }\n else {\n // otherwise push to curLayout as a new row\n //\n // TODO: this might not always look the best, since we might\n // sometimes want to splice newRow in the MIDDLE of\n // curLayout. Consider this example:\n //\n // x = [1,2,3]\n // y = [4,5,6]\n // x = [7,8,9]\n //\n // when the third line is executed, the arrows for x and y\n // will be crossed (ugly!) since the new row for the [7,8,9]\n // object is pushed to the end (bottom) of curLayout. The\n // proper behavior is to push it to the beginning of\n // curLayout where the old row for 'x' used to be.\n curLayout.push($.extend(true /* make a deep copy */ , [], newRow));\n }\n\n // regardless, newRow is now accounted for, so clear it\n for (var i = 1; i < newRow.length; i++) { // ignore row ID tag\n idsToRemove.remove(newRow[i]);\n }\n newRow.splice(0, newRow.length); // kill it!\n }\n\n }\n }\n\n\n function updateCurLayoutAndRecurse(elt) {\n if (!elt) return; // early bail out\n\n if (isHeapRef(elt, curEntry.heap)) {\n var id = getRefID(elt);\n updateCurLayout(id, null, []);\n }\n recurseIntoCStructArray(elt);\n }\n\n // traverse inside of C structs and arrays to find whether they\n // (recursively) contain any references to heap objects within\n // themselves. be able to handle arbitrary nesting!\n function recurseIntoCStructArray(val) {\n if (val[0] === 'C_ARRAY') {\n $.each(val, function(ind, elt) {\n if (ind < 2) return;\n updateCurLayoutAndRecurse(elt);\n });\n } else if (val[0] === 'C_STRUCT') {\n $.each(val, function(ind, kvPair) {\n if (ind < 3) return;\n updateCurLayoutAndRecurse(kvPair[1]);\n });\n }\n }\n\n // iterate through all globals and ordered stack frames and call updateCurLayout\n $.each(curEntry.ordered_globals, function(i, varname) {\n var val = curEntry.globals[varname];\n if (val !== undefined) { // might not be defined at this line, which is OKAY!\n // TODO: try to unify this behavior between C/C++ and other languages:\n if (myViz.isCppMode()) {\n updateCurLayoutAndRecurse(val);\n } else {\n if (!myViz.isPrimitiveType(val)) {\n var id = getRefID(val);\n updateCurLayout(id, null, []);\n }\n }\n }\n });\n\n $.each(curEntry.stack_to_render, function(i, frame) {\n $.each(frame.ordered_varnames, function(xxx, varname) {\n var val = frame.encoded_locals[varname];\n // TODO: try to unify this behavior between C/C++ and other languages:\n if (myViz.isCppMode()) {\n updateCurLayoutAndRecurse(val);\n } else {\n if (!myViz.isPrimitiveType(val)) {\n var id = getRefID(val);\n updateCurLayout(id, null, []);\n }\n }\n });\n });\n\n\n // iterate through remaining elements of idsToRemove and REMOVE them from curLayout\n idsToRemove.forEach(function(id, xxx) {\n id = Number(id); // keys are stored as strings, so convert!!!\n $.each(curLayout, function(rownum, row) {\n var ind = row.indexOf(id);\n if (ind > 0) { // remember that index 0 of the row is the row ID tag\n row.splice(ind, 1);\n }\n });\n });\n\n // now remove empty rows (i.e., those with only a row ID tag) from curLayout\n curLayout = curLayout.filter(function(row) {return row.length > 1});\n\n myViz.curTraceLayouts.push(curLayout);\n });\n\n this.curTraceLayouts.splice(0, 1); // remove seeded empty sentinel element\n assert (this.curTrace.length == this.curTraceLayouts.length);\n}\n\n\nvar heapPtrSrcRE = /__heap_pointer_src_/;\n\n\nvar rightwardNudgeHack = true; // suggested by John DeNero, toggle with global\n\n// This is the main event here!!!\n//\n// The \"4.0\" version of renderDataStructures was refactored to be much\n// less monolithic and more modular. It was made possible by first\n// creating a suite of frontend JS regression tests so that I felt more\n// comfortable mucking around with the super-brittle code in this\n// function. This version was created in April 2014. For reference,\n// before refactoring, this function was 1,030 lines of convoluted code!\n//\n// (Also added the rightward nudge hack to make tree-like structures\n// look more sane without any sophisticated graph rendering code. Thanks\n// to John DeNero for this suggestion all the way back in Fall 2012.)\n//\n// The \"3.0\" version of renderDataStructures renders variables in\n// a stack, values in a separate heap, and draws line connectors\n// to represent both stack->heap object references and, more importantly,\n// heap->heap references. This version was created in August 2012.\n//\n// The \"2.0\" version of renderDataStructures renders variables in\n// a stack and values in a separate heap, with data structure aliasing\n// explicitly represented via line connectors (thanks to jsPlumb lib).\n// This version was created in September 2011.\n//\n// The ORIGINAL \"1.0\" version of renderDataStructures\n// was created in January 2010 and rendered variables and values\n// INLINE within each stack frame without any explicit representation\n// of data structure aliasing. That is, aliased objects were rendered\n// multiple times, and a unique ID label was used to identify aliases.\nExecutionVisualizer.prototype.renderDataStructures = function(curEntry, curToplevelLayout) {\n var myViz = this; // to prevent confusion of 'this' inside of nested functions\n\n if (myViz.tabularView) {\n return; // return EARLY!!!\n }\n\n myViz.resetJsPlumbManager(); // very important!!!\n\n // for simplicity (but sacrificing some performance), delete all\n // connectors and redraw them from scratch. doing so avoids mysterious\n // jsPlumb connector alignment issues when the visualizer's enclosing\n // div contains, say, a \"position: relative;\" CSS tag\n // (which happens in the IPython Notebook)\n var existingConnectionEndpointIDs = d3.map();\n myViz.jsPlumbInstance.select({scope: 'varValuePointer'}).each(function(c) {\n // This is VERY crude, but to prevent multiple redundant HEAP->HEAP\n // connectors from being drawn with the same source and origin, we need to first\n // DELETE ALL existing HEAP->HEAP connections, and then re-render all of\n // them in each call to this function. The reason why we can't safely\n // hold onto them is because there's no way to guarantee that the\n // *__heap_pointer_src_<src id> IDs are consistent across execution points.\n //\n // thus, only add to existingConnectionEndpointIDs if this is NOT heap->heap\n if (!c.sourceId.match(heapPtrSrcRE)) {\n existingConnectionEndpointIDs.set(c.sourceId, c.targetId);\n }\n });\n\n var existingParentPointerConnectionEndpointIDs = d3.map();\n myViz.jsPlumbInstance.select({scope: 'frameParentPointer'}).each(function(c) {\n existingParentPointerConnectionEndpointIDs.set(c.sourceId, c.targetId);\n });\n\n\n // Heap object rendering phase:\n\n // count everything in curToplevelLayout as already rendered since we will render them\n // in d3 .each() statements\n $.each(curToplevelLayout, function(xxx, row) {\n for (var i = 0; i < row.length; i++) {\n var objID = row[i];\n var heapObjID = myViz.generateHeapObjID(objID, myViz.curInstr);\n myViz.jsPlumbManager.renderedHeapObjectIDs.set(heapObjID, 1);\n }\n });\n\n\n\n // use d3 to render the heap by mapping curToplevelLayout into <table class=\"heapRow\">\n // and <td class=\"toplevelHeapObject\"> elements\n\n // for simplicity, CLEAR this entire div every time, which totally\n // gets rid of the incremental benefits of using d3 for, say,\n // transitions or efficient updates. but it provides more\n // deterministic and predictable output for other functions. sigh, i'm\n // not really using d3 to the fullest, but oh wells!\n myViz.domRoot.find('#heap')\n .empty()\n .html('<div id=\"heapHeader\">Objects</div>');\n\n\n var heapRows = myViz.domRootD3.select('#heap')\n .selectAll('table.heapRow')\n .attr('id', function(d, i){ return 'heapRow' + i; }) // add unique ID\n .data(curToplevelLayout, function(objLst) {\n return objLst[0]; // return first element, which is the row ID tag\n });\n\n\n // insert new heap rows\n heapRows.enter().append('table')\n //.each(function(objLst, i) {console.log('NEW ROW:', objLst, i);})\n .attr('id', function(d, i){ return 'heapRow' + i; }) // add unique ID\n .attr('class', 'heapRow');\n\n // delete a heap row\n var hrExit = heapRows.exit();\n hrExit\n .each(function(d, idx) {\n //console.log('DEL ROW:', d, idx);\n $(this).empty(); // crucial for garbage collecting jsPlumb connectors!\n })\n .remove();\n\n\n // update an existing heap row\n var toplevelHeapObjects = heapRows\n //.each(function(objLst, i) { console.log('UPDATE ROW:', objLst, i); })\n .selectAll('td.toplevelHeapObject')\n .data(function(d, i) {return d.slice(1, d.length);}, /* map over each row, skipping row ID tag */\n function(objID) {return objID;} /* each object ID is unique for constancy */);\n\n // insert a new toplevelHeapObject\n var tlhEnter = toplevelHeapObjects.enter().append('td')\n .attr('class', 'toplevelHeapObject')\n .attr('id', function(d, i) {return 'toplevel_heap_object_' + d;});\n\n // remember that the enter selection is added to the update\n // selection so that we can process it later ...\n\n // update a toplevelHeapObject\n toplevelHeapObjects\n .order() // VERY IMPORTANT to put in the order corresponding to data elements\n .each(function(objID, i) {\n //console.log('NEW/UPDATE ELT', objID);\n\n // TODO: add a smoother transition in the future\n // Right now, just delete the old element and render a new one in its place\n $(this).empty();\n\n if (myViz.isCppMode()) {\n // TODO: why might this be undefined?!? because the object\n // disappeared from the heap all of a sudden?!?\n if (curEntry.heap[objID] !== undefined) {\n myViz.renderCompoundObject(objID, myViz.curInstr, $(this), true);\n }\n } else {\n myViz.renderCompoundObject(objID, myViz.curInstr, $(this), true);\n }\n });\n\n // delete a toplevelHeapObject\n var tlhExit = toplevelHeapObjects.exit();\n tlhExit\n .each(function(d, idx) {\n $(this).empty(); // crucial for garbage collecting jsPlumb connectors!\n })\n .remove();\n\n\n // Render globals and then stack frames using d3:\n\n\n // TODO: this sometimes seems buggy on Safari, so nix it for now:\n function highlightAliasedConnectors(d, i) {\n // if this row contains a stack pointer, then highlight its arrow and\n // ALL aliases that also point to the same heap object\n var stackPtrId = $(this).find('div.stack_pointer').attr('id');\n if (stackPtrId) {\n var foundTargetId = null;\n myViz.jsPlumbInstance.select({source: stackPtrId}).each(function(c) {foundTargetId = c.targetId;});\n\n // use foundTargetId to highlight ALL ALIASES\n myViz.jsPlumbInstance.select().each(function(c) {\n if (c.targetId == foundTargetId) {\n c.setHover(true);\n $(c.canvas).css(\"z-index\", 2000); // ... and move it to the VERY FRONT\n }\n else {\n c.setHover(false);\n }\n });\n }\n }\n\n function unhighlightAllConnectors(d, i) {\n myViz.jsPlumbInstance.select().each(function(c) {\n c.setHover(false);\n });\n }\n\n\n\n // TODO: coalesce code for rendering globals and stack frames,\n // since there's so much copy-and-paste grossness right now\n\n // render all global variables IN THE ORDER they were created by the program,\n // in order to ensure continuity:\n\n // Derive a list where each element contains varname\n // as long as value is NOT undefined.\n // (Sometimes entries in curEntry.ordered_globals are undefined,\n // so filter those out.)\n var realGlobalsLst = [];\n $.each(curEntry.ordered_globals, function(i, varname) {\n var val = curEntry.globals[varname];\n\n // (use '!==' to do an EXACT match against undefined)\n if (val !== undefined) { // might not be defined at this line, which is OKAY!\n realGlobalsLst.push(varname);\n }\n });\n\n var globalsID = myViz.generateID('globals');\n var globalTblID = myViz.generateID('global_table');\n\n var globalVarTable = myViz.domRootD3.select('#' + globalTblID)\n .selectAll('tr')\n .data(realGlobalsLst,\n function(d) {return d;} // use variable name as key\n );\n\n globalVarTable\n .enter()\n .append('tr')\n .attr('class', 'variableTr')\n .attr('id', function(d, i) {\n return myViz.generateID(varnameToCssID('global__' + d + '_tr')); // make globally unique (within the page)\n });\n\n\n var globalVarTableCells = globalVarTable\n .selectAll('td.stackFrameVar,td.stackFrameValue')\n .data(function(d, i){return [d, d];}) /* map varname down both columns */\n\n globalVarTableCells.enter()\n .append('td')\n .attr('class', function(d, i) {return (i == 0) ? 'stackFrameVar' : 'stackFrameValue';});\n\n // remember that the enter selection is added to the update\n // selection so that we can process it later ...\n\n // UPDATE\n globalVarTableCells\n .order() // VERY IMPORTANT to put in the order corresponding to data elements\n .each(function(varname, i) {\n if (i == 0) {\n $(this).html(varname);\n }\n else {\n // always delete and re-render the global var ...\n // NB: trying to cache and compare the old value using,\n // say -- $(this).attr('data-curvalue', valStringRepr) -- leads to\n // a mysterious and killer memory leak that I can't figure out yet\n $(this).empty();\n\n // make sure varname doesn't contain any weird\n // characters that are illegal for CSS ID's ...\n var varDivID = myViz.generateID('global__' + varnameToCssID(varname));\n\n // need to get rid of the old connector in preparation for rendering a new one:\n existingConnectionEndpointIDs.remove(varDivID);\n\n var val = curEntry.globals[varname];\n if (myViz.isPrimitiveType(val)) {\n myViz.renderPrimitiveObject(val, $(this));\n }\n else if (val[0] === 'C_STRUCT' || val[0] === 'C_ARRAY') {\n // C structs and arrays can be inlined in frames\n myViz.renderCStructArray(val, myViz.curInstr, $(this));\n }\n else {\n var heapObjID = myViz.generateHeapObjID(getRefID(val), myViz.curInstr);\n\n if (myViz.textualMemoryLabels) {\n var labelID = varDivID + '_text_label';\n $(this).append('<div class=\"objectIdLabel\" id=\"' + labelID + '\">id' + getRefID(val) + '</div>');\n $(this).find('div#' + labelID).hover(\n function() {\n myViz.jsPlumbInstance.connect({source: labelID, target: heapObjID,\n scope: 'varValuePointer'});\n },\n function() {\n myViz.jsPlumbInstance.select({source: labelID}).detach();\n });\n }\n else {\n // add a stub so that we can connect it with a connector later.\n // IE needs this div to be NON-EMPTY in order to properly\n // render jsPlumb endpoints, so that's why we add an \" \"!\n $(this).append('<div class=\"stack_pointer\" id=\"' + varDivID + '\"> </div>');\n\n assert(!myViz.jsPlumbManager.connectionEndpointIDs.has(varDivID));\n myViz.jsPlumbManager.connectionEndpointIDs.set(varDivID, heapObjID);\n //console.log('STACK->HEAP', varDivID, heapObjID);\n }\n }\n }\n });\n\n\n\n globalVarTableCells.exit()\n .each(function(d, idx) {\n $(this).empty(); // crucial for garbage collecting jsPlumb connectors!\n })\n .remove();\n\n globalVarTable.exit()\n .each(function(d, i) {\n // detach all stack_pointer connectors for divs that are being removed\n $(this).find('.stack_pointer').each(function(i, sp) {\n existingConnectionEndpointIDs.remove($(sp).attr('id'));\n });\n\n $(this).empty(); // crucial for garbage collecting jsPlumb connectors!\n })\n .remove();\n\n\n // for aesthetics, hide globals if there aren't any globals to display\n if (curEntry.ordered_globals.length == 0) {\n this.domRoot.find('#' + globalsID).hide();\n }\n else {\n this.domRoot.find('#' + globalsID).show();\n }\n\n\n // holy cow, the d3 code for stack rendering is ABSOLUTELY NUTS!\n\n var stackDiv = myViz.domRootD3.select('#stack');\n\n // VERY IMPORTANT for selectAll selector to be SUPER specific here!\n var stackFrameDiv = stackDiv.selectAll('div.stackFrame,div.zombieStackFrame')\n .data(curEntry.stack_to_render, function(frame) {\n // VERY VERY VERY IMPORTANT for properly handling closures and nested functions\n // (see the backend code for more details)\n return frame.unique_hash;\n });\n\n var sfdEnter = stackFrameDiv.enter()\n .append('div')\n .attr('class', function(d, i) {return d.is_zombie ? 'zombieStackFrame' : 'stackFrame';})\n .attr('id', function(d, i) {return d.is_zombie ? myViz.generateID(\"zombie_stack\" + i)\n : myViz.generateID(\"stack\" + i);\n })\n // HTML5 custom data attributes\n .attr('data-frame_id', function(frame, i) {return frame.frame_id;})\n .attr('data-parent_frame_id', function(frame, i) {\n return (frame.parent_frame_id_list.length > 0) ? frame.parent_frame_id_list[0] : null;\n })\n .each(function(frame, i) {\n if (!myViz.drawParentPointers) {\n return;\n }\n // only run if myViz.drawParentPointers is true ...\n\n var my_CSS_id = $(this).attr('id');\n\n //console.log(my_CSS_id, 'ENTER');\n\n // render a parent pointer whose SOURCE node is this frame\n // i.e., connect this frame to p, where this.parent_frame_id == p.frame_id\n // (if this.parent_frame_id is null, then p is the global frame)\n if (frame.parent_frame_id_list.length > 0) {\n var parent_frame_id = frame.parent_frame_id_list[0];\n // tricky turkey!\n // ok this hack just HAPPENS to work by luck ... usually there will only be ONE frame\n // that matches this selector, but sometimes multiple frames match, in which case the\n // FINAL frame wins out (since parentPointerConnectionEndpointIDs is a map where each\n // key can be mapped to only ONE value). it so happens that the final frame winning\n // out looks \"desirable\" for some of the closure test cases that I've tried. but\n // this code is quite brittle :(\n myViz.domRoot.find('div#stack [data-frame_id=' + parent_frame_id + ']').each(function(i, e) {\n var parent_CSS_id = $(this).attr('id');\n //console.log('connect', my_CSS_id, parent_CSS_id);\n myViz.jsPlumbManager.parentPointerConnectionEndpointIDs.set(my_CSS_id, parent_CSS_id);\n });\n }\n else {\n // render a parent pointer to the global frame\n //console.log('connect', my_CSS_id, globalsID);\n // only do this if there are actually some global variables to display ...\n if (curEntry.ordered_globals.length > 0) {\n myViz.jsPlumbManager.parentPointerConnectionEndpointIDs.set(my_CSS_id, globalsID);\n }\n }\n\n // tricky turkey: render parent pointers whose TARGET node is this frame.\n // i.e., for all frames f such that f.parent_frame_id == my_frame_id,\n // connect f to this frame.\n // (make sure not to confuse frame IDs with CSS IDs!!!)\n var my_frame_id = frame.frame_id;\n myViz.domRoot.find('div#stack [data-parent_frame_id=' + my_frame_id + ']').each(function(i, e) {\n var child_CSS_id = $(this).attr('id');\n //console.log('connect', child_CSS_id, my_CSS_id);\n myViz.jsPlumbManager.parentPointerConnectionEndpointIDs.set(child_CSS_id, my_CSS_id);\n });\n });\n\n sfdEnter\n .append('div')\n .attr('class', 'stackFrameHeader')\n .html(function(frame, i) {\n\n // pretty-print lambdas and display other weird characters\n // (might contain '<' or '>' for weird names like <genexpr>)\n var funcName = htmlspecialchars(frame.func_name).replace('<lambda>', '\\u03bb')\n .replace('\\n', '<br/>');\n\n var headerLabel = funcName;\n\n // only display if you're someone's parent (unless showAllFrameLabels)\n if (frame.is_parent || myViz.showAllFrameLabels) {\n headerLabel = 'f' + frame.frame_id + ': ' + headerLabel;\n }\n\n // optional (btw, this isn't a CSS id)\n if (frame.parent_frame_id_list.length > 0) {\n var parentFrameID = frame.parent_frame_id_list[0];\n headerLabel = headerLabel + ' [parent=f' + parentFrameID + ']';\n }\n else if (myViz.showAllFrameLabels) {\n headerLabel = headerLabel + ' [parent=Global]';\n }\n\n return headerLabel;\n });\n\n sfdEnter\n .append('table')\n .attr('class', 'stackFrameVarTable');\n\n\n var stackVarTable = stackFrameDiv\n .order() // VERY IMPORTANT to put in the order corresponding to data elements\n .select('table').selectAll('tr')\n .data(function(frame) {\n // each list element contains a reference to the entire frame\n // object as well as the variable name\n // TODO: look into whether we can use d3 parent nodes to avoid\n // this hack ... http://bost.ocks.org/mike/nest/\n return frame.ordered_varnames.map(function(varname) {return {varname:varname, frame:frame};});\n },\n function(d) {\n // TODO: why would d ever be null?!? weird\n if (d) {\n return d.varname; // use variable name as key\n }\n }\n );\n\n stackVarTable\n .enter()\n .append('tr')\n .attr('class', 'variableTr')\n .attr('id', function(d, i) {\n return myViz.generateID(varnameToCssID(d.frame.unique_hash + '__' + d.varname + '_tr')); // make globally unique (within the page)\n });\n\n\n var stackVarTableCells = stackVarTable\n .selectAll('td.stackFrameVar,td.stackFrameValue')\n .data(function(d, i) {return [d, d] /* map identical data down both columns */;});\n\n stackVarTableCells.enter()\n .append('td')\n .attr('class', function(d, i) {return (i == 0) ? 'stackFrameVar' : 'stackFrameValue';});\n\n stackVarTableCells\n .order() // VERY IMPORTANT to put in the order corresponding to data elements\n .each(function(d, i) {\n var varname = d.varname;\n var frame = d.frame;\n\n if (i == 0) {\n if (varname == '__return__')\n $(this).html('<span class=\"retval\">Return<br/>value</span>');\n else\n $(this).html(varname);\n }\n else {\n // always delete and re-render the stack var ...\n // NB: trying to cache and compare the old value using,\n // say -- $(this).attr('data-curvalue', valStringRepr) -- leads to\n // a mysterious and killer memory leak that I can't figure out yet\n $(this).empty();\n\n // make sure varname and frame.unique_hash don't contain any weird\n // characters that are illegal for CSS ID's ...\n var varDivID = myViz.generateID(varnameToCssID(frame.unique_hash + '__' + varname));\n\n // need to get rid of the old connector in preparation for rendering a new one:\n existingConnectionEndpointIDs.remove(varDivID);\n\n var val = frame.encoded_locals[varname];\n if (myViz.isPrimitiveType(val)) {\n myViz.renderPrimitiveObject(val, $(this));\n }\n else if (val[0] === 'C_STRUCT' || val[0] === 'C_ARRAY') {\n // C structs and arrays can be inlined in frames\n myViz.renderCStructArray(val, myViz.curInstr, $(this));\n }\n else {\n var heapObjID = myViz.generateHeapObjID(getRefID(val), myViz.curInstr);\n if (myViz.textualMemoryLabels) {\n var labelID = varDivID + '_text_label';\n $(this).append('<div class=\"objectIdLabel\" id=\"' + labelID + '\">id' + getRefID(val) + '</div>');\n $(this).find('div#' + labelID).hover(\n function() {\n myViz.jsPlumbInstance.connect({source: labelID, target: heapObjID,\n scope: 'varValuePointer'});\n },\n function() {\n myViz.jsPlumbInstance.select({source: labelID}).detach();\n });\n }\n else {\n // add a stub so that we can connect it with a connector later.\n // IE needs this div to be NON-EMPTY in order to properly\n // render jsPlumb endpoints, so that's why we add an \" \"!\n $(this).append('<div class=\"stack_pointer\" id=\"' + varDivID + '\"> </div>');\n\n assert(!myViz.jsPlumbManager.connectionEndpointIDs.has(varDivID));\n myViz.jsPlumbManager.connectionEndpointIDs.set(varDivID, heapObjID);\n //console.log('STACK->HEAP', varDivID, heapObjID);\n }\n }\n }\n });\n\n\n stackVarTableCells.exit()\n .each(function(d, idx) {\n $(this).empty(); // crucial for garbage collecting jsPlumb connectors!\n })\n .remove();\n\n stackVarTable.exit()\n .each(function(d, i) {\n $(this).find('.stack_pointer').each(function(i, sp) {\n // detach all stack_pointer connectors for divs that are being removed\n existingConnectionEndpointIDs.remove($(sp).attr('id'));\n });\n\n $(this).empty(); // crucial for garbage collecting jsPlumb connectors!\n })\n .remove();\n\n stackFrameDiv.exit()\n .each(function(frame, i) {\n $(this).find('.stack_pointer').each(function(i, sp) {\n // detach all stack_pointer connectors for divs that are being removed\n existingConnectionEndpointIDs.remove($(sp).attr('id'));\n });\n\n var my_CSS_id = $(this).attr('id');\n\n //console.log(my_CSS_id, 'EXIT');\n\n // Remove all pointers where either the source or destination end is my_CSS_id\n existingParentPointerConnectionEndpointIDs.forEach(function(k, v) {\n if (k == my_CSS_id || v == my_CSS_id) {\n //console.log('remove EPP', k, v);\n existingParentPointerConnectionEndpointIDs.remove(k);\n }\n });\n\n $(this).empty(); // crucial for garbage collecting jsPlumb connectors!\n })\n .remove();\n\n\n // Rightward nudge hack to make tree-like structures look more sane\n // without any sophisticated graph rendering code. Thanks to John\n // DeNero for this suggestion in Fall 2012.\n //\n // This hack tries to ensure that all pointers that span different\n // rows point RIGHTWARD (as much as possible), which makes tree-like\n // structures look decent. e.g.,:\n //\n // t = [[['a', 'b'], ['c', 'd']], [[1,2], [3,4]]]\n //\n // Do it here since all of the divs have been rendered by now, but no\n // jsPlumb arrows have been rendered yet.\n if (rightwardNudgeHack) {\n // Basic idea: keep a set of all nudged ROWS for each nudger row, so\n // that when you get nudged, you can, in turn, nudge all of the rows\n // that you've nudged. this algorithm nicely takes care of the fact\n // that there might not be cycles in objects that you've nudged, but\n // there are cycles in entire rows.\n //\n // Key: ID of .heapRow object that did the nudging\n // Value: set of .heapRow ID that were (transitively) nudged by this element\n // (represented as a d3.map)\n var nudger_to_nudged_rows = {};\n\n // VERY IMPORTANT to sort these connector IDs in ascending order,\n // since I think they're rendered left-to-right, top-to-bottom in ID\n // order, so we want to run the nudging algorithm in that same order.\n var srcHeapConnectorIDs = myViz.jsPlumbManager.heapConnectionEndpointIDs.keys();\n srcHeapConnectorIDs.sort();\n\n $.each(srcHeapConnectorIDs, function(i, srcID) {\n var dstID = myViz.jsPlumbManager.heapConnectionEndpointIDs.get(srcID);\n\n var srcAnchorObject = myViz.domRoot.find('#' + srcID);\n var srcHeapObject = srcAnchorObject.closest('.heapObject');\n var dstHeapObject = myViz.domRoot.find('#' + dstID);\n assert(dstHeapObject.attr('class') == 'heapObject');\n\n var srcHeapRow = srcHeapObject.closest('.heapRow');\n var dstHeapRow = dstHeapObject.closest('.heapRow');\n\n var srcRowID = srcHeapRow.attr('id');\n var dstRowID = dstHeapRow.attr('id');\n\n // only consider nudging if srcID and dstID are on different rows\n if (srcRowID != dstRowID) {\n var srcAnchorLeft = srcAnchorObject.offset().left;\n var srcHeapObjectLeft = srcHeapObject.offset().left;\n var dstHeapObjectLeft = dstHeapObject.offset().left;\n\n // if srcAnchorObject is to the RIGHT of dstHeapObject, then nudge\n // dstHeapObject to the right\n if (srcAnchorLeft > dstHeapObjectLeft) {\n // an extra nudge of 32px matches up pretty well with the\n // current CSS padding around .toplevelHeapObject\n var delta = (srcAnchorLeft - dstHeapObjectLeft) + 32;\n\n // set margin rather than padding so that arrows tips still end\n // at the left edge of the element.\n // whoa, set relative CSS using +=, nice!\n dstHeapObject.css('margin-left', '+=' + delta);\n\n //console.log(srcRowID, 'nudged', dstRowID, 'by', delta);\n\n var cur_nudgee_set = nudger_to_nudged_rows[srcRowID];\n if (cur_nudgee_set === undefined) {\n cur_nudgee_set = d3.map();\n nudger_to_nudged_rows[srcRowID] = cur_nudgee_set;\n }\n cur_nudgee_set.set(dstRowID, 1 /* useless value */);\n\n // now if dstRowID itself nudged some other nodes, then nudge\n // all of its nudgees by delta as well\n var dst_nudgee_set = nudger_to_nudged_rows[dstRowID];\n if (dst_nudgee_set) {\n dst_nudgee_set.forEach(function(k, v) {\n // don't nudge if it's yourself, to make cycles look\n // somewhat reasonable (although still not ideal). e.g.,:\n // x = [1,2]\n // y = [3,x]\n // x[1] = y\n if (k != srcRowID) {\n // nudge this entire ROW by delta as well\n myViz.domRoot.find('#' + k).css('margin-left', '+=' + delta);\n\n // then transitively add to entry for srcRowID\n cur_nudgee_set.set(k, 1 /* useless value */);\n }\n });\n }\n }\n }\n });\n }\n\n\n // NB: ugh, I'm not very happy about this hack, but it seems necessary\n // for embedding within sophisticated webpages such as IPython Notebook\n\n // delete all connectors. do this AS LATE AS POSSIBLE so that\n // (presumably) the calls to $(this).empty() earlier in this function\n // will properly garbage collect the connectors\n //\n // WARNING: for environment parent pointers, garbage collection doesn't seem to\n // be working as intended :(\n //\n // I suspect that this is due to the fact that parent pointers are SIBLINGS\n // of stackFrame divs and not children, so when stackFrame divs get destroyed,\n // their associated parent pointers do NOT.)\n myViz.jsPlumbInstance.reset();\n\n\n // use jsPlumb scopes to keep the different kinds of pointers separated\n function renderVarValueConnector(varID, valueID) {\n // special-case handling for C/C++ pointers, just to keep from rocking\n // the boat on my existing (battle-tested) code\n if (myViz.isCppMode()) {\n if (myViz.domRoot.find('#' + valueID).length) {\n myViz.jsPlumbInstance.connect({source: varID, target: valueID, scope: 'varValuePointer'});\n } else {\n // pointer isn't pointing to anything valid; put a poo emoji here\n myViz.domRoot.find('#' + varID).html('\\uD83D\\uDCA9' /* pile of poo emoji */);\n }\n } else {\n myViz.jsPlumbInstance.connect({source: varID, target: valueID, scope: 'varValuePointer'});\n }\n }\n\n\n var totalParentPointersRendered = 0;\n\n function renderParentPointerConnector(srcID, dstID) {\n // SUPER-DUPER-ugly hack since I can't figure out a cleaner solution for now:\n // if either srcID or dstID no longer exists, then SKIP rendering ...\n if ((myViz.domRoot.find('#' + srcID).length == 0) ||\n (myViz.domRoot.find('#' + dstID).length == 0)) {\n return;\n }\n\n //console.log('renderParentPointerConnector:', srcID, dstID);\n\n myViz.jsPlumbInstance.connect({source: srcID, target: dstID,\n anchors: [\"LeftMiddle\", \"LeftMiddle\"],\n\n // 'horizontally offset' the parent pointers up so that they don't look as ugly ...\n //connector: [\"Flowchart\", { stub: 9 + (6 * (totalParentPointersRendered + 1)) }],\n\n // actually let's try a bezier curve ...\n connector: [ \"Bezier\", { curviness: 45 }],\n\n endpoint: [\"Dot\", {radius: 4}],\n //hoverPaintStyle: {lineWidth: 1, strokeStyle: connectorInactiveColor}, // no hover colors\n scope: 'frameParentPointer'});\n totalParentPointersRendered++;\n }\n\n if (!myViz.textualMemoryLabels) {\n // re-render existing connectors and then ...\n //\n // NB: in C/C++ mode, to keep things simple, don't try to redraw\n // existingConnectionEndpointIDs since we want to redraw all arrows\n // each and every time.\n if (!myViz.isCppMode()) {\n existingConnectionEndpointIDs.forEach(renderVarValueConnector);\n }\n // add all the NEW connectors that have arisen in this call to renderDataStructures\n myViz.jsPlumbManager.connectionEndpointIDs.forEach(renderVarValueConnector);\n }\n // do the same for environment parent pointers\n if (myViz.drawParentPointers) {\n existingParentPointerConnectionEndpointIDs.forEach(renderParentPointerConnector);\n myViz.jsPlumbManager.parentPointerConnectionEndpointIDs.forEach(renderParentPointerConnector);\n }\n\n /*\n myViz.jsPlumbInstance.select().each(function(c) {\n console.log('CONN:', c.sourceId, c.targetId);\n });\n */\n //console.log('---', myViz.jsPlumbInstance.select().length, '---');\n\n\n function highlight_frame(frameID) {\n myViz.jsPlumbInstance.select().each(function(c) {\n // find the enclosing .stackFrame ...\n var stackFrameDiv = c.source.closest('.stackFrame');\n\n // if this connector starts in the selected stack frame ...\n if (stackFrameDiv.attr('id') == frameID) {\n // then HIGHLIGHT IT!\n c.setPaintStyle({lineWidth:1, strokeStyle: connectorBaseColor});\n c.endpoints[0].setPaintStyle({fillStyle: connectorBaseColor});\n //c.endpoints[1].setVisible(false, true, true); // JUST set right endpoint to be invisible\n\n $(c.canvas).css(\"z-index\", 1000); // ... and move it to the VERY FRONT\n }\n // for heap->heap connectors\n else if (myViz.jsPlumbManager.heapConnectionEndpointIDs.has(c.endpoints[0].elementId)) {\n // NOP since it's already the color and style we set by default\n }\n // TODO: maybe this needs special consideration for C/C++ code? dunno\n else if (stackFrameDiv.length > 0) {\n // else unhighlight it\n // (only if c.source actually belongs to a stackFrameDiv (i.e.,\n // it originated from the stack). for instance, in C there are\n // heap pointers, but we doen't use heapConnectionEndpointIDs)\n c.setPaintStyle({lineWidth:1, strokeStyle: connectorInactiveColor});\n c.endpoints[0].setPaintStyle({fillStyle: connectorInactiveColor});\n //c.endpoints[1].setVisible(false, true, true); // JUST set right endpoint to be invisible\n\n $(c.canvas).css(\"z-index\", 0);\n }\n });\n\n\n // clear everything, then just activate this one ...\n myViz.domRoot.find(\".stackFrame\").removeClass(\"highlightedStackFrame\");\n myViz.domRoot.find('#' + frameID).addClass(\"highlightedStackFrame\");\n }\n\n\n // highlight the top-most non-zombie stack frame or, if not available, globals\n var frame_already_highlighted = false;\n $.each(curEntry.stack_to_render, function(i, e) {\n if (e.is_highlighted) {\n highlight_frame(myViz.generateID('stack' + i));\n frame_already_highlighted = true;\n }\n });\n\n if (!frame_already_highlighted) {\n highlight_frame(myViz.generateID('globals'));\n }\n\n myViz.try_hook(\"end_renderDataStructures\", {myViz:myViz});\n}\n\n\n// render a tabular visualization where each row is an execution step,\n// and each column is a variable\nExecutionVisualizer.prototype.renderTabularView = function() {\n var myViz = this; // to prevent confusion of 'this' inside of nested functions\n\n myViz.resetJsPlumbManager(); // very important!!!\n\n var allGlobalVars = [];\n // Key: function name\n // Value: list of ordered variables for function\n var funcNameToOrderedVars = {};\n var orderedFuncNames = []; // function names in order of appearance\n\n // iterate through the entire trace and find all global variables, and\n // all local variables in all functions, in order of appearance in the trace\n $.each(myViz.curTrace, function(i, elt) {\n $.each(elt.ordered_globals, function(i, g) {\n // don't add duplicates into this list,\n // but need to use a list to maintain ORDERING\n if ($.inArray(g, allGlobalVars) === -1) {\n allGlobalVars.push(g);\n }\n });\n\n $.each(elt.stack_to_render, function(i, sf) {\n var funcVarsList = funcNameToOrderedVars[sf.func_name];\n if (funcVarsList === undefined) {\n funcVarsList = [];\n funcNameToOrderedVars[sf.func_name] = funcVarsList;\n orderedFuncNames.push(sf.func_name);\n }\n $.each(sf.ordered_varnames, function(i, v) {\n // don't add duplicates into this list,\n // but need to use a list to maintain ORDERING\n // (ignore the special __return__ value)\n if ($.inArray(v, funcVarsList) === -1 && v !== '__return__') {\n funcVarsList.push(v);\n }\n });\n });\n });\n\n /*\n console.log(\"allGlobalVars:\", allGlobalVars);\n console.log(\"orderedFuncNames:\", orderedFuncNames);\n $.each(funcNameToOrderedVars, function(k, v) {\n console.log(\"funcNameToOrderedVars[\", k, \"] =\", v);\n });\n */\n\n var allVarNames = ['Step'];\n\n $.each(allGlobalVars, function(i, e) {\n allVarNames.push(e);\n });\n $.each(orderedFuncNames, function(i, funcName) {\n $.each(funcNameToOrderedVars[funcName], function(i, v) {\n allVarNames.push(funcName + ':' + v);\n });\n });\n\n // get the values of all objects in trace entry e\n function getAllOrderedValues(curEntry) {\n // HACK! start with a blank sentinel since the first column of the\n // table is the step number\n var allVarValues = [''];\n\n $.each(allGlobalVars, function(i, e) {\n allVarValues.push(curEntry.globals[e]);\n });\n\n // for local variables, grab only the values in the highlighted\n // frame (if any)\n var highlightedFrame = null;\n $.each(curEntry.stack_to_render, function(i, sf) {\n if (sf.is_highlighted) {\n highlightedFrame = sf;\n }\n });\n\n $.each(orderedFuncNames, function(i, funcName) {\n $.each(funcNameToOrderedVars[funcName], function(i, v) {\n var found = false;\n if (highlightedFrame && funcName == highlightedFrame.func_name) {\n var obj = highlightedFrame.encoded_locals[v];\n if (obj) {\n allVarValues.push(obj);\n found = true;\n }\n }\n\n // push an empty value if not found since we want everything to\n // align with allVarNames\n if (!found) {\n allVarValues.push(undefined);\n }\n });\n });\n\n // TODO: also walk up parent pointers to also display variable\n // values in enclosing frames\n\n return allVarValues;\n }\n\n\n var tblRoot = myViz.domRootD3.select(\"#optTabularView\");\n var tbl = tblRoot.append(\"table\");\n tbl.attr('id', 'optTable');\n\n var tHead = tbl.append('thead').attr('class', 'stepTableThead').append('tr');\n tHead.attr('class', 'stepTableTr');\n tHead.selectAll('thead td')\n .data(allVarNames)\n .enter()\n .append('td')\n .attr('class', 'stepTableTd')\n .html(function(d) { return d; })\n\n var tBody = tbl.append('tbody');\n tBody.attr('class', 'stepTableTbody');\n\n var stepsAndTraceEntries = [];\n $.each(myViz.curTrace, function(i, e) {\n stepsAndTraceEntries.push([i, e]);\n });\n\n var tr = tBody.selectAll('tbody tr')\n .data(stepsAndTraceEntries)\n .enter()\n .append(\"tr\")\n .attr(\"step\", function(d, i) { return i; })\n .attr(\"class\", 'stepTableTr');\n\n var td = tr.selectAll(\"td\")\n .data(function(e) { return getAllOrderedValues(e[1]); })\n .enter()\n .append(\"td\")\n .attr('class', 'stepTableTd')\n .each(function(obj, i) {\n $(this).empty();\n\n // TODO: fixme -- this is super kludgy; must be a better way\n var step = parseInt($(this).closest('tr').attr('step'));\n\n if (i == 0) {\n $(this).html(step + 1); // one-indexed for readability\n }\n else {\n if (obj === undefined) {\n // keep this table cell EMPTY\n }\n else {\n myViz.renderNestedObject(obj, step, $(this), 'tabular');\n }\n }\n });\n\n\n myViz.jsPlumbInstance.reset();\n\n function renderTableVarValueConnector(varID, valueID) {\n myViz.jsPlumbInstance.connect({source: varID, target: valueID,\n scope: 'varValuePointer',\n // make it look more aesthetically pleasing:\n anchors: ['TopCenter', 'LeftMiddle']});\n }\n\n myViz.jsPlumbManager.connectionEndpointIDs.forEach(renderTableVarValueConnector);\n}\n\n\n// rendering functions, which all take a d3 dom element to anchor the\n// new element to render\nExecutionVisualizer.prototype.renderPrimitiveObject = function(obj, d3DomElement) {\n var myViz = this; // to prevent confusion of 'this' inside of nested functions\n\n if (this.try_hook(\"renderPrimitiveObject\", {obj:obj, d3DomElement:d3DomElement})[0])\n return;\n\n var typ = typeof obj;\n\n if (obj == null) {\n d3DomElement.append('<span class=\"nullObj\">' + this.getRealLabel('None') + '</span>');\n }\n else if (typ == \"number\") {\n d3DomElement.append('<span class=\"numberObj\">' + obj + '</span>');\n }\n else if (typ == \"boolean\") {\n if (obj) {\n d3DomElement.append('<span class=\"boolObj\">' + this.getRealLabel('True') + '</span>');\n }\n else {\n d3DomElement.append('<span class=\"boolObj\">' + this.getRealLabel('False') + '</span>');\n }\n }\n else if (typ == \"string\") {\n // escape using htmlspecialchars to prevent HTML/script injection\n var literalStr = htmlspecialchars(obj);\n\n // print as a double-quoted string literal\n // with explicit newlines as <br/>\n literalStr = literalStr.replace(new RegExp('\\n', 'g'), '<br/>'); // replace ALL\n literalStr = literalStr.replace(new RegExp('\\\"', 'g'), '\\\\\"'); // replace ALL\n literalStr = '\"' + literalStr + '\"';\n\n d3DomElement.append('<span class=\"stringObj\">' + literalStr + '</span>');\n }\n else if (typ == \"object\") {\n if (obj[0] == 'C_DATA') {\n var typeName = obj[2];\n // special cases for brevity:\n if (typeName === 'short int') {\n typeName = 'short';\n } else if (typeName === 'short unsigned int') {\n typeName = 'unsigned short';\n } else if (typeName === 'long int') {\n typeName = 'long';\n } else if (typeName === 'long long int') {\n typeName = 'long long';\n } else if (typeName === 'long unsigned int') {\n typeName = 'unsigned long';\n } else if (typeName === 'long long unsigned int') {\n typeName = 'unsigned long long int';\n }\n\n var isValidPtr = ((typeName === 'pointer') &&\n (obj[3] !== '<UNINITIALIZED>') &&\n (obj[3] !== '<UNALLOCATED>'));\n\n var addr = obj[1];\n var leader = '';\n if (myViz.debugMode) {\n leader = addr + '<br/>'; // prepend address\n }\n\n // prefix with 'cdata_' so that we can distinguish this from a\n // top-level heap ID generated by generateHeapObjID\n var cdataId = myViz.generateHeapObjID('cdata_' + addr, myViz.curInstr);\n\n if (isValidPtr) {\n // for pointers, put cdataId in the header\n d3DomElement.append('<div id=\"' + cdataId + '\" class=\"cdataHeader\">' + leader + typeName + '</div>');\n\n var ptrVal = obj[3];\n\n // add a stub so that we can connect it with a connector later.\n // IE needs this div to be NON-EMPTY in order to properly\n // render jsPlumb endpoints, so that's why we add an \" \"!\n var ptrSrcId = myViz.generateHeapObjID('ptrSrc_' + addr, myViz.curInstr);\n var ptrTargetId = myViz.generateHeapObjID('cdata_' + ptrVal, myViz.curInstr); // don't forget cdata_ prefix!\n\n var debugInfo = '';\n if (myViz.debugMode) {\n debugInfo = ptrTargetId;\n }\n\n // make it really narrow so that the div doesn't STRETCH too wide\n d3DomElement.append('<div style=\"width: 10px;\" id=\"' + ptrSrcId + '\" class=\"cdataElt\"> ' + debugInfo + '</div>');\n\n assert(!myViz.jsPlumbManager.connectionEndpointIDs.has(ptrSrcId));\n myViz.jsPlumbManager.connectionEndpointIDs.set(ptrSrcId, ptrTargetId);\n //console.log(ptrSrcId, '->', ptrTargetId);\n } else {\n // for non-pointers, put cdataId on the element itself, so that\n // pointers can point directly at the element, not the header\n d3DomElement.append('<div class=\"cdataHeader\">' + leader + typeName + '</div>');\n\n var rep = '';\n if (typeof obj[3] === 'string') {\n var literalStr = obj[3];\n if (literalStr === '<UNINITIALIZED>') {\n rep = '<span class=\"cdataUninit\">?</span>';\n //rep = '\\uD83D\\uDCA9'; // pile of poo emoji\n } else if (literalStr == '<UNALLOCATED>') {\n rep = '\\uD83D\\uDC80'; // skull emoji\n } else {\n // a regular string\n literalStr = literalStr.replace(new RegExp(\"\\n\", 'g'), '\\\\n'); // replace ALL\n literalStr = literalStr.replace(new RegExp(\"\\t\", 'g'), '\\\\t'); // replace ALL\n literalStr = literalStr.replace(new RegExp('\\\"', 'g'), '\\\\\"'); // replace ALL\n\n // print as a SINGLE-quoted string literal (to emulate C-style chars)\n literalStr = \"'\" + literalStr + \"'\";\n rep = htmlspecialchars(literalStr);\n }\n } else {\n rep = htmlspecialchars(obj[3]);\n }\n\n d3DomElement.append('<div id=\"' + cdataId + '\" class=\"cdataElt\">' + rep + '</div>');\n }\n } else {\n assert(obj[0] == 'SPECIAL_FLOAT' || obj[0] == 'JS_SPECIAL_VAL');\n d3DomElement.append('<span class=\"numberObj\">' + obj[1] + '</span>');\n }\n }\n else {\n assert(false);\n }\n}\n\n\nExecutionVisualizer.prototype.renderNestedObject = function(obj, stepNum, d3DomElement) {\n if (this.isPrimitiveType(obj)) {\n this.renderPrimitiveObject(obj, d3DomElement);\n }\n else {\n if (obj[0] === 'REF') {\n // obj is a [\"REF\", <int>] so dereference the 'pointer' to render that object\n this.renderCompoundObject(getRefID(obj), stepNum, d3DomElement, false);\n } else {\n assert(obj[0] === 'C_STRUCT' || obj[0] === 'C_ARRAY');\n this.renderCStructArray(obj, stepNum, d3DomElement);\n }\n }\n}\n\n\nExecutionVisualizer.prototype.renderCompoundObject =\nfunction(objID, stepNum, d3DomElement, isTopLevel) {\n var myViz = this; // to prevent confusion of 'this' inside of nested functions\n\n var heapObjID = myViz.generateHeapObjID(objID, stepNum);\n\n if (!isTopLevel && myViz.jsPlumbManager.renderedHeapObjectIDs.has(heapObjID)) {\n var srcDivID = myViz.generateID('heap_pointer_src_' + myViz.jsPlumbManager.heap_pointer_src_id);\n myViz.jsPlumbManager.heap_pointer_src_id++; // just make sure each source has a UNIQUE ID\n\n var dstDivID = heapObjID;\n\n if (myViz.textualMemoryLabels) {\n var labelID = srcDivID + '_text_label';\n d3DomElement.append('<div class=\"objectIdLabel\" id=\"' + labelID + '\">id' + objID + '</div>');\n\n myViz.domRoot.find('div#' + labelID).hover(\n function() {\n myViz.jsPlumbInstance.connect({source: labelID, target: dstDivID,\n scope: 'varValuePointer'});\n },\n function() {\n myViz.jsPlumbInstance.select({source: labelID}).detach();\n });\n }\n else {\n // render jsPlumb arrow source since this heap object has already been rendered\n // (or will be rendered soon)\n\n // add a stub so that we can connect it with a connector later.\n // IE needs this div to be NON-EMPTY in order to properly\n // render jsPlumb endpoints, so that's why we add an \" \"!\n d3DomElement.append('<div id=\"' + srcDivID + '\"> </div>');\n\n assert(!myViz.jsPlumbManager.connectionEndpointIDs.has(srcDivID));\n myViz.jsPlumbManager.connectionEndpointIDs.set(srcDivID, dstDivID);\n //console.log('HEAP->HEAP', srcDivID, dstDivID);\n\n assert(!myViz.jsPlumbManager.heapConnectionEndpointIDs.has(srcDivID));\n myViz.jsPlumbManager.heapConnectionEndpointIDs.set(srcDivID, dstDivID);\n }\n\n return; // early return!\n }\n\n\n // wrap ALL compound objects in a heapObject div so that jsPlumb\n // connectors can point to it:\n d3DomElement.append('<div class=\"heapObject\" id=\"' + heapObjID + '\"></div>');\n d3DomElement = myViz.domRoot.find('#' + heapObjID); // TODO: maybe inefficient\n\n myViz.jsPlumbManager.renderedHeapObjectIDs.set(heapObjID, 1);\n\n var curHeap = myViz.curTrace[stepNum].heap;\n var obj = curHeap[objID];\n assert($.isArray(obj));\n\n // prepend the type label with a memory address label\n var typeLabelPrefix = '';\n if (myViz.textualMemoryLabels) {\n typeLabelPrefix = 'id' + objID + ':';\n }\n\n var hook_result = myViz.try_hook(\"renderCompoundObject\",\n {objID:objID, d3DomElement:d3DomElement, \n isTopLevel:isTopLevel, obj:obj, \n typeLabelPrefix:typeLabelPrefix,\n stepNum:stepNum,\n myViz:myViz});\n if (hook_result[0]) return;\n\n if (obj[0] == 'LIST' || obj[0] == 'TUPLE' || obj[0] == 'SET' || obj[0] == 'DICT') {\n var label = obj[0].toLowerCase();\n\n assert(obj.length >= 1);\n if (obj.length == 1) {\n d3DomElement.append('<div class=\"typeLabel\">' + typeLabelPrefix + ' empty ' + myViz.getRealLabel(label) + '</div>');\n }\n else {\n d3DomElement.append('<div class=\"typeLabel\">' + typeLabelPrefix + myViz.getRealLabel(label) + '</div>');\n d3DomElement.append('<table class=\"' + label + 'Tbl\"></table>');\n var tbl = d3DomElement.children('table');\n\n if (obj[0] == 'LIST' || obj[0] == 'TUPLE') {\n tbl.append('<tr></tr><tr></tr>');\n var headerTr = tbl.find('tr:first');\n var contentTr = tbl.find('tr:last');\n $.each(obj, function(ind, val) {\n if (ind < 1) return; // skip type tag and ID entry\n\n // add a new column and then pass in that newly-added column\n // as d3DomElement to the recursive call to child:\n headerTr.append('<td class=\"' + label + 'Header\"></td>');\n headerTr.find('td:last').append(ind - 1);\n\n contentTr.append('<td class=\"'+ label + 'Elt\"></td>');\n myViz.renderNestedObject(val, stepNum, contentTr.find('td:last'));\n });\n }\n else if (obj[0] == 'SET') {\n // create an R x C matrix:\n var numElts = obj.length - 1;\n\n // gives roughly a 3x5 rectangular ratio, square is too, err,\n // 'square' and boring\n var numRows = Math.round(Math.sqrt(numElts));\n if (numRows > 3) {\n numRows -= 1;\n }\n\n var numCols = Math.round(numElts / numRows);\n // round up if not a perfect multiple:\n if (numElts % numRows) {\n numCols += 1;\n }\n\n jQuery.each(obj, function(ind, val) {\n if (ind < 1) return; // skip 'SET' tag\n\n if (((ind - 1) % numCols) == 0) {\n tbl.append('<tr></tr>');\n }\n\n var curTr = tbl.find('tr:last');\n curTr.append('<td class=\"setElt\"></td>');\n myViz.renderNestedObject(val, stepNum, curTr.find('td:last'));\n });\n }\n else if (obj[0] == 'DICT') {\n $.each(obj, function(ind, kvPair) {\n if (ind < 1) return; // skip 'DICT' tag\n\n tbl.append('<tr class=\"dictEntry\"><td class=\"dictKey\"></td><td class=\"dictVal\"></td></tr>');\n var newRow = tbl.find('tr:last');\n var keyTd = newRow.find('td:first');\n var valTd = newRow.find('td:last');\n\n var key = kvPair[0];\n var val = kvPair[1];\n\n myViz.renderNestedObject(key, stepNum, keyTd);\n myViz.renderNestedObject(val, stepNum, valTd);\n });\n }\n }\n }\n else if (obj[0] == 'INSTANCE' || obj[0] == 'CLASS') {\n var isInstance = (obj[0] == 'INSTANCE');\n var headerLength = isInstance ? 2 : 3;\n\n assert(obj.length >= headerLength);\n\n if (isInstance) {\n d3DomElement.append('<div class=\"typeLabel\">' + typeLabelPrefix + obj[1] + ' ' + myViz.getRealLabel('instance') + '</div>');\n }\n else {\n var superclassStr = '';\n if (obj[2].length > 0) {\n superclassStr += ('[extends ' + obj[2].join(', ') + '] ');\n }\n d3DomElement.append('<div class=\"typeLabel\">' + typeLabelPrefix + obj[1] + ' class ' + superclassStr +\n '<br/>' + '<a href=\"#\" id=\"attrToggleLink\">hide attributes</a>' + '</div>');\n }\n\n // right now, let's NOT display class members, since that clutters\n // up the display too much. in the future, consider displaying\n // class members in a pop-up pane on mouseover or mouseclick\n // actually nix what i just said above ...\n //if (!isInstance) return;\n\n if (obj.length > headerLength) {\n var lab = isInstance ? 'inst' : 'class';\n d3DomElement.append('<table class=\"' + lab + 'Tbl\"></table>');\n\n var tbl = d3DomElement.children('table');\n\n $.each(obj, function(ind, kvPair) {\n if (ind < headerLength) return; // skip header tags\n\n tbl.append('<tr class=\"' + lab + 'Entry\"><td class=\"' + lab + 'Key\"></td><td class=\"' + lab + 'Val\"></td></tr>');\n\n var newRow = tbl.find('tr:last');\n var keyTd = newRow.find('td:first');\n var valTd = newRow.find('td:last');\n\n // the keys should always be strings, so render them directly (and without quotes):\n // (actually this isn't the case when strings are rendered on the heap)\n if (typeof kvPair[0] == \"string\") {\n // common case ...\n var attrnameStr = htmlspecialchars(kvPair[0]);\n keyTd.append('<span class=\"keyObj\">' + attrnameStr + '</span>');\n }\n else {\n // when strings are rendered as heap objects ...\n myViz.renderNestedObject(kvPair[0], stepNum, keyTd);\n }\n\n // values can be arbitrary objects, so recurse:\n myViz.renderNestedObject(kvPair[1], stepNum, valTd);\n });\n }\n\n // class attributes can be displayed or hidden, so as not to\n // CLUTTER UP the display with a ton of attributes, especially\n // from imported modules and custom types created from, say,\n // collections.namedtuple\n if (!isInstance) {\n // super kludgy! use a global selector $ to get at the DOM\n // element, which should be okay since IDs should be globally\n // unique on a page, even with multiple ExecutionVisualizer\n // instances ... but still feels dirty to me since it violates\n // my \"no using raw $(__) selectors for jQuery\" convention :/\n $(d3DomElement.selector + ' .typeLabel #attrToggleLink').click(function() {\n var elt = $(d3DomElement.selector + ' .classTbl');\n elt.toggle();\n $(this).html((elt.is(':visible') ? 'hide' : 'show') + ' attributes');\n\n if (elt.is(':visible')) {\n myViz.classAttrsHidden[d3DomElement.selector] = false;\n $(this).html('hide attributes');\n }\n else {\n myViz.classAttrsHidden[d3DomElement.selector] = true;\n $(this).html('show attributes');\n }\n\n myViz.redrawConnectors(); // redraw all arrows!\n\n return false; // so that the <a href=\"#\"> doesn't reload the page\n });\n\n // \"remember\" whether this was hidden earlier during this\n // visualization session\n if (myViz.classAttrsHidden[d3DomElement.selector]) {\n $(d3DomElement.selector + ' .classTbl').hide();\n $(d3DomElement.selector + ' .typeLabel #attrToggleLink').html('show attributes');\n }\n }\n }\n else if (obj[0] == 'INSTANCE_PPRINT') {\n d3DomElement.append('<div class=\"typeLabel\">' + typeLabelPrefix + obj[1] + ' instance</div>');\n\n strRepr = htmlspecialchars(obj[2]); // escape strings!\n d3DomElement.append('<table class=\"customObjTbl\"><tr><td class=\"customObjElt\">' + strRepr + '</td></tr></table>');\n }\n else if (obj[0] == 'FUNCTION') {\n assert(obj.length == 3);\n\n // pretty-print lambdas and display other weird characters:\n var funcName = htmlspecialchars(obj[1]).replace('<lambda>', '\\u03bb');\n var parentFrameID = obj[2]; // optional\n\n if (!myViz.compactFuncLabels) {\n d3DomElement.append('<div class=\"typeLabel\">' + typeLabelPrefix + myViz.getRealLabel('function') + '</div>');\n }\n\n var funcPrefix = myViz.compactFuncLabels ? 'func' : '';\n\n if (parentFrameID) {\n d3DomElement.append('<div class=\"funcObj\">' + funcPrefix + ' ' + funcName + ' [parent=f'+ parentFrameID + ']</div>');\n }\n else if (myViz.showAllFrameLabels) {\n d3DomElement.append('<div class=\"funcObj\">' + funcPrefix + ' ' + funcName + ' [parent=Global]</div>');\n }\n else {\n d3DomElement.append('<div class=\"funcObj\">' + funcPrefix + ' ' + funcName + '</div>');\n }\n }\n else if (obj[0] == 'JS_FUNCTION') { /* TODO: refactor me */\n // JavaScript function\n assert(obj.length == 5);\n var funcName = htmlspecialchars(obj[1]);\n var funcCode = typeLabelPrefix + htmlspecialchars(obj[2]);\n var funcProperties = obj[3]; // either null or a non-empty list of key-value pairs\n var parentFrameID = obj[4];\n\n\n if (funcProperties || parentFrameID || myViz.showAllFrameLabels) {\n d3DomElement.append('<table class=\"classTbl\"></table>');\n var tbl = d3DomElement.children('table');\n tbl.append('<tr><td class=\"funcCod\" colspan=\"2\"><pre class=\"funcCode\">' + funcCode + '</pre>' + '</td></tr>');\n\n if (funcProperties) {\n assert(funcProperties.length > 0);\n $.each(funcProperties, function(ind, kvPair) {\n tbl.append('<tr class=\"classEntry\"><td class=\"classKey\"></td><td class=\"classVal\"></td></tr>');\n var newRow = tbl.find('tr:last');\n var keyTd = newRow.find('td:first');\n var valTd = newRow.find('td:last');\n keyTd.append('<span class=\"keyObj\">' + htmlspecialchars(kvPair[0]) + '</span>');\n myViz.renderNestedObject(kvPair[1], stepNum, valTd);\n });\n }\n\n if (parentFrameID) {\n tbl.append('<tr class=\"classEntry\"><td class=\"classKey\">parent</td><td class=\"classVal\">' + 'f' + parentFrameID + '</td></tr>');\n }\n else if (myViz.showAllFrameLabels) {\n tbl.append('<tr class=\"classEntry\"><td class=\"classKey\">parent</td><td class=\"classVal\">' + 'global' + '</td></tr>');\n }\n }\n else {\n // compact form:\n d3DomElement.append('<pre class=\"funcCode\">' + funcCode + '</pre>');\n }\n }\n else if (obj[0] == 'HEAP_PRIMITIVE') {\n assert(obj.length == 3);\n\n var typeName = obj[1];\n var primitiveVal = obj[2];\n\n // add a bit of padding to heap primitives, for aesthetics\n d3DomElement.append('<div class=\"heapPrimitive\"></div>');\n d3DomElement.find('div.heapPrimitive').append('<div class=\"typeLabel\">' + typeLabelPrefix + typeName + '</div>');\n myViz.renderPrimitiveObject(primitiveVal, d3DomElement.find('div.heapPrimitive'));\n }\n else if (obj[0] == 'C_STRUCT' || obj[0] == 'C_ARRAY') {\n myViz.renderCStructArray(obj, stepNum, d3DomElement);\n }\n else {\n // render custom data type\n assert(obj.length == 2);\n\n var typeName = obj[0];\n var strRepr = obj[1];\n\n strRepr = htmlspecialchars(strRepr); // escape strings!\n\n d3DomElement.append('<div class=\"typeLabel\">' + typeLabelPrefix + typeName + '</div>');\n d3DomElement.append('<table class=\"customObjTbl\"><tr><td class=\"customObjElt\">' + strRepr + '</td></tr></table>');\n }\n}\n\nExecutionVisualizer.prototype.renderCStructArray = function(obj, stepNum, d3DomElement) {\n var myViz = this; // to prevent confusion of 'this' inside of nested functions\n\n if (obj[0] == 'C_STRUCT') {\n assert(obj.length >= 3);\n var addr = obj[1];\n var typename = obj[2];\n\n var leader = '';\n if (myViz.debugMode) {\n leader = addr + '<br/>';\n }\n if (myViz.params.lang === 'cpp') {\n // call it 'object' instead of 'struct'\n d3DomElement.append('<div class=\"typeLabel\">' + leader + 'object ' + typename + '</div>');\n } else {\n d3DomElement.append('<div class=\"typeLabel\">' + leader + 'struct ' + typename + '</div>');\n }\n\n if (obj.length > 3) {\n d3DomElement.append('<table class=\"instTbl\"></table>');\n\n var tbl = d3DomElement.children('table');\n\n $.each(obj, function(ind, kvPair) {\n if (ind < 3) return; // skip header tags\n\n tbl.append('<tr class=\"instEntry\"><td class=\"instKey\"></td><td class=\"instVal\"></td></tr>');\n\n var newRow = tbl.find('tr:last');\n var keyTd = newRow.find('td:first');\n var valTd = newRow.find('td:last');\n\n // the keys should always be strings, so render them directly (and without quotes):\n // (actually this isn't the case when strings are rendered on the heap)\n assert(typeof kvPair[0] == \"string\");\n // common case ...\n var attrnameStr = htmlspecialchars(kvPair[0]);\n keyTd.append('<span class=\"keyObj\">' + attrnameStr + '</span>');\n\n // values can be arbitrary objects, so recurse:\n myViz.renderNestedObject(kvPair[1], stepNum, valTd);\n });\n }\n } else {\n assert(obj[0] == 'C_ARRAY');\n assert(obj.length >= 2);\n var addr = obj[1];\n\n var leader = '';\n if (myViz.debugMode) {\n leader = addr + '<br/>';\n }\n d3DomElement.append('<div class=\"typeLabel\">' + leader + 'array</div>');\n d3DomElement.append('<table class=\"cArrayTbl\"></table>');\n var tbl = d3DomElement.children('table');\n\n tbl.append('<tr></tr><tr></tr>');\n var headerTr = tbl.find('tr:first');\n var contentTr = tbl.find('tr:last');\n $.each(obj, function(ind, val) {\n if (ind < 2) return; // skip 'C_ARRAY' and addr\n\n // add a new column and then pass in that newly-added column\n // as d3DomElement to the recursive call to child:\n headerTr.append('<td class=\"cArrayHeader\"></td>');\n headerTr.find('td:last').append(ind - 2 /* adjust */);\n\n contentTr.append('<td class=\"cArrayElt\"></td>');\n myViz.renderNestedObject(val, stepNum, contentTr.find('td:last'));\n });\n }\n}\n\nExecutionVisualizer.prototype.redrawConnectors = function() {\n this.jsPlumbInstance.repaintEverything();\n}\n\n\nExecutionVisualizer.prototype.getRealLabel = function(label) {\n if (this.params.lang === 'js' || this.params.lang === 'ts' || this.params.lang === 'ruby') {\n if (label === 'list') {\n return 'array';\n } else if (label === 'instance') {\n return 'object';\n } else if (label === 'True') {\n return 'true';\n } else if (label === 'False') {\n return 'false';\n }\n }\n\n if (this.params.lang === 'js') {\n if (label === 'dict') {\n return 'Map';\n } else if (label === 'set') {\n return 'Set';\n }\n }\n\n if (this.params.lang === 'ruby') {\n if (label === 'dict') {\n return 'hash';\n } else if (label === 'set') {\n return 'Set'; // the Ruby Set class is capitalized\n } else if (label === 'function') {\n return 'method';\n } else if (label === 'None') {\n return 'nil';\n } else if (label === 'Global frame') {\n return 'Global Object';\n }\n }\n\n // default fallthrough case\n return label;\n};\n\n\n// Utilities\n\n\n/* colors - see pytutor.css for more colors */\n\nvar highlightedLineColor = '#e4faeb';\nvar highlightedLineBorderColor = '#005583';\n\nvar highlightedLineLighterColor = '#e8fff0';\n\nvar funcCallLineColor = '#a2eebd';\n\nvar brightRed = '#e93f34';\n\nvar connectorBaseColor = '#005583';\nvar connectorHighlightColor = brightRed;\nvar connectorInactiveColor = '#cccccc';\n\nvar errorColor = brightRed;\n\nvar breakpointColor = brightRed;\n\n\n// Unicode arrow types: '\\u21d2', '\\u21f0', '\\u2907'\nvar darkArrowColor = brightRed;\nvar lightArrowColor = '#c9e6ca';\n\n\nfunction assert(cond) {\n if (!cond) {\n alert(\"Assertion Failure (see console log for backtrace)\");\n throw 'Assertion Failure';\n }\n}\n\n// taken from http://www.toao.net/32-my-htmlspecialchars-function-for-javascript\nfunction htmlspecialchars(str) {\n if (typeof(str) == \"string\") {\n str = str.replace(/&/g, \"&\"); /* must do & first */\n\n // ignore these for now ...\n //str = str.replace(/\"/g, \""\");\n //str = str.replace(/'/g, \"'\");\n\n str = str.replace(/</g, \"<\");\n str = str.replace(/>/g, \">\");\n\n // replace spaces:\n str = str.replace(/ /g, \" \");\n\n // replace tab as four spaces:\n str = str.replace(/\\t/g, \" \");\n }\n return str;\n}\n\n\n// same as htmlspecialchars except don't worry about expanding spaces or\n// tabs since we want proper word wrapping in divs.\nfunction htmlsanitize(str) {\n if (typeof(str) == \"string\") {\n str = str.replace(/&/g, \"&\"); /* must do & first */\n\n str = str.replace(/</g, \"<\");\n str = str.replace(/>/g, \">\");\n }\n return str;\n}\n\n\nString.prototype.rtrim = function() {\n return this.replace(/\\s*$/g, \"\");\n}\n\n\n// make sure varname doesn't contain any weird\n// characters that are illegal for CSS ID's ...\n//\n// I know for a fact that iterator tmp variables named '_[1]'\n// are NOT legal names for CSS ID's.\n// I also threw in '{', '}', '(', ')', '<', '>' as illegal characters.\n//\n// also some variable names are like '.0' (for generator expressions),\n// and '.' seems to be illegal.\n//\n// also '=', '!', and '?' are common in Ruby names, so escape those as well\n//\n// also spaces are illegal, so convert to '_'\n// TODO: what other characters are illegal???\nvar lbRE = new RegExp('\\\\[|{|\\\\(|<', 'g');\nvar rbRE = new RegExp('\\\\]|}|\\\\)|>', 'g');\nfunction varnameToCssID(varname) {\n // make sure to REPLACE ALL (using the 'g' option)\n // rather than just replacing the first entry\n return varname.replace(lbRE, 'LeftB_')\n .replace(rbRE, '_RightB')\n .replace(/[!]/g, '_BANG_')\n .replace(/[?]/g, '_QUES_')\n .replace(/[:]/g, '_COLON_')\n .replace(/[=]/g, '_EQ_')\n .replace(/[.]/g, '_DOT_')\n .replace(/ /g, '_');\n}\n\n\n// compare two JSON-encoded compound objects for structural equivalence:\nExecutionVisualizer.prototype.structurallyEquivalent = function(obj1, obj2) {\n // punt if either isn't a compound type\n if (this.isPrimitiveType(obj1) || this.isPrimitiveType(obj2)) {\n return false;\n }\n\n // must be the same compound type\n if (obj1[0] != obj2[0]) {\n return false;\n }\n\n // must have the same number of elements or fields\n if (obj1.length != obj2.length) {\n return false;\n }\n\n // for a list or tuple, same size (e.g., a cons cell is a list/tuple of size 2)\n if (obj1[0] == 'LIST' || obj1[0] == 'TUPLE') {\n return true;\n }\n else {\n var startingInd = -1;\n\n if (obj1[0] == 'DICT') {\n startingInd = 2;\n }\n else if (obj1[0] == 'INSTANCE') {\n startingInd = 3;\n }\n else {\n return false; // punt on all other types\n }\n\n var obj1fields = d3.map();\n\n // for a dict or object instance, same names of fields (ordering doesn't matter)\n for (var i = startingInd; i < obj1.length; i++) {\n obj1fields.set(obj1[i][0], 1); // use as a set\n }\n\n for (var i = startingInd; i < obj2.length; i++) {\n if (!obj1fields.has(obj2[i][0])) {\n return false;\n }\n }\n\n return true;\n }\n}\n\n\nExecutionVisualizer.prototype.isPrimitiveType = function(obj) {\n var hook_result = this.try_hook(\"isPrimitiveType\", {obj:obj});\n if (hook_result[0]) return hook_result[1];\n\n // null is a primitive\n if (obj === null) {\n return true;\n }\n\n if (typeof obj == \"object\") {\n // kludge: only 'SPECIAL_FLOAT' objects count as primitives\n return (obj[0] == 'SPECIAL_FLOAT' || obj[0] == 'JS_SPECIAL_VAL' ||\n obj[0] == 'C_DATA' /* TODO: is this right?!? */);\n }\n else {\n // non-objects are primitives\n return true;\n }\n}\n\nfunction isHeapRef(obj, heap) {\n // ordinary REF\n if (obj[0] === 'REF') {\n return (heap[obj[1]] !== undefined);\n } else if (obj[0] === 'C_DATA' && obj[2] === 'pointer') {\n // C-style pointer that has a valid value\n if (obj[3] != '<UNINITIALIZED>' && obj[3] != '<UNALLOCATED>') {\n return (heap[obj[3]] !== undefined);\n }\n }\n\n return false;\n}\n\nfunction getRefID(obj) {\n if (obj[0] == 'REF') {\n return obj[1];\n } else {\n assert (obj[0] === 'C_DATA' && obj[2] === 'pointer');\n assert (obj[3] != '<UNINITIALIZED>' && obj[3] != '<UNALLOCATED>');\n return obj[3]; // pointed-to address\n }\n}\n\n\n// Annotation bubbles\n\nvar qtipShared = {\n show: {\n ready: true, // show on document.ready instead of on mouseenter\n delay: 0,\n event: null,\n effect: function() {$(this).show();}, // don't do any fancy fading because it screws up with scrolling\n },\n hide: {\n fixed: true,\n event: null,\n effect: function() {$(this).hide();}, // don't do any fancy fading because it screws up with scrolling\n },\n style: {\n classes: 'ui-tooltip-pgbootstrap', // my own customized version of the bootstrap style\n },\n};\n\n\n// a speech bubble annotation to attach to:\n// 'codeline' - a line of code\n// 'frame' - a stack frame\n// 'variable' - a variable within a stack frame\n// 'object' - an object on the heap\n// (as determined by the 'type' param)\n//\n// domID is the ID of the element to attach to (without the leading '#' sign)\nfunction AnnotationBubble(parentViz, type, domID) {\n this.parentViz = parentViz;\n\n this.domID = domID;\n this.hashID = '#' + domID;\n\n this.type = type;\n\n if (type == 'codeline') {\n this.my = 'left center';\n this.at = 'right center';\n }\n else if (type == 'frame') {\n this.my = 'right center';\n this.at = 'left center';\n }\n else if (type == 'variable') {\n this.my = 'right center';\n this.at = 'left center';\n }\n else if (type == 'object') {\n this.my = 'bottom left';\n this.at = 'top center';\n }\n else {\n assert(false);\n }\n\n // possible states:\n // 'invisible'\n // 'edit'\n // 'view'\n // 'minimized'\n // 'stub'\n this.state = 'invisible';\n\n this.text = ''; // the actual contents of the annotation bubble\n\n this.qtipHidden = false; // is there a qtip object present but hidden? (TODO: kinda confusing)\n}\n\nAnnotationBubble.prototype.showStub = function() {\n assert(this.state == 'invisible' || this.state == 'edit');\n assert(this.text == '');\n\n var myBubble = this; // to avoid name clashes with 'this' in inner scopes\n\n // destroy then create a new tip:\n this.destroyQTip();\n $(this.hashID).qtip($.extend({}, qtipShared, {\n content: ' ',\n id: this.domID,\n position: {\n my: this.my,\n at: this.at,\n adjust: {\n x: (myBubble.type == 'codeline' ? -6 : 0), // shift codeline tips over a bit for aesthetics\n },\n effect: null, // disable all cutesy animations\n },\n style: {\n classes: 'ui-tooltip-pgbootstrap ui-tooltip-pgbootstrap-stub'\n }\n }));\n\n\n $(this.qTipID())\n .unbind('click') // unbind all old handlers\n .click(function() {\n myBubble.showEditor();\n });\n\n this.state = 'stub';\n}\n\nAnnotationBubble.prototype.showEditor = function() {\n assert(this.state == 'stub' || this.state == 'view' || this.state == 'minimized');\n\n var myBubble = this; // to avoid name clashes with 'this' in inner scopes\n\n var ta = '<textarea class=\"bubbleInputText\">' + this.text + '</textarea>';\n\n // destroy then create a new tip:\n this.destroyQTip();\n $(this.hashID).qtip($.extend({}, qtipShared, {\n content: ta,\n id: this.domID,\n position: {\n my: this.my,\n at: this.at,\n adjust: {\n x: (myBubble.type == 'codeline' ? -6 : 0), // shift codeline tips over a bit for aesthetics\n },\n effect: null, // disable all cutesy animations\n }\n }));\n\n \n $(this.qTipContentID()).find('textarea.bubbleInputText')\n // set handler when the textarea loses focus\n .blur(function() {\n myBubble.text = $(this).val().trim(); // strip all leading and trailing spaces\n\n if (myBubble.text) {\n myBubble.showViewer();\n }\n else {\n myBubble.showStub();\n }\n })\n .focus(); // grab focus so that the user can start typing right away!\n\n this.state = 'edit';\n}\n\n\nAnnotationBubble.prototype.bindViewerClickHandler = function() {\n var myBubble = this;\n\n $(this.qTipID())\n .unbind('click') // unbind all old handlers\n .click(function() {\n if (myBubble.parentViz.editAnnotationMode) {\n myBubble.showEditor();\n }\n else {\n myBubble.minimizeViewer();\n }\n });\n}\n\nAnnotationBubble.prototype.showViewer = function() {\n assert(this.state == 'edit' || this.state == 'invisible');\n assert(this.text); // must be non-empty!\n\n var myBubble = this;\n // destroy then create a new tip:\n this.destroyQTip();\n $(this.hashID).qtip($.extend({}, qtipShared, {\n content: htmlsanitize(this.text), // help prevent HTML/JS injection attacks\n id: this.domID,\n position: {\n my: this.my,\n at: this.at,\n adjust: {\n x: (myBubble.type == 'codeline' ? -6 : 0), // shift codeline tips over a bit for aesthetics\n },\n effect: null, // disable all cutesy animations\n }\n }));\n\n this.bindViewerClickHandler();\n this.state = 'view';\n}\n\n\nAnnotationBubble.prototype.minimizeViewer = function() {\n assert(this.state == 'view');\n\n var myBubble = this;\n\n $(this.hashID).qtip('option', 'content.text', ' '); //hack to \"minimize\" its size\n\n $(this.qTipID())\n .unbind('click') // unbind all old handlers\n .click(function() {\n if (myBubble.parentViz.editAnnotationMode) {\n myBubble.showEditor();\n }\n else {\n myBubble.restoreViewer();\n }\n });\n\n this.state = 'minimized';\n}\n\nAnnotationBubble.prototype.restoreViewer = function() {\n assert(this.state == 'minimized');\n $(this.hashID).qtip('option', 'content.text', htmlsanitize(this.text)); // help prevent HTML/JS injection attacks\n this.bindViewerClickHandler();\n this.state = 'view';\n}\n\n// NB: actually DESTROYS the QTip object\nAnnotationBubble.prototype.makeInvisible = function() {\n assert(this.state == 'stub' || this.state == 'edit');\n this.destroyQTip();\n this.state = 'invisible';\n}\n\n\nAnnotationBubble.prototype.destroyQTip = function() {\n $(this.hashID).qtip('destroy');\n}\n\nAnnotationBubble.prototype.qTipContentID = function() {\n return '#ui-tooltip-' + this.domID + '-content';\n}\n\nAnnotationBubble.prototype.qTipID = function() {\n return '#ui-tooltip-' + this.domID;\n}\n\n\nAnnotationBubble.prototype.enterEditMode = function() {\n assert(this.parentViz.editAnnotationMode);\n if (this.state == 'invisible') {\n this.showStub();\n\n if (this.type == 'codeline') {\n this.redrawCodelineBubble();\n }\n }\n}\n\nAnnotationBubble.prototype.enterViewMode = function() {\n assert(!this.parentViz.editAnnotationMode);\n if (this.state == 'stub') {\n this.makeInvisible();\n }\n else if (this.state == 'edit') {\n this.text = $(this.qTipContentID()).find('textarea.bubbleInputText').val().trim(); // strip all leading and trailing spaces\n\n if (this.text) {\n this.showViewer();\n\n if (this.type == 'codeline') {\n this.redrawCodelineBubble();\n }\n }\n else {\n this.makeInvisible();\n }\n }\n else if (this.state == 'invisible') {\n // this happens when, say, you first enter View Mode\n if (this.text) {\n this.showViewer();\n\n if (this.type == 'codeline') {\n this.redrawCodelineBubble();\n }\n }\n }\n}\n\nAnnotationBubble.prototype.preseedText = function(txt) {\n assert(this.state == 'invisible');\n this.text = txt;\n}\n\nAnnotationBubble.prototype.redrawCodelineBubble = function() {\n assert(this.type == 'codeline');\n\n if (isOutputLineVisibleForBubbles(this.domID)) {\n if (this.qtipHidden) {\n $(this.hashID).qtip('show');\n }\n else {\n $(this.hashID).qtip('reposition');\n }\n\n this.qtipHidden = false;\n }\n else {\n $(this.hashID).qtip('hide');\n this.qtipHidden = true;\n }\n}\n\nAnnotationBubble.prototype.redrawBubble = function() {\n $(this.hashID).qtip('reposition');\n}\n\n\n// NB: copy-and-paste from isOutputLineVisible with some minor tweaks\nfunction isOutputLineVisibleForBubbles(lineDivID) {\n var pcod = $('#pyCodeOutputDiv');\n\n var lineNoTd = $('#' + lineDivID);\n var LO = lineNoTd.offset().top;\n\n var PO = pcod.offset().top;\n var ST = pcod.scrollTop();\n var H = pcod.height();\n\n // add a few pixels of fudge factor on the bottom end due to bottom scrollbar\n return (PO <= LO) && (LO < (PO + H - 25));\n}\n\n\n// popup question dialog code from Brad Miller\n\n// inputId is the ID of the input element\n// divId is the div that containsthe visualizer\n// answer is a dotted form of an attribute that lives in the curEntry of the trace\n// So if we want to ask for the value of a global variable we would say 'globals.a'\n// this allows us do do curTrace[i].globals.a But we do it in the loop below using the\n// [] operator.\nfunction traceQCheckMe(inputId, divId, answer) {\n var vis = $(\"#\"+divId).data(\"vis\")\n var i = vis.curInstr\n var curEntry = vis.curTrace[i+1];\n var ans = $('#'+inputId).val()\n var attrs = answer.split(\".\")\n var correctAns = curEntry;\n for (var j in attrs) {\n correctAns = correctAns[attrs[j]]\n }\n var feedbackElement = $(\"#\" + divId + \"_feedbacktext\")\n if (ans.length > 0 && ans == correctAns) {\n feedbackElement.html('Correct')\n } else {\n feedbackElement.html(vis.curTrace[i].question.feedback)\n }\n\n}\n\nfunction closeModal(divId) {\n $.modal.close()\n $(\"#\"+divId).data(\"vis\").stepForward();\n}\n\n\n// All of the Java frontend code in this function was written by David\n// Pritchard and Will Gwozdz, and integrated by Philip Guo\nExecutionVisualizer.prototype.activateJavaFrontend = function() {\n var prevLine = null;\n this.curTrace.forEach(function(e, i) {\n // ugh the Java backend doesn't attach line numbers to exception\n // events, so just take the previous line number as our best guess\n if (e.event === 'exception' && !e.line) {\n e.line = prevLine;\n }\n\n // super hack by Philip that reverses the direction of the stack so\n // that it grows DOWN and renders the same way as the Python and JS\n // visualizer stacks\n if (e.stack_to_render !== undefined) {\n e.stack_to_render.reverse();\n }\n\n prevLine = e.line;\n });\n\n this.add_pytutor_hook(\n \"renderPrimitiveObject\",\n function(args) {\n var obj = args.obj, d3DomElement = args.d3DomElement;\n var typ = typeof obj;\n if (obj == null) \n d3DomElement.append('<span class=\"nullObj\">null</span>');\n else if (typ == \"number\") \n d3DomElement.append('<span class=\"numberObj\">' + obj + '</span>');\n else if (typ == \"boolean\") {\n if (obj) \n d3DomElement.append('<span class=\"boolObj\">true</span>');\n else \n d3DomElement.append('<span class=\"boolObj\">false</span>');\n }\n else if (obj instanceof Array && obj[0] == \"VOID\") {\n d3DomElement.append('<span class=\"voidObj\">void</span>');\n }\n else if (obj instanceof Array && obj[0] == \"NUMBER-LITERAL\") {\n // actually transmitted as a string\n d3DomElement.append('<span class=\"numberObj\">' + obj[1] + '</span>');\n }\n else if (obj instanceof Array && obj[0] == \"CHAR-LITERAL\") {\n var asc = obj[1].charCodeAt(0);\n var ch = obj[1];\n \n // default\n var show = asc.toString(16);\n while (show.length < 4) show = \"0\" + show;\n show = \"\\\\u\" + show;\n \n if (ch == \"\\n\") show = \"\\\\n\";\n else if (ch == \"\\r\") show = \"\\\\r\";\n else if (ch == \"\\t\") show = \"\\\\t\";\n else if (ch == \"\\b\") show = \"\\\\b\";\n else if (ch == \"\\f\") show = \"\\\\f\";\n else if (ch == \"\\'\") show = \"\\\\\\'\";\n else if (ch == \"\\\"\") show = \"\\\\\\\"\";\n else if (ch == \"\\\\\") show = \"\\\\\\\\\";\n else if (asc >= 32) show = ch;\n \n // stringObj to make monospace\n d3DomElement.append('<span class=\"stringObj\">\\'' + show + '\\'</span>');\n }\n else\n return [false]; // we didn't handle it\n return [true]; // we handled it\n });\n\n this.add_pytutor_hook(\n \"isPrimitiveType\", \n function(args) {\n var obj = args.obj;\n if ((obj instanceof Array && obj[0] == \"VOID\")\n || (obj instanceof Array && obj[0] == \"NUMBER-LITERAL\")\n || (obj instanceof Array && obj[0] == \"CHAR-LITERAL\")\n || (obj instanceof Array && obj[0] == \"ELIDE\"))\n return [true, true]; // we handled it, it's primitive\n return [false]; // didn't handle it\n });\n\n this.add_pytutor_hook(\n \"end_updateOutput\",\n function(args) {\n var myViz = args.myViz;\n var curEntry = myViz.curTrace[myViz.curInstr];\n if (myViz.params.stdin && myViz.params.stdin != \"\") {\n var stdinPosition = curEntry.stdinPosition || 0;\n var stdinContent =\n '<span style=\"color:lightgray;text-decoration: line-through\">'+\n escapeHtml(myViz.params.stdin.substr(0, stdinPosition))+\n '</span>'+\n escapeHtml(myViz.params.stdin.substr(stdinPosition));\n myViz.domRoot.find('#stdinShow').html(stdinContent);\n }\n return [false]; \n });\n\n this.add_pytutor_hook(\n \"end_constructor\",\n function(args) {\n var myViz = args.myViz;\n if ((myViz.curTrace.length > 0)\n && myViz.curTrace[myViz.curTrace.length-1]\n && myViz.curTrace[myViz.curTrace.length-1].stdout) {\n myViz.hasStdout = true;\n myViz.stdoutLines = myViz.curTrace[myViz.curTrace.length-1].stdout.split(\"\\n\").length;\n }\n // if last frame is a step limit\n else if ((myViz.curTrace.length > 1)\n && myViz.curTrace[myViz.curTrace.length-2]\n && myViz.curTrace[myViz.curTrace.length-2].stdout) {\n myViz.hasStdout = true;\n myViz.stdoutLines = myViz.curTrace[myViz.curTrace.length-2].stdout.split(\"\\n\").length;\n }\n else {\n myViz.stdoutLines = -1;\n }\n if (myViz.hasStdout)\n for (var i=0; i<myViz.curTrace.length; i++)\n if (!(myViz.curTrace[i].stdout))\n myViz.curTrace[i].stdout=\" \"; // always show it, if it's ever used \n });\n\n this.add_pytutor_hook(\n \"end_render\",\n function(args) {\n var myViz = args.myViz;\n\n // uhh, dunno what this was for ...\n //myViz.domRoot.find('#pyStdout').attr('cols', 1); // commented out by pgbovine\n //myViz.domRoot.find('#pyStdout').attr('rows', Math.min(10, myViz.stdoutLines));\n \n if (myViz.params.stdin && myViz.params.stdin != \"\") {\n var stdinHTML = '<div id=\"stdinWrap\">stdin:<pre id=\"stdinShow\" style=\"border:1px solid gray\"></pre></div>';\n myViz.domRoot.find('#dataViz').append(stdinHTML);\n }\n\n myViz.domRoot.find('#'+myViz.generateID('globals_header')).html(\"Static fields\");\n });\n\n this.add_pytutor_hook(\n \"isLinearObject\",\n function(args) {\n var heapObj = args.heapObj;\n if (heapObj[0]=='STACK' || heapObj[0]=='QUEUE')\n return ['true', 'true'];\n return ['false'];\n });\n\n this.add_pytutor_hook(\n \"renderCompoundObject\",\n function(args) {\n var objID = args.objID;\n var d3DomElement = args.d3DomElement;\n var obj = args.obj;\n var typeLabelPrefix = args.typeLabelPrefix;\n var myViz = args.myViz;\n var stepNum = args.stepNum;\n\n if (!(obj[0] == 'LIST' || obj[0] == 'QUEUE' || obj[0] == 'STACK')) \n return [false]; // didn't handle\n\n var label = obj[0].toLowerCase();\n var visibleLabel = {list:'array', queue:'queue', stack:'stack'}[label];\n \n if (obj.length == 1) {\n d3DomElement.append('<div class=\"typeLabel\">' + typeLabelPrefix + 'empty ' + visibleLabel + '</div>');\n return [true]; //handled\n }\n\n d3DomElement.append('<div class=\"typeLabel\">' + typeLabelPrefix + visibleLabel + '</div>');\n d3DomElement.append('<table class=\"' + label + 'Tbl\"></table>');\n var tbl = d3DomElement.children('table');\n \n if (obj[0] == 'LIST') {\n tbl.append('<tr></tr><tr></tr>');\n var headerTr = tbl.find('tr:first');\n var contentTr = tbl.find('tr:last');\n \n // i: actual index in json object; ind: apparent index\n for (var i=1, ind=0; i<obj.length; i++) {\n var val = obj[i];\n var elide = val instanceof Array && val[0] == 'ELIDE';\n \n // add a new column and then pass in that newly-added column\n // as d3DomElement to the recursive call to child:\n headerTr.append('<td class=\"' + label + 'Header\"></td>');\n headerTr.find('td:last').append(elide ? \"…\" : ind);\n \n contentTr.append('<td class=\"'+ label + 'Elt\"></td>');\n if (!elide) {\n myViz.renderNestedObject(val, stepNum, contentTr.find('td:last'));\n ind++;\n }\n else {\n contentTr.find('td:last').append(\"…\");\n ind += val[1]; // val[1] is the number of cells to skip\n }\n }\n } // end of LIST handling\n\n // Stack and Queue handling code by Will Gwozdz\n /* The table produced for stacks and queues is formed slightly differently than the others,\n missing the header row. Two rows made the dashed border not line up properly */\n if (obj[0] == 'STACK') { \n tbl.append('<tr></tr><tr></tr>');\n var contentTr = tbl.find('tr:last');\n contentTr.append('<td class=\"'+ label + 'FElt\">'+'<span class=\"stringObj symbolic\">↔</span>'+'</td>');\n $.each(obj, function(ind, val) {\n if (ind < 1) return; // skip type tag and ID entry\n contentTr.append('<td class=\"'+ label + 'Elt\"></td>');\n myViz.renderNestedObject(val, stepNum, contentTr.find('td:last'));\n });\n contentTr.append('<td class=\"'+ label + 'LElt\">'+'</td>');\n }\n \n if (obj[0] == 'QUEUE') { \n tbl.append('<tr></tr><tr></tr>');\n var contentTr = tbl.find('tr:last'); \n // Add arrows showing in/out direction\n contentTr.append('<td class=\"'+ label + 'FElt\">'+'<span class=\"stringObj symbolic\">←</span></td>'); \n $.each(obj, function(ind, val) {\n if (ind < 1) return; // skip type tag and ID entry\n contentTr.append('<td class=\"'+ label + 'Elt\"></td>');\n myViz.renderNestedObject(val, stepNum, contentTr.find('td:last'));\n });\n contentTr.append('<td class=\"'+ label + 'LElt\">'+'<span class=\"stringObj symbolic\">←</span></td>'); \n }\n\n return [true]; // did handle\n });\n\n this.add_pytutor_hook(\n \"end_renderDataStructures\",\n function(args) {\n var myViz = args.myViz;\n myViz.domRoot.find(\"td.instKey:contains('___NO_LABEL!___')\").hide();\n myViz.domRoot.find(\".typeLabel:contains('dict')\").each(\n function(i) {\n if ($(this).html()=='dict')\n $(this).html('symbol table');\n if ($(this).html()=='empty dict')\n $(this).html('empty symbol table');\n });\n });\n\n // java synthetics cause things which javascript doesn't like in an id\n\n // VERY important to bind(this) so that when it's called, 'this' is this current object\n var old_generateID = ExecutionVisualizer.prototype.generateID.bind(this);\n this.generateID = function(original_id) {\n var sanitized = original_id.replace(\n /[^0-9a-zA-Z_]/g,\n function(match) {return '-'+match.charCodeAt(0)+'-';}\n );\n return old_generateID(sanitized);\n }\n\n // utility functions\n var entityMap = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': '"',\n \"'\": ''',\n \"/\": '/'\n };\n\n var escapeHtml = function(string) {\n return String(string).replace(/[&<>\"'\\/]/g, function (s) {\n return entityMap[s];\n });\n };\n\n}\n"]}
|