/*!
* ZeroClipboard
* The ZeroClipboard library provides an easy way to copy text to the clipboard using an invisible Adobe Flash movie and a JavaScript interface.
* Copyright (c) 2014 Jon Rohan, James M. Greene
* Licensed MIT
* http://zeroclipboard.org/
* v2.0.0-beta.3
*/
!function(a){"use strict";var b,c={bridge:null,version:"0.0.0",pluginType:"unknown",disabled:null,outdated:null,unavailable:null,deactivated:null,overdue:null,ready:null},d={},e=0,f={},g=0,h={},i=function(){var a,b,c,d,e="ZeroClipboard.swf";if(document.currentScript&&(d=document.currentScript.src));else{var f=document.getElementsByTagName("script");if("readyState"in f[0])for(a=f.length;a--&&("interactive"!==f[a].readyState||!(d=f[a].src)););else if("loading"===document.readyState)d=f[f.length-1].src;else{for(a=f.length;a--;){if(c=f[a].src,!c){b=null;break}if(c=c.split("#")[0].split("?")[0],c=c.slice(0,c.lastIndexOf("/")+1),null==b)b=c;else if(b!==c){b=null;break}}null!==b&&(d=b)}}return d&&(d=d.split("#")[0].split("?")[0],e=d.slice(0,d.lastIndexOf("/")+1)+e),e}(),j=function(){var a=/\-([a-z])/g,b=function(a,b){return b.toUpperCase()};return function(c){return c.replace(a,b)}}(),k=function(b,c){var d,e,f;return a.getComputedStyle?d=a.getComputedStyle(b,null).getPropertyValue(c):(e=j(c),d=b.currentStyle?b.currentStyle[e]:b.style[e]),"cursor"!==c||d&&"auto"!==d||(f=b.tagName.toLowerCase(),"a"!==f)?d:"pointer"},l=function(b){b||(b=a.event);var c;this!==a?c=this:b.target?c=b.target:b.srcElement&&(c=b.srcElement),H.activate(c)},m=function(a,b,c){a&&1===a.nodeType&&(a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent&&a.attachEvent("on"+b,c))},n=function(a,b,c){a&&1===a.nodeType&&(a.removeEventListener?a.removeEventListener(b,c,!1):a.detachEvent&&a.detachEvent("on"+b,c))},o=function(a,b){if(!a||1!==a.nodeType)return a;if(a.classList)return a.classList.contains(b)||a.classList.add(b),a;if(b&&"string"==typeof b){var c=(b||"").split(/\s+/);if(1===a.nodeType)if(a.className){for(var d=" "+a.className+" ",e=a.className,f=0,g=c.length;g>f;f++)d.indexOf(" "+c[f]+" ")<0&&(e+=" "+c[f]);a.className=e.replace(/^\s+|\s+$/g,"")}else a.className=b}return a},p=function(a,b){if(!a||1!==a.nodeType)return a;if(a.classList)return a.classList.contains(b)&&a.classList.remove(b),a;if(b&&"string"==typeof b||void 0===b){var c=(b||"").split(/\s+/);if(1===a.nodeType&&a.className)if(b){for(var d=(" "+a.className+" ").replace(/[\n\t]/g," "),e=0,f=c.length;f>e;e++)d=d.replace(" "+c[e]+" "," ");a.className=d.replace(/^\s+|\s+$/g,"")}else a.className=""}return a},q=function(){var a,b,c,d=1;return"function"==typeof document.body.getBoundingClientRect&&(a=document.body.getBoundingClientRect(),b=a.right-a.left,c=document.body.offsetWidth,d=Math.round(b/c*100)/100),d},r=function(b,c){var d={left:0,top:0,width:0,height:0,zIndex:x(c)-1};if(b.getBoundingClientRect){var e,f,g,h=b.getBoundingClientRect();"pageXOffset"in a&&"pageYOffset"in a?(e=a.pageXOffset,f=a.pageYOffset):(g=q(),e=Math.round(document.documentElement.scrollLeft/g),f=Math.round(document.documentElement.scrollTop/g));var i=document.documentElement.clientLeft||0,j=document.documentElement.clientTop||0;d.left=h.left+e-i,d.top=h.top+f-j,d.width="width"in h?h.width:h.right-h.left,d.height="height"in h?h.height:h.bottom-h.top}return d},s=function(a,b){var c=null==b||b&&b.cacheBust===!0;return c?(-1===a.indexOf("?")?"?":"&")+"noCache="+(new Date).getTime():""},t=function(b){var c,d,e,f,g="",h=[];if(b.trustedDomains&&("string"==typeof b.trustedDomains?f=[b.trustedDomains]:"object"==typeof b.trustedDomains&&"length"in b.trustedDomains&&(f=b.trustedDomains)),f&&f.length)for(c=0,d=f.length;d>c;c++)if(f.hasOwnProperty(c)&&f[c]&&"string"==typeof f[c]){if(e=z(f[c]),!e)continue;if("*"===e){h=[e];break}h.push.apply(h,[e,"//"+e,a.location.protocol+"//"+e])}return h.length&&(g+="trustedOrigins="+encodeURIComponent(h.join(","))),b.forceEnhancedClipboard===!0&&(g+=(g?"&":"")+"forceEnhancedClipboard=true"),g},u=function(a,b,c){if("function"==typeof b.indexOf)return b.indexOf(a,c);var d,e=b.length;for("undefined"==typeof c?c=0:0>c&&(c=e+c),d=c;e>d;d++)if(b.hasOwnProperty(d)&&b[d]===a)return d;return-1},v=function(a){if("string"==typeof a)throw new TypeError("ZeroClipboard doesn't accept query strings.");return a.length?a:[a]},w=function(b,c,d,e){e?a.setTimeout(function(){b.apply(c,d)},0):b.apply(c,d)},x=function(a){var b,c;return a&&("number"==typeof a&&a>0?b=a:"string"==typeof a&&(c=parseInt(a,10))&&!isNaN(c)&&c>0&&(b=c)),b||("number"==typeof K.zIndex&&K.zIndex>0?b=K.zIndex:"string"==typeof K.zIndex&&(c=parseInt(K.zIndex,10))&&!isNaN(c)&&c>0&&(b=c)),b||0},y=function(){var a,b,c,d,e,f,g=arguments[0]||{};for(a=1,b=arguments.length;b>a;a++)if(null!=(c=arguments[a]))for(d in c)if(c.hasOwnProperty(d)){if(e=g[d],f=c[d],g===f)continue;void 0!==f&&(g[d]=f)}return g},z=function(a){if(null==a||""===a)return null;if(a=a.replace(/^\s+|\s+$/g,""),""===a)return null;var b=a.indexOf("//");a=-1===b?a:a.slice(b+2);var c=a.indexOf("/");return a=-1===c?a:-1===b||0===c?null:a.slice(0,c),a&&".swf"===a.slice(-4).toLowerCase()?null:a||null},A=function(){var a=function(a,b){var c,d,e;if(null!=a&&"*"!==b[0]&&("string"==typeof a&&(a=[a]),"object"==typeof a&&"length"in a))for(c=0,d=a.length;d>c;c++)if(a.hasOwnProperty(c)&&(e=z(a[c]))){if("*"===e){b.length=0,b.push("*");break}-1===u(e,b)&&b.push(e)}};return function(b,c){var d=z(c.swfPath);null===d&&(d=b);var e=[];a(c.trustedOrigins,e),a(c.trustedDomains,e);var f=e.length;if(f>0){if(1===f&&"*"===e[0])return"always";if(-1!==u(b,e))return 1===f&&b===d?"sameDomain":"always"}return"never"}}(),B=function(a){if(null==a)return[];if(Object.keys)return Object.keys(a);var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b},C=function(a){if(a)for(var b in a)a.hasOwnProperty(b)&&delete a[b];return a},D=function(){try{return document.activeElement}catch(a){}return null},E=function(a,b){for(var c={},d=0,e=b.length;e>d;d++)b[d]in a&&(c[b[d]]=a[b[d]]);return c},F=function(a,b){var c={};for(var d in a)-1===u(d,b)&&(c[d]=a[d]);return c},G=function(){function a(a){var b=a.match(/[\d]+/g);return b.length=3,b.join(".")}function b(a){return!!a&&(a=a.toLowerCase())&&(/^(pepflashplayer\.dll|libpepflashplayer\.so|pepperflashplayer\.plugin)$/.test(a)||"chrome.plugin"===a.slice(-13))}function d(c){c&&(h=!0,c.version&&(j=a(c.version)),!j&&c.description&&(j=a(c.description)),c.filename&&(k=b(c.filename)))}var e,f,g,h=!1,i=!1,j="",k=!1;if(navigator.plugins&&navigator.plugins.length)e=navigator.plugins["Shockwave Flash"],d(e),navigator.plugins["Shockwave Flash 2.0"]&&(h=!0,j="2.0.0.11");else if(navigator.mimeTypes&&navigator.mimeTypes.length)g=navigator.mimeTypes["application/x-shockwave-flash"],e=g&&g.enabledPlugin,d(e);else if("undefined"!=typeof ActiveXObject){i=!0;try{f=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"),h=!0,j=a(f.GetVariable("$version"))}catch(l){try{f=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"),h=!0,j="6.0.21"}catch(m){try{f=new ActiveXObject("ShockwaveFlash.ShockwaveFlash"),h=!0,j=a(f.GetVariable("$version"))}catch(n){i=!1}}}}c.disabled=h!==!0,c.outdated=j&&parseFloat(j)<11,c.version=j||"0.0.0",c.pluginType=k?"pepper":i?"activex":h?"netscape":"unknown"};G();var H=function(a){if(!(this instanceof H))return new H(a);if(this.id=""+e++,f[this.id]={instance:this,elements:[],handlers:{}},a&&this.clip(a),"boolean"!=typeof c.ready&&(c.ready=!1),!H.isFlashUnusable()&&null===c.bridge){var b=this,d=K.flashLoadTimeout;"number"==typeof d&&d>=0&&setTimeout(function(){"boolean"!=typeof c.deactivated&&(c.deactivated=!0),c.deactivated===!0&&H.emit({type:"error",name:"flash-deactivated",client:b})},d),c.overdue=!1,L()}};H.prototype.setText=function(a){return H.setData("text/plain",a),this},H.prototype.setHtml=function(a){return H.setData("text/html",a),this},H.prototype.setRichText=function(a){return H.setData("application/rtf",a),this},H.prototype.setData=function(){return H.setData.apply(H,Array.prototype.slice.call(arguments,0)),this},H.prototype.clearData=function(){return H.clearData.apply(H,Array.prototype.slice.call(arguments,0)),this},H.prototype.setSize=function(a,b){var d=M(c.bridge);return d&&(d.style.width=a+"px",d.style.height=b+"px"),this};var I=function(a){c.ready===!0&&c.bridge&&"function"==typeof c.bridge.setHandCursor?c.bridge.setHandCursor(a):c.ready=!1};H.prototype.destroy=function(){this.unclip(),this.off(),delete f[this.id]};var J=function(){var a,b,c,d=[],e=B(f);for(a=0,b=e.length;b>a;a++)c=f[e[a]].instance,c&&c instanceof H&&d.push(c);return d};H.version="2.0.0-beta.3";var K={swfPath:i,trustedDomains:a.location.host?[a.location.host]:[],cacheBust:!0,forceHandCursor:!1,forceEnhancedClipboard:!1,zIndex:999999999,debug:!1,title:null,autoActivate:!0,flashLoadTimeout:3e4};H.isFlashUnusable=function(){return!!(c.disabled||c.outdated||c.unavailable||c.deactivated)},H.config=function(a){"object"==typeof a&&null!==a&&y(K,a);{if("string"!=typeof a||!a){var b={};for(var c in K)K.hasOwnProperty(c)&&(b[c]="object"==typeof K[c]&&null!==K[c]?"length"in K[c]?K[c].slice(0):y({},K[c]):K[c]);return b}if(K.hasOwnProperty(a))return K[a]}},H.destroy=function(){H.deactivate();for(var a in f)if(f.hasOwnProperty(a)&&f[a]){var b=f[a].instance;b&&"function"==typeof b.destroy&&b.destroy()}var d=c.bridge;if(d){var e=M(d);e&&("activex"===c.pluginType&&"readyState"in d?(d.style.display="none",function g(){if(4===d.readyState){for(var a in d)"function"==typeof d[a]&&(d[a]=null);d.parentNode.removeChild(d),e.parentNode&&e.parentNode.removeChild(e)}else setTimeout(g,10)}()):(d.parentNode.removeChild(d),e.parentNode&&e.parentNode.removeChild(e))),c.ready=null,c.bridge=null,c.deactivated=null}H.clearData()},H.activate=function(a){b&&(p(b,K.hoverClass),p(b,K.activeClass)),b=a,o(a,K.hoverClass),N();var d=K.title||a.getAttribute("title");if(d){var e=M(c.bridge);e&&e.setAttribute("title",d)}var f=K.forceHandCursor===!0||"pointer"===k(a,"cursor");I(f)},H.deactivate=function(){var a=M(c.bridge);a&&(a.style.left="0px",a.style.top="-9999px",a.removeAttribute("title")),b&&(p(b,K.hoverClass),p(b,K.activeClass),b=null)},H.state=function(){return{browser:E(a.navigator,["userAgent","platform","appName"]),flash:F(c,["bridge"]),zeroclipboard:{version:H.version,config:H.config()}}},H.setData=function(a,b){var c;if("object"==typeof a&&a&&"undefined"==typeof b)c=a,H.clearData();else{if("string"!=typeof a||!a)return;c={},c[a]=b}for(var e in c)if(c.hasOwnProperty(e)&&"string"==typeof c[e]&&c[e]){var f=e;"text"===e.toLowerCase()?f="plain/text":"url"===e.toLowerCase()&&(f="text/uri-list"),d[f]=c[e]}},H.clearData=function(a){"undefined"==typeof a?C(d):"string"==typeof a&&d.hasOwnProperty(a)&&delete d[a]};var L=function(){var b,d,e=document.getElementById("global-zeroclipboard-html-bridge");if(!e){var f=A(a.location.host,K),g="never"===f?"none":"all",h=t(K),i=K.swfPath+s(K.swfPath,K);e=document.createElement("div"),e.id="global-zeroclipboard-html-bridge",e.className="global-zeroclipboard-container",e.style.position="absolute",e.style.left="0px",e.style.top="-9999px",e.style.width="1px",e.style.height="1px",e.style.zIndex=""+x(K.zIndex);var j=document.createElement("div");e.appendChild(j),document.body.appendChild(e);var k=document.createElement("div"),l="activex"===c.pluginType;k.innerHTML='',b=k.firstChild,k=null,b.ZeroClipboard=H,e.replaceChild(b,j)}b||(b=document["global-zeroclipboard-flash-bridge"],b&&(d=b.length)&&(b=b[d-1]),b||(b=e.firstChild)),c.bridge=b||null},M=function(a){for(var b=a&&a.parentNode;b&&"OBJECT"===b.nodeName&&b.parentNode;)b=b.parentNode;return b||null},N=function(){if(b){var a=r(b,K.zIndex),d=M(c.bridge);d&&(d.style.top=a.top+"px",d.style.left=a.left+"px",d.style.width=a.width+"px",d.style.height=a.height+"px",d.style.zIndex=a.zIndex+1),c.ready===!0&&c.bridge&&"function"==typeof c.bridge.setSize?c.bridge.setSize(a.width,a.height):c.ready=!1}return this};H.emit=function(b){var e,f;if("string"==typeof b&&b&&(e=b),"object"==typeof b&&b&&"string"==typeof b.type&&b.type&&(e=b.type,f=b),e){if(b=Q(e,f),S(b),"ready"===b.type&&c.overdue===!0)return H.emit({type:"error",name:"flash-overdue"});var g=!/^(before)?copy$/.test(b.type);if(b.client)O.call(b.client,b,g);else{var h,i,j,k=b.target&&b.target!==a&&K.autoActivate===!0?T(b.target):J();for(h=0,i=k.length;i>h;h++)j=y({},b,{client:k[h]}),O.call(k[h],j,g)}return"copy"===b.type?JSON.stringify(d):void 0}};var O=function(b,c){var d=f[this.id]&&f[this.id].handlers[b.type];if(d&&d.length){var e,g,h,i,j=this;for(e=0,g=d.length;g>e;e++)h=d[e],i=j,"string"==typeof h&&"function"==typeof a[h]&&(h=a[h]),"object"==typeof h&&h&&"function"==typeof h.handleEvent&&(i=h,h=h.handleEvent),"function"==typeof h&&w(h,i,[b],c)}return this},P={ready:"Flash communication is established",error:{"flash-disabled":"Flash is disabled or not installed","flash-outdated":"Flash is too outdated to support ZeroClipboard","flash-unavailable":"Flash is unable to communicate bidirectionally with JavaScript","flash-deactivated":"Flash is too outdated for your browser and/or is configured as click-to-activate","flash-overdue":"Flash communication was established but NOT within the acceptable time limit"}},Q=function(a,d){if(a||d&&d.type){d=d||{},a=(a||d.type).toLowerCase(),y(d,{type:a,target:d.target||b||null,relatedTarget:d.relatedTarget||null,currentTarget:c&&c.bridge||null});var e=P[d.type];if("error"===d.type&&d.name&&e&&(e=e[d.name]),e&&(d.message=e),"ready"===d.type&&y(d,{target:null,version:c.version}),"error"===d.type&&(d.target=null,/^flash-(outdated|unavailable|deactivated|overdue)$/.test(d.name)&&y(d,{version:c.version,minimumVersion:"11.0.0"})),"copy"===d.type&&(d.clipboardData={setData:H.setData,clearData:H.clearData}),"aftercopy"===d.type&&d.json){var f=JSON.parse(d.json);delete d.json,"object"==typeof f&&f&&y(d,f)}return d.target&&!d.relatedTarget&&(d.relatedTarget=R(d.target)),d}},R=function(a){var b=a&&a.getAttribute&&a.getAttribute("data-clipboard-target");return b?document.getElementById(b):null},S=function(a){var e=a.target||b;switch(a.type){case"error":u(a.name,["flash-disabled","flash-outdated","flash-deactivated","flash-overdue"])&&y(c,{disabled:"flash-disabled"===a.name,outdated:"flash-outdated"===a.name,unavailable:"flash-unavailable"===a.name,deactivated:"flash-deactivated"===a.name,overdue:"flash-overdue"===a.name,ready:!1});break;case"ready":var f=c.deactivated===!0;y(c,{disabled:!1,outdated:!1,unavailable:!1,deactivated:!1,overdue:f,ready:!f});break;case"copy":var g,h,i=a.relatedTarget;!d["text/html"]&&!d["text/plain"]&&i&&(h=i.value||i.outerHTML||i.innerHTML)&&(g=i.value||i.textContent||i.innerText)?(a.clipboardData.clearData(),a.clipboardData.setData("text/plain",g),h!==g&&a.clipboardData.setData("text/html",h)):!d["text/plain"]&&a.target&&(g=a.target.getAttribute("data-clipboard-text"))&&(a.clipboardData.clearData(),a.clipboardData.setData("text/plain",g));break;case"aftercopy":H.clearData(),e&&e!==D()&&e.focus&&e.focus();break;case"mouseover":o(e,K.hoverClass);break;case"mouseout":K.autoActivate===!0&&H.deactivate();break;case"mousedown":o(e,K.activeClass);break;case"mouseup":p(e,K.activeClass)}};H.prototype.on=function(a,b){var d,e,g,h={},i=f[this.id]&&f[this.id].handlers;if("string"==typeof a&&a)g=a.toLowerCase().split(/\s+/);else if("object"==typeof a&&a&&"undefined"==typeof b)for(d in a)a.hasOwnProperty(d)&&"string"==typeof d&&d&&"function"==typeof a[d]&&this.on(d,a[d]);if(g&&g.length){for(d=0,e=g.length;e>d;d++)a=g[d].replace(/^on/,""),h[a]=!0,i[a]||(i[a]=[]),i[a].push(b);if(h.ready&&c.ready&&H.emit({type:"ready",client:this}),h.error){var j=["disabled","outdated","unavailable","deactivated","overdue"];for(d=0,e=j.length;e>d;d++)if(c[j[d]]){H.emit({type:"error",name:"flash-"+j[d],client:this});break}}}return this},H.prototype.off=function(a,b){var c,d,e,g,h,i=f[this.id]&&f[this.id].handlers;if(0===arguments.length)g=B(i);else if("string"==typeof a&&a)g=a.split(/\s+/);else if("object"==typeof a&&a&&"undefined"==typeof b)for(c in a)a.hasOwnProperty(c)&&"string"==typeof c&&c&&"function"==typeof a[c]&&this.off(c,a[c]);if(g&&g.length)for(c=0,d=g.length;d>c;c++)if(a=g[c].toLowerCase().replace(/^on/,""),h=i[a],h&&h.length)if(b)for(e=u(b,h);-1!==e;)h.splice(e,1),e=u(b,h,e);else i[a].length=0;return this},H.prototype.handlers=function(a){var b,c=null,d=f[this.id]&&f[this.id].handlers;if(d){if("string"==typeof a&&a)return d[a]?d[a].slice(0):null;c={};for(b in d)d.hasOwnProperty(b)&&d[b]&&(c[b]=d[b].slice(0))}return c},H.prototype.clip=function(a){a=v(a);for(var b=0;bd;d++)g=f[c[d]].instance,g&&g instanceof H&&i.push(g);return i};K.hoverClass="zeroclipboard-is-hover",K.activeClass="zeroclipboard-is-active","function"==typeof define&&define.amd?define(function(){return H}):"object"==typeof module&&module&&"object"==typeof module.exports&&module.exports?module.exports=H:a.ZeroClipboard=H}(function(){return this}());