0
0
mirror of https://github.com/twbs/bootstrap.git synced 2024-12-10 22:24:19 +01:00
Bootstrap/docs/assets/js/vendor/holder.min.js
2015-09-05 07:51:14 +03:00

12 lines
29 KiB
JavaScript

/*!
Holder - client side image placeholders
Version 2.8.2+c34r9
© 2015 Ivan Malopinsky - http://imsky.co
Site: http://holderjs.com
Issues: https://github.com/imsky/holder/issues
License: MIT
*/
!function(e){if(e.document){var t=e.document;t.querySelectorAll||(t.querySelectorAll=function(n){var r,i=t.createElement("style"),o=[];for(t.documentElement.firstChild.appendChild(i),t._qsa=[],i.styleSheet.cssText=n+"{x-qsa:expression(document._qsa && document._qsa.push(this))}",e.scrollBy(0,0),i.parentNode.removeChild(i);t._qsa.length;)r=t._qsa.shift(),r.style.removeAttribute("x-qsa"),o.push(r);return t._qsa=null,o}),t.querySelector||(t.querySelector=function(e){var n=t.querySelectorAll(e);return n.length?n[0]:null}),t.getElementsByClassName||(t.getElementsByClassName=function(e){return e=String(e).replace(/^|\s+/g,"."),t.querySelectorAll(e)}),Object.keys||(Object.keys=function(e){if(e!==Object(e))throw TypeError("Object.keys called on non-object");var t,n=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.push(t);return n}),Array.prototype.forEach||(Array.prototype.forEach=function(e){if(void 0===this||null===this)throw TypeError();var t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw TypeError();var r,i=arguments[1];for(r=0;n>r;r++)r in t&&e.call(i,t[r],r,t)}),function(e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.atob=e.atob||function(e){e=String(e);var n,r=0,i=[],o=0,a=0;if(e=e.replace(/\s/g,""),e.length%4===0&&(e=e.replace(/=+$/,"")),e.length%4===1)throw Error("InvalidCharacterError");if(/[^+/0-9A-Za-z]/.test(e))throw Error("InvalidCharacterError");for(;r<e.length;)n=t.indexOf(e.charAt(r)),o=o<<6|n,a+=6,24===a&&(i.push(String.fromCharCode(o>>16&255)),i.push(String.fromCharCode(o>>8&255)),i.push(String.fromCharCode(255&o)),a=0,o=0),r+=1;return 12===a?(o>>=4,i.push(String.fromCharCode(255&o))):18===a&&(o>>=2,i.push(String.fromCharCode(o>>8&255)),i.push(String.fromCharCode(255&o))),i.join("")},e.btoa=e.btoa||function(e){e=String(e);var n,r,i,o,a,s,l,d=0,h=[];if(/[^\x00-\xFF]/.test(e))throw Error("InvalidCharacterError");for(;d<e.length;)n=e.charCodeAt(d++),r=e.charCodeAt(d++),i=e.charCodeAt(d++),o=n>>2,a=(3&n)<<4|r>>4,s=(15&r)<<2|i>>6,l=63&i,d===e.length+2?(s=64,l=64):d===e.length+1&&(l=64),h.push(t.charAt(o),t.charAt(a),t.charAt(s),t.charAt(l));return h.join("")}}(e),Object.prototype.hasOwnProperty||(Object.prototype.hasOwnProperty=function(e){var t=this.__proto__||this.constructor.prototype;return e in this&&(!(e in t)||t[e]!==this[e])}),function(){if("performance"in e==!1&&(e.performance={}),Date.now=Date.now||function(){return(new Date).getTime()},"now"in e.performance==!1){var t=Date.now();performance.timing&&performance.timing.navigationStart&&(t=performance.timing.navigationStart),e.performance.now=function(){return Date.now()-t}}}(),e.requestAnimationFrame||(e.webkitRequestAnimationFrame?!function(e){e.requestAnimationFrame=function(t){return webkitRequestAnimationFrame(function(){t(e.performance.now())})},e.cancelAnimationFrame=webkitCancelAnimationFrame}(e):e.mozRequestAnimationFrame?!function(e){e.requestAnimationFrame=function(t){return mozRequestAnimationFrame(function(){t(e.performance.now())})},e.cancelAnimationFrame=mozCancelAnimationFrame}(e):!function(e){e.requestAnimationFrame=function(t){return e.setTimeout(t,1e3/60)},e.cancelAnimationFrame=e.clearTimeout}(e))}}(this),function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):"object"==typeof exports?exports.Holder=t():e.Holder=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){(function(t){function r(e,t,n,r){var a=i(n.substr(n.lastIndexOf(e.domain)),e);a&&o({mode:null,el:r,flags:a,engineSettings:t})}function i(e,t){var n={theme:k(M.settings.themes.gray,null),stylesheets:t.stylesheets,instanceOptions:t},r=e.split("?"),i=r[0].split("/");n.holderURL=e;var o=i[1],a=o.match(/([\d]+p?)x([\d]+p?)/);if(!a)return!1;if(n.fluid=-1!==o.indexOf("p"),n.dimensions={width:a[1].replace("p","%"),height:a[2].replace("p","%")},2===r.length){var s=v.parse(r[1]);if(s.bg&&(n.theme.background=w.parseColor(s.bg)),s.fg&&(n.theme.foreground=w.parseColor(s.fg)),s.bg&&!s.fg&&(n.autoFg=!0),s.theme&&n.instanceOptions.themes.hasOwnProperty(s.theme)&&(n.theme=k(n.instanceOptions.themes[s.theme],null)),s.text&&(n.text=s.text),s.textmode&&(n.textmode=s.textmode),s.size&&(n.size=s.size),s.font&&(n.font=s.font),s.align&&(n.align=s.align),n.nowrap=w.truthy(s.nowrap),n.auto=w.truthy(s.auto),n.outline=w.truthy(s.outline),w.truthy(s.random)){M.vars.cache.themeKeys=M.vars.cache.themeKeys||Object.keys(n.instanceOptions.themes);var l=M.vars.cache.themeKeys[0|Math.random()*M.vars.cache.themeKeys.length];n.theme=k(n.instanceOptions.themes[l],null)}}return n}function o(e){var t=e.mode,n=e.el,r=e.flags,i=e.engineSettings,o=r.dimensions,s=r.theme,l=o.width+"x"+o.height;if(t=null==t?r.fluid?"fluid":"image":t,null!=r.text&&(s.text=r.text,"object"===n.nodeName.toLowerCase())){for(var u=s.text.split("\\n"),c=0;c<u.length;c++)u[c]=w.encodeHtmlEntity(u[c]);s.text=u.join("\\n")}var f=r.holderURL,p=k(i,null);if(r.font&&(s.font=r.font,!p.noFontFallback&&"img"===n.nodeName.toLowerCase()&&M.setup.supportsCanvas&&"svg"===p.renderer&&(p=k(p,{renderer:"canvas"}))),r.font&&"canvas"==p.renderer&&(p.reRender=!0),"background"==t)null==n.getAttribute("data-background-src")&&x.setAttr(n,{"data-background-src":f});else{var g={};g[M.vars.dataAttr]=f,x.setAttr(n,g)}r.theme=s,n.holderData={flags:r,engineSettings:p},("image"==t||"fluid"==t)&&x.setAttr(n,{alt:s.text?s.text+" ["+l+"]":l});var m={mode:t,el:n,holderSettings:{dimensions:o,theme:s,flags:r},engineSettings:p};"image"==t?(r.auto||(n.style.width=o.width+"px",n.style.height=o.height+"px"),"html"==p.renderer?n.style.backgroundColor=s.background:(a(m),"exact"==r.textmode&&(n.holderData.resizeUpdate=!0,M.vars.resizableImages.push(n),d(n)))):"background"==t&&"html"!=p.renderer?a(m):"fluid"==t&&(n.holderData.resizeUpdate=!0,"%"==o.height.slice(-1)?n.style.height=o.height:null!=r.auto&&r.auto||(n.style.height=o.height+"px"),"%"==o.width.slice(-1)?n.style.width=o.width:null!=r.auto&&r.auto||(n.style.width=o.width+"px"),("inline"==n.style.display||""===n.style.display||"none"==n.style.display)&&(n.style.display="block"),h(n),"html"==p.renderer?n.style.backgroundColor=s.background:(M.vars.resizableImages.push(n),d(n)))}function a(e){function n(){var t=null;switch(l.renderer){case"canvas":t=z(h,e);break;case"svg":t=C(h,e);break;default:throw"Holder: invalid renderer: "+l.renderer}return t}var r=null,i=e.mode,o=e.el,a=e.holderSettings,l=e.engineSettings;switch(l.renderer){case"svg":if(!M.setup.supportsSVG)return;break;case"canvas":if(!M.setup.supportsCanvas)return;break;default:return}var d={width:a.dimensions.width,height:a.dimensions.height,theme:a.theme,flags:a.flags},h=s(d);if(r=n(),null==r)throw"Holder: couldn't render placeholder";"background"==i?(o.style.backgroundImage="url("+r+")",o.style.backgroundSize=d.width+"px "+d.height+"px"):("img"===o.nodeName.toLowerCase()?x.setAttr(o,{src:r}):"object"===o.nodeName.toLowerCase()&&(x.setAttr(o,{data:r}),x.setAttr(o,{type:"image/svg+xml"})),l.reRender&&t.setTimeout(function(){var e=n();if(null==e)throw"Holder: couldn't render placeholder";"img"===o.nodeName.toLowerCase()?x.setAttr(o,{src:e}):"object"===o.nodeName.toLowerCase()&&(x.setAttr(o,{data:e}),x.setAttr(o,{type:"image/svg+xml"}))},150)),x.setAttr(o,{"data-holder-rendered":!0})}function s(e){function t(e,t,n,r){t.width=n,t.height=r,e.width=Math.max(e.width,t.width),e.height+=t.height}var n=M.defaults.size;switch(parseFloat(e.theme.size)?n=e.theme.size:parseFloat(e.flags.size)&&(n=e.flags.size),e.font={family:e.theme.font?e.theme.font:"Arial, Helvetica, Open Sans, sans-serif",size:l(e.width,e.height,n,M.defaults.scale),units:e.theme.units?e.theme.units:M.defaults.units,weight:e.theme.fontweight?e.theme.fontweight:"bold"},e.text=e.theme.text||Math.floor(e.width)+"x"+Math.floor(e.height),e.noWrap=e.theme.nowrap||e.flags.nowrap,e.align=e.theme.align||e.flags.align||"center",e.flags.textmode){case"literal":e.text=e.flags.dimensions.width+"x"+e.flags.dimensions.height;break;case"exact":if(!e.flags.exactDimensions)break;e.text=Math.floor(e.flags.exactDimensions.width)+"x"+Math.floor(e.flags.exactDimensions.height)}var r=new y({width:e.width,height:e.height}),i=r.Shape,o=new i.Rect("holderBg",{fill:e.theme.background});if(o.resize(e.width,e.height),r.root.add(o),e.flags.outline){var a=new S(o.properties.fill);a=a.lighten(a.lighterThan("7f7f7f")?-.1:.1),o.properties.outline={fill:a.toHex(!0),width:2}}var s=e.theme.foreground;if(e.flags.autoFg){var d=new S(o.properties.fill),h=new S("fff"),u=new S("000",{alpha:.285714});s=d.blendAlpha(d.lighterThan("7f7f7f")?u:h).toHex(!0)}var c=new i.Group("holderTextGroup",{text:e.text,align:e.align,font:e.font,fill:s});c.moveTo(null,null,1),r.root.add(c);var f=c.textPositionData=j(r);if(!f)throw"Holder: staging fallback not supported yet.";c.properties.leading=f.boundingBox.height;var p=null,g=null,m=e.width*M.vars.lineWrapRatio,v=m;if(f.lineCount>1){var w,b=0,x=0,A=0;g=new i.Group("line"+A),("left"===e.align||"right"===e.align)&&(v=e.width*(1-2*(1-M.vars.lineWrapRatio)));for(var C=0;C<f.words.length;C++){var k=f.words[C];p=new i.Text(k.text);var E="\\n"==k.text;!e.noWrap&&(b+k.width>=v||E===!0)&&(t(c,g,b,c.properties.leading),c.add(g),b=0,x+=c.properties.leading,A+=1,g=new i.Group("line"+A),g.y=x),E!==!0&&(p.moveTo(b,0),b+=f.spaceWidth+k.width,g.add(p))}if(t(c,g,b,c.properties.leading),c.add(g),"left"===e.align)c.moveTo(e.width-m,null,null);else if("right"===e.align){for(w in c.children)g=c.children[w],g.moveTo(e.width-g.width,null,null);c.moveTo(0-(e.width-m),null,null)}else{for(w in c.children)g=c.children[w],g.moveTo((c.width-g.width)/2,null,null);c.moveTo((e.width-c.width)/2,null,null)}c.moveTo(null,(e.height-c.height)/2,null),(e.height-c.height)/2<0&&c.moveTo(null,0,null)}else p=new i.Text(e.text),g=new i.Group("line0"),g.add(p),c.add(g),"left"===e.align?c.moveTo(e.width-m,null,null):"right"===e.align?c.moveTo(0-(e.width-m),null,null):c.moveTo((e.width-f.boundingBox.width)/2,null,null),c.moveTo(null,(e.height-f.boundingBox.height)/2,null);return r}function l(e,t,n,r){var i=parseInt(e,10),o=parseInt(t,10),a=Math.max(i,o),s=Math.min(i,o),l=.8*Math.min(s,a*r);return Math.round(Math.max(n,l))}function d(e){var t;t=null==e||null==e.nodeType?M.vars.resizableImages:[e];for(var n=0,r=t.length;r>n;n++){var i=t[n];if(i.holderData){var o=i.holderData.flags,s=E(i);if(s){if(!i.holderData.resizeUpdate)continue;if(o.fluid&&o.auto){var l=i.holderData.fluidConfig;switch(l.mode){case"width":s.height=s.width/l.ratio;break;case"height":s.width=s.height*l.ratio}}var d={mode:"image",holderSettings:{dimensions:s,theme:o.theme,flags:o},el:i,engineSettings:i.holderData.engineSettings};"exact"==o.textmode&&(o.exactDimensions=s,d.holderSettings.dimensions=o.dimensions),a(d)}else f(i)}}}function h(e){if(e.holderData){var t=E(e);if(t){var n=e.holderData.flags,r={fluidHeight:"%"==n.dimensions.height.slice(-1),fluidWidth:"%"==n.dimensions.width.slice(-1),mode:null,initialDimensions:t};r.fluidWidth&&!r.fluidHeight?(r.mode="width",r.ratio=r.initialDimensions.width/parseFloat(n.dimensions.height)):!r.fluidWidth&&r.fluidHeight&&(r.mode="height",r.ratio=parseFloat(n.dimensions.width)/r.initialDimensions.height),e.holderData.fluidConfig=r}else f(e)}}function u(){var e,n=[],r=Object.keys(M.vars.invisibleImages);r.forEach(function(t){e=M.vars.invisibleImages[t],E(e)&&"img"==e.nodeName.toLowerCase()&&(n.push(e),delete M.vars.invisibleImages[t])}),n.length&&F.run({images:n}),setTimeout(function(){t.requestAnimationFrame(u)},10)}function c(){M.vars.visibilityCheckStarted||(t.requestAnimationFrame(u),M.vars.visibilityCheckStarted=!0)}function f(e){e.holderData.invisibleId||(M.vars.invisibleId+=1,M.vars.invisibleImages["i"+M.vars.invisibleId]=e,e.holderData.invisibleId=M.vars.invisibleId)}function p(e){M.vars.debounceTimer||e.call(this),M.vars.debounceTimer&&t.clearTimeout(M.vars.debounceTimer),M.vars.debounceTimer=t.setTimeout(function(){M.vars.debounceTimer=null,e.call(this)},M.setup.debounce)}function g(){p(function(){d(null)})}var m=n(2),v=n(3),y=n(4),w=n(5),b=n(6),x=n(7),S=n(8),A=n(9),C=n(10),k=w.extend,E=w.dimensionCheck,T=A.svg_ns,F={version:A.version,addTheme:function(e,t){return null!=e&&null!=t&&(M.settings.themes[e]=t),delete M.vars.cache.themeKeys,this},addImage:function(e,t){var n=x.getNodeArray(t);return n.forEach(function(t){var n=x.newEl("img"),r={};r[M.setup.dataAttr]=e,x.setAttr(n,r),t.appendChild(n)}),this},setResizeUpdate:function(e,t){e.holderData&&(e.holderData.resizeUpdate=!!t,e.holderData.resizeUpdate&&d(e))},run:function(e){e=e||{};var n={},a=k(M.settings,e);M.vars.preempted=!0,M.vars.dataAttr=a.dataAttr||M.setup.dataAttr,M.vars.lineWrapRatio=a.lineWrapRatio||M.setup.lineWrapRatio,n.renderer=a.renderer?a.renderer:M.setup.renderer,-1===M.setup.renderers.join(",").indexOf(n.renderer)&&(n.renderer=M.setup.supportsSVG?"svg":M.setup.supportsCanvas?"canvas":"html");var s=x.getNodeArray(a.images),l=x.getNodeArray(a.bgnodes),d=x.getNodeArray(a.stylenodes),h=x.getNodeArray(a.objects);return n.stylesheets=[],n.svgXMLStylesheet=!0,n.noFontFallback=a.noFontFallback?a.noFontFallback:!1,d.forEach(function(e){if(e.attributes.rel&&e.attributes.href&&"stylesheet"==e.attributes.rel.value){var t=e.attributes.href.value,r=x.newEl("a");r.href=t;var i=r.protocol+"//"+r.host+r.pathname+r.search;n.stylesheets.push(i)}}),l.forEach(function(e){if(t.getComputedStyle){var r=t.getComputedStyle(e,null).getPropertyValue("background-image"),s=e.getAttribute("data-background-src"),l=s||r,d=null,h=a.domain+"/",u=l.indexOf(h);if(0===u)d=l;else if(1===u&&"?"===l[0])d=l.slice(1);else{var c=l.substr(u).match(/([^\"]*)"?\)/);if(null!==c)d=c[1];else if(0===l.indexOf("url("))throw"Holder: unable to parse background URL: "+l}if(null!=d){var f=i(d,a);f&&o({mode:"background",el:e,flags:f,engineSettings:n})}}}),h.forEach(function(e){var t={};try{t.data=e.getAttribute("data"),t.dataSrc=e.getAttribute(M.vars.dataAttr)}catch(i){}var o=null!=t.data&&0===t.data.indexOf(a.domain),s=null!=t.dataSrc&&0===t.dataSrc.indexOf(a.domain);o?r(a,n,t.data,e):s&&r(a,n,t.dataSrc,e)}),s.forEach(function(e){var t={};try{t.src=e.getAttribute("src"),t.dataSrc=e.getAttribute(M.vars.dataAttr),t.rendered=e.getAttribute("data-holder-rendered")}catch(i){}var o=null!=t.src,s=null!=t.dataSrc&&0===t.dataSrc.indexOf(a.domain),l=null!=t.rendered&&"true"==t.rendered;o?0===t.src.indexOf(a.domain)?r(a,n,t.src,e):s&&(l?r(a,n,t.dataSrc,e):!function(e,t,n,i,o){w.imageExists(e,function(e){e||r(t,n,i,o)})}(t.src,a,n,t.dataSrc,e)):s&&r(a,n,t.dataSrc,e)}),this}},M={settings:{domain:"holder.js",images:"img",objects:"object",bgnodes:"body .holderjs",stylenodes:"head link.holderjs",themes:{gray:{background:"#EEEEEE",foreground:"#AAAAAA"},social:{background:"#3a5a97",foreground:"#FFFFFF"},industrial:{background:"#434A52",foreground:"#C2F200"},sky:{background:"#0D8FDB",foreground:"#FFFFFF"},vine:{background:"#39DBAC",foreground:"#1E292C"},lava:{background:"#F8591A",foreground:"#1C2846"}}},defaults:{size:10,units:"pt",scale:1/16}},j=function(){var e=null,t=null,n=null;return function(r){var i=r.root;if(M.setup.supportsSVG){var o=!1,a=function(e){return document.createTextNode(e)};(null==e||e.parentNode!==document.body)&&(o=!0),e=b.initSVG(e,i.properties.width,i.properties.height),e.style.display="block",o&&(t=x.newEl("text",T),n=a(null),x.setAttr(t,{x:0}),t.appendChild(n),e.appendChild(t),document.body.appendChild(e),e.style.visibility="hidden",e.style.position="absolute",e.style.top="-100%",e.style.left="-100%");var s=i.children.holderTextGroup,l=s.properties;x.setAttr(t,{y:l.font.size,style:w.cssProps({"font-weight":l.font.weight,"font-size":l.font.size+l.font.units,"font-family":l.font.family})}),n.nodeValue=l.text;var d=t.getBBox(),h=Math.ceil(d.width/(i.properties.width*M.vars.lineWrapRatio)),u=l.text.split(" "),c=l.text.match(/\\n/g);h+=null==c?0:c.length,n.nodeValue=l.text.replace(/[ ]+/g,"");var f=t.getComputedTextLength(),p=d.width-f,g=Math.round(p/Math.max(1,u.length-1)),m=[];if(h>1){n.nodeValue="";for(var v=0;v<u.length;v++)if(0!==u[v].length){n.nodeValue=w.decodeHtmlEntity(u[v]);var y=t.getBBox();m.push({text:u[v],width:y.width})}}return e.style.display="none",{spaceWidth:g,lineCount:h,boundingBox:d,words:m}}return!1}}(),z=function(){var e=x.newEl("canvas"),t=null;return function(n){null==t&&(t=e.getContext("2d"));var r=n.root;e.width=M.dpr(r.properties.width),e.height=M.dpr(r.properties.height),t.textBaseline="middle";var i=r.children.holderBg,o=M.dpr(i.width),a=M.dpr(i.height),s=2,l=s/2;t.fillStyle=i.properties.fill,t.fillRect(0,0,o,a),i.properties.outline&&(t.strokeStyle=i.properties.outline.fill,t.lineWidth=i.properties.outline.width,t.moveTo(l,l),t.lineTo(o-l,l),t.lineTo(o-l,a-l),t.lineTo(l,a-l),t.lineTo(l,l),t.moveTo(0,l),t.lineTo(o,a-l),t.moveTo(0,a-l),t.lineTo(o,l),t.stroke());var d=r.children.holderTextGroup;t.font=d.properties.font.weight+" "+M.dpr(d.properties.font.size)+d.properties.font.units+" "+d.properties.font.family+", monospace",t.fillStyle=d.properties.fill;for(var h in d.children){var u=d.children[h];for(var c in u.children){var f=u.children[c],p=M.dpr(d.x+u.x+f.x),g=M.dpr(d.y+u.y+f.y+d.properties.leading/2);t.fillText(f.properties.text,p,g)}}return e.toDataURL("image/png")}}();for(var D in M.flags)M.flags.hasOwnProperty(D)&&(M.flags[D].match=function(e){return e.match(this.regex)});M.setup={renderer:"html",debounce:100,ratio:1,supportsCanvas:!1,supportsSVG:!1,lineWrapRatio:.9,dataAttr:"data-src",renderers:["html","canvas","svg"]},M.dpr=function(e){return e*M.setup.ratio},M.vars={preempted:!1,resizableImages:[],invisibleImages:{},invisibleId:0,visibilityCheckStarted:!1,debounceTimer:null,cache:{}},function(){var e=1,n=1,r=x.newEl("canvas"),i=null;r.getContext&&-1!=r.toDataURL("image/png").indexOf("data:image/png")&&(M.setup.renderer="canvas",i=r.getContext("2d"),M.setup.supportsCanvas=!0),M.setup.supportsCanvas&&(e=t.devicePixelRatio||1,n=i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1),M.setup.ratio=e/n,document.createElementNS&&document.createElementNS(T,"svg").createSVGRect&&(M.setup.renderer="svg",M.setup.supportsSVG=!0)}(),c(),m&&m(function(){M.vars.preempted||F.run(),t.addEventListener?(t.addEventListener("resize",g,!1),t.addEventListener("orientationchange",g,!1)):t.attachEvent("onresize",g),"object"==typeof t.Turbolinks&&t.document.addEventListener("page:change",function(){F.run()})}),e.exports=F}).call(t,function(){return this}())},function(e,t,n){function r(e){function t(e){if(!x){if(!a.body)return i(t);for(x=!0;e=S.shift();)i(e)}}function n(e){(w||e.type===l||a[c]===u)&&(r(),t())}function r(){w?(a[y](m,n,d),e[y](l,n,d)):(a[p](v,n),e[p](h,n))}function i(e,t){setTimeout(e,+t>=0?t:1)}function o(e){x?i(e):S.push(e)}null==document.readyState&&document.addEventListener&&(document.addEventListener("DOMContentLoaded",function C(){document.removeEventListener("DOMContentLoaded",C,!1),document.readyState="complete"},!1),document.readyState="loading");var a=e.document,s=a.documentElement,l="load",d=!1,h="on"+l,u="complete",c="readyState",f="attachEvent",p="detachEvent",g="addEventListener",m="DOMContentLoaded",v="onreadystatechange",y="removeEventListener",w=g in a,b=d,x=d,S=[];if(a[c]===u)i(t);else if(w)a[g](m,n,d),e[g](l,n,d);else{a[f](v,n),e[f](h,n);try{b=null==e.frameElement&&s}catch(A){}b&&b.doScroll&&!function k(){if(!x){try{b.doScroll("left")}catch(e){return i(k,50)}r(),t()}}()}return o.version="1.4.0",o.isReady=function(){return x},o}e.exports="undefined"!=typeof window&&r(window)},function(e,t,n){var r=encodeURIComponent,i=decodeURIComponent,o=n(11),a=n(12),s=/(\w+)\[(\d+)\]/,l=/\w+\.\w+/;t.parse=function(e){if("string"!=typeof e)return{};if(e=o(e),""===e)return{};"?"===e.charAt(0)&&(e=e.slice(1));for(var t={},n=e.split("&"),r=0;r<n.length;r++){var a,d,h,u=n[r].split("="),c=i(u[0]);if(a=s.exec(c))t[a[1]]=t[a[1]]||[],t[a[1]][a[2]]=i(u[1]);else if(a=l.test(c)){for(a=c.split("."),d=t;a.length;)if(h=a.shift(),h.length){if(d[h]){if(d[h]&&"object"!=typeof d[h])break}else d[h]={};a.length||(d[h]=i(u[1])),d=d[h]}}else t[u[0]]=null==u[1]?"":i(u[1])}return t},t.stringify=function(e){if(!e)return"";var t=[];for(var n in e){var i=e[n];if("array"!=a(i))t.push(r(n)+"="+r(e[n]));else for(var o=0;o<i.length;++o)t.push(r(n+"["+o+"]")+"="+r(i[o]))}return t.join("&")}},function(e,t,n){var r=function(e){function t(e,t){for(var n in t)e[n]=t[n];return e}var n=1,r=function(e){n++,this.parent=null,this.children={},this.id=n,this.name="n"+n,"undefined"!=typeof e&&(this.name=e),this.x=this.y=this.z=0,this.width=this.height=0};r.prototype.resize=function(e,t){null!=e&&(this.width=e),null!=t&&(this.height=t)},r.prototype.moveTo=function(e,t,n){this.x=null!=e?e:this.x,this.y=null!=t?t:this.y,this.z=null!=n?n:this.z},r.prototype.add=function(e){var t=e.name;if("undefined"!=typeof this.children[t])throw"SceneGraph: child already exists: "+t;this.children[t]=e,e.parent=this};var i=function(){r.call(this,"root"),this.properties=e};i.prototype=new r;var o=function(e,n){if(r.call(this,e),this.properties={fill:"#000000"},"undefined"!=typeof n)t(this.properties,n);else if("undefined"!=typeof e&&"string"!=typeof e)throw"SceneGraph: invalid node name"};o.prototype=new r;var a=function(){o.apply(this,arguments),this.type="group"};a.prototype=new o;var s=function(){o.apply(this,arguments),this.type="rect"};s.prototype=new o;var l=function(e){o.call(this),this.type="text",this.properties.text=e};l.prototype=new o;var d=new i;return this.Shape={Rect:s,Text:l,Group:a},this.root=d,this};e.exports=r},function(e,t,n){t.extend=function(e,t){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=e[r]);if(null!=t)for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);return n},t.cssProps=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n+":"+e[n]);return t.join(";")},t.encodeHtmlEntity=function(e){for(var t=[],n=0,r=e.length-1;r>=0;r--)n=e.charCodeAt(r),t.unshift(n>128?["&#",n,";"].join(""):e[r]);return t.join("")},t.imageExists=function(e,t){var n=new Image;n.onerror=function(){t.call(this,!1)},n.onload=function(){t.call(this,!0)},n.src=e},t.decodeHtmlEntity=function(e){return e.replace(/&#(\d+);/g,function(e,t){return String.fromCharCode(t)})},t.dimensionCheck=function(e){var t={height:e.clientHeight,width:e.clientWidth};return t.height&&t.width?t:!1},t.truthy=function(e){return"string"==typeof e?"true"===e||"yes"===e||"1"===e||"on"===e||"✓"===e:!!e},t.parseColor=function(e){var t,n=/(^(?:#?)[0-9a-f]{6}$)|(^(?:#?)[0-9a-f]{3}$)/i,r=/^rgb\((\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/,i=/^rgba\((\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(0\.\d{1,}|1)\)$/,o=e.match(n);return null!==o?(t=o[1]||o[2],"#"!==t[0]?"#"+t:t):(o=e.match(r),null!==o?t="rgb("+o.slice(1).join(",")+")":(o=e.match(i),null!==o?t="rgba("+o.slice(1).join(",")+")":null))}},function(e,t,n){(function(e){var r=n(7),i="http://www.w3.org/2000/svg",o=8;t.initSVG=function(e,t,n){var a,s,l=!1;e&&e.querySelector?(s=e.querySelector("style"),null===s&&(l=!0)):(e=r.newEl("svg",i),l=!0),l&&(a=r.newEl("defs",i),s=r.newEl("style",i),r.setAttr(s,{type:"text/css"}),a.appendChild(s),e.appendChild(a)),e.webkitMatchesSelector&&e.setAttribute("xmlns",i);for(var d=0;d<e.childNodes.length;d++)e.childNodes[d].nodeType===o&&e.removeChild(e.childNodes[d]);for(;s.childNodes.length;)s.removeChild(s.childNodes[0]);return r.setAttr(e,{width:t,height:n,viewBox:"0 0 "+t+" "+n,preserveAspectRatio:"none"}),e},t.svgStringToDataURI=function(){var t="data:image/svg+xml;charset=UTF-8,",n="data:image/svg+xml;charset=UTF-8;base64,";return function(r,i){return i?n+btoa(e.unescape(encodeURIComponent(r))):t+encodeURIComponent(r)}}(),t.serializeSVG=function(t,n){if(e.XMLSerializer){var i=new XMLSerializer,o="",a=n.stylesheets;if(n.svgXMLStylesheet){for(var s=r.createXML(),l=a.length-1;l>=0;l--){var d=s.createProcessingInstruction("xml-stylesheet",'href="'+a[l]+'" rel="stylesheet"');s.insertBefore(d,s.firstChild)}s.removeChild(s.documentElement),o=i.serializeToString(s)}var h=i.serializeToString(t);return h=h.replace(/\&amp;(\#[0-9]{2,}\;)/g,"&$1"),o+h}}}).call(t,function(){return this}())},function(e,t,n){(function(e){t.newEl=function(t,n){return e.document?null==n?e.document.createElement(t):e.document.createElementNS(n,t):void 0},t.setAttr=function(e,t){for(var n in t)e.setAttribute(n,t[n])},t.createXML=function(){return e.DOMParser?(new DOMParser).parseFromString("<xml />","application/xml"):void 0},t.getNodeArray=function(t){var n=null;return"string"==typeof t?n=document.querySelectorAll(t):e.NodeList&&t instanceof e.NodeList?n=t:e.Node&&t instanceof e.Node?n=[t]:e.HTMLCollection&&t instanceof e.HTMLCollection?n=t:t instanceof Array?n=t:null===t&&(n=[]),n=Array.prototype.slice.call(n)}}).call(t,function(){return this}())},function(e,t,n){var r=function(e,t){"string"==typeof e&&(this.original=e,"#"===e.charAt(0)&&(e=e.slice(1)),/[^a-f0-9]+/i.test(e)||(3===e.length&&(e=e.replace(/./g,"$&$&")),6===e.length&&(this.alpha=1,t&&t.alpha&&(this.alpha=t.alpha),this.set(parseInt(e,16)))))};r.rgb2hex=function(e,t,n){function r(e){var t=(0|e).toString(16);return 16>e&&(t="0"+t),t}return[e,t,n].map(r).join("")},r.hsl2rgb=function(e,t,n){var r=e/60,i=(1-Math.abs(2*n-1))*t,o=i*(1-Math.abs(parseInt(r)%2-1)),a=n-i/2,s=0,l=0,d=0;return r>=0&&1>r?(s=i,l=o):r>=1&&2>r?(s=o,l=i):r>=2&&3>r?(l=i,d=o):r>=3&&4>r?(l=o,d=i):r>=4&&5>r?(s=o,d=i):r>=5&&6>r&&(s=i,d=o),s+=a,l+=a,d+=a,s=parseInt(255*s),l=parseInt(255*l),d=parseInt(255*d),[s,l,d]},r.prototype.set=function(e){this.raw=e;var t=(16711680&this.raw)>>16,n=(65280&this.raw)>>8,r=255&this.raw,i=.2126*t+.7152*n+.0722*r,o=-.09991*t-.33609*n+.436*r,a=.615*t-.55861*n-.05639*r;return this.rgb={r:t,g:n,b:r},this.yuv={y:i,u:o,v:a},this},r.prototype.lighten=function(e){var t=Math.min(1,Math.max(0,Math.abs(e)))*(0>e?-1:1),n=255*t|0,i=Math.min(255,Math.max(0,this.rgb.r+n)),o=Math.min(255,Math.max(0,this.rgb.g+n)),a=Math.min(255,Math.max(0,this.rgb.b+n)),s=r.rgb2hex(i,o,a);return new r(s)},r.prototype.toHex=function(e){return(e?"#":"")+this.raw.toString(16)},r.prototype.lighterThan=function(e){return e instanceof r||(e=new r(e)),this.yuv.y>e.yuv.y},r.prototype.blendAlpha=function(e){e instanceof r||(e=new r(e));var t=e,n=this,i=t.alpha*t.rgb.r+(1-t.alpha)*n.rgb.r,o=t.alpha*t.rgb.g+(1-t.alpha)*n.rgb.g,a=t.alpha*t.rgb.b+(1-t.alpha)*n.rgb.b;return new r(r.rgb2hex(i,o,a))},e.exports=r},function(e,t,n){e.exports={version:"2.8.2",svg_ns:"http://www.w3.org/2000/svg"}},function(e,t,n){(function(t){var r=n(6),i=n(7),o=n(5),a=n(9),s=a.svg_ns,l="\nCreated with Holder.js "+a.version+".\nLearn more at http://holderjs.com\n(c) 2012-2015 Ivan Malopinsky - http://imsky.co\n";e.exports=function(){if(t.XMLSerializer){var e=i.createXML(),n=r.initSVG(null,0,0),a=i.newEl("rect",s);return n.appendChild(a),function(t,d){var h=t.root;r.initSVG(n,h.properties.width,h.properties.height);for(var u=n.querySelectorAll("g"),c=0;c<u.length;c++)u[c].parentNode.removeChild(u[c]);var f=d.holderSettings.flags.holderURL,p="holder_"+(Number(new Date)+32768+(0|32768*Math.random())).toString(16),g=i.newEl("g",s),m=h.children.holderTextGroup,v=m.properties,y=i.newEl("g",s),w=m.textPositionData,b="#"+p+" text { "+o.cssProps({fill:v.fill,"font-weight":v.font.weight,"font-family":v.font.family+", monospace","font-size":v.font.size+v.font.units})+" } ",x=e.createComment("\nSource URL: "+f+l),S=e.createCDATASection(b),A=n.querySelector("style"),C=h.children.holderBg;if(i.setAttr(g,{id:p}),n.insertBefore(x,n.firstChild),A.appendChild(S),g.appendChild(a),C.properties.outline){var k=i.newEl("path",s),E=C.properties.outline.width,T=E/2;i.setAttr(k,{d:["M",T,T,"H",C.width-T,"V",C.height-T,"H",T,"V",0,"M",0,T,"L",C.width,C.height-T,"M",0,C.height-T,"L",C.width,T].join(" "),"stroke-width":C.properties.outline.width,stroke:C.properties.outline.fill,fill:"none"}),g.appendChild(k)}g.appendChild(y),n.appendChild(g),i.setAttr(a,{width:C.width,height:C.height,fill:C.properties.fill}),m.y+=.8*w.boundingBox.height;for(var F in m.children){var M=m.children[F];for(var j in M.children){var z=M.children[j],D=m.x+M.x+z.x,O=m.y+M.y+z.y,L=i.newEl("text",s),R=document.createTextNode(null);i.setAttr(L,{x:D,y:O}),R.nodeValue=z.properties.text,L.appendChild(R),y.appendChild(L)}}var I=r.svgStringToDataURI(r.serializeSVG(n,d.engineSettings),"background"===d.mode);return I}}}()}).call(t,function(){return this}())},function(e,t,n){function r(e){return e.replace(/^\s*|\s*$/g,"")}t=e.exports=r,t.left=function(e){return e.replace(/^\s*/,"")},t.right=function(e){return e.replace(/\s*$/,"")}},function(e,t,n){var r=Object.prototype.toString;e.exports=function(e){switch(r.call(e)){case"[object Date]":return"date";case"[object RegExp]":return"regexp";case"[object Arguments]":return"arguments";case"[object Array]":return"array";case"[object Error]":return"error"}return null===e?"null":void 0===e?"undefined":e!==e?"nan":e&&1===e.nodeType?"element":(e=e.valueOf?e.valueOf():Object.prototype.valueOf.apply(e),typeof e)}}])}),function(e,t){t&&(Holder=e.Holder)}(this,"undefined"!=typeof Meteor&&"undefined"!=typeof Package);